@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
TypeScript
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;
}