// This code was generated by a tool.
-// Runtime Version:4.0.30319.0
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/src/Umbraco.Tests/packages.config b/src/Umbraco.Tests/packages.config
index 09765d376b..383854f5fd 100644
--- a/src/Umbraco.Tests/packages.config
+++ b/src/Umbraco.Tests/packages.config
@@ -3,7 +3,7 @@
-
+
@@ -17,11 +17,11 @@
-
+
-
+
\ No newline at end of file
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 b6e35d9d7b..e83bb4f14e 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
@@ -176,7 +143,70 @@ 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("partialViews")
+ * .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);
+ },
+
+ /**
+ * @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, id, snippetName) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "codeFileApiBaseUrl",
+ "GetScaffold?type=" + type + "&id=" + id + "&snippetName=" + snippetName)),
+ "Failed to get scaffold for" + type);
}
+
};
}
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
new file mode 100644
index 0000000000..3b3fb0f9f5
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.controller.js
@@ -0,0 +1,55 @@
+(function () {
+ "use strict";
+
+ 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.path("/developer/partialviewmacros/edit/" + node.id).search("create", "true").search("snippet", snippet);
+ navigationService.hideMenu();
+
+ }
+
+ function showCreateFolder() {
+ vm.creatingFolder = true;
+ }
+
+ function createFolder() {
+
+ }
+
+ 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
new file mode 100644
index 0000000000..aa8796ae7a
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/views/partialviewmacros/create.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
Create an item under {{currentNode.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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..4860773b02 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", $routeParams.id, 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/create.controller.js b/src/Umbraco.Web.UI.Client/src/views/partialviews/create.controller.js
new file mode 100644
index 0000000000..5aeaa28935
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/views/partialviews/create.controller.js
@@ -0,0 +1,55 @@
+(function () {
+ "use strict";
+
+ function PartialViewsCreateController($scope, codefileResource, $location, navigationService) {
+
+ var vm = this;
+ var node = $scope.dialogOptions.currentNode;
+
+ vm.snippets = [];
+ vm.showSnippets = false;
+ vm.creatingFolder = false;
+
+ vm.createPartialView = createPartialView;
+ vm.showCreateFolder = showCreateFolder;
+ vm.createFolder = createFolder;
+ vm.showCreateFromSnippet = showCreateFromSnippet;
+
+ function onInit() {
+ codefileResource.getSnippets('partialViews')
+ .then(function(snippets) {
+ vm.snippets = snippets;
+ });
+ }
+
+ function createPartialView(selectedSnippet) {
+
+ var snippet = null;
+
+ if(selectedSnippet && selectedSnippet.fileName) {
+ snippet = selectedSnippet.fileName;
+ }
+
+ $location.path("/settings/partialviews/edit/" + node.id).search("create", "true").search("snippet", snippet);
+ navigationService.hideMenu();
+
+ }
+
+ function showCreateFolder() {
+ vm.creatingFolder = true;
+ }
+
+ function createFolder() {
+
+ }
+
+ function showCreateFromSnippet() {
+ vm.showSnippets = true;
+ }
+
+ onInit();
+
+ }
+
+ angular.module("umbraco").controller("Umbraco.Editors.PartialViews.CreateController", PartialViewsCreateController);
+})();
diff --git a/src/Umbraco.Web.UI.Client/src/views/partialviews/create.html b/src/Umbraco.Web.UI.Client/src/views/partialviews/create.html
new file mode 100644
index 0000000000..fc9bf98c4f
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/views/partialviews/create.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
Create an item under {{currentNode.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 dc388a906b..a493ed30c1 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", $routeParams.id, 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/create.controller.js b/src/Umbraco.Web.UI.Client/src/views/scripts/create.controller.js
new file mode 100644
index 0000000000..1729693d83
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/views/scripts/create.controller.js
@@ -0,0 +1,33 @@
+(function () {
+ "use strict";
+
+ function ScriptsCreateController($scope, $location, navigationService) {
+
+ var vm = this;
+ var node = $scope.dialogOptions.currentNode;
+
+ vm.creatingFolder = false;
+ vm.folderName = "";
+ vm.fileExtension = "";
+
+ vm.createFile = createFile;
+ vm.showCreateFolder = showCreateFolder;
+ vm.createFolder = createFolder;
+
+ function createFile() {
+ $location.path("/settings/scripts/edit/" + node.id).search("create", "true");
+ navigationService.hideMenu();
+ }
+
+ function showCreateFolder() {
+ vm.creatingFolder = true;
+ }
+
+ function createFolder() {
+
+ }
+
+ }
+
+ angular.module("umbraco").controller("Umbraco.Editors.Scripts.CreateController", ScriptsCreateController);
+})();
diff --git a/src/Umbraco.Web.UI.Client/src/views/scripts/create.html b/src/Umbraco.Web.UI.Client/src/views/scripts/create.html
new file mode 100644
index 0000000000..d57ead3b15
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/views/scripts/create.html
@@ -0,0 +1,47 @@
+
+
+
+
Create an item under {{currentNode.name}}
+
+
+
+
+
+
+
+
+
+
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..d2a5fcbc0e 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", $routeParams.id).then(function (script) {
ready(script);
});
} else {
diff --git a/src/Umbraco.Web.UI/Properties/Settings.Designer.cs b/src/Umbraco.Web.UI/Properties/Settings.Designer.cs
index 962354c575..27ed7eb256 100644
--- a/src/Umbraco.Web.UI/Properties/Settings.Designer.cs
+++ b/src/Umbraco.Web.UI/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18408
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@ namespace Umbraco.Web.UI.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
index 55c8d8aed2..f580b3c5df 100644
--- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
+++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
@@ -1,5 +1,5 @@
-
+
9.0.30729
@@ -37,7 +37,7 @@
4.0
- v4.5
+ v4.6.2
true
44319
@@ -142,9 +142,8 @@
..\packages\ImageProcessor.Web.4.8.2\lib\net45\ImageProcessor.Web.dll
True