added term_merge module
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* @file
|
||||
* JavaScript enhancements for "Merge Duplicate Terms" form.
|
||||
*/
|
||||
(function ($) {
|
||||
|
||||
/**
|
||||
* Behavior that elaborates Tableselect of duplicate terms.
|
||||
*/
|
||||
Drupal.behaviors.termMergeDuplicateTableselect = {
|
||||
attach: function(context) {
|
||||
// We want to disable checkbox of a duplicate term if it is currently
|
||||
// selected as a trunk term in that group of duplicate terms, i.e. you
|
||||
// cannot (and should not) merge a term into itself.
|
||||
$('.term-merge-duplicate-trunk', context).closest(':has(.form-checkbox)').once('term-merge-duplicate-trunk', function() {
|
||||
var container = $(this);
|
||||
container.find('.term-merge-duplicate-trunk').change(function() {
|
||||
// Removing disabled from all disabled checkboxes.
|
||||
container.parents('table').find('.form-checkbox:disabled').removeAttr('disabled');
|
||||
if ($(this).is(':checked')) {
|
||||
container.find('.form-checkbox').attr('disabled', true);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Behavior that kicks off general switch button on Duplicate terms form.
|
||||
*/
|
||||
Drupal.behaviors.termMergeDuplicateGeneralSwitch = {
|
||||
attach: function (context) {
|
||||
$('.term-merge-duplicate-general-switch', context).once('term-merge-duplicate-general-switch', function() {
|
||||
var container = $(this).parents('form');
|
||||
$(this).change(function() {
|
||||
var term_branches = container.find('table:not(.sticky-header) .select-all .form-checkbox');
|
||||
if ($(this).is(':checked')) {
|
||||
term_branches.attr('checked', true).trigger({
|
||||
type: 'click',
|
||||
target: this
|
||||
});
|
||||
// For some reason the checkboxes get unchecked, we check them back.
|
||||
term_branches.attr('checked', true);
|
||||
|
||||
// We also want to trigger "change" on those radio buttons, see
|
||||
// Drupal.behaviors.termMergeDuplicateTableselect for more info.
|
||||
container.find('table').find('.term-merge-duplicate-trunk:first').attr('checked', true).trigger('change');
|
||||
}
|
||||
else {
|
||||
term_branches.removeAttr('checked').trigger({
|
||||
type: 'click',
|
||||
target: this
|
||||
});
|
||||
// For some reason the checkboxes get checked, we uncheck them back.
|
||||
term_branches.removeAttr('checked');
|
||||
|
||||
// We also want to trigger "change" on those radio buttons, see
|
||||
// Drupal.behaviors.termMergeDuplicateTableselect for more info.
|
||||
container.find('table').find('.term-merge-duplicate-trunk').removeAttr('checked').trigger('change');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery);
|
Reference in New Issue
Block a user