remove unused PercentageDistributor
it's not used and we need to make some api changes that don't work with it (resize will receive itemSize which it doesn't really support)
This commit is contained in:
@@ -73,55 +73,7 @@ class CollapseDistributor extends FixedDistributor {
|
||||
}
|
||||
}
|
||||
|
||||
class PercentageDistributor {
|
||||
constructor(sizer, item, _config, items, container) {
|
||||
this.container = container;
|
||||
this.totalSize = sizer.getTotalSize();
|
||||
this.sizer = sizer;
|
||||
|
||||
const itemIndex = items.indexOf(item);
|
||||
this.beforeItems = items.slice(0, itemIndex);
|
||||
this.afterItems = items.slice(itemIndex);
|
||||
const percentages = PercentageDistributor._getPercentages(sizer, items);
|
||||
this.beforePercentages = percentages.slice(0, itemIndex);
|
||||
this.afterPercentages = percentages.slice(itemIndex);
|
||||
}
|
||||
|
||||
resize(offset) {
|
||||
const percent = offset / this.totalSize;
|
||||
const beforeSum =
|
||||
this.beforePercentages.reduce((total, p) => total + p, 0);
|
||||
const beforePercentages =
|
||||
this.beforePercentages.map(p => (p / beforeSum) * percent);
|
||||
const afterSum =
|
||||
this.afterPercentages.reduce((total, p) => total + p, 0);
|
||||
const afterPercentages =
|
||||
this.afterPercentages.map(p => (p / afterSum) * (1 - percent));
|
||||
|
||||
this.beforeItems.forEach((item, index) => {
|
||||
this.sizer.setItemPercentage(item, beforePercentages[index]);
|
||||
});
|
||||
this.afterItems.forEach((item, index) => {
|
||||
this.sizer.setItemPercentage(item, afterPercentages[index]);
|
||||
});
|
||||
}
|
||||
|
||||
static _getPercentages(sizer, items) {
|
||||
const percentages = items.map(i => sizer.getItemPercentage(i));
|
||||
const setPercentages = percentages.filter(p => p !== null);
|
||||
const unsetCount = percentages.length - setPercentages.length;
|
||||
const setTotal = setPercentages.reduce((total, p) => total + p, 0);
|
||||
const implicitPercentage = (1 - setTotal) / unsetCount;
|
||||
return percentages.map(p => p === null ? implicitPercentage : p);
|
||||
}
|
||||
|
||||
static setPercentage(el, percent) {
|
||||
el.style.flexGrow = Math.round(percent * 1000);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
FixedDistributor,
|
||||
CollapseDistributor,
|
||||
PercentageDistributor,
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@ limitations under the License.
|
||||
*/
|
||||
|
||||
import {Sizer, FlexSizer} from "./sizer";
|
||||
import {FixedDistributor, CollapseDistributor, PercentageDistributor} from "./distributors";
|
||||
import {FixedDistributor, CollapseDistributor} from "./distributors";
|
||||
import {Resizer} from "./resizer";
|
||||
import {RoomSizer, RoomDistributor} from "./room";
|
||||
|
||||
@@ -25,7 +25,6 @@ module.exports = {
|
||||
FlexSizer,
|
||||
FixedDistributor,
|
||||
CollapseDistributor,
|
||||
PercentageDistributor,
|
||||
RoomSizer,
|
||||
RoomDistributor,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user