From: Michael M Slusarz Date: Mon, 28 Sep 2009 19:23:14 +0000 (-0600) Subject: Bug #8606: Fix dragging over IFRAMEs X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=ea9c6b72366de9f0e562a8dcf297c665dad72deb;p=horde.git Bug #8606: Fix dragging over IFRAMEs --- diff --git a/imp/js/DimpBase.js b/imp/js/DimpBase.js index 5d7f078a5..9ece6ae1c 100644 --- a/imp/js/DimpBase.js +++ b/imp/js/DimpBase.js @@ -613,6 +613,12 @@ var DimpBase = { onSplitBarChange: function() { this._updatePrefs('dimp_splitbar', this.viewport.getPageSize()); }.bind(this), + onSplitBarEnd: function() { + $('msgBodyCover').hide(); + }, + onSplitBarStart: function() { + $('msgBodyCover').clonePosition('msgBody').show(); + }, onWait: function() { if ($('dimpmain_folder').visible()) { DimpCore.showNotifications([ { type: 'horde.warning', message: DIMP.text.listmsg_wait } ]); @@ -2644,11 +2650,15 @@ DimpBase._msgDragConfig = { } else { DimpBase.msgSelect(id, args); } + + $('msgBodyCover').clonePosition('msgBody').show(); }, onEnd: function(d, e) { if (d.selectIfNoDrag && !d.wasDragged) { DimpBase.msgSelect(d.element.id, { right: e.isRightClick() }); } + + $('msgBodyCover').hide(); } }; @@ -2657,6 +2667,9 @@ DimpBase._folderDragConfig = { offset: { x: 15, y: 0 }, scroll: 'normalfolders', threshold: 5, + onStart: function(d, e) { + $('msgBodyCover').clonePosition('msgBody').show(); + }, onDrag: function(d, e) { if (!d.wasDragged) { $('folderopts').hide(); @@ -2669,6 +2682,7 @@ DimpBase._folderDragConfig = { $('folderopts').show(); $('dropbase').hide(); } + $('msgBodyCover').hide(); } }; diff --git a/imp/js/ViewPort.js b/imp/js/ViewPort.js index 424f229c3..c48a94182 100644 --- a/imp/js/ViewPort.js +++ b/imp/js/ViewPort.js @@ -54,6 +54,8 @@ * onSelect * onSlide * onSplitBarChange + * onSplitBarEnd + * onSplitBarStart * onWait * * Outgoing AJAX request has the following params: @@ -916,6 +918,9 @@ var ViewPort = Class.create({ orig: this.page_size, pos: $(this.opts.content).positionedOffset()[1] }; + if (this.opts.onSplitBarStart) { + this.opts.onSplitBarStart(); + } }.bind(this), snap: function(x, y, elt) { var l = parseInt((y - this.sp.pos) / this.sp.lh); @@ -934,6 +939,9 @@ var ViewPort = Class.create({ this.sp.orig != this.sp.lines) { this.opts.onSplitBarChange(); } + if (this.opts.onSplitBarEnd) { + this.opts.onSplitBarEnd(); + } }.bind(this) }); this.split_bar.observe('dblclick', function() { diff --git a/imp/templates/index/index-dimp.inc b/imp/templates/index/index-dimp.inc index 0b4d2e072..1ecf01096 100644 --- a/imp/templates/index/index-dimp.inc +++ b/imp/templates/index/index-dimp.inc @@ -474,3 +474,5 @@ function _simpleButton($id, $text, $image, $imagedir = null) " /> + + diff --git a/imp/themes/screen-dimp.css b/imp/themes/screen-dimp.css index 2a47f984b..bee13a286 100644 --- a/imp/themes/screen-dimp.css +++ b/imp/themes/screen-dimp.css @@ -592,6 +592,11 @@ div.dimpActionsCompose, div.dimpActionsMsg { overflow: auto; } +#msgBodyCover { + position: absolute; + z-index: 1000; +} + /* Message Composition. */ .composeAddrbook { color: blue;