UNPKG

@omnia/fx-models

Version:
57 lines (56 loc) 1.87 kB
import { EditorCommand } from "./EditorCommand"; import { EditorMenuBar } from "./EditorMenuBar"; import { ToolbarProperties } from "./ToolbarProperties"; import { Tag } from "../Tags"; import { PromotedTagOptions } from "../PromotedTagOptions"; export interface HashTagCommand extends EditorCommand { } export interface EditorHashTagMenuBar extends EditorMenuBar<HashTagCommand> { } export interface HashTagToolbarProperties extends ToolbarProperties<HashTagCommand> { menuHandler: (menubar: IHashTagMenuBarDefinition) => void; selectTag: (tag: Tag) => void; promotedTagOptions?: PromotedTagOptions; } export interface HashTagEditorExtensionConfiguration { items: (query: string, virtualNode: any) => Promise<Tag[]>; onEnter: ({ items, query, range, command, virtualNode }: { items: any; query: any; range: any; command: any; virtualNode: any; }) => any; onChange: ({ items, query, range, virtualNode }: { items: any; query: any; range: any; virtualNode: any; }) => any; onExit: () => any; onKeyDown: ({ event }: { event: any; }) => any; onFilter: (items: any, query: any) => any; onRemoveTag: (tag: Tag) => void; onSelectTag: (tag: Tag) => void; } export interface HashTagMenuBar { items: Array<Tag>; showLoading: boolean; showMenu: boolean; offsetX: number; offsetY: number; index: number; searchKeyword: string; } export interface IHashTagMenuBarDefinition { SetItems: (items: Array<Tag>) => this; SetLoading: (loading: boolean) => this; SetShowMenu: (show: boolean) => this; SetOffsetX: (offsetX: number) => this; SetOffsetY: (offsetY: number) => this; SetIndex: (idx: number) => this; GetMenu(): HashTagMenuBar; SetSearchKeyword: (searchKeyword: string) => this; }