@eclipse-scout/core
Version:
Eclipse Scout runtime
80 lines • 3.5 kB
TypeScript
/// <reference types="jquery" />
import { InitModelOf, LookupRow, ProposalChooserEventMap, ProposalChooserModel, RadioButtonGroup, ScoutKeyboardEvent, SmartField, SmartFieldLookupResult, SmartFieldPopup, StatusOrModel, Widget } from '../../../index';
export declare abstract class ProposalChooser<TValue, TContent extends ProposalChooserContent, TContentRow extends ProposalChooserContentRow<TValue>> extends Widget implements ProposalChooserModel<TValue> {
model: ProposalChooserModel<TValue>;
eventMap: ProposalChooserEventMap<TValue, TContent, TContentRow>;
self: ProposalChooser<any, any, any>;
parent: SmartFieldPopup<TValue>;
smartField: SmartField<TValue>;
activeFilterGroup: RadioButtonGroup<string>;
status: StatusOrModel;
statusVisible: boolean;
touch: boolean;
content: TContent;
$status: JQuery;
protected _updateStatusTimeout: number;
constructor();
protected _init(model: InitModelOf<this>): void;
protected abstract _createContent(): TContent;
/**
* Creates a layout resetter that is used by the {@link ProposalChooserLayout}.
*/
protected abstract _createLayoutResetter(): ProposalChooserLayoutResetter;
abstract setLookupResult(result: SmartFieldLookupResult<TValue>): any;
abstract selectFirstLookupRow(): any;
abstract clearSelection(): any;
abstract clearLookupRows(): any;
/**
* @param row TableRow or TreeNode (both have the same properties)
*/
triggerLookupRowSelected(row?: TContentRow): void;
/**
* Implement this function to get the selected row or node from the proposal chooser.
* The implementation depends on the widget used by the chooser (Table or Tree).
*/
abstract selectedRow(): TContentRow;
abstract getSelectedLookupRow(): LookupRow<TValue>;
protected _render(): void;
protected _renderContent(): void;
protected _renderProperties(): void;
/**
* Delegates an event (e.g. keyup, keydown) to the content.$container of this instance,
* calling the JQuery trigger method.
*/
delegateEvent(event: ScoutKeyboardEvent & JQuery.Event): void;
delegateKeyEvent(event: ScoutKeyboardEvent & JQuery.Event): void;
protected _renderStatus(): void;
protected _renderStatusVisible(): void;
protected _computeStatusVisible(): boolean;
protected _updateStatus(): void;
protected _updateStatusImpl(): void;
/**
* Replaces an ellipsis (...) at the end of the message-text with a CSS animation.
*/
protected _setStatusMessage(message: string): void;
protected _insertActiveFilterButton(value: string, index: number): void;
setVirtual(virtual: boolean): void;
setStatus(status: StatusOrModel): void;
setBusy(busy: boolean): void;
protected _activeFilterLabel(index: number): string;
/**
* Override this function to implement update scrollbar behavior.
*/
updateScrollbars(): void;
protected _isProposal(): boolean;
protected _selectProposal(result: SmartFieldLookupResult<TValue>, proposals: TContentRow[]): void;
abstract trySelectCurrentValue(): any;
}
export interface ProposalChooserLayoutResetter {
cssSelector: string;
modifyDom(): void;
restoreDom(): void;
}
export interface ProposalChooserContent extends Widget {
updateScrollbars(): void;
}
export interface ProposalChooserContentRow<TValue> {
enabled: boolean;
lookupRow: LookupRow<TValue>;
}
//# sourceMappingURL=ProposalChooser.d.ts.map