import { SelectableTreeNode, StatefulWidget } from '@theia/core/lib/browser'; import { Disposable, PreferenceProviderDataChanges, PreferenceProviderProvider, PreferenceSchemaService, PreferenceService } from '@theia/core'; import { BaseWidget } from '@theia/core/lib/browser/widgets/widget'; import { PreferenceTreeModel, PreferenceFilterChangeEvent, PreferenceFilterChangeSource } from '../preference-tree-model'; import { PreferenceNodeRendererFactory, GeneralPreferenceNodeRenderer } from './components/preference-node-renderer'; import { Preference } from '../util/preference-types'; import { PreferencesScopeTabBar } from './preference-scope-tabbar-widget'; import { PreferenceNodeRendererCreatorRegistry } from './components/preference-node-renderer-creator'; export interface PreferencesEditorState { firstVisibleChildID: string; } export declare class PreferencesEditorWidget extends BaseWidget implements StatefulWidget { static readonly ID = "settings.editor"; static readonly LABEL: string; scrollOptions: import("perfect-scrollbar").default.Options; protected scrollContainer: HTMLDivElement; /** * Guards against scroll events and selection events looping into each other. Set before this widget initiates a selection. */ protected currentModelSelectionId: string; /** * Permits the user to expand multiple nodes without each one being collapsed on a new selection. */ protected lastUserSelection: string; protected isAtScrollTop: boolean; protected firstVisibleChildID: string; /** * Tracks the node ID of the preference row the user last focused. * Used to scroll back to that preference when the search filter is cleared. */ protected lastFocusedRendererNodeId: string; protected renderers: Map; protected preferenceDataKeys: Map; protected commonlyUsedRenderers: Map; protected readonly preferenceService: PreferenceService; protected readonly model: PreferenceTreeModel; protected readonly rendererFactory: PreferenceNodeRendererFactory; protected readonly rendererRegistry: PreferenceNodeRendererCreatorRegistry; protected readonly schemaProvider: PreferenceSchemaService; protected readonly tabbar: PreferencesScopeTabBar; protected readonly providerProvider: PreferenceProviderProvider; protected init(): void; protected doInit(): Promise; protected createContainers(): void; protected subscribeToPreferenceProviderChanges(): Disposable; protected handleDisplayChange(e: PreferenceFilterChangeEvent): void; protected getScrollTarget(source: PreferenceFilterChangeSource): string | undefined; protected isRendererInViewport(nodeId: string): boolean; protected handleRegistryChange(): void; protected handleSchemaChange(isFiltered: boolean): void; protected handleScopeChange(isFiltered?: boolean): void; protected hasSchemaChanged(renderer: GeneralPreferenceNodeRenderer, node: Preference.LeafNode): boolean; protected handleSearchChange(isFiltered: boolean, leavesAreVisible: boolean): void; protected areLeavesVisible(): boolean; protected allRenderers(): IterableIterator<[string, GeneralPreferenceNodeRenderer, Map]>; protected handlePreferenceChanges(e: PreferenceProviderDataChanges): void; /** * @returns true if the renderer is hidden, false otherwise. */ protected hideIfFailsFilters(renderer: GeneralPreferenceNodeRenderer, isFiltered: boolean): boolean; protected resetScroll(nodeIDToScrollTo?: string): void; protected doResetScroll(nodeIDToScrollTo?: string): void; protected doOnScroll(): void; onScroll: import("lodash").DebouncedFuncLeading; protected findFirstVisibleChildID(): string | undefined; protected shouldUpdateModelSelection: boolean; protected setFirstVisibleChildID(id?: string): void; protected showInTree(id: string): void; protected handleSelectionChange(selectionEvent: readonly Readonly[]): void; /** Ensures that we don't set the model's selection while attempting to scroll in reaction to a model selection change. */ protected scrollWithoutModelUpdate(node?: HTMLElement): void; protected analyzeIDAndGetRendererGroup(nodeID: string): { id: string; group: string; collection: Map; }; protected getScrollContainer(): HTMLElement; storeState(): PreferencesEditorState; restoreState(oldState: PreferencesEditorState): void; } //# sourceMappingURL=preference-editor-widget.d.ts.map