28 lines
999 B
28 lines
999 B
(function ($, Drupal, once) { |
|
Drupal.behaviors.addRowVisibility = { |
|
attach: function (context, settings) { |
|
function toggleButton() { |
|
var sourceField = $('.source-field', context); |
|
var destinationField = $('.destination-field', context); |
|
|
|
// Ensure source and destination fields exist before checking values |
|
if (sourceField.length > 0 && destinationField.length > 0) { |
|
var sourceFilled = sourceField.find('option:selected').length > 0; |
|
var destinationFilled = destinationField.val().trim().length > 0; |
|
if (sourceFilled) { |
|
$('.form-submit[value="Add Row"]', context).show(); |
|
} else { |
|
$('.form-submit[value="Add Row"]', context).hide(); |
|
} |
|
} |
|
} |
|
|
|
once('toggleButton', '.source-field, .destination-field', context).forEach(function (element) { |
|
$(element).on('change keyup', toggleButton); |
|
}); |
|
|
|
toggleButton(); |
|
|
|
} |
|
}; |
|
})(jQuery, Drupal, once);
|
|
|