diff --git a/lib/core/card-view/interfaces/card-view-item-properties.interface.ts b/lib/core/card-view/interfaces/card-view-item-properties.interface.ts index 5316a976df..011eec019b 100644 --- a/lib/core/card-view/interfaces/card-view-item-properties.interface.ts +++ b/lib/core/card-view/interfaces/card-view-item-properties.interface.ts @@ -26,6 +26,7 @@ export interface CardViewItemProperties { editable?: boolean; clickable?: any; icon?: string; + hint?: string; validators?: CardViewItemValidator[]; data?: any; constraints?: Constraint[]; diff --git a/lib/core/card-view/models/card-view-baseitem.model.spec.ts b/lib/core/card-view/models/card-view-baseitem.model.spec.ts index 39036f2fc9..faa152b271 100644 --- a/lib/core/card-view/models/card-view-baseitem.model.spec.ts +++ b/lib/core/card-view/models/card-view-baseitem.model.spec.ts @@ -44,6 +44,32 @@ describe('CardViewBaseItemModel', () => { expect(itemModel.data).toBe(properties.data); }); + + it('should persist the params\' properties as own properties', () => { + const allProperties = { + ...properties, + default: 'default-value', + editable: true, + clickable: true, + icon: 'dummy-icon', + hint: 'Some hint text', + validators: [{} as unknown as CardViewItemValidator], + multivalued: true + }; + + const itemModel = new CarViewCustomItemModel(allProperties); + + expect(itemModel.label).toBe(allProperties.label); + expect(itemModel.value).toBe(allProperties.value); + expect(itemModel.key).toBe(allProperties.key); + expect(itemModel.default).toBe(allProperties.default); + expect(itemModel.editable).toBe(allProperties.editable); + expect(itemModel.clickable).toBe(allProperties.clickable); + expect(itemModel.icon).toBe(allProperties.icon); + expect(itemModel.hint).toBe(allProperties.hint); + expect(itemModel.validators).toBe(allProperties.validators); + expect(itemModel.multivalued).toBe(allProperties.multivalued); + }); }); describe('isValid & Validation errors', () => { diff --git a/lib/core/card-view/models/card-view-baseitem.model.ts b/lib/core/card-view/models/card-view-baseitem.model.ts index 7bd4271e8e..38aa513685 100644 --- a/lib/core/card-view/models/card-view-baseitem.model.ts +++ b/lib/core/card-view/models/card-view-baseitem.model.ts @@ -26,6 +26,7 @@ export abstract class CardViewBaseItemModel { editable: boolean; clickable: boolean; icon?: string; + hint?: string; validators?: CardViewItemValidator[]; data?: any; type?: string; @@ -39,6 +40,7 @@ export abstract class CardViewBaseItemModel { this.editable = !!cardViewItemProperties.editable; this.clickable = !!cardViewItemProperties.clickable; this.icon = cardViewItemProperties.icon || ''; + this.hint = cardViewItemProperties.hint || ''; this.validators = cardViewItemProperties.validators || []; this.data = cardViewItemProperties.data || null; this.multivalued = !!cardViewItemProperties.multivalued;