diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcontentgrid.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcontentgrid.directive.js index f226d924af..8d4d3c0392 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcontentgrid.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcontentgrid.directive.js @@ -111,7 +111,7 @@ Use this directive to generate a list of content items presented as a flexbox gr function link(scope, el, attr, ctrl) { scope.clickItem = function(item, $event, $index) { - if(scope.onClick) { + if(scope.allowClick !== false && scope.onClick) { scope.onClick(item, $event, $index); } }; @@ -133,6 +133,7 @@ Use this directive to generate a list of content items presented as a flexbox gr scope: { content: '=', contentProperties: "=", + allowClick: "", onClick: "=", onClickName: "=" }, diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbtable.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbtable.directive.js index c6f4c79ea2..b4263ed9fe 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbtable.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbtable.directive.js @@ -125,7 +125,7 @@ }; vm.selectItem = function (item, $index, $event) { - if (vm.onSelect) { + if (vm.allowSelect !== false && vm.onSelect) { vm.onSelect({ item: item, $index: $index, $event: $event }); $event.stopPropagation(); } @@ -169,6 +169,7 @@ bindings: { items: '<', itemProperties: '<', + allowSelect: '<', allowSelectAll: '<', onSelect: '&', onClick: '&', diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-content-grid.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-content-grid.less index c590421b97..a55a720878 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-content-grid.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-content-grid.less @@ -8,32 +8,33 @@ .umb-content-grid__item { background: @white; flex: 0 1 200px; - cursor: pointer; position: relative; user-select: none; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.16); border-radius: 3px; } -.umb-content-grid__item { - &.-selected, &:hover { - &::before { - content: ""; - position: absolute; - z-index: 2; - top: -2px; - left: -2px; - right: -2px; - bottom: -2px; - border: 2px solid @ui-selected-border; - border-radius: 5px; - box-shadow: 0 0 4px 0 darken(@ui-selected-border, 20), inset 0 0 2px 0 darken(@ui-selected-border, 20); - pointer-events: none; - transition: opacity 100ms; - } - } +.umb-content-grid__item.-clickable { + cursor: pointer; } +.umb-content-grid__item.-selected, +.umb-content-grid__item.-clickable:hover { + &::before { + content: ""; + position: absolute; + z-index: 2; + top: -2px; + left: -2px; + right: -2px; + bottom: -2px; + border: 2px solid @ui-selected-border; + border-radius: 5px; + box-shadow: 0 0 4px 0 darken(@ui-selected-border, 20), inset 0 0 2px 0 darken(@ui-selected-border, 20); + pointer-events: none; + transition: opacity 100ms; + } +} .umb-content-grid__item:hover { &::before { diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-content-grid.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-content-grid.html index 90f7b11335..3a07a233c7 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-content-grid.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-content-grid.html @@ -3,7 +3,7 @@