@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
55 lines (54 loc) • 2.41 kB
TypeScript
import { IComposition } from "@docsvision/web/core/composition";
import React from 'react';
import { $ContextMenuOptions } from '@docsvision/webclient/Platform/$ContextMenuOptions';
import { $ScrollContainer } from '@docsvision/web/components/table/plugins/scroll';
import { $TableDom } from '@docsvision/web/components/table/plugins/table-dom';
import { $Domain } from "@docsvision/web/core/state-management";
import { $DeviceType } from "@docsvision/webclient/StandardServices";
import { $CheckboxService } from "@docsvision/web/components/table/plugins/checkbox";
import { TableCompositionTypes } from "@docsvision/web/components/table/interfaces";
export declare enum RowType {
TableHeaderRowItem = 0,
TableRowItem = 1
}
export declare const MenuItemCompositionNames: {
TableHeaderRow: string;
TableRow: string;
};
export interface ITableHeaderRowItemProps {
children?: React.ReactNode;
}
export interface ITableRowItemProps {
children?: React.ReactNode;
}
declare type $ContextMenuServices = $ScrollContainer & $TableDom & $ContextMenuOptions & $DeviceType & $CheckboxService;
export declare class ContextMenu {
private node;
private composition;
private static mMenuBarsContainer;
private mContainer;
private pageCoordinates;
private targetRow;
private static getMenuBarsContainer;
constructor(node: HTMLElement, composition: IComposition<TableCompositionTypes.Row | TableCompositionTypes.Cell | TableCompositionTypes.HeaderRow, unknown, $ContextMenuServices & $Domain>);
static Setup(node: HTMLElement, composition: IComposition<TableCompositionTypes.Row | TableCompositionTypes.Cell | TableCompositionTypes.HeaderRow, unknown, $ContextMenuServices & $Domain>): void;
renderContextMenu(): JSX.Element;
onShow(): void;
private shouldShow;
private isMobile;
onHide(): void;
componentWillUnmount(): void;
openMenu: () => void;
closeMenu: () => void;
hideContextMenuHandler: () => void;
private setRowSelection;
showContextMenuHandler: (e?: MouseEvent | TouchEvent) => void;
private longTapTimer;
private longTapInterval;
private touchstartListener;
private touchendListener;
addContextMenuCustom: (row: HTMLElement) => void;
removeContextMenuCustom: (row: HTMLElement) => void;
onMenuItemClick(action: (context: IComposition) => void, enabled: boolean): void;
}
export {};