From e439302b933d3262da62ead5e93c16432ad2cfe4 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 1 Feb 2017 13:54:16 +0100 Subject: [PATCH] add support for getScaffold for scripts, partialViews and partialViewMacros editor --- .../src/common/resources/codefile.resource.js | 68 +++++++++---------- .../partialviewmacros/edit.controller.js | 11 ++- .../src/views/partialviews/edit.controller.js | 12 +++- .../src/views/scripts/edit.controller.js | 2 +- 4 files changed, 56 insertions(+), 37 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/codefile.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/codefile.resource.js index e8657ecd73..7e98f17795 100644 --- a/src/Umbraco.Web.UI.Client/src/common/resources/codefile.resource.js +++ b/src/Umbraco.Web.UI.Client/src/common/resources/codefile.resource.js @@ -77,39 +77,6 @@ function codefileResource($q, $http, umbDataFormatter, umbRequestHelper) { "Failed to retrieve data for template with alias: " + alias); }, - - /** - * @ngdoc method - * @name umbraco.resources.codefileResource#getScaffold - * @methodOf umbraco.resources.codefileResource - * - * @description - * Returns a scaffold of an empty codefile item - * - * The scaffold is used to build editors for code file editors that has not yet been populated with data. - * - * ##usage - *
-         * codefileResource.getScaffold()
-         *    .then(function(template) {
-         *        alert('its here!');
-         *    });
-         * 
- * - * @returns {Promise} resourcePromise object containing the codefile scaffold. - * - */ - getScaffold: function (id) { - - return umbRequestHelper.resourcePromise( - $http.get( - umbRequestHelper.getApiUrl( - "templateApiBaseUrl", - "GetScaffold", - [{ id: id }])), - "Failed to retrieve data for empty template"); - }, - /** * @ngdoc method * @name umbraco.resources.codefileResource#deleteByPath @@ -188,7 +155,7 @@ function codefileResource($q, $http, umbDataFormatter, umbRequestHelper) { * * ##usage *
-         * codefileResource.getSnippets(fileType)
+         * codefileResource.getSnippets("partialViews")
          *    .then(function(snippets) {
          *        alert('its here!');
          *    });
@@ -205,6 +172,39 @@ function codefileResource($q, $http, umbDataFormatter, umbRequestHelper) {
                          "codeFileApiBaseUrl",
                          "GetSnippets?type=" + fileType )),
                 "Failed to get snippet for" + fileType);
+        },
+
+        /**
+         * @ngdoc method
+         * @name umbraco.resources.codefileResource#getScaffold
+         * @methodOf umbraco.resources.codefileResource
+         *
+         * @description
+         * Returns a scaffold of an empty codefile item.
+         * 
+         * The scaffold is used to build editors for code file editors that has not yet been populated with data.
+         * 
+         * ##usage
+         * 
+         * codefileResource.getScaffold("partialViews", "Breadcrumb")
+         *    .then(function(data) {
+         *        alert('its here!');
+         *    });
+         * 
+ * + * @param {string} File type: (scripts, partialViews, partialViewMacros). + * @param {string} Snippet name (Ex. Breadcrumb). + * @returns {Promise} resourcePromise object. + * + */ + + getScaffold: function (type, snippetName) { + return umbRequestHelper.resourcePromise( + $http.get( + umbRequestHelper.getApiUrl( + "codeFileApiBaseUrl", + "GetScaffold?type=" + type + "&snippetName=" + snippetName)), + "Failed to get scaffold for" + type); } }; 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 c402f42ee7..a02de75b75 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 @@ -227,10 +227,19 @@ function init() { //we need to load this somewhere, for now its here. assetsService.loadCss("lib/ace-razor-mode/theme/razor_chrome.css"); + if ($routeParams.create) { - codefileResource.getScaffold().then(function (partialViewMacro) { + + var snippet = "Empty"; + + if($routeParams.snippet) { + snippet = $routeParams.snippet; + } + + codefileResource.getScaffold("partialViewMacros", snippet).then(function (partialViewMacro) { ready(partialViewMacro); }); + } else { codefileResource.getByPath('partialViewMacros', $routeParams.id).then(function (partialViewMacro) { ready(partialViewMacro); 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 11dba8a63e..d578e0a8af 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 @@ -227,15 +227,25 @@ function init() { //we need to load this somewhere, for now its here. assetsService.loadCss("lib/ace-razor-mode/theme/razor_chrome.css"); + if ($routeParams.create) { - codefileResource.getScaffold().then(function (partialView) { + + var snippet = "Empty"; + + if($routeParams.snippet) { + snippet = $routeParams.snippet; + } + + codefileResource.getScaffold("partialViews", snippet).then(function (partialView) { ready(partialView); }); + } else { codefileResource.getByPath('partialViews', $routeParams.id).then(function (partialView) { ready(partialView); }); } + } function ready(partialView) { diff --git a/src/Umbraco.Web.UI.Client/src/views/scripts/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/scripts/edit.controller.js index cd10ae75d5..1470833aad 100644 --- a/src/Umbraco.Web.UI.Client/src/views/scripts/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/scripts/edit.controller.js @@ -79,7 +79,7 @@ assetsService.loadCss("lib/ace-razor-mode/theme/razor_chrome.css"); if ($routeParams.create) { - codefileResource.getScaffold().then(function (script) { + codefileResource.getScaffold("scripts").then(function(script) { ready(script); }); } else {