UNPKG

@adaptabletools/adaptable

Version:

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

63 lines (62 loc) 2.46 kB
import { ALL_TOOLBARS } from '../../AdaptableState/Common/Types'; import { ApiBase } from '../Implementation/ApiBase'; export class DashboardInternalApi extends ApiBase { customToolbarFormResetters = new Map(); registerCustomToolbarFormResetter(toolbarName, resetter) { this.customToolbarFormResetters.set(toolbarName, resetter); } unregisterCustomToolbarFormResetter(toolbarName, resetter) { if (this.customToolbarFormResetters.get(toolbarName) === resetter) { this.customToolbarFormResetters.delete(toolbarName); } } resetCustomToolbarFormData(toolbarName) { if (toolbarName) { const fn = this.customToolbarFormResetters.get(toolbarName); if (fn) fn(); return; } this.customToolbarFormResetters.forEach((fn) => fn()); } isToolbarInActiveTab(toolbarName, dashboardState) { if (!dashboardState) { return false; } const tabIndex = dashboardState.ActiveTabIndex; if (tabIndex != undefined) { if (dashboardState?.Tabs && dashboardState?.Tabs?.length > 0) { const newTab = dashboardState?.Tabs[tabIndex]; if (newTab && newTab.Toolbars) { return newTab.Toolbars.find((c) => c == toolbarName) != undefined; } } } return false; } isToolbarCustom(toolbarName) { return this.getAdaptableApi() .dashboardApi.getCustomToolbars() .some((tb) => tb.name === toolbarName); } getCustomToolbarRenderContainerId(customToolbarName) { return `ab-CustomToolbar__${customToolbarName}__renderContent`; } getCustomToolbarButtonsContainerId(customToolbarName) { return `ab-CustomToolbar__${customToolbarName}__buttons`; } getCustomToolbarComponentContainerId(customToolbarName) { return `ab-CustomToolbar__${customToolbarName}__component`; } getModuleToolbars() { const moduleService = this.getAdaptableInternalApi().getModuleService(); return ALL_TOOLBARS.filter((moduleName) => { return moduleService.isAdapTableModulePresent(moduleName); }).map((moduleName) => { return { id: moduleName, friendlyName: moduleService.getModuleInfoByModule(moduleName)?.FriendlyName ?? moduleName, }; }); } }