From 386e8e70a03f9995e4673868aec5b6471b5c44da Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 19 Oct 2015 09:18:16 +0200 Subject: [PATCH] media grid: set select and click callbacks instead of having logic in directive --- .../components/umbmediagrid.directive.js | 27 +++++++++++-------- .../src/views/components/umb-media-grid.html | 6 ++--- .../listview/layouts/grid/grid.html | 4 ++- .../grid/grid.listviewlayout.controller.js | 18 ++++++++++--- 4 files changed, 36 insertions(+), 19 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbmediagrid.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbmediagrid.directive.js index c02ed4d839..e2df254a48 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbmediagrid.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbmediagrid.directive.js @@ -143,19 +143,22 @@ } - scope.toggleSelectItem = function(item) { - item.selected = !item.selected; - }; - - scope.onDetailsOver = function(item, event) { - if(scope.detailsHover) { - scope.detailsHover(item, event, true); + scope.selectItem = function(item, $event) { + if(scope.onSelect) { + scope.onSelect(item); + $event.stopPropagation(); } }; - scope.onDetailsOut = function(item, event) { - if(scope.detailsHover) { - scope.detailsHover(item, event, false); + scope.clickItem = function(item) { + if(scope.onClick) { + scope.onClick(item); + } + }; + + scope.hoverItemDetails = function(item, $event, hover) { + if(scope.onDetailsHover) { + scope.onDetailsHover(item, $event, hover); } }; @@ -175,7 +178,9 @@ templateUrl: 'views/components/umb-media-grid.html', scope: { items: '=', - detailsHover: "=" + onDetailsHover: "=", + onSelect: '=', + onClick: '=' }, link: link }; diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html index b624d7d38d..7671178663 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-media-grid.html @@ -1,10 +1,10 @@
- +
- - + +
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts/grid/grid.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts/grid/grid.html index cef8b5ef63..00b399f5db 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts/grid/grid.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts/grid/grid.html @@ -24,7 +24,9 @@ + on-details-hover="vm.hoverMediaItemDetails" + on-select="vm.selectMediaItem" + on-click="vm.clickMediaItem">