From 69132faffa0ffe5b489b89dd60e775d7157dbaf5 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Sat, 26 Feb 2022 02:48:02 +0100 Subject: [PATCH] Set current selected master template in tree (#12042) * Set current selected master template in tree * Adjust styling for tree icon * Code adjustment --- .../src/less/components/tree/umb-tree.less | 2 + .../src/views/templates/edit.controller.js | 40 +++++++++++-------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/less/components/tree/umb-tree.less b/src/Umbraco.Web.UI.Client/src/less/components/tree/umb-tree.less index a39a38fbde..1f61b7cfc2 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/tree/umb-tree.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/tree/umb-tree.less @@ -252,6 +252,7 @@ body.touch .umb-tree { // Tree item states // ------------------------- .not-published { + > .umb-tree-item__inner > .umb-icon, > .umb-tree-item__inner > i.icon, > .umb-tree-item__inner > a { opacity: 0.6; @@ -259,6 +260,7 @@ body.touch .umb-tree { } .not-allowed { + > .umb-tree-item__inner > .umb-icon, > .umb-tree-item__inner > i.icon, > .umb-tree-item__inner > a { cursor: not-allowed; 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 856886a870..99f11f9913 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 @@ -558,24 +558,32 @@ } } }); + + const editor = { + filterCssClass: 'not-allowed', + filter: item => !availableMasterTemplates.some(template => template.id == item.id), + submit: model => { + const template = model.selection[0]; + if (template && template.alias) { + vm.template.masterTemplateAlias = template.alias; + setLayout(template.alias + ".cshtml"); + } else { + vm.template.masterTemplateAlias = null; + setLayout(null); + } + editorService.close(); + }, + close: () => editorService.close() + } localizationService.localize("template_mastertemplate").then(title => { - const editor = { - title, - filterCssClass: 'not-allowed', - filter: item => !availableMasterTemplates.some(template => template.id == item.id), - submit: model => { - var template = model.selection[0]; - if (template && template.alias) { - vm.template.masterTemplateAlias = template.alias; - setLayout(template.alias + ".cshtml"); - } else { - vm.template.masterTemplateAlias = null; - setLayout(null); - } - editorService.close(); - }, - close: () => editorService.close() + editor.title = title; + + const currentTemplate = vm.templates.find(template => template.alias == vm.template.masterTemplateAlias); + if (currentTemplate) { + editor.currentNode = { + path: currentTemplate.path + }; } editorService.templatePicker(editor);