vue3-easy-data-table
Advanced tools
Comparing version 1.4.17 to 1.4.18
@@ -653,8 +653,10 @@ var __defProp = Object.defineProperty; | ||
} | ||
function usePagination(isServerSideMode, loading, totalItemsLength, rowsPerPage, serverOptions, updateServerOptionsPage) { | ||
const currentPaginationNumber = ref(serverOptions.value ? serverOptions.value.page : 1); | ||
function usePagination(currentPage, isServerSideMode, loading, totalItemsLength, rowsPerPage, serverOptions, updateServerOptionsPage) { | ||
const currentPaginationNumber = ref(serverOptions.value ? serverOptions.value.page : currentPage.value); | ||
const maxPaginationNumber = computed(() => Math.ceil(totalItemsLength.value / rowsPerPage.value)); | ||
const isLastPage = computed(() => currentPaginationNumber.value === maxPaginationNumber.value); | ||
const isLastPage = computed(() => maxPaginationNumber.value === 0 || currentPaginationNumber.value === maxPaginationNumber.value); | ||
const isFirstPage = computed(() => currentPaginationNumber.value === 1); | ||
const nextPage = () => { | ||
if (totalItemsLength.value === 0) | ||
return; | ||
if (isLastPage.value) | ||
@@ -672,2 +674,4 @@ return; | ||
const prevPage = () => { | ||
if (totalItemsLength.value === 0) | ||
return; | ||
if (isFirstPage.value) | ||
@@ -780,6 +784,11 @@ return; | ||
let content = ""; | ||
const keysArr = column.split("."); | ||
keysArr.forEach((key, index) => { | ||
content = index === 0 ? item[key] : content[key]; | ||
}); | ||
const keys = column.split("."); | ||
const { length } = keys; | ||
let i = 0; | ||
while (i < length) { | ||
content = i === 0 ? item[keys[i]] : content[keys[i]]; | ||
i += 1; | ||
if (content === void 0) | ||
break; | ||
} | ||
return content; | ||
@@ -895,2 +904,6 @@ } | ||
}, | ||
currentPage: { | ||
type: Number, | ||
default: 1 | ||
}, | ||
emptyMessage: { | ||
@@ -1043,3 +1056,3 @@ type: String, | ||
var DataTable_vue_vue_type_style_index_1_scoped_true_lang = ""; | ||
const _withScopeId = (n) => (pushScopeId("data-v-05054dca"), n = n(), popScopeId(), n); | ||
const _withScopeId = (n) => (pushScopeId("data-v-4d5f5020"), n = n(), popScopeId(), n); | ||
const _hoisted_1 = ["onClick"]; | ||
@@ -1093,4 +1106,4 @@ const _hoisted_2 = { | ||
useCssVars((_ctx) => ({ | ||
"34665021": unref(tableMinHeightPx), | ||
"69e35122": unref(tableHeightPx) | ||
"43fcf33a": unref(tableMinHeightPx), | ||
"38fe986d": unref(tableHeightPx) | ||
})); | ||
@@ -1100,2 +1113,3 @@ const { | ||
checkboxColumnWidth, | ||
currentPage, | ||
expandColumnWidth, | ||
@@ -1178,3 +1192,3 @@ filterOptions, | ||
updateCurrentPaginationNumber | ||
} = usePagination(isServerSideMode, loading, totalItemsLength, rowsPerPageRef, serverOptions, updateServerOptionsPage); | ||
} = usePagination(currentPage, isServerSideMode, loading, totalItemsLength, rowsPerPageRef, serverOptions, updateServerOptionsPage); | ||
const { | ||
@@ -1442,3 +1456,3 @@ currentPageFirstIndex, | ||
}); | ||
var DataTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-05054dca"]]); | ||
var DataTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4d5f5020"]]); | ||
if (typeof window !== "undefined" && window.Vue) { | ||
@@ -1445,0 +1459,0 @@ window.Vue.createApp({}).component("Vue3EasyDataTable", DataTable); |
@@ -1,1 +0,1 @@ | ||
(function(e,P){typeof exports=="object"&&typeof module!="undefined"?module.exports=P(require("vue")):typeof define=="function"&&define.amd?define(["vue"],P):(e=typeof globalThis!="undefined"?globalThis:e||self,e["vue3-easy-data-table"]=P(e.Vue))})(this,function(e){"use strict";var Ot=Object.defineProperty,At=Object.defineProperties;var Mt=Object.getOwnPropertyDescriptors;var Ne=Object.getOwnPropertySymbols;var jt=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable;var Se=(e,P,x)=>P in e?Ot(e,P,{enumerable:!0,configurable:!0,writable:!0,value:x}):e[P]=x,V=(e,P)=>{for(var x in P||(P={}))jt.call(P,x)&&Se(e,x,P[x]);if(Ne)for(var x of Ne(P))Wt.call(P,x)&&Se(e,x,P[x]);return e},Q=(e,P)=>At(e,Mt(P));var P="",x=(n,r)=>{const t=n.__vccOpts||n;for(const[i,c]of r)t[i]=c;return t};const Be=n=>(e.pushScopeId("data-v-e0a0b7f0"),n=n(),e.popScopeId(),n),we=["onClick"],Ie=["checked"],$e=Be(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Ee=x(e.defineComponent({props:{status:{type:String,required:!0}},emits:["change"],setup(n,{emit:r}){const t=n;e.useCssVars(s=>({"51ab8a49":e.unref(l)}));const i=e.computed(()=>t.status==="allSelected"),c=()=>{r("change",!i.value)},l=e.inject("themeColor");return(s,o)=>(e.openBlock(),e.createElementBlock("div",{class:"easy-checkbox",onClick:e.withModifiers(c,["stop","prevent"])},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(i),class:e.normalizeClass(n.status)},null,10,Ie),$e],8,we))}}),[["__scopeId","data-v-e0a0b7f0"]]),Jt="";const Ve=n=>(e.pushScopeId("data-v-7e69a276"),n=n(),e.popScopeId(),n),Le=["checked"],Fe=Ve(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Re=x(e.defineComponent({props:{checked:{type:Boolean,required:!0}},emits:["change"],setup(n,{emit:r}){e.useCssVars(i=>({fdaf7e9e:e.unref(t)}));const t=e.inject("themeColor");return(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:"easy-checkbox",onClick:c[0]||(c[0]=e.withModifiers(l=>r("change"),["stop","prevent"]))},[e.createElementVNode("input",{type:"checkbox",checked:n.checked},null,8,Le),Fe]))}}),[["__scopeId","data-v-7e69a276"]]),Gt="";const Te=n=>(e.pushScopeId("data-v-09dad912"),n=n(),e.popScopeId(),n),ve={class:"easy-data-table__rows-selector"},ze={class:"rows-input"},De=Te(()=>e.createElementVNode("div",{class:"triangle"},null,-1)),He=["onClick"];var Oe=x(e.defineComponent({props:{modelValue:{type:Number,required:!0},rowsItems:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{emit:r}){const t=n;e.useCssVars(g=>({"7fe9410c":e.unref(b)}));const i=e.ref(!1),c=e.ref(!1),l=e.inject("dataTable");e.watch(i,g=>{if(g&&l){const y=window.innerHeight,m=l.value.getBoundingClientRect().height,k=l.value.getBoundingClientRect().top;y-(m+k)<=100?c.value=!0:c.value=!1}});const s=e.computed({get:()=>t.modelValue,set:g=>{r("update:modelValue",g)}}),o=g=>{s.value=g,i.value=!1},a=(g,y)=>{let m=g.parentNode;for(;m!=null;){if(m.classList&&m.classList.contains(y))return!0;m=m.parentNode}return!1},d=g=>{a(g.target,"easy-data-table__rows-selector")||(i.value=!1)};e.onMounted(()=>{document.addEventListener("click",d)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",d)});const b=e.inject("themeColor");return(g,y)=>(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",{class:"rows-input__wrapper",onClick:y[0]||(y[0]=m=>i.value=!i.value)},[e.createElementVNode("div",ze,e.toDisplayString(e.unref(s)),1),De]),e.createElementVNode("ul",{class:e.normalizeClass(["select-items",{show:i.value,inside:c.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.rowsItems,m=>(e.openBlock(),e.createElementBlock("li",{key:m,class:e.normalizeClass({selected:m===e.unref(s)}),onClick:k=>o(m)},e.toDisplayString(m),11,He))),128))],2)]))}}),[["__scopeId","data-v-09dad912"]]),Qt="";const X=n=>(e.pushScopeId("data-v-1fa3a520"),n=n(),e.popScopeId(),n),Ae={class:"lds-ring"},Me=[X(()=>e.createElementVNode("div",null,null,-1)),X(()=>e.createElementVNode("div",null,null,-1)),X(()=>e.createElementVNode("div",null,null,-1)),X(()=>e.createElementVNode("div",null,null,-1))];var je=x(e.defineComponent({setup(n){e.useCssVars(t=>({"26774109":e.unref(r)}));const r=e.inject("themeColor");return(t,i)=>(e.openBlock(),e.createElementBlock("div",Ae,Me))}}),[["__scopeId","data-v-1fa3a520"]]),nn="";const We={class:"loader-line"};var qe=x(e.defineComponent({setup(n){e.useCssVars(t=>({"0d327f57":e.unref(r)}));const r=e.inject("themeColor");return(t,i)=>(e.openBlock(),e.createElementBlock("div",We))}}),[["__scopeId","data-v-7d281cac"]]),on="";const Je={class:"buttons-pagination"},Ue=["onClick"];var Ge=x(e.defineComponent({props:{maxPaginationNumber:{type:Number,required:!0},currentPaginationNumber:{type:Number,required:!0}},emits:["updatePage"],setup(n,{emit:r}){const t=n;e.useCssVars(o=>({"40dd4f07":e.unref(s)}));const i=7,c=o=>{o.type==="button"&&!o.active&&r("updatePage",o.page)},l=e.computed(()=>{const o=[];if(t.maxPaginationNumber<=i)for(let a=1;a<=t.maxPaginationNumber;a+=1)o.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if([1,2,t.maxPaginationNumber,t.maxPaginationNumber-1].includes(t.currentPaginationNumber))for(let a=1;a<=i;a+=1)if(a<=3)o.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if(a===4)o.push({type:"omission"});else{const d=t.maxPaginationNumber-(i-a);o.push({type:"button",page:d,active:d===t.currentPaginationNumber,activePrev:d+1===t.currentPaginationNumber})}else if([3,4].includes(t.currentPaginationNumber))for(let a=1;a<=i;a+=1)a<=5?o.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber}):a===6?o.push({type:"omission"}):o.push({type:"button",page:t.maxPaginationNumber,active:t.maxPaginationNumber===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if([t.maxPaginationNumber-2,t.maxPaginationNumber-3].includes(t.currentPaginationNumber))for(let a=1;a<=i;a+=1)if(a===1)o.push({type:"button",page:1,active:t.currentPaginationNumber===1,activePrev:a+1===t.currentPaginationNumber});else if(a===2)o.push({type:"omission"});else{const d=t.maxPaginationNumber-(i-a);o.push({type:"button",page:d,active:d===t.currentPaginationNumber,activePrev:d+1===t.currentPaginationNumber})}else for(let a=1;a<=i;a+=1)if(a===1)o.push({type:"button",page:1,active:t.currentPaginationNumber===1,activePrev:a+1===t.currentPaginationNumber});else if(a===2||a===6)o.push({type:"omission"});else if(a===7)o.push({type:"button",page:t.maxPaginationNumber,active:t.maxPaginationNumber===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else{const d=4-a,b=t.currentPaginationNumber-d;o.push({type:"button",page:b,active:b===t.currentPaginationNumber,activePrev:b+1===t.currentPaginationNumber})}return o}),s=e.inject("themeColor");return(o,a)=>(e.openBlock(),e.createElementBlock("div",Je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),(d,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:e.normalizeClass(["item",{button:d.type==="button",active:d.type==="button"&&d.active,"active-prev":d.type==="button"&&d.activePrev,omission:d.type==="omission"}]),onClick:g=>c(d)},e.toDisplayString(d.type==="button"?d.page:"..."),11,Ue))),128))]))}}),[["__scopeId","data-v-4c681fa2"]]),ln="";const le=n=>(e.pushScopeId("data-v-c9da5286"),n=n(),e.popScopeId(),n),Ke=[le(()=>e.createElementVNode("span",{class:"arrow arrow-right"},null,-1))],Qe=[le(()=>e.createElementVNode("span",{class:"arrow arrow-left"},null,-1))];var Xe=x(e.defineComponent({props:{isFirstPage:{type:Boolean,required:!1},isLastPage:{type:Boolean,required:!1}},emits:["clickPrevPage","clickNextPage"],setup(n,{emit:r}){const t=e.useSlots();return(i,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["previous-page__click-button",{"first-page":n.isFirstPage}]),onClick:c[0]||(c[0]=l=>r("clickPrevPage"))},Ke,2),e.unref(t).buttonsPagination?e.renderSlot(i.$slots,"buttonsPagination",{key:0},void 0,!0):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["next-page__click-button",{"last-page":n.isLastPage}]),onClick:c[1]||(c[1]=l=>r("clickNextPage"))},Qe,2)],64))}}),[["__scopeId","data-v-c9da5286"]]);function Ye(n,r,t){return{clickRow:c=>{const l=V({},c);if(n.value){const{checkbox:s}=c;delete l.checkbox,l.isSelected=s}if(r.value){const{index:s}=c;delete l.index,l.indexInCurrentPage=s}t("clickRow",l)}}}function Ze(n,r){const t=e.ref([]);return{expandingItemIndexList:t,updateExpandingItemIndexList:(l,s,o)=>{o.stopPropagation();const a=t.value.indexOf(l);a!==-1?t.value.splice(a,1):(r("expandRow",n.value.findIndex(d=>d===s)),t.value.push(l))},clearExpandingItemIndexList:()=>{t.value=[]}}}function et(n){const r=e.computed(()=>n.value.filter(c=>c.fixed)),t=e.computed(()=>r.value.length?r.value[r.value.length-1].value:""),i=e.computed(()=>{if(!r.value.length)return[];const c=r.value.map(l=>{var s;return(s=l.width)!=null?s:100});return r.value.map((l,s)=>{var o,a;return{value:l.value,fixed:(o=l.fixed)!=null?o:!0,width:(a=l.width)!=null?a:100,distance:s===0?0:c.reduce((d,b,g)=>{let y=d;return g<s&&(y+=b),y})}})});return{fixedHeaders:r,lastFixedColumn:t,fixedColumnsInfos:i}}function tt(n,r,t,i,c,l,s,o,a,d,b,g,y,m,k,S,f){const h=e.computed(()=>l.value.findIndex(N=>N.fixed)!==-1),_=e.computed(()=>h.value?l.value.filter(N=>N.fixed):[]),C=e.computed(()=>l.value.filter(N=>!N.fixed)),w=e.ref((()=>m.value!==""?{sortBy:m.value,sortDesc:k.value==="desc"}:null)()),B=e.computed(()=>{var Z;const F=[..._.value,...C.value].map(R=>{const A=R;return R.sortable&&(A.sortType="none"),g.value&&R.value===g.value.sortBy&&g.value.sortType&&(A.sortType=g.value.sortType),!d.value&&w.value&&R.value===w.value.sortBy&&(A.sortType=w.value.sortDesc?"desc":"asc"),A});let I=[];s.value?I=[i.value||h.value?{text:"",value:"expand",fixed:!0,width:r.value}:{text:"",value:"expand"},...F]:I=F;let O=[];y.value?O=[c.value||h.value?{text:"#",value:"index",fixed:!0,width:o.value}:{text:"#",value:"index"},...I]:O=I;let T=[];return a.value?T=[t.value||h.value?{text:"checkbox",value:"checkbox",fixed:!0,width:(Z=n.value)!=null?Z:36}:{text:"checkbox",value:"checkbox"},...O]:T=O,T}),Y=e.computed(()=>B.value.map(N=>N.value));return{clientSortOptions:w,headerColumns:Y,headersForRender:B,updateSortField:(N,F)=>{let I=null;F==="none"?I="asc":F==="asc"?I="desc":I=b.value?"asc":null,d.value?S(N,I):I===null?w.value=null:w.value={sortBy:N,sortDesc:I==="desc"},f("updateSort",{sortType:I,sortBy:N})}}}function nt(n,r,t,i,c,l,s,o,a){const d=e.computed(()=>(n.value-1)*c.value+1),b=e.computed(()=>t.value?Math.min(a.value,n.value*c.value):Math.min(o.value.length,n.value*c.value)),g=e.computed(()=>t.value?i.value:o.value.slice(d.value-1,b.value)),y=e.computed(()=>s.value?g.value.map((S,f)=>V({index:d.value+f},S)):g.value),m=e.computed(()=>l.value.length===0||l.value.every(f=>o.value.findIndex(h=>JSON.stringify(f)===JSON.stringify(h))===-1)?"noneSelected":l.value.length===o.value.length&&l.value.every(h=>o.value.findIndex(_=>JSON.stringify(h)===JSON.stringify(_))!==-1)?"allSelected":"partSelected"),k=e.computed(()=>r.value?m.value==="allSelected"?y.value.map(S=>V({checkbox:!0},S)):m.value==="noneSelected"?y.value.map(S=>V({checkbox:!1},S)):y.value.map(S=>{const f=l.value.findIndex(h=>{const _=V({},S);return delete _.index,JSON.stringify(h)===JSON.stringify(_)})!==-1;return V({checkbox:f},S)}):y.value);return{currentPageFirstIndex:d,currentPageLastIndex:b,multipleSelectStatus:m,pageItems:k}}function at(n,r,t,i,c,l){const s=e.ref(c.value?c.value.page:1),o=e.computed(()=>Math.ceil(t.value/i.value)),a=e.computed(()=>s.value===o.value),d=e.computed(()=>s.value===1);return{currentPaginationNumber:s,maxPaginationNumber:o,isLastPage:a,isFirstPage:d,nextPage:()=>{if(!a.value&&!r.value)if(n.value){const k=s.value+1;l(k)}else s.value+=1},prevPage:()=>{if(!d.value&&!r.value)if(n.value){const k=s.value-1;l(k)}else s.value-=1},updatePage:k=>{r.value||(n.value?l(k):s.value=k)},updateCurrentPaginationNumber:k=>{s.value=k}}}function ot(n,r,t,i){const c=e.computed(()=>!n.value&&r.value.findIndex(o=>o===i.value)===-1?[i.value,...r.value]:r.value),l=e.ref(t.value?t.value.rowsPerPage:i.value);return{rowsItemsComputed:c,rowsPerPageRef:l,updateRowsPerPage:o=>{l.value=o}}}function rt(n,r){const t=e.computed({get:()=>{if(n.value){const{page:s,rowsPerPage:o,sortBy:a,sortType:d}=n.value;return{page:s,rowsPerPage:o,sortBy:a!=null?a:null,sortType:d!=null?d:null}}return null},set:s=>{r("update:serverOptions",s)}});return{serverOptionsComputed:t,updateServerOptionsPage:s=>{t.value&&(t.value=Q(V({},t.value),{page:s}))},updateServerOptionsSort:(s,o)=>{t.value&&(t.value=Q(V({},t.value),{sortBy:o!==null?s:null,sortType:o}))},updateServerOptionsRowsPerPage:s=>{t.value&&(t.value=Q(V({},t.value),{page:1,rowsPerPage:s}))}}}function M(n,r){if(n.includes(".")){let t="";return n.split(".").forEach((c,l)=>{t=l===0?r[c]:t[c]}),t}return r[n]}function lt(n,r){const t=M(n,r);return Array.isArray(t)?t.join(","):t}function st(n,r,t,i,c,l,s,o,a){const d=e.computed(()=>{if(!t.value&&s.value!==""){const f=new RegExp(s.value,"i");return i.value.filter(h=>f.test(l.value!==""?h[l.value]:Object.values(h).join(" ")))}return i.value}),b=e.computed(()=>{let f=[...d.value];return r.value?(r.value.forEach(h=>{f=f.filter(_=>{const{field:C,comparison:w,criteria:B}=h;if(typeof w=="function")return w(_[C],B);switch(w){case"=":return _[C]===B;case"!=":return _[C]!==B;case">":return _[C]>B;case"<":return _[C]<B;case"<=":return _[C]<=B;case">=":return _[C]>=B;case"between":return _[C]>=Math.min(...B)&&_[C]<=Math.max(...B);default:return _[C]===B}})}),f):d.value}),g=e.computed(()=>{if(t.value)return i.value;if(n.value===null)return b.value;const{sortBy:f,sortDesc:h}=n.value;return[...b.value].sort((C,w)=>M(f,C)<M(f,w)?h?1:-1:M(f,C)>M(f,w)?h?-1:1:0)}),y=e.computed(()=>t.value?o.value:g.value.length),m=e.computed({get:()=>{var f;return(f=c.value)!=null?f:[]},set:f=>{a("update:itemsSelected",f)}});return{totalItems:g,selectItemsComputed:m,totalItemsLength:y,toggleSelectAll:f=>{m.value=f?g.value:[]},toggleSelectItem:f=>{const h=f.checkbox;if(delete f.checkbox,delete f.index,h)m.value=m.value.filter(_=>JSON.stringify(_)!==JSON.stringify(f));else{const _=m.value;_.unshift(f),m.value=_}}}}var it={alternating:{type:Boolean,default:!1},buttonsPagination:{type:Boolean,default:!1},checkboxColumnWidth:{type:Number,default:null},emptyMessage:{type:String,default:"No Available Data"},expandColumnWidth:{type:Number,default:36},filterOptions:{type:Array,default:null},fixedExpand:{type:Boolean,default:!1},fixedHeader:{type:Boolean,default:!0},fixedCheckbox:{type:Boolean,default:!1},fixedIndex:{type:Boolean,default:!1},headerTextDirection:{type:String,default:"left"},bodyTextDirection:{type:String,default:"left"},hideFooter:{type:Boolean,default:!1},hideRowsPerPage:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},indexColumnWidth:{type:Number,default:60},itemsSelected:{type:Array,default:null},loading:{type:Boolean,deault:!1},rowsPerPage:{type:Number,default:25},rowsItems:{type:Array,default:()=>[25,50,100]},rowsPerPageMessage:{type:String,default:"rows per page:"},searchField:{type:String,default:""},searchValue:{type:String,default:""},serverOptions:{type:Object,default:null},serverItemsLength:{type:Number,default:0},showIndex:{type:Boolean,default:!1},sortBy:{type:String,default:""},sortType:{type:String,default:"asc"},tableMinHeight:{type:Number,default:180},tableHeight:{type:Number,default:null},themeColor:{type:String,default:"#42b883"},tableClassName:{type:String,default:""},headerClassName:{type:String,default:""},headerItemClassName:{type:[Function,String],default:""},bodyRowClassName:{type:[Function,String],default:""},bodyItemClassName:{type:[Function,String],default:""},noHover:{type:Boolean,default:!1},borderCell:{type:Boolean,default:!1},mustSort:{type:Boolean,default:!1}},un="",pn="";const ct=n=>(e.pushScopeId("data-v-05054dca"),n=n(),e.popScopeId(),n),dt=["onClick"],ut={key:1,class:"header-text"},pt=["onClick"],ft=["onClick"],mt=["colspan"],gt={key:0,class:"vue3-easy-data-table__loading"},ht=ct(()=>e.createElementVNode("div",{class:"vue3-easy-data-table__loading-mask"},null,-1)),_t={class:"loading-entity"},yt={key:1,class:"vue3-easy-data-table__message"},bt={key:0,class:"vue3-easy-data-table__footer"},xt={key:0,class:"pagination__rows-per-page"},kt={class:"pagination__items-index"},Pt=e.defineComponent({props:Q(V({},it),{items:{type:Array,required:!0},headers:{type:Array,required:!0}}),emits:["clickRow","expandRow","updateSort","update:itemsSelected","update:serverOptions"],setup(n,{expose:r,emit:t}){const i=n;e.useCssVars(p=>({"34665021":e.unref(Ct),"69e35122":e.unref(A)}));const{bodyTextDirection:c,checkboxColumnWidth:l,expandColumnWidth:s,filterOptions:o,fixedCheckbox:a,fixedExpand:d,fixedHeader:b,fixedIndex:g,headers:y,headerTextDirection:m,indexColumnWidth:k,items:S,itemsSelected:f,loading:h,mustSort:_,rowsItems:C,rowsPerPage:w,searchField:B,searchValue:Y,serverItemsLength:ie,serverOptions:N,showIndex:F,sortBy:I,sortType:O,tableHeight:T,tableMinHeight:Z,themeColor:R}=e.toRefs(i),A=e.computed(()=>T.value?`${T.value}px`:null),Ct=e.computed(()=>`${Z.value}px`);e.provide("themeColor",R.value);const j=e.useSlots(),Nt=e.computed(()=>!!j.pagination),St=e.computed(()=>!!j.loading),ce=e.computed(()=>!!j.expand),de=e.ref(),ne=e.ref();e.provide("dataTable",de);const ue=e.ref(!1);e.onMounted(()=>{ne.value.addEventListener("scroll",()=>{ue.value=ne.value.scrollLeft>0})});const ae=e.computed(()=>f.value!==null),v=e.computed(()=>N.value!==null),{serverOptionsComputed:oe,updateServerOptionsPage:Bt,updateServerOptionsSort:wt,updateServerOptionsRowsPerPage:It}=rt(N,t),{clientSortOptions:pe,headerColumns:fe,headersForRender:z,updateSortField:$t}=tt(l,s,a,d,g,y,ce,k,ae,v,_,oe,F,I,O,wt,t),{rowsItemsComputed:me,rowsPerPageRef:D,updateRowsPerPage:Et}=ot(v,C,N,w),{totalItems:Vt,selectItemsComputed:Lt,totalItemsLength:ee,toggleSelectAll:Ft,toggleSelectItem:Rt}=st(pe,o,v,S,f,B,Y,ie,t),{currentPaginationNumber:H,maxPaginationNumber:W,isLastPage:q,isFirstPage:J,nextPage:U,prevPage:G,updatePage:te,updateCurrentPaginationNumber:Tt}=at(v,h,ee,D,N,Bt),{currentPageFirstIndex:ge,currentPageLastIndex:he,multipleSelectStatus:_e,pageItems:K}=nt(H,ae,v,S,D,Lt,F,Vt,ee),{expandingItemIndexList:ye,updateExpandingItemIndexList:vt,clearExpandingItemIndexList:be}=Ze(K,t),{fixedHeaders:re,lastFixedColumn:xe,fixedColumnsInfos:zt}=et(z),{clickRow:Dt}=Ye(ae,F,t),Ht=p=>{var u;const L=(u=p.width)!=null?u:re.value.length?100:null;if(L)return`width: ${L}px; min-width: ${L}px;`},ke=(p,L="th")=>{if(!re.value.length)return;const u=zt.value.find($=>$.value===p);if(u)return`left: ${u.distance}px;z-index: ${L==="th"?3:1};position: sticky;`};return e.watch(h,(p,L)=>{oe.value&&p===!1&&L===!0&&(Tt(oe.value.page),be())}),e.watch(S,()=>{v.value||te(1)},{deep:!0}),e.watch(D,p=>{v.value?It(p):te(1)}),e.watch([H,pe,B,Y,o],()=>{be()},{deep:!0}),r({currentPageFirstIndex:ge,currentPageLastIndex:he,clientItemsLength:ee,maxPaginationNumber:W,currentPaginationNumber:H,isLastPage:q,isFirstPage:J,nextPage:U,prevPage:G,updatePage:te,rowsPerPageOptions:me,rowsPerPageActiveOption:D,updateRowsPerPageActiveOption:Et}),(p,L)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataTable",ref:de,class:e.normalizeClass(["vue3-easy-data-table",[p.tableClassName]])},[e.createElementVNode("div",{ref_key:"tableBody",ref:ne,class:e.normalizeClass(["vue3-easy-data-table__main",{"fixed-header":e.unref(b),"fixed-height":e.unref(T),"show-shadow":ue.value,"table-fixed":e.unref(re).length,hoverable:!p.noHover,"border-cell":p.borderCell}])},[e.createElementVNode("table",null,[e.createElementVNode("colgroup",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z),(u,$)=>(e.openBlock(),e.createElementBlock("col",{key:$,style:e.normalizeStyle(Ht(u))},null,4))),128))]),e.unref(z).length&&!p.hideHeader?(e.openBlock(),e.createElementBlock("thead",{key:0,class:e.normalizeClass(["vue3-easy-data-table__header",[p.headerClassName]])},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z),(u,$)=>(e.openBlock(),e.createElementBlock("th",{key:$,class:e.normalizeClass([{sortable:u.sortable,none:u.sortable&&u.sortType==="none",desc:u.sortable&&u.sortType==="desc",asc:u.sortable&&u.sortType==="asc",shadow:u.value===e.unref(xe)},typeof p.headerItemClassName=="string"?p.headerItemClassName:p.headerItemClassName(u,$)]),style:e.normalizeStyle(ke(u.value)),onClick:e.withModifiers(E=>u.sortable&&u.sortType?e.unref($t)(u.value,u.sortType):null,["stop"])},[u.text==="checkbox"?(e.openBlock(),e.createBlock(Ee,{key:e.unref(_e),status:e.unref(_e),onChange:e.unref(Ft)},null,8,["status","onChange"])):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["header",`direction-${e.unref(m)}`])},[e.unref(j)[`header-${u.value}`]?e.renderSlot(p.$slots,`header-${u.value}`,e.normalizeProps(e.mergeProps({key:0},u)),void 0,!0):(e.openBlock(),e.createElementBlock("span",ut,e.toDisplayString(u.text),1)),u.sortable?(e.openBlock(),e.createElementBlock("i",{key:u.sortType?u.sortType:"none",class:e.normalizeClass(["sortType-icon",{desc:u.sortType==="desc"}])},null,2)):e.createCommentVNode("",!0)],2))],14,dt))),128))])],2)):e.createCommentVNode("",!0),e.unref(fe).length?(e.openBlock(),e.createElementBlock("tbody",{key:1,class:e.normalizeClass(["vue3-easy-data-table__body",{"row-alternation":p.alternating}])},[e.renderSlot(p.$slots,"body-prepend",e.normalizeProps(e.guardReactiveProps({items:e.unref(K),pagination:{isFirstPage:e.unref(J),isLastPage:e.unref(q),currentPaginationNumber:e.unref(H),maxPaginationNumber:e.unref(W),nextPage:e.unref(U),prevPage:e.unref(G)},headers:e.unref(z)})),void 0,!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(K),(u,$)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:$},[e.createElementVNode("tr",{class:e.normalizeClass([{"even-row":($+1)%2===0},typeof p.bodyRowClassName=="string"?p.bodyRowClassName:p.bodyRowClassName(u,$)]),onClick:E=>e.unref(Dt)(u)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(fe),(E,Pe)=>(e.openBlock(),e.createElementBlock("td",{key:Pe,style:e.normalizeStyle(ke(E,"td")),class:e.normalizeClass([{shadow:E===e.unref(xe),"can-expand":E==="expand"},typeof p.bodyItemClassName=="string"?p.bodyItemClassName:p.bodyItemClassName(E,Pe),`direction-${e.unref(c)}`]),onClick:Ce=>E==="expand"?e.unref(vt)($,u,Ce):null},[e.unref(j)[`item-${E}`]?e.renderSlot(p.$slots,`item-${E}`,e.normalizeProps(e.mergeProps({key:0},u)),void 0,!0):E==="expand"?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["expand-icon",{expanding:e.unref(ye).includes($)}])},null,2)):E==="checkbox"?(e.openBlock(),e.createBlock(Re,{key:2,checked:u[E],onChange:Ce=>e.unref(Rt)(u)},null,8,["checked","onChange"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createTextVNode(e.toDisplayString(e.unref(lt)(E,u)),1)],64))],14,ft))),128))],10,pt),e.unref(ce)&&e.unref(ye).includes($)?(e.openBlock(),e.createElementBlock("tr",{key:0,class:e.normalizeClass({"even-row":($+1)%2===0})},[e.createElementVNode("td",{colspan:e.unref(z).length,class:"expand"},[u.expandLoading?(e.openBlock(),e.createBlock(qe,{key:0,class:"expand-loading"})):e.createCommentVNode("",!0),e.renderSlot(p.$slots,"expand",e.normalizeProps(e.guardReactiveProps(u)),void 0,!0)],8,mt)],2)):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(p.$slots,"body-append",e.normalizeProps(e.guardReactiveProps({items:e.unref(K),pagination:{isFirstPage:e.unref(J),isLastPage:e.unref(q),currentPaginationNumber:e.unref(H),maxPaginationNumber:e.unref(W),nextPage:e.unref(U),prevPage:e.unref(G)},headers:e.unref(z)})),void 0,!0)],2)):e.createCommentVNode("",!0)]),e.unref(h)?(e.openBlock(),e.createElementBlock("div",gt,[ht,e.createElementVNode("div",_t,[e.unref(St)?e.renderSlot(p.$slots,"loading",{key:0},void 0,!0):(e.openBlock(),e.createBlock(je,{key:1}))])])):e.createCommentVNode("",!0),!e.unref(K).length&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",yt,e.toDisplayString(p.emptyMessage),1)):e.createCommentVNode("",!0)],2),p.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",bt,[p.hideRowsPerPage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xt,[e.createTextVNode(e.toDisplayString(p.rowsPerPageMessage)+" ",1),e.createVNode(Oe,{modelValue:e.unref(D),"onUpdate:modelValue":L[0]||(L[0]=u=>e.isRef(D)?D.value=u:null),"rows-items":e.unref(me)},null,8,["modelValue","rows-items"])])),e.createElementVNode("div",kt,e.toDisplayString(`${e.unref(ge)}\u2013${e.unref(he)}`)+" of "+e.toDisplayString(e.unref(ee)),1),e.unref(Nt)?e.renderSlot(p.$slots,"pagination",e.normalizeProps(e.mergeProps({key:1},{isFirstPage:e.unref(J),isLastPage:e.unref(q),currentPaginationNumber:e.unref(H),maxPaginationNumber:e.unref(W),nextPage:e.unref(U),prevPage:e.unref(G)})),void 0,!0):(e.openBlock(),e.createBlock(Xe,{key:2,"is-first-page":e.unref(J),"is-last-page":e.unref(q),onClickNextPage:e.unref(U),onClickPrevPage:e.unref(G)},e.createSlots({_:2},[p.buttonsPagination?{name:"buttonsPagination",fn:e.withCtx(()=>[e.createVNode(Ge,{"current-pagination-number":e.unref(H),"max-pagination-number":e.unref(W),onUpdatePage:e.unref(te)},null,8,["current-pagination-number","max-pagination-number","onUpdatePage"])])}:void 0]),1032,["is-first-page","is-last-page","onClickNextPage","onClickPrevPage"]))]))],2))}});var se=x(Pt,[["__scopeId","data-v-05054dca"]]);return typeof window!="undefined"&&window.Vue&&window.Vue.createApp({}).component("Vue3EasyDataTable",se),se}); | ||
(function(e,P){typeof exports=="object"&&typeof module!="undefined"?module.exports=P(require("vue")):typeof define=="function"&&define.amd?define(["vue"],P):(e=typeof globalThis!="undefined"?globalThis:e||self,e["vue3-easy-data-table"]=P(e.Vue))})(this,function(e){"use strict";var At=Object.defineProperty,Mt=Object.defineProperties;var jt=Object.getOwnPropertyDescriptors;var Ne=Object.getOwnPropertySymbols;var Wt=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable;var Se=(e,P,x)=>P in e?At(e,P,{enumerable:!0,configurable:!0,writable:!0,value:x}):e[P]=x,E=(e,P)=>{for(var x in P||(P={}))Wt.call(P,x)&&Se(e,x,P[x]);if(Ne)for(var x of Ne(P))qt.call(P,x)&&Se(e,x,P[x]);return e},X=(e,P)=>Mt(e,jt(P));var P="",x=(n,l)=>{const t=n.__vccOpts||n;for(const[s,c]of l)t[s]=c;return t};const Be=n=>(e.pushScopeId("data-v-e0a0b7f0"),n=n(),e.popScopeId(),n),we=["onClick"],Ie=["checked"],$e=Be(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Ee=x(e.defineComponent({props:{status:{type:String,required:!0}},emits:["change"],setup(n,{emit:l}){const t=n;e.useCssVars(d=>({"51ab8a49":e.unref(r)}));const s=e.computed(()=>t.status==="allSelected"),c=()=>{l("change",!s.value)},r=e.inject("themeColor");return(d,o)=>(e.openBlock(),e.createElementBlock("div",{class:"easy-checkbox",onClick:e.withModifiers(c,["stop","prevent"])},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(s),class:e.normalizeClass(n.status)},null,10,Ie),$e],8,we))}}),[["__scopeId","data-v-e0a0b7f0"]]),Ut="";const Ve=n=>(e.pushScopeId("data-v-7e69a276"),n=n(),e.popScopeId(),n),Fe=["checked"],Le=Ve(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Re=x(e.defineComponent({props:{checked:{type:Boolean,required:!0}},emits:["change"],setup(n,{emit:l}){e.useCssVars(s=>({fdaf7e9e:e.unref(t)}));const t=e.inject("themeColor");return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:"easy-checkbox",onClick:c[0]||(c[0]=e.withModifiers(r=>l("change"),["stop","prevent"]))},[e.createElementVNode("input",{type:"checkbox",checked:n.checked},null,8,Fe),Le]))}}),[["__scopeId","data-v-7e69a276"]]),Kt="";const Te=n=>(e.pushScopeId("data-v-09dad912"),n=n(),e.popScopeId(),n),ve={class:"easy-data-table__rows-selector"},ze={class:"rows-input"},De=Te(()=>e.createElementVNode("div",{class:"triangle"},null,-1)),He=["onClick"];var Oe=x(e.defineComponent({props:{modelValue:{type:Number,required:!0},rowsItems:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{emit:l}){const t=n;e.useCssVars(g=>({"7fe9410c":e.unref(b)}));const s=e.ref(!1),c=e.ref(!1),r=e.inject("dataTable");e.watch(s,g=>{if(g&&r){const k=window.innerHeight,m=r.value.getBoundingClientRect().height,V=r.value.getBoundingClientRect().top;k-(m+V)<=100?c.value=!0:c.value=!1}});const d=e.computed({get:()=>t.modelValue,set:g=>{l("update:modelValue",g)}}),o=g=>{d.value=g,s.value=!1},a=(g,k)=>{let m=g.parentNode;for(;m!=null;){if(m.classList&&m.classList.contains(k))return!0;m=m.parentNode}return!1},i=g=>{a(g.target,"easy-data-table__rows-selector")||(s.value=!1)};e.onMounted(()=>{document.addEventListener("click",i)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",i)});const b=e.inject("themeColor");return(g,k)=>(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",{class:"rows-input__wrapper",onClick:k[0]||(k[0]=m=>s.value=!s.value)},[e.createElementVNode("div",ze,e.toDisplayString(e.unref(d)),1),De]),e.createElementVNode("ul",{class:e.normalizeClass(["select-items",{show:s.value,inside:c.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.rowsItems,m=>(e.openBlock(),e.createElementBlock("li",{key:m,class:e.normalizeClass({selected:m===e.unref(d)}),onClick:V=>o(m)},e.toDisplayString(m),11,He))),128))],2)]))}}),[["__scopeId","data-v-09dad912"]]),Xt="";const Y=n=>(e.pushScopeId("data-v-1fa3a520"),n=n(),e.popScopeId(),n),Ae={class:"lds-ring"},Me=[Y(()=>e.createElementVNode("div",null,null,-1)),Y(()=>e.createElementVNode("div",null,null,-1)),Y(()=>e.createElementVNode("div",null,null,-1)),Y(()=>e.createElementVNode("div",null,null,-1))];var je=x(e.defineComponent({setup(n){e.useCssVars(t=>({"26774109":e.unref(l)}));const l=e.inject("themeColor");return(t,s)=>(e.openBlock(),e.createElementBlock("div",Ae,Me))}}),[["__scopeId","data-v-1fa3a520"]]),an="";const We={class:"loader-line"};var qe=x(e.defineComponent({setup(n){e.useCssVars(t=>({"0d327f57":e.unref(l)}));const l=e.inject("themeColor");return(t,s)=>(e.openBlock(),e.createElementBlock("div",We))}}),[["__scopeId","data-v-7d281cac"]]),rn="";const Je={class:"buttons-pagination"},Ue=["onClick"];var Ge=x(e.defineComponent({props:{maxPaginationNumber:{type:Number,required:!0},currentPaginationNumber:{type:Number,required:!0}},emits:["updatePage"],setup(n,{emit:l}){const t=n;e.useCssVars(o=>({"40dd4f07":e.unref(d)}));const s=7,c=o=>{o.type==="button"&&!o.active&&l("updatePage",o.page)},r=e.computed(()=>{const o=[];if(t.maxPaginationNumber<=s)for(let a=1;a<=t.maxPaginationNumber;a+=1)o.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if([1,2,t.maxPaginationNumber,t.maxPaginationNumber-1].includes(t.currentPaginationNumber))for(let a=1;a<=s;a+=1)if(a<=3)o.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if(a===4)o.push({type:"omission"});else{const i=t.maxPaginationNumber-(s-a);o.push({type:"button",page:i,active:i===t.currentPaginationNumber,activePrev:i+1===t.currentPaginationNumber})}else if([3,4].includes(t.currentPaginationNumber))for(let a=1;a<=s;a+=1)a<=5?o.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber}):a===6?o.push({type:"omission"}):o.push({type:"button",page:t.maxPaginationNumber,active:t.maxPaginationNumber===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if([t.maxPaginationNumber-2,t.maxPaginationNumber-3].includes(t.currentPaginationNumber))for(let a=1;a<=s;a+=1)if(a===1)o.push({type:"button",page:1,active:t.currentPaginationNumber===1,activePrev:a+1===t.currentPaginationNumber});else if(a===2)o.push({type:"omission"});else{const i=t.maxPaginationNumber-(s-a);o.push({type:"button",page:i,active:i===t.currentPaginationNumber,activePrev:i+1===t.currentPaginationNumber})}else for(let a=1;a<=s;a+=1)if(a===1)o.push({type:"button",page:1,active:t.currentPaginationNumber===1,activePrev:a+1===t.currentPaginationNumber});else if(a===2||a===6)o.push({type:"omission"});else if(a===7)o.push({type:"button",page:t.maxPaginationNumber,active:t.maxPaginationNumber===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else{const i=4-a,b=t.currentPaginationNumber-i;o.push({type:"button",page:b,active:b===t.currentPaginationNumber,activePrev:b+1===t.currentPaginationNumber})}return o}),d=e.inject("themeColor");return(o,a)=>(e.openBlock(),e.createElementBlock("div",Je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(i,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:e.normalizeClass(["item",{button:i.type==="button",active:i.type==="button"&&i.active,"active-prev":i.type==="button"&&i.activePrev,omission:i.type==="omission"}]),onClick:g=>c(i)},e.toDisplayString(i.type==="button"?i.page:"..."),11,Ue))),128))]))}}),[["__scopeId","data-v-4c681fa2"]]),sn="";const se=n=>(e.pushScopeId("data-v-c9da5286"),n=n(),e.popScopeId(),n),Ke=[se(()=>e.createElementVNode("span",{class:"arrow arrow-right"},null,-1))],Qe=[se(()=>e.createElementVNode("span",{class:"arrow arrow-left"},null,-1))];var Xe=x(e.defineComponent({props:{isFirstPage:{type:Boolean,required:!1},isLastPage:{type:Boolean,required:!1}},emits:["clickPrevPage","clickNextPage"],setup(n,{emit:l}){const t=e.useSlots();return(s,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["previous-page__click-button",{"first-page":n.isFirstPage}]),onClick:c[0]||(c[0]=r=>l("clickPrevPage"))},Ke,2),e.unref(t).buttonsPagination?e.renderSlot(s.$slots,"buttonsPagination",{key:0},void 0,!0):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["next-page__click-button",{"last-page":n.isLastPage}]),onClick:c[1]||(c[1]=r=>l("clickNextPage"))},Qe,2)],64))}}),[["__scopeId","data-v-c9da5286"]]);function Ye(n,l,t){return{clickRow:c=>{const r=E({},c);if(n.value){const{checkbox:d}=c;delete r.checkbox,r.isSelected=d}if(l.value){const{index:d}=c;delete r.index,r.indexInCurrentPage=d}t("clickRow",r)}}}function Ze(n,l){const t=e.ref([]);return{expandingItemIndexList:t,updateExpandingItemIndexList:(r,d,o)=>{o.stopPropagation();const a=t.value.indexOf(r);a!==-1?t.value.splice(a,1):(l("expandRow",n.value.findIndex(i=>i===d)),t.value.push(r))},clearExpandingItemIndexList:()=>{t.value=[]}}}function et(n){const l=e.computed(()=>n.value.filter(c=>c.fixed)),t=e.computed(()=>l.value.length?l.value[l.value.length-1].value:""),s=e.computed(()=>{if(!l.value.length)return[];const c=l.value.map(r=>{var d;return(d=r.width)!=null?d:100});return l.value.map((r,d)=>{var o,a;return{value:r.value,fixed:(o=r.fixed)!=null?o:!0,width:(a=r.width)!=null?a:100,distance:d===0?0:c.reduce((i,b,g)=>{let k=i;return g<d&&(k+=b),k})}})});return{fixedHeaders:l,lastFixedColumn:t,fixedColumnsInfos:s}}function tt(n,l,t,s,c,r,d,o,a,i,b,g,k,m,V,_,p){const y=e.computed(()=>r.value.findIndex(w=>w.fixed)!==-1),h=e.computed(()=>y.value?r.value.filter(w=>w.fixed):[]),C=e.computed(()=>r.value.filter(w=>!w.fixed)),S=e.ref((()=>m.value!==""?{sortBy:m.value,sortDesc:V.value==="desc"}:null)()),B=e.computed(()=>{var O;const F=[...h.value,...C.value].map(R=>{const A=R;return R.sortable&&(A.sortType="none"),g.value&&R.value===g.value.sortBy&&g.value.sortType&&(A.sortType=g.value.sortType),!i.value&&S.value&&R.value===S.value.sortBy&&(A.sortType=S.value.sortDesc?"desc":"asc"),A});let N=[];d.value?N=[s.value||y.value?{text:"",value:"expand",fixed:!0,width:l.value}:{text:"",value:"expand"},...F]:N=F;let H=[];k.value?H=[c.value||y.value?{text:"#",value:"index",fixed:!0,width:o.value}:{text:"#",value:"index"},...N]:H=N;let j=[];return a.value?j=[t.value||y.value?{text:"checkbox",value:"checkbox",fixed:!0,width:(O=n.value)!=null?O:36}:{text:"checkbox",value:"checkbox"},...H]:j=H,j}),Z=e.computed(()=>B.value.map(w=>w.value));return{clientSortOptions:S,headerColumns:Z,headersForRender:B,updateSortField:(w,F)=>{let N=null;F==="none"?N="asc":F==="asc"?N="desc":N=b.value?"asc":null,i.value?_(w,N):N===null?S.value=null:S.value={sortBy:w,sortDesc:N==="desc"},p("updateSort",{sortType:N,sortBy:w})}}}function nt(n,l,t,s,c,r,d,o,a){const i=e.computed(()=>(n.value-1)*c.value+1),b=e.computed(()=>t.value?Math.min(a.value,n.value*c.value):Math.min(o.value.length,n.value*c.value)),g=e.computed(()=>t.value?s.value:o.value.slice(i.value-1,b.value)),k=e.computed(()=>d.value?g.value.map((_,p)=>E({index:i.value+p},_)):g.value),m=e.computed(()=>r.value.length===0||r.value.every(p=>o.value.findIndex(y=>JSON.stringify(p)===JSON.stringify(y))===-1)?"noneSelected":r.value.length===o.value.length&&r.value.every(y=>o.value.findIndex(h=>JSON.stringify(y)===JSON.stringify(h))!==-1)?"allSelected":"partSelected"),V=e.computed(()=>l.value?m.value==="allSelected"?k.value.map(_=>E({checkbox:!0},_)):m.value==="noneSelected"?k.value.map(_=>E({checkbox:!1},_)):k.value.map(_=>{const p=r.value.findIndex(y=>{const h=E({},_);return delete h.index,JSON.stringify(y)===JSON.stringify(h)})!==-1;return E({checkbox:p},_)}):k.value);return{currentPageFirstIndex:i,currentPageLastIndex:b,multipleSelectStatus:m,pageItems:V}}function at(n,l,t,s,c,r,d){const o=e.ref(r.value?r.value.page:n.value),a=e.computed(()=>Math.ceil(s.value/c.value)),i=e.computed(()=>a.value===0||o.value===a.value),b=e.computed(()=>o.value===1);return{currentPaginationNumber:o,maxPaginationNumber:a,isLastPage:i,isFirstPage:b,nextPage:()=>{if(s.value!==0&&!i.value&&!t.value)if(l.value){const _=o.value+1;d(_)}else o.value+=1},prevPage:()=>{if(s.value!==0&&!b.value&&!t.value)if(l.value){const _=o.value-1;d(_)}else o.value-=1},updatePage:_=>{t.value||(l.value?d(_):o.value=_)},updateCurrentPaginationNumber:_=>{o.value=_}}}function ot(n,l,t,s){const c=e.computed(()=>!n.value&&l.value.findIndex(o=>o===s.value)===-1?[s.value,...l.value]:l.value),r=e.ref(t.value?t.value.rowsPerPage:s.value);return{rowsItemsComputed:c,rowsPerPageRef:r,updateRowsPerPage:o=>{r.value=o}}}function rt(n,l){const t=e.computed({get:()=>{if(n.value){const{page:d,rowsPerPage:o,sortBy:a,sortType:i}=n.value;return{page:d,rowsPerPage:o,sortBy:a!=null?a:null,sortType:i!=null?i:null}}return null},set:d=>{l("update:serverOptions",d)}});return{serverOptionsComputed:t,updateServerOptionsPage:d=>{t.value&&(t.value=X(E({},t.value),{page:d}))},updateServerOptionsSort:(d,o)=>{t.value&&(t.value=X(E({},t.value),{sortBy:o!==null?d:null,sortType:o}))},updateServerOptionsRowsPerPage:d=>{t.value&&(t.value=X(E({},t.value),{page:1,rowsPerPage:d}))}}}function M(n,l){if(n.includes(".")){let t="";const s=n.split("."),{length:c}=s;let r=0;for(;r<c&&(t=r===0?l[s[r]]:t[s[r]],r+=1,t!==void 0););return t}return l[n]}function lt(n,l){const t=M(n,l);return Array.isArray(t)?t.join(","):t}function st(n,l,t,s,c,r,d,o,a){const i=e.computed(()=>{if(!t.value&&d.value!==""){const p=new RegExp(d.value,"i");return s.value.filter(y=>p.test(r.value!==""?y[r.value]:Object.values(y).join(" ")))}return s.value}),b=e.computed(()=>{let p=[...i.value];return l.value?(l.value.forEach(y=>{p=p.filter(h=>{const{field:C,comparison:S,criteria:B}=y;if(typeof S=="function")return S(h[C],B);switch(S){case"=":return h[C]===B;case"!=":return h[C]!==B;case">":return h[C]>B;case"<":return h[C]<B;case"<=":return h[C]<=B;case">=":return h[C]>=B;case"between":return h[C]>=Math.min(...B)&&h[C]<=Math.max(...B);default:return h[C]===B}})}),p):i.value}),g=e.computed(()=>{if(t.value)return s.value;if(n.value===null)return b.value;const{sortBy:p,sortDesc:y}=n.value;return[...b.value].sort((C,S)=>M(p,C)<M(p,S)?y?1:-1:M(p,C)>M(p,S)?y?-1:1:0)}),k=e.computed(()=>t.value?o.value:g.value.length),m=e.computed({get:()=>{var p;return(p=c.value)!=null?p:[]},set:p=>{a("update:itemsSelected",p)}});return{totalItems:g,selectItemsComputed:m,totalItemsLength:k,toggleSelectAll:p=>{m.value=p?g.value:[]},toggleSelectItem:p=>{const y=p.checkbox;if(delete p.checkbox,delete p.index,y)m.value=m.value.filter(h=>JSON.stringify(h)!==JSON.stringify(p));else{const h=m.value;h.unshift(p),m.value=h}}}}var it={alternating:{type:Boolean,default:!1},buttonsPagination:{type:Boolean,default:!1},checkboxColumnWidth:{type:Number,default:null},currentPage:{type:Number,default:1},emptyMessage:{type:String,default:"No Available Data"},expandColumnWidth:{type:Number,default:36},filterOptions:{type:Array,default:null},fixedExpand:{type:Boolean,default:!1},fixedHeader:{type:Boolean,default:!0},fixedCheckbox:{type:Boolean,default:!1},fixedIndex:{type:Boolean,default:!1},headerTextDirection:{type:String,default:"left"},bodyTextDirection:{type:String,default:"left"},hideFooter:{type:Boolean,default:!1},hideRowsPerPage:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},indexColumnWidth:{type:Number,default:60},itemsSelected:{type:Array,default:null},loading:{type:Boolean,deault:!1},rowsPerPage:{type:Number,default:25},rowsItems:{type:Array,default:()=>[25,50,100]},rowsPerPageMessage:{type:String,default:"rows per page:"},searchField:{type:String,default:""},searchValue:{type:String,default:""},serverOptions:{type:Object,default:null},serverItemsLength:{type:Number,default:0},showIndex:{type:Boolean,default:!1},sortBy:{type:String,default:""},sortType:{type:String,default:"asc"},tableMinHeight:{type:Number,default:180},tableHeight:{type:Number,default:null},themeColor:{type:String,default:"#42b883"},tableClassName:{type:String,default:""},headerClassName:{type:String,default:""},headerItemClassName:{type:[Function,String],default:""},bodyRowClassName:{type:[Function,String],default:""},bodyItemClassName:{type:[Function,String],default:""},noHover:{type:Boolean,default:!1},borderCell:{type:Boolean,default:!1},mustSort:{type:Boolean,default:!1}},pn="",fn="";const ct=n=>(e.pushScopeId("data-v-4d5f5020"),n=n(),e.popScopeId(),n),dt=["onClick"],ut={key:1,class:"header-text"},pt=["onClick"],ft=["onClick"],mt=["colspan"],gt={key:0,class:"vue3-easy-data-table__loading"},ht=ct(()=>e.createElementVNode("div",{class:"vue3-easy-data-table__loading-mask"},null,-1)),_t={class:"loading-entity"},yt={key:1,class:"vue3-easy-data-table__message"},bt={key:0,class:"vue3-easy-data-table__footer"},kt={key:0,class:"pagination__rows-per-page"},xt={class:"pagination__items-index"},Pt=e.defineComponent({props:X(E({},it),{items:{type:Array,required:!0},headers:{type:Array,required:!0}}),emits:["clickRow","expandRow","updateSort","update:itemsSelected","update:serverOptions"],setup(n,{expose:l,emit:t}){const s=n;e.useCssVars(f=>({"43fcf33a":e.unref(Nt),"38fe986d":e.unref(Ct)}));const{bodyTextDirection:c,checkboxColumnWidth:r,currentPage:d,expandColumnWidth:o,filterOptions:a,fixedCheckbox:i,fixedExpand:b,fixedHeader:g,fixedIndex:k,headers:m,headerTextDirection:V,indexColumnWidth:_,items:p,itemsSelected:y,loading:h,mustSort:C,rowsItems:S,rowsPerPage:B,searchField:Z,searchValue:ne,serverItemsLength:w,serverOptions:F,showIndex:N,sortBy:H,sortType:j,tableHeight:O,tableMinHeight:R,themeColor:A}=e.toRefs(s),Ct=e.computed(()=>O.value?`${O.value}px`:null),Nt=e.computed(()=>`${R.value}px`);e.provide("themeColor",A.value);const W=e.useSlots(),St=e.computed(()=>!!W.pagination),Bt=e.computed(()=>!!W.loading),ce=e.computed(()=>!!W.expand),de=e.ref(),ae=e.ref();e.provide("dataTable",de);const ue=e.ref(!1);e.onMounted(()=>{ae.value.addEventListener("scroll",()=>{ue.value=ae.value.scrollLeft>0})});const oe=e.computed(()=>y.value!==null),T=e.computed(()=>F.value!==null),{serverOptionsComputed:re,updateServerOptionsPage:wt,updateServerOptionsSort:It,updateServerOptionsRowsPerPage:$t}=rt(F,t),{clientSortOptions:pe,headerColumns:fe,headersForRender:v,updateSortField:Et}=tt(r,o,i,b,k,m,ce,_,oe,T,C,re,N,H,j,It,t),{rowsItemsComputed:me,rowsPerPageRef:z,updateRowsPerPage:Vt}=ot(T,S,F,B),{totalItems:Ft,selectItemsComputed:Lt,totalItemsLength:ee,toggleSelectAll:Rt,toggleSelectItem:Tt}=st(pe,a,T,p,y,Z,ne,w,t),{currentPaginationNumber:D,maxPaginationNumber:q,isLastPage:J,isFirstPage:U,nextPage:G,prevPage:K,updatePage:te,updateCurrentPaginationNumber:vt}=at(d,T,h,ee,z,F,wt),{currentPageFirstIndex:ge,currentPageLastIndex:he,multipleSelectStatus:_e,pageItems:Q}=nt(D,oe,T,p,z,Lt,N,Ft,ee),{expandingItemIndexList:ye,updateExpandingItemIndexList:zt,clearExpandingItemIndexList:be}=Ze(Q,t),{fixedHeaders:le,lastFixedColumn:ke,fixedColumnsInfos:Dt}=et(v),{clickRow:Ht}=Ye(oe,N,t),Ot=f=>{var u;const L=(u=f.width)!=null?u:le.value.length?100:null;if(L)return`width: ${L}px; min-width: ${L}px;`},xe=(f,L="th")=>{if(!le.value.length)return;const u=Dt.value.find(I=>I.value===f);if(u)return`left: ${u.distance}px;z-index: ${L==="th"?3:1};position: sticky;`};return e.watch(h,(f,L)=>{re.value&&f===!1&&L===!0&&(vt(re.value.page),be())}),e.watch(p,()=>{T.value||te(1)},{deep:!0}),e.watch(z,f=>{T.value?$t(f):te(1)}),e.watch([D,pe,Z,ne,a],()=>{be()},{deep:!0}),l({currentPageFirstIndex:ge,currentPageLastIndex:he,clientItemsLength:ee,maxPaginationNumber:q,currentPaginationNumber:D,isLastPage:J,isFirstPage:U,nextPage:G,prevPage:K,updatePage:te,rowsPerPageOptions:me,rowsPerPageActiveOption:z,updateRowsPerPageActiveOption:Vt}),(f,L)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataTable",ref:de,class:e.normalizeClass(["vue3-easy-data-table",[f.tableClassName]])},[e.createElementVNode("div",{ref_key:"tableBody",ref:ae,class:e.normalizeClass(["vue3-easy-data-table__main",{"fixed-header":e.unref(g),"fixed-height":e.unref(O),"show-shadow":ue.value,"table-fixed":e.unref(le).length,hoverable:!f.noHover,"border-cell":f.borderCell}])},[e.createElementVNode("table",null,[e.createElementVNode("colgroup",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),(u,I)=>(e.openBlock(),e.createElementBlock("col",{key:I,style:e.normalizeStyle(Ot(u))},null,4))),128))]),e.unref(v).length&&!f.hideHeader?(e.openBlock(),e.createElementBlock("thead",{key:0,class:e.normalizeClass(["vue3-easy-data-table__header",[f.headerClassName]])},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),(u,I)=>(e.openBlock(),e.createElementBlock("th",{key:I,class:e.normalizeClass([{sortable:u.sortable,none:u.sortable&&u.sortType==="none",desc:u.sortable&&u.sortType==="desc",asc:u.sortable&&u.sortType==="asc",shadow:u.value===e.unref(ke)},typeof f.headerItemClassName=="string"?f.headerItemClassName:f.headerItemClassName(u,I)]),style:e.normalizeStyle(xe(u.value)),onClick:e.withModifiers($=>u.sortable&&u.sortType?e.unref(Et)(u.value,u.sortType):null,["stop"])},[u.text==="checkbox"?(e.openBlock(),e.createBlock(Ee,{key:e.unref(_e),status:e.unref(_e),onChange:e.unref(Rt)},null,8,["status","onChange"])):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["header",`direction-${e.unref(V)}`])},[e.unref(W)[`header-${u.value}`]?e.renderSlot(f.$slots,`header-${u.value}`,e.normalizeProps(e.mergeProps({key:0},u)),void 0,!0):(e.openBlock(),e.createElementBlock("span",ut,e.toDisplayString(u.text),1)),u.sortable?(e.openBlock(),e.createElementBlock("i",{key:u.sortType?u.sortType:"none",class:e.normalizeClass(["sortType-icon",{desc:u.sortType==="desc"}])},null,2)):e.createCommentVNode("",!0)],2))],14,dt))),128))])],2)):e.createCommentVNode("",!0),e.unref(fe).length?(e.openBlock(),e.createElementBlock("tbody",{key:1,class:e.normalizeClass(["vue3-easy-data-table__body",{"row-alternation":f.alternating}])},[e.renderSlot(f.$slots,"body-prepend",e.normalizeProps(e.guardReactiveProps({items:e.unref(Q),pagination:{isFirstPage:e.unref(U),isLastPage:e.unref(J),currentPaginationNumber:e.unref(D),maxPaginationNumber:e.unref(q),nextPage:e.unref(G),prevPage:e.unref(K)},headers:e.unref(v)})),void 0,!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Q),(u,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I},[e.createElementVNode("tr",{class:e.normalizeClass([{"even-row":(I+1)%2===0},typeof f.bodyRowClassName=="string"?f.bodyRowClassName:f.bodyRowClassName(u,I)]),onClick:$=>e.unref(Ht)(u)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(fe),($,Pe)=>(e.openBlock(),e.createElementBlock("td",{key:Pe,style:e.normalizeStyle(xe($,"td")),class:e.normalizeClass([{shadow:$===e.unref(ke),"can-expand":$==="expand"},typeof f.bodyItemClassName=="string"?f.bodyItemClassName:f.bodyItemClassName($,Pe),`direction-${e.unref(c)}`]),onClick:Ce=>$==="expand"?e.unref(zt)(I,u,Ce):null},[e.unref(W)[`item-${$}`]?e.renderSlot(f.$slots,`item-${$}`,e.normalizeProps(e.mergeProps({key:0},u)),void 0,!0):$==="expand"?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["expand-icon",{expanding:e.unref(ye).includes(I)}])},null,2)):$==="checkbox"?(e.openBlock(),e.createBlock(Re,{key:2,checked:u[$],onChange:Ce=>e.unref(Tt)(u)},null,8,["checked","onChange"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createTextVNode(e.toDisplayString(e.unref(lt)($,u)),1)],64))],14,ft))),128))],10,pt),e.unref(ce)&&e.unref(ye).includes(I)?(e.openBlock(),e.createElementBlock("tr",{key:0,class:e.normalizeClass({"even-row":(I+1)%2===0})},[e.createElementVNode("td",{colspan:e.unref(v).length,class:"expand"},[u.expandLoading?(e.openBlock(),e.createBlock(qe,{key:0,class:"expand-loading"})):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"expand",e.normalizeProps(e.guardReactiveProps(u)),void 0,!0)],8,mt)],2)):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(f.$slots,"body-append",e.normalizeProps(e.guardReactiveProps({items:e.unref(Q),pagination:{isFirstPage:e.unref(U),isLastPage:e.unref(J),currentPaginationNumber:e.unref(D),maxPaginationNumber:e.unref(q),nextPage:e.unref(G),prevPage:e.unref(K)},headers:e.unref(v)})),void 0,!0)],2)):e.createCommentVNode("",!0)]),e.unref(h)?(e.openBlock(),e.createElementBlock("div",gt,[ht,e.createElementVNode("div",_t,[e.unref(Bt)?e.renderSlot(f.$slots,"loading",{key:0},void 0,!0):(e.openBlock(),e.createBlock(je,{key:1}))])])):e.createCommentVNode("",!0),!e.unref(Q).length&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",yt,e.toDisplayString(f.emptyMessage),1)):e.createCommentVNode("",!0)],2),f.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",bt,[f.hideRowsPerPage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",kt,[e.createTextVNode(e.toDisplayString(f.rowsPerPageMessage)+" ",1),e.createVNode(Oe,{modelValue:e.unref(z),"onUpdate:modelValue":L[0]||(L[0]=u=>e.isRef(z)?z.value=u:null),"rows-items":e.unref(me)},null,8,["modelValue","rows-items"])])),e.createElementVNode("div",xt,e.toDisplayString(`${e.unref(ge)}\u2013${e.unref(he)}`)+" of "+e.toDisplayString(e.unref(ee)),1),e.unref(St)?e.renderSlot(f.$slots,"pagination",e.normalizeProps(e.mergeProps({key:1},{isFirstPage:e.unref(U),isLastPage:e.unref(J),currentPaginationNumber:e.unref(D),maxPaginationNumber:e.unref(q),nextPage:e.unref(G),prevPage:e.unref(K)})),void 0,!0):(e.openBlock(),e.createBlock(Xe,{key:2,"is-first-page":e.unref(U),"is-last-page":e.unref(J),onClickNextPage:e.unref(G),onClickPrevPage:e.unref(K)},e.createSlots({_:2},[f.buttonsPagination?{name:"buttonsPagination",fn:e.withCtx(()=>[e.createVNode(Ge,{"current-pagination-number":e.unref(D),"max-pagination-number":e.unref(q),onUpdatePage:e.unref(te)},null,8,["current-pagination-number","max-pagination-number","onUpdatePage"])])}:void 0]),1032,["is-first-page","is-last-page","onClickNextPage","onClickPrevPage"]))]))],2))}});var ie=x(Pt,[["__scopeId","data-v-4d5f5020"]]);return typeof window!="undefined"&&window.Vue&&window.Vue.createApp({}).component("Vue3EasyDataTable",ie),ie}); |
@@ -6,6 +6,6 @@ { | ||
"private": false, | ||
"version": "1.4.17", | ||
"version": "1.4.18", | ||
"types": "./types/main.d.ts", | ||
"license": "MIT", | ||
"files": [ | ||
"license": "MIT", | ||
"files": [ | ||
"dist", | ||
@@ -12,0 +12,0 @@ "types" |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
105564
1665