Initial commit
This commit is contained in:
79
js/frontend.js
Normal file
79
js/frontend.js
Normal file
@@ -0,0 +1,79 @@
|
||||
(function (GravityFlowFrontEnd, $) {
|
||||
|
||||
$(document).ready(function () {
|
||||
var checks, first, last, checked, sliced, mobileEvent, transitionTimeout, focusedRowActions, $firstHeading,
|
||||
lastClicked = false;
|
||||
|
||||
// check all checkboxes
|
||||
$('tbody').children().children('.check-column').find(':checkbox').click(function (e) {
|
||||
if ('undefined' == e.shiftKey) {
|
||||
return true;
|
||||
}
|
||||
if (e.shiftKey) {
|
||||
if (!lastClicked) {
|
||||
return true;
|
||||
}
|
||||
checks = $(lastClicked).closest('form').find(':checkbox');
|
||||
first = checks.index(lastClicked);
|
||||
last = checks.index(this);
|
||||
checked = $(this).prop('checked');
|
||||
if (0 < first && 0 < last && first != last) {
|
||||
sliced = ( last > first ) ? checks.slice(first, last) : checks.slice(last, first);
|
||||
sliced.prop('checked', function () {
|
||||
if ($(this).closest('tr').is(':visible'))
|
||||
return checked;
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
lastClicked = this;
|
||||
|
||||
// toggle "check all" checkboxes
|
||||
var unchecked = $(this).closest('tbody').find(':checkbox').filter(':visible').not(':checked');
|
||||
$(this).closest('table').children('thead, tfoot').find(':checkbox').prop('checked', function () {
|
||||
return ( 0 === unchecked.length );
|
||||
});
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$('thead, tfoot').find('.check-column :checkbox').on('click.wp-toggle-checkboxes', function (event) {
|
||||
var $this = $(this),
|
||||
$table = $this.closest('table'),
|
||||
controlChecked = $this.prop('checked'),
|
||||
toggle = event.shiftKey || $this.data('wp-toggle');
|
||||
|
||||
$table.children('tbody').filter(':visible')
|
||||
.children().children('.check-column').find(':checkbox')
|
||||
.prop('checked', function () {
|
||||
if ($(this).is(':hidden')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (toggle) {
|
||||
return !$(this).prop('checked');
|
||||
} else if (controlChecked) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$table.children('thead, tfoot').filter(':visible')
|
||||
.children().children('.check-column').find(':checkbox')
|
||||
.prop('checked', function () {
|
||||
if (toggle) {
|
||||
return false;
|
||||
} else if (controlChecked) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
}(window.GravityFlowFrontEnd = window.GravityFlowFrontEnd || {}, jQuery));
|
||||
Reference in New Issue
Block a user