vue3-easy-data-table
Advanced tools
Comparing version 1.2.24 to 1.2.25
@@ -396,3 +396,3 @@ var __defProp = Object.defineProperty; | ||
key: 1, | ||
class: "header-text__wrapper" | ||
class: "header-item" | ||
}; | ||
@@ -603,25 +603,25 @@ const _hoisted_3 = { | ||
useCssVars((_ctx) => ({ | ||
"3a038470": unref(tableBorderColor), | ||
"2a94827c": unref(minHeightPx), | ||
"c3613c8c": unref(rowBackgroundColor), | ||
"21cc2804": unref(tableHeightPx), | ||
"525ea4df": unref(loadingWrapperSizePx), | ||
"79646b6c": unref(rowHeightPx), | ||
"575f4b92": unref(fontSizePx), | ||
"ad5d720e": unref(rowFontColor), | ||
"21a146f6": unref(shadowRightPx), | ||
"22f82bfc": unref(rowBorderColor), | ||
"6ecf6ef0": unref(headerFontColor), | ||
"5f2cbc09": __props.headerBackgroundColor, | ||
"2329180e": unref(sortTypeIconSizePx), | ||
"014a2d08": unref(sortTypeAscIconMarginTopPx), | ||
"02dd9ec1": unref(sortClickAreaSizePx), | ||
"1150f334": unref(sortClickAreaOffsetSizePx), | ||
"d5fa4464": unref(sortTypeDescIconMarginTopPx), | ||
"933b3b98": unref(rowHoverBackgroundColor), | ||
"09e4aaf3": unref(rowHoverFontColor), | ||
"b866a49a": unref(evenRowFontColor), | ||
"89255618": unref(evenRowBackgroundColor), | ||
"4a86a98a": unref(footerBackgroundColor), | ||
"6dd0053a": unref(footerFontColor) | ||
"0328907a": unref(tableBorderColor), | ||
"1acb04d0": unref(minHeightPx), | ||
"5d2fcfec": unref(rowBackgroundColor), | ||
"6ef5e68c": unref(tableHeightPx), | ||
"4a4762de": unref(loadingWrapperSizePx), | ||
"1939df50": unref(rowHeightPx), | ||
"a6d9cb2e": unref(fontSizePx), | ||
"7be4c2ab": unref(rowFontColor), | ||
"6f0b5713": unref(shadowRightPx), | ||
"c2c8f9a4": unref(rowBorderColor), | ||
"7d4050d4": unref(headerFontColor), | ||
"33376ed2": __props.headerBackgroundColor, | ||
"a5683baa": unref(sortTypeIconSizePx), | ||
"3b4b05ae": unref(sortTypeAscIconMarginTopPx), | ||
"200af6cf": unref(sortClickAreaSizePx), | ||
"3c98ee7c": unref(sortClickAreaOffsetSizePx), | ||
"51d37048": unref(sortTypeDescIconMarginTopPx), | ||
"4de90342": unref(rowHoverBackgroundColor), | ||
"21f6a2fe": unref(rowHoverFontColor), | ||
"7811ff36": unref(evenRowFontColor), | ||
"1b275a26": unref(evenRowBackgroundColor), | ||
"61f437c9": unref(footerBackgroundColor), | ||
"66979448": unref(footerFontColor) | ||
})); | ||
@@ -1226,3 +1226,3 @@ const { | ||
}); | ||
var DataTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-031dafe3"]]); | ||
var DataTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0e8b8763"]]); | ||
if (typeof window !== "undefined" && window.Vue) { | ||
@@ -1229,0 +1229,0 @@ window.Vue.createApp({}).component("Vue3EasyDataTable", DataTable); |
@@ -1,1 +0,1 @@ | ||
(function(e,_){typeof exports=="object"&&typeof module!="undefined"?module.exports=_(require("vue")):typeof define=="function"&&define.amd?define(["vue"],_):(e=typeof globalThis!="undefined"?globalThis:e||self,e["vue3-easy-data-table"]=_(e.Vue))})(this,function(e){"use strict";var It=Object.defineProperty,Et=Object.defineProperties;var Vt=Object.getOwnPropertyDescriptors;var _e=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable;var ke=(e,_,g)=>_ in e?It(e,_,{enumerable:!0,configurable:!0,writable:!0,value:g}):e[_]=g,C=(e,_)=>{for(var g in _||(_={}))Ft.call(_,g)&&ke(e,g,_[g]);if(_e)for(var g of _e(_))Tt.call(_,g)&&ke(e,g,_[g]);return e},H=(e,_)=>Et(e,Vt(_));var _="",g=(a,k)=>{const l=a.__vccOpts||a;for(const[n,p]of k)l[n]=p;return l};const xe=a=>(e.pushScopeId("data-v-566775ba"),a=a(),e.popScopeId(),a),be=["onClick"],Ce=["checked"],Se=xe(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Be=g(e.defineComponent({props:{status:{type:String,required:!0}},emits:["change"],setup(a,{emit:k}){const l=a;e.useCssVars(w=>({"7f84b28f":e.unref(b)}));const n=e.computed(()=>l.status==="allSelected"),p=()=>{k("change",!n.value)},b=e.inject("themeColor");return(w,T)=>(e.openBlock(),e.createElementBlock("div",{class:"multi-select__checkbox",onClick:e.withModifiers(p,["stop","prevent"])},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(n),class:e.normalizeClass(a.status)},null,10,Ce),Se],8,be))}}),[["__scopeId","data-v-566775ba"]]),Ht="";const Pe=a=>(e.pushScopeId("data-v-39f156fd"),a=a(),e.popScopeId(),a),we=["checked"],Ne=Pe(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var $e=g(e.defineComponent({props:{checked:{type:Boolean,required:!0}},emits:["change"],setup(a,{emit:k}){e.useCssVars(n=>({"20cfc5a0":e.unref(l)}));const l=e.inject("themeColor");return(n,p)=>(e.openBlock(),e.createElementBlock("div",{class:"single-select__checkbox",onClick:p[0]||(p[0]=e.withModifiers(b=>k("change"),["stop","prevent"]))},[e.createElementVNode("input",{type:"checkbox",checked:a.checked},null,8,we),Ne]))}}),[["__scopeId","data-v-39f156fd"]]),Lt="";const Ie=a=>(e.pushScopeId("data-v-0ed08e20"),a=a(),e.popScopeId(),a),Ee={class:"easy-data-table__rows-selector"},Ve={class:"rows-input"},Fe=Ie(()=>e.createElementVNode("div",{class:"triangle"},null,-1)),Te=["onClick"];var ze=g(e.defineComponent({props:{modelValue:{type:Number,required:!0},rowsItems:{type:Array,required:!0}},emits:["update:modelValue"],setup(a,{emit:k}){const l=a;e.useCssVars(h=>({"83c11052":e.unref(m),"6b60f418":e.unref(s),"346ac97c":e.unref(d)}));const n=e.ref(!1),p=e.ref(!1),b=e.inject("dataTable");e.watch(n,h=>{if(h&&b){const S=window.innerHeight,x=b.value.getBoundingClientRect().height,I=b.value.getBoundingClientRect().top;S-(x+I)<=100?p.value=!0:p.value=!1}});const w=e.computed({get:()=>l.modelValue,set:h=>{k("update:modelValue",h)}}),T=h=>{w.value=h,n.value=!1},O=(h,S)=>{let x=h.parentNode;for(;x!=null;){if(x.classList&&x.classList.contains(S))return!0;x=x.parentNode}return!1},z=h=>{O(h.target,"easy-data-table__rows-selector")||(n.value=!1)};e.onMounted(()=>{document.addEventListener("click",z)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",z)});const d=e.inject("themeColor"),s=e.inject("footerBackgroundColor"),m=e.inject("footerFontColor");return(h,S)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.createElementVNode("div",{class:"rows-input__wrapper",onClick:S[0]||(S[0]=x=>n.value=!n.value)},[e.createElementVNode("div",Ve,e.toDisplayString(e.unref(w)),1),Fe]),e.createElementVNode("ul",{class:e.normalizeClass(["select-items",{show:n.value,inside:p.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.rowsItems,x=>(e.openBlock(),e.createElementBlock("li",{key:x,class:e.normalizeClass({selected:x===e.unref(w)}),onClick:I=>T(x)},e.toDisplayString(x),11,Te))),128))],2)]))}}),[["__scopeId","data-v-0ed08e20"]]),At="";const D=a=>(e.pushScopeId("data-v-969989cc"),a=a(),e.popScopeId(),a),He={class:"lds-ring"},Oe=[D(()=>e.createElementVNode("div",null,null,-1)),D(()=>e.createElementVNode("div",null,null,-1)),D(()=>e.createElementVNode("div",null,null,-1)),D(()=>e.createElementVNode("div",null,null,-1))];var Le=g(e.defineComponent({setup(a){e.useCssVars(n=>({"284c10f4":e.unref(l),"90c4d0a4":e.unref(k)}));const k=e.inject("themeColor"),l=e.inject("loadingEntitySizePx");return(n,p)=>(e.openBlock(),e.createElementBlock("div",He,Oe))}}),[["__scopeId","data-v-969989cc"]]),Jt="";const Re={class:"buttons-pagination"},Ae=["onClick"];var De=g(e.defineComponent({props:{maxPaginationNumber:{type:Number,required:!0},currentPaginationNumber:{type:Number,required:!0}},emits:["updatePage"],setup(a,{emit:k}){const l=a;e.useCssVars(d=>({aa5730a0:e.unref(T),"24829312":e.unref(O),"98a0e762":e.unref(z)}));const n=7,p=d=>{d.type==="button"&&!d.active&&k("updatePage",d.page)},b=e.computed(()=>{const d=[];if(l.maxPaginationNumber<=n)for(let s=1;s<=l.maxPaginationNumber;s+=1)d.push({type:"button",page:s,active:s===l.currentPaginationNumber});else if([1,2,l.maxPaginationNumber,l.maxPaginationNumber-1].includes(l.currentPaginationNumber))for(let s=1;s<=n;s+=1)if(s<=3)d.push({type:"button",page:s,active:s===l.currentPaginationNumber});else if(s===4)d.push({type:"omission"});else{const m=l.maxPaginationNumber-(n-s);d.push({type:"button",page:m,active:m===l.currentPaginationNumber})}else if([3,4].includes(l.currentPaginationNumber))for(let s=1;s<=n;s+=1)s<=5?d.push({type:"button",page:s,active:s===l.currentPaginationNumber}):s===6?d.push({type:"omission"}):d.push({type:"button",page:l.maxPaginationNumber,active:l.maxPaginationNumber===l.currentPaginationNumber});else if([l.maxPaginationNumber-2,l.maxPaginationNumber-3].includes(l.currentPaginationNumber))for(let s=1;s<=n;s+=1)if(s===1)d.push({type:"button",page:1,active:l.currentPaginationNumber===1});else if(s===2)d.push({type:"omission"});else{const m=l.maxPaginationNumber-(n-s);d.push({type:"button",page:m,active:m===l.currentPaginationNumber})}else for(let s=1;s<=n;s+=1)if(s===1)d.push({type:"button",page:1,active:l.currentPaginationNumber===1});else if(s===2||s===6)d.push({type:"omission"});else if(s===7)d.push({type:"button",page:l.maxPaginationNumber,active:l.maxPaginationNumber===l.currentPaginationNumber});else{const m=4-s,h=l.currentPaginationNumber-m;d.push({type:"button",page:h,active:h===l.currentPaginationNumber})}return d}),w=e.inject("rowHeight"),T=e.computed(()=>`${w*.6}px`),O=e.inject("rowBorderColor"),z=e.inject("themeColor");return(d,s)=>(e.openBlock(),e.createElementBlock("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),(m,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:e.normalizeClass(["item",{button:m.type==="button",active:m.type==="button"&&m.active,omission:m.type==="omission"}]),onClick:S=>p(m)},e.toDisplayString(m.type==="button"?m.page:"..."),11,Ae))),128))]))}}),[["__scopeId","data-v-4f534e20"]]),Gt="";const ee=a=>(e.pushScopeId("data-v-c9da5286"),a=a(),e.popScopeId(),a),Me=[ee(()=>e.createElementVNode("span",{class:"arrow arrow-right"},null,-1))],je=[ee(()=>e.createElementVNode("span",{class:"arrow arrow-left"},null,-1))];var qe=g(e.defineComponent({props:{isFirstPage:{type:Boolean,required:!1},isLastPage:{type:Boolean,required:!1}},emits:["clickPrevPage","clickNextPage"],setup(a,{emit:k}){const l=e.useSlots();return(n,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["previous-page__click-button",{"first-page":a.isFirstPage}]),onClick:p[0]||(p[0]=b=>k("clickPrevPage"))},Me,2),e.unref(l).buttonsPagination?e.renderSlot(n.$slots,"buttonsPagination",{key:0},void 0,!0):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["next-page__click-button",{"last-page":a.isLastPage}]),onClick:p[1]||(p[1]=b=>k("clickNextPage"))},je,2)],64))}}),[["__scopeId","data-v-c9da5286"]]),Yt="";const We={key:0},Je={key:1,class:"header-text__wrapper"},Ue={key:1,class:"header-text"},Ge=["onClick"],Ke=["onClick"],Qe={class:"loading-entity"},Xe={key:1,class:"data-table__message"},Ye={key:0,class:"data-table__footer"},Ze={key:0,class:"footer__rows-per-page"},ve=e.createTextVNode(" rows per page: "),et={class:"footer__items-index"};var te=g(e.defineComponent({props:{alternating:{type:Boolean,default:!1},buttonsPagination:{type:Boolean,default:!1},rowBorderColor:{type:String,default:"#e0e0e0"},tableBorderColor:{type:String,default:"#e0e0e0"},rowBackgroundColor:{type:String,default:"#fff"},footerBackgroundColor:{type:String,default:"#fff"},rowFontColor:{type:String,default:"#212121"},footerFontColor:{type:String,default:"#212121"},emptyMessage:{type:String,default:"No Available Data"},fixedHeader:{type:Boolean,default:!0},headerFontColor:{type:String,default:"#373737"},headerBackgroundColor:{type:String,default:"#fff"},tableFontSize:{type:Number,default:12},evenRowBackgroundColor:{type:String,default:"#fafafa"},evenRowFontColor:{type:String,default:"#212121"},headers:{type:Array,required:!0},hoverToChangeColor:{type:Boolean,default:!0},items:{type:Array,required:!0},tableHeight:{type:Number,default:()=>null},itemsSelected:{type:Array,default:null},searchField:{type:String,default:""},searchValue:{type:String,default:""},rowsPerPage:{type:Number,default:25},rowsItems:{type:Array,default:()=>[25,50,100]},rowHoverBackgroundColor:{type:String,default:"#eee"},rowHoverFontColor:{type:String,default:"#212121"},loading:{type:Boolean,deault:!1},serverOptions:{type:Object,default:null},serverItemsLength:{type:Number,default:0},sortBy:{type:String,default:""},sortType:{type:String,default:"asc"},themeColor:{type:String,default:"#42b883"},dense:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},filterOptions:{type:Array,default:null},fixedCheckbox:{type:Boolean,default:!1},fixedIndex:{type:Boolean,default:!1},indexColumnWidth:{type:Number,default:60},checkboxColumnWidth:{type:Number,default:null},hideRowsPerPage:{type:Boolean,default:!1},noThPadding:{type:Boolean,default:!1},noTdPadding:{type:Boolean,default:!1}},emits:["update:itemsSelected","update:serverOptions","clickRow"],setup(a,{expose:k,emit:l}){const n=a;e.useCssVars(o=>({"3a038470":e.unref(b),"2a94827c":e.unref(rt),c3613c8c:e.unref(s),"21cc2804":e.unref(nt),"525ea4df":e.unref(ut),"79646b6c":e.unref(tt),"575f4b92":e.unref(x),ad5d720e:e.unref(T),"21a146f6":e.unref(ot),"22f82bfc":e.unref(p),"6ecf6ef0":e.unref(w),"5f2cbc09":a.headerBackgroundColor,"2329180e":e.unref(at),"014a2d08":e.unref(it),"02dd9ec1":e.unref(lt),"1150f334":e.unref(st),d5fa4464:e.unref(ct),"933b3b98":e.unref(O),"09e4aaf3":e.unref(z),b866a49a:e.unref(h),"89255618":e.unref(m),"4a86a98a":e.unref(d),"6dd0053a":e.unref(S)}));const{rowBorderColor:p,tableBorderColor:b,headerFontColor:w,rowFontColor:T,rowHoverBackgroundColor:O,rowHoverFontColor:z,footerBackgroundColor:d,rowBackgroundColor:s,evenRowBackgroundColor:m,evenRowFontColor:h,footerFontColor:S}=e.toRefs(n),x=e.computed(()=>`${n.tableFontSize}px`),I=e.computed(()=>n.tableFontSize*(n.dense?2:3)),tt=e.computed(()=>`${I.value}px`),ot=e.computed(()=>`-${I.value}px`),nt=e.computed(()=>n.tableHeight?`${n.tableHeight}px`:null),rt=e.computed(()=>`${I.value*5}px`),M=e.computed(()=>Math.round(n.tableFontSize/2.5)),at=e.computed(()=>`${M.value}px`),lt=e.computed(()=>`${M.value*5}px`),st=e.computed(()=>`-${M.value*2.5}px`),oe=e.computed(()=>Math.round(M.value)),it=e.computed(()=>`-${oe.value}px`),ct=e.computed(()=>`${oe.value}px`),dt=e.computed(()=>`${n.tableFontSize*5}px`),ut=e.computed(()=>n.tableHeight?`${n.tableHeight-I.value}px`:`${n.tableFontSize*5*2}px`),pt=e.computed(()=>{var o;return(o=n.checkboxColumnWidth)!=null?o:1.3*n.tableFontSize+20});e.provide("themeColor",n.themeColor),e.provide("loadingEntitySizePx",dt.value),e.provide("rowHeight",I.value),e.provide("rowBorderColor",p.value),e.provide("footerBackgroundColor",d.value),e.provide("footerFontColor",S.value);const L=e.useSlots(),ft=e.computed(()=>L.body),mt=e.computed(()=>L.pagination),gt=e.computed(()=>L.loading),ne=e.ref(),G=e.ref();e.provide("dataTable",ne);const re=e.ref(!1);e.onMounted(()=>{G.value.addEventListener("scroll",()=>{re.value=G.value.scrollLeft>0})});const u=e.computed({get:()=>{if(n.serverOptions){const{page:o,rowsPerPage:r,sortBy:t,sortType:i}=n.serverOptions;return{page:o,rowsPerPage:r,sortBy:t!=null?t:null,sortType:i!=null?i:null}}return null},set:o=>{l("update:serverOptions",o)}}),K=e.computed(()=>n.itemsSelected!==null),B=e.computed(()=>u.value!==null),ht=e.computed(()=>!B.value&&n.rowsItems.findIndex(o=>o===n.rowsPerPage)===-1?[n.rowsPerPage,...n.rowsItems]:n.rowsItems),yt=()=>n.sortBy!==""?{sortBy:n.sortBy,sortDesc:n.sortType==="desc"}:null,E=e.ref(yt()),Q=e.computed(()=>n.headers.findIndex(o=>o.fixed)!==-1),_t=e.computed(()=>Q.value?n.headers.filter(o=>o.fixed):[]),kt=e.computed(()=>n.headers.filter(o=>!o.fixed)),R=e.computed(()=>{const r=[..._t.value,...kt.value].map(c=>{const f=c;return c.sortable&&(f.sortType="none"),u.value&&c.value===u.value.sortBy&&u.value.sortType&&(f.sortType=u.value.sortType),!B.value&&E.value&&c.value===E.value.sortBy&&(f.sortType=E.value.sortDesc?"desc":"asc"),f});let t=[];n.showIndex?t=[n.fixedIndex||Q.value?{text:"#",value:"index",fixed:!0,width:n.indexColumnWidth}:{text:"#",value:"index"},...r]:t=r;let i=[];return K.value?i=[n.fixedCheckbox||Q.value?{text:"checkbox",value:"checkbox",fixed:!0,width:pt.value}:{text:"checkbox",value:"checkbox"},...t]:i=t,i}),N=e.computed(()=>R.value.filter(o=>o.fixed)),ae=e.computed(()=>N.value.length?N.value[N.value.length-1].value:""),xt=o=>{var t;const r=(t=o.width)!=null?t:N.value.length?100:null;if(r)return`width: ${r}px; min-width: ${r}px;`},bt=e.computed(()=>{if(!N.value.length)return[];const o=N.value.map(r=>{var t;return(t=r.width)!=null?t:100});return N.value.map((r,t)=>{var i,c;return{value:r.value,fixed:(i=r.fixed)!=null?i:!0,width:(c=r.width)!=null?c:100,distance:t===0?0:o.reduce((f,he,$t)=>{let ye=f;return $t<t&&(ye+=he),ye})}})}),le=(o,r="th")=>{if(!N.value.length)return;const t=bt.value.find(i=>i.value===o);if(t)return`left: ${t.distance}px;z-index: ${r==="th"?3:1}; position: sticky`},se=e.computed(()=>R.value.map(o=>o.value)),A=(o,r)=>{if(o.includes(".")){let t="";return o.split(".").forEach((c,f)=>{t=f===0?r[c]:t[c]}),t}return r[o]},Ct=(o,r)=>{const t=A(o,r);return Array.isArray(t)?t.join(","):t},P=e.computed({get:()=>{var o;return(o=n.itemsSelected)!=null?o:[]},set:o=>{l("update:itemsSelected",o)}}),ie=e.computed(()=>{if(!B.value&&n.searchValue!==""){const o=new RegExp(n.searchValue,"i");return n.items.filter(r=>o.test(n.searchField!==""?r[n.searchField]:Object.values(r).join(" ")))}return n.items}),V=e.computed(()=>{let o=[...ie.value];return n.filterOptions?(n.filterOptions.forEach(r=>{o=o.filter(t=>{const{field:i,comparison:c,criteria:f}=r;switch(c){case"=":return t[i]===f;case"!=":return t[i]!==f;case">":return t[i]>f;case"<":return t[i]<f;case"<=":return t[i]<=f;case">=":return t[i]>=f;case"between":return t[i]>=Math.min(...f)&&t[i]<=Math.max(...f);default:return t[i]===f}})}),o):ie.value}),j=e.computed(()=>P.value.length===0||P.value.every(r=>V.value.findIndex(t=>JSON.stringify(r)===JSON.stringify(t))===-1)?"noneSelected":P.value.length===V.value.length&&P.value.every(t=>V.value.findIndex(i=>JSON.stringify(t)===JSON.stringify(i))!==-1)?"allSelected":"partSelected"),y=e.ref(B.value?n.serverOptions.page:1),{items:X}=e.toRefs(n);e.watch(X,()=>{B.value||(y.value=1)},{deep:!0});const $=e.ref(B.value?n.serverOptions.rowsPerPage:n.rowsPerPage);e.watch($,o=>{u.value&&(u.value=H(C({},u.value),{page:1,rowsPerPage:o})),y.value=1});const St=(o,r)=>{let t=null;r==="none"?t="asc":r==="asc"?t="desc":t=null,u.value?u.value=H(C({},u.value),{sortBy:t!==null?o:null,sortType:t}):t===null?E.value=null:E.value={sortBy:o,sortDesc:t==="desc"}},ce=e.computed(()=>{if(B.value)return n.items;if(E.value===null)return V.value;const{sortBy:o,sortDesc:r}=E.value;return[...V.value].sort((i,c)=>A(o,i)<A(o,c)?r?1:-1:A(o,i)>A(o,c)?r?-1:1:0)}),Y=e.computed(()=>B.value?n.serverItemsLength:V.value.length),de=e.computed(()=>B.value?y.value*$.value:Math.min(V.value.length,y.value*$.value)),ue=e.computed(()=>(y.value-1)*$.value+1),q=e.computed(()=>Math.ceil(Y.value/$.value)),W=e.computed(()=>y.value===q.value),J=e.computed(()=>y.value===1),{loading:F}=e.toRefs(n),Z=()=>{if(!W.value&&!F.value)if(u.value){const o=y.value+1;u.value=H(C({},u.value),{page:o})}else y.value+=1},v=()=>{if(!J.value&&!F.value)if(u.value){const o=y.value-1;u.value=H(C({},u.value),{page:o})}else y.value-=1},pe=o=>{F.value||(u.value?u.value=H(C({},u.value),{page:o}):y.value=o)};e.watch(F,(o,r)=>{u.value&&o===!1&&r===!0&&(y.value=u.value.page)});const fe=e.computed(()=>B.value?n.items:ce.value.slice(ue.value-1,de.value)),me=e.computed(()=>$.value*(y.value-1)+1),Bt=e.computed(()=>$.value*y.value),U=e.computed(()=>n.showIndex?fe.value.map((o,r)=>C({index:me.value+r},o)):fe.value),ge=e.computed(()=>K.value?j.value==="allSelected"?U.value.map(o=>C({checkbox:!0},o)):j.value==="noneSelected"?U.value.map(o=>C({checkbox:!1},o)):U.value.map(o=>{const r=P.value.findIndex(t=>{const i=C({},o);return delete i.index,JSON.stringify(t)===JSON.stringify(i)})!==-1;return C({checkbox:r},o)}):U.value),Pt=o=>{P.value=o?ce.value:[]},wt=o=>{const r=o.checkbox;if(delete o.checkbox,delete o.index,r)P.value=P.value.filter(t=>JSON.stringify(t)!==JSON.stringify(o));else{const t=P.value;t.unshift(o),P.value=t}},Nt=o=>{const r=C({},o);if(K.value){const{checkbox:t}=o;delete r.checkbox,r.isSelected=t}if(n.showIndex){const{index:t}=o;delete r.index,r.indexInCurrentPage=t}l("clickRow",r)};return k({clientItemsLength:Y,currentPageFirstIndex:me,currentPageLastIndex:Bt,maxPaginationNumber:q,currentPaginationNumber:y,isLastPage:W,isFirstPage:J,nextPage:Z,prevPage:v,updatePage:pe}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataTable",ref:ne,class:"vue3-easy-data-table"},[e.createElementVNode("div",{ref_key:"tableBody",ref:G,class:e.normalizeClass(["data-table__body",{"fixed-header":a.fixedHeader,"fixed-height":a.tableHeight,"show-shadow":re.value}])},[e.createElementVNode("table",{class:e.normalizeClass({fixed:e.unref(N).length})},[e.createElementVNode("colgroup",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(R),(t,i)=>(e.openBlock(),e.createElementBlock("col",{key:i,style:e.normalizeStyle(xt(t))},null,4))),128))]),e.unref(R).length?(e.openBlock(),e.createElementBlock("thead",We,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(R),(t,i)=>(e.openBlock(),e.createElementBlock("th",{key:i,class:e.normalizeClass({sortable:t.sortable,none:t.sortable&&t.sortType==="none",desc:t.sortable&&t.sortType==="desc",asc:t.sortable&&t.sortType==="asc",fixed:t.fixed,"has-shadow":t.value===e.unref(ae),"no-padding":a.noThPadding}),style:e.normalizeStyle(le(t.value))},[t.text==="checkbox"?(e.openBlock(),e.createBlock(Be,{key:e.unref(j),status:e.unref(j),onChange:Pt},null,8,["status"])):(e.openBlock(),e.createElementBlock("span",Je,[e.unref(L)[`header-${t.value}`]?e.renderSlot(o.$slots,`header-${t.value}`,e.normalizeProps(e.mergeProps({key:0},t)),void 0,!0):(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(t.text),1)),t.sortable?(e.openBlock(),e.createElementBlock("i",{key:t.sortType?t.sortType:"none",class:e.normalizeClass(["sortType-icon",{desc:t.sortType==="desc"}]),onClick:e.withModifiers(c=>t.sortable&&t.sortType?St(t.value,t.sortType):null,["stop"])},null,10,Ge)):e.createCommentVNode("",!0)]))],6))),128))])])):e.createCommentVNode("",!0),e.unref(ft)?e.renderSlot(o.$slots,"body",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.unref(X).length&&e.unref(se).length?(e.openBlock(),e.createElementBlock("tbody",{key:0,class:e.normalizeClass({"row-alternation":a.alternating,"hover-to-change-color":a.hoverToChangeColor})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ge),(t,i)=>(e.openBlock(),e.createElementBlock("tr",{key:i,onClick:c=>Nt(t)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(se),(c,f)=>(e.openBlock(),e.createElementBlock("td",{key:f,style:e.normalizeStyle(le(c,"td")),class:e.normalizeClass({"has-shadow":c===e.unref(ae),"no-padding":a.noTdPadding})},[e.unref(L)[`item-${c}`]?e.renderSlot(o.$slots,`item-${c}`,e.normalizeProps(e.mergeProps({key:0},t)),void 0,!0):c==="checkbox"?(e.openBlock(),e.createBlock($e,{key:1,checked:t[c],onChange:he=>wt(t)},null,8,["checked","onChange"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(Ct(c,t)),1)],64))],6))),128))],8,Ke))),128))],2)):e.createCommentVNode("",!0)],64))],2),e.unref(F)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["loading-wrapper",{"initial-loading":!e.unref(X).length&&e.unref(F)}])},[e.createElementVNode("div",{class:e.normalizeClass(["loading-mask",{"no-footer":a.hideFooter}])},null,2),e.createElementVNode("div",Qe,[e.unref(gt)?e.renderSlot(o.$slots,"loading",{key:0},void 0,!0):(e.openBlock(),e.createBlock(Le,{key:1}))])],2)):e.createCommentVNode("",!0),!e.unref(ge).length&&!e.unref(F)?(e.openBlock(),e.createElementBlock("div",Xe,e.toDisplayString(a.emptyMessage),1)):e.createCommentVNode("",!0)],2),a.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ye,[a.hideRowsPerPage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ze,[ve,e.createVNode(ze,{modelValue:$.value,"onUpdate:modelValue":r[0]||(r[0]=t=>$.value=t),"rows-items":e.unref(ht)},null,8,["modelValue","rows-items"])])),e.createElementVNode("div",et,e.toDisplayString(`${e.unref(ue)}-${e.unref(de)}`)+" of "+e.toDisplayString(e.unref(Y)),1),e.unref(mt)?e.renderSlot(o.$slots,"pagination",e.normalizeProps(e.mergeProps({key:1},{isFirstPage:e.unref(J),isLastPage:e.unref(W),currentPaginationNumber:y.value,maxPaginationNumber:e.unref(q),nextPage:Z,prevPage:v})),void 0,!0):(e.openBlock(),e.createBlock(qe,{key:2,"is-first-page":e.unref(J),"is-last-page":e.unref(W),onClickNextPage:Z,onClickPrevPage:v},e.createSlots({_:2},[a.buttonsPagination?{name:"buttonsPagination",fn:e.withCtx(()=>[e.createVNode(De,{"current-pagination-number":y.value,"max-pagination-number":e.unref(q),onUpdatePage:pe},null,8,["current-pagination-number","max-pagination-number"])])}:void 0]),1032,["is-first-page","is-last-page"]))]))],512))}}),[["__scopeId","data-v-031dafe3"]]);return typeof window!="undefined"&&window.Vue&&window.Vue.createApp({}).component("Vue3EasyDataTable",te),te}); | ||
(function(e,_){typeof exports=="object"&&typeof module!="undefined"?module.exports=_(require("vue")):typeof define=="function"&&define.amd?define(["vue"],_):(e=typeof globalThis!="undefined"?globalThis:e||self,e["vue3-easy-data-table"]=_(e.Vue))})(this,function(e){"use strict";var It=Object.defineProperty,Et=Object.defineProperties;var Vt=Object.getOwnPropertyDescriptors;var _e=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable;var ke=(e,_,g)=>_ in e?It(e,_,{enumerable:!0,configurable:!0,writable:!0,value:g}):e[_]=g,C=(e,_)=>{for(var g in _||(_={}))Ft.call(_,g)&&ke(e,g,_[g]);if(_e)for(var g of _e(_))Tt.call(_,g)&&ke(e,g,_[g]);return e},H=(e,_)=>Et(e,Vt(_));var _="",g=(a,k)=>{const l=a.__vccOpts||a;for(const[n,p]of k)l[n]=p;return l};const xe=a=>(e.pushScopeId("data-v-566775ba"),a=a(),e.popScopeId(),a),be=["onClick"],Ce=["checked"],Se=xe(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Be=g(e.defineComponent({props:{status:{type:String,required:!0}},emits:["change"],setup(a,{emit:k}){const l=a;e.useCssVars(w=>({"7f84b28f":e.unref(b)}));const n=e.computed(()=>l.status==="allSelected"),p=()=>{k("change",!n.value)},b=e.inject("themeColor");return(w,T)=>(e.openBlock(),e.createElementBlock("div",{class:"multi-select__checkbox",onClick:e.withModifiers(p,["stop","prevent"])},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(n),class:e.normalizeClass(a.status)},null,10,Ce),Se],8,be))}}),[["__scopeId","data-v-566775ba"]]),Ht="";const Pe=a=>(e.pushScopeId("data-v-39f156fd"),a=a(),e.popScopeId(),a),we=["checked"],Ne=Pe(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var $e=g(e.defineComponent({props:{checked:{type:Boolean,required:!0}},emits:["change"],setup(a,{emit:k}){e.useCssVars(n=>({"20cfc5a0":e.unref(l)}));const l=e.inject("themeColor");return(n,p)=>(e.openBlock(),e.createElementBlock("div",{class:"single-select__checkbox",onClick:p[0]||(p[0]=e.withModifiers(b=>k("change"),["stop","prevent"]))},[e.createElementVNode("input",{type:"checkbox",checked:a.checked},null,8,we),Ne]))}}),[["__scopeId","data-v-39f156fd"]]),Lt="";const Ie=a=>(e.pushScopeId("data-v-0ed08e20"),a=a(),e.popScopeId(),a),Ee={class:"easy-data-table__rows-selector"},Ve={class:"rows-input"},Fe=Ie(()=>e.createElementVNode("div",{class:"triangle"},null,-1)),Te=["onClick"];var ze=g(e.defineComponent({props:{modelValue:{type:Number,required:!0},rowsItems:{type:Array,required:!0}},emits:["update:modelValue"],setup(a,{emit:k}){const l=a;e.useCssVars(h=>({"83c11052":e.unref(m),"6b60f418":e.unref(s),"346ac97c":e.unref(d)}));const n=e.ref(!1),p=e.ref(!1),b=e.inject("dataTable");e.watch(n,h=>{if(h&&b){const S=window.innerHeight,x=b.value.getBoundingClientRect().height,I=b.value.getBoundingClientRect().top;S-(x+I)<=100?p.value=!0:p.value=!1}});const w=e.computed({get:()=>l.modelValue,set:h=>{k("update:modelValue",h)}}),T=h=>{w.value=h,n.value=!1},O=(h,S)=>{let x=h.parentNode;for(;x!=null;){if(x.classList&&x.classList.contains(S))return!0;x=x.parentNode}return!1},z=h=>{O(h.target,"easy-data-table__rows-selector")||(n.value=!1)};e.onMounted(()=>{document.addEventListener("click",z)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",z)});const d=e.inject("themeColor"),s=e.inject("footerBackgroundColor"),m=e.inject("footerFontColor");return(h,S)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.createElementVNode("div",{class:"rows-input__wrapper",onClick:S[0]||(S[0]=x=>n.value=!n.value)},[e.createElementVNode("div",Ve,e.toDisplayString(e.unref(w)),1),Fe]),e.createElementVNode("ul",{class:e.normalizeClass(["select-items",{show:n.value,inside:p.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.rowsItems,x=>(e.openBlock(),e.createElementBlock("li",{key:x,class:e.normalizeClass({selected:x===e.unref(w)}),onClick:I=>T(x)},e.toDisplayString(x),11,Te))),128))],2)]))}}),[["__scopeId","data-v-0ed08e20"]]),At="";const D=a=>(e.pushScopeId("data-v-969989cc"),a=a(),e.popScopeId(),a),He={class:"lds-ring"},Oe=[D(()=>e.createElementVNode("div",null,null,-1)),D(()=>e.createElementVNode("div",null,null,-1)),D(()=>e.createElementVNode("div",null,null,-1)),D(()=>e.createElementVNode("div",null,null,-1))];var Le=g(e.defineComponent({setup(a){e.useCssVars(n=>({"284c10f4":e.unref(l),"90c4d0a4":e.unref(k)}));const k=e.inject("themeColor"),l=e.inject("loadingEntitySizePx");return(n,p)=>(e.openBlock(),e.createElementBlock("div",He,Oe))}}),[["__scopeId","data-v-969989cc"]]),Jt="";const Re={class:"buttons-pagination"},Ae=["onClick"];var De=g(e.defineComponent({props:{maxPaginationNumber:{type:Number,required:!0},currentPaginationNumber:{type:Number,required:!0}},emits:["updatePage"],setup(a,{emit:k}){const l=a;e.useCssVars(d=>({aa5730a0:e.unref(T),"24829312":e.unref(O),"98a0e762":e.unref(z)}));const n=7,p=d=>{d.type==="button"&&!d.active&&k("updatePage",d.page)},b=e.computed(()=>{const d=[];if(l.maxPaginationNumber<=n)for(let s=1;s<=l.maxPaginationNumber;s+=1)d.push({type:"button",page:s,active:s===l.currentPaginationNumber});else if([1,2,l.maxPaginationNumber,l.maxPaginationNumber-1].includes(l.currentPaginationNumber))for(let s=1;s<=n;s+=1)if(s<=3)d.push({type:"button",page:s,active:s===l.currentPaginationNumber});else if(s===4)d.push({type:"omission"});else{const m=l.maxPaginationNumber-(n-s);d.push({type:"button",page:m,active:m===l.currentPaginationNumber})}else if([3,4].includes(l.currentPaginationNumber))for(let s=1;s<=n;s+=1)s<=5?d.push({type:"button",page:s,active:s===l.currentPaginationNumber}):s===6?d.push({type:"omission"}):d.push({type:"button",page:l.maxPaginationNumber,active:l.maxPaginationNumber===l.currentPaginationNumber});else if([l.maxPaginationNumber-2,l.maxPaginationNumber-3].includes(l.currentPaginationNumber))for(let s=1;s<=n;s+=1)if(s===1)d.push({type:"button",page:1,active:l.currentPaginationNumber===1});else if(s===2)d.push({type:"omission"});else{const m=l.maxPaginationNumber-(n-s);d.push({type:"button",page:m,active:m===l.currentPaginationNumber})}else for(let s=1;s<=n;s+=1)if(s===1)d.push({type:"button",page:1,active:l.currentPaginationNumber===1});else if(s===2||s===6)d.push({type:"omission"});else if(s===7)d.push({type:"button",page:l.maxPaginationNumber,active:l.maxPaginationNumber===l.currentPaginationNumber});else{const m=4-s,h=l.currentPaginationNumber-m;d.push({type:"button",page:h,active:h===l.currentPaginationNumber})}return d}),w=e.inject("rowHeight"),T=e.computed(()=>`${w*.6}px`),O=e.inject("rowBorderColor"),z=e.inject("themeColor");return(d,s)=>(e.openBlock(),e.createElementBlock("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),(m,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:e.normalizeClass(["item",{button:m.type==="button",active:m.type==="button"&&m.active,omission:m.type==="omission"}]),onClick:S=>p(m)},e.toDisplayString(m.type==="button"?m.page:"..."),11,Ae))),128))]))}}),[["__scopeId","data-v-4f534e20"]]),Gt="";const ee=a=>(e.pushScopeId("data-v-c9da5286"),a=a(),e.popScopeId(),a),Me=[ee(()=>e.createElementVNode("span",{class:"arrow arrow-right"},null,-1))],je=[ee(()=>e.createElementVNode("span",{class:"arrow arrow-left"},null,-1))];var qe=g(e.defineComponent({props:{isFirstPage:{type:Boolean,required:!1},isLastPage:{type:Boolean,required:!1}},emits:["clickPrevPage","clickNextPage"],setup(a,{emit:k}){const l=e.useSlots();return(n,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["previous-page__click-button",{"first-page":a.isFirstPage}]),onClick:p[0]||(p[0]=b=>k("clickPrevPage"))},Me,2),e.unref(l).buttonsPagination?e.renderSlot(n.$slots,"buttonsPagination",{key:0},void 0,!0):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["next-page__click-button",{"last-page":a.isLastPage}]),onClick:p[1]||(p[1]=b=>k("clickNextPage"))},je,2)],64))}}),[["__scopeId","data-v-c9da5286"]]),Yt="";const We={key:0},Je={key:1,class:"header-item"},Ue={key:1,class:"header-text"},Ge=["onClick"],Ke=["onClick"],Qe={class:"loading-entity"},Xe={key:1,class:"data-table__message"},Ye={key:0,class:"data-table__footer"},Ze={key:0,class:"footer__rows-per-page"},ve=e.createTextVNode(" rows per page: "),et={class:"footer__items-index"};var te=g(e.defineComponent({props:{alternating:{type:Boolean,default:!1},buttonsPagination:{type:Boolean,default:!1},rowBorderColor:{type:String,default:"#e0e0e0"},tableBorderColor:{type:String,default:"#e0e0e0"},rowBackgroundColor:{type:String,default:"#fff"},footerBackgroundColor:{type:String,default:"#fff"},rowFontColor:{type:String,default:"#212121"},footerFontColor:{type:String,default:"#212121"},emptyMessage:{type:String,default:"No Available Data"},fixedHeader:{type:Boolean,default:!0},headerFontColor:{type:String,default:"#373737"},headerBackgroundColor:{type:String,default:"#fff"},tableFontSize:{type:Number,default:12},evenRowBackgroundColor:{type:String,default:"#fafafa"},evenRowFontColor:{type:String,default:"#212121"},headers:{type:Array,required:!0},hoverToChangeColor:{type:Boolean,default:!0},items:{type:Array,required:!0},tableHeight:{type:Number,default:()=>null},itemsSelected:{type:Array,default:null},searchField:{type:String,default:""},searchValue:{type:String,default:""},rowsPerPage:{type:Number,default:25},rowsItems:{type:Array,default:()=>[25,50,100]},rowHoverBackgroundColor:{type:String,default:"#eee"},rowHoverFontColor:{type:String,default:"#212121"},loading:{type:Boolean,deault:!1},serverOptions:{type:Object,default:null},serverItemsLength:{type:Number,default:0},sortBy:{type:String,default:""},sortType:{type:String,default:"asc"},themeColor:{type:String,default:"#42b883"},dense:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},filterOptions:{type:Array,default:null},fixedCheckbox:{type:Boolean,default:!1},fixedIndex:{type:Boolean,default:!1},indexColumnWidth:{type:Number,default:60},checkboxColumnWidth:{type:Number,default:null},hideRowsPerPage:{type:Boolean,default:!1},noThPadding:{type:Boolean,default:!1},noTdPadding:{type:Boolean,default:!1}},emits:["update:itemsSelected","update:serverOptions","clickRow"],setup(a,{expose:k,emit:l}){const n=a;e.useCssVars(o=>({"0328907a":e.unref(b),"1acb04d0":e.unref(rt),"5d2fcfec":e.unref(s),"6ef5e68c":e.unref(nt),"4a4762de":e.unref(ut),"1939df50":e.unref(tt),a6d9cb2e:e.unref(x),"7be4c2ab":e.unref(T),"6f0b5713":e.unref(ot),c2c8f9a4:e.unref(p),"7d4050d4":e.unref(w),"33376ed2":a.headerBackgroundColor,a5683baa:e.unref(at),"3b4b05ae":e.unref(it),"200af6cf":e.unref(lt),"3c98ee7c":e.unref(st),"51d37048":e.unref(ct),"4de90342":e.unref(O),"21f6a2fe":e.unref(z),"7811ff36":e.unref(h),"1b275a26":e.unref(m),"61f437c9":e.unref(d),"66979448":e.unref(S)}));const{rowBorderColor:p,tableBorderColor:b,headerFontColor:w,rowFontColor:T,rowHoverBackgroundColor:O,rowHoverFontColor:z,footerBackgroundColor:d,rowBackgroundColor:s,evenRowBackgroundColor:m,evenRowFontColor:h,footerFontColor:S}=e.toRefs(n),x=e.computed(()=>`${n.tableFontSize}px`),I=e.computed(()=>n.tableFontSize*(n.dense?2:3)),tt=e.computed(()=>`${I.value}px`),ot=e.computed(()=>`-${I.value}px`),nt=e.computed(()=>n.tableHeight?`${n.tableHeight}px`:null),rt=e.computed(()=>`${I.value*5}px`),M=e.computed(()=>Math.round(n.tableFontSize/2.5)),at=e.computed(()=>`${M.value}px`),lt=e.computed(()=>`${M.value*5}px`),st=e.computed(()=>`-${M.value*2.5}px`),oe=e.computed(()=>Math.round(M.value)),it=e.computed(()=>`-${oe.value}px`),ct=e.computed(()=>`${oe.value}px`),dt=e.computed(()=>`${n.tableFontSize*5}px`),ut=e.computed(()=>n.tableHeight?`${n.tableHeight-I.value}px`:`${n.tableFontSize*5*2}px`),pt=e.computed(()=>{var o;return(o=n.checkboxColumnWidth)!=null?o:1.3*n.tableFontSize+20});e.provide("themeColor",n.themeColor),e.provide("loadingEntitySizePx",dt.value),e.provide("rowHeight",I.value),e.provide("rowBorderColor",p.value),e.provide("footerBackgroundColor",d.value),e.provide("footerFontColor",S.value);const L=e.useSlots(),ft=e.computed(()=>L.body),mt=e.computed(()=>L.pagination),gt=e.computed(()=>L.loading),ne=e.ref(),G=e.ref();e.provide("dataTable",ne);const re=e.ref(!1);e.onMounted(()=>{G.value.addEventListener("scroll",()=>{re.value=G.value.scrollLeft>0})});const u=e.computed({get:()=>{if(n.serverOptions){const{page:o,rowsPerPage:r,sortBy:t,sortType:i}=n.serverOptions;return{page:o,rowsPerPage:r,sortBy:t!=null?t:null,sortType:i!=null?i:null}}return null},set:o=>{l("update:serverOptions",o)}}),K=e.computed(()=>n.itemsSelected!==null),B=e.computed(()=>u.value!==null),ht=e.computed(()=>!B.value&&n.rowsItems.findIndex(o=>o===n.rowsPerPage)===-1?[n.rowsPerPage,...n.rowsItems]:n.rowsItems),yt=()=>n.sortBy!==""?{sortBy:n.sortBy,sortDesc:n.sortType==="desc"}:null,E=e.ref(yt()),Q=e.computed(()=>n.headers.findIndex(o=>o.fixed)!==-1),_t=e.computed(()=>Q.value?n.headers.filter(o=>o.fixed):[]),kt=e.computed(()=>n.headers.filter(o=>!o.fixed)),R=e.computed(()=>{const r=[..._t.value,...kt.value].map(c=>{const f=c;return c.sortable&&(f.sortType="none"),u.value&&c.value===u.value.sortBy&&u.value.sortType&&(f.sortType=u.value.sortType),!B.value&&E.value&&c.value===E.value.sortBy&&(f.sortType=E.value.sortDesc?"desc":"asc"),f});let t=[];n.showIndex?t=[n.fixedIndex||Q.value?{text:"#",value:"index",fixed:!0,width:n.indexColumnWidth}:{text:"#",value:"index"},...r]:t=r;let i=[];return K.value?i=[n.fixedCheckbox||Q.value?{text:"checkbox",value:"checkbox",fixed:!0,width:pt.value}:{text:"checkbox",value:"checkbox"},...t]:i=t,i}),N=e.computed(()=>R.value.filter(o=>o.fixed)),ae=e.computed(()=>N.value.length?N.value[N.value.length-1].value:""),xt=o=>{var t;const r=(t=o.width)!=null?t:N.value.length?100:null;if(r)return`width: ${r}px; min-width: ${r}px;`},bt=e.computed(()=>{if(!N.value.length)return[];const o=N.value.map(r=>{var t;return(t=r.width)!=null?t:100});return N.value.map((r,t)=>{var i,c;return{value:r.value,fixed:(i=r.fixed)!=null?i:!0,width:(c=r.width)!=null?c:100,distance:t===0?0:o.reduce((f,he,$t)=>{let ye=f;return $t<t&&(ye+=he),ye})}})}),le=(o,r="th")=>{if(!N.value.length)return;const t=bt.value.find(i=>i.value===o);if(t)return`left: ${t.distance}px;z-index: ${r==="th"?3:1}; position: sticky`},se=e.computed(()=>R.value.map(o=>o.value)),A=(o,r)=>{if(o.includes(".")){let t="";return o.split(".").forEach((c,f)=>{t=f===0?r[c]:t[c]}),t}return r[o]},Ct=(o,r)=>{const t=A(o,r);return Array.isArray(t)?t.join(","):t},P=e.computed({get:()=>{var o;return(o=n.itemsSelected)!=null?o:[]},set:o=>{l("update:itemsSelected",o)}}),ie=e.computed(()=>{if(!B.value&&n.searchValue!==""){const o=new RegExp(n.searchValue,"i");return n.items.filter(r=>o.test(n.searchField!==""?r[n.searchField]:Object.values(r).join(" ")))}return n.items}),V=e.computed(()=>{let o=[...ie.value];return n.filterOptions?(n.filterOptions.forEach(r=>{o=o.filter(t=>{const{field:i,comparison:c,criteria:f}=r;switch(c){case"=":return t[i]===f;case"!=":return t[i]!==f;case">":return t[i]>f;case"<":return t[i]<f;case"<=":return t[i]<=f;case">=":return t[i]>=f;case"between":return t[i]>=Math.min(...f)&&t[i]<=Math.max(...f);default:return t[i]===f}})}),o):ie.value}),j=e.computed(()=>P.value.length===0||P.value.every(r=>V.value.findIndex(t=>JSON.stringify(r)===JSON.stringify(t))===-1)?"noneSelected":P.value.length===V.value.length&&P.value.every(t=>V.value.findIndex(i=>JSON.stringify(t)===JSON.stringify(i))!==-1)?"allSelected":"partSelected"),y=e.ref(B.value?n.serverOptions.page:1),{items:X}=e.toRefs(n);e.watch(X,()=>{B.value||(y.value=1)},{deep:!0});const $=e.ref(B.value?n.serverOptions.rowsPerPage:n.rowsPerPage);e.watch($,o=>{u.value&&(u.value=H(C({},u.value),{page:1,rowsPerPage:o})),y.value=1});const St=(o,r)=>{let t=null;r==="none"?t="asc":r==="asc"?t="desc":t=null,u.value?u.value=H(C({},u.value),{sortBy:t!==null?o:null,sortType:t}):t===null?E.value=null:E.value={sortBy:o,sortDesc:t==="desc"}},ce=e.computed(()=>{if(B.value)return n.items;if(E.value===null)return V.value;const{sortBy:o,sortDesc:r}=E.value;return[...V.value].sort((i,c)=>A(o,i)<A(o,c)?r?1:-1:A(o,i)>A(o,c)?r?-1:1:0)}),Y=e.computed(()=>B.value?n.serverItemsLength:V.value.length),de=e.computed(()=>B.value?y.value*$.value:Math.min(V.value.length,y.value*$.value)),ue=e.computed(()=>(y.value-1)*$.value+1),q=e.computed(()=>Math.ceil(Y.value/$.value)),W=e.computed(()=>y.value===q.value),J=e.computed(()=>y.value===1),{loading:F}=e.toRefs(n),Z=()=>{if(!W.value&&!F.value)if(u.value){const o=y.value+1;u.value=H(C({},u.value),{page:o})}else y.value+=1},v=()=>{if(!J.value&&!F.value)if(u.value){const o=y.value-1;u.value=H(C({},u.value),{page:o})}else y.value-=1},pe=o=>{F.value||(u.value?u.value=H(C({},u.value),{page:o}):y.value=o)};e.watch(F,(o,r)=>{u.value&&o===!1&&r===!0&&(y.value=u.value.page)});const fe=e.computed(()=>B.value?n.items:ce.value.slice(ue.value-1,de.value)),me=e.computed(()=>$.value*(y.value-1)+1),Bt=e.computed(()=>$.value*y.value),U=e.computed(()=>n.showIndex?fe.value.map((o,r)=>C({index:me.value+r},o)):fe.value),ge=e.computed(()=>K.value?j.value==="allSelected"?U.value.map(o=>C({checkbox:!0},o)):j.value==="noneSelected"?U.value.map(o=>C({checkbox:!1},o)):U.value.map(o=>{const r=P.value.findIndex(t=>{const i=C({},o);return delete i.index,JSON.stringify(t)===JSON.stringify(i)})!==-1;return C({checkbox:r},o)}):U.value),Pt=o=>{P.value=o?ce.value:[]},wt=o=>{const r=o.checkbox;if(delete o.checkbox,delete o.index,r)P.value=P.value.filter(t=>JSON.stringify(t)!==JSON.stringify(o));else{const t=P.value;t.unshift(o),P.value=t}},Nt=o=>{const r=C({},o);if(K.value){const{checkbox:t}=o;delete r.checkbox,r.isSelected=t}if(n.showIndex){const{index:t}=o;delete r.index,r.indexInCurrentPage=t}l("clickRow",r)};return k({clientItemsLength:Y,currentPageFirstIndex:me,currentPageLastIndex:Bt,maxPaginationNumber:q,currentPaginationNumber:y,isLastPage:W,isFirstPage:J,nextPage:Z,prevPage:v,updatePage:pe}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataTable",ref:ne,class:"vue3-easy-data-table"},[e.createElementVNode("div",{ref_key:"tableBody",ref:G,class:e.normalizeClass(["data-table__body",{"fixed-header":a.fixedHeader,"fixed-height":a.tableHeight,"show-shadow":re.value}])},[e.createElementVNode("table",{class:e.normalizeClass({fixed:e.unref(N).length})},[e.createElementVNode("colgroup",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(R),(t,i)=>(e.openBlock(),e.createElementBlock("col",{key:i,style:e.normalizeStyle(xt(t))},null,4))),128))]),e.unref(R).length?(e.openBlock(),e.createElementBlock("thead",We,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(R),(t,i)=>(e.openBlock(),e.createElementBlock("th",{key:i,class:e.normalizeClass({sortable:t.sortable,none:t.sortable&&t.sortType==="none",desc:t.sortable&&t.sortType==="desc",asc:t.sortable&&t.sortType==="asc",fixed:t.fixed,"has-shadow":t.value===e.unref(ae),"no-padding":a.noThPadding}),style:e.normalizeStyle(le(t.value))},[t.text==="checkbox"?(e.openBlock(),e.createBlock(Be,{key:e.unref(j),status:e.unref(j),onChange:Pt},null,8,["status"])):(e.openBlock(),e.createElementBlock("span",Je,[e.unref(L)[`header-${t.value}`]?e.renderSlot(o.$slots,`header-${t.value}`,e.normalizeProps(e.mergeProps({key:0},t)),void 0,!0):(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(t.text),1)),t.sortable?(e.openBlock(),e.createElementBlock("i",{key:t.sortType?t.sortType:"none",class:e.normalizeClass(["sortType-icon",{desc:t.sortType==="desc"}]),onClick:e.withModifiers(c=>t.sortable&&t.sortType?St(t.value,t.sortType):null,["stop"])},null,10,Ge)):e.createCommentVNode("",!0)]))],6))),128))])])):e.createCommentVNode("",!0),e.unref(ft)?e.renderSlot(o.$slots,"body",{key:1},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.unref(X).length&&e.unref(se).length?(e.openBlock(),e.createElementBlock("tbody",{key:0,class:e.normalizeClass({"row-alternation":a.alternating,"hover-to-change-color":a.hoverToChangeColor})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ge),(t,i)=>(e.openBlock(),e.createElementBlock("tr",{key:i,onClick:c=>Nt(t)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(se),(c,f)=>(e.openBlock(),e.createElementBlock("td",{key:f,style:e.normalizeStyle(le(c,"td")),class:e.normalizeClass({"has-shadow":c===e.unref(ae),"no-padding":a.noTdPadding})},[e.unref(L)[`item-${c}`]?e.renderSlot(o.$slots,`item-${c}`,e.normalizeProps(e.mergeProps({key:0},t)),void 0,!0):c==="checkbox"?(e.openBlock(),e.createBlock($e,{key:1,checked:t[c],onChange:he=>wt(t)},null,8,["checked","onChange"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(Ct(c,t)),1)],64))],6))),128))],8,Ke))),128))],2)):e.createCommentVNode("",!0)],64))],2),e.unref(F)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["loading-wrapper",{"initial-loading":!e.unref(X).length&&e.unref(F)}])},[e.createElementVNode("div",{class:e.normalizeClass(["loading-mask",{"no-footer":a.hideFooter}])},null,2),e.createElementVNode("div",Qe,[e.unref(gt)?e.renderSlot(o.$slots,"loading",{key:0},void 0,!0):(e.openBlock(),e.createBlock(Le,{key:1}))])],2)):e.createCommentVNode("",!0),!e.unref(ge).length&&!e.unref(F)?(e.openBlock(),e.createElementBlock("div",Xe,e.toDisplayString(a.emptyMessage),1)):e.createCommentVNode("",!0)],2),a.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ye,[a.hideRowsPerPage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ze,[ve,e.createVNode(ze,{modelValue:$.value,"onUpdate:modelValue":r[0]||(r[0]=t=>$.value=t),"rows-items":e.unref(ht)},null,8,["modelValue","rows-items"])])),e.createElementVNode("div",et,e.toDisplayString(`${e.unref(ue)}-${e.unref(de)}`)+" of "+e.toDisplayString(e.unref(Y)),1),e.unref(mt)?e.renderSlot(o.$slots,"pagination",e.normalizeProps(e.mergeProps({key:1},{isFirstPage:e.unref(J),isLastPage:e.unref(W),currentPaginationNumber:y.value,maxPaginationNumber:e.unref(q),nextPage:Z,prevPage:v})),void 0,!0):(e.openBlock(),e.createBlock(qe,{key:2,"is-first-page":e.unref(J),"is-last-page":e.unref(W),onClickNextPage:Z,onClickPrevPage:v},e.createSlots({_:2},[a.buttonsPagination?{name:"buttonsPagination",fn:e.withCtx(()=>[e.createVNode(De,{"current-pagination-number":y.value,"max-pagination-number":e.unref(q),onUpdatePage:pe},null,8,["current-pagination-number","max-pagination-number"])])}:void 0]),1032,["is-first-page","is-last-page"]))]))],512))}}),[["__scopeId","data-v-0e8b8763"]]);return typeof window!="undefined"&&window.Vue&&window.Vue.createApp({}).component("Vue3EasyDataTable",te),te}); |
@@ -6,3 +6,3 @@ { | ||
"private": false, | ||
"version": "1.2.24", | ||
"version": "1.2.25", | ||
"types": "./types/main.d.ts", | ||
@@ -9,0 +9,0 @@ "license": "MIT", |
Sorry, the diff of this file is not supported yet
90970