@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
41 lines (40 loc) • 1.67 kB
TypeScript
import { OmniaTheming, BlockInstance } from "@omnia/fx/ux";
import { ToolbarExtension } from "../../ToolbarExtension";
import { TipTapEditor, IMessageBusSubscriptionHandler, GuidValue, IOmniaContext } from "@omnia/fx-models";
import { TextCompletionMenuBar, TextCompletionToolbarProperties } from "../../../../models";
export default class TextCompletionMenu extends ToolbarExtension implements TextCompletionToolbarProperties {
menubar?: TextCompletionMenuBar;
onContentChanged?: (content: string) => void;
editor: TipTapEditor;
editorId: GuidValue;
private loc;
subscriptionHandler: IMessageBusSubscriptionHandler;
private textCompletionHandler;
private multilingualStore;
private aiSettingStore;
private sidePanelContext;
private aiService;
omniaTheming: OmniaTheming;
blockInstance: BlockInstance;
protected omniaContext: IOmniaContext;
selectedText: string;
private aiSettings;
private validateSelection;
private isValidating;
private isExecutingPrompt;
private menuModel;
private max_accept_token;
mounted(): void;
onValidateSelectionChange(newVal: boolean): void;
created(): void;
beforeDestroy(): void;
private onClickOpenSidePanel;
private getSelectionText;
validateSelectedText(): Promise<void>;
private setSelectedPrompt;
renderMenuSelectionItem(): VueTsxSupport.JSX.Element;
renderLoadingMenu(): VueTsxSupport.JSX.Element;
renderMenu(isAnimatedGif: boolean, validated?: boolean): VueTsxSupport.JSX.Element;
renderDefaultButtonBehavior(isAnimatedGif: boolean): VueTsxSupport.JSX.Element;
render(): VueTsxSupport.JSX.Element;
}