@eclipse-scout/core
Version:
Eclipse Scout runtime
105 lines • 4.01 kB
TypeScript
import { CodeType, ColumnDescriptor, LookupCallOrModel, LookupRow, SmartFieldActiveFilter, SmartFieldDisplayStyle, ValueFieldModel } from '../../../index';
export interface SmartFieldModel<TValue> extends ValueFieldModel<TValue> {
/**
* Configures the {@link LookupCall} that is used to load the proposals.
*/
lookupCall?: LookupCallOrModel<TValue>;
/**
* If set, a {@link CodeLookupCall} is created and used for the property {@link lookupCall}.
*
* The property accepts a {@link CodeType} class or a {@link CodeType.id} (see {@link CodeTypeCache.get}).
*/
codeType?: string | (new () => CodeType<TValue>);
lookupRow?: LookupRow<TValue>;
/**
* Configures whether the proposals should be shown hierarchically using a {@link TreeProposalChooser}.
*
* Default is false.
*/
browseHierarchy?: boolean;
/**
* Configures the maximum number of proposals.
*
* It needs to be a positive number, _not_ null or undefined.
*
* Default is {@link SmartField.DEFAULT_BROWSE_MAX_COUNT}.
*/
browseMaxRowCount?: number;
/**
* Configures whether the proposals should be expanded automatically.
*
* The property only has an effect if {@link browseHierarchy} is true.
*
* Default is true.
*/
browseAutoExpandAll?: boolean;
/**
* Configures whether the proposals should be loaded incrementally.
*
* The property only has an effect if {@link browseHierarchy} is true.
*
* Default is false.
*/
browseLoadIncremental?: boolean;
/**
* Configures whether proposals should only be shown if a text search string has been entered.
*
* Set this property to true if you expect a large amount of data for an unconstrained search.
*
* Default value is false.
*/
searchRequired?: boolean;
/**
* Configures whether the {@link ProposalChooser.activeFilterGroup} should be shown.
*
* If the group is shown, the user can choose whether all, only the active or only the inactive proposals should be displayed.
*
* Default is false.
*/
activeFilterEnabled?: boolean;
/**
* Configures the default value of the {@link ProposalChooser.activeFilterGroup}.
*
* Only has an effect if {@link activeFilterEnabled} is set tot true.
*/
activeFilter?: SmartFieldActiveFilter;
/**
* Configures the labels used by the {@link ProposalChooser.activeFilterGroup}.
*
* If no labels are specified, default labels are used.
*
* Only has an effect if {@link activeFilterEnabled} is set tot true.
*/
activeFilterLabels?: string[];
/**
* Configures the columns used by the {@link TableProposalChooser}.
*
* The property only has an effect if {@link browseHierarchy} is set to false, because otherwise a {@link Tree} is used instead of a {@link Table}.
*
* When the returned value is `null`, the table proposal chooser has only one column (showing the lookup row text) without column header.
* To change this default behavior, return an array of {@link ColumnDescriptor}s.
*/
columnDescriptors?: ColumnDescriptor[];
/**
* Configures the {@link DisplayStyle} of the smart field.
*
* Default is {@link SmartField.DisplayStyle.DEFAULT}.
*/
displayStyle?: SmartFieldDisplayStyle;
/**
* Configures whether the smart field should be displayed in a touch friendly mode.
*
* If the touch friendly mode is active, touching the smart field opens a popup on top of the screen to minimize overlapping issues with the on-screen keyboard.
* The user can search for and select proposals only in that popup.
*
* Default is false.
*/
touchMode?: boolean;
/**
* Configures the maximum number of characters the user can enter.
*
* Default is 500.
*/
maxLength?: number;
}
//# sourceMappingURL=SmartFieldModel.d.ts.map