Sha256: 7192bf99c9cc2df64f40214c1f89773ba8d786ab245291e3dc960f1c2b5d7f8d

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

#= require jquery
#= require jquery-ui
#= require jquery_ujs

(($) ->
  location = document.location.href.split('/admin')[0]

  $ ->
    $('.formol_categories').sortable({
      axis: 'y',
      stop: (event, ui) ->
        nodes = $.map $('> li', $(this)), (li) ->
          $(li).attr('id').match(/formol_category_(\d+)/)[1]
      
        $.ajax {
          url:  location + '/admin/categories/sort',
          type: 'POST',
          data: {
            _method:    'put',
            categories: nodes
          }
        }
    }).disableSelection()
    
    $('.formol_category_forums').sortable({
      connectWith: '.formol_category_forums'
      items: '> li:not(.empty)',
      axis: 'y',
      receive: (event, ui) -> 
        self = $(this)
        
        if (empty = $('li.empty', self)).length == 1
          empty.remove()
        
        if $('li', ui.sender).length == 0
          $('<li></li>').addClass('empty').html('no forums').appendTo(ui.sender)
      stop: (event, ui) ->
        parent    = $(ui.item).parent()
        parentId  = parent.attr('id').match(/formol_category_(\d+)_forums/)[1]
        
        #collect li ids
        nodes = $.map $('> li', parent), (li) ->
          $(li).attr('id').match(/formol_forum_(\d+)/)[1]

        #TODO: use url helpers with rails-routes.js
        $.ajax({
          url:  location + '/admin/categories/' + parentId + '/forums/reorganize',
          type: 'post',
          data: {
            _method:  'put',
            forums:   nodes
          }
        })
    }).disableSelection()
)(jQuery)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
formol-0.0.5 app/assets/javascripts/formol/admin/categories.js.coffee
formol-0.0.4 app/assets/javascripts/formol/admin/categories.js.coffee