UNPKG

@eclipse-scout/core

Version:
68 lines 3.91 kB
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