@itwin/appui-abstract
Version:
iTwin.js UI abstractions
43 lines • 1.5 kB
JavaScript
;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
* @module Toolbar
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ToolbarItemUtilities = void 0;
/** Helper class to create Abstract StatusBar Item definitions.
* @public
*/
class ToolbarItemUtilities {
/** Creates an Action Button */
static createActionButton = (id, itemPriority, icon, label, execute, overrides) => ({
id, itemPriority,
icon, label,
execute,
...overrides,
});
/** Creates a Group button. */
static createGroupButton = (id, itemPriority, icon, label, items, overrides) => ({
id, itemPriority,
icon, label,
items,
...overrides,
});
/** ActionButton type guard. */
static isActionButton(item) {
return item.execute !== undefined;
}
/** GroupButton type guard. */
static isGroupButton(item) {
return item.items !== undefined;
}
/** CustomButtonDefinition type guard. */
static isCustomDefinition(item) {
return !!item.isCustom;
}
}
exports.ToolbarItemUtilities = ToolbarItemUtilities;
//# sourceMappingURL=ToolbarItem.js.map