| | |
| | | |
| | | /** |
| | | * Roundcube splitter GUI class |
| | | * |
| | | * @licstart The following is the entire license notice for the |
| | | * JavaScript code in this file. |
| | | * |
| | | * Copyright (c) 2006-2014, The Roundcube Dev Team |
| | | * |
| | | * The JavaScript code in this page is free software: you can redistribute it |
| | | * and/or modify it under the terms of the GNU General Public License |
| | | * as published by the Free Software Foundation, either version 3 of |
| | | * the License, or (at your option) any later version. |
| | | * |
| | | * @licend The above is the entire license notice |
| | | * for the JavaScript code in this file. |
| | | * |
| | | * @constructor |
| | | */ |
| | |
| | | this.id = attrib.id ? attrib.id : this.p1id + '_' + this.p2id + '_splitter'; |
| | | this.orientation = attrib.orientation; |
| | | this.horizontal = (this.orientation == 'horizontal' || this.orientation == 'h'); |
| | | this.offset = bw.ie6 ? 2 : 0; |
| | | this.pos = attrib.start ? attrib.start * 1 : 0; |
| | | this.relative = attrib.relative ? true : false; |
| | | this.drag_active = false; |
| | |
| | | this.resize = function() |
| | | { |
| | | if (this.horizontal) { |
| | | var lh = this.layer.height - this.offset * 2; |
| | | var lh = this.layer.height; |
| | | this.p1.style.height = Math.floor(this.pos - this.p1pos.top - lh / 2) + 'px'; |
| | | this.p2.style.top = Math.ceil(this.pos + lh / 2) + 'px'; |
| | | this.layer.move(this.layer.x, Math.round(this.pos - lh / 2 + 1)); |
| | |
| | | me.p2pos = me.relative ? $(me.p2).position() : $(me.p2).offset(); |
| | | |
| | | // start listening to mousemove events |
| | | $(document).bind('mousemove.'+me.id, onDrag).bind('mouseup.'+me.id, onDragStop); |
| | | $(document).on('mousemove.' + me.id, onDrag).on('mouseup.' + me.id, onDragStop); |
| | | |
| | | // enable dragging above iframes |
| | | $('iframe').each(function() { |
| | |
| | | document.body.style.webkitUserSelect = 'auto'; |
| | | |
| | | // cancel the listening for drag events |
| | | $(document).unbind('.' + me.id); |
| | | $(document).off('.' + me.id); |
| | | |
| | | // remove temp divs |
| | | $('div.iframe-splitter-fix').remove(); |