@anglr/grid
Version:
Angular module displaying grid
75 lines • 2.52 kB
TypeScript
import { ContentRendererOptions, CssClassesContentRenderer, GridPlugin, PluginDescription, VisualPluginOptions } from '../../../interfaces';
/**
* Definition of plugins for ContentRenderer
*/
export interface ContentRendererPlugins {
/**
* Plugin used for rendering of header
*/
headerRenderer: PluginDescription<HeaderContentRenderer>;
/**
* Plugin used for rendering of body
*/
bodyRenderer: PluginDescription<BodyContentRenderer>;
}
/**
* Css classes for header body content renderer
*/
export interface CssClassesHeaderBodyContentRenderer extends CssClassesContentRenderer {
containerDiv: string;
}
/**
* Options for content renderer
*/
export interface HeaderBodyContentRendererOptions<TCssClasses extends CssClassesHeaderBodyContentRenderer = CssClassesHeaderBodyContentRenderer> extends ContentRendererOptions<TCssClasses> {
/**
* Object containing plugins for TableContentRenderer
*/
plugins: ContentRendererPlugins;
}
/**
* Options for 'BodyContentRenderer'
*/
export interface BodyContentRendererOptions<TData = unknown, TCssClasses = unknown> extends VisualPluginOptions<TCssClasses> {
/**
* Callback allows handle click on the row
*/
rowClick: ((rowData: TData, index: number) => void) | undefined | null;
/**
* Callback called for each row with data for row returning css class, that will be applied to row element
*/
rowCssClass: ((rowData: TData) => string) | undefined | null;
}
/**
* Definition of renderer for body for ContentRenderer
*/
export interface BodyContentRenderer<TData = unknown, TMetadata = unknown> extends GridPlugin<BodyContentRendererOptions<TData>> {
/**
* Data that are rendered
*/
data: TData[];
/**
* Metadata used for rendering
*/
metadata: TMetadata | undefined | null;
}
/**
* Css classes for header content renderer
*/
export interface CssClassesHeaderContentRenderer {
}
/**
* Options for 'HeaderContentRenderer'
*/
export interface HeaderContentRendererOptions<TCssClasses extends CssClassesHeaderContentRenderer = CssClassesHeaderContentRenderer> extends VisualPluginOptions<TCssClasses> {
}
/**
* Definition of renderer for header for ContentRenderer
*/
export interface HeaderContentRenderer<TMetadata = unknown> extends GridPlugin<HeaderContentRendererOptions> {
/**
* Metadata used for rendering
*/
metadata: TMetadata | undefined | null;
}
//# sourceMappingURL=bodyHeaderContentRenderer.interface.d.ts.map