From 6cfb052285902641ed97cdca3334804f71924c3a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 5 Aug 2021 21:03:23 +0200 Subject: [PATCH] don't include inherited groups in server validation index --- .../components/umbgroupsbuilder.directive.js | 10 +++++++--- .../src/views/components/umb-groups-builder.html | 12 ++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js index 67fec449be..ac769a2a3e 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js @@ -42,10 +42,14 @@ return group.type === TYPE_TAB && group.parentAlias == null; }); - // Update index and parentAlias properties of tabs - scope.tabs.forEach(tab => { - tab.indexInGroups = newValue.findIndex(group => group.alias === tab.alias); + // set server validation index + // the server filters out inherited groups when returning the group index + const noInherited = newValue.filter(group => !group.inherited); + + noInherited.forEach((group, index) => { + group.serverValidationIndex = !group.inherited ? index : undefined; }); + checkGenericTabVisibility(); if (!scope.openTabAlias && scope.hasGenericTab) { diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html index 63863f69f4..42134cb408 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html @@ -26,7 +26,7 @@ sorting="sortingMode" allow-remove="canRemoveTab(tab) && !sortingMode" on-remove="removeTab(tab, tabIndex)" - val-server-field-name="{{'Groups[' + tab.indexInGroups + '].Name'}}" + val-server-field-name="{{'Groups[' + tab.serverValidationIndex + '].Name'}}" on-change-sort-order-value="onChangeTabSortOrderValue(tab)" on-change-name="onChangeTabName(tab)"> @@ -99,8 +99,8 @@ sortable="sortingMode" on-edit="editPropertyTypeSettings(property)" on-remove="deleteProperty(tab.properties, property)" - val-server-field-alias="{{'Groups[' + tab.indexInGroups + '].Properties[' + propertyIndex + '].Alias'}}" - val-server-field-label="{{'Groups[' + tab.indexInGroups + '].Properties[' + propertyIndex + '].Label'}}" + val-server-field-alias="{{'Groups[' + tab.serverValidationIndex + '].Properties[' + propertyIndex + '].Alias'}}" + val-server-field-label="{{'Groups[' + tab.serverValidationIndex + '].Properties[' + propertyIndex + '].Label'}}" on-change-sort-order-value="onChangePropertySortOrderValue(tab)" val-tab-alias="tab-content-{{tab.alias}}"> @@ -136,7 +136,7 @@ on-update-name="onChangeGroupName(group)" sorting="sortingMode" on-change-sort-order-value="onChangeGroupSortOrderValue(group)" - val-server-field-name="{{'Groups[' + groupIndex + '].Name'}}" + val-server-field-name="{{'Groups[' + group.serverValidationIndex + '].Name'}}" val-tab-alias="tab-content-{{group.type === 0 ? group.parentAlias : group.alias}}">