import { BaseModel } from "../../shared"; export interface WidgetBadge { dictionaryItemID?: string; dictionaryID?: string; value?: string; style?: BadgeStyleConfig; } export interface WidgetModel extends BaseModel { dataItems: WidgetItem[]; badges?: WidgetBadge[]; header: string; order: number; predefinedName: string | null; subHeader: string; route: string; layoutType: string; style: WidgetStyleConfig; isFormEnabled: boolean; recordId: string; isEmptyLabelHidden?: boolean; widgetStatusIconClass?: string; widgetStatusIconStyle?: string; widgetStatusIconClassExpression?: string; widgetStatusIconStyleExpression?: string; } export interface WidgetItem { key: string; style: StyleConfig; isHtml: boolean; value: string; isLink: boolean; isEvent: boolean; route: string; isHidden: boolean; } export interface WidgetStyleConfig { headerStyle: string; subHeaderStyle: string; styleExpression: string; headerIconStyle: string; headerIconClass: string; widgetStyle: string; width: string; isConfirmed: string; } export interface StyleConfig { keyClass: string; valueClass: string; key: string; value: string; keyIconClass: string; keyIconStyle: string; valueIconClass: string; valueIconStyle: string; hasSeparator?: boolean; isConfirmed?: string; itemStyle?: string; styleExpression?: string; valueIconClassExpression?: string; valueIconStyleExpression?: string; } export interface BadgeStyleConfig { valueClass?: string; value?: string; valueIconClass?: string; valueIconClassExpression?: string; valueIconStyleExpression?: string; valueIconStyle?: string; hasSeparator?: boolean; isConfirmed?: string; itemStyle?: string; styleExpression?: string; } export interface ProcessedBadgeConfig { value: string; valueClass: string; badgeStyle: { [key: string]: any; }; valueIconClass?: string; valueIconStyle: { [key: string]: any; }; valueIconClassExpression?: string; valueIconStyleExpression: { [key: string]: any; }; mergedValueIconStyle: { [key: string]: any; }; }