|
|
@ -15,7 +15,6 @@ import styles from './PageToolbarSection.css';
|
|
|
|
const BUTTON_WIDTH = parseInt(dimensions.toolbarButtonWidth);
|
|
|
|
const BUTTON_WIDTH = parseInt(dimensions.toolbarButtonWidth);
|
|
|
|
const SEPARATOR_MARGIN = parseInt(dimensions.toolbarSeparatorMargin);
|
|
|
|
const SEPARATOR_MARGIN = parseInt(dimensions.toolbarSeparatorMargin);
|
|
|
|
const SEPARATOR_WIDTH = 2 * SEPARATOR_MARGIN + 1;
|
|
|
|
const SEPARATOR_WIDTH = 2 * SEPARATOR_MARGIN + 1;
|
|
|
|
const SEPARATOR_NAME = 'PageToolbarSeparator';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function calculateOverflowItems(children, isMeasured, width, collapseButtons) {
|
|
|
|
function calculateOverflowItems(children, isMeasured, width, collapseButtons) {
|
|
|
|
let buttonCount = 0;
|
|
|
|
let buttonCount = 0;
|
|
|
@ -23,9 +22,7 @@ function calculateOverflowItems(children, isMeasured, width, collapseButtons) {
|
|
|
|
const validChildren = [];
|
|
|
|
const validChildren = [];
|
|
|
|
|
|
|
|
|
|
|
|
forEach(children, (child) => {
|
|
|
|
forEach(children, (child) => {
|
|
|
|
const name = child.type.name;
|
|
|
|
if (Object.keys(child.props).length === 0) {
|
|
|
|
|
|
|
|
|
|
|
|
if (name === SEPARATOR_NAME) {
|
|
|
|
|
|
|
|
separatorCount++;
|
|
|
|
separatorCount++;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
buttonCount++;
|
|
|
|
buttonCount++;
|
|
|
@ -68,12 +65,14 @@ function calculateOverflowItems(children, isMeasured, width, collapseButtons) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
validChildren.forEach((child, index) => {
|
|
|
|
validChildren.forEach((child, index) => {
|
|
|
|
|
|
|
|
const isSeparator = Object.keys(child.props).length === 0;
|
|
|
|
|
|
|
|
|
|
|
|
if (actualButtons < maxButtons) {
|
|
|
|
if (actualButtons < maxButtons) {
|
|
|
|
if (child.type.name !== SEPARATOR_NAME) {
|
|
|
|
if (!isSeparator) {
|
|
|
|
buttons.push(child);
|
|
|
|
buttons.push(child);
|
|
|
|
actualButtons++;
|
|
|
|
actualButtons++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (child.type.name !== SEPARATOR_NAME) {
|
|
|
|
} else if (!isSeparator) {
|
|
|
|
overflowItems.push(child.props);
|
|
|
|
overflowItems.push(child.props);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|