@adaptabletools/adaptable
Version:
Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
28 lines (27 loc) • 1.23 kB
JavaScript
import { AdaptableModuleBase } from './AdaptableModuleBase';
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
export class StatusBarModule extends AdaptableModuleBase {
constructor(api) {
super(ModuleConstants.StatusBarModuleId, ModuleConstants.StatusBarFriendlyName, 'statusbar', 'StatusBarPopup', 'Configure AdapTable Status Bar', api);
}
getAgGridModuleDependencies() {
return ['StatusBarModule'];
}
isModuleEnabled() {
return this.api.statusBarApi.getAgGridStatusPanels().length > 0;
}
syncStateWithOptions(agGridAdaptablePanels) {
const statusPanelsState = this.api.statusBarApi.getAdaptableStatusBars();
const newStatusPanelsState = agGridAdaptablePanels.map((agGridStatusPanel) => {
let statusPanelState = statusPanelsState.find((statusPanel) => statusPanel.Key === agGridStatusPanel.key);
if (!statusPanelState) {
statusPanelState = {
Key: agGridStatusPanel.key,
StatusBarPanels: [],
};
}
return statusPanelState;
});
this.api.statusBarApi.setStatusBarPanels(newStatusPanelsState);
}
}