UNPKG

sussudio

Version:

An unofficial VS Code Internal API

81 lines (80 loc) 3.71 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Event } from "../../../common/event.mjs"; import { IDisposable } from "../../../common/lifecycle.mjs"; import { IPagedModel } from "../../../common/paging.mjs"; import { ScrollbarVisibility } from "../../../common/scrollable.mjs"; import { IThemable } from "../../../common/styler.mjs"; import "../../../../css!./list.mjs"; import { IListContextMenuEvent, IListEvent, IListMouseEvent, IListRenderer, IListVirtualDelegate } from './list'; import { IListAccessibilityProvider, IListOptionsUpdate, IListStyles, List, TypeNavigationMode } from './listWidget'; export interface IPagedRenderer<TElement, TTemplateData> extends IListRenderer<TElement, TTemplateData> { renderPlaceholder(index: number, templateData: TTemplateData): void; } export interface ITemplateData<T> { data?: T; disposable?: IDisposable; } export interface IPagedListOptions<T> { readonly typeNavigationEnabled?: boolean; readonly typeNavigationMode?: TypeNavigationMode; readonly ariaLabel?: string; readonly keyboardSupport?: boolean; readonly multipleSelectionSupport?: boolean; readonly accessibilityProvider?: IListAccessibilityProvider<T>; readonly useShadows?: boolean; readonly verticalScrollMode?: ScrollbarVisibility; readonly setRowLineHeight?: boolean; readonly setRowHeight?: boolean; readonly supportDynamicHeights?: boolean; readonly mouseSupport?: boolean; readonly horizontalScrolling?: boolean; readonly additionalScrollHeight?: number; } export declare class PagedList<T> implements IThemable, IDisposable { private list; private _model; constructor(user: string, container: HTMLElement, virtualDelegate: IListVirtualDelegate<number>, renderers: IPagedRenderer<T, any>[], options?: IPagedListOptions<T>); updateOptions(options: IListOptionsUpdate): void; getHTMLElement(): HTMLElement; isDOMFocused(): boolean; domFocus(): void; get onDidFocus(): Event<void>; get onDidBlur(): Event<void>; get widget(): List<number>; get onDidDispose(): Event<void>; get onMouseClick(): Event<IListMouseEvent<T>>; get onMouseDblClick(): Event<IListMouseEvent<T>>; get onTap(): Event<IListMouseEvent<T>>; get onPointer(): Event<IListMouseEvent<T>>; get onDidChangeFocus(): Event<IListEvent<T>>; get onDidChangeSelection(): Event<IListEvent<T>>; get onContextMenu(): Event<IListContextMenuEvent<T>>; get model(): IPagedModel<T>; set model(model: IPagedModel<T>); get length(): number; get scrollTop(): number; set scrollTop(scrollTop: number); get scrollLeft(): number; set scrollLeft(scrollLeft: number); setAnchor(index: number | undefined): void; getAnchor(): number | undefined; setFocus(indexes: number[]): void; focusNext(n?: number, loop?: boolean): void; focusPrevious(n?: number, loop?: boolean): void; focusNextPage(): Promise<void>; focusPreviousPage(): Promise<void>; focusLast(): void; focusFirst(): void; getFocus(): number[]; setSelection(indexes: number[], browserEvent?: UIEvent): void; getSelection(): number[]; getSelectedElements(): T[]; layout(height?: number, width?: number): void; triggerTypeNavigation(): void; reveal(index: number, relativeTop?: number): void; style(styles: IListStyles): void; dispose(): void; }