@eclipse-glsp/client
Version:
A sprotty-based client for GLSP
45 lines • 2.46 kB
TypeScript
/********************************************************************************
* Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
import { Action, GModelRoot, IActionDispatcher, LabeledAction } from '@eclipse-glsp/sprotty';
import '../../../css/autocomplete-palette.css';
import { GLSPAbstractUIExtension } from '../ui-extension/ui-extension';
import { AutoCompleteWidget, CloseReason } from './auto-complete-widget';
/**
* A reusable base implementation for `UIExtensions` that want to provide autocomplete functionality
* using the {@link AutoCompleteWidget}.
*
*/
export declare abstract class BaseAutocompletePalette extends GLSPAbstractUIExtension {
protected readonly autoSuggestionSettings: {
noSuggestionsMessage: string;
suggestionsClass: string;
debounceWaitMs: number;
showOnFocus: boolean;
};
protected root?: Readonly<GModelRoot>;
protected autocompleteWidget: AutoCompleteWidget;
protected actionDispatcher: IActionDispatcher;
containerClass(): string;
show(root: Readonly<GModelRoot>, ...contextElementIds: string[]): void;
hide(): void;
protected initializeContents(containerElement: HTMLElement): void;
protected abstract retrieveSuggestions(root: Readonly<GModelRoot>, input: string): Promise<LabeledAction[]>;
protected visibleSuggestionsChanged(root: Readonly<GModelRoot>, labeledActions: LabeledAction[]): Promise<void>;
protected selectedSuggestionChanged(root: Readonly<GModelRoot>, labeledAction?: LabeledAction): Promise<void>;
protected autocompleteHide(reason: CloseReason): void;
protected executeSuggestion(input: LabeledAction | Action[] | Action): void;
}
//# sourceMappingURL=base-autocomplete-palette.d.ts.map