@eclipse-scout/core
Version:
Eclipse Scout runtime
68 lines • 3.91 kB
TypeScript
import { CloneOptions, CompositeField, DateField, EventHandler, FormField, FormFieldSuppressStatus, HtmlComponent, InitModelOf, LogicalGrid, LogicalGridLayout, LogicalGridLayoutConfig, Menu, ObjectOrChildModel, ObjectOrModel, PropertyChangeEvent, SequenceBoxEventMap, SequenceBoxModel, StatusOrModel, ValueField, Widget } from '../../../index';
export declare class SequenceBox extends CompositeField implements SequenceBoxModel {
model: SequenceBoxModel;
eventMap: SequenceBoxEventMap;
self: SequenceBox;
layoutConfig: LogicalGridLayoutConfig;
fields: FormField[];
htmlBody: HtmlComponent;
boxErrorStatus: StatusOrModel;
boxTooltipText: string;
boxMenus: Menu[];
boxMenusVisible: boolean;
protected _lastVisibleField: FormField;
protected _isOverwritingStatusFromField: boolean;
protected _isErrorStatusOverwritten: boolean;
protected _isTooltipTextOverwritten: boolean;
protected _isMenusOverwritten: boolean;
protected _fieldPropertyChangeHandler: EventHandler<PropertyChangeEvent<any, FormField>>;
protected _lastVisibleFieldSuppressStatusHandler: EventHandler<PropertyChangeEvent<FormFieldSuppressStatus>>;
constructor();
protected _init(model: InitModelOf<this>): void;
/**
* Initialize all DateFields in this SequenceBox with a meaningful autoDate, except fields which already have an autoDate provided by the model.
*/
protected _initDateFields(): void;
protected _render(): void;
protected _renderProperties(): void;
protected _createBodyLayout(): LogicalGridLayout;
protected _remove(): void;
invalidateLogicalGrid(invalidateLayout?: boolean): void;
protected _setLogicalGrid(logicalGrid: LogicalGrid | string): void;
setLayoutConfig(layoutConfig: ObjectOrModel<LogicalGridLayoutConfig>): void;
protected _setLayoutConfig(layoutConfig: ObjectOrModel<LogicalGridLayoutConfig>): void;
protected _renderLayoutConfig(): void;
protected _onFieldPropertyChange(event: PropertyChangeEvent<any, FormField>): void;
/**
* Moves the status relevant properties from the last visible field to the SequenceBox. This makes sure that the fields inside the SequenceBox have the same size.
*/
protected _handleStatus(visibilityChanged?: boolean): void;
/**
* Marks the sequence box as "focused" when the given inner field is focused but does not have a visible label.
* This allows the focus to be indicated on the sequence box label instead.
*/
protected _updateFocusedFromField(field: FormField): void;
/**
* Called when the given inner field gained the focus. Computes whether the sequence box should be marked as "focused" as well.
* Normally, we want to do this when the inner field does not have a visible label.
*/
protected _computeSequenceBoxFocused(focusedField: FormField): boolean;
protected _onLastVisibleFieldSuppressStatusChange(e: PropertyChangeEvent<FormFieldSuppressStatus>): void;
setErrorStatus(errorStatus: StatusOrModel): void;
setTooltipText(tooltipText: string): void;
setMenus(menusOrModels: ObjectOrChildModel<Menu>[]): void;
protected _updateBoxMenuOwner(newOwner: Widget): void;
setMenusVisible(menusVisible: boolean): void;
protected _getLastVisibleField(): FormField;
protected _onFieldValueChange(event: PropertyChangeEvent<any, ValueField<any>>): void;
protected _onDateFieldValueChange(event: PropertyChangeEvent<Date, DateField>): void;
protected _getDateFields(): (DateField & {
hasModelAutoDateSet?: boolean;
})[];
protected _getAutoDateProposal(field: DateField): Date;
protected _modifyLabel(field: FormField): void;
setFields(fields: ObjectOrChildModel<FormField>[]): void;
getFields(): FormField[];
clone(model: SequenceBoxModel, options?: CloneOptions): this;
}
//# sourceMappingURL=SequenceBox.d.ts.map