diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.controller.js index 1deb010073..77be5b741a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.controller.js @@ -44,9 +44,9 @@ angular.module("umbraco") vm.model = $scope.model; - vm.selectItem = function(item) { + vm.selectItem = function(item, $event) { vm.model.selectedItem = item; - vm.model.submit($scope.model); + vm.model.submit($scope.model, $event); } vm.close = function() { diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.html b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.html index 5206c7e66d..196eec4cdb 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockpicker/blockpicker.html @@ -33,7 +33,7 @@ ng-repeat="block in vm.model.availableItems | filter:searchTerm" block-config-model="block.blockConfigModel" element-type-model="block.elementTypeModel" - ng-click="vm.selectItem(block)"> + ng-click="vm.selectItem(block, $event)"> @@ -55,7 +55,7 @@ block-config-model="block.blockConfigModel" element-type-model="block.elementTypeModel" ng-repeat="block in vm.model.clipboardItems" - ng-click="vm.model.clickPasteItem(block)"> + ng-click="vm.model.clickPasteItem(block, $event)"> diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklist.component.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklist.component.js index 185b22d764..efc0e49d21 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklist.component.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklist.component.js @@ -239,7 +239,7 @@ view: "views/common/infiniteeditors/blockpicker/blockpicker.html", size: (amountOfAvailableTypes > 8 ? "medium" : "small"), filter: (amountOfAvailableTypes > 8), - clickPasteItem: function(item) { + clickPasteItem: function(item, mouseEvent) { if (item.type === "elementTypeArray") { var indexIncrementor = 0; item.pasteData.forEach(function (entry) { @@ -250,16 +250,21 @@ } else { requestPasteFromClipboard(createIndex, item.pasteData); } - blockPickerModel.close(); + if(!(mouseEvent.ctrlKey || mouseEvent.metaKey)) { + blockPickerModel.close(); + } }, - submit: function(blockPickerModel) { + submit: function(blockPickerModel, mouseEvent) { var added = false; if (blockPickerModel && blockPickerModel.selectedItem) { added = addNewBlock(createIndex, blockPickerModel.selectedItem.blockConfigModel.contentTypeAlias); } - blockPickerModel.close(); - if (added && vm.model.config.useInlineEditingAsDefault !== true && vm.blocks.length > createIndex) { - editBlock(vm.blocks[createIndex]); + + if(!(mouseEvent.ctrlKey || mouseEvent.metaKey)) { + blockPickerModel.close(); + if (added && vm.model.config.useInlineEditingAsDefault !== true && vm.blocks.length > createIndex) { + editBlock(vm.blocks[createIndex]); + } } }, close: function() {