From 07583b8122fb74ee9c2432b295fdaa334e70f506 Mon Sep 17 00:00:00 2001 From: Torsten Brendgen Date: Sun, 19 Jul 2026 22:54:29 +0200 Subject: [PATCH] Bump version to 1.1.4, remove unnecessary external dependency, and update term sorting logic --- README.md | 8 +++++++- config/package-solution.json | 4 ++-- package-lock.json | 2 +- package.json | 2 +- .../megaMenu/MegaMenuApplicationCustomizer.ts | 2 +- src/services/SPTermStorePickerService.ts | 13 +++++++++++-- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 08eb266..4b4e63e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Barrierearme, dreistufige Portalnavigation auf Basis von SharePoint Managed Meta | Eigenschaft | Wert | |---|---| -| Version | 1.1.3 | +| Version | 1.1.4 | | SharePoint Framework | SPFx 1.4.1 | | Node.js | 8.17.0 | | Zieloberfläche | Moderne SharePoint-Seiten | @@ -261,6 +261,12 @@ MegaMenu/ ## Versionshistorie +### 1.1.4 + +- Unnötige externe Abhängigkeit zu `@microsoft/sp-lodash-subset` entfernt. +- Terms werden beim Sortieren über eine lokale, SPFx-1.4.1-kompatible Pfadsuche zugeordnet. +- Verhindert, dass der Application Customizer bereits bei der Systemkomponenten-Auflösung übersprungen wird. + ### 1.1.3 - Ausführliches, ausschließlich über `debug: true` aktiviertes Lifecycle-Logging ergänzt. diff --git a/config/package-solution.json b/config/package-solution.json index 8dc21db..0f089a1 100644 --- a/config/package-solution.json +++ b/config/package-solution.json @@ -3,7 +3,7 @@ "solution": { "name": "mega-menu-client-side-solution", "id": "f4660e06-ce08-43ee-bfb7-5c4464e01133", - "version": "1.1.3.0", + "version": "1.1.4.0", "includeClientSideAssets": true, "skipFeatureDeployment": false, "features": [ @@ -11,7 +11,7 @@ "title": "MegaMenu extension registration", "description": "Registers the MegaMenu Application Customizer in the host web.", "id": "1e4fdc74-8053-48b2-a15b-e975d61eb71f", - "version": "1.1.3.0", + "version": "1.1.4.0", "assets": { "elementManifests": [ "elements.xml" diff --git a/package-lock.json b/package-lock.json index 1ab98c8..13c06c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mega-menu", - "version": "1.1.3", + "version": "1.1.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 880690f..e44c777 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mega-menu", - "version": "1.1.3", + "version": "1.1.4", "private": true, "main": "lib/index.js", "engines": { diff --git a/src/extensions/megaMenu/MegaMenuApplicationCustomizer.ts b/src/extensions/megaMenu/MegaMenuApplicationCustomizer.ts index bbb60a7..50675c8 100644 --- a/src/extensions/megaMenu/MegaMenuApplicationCustomizer.ts +++ b/src/extensions/megaMenu/MegaMenuApplicationCustomizer.ts @@ -40,7 +40,7 @@ export default class MegaMenuApplicationCustomizer const debug: boolean = this._isDebugEnabled(); debugLog(debug, LOG_SOURCE, 'onInit started.', { componentId: UserCustomActionMegaMenuId, - version: '1.1.3', + version: '1.1.4', properties: this.properties || {}, pageUrl: window.location.href, webUrl: this.context.pageContext.web.absoluteUrl, diff --git a/src/services/SPTermStorePickerService.ts b/src/services/SPTermStorePickerService.ts index 07e076f..88a2942 100644 --- a/src/services/SPTermStorePickerService.ts +++ b/src/services/SPTermStorePickerService.ts @@ -5,7 +5,6 @@ import { SPHttpClient, SPHttpClientResponse, ISPHttpClientOptions } from '@microsoft/sp-http'; import { ITermStore, ITerms, ITerm, IGroup, ITermSet, ISuggestTerm } from './ISPTermStorePickerService'; -import { findIndex } from '@microsoft/sp-lodash-subset'; import { ISPTermStorePickerServiceProps } from './ISPTermStorePickerServiceProps'; import { IPickerTerm } from './IPickerTerm'; import { ApplicationCustomizerContext } from '@microsoft/sp-application-base'; @@ -587,7 +586,7 @@ export default class SPTermStorePickerService { // Last item is not needed for parent path pathElms.pop(); // Find the parent item and add the new item - const idx: number = findIndex(newTermsOrder, term => term.PathOfTerm === pathElms.join(';')); + const idx: number = this.findTermIndexByPath(newTermsOrder, pathElms.join(';')); if (idx !== -1) { newTermsOrder.splice(idx + 1, 0, crntTerm); } else { @@ -607,6 +606,16 @@ export default class SPTermStorePickerService { return newTermsOrder; } + private findTermIndexByPath(terms: ITerm[], path: string): number { + for (let index: number = 0; index < terms.length; index++) { + if (terms[index].PathOfTerm === path) { + return index; + } + } + + return -1; + } + /** * Sort the terms by their path *