@iamproperty/components 3.7.8 → 3.7.9-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/card/card.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +10 -10
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/dynamic.min.js +1 -1
- package/assets/js/modules/table.js +49 -31
- package/assets/js/scripts.bundle.js +13 -13
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/ts/components/accordion/README.md +15 -0
- package/assets/ts/components/applied-filters/README.md +15 -0
- package/assets/ts/components/card/README.md +15 -0
- package/assets/ts/components/fileupload/README.md +15 -0
- package/assets/ts/components/filterlist/README.md +15 -0
- package/assets/ts/components/header/README.md +16 -3
- package/assets/ts/components/notification/README.md +15 -0
- package/assets/ts/components/pagination/README.md +15 -0
- package/assets/ts/components/table/README.md +15 -0
- package/assets/ts/components/tabs/README.md +15 -0
- package/assets/ts/modules/table.ts +67 -44
- package/dist/components.es.js +1035 -1097
- package/dist/components.umd.js +43 -43
- package/package.json +1 -1
- package/src/components/Card/Card.vue +8 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/function n(r){let a=r.querySelectorAll("details"),e=r.querySelectorAll("summary");if(a.forEach(o=>{o.classList.add("accordion-item")}),e.forEach(o=>{o.classList.add("accordion-header"),o.classList.add("accordion-button"),o.classList.add("h4")}),!r.classList.contains("accordion--keep-open")){const o=r.querySelectorAll(":scope > details");o.forEach(c=>{c.addEventListener("click",()=>{o.forEach(i=>{i!==c&&i.removeAttribute("open")})})})}}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"accordion"});class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const a=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${a}/css/core.min.css`,o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/function h(u,m){function f(e,t){let c=!1,r=t.getAttribute("name");r.includes("[]")&&(r=r.replace("[]",`[${t.value}]`));let l=e.querySelector(`[data-name="${r}"]`);l&&t.getAttribute("type")=="checkbox"&&(c=!0);let i=t.getAttribute("data-filter-text");if(l||(l=document.createElement("button"),e.appendChild(l)),l.setAttribute("type","button"),l.classList.add("filter"),l.setAttribute("data-name",r),l.innerHTML=i.replace("$value",t.value),(!t.value||c)&&l.remove(),t.parentNode.closest("[data-filter-text]")){let d=t.parentNode.closest("[data-filter-text]"),p=!0;if(r="",d.querySelectorAll("input").forEach((a,o)=>{let n=a.getAttribute("name");if(r+=`${o!=0?",":""}${n}`,e.querySelector(`[data-name="${n}"]`)&&e.querySelector(`[data-name="${n}"]`).remove(),a.value){let s=document.createElement("button");s.setAttribute("type","button"),s.classList.add("filter"),s.setAttribute("data-name",n),s.innerHTML=i.replace("$value",a.value),e.appendChild(s)}else p=!1}),e.querySelector(`[data-name="${r}"]`)&&e.querySelector(`[data-name="${r}"]`).remove(),p){let a=d.getAttribute("data-filter-text");d.querySelectorAll("input").forEach((n,s)=>{let b=n.getAttribute("name");e.querySelector(`[data-name="${b}"]`)&&e.querySelector(`[data-name="${b}"]`).remove(),a=a.replace(`$${s+1}`,n.value)});let o=document.createElement("button");o.setAttribute("type","button"),o.classList.add("filter"),o.setAttribute("data-name",r),o.innerHTML=a,e.appendChild(o)}}}Array.from(u.querySelectorAll('input[type="checkbox"]:checked')).forEach((e,t)=>{f(m,e)}),u.addEventListener("change",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest("input[data-filter-text]")){let t=e.target.closest("input[data-filter-text]");f(m,t)}},!1),m.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){let r=e.target.closest(".filter"),l=r.getAttribute("data-name").split(",");for(var t=0;t<l.length;t++){let i=l[t],d=`[name="${i}"]`;i.match(/\[(.*)\]/)&&(i.replace(/\[(.*)\]/,"[]"),d=`[value="${i.replace(/.*\[(.*)\]/,"$1")}"]`);let p=u.querySelectorAll(d);for(var c=0;c<p.length;c++){let a=p[c];if(a.getAttribute("type")!="radio"&&a.getAttribute("type")!="checkbox")a.value="";else{a.checked=!1;var e=new Event("force");a.closest("form").dispatchEvent(e)}}}r.remove()}},!1)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class g extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const m=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",f=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${m}/css/core.min.css`;let e=this.classList.toString();const t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Card"});class h extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.querySelector('[class*="fa-"]')&&this.classList.add("card--has-icon");let t=this.classList.toString();const a=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",r=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${a}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/function r(s,t){n(s,t)}function n(s,t){var e;t.addEventListener("keyup",a=>{clearTimeout(e),e=setTimeout(function(){o(s,t.value)},500)}),t.addEventListener("change",a=>{clearTimeout(e),o(s,t.value)})}const o=function(s,t){Array.from(s.querySelectorAll(":scope > li")).forEach((e,a)=>{let i=e.textContent.toLowerCase();e.classList.add("d-none"),i.includes(t.toLowerCase())&&e.classList.remove("d-none")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Filtered list",value:t})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"filterlist"});class l extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"header"});class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const e=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",r=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${e}/css/core.min.css`,o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/function r(i){if(i.hasAttribute("data-type")&&i.getAttribute("data-type")=="toast"){let t=document.querySelector(".notification__holder");t||(t=document.createElement("div"),t.classList.add("notification__holder"),t.classList.add("container"),document.querySelector("body").appendChild(t)),i.closest(".notification__holder")||t.appendChild(i)}if(i.setAttribute("role","alert"),i.addEventListener("click",function(t){event&&event.target instanceof HTMLElement&&event.target.closest("[data-dismiss-button]")&&(t.preventDefault(),n(i))},!1),i.hasAttribute("data-timeout")){let t=i.getAttribute("data-timeout");var a=new c(function(){n(i)},t);i.addEventListener("mouseenter",o=>{a.pause()}),i.addEventListener("mouseleave",o=>{a.resume()})}}function c(i,a){var t,o,e=a;this.pause=function(){window.clearTimeout(t),e-=new Date-o},this.resume=function(){o=new Date,window.clearTimeout(t),t=window.setTimeout(i,e)},this.resume()}const n=function(i){i.classList.add("d-none")};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Notification"});class d extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const a=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${a}/css/core.min.css`,o=this.querySelectorAll("a,button");Array.from(o).forEach((s,l)=>{s.setAttribute("slot","btns"),s.classList.add("link")}),(o.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
4
|
*/const l=function(e,t){if(!e.getAttribute("data-pages"))return!1;e.getAttribute("data-page")||e.setAttribute("data-page",1);let a=e.getAttribute("data-page"),i=e.getAttribute("data-pages"),d=e.getAttribute("data-total"),n=e.getAttribute("data-show"),o=e.getAttribute("data-increment");if(i<=1)return t.innerHTML="",!1;let r="";for(let s=1;s<=i;s++)s==a?r+=`<li class="page-item active" aria-current="page"><span class="page-link">${s}</span></li>`:r+=`<li class="page-item"><a href="?page=${s}" class="page-link" data-page="${s}">${s}</a></li>`;return t.innerHTML=`<ul class="pagination mb-0 d-none d-sm-flex">
|
|
5
5
|
${a==1?'<li class="page-item disabled"><span class="page-link">Previous</span></li>':`<li class="page-item"><a href="?page=${parseInt(a)-1}" class="page-link" data-page="${parseInt(a)-1}">Previous</a></li>`}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v3.7.
|
|
2
|
+
* iamKey v3.7.9-beta
|
|
3
3
|
* Copyright 2022-2023 iamproperty
|
|
4
|
-
*/const
|
|
5
|
-
${
|
|
4
|
+
*/const U=function(a){return typeof a!="string"?!1:!isNaN(a)&&!isNaN(parseFloat(a))},z=(a,t)=>String(a).padStart(t,"0"),Y=a=>a.charAt(0).toUpperCase()+a.slice(1),v=function(a,t){if(!a.getAttribute("data-pages"))return!1;a.getAttribute("data-page")||a.setAttribute("data-page",1);let o=a.getAttribute("data-page"),r=a.getAttribute("data-pages"),n=a.getAttribute("data-total"),l=a.getAttribute("data-show"),s=a.getAttribute("data-increment");if(r<=1)return t.innerHTML="",!1;let d="";for(let i=1;i<=r;i++)i==o?d+=`<li class="page-item active" aria-current="page"><span class="page-link">${i}</span></li>`:d+=`<li class="page-item"><a href="?page=${i}" class="page-link" data-page="${i}">${i}</a></li>`;return t.innerHTML=`<ul class="pagination mb-0 d-none d-sm-flex">
|
|
5
|
+
${o==1?'<li class="page-item disabled"><span class="page-link">Previous</span></li>':`<li class="page-item"><a href="?page=${parseInt(o)-1}" class="page-link" data-page="${parseInt(o)-1}">Previous</a></li>`}
|
|
6
6
|
${d}
|
|
7
|
-
${
|
|
8
|
-
</ul>`,
|
|
9
|
-
<span class="d-block pb-2">You've viewed ${l} of ${
|
|
7
|
+
${o==r?'<li class="page-item disabled"><span class="page-link">Next</span></li>':`<li class="page-item"><a href="?page=${parseInt(o)+1}" class="page-link" data-page="${parseInt(o)+1}">Next</a></li>`}
|
|
8
|
+
</ul>`,t.innerHTML+=`<div class="d-sm-none text-center">
|
|
9
|
+
<span class="d-block pb-2">You've viewed ${l} of ${n} results</span>
|
|
10
10
|
<a href="?show=${parseInt(l)+parseInt(s)}" class="btn btn-primary w-100 m-0" data-show="${parseInt(l)+parseInt(s)}">Load more results</a>
|
|
11
|
-
</div>`,!0};var z=function(a,e,i,r){function o(l){return l instanceof i?l:new i(function(s){s(l)})}return new(i||(i=Promise))(function(l,s){function d(h){try{t(r.next(h))}catch(u){s(u)}}function c(h){try{t(r.throw(h))}catch(u){s(u)}}function t(h){h.done?l(h.value):o(h.value).then(d,c)}t((r=r.apply(a,e||[])).next())})};const R=a=>{const e=Array.from(a.querySelectorAll("thead th"));Array.from(a.querySelectorAll("tbody tr")).forEach((r,o)=>{const l=Array.from(r.querySelectorAll("th, td")),s=["0","low","medium","high","unknown","n/a","pending","verified","due","overdue","incomplete","complete","completed","approval required","upcoming","requires approval","to do","on track","not started","warning","error"];l.forEach((d,c)=>{const t=e[c];if(typeof t<"u"){let h=document.createElement("div");h.innerHTML=t.innerHTML;let u=h.textContent||h.innerText||"";d.setAttribute("data-label",u),t.hasAttribute("data-td-class")&&d.setAttribute("class",t.getAttribute("data-td-class")),t.hasAttribute("data-format")&&(d.setAttribute("data-format",t.getAttribute("data-format")),d.innerHTML=D(t.getAttribute("data-format"),d.textContent.trim())),s.includes(d.textContent.trim().toLowerCase())&&d.setAttribute("data-content",d.textContent.trim().toLowerCase())}})})},Y=a=>{let e=0;return Array.from(a.querySelectorAll("tbody tr")).forEach((i,r)=>{let o=window.getComputedStyle(document.querySelector("html")),l=i.querySelector(":scope > *:last-child > *:first-child");if(l){l.classList.add("text-nowrap");let s=l.offsetWidth/parseFloat(o.fontSize);s+=1.7,e=e>s?e:s}}),e},J=a=>{if(a.closest(".table--fullwidth")||a.querySelectorAll("thead tr th").length<4)return!1;Array.from(a.querySelectorAll("tbody tr")).forEach((e,i)=>{let r=e.querySelector(":scope > :is(td,th):first-child"),o=r.textContent;if(o!="")r.innerHTML=`<span class="td__content">${o}</span><button type="button" class="d-none">${o}</button>`;else{let l=e.querySelector(":scope > :is(td,th):nth-child(2)"),s=l.textContent;l.innerHTML=`<span class="td__content">${s}</span><button type="button" class="d-none">${s}</button>`}})},Q=a=>{a.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("tr > :is(td,th):first-child button")){let i=e.target.closest("tr > :is(td,th):first-child button"),r=i.parentNode.closest("tr");r.getAttribute("data-view")=="full"?r.setAttribute("data-view","default"):r.setAttribute("data-view","full"),i.blur()}})},j=(a,e)=>{let i=e.querySelector("[data-search]");if(!i)return!1;const r=i.getAttribute("id"),o=i.getAttribute("data-search").split(",");let l=i.parentNode,s={};o.forEach((d,c)=>{Array.from(a.querySelectorAll('td[data-label="'+d.trim()+'"]')).forEach((t,h)=>{t.querySelector(".td__content")?s[t.querySelector(".td__content").textContent]=t.querySelector(".td__content").textContent:s[t.textContent]=t.textContent})}),i.setAttribute("list",`${r}_list`),i.setAttribute("autocomplete","off"),l.querySelector("datalist")||(l.innerHTML+=`<datalist id="${r}_list"></datalist>`),l.querySelector("datalist").innerHTML=`${Object.keys(s).map(d=>`<option value="${d}"></option>`).join("")}`},X=(a,e,i,r,o)=>{var l;let s=function(t=!1){if(e.hasAttribute("data-ajax")){if(!t){let h=e.querySelector("[data-pagination]");h.value=1,r.setAttribute("data-page",1)}I(a,e,i,r)}else e.hasAttribute("data-submit")?e.submit():(M(a,e,r),T(r,i),$(a,e))};e.addEventListener("keyup",t=>{clearTimeout(l),t&&t.target instanceof HTMLElement&&t.target.closest("[data-search]")&&(l=setTimeout(function(){s()},500))}),e.addEventListener("change",t=>{clearTimeout(l),t&&t.target instanceof HTMLElement&&t.target.closest("[data-sort]")&&(e.hasAttribute("data-submit")||N(a,e,o),s()),t&&t.target instanceof HTMLElement&&t.target.closest("[data-search]")&&s(),t&&t.target instanceof HTMLElement&&t.target.closest("[data-filter][data-no-ajax]")?(M(a,e,r),T(r,i),$(a,e)):(t&&t.target instanceof HTMLElement&&t.target.closest("[data-filter]")&&t.target.closest("form .dialog__wrapper > dialog")||t&&t.target instanceof HTMLElement&&t.target.closest("[data-filter]")&&!t.target.closest("form dialog"))&&s(),t&&t.target instanceof HTMLElement&&t.target.closest("[data-show]")&&s(),t&&t.target instanceof HTMLElement&&t.target.closest("[data-mimic]")&&s()}),e.addEventListener("click",t=>{clearTimeout(l),t&&t.target instanceof HTMLElement&&t.target.closest('dialog button:not([type="button"])')&&t.target.closest('dialog button:not([type="button"])').closest("dialog").close(),t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__close")&&(t.preventDefault(),t.stopPropagation()),t&&t.target instanceof HTMLElement&&t.target.closest("[data-clear]")&&(e.reset(),e.hasAttribute("data-submit")||N(a,e,o),s())}),e.addEventListener("submit",t=>{clearTimeout(l),e.hasAttribute("data-submit")||t.preventDefault(),s()}),e.addEventListener("force",t=>{s()}),e.addEventListener("paginate",t=>{s(!0)});let d=[],c=[];Array.from(e.querySelectorAll("[data-mimic]")).forEach((t,h)=>{let u=t.getAttribute("data-mimic");Array.from(document.querySelectorAll(`[name="${u}"]`)).forEach((f,b)=>{let n=f.closest("form");d.includes(n)||d.push(n),c.includes(u)||c.push(u)})}),d.forEach((t,h)=>{const u=function(){let f=[],b=new FormData(t);for(const[n,y]of b)document.querySelector(`[data-mimic="${n}"]`)&&!f.includes(n)?(f.push(n),document.querySelector(`[data-mimic="${n}"]`).value=y):document.querySelector(`[data-mimic="${n}"]`)&&(document.querySelector(`[data-mimic="${n}"]`).value+=","+y);for(const n of f){const y=new Event("force");e.dispatchEvent(y)}for(const n of c)if(!b.has(n)&&t.querySelector(`[name="${n}"]`)){document.querySelector(`[data-mimic="${n}"]`).value="";const y=new Event("force");e.dispatchEvent(y)}};t.addEventListener("force",f=>{u()}),t.addEventListener("change",f=>{u()})})},N=(a,e,i)=>{if(e.getAttribute("data-ajax"))return!1;let r=a.querySelector("tbody"),o=e.querySelector("[data-sort]"),l=o.querySelector(`option:nth-child(${o.selectedIndex+1})`),s=l.getAttribute("data-sort"),d=l.getAttribute("data-order"),c=l.getAttribute("data-format");if(!s)return r.innerHTML=i.innerHTML,R(a),!1;let t=[];["asc","desc","descending"].includes(d)||(t=d.split(","));let h=[];Array.from(r.querySelectorAll("tr")).forEach((f,b)=>{let n=f.querySelector('td[data-label="'+s+'"], th[data-label="'+s+'"]').textContent.trim();f.querySelector('[data-label="'+s+'"] .td__content')&&(n=f.querySelector('[data-label="'+s+'"] .td__content').textContent.trim()),t.length&&t.includes(n)&&(n=t.indexOf(n)),F(n)&&(n=V(n,10)),c&&c=="date"&&(n=new Date(n));const y={index:n,row:f};h.push(y)}),h.sort((f,b)=>f.index>b.index?1:-1),(d=="descending"||d=="desc")&&(h=h.reverse());let u="";h.forEach((f,b)=>{u+=f.row.outerHTML}),r.innerHTML=u},M=(a,e,i)=>{a.classList.remove("table--filtered");let r=[],o=[],l=0,s=e.querySelector("[data-pagination]")?parseInt(e.querySelector("[data-pagination]").value):1,d=e.querySelector("[data-show]")?parseInt(e.querySelector("[data-show]").value):15;if(Array.from(a.querySelectorAll("tbody tr")).forEach((t,h)=>{t.classList.remove("filtered"),t.classList.remove("filtered--matched"),t.classList.remove("filtered--show"),t.removeAttribute("data-filtered-by")}),Array.from(e.querySelectorAll("[data-filter]")).forEach((t,h)=>{if(!(t.type=="radio"&&!t.checked)&&!(t.type=="checkbox"&&!t.checked)){if(t.getAttribute("data-filter")=="multi")for(const[u,f]of Object.entries(JSON.parse(t.value)))r[t.getAttribute("data-filter")].push(f);else if(t&&t.value){let u=t.getAttribute("data-filter");r[u]||(r[u]=new Array),r[u].push(t.value)}}}),e.querySelector("[data-search]")){let t=e.querySelector("[data-search]");e.querySelector("[data-search]").getAttribute("data-search").split(",").forEach((u,f)=>{o.push({column:`${u.trim()}`,value:`${t.value}`})})}Array.from(e.querySelectorAll("[data-filter-count]")).forEach((t,h)=>{t.innerHTML=""}),r.length&&Array.from(e.querySelectorAll("[data-filter-count]")).forEach((t,h)=>{t.innerHTML+=`(${r.length})`}),a.classList.add("table--filtered");for(const[t,h]of Object.entries(r))Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).forEach((u,f)=>{let b=!1;h.forEach((n,y)=>{let S=u.querySelector(`[data-label="${t}"]`);if(n&&n=="$today")n=D("date",new Date);else if(n&&n=="$yesterday"){let p=new Date;p.setDate(p.getDate()-1),n=D("date",p)}else if(n&&(n=="$thisWeek"||n=="$lastWeek")){let p=new Date,g=new Date(p.setDate(p.getDate()-(p.getDay()-1))),A=new Date(p.setDate(p.getDate()-p.getDay()+7)),m=new Date(S.textContent.toLowerCase());if(p.setHours(0,0,0,0),g.setHours(0,0,0,0),A.setHours(0,0,0,0),m.setHours(0,0,0,0),n=="$thisWeek")b=m>=g&&m<=A;else{let L=new Date(g.setDate(g.getDate()-7)),q=new Date(A.setDate(A.getDate()-7));L.setHours(0,0,0,0),q.setHours(0,0,0,0),b=m>=L&&m<=q}}else if(n&&n=="$thisMonth"){let p=new Date,g=p.getFullYear(),A=p.getMonth();var x=new Date(g,A,1),v=new Date(g,A+1,0);let m=new Date(S.textContent.toLowerCase());x.setHours(0,0,0,0),v.setHours(0,0,0,0),m.setHours(0,0,0,0),b=m>=x&&m<=v}else if(n&&n=="$lastMonth"){let p=new Date,g=p.getFullYear(),A=p.getMonth();var w=new Date(g,A-1,1),C=new Date(g,A,0);let m=new Date(S.textContent.toLowerCase());w.setHours(0,0,0,0),C.setHours(0,0,0,0),m.setHours(0,0,0,0),b=m>=w&&m<=C}S&&S.textContent.toLowerCase().includes(n.toLowerCase())&&(b=!0)}),b||(u.classList.add("filtered"),u.setAttribute("data-filtered-by",t))});Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).forEach((t,h)=>{let u=!(o.length>0&&o[0].value.length>=3);o.forEach((f,b)=>{let n=t.querySelector(`[data-label="${f.column}"]`);n&&f.value.length>=3&&n.textContent.toLowerCase().includes(f.value.toLowerCase())&&(u=!0)}),u||t.classList.add("filtered")}),Array.from(a.querySelectorAll("tbody tr:not(.filtered")).forEach((t,h)=>{l++,t.classList.add("filtered--matched"),Math.ceil(l/d)==parseInt(s)&&t.classList.add("filtered--show")}),i&&(i.setAttribute("data-page",s),i.setAttribute("data-pages",Math.ceil(l/d)),i.setAttribute("data-total",l),i.setAttribute("data-show",d))},$=(a,e,i)=>{Array.from(e.querySelectorAll("[data-query]")).forEach((o,l)=>{let s=o.getAttribute("data-query"),d;if(s=="total")i.hasAttribute("data-total")?d=i.getAttribute("data-total"):d=(a.classList.contains("table--filtered"),a.querySelectorAll("tbody tr").length);else if(!s.includes(" == ")&&s.includes(" & ")){let c=s.split(" & "),t="";c.forEach(h=>{t+=`:not([data-filtered-by="${h}"])`}),d=Array.from(a.querySelectorAll(`tbody tr${t}`)).length}else if(!s.includes(" == "))d=Array.from(a.querySelectorAll(`tbody tr:not([data-filtered-by="${s}"])`)).length;else if(s.includes(" && ")){let c=s.split(" && ");d=Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).filter(function(t){let h=!0;for(const[u,f]of Object.entries(c)){let b=f.split(" == ");(!t.querySelector(`td[data-label="${b[0]}"]`)||t.querySelector(`td[data-label="${b[0]}"]`).textContent!=`${b[1]}`)&&(h=!1)}return h}).length}else{let c=s.split(" == ");d=Array.from(a.querySelectorAll(`tbody tr.filtered--matched td[data-label="${c[0]}"], tbody tr[data-filtered-by="${c[0]}"] td[data-label="${c[0]}"]`)).filter(function(t){return t.textContent===c[1]}).length}o.hasAttribute("data-total")?o.setAttribute("data-total",d):o.innerHTML=d})},G=function(a,e,i,r){i.addEventListener("click",o=>{if(o&&o.target instanceof HTMLElement&&o.target.closest("[data-page]")){o.preventDefault();let l=e.querySelector("[data-pagination]"),s=o.target.closest("[data-page]").getAttribute("data-page");if(l.value=s,r.setAttribute("data-page",s),e.dispatchEvent(new Event("paginate")),a.hasAttribute("data-show-history")){const t=new URL(location);t.searchParams.set("page",s),history.pushState({type:"pagination",form:e.getAttribute("id"),page:s},"",t)}const d=-250,c=a.getBoundingClientRect().top+window.pageYOffset+d;window.scrollTo({top:c,behavior:"smooth"})}if(o&&o.target instanceof HTMLElement&&o.target.closest("[data-show]")){o.preventDefault();let l=e.querySelector("[data-show]"),s=o.target.closest("[data-show]").getAttribute("data-show");l.value=s,r.setAttribute("data-show",s),e.dispatchEvent(new Event("submit"))}})},K=(a,e)=>{if(!a)return!1;a.addEventListener("click",i=>{Z(e)})},Z=function(a){for(var e=[],i=a.getElementsByTagName("tr"),r=0;r<i.length;r++){for(var o=i[r].querySelectorAll("td,th"),l=[],s=0;s<o.length;s++)l.push(`"${o[s].textContent}"`);e.push(l.join(","))}e=e.join(`
|
|
12
|
-
`);let d=new Blob([
|
|
11
|
+
</div>`,!0};var Q=function(a,t,o,r){function n(l){return l instanceof o?l:new o(function(s){s(l)})}return new(o||(o=Promise))(function(l,s){function d(u){try{e(r.next(u))}catch(b){s(b)}}function i(u){try{e(r.throw(u))}catch(b){s(b)}}function e(u){u.done?l(u.value):n(u.value).then(d,i)}e((r=r.apply(a,t||[])).next())})};const R=a=>{const t=Array.from(a.querySelectorAll("thead th"));Array.from(a.querySelectorAll("tbody tr")).forEach((r,n)=>{const l=Array.from(r.querySelectorAll("th, td")),s=["0","low","medium","high","unknown","n/a","pending","verified","due","overdue","incomplete","complete","completed","approval required","upcoming","requires approval","to do","on track","not started","warning","error"];l.forEach((d,i)=>{const e=t[i];if(typeof e<"u"){let u=document.createElement("div");u.innerHTML=e.innerHTML;let b=u.textContent||u.innerText||"";d.setAttribute("data-label",b),e.hasAttribute("data-td-class")&&d.setAttribute("class",e.getAttribute("data-td-class")),e.hasAttribute("data-format")&&(d.setAttribute("data-format",e.getAttribute("data-format")),d.innerHTML=k(e.getAttribute("data-format"),d.textContent.trim())),s.includes(d.textContent.trim().toLowerCase())&&d.setAttribute("data-content",d.textContent.trim().toLowerCase())}})})},X=a=>{let t=0;return Array.from(a.querySelectorAll("tbody tr")).forEach((o,r)=>{let n=window.getComputedStyle(document.querySelector("html")),l=o.querySelector(":scope > *:last-child > *:first-child");if(l){l.classList.add("text-nowrap");let s=l.offsetWidth/parseFloat(n.fontSize);s+=1.7,t=t>s?t:s}}),t},J=a=>{if(a.closest(".table--fullwidth")||a.querySelectorAll("thead tr th").length<4)return!1;Array.from(a.querySelectorAll("tbody tr")).forEach((t,o)=>{let r=t.querySelector(":scope > :is(td,th):first-child"),n=r.textContent;if(n!="")r.innerHTML=`<span class="td__content">${n}</span><button type="button" class="d-none">${n}</button>`;else{let l=t.querySelector(":scope > :is(td,th):nth-child(2)"),s=l.textContent;l.innerHTML=`<span class="td__content">${s}</span><button type="button" class="d-none">${s}</button>`}})},G=a=>{a.addEventListener("click",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("tr > :is(td,th):first-child button")){let o=t.target.closest("tr > :is(td,th):first-child button"),r=o.parentNode.closest("tr");r.getAttribute("data-view")=="full"?r.setAttribute("data-view","default"):r.setAttribute("data-view","full"),o.blur()}})},N=(a,t)=>{let o=t.querySelector("[data-search]");if(!o)return!1;const r=o.getAttribute("id"),n=o.getAttribute("data-search").split(",");let l=o.parentNode,s={};n.forEach((d,i)=>{Array.from(a.querySelectorAll('td[data-label="'+d.trim()+'"]')).forEach((e,u)=>{e.querySelector(".td__content")?s[e.querySelector(".td__content").textContent]=e.querySelector(".td__content").textContent:s[e.textContent]=e.textContent})}),o.setAttribute("list",`${r}_list`),o.setAttribute("autocomplete","off"),l.querySelector("datalist")||(l.innerHTML+=`<datalist id="${r}_list"></datalist>`),l.querySelector("datalist").innerHTML=`${Object.keys(s).map(d=>`<option value="${d}"></option>`).join("")}`},K=(a,t,o,r,n)=>{var l;let s=function(e=!1){if(t.hasAttribute("data-ajax")){if(!e){let u=t.querySelector("[data-pagination]");u.value=1,r.setAttribute("data-page",1)}W(a,t,o,r)}else t.hasAttribute("data-submit")?t.submit():(D(a,t,r),v(r,o),T(a,t));if(t.hasAttribute("data-ajax-post")){let u=new FormData(t),b=new URLSearchParams(u).toString();const c=new XMLHttpRequest;c.open("GET",`${window.location.href}?ajax=true&${b}`),c.send()}};t.addEventListener("keyup",e=>{clearTimeout(l),e&&e.target instanceof HTMLElement&&e.target.closest("[data-search]")&&(l=setTimeout(function(){s()},500))}),t.addEventListener("change",e=>{clearTimeout(l),e&&e.target instanceof HTMLElement&&e.target.closest("[data-sort]")&&(t.hasAttribute("data-submit")||P(a,t,n),s()),e&&e.target instanceof HTMLElement&&e.target.closest("[data-search]")&&s(),e&&e.target instanceof HTMLElement&&e.target.closest("[data-filter][data-no-ajax]")?(D(a,t,r),v(r,o),T(a,t)):(e&&e.target instanceof HTMLElement&&e.target.closest("[data-filter]")&&e.target.closest("form .dialog__wrapper > dialog")||e&&e.target instanceof HTMLElement&&e.target.closest("[data-filter]")&&!e.target.closest("form dialog"))&&s(),e&&e.target instanceof HTMLElement&&e.target.closest("[data-show]")&&s(),e&&e.target instanceof HTMLElement&&e.target.closest("[data-mimic]")&&s()}),t.addEventListener("click",e=>{clearTimeout(l),e&&e.target instanceof HTMLElement&&e.target.closest('dialog button:not([type="button"])')&&e.target.closest('dialog button:not([type="button"])').closest("dialog").close(),e&&e.target instanceof HTMLElement&&e.target.closest(".dialog__close")&&(e.preventDefault(),e.stopPropagation()),e&&e.target instanceof HTMLElement&&e.target.closest("[data-clear]")&&(t.reset(),t.hasAttribute("data-submit")||P(a,t,n),s())}),t.addEventListener("submit",e=>{clearTimeout(l),t.hasAttribute("data-submit")||e.preventDefault(),s()}),t.addEventListener("force",e=>{s()}),t.addEventListener("paginate",e=>{s(!0)});let d=[],i=[];Array.from(t.querySelectorAll("[data-mimic]")).forEach((e,u)=>{let b=e.getAttribute("data-mimic");Array.from(document.querySelectorAll(`[name="${b}"]`)).forEach((c,h)=>{let f=c.closest("form");d.includes(f)||d.push(f),i.includes(b)||i.push(b)})}),d.forEach((e,u)=>{const b=function(){let c=[],h=new FormData(e);for(const[f,m]of h)document.querySelector(`[data-mimic="${f}"]`)&&!c.includes(f)?(c.push(f),document.querySelector(`[data-mimic="${f}"]`).value=m):document.querySelector(`[data-mimic="${f}"]`)&&(document.querySelector(`[data-mimic="${f}"]`).value+=","+m);for(const f of c){const m=new Event("force");t.dispatchEvent(m)}for(const f of i)if(!h.has(f)&&e.querySelector(`[name="${f}"]`)){document.querySelector(`[data-mimic="${f}"]`).value="";const m=new Event("force");t.dispatchEvent(m)}};e.addEventListener("force",c=>{b()}),e.addEventListener("change",c=>{b()})})},P=(a,t,o)=>{if(t.getAttribute("data-ajax"))return!1;let r=a.querySelector("tbody"),n=t.querySelector("[data-sort]"),l=n.querySelector(`option:nth-child(${n.selectedIndex+1})`),s=l.getAttribute("data-sort"),d=l.getAttribute("data-order"),i=l.getAttribute("data-format");if(!s)return r.innerHTML=o.innerHTML,R(a),!1;let e=[];["asc","desc","descending"].includes(d)||(e=d.split(","));let u=[];Array.from(r.querySelectorAll("tr")).forEach((c,h)=>{let f=c.querySelector('td[data-label="'+s+'"], th[data-label="'+s+'"]').textContent.trim();c.querySelector('[data-label="'+s+'"] .td__content')&&(f=c.querySelector('[data-label="'+s+'"] .td__content').textContent.trim()),e.length&&e.includes(f)&&(f=e.indexOf(f)),U(f)&&(f=z(f,10)),i&&i=="date"&&(f=new Date(f));const m={index:f,row:c};u.push(m)}),u.sort((c,h)=>c.index>h.index?1:-1),(d=="descending"||d=="desc")&&(u=u.reverse());let b="";u.forEach((c,h)=>{b+=c.row.outerHTML}),r.innerHTML=b},D=(a,t,o)=>{a.classList.remove("table--filtered");let r=O(t),n=[],l=0,s=t.querySelector("[data-pagination]")?parseInt(t.querySelector("[data-pagination]").value):1,d=t.querySelector("[data-show]")?parseInt(t.querySelector("[data-show]").value):15;if(Array.from(a.querySelectorAll("tbody tr")).forEach((i,e)=>{i.classList.remove("filtered"),i.classList.remove("filtered--matched"),i.classList.remove("filtered--show"),i.removeAttribute("data-filtered-by")}),t.querySelector("[data-search]")){let i=t.querySelector("[data-search]");t.querySelector("[data-search]").getAttribute("data-search").split(",").forEach((u,b)=>{n.push({column:`${u.trim()}`,value:`${i.value}`})})}Array.from(t.querySelectorAll("[data-filter-count]")).forEach((i,e)=>{i.innerHTML=""}),Object.keys(r).length&&Array.from(t.querySelectorAll("[data-filter-count]")).forEach((i,e)=>{i.innerHTML+=`(${Object.keys(r).length})`}),a.classList.add("table--filtered");for(const[i,e]of Object.entries(r))Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).forEach((u,b)=>{let c=!1;e.forEach((h,f)=>{let m=u.querySelector(`[data-label="${i}"]`);if(h&&h=="$today")h=k("date",new Date);else if(h&&h=="$yesterday"){let y=new Date;y.setDate(y.getDate()-1),h=k("date",y)}else if(h&&(h=="$thisWeek"||h=="$lastWeek")){let y=new Date,A=new Date(y.setDate(y.getDate()-(y.getDay()-1))),p=new Date(y.setDate(y.getDate()-y.getDay()+7)),g=new Date(m.textContent.toLowerCase());if(y.setHours(0,0,0,0),A.setHours(0,0,0,0),p.setHours(0,0,0,0),g.setHours(0,0,0,0),h=="$thisWeek")c=g>=A&&g<=p;else{let $=new Date(A.setDate(A.getDate()-7)),w=new Date(p.setDate(p.getDate()-7));$.setHours(0,0,0,0),w.setHours(0,0,0,0),c=g>=$&&g<=w}}else if(h&&h=="$thisMonth"){let y=new Date,A=y.getFullYear(),p=y.getMonth();var S=new Date(A,p,1),x=new Date(A,p+1,0);let g=new Date(m.textContent.toLowerCase());S.setHours(0,0,0,0),x.setHours(0,0,0,0),g.setHours(0,0,0,0),c=g>=S&&g<=x}else if(h&&h=="$lastMonth"){let y=new Date,A=y.getFullYear(),p=y.getMonth();var L=new Date(A,p-1,1),q=new Date(A,p,0);let g=new Date(m.textContent.toLowerCase());L.setHours(0,0,0,0),q.setHours(0,0,0,0),g.setHours(0,0,0,0),c=g>=L&&g<=q}m&&m.textContent.toLowerCase().includes(h.toLowerCase())&&(c=!0)}),c||(u.classList.add("filtered"),u.setAttribute("data-filtered-by",i))});Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).forEach((i,e)=>{let u=!(n.length>0&&n[0].value.length>=3);n.forEach((b,c)=>{let h=i.querySelector(`[data-label="${b.column}"]`);h&&b.value.length>=3&&h.textContent.toLowerCase().includes(b.value.toLowerCase())&&(u=!0)}),u||i.classList.add("filtered")}),Array.from(a.querySelectorAll("tbody tr:not(.filtered")).forEach((i,e)=>{l++,i.classList.add("filtered--matched"),Math.ceil(l/d)==parseInt(s)&&i.classList.add("filtered--show")}),o&&(o.setAttribute("data-page",s),o.setAttribute("data-pages",Math.ceil(l/d)),o.setAttribute("data-total",l),o.setAttribute("data-show",d))},T=(a,t,o)=>{Array.from(t.querySelectorAll("[data-query]")).forEach((n,l)=>{let s=n.getAttribute("data-query"),d;if(s=="total")o.hasAttribute("data-total")?d=o.getAttribute("data-total"):d=(a.classList.contains("table--filtered"),a.querySelectorAll("tbody tr").length);else if(!s.includes(" == ")&&s.includes(" & ")){let i=s.split(" & "),e="";i.forEach(u=>{e+=`:not([data-filtered-by="${u}"])`}),d=Array.from(a.querySelectorAll(`tbody tr${e}`)).length}else if(!s.includes(" == "))d=Array.from(a.querySelectorAll(`tbody tr:not([data-filtered-by="${s}"])`)).length;else if(s.includes(" && ")){let i=s.split(" && ");d=Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).filter(function(e){let u=!0;for(const[b,c]of Object.entries(i)){let h=c.split(" == ");(!e.querySelector(`td[data-label="${h[0]}"]`)||e.querySelector(`td[data-label="${h[0]}"]`).textContent!=`${h[1]}`)&&(u=!1)}return u}).length}else{let i=s.split(" == ");d=Array.from(a.querySelectorAll(`tbody tr.filtered--matched td[data-label="${i[0]}"], tbody tr[data-filtered-by="${i[0]}"] td[data-label="${i[0]}"]`)).filter(function(e){return e.textContent===i[1]}).length}n.hasAttribute("data-total")?n.setAttribute("data-total",d):n.innerHTML=d})},Z=function(a,t,o,r){o.addEventListener("click",n=>{if(n&&n.target instanceof HTMLElement&&n.target.closest("[data-page]")){n.preventDefault();let l=t.querySelector("[data-pagination]"),s=n.target.closest("[data-page]").getAttribute("data-page");if(l.value=s,r.setAttribute("data-page",s),t.dispatchEvent(new Event("paginate")),a.hasAttribute("data-show-history")){const e=new URL(location);e.searchParams.set("page",s),history.pushState({type:"pagination",form:t.getAttribute("id"),page:s},"",e)}const d=-250,i=a.getBoundingClientRect().top+window.pageYOffset+d;window.scrollTo({top:i,behavior:"smooth"})}if(n&&n.target instanceof HTMLElement&&n.target.closest("[data-show]")){n.preventDefault();let l=t.querySelector("[data-show]"),s=n.target.closest("[data-show]").getAttribute("data-show");l.value=s,r.setAttribute("data-show",s),t.dispatchEvent(new Event("submit"))}})},tt=(a,t)=>{if(!a)return!1;a.addEventListener("click",o=>{et(t)})},et=function(a){for(var t=[],o=a.getElementsByTagName("tr"),r=0;r<o.length;r++){for(var n=o[r].querySelectorAll("td,th"),l=[],s=0;s<n.length;s++)l.push(`"${n[s].textContent}"`);t.push(l.join(","))}t=t.join(`
|
|
12
|
+
`);let d=new Blob([t],{type:"text/csv"});var i=document.createElement("a");i.download="export.csv";var e=window.URL.createObjectURL(d);i.href=e,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)},I=function(a,t,o,r){if(R(a),J(a),T(a,t,r),r&&r.classList.contains("table--cta")){let l=function(){Array.from(a.querySelectorAll("tr")).forEach((s,d)=>{let i=s.offsetHeight;s.style.setProperty("--row-height",`${i}px`)})};const n=X(a);r.style.setProperty("--cta-width",`${n}rem`),new ResizeObserver(l).observe(a)}},O=function(a){let t=new Object;return Array.from(a.querySelectorAll("[data-filter]")).forEach((r,n)=>{if(!(r.type=="radio"&&!r.checked)&&!(r.type=="checkbox"&&!r.checked)&&r&&r.value){let l=r.getAttribute("data-filter");t[l]||(t[l]=new Array),t[l].push(r.value)}}),t},W=function(a,t,o,r){return Q(this,void 0,void 0,function*(){const n=(c,h,f)=>h.split(/[\.\[\]\'\"]/).filter(m=>m).reduce((m,S)=>m?m[S]:f,c);let l=new FormData(t),s=new URLSearchParams(l).toString(),d=a.querySelectorAll("thead tr th"),i=a.querySelector("tbody"),e=t.getAttribute("data-ajax");r.classList.add("table--loading");let u=O(t);Array.from(t.querySelectorAll("[data-filter-count]")).forEach((c,h)=>{c.innerHTML=""}),Object.keys(u).length&&Array.from(t.querySelectorAll("[data-filter-count]")).forEach((c,h)=>{c.innerHTML+=`(${Object.keys(u).length})`}),window.controller||(window.controller=[]),window.controller[e]&&window.controller[e].abort(),window.controller[e]=new AbortController;const{signal:b}=controller[e];try{yield fetch(e+"?"+s,{signal:b,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest"})}).then(c=>c.json()).then(c=>{let h=t.hasAttribute("data-schema")?t.getAttribute("data-schema"):"data",f=t.hasAttribute("data-schema-total")?t.getAttribute("data-schema-total"):"meta.total",m=t.hasAttribute("data-schema-page")?t.getAttribute("data-schema-page"):"meta.current_page",S=n(c,f,1),x=n(c,m,1),L=n(c,h),q=r.hasAttribute("data-empty-msg")?r.getAttribute("data-empty-msg"):"No results found";L?(i.innerHTML="",L.forEach((y,A)=>{var p=document.createElement("tr");d.forEach((g,$)=>{let w="";var C=document.createElement("td");if(C.setAttribute("data-label",g.innerText),g.getAttribute("data-output")){var H=g.getAttribute("data-output");w=H.replace(new RegExp(/{(.*?)}/,"gm"),function(_){return n(y,_.replace("{","").replace("}",""))})}if(g.hasAttribute("data-output-array")){var H=g.getAttribute("data-output");let F=n(y,H.replace("{","").replace("}",""));w="",F.forEach((j,rt)=>{let B=g.getAttribute("data-output-array"),E="";if(g.hasAttribute("data-output-array-property")&&g.hasAttribute("data-output-array-transform")){const M=n(j,g.getAttribute("data-output-array-property")),V=JSON.parse(g.getAttribute("data-output-array-transform"))[M];E=B.replace(`{${g.getAttribute("data-output-array-property")}}`,V)}E=E.replace(new RegExp(/{(.*?)}/,"gm"),function(M){return n(j,M.replace("{","").replace("}",""))}),w+=E})}g.hasAttribute("data-transform")&&(w=JSON.parse(g.getAttribute("data-transform"))[w],!w&&g.hasAttribute("data-default")&&(w=g.getAttribute("data-default"))),C.innerHTML=w,p.appendChild(C)}),i.appendChild(p)}),N(a,t),r.setAttribute("data-total",parseInt(S)),r.setAttribute("data-page",parseInt(x)),r.setAttribute("data-pages",Math.ceil(r.getAttribute("data-total")/r.getAttribute("data-show"))),I(a,t,o,r),v(r,o),Array.from(t.querySelectorAll("[data-ajax-query]")).forEach((y,A)=>{let p=n(c,y.getAttribute("data-ajax-query"),"");y.hasAttribute("data-total")?y.setAttribute("data-total",p):y.innerHTML=p}),parseInt(S)==0&&(i.innerHTML=`<tr><td colspan="100%"><span>${q}</span></td></tr>`),r.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:e,formData:s})):i.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>'})}catch(c){console.log(c)}})},k=(a,t)=>{switch(a){case"datetime":return new Date(t).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(t).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(t).toLocaleDateString("en-gb",{year:"2-digit",month:"long",day:"numeric"});case"capitalise":return t=Y(t)}};class at extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
|
|
13
13
|
<style>
|
|
14
|
-
@import "${
|
|
14
|
+
@import "${o}";
|
|
15
15
|
|
|
16
16
|
:host(.mh-sm){
|
|
17
17
|
max-height: none!important;
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
33
|
<div class="table__pagination"></div>
|
|
34
|
-
`,this.shadowRoot.appendChild(r.content.cloneNode(!0))}connectedCallback(){const
|
|
34
|
+
`,this.shadowRoot.appendChild(r.content.cloneNode(!0))}connectedCallback(){const t=new URLSearchParams(window.location.search);this.hasAttribute("data-total")||this.setAttribute("data-total",this.querySelectorAll("table tbody tr").length),this.hasAttribute("data-page")||this.setAttribute("data-page",t.has("page")?t.get("page"):1),this.hasAttribute("data-show")||this.setAttribute("data-show",15),this.hasAttribute("data-increment")||this.setAttribute("data-increment",15),this.setAttribute("data-pages",Math.ceil(this.getAttribute("data-total")/this.getAttribute("data-show")));let o=this.classList.toString();o=o.replace("table--cta",""),o=o.replace("table--loading",""),this.shadowRoot.querySelector(".table__wrapper").className+=` ${o}`,this.table=this.querySelector("table"),this.savedTableBody=this.table.querySelector("tbody").cloneNode(!0),this.pagination=this.shadowRoot.querySelector(".table__pagination"),this.classList.contains("table--cta")||this.shadowRoot.querySelector(".table--cta").classList.remove("table--cta"),this.form=document.createElement("form"),this.hasAttribute("data-filterby")?this.form=document.querySelector(`#${this.getAttribute("data-filterby")}`):this.table.parentNode.insertBefore(this.form,this.table.nextSibling),this.form.hasAttribute("data-ajax")&&this.table.classList.add("table--ajax"),N(this.table,this.form),this.form.querySelector("[data-page]")||(this.form.innerHTML+=`<input name="page" type="hidden" value="${this.getAttribute("data-page")}" data-pagination="true" />`),this.form.querySelector("[data-show]")||(this.form.innerHTML+=`<input name="show" type="hidden" value="${this.getAttribute("data-show")}" data-show="true" />`),G(this.table),K(this.table,this.form,this.pagination,this,this.savedTableBody),Z(this.table,this.form,this.pagination,this),tt(this.shadowRoot.querySelector("[data-export]"),this.table),this.form.getAttribute("data-ajax")?W(this.table,this.form,this.pagination,this):(I(this.table,this.form,this.pagination,this),D(this.table,this.form,this),v(this,this.pagination),T(this.table,this.form)),this.shadowRoot.querySelector(".table__wrapper").addEventListener("scroll",n=>{this.table.querySelector("dialog[open]")&&(this.table.querySelector("dialog[open]").close(),this.table.querySelector(".dialog__wrapper > button.active").classList.remove("active"))})}static get observedAttributes(){return["data-total","data-pages","data-page","data-show"]}attributeChangedCallback(t,o,r){}}export{at as default};
|
|
35
35
|
//# sourceMappingURL=table.component.min.js.map
|