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