diff --git a/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.controller.js b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.controller.js index 6505d72..c38a190 100644 --- a/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.controller.js +++ b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.controller.js @@ -1,12 +1,13 @@ (function () { 'use strict'; - function controller(domainResource, notificationsService, overlayService, localizationService, eventsService) { + function controller(domainResource, editorService, notificationsService, overlayService, localizationService, eventsService) { var vm = this; vm.page = {}; vm.domains = []; + vm.addDomain = addDomain; vm.deleteDomain = deleteDomain; vm.navigate = navigate; @@ -19,6 +20,21 @@ loadDomains(); } + function addDomain() { + var dialog = { + view: "/App_Plugins/domains/backoffice/domains/overlays/create.html", + size: "small", + submit: function (model) { + editorService.close(); + }, + close: function () { + editorService.close(); + } + }; + + editorService.open(dialog); + } + function deleteDomain(domain, event) { console.log(domain); diff --git a/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.html b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.html index 0d2cc89..4db7d6c 100644 --- a/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.html +++ b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/dashboard.html @@ -13,6 +13,17 @@ + + + + + + + + diff --git a/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/overlays/create.controller.js b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/overlays/create.controller.js new file mode 100644 index 0000000..2f4f45b --- /dev/null +++ b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/overlays/create.controller.js @@ -0,0 +1,76 @@ +(function () { + 'use strict'; + + function CreateDomainController($scope, languageResource, contentResource) { + + var vm = this; + + vm.languages = []; + + vm.hostname = null; + vm.node = null; + vm.language = null; + + vm.save = save; + vm.close = close; + + vm.dialogTreeApi = {}; + + vm.onTreeInit = function () { + vm.dialogTreeApi.callbacks.treeNodeSelect(nodeSelectHandler); + }; + + function nodeSelectHandler(args) { + if (args && args.event) { + args.event.preventDefault(); + args.event.stopPropagation(); + } + + if (vm.node) { + //un-select if there's a current one selected + vm.node.selected = false; + } + + vm.node = args.node; + vm.node.selected = true; + }; + + function save() { + var data = { + nodeId: vm.node.id, + domains: [ + { + name: vm.hostname, + lang: vm.language.id + } + ] + }; + + contentResource.saveLanguageAndDomains(data) + .then(function (response) { + if (!response.valid) { + alert('Oops!'); + } else { + $scope.model.submit(); + } + }); + }; + + function close() { + $scope.model.close(); + }; + + function init() { + languageResource.getAll() + .then(function (languages) { + vm.languages = languages; + }); + }; + + init(); + + } + + angular.module('umbraco') + .controller('Domains.Overlays.CreateController', CreateDomainController); +})(); \ No newline at end of file diff --git a/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/overlays/create.html b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/overlays/create.html new file mode 100644 index 0000000..fafdf47 --- /dev/null +++ b/Our.Umbraco.Domains/App_Plugins/domains/backoffice/domains/overlays/create.html @@ -0,0 +1,65 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/Our.Umbraco.Domains/App_Plugins/domains/package.manifest b/Our.Umbraco.Domains/App_Plugins/domains/package.manifest index d03681e..4d13e18 100644 --- a/Our.Umbraco.Domains/App_Plugins/domains/package.manifest +++ b/Our.Umbraco.Domains/App_Plugins/domains/package.manifest @@ -3,8 +3,9 @@ "javascript": [ - //Controllers + //Controllers "~/App_Plugins/domains/backoffice/domains/dashboard.controller.js", + "~/App_Plugins/domains/backoffice/domains/overlays/create.controller.js", //Resources "~/App_Plugins/domains/resources/domain.resource.js"