export abstract class TemplateUiCommand { /* -------------------------------------------------------------------------- */ /* Common */ /* -------------------------------------------------------------------------- */ searchTerm: string = "" highlightedListItemValue?: string /** * Load the extension. Initialize the extension. * Will be called once when the extension is first loaded. */ abstract load(): Promise onSearchTermChange(term: string): Promise { this.searchTerm = term return Promise.resolve() } onActionSelected(value: string): Promise { return Promise.resolve() } onEnterPressedOnSearchBar(): Promise { return Promise.resolve() } onFilesDropped(paths: string[]): Promise { return Promise.resolve() } onBeforeGoBack(): Promise { return Promise.resolve() } /* -------------------------------------------------------------------------- */ /* List */ /* -------------------------------------------------------------------------- */ onListItemSelected(value: string): Promise { return Promise.resolve() } onListScrolledToBottom(): Promise { return Promise.resolve() } onHighlightedListItemChanged(value: string): Promise { this.highlightedListItemValue = value return Promise.resolve() } /* -------------------------------------------------------------------------- */ /* Form */ /* -------------------------------------------------------------------------- */ onFormSubmit(value: Record): Promise { return Promise.resolve() } }