added term_merge module

This commit is contained in:
Bachir Soussi Chiadmi
2015-11-24 10:56:30 +01:00
parent 7298235d4f
commit d7e7410950
9 changed files with 3709 additions and 0 deletions

View File

@@ -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);