Compare commits
8 Commits
0499e7ecaa
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| 21cd43c4cb | |||
| 49e8206aff | |||
| 680fab2835 | |||
| fc455ae0bb | |||
| ccda58557a | |||
| 411a8e95ad | |||
| e11e4f872d | |||
| ac593ec377 |
@@ -19,6 +19,12 @@
|
|||||||
*/
|
*/
|
||||||
var sf = {
|
var sf = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Library version
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
version: '0.1.0',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialises the library
|
* Initialises the library
|
||||||
*
|
*
|
||||||
@@ -170,6 +176,7 @@ var sf = {
|
|||||||
*/
|
*/
|
||||||
init: function() {
|
init: function() {
|
||||||
sf.ui.dialog.init();
|
sf.ui.dialog.init();
|
||||||
|
sf.ui.selectall.init();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -335,6 +342,38 @@ var sf = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Submodule for handling select-all checkbox groups
|
||||||
|
*/
|
||||||
|
selectall: {
|
||||||
|
init: function() {
|
||||||
|
// Enable select all/none for checkboxes
|
||||||
|
$('input[type=checkbox].select-all').click(sf.ui.selectall.updateChildren);
|
||||||
|
|
||||||
|
// Enable update of the select-all checkbox as the children are manually changed
|
||||||
|
$('input[type=checkbox].select-all').each(function() {
|
||||||
|
$('input[type=checkbox][data-select-all="' + $(this).attr('id') + '"]').click(sf.ui.selectall.updateParent);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
updateChildren: function(parent_id, children) {
|
||||||
|
$('input[type=checkbox][data-select-all="'+$(this).attr('id')+'"]')
|
||||||
|
.attr('checked', $(this).attr('checked') == 'checked')
|
||||||
|
.trigger('change');
|
||||||
|
},
|
||||||
|
|
||||||
|
updateParent: function() {
|
||||||
|
var parent = $('#' + $(this).attr('data-select-all'));
|
||||||
|
var children = $('input[type=checkbox][data-select-all="' + parent.attr('id') + '"]');
|
||||||
|
|
||||||
|
if (children.filter(':checked').length != children.length) {
|
||||||
|
parent.attr('checked', false);
|
||||||
|
} else if (children.not(':checked').length == 0) {
|
||||||
|
parent.attr('checked', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user