@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
49 lines (48 loc) • 3.19 kB
TypeScript
import { ContextMenuItemsManagementData, CustomMenuCompositions, CustomMenuEventTarget, IContextMenuOptionsService, ICustomContextMenuBlock, ICustomContextMenuOption, IDataItemProvider, IDataItemFilter, CustomMenuStateData, ContextMenuComppositionTypes } from '@docsvision/webclient/Platform/$ContextMenuOptions';
import { Event, Store } from 'effector';
import { $Domain } from '@docsvision/web/core/state-management';
import { $TableData } from '@docsvision/web/components/table/plugins/table-data';
import { IComposition } from '@docsvision/web/core/composition';
export declare const CONTEXTMENU_DEFAULT_CLASSNAME = "folder-grid-context-menu";
/** Сервис для создания опций кастомного контекстного меню. */
export declare class ContextMenuOptionsService implements IContextMenuOptionsService {
private $className;
private $opened;
private $context;
private $items;
private $blocks;
private $eventTarget;
private setClassName;
private setBlocks;
private $providers;
private $filters;
private addProvider;
private addFilter;
private deleteProvider;
private deleteFilter;
$stateData: CustomMenuStateData;
setOpened: Event<boolean>;
setContext: Event<CustomMenuCompositions>;
setEventTarget: Event<CustomMenuEventTarget>;
getMenuItems: (context: IComposition<ContextMenuComppositionTypes, unknown, unknown>) => ICustomContextMenuOption[];
constructor(services: $Domain);
get menuClassName(): string;
set menuClassName(value: string);
get $itemProviders(): Store<ContextMenuItemsManagementData<IDataItemProvider[]>>;
get $itemFilters(): Store<ContextMenuItemsManagementData<IDataItemFilter[]>>;
static initBase(target: ContextMenuOptionsService, services: $Domain): void;
isAddedProvider(id: string, compositionName: string): boolean;
isAddedFilter(id: string, compositionName: string): boolean;
addItemProvider(data: IDataItemProvider): void;
addItemFilter(data: IDataItemFilter): void;
deleteItemProvider(functionName?: string): void;
deleteItemFilter(functionName?: string): void;
registerBlocks(newBlocks: ICustomContextMenuBlock[]): void;
unregisterBlocks(unregisteredBlockNames: string[]): void;
protected getItemsByContext(context: IComposition<ContextMenuComppositionTypes, unknown, $TableData>): any[];
protected addFunction(functionData: ContextMenuItemsManagementData<IDataItemProvider[] | IDataItemFilter[]>, newFunction: IDataItemProvider | IDataItemFilter): ContextMenuItemsManagementData<IDataItemProvider[] | IDataItemFilter[]>;
protected removeFunction(functionData: ContextMenuItemsManagementData<IDataItemProvider[] | IDataItemFilter[]>, functionName?: string, composition?: string): ContextMenuItemsManagementData<IDataItemProvider[] | IDataItemFilter[]>;
protected addItems(currentItems: ICustomContextMenuOption[], newItems?: ICustomContextMenuOption[]): ICustomContextMenuOption[];
private filterElementsInComposition;
protected isAdded(id: string, data: ContextMenuItemsManagementData<IDataItemProvider[] | IDataItemFilter[]>, compositionName: string): boolean;
}