sortablegridfield/javascript/GridFieldSortableRows.js
UndefinedOffset 20dfa3c9ea Coding convention updates
Moved text labels into translations

Added class documentation to the GridFieldSortableRows class
2012-05-15 11:04:40 -03:00

59 lines
1.8 KiB
JavaScript

(function($) {
$('.ss-gridfield .gridfield-sortablerows input').entwine({
onmatch: function() {
var refCheckbox=$(this);
var gridField=$(this).getGridField();
if($(this).is(':checked')) {
gridField.find('table').addClass('dragSorting');
}else {
gridField.find('table').removeClass('dragSorting');
}
gridField.find('tbody').sortable({
disabled: ($(this).is(':checked')==false),
helper: function(e, ui) {
//Maintains width of the columns
ui.children().each(function() {
$(this).width($(this).width());
});
return ui;
},
update: function(event, ui) {
var dataRows=[];
var gridItems=gridField.getItems();
var button=refCheckbox.parent().find('.sortablerows-toggle');
for(var i=0;i<gridItems.length;i++) {
dataRows[i]=$(gridItems[i]).data('id');
}
gridField.reload({data: [
{
name: button.attr('name'),
value: button.val()},
{
name: 'Items',
value: dataRows
}
]
});
}
}).disableSelection();
},
onchange: function(e) {
var gridField=$(this).getGridField();
gridField.find('tbody').sortable('option', 'disabled', ($(this).is(':checked')==false));
gridField.setState('GridFieldSortableRows', {sortableToggle: $(this).is(':checked')});
var button=$(this).parent().find('.sortablerows-disablepagenator');
gridField.reload({data: [{name: button.attr('name'), value: button.val()}]});
}
});
})(jQuery);