From 5091f60bb2f3a2fba774c0e30d60eb5d623d5631 Mon Sep 17 00:00:00 2001 From: Per Ploug Date: Mon, 13 Jun 2016 19:02:28 +0200 Subject: [PATCH] create template tweaks --- .../src/views/templates/edit.controller.js | 49 ++++++++++++------- src/Umbraco.Web/Editors/TemplateController.cs | 12 ++++- .../umbraco/create/templateTasks.cs | 3 +- 3 files changed, 43 insertions(+), 21 deletions(-) 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 e27ba652ee..47d8177ca8 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 @@ -45,29 +45,42 @@ //we need to load this somewhere, for now its here. assetsService.loadCss("lib/ace-razor-mode/theme/razor_chrome.css"); - templateResource.getById($routeParams.id).then(function(template){ - - vm.page.loading = false; - vm.template = template; + if($routeParams.create){ - //sync state - editorState.set(vm.template); - navigationService.syncTree({ tree: "templates", path: vm.template.path, forceReload: true }).then(function (syncArgs) { - vm.page.menu.currentNode = syncArgs.node; - }); + templateResource.getScaffold().then(function(template){ + vm.ready(template); + }); - vm.aceOption = { - mode: "razor", - theme: "chrome", + }else{ - onLoad: function(_editor) { - vm.editor = _editor; - } - }; - }); + templateResource.getById($routeParams.id).then(function(template){ + vm.ready(template); + }); + + } }; + vm.ready = function(template){ + vm.page.loading = false; + vm.template = template; + + //sync state + editorState.set(vm.template); + navigationService.syncTree({ tree: "templates", path: vm.template.path, forceReload: true }).then(function (syncArgs) { + vm.page.menu.currentNode = syncArgs.node; + }); + + vm.aceOption = { + mode: "razor", + theme: "chrome", + + onLoad: function(_editor) { + vm.editor = _editor; + } + } + }; + vm.setLayout = function(path){ @@ -188,7 +201,7 @@ //crappy hack due to dictionary items not in umbracoNode table var code = "@Umbraco.GetDictionaryValue(\"" + node.name + "\")"; vm.insert(code); - + vm.dictionaryItemOverlay.show = false; vm.dictionaryItemOverlay = null; }, diff --git a/src/Umbraco.Web/Editors/TemplateController.cs b/src/Umbraco.Web/Editors/TemplateController.cs index 27b7c67e11..d45000155c 100644 --- a/src/Umbraco.Web/Editors/TemplateController.cs +++ b/src/Umbraco.Web/Editors/TemplateController.cs @@ -77,7 +77,17 @@ namespace Umbraco.Web.Editors public TemplateDisplay GetEmpty() { var dt = new Template("", ""); - return Mapper.Map((ITemplate)dt); + var scaffold = Mapper.Map((ITemplate)dt); + scaffold.Path = "-1"; + scaffold.Content = @"@inherits Umbraco.Web.Mvc.UmbracoTemplatePage +@{ + Layout = null; +} + +@* The fun starts here *@ + +"; + return scaffold; } /// diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/create/templateTasks.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/create/templateTasks.cs index bbddcd9de8..8c1cab8e78 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/create/templateTasks.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/create/templateTasks.cs @@ -13,8 +13,7 @@ using umbraco.cms.businesslogic.member; namespace umbraco { public class templateTasks : LegacyDialogTask - { - + { public override bool PerformSave() { var masterId = ParentID;