UNPKG

@adaptabletools/adaptable

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

61 lines (60 loc) 2.47 kB
import { ApiBase } from './ApiBase'; import { MENU_SEPARATOR } from '../../Utilities/Constants/GeneralConstants'; export class ColumnMenuApiImpl extends ApiBase { constructor(adaptable) { super(adaptable); } showColumnMenu(columnKey) { this.getAgGridApi().showColumnMenu(columnKey); } hideColumnMenu() { this.getAgGridApi().hidePopupMenu(); } getColumnMenuItemsByCategory(category, context) { return context.defaultAdaptableMenuItems.filter((item) => item.category === category); } getColumnMenuItemsByCategories(categories, context) { return context.defaultAdaptableMenuItems.filter((item) => categories.includes(item.category)); } createDefaultMenuStructure(context) { const test = [ ...context.defaultAgGridMenuStructure, MENU_SEPARATOR, ...context.defaultAdaptableMenuStructure, ]; return test; } getColumnMenuItemByName(menuItemName, context) { const openSettingsPanelMenuItem = context.defaultAdaptableMenuItems.find((item) => item.name === menuItemName); return openSettingsPanelMenuItem; } getColumnMenuItemsByNames(menuItemNames, context) { const menuItems = context.defaultAdaptableMenuItems.filter((item) => menuItemNames.includes(item.name)); return menuItems; } getColumnMenuItemByLabel(label, context) { const menuItem = context.defaultAdaptableMenuItems.find((item) => item.label === label); return menuItem; } getColumnMenuItemsByLabels(labels, context) { const menuItems = context.defaultAdaptableMenuItems.filter((item) => labels.includes(item.label)); return menuItems; } removeAdaptableColumnMenuItemByName(menuItemName, context) { const filteredMenuItems = context.defaultAdaptableMenuStructure.filter((item) => item !== '-' && item.name !== menuItemName); return filteredMenuItems; } removeAdaptableColumnMenuItemsByNames(menuItemNames, context) { const filteredMenuItems = context.defaultAdaptableMenuStructure.filter((item) => item !== '-' && !menuItemNames.includes(item.name)); return filteredMenuItems; } createGroupMenu(label, subMenuItems, disabled, icon) { return { menuType: 'Group', label: label, subMenuItems: subMenuItems, disabled: disabled, icon: icon, }; } }