UNPKG

@adaptabletools/adaptable

Version:

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

66 lines (65 loc) 4.58 kB
import { IModule, ModuleInfo, TeamSharingReferences } from './Interface/IModule'; import { Action } from 'redux'; import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn'; import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProps'; import { MenuItemShowPopup, MenuItemDoReduxAction, MenuItemDoClickFunction } from '../Utilities/MenuItem'; import { AdaptableMenuItem, AdaptableContextMenuItemName, ContextMenuContext, AdaptableColumnMenuItemName } from '../AdaptableState/Common/Menu'; import { AdaptableModule } from '../AdaptableState/Common/Types'; import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState'; import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject'; import { AdaptableApi } from '../Api/AdaptableApi'; import { AccessLevel } from '../AdaptableState/Common/Entitlement'; import { CalculatedColumn } from '../AdaptableState/CalculatedColumnState'; import { FreeTextColumn } from '../AdaptableState/FreeTextColumnState'; import { AdaptableSystemIconName } from '../AdaptableState/Common/AdaptableIcon'; import { AdaptableStateReloadedInfo } from '../Api/Events/AdaptableStateReloaded'; /** * Base class for all strategies and does most of the work of creating menus */ export declare abstract class AdaptableModuleBase implements IModule { protected api: AdaptableApi; moduleInfo: ModuleInfo; AccessLevel: AccessLevel; constructor(module: AdaptableModule, friendlyName: string, glyph: AdaptableSystemIconName, popup: string, description: string, api: AdaptableApi); protected getViewAccessLevel(): AccessLevel; protected getEditAccessLevel(): AccessLevel; isModuleAvailable(): boolean; /** * Used inside the unified UI to show the share button */ isModuleObjectsShareable(): boolean; isModuleEditable(): boolean; getModuleAdaptableObjects(): AdaptableObject[]; getExplicitlyReferencedColumnIds(adaptableObject: AdaptableObject): string[]; getReferencedNamedQueryNames(adaptableObject: AdaptableObject): string[]; hasNamedQueryReferences(): boolean; onAdaptableReady(): void; onAdaptableStateReloaded(adaptableStateReloadedInfo: AdaptableStateReloadedInfo): void; setModuleEntitlement(): void; createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined; createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<AdaptableColumnMenuItemName>[] | undefined; createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined; createMainMenuItemShowPopup<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName>({ Name, Label, ComponentName, Icon, PopupParams, }: { Name: MENU_TYPE_NAME; Label: string; ComponentName: string; Icon: AdaptableSystemIconName; PopupParams?: ModuleParams; }): MenuItemShowPopup<MENU_TYPE_NAME>; createMenuItemClickFunction<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName>(Name: MENU_TYPE_NAME, Label: string, Icon: AdaptableSystemIconName, ClickFunction: () => void): MenuItemDoClickFunction<MENU_TYPE_NAME>; createMenuItemReduxAction<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName>(Name: MENU_TYPE_NAME, Label: string, Icon: AdaptableSystemIconName, Action: Action): MenuItemDoReduxAction<MENU_TYPE_NAME>; createMenuItemShowPopup<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName>(Name: MENU_TYPE_NAME, Label: string, ComponentName: string, Icon: AdaptableSystemIconName, PopupParams?: ModuleParams): MenuItemShowPopup<MENU_TYPE_NAME>; getTeamSharingAction(): TeamSharingImportInfo<AdaptableObject> | undefined; getModuleNamedQueryReferences(): string[]; getModuleCalculatedColumnReferences(): CalculatedColumn[]; getModuleFreeTextColumnReferences(): FreeTextColumn[]; getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences; getPopupMaxWidth(): number | undefined; /** * TRUE for objects of type {@link LayoutAssociatedObject} */ canBeAssociatedWithLayouts(): boolean; showLayoutNotAssociatedObjects(): boolean; private getFriendlyName; private hasRequiredAccessLevel; }