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