mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[MNT-21920] Fix Card View Integers initialization when they are set to 0 (#6320)
* [MNT-21920] Fix Card View Integers initialization when they are set to 0 * Add unit tests
This commit is contained in:
@@ -201,7 +201,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
|||||||
|
|
||||||
showGroup(group: CardViewGroup): boolean {
|
showGroup(group: CardViewGroup): boolean {
|
||||||
const properties = group.properties.filter((property) => {
|
const properties = group.properties.filter((property) => {
|
||||||
return !!property.displayValue;
|
return !this.isEmpty(property.displayValue);
|
||||||
});
|
});
|
||||||
|
|
||||||
return properties.length > 0;
|
return properties.length > 0;
|
||||||
@@ -225,4 +225,8 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private isEmpty(value: any): boolean {
|
||||||
|
return value === undefined || value === null || value === '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -86,14 +86,14 @@ describe('PropertyGroupTranslatorService', () => {
|
|||||||
mandatory: false,
|
mandatory: false,
|
||||||
multiValued: false
|
multiValued: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'FAS:ALOY',
|
name: 'FAS:ALOY',
|
||||||
title: 'title',
|
title: 'title',
|
||||||
dataType: 'd:text',
|
dataType: 'd:text',
|
||||||
defaultValue: 'defaultValue',
|
defaultValue: 'defaultValue',
|
||||||
mandatory: false,
|
mandatory: false,
|
||||||
multiValued: false
|
multiValued: false
|
||||||
}];
|
}];
|
||||||
propertyGroups.push(propertyGroup);
|
propertyGroups.push(propertyGroup);
|
||||||
|
|
||||||
propertyValues = { 'FAS:PLAGUE': 'The Chariot Line' };
|
propertyValues = { 'FAS:PLAGUE': 'The Chariot Line' };
|
||||||
@@ -253,6 +253,17 @@ describe('PropertyGroupTranslatorService', () => {
|
|||||||
expect(cardViewProperty.value).toBe(1024);
|
expect(cardViewProperty.value).toBe(1024);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should translate properly the value attribute for d:int and value is 0', () => {
|
||||||
|
property.dataType = 'd:int';
|
||||||
|
|
||||||
|
propertyValues = { 'FAS:PLAGUE': 0 };
|
||||||
|
const cardViewGroup = service.translateToCardViewGroups(propertyGroups, propertyValues, null);
|
||||||
|
|
||||||
|
const cardViewProperty: CardViewIntItemModel = <CardViewIntItemModel> cardViewGroup[0].properties[0];
|
||||||
|
expect(cardViewProperty instanceof CardViewIntItemModel).toBeTruthy('Property should be instance of CardViewIntItemModel');
|
||||||
|
expect(cardViewProperty.value).toBe(0);
|
||||||
|
});
|
||||||
|
|
||||||
it('should translate properly the value attribute for d:long', () => {
|
it('should translate properly the value attribute for d:long', () => {
|
||||||
property.dataType = 'd:long';
|
property.dataType = 'd:long';
|
||||||
|
|
||||||
@@ -275,6 +286,17 @@ describe('PropertyGroupTranslatorService', () => {
|
|||||||
expect(cardViewProperty.value).toBe(1024.24);
|
expect(cardViewProperty.value).toBe(1024.24);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should translate properly the value attribute for d:float and value is 0', () => {
|
||||||
|
property.dataType = 'd:float';
|
||||||
|
|
||||||
|
propertyValues = { 'FAS:PLAGUE': 0 };
|
||||||
|
const cardViewGroup = service.translateToCardViewGroups(propertyGroups, propertyValues, null);
|
||||||
|
|
||||||
|
const cardViewProperty: CardViewFloatItemModel = <CardViewFloatItemModel> cardViewGroup[0].properties[0];
|
||||||
|
expect(cardViewProperty instanceof CardViewFloatItemModel).toBeTruthy('Property should be instance of CardViewFloatItemModel');
|
||||||
|
expect(cardViewProperty.value).toBe(0);
|
||||||
|
});
|
||||||
|
|
||||||
it('should translate properly the value attribute for d:double', () => {
|
it('should translate properly the value attribute for d:double', () => {
|
||||||
property.dataType = 'd:double';
|
property.dataType = 'd:double';
|
||||||
|
|
||||||
@@ -309,7 +331,7 @@ describe('PropertyGroupTranslatorService', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
} as Constraint ]
|
} as Constraint]
|
||||||
};
|
};
|
||||||
property.dataType = 'd:text';
|
property.dataType = 'd:text';
|
||||||
propertyValues = { 'FAS:PLAGUE': 'two' };
|
propertyValues = { 'FAS:PLAGUE': 'two' };
|
||||||
|
@@ -77,7 +77,7 @@ export class PropertyGroupTranslatorService {
|
|||||||
|
|
||||||
private translate(property: Property, propertyValues: any, constraints: Constraint[]): CardViewItem {
|
private translate(property: Property, propertyValues: any, constraints: Constraint[]): CardViewItem {
|
||||||
let propertyValue: any;
|
let propertyValue: any;
|
||||||
if (propertyValues && propertyValues[property.name]) {
|
if (propertyValues && !this.isEmpty(propertyValues[property.name])) {
|
||||||
propertyValue = propertyValues[property.name];
|
propertyValue = propertyValues[property.name];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,4 +159,8 @@ export class PropertyGroupTranslatorService {
|
|||||||
this.logService.error(`Unknown type for mapping: ${ecmPropertyType}`);
|
this.logService.error(`Unknown type for mapping: ${ecmPropertyType}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private isEmpty(value: any): boolean {
|
||||||
|
return value === undefined || value === null || value === '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user