vue3-datatable.0fafe285.js 23 KB

1
  1. import{d as ee,M as Je,e as x,B as Be,A as j,C as T,o as c,c as d,a as r,L as p,f as U,F,i as E,j as q,n as K,p as O,N as Qe,l as g,O as Ye,g as ze,t as I,P as Ne,Q as De,v as Z,R as $e,S as Xe,s as Ze}from"./index.c685e846.js";const el={class:"bh-filter-menu bh-absolute bh-z-[1] bh-bg-white bh-shadow-md bh-rounded-md bh-top-full bh-right-0 bh-w-32 bh-mt-1"},ll=["onClick"],tl=ee({__name:"column-filter",props:["column"],emits:["close","filterChange"],setup(k,{emit:y}){const a=k;Xe(()=>{document.removeEventListener("click",_)}),Be(()=>{document.addEventListener("click",_)});const _=()=>{y("close")},l=m=>{a.column.condition=m,m===""&&(a.column.value=""),y("filterChange",a.column)};return(m,n)=>(c(),d("div",el,[r("div",{class:"bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden",onClick:K(_,["stop"])},[r("button",{type:"button",class:p({active:a.column.condition===""}),onClick:n[0]||(n[0]=h=>l(""))},"No filter",2),a.column.type==="string"?(c(),d(F,{key:0},[r("button",{type:"button",class:p({active:a.column.condition==="contain"}),onClick:n[1]||(n[1]=h=>l("contain"))},"Contain",2),r("button",{type:"button",class:p({active:a.column.condition==="not_contain"}),onClick:n[2]||(n[2]=h=>l("not_contain"))},"Not contain",2),r("button",{type:"button",class:p({active:a.column.condition==="equal"}),onClick:n[3]||(n[3]=h=>l("equal"))},"Equal",2),r("button",{type:"button",class:p({active:a.column.condition==="not_equal"}),onClick:n[4]||(n[4]=h=>l("not_equal"))},"Not equal",2),r("button",{type:"button",class:p({active:a.column.condition==="start_with"}),onClick:n[5]||(n[5]=h=>l("start_with"))},"Starts with",2),r("button",{type:"button",class:p({active:a.column.condition==="end_with"}),onClick:n[6]||(n[6]=h=>l("end_with"))},"Ends with",2)],64)):a.column.type==="number"?(c(),d(F,{key:1},[r("button",{type:"button",class:p({active:a.column.condition==="equal"}),onClick:n[7]||(n[7]=h=>l("equal"))},"Equal",2),r("button",{type:"button",class:p({active:a.column.condition==="not_equal"}),onClick:n[8]||(n[8]=h=>l("not_equal"))},"Not Equal",2),r("button",{type:"button",class:p({active:a.column.condition==="greater_than"}),onClick:n[9]||(n[9]=h=>l("greater_than"))},"Greater than",2),r("button",{type:"button",class:p({active:a.column.condition==="greater_than_equal"}),onClick:n[10]||(n[10]=h=>l("greater_than_equal"))},"Greater than or equal",2),r("button",{type:"button",class:p({active:a.column.condition==="less_than"}),onClick:n[11]||(n[11]=h=>l("less_than"))},"Less than",2),r("button",{type:"button",class:p({active:a.column.condition==="less_than_equal"}),onClick:n[12]||(n[12]=h=>l("less_than_equal"))},"Less than or equal",2)],64)):a.column.type==="date"?(c(),d(F,{key:2},[r("button",{type:"button",class:p({active:a.column.condition==="equal"}),onClick:n[13]||(n[13]=h=>l("equal"))},"Equal",2),r("button",{type:"button",class:p({active:a.column.condition==="not_equal"}),onClick:n[14]||(n[14]=h=>l("not_equal"))},"Not equal",2),r("button",{type:"button",class:p({active:a.column.condition==="greater_than"}),onClick:n[15]||(n[15]=h=>l("greater_than"))},"Greater than",2),r("button",{type:"button",class:p({active:a.column.condition==="less_than"}),onClick:n[16]||(n[16]=h=>l("less_than"))},"Less than",2)],64)):g("",!0),r("button",{type:"button",class:p({active:a.column.condition==="is_null"}),onClick:n[17]||(n[17]=h=>l("is_null"))},"Is null",2),r("button",{type:"button",class:p({active:a.column.condition==="is_not_null"}),onClick:n[18]||(n[18]=h=>l("is_not_null"))},"Not null",2)],8,ll)]))}}),$=(k,y)=>{const a=k.__vccOpts||k;for(const[_,l]of y)a[_]=l;return a},nl={},ol={version:"1.1",viewBox:"0 0 17 12",xmlns:"http://www.w3.org/2000/svg"},al=r("g",{fill:"none","fill-rule":"evenodd"},[r("g",{transform:"translate(-9 -11)",fill:"currentColor","fill-rule":"nonzero"},[r("path",{d:"m25.576 11.414c0.56558 0.55188 0.56558 1.4439 0 1.9961l-9.404 9.176c-0.28213 0.27529-0.65247 0.41385-1.0228 0.41385-0.37034 0-0.74068-0.13855-1.0228-0.41385l-4.7019-4.588c-0.56584-0.55188-0.56584-1.4442 0-1.9961 0.56558-0.55214 1.4798-0.55214 2.0456 0l3.679 3.5899 8.3812-8.1779c0.56558-0.55214 1.4798-0.55214 2.0456 0z"})])],-1),il=[al];function ul(k,y){return c(),d("svg",ol,il)}const He=$(nl,[["render",ul]]),rl={},sl={viewBox:"0 0 24 24",width:"24",height:"24",stroke:"currentColor","stroke-width":"3",fill:"none","stroke-linecap":"round","stroke-linejoin":"round",class:"css-i6dzq1"},cl=r("line",{x1:"5",y1:"12",x2:"19",y2:"12"},null,-1),dl=[cl];function hl(k,y){return c(),d("svg",sl,dl)}const vl=$(rl,[["render",hl]]),pl={},bl={viewBox:"0 0 24 24",width:"24",height:"24",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round",class:"css-i6dzq1"},fl=r("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1),ml=[fl];function gl(k,y){return c(),d("svg",bl,ml)}const yl=$(pl,[["render",gl]]),Cl={key:"hdrrow"},kl={class:"bh-checkbox"},wl=["onClick"],xl={width:"16",height:"16",viewBox:"0 0 14 14",fill:"none"},_l={key:0,class:"bh-filter bh-relative"},Sl=["onUpdate:modelValue"],Fl=["onUpdate:modelValue"],Ll=["onUpdate:modelValue"],ql=["onUpdate:modelValue"],Ml=r("option",{value:void 0},"All",-1),Al=r("option",{value:!0},"True",-1),Bl=r("option",{value:!1},"False",-1),zl=[Ml,Al,Bl],Nl=["onClick"],Ae=ee({__name:"column-header",props:["all","currentSortColumn","currentSortDirection","isOpenFilter","isFooter","checkAll"],emits:["selectAll","sortChange","filterChange","toggleFilterMenu"],setup(k,{emit:y}){const a=k,_=x(null);return T(()=>a.checkAll,()=>{_.value&&(_.value.indeterminate=a.checkAll!==0?!a.checkAll:!1,_.value.checked=a.checkAll)}),(l,m)=>(c(),d("tr",Cl,[a.all.hasCheckbox?(c(),d("th",{key:"chkall",class:p(["bh-w-px",{"bh-sticky bh-bg-blue-light bh-z-[1]":a.all.stickyHeader||a.all.stickyFirstColumn,"bh-top-0":a.all.stickyHeader,"bh-left-0":a.all.stickyFirstColumn}])},[r("div",kl,[r("input",{ref_key:"selectedAll",ref:_,type:"checkbox",onClick:m[0]||(m[0]=K(n=>y("selectAll",n.target.checked),["stop"]))},null,512),r("div",null,[U(He,{class:"check"}),U(vl,{class:"intermediate"})])])],2)):g("",!0),(c(!0),d(F,null,E(a.all.columns,(n,h)=>(c(),d(F,null,[n.hide?g("",!0):(c(),d("th",{key:n.field,class:p(["bh-select-none bh-z-[1]",[a.all.sortable&&n.sort?"bh-cursor-pointer":"",h===0&&a.all.stickyFirstColumn?"bh-sticky bh-left-0 bh-bg-blue-light":"",a.all.hasCheckbox&&h===0&&a.all.stickyFirstColumn?"bh-left-[52px]":""]]),style:Ne({width:n.width,"min-width":n.minWidth,"max-width":n.maxWidth})},[r("div",{class:p(["bh-flex bh-items-center",[n.headerClass?n.headerClass:""]]),onClick:f=>a.all.sortable&&n.sort&&y("sortChange",n.field)},[ze(I(n.title)+" ",1),a.all.sortable&&n.sort?(c(),d("span",{key:0,class:p(["bh-ml-3 bh-sort bh-flex bh-items-center",[a.currentSortColumn,a.currentSortDirection]])},[(c(),d("svg",xl,[r("polygon",{points:"3.11,6.25 10.89,6.25 7,1.75 ",fill:"currentColor",class:p(["bh-text-black/20",[k.currentSortColumn===n.field&&k.currentSortDirection==="asc"?"!bh-text-primary":""]])},null,2),r("polygon",{points:"7,12.25 10.89,7.75 3.11,7.75 ",fill:"currentColor",class:p(["bh-text-black/20",[k.currentSortColumn===n.field&&k.currentSortDirection==="desc"?"!bh-text-primary":""]])},null,2)]))],2)):g("",!0)],10,wl),a.all.columnFilter&&!a.isFooter?(c(),d(F,{key:0},[n.filter?(c(),d("div",_l,[n.type==="string"?O((c(),d("input",{key:0,"onUpdate:modelValue":f=>n.value=f,type:"text",class:"bh-form-control",onKeyup:m[1]||(m[1]=f=>y("filterChange"))},null,40,Sl)),[[Z,n.value,void 0,{trim:!0}]]):g("",!0),n.type==="number"?O((c(),d("input",{key:1,"onUpdate:modelValue":f=>n.value=f,type:"number",class:"bh-form-control",onKeyup:m[2]||(m[2]=f=>y("filterChange"))},null,40,Fl)),[[Z,n.value,void 0,{number:!0,trim:!0}]]):n.type==="date"?O((c(),d("input",{key:2,"onUpdate:modelValue":f=>n.value=f,type:"date",class:"bh-form-control",onChange:m[3]||(m[3]=f=>y("filterChange"))},null,40,Ll)),[[Z,n.value]]):n.type==="bool"?O((c(),d("select",{key:3,"onUpdate:modelValue":f=>n.value=f,class:"bh-form-control",onChange:m[4]||(m[4]=f=>y("filterChange")),onClick:m[5]||(m[5]=f=>a.isOpenFilter=null)},zl,40,ql)),[[De,n.value]]):g("",!0),n.type!=="bool"?(c(),d("button",{key:4,type:"button",onClick:K(f=>y("toggleFilterMenu",n),["stop"])},[U(yl,{class:"bh-w-4"})],8,Nl)):g("",!0),O(U(tl,{column:n,type:n.type,onClose:m[6]||(m[6]=f=>y("toggleFilterMenu",null)),onFilterChange:m[7]||(m[7]=f=>y("filterChange"))},null,8,["column","type"]),[[$e,a.isOpenFilter===n.field]])])):g("",!0)],64)):g("",!0)],6))],64))),256))]))}}),Dl={},Hl={width:"84",height:"84",viewBox:"0 0 24 24",class:"bh-loader bh-text-primary"},Tl=Ze('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>',3),Ul=[Tl];function Ol(k,y){return c(),d("svg",Hl,Ul)}const Vl=$(Dl,[["render",Ol]]),Rl={class:"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal"},El=["onClick"],Il={class:"bh-checkbox"},Pl=["value"],Gl=["innerHTML"],Wl={key:1},jl=["colspan"],Kl=["colspan"],Jl=r("div",{class:"bh-skeleton-box bh-h-8"},null,-1),Ql=[Jl],Yl={key:0,class:"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center"},$l={key:0,class:"bh-pagination bh-py-5"},Xl={class:"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4"},Zl={class:"bh-pagination-info bh-flex bh-items-center"},et={class:"bh-mr-2"},lt=["value"],tt={class:"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1"},nt=["innerHTML"],ot={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},at=r("g",{fill:"currentColor","fill-rule":"evenodd"},[r("path",{d:"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"}),r("path",{d:"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"})],-1),it=[at],ut=["innerHTML"],rt={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},st=r("path",{fill:"currentColor","fill-rule":"evenodd",d:"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"},null,-1),ct=[st],dt=["onClick"],ht=["innerHTML"],vt={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},pt=r("path",{fill:"currentColor","fill-rule":"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z"},null,-1),bt=[pt],ft=["innerHTML"],mt={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},gt=r("g",{fill:"currentColor","fill-rule":"evenodd"},[r("path",{d:"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z"}),r("path",{d:"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z"})],-1),yt=[gt],kt=ee({__name:"custom-table",props:{loading:{type:Boolean,default:!1},isStatic:{type:Boolean,default:!0},skin:{default:"bh-table-striped bh-table-hover"},totalRows:{default:0},rows:{default:()=>[]},columns:{default:()=>[]},hasCheckbox:{type:Boolean,default:!1},search:{default:""},columnChooser:{type:Boolean,default:!1},page:{default:1},pageSize:{default:10},pageSizeOptions:{default:()=>[10,20,30,50,100]},showPageSize:{type:Boolean,default:!0},rowClass:{default:[]},cellClass:{default:[]},sortable:{type:Boolean,default:!1},sortColumn:{default:"id"},sortDirection:{default:"asc"},columnFilter:{type:Boolean,default:!1},pagination:{type:Boolean,default:!0},showNumbers:{type:Boolean,default:!0},showNumbersCount:{default:5},showFirstPage:{type:Boolean,default:!0},showLastPage:{type:Boolean,default:!0},firstArrow:{default:""},lastArrow:{default:""},nextArrow:{default:""},previousArrow:{default:""},paginationInfo:{default:"Showing {0} to {1} of {2} entries"},noDataContent:{default:"No data available"},stickyHeader:{type:Boolean,default:!1},height:{default:"500px"},stickyFirstColumn:{type:Boolean,default:!1},cloneHeaderInFooter:{type:Boolean,default:!1},selectRowOnClick:{type:Boolean,default:!1}},emits:["sortChange","searchChange","pageChange","pageSizeChange","rowSelect","filterChange","rowClick","rowDBClick"],setup(k,{expose:y,emit:a}){var _;const l=k,m=Je();for(const e of l.columns||[]){const u=((_=e.type)==null?void 0:_.toLowerCase())||"string";e.type=u,e.isUnique=e.isUnique!==void 0?e.isUnique:!1,e.hide=e.hide!==void 0?e.hide:!1,e.filter=e.filter!==void 0?e.filter:!0,e.search=e.search!==void 0?e.search:!0,e.sort=e.sort!==void 0?e.sort:!0,e.html=e.html!==void 0?e.html:!1,e.condition=!u||u==="string"?"contain":"equal"}const n=x([]),h=x(l.page),f=x(l.pagination?l.pageSize:l.rows.length),M=x(l.sortColumn),V=x(l.sortDirection),L=x(l.totalRows),S=x([]),X=x(null),P=x(l.loading),G=x(l.search),Te=l.columns,R=x(null),le=x(null);let W=x(0);const Ue=x(230);Be(()=>{N()}),y({reset(){Ge()},getSelectedRows(){return We()},getColumnFilters(){return je()},clearSelectedRows(){return Ke()},selectRow(e){se(e)},unselectRow(e){ce(e)},isRowSelected(e){return Q(e)}});const Oe=(e,...u)=>e.replace(/{(\d+)}/g,(s,o)=>typeof u[o]<"u"?u[o]:s),w=j(()=>{const e=l.columns.find(u=>u.isUnique);return(e==null?void 0:e.field)||null}),z=j(()=>{const e=f.value<1?1:Math.ceil(L.value/f.value);return Math.max(e||0,1)}),te=j(()=>(h.value-1)*f.value+1),ne=j(()=>{const e=h.value*f.value;return L.value>=e?e:L.value}),Ve=j(()=>{let e,u;return typeof l.showNumbersCount<"u"&&l.showNumbersCount<z.value?(e=Math.max(h.value-Math.floor(l.showNumbersCount/2),1),u=e+l.showNumbersCount-1,u>z.value&&(u=z.value,e=u-l.showNumbersCount+1)):(e=1,u=z.value),Array.from(Array(u+1-e).keys()).map(s=>e+s)}),N=()=>{var e,u,s;let o=l.rows||[];if((e=l.columns)==null||e.forEach(t=>{t.filter&&(t.value!==void 0&&t.value!==null&&t.value!==""||t.condition==="is_null"||t.condition=="is_not_null")&&(t.type==="string"?t.condition==="contain"?o=o.filter(i=>{var v;return(v=i[t.field])==null?void 0:v.toString().toLowerCase().includes(t.value.toLowerCase())}):t.condition==="not_contain"?o=o.filter(i=>{var v;return!((v=i[t.field])!=null&&v.toString().toLowerCase().includes(t.value.toLowerCase()))}):t.condition==="equal"?o=o.filter(i=>{var v;return((v=i[t.field])==null?void 0:v.toString().toLowerCase())===t.value.toLowerCase()}):t.condition==="not_equal"?o=o.filter(i=>{var v;return((v=i[t.field])==null?void 0:v.toString().toLowerCase())!==t.value.toLowerCase()}):t.condition=="start_with"?o=o.filter(i=>{var v;return((v=i[t.field])==null?void 0:v.toString().toLowerCase().indexOf(t.value.toLowerCase()))===0}):t.condition=="end_with"&&(o=o.filter(i=>{var v;return((v=i[t.field])==null?void 0:v.toString().toLowerCase().substr(t.value.length*-1))===t.value.toLowerCase()})):t.type==="number"?t.condition==="equal"?o=o.filter(i=>i[t.field]&&parseFloat(i[t.field])===parseFloat(t.value)):t.condition==="not_equal"?o=o.filter(i=>i[t.field]&&parseFloat(i[t.field])!==parseFloat(t.value)):t.condition==="greater_than"?o=o.filter(i=>i[t.field]&&parseFloat(i[t.field])>parseFloat(t.value)):t.condition==="greater_than_equal"?o=o.filter(i=>i[t.field]&&parseFloat(i[t.field])>=parseFloat(t.value)):t.condition==="less_than"?o=o.filter(i=>i[t.field]&&parseFloat(i[t.field])<parseFloat(t.value)):t.condition==="less_than_equal"&&(o=o.filter(i=>i[t.field]&&parseFloat(i[t.field])<=parseFloat(t.value))):t.type==="date"?t.condition==="equal"?o=o.filter(i=>i[t.field]&&J(i[t.field])===t.value):t.condition==="not_equal"?o=o.filter(i=>i[t.field]&&J(i[t.field])!==t.value):t.condition==="greater_than"?o=o.filter(i=>i[t.field]&&J(i[t.field])>t.value):t.condition==="less_than"&&(o=o.filter(i=>i[t.field]&&J(i[t.field])<t.value)):t.type==="bool"&&(o=o.filter(i=>i[t.field]===t.value)),t.condition==="is_null"?(o=o.filter(i=>i[t.field]==null||i[t.field]==""),t.value=""):t.condition==="is_not_null"&&(t.value="",o=o.filter(i=>i[t.field])))}),G.value&&o.length){let t=[];const i=(l.columns||[]).filter(v=>v.search&&!v.hide).map(v=>v.field);for(var C=0;C<o.length;C++)for(var B=0;B<i.length;B++)if((u=re(o[C],i[B]))!=null&&u.toString().toLowerCase().includes(G.value.toLowerCase())){t.push(o[C]);break}o=t}var D=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});const H=V.value==="desc"?-1:1,b=(s=M==null?void 0:M.value)==null?void 0:s.split(".");o.sort((t,i)=>{var v,de,he,ve,pe,be,fe,me,ge,ye,Ce,ke,we,xe,_e,Se,Fe,Le,qe,Me;return b.length===2?D.compare((v=t[b[0]])==null?void 0:v[b[1]],(de=i[b[0]])==null?void 0:de[b[1]])*H:b.length===3?D.compare((ve=(he=t[b[0]])==null?void 0:he[b[1]])==null?void 0:ve[b[2]],(be=(pe=i[b[0]])==null?void 0:pe[b[1]])==null?void 0:be[b[2]])*H:b.length===4?D.compare((ge=(me=(fe=t[b[0]])==null?void 0:fe[b[1]])==null?void 0:me[b[2]])==null?void 0:ge[b[3]],(ke=(Ce=(ye=i[b[0]])==null?void 0:ye[b[1]])==null?void 0:Ce[b[2]])==null?void 0:ke[b[3]])*H:b.length===5?D.compare((Se=(_e=(xe=(we=t[b[0]])==null?void 0:we[b[1]])==null?void 0:xe[b[2]])==null?void 0:_e[b[3]])==null?void 0:Se[b[4]],(Me=(qe=(Le=(Fe=i[b[0]])==null?void 0:Fe[b[1]])==null?void 0:Le[b[2]])==null?void 0:qe[b[3]])==null?void 0:Me[b[4]])*H:D.compare(t[M.value],i[M.value])*H}),L.value=o.length||0;const Y=o.slice(te.value-1,ne.value);n.value=Y||[]};T(()=>l.loading,()=>{P.value=l.loading});const oe=e=>{e?R.value===e.field?R.value=null:R.value=e.field:R.value=null},Re=()=>{if(h.value==1)return!1;h.value--},Ee=e=>{h.value=e},Ie=()=>{if(h.value>=z.value)return!1;h.value++};T(()=>h.value,()=>{A(!1),N(),a("pageChange",h.value)}),T(()=>l.rows,()=>{h.value=1,A(!1),N()}),T(()=>f.value,()=>{h.value=1,A(!1),N(),a("pageSizeChange",f.value)});const ae=e=>{let u="asc";e==M.value&&V.value==="asc"&&(u="desc");let s=(h.value-1)*f.value,o=f.value;M.value=e,V.value=u,A(!1),N(),a("sortChange",{offset:s,limit:o,field:e,direction:u})},ie=e=>{X.value=e.length&&n.value.length&&e.length===n.value.length;const u=n.value.filter((s,o)=>S.value.includes(w.value?s[w.value]:o));a("rowSelect",u)};T(()=>S.value,ie);const A=e=>{e?S.value=n.value.map((u,s)=>w.value?u[w.value]:s):S.value=[]},ue=()=>{h.value=1,A(!1),N(),a("filterChange",l.columns)};T(()=>l.search,()=>{h.value=1,A(!1),N(),a("searchChange",G.value)}),T(()=>l.search,()=>{G.value=l.search});const re=(e,u)=>{var s,o,C,B,D,H,b,Y,t,i;if(u.includes(".")){const v=u.split(".");return v.length===5?(B=(C=(o=(s=e[v[0]])==null?void 0:s[v[1]])==null?void 0:o[v[2]])==null?void 0:C[v[3]])==null?void 0:B[v[4]]:v.length===4?(b=(H=(D=e[v[0]])==null?void 0:D[v[1]])==null?void 0:H[v[2]])==null?void 0:b[v[3]]:v.length===3?(t=(Y=e[v[0]])==null?void 0:Y[v[1]])==null?void 0:t[v[2]]:(i=e[v[0]])==null?void 0:i[v[1]]}return e==null?void 0:e[u]},J=e=>{try{if(!e)return"";const u=new Date(e),s=u.getDate(),o=u.getMonth()+1;return u.getFullYear()+"-"+(o>9?o:"0"+o)+"-"+(s>9?s:"0"+s)}catch{}return""},Pe=(e,u)=>{W.value++,W.value===1?le.value=setTimeout(()=>{W.value=0,l.selectRowOnClick&&(Q(u)?ce(u):se(u),ie(S.value)),a("rowClick",e)},Ue.value):W.value===2&&(clearTimeout(le.value),W.value=0,a("rowDBClick",e))},Ge=()=>{var e;(e=l.columns)==null||e.forEach((u,s)=>{Te[s]}),G.value="",h.value=1,M.value="id",V.value="asc",A(!1),N()},We=()=>n.value.filter((e,u)=>S.value.includes(w.value?e[w.value]:u)),je=()=>l.columns,Ke=()=>{S.value=[]},se=e=>{if(!Q(e)){const u=n.value.find((s,o)=>o===e);S.value.push(w.value?u[w.value]:e)}},ce=e=>{if(Q(e)){const u=n.value.find((s,o)=>o===e);S.value=S.value.filter(s=>s!==(w.value?u[w.value]:e))}},Q=e=>{const u=n.value.find((s,o)=>o===e);return u?S.value.includes(w.value?u[w.value]:e):!1};return(e,u)=>(c(),d("div",Rl,[r("div",{class:p(["bh-table-responsive",{"bh-min-h-[300px]":P.value}]),style:Ne({height:l.stickyHeader&&l.height})},[r("table",{class:p([l.skin])},[r("thead",{class:p({"bh-sticky bh-top-0 bh-z-10":l.stickyHeader})},[U(Ae,{all:l,currentSortColumn:M.value,currentSortDirection:V.value,isOpenFilter:R.value,checkAll:X.value,onSelectAll:A,onSortChange:ae,onFilterChange:ue,onToggleFilterMenu:oe},null,8,["currentSortColumn","currentSortDirection","isOpenFilter","checkAll"])],2),r("tbody",null,[L.value?(c(!0),d(F,{key:0},E(n.value,(s,o)=>(c(),d("tr",{key:s[q(w)]?s[q(w)]:o,class:p([typeof l.rowClass=="function"?k.rowClass(s):l.rowClass,l.selectRowOnClick?"bh-cursor-pointer":""]),onClick:K(C=>Pe(s,o),["prevent"])},[l.hasCheckbox?(c(),d("td",{key:0,class:p({"bh-sticky bh-left-0 bh-bg-blue-light":l.stickyFirstColumn})},[r("div",Il,[O(r("input",{"onUpdate:modelValue":u[0]||(u[0]=C=>S.value=C),type:"checkbox",value:s[q(w)]?s[q(w)]:o,onClick:u[1]||(u[1]=K(()=>{},["stop"]))},null,8,Pl),[[Qe,S.value]]),r("div",null,[U(He,{class:"check"})])])],2)):g("",!0),(c(!0),d(F,null,E(l.columns,(C,B)=>(c(),d(F,null,[C.hide?g("",!0):(c(),d("td",{key:C.field,class:p([typeof l.cellClass=="function"?k.cellClass(s):l.cellClass,B===0&&l.stickyFirstColumn?"bh-sticky bh-left-0 bh-bg-blue-light":"",l.hasCheckbox&&B===0&&l.stickyFirstColumn?"bh-left-[52px]":"",C.cellClass?C.cellClass:""])},[q(m)[C.field]?Ye(e.$slots,C.field,{key:0,value:s}):C.cellRenderer?(c(),d("div",{key:1,innerHTML:C.cellRenderer(s)},null,8,Gl)):(c(),d(F,{key:2},[ze(I(re(s,C.field)),1)],64))],2))],64))),256))],10,El))),128)):g("",!0),!L.value&&!P.value?(c(),d("tr",Wl,[r("td",{colspan:l.columns.length+1},I(l.noDataContent),9,jl)])):g("",!0),!L.value&&P.value?(c(),d(F,{key:2},E(6,s=>r("tr",{key:s,class:"!bh-bg-white bh-h-11 !bh-border-transparent"},[r("td",{colspan:l.columns.length+1,class:"!bh-p-0 !bh-border-transparent"},Ql,8,Kl)])),64)):g("",!0)]),l.cloneHeaderInFooter?(c(),d("tfoot",{key:0,class:p({"bh-sticky bh-bottom-0":l.stickyHeader})},[U(Ae,{all:l,currentSortColumn:M.value,currentSortDirection:V.value,isOpenFilter:R.value,isFooter:!0,checkAll:X.value,onSelectAll:A,onSortChange:ae,onFilterChange:ue,onToggleFilterMenu:oe},null,8,["currentSortColumn","currentSortDirection","isOpenFilter","checkAll"])],2)):g("",!0)],2),L.value&&P.value?(c(),d("div",Yl,[U(Vl)])):g("",!0)],6),l.pagination&&L.value?(c(),d("div",$l,[r("div",Xl,[r("div",Zl,[r("span",et,I(Oe(l.paginationInfo,L.value?q(te):0,q(ne),L.value)),1),l.showPageSize?O((c(),d("select",{key:0,"onUpdate:modelValue":u[2]||(u[2]=s=>f.value=s),class:"bh-pagesize"},[(c(!0),d(F,null,E(l.pageSizeOptions,s=>(c(),d("option",{value:s,key:s},I(s),9,lt))),128))],512)),[[De,f.value]]):g("",!0)]),r("div",tt,[l.showFirstPage?(c(),d("button",{key:0,type:"button",class:p(["bh-page-item first-page",{disabled:h.value<=1}]),onClick:u[3]||(u[3]=s=>h.value=1)},[l.firstArrow?(c(),d("span",{key:0,innerHTML:l.firstArrow},null,8,nt)):(c(),d("svg",ot,it))],2)):g("",!0),r("button",{type:"button",class:p(["bh-page-item previous-page",{disabled:h.value<=1}]),onClick:Re},[l.previousArrow?(c(),d("span",{key:0,innerHTML:l.previousArrow},null,8,ut)):(c(),d("svg",rt,ct))],2),l.showNumbers?(c(!0),d(F,{key:1},E(q(Ve),s=>(c(),d("button",{key:s,type:"button",class:p(["bh-page-item",{disabled:h.value===s,"bh-active":s===h.value}]),onClick:o=>Ee(s)},I(s),11,dt))),128)):g("",!0),r("button",{type:"button",class:p(["bh-page-item next-page",{disabled:h.value>=q(z)}]),onClick:Ie},[l.nextArrow?(c(),d("span",{key:0,innerHTML:l.nextArrow},null,8,ht)):(c(),d("svg",vt,bt))],2),l.showLastPage?(c(),d("button",{key:2,type:"button",class:p(["bh-page-item last-page",{disabled:h.value>=q(z)}]),onClick:u[4]||(u[4]=s=>h.value=q(z))},[l.lastArrow?(c(),d("span",{key:0,innerHTML:l.lastArrow},null,8,ft)):(c(),d("svg",mt,yt))],2)):g("",!0)])])])):g("",!0)]))}});export{kt as x};