X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e6ff1800f3b0c262d1a4d55001c376a1d9e9241a..59131c2e9a3e322c745fe05af3ba3cf2b2801622:/project/static/js/jquery.hpanel.js diff --git a/project/static/js/jquery.hpanel.js b/project/static/js/jquery.hpanel.js index 0877400c..1ad0d17f 100644 --- a/project/static/js/jquery.hpanel.js +++ b/project/static/js/jquery.hpanel.js @@ -5,14 +5,13 @@ settings: {}, current_data: {}, resize_start: function(event, mydata) { - console.log('Overlay: ' + mydata.overlay); $(document).bind('mousemove', mydata, $.hpanel.resize_changed). bind('mouseup', mydata, $.hpanel.resize_stop); $('.panel-overlay', mydata.root).css('display', 'block'); return false; }, - resize_changed: function(event) { + resize_changed: function(event) { var old_width = parseInt(event.data.overlay.css('width')); var delta = event.pageX + event.data.hotspot_x - old_width; event.data.overlay.css({'width': old_width + delta}); @@ -29,22 +28,21 @@ // $('.panel-content', event.data.root).css('display', 'block'); var overlays = $('.panel-content-overlay', event.data.root); $('.panel-content-overlay', event.data.root).each(function(i) { - $(this).data('panel').css({ - 'left': $(this).css('left'), - 'width': $(this).css('width') - }); + if( $(this).data('panel').hasClass('last-panel') ) + $(this).data('panel').css({ + 'left': $(this).css('left'), 'right': $(this).css('right')}); + else + $(this).data('panel').css({ + 'left': $(this).css('left'), 'width': $(this).css('width')}); }); - $('.panel-overlay', event.data.root).css('display', 'none'); + $(event.data.root).trigger('stopResize'); } }; $.fn.makeHorizPanel = function(options) { - console.log('Making an hpanel out of "#' + $(this).attr('id') + '"'); var root = $(this) - var all_panels = $('.panel-wrap', root) - console.log('Panels: ' + all_panels); /* create an overlay */ var overlay_root = $("
"); @@ -52,23 +50,24 @@ var prev = null; - all_panels.each(function(i) { - var panel = $(all_panels[i]); + $('*.panel-wrap', root).each( function() + { + var panel = $(this); var handle = $('.panel-slider', panel); - - var overlay = $("

Panel #"+i+"

"); + var overlay = $("
 
"); overlay_root.append(overlay); overlay.data('panel', panel); overlay.data('next', null); - if( panel.hasClass('last-panel') ) - overlay.css({'left': panel.css('left'), 'right': panel.css('right')}); - else - overlay.css({'left': panel.css('left'), 'width': panel.css('width')}); - if (prev) prev.next = overlay; - if(handle) { + if( panel.hasClass('last-panel') ) + { + overlay.css({'left': panel.css('left'), 'right': panel.css('right')}); + } + else { + overlay.css({'left': panel.css('left'), 'width': panel.css('width')}); + $.log('Has handle: ' + panel.attr('id')); overlay.append(handle.clone()); /* attach the trigger */ handle.mousedown(function(event) { @@ -80,14 +79,16 @@ $(this).trigger('hpanel:panel-resize-start', touch_data); return false; }); - $('.panel-content', panel).css('right',handle.outerWidth() + 'px'); - $('.panel-content-overlay', panel).css('right',handle.outerWidth() + 'px'); - } - + $('.panel-content', panel).css('right', + (handle.outerWidth() || 10) + 'px'); + $('.panel-content-overlay', panel).css('right', + (handle.outerWidth() || 10) + 'px'); + }; + prev = overlay; }); - root.bind('hpanel:panel-resize-start', $.hpanel.resize_start); + root.bind('hpanel:panel-resize-start', $.hpanel.resize_start); }; })(jQuery);