@easyquery/ui
Version:
EasyQuery.JS Community UI widgets
78 lines (77 loc) • 3.05 kB
TypeScript
import { Widget, EqContext, Condition, Expression, Query } from '@easyquery/core';
import { PopupMenu, PopupMenuOptions } from '../utils/popup_menu';
import { ConditionsEditMode, QueryPanelOptions } from './widget_options';
import { ConditionRenderer } from './renderers/querypanel/condition_renderer';
import { ExpressionRenderer } from './renderers/querypanel/expression_renderer';
import { BaseElementRenderer } from './renderers/base_element_renderer';
/**
* The query panel wiget, implemented without JQuery.
*/
export declare class QueryPanel extends Widget {
options: QueryPanelOptions;
private addRowElement;
private rootContainer;
private progressBlock;
private entitiesMenu;
private conditionMenu;
private groupMenu;
private rootGroupMenu;
private linkTypeMenu;
private queryEventCallbackId;
private customQuery;
protected get cssPrefix(): string;
/**
* The default constructor.
* @param slot The html element.
*/
constructor(slot: HTMLElement, customQuery?: Query);
getWidgetType(): string;
/**
* Initialize widget.
* @param context The context.
* @param options The options.
*/
init(context: EqContext, options?: QueryPanelOptions): void;
private convertEditModelToEditableParts;
protected destroyCore(): void;
getEntitiesMenu(): PopupMenu;
getConditionMenu(): PopupMenu;
getLinkTypeMenu(): PopupMenu;
getConditionGroupMenu(isRoot?: boolean): PopupMenu;
private attachQueryObserver;
private detachQueryObserver;
getQuery(): Query;
/**
* Gets `true` if the query panel is in read-only mode. Otherwise - `false`.
*/
isReadOnly(): boolean;
/**
* Gets `true` if the query panel is in FixedList edit mode. Otherwise - `false`.
*/
isFixed(): boolean;
/**
* Gets or sets the current edit mode. When setting, automatically refreshes the widget.
*/
get editMode(): ConditionsEditMode;
set editMode(value: ConditionsEditMode);
protected refreshCore(): void;
protected setOptions(options?: QueryPanelOptions): void;
protected clear(): void;
protected render(): void;
getConditionRenderer(condition: Condition, slot?: HTMLDivElement): ConditionRenderer | null;
getExpressionRenderer(expression: Expression, slot?: HTMLDivElement): ExpressionRenderer | null;
getOperatorRenderer(condition: Condition, text: string, slot?: HTMLDivElement): BaseElementRenderer | null;
getAddRowRenderer(slot?: HTMLDivElement): BaseElementRenderer | null;
private createEntitiesMenu;
showEntitiesMenu(options: PopupMenuOptions): void;
private createConditionMenus;
private createLinkTypeMenu;
toggleConditionPicked(condition: Condition, force?: boolean): void;
private landingSlot;
private showLandingSlot;
private hideLangindSlot;
protected onProcessStartCore(): void;
protected onProcessEndCore(): void;
private renderProgressBlock;
clonePanel(slot: HTMLElement, query: Query): QueryPanel;
}