@eclipse-scout/core
Version:
Eclipse Scout runtime
46 lines • 2.53 kB
TypeScript
/// <reference types="jquery" />
import { AbstractLayout, Event, InitModelOf, LookupRow, Popup, ProposalChooser, ProposalChooserActiveFilterSelectedEvent, ProposalChooserLookupRowSelectedEvent, ScoutKeyboardEvent, SmartField, SmartFieldLookupResult, SmartFieldPopupEventMap, SmartFieldPopupModel, SomeRequired, StatusOrModel } from '../../../index';
/**
* IMPORTANT: this popup logic is partially also implemented in <code>SmartFieldTouchPopup</code>. If you make changes here, also check the touch popup.
*/
export declare class SmartFieldPopup<TValue> extends Popup implements SmartFieldPopupModel<TValue> {
model: SmartFieldPopupModel<TValue>;
initModel: SomeRequired<this['model'], 'parent' | 'field'>;
eventMap: SmartFieldPopupEventMap<TValue>;
self: SmartFieldPopup<any>;
field: SmartField<TValue>;
lookupResult: SmartFieldLookupResult<TValue>;
smartField: SmartField<TValue>;
proposalChooser: ProposalChooser<TValue, any, any>;
constructor();
protected _init(options: InitModelOf<this>): void;
protected _createProposalChooser(): ProposalChooser<TValue, any, any>;
protected _createLayout(): AbstractLayout;
protected _render(): void;
setLookupResult(result: SmartFieldLookupResult<TValue>): void;
/**
* @returns the selected lookup row from the proposal chooser. If the row is disabled this function returns null.
*/
getSelectedLookupRow(): LookupRow<TValue>;
setStatus(status: StatusOrModel): void;
selectFirstLookupRow(): void;
selectLookupRow(): void;
/**
* Delegates the key event to the proposal chooser.
*/
delegateKeyEvent(event: ScoutKeyboardEvent & JQuery.Event): void;
protected _triggerEvent(event: ProposalChooserActiveFilterSelectedEvent<TValue> | ProposalChooserLookupRowSelectedEvent<TValue>): void;
/**
* This event handler is called before the mousedown handler on the _document_ is triggered
* This allows us to prevent the default, which is important for the CellEditorPopup which
* should stay open when the SmartField popup is closed. It also prevents the focus blur
* event on the SmartField input-field.
*/
protected _onContainerMouseDown(event: JQuery.MouseDownEvent): boolean;
protected _onRemoveSmartField(event: Event<SmartField<TValue>>): void;
protected _isMouseDownOnAnchor(event: MouseEvent): boolean;
/** @internal */
_onAnimationEnd(): void;
static hasPopupAnimation(): boolean;
}
//# sourceMappingURL=SmartFieldPopup.d.ts.map