Commit afe871491edeab93fab64a35ebd65abba7c0e9a4

Authored by Victor Costa
1 parent 4d7e2198

Display loading message when add/move blocks

app/helpers/boxes_helper.rb
... ... @@ -191,9 +191,8 @@ module BoxesHelper
191 191 "before-block-#{block.id}"
192 192 end
193 193 if block.nil? or modifiable?(block)
194   - draggable_id = "encodeURIComponent(jQuery(ui.draggable).attr('id'))"
195   - draggable_type = "encodeURIComponent(jQuery(ui.draggable).attr('data-block-type'))"
196   - 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')
  194 + url = url_for(:action => 'move_block', :target => id)
  195 + 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);}")
197 196 else
198 197 ""
199 198 end
... ...
public/javascripts/block-store.js
... ... @@ -48,3 +48,16 @@ function initBlockStore() {
48 48 });
49 49 jQuery('#block-store #block-store-filter').keyup(filterBlocks);
50 50 }
  51 +
  52 +function dropBlock(url, loadingMessage, ev, ui) {
  53 + var blockType = jQuery(ui.draggable).attr('data-block-type');
  54 + var blockId = jQuery(ui.draggable).attr('id');
  55 + open_loading(loadingMessage);
  56 + jQuery.ajax({
  57 + data: 'type='+encodeURIComponent(blockType)+'&id=' + encodeURIComponent(blockId),
  58 + dataType: 'script',
  59 + type: 'post',
  60 + url: url,
  61 + complete: close_loading,
  62 + })
  63 +}
... ...