From e465a937c59e3dba09e732da74f76274f12172a1 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 Mar 2017 11:26:53 +0100 Subject: [PATCH] Implement mini list view for generic move overlay --- .../common/overlays/move/move.controller.js | 69 ++++++++----------- .../src/views/common/overlays/move/move.html | 64 +++++++++-------- 2 files changed, 67 insertions(+), 66 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.controller.js index a7a14354ed..78b7c7be34 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.controller.js @@ -1,7 +1,7 @@ (function() { "use strict"; - function MoveOverlay($scope, localizationService, eventsService) { + function MoveOverlay($scope, localizationService, eventsService, entityHelper) { var vm = this; @@ -32,54 +32,32 @@ selectedSearchResults: [] }; + // get entity type based on the section + $scope.entityType = entityHelper.getEntityTypeFromSection(dialogOptions.section); + function nodeSelectHandler(ev, args) { - args.event.preventDefault(); - args.event.stopPropagation(); - if (args.node.metaData.listViewNode) { - //check if list view 'search' node was selected - - vm.searchInfo.showSearch = true; - vm.searchInfo.searchFromId = args.node.metaData.listViewNode.id; - vm.searchInfo.searchFromName = args.node.metaData.listViewNode.name; + if(args && args.event) { + args.event.preventDefault(); + args.event.stopPropagation(); } - else { - //eventsService.emit("editors.content.copyController.select", args); - if ($scope.model.target) { - //un-select if there's a current one selected - $scope.model.target.selected = false; - } + //eventsService.emit("editors.content.copyController.select", args); - $scope.model.target = args.node; - $scope.model.target.selected = true; + if ($scope.model.target) { + //un-select if there's a current one selected + $scope.model.target.selected = false; } + $scope.model.target = args.node; + $scope.model.target.selected = true; + } function nodeExpandedHandler(ev, args) { - if (angular.isArray(args.children)) { - - //iterate children - _.each(args.children, function (child) { - //check if any of the items are list views, if so we need to add a custom - // child: A node to activate the search - if (child.metaData.isContainer) { - child.hasChildren = true; - child.children = [ - { - level: child.level + 1, - hasChildren: false, - name: searchText, - metaData: { - listViewNode: child, - }, - cssClass: "icon umb-tree-icon sprTree icon-search", - cssClasses: ["not-published"] - } - ]; - } - }); + // open mini list view for list views + if (args.node.metaData.isContainer) { + openMiniListView(args.node); } } @@ -110,6 +88,19 @@ $scope.dialogTreeEventHandler.unbind("treeNodeExpanded", nodeExpandedHandler); }); + // Mini list view + $scope.selectListViewNode = function (node) { + node.selected = node.selected === true ? false : true; + nodeSelectHandler({}, { node: node }); + }; + + $scope.closeMiniListView = function () { + $scope.miniListView = undefined; + }; + + function openMiniListView(node) { + $scope.miniListView = node; + } } diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.html index c30f911cd9..34130c31a8 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/move/move.html @@ -1,33 +1,43 @@
+
+
+ + +
-
- - +
+ + +
+ +
+ + +
-
- - -
- -
- - -
+ +