1(function($,Drupal,drupalSettings){Drupal.behaviors.ViewsAjaxView={};Drupal.behaviors.ViewsAjaxView.attach=function(context,settings){if(settings?.views?.ajaxViews){const{views:{ajaxViews},}=settings;Object.keys(ajaxViews||{}).forEach((i)=>{Drupal.views.instances[i]=new Drupal.views.ajaxView(ajaxViews[i])})}};Drupal.behaviors.ViewsAjaxView.detach=(context,settings,trigger)=>{if(trigger==='unload'){if(settings?.views?.ajaxViews){const{views:{ajaxViews},}=settings;Object.keys(ajaxViews||{}).forEach((i)=>{const selector=`.js-view-dom-id-${ajaxViews[i].view_dom_id}`;if($(selector,context).length){delete Drupal.views.instances[i];delete settings.views.ajaxViews[i]}})}}};Drupal.views={};Drupal.views.instances={};Drupal.views.ajaxView=function(settings){const selector=`.js-view-dom-id-${settings.view_dom_id}`;this.$view=$(selector);this.$exposed_form=$(`form#views-exposed-form-${settings.view_name.replace( 2 /_/g, 3 '-', 4 )}-${settings.view_display_id.replace(/_/g, '-')}`,);let ajaxPath=drupalSettings.views.ajax_path;if(ajaxPath.constructor.toString().includes('Array')){ajaxPath=ajaxPath[0]} 5let queryString=window.location.search||'';if(queryString!==''){queryString=queryString.slice(1);const params=decodeURI(queryString).split('&').filter((param)=>{const[name,value]=param.split('=');return(this.$exposed_form.find(`input[name="${name}"]`).length===0&&!['page','reset','sort','order','q','render'].includes(name))});queryString=encodeURI(params.join('&'));if(queryString!==''){queryString=(ajaxPath.includes('?')?'&':'?')+queryString}} 6this.element_settings={url:ajaxPath+queryString,submit:settings,httpMethod:'GET',setClick:!0,event:'click',selector,progress:{type:'fullscreen'},};this.settings=settings;once('exposed-form',this.$exposed_form).forEach(this.attachExposedFormAjax.bind(this),);once('ajax-pager',this.$view.filter(this.filterNestedViews.bind(this)),).forEach(this.attachPagerAjax.bind(this));const selfSettings=$.extend({},this.element_settings,{event:'RefreshView',base:this.selector,httpMethod:'GET',element:this.$view.get(0),});this.refreshViewAjax=Drupal.ajax(selfSettings)};Drupal.views.ajaxView.prototype.attachExposedFormAjax=function(){const that=this;this.exposedFormAjax=[];$('input[type=submit], button[type=submit], input[type=image]',this.$exposed_form,).not('[data-drupal-selector=edit-reset]').each(function(index){const selfSettings=$.extend({},that.element_settings,{base:$(this).attr('id'),element:this,});that.exposedFormAjax[index]=Drupal.ajax(selfSettings)})};Drupal.views.ajaxView.prototype.filterNestedViews=function(){return!this.$view.parents('.view').length};Drupal.views.ajaxView.prototype.attachPagerAjax=function(){this.$view.find('.js-pager__items a, th.views-field a, .attachment .views-summary a',).each(this.attachPagerLinkAjax.bind(this))};Drupal.views.ajaxView.prototype.attachPagerLinkAjax=function(id,link){const $link=$(link);const viewData={};const href=$link.attr('href');$.extend(viewData,this.settings,Drupal.Views.parseQueryString(href),Drupal.Views.parseViewArgs(href,this.settings.view_base_path),);const selfSettings=$.extend({},this.element_settings,{submit:viewData,base:!1,element:link,httpMethod:'GET',});this.pagerAjax=Drupal.ajax(selfSettings)};Drupal.AjaxCommands.prototype.setBrowserUrl=(ajax,response)=>{if(ajax.element&&!ajax.element.closest('.ui-dialog-content')){window.history.replaceState(null,'',response.url)}}})(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.