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 d4c8b3d300..68460f4982 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 @@ -143,6 +143,9 @@ const dropIndex = groupsInTab.findIndex(group => group.key === groupKey); updateSortOrder(groupsInTab, dropIndex); + + // when a group is dropped we need to reset the requested tab hover alias + scope.sortableRequestedTabAlias = undefined; } } }; @@ -192,7 +195,9 @@ const newAlias = contentTypeHelper.updateParentAlias(group.alias || null, hoveredTabAlias); // Check alias is unique if (group.alias !== newAlias && contentTypeHelper.isAliasUnique(scope.model.groups, newAlias) === false) { - // TODO: Missing UI indication of why you cant move here. + localizationService.localize("contentTypeEditor_groupReorderSameAliasError", [group.name, newAlias]).then((value) => { + notificationsService.error(value); + }); return; } } diff --git a/src/Umbraco.Web.UI.Client/src/common/services/contenttypehelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/contenttypehelper.service.js index a5298aa425..5198f5d9bd 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/contenttypehelper.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/contenttypehelper.service.js @@ -90,6 +90,9 @@ function contentTypeHelper(contentTypeResource, dataTypeResource, $filter, $inje }, convertGroupToTab: function (groups, group) { + const tabs = groups.filter(group => group.type === this.TYPE_TAB).sort((a, b) => a.sortOrder - b.sortOrder); + const nextSortOrder = tabs && tabs.length > 0 ? tabs[tabs.length - 1].sortOrder + 1 : 0; + group.convertingToTab = true; group.type = this.TYPE_TAB; @@ -100,7 +103,7 @@ function contentTypeHelper(contentTypeResource, dataTypeResource, $filter, $inje group.alias = this.isAliasUnique(otherGroups, newAlias) ? newAlias : this.createUniqueAlias(otherGroups, newAlias); group.parentAlias = null; - + group.sortOrder = nextSortOrder; group.convertingToTab = false; }, diff --git a/src/Umbraco.Web.UI.Client/src/views/dataTypes/create.html b/src/Umbraco.Web.UI.Client/src/views/dataTypes/create.html index 3cfc6e0cc4..5a7859add9 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dataTypes/create.html +++ b/src/Umbraco.Web.UI.Client/src/views/dataTypes/create.html @@ -24,13 +24,19 @@ -