From 6967ed1846cd291a3bc41075dea3cfe782dd817c Mon Sep 17 00:00:00 2001 From: Warren Date: Thu, 2 Aug 2018 13:52:13 +0100 Subject: [PATCH] Adds in Sort Angular dialog from Mads & removes some of the old sort dialog parts --- .../views/content/content.sort.controller.js | 78 +++++++++++++++++++ .../src/views/content/sort.html | 54 +++++++++++++ .../Trees/ContentTreeController.cs | 4 +- .../Trees/LegacyTreeDataConverter.cs | 6 -- src/Umbraco.Web/Trees/MediaTreeController.cs | 4 +- src/Umbraco.Web/_Legacy/Actions/ActionSort.cs | 2 +- 6 files changed, 137 insertions(+), 11 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/views/content/content.sort.controller.js create mode 100644 src/Umbraco.Web.UI.Client/src/views/content/sort.html diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.sort.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.sort.controller.js new file mode 100644 index 0000000000..7f980cae1a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/content/content.sort.controller.js @@ -0,0 +1,78 @@ +(function () { + "use strict"; + + function ContentSortController($scope, $timeout) { + + var vm = this; + + vm.loading = false; + vm.nodes = []; + vm.saveButtonState = "init"; + vm.sortableOptions = { + distance: 10, + tolerance: "pointer", + opacity: 0.7, + scroll: true, + cursor: "move", + helper: fixSortableHelper + }; + + vm.save = save; + + + function activate() { + + vm.loading = true; + + // fake loading + $timeout(function () { + + vm.loading = false; + + vm.nodes = [ + { + "name": "Node 1", + "creationDate": "date", + "sortOrder": 0 + }, + { + "name": "Node 2", + "creationDate": "date", + "sortOrder": 1 + }, + { + "name": "Node 3", + "creationDate": "date", + "sortOrder": 2 + } + ]; + + }, 1000); + } + + function save() { + + console.log(vm.nodes); + vm.saveButtonState = "busy"; + + // fake loading + $timeout(function () { + vm.saveButtonState = "success"; + }, 1000); + + } + + function fixSortableHelper(e, ui) { + // keep the correct width of each table cell when sorting + ui.children().each(function () { + $(this).width($(this).width()); + }); + return ui; + } + + activate(); + + } + + angular.module("umbraco").controller("Umbraco.Editors.Content.SortController", ContentSortController); +})(); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/content/sort.html b/src/Umbraco.Web.UI.Client/src/views/content/sort.html new file mode 100644 index 0000000000..f680d64560 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/content/sort.html @@ -0,0 +1,54 @@ +
+ + + + + +
+ \ No newline at end of file diff --git a/src/Umbraco.Web/Trees/ContentTreeController.cs b/src/Umbraco.Web/Trees/ContentTreeController.cs index d416a2ee0f..e80867aadf 100644 --- a/src/Umbraco.Web/Trees/ContentTreeController.cs +++ b/src/Umbraco.Web/Trees/ContentTreeController.cs @@ -117,7 +117,7 @@ namespace Umbraco.Web.Trees //these two are the standard items menu.Items.Add(Services.TextService.Localize("actions", ActionNew.Instance.Alias)); - menu.Items.Add(Services.TextService.Localize("actions", ActionSort.Instance.Alias), true).ConvertLegacyMenuItem(null, "content", "content"); + menu.Items.Add(Services.TextService.Localize("actions", ActionSort.Instance.Alias), true); //filter the standard items FilterUserAllowedMenuItems(menu, nodeActions); @@ -228,7 +228,7 @@ namespace Umbraco.Web.Trees AddActionNode(item, menu); AddActionNode(item, menu, convert: true); - AddActionNode(item, menu, true, true); + AddActionNode(item, menu, true); AddActionNode(item, menu, convert: true); AddActionNode(item, menu, convert: true); diff --git a/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs b/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs index 410c74c0dc..9aec48825d 100644 --- a/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs +++ b/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs @@ -216,12 +216,6 @@ namespace Umbraco.Web.Trees new LegacyUrlAction( "createFolder.aspx?nodeId=" + nodeId + "&nodeType=" + nodeType + "&nodeName=" + nodeName + "&rnd=" + DateTime.UtcNow.Ticks, Current.Services.TextService.Localize("actions/create"))); - case "UmbClientMgr.appActions().actionSort()": - return Attempt.Succeed( - new LegacyUrlAction( - "dialogs/sort.aspx?id=" + nodeId + "&nodeType=" + nodeType + "&app=" + currentSection + "&rnd=" + DateTime.UtcNow.Ticks, - Current.Services.TextService.Localize("actions/sort"))); - case "UmbClientMgr.appActions().actionProtect()": return Attempt.Succeed( new LegacyUrlAction( diff --git a/src/Umbraco.Web/Trees/MediaTreeController.cs b/src/Umbraco.Web/Trees/MediaTreeController.cs index 4c3453e5de..53f1b0a97e 100644 --- a/src/Umbraco.Web/Trees/MediaTreeController.cs +++ b/src/Umbraco.Web/Trees/MediaTreeController.cs @@ -96,7 +96,7 @@ namespace Umbraco.Web.Trees // root actions menu.Items.Add(Services.TextService.Localize("actions", ActionNew.Instance.Alias)); - menu.Items.Add(Services.TextService.Localize("actions", ActionSort.Instance.Alias), true).ConvertLegacyMenuItem(null, "media", "media"); + menu.Items.Add(Services.TextService.Localize("actions", ActionSort.Instance.Alias), true); menu.Items.Add(Services.TextService.Localize("actions", ActionRefresh.Instance.Alias), true); return menu; } @@ -125,7 +125,7 @@ namespace Umbraco.Web.Trees menu.Items.Add(Services.TextService.Localize("actions", ActionNew.Instance.Alias)); menu.Items.Add(Services.TextService.Localize("actions", ActionMove.Instance.Alias)); menu.Items.Add(Services.TextService.Localize("actions", ActionDelete.Instance.Alias)); - menu.Items.Add(Services.TextService.Localize("actions", ActionSort.Instance.Alias)).ConvertLegacyMenuItem(item, "media", "media"); + menu.Items.Add(Services.TextService.Localize("actions", ActionSort.Instance.Alias)); menu.Items.Add(Services.TextService.Localize("actions", ActionRefresh.Instance.Alias), true); //if the media item is in the recycle bin, don't have a default menu, just show the regular menu diff --git a/src/Umbraco.Web/_Legacy/Actions/ActionSort.cs b/src/Umbraco.Web/_Legacy/Actions/ActionSort.cs index cd118a523c..b813dcbc8c 100644 --- a/src/Umbraco.Web/_Legacy/Actions/ActionSort.cs +++ b/src/Umbraco.Web/_Legacy/Actions/ActionSort.cs @@ -36,7 +36,7 @@ namespace Umbraco.Web._Legacy.Actions { get { - return string.Format("{0}.actionSort()", ClientTools.Scripts.GetAppActions); + return null; } }