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 8(function ($, once) { 9 var deprecatedMessageSuffix = "is deprecated in Drupal 9.3.0 and will be removed in Drupal 10.0.0. Use the core/once library instead. See https://www.drupal.org/node/3158256"; 10 var originalJQOnce = $.fn.once; 11 var originalJQRemoveOnce = $.fn.removeOnce; 12 13 $.fn.once = function jQueryOnce(id) { 14 Drupal.deprecationError({ 15 message: "jQuery.once() ".concat(deprecatedMessageSuffix) 16 }); 17 return originalJQOnce.apply(this, [id]); 18 }; 19 20 $.fn.removeOnce = function jQueryRemoveOnce(id) { 21 Drupal.deprecationError({ 22 message: "jQuery.removeOnce() ".concat(deprecatedMessageSuffix) 23 }); 24 return originalJQRemoveOnce.apply(this, [id]); 25 }; 26 27 var drupalOnce = once; 28 29 function augmentedOnce(id, selector, context) { 30 originalJQOnce.apply($(selector, context), [id]); 31 return drupalOnce(id, selector, context); 32 } 33 34 function remove(id, selector, context) { 35 originalJQRemoveOnce.apply($(selector, context), [id]); 36 return drupalOnce.remove(id, selector, context); 37 } 38 39 window.once = Object.assign(augmentedOnce, drupalOnce, { 40 remove: remove 41 }); 42})(jQuery, once);;
vendor: 17,050 bytes, lines 43-64
43/*! 44 * jQuery Form Plugin 45 * version: 4.3.0 46 * Requires jQuery v1.7.2 or later 47 * Project repository: https://github.com/jquery-form/form 48 49 * Copyright 2017 Kevin Morris 50 * Copyright 2006 M. Alsup 51 52 * Dual licensed under the LGPL-2.1+ or MIT licenses 53 * https://github.com/jquery-form/form#license 54 55 * This library is free software; you can redistribute it and/or 56 * modify it under the terms of the GNU Lesser General Public 57 * License as published by the Free Software Foundation; either 58 * version 2.1 of the License, or (at your option) any later version. 59 * This library is distributed in the hope that it will be useful, 60 * but WITHOUT ANY WARRANTY; without even the implied warranty of 61 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 62 * Lesser General Public License for more details. 63 */ 64!function(r){"function"==typeof define&&define.amd?define(["jquery"],r):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),r(t),t}:r(jQuery)}(function(q){"use strict";var m=/\r?\n/g,S={};S.fileapi=void 0!==q('<input type="file">').get(0).files,S.formdata=void 0!==window.FormData;var _=!!q.fn.prop;function o(e){var t=e.data;e.isDefaultPrevented()||(e.preventDefault(),q(e.target).closest("form").ajaxSubmit(t))}function i(e){var t=e.target,r=q(t);if(!r.is("[type=submit],[type=image]")){var a=r.closest("[type=submit]");if(0===a.length)return;t=a[0]}var n,o=t.form;"image"===(o.clk=t).type&&(void 0!==e.offsetX?(o.clk_x=e.offsetX,o.clk_y=e.offsetY):"function"==typeof q.fn.offset?(n=r.offset(),o.clk_x=e.pageX-n.left,o.clk_y=e.pageY-n.top):(o.clk_x=e.pageX-t.offsetLeft,o.clk_y=e.pageY-t.offsetTop)),setTimeout(function(){o.clk=o.clk_x=o.clk_y=null},100)}function N(){var e;q.fn.ajaxSubmit.debug&&(e="[jquery.form] "+Array.prototype.join.call(arguments,""),window.console&&window.console.log?window.console.log(e):window.opera&&window.opera.postError&&window.opera.postError(e))}q.fn.attr2=function(){if(!_)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},q.fn.ajaxSubmit=function(M,e,t,r){if(!this.length)return N("ajaxSubmit: skipping submit process - no element selected"),this;var O,a,n,o,X=this;"function"==typeof M?M={success:M}:"string"==typeof M||!1===M&&0<arguments.length?(M={url:M,data:e,dataType:t},"function"==typeof r&&(M.success=r)):void 0===M&&(M={}),O=M.method||M.type||this.attr2("method"),n=(n=(n="string"==typeof(a=M.url||this.attr2("action"))?q.trim(a):"")||window.location.href||"")&&(n.match(/^([^#]+)/)||[])[1],o=/(MSIE|Trident)/.test(navigator.userAgent||"")&&/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",M=q.extend(!0,{url:n,success:q.ajaxSettings.success,type:O||q.ajaxSettings.type,iframeSrc:o},M);var i={};if(this.trigger("form-pre-serialize",[this,M,i]),i.veto)return N("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(M.beforeSerialize&&!1===M.beforeSerialize(this,M))return N("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var s=M.traditional;void 0===s&&(s=q.ajaxSettings.traditional);var u,c,C=[],l=this.formToArray(M.semantic,C,M.filtering);if(M.data&&(c=q.isFunction(M.data)?M.data(l):M.data,M.extraData=c,u=q.param(c,s)),M.beforeSubmit&&!1===M.beforeSubmit(l,this,M))return N("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[l,this,M,i]),i.veto)return N("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var f=q.param(l,s);u&&(f=f?f+"&"+u:u),"GET"===M.type.toUpperCase()?(M.url+=(0<=M.url.indexOf("?")?"&":"?")+f,M.data=null):M.data=f;var d,m,p,h=[];M.resetForm&&h.push(function(){X.resetForm()}),M.clearForm&&h.push(function(){X.clearForm(M.includeHidden)}),!M.dataType&&M.target?(d=M.success||function(){},h.push(function(e,t,r){var a=arguments,n=M.replaceTarget?"replaceWith":"html";q(M.target)[n](e).each(function(){d.apply(this,a)})})):M.success&&(q.isArray(M.success)?q.merge(h,M.success):h.push(M.success)),M.success=function(e,t,r){for(var a=M.context||this,n=0,o=h.length;n<o;n++)h[n].apply(a,[e,t,r||X,X])},M.error&&(m=M.error,M.error=function(e,t,r){var a=M.context||this;m.apply(a,[e,t,r,X])}),M.complete&&(p=M.complete,M.complete=function(e,t){var r=M.context||this;p.apply(r,[e,t,X])});var v=0<q("input[type=file]:enabled",this).filter(function(){return""!==q(this).val()}).length,g="multipart/form-data",x=X.attr("enctype")===g||X.attr("encoding")===g,y=S.fileapi&&S.formdata;N("fileAPI :"+y);var b,T=(v||x)&&!y;!1!==M.iframe&&(M.iframe||T)?M.closeKeepAlive?q.get(M.closeKeepAlive,function(){b=w(l)}):b=w(l):b=(v||x)&&y?function(e){for(var r=new FormData,t=0;t<e.length;t++)r.append(e[t].name,e[t].value);if(M.extraData){var a=function(e){var t,r,a=q.param(e,M.traditional).split("&"),n=a.length,o=[];for(t=0;t<n;t++)a[t]=a[t].replace(/\+/g," "),r=a[t].split("="),o.push([decodeURIComponent(r[0]),decodeURIComponent(r[1])]);return o}(M.extraData);for(t=0;t<a.length;t++)a[t]&&r.append(a[t][0],a[t][1])}M.data=null;var n=q.extend(!0,{},q.ajaxSettings,M,{contentType:!1,processData:!1,cache:!1,type:O||"POST"});M.uploadProgress&&(n.xhr=function(){var e=q.ajaxSettings.xhr();return e.upload&&e.upload.addEventListener("progress",function(e){var t=0,r=e.loaded||e.position,a=e.total;e.lengthComputable&&(t=Math.ceil(r/a*100)),M.uploadProgress(e,r,a,t)},!1),e});n.data=null;var o=n.beforeSend;return n.beforeSend=function(e,t){M.formData?t.data=M.formData:t.data=r,o&&o.call(this,e,t)},q.ajax(n)}(l):q.ajax(M),X.removeData("jqxhr").data("jqxhr",b);for(var j=0;j<C.length;j++)C[j]=null;return this.trigger("form-submit-notify",[this,M]),this;function w(e){var t,r,l,f,o,d,m,p,a,n,h,v,i=X[0],g=q.Deferred();if(g.abort=function(e){p.abort(e)},e)for(r=0;r<C.length;r++)t=q(C[r]),_?t.prop("disabled",!1):t.removeAttr("disabled");(l=q.extend(!0,{},q.ajaxSettings,M)).context=l.context||l,o="jqFormIO"+(new Date).getTime();var s=i.ownerDocument,u=X.closest("body");if(l.iframeTarget?(n=(d=q(l.iframeTarget,s)).attr2("name"))?o=n:d.attr2("name",o):(d=q('<iframe name="'+o+'" src="'+l.iframeSrc+'" />',s)).css({position:"absolute",top:"-1000px",left:"-1000px"}),m=d[0],p={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(e){var t="timeout"===e?"timeout":"aborted";N("aborting upload... "+t),this.aborted=1;try{m.contentWindow.document.execCommand&&m.contentWindow.document.execCommand("Stop")}catch(e){}d.attr("src",l.iframeSrc),p.error=t,l.error&&l.error.call(l.context,p,t,e),f&&q.event.trigger("ajaxError",[p,l,t]),l.complete&&l.complete.call(l.context,p,t)}},(f=l.global)&&0==q.active++&&q.event.trigger("ajaxStart"),f&&q.event.trigger("ajaxSend",[p,l]),l.beforeSend&&!1===l.beforeSend.call(l.context,p,l))return l.global&&q.active--,g.reject(),g;if(p.aborted)return g.reject(),g;(a=i.clk)&&(n=a.name)&&!a.disabled&&(l.extraData=l.extraData||{},l.extraData[n]=a.value,"image"===a.type&&(l.extraData[n+".x"]=i.clk_x,l.extraData[n+".y"]=i.clk_y));var x=1,y=2;function b(t){var r=null;try{t.contentWindow&&(r=t.contentWindow.document)}catch(e){N("cannot get iframe.contentWindow document: "+e)}if(r)return r;try{r=t.contentDocument?t.contentDocument:t.document}catch(e){N("cannot get iframe.contentDocument: "+e),r=t.document}return r}var c=q("meta[name=csrf-token]").attr("content"),T=q("meta[name=csrf-param]").attr("content");function j(){var e=X.attr2("target"),t=X.attr2("action"),r=X.attr("enctype")||X.attr("encoding")||"multipart/form-data";i.setAttribute("target",o),O&&!/post/i.test(O)||i.setAttribute("method","POST"),t!==l.url&&i.setAttribute("action",l.url),l.skipEncodingOverride||O&&!/post/i.test(O)||X.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),l.timeout&&(v=setTimeout(function(){h=!0,A(x)},l.timeout));var a=[];try{if(l.extraData)for(var n in l.extraData)l.extraData.hasOwnProperty(n)&&(q.isPlainObject(l.extraData[n])&&l.extraData[n].hasOwnProperty("name")&&l.extraData[n].hasOwnProperty("value")?a.push(q('<input type="hidden" name="'+l.extraData[n].name+'">',s).val(l.extraData[n].value).appendTo(i)[0]):a.push(q('<input type="hidden" name="'+n+'">',s).val(l.extraData[n]).appendTo(i)[0]));l.iframeTarget||d.appendTo(u),m.attachEvent?m.attachEvent("onload",A):m.addEventListener("load",A,!1),setTimeout(function e(){try{var t=b(m).readyState;N("state = "+t),t&&"uninitialized"===t.toLowerCase()&&setTimeout(e,50)}catch(e){N("Server abort: ",e," (",e.name,")"),A(y),v&&clearTimeout(v),v=void 0}},15);try{i.submit()}catch(e){document.createElement("form").submit.apply(i)}}finally{i.setAttribute("action",t),i.setAttribute("enctype",r),e?i.setAttribute("target",e):X.removeAttr("target"),q(a).remove()}}T&&c&&(l.extraData=l.extraData||{},l.extraData[T]=c),l.forceSync?j():setTimeout(j,10);var w,S,k,D=50;function A(e){if(!p.aborted&&!k){if((S=b(m))||(N("cannot access response document"),e=y),e===x&&p)return p.abort("timeout"),void g.reject(p,"timeout");if(e===y&&p)return p.abort("server abort"),void g.reject(p,"error","server abort");if(S&&S.location.href!==l.iframeSrc||h){m.detachEvent?m.detachEvent("onload",A):m.removeEventListener("load",A,!1);var t,r="success";try{if(h)throw"timeout";var a="xml"===l.dataType||S.XMLDocument||q.isXMLDoc(S);if(N("isXml="+a),!a&&window.opera&&(null===S.body||!S.body.innerHTML)&&--D)return N("requeing onLoad callback, DOM not available"),void setTimeout(A,250);var n=S.body?S.body:S.documentElement;p.responseText=n?n.innerHTML:null,p.responseXML=S.XMLDocument?S.XMLDocument:S,a&&(l.dataType="xml"),p.getResponseHeader=function(e){return{"content-type":l.dataType}[e.toLowerCase()]},n&&(p.status=Number(n.getAttribute("status"))||p.status,p.statusText=n.getAttribute("statusText")||p.statusText);var o,i,s,u=(l.dataType||"").toLowerCase(),c=/(json|script|text)/.test(u);c||l.textarea?(o=S.getElementsByTagName("textarea")[0])?(p.responseText=o.value,p.status=Number(o.getAttribute("status"))||p.status,p.statusText=o.getAttribute("statusText")||p.statusText):c&&(i=S.getElementsByTagName("pre")[0],s=S.getElementsByTagName("body")[0],i?p.responseText=i.textContent?i.textContent:i.innerText:s&&(p.responseText=s.textContent?s.textContent:s.innerText)):"xml"===u&&!p.responseXML&&p.responseText&&(p.responseXML=F(p.responseText));try{w=E(p,u,l)}catch(e){r="parsererror",p.error=t=e||r}}catch(e){N("error caught: ",e),r="error",p.error=t=e||r}p.aborted&&(N("upload aborted"),r=null),p.status&&(r=200<=p.status&&p.status<300||304===p.status?"success":"error"),"success"===r?(l.success&&l.success.call(l.context,w,"success",p),g.resolve(p.responseText,"success",p),f&&q.event.trigger("ajaxSuccess",[p,l])):r&&(void 0===t&&(t=p.statusText),l.error&&l.error.call(l.context,p,r,t),g.reject(p,"error",t),f&&q.event.trigger("ajaxError",[p,l,t])),f&&q.event.trigger("ajaxComplete",[p,l]),f&&!--q.active&&q.event.trigger("ajaxStop"),l.complete&&l.complete.call(l.context,p,r),k=!0,l.timeout&&clearTimeout(v),setTimeout(function(){l.iframeTarget?d.attr("src",l.iframeSrc):d.remove(),p.responseXML=null},100)}}}var F=q.parseXML||function(e,t){return window.ActiveXObject?((t=new ActiveXObject("Microsoft.XMLDOM")).async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!==t.documentElement.nodeName?t:null},L=q.parseJSON||function(e){return window.eval("("+e+")")},E=function(e,t,r){var a=e.getResponseHeader("content-type")||"",n=("xml"===t||!t)&&0<=a.indexOf("xml"),o=n?e.responseXML:e.responseText;return n&&"parsererror"===o.documentElement.nodeName&&q.error&&q.error("parsererror"),r&&r.dataFilter&&(o=r.dataFilter(o,t)),"string"==typeof o&&(("json"===t||!t)&&0<=a.indexOf("json")?o=L(o):("script"===t||!t)&&0<=a.indexOf("javascript")&&q.globalEval(o)),o};return g}},q.fn.ajaxForm=function(e,t,r,a){if(("string"==typeof e||!1===e&&0<arguments.length)&&(e={url:e,data:t,dataType:r},"function"==typeof a&&(e.success=a)),(e=e||{}).delegation=e.delegation&&q.isFunction(q.fn.on),e.delegation||0!==this.length)return e.delegation?(q(document).off("submit.form-plugin",this.selector,o).off("click.form-plugin",this.selector,i).on("submit.form-plugin",this.selector,e,o).on("click.form-plugin",this.selector,e,i),this):(e.beforeFormUnbind&&e.beforeFormUnbind(this,e),this.ajaxFormUnbind().on("submit.form-plugin",e,o).on("click.form-plugin",e,i));var n={s:this.selector,c:this.context};return!q.isReady&&n.s?(N("DOM not ready, queuing ajaxForm"),q(function(){q(n.s,n.c).ajaxForm(e)})):N("terminating; zero elements found by selector"+(q.isReady?"":" (DOM not ready)")),this},q.fn.ajaxFormUnbind=function(){return this.off("submit.form-plugin click.form-plugin")},q.fn.formToArray=function(e,t,r){var a=[];if(0===this.length)return a;var n,o,i,s,u,c,l,f,d,m,p=this[0],h=this.attr("id"),v=(v=e||void 0===p.elements?p.getElementsByTagName("*"):p.elements)&&q.makeArray(v);if(h&&(e||/(Edge|Trident)\//.test(navigator.userAgent))&&(n=q(':input[form="'+h+'"]').get()).length&&(v=(v||[]).concat(n)),!v||!v.length)return a;for(q.isFunction(r)&&(v=q.map(v,r)),o=0,c=v.length;o<c;o++)if((m=(u=v[o]).name)&&!u.disabled)if(e&&p.clk&&"image"===u.type)p.clk===u&&(a.push({name:m,value:q(u).val(),type:u.type}),a.push({name:m+".x",value:p.clk_x},{name:m+".y",value:p.clk_y}));else if((s=q.fieldValue(u,!0))&&s.constructor===Array)for(t&&t.push(u),i=0,l=s.length;i<l;i++)a.push({name:m,value:s[i]});else if(S.fileapi&&"file"===u.type){t&&t.push(u);var g=u.files;if(g.length)for(i=0;i<g.length;i++)a.push({name:m,value:g[i],type:u.type});else a.push({name:m,value:"",type:u.type})}else null!=s&&(t&&t.push(u),a.push({name:m,value:s,type:u.type,required:u.required}));return e||!p.clk||(m=(d=(f=q(p.clk))[0]).name)&&!d.disabled&&"image"===d.type&&(a.push({name:m,value:f.val()}),a.push({name:m+".x",value:p.clk_x},{name:m+".y",value:p.clk_y})),a},q.fn.formSerialize=function(e){return q.param(this.formToArray(e))},q.fn.fieldSerialize=function(n){var o=[];return this.each(function(){var e=this.name;if(e){var t=q.fieldValue(this,n);if(t&&t.constructor===Array)for(var r=0,a=t.length;r<a;r++)o.push({name:e,value:t[r]});else null!=t&&o.push({name:this.name,value:t})}}),q.param(o)},q.fn.fieldValue=function(e){for(var t=[],r=0,a=this.length;r<a;r++){var n=this[r],o=q.fieldValue(n,e);null==o||o.constructor===Array&&!o.length||(o.constructor===Array?q.merge(t,o):t.push(o))}return t},q.fieldValue=function(e,t){var r=e.name,a=e.type,n=e.tagName.toLowerCase();if(void 0===t&&(t=!0),t&&(!r||e.disabled||"reset"===a||"button"===a||("checkbox"===a||"radio"===a)&&!e.checked||("submit"===a||"image"===a)&&e.form&&e.form.clk!==e||"select"===n&&-1===e.selectedIndex))return null;if("select"!==n)return q(e).val().replace(m,"\r\n");var o=e.selectedIndex;if(o<0)return null;for(var i=[],s=e.options,u="select-one"===a,c=u?o+1:s.length,l=u?o:0;l<c;l++){var f=s[l];if(f.selected&&!f.disabled){var d=(d=f.value)||(f.attributes&&f.attributes.value&&!f.attributes.value.specified?f.text:f.value);if(u)return d;i.push(d)}}return i},q.fn.clearForm=function(e){return this.each(function(){q("input,select,textarea",this).clearFields(e)})},q.fn.clearFields=q.fn.clearInputs=function(r){var a=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var e=this.type,t=this.tagName.toLowerCase();a.test(e)||"textarea"===t?this.value="":"checkbox"===e||"radio"===e?this.checked=!1:"select"===t?this.selectedIndex=-1:"file"===e?/MSIE/.test(navigator.userAgent)?q(this).replaceWith(q(this).clone(!0)):q(this).val(""):r&&(!0===r&&/hidden/.test(e)||"string"==typeof r&&q(this).is(r))&&(this.value="")})},q.fn.resetForm=function(){return this.each(function(){var t=q(this),e=this.tagName.toLowerCase();switch(e){case"input":this.checked=this.defaultChecked;case"textarea":return this.value=this.defaultValue,!0;case"option":case"optgroup":var r=t.parents("select");return r.length&&r[0].multiple?"option"===e?this.selected=this.defaultSelected:t.find("option").resetForm():r.resetForm(),!0;case"select":return t.find("option").each(function(e){if(this.selected=this.defaultSelected,this.defaultSelected&&!t[0].multiple)return t[0].selectedIndex=e,!1}),!0;case"label":var a=q(t.attr("for")),n=t.find("input,select,textarea");return a[0]&&n.unshift(a[0]),n.resetForm(),!0;case"form":return"function"!=typeof this.reset&&("object"!=typeof this.reset||this.reset.nodeType)||this.reset(),!0;default:return t.find("form,input,label,select,textarea").resetForm(),!0}})},q.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},q.fn.selected=function(r){return void 0===r&&(r=!0),this.each(function(){var e,t=this.type;"checkbox"===t||"radio"===t?this.checked=r:"option"===this.tagName.toLowerCase()&&(e=q(this).parent("select"),r&&e[0]&&"select-one"===e[0].type&&e.find("option").selected(!1),this.selected=r)})},q.fn.ajaxSubmit.debug=!1});
65 66; 67/** 68* DO NOT EDIT THIS FILE. 69* See the following change record for more information, 70* https://www.drupal.org/node/2815083 71* @preserve 72**/ 73 74(function ($, Drupal) { 75 Drupal.theme.progressBar = function (id) { 76 return "<div id=\"".concat(id, "\" class=\"progress\" aria-live=\"polite\">") + '<div class="progress__label"> </div>' + '<div class="progress__track"><div class="progress__bar"></div></div>' + '<div class="progress__percentage"></div>' + '<div class="progress__description"> </div>' + '</div>'; 77 }; 78 79 Drupal.ProgressBar = function (id, updateCallback, method, errorCallback) { 80 this.id = id; 81 this.method = method || 'GET'; 82 this.updateCallback = updateCallback; 83 this.errorCallback = errorCallback; 84 this.element = $(Drupal.theme('progressBar', id)); 85 }; 86 87 $.extend(Drupal.ProgressBar.prototype, { 88 setProgress: function setProgress(percentage, message, label) { 89 if (percentage >= 0 && percentage <= 100) { 90 $(this.element).find('div.progress__bar').css('width', "".concat(percentage, "%")); 91 $(this.element).find('div.progress__percentage').html("".concat(percentage, "%")); 92 } 93 94 $('div.progress__description', this.element).html(message); 95 $('div.progress__label', this.element).html(label); 96 97 if (this.updateCallback) { 98 this.updateCallback(percentage, message, this); 99 } 100 }, 101 startMonitoring: function startMonitoring(uri, delay) { 102 this.delay = delay; 103 this.uri = uri; 104 this.sendPing(); 105 }, 106 stopMonitoring: function stopMonitoring() { 107 clearTimeout(this.timer); 108 this.uri = null; 109 }, 110 sendPing: function sendPing() { 111 if (this.timer) { 112 clearTimeout(this.timer); 113 } 114 115 if (this.uri) { 116 var pb = this; 117 var uri = this.uri; 118 119 if (uri.indexOf('?') === -1) { 120 uri += '?'; 121 } else { 122 uri += '&'; 123 } 124 125 uri += '_format=json'; 126 $.ajax({ 127 type: this.method, 128 url: uri, 129 data: '', 130 dataType: 'json', 131 success: function success(progress) { 132 if (progress.status === 0) { 133 pb.displayError(progress.data); 134 return; 135 } 136 137 pb.setProgress(progress.percentage, progress.message, progress.label); 138 pb.timer = setTimeout(function () { 139 pb.sendPing(); 140 }, pb.delay); 141 }, 142 error: function error(xmlhttp) { 143 var e = new Drupal.AjaxError(xmlhttp, pb.uri); 144 pb.displayError("<pre>".concat(e.message, "</pre>")); 145 } 146 }); 147 } 148 }, 149 displayError: function displayError(string) { 150 var error = $('<div class="messages messages--error"></div>').html(string); 151 $(this.element).before(error).hide(); 152 153 if (this.errorCallback) { 154 this.errorCallback(this); 155 } 156 } 157 }); 158})(jQuery, Drupal);; 159/** 160* DO NOT EDIT THIS FILE. 161* See the following change record for more information, 162* https://www.drupal.org/node/2815083 163* @preserve 164**/ 165 166(function (Drupal) { 167 Drupal.behaviors.responsiveImageAJAX = { 168 attach: function attach() { 169 if (window.picturefill) { 170 window.picturefill(); 171 } 172 } 173 }; 174})(Drupal);; 175/** 176* DO NOT EDIT THIS FILE. 177* See the following change record for more information, 178* https://www.drupal.org/node/2815083 179* @preserve 180**/ 181 182function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } 183 184function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 185 186function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 187 188function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } 189 190function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } 191 192function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 193 194(function ($, window, Drupal, drupalSettings, _ref) { 195 var isFocusable = _ref.isFocusable, 196 tabbable = _ref.tabbable; 197 Drupal.behaviors.AJAX = { 198 attach: function attach(context, settings) { 199 function loadAjaxBehavior(base) { 200 var elementSettings = settings.ajax[base]; 201 202 if (typeof elementSettings.selector === 'undefined') { 203 elementSettings.selector = "#".concat(base); 204 } 205
206 once('drupal-ajax', $(elementSettings.selector)).forEach(function (el) { 207 elementSettings.element = el; 208 elementSettings.base = base; 209 Drupal.ajax(elementSettings); 210 }); 211 } 212 213 Object.keys(settings.ajax || {}).forEach(function (base) { 214 return loadAjaxBehavior(base); 215 }); 216 Drupal.ajax.bindAjaxLinks(document.body); 217 once('ajax', '.use-ajax-submit').forEach(function (el) { 218 var elementSettings = {}; 219 elementSettings.url = $(el.form).attr('action'); 220 elementSettings.setClick = true; 221 elementSettings.event = 'click'; 222 elementSettings.progress = { 223 type: 'throbber' 224 }; 225 elementSettings.base = el.id; 226 elementSettings.element = el; 227 Drupal.ajax(elementSettings); 228 }); 229 }, 230 detach: function detach(context, settings, trigger) { 231 if (trigger === 'unload') { 232 Drupal.ajax.expired().forEach(function (instance) { 233 Drupal.ajax.instances[instance.instanceIndex] = null; 234 }); 235 } 236 } 237 }; 238 239 Drupal.AjaxError = function (xmlhttp, uri, customMessage) { 240 var statusCode; 241 var statusText; 242 var responseText; 243 244 if (xmlhttp.status) { 245 statusCode = "\n".concat(Drupal.t('An AJAX HTTP error occurred.'), "\n").concat(Drupal.t('HTTP Result Code: !status', { 246 '!status': xmlhttp.status 247 })); 248 } else { 249 statusCode = "\n".concat(Drupal.t('An AJAX HTTP request terminated abnormally.')); 250 } 251 252 statusCode += "\n".concat(Drupal.t('Debugging information follows.')); 253 var pathText = "\n".concat(Drupal.t('Path: !uri', { 254 '!uri': uri 255 })); 256 statusText = ''; 257 258 try { 259 statusText = "\n".concat(Drupal.t('StatusText: !statusText', { 260 '!statusText': xmlhttp.statusText.trim() 261 })); 262 } catch (e) {} 263 264 responseText = ''; 265 266 try { 267 responseText = "\n".concat(Drupal.t('ResponseText: !responseText', { 268 '!responseText': xmlhttp.responseText.trim() 269 })); 270 } catch (e) {} 271 272 responseText = responseText.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi, ''); 273 responseText = responseText.replace(/[\n]+\s+/g, '\n'); 274 var readyStateText = xmlhttp.status === 0 ? "\n".concat(Drupal.t('ReadyState: !readyState', { 275 '!readyState': xmlhttp.readyState 276 })) : ''; 277 customMessage = customMessage ? "\n".concat(Drupal.t('CustomMessage: !customMessage', { 278 '!customMessage': customMessage 279 })) : ''; 280 this.message = statusCode + pathText + statusText + customMessage + responseText + readyStateText; 281 this.name = 'AjaxError'; 282 }; 283 284 Drupal.AjaxError.prototype = new Error(); 285 Drupal.AjaxError.prototype.constructor = Drupal.AjaxError; 286 287 Drupal.ajax = function (settings) { 288 if (arguments.length !== 1) { 289 throw new Error('Drupal.ajax() function must be called with one configuration object only'); 290 } 291 292 var base = settings.base || false; 293 var element = settings.element || false; 294 delete settings.base; 295 delete settings.element; 296 297 if (!settings.progress && !element) { 298 settings.progress = false; 299 } 300 301 var ajax = new Drupal.Ajax(base, element, settings); 302 ajax.instanceIndex = Drupal.ajax.instances.length; 303 Drupal.ajax.instances.push(ajax); 304 return ajax; 305 }; 306 307 Drupal.ajax.instances = []; 308 309 Drupal.ajax.expired = function () { 310 return Drupal.ajax.instances.filter(function (instance) { 311 return instance && instance.element !== false && !document.body.contains(instance.element); 312 }); 313 }; 314 315 Drupal.ajax.bindAjaxLinks = function (element) { 316 once('ajax', '.use-ajax', element).forEach(function (ajaxLink) { 317 var $linkElement = $(ajaxLink); 318 var elementSettings = { 319 progress: { 320 type: 'throbber' 321 }, 322 dialogType: $linkElement.data('dialog-type'), 323 dialog: $linkElement.data('dialog-options'), 324 dialogRenderer: $linkElement.data('dialog-renderer'), 325 base: $linkElement.attr('id'), 326 element: ajaxLink 327 }; 328 var href = $linkElement.attr('href'); 329 330 if (href) { 331 elementSettings.url = href; 332 elementSettings.event = 'click'; 333 } 334 335 Drupal.ajax(elementSettings); 336 }); 337 }; 338 339 Drupal.Ajax = function (base, element, elementSettings) { 340 var defaults = { 341 event: element ? 'mousedown' : null, 342 keypress: true,
343 selector: base ? "#".concat(base) : null, 344 effect: 'none', 345 speed: 'none', 346 method: 'replaceWith', 347 progress: { 348 type: 'throbber', 349 message: Drupal.t('Please wait...') 350 }, 351 submit: { 352 js: true 353 } 354 }; 355 $.extend(this, defaults, elementSettings); 356 this.commands = new Drupal.AjaxCommands(); 357 this.instanceIndex = false; 358 359 if (this.wrapper) { 360 this.wrapper = "#".concat(this.wrapper); 361 } 362 363 this.element = element; 364 this.element_settings = elementSettings; 365 this.elementSettings = elementSettings; 366 367 if (this.element && this.element.form) { 368 this.$form = $(this.element.form); 369 } 370 371 if (!this.url) { 372 var $element = $(this.element); 373 374 if ($element.is('a')) { 375 this.url = $element.attr('href'); 376 } else if (this.element && element.form) { 377 this.url = this.$form.attr('action'); 378 } 379 } 380 381 var originalUrl = this.url; 382 this.url = this.url.replace(/\/nojs(\/|$|\?|#)/, '/ajax$1'); 383 384 if (drupalSettings.ajaxTrustedUrl[originalUrl]) { 385 drupalSettings.ajaxTrustedUrl[this.url] = true; 386 } 387 388 var ajax = this; 389 ajax.options = { 390 url: ajax.url, 391 data: ajax.submit, 392 beforeSerialize: function beforeSerialize(elementSettings, options) { 393 return ajax.beforeSerialize(elementSettings, options); 394 }, 395 beforeSubmit: function beforeSubmit(formValues, elementSettings, options) { 396 ajax.ajaxing = true; 397 return ajax.beforeSubmit(formValues, elementSettings, options); 398 }, 399 beforeSend: function beforeSend(xmlhttprequest, options) { 400 ajax.ajaxing = true; 401 return ajax.beforeSend(xmlhttprequest, options); 402 }, 403 success: function success(response, status, xmlhttprequest) { 404 if (typeof response === 'string') { 405 response = $.parseJSON(response); 406 } 407 408 if (response !== null && !drupalSettings.ajaxTrustedUrl[ajax.url]) { 409 if (xmlhttprequest.getResponseHeader('X-Drupal-Ajax-Token') !== '1') { 410 var customMessage = Drupal.t('The response failed verification so will not be processed.'); 411 return ajax.error(xmlhttprequest, ajax.url, customMessage); 412 } 413 } 414 415 return ajax.success(response, status); 416 }, 417 complete: function complete(xmlhttprequest, status) { 418 ajax.ajaxing = false; 419 420 if (status === 'error' || status === 'parsererror') { 421 return ajax.error(xmlhttprequest, ajax.url); 422 } 423 }, 424 dataType: 'json', 425 jsonp: false, 426 type: 'POST' 427 }; 428 429 if (elementSettings.dialog) { 430 ajax.options.data.dialogOptions = elementSettings.dialog; 431 } 432 433 if (ajax.options.url.indexOf('?') === -1) { 434 ajax.options.url += '?'; 435 } else { 436 ajax.options.url += '&'; 437 } 438 439 var wrapper = "drupal_".concat(elementSettings.dialogType || 'ajax'); 440 441 if (elementSettings.dialogRenderer) { 442 wrapper += ".".concat(elementSettings.dialogRenderer); 443 } 444 445 ajax.options.url += "".concat(Drupal.ajax.WRAPPER_FORMAT, "=").concat(wrapper); 446 $(ajax.element).on(elementSettings.event, function (event) { 447 if (!drupalSettings.ajaxTrustedUrl[ajax.url] && !Drupal.url.isLocal(ajax.url)) { 448 throw new Error(Drupal.t('The callback URL is not local and not trusted: !url', { 449 '!url': ajax.url 450 })); 451 } 452 453 return ajax.eventResponse(this, event); 454 }); 455 456 if (elementSettings.keypress) { 457 $(ajax.element).on('keypress', function (event) { 458 return ajax.keypressResponse(this, event); 459 }); 460 } 461 462 if (elementSettings.prevent) { 463 $(ajax.element).on(elementSettings.prevent, false); 464 } 465 }; 466 467 Drupal.ajax.WRAPPER_FORMAT = '_wrapper_format'; 468 Drupal.Ajax.AJAX_REQUEST_PARAMETER = '_drupal_ajax'; 469 470 Drupal.Ajax.prototype.execute = function () { 471 if (this.ajaxing) { 472 return; 473 } 474 475 try { 476 this.beforeSerialize(this.element, this.options); 477 return $.ajax(this.options); 478 } catch (e) { 479 this.ajaxing = false; 480 window.alert("An error occurred while attempting to process ".concat(this.options.url, ": ").concat(e.message)); 481 return $.Deferred().reject(); 482 } 483 }; 484 485 Drupal.Ajax.prototype.keypressResponse = function (element, event) { 486 var ajax = this; 487 488 if (event.which === 13 || event.which === 32 && element.type !== 'text' && element.type !== 'textarea' && element.type !== 'tel' && element.type !== 'number') { 489 event.preventDefault(); 490 event.stopPropagation(); 491 $(element).trigger(ajax.elementSettings.event); 492 } 493 }; 494 495 Drupal.Ajax.prototype.eventResponse = function (element, event) { 496 event.preventDefault(); 497 event.stopPropagation(); 498 var ajax = this; 499 500 if (ajax.ajaxing) { 501 return; 502 } 503 504 try { 505 if (ajax.$form) { 506 if (ajax.setClick) { 507 element.form.clk = element; 508 } 509 510 ajax.$form.ajaxSubmit(ajax.options); 511 } else { 512 ajax.beforeSerialize(ajax.element, ajax.options); 513 $.ajax(ajax.options); 514 } 515 } catch (e) { 516 ajax.ajaxing = false;
517 window.alert("An error occurred while attempting to process ".concat(ajax.options.url, ": ").concat(e.message)); 518 } 519 }; 520 521 Drupal.Ajax.prototype.beforeSerialize = function (element, options) { 522 if (this.$form && document.body.contains(this.$form.get(0))) { 523 var settings = this.settings || drupalSettings; 524 Drupal.detachBehaviors(this.$form.get(0), settings, 'serialize'); 525 } 526 527 options.data[Drupal.Ajax.AJAX_REQUEST_PARAMETER] = 1; 528 var pageState = drupalSettings.ajaxPageState; 529 options.data['ajax_page_state[theme]'] = pageState.theme; 530 options.data['ajax_page_state[theme_token]'] = pageState.theme_token; 531 options.data['ajax_page_state[libraries]'] = pageState.libraries; 532 }; 533 534 Drupal.Ajax.prototype.beforeSubmit = function (formValues, element, options) {}; 535 536 Drupal.Ajax.prototype.beforeSend = function (xmlhttprequest, options) { 537 if (this.$form) { 538 options.extraData = options.extraData || {}; 539 options.extraData.ajax_iframe_upload = '1'; 540 var v = $.fieldValue(this.element); 541 542 if (v !== null) { 543 options.extraData[this.element.name] = v; 544 } 545 } 546 547 $(this.element).prop('disabled', true); 548 549 if (!this.progress || !this.progress.type) { 550 return; 551 } 552 553 var progressIndicatorMethod = "setProgressIndicator".concat(this.progress.type.slice(0, 1).toUpperCase()).concat(this.progress.type.slice(1).toLowerCase()); 554 555 if (progressIndicatorMethod in this && typeof this[progressIndicatorMethod] === 'function') { 556 this[progressIndicatorMethod].call(this); 557 } 558 }; 559 560 Drupal.theme.ajaxProgressThrobber = function (message) { 561 var messageMarkup = typeof message === 'string' ? Drupal.theme('ajaxProgressMessage', message) : ''; 562 var throbber = '<div class="throbber"> </div>'; 563 return "<div class=\"ajax-progress ajax-progress-throbber\">".concat(throbber).concat(messageMarkup, "</div>"); 564 }; 565 566 Drupal.theme.ajaxProgressIndicatorFullscreen = function () { 567 return '<div class="ajax-progress ajax-progress-fullscreen"> </div>'; 568 }; 569 570 Drupal.theme.ajaxProgressMessage = function (message) { 571 return "<div class=\"message\">".concat(message, "</div>"); 572 }; 573 574 Drupal.theme.ajaxProgressBar = function ($element) { 575 return $('<div class="ajax-progress ajax-progress-bar"></div>').append($element); 576 }; 577 578 Drupal.Ajax.prototype.setProgressIndicatorBar = function () { 579 var progressBar = new Drupal.ProgressBar("ajax-progress-".concat(this.element.id), $.noop, this.progress.method, $.noop); 580 581 if (this.progress.message) { 582 progressBar.setProgress(-1, this.progress.message); 583 } 584 585 if (this.progress.url) { 586 progressBar.startMonitoring(this.progress.url, this.progress.interval || 1500); 587 } 588 589 this.progress.element = $(Drupal.theme('ajaxProgressBar', progressBar.element)); 590 this.progress.object = progressBar; 591 $(this.element).after(this.progress.element); 592 }; 593 594 Drupal.Ajax.prototype.setProgressIndicatorThrobber = function () { 595 this.progress.element = $(Drupal.theme('ajaxProgressThrobber', this.progress.message)); 596 $(this.element).after(this.progress.element); 597 }; 598 599 Drupal.Ajax.prototype.setProgressIndicatorFullscreen = function () { 600 this.progress.element = $(Drupal.theme('ajaxProgressIndicatorFullscreen')); 601 $('body').append(this.progress.element); 602 }; 603 604 Drupal.Ajax.prototype.success = function (response, status) { 605 var _this = this; 606 607 if (this.progress.element) { 608 $(this.progress.element).remove(); 609 } 610 611 if (this.progress.object) { 612 this.progress.object.stopMonitoring(); 613 } 614 615 $(this.element).prop('disabled', false); 616 var elementParents = $(this.element).parents('[data-drupal-selector]').addBack().toArray(); 617 var focusChanged = false; 618 Object.keys(response || {}).forEach(function (i) { 619 if (response[i].command && _this.commands[response[i].command]) { 620 _this.commands[response[i].command](_this, response[i], status); 621 622 if (response[i].command === 'invoke' && response[i].method === 'focus' || response[i].command === 'focusFirst') { 623 focusChanged = true; 624 } 625 } 626 }); 627 628 if (!focusChanged && this.element && !$(this.element).data('disable-refocus')) { 629 var target = false;
630 631 for (var n = elementParents.length - 1; !target && n >= 0; n--) { 632 target = document.querySelector("[data-drupal-selector=\"".concat(elementParents[n].getAttribute('data-drupal-selector'), "\"]")); 633 } 634 635 if (target) { 636 $(target).trigger('focus'); 637 } 638 } 639 640 if (this.$form && document.body.contains(this.$form.get(0))) { 641 var settings = this.settings || drupalSettings; 642 Drupal.attachBehaviors(this.$form.get(0), settings); 643 } 644 645 this.settings = null; 646 }; 647 648 Drupal.Ajax.prototype.getEffect = function (response) { 649 var type = response.effect || this.effect; 650 var speed = response.speed || this.speed; 651 var effect = {}; 652 653 if (type === 'none') { 654 effect.showEffect = 'show'; 655 effect.hideEffect = 'hide'; 656 effect.showSpeed = ''; 657 } else if (type === 'fade') { 658 effect.showEffect = 'fadeIn'; 659 effect.hideEffect = 'fadeOut'; 660 effect.showSpeed = speed; 661 } else { 662 effect.showEffect = "".concat(type, "Toggle"); 663 effect.hideEffect = "".concat(type, "Toggle"); 664 effect.showSpeed = speed; 665 } 666 667 return effect; 668 }; 669 670 Drupal.Ajax.prototype.error = function (xmlhttprequest, uri, customMessage) { 671 if (this.progress.element) { 672 $(this.progress.element).remove(); 673 } 674 675 if (this.progress.object) { 676 this.progress.object.stopMonitoring(); 677 } 678 679 $(this.wrapper).show(); 680 $(this.element).prop('disabled', false); 681 682 if (this.$form && document.body.contains(this.$form.get(0))) { 683 var settings = this.settings || drupalSettings; 684 Drupal.attachBehaviors(this.$form.get(0), settings); 685 } 686 687 throw new Drupal.AjaxError(xmlhttprequest, uri, customMessage); 688 }; 689 690 Drupal.theme.ajaxWrapperNewContent = function ($newContent, ajax, response) { 691 return (response.effect || ajax.effect) !== 'none' && $newContent.filter(function (i) { 692 return !($newContent[i].nodeName === '#comment' || $newContent[i].nodeName === '#text' && /^(\s|\n|\r)*$/.test($newContent[i].textContent)); 693 }).length > 1 ? Drupal.theme('ajaxWrapperMultipleRootElements', $newContent) : $newContent; 694 }; 695 696 Drupal.theme.ajaxWrapperMultipleRootElements = function ($elements) { 697 return $('<div></div>').append($elements); 698 }; 699 700 Drupal.AjaxCommands = function () {}; 701 702 Drupal.AjaxCommands.prototype = { 703 insert: function insert(ajax, response) { 704 var $wrapper = response.selector ? $(response.selector) : $(ajax.wrapper); 705 var method = response.method || ajax.method; 706 var effect = ajax.getEffect(response); 707 var settings = response.settings || ajax.settings || drupalSettings; 708 var $newContent = $($.parseHTML(response.data, document, true)); 709 $newContent = Drupal.theme('ajaxWrapperNewContent', $newContent, ajax, response); 710 711 switch (method) { 712 case 'html': 713 case 'replaceWith': 714 case 'replaceAll': 715 case 'empty': 716 case 'remove': 717 Drupal.detachBehaviors($wrapper.get(0), settings); 718 break; 719 720 default: 721 break; 722 } 723 724 $wrapper[method]($newContent); 725 726 if (effect.showEffect !== 'show') { 727 $newContent.hide(); 728 } 729 730 var $ajaxNewContent = $newContent.find('.ajax-new-content'); 731 732 if ($ajaxNewContent.length) { 733 $ajaxNewContent.hide(); 734 $newContent.show(); 735 $ajaxNewContent[effect.showEffect](effect.showSpeed); 736 } else if (effect.showEffect !== 'show') { 737 $newContent[effect.showEffect](effect.showSpeed); 738 } 739 740 if ($newContent.parents('html').length) { 741 $newContent.each(function (index, element) { 742 if (element.nodeType === Node.ELEMENT_NODE) { 743 Drupal.attachBehaviors(element, settings); 744 } 745 }); 746 } 747 }, 748 remove: function remove(ajax, response, status) { 749 var settings = response.settings || ajax.settings || drupalSettings; 750 $(response.selector).each(function () { 751 Drupal.detachBehaviors(this, settings); 752 }).remove(); 753 }, 754 changed: function changed(ajax, response, status) { 755 var $element = $(response.selector); 756 757 if (!$element.hasClass('ajax-changed')) { 758 $element.addClass('ajax-changed'); 759 760 if (response.asterisk) { 761 $element.find(response.asterisk).append(" <abbr class=\"ajax-changed\" title=\"".concat(Drupal.t('Changed'), "\">*</abbr> ")); 762 } 763 } 764 }, 765 alert: function alert(ajax, response, status) { 766 window.alert(response.text); 767 }, 768 announce: function announce(ajax, response) { 769 if (response.priority) { 770 Drupal.announce(response.text, response.priority); 771 } else { 772 Drupal.announce(response.text); 773 } 774 }, 775 redirect: function redirect(ajax, response, status) { 776 window.location = response.url; 777 }, 778 css: function css(ajax, response, status) { 779 $(response.selector).css(response.argument); 780 }, 781 settings: function settings(ajax, response, status) { 782 var ajaxSettings = drupalSettings.ajax; 783 784 if (ajaxSettings) {
785 Drupal.ajax.expired().forEach(function (instance) { 786 if (instance.selector) { 787 var selector = instance.selector.replace('#', ''); 788 789 if (selector in ajaxSettings) { 790 delete ajaxSettings[selector]; 791 } 792 } 793 }); 794 } 795 796 if (response.merge) { 797 $.extend(true, drupalSettings, response.settings); 798 } else { 799 ajax.settings = response.settings; 800 } 801 }, 802 data: function data(ajax, response, status) { 803 $(response.selector).data(response.name, response.value); 804 }, 805 focusFirst: function focusFirst(ajax, response, status) { 806 var focusChanged = false; 807 var container = document.querySelector(response.selector); 808 809 if (container) { 810 var tabbableElements = tabbable(container); 811 812 if (tabbableElements.length) { 813 tabbableElements[0].focus(); 814 focusChanged = true; 815 } else if (isFocusable(container)) { 816 container.focus(); 817 focusChanged = true; 818 } 819 } 820 821 if (ajax.hasOwnProperty('element') && !focusChanged) { 822 ajax.element.focus(); 823 } 824 }, 825 invoke: function invoke(ajax, response, status) { 826 var $element = $(response.selector); 827 $element[response.method].apply($element, _toConsumableArray(response.args)); 828 }, 829 restripe: function restripe(ajax, response, status) { 830 $(response.selector).find('> tbody > tr:visible, > tr:visible').removeClass('odd even').filter(':even').addClass('odd').end().filter(':odd').addClass('even'); 831 }, 832 update_build_id: function update_build_id(ajax, response, status) { 833 document.querySelectorAll("input[name=\"form_build_id\"][value=\"".concat(response.old, "\"]")).forEach(function (item) { 834 item.value = response.new; 835 }); 836 }, 837 add_css: function add_css(ajax, response, status) { 838 $('head').prepend(response.data); 839 }, 840 message: function message(ajax, response) { 841 var messages = new Drupal.Message(document.querySelector(response.messageWrapperQuerySelector)); 842 843 if (response.clearPrevious) { 844 messages.clear(); 845 } 846 847 messages.add(response.message, response.messageOptions); 848 } 849 }; 850})(jQuery, window, Drupal, drupalSettings, window.tabbable);; 851/** 852* DO NOT EDIT THIS FILE. 853* See the following change record for more information, 854* https://www.drupal.org/node/2815083 855* @preserve 856**/ 857 858(function ($, Drupal, drupalSettings) { 859 Drupal.Views = {}; 860 861 Drupal.Views.parseQueryString = function (query) { 862 var args = {}; 863 var pos = query.indexOf('?'); 864 865 if (pos !== -1) { 866 query = query.substring(pos + 1); 867 } 868 869 var pair; 870 var pairs = query.split('&'); 871 872 for (var i = 0; i < pairs.length; i++) { 873 pair = pairs[i].split('='); 874 875 if (pair[0] !== 'q' && pair[1]) { 876 args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' ')); 877 } 878 } 879 880 return args; 881 }; 882 883 Drupal.Views.parseViewArgs = function (href, viewPath) { 884 var returnObj = {}; 885 var path = Drupal.Views.getPath(href); 886 var viewHref = Drupal.url(viewPath).substring(drupalSettings.path.baseUrl.length); 887 888 if (viewHref && path.substring(0, viewHref.length + 1) === "".concat(viewHref, "/")) { 889 returnObj.view_args = decodeURIComponent(path.substring(viewHref.length + 1, path.length)); 890 returnObj.view_path = path; 891 } 892 893 return returnObj; 894 }; 895 896 Drupal.Views.pathPortion = function (href) { 897 var protocol = window.location.protocol; 898 899 if (href.substring(0, protocol.length) === protocol) { 900 href = href.substring(href.indexOf('/', protocol.length + 2)); 901 } 902 903 return href; 904 }; 905 906 Drupal.Views.getPath = function (href) { 907 href = Drupal.Views.pathPortion(href); 908 href = href.substring(drupalSettings.path.baseUrl.length, href.length); 909 910 if (href.substring(0, 3) === '?q=') { 911 href = href.substring(3, href.length); 912 } 913 914 var chars = ['#', '?', '&']; 915 916 for (var i = 0; i < chars.length; i++) { 917 if (href.indexOf(chars[i]) > -1) { 918 href = href.substr(0, href.indexOf(chars[i])); 919 } 920 } 921 922 return href; 923 }; 924})(jQuery, Drupal, drupalSettings);;
925/** 926* DO NOT EDIT THIS FILE. 927* See the following change record for more information, 928* https://www.drupal.org/node/2815083 929* @preserve 930**/ 931 932(function ($, Drupal, drupalSettings) { 933 Drupal.behaviors.ViewsAjaxView = {}; 934 935 Drupal.behaviors.ViewsAjaxView.attach = function (context, settings) { 936 if (settings && settings.views && settings.views.ajaxViews) { 937 var ajaxViews = settings.views.ajaxViews; 938 Object.keys(ajaxViews || {}).forEach(function (i) { 939 Drupal.views.instances[i] = new Drupal.views.ajaxView(ajaxViews[i]); 940 }); 941 } 942 }; 943 944 Drupal.behaviors.ViewsAjaxView.detach = function (context, settings, trigger) { 945 if (trigger === 'unload') { 946 if (settings && settings.views && settings.views.ajaxViews) { 947 var ajaxViews = settings.views.ajaxViews; 948 Object.keys(ajaxViews || {}).forEach(function (i) { 949 var selector = ".js-view-dom-id-".concat(ajaxViews[i].view_dom_id); 950 951 if ($(selector, context).length) { 952 delete Drupal.views.instances[i]; 953 delete settings.views.ajaxViews[i]; 954 } 955 }); 956 } 957 } 958 }; 959 960 Drupal.views = {}; 961 Drupal.views.instances = {}; 962 963 Drupal.views.ajaxView = function (settings) { 964 var selector = ".js-view-dom-id-".concat(settings.view_dom_id); 965 this.$view = $(selector); 966 var ajaxPath = drupalSettings.views.ajax_path; 967 968 if (ajaxPath.constructor.toString().indexOf('Array') !== -1) { 969 ajaxPath = ajaxPath[0]; 970 } 971 972 var queryString = window.location.search || ''; 973 974 if (queryString !== '') { 975 queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, ''); 976 977 if (queryString !== '') { 978 queryString = (/\?/.test(ajaxPath) ? '&' : '?') + queryString; 979 } 980 } 981 982 this.element_settings = { 983 url: ajaxPath + queryString, 984 submit: settings, 985 setClick: true, 986 event: 'click', 987 selector: selector, 988 progress: { 989 type: 'fullscreen' 990 } 991 }; 992 this.settings = settings; 993 this.$exposed_form = $("form#views-exposed-form-".concat(settings.view_name.replace(/_/g, '-'), "-").concat(settings.view_display_id.replace(/_/g, '-'))); 994 once('exposed-form', this.$exposed_form).forEach($.proxy(this.attachExposedFormAjax, this)); 995 once('ajax-pager', this.$view.filter($.proxy(this.filterNestedViews, this))).forEach($.proxy(this.attachPagerAjax, this)); 996 var selfSettings = $.extend({}, this.element_settings, { 997 event: 'RefreshView', 998 base: this.selector, 999 element: this.$view.get(0) 1000 }); 1001 this.refreshViewAjax = Drupal.ajax(selfSettings); 1002 }; 1003 1004 Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () { 1005 var that = this; 1006 this.exposedFormAjax = []; 1007 $('input[type=submit], button[type=submit], input[type=image]', this.$exposed_form).not('[data-drupal-selector=edit-reset]').each(function (index) { 1008 var selfSettings = $.extend({}, that.element_settings, { 1009 base: $(this).attr('id'), 1010 element: this 1011 }); 1012 that.exposedFormAjax[index] = Drupal.ajax(selfSettings); 1013 }); 1014 }; 1015 1016 Drupal.views.ajaxView.prototype.filterNestedViews = function () { 1017 return !this.$view.parents('.view').length; 1018 }; 1019 1020 Drupal.views.ajaxView.prototype.attachPagerAjax = function () { 1021 this.$view.find('ul.js-pager__items > li > a, th.views-field a, .attachment .views-summary a').each($.proxy(this.attachPagerLinkAjax, this)); 1022 }; 1023 1024 Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function (id, link) { 1025 var $link = $(link); 1026 var viewData = {}; 1027 var href = $link.attr('href'); 1028 $.extend(viewData, this.settings, Drupal.Views.parseQueryString(href), Drupal.Views.parseViewArgs(href, this.settings.view_base_path)); 1029 var selfSettings = $.extend({}, this.element_settings, {
1030 submit: viewData, 1031 base: false, 1032 element: link 1033 }); 1034 this.pagerAjax = Drupal.ajax(selfSettings); 1035 }; 1036 1037 Drupal.AjaxCommands.prototype.viewsScrollTop = function (ajax, response) { 1038 var offset = $(response.selector).offset(); 1039 var scrollTarget = response.selector; 1040 1041 while ($(scrollTarget).scrollTop() === 0 && $(scrollTarget).parent()) { 1042 scrollTarget = $(scrollTarget).parent(); 1043 } 1044 1045 if (offset.top - 10 < $(scrollTarget).scrollTop()) { 1046 $(scrollTarget).animate({ 1047 scrollTop: offset.top - 10 1048 }, 500); 1049 } 1050 }; 1051})(jQuery, Drupal, drupalSettings);; 1052/** 1053* DO NOT EDIT THIS FILE. 1054* See the following change record for more information, 1055* https://www.drupal.org/node/2815083 1056* @preserve 1057**/ 1058 1059(function ($, Drupal, drupalSettings) { 1060 $(document).ready(function () { 1061 $.ajax({ 1062 type: 'POST', 1063 cache: false, 1064 url: drupalSettings.statistics.url, 1065 data: drupalSettings.statistics.data 1066 }); 1067 }); 1068})(jQuery, Drupal, drupalSettings);;
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.