@timlassiter11/yatl 0.3.12 → 0.3.14
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/dist/data-table.d.mts +2 -2
- package/dist/data-table.d.ts +2 -2
- package/dist/data-table.global.js +1 -1
- package/dist/data-table.global.js.map +1 -1
- package/dist/data-table.js +1 -1
- package/dist/data-table.js.map +1 -1
- package/dist/data-table.mjs +1 -1
- package/dist/data-table.mjs.map +1 -1
- package/package.json +1 -1
package/dist/data-table.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";var Ee=Object.defineProperty,ht=Object.defineProperties,ut=Object.getOwnPropertyDescriptor,ft=Object.getOwnPropertyDescriptors,mt=Object.getOwnPropertyNames,ye=Object.getOwnPropertySymbols;var Ie=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable;var Ye=a=>{throw TypeError(a)};var Be=(a,o,e)=>o in a?Ee(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e,_=(a,o)=>{for(var e in o||(o={}))Ie.call(o,e)&&Be(a,e,o[e]);if(ye)for(var e of ye(o))Je.call(o,e)&&Be(a,e,o[e]);return a},ze=(a,o)=>ht(a,ft(o));var Ze=(a,o)=>{var e={};for(var s in a)Ie.call(a,s)&&o.indexOf(s)<0&&(e[s]=a[s]);if(a!=null&&ye)for(var s of ye(a))o.indexOf(s)<0&&Je.call(a,s)&&(e[s]=a[s]);return e};var pt=(a,o)=>{for(var e in o)Ee(a,e,{get:o[e],enumerable:!0})},gt=(a,o,e,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of mt(o))!Ie.call(a,i)&&i!==e&&Ee(a,i,{get:()=>o[i],enumerable:!(s=ut(o,i))||s.enumerable});return a};var Tt=a=>gt(Ee({},"__esModule",{value:!0}),a);var Ne=(a,o,e)=>o.has(a)||Ye("Cannot "+e);var t=(a,o,e)=>(Ne(a,o,"read from private field"),e?e.call(a):o.get(a)),h=(a,o,e)=>o.has(a)?Ye("Cannot add the same private member more than once"):o instanceof WeakSet?o.add(a):o.set(a,e),m=(a,o,e,s)=>(Ne(a,o,"write to private field"),s?s.call(a,e):o.set(a,e),e),f=(a,o,e)=>(Ne(a,o,"access private method"),e);var bt={};pt(bt,{DataTable:()=>Ke,LocalStorageAdapter:()=>Xe,VirtualScroll:()=>de,VirtualScrollError:()=>se,createRegexTokenizer:()=>Ve});module.exports=Tt(bt);var D=a=>{if(typeof a=="string"&&a!=="")return a.split(" ");if(Array.isArray(a))return a;if(!a)return[];throw new TypeError("classes must be string or array of strings")},qe=a=>a.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,o=>o.toUpperCase()),Ve=(a="\\S+")=>{let o=new RegExp(`"[^"]*"|${a}`,"g");return e=>(e.match(o)||[]).map(i=>(i=i.toLocaleLowerCase().trim(),i.startsWith('"')&&i.endsWith('"')?{value:i.slice(1,-1),quoted:!0}:{value:i,quoted:!1}))};function et(a){return typeof a=="boolean"?a?1:Number.MAX_SAFE_INTEGER:a}function tt(a,o={}){return{scroller:[...D(o.scroller),...D(a.scroller)],thead:[...D(o.thead),...D(a.thead)],tbody:[...D(o.tbody),...D(a.tbody)],tr:[...D(o.tr),...D(a.tr)],th:[...D(o.th),...D(a.th)],td:[...D(o.td),...D(a.td)],mark:[...D(o.mark),...D(a.mark)]}}function Q(a,o){let e=o.split("."),s=a;for(let i of e)if(s&&typeof s=="object")s=s[i];else return;return s}var ce,L,J,ee,$,P,he,j,Y,ue,I,U,te,fe,V,Ae,we,st,B=class B{constructor({generator:o,container:e,element:s=e,nodePadding:i=10}){h(this,V);h(this,L);h(this,J);h(this,ee);h(this,$,0);h(this,P,0);h(this,he,2);h(this,j,0);h(this,Y,!1);h(this,ue,0);h(this,I);h(this,U);h(this,te);h(this,fe,()=>{t(this,L).scrollTop!==t(this,ue)&&(m(this,ue,t(this,L).scrollTop),f(this,V,Ae).call(this))});m(this,L,e),m(this,J,s),m(this,ee,o),m(this,he,i),m(this,I,document.createElement("div")),t(this,I).style.visibility="hidden",m(this,U,document.createElement("div")),t(this,U).style.visibility="hidden",m(this,te,new ResizeObserver(()=>f(this,V,Ae).call(this)))}get rowHeight(){return t(this,P)||f(this,V,st).call(this),t(this,P)}get started(){return t(this,Y)}scrollToIndex(o){if(o<0||o>=t(this,$))throw new RangeError("Index out of bounds.");this.scrollToPx(this.rowHeight*o)}scrollToPx(o){t(this,L).scrollTop=o,f(this,V,we).call(this)}start(o){t(this,Y)||(t(this,L).addEventListener("scroll",t(this,fe)),t(this,te).observe(t(this,L)),m(this,Y,!0)),t(this,L).classList.add("dt-virtual-scroll"),m(this,$,o),f(this,V,we).call(this)}stop(){t(this,j)&&cancelAnimationFrame(t(this,j)),t(this,L).classList.remove("dt-virtual-scroll"),t(this,L).removeEventListener("scroll",t(this,fe)),t(this,te).disconnect(),m(this,Y,!1)}};ce=new WeakMap,L=new WeakMap,J=new WeakMap,ee=new WeakMap,$=new WeakMap,P=new WeakMap,he=new WeakMap,j=new WeakMap,Y=new WeakMap,ue=new WeakMap,I=new WeakMap,U=new WeakMap,te=new WeakMap,fe=new WeakMap,V=new WeakSet,Ae=function(){t(this,j)&&cancelAnimationFrame(t(this,j)),m(this,j,requestAnimationFrame(()=>f(this,V,we).call(this)))},we=function(){let o=t(this,L).scrollTop,e=t(this,$),s=this.rowHeight,i=t(this,he);if(!this.started||!e||!s)return;let r=s*e,n=t(this,L).style.height;t(this,L).style.height="100%";let c=t(this,L).offsetHeight;t(this,L).style.height=n;let u=i*2,d=Math.floor(o/s)-i;d<0&&(u+=d),d=Math.max(0,d);let p=Math.ceil(c/s)+u;p=Math.min(e-d,p),d%2===1&&(d--,p++);let b=d*s,v=r-(b+p*s);for(v<0&&(v=0);t(this,I).nextSibling&&t(this,I).nextSibling!==t(this,U);)t(this,J).removeChild(t(this,I).nextSibling);let w=new Array(p).fill(null).map((y,x)=>t(this,ee).call(this,x+d));t(this,I).style.height=b+"px",t(this,U).style.height=v+"px",t(this,I).parentElement?t(this,I).after(...w):t(this,J).append(t(this,I),...w,t(this,U));let N=t(this,J).offsetHeight;!t(B,ce)&&N<Math.round(r-1)&&(m(B,ce,!0),console.error("Max element height exceeded. Virtual scroll may not work."))},st=function(){if(t(this,$)===0){m(this,P,0);return}let o=Math.min(B.AVERAGE_RENDER_COUNT,t(this,$)),e=[];for(let i=0;i<o;++i)e.push(t(this,ee).call(this,i));let s=document.createElement("div");s.style.position="absolute",s.style.visibility="hidden",s.style.height="auto",s.style.width="100%",s.style.top="-9999px",s.style.left="-9999px",s.style.maxHeight="none",s.style.overflow="visible",s.style.display="block";try{s.append(...e),document.body.append(s),m(this,P,s.offsetHeight/o)}finally{s.remove()}if(t(this,P)<=0)throw new se(`First ${o} rows had no rendered height. Virtual scroll can't be used.`);t(this,P)*t(this,$)>33554400&&console.warn("Virtual scroll height exceeded maximum known element height.")},h(B,ce,!1),B.AVERAGE_RENDER_COUNT=1e3;var de=B,se=class extends Error{constructor(o){super(o)}};var O,Z,A,C,ne,g,k,R,oe,M,K,F,z,pe,T,W,E,l,rt,nt,We,_e,$e,Pe,ot,X,at,me,ie,Se,je,lt,Ue,dt,Ce,ct,xe,Oe,ge,Te,Re,Le,Fe,Me,De,ke,He,re=class re extends EventTarget{constructor(e,s,i={}){super();h(this,l);this.DEFAULT_OPTIONS={virtualScroll:1e3,highlightSearch:!0,tokenizeSearch:!1,enableSearchScoring:!1,rearrangeable:!0,extraSearchFields:[],emptyValuePlaceholder:"-",noDataText:"No records found",noMatchText:"No matching records found",classes:{scroller:["dt-scroller"],thead:["dt-headers"],tbody:[],tr:[],th:[],td:[],mark:[]},rowFormatter:null,tokenizer:Ve(),virtualScrollClass:de};h(this,O);h(this,Z);h(this,A);h(this,C);h(this,ne,null);h(this,g,new Map);h(this,k,new Map);h(this,R,[]);h(this,oe,null);h(this,M,null);h(this,K,null);h(this,F,null);h(this,z,null);h(this,pe,!1);h(this,T,_({},this.DEFAULT_OPTIONS));h(this,W,!1);h(this,E,new Set);h(this,xe,e=>{var n;if((n=window.getSelection())!=null&&n.toString())return;let s,i,r;if(e.target instanceof HTMLTableCellElement?(i=e.target,s=i.parentElement,r=i.dataset.dtField):e.target instanceof HTMLTableRowElement&&(s=e.target),s){let c=parseInt(s.dataset.dtIndex||"");if(!isNaN(c)){let u=t(this,R).find(d=>d._metadata.index===c);if(u){let d=new CustomEvent("dt.row.clicked",{cancelable:!1,detail:{row:u,index:c,column:r,originalEvent:e}});this.dispatchEvent(d)}}}});h(this,Oe,e=>{if(!(e.target instanceof HTMLElement)||!e.target.classList.contains("dt-resizer")||!(e.currentTarget instanceof HTMLElement)||!e.currentTarget.dataset.dtField)return;e.stopImmediatePropagation(),e.preventDefault();let s=e.currentTarget.dataset.dtField,i=t(this,g).get(s);i&&(m(this,z,i),i.resizeStartX=e.clientX,i.resizeStartWidth=i.headerElement.offsetWidth,document.addEventListener("mousemove",t(this,ge)),document.addEventListener("mouseup",t(this,Te)))});h(this,ge,e=>{if(!t(this,z))return;e.stopImmediatePropagation(),e.preventDefault();let s=e.clientX-t(this,z).resizeStartX,i=t(this,z).resizeStartWidth+s;f(this,l,Ce).call(this,t(this,z),i)});h(this,Te,e=>{if(!t(this,z))return;e.stopImmediatePropagation(),e.preventDefault(),document.removeEventListener("mousemove",t(this,ge)),document.removeEventListener("mouseup",t(this,Te));let s=new CustomEvent("dt.col.resize",{cancelable:!1,detail:{column:t(this,z).field,width:t(this,z).headerElement.offsetWidth}});this.dispatchEvent(s),m(this,z,null)});h(this,Re,e=>{var n;if(!(e.target instanceof HTMLElement)||!e.target.classList.contains("dt-resizer")||!(e.currentTarget instanceof HTMLElement)||!e.currentTarget.dataset.dtField)return;let s=e.currentTarget.dataset.dtField,i=t(this,g).get(s);if(!i)return;let r=i.titleElement.scrollWidth;if(t(this,R).length>0){t(this,ne)||m(this,ne,document.createElement("canvas").getContext("2d"));let c=t(this,ne),u=t(this,A).querySelector("td"),d=0;if(u&&c){let p=window.getComputedStyle(u);c.font=`${p.fontWeight} ${p.fontSize} ${p.fontFamily}`,d=parseFloat(p.paddingLeft)+parseFloat(p.paddingRight)}for(let p of t(this,R)){let b=Q(p,s);typeof i.options.valueFormatter=="function"&&(b=i.options.valueFormatter(b,p));let v=b==null?"":String(b),w=(n=c==null?void 0:c.measureText(v).width)!=null?n:0;r=Math.max(r,w+d)}}f(this,l,Ce).call(this,i,r)});h(this,Le,e=>{let i=e.target.dataset.dtField;e.dataTransfer&&i&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",i))});h(this,Fe,e=>(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),!1));h(this,Me,e=>{e.target.classList.add("dt-drag-over")});h(this,De,e=>{e.target.classList.remove("dt-drag-over")});h(this,ke,e=>{var d;let s=(d=e.dataTransfer)==null?void 0:d.getData("text/plain"),r=e.currentTarget.dataset.dtField;if(!s||!r)return;e.preventDefault(),e.stopPropagation();let n=[...t(this,g).values()],c=n.findIndex(p=>p.field===s),u=n.findIndex(p=>p.field===r);if(c>-1&&u>-1){let[p]=n.splice(c,1),b=t(this,g).get(r);if(!b)return;n.splice(u,0,p);let v=n.map(N=>N.field),w=new CustomEvent("dt.col.reorder",{cancelable:!0,detail:{draggedColumn:p.field,dropColumn:b.field,order:v}});if(!this.dispatchEvent(w))return;this.setColumnOrder(v)}});h(this,He,()=>{let e=document.querySelectorAll(".dt-drag-over");for(let s of e)s.classList.remove("dt-drag-over")});this.TABLE_OPTION_CONFIGS={virtualScroll:{effect:"reRenderTable",handler:e=>et(e)},highlightSearch:{effect:"reRenderTable"},tokenizeSearch:{effect:"reloadData",handler:e=>(this.search(t(this,oe)),e)},enableSearchScoring:{effect:"reApplyFilters"},rearrangeable:{effect:"updateHeaders"},extraSearchFields:{effect:"reloadData"},emptyValuePlaceholder:{effect:"reRenderTable"},noDataText:{effect:"reRenderTable"},noMatchText:{effect:"reRenderTable"},classes:{effect:"reRenderTable",handler:e=>{let s=tt(t(this,T).classes,e);t(this,C).className=s.scroller.join(" "),t(this,Z).className=s.thead.join(" "),t(this,A).className=s.tbody.join(" ");for(let i of t(this,g).values())i.headerElement.className=s.th.join(" ");return s}},rowFormatter:{effect:"reRenderTable"},tokenizer:{effect:"reloadData"},virtualScrollClass:{effect:"reRenderTable",handler:e=>{var s;return(s=t(this,F))==null||s.stop(),m(this,F,null),e}}};this.COLUMN_OPTION_CONFIGS={title:{effect:"updateHeaders"},searchable:{effect:"reApplyFilters"},sortable:{effect:"updateHeaders"},resizable:{effect:"updateHeaders"},tokenize:{effect:"reloadData"},valueFormatter:{effect:"reRenderTable"},elementFormatter:{effect:"reRenderTable"},sorter:{effect:"reSortRows"},sortValue:{effect:"reloadData"},filter:{effect:"reApplyFilters"}};let v=i,{data:r,virtualScrollClass:n}=v,c=Ze(v,["data","virtualScrollClass"]);if(n!==void 0&&(t(this,T).virtualScrollClass=n),typeof e=="string"){let w=document.querySelector(e);if(!w)throw new SyntaxError(`Failed to find table using selector ${e}`);m(this,O,w)}else m(this,O,e);if(!(t(this,O)instanceof HTMLTableElement))throw new TypeError("Invalid table element type. Must be HTMLTableElement");let{scroller:u,thead:d,headerRow:p,tbody:b}=f(this,l,rt).call(this);m(this,C,u),m(this,Z,d),m(this,A,b),f(this,l,nt).call(this,s,p),this.updateTableOptions(_(_({},t(this,T)),c)),this.loadData(r!=null?r:[])}get tableOptions(){return structuredClone(t(this,T))}get rows(){return[...t(this,R)]}get data(){return[...t(this,k).values()]}get table(){return t(this,O)}getState(){let e=[...t(this,g).values()];return{searchQuery:t(this,oe),filters:t(this,K),scrollPosition:{top:t(this,C).scrollTop,left:t(this,C).scrollLeft},columnOrder:e.map(s=>s.field),columns:e.map(s=>({field:s.field,visible:s.state.visible,sortState:s.state.sortState,width:s.state.width}))}}restoreState(e){this.withoutUpdates(()=>{if("searchQuery"in e&&e.searchQuery!==void 0&&this.search(e.searchQuery),"filters"in e&&e.filters!==void 0&&(m(this,K,e.filters),this.filter(e.filters)),"scrollPosition"in e&&e.scrollPosition!==void 0&&(t(this,C).scrollTop=e.scrollPosition.top),"columnOrder"in e&&e.columnOrder!==void 0&&this.setColumnOrder(e.columnOrder),"columns"in e&&e.columns!==void 0)for(let s of e.columns){let i=t(this,g).get(s.field);if(!i){console.warn(`Attempting to restore state for non-existent column ${s.field}`);continue}"visible"in s&&s.visible!==void 0&&(i.state.visible=s.visible),"sortState"in s&&s.sortState!==void 0&&(i.state.sortState=s.sortState),"width"in s&&s.width!==void 0&&f(this,l,Ce).call(this,i,s.width)}})}updateTableOptions(e){this.withoutUpdates(()=>{for(let s in e){let i=s,r=e[i],n=this.TABLE_OPTION_CONFIGS[i];if(!n)continue;t(this,E).add(n.effect);let c=n.handler,u=c?c(r):r;t(this,T)[i]=u}t(this,T).enableSearchScoring&&!t(this,T).tokenizeSearch&&(t(this,T).enableSearchScoring=!1,console.warn("Search scoring enabled with tokenization disabled... Ignoring"))})}getColumnOptions(e){if(e){let i=t(this,g).get(e);if(!i)throw new Error(`Cannot get options for non-existent column "${e}"`);return ze(_({},i.options),{field:i.field})}return[...t(this,g).values()].map(i=>ze(_({},i.options),{field:i.field}))}updateColumnOptions(e,s){let i=t(this,g).get(e);if(!i)throw new Error(`Cannot update options for non-existent column "${e}"`);this.withoutUpdates(()=>{for(let r in s){let n=r,c=s[n],u=this.COLUMN_OPTION_CONFIGS[n];if(!u)continue;t(this,E).add(u.effect);let d=u.handler,p=d?d(c):c;i.options[n]=p}})}loadData(e,s={}){let i=t(this,C).scrollTop,r=t(this,C).scrollLeft;s.append||(t(this,k).clear(),m(this,R,[]));let n=t(this,k).size;for(let c of e){let u=f(this,l,We).call(this,c,n);t(this,k).set(n,u),n++}f(this,l,ie).call(this),f(this,l,X).call(this),s.keepScroll&&(t(this,C).scrollTop=i,t(this,C).scrollLeft=r)}showMessage(e,...s){let i=t(this,g).size;t(this,A).innerHTML=`<tr class="${s.join(" ")}"><td colSpan=${i}>${e}</td></tr>`}clearMessage(){f(this,l,Se).call(this)}search(e){e!=null||(e=null);let s=new CustomEvent("dt.search",{cancelable:!0,detail:{query:e!=null?e:null}});this.dispatchEvent(s)&&(m(this,oe,e),e===""&&(e=null),typeof e=="string"?t(this,T).tokenizeSearch?m(this,M,t(this,T).tokenizer(e)):m(this,M,[{value:e.toLocaleLowerCase(),quoted:!0}]):m(this,M,e),f(this,l,X).call(this))}filter(e){m(this,K,e!=null?e:null),f(this,l,X).call(this)}sort(e,s){var u;let i=t(this,g).get(e);if(!i)throw new Error(`Cannot get options for non-existent column "${e}"`);if(s===((u=i.state.sortState)==null?void 0:u.order))return;let r=new CustomEvent("dt.col.sort",{cancelable:!0,detail:{column:i.field,order:s}});if(!this.dispatchEvent(r))return;if(s&&!i.state.sortState){let d=[...t(this,g).values()].map(v=>{var w;return(w=v.state.sortState)==null?void 0:w.priority}).filter(v=>v!==void 0),p=t(this,g).size+1,b=Math.min(p,...d)-1;i.state.sortState={order:s,priority:b}}else s&&i.state.sortState?i.state.sortState.order=s:i.state.sortState=null;let n=t(this,C).scrollTop,c=t(this,C).scrollLeft;f(this,l,ie).call(this),f(this,l,me).call(this),t(this,C).scrollTop=n,t(this,C).scrollLeft=c}setColumnVisibility(e,s){let i=t(this,g).get(e);if(!i)throw new Error(`Cannot get options for non-existent column "${e}"`);if(i.state.visible===s)return;let r=new CustomEvent("dt.col.visibility",{cancelable:!0,detail:{column:i.field,visible:s}});this.dispatchEvent(r)&&(i.state.visible=s,f(this,l,ie).call(this),f(this,l,me).call(this))}showColumn(e){this.setColumnVisibility(e,!0)}hideColumn(e){this.setColumnVisibility(e,!1)}export(e,s=!1){let r=[...(s?t(this,k):t(this,R)).values()],n=[...t(this,g).values()].filter(b=>s||b.state.visible).map(b=>`"${b.options.title}"`).join(","),c=r.map(b=>{let v=[];for(let w of t(this,g).keys()){let N=t(this,g).get(w);if(!N)continue;let y=b[w];(s||!N.headerElement.hidden)&&(typeof N.options.valueFormatter=="function"&&(y=N.options.valueFormatter(y,b)),y=String(y).replace('"','""'),v.push(`"${y}"`))}return v.join(",")}).join(`
|
|
2
2
|
`),u=n+`
|
|
3
|
-
`+c,d=new Blob([u],{type:"text/csv;charset=utf-8,"}),p=document.createElement("a");p.style.display="none",p.href=URL.createObjectURL(d),p.download=`${e}.csv`,document.body.append(p),p.click(),p.remove()}scrollToRow(e){var r;let i=(r=e._metadata)==null?void 0:r.index;if(typeof i=="number")this.scrollToOriginalIndex(i);else throw new Error("Row not in table")}scrollToOriginalIndex(e){let s=t(this,k).get(e);if(s){let i=t(this,R).indexOf(s);if(i>=0){this.scrollToFilteredIndex(i);return}else throw new Error("Cannot scroll to filtered out row")}else throw new RangeError(`Row index ${e} out of range`)}scrollToFilteredIndex(e){let s=t(this,R)[e];if(!s)throw new RangeError(`Row index ${e} out of range`);if(t(this,F))t(this,F).scrollToIndex(e);else{let i=t(this,A).querySelector(`tr[data-dt-index="${s._metadata.index}"]`);if(i){i.scrollIntoView(!0);let r=parseFloat(getComputedStyle(t(this,Z)).height);t(this,C).scrollTop-=r}}}scrollToPx(e){if(t(this,F))t(this,F).scrollToPx(e);else{let s=parseFloat(getComputedStyle(t(this,Z)).height);t(this,C).scrollTop=e-s}}setColumnOrder(e){if(!Array.isArray(e))throw new TypeError("fields must be an array of field names");let s=new Map;for(let i of e){let r=t(this,g).get(i);r&&s.set(i,r)}for(let[i,r]of t(this,g))s.has(i)||s.set(i,r);m(this,g,s),this.refresh()}refresh(){f(this,l,ie).call(this),f(this,l,X).call(this)}indexOf(e,s){let r=[...t(this,k).values()].find(n=>{if(e in n)return n[e]===s});return r?r._metadata.index:-1}updateRow(e,s){let i=t(this,k).get(e);i&&(Object.assign(i,s),f(this,l,We).call(this,i,e),f(this,l,X).call(this))}deleteRow(e){t(this,k).delete(e),f(this,l,X).call(this)}withoutUpdates(e){let s=t(this,W);m(this,W,!0);try{e(this)}finally{m(this,W,s),t(this,W)||f(this,l,ct).call(this)}}addEventListener(e,s,i){super.addEventListener(e,s,i)}};O=new WeakMap,Z=new WeakMap,A=new WeakMap,C=new WeakMap,ne=new WeakMap,g=new WeakMap,k=new WeakMap,R=new WeakMap,oe=new WeakMap,M=new WeakMap,K=new WeakMap,F=new WeakMap,z=new WeakMap,pe=new WeakMap,T=new WeakMap,W=new WeakMap,E=new WeakMap,l=new WeakSet,rt=function(){var n;t(this,O).classList.add("data-table");let e=document.createElement("div");t(this,O).style.height!==""&&(e.style.height=t(this,O).style.height,t(this,O).style.height="");let s=document.createElement("thead"),i=document.createElement("tr"),r=document.createElement("tbody");return r.addEventListener("click",t(this,xe)),t(this,O).innerHTML="",s.append(i),t(this,O).append(s),t(this,O).append(r),(n=t(this,O).parentElement)==null||n.insertBefore(e,t(this,O)),e.append(t(this,O)),{scroller:e,thead:s,headerRow:i,tbody:r}},nt=function(e,s){var r,n,c,u,d,p,b,v,w,N;t(this,g).clear();let i=!1;for(let y of e){let x=document.createElement("th"),be=document.createElement("div"),le=document.createElement("div"),ve=document.createElement("span"),H={field:y.field,options:{title:(r=y.title)!=null?r:qe(y.field),sortable:(n=y.sortable)!=null?n:!0,searchable:(c=y.searchable)!=null?c:!1,tokenize:(u=y.tokenize)!=null?u:!1,resizable:(d=y.resizable)!=null?d:!0,valueFormatter:(p=y.valueFormatter)!=null?p:null,elementFormatter:(b=y.elementFormatter)!=null?b:null,sorter:(v=y.sorter)!=null?v:null,sortValue:(w=y.sortValue)!=null?w:null,filter:(N=y.filter)!=null?N:null},state:{visible:!0,sortState:null,width:null},headerElement:x,titleElement:ve,resizeStartWidth:null,resizeStartX:null};t(this,g).set(y.field,H),x.dataset.dtField=y.field,x.hidden=!H.state.visible,x.title=H.options.title,be.classList.add("dt-header-content"),x.append(be),le.classList.add("dt-header-title-wrapper"),be.append(le),ve.classList.add("dt-header-title"),ve.innerHTML=H.options.title,le.append(ve);let Ge=document.createElement("div");Ge.classList.add("dt-sort-icon"),le.append(Ge);let Qe=document.createElement("div");Qe.classList.add("dt-resizer"),be.append(Qe),s.append(x),H.state.visible&&(i=!0),this.updateColumnOptions(y.field,H.options),t(this,T).rearrangeable&&(x.draggable=!0),le.addEventListener("click",()=>{x.classList.contains("dt-sortable")&&(H.state.sortState?H.state.sortState.order==="asc"?this.sort(H.field,"desc"):H.state.sortState.order&&this.sort(H.field,null):this.sort(H.field,"asc"))}),x.addEventListener("dragstart",t(this,Le)),x.addEventListener("dragenter",t(this,Me)),x.addEventListener("dragover",t(this,Fe)),x.addEventListener("dragleave",t(this,De)),x.addEventListener("drop",t(this,ke)),x.addEventListener("dragend",t(this,He)),x.addEventListener("mousedown",t(this,Oe)),x.addEventListener("dblclick",t(this,Re))}if(t(this,g).size===0)console.warn("No columns found. At least one column is required.");else if(!i){console.warn("At least a single column must be visible. Showing the first column.");let y=e[0].field;this.showColumn(y)}},We=function(e,s){let i={index:s++,tokens:{},compareValues:{},sortValues:{}};e._metadata=i;for(let[r,n]of t(this,g)){let c=Q(e,r);typeof n.options.sortValue=="function"?i.sortValues[r]=n.options.sortValue(c):typeof c=="string"?i.sortValues[r]=c.toLocaleLowerCase():i.sortValues[r]=c,typeof c=="string"&&(i.compareValues[r]=c.toLocaleLowerCase()),n.options.searchable&&n.options.tokenize&&c&&(i.tokens[r]=t(this,T).tokenizer(c).map(u=>u.value))}for(let r of t(this,T).extraSearchFields){let n=Q(e,r);typeof n=="string"&&(i.compareValues[r]=n.toLocaleLowerCase())}return e},_e=function(e,s){if(!e||!s)return 0;let i=0,r=0;if(s===e)r=re.MatchWeights.EXACT,i=e.length;else if(s.startsWith(e))r=re.MatchWeights.PREFIX,i=e.length;else if(s.includes(e))r=re.MatchWeights.SUBSTRING,i=e.length;else return 0;let c=1/(1+(s.length-e.length));return i*r*c},$e=function(e,s,i){return e instanceof RegExp?e.test(s)?1:0:t(this,T).enableSearchScoring?e.quoted||!i?f(this,l,_e).call(this,e.value,s):i.map(r=>f(this,l,_e).call(this,e.value,r)).reduce((r,n)=>r+=n,0):e.quoted||!i?s.includes(e.value)?1:0:i.some(r=>r==e.value)?1:0},Pe=function(e,s,i=null){return Array.isArray(s)?s.length===0?!0:s.some(r=>f(this,l,Pe).call(this,e,r)):typeof i=="function"?i(e,s):s instanceof RegExp?s.test(String(e)):s===e},ot=function(e,s){if(!t(this,K))return!0;if(typeof t(this,K)=="function")return t(this,K).call(this,e,s);for(let i in t(this,K)){let r=t(this,K)[i],n=Q(e,i);if(typeof r=="function"){if(!r(n))return!1}else{let c=t(this,g).get(i),u=c?c.options.filter:void 0;if(!f(this,l,Pe).call(this,n,r,u))return!1}}return!0},X=function(){if(t(this,W)){t(this,E).add("reApplyFilters");return}else t(this,E).delete("reApplyFilters");let s=[...[...t(this,g).values()].filter(n=>n.options.searchable).map(n=>n.field),...t(this,T).extraSearchFields],i=[...t(this,k).values()];m(this,R,i.filter((n,c)=>{if(n._metadata.searchScore=0,!f(this,l,ot).call(this,n,c))return!1;if(!t(this,M))return!0;for(let u of s){let d=Q(n,u),p=n._metadata.compareValues[u],b=n._metadata.tokens[u];if(typeof d!="string"||typeof p!="string")continue;let v=0;if(t(this,M)instanceof RegExp)v=f(this,l,$e).call(this,t(this,M),d,b);else for(let w of t(this,M))v+=f(this,l,$e).call(this,w,p,b);n._metadata.searchScore+=v}return n._metadata.searchScore>0})),f(this,l,me).call(this);let r=new CustomEvent("dt.rows.changed",{cancelable:!1,detail:{dataTable:this}});this.dispatchEvent(r)},at=function(e,s,i){var d,p;let r,n;if(!i.state.sortState)return 0;if(((d=i.state.sortState)==null?void 0:d.order)==="asc"?(r=e._metadata.sortValues[i.field],n=s._metadata.sortValues[i.field]):((p=i.state.sortState)==null?void 0:p.order)==="desc"&&(r=s._metadata.sortValues[i.field],n=e._metadata.sortValues[i.field]),typeof i.options.sorter=="function"){let b=i.options.sorter(r,n);if(b!==0)return b}let c=r==null,u=n==null;return c&&!u?-1:u&&!c?1:r<n?-1:r>n?1:0},me=function(){if(t(this,W)){t(this,E).add("reSortRows");return}else t(this,E).delete("reSortRows");let e=[...t(this,g).values()].filter(s=>!s.headerElement.hidden&&s.state.sortState).sort((s,i)=>i.state.sortState.priority-s.state.sortState.priority);t(this,R).sort((s,i)=>{if(t(this,T).enableSearchScoring&&t(this,M)){let r=s._metadata.searchScore||0,n=i._metadata.searchScore||0;if(r>n)return-1;if(r<n)return 1}for(let r of e){let n=f(this,l,at).call(this,s,i,r);if(n!==0)return n}return s._metadata.index-i._metadata.index}),f(this,l,Se).call(this)},ie=function(){var e,s,i,r,n,c,u;if(t(this,W)){t(this,E).add("updateHeaders");return}else t(this,E).delete("updateHeaders");for(let d of t(this,g).values())(e=d.headerElement.parentElement)==null||e.append(d.headerElement),d.headerElement.hidden=!d.state.visible,d.headerElement.draggable=t(this,T).rearrangeable,d.titleElement.textContent=d.options.title,d.options.resizable?d.headerElement.classList.add("dt-resizeable"):d.headerElement.classList.remove("dt-resizeable"),d.options.sortable?d.headerElement.classList.add("dt-sortable"):d.headerElement.classList.remove("dt-sortable"),d.state.sortState?d.state.sortState.order==="asc"?((r=d.headerElement)==null||r.classList.add("dt-ascending"),(n=d.headerElement)==null||n.classList.remove("dt-descending")):d.state.sortState.order==="desc"&&((c=d.headerElement)==null||c.classList.add("dt-descending"),(u=d.headerElement)==null||u.classList.remove("dt-ascending")):((s=d.headerElement)==null||s.classList.remove("dt-ascending"),(i=d.headerElement)==null||i.classList.remove("dt-descending"))},Se=function(){if(t(this,W)){t(this,E).add("reRenderTable");return}else t(this,E).delete("reRenderTable");let e=this.rows.length>=t(this,T).virtualScroll;if(e&&!t(this,F)?m(this,F,new(t(this,T)).virtualScrollClass({container:t(this,C),element:t(this,A),generator:s=>f(this,l,Ue).call(this,s)})):!e&&t(this,F)&&(t(this,F).stop(),m(this,F,null)),t(this,A).innerHTML="",t(this,F))try{t(this,F).start(t(this,R).length)}catch(s){s instanceof se&&(console.warn("Failed to start virtual scroll... falling back to standard rendering"),console.warn(s.stack))}else{if(t(this,R).length>it){let i=it.toLocaleString();console.warn(`Virtual scroll disabled with more than ${i} rows... Good luck with that!`)}let s=t(this,R).map((i,r)=>f(this,l,Ue).call(this,r));t(this,A).append(...s)}t(this,k).size===0?this.showMessage(t(this,T).noDataText,"dt-empty"):t(this,R).length===0&&this.showMessage(t(this,T).noMatchText,"dt-empty")},je=function(e,s){var i;if(e.children.length===0){let r=(i=e.textContent)!=null?i:"",n=t(this,T).classes.mark.join(" ");r=r.replace(s,c=>`<mark class="${n}">${c}</mark>`),e.innerHTML=r}else for(let r of e.children)r instanceof HTMLElement&&f(this,l,je).call(this,r,s)},lt=function(e,s,i,r){if(typeof i.options.valueFormatter=="function"&&(s=i.options.valueFormatter(s,r)),s!=null?(e.textContent=s,e.title=String(s)):e.textContent=t(this,T).emptyValuePlaceholder,typeof i.options.elementFormatter=="function"&&i.options.elementFormatter(s,r,e),t(this,T).highlightSearch&&t(this,M)&&i.options.searchable){let n;if(t(this,M)instanceof RegExp)n=t(this,M);else{let c=t(this,M).map(u=>u.value).join("|");n=new RegExp(c,"gi")}f(this,l,je).call(this,e,n)}e.hidden=!i.state.visible},Ue=function(e){let s=t(this,R)[e],i=document.createElement("tr");i.classList.add(...t(this,T).classes.tr),i.dataset.dtIndex=String(s._metadata.index);for(let[r,n]of t(this,g)){let c=Q(s,r),u=document.createElement("td");u.classList.add(...t(this,T).classes.td),u.dataset.dtField=r,f(this,l,lt).call(this,u,c,n,s),i.append(u)}if(typeof t(this,T).rowFormatter=="function")try{t(this,T).rowFormatter(s,i)}catch(r){console.error("Row formatter callback failed with the following error"),console.error(r)}return i},dt=function(){if(!t(this,pe)){m(this,pe,!0);for(let e of t(this,g).values()){let s=e.headerElement.offsetWidth;e.state.width=s,e.headerElement.style.width=`${s}px`}t(this,O).style.width="fit-content"}},Ce=function(e,s){f(this,l,dt).call(this),s!==null&&s<0&&(s=0),e.state.width=s;let i;s==null?i="":s<=0?i="0px":i=`${s}px`,e.headerElement.style.width=i},ct=function(){for(;t(this,E).size;)t(this,E).has("reloadData")?(this.loadData(this.data),t(this,E).delete("reloadData")):t(this,E).has("reApplyFilters")?(f(this,l,X).call(this),t(this,E).delete("reApplyFilters")):t(this,E).has("reSortRows")?(f(this,l,me).call(this),t(this,E).delete("reSortRows")):t(this,E).has("reRenderTable")&&(f(this,l,Se).call(this),t(this,E).delete("reRenderTable")),t(this,E).has("updateHeaders")&&f(this,l,ie).call(this)},xe=new WeakMap,Oe=new WeakMap,ge=new WeakMap,Te=new WeakMap,Re=new WeakMap,Le=new WeakMap,Fe=new WeakMap,Me=new WeakMap,De=new WeakMap,ke=new WeakMap,He=new WeakMap,re.MatchWeights={EXACT:100,PREFIX:50,SUBSTRING:10};var Ke=re,it=1e4;var ae,q,S,G,Xe=class{constructor(o,e,s){h(this,ae);h(this,q);h(this,S,{saveSearch:!0,saveColumnSorting:!0,saveColumnVisibility:!0,saveColumnWidth:!0,saveColumnOrder:!0});h(this,G,()=>setTimeout(()=>this.saveState(),0));m(this,ae,o),m(this,q,e),m(this,S,_(_({},t(this,S)),s)),this.restoreState(),t(this,S).saveSearch&&o.addEventListener("dt.search",t(this,G)),t(this,S).saveColumnSorting&&o.addEventListener("dt.col.sort",t(this,G)),t(this,S).saveColumnVisibility&&o.addEventListener("dt.col.visibility",t(this,G)),t(this,S).saveColumnWidth&&o.addEventListener("dt.col.resize",t(this,G)),t(this,S).saveColumnOrder&&o.addEventListener("dt.col.reorder",t(this,G))}saveState(){var s;let o={columns:[]},e=t(this,ae).getState();t(this,S).saveSearch&&(o.searchQuery=e.searchQuery),t(this,S).saveColumnOrder&&(o.columnOrder=e.columnOrder);for(let i of e.columns){let r={field:i.field};t(this,S).saveColumnSorting&&(r.sortState=i.sortState),t(this,S).saveColumnVisibility&&(r.visible=i.visible),t(this,S).saveColumnWidth&&(r.width=i.width),(s=o.columns)==null||s.push(r)}localStorage.setItem(t(this,q),JSON.stringify(o))}restoreState(){let o=localStorage.getItem(t(this,q));if(o)try{let e=JSON.parse(o),s={};if(t(this,S).saveSearch&&(s.searchQuery=e.searchQuery),t(this,S).saveColumnOrder&&(s.columnOrder=e.columnOrder),e.columns){s.columns=[];for(let i of e.columns){let r={field:i.field};t(this,S).saveColumnVisibility&&(r.visible=i.visible),t(this,S).saveColumnWidth&&(r.width=i.width),t(this,S).saveColumnSorting&&(r.sortState=i.sortState),s.columns.push(r)}}t(this,ae).restoreState(s)}catch(e){console.error("Failed to restore DataTable state:",e)}}clearState(){localStorage.removeItem(t(this,q))}};ae=new WeakMap,q=new WeakMap,S=new WeakMap,G=new WeakMap;0&&(module.exports={DataTable,LocalStorageAdapter,VirtualScroll,VirtualScrollError,createRegexTokenizer});
|
|
3
|
+
`+c,d=new Blob([u],{type:"text/csv;charset=utf-8,"}),p=document.createElement("a");p.style.display="none",p.href=URL.createObjectURL(d),p.download=`${e}.csv`,document.body.append(p),p.click(),p.remove()}scrollToRow(e){var r;let i=(r=e._metadata)==null?void 0:r.index;if(typeof i=="number")this.scrollToOriginalIndex(i);else throw new Error("Row not in table")}scrollToOriginalIndex(e){let s=t(this,k).get(e);if(s){let i=t(this,R).indexOf(s);if(i>=0){this.scrollToFilteredIndex(i);return}else throw new Error("Cannot scroll to filtered out row")}else throw new RangeError(`Row index ${e} out of range`)}scrollToFilteredIndex(e){let s=t(this,R)[e];if(!s)throw new RangeError(`Row index ${e} out of range`);if(t(this,F))t(this,F).scrollToIndex(e);else{let i=t(this,A).querySelector(`tr[data-dt-index="${s._metadata.index}"]`);if(i){i.scrollIntoView(!0);let r=parseFloat(getComputedStyle(t(this,Z)).height);t(this,C).scrollTop-=r}}}scrollToPx(e){if(t(this,F))t(this,F).scrollToPx(e);else{let s=parseFloat(getComputedStyle(t(this,Z)).height);t(this,C).scrollTop=e-s}}setColumnOrder(e){if(!Array.isArray(e))throw new TypeError("fields must be an array of field names");let s=new Map;for(let i of e){let r=t(this,g).get(i);r&&s.set(i,r)}for(let[i,r]of t(this,g))s.has(i)||s.set(i,r);m(this,g,s),this.refresh()}refresh(){f(this,l,ie).call(this),f(this,l,X).call(this)}indexOf(e,s){let r=[...t(this,k).values()].find(n=>{if(e in n)return n[e]===s});return r?r._metadata.index:-1}updateRow(e,s){let i=t(this,k).get(e);i&&(Object.assign(i,s),f(this,l,We).call(this,i,e),f(this,l,X).call(this))}deleteRow(e){t(this,k).delete(e),f(this,l,X).call(this)}withoutUpdates(e){let s=t(this,W);m(this,W,!0);try{e(this)}finally{m(this,W,s),t(this,W)||f(this,l,ct).call(this)}}addEventListener(e,s,i){super.addEventListener(e,s,i)}};O=new WeakMap,Z=new WeakMap,A=new WeakMap,C=new WeakMap,ne=new WeakMap,g=new WeakMap,k=new WeakMap,R=new WeakMap,oe=new WeakMap,M=new WeakMap,K=new WeakMap,F=new WeakMap,z=new WeakMap,pe=new WeakMap,T=new WeakMap,W=new WeakMap,E=new WeakMap,l=new WeakSet,rt=function(){var n;t(this,O).classList.add("data-table");let e=document.createElement("div");t(this,O).style.height!==""&&(e.style.height=t(this,O).style.height,t(this,O).style.height="");let s=document.createElement("thead"),i=document.createElement("tr"),r=document.createElement("tbody");return r.addEventListener("click",t(this,xe)),t(this,O).innerHTML="",s.append(i),t(this,O).append(s),t(this,O).append(r),(n=t(this,O).parentNode)==null||n.insertBefore(e,t(this,O)),e.append(t(this,O)),{scroller:e,thead:s,headerRow:i,tbody:r}},nt=function(e,s){var r,n,c,u,d,p,b,v,w,N;t(this,g).clear();let i=!1;for(let y of e){let x=document.createElement("th"),be=document.createElement("div"),le=document.createElement("div"),ve=document.createElement("span"),H={field:y.field,options:{title:(r=y.title)!=null?r:qe(y.field),sortable:(n=y.sortable)!=null?n:!0,searchable:(c=y.searchable)!=null?c:!1,tokenize:(u=y.tokenize)!=null?u:!1,resizable:(d=y.resizable)!=null?d:!0,valueFormatter:(p=y.valueFormatter)!=null?p:null,elementFormatter:(b=y.elementFormatter)!=null?b:null,sorter:(v=y.sorter)!=null?v:null,sortValue:(w=y.sortValue)!=null?w:null,filter:(N=y.filter)!=null?N:null},state:{visible:!0,sortState:null,width:null},headerElement:x,titleElement:ve,resizeStartWidth:null,resizeStartX:null};t(this,g).set(y.field,H),x.dataset.dtField=y.field,x.hidden=!H.state.visible,x.title=H.options.title,be.classList.add("dt-header-content"),x.append(be),le.classList.add("dt-header-title-wrapper"),be.append(le),ve.classList.add("dt-header-title"),ve.innerHTML=H.options.title,le.append(ve);let Ge=document.createElement("div");Ge.classList.add("dt-sort-icon"),le.append(Ge);let Qe=document.createElement("div");Qe.classList.add("dt-resizer"),be.append(Qe),s.append(x),H.state.visible&&(i=!0),this.updateColumnOptions(y.field,H.options),t(this,T).rearrangeable&&(x.draggable=!0),le.addEventListener("click",()=>{x.classList.contains("dt-sortable")&&(H.state.sortState?H.state.sortState.order==="asc"?this.sort(H.field,"desc"):H.state.sortState.order&&this.sort(H.field,null):this.sort(H.field,"asc"))}),x.addEventListener("dragstart",t(this,Le)),x.addEventListener("dragenter",t(this,Me)),x.addEventListener("dragover",t(this,Fe)),x.addEventListener("dragleave",t(this,De)),x.addEventListener("drop",t(this,ke)),x.addEventListener("dragend",t(this,He)),x.addEventListener("mousedown",t(this,Oe)),x.addEventListener("dblclick",t(this,Re))}if(t(this,g).size===0)console.warn("No columns found. At least one column is required.");else if(!i){console.warn("At least a single column must be visible. Showing the first column.");let y=e[0].field;this.showColumn(y)}},We=function(e,s){let i={index:s++,tokens:{},compareValues:{},sortValues:{}};e._metadata=i;for(let[r,n]of t(this,g)){let c=Q(e,r);typeof n.options.sortValue=="function"?i.sortValues[r]=n.options.sortValue(c):typeof c=="string"?i.sortValues[r]=c.toLocaleLowerCase():i.sortValues[r]=c,typeof c=="string"&&(i.compareValues[r]=c.toLocaleLowerCase()),n.options.searchable&&n.options.tokenize&&c&&(i.tokens[r]=t(this,T).tokenizer(c).map(u=>u.value))}for(let r of t(this,T).extraSearchFields){let n=Q(e,r);typeof n=="string"&&(i.compareValues[r]=n.toLocaleLowerCase())}return e},_e=function(e,s){if(!e||!s)return 0;let i=0,r=0;if(s===e)r=re.MatchWeights.EXACT,i=e.length;else if(s.startsWith(e))r=re.MatchWeights.PREFIX,i=e.length;else if(s.includes(e))r=re.MatchWeights.SUBSTRING,i=e.length;else return 0;let c=1/(1+(s.length-e.length));return i*r*c},$e=function(e,s,i){return e instanceof RegExp?e.test(s)?1:0:t(this,T).enableSearchScoring?e.quoted||!i?f(this,l,_e).call(this,e.value,s):i.map(r=>f(this,l,_e).call(this,e.value,r)).reduce((r,n)=>r+=n,0):e.quoted||!i?s.includes(e.value)?1:0:i.some(r=>r==e.value)?1:0},Pe=function(e,s,i=null){return Array.isArray(s)?s.length===0?!0:s.some(r=>f(this,l,Pe).call(this,e,r)):typeof i=="function"?i(e,s):s instanceof RegExp?s.test(String(e)):s===e},ot=function(e,s){if(!t(this,K))return!0;if(typeof t(this,K)=="function")return t(this,K).call(this,e,s);for(let i in t(this,K)){let r=t(this,K)[i],n=Q(e,i);if(typeof r=="function"){if(!r(n))return!1}else{let c=t(this,g).get(i),u=c?c.options.filter:void 0;if(!f(this,l,Pe).call(this,n,r,u))return!1}}return!0},X=function(){if(t(this,W)){t(this,E).add("reApplyFilters");return}else t(this,E).delete("reApplyFilters");let s=[...[...t(this,g).values()].filter(n=>n.options.searchable).map(n=>n.field),...t(this,T).extraSearchFields],i=[...t(this,k).values()];m(this,R,i.filter((n,c)=>{if(n._metadata.searchScore=0,!f(this,l,ot).call(this,n,c))return!1;if(!t(this,M))return!0;for(let u of s){let d=Q(n,u),p=n._metadata.compareValues[u],b=n._metadata.tokens[u];if(typeof d!="string"||typeof p!="string")continue;let v=0;if(t(this,M)instanceof RegExp)v=f(this,l,$e).call(this,t(this,M),d,b);else for(let w of t(this,M))v+=f(this,l,$e).call(this,w,p,b);n._metadata.searchScore+=v}return n._metadata.searchScore>0})),f(this,l,me).call(this);let r=new CustomEvent("dt.rows.changed",{cancelable:!1,detail:{dataTable:this}});this.dispatchEvent(r)},at=function(e,s,i){var d,p;let r,n;if(!i.state.sortState)return 0;if(((d=i.state.sortState)==null?void 0:d.order)==="asc"?(r=e._metadata.sortValues[i.field],n=s._metadata.sortValues[i.field]):((p=i.state.sortState)==null?void 0:p.order)==="desc"&&(r=s._metadata.sortValues[i.field],n=e._metadata.sortValues[i.field]),typeof i.options.sorter=="function"){let b=i.options.sorter(r,n);if(b!==0)return b}let c=r==null,u=n==null;return c&&!u?-1:u&&!c?1:r<n?-1:r>n?1:0},me=function(){if(t(this,W)){t(this,E).add("reSortRows");return}else t(this,E).delete("reSortRows");let e=[...t(this,g).values()].filter(s=>!s.headerElement.hidden&&s.state.sortState).sort((s,i)=>i.state.sortState.priority-s.state.sortState.priority);t(this,R).sort((s,i)=>{if(t(this,T).enableSearchScoring&&t(this,M)){let r=s._metadata.searchScore||0,n=i._metadata.searchScore||0;if(r>n)return-1;if(r<n)return 1}for(let r of e){let n=f(this,l,at).call(this,s,i,r);if(n!==0)return n}return s._metadata.index-i._metadata.index}),f(this,l,Se).call(this)},ie=function(){var e,s,i,r,n,c,u;if(t(this,W)){t(this,E).add("updateHeaders");return}else t(this,E).delete("updateHeaders");for(let d of t(this,g).values())(e=d.headerElement.parentElement)==null||e.append(d.headerElement),d.headerElement.hidden=!d.state.visible,d.headerElement.draggable=t(this,T).rearrangeable,d.titleElement.textContent=d.options.title,d.options.resizable?d.headerElement.classList.add("dt-resizeable"):d.headerElement.classList.remove("dt-resizeable"),d.options.sortable?d.headerElement.classList.add("dt-sortable"):d.headerElement.classList.remove("dt-sortable"),d.state.sortState?d.state.sortState.order==="asc"?((r=d.headerElement)==null||r.classList.add("dt-ascending"),(n=d.headerElement)==null||n.classList.remove("dt-descending")):d.state.sortState.order==="desc"&&((c=d.headerElement)==null||c.classList.add("dt-descending"),(u=d.headerElement)==null||u.classList.remove("dt-ascending")):((s=d.headerElement)==null||s.classList.remove("dt-ascending"),(i=d.headerElement)==null||i.classList.remove("dt-descending"))},Se=function(){if(t(this,W)){t(this,E).add("reRenderTable");return}else t(this,E).delete("reRenderTable");let e=this.rows.length>=t(this,T).virtualScroll;if(e&&!t(this,F)?m(this,F,new(t(this,T)).virtualScrollClass({container:t(this,C),element:t(this,A),generator:s=>f(this,l,Ue).call(this,s)})):!e&&t(this,F)&&(t(this,F).stop(),m(this,F,null)),t(this,A).innerHTML="",t(this,F))try{t(this,F).start(t(this,R).length)}catch(s){s instanceof se&&(console.warn("Failed to start virtual scroll... falling back to standard rendering"),console.warn(s.stack))}else{if(t(this,R).length>it){let i=it.toLocaleString();console.warn(`Virtual scroll disabled with more than ${i} rows... Good luck with that!`)}let s=t(this,R).map((i,r)=>f(this,l,Ue).call(this,r));t(this,A).append(...s)}t(this,k).size===0?this.showMessage(t(this,T).noDataText,"dt-empty"):t(this,R).length===0&&this.showMessage(t(this,T).noMatchText,"dt-empty")},je=function(e,s){var i;if(e.children.length===0){let r=(i=e.textContent)!=null?i:"",n=t(this,T).classes.mark.join(" ");r=r.replace(s,c=>`<mark class="${n}">${c}</mark>`),e.innerHTML=r}else for(let r of e.children)r instanceof HTMLElement&&f(this,l,je).call(this,r,s)},lt=function(e,s,i,r){if(typeof i.options.valueFormatter=="function"&&(s=i.options.valueFormatter(s,r)),s!=null?(e.textContent=s,e.title=String(s)):e.textContent=t(this,T).emptyValuePlaceholder,typeof i.options.elementFormatter=="function"&&i.options.elementFormatter(s,r,e),t(this,T).highlightSearch&&t(this,M)&&i.options.searchable){let n;if(t(this,M)instanceof RegExp)n=t(this,M);else{let c=t(this,M).map(u=>u.value).join("|");n=new RegExp(c,"gi")}f(this,l,je).call(this,e,n)}e.hidden=!i.state.visible},Ue=function(e){let s=t(this,R)[e],i=document.createElement("tr");i.classList.add(...t(this,T).classes.tr),i.dataset.dtIndex=String(s._metadata.index);for(let[r,n]of t(this,g)){let c=Q(s,r),u=document.createElement("td");u.classList.add(...t(this,T).classes.td),u.dataset.dtField=r,f(this,l,lt).call(this,u,c,n,s),i.append(u)}if(typeof t(this,T).rowFormatter=="function")try{t(this,T).rowFormatter(s,i)}catch(r){console.error("Row formatter callback failed with the following error"),console.error(r)}return i},dt=function(){if(!t(this,pe)){m(this,pe,!0);for(let e of t(this,g).values()){let s=e.headerElement.offsetWidth;e.state.width=s,e.headerElement.style.width=`${s}px`}t(this,O).style.width="fit-content"}},Ce=function(e,s){f(this,l,dt).call(this),s!==null&&s<0&&(s=0),e.state.width=s;let i;s==null?i="":s<=0?i="0px":i=`${s}px`,e.headerElement.style.width=i},ct=function(){for(;t(this,E).size;)t(this,E).has("reloadData")?(this.loadData(this.data),t(this,E).delete("reloadData")):t(this,E).has("reApplyFilters")?(f(this,l,X).call(this),t(this,E).delete("reApplyFilters")):t(this,E).has("reSortRows")?(f(this,l,me).call(this),t(this,E).delete("reSortRows")):t(this,E).has("reRenderTable")&&(f(this,l,Se).call(this),t(this,E).delete("reRenderTable")),t(this,E).has("updateHeaders")&&f(this,l,ie).call(this)},xe=new WeakMap,Oe=new WeakMap,ge=new WeakMap,Te=new WeakMap,Re=new WeakMap,Le=new WeakMap,Fe=new WeakMap,Me=new WeakMap,De=new WeakMap,ke=new WeakMap,He=new WeakMap,re.MatchWeights={EXACT:100,PREFIX:50,SUBSTRING:10};var Ke=re,it=1e4;var ae,q,S,G,Xe=class{constructor(o,e,s){h(this,ae);h(this,q);h(this,S,{saveSearch:!0,saveColumnSorting:!0,saveColumnVisibility:!0,saveColumnWidth:!0,saveColumnOrder:!0});h(this,G,()=>setTimeout(()=>this.saveState(),0));m(this,ae,o),m(this,q,e),m(this,S,_(_({},t(this,S)),s)),this.restoreState(),t(this,S).saveSearch&&o.addEventListener("dt.search",t(this,G)),t(this,S).saveColumnSorting&&o.addEventListener("dt.col.sort",t(this,G)),t(this,S).saveColumnVisibility&&o.addEventListener("dt.col.visibility",t(this,G)),t(this,S).saveColumnWidth&&o.addEventListener("dt.col.resize",t(this,G)),t(this,S).saveColumnOrder&&o.addEventListener("dt.col.reorder",t(this,G))}saveState(){var s;let o={columns:[]},e=t(this,ae).getState();t(this,S).saveSearch&&(o.searchQuery=e.searchQuery),t(this,S).saveColumnOrder&&(o.columnOrder=e.columnOrder);for(let i of e.columns){let r={field:i.field};t(this,S).saveColumnSorting&&(r.sortState=i.sortState),t(this,S).saveColumnVisibility&&(r.visible=i.visible),t(this,S).saveColumnWidth&&(r.width=i.width),(s=o.columns)==null||s.push(r)}localStorage.setItem(t(this,q),JSON.stringify(o))}restoreState(){let o=localStorage.getItem(t(this,q));if(o)try{let e=JSON.parse(o),s={};if(t(this,S).saveSearch&&(s.searchQuery=e.searchQuery),t(this,S).saveColumnOrder&&(s.columnOrder=e.columnOrder),e.columns){s.columns=[];for(let i of e.columns){let r={field:i.field};t(this,S).saveColumnVisibility&&(r.visible=i.visible),t(this,S).saveColumnWidth&&(r.width=i.width),t(this,S).saveColumnSorting&&(r.sortState=i.sortState),s.columns.push(r)}}t(this,ae).restoreState(s)}catch(e){console.error("Failed to restore DataTable state:",e)}}clearState(){localStorage.removeItem(t(this,q))}};ae=new WeakMap,q=new WeakMap,S=new WeakMap,G=new WeakMap;0&&(module.exports={DataTable,LocalStorageAdapter,VirtualScroll,VirtualScrollError,createRegexTokenizer});
|
|
4
4
|
//# sourceMappingURL=data-table.js.map
|