mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
BUGFIX: Fix JS for PermissionCheckboxsetField in SecurityAdmin
This commit is contained in:
parent
ac1658b500
commit
e69e65c1e3
@ -60,15 +60,15 @@
|
|||||||
|
|
||||||
if(this.is(':checked')) {
|
if(this.is(':checked')) {
|
||||||
checkboxes.each(function() {
|
checkboxes.each(function() {
|
||||||
$(this).data('SecurityAdmin.oldChecked', $(this).attr('checked'));
|
$(this).data('SecurityAdmin.oldChecked', $(this).is(':checked'));
|
||||||
$(this).data('SecurityAdmin.oldDisabled', $(this).attr('disabled'));
|
$(this).data('SecurityAdmin.oldDisabled', $(this).is(':disabled'));
|
||||||
$(this).attr('disabled', 'disabled');
|
$(this).prop('disabled', true);
|
||||||
$(this).attr('checked', 'checked');
|
$(this).prop('checked', true);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
checkboxes.each(function() {
|
checkboxes.each(function() {
|
||||||
$(this).attr('checked', $(this).data('SecurityAdmin.oldChecked'));
|
$(this).prop('checked', $(this).data('SecurityAdmin.oldChecked'));
|
||||||
$(this).attr('disabled', $(this).data('SecurityAdmin.oldDisabled'));
|
$(this).prop('disabled', $(this).data('SecurityAdmin.oldDisabled'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,6 @@
|
|||||||
$('.permissioncheckboxset .valADMIN input').entwine({
|
$('.permissioncheckboxset .valADMIN input').entwine({
|
||||||
onmatch: function() {
|
onmatch: function() {
|
||||||
this._super();
|
this._super();
|
||||||
|
|
||||||
this.toggleCheckboxes();
|
|
||||||
},
|
},
|
||||||
onunmatch: function() {
|
onunmatch: function() {
|
||||||
this._super();
|
this._super();
|
||||||
@ -55,13 +53,7 @@
|
|||||||
}).find('.checkbox').not(this);
|
}).find('.checkbox').not(this);
|
||||||
},
|
},
|
||||||
onmatch: function() {
|
onmatch: function() {
|
||||||
var checkboxes = this.getCheckboxesExceptThisOne();
|
this.toggleCheckboxes();
|
||||||
if($(this).is(':checked')) {
|
|
||||||
checkboxes.each(function() {
|
|
||||||
$(this).attr('disabled', 'disabled');
|
|
||||||
$(this).attr('checked', 'checked');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
this._super();
|
this._super();
|
||||||
},
|
},
|
||||||
@ -69,16 +61,21 @@
|
|||||||
this._super();
|
this._super();
|
||||||
},
|
},
|
||||||
onclick: function(e) {
|
onclick: function(e) {
|
||||||
|
this.toggleCheckboxes();
|
||||||
|
},
|
||||||
|
toggleCheckboxes: function() {
|
||||||
var checkboxes = this.getCheckboxesExceptThisOne();
|
var checkboxes = this.getCheckboxesExceptThisOne();
|
||||||
if($(this).is(':checked')) {
|
if($(this).is(':checked')) {
|
||||||
checkboxes.each(function() {
|
checkboxes.each(function() {
|
||||||
$(this).attr('disabled', 'disabled');
|
$(this).data('PermissionCheckboxSetField.oldChecked', $(this).is(':checked'));
|
||||||
$(this).attr('checked', 'checked');
|
$(this).data('PermissionCheckboxSetField.oldDisabled', $(this).is(':disabled'));
|
||||||
|
$(this).prop('disabled', 'disabled');
|
||||||
|
$(this).prop('checked', 'checked');
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
checkboxes.each(function() {
|
checkboxes.each(function() {
|
||||||
$(this).prop('checked', false);
|
$(this).prop('checked', $(this).data('PermissionCheckboxSetField.oldChecked'));
|
||||||
$(this).prop('disabled', false);
|
$(this).prop('disabled', $(this).data('PermissionCheckboxSetField.oldDisabled'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user