term_merge_deletion.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. Drupal.behaviors.term_merge_delete_deletion = {
  2. attach: function(context, settings) {
  3. (function ($) {
  4. function setFormState() {
  5. if (!$('#edit-replacement-term-replace').is(':checked')) {
  6. setElementEnabledState($('#edit-replacement-term'), false);
  7. setElementEnabledState($('#edit-replacement-term-new'), false);
  8. } else if ($('#edit-replacement-term').val() != '0') {
  9. setElementEnabledState($('#edit-replacement-term'), true);
  10. setElementEnabledState($('#edit-replacement-term-new'), false);
  11. } else {
  12. setElementEnabledState($('#edit-replacement-term'), true);
  13. setElementEnabledState($('#edit-replacement-term-new'), true);
  14. }
  15. }
  16. function setElementEnabledState($element, enabled) {
  17. if (enabled) {
  18. $element.removeAttr('disabled');
  19. $element.parents('div.form-item').removeClass('disabled');
  20. } else {
  21. $element.attr('disabled', true);
  22. $element.parents('div.form-item').addClass('disabled');
  23. }
  24. }
  25. setFormState();
  26. $('#edit-replacement-term-replace').bind('click.replacement-term-replace', setFormState);
  27. $('#edit-replacement-term').bind('change.replacement-term', setFormState);
  28. var $createOption = $('#edit-replacement-term option:last');
  29. $createOption.addClass('new-term');
  30. })(jQuery);
  31. }
  32. };