Skip to content

Instantly share code, notes, and snippets.

@jaemo
Created July 24, 2015 19:36
Show Gist options
  • Save jaemo/64f0e726b4ea94b8fb79 to your computer and use it in GitHub Desktop.
Save jaemo/64f0e726b4ea94b8fb79 to your computer and use it in GitHub Desktop.
class @TreeBase
max_levels = 3
rebuild_url = '/admin/pages/rebuild'
init: ->
$('#pages_tree').nestedSortable
disableNesting: 'no-nest'
forcePlaceholderSize: true
handle: 'div.page.sortable span.dragtab'
helper: 'clone'
items: 'li'
maxLevels: @max_levels
opacity: .6
placeholder: 'placeholder'
revert: 250
tabSize: 25
tolerance: 'pointer'
toleranceElement: '> div'
listType: 'ul'
protectRoot: true
update: (event, ui) =>
parent_id = ui.item.parent().parent().attr('id')
item_id = ui.item.attr('id')
prev_id = ui.item.prev().attr('id')
next_id = ui.item.next().attr('id')
@rebuild item_id, parent_id, prev_id, next_id
rebuild: (item_id, parent_id, prev_id, next_id) =>
$.ajax
type: 'POST'
dataType: 'script'
url: @rebuild_url
data:
id: item_id
parent_id: parent_id
prev_id: prev_id
next_id: next_id
beforeSend: (xhr) ->
$('.nested_set i.handle').hide()
success: (data, status, xhr) ->
$('.nested_set i.handle').show()
error: (xhr, status, error) ->
alert error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment