From afe871491edeab93fab64a35ebd65abba7c0e9a4 Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Mon, 16 Mar 2015 11:32:50 -0300 Subject: [PATCH] Display loading message when add/move blocks --- app/helpers/boxes_helper.rb | 5 ++--- public/javascripts/block-store.js | 13 +++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/helpers/boxes_helper.rb b/app/helpers/boxes_helper.rb index 8442ac3..7500a30 100644 --- a/app/helpers/boxes_helper.rb +++ b/app/helpers/boxes_helper.rb @@ -191,9 +191,8 @@ module BoxesHelper "before-block-#{block.id}" end if block.nil? or modifiable?(block) - draggable_id = "encodeURIComponent(jQuery(ui.draggable).attr('id'))" - draggable_type = "encodeURIComponent(jQuery(ui.draggable).attr('data-block-type'))" - content_tag('div', _('Drop Here'), :id => id, :class => 'block-target' ) + drop_receiving_element(id, :url => { :action => 'move_block', :target => id }, :accept => box.acceptable_blocks, :hoverclass => 'block-target-hover', :with => "'type='+"+draggable_type+"+'&id=' + "+draggable_id, :activeClass => 'block-target-active', :tolerance => 'pointer') + url = url_for(:action => 'move_block', :target => id) + content_tag('div', _('Drop Here'), :id => id, :class => 'block-target' ) + drop_receiving_element(id, :accept => box.acceptable_blocks, :hoverclass => 'block-target-hover', :activeClass => 'block-target-active', :tolerance => 'pointer', :onDrop => "function(ev, ui) { dropBlock('#{url}', '#{_('loading...')}', ev, ui);}") else "" end diff --git a/public/javascripts/block-store.js b/public/javascripts/block-store.js index 5f86825..8dcd0f6 100644 --- a/public/javascripts/block-store.js +++ b/public/javascripts/block-store.js @@ -48,3 +48,16 @@ function initBlockStore() { }); jQuery('#block-store #block-store-filter').keyup(filterBlocks); } + +function dropBlock(url, loadingMessage, ev, ui) { + var blockType = jQuery(ui.draggable).attr('data-block-type'); + var blockId = jQuery(ui.draggable).attr('id'); + open_loading(loadingMessage); + jQuery.ajax({ + data: 'type='+encodeURIComponent(blockType)+'&id=' + encodeURIComponent(blockId), + dataType: 'script', + type: 'post', + url: url, + complete: close_loading, + }) +} -- libgit2 0.21.2