drupal/core/modules/system/js/system.js

40 lines
1.3 KiB
JavaScript

/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(function ($, Drupal, drupalSettings) {
var ids = [];
Drupal.behaviors.copyFieldValue = {
attach: function attach(context) {
Object.keys(drupalSettings.copyFieldValue || {}).forEach(function (element) {
ids.push(element);
});
if (ids.length) {
$('body').once('copy-field-values').on('value:copy', this.valueTargetCopyHandler);
$("#".concat(ids.join(', #'))).once('copy-field-values').on('blur', this.valueSourceBlurHandler);
}
},
detach: function detach(context, settings, trigger) {
if (trigger === 'unload' && ids.length) {
$('body').removeOnce('copy-field-values').off('value:copy');
$("#".concat(ids.join(', #'))).removeOnce('copy-field-values').off('blur');
}
},
valueTargetCopyHandler: function valueTargetCopyHandler(e, value) {
var $target = $(e.target);
if ($target.val() === '') {
$target.val(value);
}
},
valueSourceBlurHandler: function valueSourceBlurHandler(e) {
var value = $(e.target).val();
var targetIds = drupalSettings.copyFieldValue[e.target.id];
$("#".concat(targetIds.join(', #'))).trigger('value:copy', value);
}
};
})(jQuery, Drupal, drupalSettings);