UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

66 lines (61 loc) 2.23 kB
/** * DevExtreme (cjs/__internal/grids/new/grid_core/toolbar/utils.js) * Version: 25.2.3 * Build date: Fri Dec 12 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSortedToolbarItems = getSortedToolbarItems; exports.isVisible = isVisible; exports.normalizeToolbarItems = normalizeToolbarItems; var _extend = require("../../../../../core/utils/extend"); var _type = require("../../../../../core/utils/type"); var _const = require("./const"); function isVisible(visibleConfig, items) { if (void 0 === visibleConfig) { return items.length > 0 } return visibleConfig } function normalizeToolbarItem(item, defaultButtonsMap, defaultItemNames) { let button = item; if ((0, _type.isString)(button)) { button = { name: button } } if ((0, _type.isDefined)(button.name)) { if ((0, _type.isDefined)(defaultButtonsMap[button.name])) { button = (0, _extend.extend)(true, {}, defaultButtonsMap[button.name], button) } else if (defaultItemNames.includes(button.name)) { button = Object.assign({}, button, { visible: false }) } } return (0, _extend.extend)(true, {}, { location: "after" }, button) } function getSortedToolbarItems(defaultItemsCollection) { return Object.values(defaultItemsCollection).sort(((a, b) => { const aIndex = _const.DEFAULT_TOOLBAR_ITEMS.indexOf(a.name); const bIndex = _const.DEFAULT_TOOLBAR_ITEMS.indexOf(b.name); return aIndex - bIndex })) } function normalizeToolbarItems(sortedDefaultItems, userItems, defaultItemNames) { if (!(0, _type.isDefined)(userItems)) { return sortedDefaultItems } const defaultButtonsMap = {}; sortedDefaultItems.forEach((button => { defaultButtonsMap[button.name] = button })); return userItems.map((item => normalizeToolbarItem(item, defaultButtonsMap, defaultItemNames))) }