From dfb3cde1c9fd8cbb9ad40196936738d4e339b4b2 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 11:09:41 +0200 Subject: [PATCH 01/10] add basic scaffolding for send to publish dialog + show modified variants --- .../components/content/edit.controller.js | 29 ++++++++++- .../overlays/sendtopublish.controller.js | 39 +++++++++++++++ .../views/content/overlays/sendtopublish.html | 49 +++++++++++++++++++ .../Umbraco/config/lang/en_us.xml | 4 +- 4 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js create mode 100644 src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js index dbebf840f1..04215c256b 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js @@ -372,7 +372,34 @@ }; $scope.sendToPublish = function () { - return performSave({ saveMethod: contentResource.sendToPublish, action: "sendToPublish" }); + clearNotifications($scope.content); + if (showSaveOrPublishDialog()) { + //before we launch the dialog we want to execute all client side validations first + if (formHelper.submitForm({ scope: $scope, action: "publish" })) { + + var dialog = { + parentScope: $scope, + view: "views/content/overlays/sendtopublish.html", + variants: $scope.content.variants, //set a model property for the dialog + skipFormValidation: true, //when submitting the overlay form, skip any client side validation + submitButtonLabel: "Send for approval", + submit: function (model) { + model.submitButtonState = "busy"; + clearNotifications($scope.content); + //we need to return this promise so that the dialog can handle the result and wire up the validation response + console.log("saving need to happen here"); + }, + close: function () { + overlayService.close(); + } + }; + + overlayService.open(dialog); + } + } + else { + return performSave({ saveMethod: contentResource.sendToPublish, action: "sendToPublish" }); + } }; $scope.saveAndPublish = function () { diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js new file mode 100644 index 0000000000..e2b5ac8a72 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js @@ -0,0 +1,39 @@ +(function () { + "use strict"; + + function SendToPublishController($scope, localizationService) { + + var vm = this; + vm.loading = true; + + vm.modifiedVariantFilter = modifiedVariantFilter; + + function onInit() { + + vm.variants = $scope.model.variants; + + if (!$scope.model.title) { + localizationService.localize("content_sendForApproval").then(function (value) { + $scope.model.title = value; + }); + } + + vm.loading = false; + + } + + function modifiedVariantFilter(variant) { + //determine a variant is 'modified' (meaning it will show up as able to send for approval) if it's + // * it's editor is in a $dirty state + // * it is in Draft state + // * it is published with pending changes + return (variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges"); + } + + onInit(); + + } + + angular.module("umbraco").controller("Umbraco.Overlays.SendToPublishController", SendToPublishController); + +})(); diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html new file mode 100644 index 0000000000..fae7ef7234 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html @@ -0,0 +1,49 @@ +
+ +
+

+
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+
{{publishVariantSelectorForm.publishVariantSelector.errorMsg}}
+
+ +
+
{{notification.message}}
+
+ +
+
+ +
+
+
+
+ +
diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml index 14e5b64fff..e73eeea75d 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml @@ -131,7 +131,7 @@ Publish Publish… Save and schedule - Save and send for approval + Send for approval Save list view Preview Preview is disabled because there's no template assigned @@ -266,10 +266,12 @@ This value is hidden. What languages would you like to publish? What languages would you like to save? + What languages would you like to send for approval? Published Languages Unmodified Languages Ready to Publish? Ready to Save? + Send for approval Create a new Content Template from '%0%' From c017a7347124a03ca0af9ab42d77ee4abe9ceb7f Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 11:59:40 +0200 Subject: [PATCH 02/10] add unmodified languages list + show currently edited language preselected at the top of the list --- .../overlays/sendtopublish.controller.js | 40 ++++++++++++++++++- .../views/content/overlays/sendtopublish.html | 18 ++++++++- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js index e2b5ac8a72..e7c8988167 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js @@ -7,29 +7,67 @@ vm.loading = true; vm.modifiedVariantFilter = modifiedVariantFilter; + vm.unmodifiedVariantFilter = unmodifiedVariantFilter; function onInit() { vm.variants = $scope.model.variants; + // set dialog title if (!$scope.model.title) { localizationService.localize("content_sendForApproval").then(function (value) { $scope.model.title = value; }); } + + if (vm.variants.length !== 0) { + //now sort it so that the current one is at the top + vm.variants = _.sortBy(vm.variants, function (v) { + return v.active ? 0 : 1; + }); + + var active = _.find(vm.variants, function (v) { + return v.active; + }); + + if (active) { + //ensure that the current one is selected + active.sendToPublish = true; + } + + } else { + //disable save button if we have nothing to save + $scope.model.disableSubmitButton = true; + } + vm.loading = false; } function modifiedVariantFilter(variant) { - //determine a variant is 'modified' (meaning it will show up as able to send for approval) if it's + //determine a variant is 'modified' (meaning it will show up as able to send for approval) // * it's editor is in a $dirty state // * it is in Draft state // * it is published with pending changes return (variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges"); } + function unmodifiedVariantFilter(variant) { + //determine a variant is 'unmodified' (meaning it will NOT show up as able to send for approval) + // * it's editor is in a $dirty state + // * it has been published + // * it is not created for that specific language + return (variant.state === "Published" && !variant.isDirty || variant.state === "NotCreated" && !variant.isDirty); + } + + //when this dialog is closed, reset all 'sendToPublish' flags + $scope.$on('$destroy', function () { + for (var i = 0; i < vm.variants.length; i++) { + vm.variants[i].sendToPublish = false; + } + }); + onInit(); } diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html index fae7ef7234..8908c88855 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html @@ -16,7 +16,7 @@ @@ -46,4 +46,20 @@
+
+
+

+
+ +
+
+
+ {{ variant.language.name }} + * +
+ +
+
+
+ From af7261c6f6ff501da0fe0a91d2387acd0d2fd029 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 13:10:12 +0200 Subject: [PATCH 03/10] hide the unmodified list if is empty --- .../src/views/content/overlays/sendtopublish.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html index 8908c88855..197c172c8d 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html @@ -46,7 +46,7 @@
-
+

From 5f0379093e2badd1f3642d0198ebc3da522bdb07 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 13:10:36 +0200 Subject: [PATCH 04/10] fine tune filters --- .../src/views/content/overlays/sendtopublish.controller.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js index e7c8988167..f9920ea2e5 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js @@ -50,7 +50,7 @@ // * it's editor is in a $dirty state // * it is in Draft state // * it is published with pending changes - return (variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges"); + return (variant.active || variant.isDirty || variant.state === "Draft" || variant.state === "PublishedPendingChanges"); } function unmodifiedVariantFilter(variant) { @@ -58,7 +58,7 @@ // * it's editor is in a $dirty state // * it has been published // * it is not created for that specific language - return (variant.state === "Published" && !variant.isDirty || variant.state === "NotCreated" && !variant.isDirty); + return (variant.state === "Published" && !variant.isDirty && !variant.active || variant.state === "NotCreated" && !variant.isDirty && !variant.active); } //when this dialog is closed, reset all 'sendToPublish' flags From 3706f08803752779fd7102b3c5979358a036fad7 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 13:11:03 +0200 Subject: [PATCH 05/10] disable submit button if nothing is selected --- .../views/content/overlays/sendtopublish.controller.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js index f9920ea2e5..6816e1430d 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js @@ -8,6 +8,7 @@ vm.modifiedVariantFilter = modifiedVariantFilter; vm.unmodifiedVariantFilter = unmodifiedVariantFilter; + vm.changeSelection = changeSelection; function onInit() { @@ -45,6 +46,13 @@ } + function changeSelection() { + var firstSelected = _.find(vm.variants, function (v) { + return v.sendToPublish; + }); + $scope.model.disableSubmitButton = !firstSelected; //disable submit button if there is none selected + } + function modifiedVariantFilter(variant) { //determine a variant is 'modified' (meaning it will show up as able to send for approval) // * it's editor is in a $dirty state From c1d1dad9997bef9ed70602dd2bb203a4378c57f6 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 15:19:31 +0200 Subject: [PATCH 06/10] add ellipsis functionality to button and button group --- .../components/buttons/umbbutton.directive.js | 43 +++++++++++++++++-- .../components/buttons/umb-button-group.less | 4 ++ .../components/buttons/umb-button-group.html | 4 +- .../views/components/buttons/umb-button.html | 9 ++-- 4 files changed, 50 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbutton.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbutton.directive.js index e26f622d2e..1d52c4e451 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbutton.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbutton.directive.js @@ -65,6 +65,8 @@ Use this directive to render an umbraco button. The directive can be used to gen @param {string=} icon Set a button icon. @param {string=} size Set a button icon ("xs", "m", "l", "xl"). @param {boolean=} disabled Set to true to disable the button. +@param {string=} addEllipsis Adds an ellipsis character (…) to the button label which means the button will open a dialog or prompt the user for more information. + **/ (function () { @@ -90,14 +92,15 @@ Use this directive to render an umbraco button. The directive can be used to gen icon: "@?", disabled: "li>a { + display: flex; +} + .umb-button-group { .umb-button__button { diff --git a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button-group.html b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button-group.html index d46c80ddc5..3810630fa9 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button-group.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button-group.html @@ -12,7 +12,8 @@ shortcut="{{defaultButton.hotKey}}" shortcut-when-hidden="{{defaultButton.hotKeyWhenHidden}}" size="{{size}}" - icon="{{icon}}"> + icon="{{icon}}" + add-ellipsis={{defaultButton.addEllipsis}}> @@ -23,6 +24,7 @@
  • {{subButton.labelKey}} + ...
  • diff --git a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button.html b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button.html index a214a5a58f..68d4adef5a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button.html @@ -10,24 +10,21 @@ - {{vm.label}} - {{vm.label}} + {{vm.buttonLabel}} From 7787dd86448060a125ea3bf391e72ed52e8f3ba9 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 15:23:04 +0200 Subject: [PATCH 07/10] set ellipsis when we create content buttons --- .../common/services/contenteditinghelper.service.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/services/contenteditinghelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/contenteditinghelper.service.js index 6e6b0f3c0f..decbd74150 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/contenteditinghelper.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/contenteditinghelper.service.js @@ -161,11 +161,12 @@ function contentEditingHelper(fileManager, $q, $location, $routeParams, notifica //publish action return { letter: ch, - labelKey: args.content.variants && args.content.variants.length > 1 ? "buttons_saveAndPublishMany" : "buttons_saveAndPublish", + labelKey: "buttons_saveAndPublish", handler: args.methods.saveAndPublish, hotKey: "ctrl+p", hotKeyWhenHidden: true, - alias: "saveAndPublish" + alias: "saveAndPublish", + addEllipsis: args.content.variants && args.content.variants.length > 1 ? "true" : "false" }; case "H": //send to publish @@ -175,7 +176,8 @@ function contentEditingHelper(fileManager, $q, $location, $routeParams, notifica handler: args.methods.sendToPublish, hotKey: "ctrl+p", hotKeyWhenHidden: true, - alias: "sendToPublish" + alias: "sendToPublish", + addEllipsis: args.content.variants && args.content.variants.length > 1 ? "true" : "false" }; case "A": //save @@ -185,7 +187,8 @@ function contentEditingHelper(fileManager, $q, $location, $routeParams, notifica handler: args.methods.save, hotKey: "ctrl+s", hotKeyWhenHidden: true, - alias: "save" + alias: "save", + addEllipsis: args.content.variants && args.content.variants.length > 1 ? "true" : "false" }; case "Z": //unpublish From 15a696b9f7c9863b931000665af42b687a0fbeca Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 15:23:26 +0200 Subject: [PATCH 08/10] remove unused language key --- src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml index e73eeea75d..6e9bc3a280 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml @@ -126,10 +126,8 @@ Edit relations Return to list Save - Save and close Publish - Publish… Save and schedule Send for approval Save list view From ce38ea76955c6586b7eff47fdf07a3c2b8d8ba13 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 15:23:40 +0200 Subject: [PATCH 09/10] clean up --- .../src/common/directives/components/content/edit.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js index 04215c256b..b7ddc28dca 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js @@ -439,7 +439,7 @@ return $q.when(err); }); }, - close: function (oldModel) { + close: function () { overlayService.close(); } }; From c36f9f9d311c1dd516dffaac87e62b8492f86d69 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 21 Sep 2018 15:25:36 +0200 Subject: [PATCH 10/10] use ellipsis in template, partial view and partial view macros editor --- .../src/views/partialviewmacros/edit.controller.js | 4 ++++ .../src/views/partialviewmacros/edit.html | 3 ++- .../src/views/partialviews/edit.controller.js | 4 ++++ src/Umbraco.Web.UI.Client/src/views/partialviews/edit.html | 3 ++- .../src/views/templates/edit.controller.js | 5 +++++ src/Umbraco.Web.UI.Client/src/views/templates/edit.html | 6 ++++-- 6 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.controller.js index 84b58cac94..afc00bb7e2 100644 --- a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.controller.js @@ -17,6 +17,7 @@ // insert buttons vm.page.insertDefaultButton = { labelKey: "general_insert", + addEllipsis: "true", handler: function() { vm.openInsertOverlay(); } @@ -24,18 +25,21 @@ vm.page.insertSubButtons = [ { labelKey: "template_insertPageField", + addEllipsis: "true", handler: function () { vm.openPageFieldOverlay(); } }, { labelKey: "template_insertMacro", + addEllipsis: "true", handler: function () { vm.openMacroOverlay() } }, { labelKey: "template_insertDictionaryItem", + addEllipsis: "true", handler: function () { vm.openDictionaryItemOverlay(); } diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.html b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.html index e28b76d785..ecdd68fee8 100644 --- a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.html +++ b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/edit.html @@ -39,7 +39,8 @@ size="xs" action="vm.openQueryBuilderOverlay()" icon="icon-wand" - label-key="template_queryBuilder"> + label-key="template_queryBuilder" + add-ellipsis="true">
    diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.controller.js index 64ca0331af..ff14ea0ebd 100644 --- a/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.controller.js @@ -17,6 +17,7 @@ // insert buttons vm.page.insertDefaultButton = { labelKey: "general_insert", + addEllipsis: "true", handler: function() { vm.openInsertOverlay(); } @@ -24,18 +25,21 @@ vm.page.insertSubButtons = [ { labelKey: "template_insertPageField", + addEllipsis: "true", handler: function () { vm.openPageFieldOverlay(); } }, { labelKey: "template_insertMacro", + addEllipsis: "true", handler: function () { vm.openMacroOverlay() } }, { labelKey: "template_insertDictionaryItem", + addEllipsis: "true", handler: function () { vm.openDictionaryItemOverlay(); } diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.html b/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.html index a222234e80..b17fc333d6 100644 --- a/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.html +++ b/src/Umbraco.Web.UI.Client/src/views/partialviews/edit.html @@ -40,7 +40,8 @@ size="xs" action="vm.openQueryBuilderOverlay()" icon="icon-wand" - label-key="template_queryBuilder"> + label-key="template_queryBuilder" + add-ellipsis="true">
    diff --git a/src/Umbraco.Web.UI.Client/src/views/templates/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/templates/edit.controller.js index 2d7df19424..e925f6e41e 100644 --- a/src/Umbraco.Web.UI.Client/src/views/templates/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/templates/edit.controller.js @@ -21,6 +21,7 @@ // insert buttons vm.page.insertDefaultButton = { labelKey: "general_insert", + addEllipsis: "true", handler: function() { vm.openInsertOverlay(); } @@ -28,24 +29,28 @@ vm.page.insertSubButtons = [ { labelKey: "template_insertPageField", + addEllipsis: "true", handler: function () { vm.openPageFieldOverlay(); } }, { labelKey: "template_insertPartialView", + addEllipsis: "true", handler: function () { vm.openPartialOverlay(); } }, { labelKey: "template_insertDictionaryItem", + addEllipsis: "true", handler: function () { vm.openDictionaryItemOverlay(); } }, { labelKey: "template_insertMacro", + addEllipsis: "true", handler: function () { vm.openMacroOverlay() } diff --git a/src/Umbraco.Web.UI.Client/src/views/templates/edit.html b/src/Umbraco.Web.UI.Client/src/views/templates/edit.html index 5576d2713f..9811fa3133 100644 --- a/src/Umbraco.Web.UI.Client/src/views/templates/edit.html +++ b/src/Umbraco.Web.UI.Client/src/views/templates/edit.html @@ -66,7 +66,8 @@ size="xs" action="vm.openQueryBuilderOverlay()" icon="icon-wand" - label-key="template_queryBuilder"> + label-key="template_queryBuilder" + add-ellipsis="true"> + label-key="template_insertSections" + add-ellipsis="true">