PageSourceSearch

https://aml45.asso.fr/assets/aml45/app_news_list.min.js?v=c4ca4238

js aml45.asso.fr collected 2026-10-02 23:29:44 UTC 3,392 bytes, 1 lines download raw bytes

1!function(){class t{constructor(t){this.container=t,this.apiUrl="/api/news/search",this.url="",this.form=void 0,this.inputCurrentRequest=void 0,this.inputFilter=void 0,this.inputOffset=void 0,this.newsContainer=void 0,this.paginationContainer=void 0,this.bind()}bind(){this.url=new URL(window.location.href),this.form=this.container.querySelector("form.search-form"),this.newsContainer=this.container.querySelector(".news-items-container .news-items"),this.paginationContainer=this.container.querySelector(".news-items-container .pagination"),this.form&&(this.inputCurrentRequest=this.form.querySelector('input[type="hidden"][name="currentRequest"]'),this.inputFilter=this.form.querySelector('input[type="hidden"][name="filter"]'),this.inputOffset=this.form.querySelector('input[type="hidden"][name="offset"]'),this.total=parseInt(this.form.dataset.total),this.bindFilters(),this.updateFilters())}get activeFilterSlugs(){return[...this.filtersContainer.querySelectorAll("li.filter")].filter(t=>t.classList.contains("active")&&"all"!==t.dataset.slug).map(t=>t.dataset.slug)}bindFilters(){this.filtersContainer=this.container.querySelector(".news-filters ul.filters"),this.filtersContainer&&(this.filters=this.filtersContainer.querySelectorAll("li.filter"),this.filters.forEach(t=>{t.addEventListener("click",()=>{t.classList.toggle("active"),this.inputOffset.value="0","all"===t.dataset.slug&&this.reset(),this.inputFilter.value=this.activeFilterSlugs.join(","),this.url.searchParams.delete("page"),this.updateUrl(),this.fetch(!0),this.activeFilterSlugs.length?this.container.querySelector('li.filter[data-slug="all"]').classList.remove("active"):this.container.querySelector('li.filter[data-slug="all"]').classList.add("active")})}))}reset(){sessionStorage.removeItem("news_filters"),this.url.searchParams.delete("filters"),this.url.searchParams.delete("page"),this.filters.forEach(t=>{"all"!==t.dataset.slug&&t.classList.remove("active")})}updateUrl(){sessionStorage.getItem("news_filters")&&sessionStorage.setItem("news_filters",this.activeFilterSlugs.join(",")),this.activeFilterSlugs.length?(this.url.searchParams.set("filters",this.activeFilterSlugs.join(",")),sessionStorage.setItem("news_filters",this.activeFilterSlugs.join(","))):(this.url.searchParams.delete("filters"),sessionStorage.removeItem("news_filters")),window.history.pushState({},"",this.url.href),this.inputCurrentRequest.value=this.url.href}updateFilters(){sessionStorage.getItem("news_filters")&&(this.filters?.forEach(t=>{sessionStorage.getItem("news_filters").split(",").includes(t.dataset.slug)&&t.classList.add("active")}),this.updateUrl(),this.inputFilter.value=this.activeFilterSlugs.join(","),this.fetch(!0),this.activeFilterSlugs.length?this.container.querySelector('li.filter[data-slug="all"]').classList.remove("active"):this.container.querySelector('li.filter[data-slug="all"]').classList.add("active"))}fetch(t=!1){this.container.classList.add("loading"),this.data=new FormData(this.form),fetch(this.apiUrl,{method:"POST",body:this.data}).then(t=>t.json()).then(e=>{e.news&&(this.newsContainer.innerHTML=e.news,this.paginationContainer&&t&&(this.paginationContainer.innerHTML=e.pagination)),this.form.dataset.total=e.total,this.total=e.total,this.container.classList.remove("loading")})}}window.addEventListener("load",()=>{const e=document.querySelector(".module-news-list:not(.slider)");e&&new t(e)})}();

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.