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 4655b6fa3b..e8657ecd73 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 @@ -176,7 +176,37 @@ function codefileResource($q, $http, umbDataFormatter, umbRequestHelper) { "PostSave"), codeFile), "Failed to save data for code file " + codeFile.virtualPath); + }, + + /** + * @ngdoc method + * @name umbraco.resources.codefileResource#getSnippets + * @methodOf umbraco.resources.codefileResource + * + * @description + * Gets code snippets for a given file type + * + * ##usage + *
+ * codefileResource.getSnippets(fileType)
+ * .then(function(snippets) {
+ * alert('its here!');
+ * });
+ *
+ *
+ * @param {string} file type: (partialViews, partialViewMacros)
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ getSnippets: function (fileType) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "codeFileApiBaseUrl",
+ "GetSnippets?type=" + fileType )),
+ "Failed to get snippet for" + fileType);
}
+
};
}
diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.controller.js b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.controller.js
index a350a626f4..e822c19d09 100644
--- a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.controller.js
@@ -1,7 +1,56 @@
(function () {
"use strict";
- function PartialViewMacrosCreateController() {
+ function PartialViewMacrosCreateController($scope, codefileResource, $location, navigationService) {
+
+ var vm = this;
+ var node = $scope.dialogOptions.currentNode;
+
+ vm.snippets = [];
+ vm.showSnippets = false;
+ vm.creatingFolder = false;
+
+ vm.createPartialViewMacro = createPartialViewMacro;
+ vm.showCreateFolder = showCreateFolder;
+ vm.createFolder = createFolder;
+ vm.showCreateFromSnippet = showCreateFromSnippet;
+
+ function onInit() {
+ codefileResource.getSnippets('partialViewMacros')
+ .then(function(snippets) {
+ vm.snippets = snippets;
+ });
+ }
+
+ function createPartialViewMacro(selectedSnippet) {
+
+ var snippet = null;
+
+ if(selectedSnippet && selectedSnippet.fileName) {
+ snippet = selectedSnippet.fileName;
+ }
+
+ $location.search('create', null);
+ $location.search('snippet', null);
+ $location.path("/developer/partialviewmacros/edit/" + node.id).search("create", "true").search("snippet", snippet);
+ navigationService.hideMenu();
+
+ }
+
+ function showCreateFolder() {
+ vm.creatingFolder = true;
+ }
+
+ function createFolder() {
+ alert("create folder");
+ }
+
+ function showCreateFromSnippet() {
+ vm.showSnippets = true;
+ }
+
+ onInit();
+
}
angular.module("umbraco").controller("Umbraco.Editors.PartialViewMacros.CreateController", PartialViewMacrosCreateController);
diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.html b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.html
index 9e5504aa0c..0c3c0fc385 100644
--- a/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.html
+++ b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.html
@@ -1,5 +1,75 @@
-