From 69a96b90c54bf9fb5296352ae48d6e7a8bb7aa4a Mon Sep 17 00:00:00 2001 From: Torsten Brendgen Date: Sat, 18 Jul 2026 21:33:05 +0200 Subject: [PATCH] feat: update version to 2.1.1 and enhance property normalization in ExpiryIndicator functionality --- README.md | 2 +- config/package-solution.json | 4 ++-- package-lock.json | 2 +- package.json | 2 +- scripts/Enable-ExpiryIndicator.ps1 | 2 +- sharepoint/assets/ExpiryIndicatorClassic.js | 4 +++- src/common/ExpiryConfigService.ts | 4 +++- .../ExpiryIndicatorFieldCustomizer.manifest.json | 2 +- .../ExpiryIndicatorApplicationCustomizer.manifest.json | 2 +- .../ExpiryIndicatorCommandSet.manifest.json | 2 +- 10 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a96b214..13b8f7a 100644 --- a/README.md +++ b/README.md @@ -414,7 +414,7 @@ anlegen. Das Skript bleibt vor allem für automatisierte oder umfangreiche Rollo ### Upgrade auf Version 2.1 -1. Das vorhandene Paket im App Catalog durch Version `2.1.0.0` ersetzen. +1. Das vorhandene Paket im App Catalog durch Version `2.1.1.0` ersetzen. 2. Die App in der Site aktualisieren. Die enthaltene Feature-UpgradeAction provisioniert ausschließlich das aktualisierten Assets und legt keine fachliche Spalte an. 3. `Enable-ExpiryIndicator.ps1` für jede bereits angebundene Liste erneut ausführen. Das Skript erhält die diff --git a/config/package-solution.json b/config/package-solution.json index ee59a18..ccc8a33 100644 --- a/config/package-solution.json +++ b/config/package-solution.json @@ -3,7 +3,7 @@ "solution": { "name": "expiry-indicator-client-side-solution", "id": "68bb6d2d-9895-45b4-88e8-b98835faa981", - "version": "2.1.0.0", + "version": "2.1.1.0", "includeClientSideAssets": true, "skipFeatureDeployment": false, "features": [ @@ -11,7 +11,7 @@ "title": "ExpiryIndicator extension registration", "description": "Registers ExpiryIndicator commands and its settings Application Customizer. Does not provision ExpiryDate.", "id": "913402af-ab9a-4974-9f86-5c2159ae41db", - "version": "2.1.0.0", + "version": "2.1.1.0", "assets": { "elementManifests": [ "elements.xml", diff --git a/package-lock.json b/package-lock.json index bd2a4db..e5c5a95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expiry-indicator", - "version": "2.1.0", + "version": "2.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a4cd24b..845d68a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expiry-indicator", - "version": "2.1.0", + "version": "2.1.1", "private": true, "engines": { "node": ">=6.9.0 <9.0.0" diff --git a/scripts/Enable-ExpiryIndicator.ps1 b/scripts/Enable-ExpiryIndicator.ps1 index fababd4..80ed692 100644 --- a/scripts/Enable-ExpiryIndicator.ps1 +++ b/scripts/Enable-ExpiryIndicator.ps1 @@ -58,7 +58,7 @@ try { $rootWeb.AllProperties[$descriptorKey] = ([ordered]@{ key = 'ExpiryIndicator' displayName = 'Expiry Indicator' - version = '2.1.0' + version = '2.1.1' provider = 'expiryIndicator' componentIds = @( 'a555f4fc-d6a6-4421-8189-457449d9bbde', diff --git a/sharepoint/assets/ExpiryIndicatorClassic.js b/sharepoint/assets/ExpiryIndicatorClassic.js index b48d052..d36312e 100644 --- a/sharepoint/assets/ExpiryIndicatorClassic.js +++ b/sharepoint/assets/ExpiryIndicatorClassic.js @@ -121,8 +121,10 @@ function propertyValue(payload, key) { var properties = payload && payload.d ? payload.d : (payload || {}); + var expected = String(key || '').replace(/_x002e_/gi, '.').toLowerCase(); for (var name in properties) { - if (Object.prototype.hasOwnProperty.call(properties, name) && name.toLowerCase() === key.toLowerCase()) { + var normalizedName = String(name || '').replace(/_x002e_/gi, '.').toLowerCase(); + if (Object.prototype.hasOwnProperty.call(properties, name) && normalizedName === expected) { try { return typeof properties[name] === 'string' ? JSON.parse(properties[name]) : properties[name]; } catch (ignore) { return null; } } diff --git a/src/common/ExpiryConfigService.ts b/src/common/ExpiryConfigService.ts index f264fe7..6582f18 100644 --- a/src/common/ExpiryConfigService.ts +++ b/src/common/ExpiryConfigService.ts @@ -204,8 +204,10 @@ export class ExpiryConfigService { const source: any = data.d || data; let rawValue: any = source[key]; if (typeof rawValue === 'undefined') { + const expectedKey: string = key.replace(/_x002e_/gi, '.').toLowerCase(); Object.keys(source).some((propertyName: string): boolean => { - if (propertyName.toLowerCase() === key.toLowerCase()) { + const normalizedName: string = propertyName.replace(/_x002e_/gi, '.').toLowerCase(); + if (normalizedName === expectedKey) { rawValue = source[propertyName]; return true; } diff --git a/src/extensions/expiryIndicator/ExpiryIndicatorFieldCustomizer.manifest.json b/src/extensions/expiryIndicator/ExpiryIndicatorFieldCustomizer.manifest.json index 8e51f66..f558685 100644 --- a/src/extensions/expiryIndicator/ExpiryIndicatorFieldCustomizer.manifest.json +++ b/src/extensions/expiryIndicator/ExpiryIndicatorFieldCustomizer.manifest.json @@ -4,7 +4,7 @@ "alias": "ExpiryIndicatorFieldCustomizer", "componentType": "Extension", "extensionType": "FieldCustomizer", - "version": "2.1.0", + "version": "2.1.1", "manifestVersion": 2, "requiresCustomScript": false } diff --git a/src/extensions/expiryIndicatorApplicationCustomizer/ExpiryIndicatorApplicationCustomizer.manifest.json b/src/extensions/expiryIndicatorApplicationCustomizer/ExpiryIndicatorApplicationCustomizer.manifest.json index d5bfd30..1a5dadf 100644 --- a/src/extensions/expiryIndicatorApplicationCustomizer/ExpiryIndicatorApplicationCustomizer.manifest.json +++ b/src/extensions/expiryIndicatorApplicationCustomizer/ExpiryIndicatorApplicationCustomizer.manifest.json @@ -4,7 +4,7 @@ "alias": "ExpiryIndicatorApplicationCustomizer", "componentType": "Extension", "extensionType": "ApplicationCustomizer", - "version": "2.1.0", + "version": "2.1.1", "manifestVersion": 2, "requiresCustomScript": false } diff --git a/src/extensions/expiryIndicatorCommandSet/ExpiryIndicatorCommandSet.manifest.json b/src/extensions/expiryIndicatorCommandSet/ExpiryIndicatorCommandSet.manifest.json index ee08918..b84d7ab 100644 --- a/src/extensions/expiryIndicatorCommandSet/ExpiryIndicatorCommandSet.manifest.json +++ b/src/extensions/expiryIndicatorCommandSet/ExpiryIndicatorCommandSet.manifest.json @@ -4,7 +4,7 @@ "alias": "ExpiryIndicatorCommandSet", "componentType": "Extension", "extensionType": "ListViewCommandSet", - "version": "2.1.0", + "version": "2.1.1", "manifestVersion": 2, "requiresCustomScript": false, "items": {