Fixed: Toolbar button collapsing includes separator

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
This commit is contained in:
Qstick 2020-04-10 21:28:44 -04:00
parent 93ad148b03
commit 9f35dcd900
1 changed files with 5 additions and 6 deletions

View File

@ -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);
} }
}); });