@easyquery/ui
Version:
EasyQuery.JS Community UI widgets
68 lines (67 loc) • 2.25 kB
TypeScript
import { EqContext, QueryColumn, Widget } from '@easyquery/core';
import { ColumnsEditMode, ColumnsPanelOptions } from './widget_options';
import { PopupMenu } from '../utils/popup_menu';
export declare class ColumnsPanel extends Widget {
options: ColumnsPanelOptions;
private headerElement;
private columnsBlock;
private addRowElement;
private progressBlock;
private entitiesMenu;
sortMenu: PopupMenu;
moveMenu: PopupMenu;
private queryEventCallbackId;
protected get cssPrefix(): string;
constructor(slot: HTMLElement);
getWidgetType(): string;
/**
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
*/
get editMode(): ColumnsEditMode;
set editMode(value: ColumnsEditMode);
init(context: EqContext, options?: ColumnsPanelOptions): void;
protected renderBaseElements(): void;
protected destroyCore(): void;
private attachQueryObserver;
private detachQueryObserver;
private getQuery;
private landingSlot;
private landingIndex;
private showLandingSlot;
private hideLandingSlot;
private setOptions;
protected onProcessStartCore(): void;
protected onProcessEndCore(): void;
protected refreshCore(): void;
private clear;
private render;
private agjustHeaderVisibility;
private renderColumn;
toggleColumnPicked(column: QueryColumn): void;
addNewColumn(attrs: string, index?: number): QueryColumn;
addNewColumn(attrs: string[], index?: number): QueryColumn[];
private addColumnElement;
private scrollToBottom;
private checkColumnsArray;
private checkColumn;
getColumnsBlock(): HTMLElement;
private getColumnRenderer;
areCustomExpressionsAllowed(): boolean;
private addAllColumnsToEntitiesList;
private createEntitiesMenu;
getSortMenuList(): {
id: string;
text: string;
}[];
getMoveMenuList(): {
id: string;
text: string;
}[];
private createSortMenu;
private createMoveMenu;
showEntitiesMenu(menuOptions: any): void;
moveColumn(column: QueryColumn, direction: string): void;
private moveColumnCore;
private createColumnMenus;
private renderProgressBlock;
}