PageSourceSearch

https://dequbus.be/swfiles/body/20260914162820.page.1.4.min.js

js dequbus.be collected 2026-09-27 04:35:02 UTC 25,455 bytes, 137 lines download raw bytes

1document.addEventListener('DOMContentLoaded',function(){const renders=Array.prototype.slice.call(document.querySelectorAll('[data-sm-filter]'));renders.forEach(render=>{if(render.dataset.smFilter!=='23509SmSn1p3T53')return;const smFilter=new SM_Filter(render,{designMode:!0,loadmore:'auto',});smFilter.on("change",e=>{const event=new Event('filterbarchanged');window.dispatchEvent(event)});smFilter.init()})});document.addEventListener('DOMContentLoaded',e=>{const formNodes=Array.prototype.slice.call(document.querySelectorAll('[data-form]'));formNodes.forEach(formNode=>{if(formNode.dataset.form==='smC16908SmSn1p3T5i339i336i153-style'){const smForm=new SM_Form(formNode,{designMode:!0,showSpecificErrors:!0,});smForm.mount()}})});document.addEventListener('DOMContentLoaded',e=>{const formNodes=Array.prototype.slice.call(document.querySelectorAll('[data-form]'));formNodes.forEach(formNode=>{if(formNode.dataset.form==='smC16908SmSn1p3T5i339i336i153-style'){const form=formNode.SM_Form;if(form){form.initDatepicker({})}}})});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);
136if(this._events.reset){this.emit("reset")}}
137submit(id=null,replaceOnEmpty=!0){this._createFilterstring(this.logic,id,replaceOnEmpty)}}

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.