diff --git a/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.spec.ts b/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.spec.ts index 9fe71e9e54..e3a0b21cfa 100644 --- a/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.spec.ts +++ b/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.spec.ts @@ -320,5 +320,27 @@ describe('LayoutOrientedConfigService', () => { }); }); }); + + it('should include all exclusions passed to filterExcludedPreset', () => { + let properties: OrganisedPropertyGroup[] = [{ + name: 'propGroup', + title: 'propGroup', + properties: [ { name: 'property1', title: 'Custom title', editable: true } as Property, + { name: 'property2', title: 'Custom title', editable: true } as Property, + { name: 'property3', title: 'Custom title', editable: true } as Property, + { name: 'property4', title: 'Custom title', editable: true } as Property, + ]}]; + + configService = createConfigService([ + { title: 'Property group', items: [ { aspect: 'berseria', properties: ['property1', 'property2', 'property3', 'property4'] } ] }, + { title: 'Exclude group 1', items: [ { exclude: ['property1'], properties: [] } ] }, + { title: 'Exclude group 2', items: [ { exclude: ['property2'], properties: [] } ] }, + { title: 'Exclude group 3', items: [ { exclude: ['property3'], properties: [] } ] }, + ]); + + let result = configService.filterExcludedPreset(properties); + + expect(result.length).toBe(1); + }); }); }); diff --git a/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.ts b/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.ts index 244053f265..2193ce290e 100644 --- a/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.ts +++ b/lib/content-services/src/lib/content-metadata/services/config/layout-oriented-config.service.ts @@ -75,7 +75,8 @@ export class LayoutOrientedConfigService implements ContentMetadataConfig { public filterExcludedPreset(propertyGroups: OrganisedPropertyGroup[]): OrganisedPropertyGroup[] { let excludedConfig = this.config .map((config) => config.exclude) - .find((exclude) => exclude !== undefined); + .filter((exclude) => exclude !== undefined) + .flat(); if (excludedConfig === undefined) { excludedConfig = [];