export interface TableOptions {
/**
* Default pagination for the table that is used for the initial load of the table data.
*/
pagination?: PaginationModel;
/**
* The layout for the table component can be used for horizontal, vertical and vertical stacked
* table layouts.
*/
layout?: TableLayout;
/**
* Global component to render table header _content_ (`...`). A specific component per
* field can be configured alternatively.
*
* If no component is available, the table component will render a static label or use the
* configured i18n label.
*/
headerComponent?: Type;
/**
* Global component to render table cell _content_ (`...`). A specific component per
* field can be configured alternatively.
*
* If no component is available, the table content will render as-is.
*/
dataComponent?: Type;
// field specific options
cells?: {
[fieldKey: string]: TableFieldOptions;
};
}TableFieldOptions:
export interface TableFieldOptions {
/**
* Optional label to add static or localized headers. If the label is not present, the
* field key is mapped to a i18n property.
*/
label?: string | TableHeader;
/**
* Indicates wether the cell is linkable.
*
* If the cells is linkable, an anchor link can be generated in the table data element.
*/
linkable?: boolean;
/**
* Component to render table header _content_ (`...`) for the table field.
*
* If no component is configured, the global table component for the header will be used
* instead.
*/
headerComponent?: Type;
/**
* Component to render table data _content_ (`...`) for the table field.
*
* If no component is configured, the global table component for the cell data will be used
* instead.
*/
dataComponent?: Type;
}
/**
* The TableStructure holds the header structure of the table.
*/
export interface TableStructure extends TableStructureConfiguration {
/**
* The table type is a mandatory property. The type is used to identify the table
* configuration and is used to generate a unique outlet reference.
*/
type: string;
}