1document.addEventListener('DOMContentLoaded',function(){const renders=Array.prototype.slice.call(document.querySelectorAll('[data-sm-filter]'));renders.forEach(render=>{if(render.dataset.smFilter!=='24395SmSn1p3T100')return;new SM_Filter(render,{}).init()})});class SM_Filter{constructor(el,options={}){this._defaults={loadmore:"auto",designMode:!1,rendersettings:"rendersettings",filters:"selectedfilters",categories:"categories",errorMessageText:"",submitRerender:!1,defaultExternalLimit:30,forceInit:!1,logic:"AND"};this._statics={structurePrefix:"s-structure-layout-",loadmoreWrapper:"load-more",loadmoreButtonCls:"s-btn",loadmoreText:"",hidden:"s-hidden",paginationCls:"db-pagination",scrollViewPrefix:"scrollView",errorMessageCls:"s-error",};this._options=options?this._deepMerge(this._defaults,options):this._defaults;this._events={};this.initialParams=new URLSearchParams(location.search);this.render=el;this.renderID=this.render.dataset.filter} 2_deepMerge(arr){const argl=arguments.length;let retObj;if(Object.prototype.toString.call(arr)==="[object Array]"){retObj=[];for(let p in arr){retObj.push(arr[p])}}else{retObj={};for(let p in arr){retObj[p]=arr[p]}} 3for(let i=1;i<argl;i++){for(let p in arguments[i]){if(retObj[p]&&typeof retObj[p]==="object"){retObj[p]=this._deepMerge(retObj[p],arguments[i][p])}else{retObj[p]=arguments[i][p]}}} 4return retObj} 5_isArray(variable){return Array.isArray(variable)} 6_detectEnvironment(){const url=new URL(window.location.href);const page=url.searchParams.get("page");const layID=url.searchParams.get("layID");const isCMS=page!==null&&page==="vcmspage.php";
6const isDesign=url.pathname.includes("preview.php")&&layID!==null;const isLocal=isCMS||isDesign;const isPreview=isLocal?!1:url.hostname.includes("sitemn.gr");const projectPath=typeof cleanURL_path!=="undefined"?cleanURL_path:url.searchParams.get("SM_User")?`/users/${url.searchParams.get("SM_User")}`:url.pathname.split("/").filter((path,i)=>i<=2).join("/");return{local:isLocal,env:isCMS?"cms":isDesign?"design":isPreview?"preview":"live",baseUrl:`${url.hostname}${projectPath}`,}} 7_warnMsg(type){switch(type){case "el":{console.warn("SiteManager Filter: No render overview found.");return} 8case "object":{console.warn("SiteManager Filter: Error parsing render. Add the data attributes.");return} 9case "generic":{console.warn("SiteManager Filter: An error has occured.");return}}} 10_objectToUrl(obj){if(!obj)return obj;switch(this.type){case "external":return JSON.stringify(obj);case "dynamic":default:return Object.keys(obj).map((key)=>`${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join("&")}} 11_fetchData(url,data,type="POST"){return new Promise((resolve,reject)=>{const xhr=new XMLHttpRequest();xhr.open(type,url,!0);this.type==="external"?xhr.setRequestHeader("Content-Type","application/json"):xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xhr.onload=()=>{if(xhr.status===200){resolve(xhr.responseText)}else{reject({status:xhr.status,statusText:xhr.statusText,responseText:xhr.responseText,})}};xhr.onerror=function(){reject(Error("There was a network error."))};xhr.send(data)})} 12_buildErrorWindow(){const template=`<div class="s-error__window" style="position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 99999; background: #f55442; opacity: .9; padding: 3em; color: #fff; overflow: auto;"> 13 <header style="margin-bottom: 3em;"> 14 <h3 style="font-family: Arial, Helvetica, sans-serif, sans-serif; color: #fff; font-size: 2em; text-align: center; margin-bottom: .3em;">Some errors have been detected in your dynamic list.</h3> 15 <h4 style="font-family: Arial, Helvetica, sans-serif, sans-serif; color: #fff; font-size: 1.5em; text-align: center;">Please fix these errors before publishing your project!</h4> 16 </header> 17 <ul class="s-body__section" style="padding: 0; margin: 0; list-style-type: disc;"></ul> 18 </div>`;this.render.insertAdjacentHTML("afterbegin",template);this.render.style.minHeight="400px";this.errorWindow=this.render.querySelector(".s-error__window")} 19_setError(error){if(!this.errorWindow)this._buildErrorWindow();const body=this.errorWindow.querySelector(".s-body__section");const errorItem=`<li style="font-family: Arial, Helvetica, sans-serif, sans-serif;"> 20 ${error} 21 </li>`;body.insertAdjacentHTML("beforeend",errorItem)} 22_createErrorMessage(){const{hidden,errorMessageCls}=this._statics;let{errorMessageText}=this._options;if(errorMessageText==="")errorMessageText=this.filterbar?.dataset?.errorMessageText||"";this.error=document.createElement("div");this.error.textContent=errorMessageText;this.error.classList.add(errorMessageCls,hidden);this.renderContainer.append(this.error)} 23_setErrorMessage(){const{hidden}=this._statics;if(this.error){this.error.classList.remove(hidden);return}} 24_hideErrorMessage(){const{hidden}=this._statics;if(!this.error)return;this.error.classList.add(hidden)} 25_setURLParams(){const newParams=new URLSearchParams(window.location.search);const filters=this.getFilters();for(const[alias,params]of Object.entries(this.params)){newParams.delete(alias);for(const[key,value]of params.entries()){newParams.append(key,value)}} 26window.history.replaceState("","","?"+newParams.toString())} 27_clearRender(isTemplate=!1){const entries=isTemplate?[...this.renderContainer.content.children]:[...this.renderContainer.children];entries.forEach((entry)=>{if(entry===this.loadmore||entry===this.error)return;entry.remove()})} 28_detectErrors(){const{paginationCls}=this._statics;const hasPagination=this.render.querySelector(`.${paginationCls}`);if(hasPagination){this._setError("<b>Pagination Error:</b> As of now, pagination is not supported with dynamic filters.")} 29if(!this.loadmoreCheck){const rendersettings=JSON.parse(this.rendersettingsStart);switch(this.type){case "external":rendersettings.options.limit=1;break;case "dynamic":default:rendersettings.list_nr=1;break} 30this._fetchData(this.loadmoreUrl,this._objectToUrl(rendersettings)).then((response)=>{if(response==="no results"){this._setError("<b>Open Data Error:</b> Open data is not enabled. Please enable this option in the configuration of the collection.");return}}).catch((err)=>console.error(err))}} 31_detectLoadmore(){const{scrollViewPrefix}=this._statics;const loadmore=this.render.querySelector(`.${this._statics.loadmoreWrapper}`);if(loadmore){const nestedScript=loadmore.querySelector("script");
31if(nestedScript)nestedScript.remove();const id=loadmore.lastElementChild.id;this._statics.loadmoreText=loadmore.innerText;loadmore.remove();const script=this.render.querySelector("script");if(script)script.remove();if(id.startsWith(scrollViewPrefix)){this.onScroll=!0} 32return!0} 33return!1} 34_getPropertyBounds(property){return[]} 35_createDynamicFilterstring(logic){if(Object.keys(this._filters).length>0){const filterstring="("+Object.values(this._filters).join(`) ${logic} (`)+")";this.rendersettings.list_cat=`(${this.rendersettings.list_cat}) AND (${filterstring})`} 36if(Object.keys(this._fieldFilters).length>0){const fieldFilterstring="("+Object.values(this._fieldFilters).join(`) ${logic} (`)+")";this.rendersettings.list_filters+=`(${fieldFilterstring}) AND `} 37if(Object.keys(this._orderFilters).length>0){this.rendersettings.order_filters=Object.values(this._orderFilters).join(", ")} 38if(Object.keys(this._connectedFilters).length>0){this.rendersettings.connected=JSON.stringify(this._connectedFilters)} 39if(this._limit||this._limit===0){this.rendersettings.list_nr=this._limit} 40if(this._searchFilter?.value!==""&&this._searchFilter?.properties?.length>0){const searchFilterstring="("+this._searchFilter.properties.map(property=>'LOWER('+property+') LIKE `%'+this._searchFilter.value.toLowerCase()+'%`').join(" OR ")+")";this.rendersettings.list_filters+=`(${searchFilterstring}) AND `}} 41_createExternalFilterstring(logic){if(Object.keys(this._filters).length>0||Object.keys(this._fieldFilters).length>0){if(!this.rendersettings.options.hasOwnProperty("filter")||(!this.rendersettings.options.filter.hasOwnProperty("and")&&!this.rendersettings.options.filter.hasOwnProperty("or"))){this.rendersettings.options.filter={}} 42if(!this.rendersettings.options.filter.hasOwnProperty(logic)){const filters=JSON.parse(JSON.stringify(this.rendersettings.options.filter));this.rendersettings.options.filter[logic]=[];if(logic==="and"&&this.rendersettings.options.filter?.or){this.rendersettings.options.filter.and.push(filters);delete this.rendersettings.options.filter.or}} 43if(Object.keys(this._filters).length>0){if(logic==="or"&&this.rendersettings.options.filter?.and?.length===0){delete this.rendersettings.options.filter.and} 44if(logic==="or"&&this.rendersettings.options.filter?.and?.length>0){this.rendersettings.options.filter.and.push({or:Object.values(this._filters).flat(),});delete this.rendersettings.options.filter.or}else{this.rendersettings.options.filter[logic].push(...Object.values(this._filters).flat())}} 45if(Object.keys(this._fieldFilters).length>0){this.rendersettings.options.filter[logic].push(...Object.values(this._fieldFilters))}} 46if(Object.keys(this._orderFilters).length>0){if(!this.rendersettings.options.sorts) 47this.rendersettings.options.sorts=[];this.rendersettings.options.sorts.push(...Object.values(this._orderFilters))} 48if(this._searchFilter?.value!=="") 49this.rendersettings.options.search=this._searchFilter;if(this._limit||this._limit===0){this.rendersettings.options.limit=this._limit}} 50_createFilterstring(logic="AND",id=null,replaceOnEmpty=!0){this.rendersettings=JSON.parse(this.rendersettingsStart);if(this._events["change.before"]){this.emit("change.before","replace","filter")} 51switch(this.type){case "external":this._createExternalFilterstring(logic.toLowerCase());break;case "dynamic":default:this._createDynamicFilterstring(logic);break} 52this.loadEntries("replace","filter",id,replaceOnEmpty)} 53_getEndpoint(){switch(this.type){case "external":return this._environment.local?"https://s1.sitemn.gr/cmsfiles/ec_loadmore.php":`//${this._environment.baseUrl}swfiles/lib/external_content/loadmore.php`;case "dynamic":default:return this._environment.local?"https://s1.sitemn.gr/cmsfiles/loadmore.php":`//${this._environment.baseUrl}swfiles/lib/loadmore.php`}} 54_parseFetchResponse(response){switch(this.type){case "external":if(!response.success){throw new Error(response.message)} 55return{html:response.data?.reduce((acc,val)=>acc+val,"")||"",empty:!response.has_more,total:response.total,};case "dynamic":default:return response}} 56checkLoadmore(){this.rendersettings=JSON.parse(this.rendersettingsStart);let rendersettings={};let showAll=!1;switch(this.type){case "external":this._createExternalFilterstring(this.logic.toLowerCase());rendersettings=JSON.parse(JSON.stringify(this.rendersettings));showAll=rendersettings.options.limit===0;rendersettings.options.offset=rendersettings.options.limit;rendersettings.options.limit=1;break;case "dynamic":default:this._createDynamicFilterstring(this.logic);rendersettings=JSON.parse(JSON.stringify(this.rendersettings));showAll=parseInt(rendersettings.list_nr)===0;
56rendersettings.pageno=parseInt(rendersettings.list_nr)+1;rendersettings.list_nr=1;break} 57if(showAll&&this.loadmore){this.loadmore.classList.add(this._statics.hidden)} 58this._fetchData(this.loadmoreUrl,this._objectToUrl(rendersettings)).then((response)=>{if(response==="no results"){this._setError("<b>Open Data Error:</b> Open data is not enabled. Please enable this option in the configuration of the collection.");return} 59const data=this._parseFetchResponse(JSON.parse(response));const html=data.html;if(html!==""){if(this.loadmore) 60this.loadmore.classList.remove(this._statics.hidden);if(this.onScroll)this.initScroll();}else if(this.loadmore){this.loadmore.classList.add(this._statics.hidden)} 61if(this._events.total){this._total=data.total;this.emit("total",data.total)}}).catch((err)=>console.error(err))} 62initLoadmore(){const{loadmoreWrapper,loadmoreButtonCls,loadmoreText}=this._statics;this.loadmore=document.createElement("div");this.loadmore.classList.add(loadmoreWrapper);const button=document.createElement("button");button.classList.add(loadmoreButtonCls);button.textContent=loadmoreText;this.loadmore.append(button);this.renderContainer.append(this.loadmore);this.checkLoadmore()} 63initScroll(){const lastItem=[...this.renderContainer.children].reverse().find((item)=>!item.classList.contains(this._statics.errorMessageCls)&&item!==this.loadmore);if(!lastItem)return;const observer=new IntersectionObserver((entries,observer)=>{if(!entries[0].isIntersecting)return;observer.disconnect();if(this._events["change.before"]){this.emit("change.before","add","scroll")} 64switch(this.type){case "external":this.rendersettings.options.offset=this.rendersettings.options.offset+this.rendersettings.options.limit;break;case "dynamic":default:this.rendersettings.pageno=parseInt(this.rendersettings.pageno)+1;break} 65this.loadEntries("add","scroll")});observer.observe(lastItem)} 66initEvents(){if(this.loadmore){this.loadmore.addEventListener("click",(e)=>{if(!this.dynamicLoadmore){const button=e.target.closest(`.${this._statics.loadmoreButtonCls}`);if(!button)return} 67if(this._events["change.before"]){this.emit("change.before","add","loadmore")} 68switch(this.type){case "external":this.rendersettings.options.offset=this.rendersettings.options.offset+this.rendersettings.options.limit;break;case "dynamic":default:this.rendersettings.pageno=parseInt(this.rendersettings.pageno)+1;break} 69this.loadEntries("add","loadmore")})} 70if(this.resetButton){this.resetButton.addEventListener("click",()=>{this.reset()})}} 71loadFilter(filter){return new Promise((res,rej)=>{const filtersRenderSettings=this._deepMerge(this.rendersettings,{});filtersRenderSettings.returnType="filter";filtersRenderSettings.returnProperty=filter;this._fetchData(this.loadmoreUrl,this._objectToUrl(filtersRenderSettings)).then((response)=>{const data=JSON.parse(response);if(!data.success){throw new Error(data.message)} 72res(data.data)}).catch((err)=>{console.error(err);rej(err)})})} 73loadFilters(id){const filtersRenderSettings=this._deepMerge(this.rendersettings,{});filtersRenderSettings.returnType="filters";this._fetchData(this.loadmoreUrl,this._objectToUrl(filtersRenderSettings)).then((response)=>{const data=JSON.parse(response);if(!data.success){throw new Error(data.message)} 74this.categories=data.data;this.emit("rerender",this.categories,id)}).catch((err)=>console.error(err))} 75loadEntries(type,filter,id=null,replaceOnEmpty=!0){this.requests++;const addEntries=type==="add";const{hidden}=this._statics;if(this._environment.local&&this.type==="dynamic") 76this.rendersettings.list_nr_add=this.rendersettings.list_nr;this._fetchData(this.loadmoreUrl,this._objectToUrl(this.rendersettings)).then((response)=>{if(--this.requests>0)return;const data=JSON.parse(response);const formattedData=this._parseFetchResponse(data);const{html,empty,total}=formattedData;if(this._options.submitRerender&&this.type==="external"){this.loadFilters(id)} 77const isTemplate=this.renderContainer.nodeName==="TEMPLATE";if(html!==""){if(addEntries){if(this.loadmore&&!this.dynamicLoadmore){this.loadmore.insertAdjacentHTML("beforebegin",html)}else{if(isTemplate){const fragment=document.createRange().createContextualFragment(html);this.renderContainer.content.append(fragment)}else{this.renderContainer.insertAdjacentHTML("beforeend",html)}}}else{this._clearRender(isTemplate);
77if(this.loadmore&&!this.dynamicLoadmore){this.loadmore.insertAdjacentHTML("beforebegin",html)}else{if(isTemplate){const fragment=document.createRange().createContextualFragment(html);this.renderContainer.content.append(fragment)}else{this.renderContainer.insertAdjacentHTML("afterbegin",html)}}} 78if(typeof AOS!=="undefined"&&AOS){AOS.refreshHard()} 79if(this._events.total){this._total=data.total;this.emit("total",total)} 80if(this._events.change){this.emit("change",type,formattedData,filter);this.emit("change.after",type,formattedData,filter)} 81if(this.loadmore){if(empty){this.loadmore.classList.add(hidden)}else{this.loadmore.classList.remove(hidden)}} 82if(this.onScroll){if(!empty){this.initScroll()}} 83this._hideErrorMessage()}else{if(replaceOnEmpty){this._clearRender(isTemplate);if(this.loadmore)this.loadmore.classList.add(hidden);if(this._events.total){this._total=data.total;this.emit("total",total)} 84if(this._events.change){this.emit("change","empty",data,filter);this.emit("change.after","empty",data,filter)} 85this._setErrorMessage()}else{if(this._events.change){this.emit("change","empty",data,filter);this.emit("change.after","empty",data,filter)}}}}).catch((err)=>console.error(err))} 86on(name,listener){if(!this._events[name]){this._events[name]=[]} 87this._events[name].push(listener)} 88removeListener(name,listenerToRemove){if(!this._events[name]){throw new Error(`Can't remove a listener. Event "${name}" doesn't exists.`)} 89const filterListeners=(listener)=>listener!==listenerToRemove;this._events[name]=this._events[name].filter(filterListeners)} 90emit(name,...data){if(!this._events[name]){console.info(`Event "${name}" has no listeners.`);return} 91const fireCallbacks=(callback)=>{callback.call(this,...data)};this._events[name].forEach(fireCallbacks)} 92init(){const{structurePrefix}=this._statics;if(!this.render){this._warnMsg("el");return} 93this.connector=document.querySelector(`[data-render="${this.render.dataset.filter}"]`);if(!this.connector){const loadmore=this.render.querySelector(".load-more");if(!loadmore&&!this._options.forceInit)return} 94this.filterbar=document.querySelector(`[data-sm-filterbar][data-render="${this.render.dataset.filter}"]`);this.logic=this.filterbar?.dataset?.logic||this._options.logic;this.renderContainer=this.render.querySelector(`:scope > [class^="${structurePrefix}"]`)||this.render;try{this.rendersettings=JSON.parse(this.render.dataset[this._options.rendersettings]);this.categories=JSON.parse(this.render.dataset[this._options.categories])}catch(e){this._warnMsg("object");return} 95try{this.selectedfilters=JSON.parse(this.render.dataset[this._options.filters])}catch(e){this.selectedfilters=[]} 96this.type=this.rendersettings.hasOwnProperty("type")?this.rendersettings.type:"dynamic";switch(this.type){case "external":if(!this.rendersettings.hasOwnProperty("options")){this.rendersettings.options={limit:0,offset:0,sorts:[],}} 97if(!this.rendersettings.options.hasOwnProperty("limit")) 98this.rendersettings.options.limit=0;if(!this.rendersettings.options.hasOwnProperty("offset")) 99this.rendersettings.options.offset=0;if(!this.rendersettings.options.hasOwnProperty("sorts")) 100this.rendersettings.options.sorts=[];if(this.rendersettings.options.limit===0) 101this.rendersettings.options.limit=this._options.defaultExternalLimit;this.rendersettings.page_id=sw_var_pid;if(typeof sw_var_extcon_id!=="undefined") 102this.rendersettings.page_entry_id=sw_var_extcon_id;break;case "dynamic":default:this.rendersettings.list_filters=this.rendersettings.list_filters||this.selectedfilters.map((filter)=>"filter_"+filter.id+" = `"+filter.value+"` AND ").join("");this.rendersettings.sw_var_lid=this.rendersettings.sw_var_lid||sw_var_lid;this.rendersettings.session=!1;break} 103this.rendersettingsStart=JSON.stringify(this.rendersettings);this._environment=this._detectEnvironment();this.isLoading=!1;this.requests=0;this.params={};this._filters={};this._fieldFilters={};this._searchFilter={};this._orderFilters={};this._connectedFilters={};this._activeFilters={};this._total=null;this._limit=null;this.loadmoreUrl=this._getEndpoint();this.loadmore=document.querySelector(`[data-loadmore][data-render="${this.renderID}"]`);this.loadmoreCheck=!1;this.onScroll=!1;this.resetButton=document.querySelector(`[data-reset][data-render="${this.renderID}"]`);if(this.loadmore){this.dynamicLoadmore=!0;this.loadmoreCheck=!0;this._detectLoadmore();this.checkLoadmore()}else if(this._options.loadmore){if(this._detectLoadmore()){this.loadmoreCheck=!0;if(this.onScroll)this.checkLoadmore();else this.initLoadmore()}} 104if(this._environment.local){this._detectErrors()} 105this.error=document.querySelector(`[data-error][data-render="${this.renderID}"]`);if(!this.error)this._createErrorMessage();if(this._options.designMode&&this._environment.local) 106this.error.style.setProperty("display","block","important");this.initEvents();this.render.SM_Filter=this;
106const initEvent=new Event("init");this.render.dispatchEvent(initEvent);if(this._events.init){this.emit("init")}} 107isSubmitRerenderEnabled(){return this._options.submitRerender&&this.type==="external"} 108fetchData(object){return new Promise((resolve,reject)=>{this._fetchData(this.loadmoreUrl,this._objectToUrl(object)).then((response)=>{try{const data=JSON.parse(response);resolve({success:!0,data:data,})}catch(e){resolve({success:!1,data:response,})}}).catch((err)=>reject(err))})} 109getCategories(){if(!this.categories)return null;return this.categories} 110getType(){if(!this.type)return null;return this.type} 111getFilters(){return{filters:JSON.parse(JSON.stringify(this._filters)),fields:JSON.parse(JSON.stringify(this._fieldFilters)),search:JSON.parse(JSON.stringify(this._searchFilter)),orders:JSON.parse(JSON.stringify(this._orderFilters)),connected:JSON.parse(JSON.stringify(this._connectedFilters)),}} 112getPropertyBounds(property){return this._getPropertyBounds(property)} 113getRendersettings(){return this.rendersettings} 114getTotal(){return this._total} 115getActiveFilters(){return this._activeFilters} 116setParameters(alias,params){this.params[alias]=params;this._setURLParams()} 117deleteParameters(alias){this.params[alias]=new URLSearchParams();this._setURLParams()} 118updateParameters(){this._setURLParams()} 119setFilter(id,filterstring,submit=!0,activeFilters=[]){this._activeFilters[id]=activeFilters;if(filterstring===""||filterstring.length===0) 120delete this._filters[id];else this._filters[id]=filterstring;if(this._events["filter.set"]){this.emit("filter.set",id,activeFilters)} 121if(submit)this.submit(id);} 122clearInitialFilters(){this.rendersettingsStart=JSON.parse(this.rendersettingsStart);this.rendersettingsStart.list_cat="";this.rendersettingsStart=JSON.stringify(this.rendersettingsStart)} 123clearInitialFieldFilters(){this.rendersettingsStart=JSON.parse(this.rendersettingsStart);this.rendersettingsStart.list_filters="";this.rendersettingsStart=JSON.stringify(this.rendersettingsStart)} 124setFieldFilter(id,filterstring,submit=!0,replaceOnEmpty=!0){if(filterstring==="")delete this._fieldFilters[id];else this._fieldFilters[id]=filterstring;if(submit)this.submit(id,replaceOnEmpty);} 125setSubmitType(type){if(!["auto","change","submit"].includes(type))return;this.submitType=type} 126setLimit(limit,submit=!1){this._limit=limit;if(submit)this.submit();} 127resetLimit(submit=!1){this._limit=null;if(submit)this.submit();} 128setSearchFilter(value,properties,submit=!0){if(value==="")this._searchFilter={};else this._searchFilter={value:value,properties:properties,};if(submit)this.submit("search");} 129setOrderFilter(id,filterstring,submit=!0){if(filterstring==="")delete this._orderFilters[id];else this._orderFilters[id]=filterstring;if(submit)this.submit(id);} 130setConnectedFilter(filterobject,submit=!0){if(Object.keys(filterobject)===0)delete this._connectedFilters;else this._connectedFilters=filterobject;if(submit)this.submit();} 131setPage(page,type="replace",event="pagination"){this.rendersettings=JSON.parse(this.rendersettingsStart);switch(this.type){case "external":this._createExternalFilterstring(this.logic.toLowerCase());this.rendersettings.options.offset=Math.floor(this.rendersettings.options.limit*(page-1));break;case "dynamic":default:this._createDynamicFilterstring(this.logic);this.rendersettings.pageno=page;break} 132if(this._events["change.before"]){this.emit("change.before",type,event,page)} 133this.loadEntries(type,event)} 134setView(quantity){let activePage=1;let activeLimit=0;switch(this.type){case "external":activeLimit=this.rendersettings.options.limit;activePage=Math.floor(this.rendersettings.options.offset/activeLimit)+1;this.rendersettings.options.limit=quantity;break;case "dynamic":default:activeLimit=this.rendersettings.list_nr;activePage=this.rendersettings.pageno;this.rendersettings.list_nr=quantity;break}} 135reset(){if(this._events["reset.before"]){this.emit("reset.before")} 136this._filters={};this._fieldFilters={};this._searchFilter={};this._orderFilters={};this._connectedFilters={};this._activeFilters={};this._limit=null;this._createFilterstring(this.logic);
vendor: 7,336 bytes, lines 136-137
136if(this._events.reset){this.emit("reset")}} 137submit(id=null,replaceOnEmpty=!0){this._createFilterstring(this.logic,id,replaceOnEmpty)}};!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},r=n(1),a=(o(r),n(6)),u=o(a),c=n(7),f=o(c),s=n(8),d=o(s),l=n(9),p=o(l),m=n(10),b=o(m),v=n(11),y=o(v),g=n(14),h=o(g),w=[],k=!1,x={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},j=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},_=function(){w.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})},S=function(e){return e===!0||"mobile"===e&&p.default.mobile()||"phone"===e&&p.default.phone()||"tablet"===e&&p.default.tablet()||"function"==typeof e&&e()===!0},z=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?_():(document.querySelector("body").setAttribute("data-aos-easing",x.easing),document.querySelector("body").setAttribute("data-aos-duration",x.duration),document.querySelector("body").setAttribute("data-aos-delay",x.delay),"DOMContentLoaded"===x.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?j(!0):"load"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener("resize",(0,f.default)(j,x.debounceDelay,!0)),window.addEventListener("orientationchange",(0,f.default)(j,x.debounceDelay,!0)),window.addEventListener("scroll",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||(0,d.default)("[data-aos]",O),w)};e.exports={init:z,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(s,t),_?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=O();return c(e)?d(e):void(h=setTimeout(s,a(e)))}function d(e){return h=void 0,z&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),o(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,k=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(f);return t=u(t)||0,i(n)&&(_=!!n.leading,S="maxWait"in n,y=S?x(u(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError(f);return i(o)&&(r="leading"in o?!!o.leading:r,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t="undefined"==typeof e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==("undefined"==typeof e?"undefined":c(e))}function a(e){return"symbol"==("undefined"==typeof e?"undefined":c(e))||r(e)&&k.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return s;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?s:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f="Expected a function",s=NaN,d="[object Symbol]",l=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y="object"==("undefined"==typeof t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=y||g||Function("return this")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(s,t),_?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function f(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=j();return f(e)?d(e):void(h=setTimeout(s,u(e)))}function d(e){return h=void 0,z&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=f(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),i(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,O=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(_=!!n.leading,S="maxWait"in n,y=S?k(a(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e){var t="undefined"==typeof e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==("undefined"==typeof e?"undefined":u(e))}function r(e){return"symbol"==("undefined"==typeof e?"undefined":u(e))||i(e)&&w.call(e)==s}function a(e){if("number"==typeof e)return e;if(r(e))return f;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?f:+e}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",f=NaN,s="[object Symbol]",d=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v="object"==("undefined"==typeof t?"undefined":u(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,g=v||y||Function("return this")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e,t){var n=window.document,r=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,a=new r(o);i=t,a.observe(n.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}function o(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes
137),o=t.concat(n).filter(function(e){return e.hasAttribute&&e.hasAttribute("data-aos")}).length;o&&i()})}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){};t.default=n},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),r=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,a=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,u=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,c=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
137sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,f=function(){function e(){n(this,e)}return i(e,[{key:"phone",value:function(){var e=o();return!(!r.test(e)&&!a.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=o();return!(!u.test(e)&&!c.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),e}();t.default=new f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t,n){var o=e.node.getAttribute("data-aos-once");t>e.position?e.node.classList.add("aos-animate"):"undefined"!=typeof o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])});window.addEventListener('load',()=>{const disable=typeof AOS_BREAKPOINT!=="undefined"||(typeof AOS_BREAKPOINT!=="undefined"&&AOS_BREAKPOINT===0)?AOS_BREAKPOINT:0;if(typeof AOS!=="undefined"&&AOS){AOS.init({disable:window.innerWidth<disable,startEvent:'DOMContentLoaded',initClassName:'aos-init',animatedClassName:'aos-animate',useClassNames:!1,disableMutationObserver:!1,debounceDelay:50,throttleDelay:99,once:!0})}})
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.