From 950ad743f730c4f365e025ca68916e4e650ccc24 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Tue, 8 Oct 2019 09:19:58 -0700 Subject: [PATCH 1/2] SHIBUI-1519 fixed issue with property display in filter comparison --- .../metadata-configuration.component.html | 3 +- .../configuration/reducer/utilities.ts | 57 +++++++++++++------ .../entity-attributes-configuration.filter.ts | 1 - .../model/nameid-configuration.filter.ts | 1 - 4 files changed, 43 insertions(+), 19 deletions(-) diff --git a/ui/src/app/metadata/configuration/component/metadata-configuration.component.html b/ui/src/app/metadata/configuration/component/metadata-configuration.component.html index df06cc729..f44b72bd2 100644 --- a/ui/src/app/metadata/configuration/component/metadata-configuration.component.html +++ b/ui/src/app/metadata/configuration/component/metadata-configuration.component.html @@ -2,7 +2,8 @@
-
+

diff --git a/ui/src/app/metadata/configuration/reducer/utilities.ts b/ui/src/app/metadata/configuration/reducer/utilities.ts index dfcad151e..d73039306 100644 --- a/ui/src/app/metadata/configuration/reducer/utilities.ts +++ b/ui/src/app/metadata/configuration/reducer/utilities.ts @@ -4,6 +4,33 @@ import * as utils from '../../domain/utility/configuration'; import { getSplitSchema } from '../../../wizard/reducer'; import { SectionProperty } from '../model/section'; +function omit(key, obj) { + if (!obj) { + return obj; + } + const { [key]: omitted, ...rest } = obj; + return rest; +} + +export const rollupDifferences = (prop) => { + let updates = { + ...prop + }; + + if (prop.properties) { + updates = { + ...updates, + properties: [ + ...prop.properties.map(p => rollupDifferences(p)) + ] + }; + } + + prop.differences = prop.properties.some(p => p.differences); + + return updates; +}; + export const getConfigurationSectionsFn = (models, definition, schema): MetadataConfiguration => { return !definition || !schema || !models ? null : ({ @@ -38,22 +65,20 @@ export const getConfigurationSectionsFn = (models, definition, schema): Metadata }); }; +const getDifferences = (models, prop) => { + return models.some((model, index, array) => { + if (!array) { + return false; + } + const prop1 = omit('modifiedDate', model[prop.id]); + const prop2 = omit('modifiedDate', array[0][prop.id]); + return JSON.stringify(prop1) !== JSON.stringify(prop2); + }); +}; + export const assignValueToProperties = (models, properties, definition: any): any[] => { return properties.map(prop => { - const differences = models.some((model, index, array) => { - if (!array) { - return false; - } - let prop1 = model[prop.id]; - let prop2 = array[0][prop.id]; - if (prop1 && prop1.modifiedDate) { - let { checkedModifiedDate, checkedProp } = prop1; - let { firstModifiedDate, firstProp } = prop2; - prop1 = checkedProp; - prop2 = firstProp; - } - return JSON.stringify(prop1) !== JSON.stringify(prop2); - }); + const differences = getDifferences(models, prop); const widget = prop.type === 'array' && prop.widget && prop.widget.data ? ({ ...prop.widget, @@ -72,12 +97,12 @@ export const assignValueToProperties = (models, properties, definition: any): an case 'object': return { ...prop, - differences, properties: assignValueToProperties( models.map(model => definition.formatter(model)[prop.id] || {}), prop.properties, definition - ) + ), + differences: getDifferences(models, prop) }; default: return { diff --git a/ui/src/app/metadata/filter/model/entity-attributes-configuration.filter.ts b/ui/src/app/metadata/filter/model/entity-attributes-configuration.filter.ts index 06a6609b6..081aed521 100644 --- a/ui/src/app/metadata/filter/model/entity-attributes-configuration.filter.ts +++ b/ui/src/app/metadata/filter/model/entity-attributes-configuration.filter.ts @@ -22,7 +22,6 @@ export const EntityAttributesFilterConfiguration: Wizard = { 'name', '@type', 'resourceId', - 'version', 'filterEnabled', 'relyingPartyOverrides' ] diff --git a/ui/src/app/metadata/filter/model/nameid-configuration.filter.ts b/ui/src/app/metadata/filter/model/nameid-configuration.filter.ts index 9c82117ae..4ff615ac6 100644 --- a/ui/src/app/metadata/filter/model/nameid-configuration.filter.ts +++ b/ui/src/app/metadata/filter/model/nameid-configuration.filter.ts @@ -23,7 +23,6 @@ export const NameIDFilterConfiguration: Wizard = { 'filterEnabled', '@type', 'resourceId', - 'version', 'removeExistingFormats', 'formats' ] From b63747b689bca77fa0e1933c34a54e8d741adaff Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Tue, 8 Oct 2019 09:35:27 -0700 Subject: [PATCH 2/2] SHIBUI-1519 removed unused code --- .../component/metadata-configuration.component.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ui/src/app/metadata/configuration/component/metadata-configuration.component.html b/ui/src/app/metadata/configuration/component/metadata-configuration.component.html index f44b72bd2..df06cc729 100644 --- a/ui/src/app/metadata/configuration/component/metadata-configuration.component.html +++ b/ui/src/app/metadata/configuration/component/metadata-configuration.component.html @@ -2,8 +2,7 @@
-
+