engine/app/assets/javascripts/locomotive/views/pages/list_view.js.coffee

41 lines
932 B
CoffeeScript
Raw Normal View History

Locomotive.Views.Pages ||= {}
class Locomotive.Views.Pages.ListView extends Backbone.View
el: '#pages-list'
render: ->
2011-11-14 09:13:58 +00:00
@make_foldable()
@make_sortable()
return @
2011-11-14 09:13:58 +00:00
make_foldable: ->
@$('ul.folder img.toggler').toggleMe()
make_sortable: ->
self = @
@$('ul.folder').sortable
handle: 'em'
axis: 'y'
update: (event, ui) -> self.call_sort $(@)
call_sort: (folder) ->
$.rails.ajax
url: folder.attr('data-url')
type: 'post'
dataType: 'json'
data:
children: (_.map folder.sortable('toArray'), (el) -> el.replace('item-', ''))
_method: 'put'
success: @.on_successful_sort
error: @.on_failed_sort
on_successful_sort: (data, status, xhr) ->
$.growl('success', xhr.getResponseHeader('X-Message'))
on_failed_sort: (data, status, xhr) ->
$.growl('error', xhr.getResponseHeader('X-Message'))