add client side logic for partial views folder creation

This commit is contained in:
Mads Rasmussen
2017-02-06 15:04:46 +01:00
committed by Emil Wangaa
parent cda47ed536
commit 00982d4278
2 changed files with 40 additions and 7 deletions

View File

@@ -1,14 +1,17 @@
(function () {
"use strict";
function PartialViewsCreateController($scope, codefileResource, $location, navigationService) {
function PartialViewsCreateController($scope, codefileResource, $location, navigationService, formHelper, localizationService) {
var vm = this;
var node = $scope.dialogOptions.currentNode;
var localizeCreateFolder = localizationService.localize("defaultdialog_createFolder");
vm.snippets = [];
vm.showSnippets = false;
vm.creatingFolder = false;
vm.createFolderError = "";
vm.folderName = "";
vm.createPartialView = createPartialView;
vm.showCreateFolder = showCreateFolder;
@@ -39,8 +42,38 @@
vm.creatingFolder = true;
}
function createFolder() {
function createFolder(form) {
if (formHelper.submitForm({scope: $scope, formCtrl: form, statusMessage: localizeCreateFolder})) {
codefileResource.createContainer("partialViews", node.id, vm.folderName).then(function(path) {
navigationService.hideMenu();
navigationService.syncTree({
tree: "partialViews",
path: path,
forceReload: true,
activate: true
});
formHelper.resetForm({
scope: $scope
});
var section = appState.getSectionState("currentSection");
}, function(err) {
vm.createFolderError = err;
//show any notifications
if (angular.isArray(err.data.notifications)) {
for (var i = 0; i < err.data.notifications.length; i++) {
notificationsService.showNotification(err.data.notifications[i]);
}
}
});
}
}
function showCreateFromSnippet() {

View File

@@ -47,12 +47,12 @@
<!-- Create folder -->
<div class="umb-pane" ng-if="vm.creatingFolder">
<form novalidate name="createFolderForm"
ng-submit="vm.createFolder()"
val-form-manager>
ng-submit="vm.createFolder(createFolderForm)"
val-form-manager>
<div ng-show="error">
<h5 class="text-error">{{error.errorMsg}}</h5>
<p class="text-error">{{error.data.message}}</p>
<div ng-show="vm.createFolderError">
<h5 class="text-error">{{vm.createFolderError.errorMsg}}</h5>
<p class="text-error">{{vm.createFolderError.data.message}}</p>
</div>
<umb-control-group label="Enter a folder name" hide-label="false">