PageSourceSearch

https://www.mbzirc.com/core/misc/form.js?v=9.5.11

js mbzirc.com collected 2026-09-25 19:54:23 UTC 4,962 bytes, 132 lines download raw bytes

1/**
2* DO NOT EDIT THIS FILE.
3* See the following change record for more information,
4* https://www.drupal.org/node/2815083
5* @preserve
6**/
7(function ($, Drupal, debounce) {
8  $.fn.drupalGetSummary = function () {
9    var callback = this.data('summaryCallback');
10    return this[0] && callback ? callback(this[0]).trim() : '';
11  };
12  $.fn.drupalSetSummary = function (callback) {
13    var self = this;
14    if (typeof callback !== 'function') {
15      var val = callback;
16      callback = function callback() {
17        return val;
18      };
19    }
20    return this.data('summaryCallback', callback).off('formUpdated.summary').on('formUpdated.summary', function () {
21      self.trigger('summaryUpdated');
22    }).trigger('summaryUpdated');
23  };
24  Drupal.behaviors.formSingleSubmit = {
25    attach: function attach() {
26      function onFormSubmit(e) {
27        var $form = $(e.currentTarget);
28        var formValues = $form.serialize();
29        var previousValues = $form.attr('data-drupal-form-submit-last');
30        if (previousValues === formValues) {
31          e.preventDefault();
32        } else {
33          $form.attr('data-drupal-form-submit-last', formValues);
34        }
35      }
36      $(once('form-single-submit', 'body')).on('submit.singleSubmit', 'form:not([method~="GET"])', onFormSubmit);
37    }
38  };
39  function triggerFormUpdated(element) {
40    $(element).trigger('formUpdated');
41  }
42  function fieldsList(form) {
43    return [].map.call(form.querySelectorAll('[name][id]'), function (el) {
44      return el.id;
45    });
46  }
47  Drupal.behaviors.formUpdated = {
48    attach: function attach(context) {
49      var $context = $(context);
50      var contextIsForm = $context.is('form');
51      var $forms = $(once('form-updated', contextIsForm ? $context : $context.find('form')));
52      var formFields;
53      if ($forms.length) {
54        $.makeArray($forms).forEach(function (form) {
55          var events = 'change.formUpdated input.formUpdated ';
56          var eventHandler = debounce(function (event) {
57            triggerFormUpdated(event.target);
58          }, 300);
59          formFields = fieldsList(form).join(',');
60          form.setAttribute('data-drupal-form-fields', formFields);
61          $(form).on(events, eventHandler);
62        });
63      }
64      if (contextIsForm) {
65        formFields = fieldsList(context).join(',');
66        var currentFields = $(context).attr('data-drupal-form-fields');
67        if (formFields !== currentFields) {
68          triggerFormUpdated(context);
69        }
70      }
71    },
72    detach: function detach(context, settings, trigger) {
73      var $context = $(context);
74      var contextIsForm = $context.is('form');
75      if (trigger === 'unload') {
76        once.remove('form-updated', contextIsForm ? $context : $context.find('form')).forEac
76h(function (form) {
77          form.removeAttribute('data-drupal-form-fields');
78          $(form).off('.formUpdated');
79        });
80      }
81    }
82  };
83  Drupal.behaviors.fillUserInfoFromBrowser = {
84    attach: function attach(context, settings) {
85      var userInfo = ['name', 'mail', 'homepage'];
86      var $forms = $(once('user-info-from-browser', '[data-user-info-from-browser]'));
87      if ($forms.length) {
88        userInfo.forEach(function (info) {
89          var $element = $forms.find("[name=".concat(info, "]"));
90          var browserData = localStorage.getItem("Drupal.visitor.".concat(info));
91          if (!$element.length) {
92            return;
93          }
94          var emptyValue = $element[0].value === '';
95          var defaultValue = $element.attr('data-drupal-default-value') === $element[0].value;
96          if (browserData && (emptyValue || defaultValue)) {
97            $element.each(function (index, item) {
98              item.value = browserData;
99            });
100          }
101        });
102      }
103      $forms.on('submit', function () {
104        userInfo.forEach(function (info) {
105          var $element = $forms.find("[name=".concat(info, "]"));
106          if ($element.length) {
107            localStorage.setItem("Drupal.visitor.".concat(info), $element[0].value);
108          }
109        });
110      });
111    }
112  };
113  var handleFragmentLinkClickOrHashChange = function handleFragmentLinkClickOrHashChange(e) {
114    var url;
115    if (e.type === 'click') {
116      url = e.currentTarget.location ? e.currentTarget.location : e.currentTarget;
117    } else {
118      url = window.location;
119    }
120    var hash = url.hash.substr(1);
121    if (hash) {
122      var $target = $("#".concat(hash));
123      $('body').trigger('formFragmentLinkClickOrHashChange', [$target]);
124      setTimeout(function () {
125        return $target.trigger('focus');
126      }, 300);
127    }
128  };
129  var debouncedHandleFragmentLinkClickOrHashChange = debounce(handleFragmentLinkClickOrHashChange, 300, true);
130  $(window).on('hashchange.form-fragment', debouncedHandleFragmentLinkClickOrHashChange);
131  $(document).on('click.form-fragment', 'a[href*="#"]', debouncedHandleFragmentLinkClickOrHashChange);
132})(jQuery, Drupal, Drupal.debounce);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.