From a97cb237f2eacfc090ce8b5414ff8fba8df08cec Mon Sep 17 00:00:00 2001 From: Paul van Tilburg Date: Fri, 10 Sep 2010 18:34:16 +0200 Subject: [PATCH] Raise Z-index on drag; moved draggable specific JS code to dragreg.js. --- plemp.rb | 9 +-------- public/dragreg.js | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/plemp.rb b/plemp.rb index a3a189c..3550600 100644 --- a/plemp.rb +++ b/plemp.rb @@ -115,15 +115,8 @@ module Plemp::Views else span.draggable(:id => id, :style => default_style) { em "#{id}: Unsupported file type!" } end - script :type => "text/javascript" do - <<-JS -new Draggable('#{id}', { scroll: window }); -Draggables.addObserver(new DragRegObserver($('#{id}'))); -$('#{id}').appear({duration: 2.0}); -JS - end + script(:type => "text/javascript") { "setup_draggable('#{id}')" } end end - span(:onClick => "alert(maxZIndex()); return false;" ) { "test" } end end diff --git a/public/dragreg.js b/public/dragreg.js index 999ec87..2e6f920 100644 --- a/public/dragreg.js +++ b/public/dragreg.js @@ -13,6 +13,18 @@ DragRegObserver.prototype = { } } -function maxZIndex() { - return $$('.draggable').map(function(d) { return d.getStyle("z-index") }).max(); +function new_ZIndex() { + cur_index = $$('.draggable').map(function(d) { return d.getStyle("z-index") }).max(); + return parseInt(cur_index) + 1 +} + +function setup_draggable(id) { + drag = new Draggable(id, { scroll: window }); + old_endeffect = drag.options.endeffect; + drag.options.endeffect = function(element) { + old_endeffect(element); + element.style.zIndex = new_ZIndex(); + } + Draggables.addObserver(new DragRegObserver($(id))); + $(id).appear({duration: 2.0}); }