import { BasicLayout } from '../../utility/grid-layout/model/grid-element'; export interface DataGroupLayout extends BasicLayout { type: DataGroupLayoutType; hideEmptyRows?: DataGroupHideEmptyRows; compactDirection?: DataGroupCompact; [k: string]: any; } /** * Determines what type of layouting algorithm should be used to position data fields in the data group */ export declare enum DataGroupLayoutType { /** * A grid based on x, y co-ordinates and width and height of each field */ GRID = "grid", /** * Evenly sized fields that fill all columns */ FLOW = "flow", /** * Layouting algorithm used in NAE versions < 4.0.0 */ LEGACY = "legacy" } /** * Determines what direction(s) should be used when compacting form layout */ export declare enum DataGroupCompact { /** * No field layout compacting occurs */ NONE = "none", /** * Fields are moved up as far as they can fit. Fields declared in the same row might end up in different rows. */ UP = "up" } /** * Determines which empty rows should be hidden in the final layout */ export declare enum DataGroupHideEmptyRows { /** * All empty rows are removed from the final layout */ ALL = "all", /** * Only rows completely freed by compacting fields are removed. * * That is any rows that are empty before the compacting takes place are kept in the final layout. * And any rows freed by compacting field (when using [DataGroupCompact.UP]{@link DataGroupCompact#UP}) * are removed from the final layout. * * When fields are compacted upwards all empty rows are naturally moved to the bottom of the layout. * This option can be used to regulate the number of empty rows at the bottom to a constant number * (by keeping only intended empty rows). */ COMPACTED = "compacted", /** * All empty rows are kept in the final layout */ NONE = "none" }