Sha256: 24405d3db2938d7818ad32456ad33f4a4deee7be01680773823b13a0cee1eccd
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
window.HomePage or= {}; window.HomePage.Shared or= {} window.HomePage.Shared.SortableList = class SortableList constructor: (selector) -> $(selector).multisortable start: (event, ui) => window.HomePage.Shared.SortableList.showSpinnerForSelectedItems(ui.item.data('sortable_selector')) update: (event, ui) => $(ui.item.data('sortable_selector')).sortable('disable') url = $(ui.item.data('sortable_selector')).data('url') setTimeout (-> window.HomePage.Shared.SortableList.putPositions ui.item.data('sortable_selector'), ui.item.data('id'), url return ), 1000 @showSpinnerForSelectedItems: (selector) -> $.each $("#{selector} li.selected"), (index, element) -> $(element).find('.sorting_spinner').show() @hideSpinnerForSelectedItems: (selector) -> $.each $("#{selector} li.selected"), (index, element) -> $(element).find('.sorting_spinner').hide() @putPositions: (selector, id, url) -> window.HomePage.Shared.SortableList.resetPositions(selector) positions = {} $.each $("#{selector} li.selected"), (index, element) -> positions[$(element).data('position')] = $(element).data('id') $.post(url, { _method: 'put', positions: positions }).always(=> $(selector).sortable('enable') window.HomePage.Shared.SortableList.hideSpinnerForSelectedItems() ) @resetPositions: (selector) -> current_position = 1 $.each $("#{selector} li"), (index, element) -> $(element).data('position', current_position) $(element).find('.item_position').html(current_position) current_position += 1
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
home_page-0.0.6 | app/assets/javascripts/home_page/shared/sortable_list.js.coffee |