From bbf6700e1a5874a7befbaba436bc132997485610 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sat, 4 Jul 2015 11:45:43 +0200 Subject: [PATCH] #5099: Improved image element dialog by hiding Save/Cancel buttons. --- .../Modules/Orchard.Layouts/Orchard.Layouts.csproj | 3 ++- .../Modules/Orchard.Layouts/Scripts/Elements/Image.js | 11 +++++++++++ .../Modules/Orchard.Layouts/Scripts/dialog.js | 9 ++++++++- .../Views/EditorTemplates/Elements.Image.cshtml | 4 ++++ .../Scripts/media-library-picker.js | 7 ++++++- 5 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 src/Orchard.Web/Modules/Orchard.Layouts/Scripts/Elements/Image.js diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj b/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj index f15dae464..fd6f6136f 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj @@ -90,6 +90,7 @@ + @@ -322,7 +323,7 @@ - + diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/Elements/Image.js b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/Elements/Image.js new file mode 100644 index 000000000..aded1a841 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/Elements/Image.js @@ -0,0 +1,11 @@ +(function ($) { + $(function() { + $(".media-library-picker-field").on("opened", function(e) { + window.parent.currentDialog.toggleCommands(false); + }); + + $(".media-library-picker-field").on("closed", function(e) { + window.parent.currentDialog.toggleCommands(true); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/dialog.js b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/dialog.js index ce0a90cd1..44a4012a4 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/dialog.js +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/dialog.js @@ -124,6 +124,13 @@ this.element.trigger(event, args); }; + this.toggleCommands = function (show) { + var scope = this.element; + var buttons = scope.find(".buttons"); + + buttons.toggle(show); + }; + var resizeIFrame = function () { if (self.frame == null) return; @@ -202,7 +209,7 @@ var button = $(this); var command = button.data("command"); - if (!command || command.length == 0) + if (!command || command.length === 0) return; self.trigger("command", { diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Views/EditorTemplates/Elements.Image.cshtml b/src/Orchard.Web/Modules/Orchard.Layouts/Views/EditorTemplates/Elements.Image.cshtml index 137179d37..4c208ead0 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Views/EditorTemplates/Elements.Image.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Views/EditorTemplates/Elements.Image.cshtml @@ -1,5 +1,9 @@ @using Orchard.ContentManagement @model Orchard.Layouts.ViewModels.ImageEditorViewModel +@{ + Script.Require("jQuery"); + Script.Include("Elements/Image.js"); +} @{ var contentItems = new List(); diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js index 62f0c94fa..210afd206 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js @@ -78,12 +78,15 @@ onLoad: function() { // hide the scrollbars from the main window $('html, body').css('overflow', 'hidden'); $('#cboxClose').remove(); + element.trigger("opened"); }, onClosed: function() { $('html, body').css('overflow', ''); var selectedData = $.colorbox.selectedData; - if (selectedData == null) // Dialog cancelled, do nothing + if (selectedData == null) { // Dialog cancelled, do nothing + element.trigger("closed"); return; + } var selectionLength = multiple ? selectedData.length : Math.min(selectedData.length, 1); @@ -102,6 +105,8 @@ if (selectedData.length) { showSaveMsg(); } + + element.trigger("closed"); } });