@dcodegroup-au/dsg-vue 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),D=require("./DsgTablePerPage.vue_vue_type_style_index_0_lang-DU5GAN6E.cjs"),Y=require("./dsg-vue.helpers-string.cjs"),Q=require("./dsg-vue.helpers-object.cjs"),ke=require("./dsg-vue.helpers.cjs"),he={class:"dsg-table--pagination"},ye=["disabled"],pe=["disabled"],we=["onClick","innerHTML"],Be=["onClick","innerHTML"],Ce=["disabled"],Pe=["disabled"],X=e.defineComponent({__name:"DsgTablePagination",props:e.mergeModels({onEachSide:{default:3},firstPage:{default:1},showFirstLast:{type:Boolean,default:!0},firstIcon:{default:"chevron-left-double"},lastIcon:{default:"chevron-right-double"},prevIcon:{default:"chevron-left"},nextIcon:{default:"chevron-right"}},{pagination:{default:null},paginationModifiers:{}}),emits:e.mergeModels(["dsg-table:change-page"],["update:pagination"]),setup(t,{expose:S,emit:g}){const i=e.useModel(t,"pagination"),m=e.computed(()=>i.value===null?0:i.value?.last_page-t.firstPage+1),v=e.computed(()=>i.value===null?0:i.value?.last_page),u=e.computed(()=>i.value===null?!1:i.value?.current_page===t.firstPage),k=e.computed(()=>i.value===null?!1:i.value?.current_page===v.value),F=e.computed(()=>m.value<t.onEachSide*2+4),V=e.computed(()=>t.onEachSide*2+1),p=e.computed(()=>!i.value||i.value?.current_page<=t.onEachSide?1:i.value?.current_page>=m.value-t.onEachSide?m.value-t.onEachSide*2:i.value?.current_page-t.onEachSide),f=g,l=B=>{f("dsg-table:change-page",B)},d=B=>B===i.value?.current_page;return S({loadPage:l}),(B,w)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",he,[t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:w[0]||(w[0]=C=>l(t.firstPage)),class:e.normalizeClass([[u.value?"disabled":""],"dsg-table--pagination-link"]),disabled:u.value,title:"First","aria-label":"First"},[e.createVNode(D._sfc_main,{icon:t.firstIcon,size:"sm"},null,8,["icon"])],10,ye)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:w[1]||(w[1]=C=>l("prev")),class:e.normalizeClass([[u.value?"disabled":""],"dsg-table--pagination-link"]),disabled:u.value,title:"Previous","aria-label":"Previous"},[e.createVNode(D._sfc_main,{icon:t.prevIcon,size:"sm"},null,8,["icon"])],10,pe),F.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.value,(C,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:$=>l(N+t.firstPage),class:e.normalizeClass([[d(N+t.firstPage)?"active":""],"dsg-table--pagination-link"]),innerHTML:C},null,10,we))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(V.value,(C,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:$=>l(p.value+N+t.firstPage-1),class:e.normalizeClass([[d(p.value+N+t.firstPage-1)?"active":""],"dsg-table--pagination-link"]),innerHTML:p.value+C-1},null,10,Be))),128)),e.createElementVNode("a",{onClick:w[2]||(w[2]=C=>l("next")),class:e.normalizeClass([[k.value?"disabled":""],"dsg-table--pagination-link"]),disabled:k.value,title:"Next","aria-label":"Next"},[e.createVNode(D._sfc_main,{icon:t.nextIcon,size:"sm"},null,8,["icon"])],10,Ce),t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:w[3]||(w[3]=C=>l(v.value)),class:e.normalizeClass([[k.value?"disabled":""],"dsg-table--pagination-link"]),disabled:k.value,title:"Last","aria-label":"Last"},[e.createVNode(D._sfc_main,{icon:t.lastIcon,size:"sm"},null,8,["icon"])],10,Pe)):e.createCommentVNode("",!0)],512)),[[e.vShow,i.value&&v.value>t.firstPage]])}}),De=["innerHTML"],Z=e.defineComponent({__name:"DsgTablePaginationInfo",props:e.mergeModels({infoTemplate:{default:"Displaying {from} to {to} of {total} items"},noDataTemplate:{default:"No relevant data"}},{pagination:{default:null},paginationModifiers:{}}),emits:["update:pagination"],setup(t){const S=e.useModel(t,"pagination"),g=e.computed(()=>S.value==null||S.value.total==0?t.noDataTemplate:t.infoTemplate.replace("{from}",(S.value?.from||0).toString()).replace("{to}",(S.value?.to||0).toString()).replace("{total}",(S.value?.total||0).toString()));return(i,m)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table--pagination-info",innerHTML:g.value},null,8,De))}}),Ee={class:"dsg-table--actions",ref:"dsgTableActions"},Se={class:"dsg-table--action-trigger"},$e={key:0,class:"dsg-table--actions-menu-wrapper"},Ve=["href","target","onClick"],Te=["textContent"],Ne={key:0},Fe={key:1},xe=["href","target","onClick"],Me={class:"flex-1"},_=e.defineComponent({__name:"DsgTableActions",props:{placement:{default:"auto"}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:action-archive","dsg-table:link-clicked"],setup(t,{emit:S}){const g=e.ref(!1);e.useTemplateRef("dsgTableActions");const i=e.useAttrs(),m=e.ref(i.data.rowData?.actions??null),v=e.ref(i.data.rowData?.links??null),u=e.ref(i.data.rowData??null),k=f=>{switch(f){case"edit":return"edit-05";case"view":return"eye";case"delete":return"trash-01";case"archive":return"eye-off";default:return"dots-horizontal"}},F=(f,l,d)=>{switch(l){case"edit":p("dsg-table:action-edit",d,u.value);break;case"view":p("dsg-table:action-view",d,u.value);break;case"delete":p("dsg-table:action-delete",d,u.value);break;case"archive":p("dsg-table:action-archive",d,u.value);break}},V=(f,l)=>{const d=f.actionId||f.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");p("dsg-table:link-clicked",l,d,u.value)},p=S;return(f,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(e.unref(D.kt),{triggers:[],placement:t.placement,"handle-resize":!0,strategy:"absolute",shown:g.value,class:"dsg-table--actions__popper",onHide:l[1]||(l[1]=d=>g.value=!1),ref:"floatingVueFilterDropdown"},{popper:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(d,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete","archive"].includes(String(B))?(e.openBlock(),e.createElementBlock("a",{key:B,href:m.value?.link,target:m.value?.target||"_self",onClick:w=>F(d,String(B),w)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table--actions-menu-item",String(B)])},[e.createVNode(D._sfc_main,{icon:k(String(B)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"flex-1",textContent:e.toDisplayString(e.unref(Y.ucfirst)(String(B)))},null,8,Te)],2)],8,Ve)):e.createCommentVNode("",!0)],64))),256)),m.value&&v.value?(e.openBlock(),e.createElementBlock("hr",Ne)):e.createCommentVNode("",!0),v.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(v.value,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.label},[d.hasOwnProperty("component")?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.component),{key:0,quote:e.unref(i).data.data.rowData,"row-data":e.unref(i).data.data.rowData},null,8,["quote","row-data"])):d.hasOwnProperty("type")&&d.type=="break"?(e.openBlock(),e.createElementBlock("hr",Fe)):(e.openBlock(),e.createElementBlock("a",{key:2,href:d.link,target:d.target||"_self",class:e.normalizeClass(["dsg-table--actions-menu-item",d.class]),onClick:B=>V(d,B)},[d.icon?(e.openBlock(),e.createBlock(D._sfc_main,{key:0,icon:d.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",Me,e.toDisplayString(d.label),1)],10,xe))],64))),128)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createElementVNode("button",{type:"button",class:"dsg-table--actions-button","aria-expanded":"false","aria-haspopup":"true",onClick:l[0]||(l[0]=d=>g.value=!g.value)},[e.renderSlot(f.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(D._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(D.vOnClickOutside),()=>g.value=!1]])}}),Le={class:"dsg-table--search"},ee=e.defineComponent({__name:"DsgTableSearch",props:{name:{},id:{},placeholder:{default:"Search"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1},extraClasses:{},eventName:{},replaceState:{type:Boolean,default:!0}},emits:["dsg-table:term-changed"],setup(t,{emit:S}){const g=e.ref("");e.onMounted(()=>{const u=new URL(window.location.href).searchParams.get("term");u&&(g.value=u,i("dsg-table:term-changed",u))});const i=S,m=D.useDebounceFn(v=>{if(g.value=v,t.replaceState){const u=new URL(window.location.href);g.value?u.searchParams.set("term",g.value):u.searchParams.delete("term"),window.history.pushState({},"",u.toString())}i("dsg-table:term-changed",g.value)},300);return(v,u)=>(e.openBlock(),e.createElementBlock("div",Le,[e.createVNode(D._sfc_main$4,{modelValue:g.value,"onUpdate:modelValue":u[0]||(u[0]=k=>g.value=k),name:t.name,id:t.id||t.name,placeholder:t.placeholder,disabled:t.disabled,required:t.required,readonly:t.readonly,hidden:t.hidden,"has-clear-button":!0,autocomplete:"off",size:"sm",icon:"search-sm","icon-clickable":!0,onIconClicked:u[1]||(u[1]=k=>e.unref(m)(k)),onEnterPressed:u[2]||(u[2]=k=>e.unref(m)(k)),onOnClear:u[3]||(u[3]=()=>e.unref(m)(""))},null,8,["modelValue","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),ze={class:"dsg-table--header-row"},Re={key:0,class:"dsg-table--th dsg-table--th-checkbox",scope:"col"},Ie={key:1,class:"dsg-table--th dsg-table--th-expand-detail",scope:"col"},Ae=["title","id","onClick"],qe={key:0,class:"dsg-table--th-sort-icon"},He=["innerHTML"],Ue=["innerHTML"],te=e.defineComponent({__name:"DsgTableRowHeader",props:e.mergeModels({fields:{},scrollVisible:{type:Boolean},hasSelectAll:{type:Boolean,default:!1},showExpandDetail:{type:Boolean,default:!0},tableDataLength:{default:0}},{sortField:{default:null},sortFieldModifiers:{},selectedRows:{default:[]},selectedRowsModifiers:{},hasSelected:{type:Boolean,default:!1},hasSelectedModifiers:{}}),emits:e.mergeModels(["dsg-table:sort-field","dsg-table:on-select-all","dsg-table:on-deselect-all"],["update:sortField","update:selectedRows","update:hasSelected"]),setup(t,{emit:S}){const g=e.useModel(t,"sortField"),i=e.useModel(t,"selectedRows"),m=e.useModel(t,"hasSelected"),v=e.ref("17px"),u=p=>{m.value&&i.value.length>0&&i.value.length!==t.tableDataLength?(m.value=!0,k("dsg-table:on-select-all")):!m.value&&i.value.length===0?(m.value=!1,k("dsg-table:on-select-all")):k("dsg-table:on-deselect-all")},k=S,F=(p,f)=>[p,p+"-"+Y.toSnakeCase(String(f?.name)),f.titleClass||"",{sortable:f.sortable},{"sort-active":g.value?.name===f.name}],V=p=>{p.sortable&&(g.value={name:String(p?.name),field:String(p?.sortField),direction:g.value?.name===p.name&&g.value?.direction==="asc"?"desc":"asc"},k("dsg-table:sort-field",p))};return(p,f)=>(e.openBlock(),e.createElementBlock("tr",ze,[t.hasSelectAll?(e.openBlock(),e.createElementBlock("th",Re,[e.createVNode(D._sfc_main$2,{modelValue:m.value,"onUpdate:modelValue":[f[0]||(f[0]=l=>m.value=l),u],indeterminate:i.value.length>0&&i.value.length!==t.tableDataLength},null,8,["modelValue","indeterminate"])])):e.createCommentVNode("",!0),t.showExpandDetail?(e.openBlock(),e.createElementBlock("th",Ie)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,(l,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[l?.visible?(e.openBlock(),e.createElementBlock("th",{key:d,class:e.normalizeClass(F("dsg-table--th",l)),style:e.normalizeStyle([{width:l.width||void 0},l.style]),title:l.title+(l.sortable?" Sort":""),id:"_"+l.name,onClick:B=>V(l),scope:"col"},[l.sortable?(e.openBlock(),e.createElementBlock("div",qe,[l.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table--th-title",innerHTML:l.title},null,8,He)):e.createCommentVNode("",!0),l.sortable&&g.value?.name!==l.name?(e.openBlock(),e.createBlock(D._sfc_main,{key:1,icon:"chevron-selector-vertical",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0),l.sortable&&g.value?.name===l.name&&g.value?.direction==="asc"?(e.openBlock(),e.createBlock(D._sfc_main,{key:2,icon:"chevron-down",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0),l.sortable&&g.value?.name===l.name&&g.value?.direction==="desc"?(e.openBlock(),e.createBlock(D._sfc_main,{key:3,icon:"chevron-up",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("span",{key:1,class:"dsg-table--th-title",innerHTML:e.unref(Y.ucwords)(String(l?.title))},null,8,Ue))],14,Ae)):e.createCommentVNode("",!0)],64))),256)),t.scrollVisible?(e.openBlock(),e.createElementBlock("th",{key:2,style:e.normalizeStyle({width:v.value}),class:"dsg-table--th-col-gutter"},null,4)):e.createCommentVNode("",!0)]))}}),Oe={class:"dsg-table--wrapper"},We=["span"],je={key:0,class:"dsg-table--loading"},Ke=["colspan"],Qe=["colspan"],Ye=["onClick","onDblclick","onMouseover"],Ge={key:0,class:"dsg-table--tbody-cell dsg-table--tbody-cell-checkbox"},Je=["onClick","onDblclick","onContextmenu"],Xe=["innerHTML"],Ze=["onClick"],_e=["colspan"],et={key:2},tt=["colspan"],at={class:"dsg-table--footer"},lt=e.defineComponent({__name:"DsgTableComponent",props:e.mergeModels({fields:{default:()=>[]},isDraggable:{type:Boolean,default:!1},dragApi:{default:""},loadOnStart:{type:Boolean,default:!0},apiUrl:{default:""},httpMethod:{default:"get"},reactiveApiUrl:{type:Boolean,default:!0},apiMode:{type:Boolean,default:!0},data:{default:null},dataManager:{type:[Function,null],default:null},dataPath:{default:"data"},tableLayout:{default:"fixed"},paginationPath:{default:"links.pagination"},queryParams:{default:()=>({sort:"sort",order:"order",page:"page",perPage:"per_page"})},httpOptions:{default:()=>({})},hasDetailRow:{type:Boolean,default:!1},showExpandDetail:{type:Boolean,default:!0},initialPage:{default:1},firstPage:{default:1},sortOrder:{default:()=>[]},multiSort:{type:Boolean},tableHeight:{default:null},multiSortKey:{},rowClass:{type:[String,Function],default:""},detailRowComponent:{},detailRowTransition:{default:"fade"},detailRowClass:{type:[String,Function]},detailRowOptions:{default:()=>({})},trackBy:{default:"id"},css:{default:()=>({tableWrapper:"dsg-table-wrapper",thead:"dsg-table-thead",tbody:"dsg-table-tbody",table:"dsg-table-component"})},minRows:{default:0},noDataTemplate:{default:"No Data Available"},showSortIcons:{type:Boolean},headerRows:{},transform:{type:[Function,null],default:null},sortParams:{type:[Function,null],default:null},fieldPrefix:{},eventPrefix:{},selectable:{type:Boolean,default:!1}},{filterParams:{default:{}},filterParamsModifiers:{},perPage:{default:20},perPageModifiers:{}}),emits:e.mergeModels(["dsg-table:loading","dsg-table:loaded","dsg-table:load-success","dsg-table:load-error","dsg-table:pagination-data","dsg-table:rows-selected","dsg-table:row-clicked","dsg-table:row-hover","dsg-table:row-dblclick"],["update:filterParams","update:perPage"]),setup(t,{expose:S,emit:g}){const i=a=>a.map((n,r)=>({field:n.field||"",title:n.title||"",name:n.name||"",titleClass:n.titleClass||"",dataClass:n.dataClass||"",visible:n.visible??!0,width:n.width||void 0,sortField:n.sortField||null,sortable:n.sortField,formatter:n.formatter||null,$_index:r})),m=e.ref(i(t.fields)),v=e.ref(t.data),u=e.ref(null),k=e.ref(t.initialPage),F=e.ref("17px"),V=e.ref(!1),p=e.ref({}),f=e.ref(0),l=e.ref(!0),d=e.ref(null),B=e.ref(null),w=e.ref(0),C=e.useModel(t,"filterParams"),N=e.useModel(t,"perPage"),$=e.ref([]),R=e.ref(!1),x=e.computed(()=>t.tableHeight!=null),M=e.computed(()=>m.value.filter(a=>a.visible).length);e.watch(()=>$.value.length,a=>{R.value=t.selectable&&a>0},{immediate:!0}),e.watch(()=>t.fields,a=>{m.value=i(a)},{immediate:!0,deep:!0}),e.watch(()=>C.value,a=>{L()},{deep:!0}),e.watch(()=>N.value,()=>{L()}),e.watch(()=>t.apiUrl,(a,n)=>{t.apiMode&&a!==n&&a&&L()});const T=g,q=(a,n)=>a.formatter&&typeof a.formatter=="function"?a.formatter(a,n):Q.data_get(n,String(a?.name),""),H=a=>"dsg-field--"+a.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),U=(a,n)=>{const r={odd:n%2===0,even:n%2!==0,"row-selected":a.selected};if(!t.rowClass)return r;let P={};if(typeof t.rowClass=="function"){const h=t.rowClass(a,n);typeof h=="string"?h.split(" ").forEach(E=>{E.trim()&&(P[E.trim()]=!0)}):Array.isArray(h)?h.forEach(E=>{typeof E=="string"&&E.trim()&&(P[E.trim()]=!0)}):typeof h=="object"&&h!==null&&(P=h)}else typeof t.rowClass=="string"&&t.rowClass.split(" ").forEach(h=>{h.trim()&&(P[h.trim()]=!0)});return{...r,...P}},O=a=>{if(t.selectable){if(a.selected)$.value.push(a);else{const n=$.value.findIndex(r=>r[t.trackBy]===a[t.trackBy]);n!==-1&&$.value.splice(n,1)}T("dsg-table:rows-selected",$.value)}},W=()=>{t.selectable&&(v.value?.forEach(a=>{a.selected=!0}),$.value=v.value?.filter(a=>a.selected)??[],T("dsg-table:rows-selected",$.value))},j=()=>{t.selectable&&(v.value?.forEach(a=>{a.selected=!1}),$.value=[],T("dsg-table:rows-selected",$.value))},z=a=>{v.value=Array.isArray(a)?a:[],t.selectable&&v.value.forEach(n=>{n.selected=n.selected??!1})},I=()=>v.value??[],K=a=>{a==="prev"?k.value>t.firstPage&&k.value--:a==="next"?k.value<(u.value?.last_page??0)&&k.value++:a!=k.value&&a>=t.firstPage&&a<=(u.value?.last_page??0)&&(k.value=a),L()},s=()=>({[t.queryParams?.sort]:d.value?(d.value?.direction==="desc"?"-":"")+d.value?.field:void 0,[t.queryParams?.order]:d.value?.direction,[t.queryParams?.page]:k.value,[t.queryParams?.perPage]:N.value}),o=()=>{B.value&&(B.value.abort(),B.value=null)},c=(a,n)=>{o(),w.value++;const r=w.value,P=new AbortController;return n.signal=P.signal,B.value=P,(t.httpMethod.toLowerCase()==="get"?D.axios.get(a,n):(()=>{const E=n.params;return delete n.params,D.axios.post(a,E,n)})()).then(E=>({...E,_requestId:r,_apiUrl:a}),E=>{throw E.name==="AbortError"||E.code==="ERR_CANCELED"?{...E,_requestId:r,_cancelled:!0}:{...E,_requestId:r}})},b=a=>{if(a._requestId&&a._requestId!==w.value||a._apiUrl&&a._apiUrl!==t.apiUrl)return;T("dsg-table:load-success",a);const n=t.transform?t.transform(a.data):a.data;v.value=Q.data_get(n,t.dataPath,null),t.selectable&&v.value?.forEach(r=>{r.selected=r.selected??!1}),u.value=Q.data_get(n,t.paginationPath,null)??null,f.value=v.value?.length?v.value[0].order:f,!ke.isEmpty(t.paginationPath)&&u.value===null&&console.warn('DsgTable: pagination-path "'+t.paginationPath+`" not found. It looks like the data returned from the server does not have pagination information or you may have set it incorrectly.
2
- You can explicitly suppress this warning by setting pagination-path="".`),B.value=null,T("dsg-table:pagination-data",u.value),u.value&&k.value>(u.value?.last_page||0)&&v.value?.length===0&&(k.value=t.initialPage,L()),T("dsg-table:loaded"),l.value=!1},y=a=>{a._requestId&&a._requestId!==w.value||a._apiUrl&&a._apiUrl!==t.apiUrl||a._cancelled||(console.error("load-error",a),B.value=null,T("dsg-table:load-error",a),T("dsg-table:loaded"),l.value=!1)},A=()=>{if(t.data!==null&&Array.isArray(t.data)){z(t.data),l.value=!1;return}if(t.dataManager&&typeof t.dataManager=="function"){const a=t.dataManager();z(a),l.value=!1}else z(t.data),l.value=!1},L=(a=b,n=y,r={})=>{const P=a||b,h=n||y;if(!t.apiMode){A();return}return l.value=!0,T("dsg-table:loading",l.value),t.httpOptions.params={...s(),...C.value},c(t.apiUrl,t.httpOptions).then(P).catch(E=>h(E))},ce=(a,n,r)=>{T("dsg-table:row-clicked",a,n,r)},ue=(a,n,r)=>{T("dsg-table:row-dblclick",a,n,r)},ge=(a,n,r)=>{},me=(a,n,r,P)=>{},fe=(a,n,r,P)=>{},ve=(a,n,r,P)=>{},be=(a,n,r)=>{};e.onMounted(()=>{t.apiMode===!0?L():A()});const G=()=>{t.apiMode&&($.value=[],o(),L())};return S({changePage:K,reload:G,getData:I,setData:z,setLoading:a=>{l.value=a,T("dsg-table:loading",l.value)}}),(a,n)=>(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",{ref:"dsgTableBodyWrapper",class:e.normalizeClass(["dsg-table-body-wrapper",{"fixed-header":x.value}]),style:e.normalizeStyle({height:t.tableHeight||void 0})},[e.createElementVNode("table",{class:e.normalizeClass(["dsg-table-main",x.value?"fixed-header":"",p.value.table,"table-"+t.tableLayout])},[e.createElementVNode("colgroup",{span:M.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,P)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r?.visible?(e.openBlock(),e.createElementBlock("col",{key:P,style:e.normalizeStyle({width:r.width||void 0}),class:e.normalizeClass("dsg-table--col-"+r.name+" "+r.titleClass)},null,6)):e.createCommentVNode("",!0)],64))),256)),!x.value&&V.value?(e.openBlock(),e.createElementBlock("col",{key:0,style:e.normalizeStyle({width:F.value}),class:"dsg-table--col-gutter"},null,4)):e.createCommentVNode("",!0)],8,We),e.createElementVNode("thead",{class:e.normalizeClass([[p.value.thead,{sticky:x.value,"top-0":x.value}],"dsg-table--head"])},[e.renderSlot(a.$slots,"tableHeader",{fields:m.value},()=>[e.createVNode(te,{fields:m.value,"has-select-all":t.selectable,"selected-rows":$.value,"onUpdate:selectedRows":n[0]||(n[0]=r=>$.value=r),"has-selected":R.value,"onUpdate:hasSelected":n[1]||(n[1]=r=>R.value=r),"scroll-visible":V.value,"show-expand-detail":t.hasDetailRow&&t.showExpandDetail,"table-data-length":v.value?.length,"sort-field":d.value,"onUpdate:sortField":n[2]||(n[2]=r=>d.value=r),"onDsgTable:sortField":n[3]||(n[3]=r=>G()),"onDsgTable:onSelectAll":W,"onDsgTable:onDeselectAll":j},null,8,["fields","has-select-all","selected-rows","has-selected","scroll-visible","show-expand-detail","table-data-length","sort-field"])])],2),e.createElementVNode("tbody",{class:e.normalizeClass(["dsg-table--body",p.value.tbody])},[l.value?(e.openBlock(),e.createElementBlock("tr",je,[e.createElementVNode("td",{colspan:M.value},[e.createElementVNode("div",{"aria-label":"Loading...",role:"status",class:"flex items-center space-x-3 h-12 w-full justify-center",colspan:M.value},[e.renderSlot(a.$slots,"dsg-table-loading",{},()=>[e.createVNode(D._sfc_main,{icon:"loading-02",class:"animate-spin"}),n[4]||(n[4]=e.createElementVNode("span",{class:"text-xs font-medium text-gray-500"},"Loading...",-1))])],8,Qe)],8,Ke)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(v.value,(r,P)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:P},[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table--tbody-row",U(r,P)]),onClick:h=>ce(h,P,r),onDblclick:h=>ue(h,P,r),onMouseover:h=>ge()},[t.selectable?(e.openBlock(),e.createElementBlock("td",Ge,[e.createVNode(D._sfc_main$2,{modelValue:r.selected,"onUpdate:modelValue":[h=>r.selected=h,h=>O(r)]},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(h,E)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E},[h.visible?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(["dsg-table--tbody-cell",h.dataClass]),style:e.normalizeStyle({width:h.width||void 0}),onClick:J=>me(),onDblclick:J=>fe(),onContextmenu:J=>ve()},[e.renderSlot(a.$slots,H(h),{rowData:r,rowIndex:P,rowField:h},()=>[e.createElementVNode("span",{innerHTML:q(h,r)},null,8,Xe)])],46,Je)):e.createCommentVNode("",!0)],64))),128))],42,Ye),t.hasDetailRow?(e.openBlock(),e.createBlock(e.Transition,{key:0,name:t.detailRowTransition},{default:e.withCtx(()=>[e.createElementVNode("tr",{class:"dsg-table--tbody-detail-row",onClick:h=>be()},[e.createElementVNode("td",{colspan:M.value},[e.renderSlot(a.$slots,"dsg-table-detail-row",{rowData:r,rowIndex:P,options:t.detailRowOptions})],8,_e)],8,Ze)]),_:2},1032,["name"])):e.createCommentVNode("",!0)],64))),128)),!l.value&&!v.value?.length&&t.noDataTemplate.length?(e.openBlock(),e.createElementBlock("tr",et,[e.createElementVNode("td",{colspan:M.value,class:"dsg-table--empty-result"},[e.renderSlot(a.$slots,"dsg-table-empty-result",{},()=>[e.createTextVNode(e.toDisplayString(t.noDataTemplate),1)])],8,tt)])):e.createCommentVNode("",!0)],2),e.createElementVNode("tfoot",at,[e.renderSlot(a.$slots,"dsg-table-footer",{fields:m.value,data:v.value})])],2)],6)]))}}),nt={class:"dsg-table"},ot={key:0,class:"dsg-table--pre-header"},st={class:"dsg-table--pre-header-left"},rt=["textContent"],it={class:"dsg-table--pre-header-right"},dt={key:1,class:"dsg-table--search-header",ref:"dsgTableSearchHeaderEl"},ct={class:"dsg-table--search-top"},ut={key:2,class:"dsg-table--footer",ref:"dsgTableFooterEl"},gt={class:"dsg-table--footer-left"},mt={class:"dsg-table--footer-center"},ft={class:"dsg-table--footer-right"},vt=e.defineComponent({__name:"DsgTable",props:{getUrl:{},fields:{},loadOnStart:{type:Boolean,default:!0},displaySearch:{type:Boolean,default:!0},displayPaginationInfo:{type:Boolean,default:!0},reloadOnChangeTimer:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},trackBy:{default:"id"},title:{default:""},filters:{default:()=>{}},initialFilters:{default:()=>({})},filterEntity:{default:""},filterEndpoint:{default:""},filterSearchEndpoint:{default:""},tableLayout:{default:"fixed"},autoSortFilters:{type:Boolean,default:!0},data:{default:null},hasHeader:{type:Boolean,default:!0},hasFooter:{type:Boolean,default:!0},perPage:{default:20},paginationPath:{default:"meta"},css:{default:()=>({tableWrapper:"border-b"})},rowClass:{type:[String,Function],default:void 0},apiMode:{type:Boolean,default:!0}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:action-archive","dsg-table:link-clicked","dsg-table:rows-selected","dsg-table:row-clicked","dsg-table:row-hover","dsg-table:row-dblclick","dsg-table:filter-updated","dsg-table:term-changed","dsg-table:data-loaded"],setup(t,{expose:S,emit:g}){const i=s=>{B.value=s},m=e.ref(t.apiMode&&!!(t.filterEntity||t.filterEndpoint||t.getUrl)),v=()=>{if(m.value){let s={};return D.getQueryStrings().forEach(o=>{if(o.key.startsWith("filter[")){const c=o.key.replace("filter[","").replace("]",""),b=o.value;s[`filter[${c}]`]=b.join(",")}}),s}else return{}},u=e.computed(()=>({...t.css,tableWrapper:"border-b "+(t.css?.tableWrapper||"")})),k=e.useSlots(),F=e.ref(!0),V=e.ref(null),p=e.ref("<p>Showing {from} to {to} of {total}</p>"),f=e.ref(null),l=e.useTemplateRef("dsgTable"),d=e.ref({perPage:t.perPage,change:i}),B=e.ref(t.perPage),w=e.ref({...v(),...t.initialFilters}),C=g,N=s=>{l.value?.changePage(s)},$=s=>{f.value=s},R=({data:s})=>{V.value=s,C("dsg-table:data-loaded",s)},x=()=>{l.value?.reload()},M=s=>{l.value?.setLoading(s)},T=s=>{const o=l.value?.getData?.()??[];l.value?.setData(o.map(c=>c.id===s.id?s:c))},q=s=>{const o=l.value?.getData?.()??[];l.value?.setData([...o,s])},H=s=>{const o=l.value?.getData?.()??[];l.value?.setData(o.filter(c=>c.id!==s.id))},U=s=>{l.value?.setData(s)},O=()=>l.value?.getData()??[],W=s=>{const o=l.value?.getData()??[],c=s(o);c&&l.value?.setData(c)},j=s=>{w.value=s},z=()=>w.value??{},I=s=>{const o={...w.value};!s||s.trim()===""?delete o["filter[term]"]:o["filter[term]"]=s,w.value=o,e.nextTick(()=>{x()}),C("dsg-table:term-changed",s)},K=(s,o,c)=>{let b={};w.value["filter[term]"]&&(b["filter[term]"]=w.value["filter[term]"]),Object.keys(s).forEach(y=>{s[y]!==null&&s[y]!==void 0&&s[y]!==""&&(b[y]=s[y])}),w.value=b,e.nextTick(()=>{x()}),C("dsg-table:filter-updated",w.value,o,c)};return S({reloadTable:x,updateRowTable:T,addRowTable:q,deleteRowTable:H,setData:U,getData:O,mutateData:W,termChanged:I,setFilters:j,getFilters:z,setLoading:M}),(s,o)=>(e.openBlock(),e.createElementBlock("div",nt,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",ot,[e.renderSlot(s.$slots,"dsg-table--pre-header",{},()=>[e.createElementVNode("div",st,[e.renderSlot(s.$slots,"dsg-table--page-title",{data:V.value,title:t.title},()=>[t.title.length>0?(e.openBlock(),e.createElementBlock("h1",{key:0,class:"dsg-table--title",textContent:e.toDisplayString(t.title)},null,8,rt)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",it,[e.renderSlot(s.$slots,"dsg-table--page-actions",{data:V.value})])])])):e.createCommentVNode("",!0),t.displaySearch?(e.openBlock(),e.createElementBlock("div",dt,[e.createElementVNode("div",ct,[e.renderSlot(s.$slots,"dsg-table--search-header",{data:V.value},()=>[e.createVNode(ee,{name:"term","onDsgTable:termChanged":o[0]||(o[0]=c=>I(c))}),e.createVNode(D._sfc_main$7,{entity:t.filterEntity,"filter-endpoint":t.filterEndpoint,"search-endpoint":t.filterSearchEndpoint,"auto-sort":t.autoSortFilters,filters:t.filters,"onDsgTable:filterUpdated":o[1]||(o[1]=(c,b,y)=>K(c,b,y))},null,8,["entity","filter-endpoint","search-endpoint","auto-sort","filters"]),e.renderSlot(s.$slots,"dsg-table--search-actions",{data:V.value})])]),e.renderSlot(s.$slots,"dsg-table--search-navigation")],512)):e.createCommentVNode("",!0),e.createVNode(lt,{ref:"dsgTable","api-url":t.getUrl,"filter-params":w.value,"onUpdate:filterParams":o[7]||(o[7]=c=>w.value=c),"per-page":B.value,"onUpdate:perPage":o[8]||(o[8]=c=>B.value=c),fields:t.fields,"load-on-start":t.loadOnStart,"pagination-path":t.paginationPath,selectable:t.selectable,"track-by":t.trackBy,"table-layout":t.tableLayout,css:u.value,data:t.data,"row-class":t.rowClass,"api-mode":m.value,"onDsgTable:loading":o[9]||(o[9]=c=>F.value=!0),"onDsgTable:loaded":o[10]||(o[10]=c=>F.value=!1),"onDsgTable:paginationData":$,"onDsgTable:loadSuccess":R,"onDsgTable:rowsSelected":o[11]||(o[11]=c=>C("dsg-table:rows-selected",c)),"onDsgTable:rowClicked":o[12]||(o[12]=(c,b,y)=>C("dsg-table:row-clicked",c,b,y)),"onDsgTable:rowHover":o[13]||(o[13]=(c,b,y)=>C("dsg-table:row-hover",c,b,y)),"onDsgTable:rowDblclick":o[14]||(o[14]=(c,b,y)=>C("dsg-table:row-dblclick",c,b,y))},e.createSlots({"dsg-field--actions":e.withCtx(c=>[e.renderSlot(s.$slots,"dsg-table-actions",{data:c},()=>[(e.openBlock(),e.createBlock(_,{key:c.rowIndex,data:c,"onDsgTable:actionEdit":o[2]||(o[2]=(b,y)=>C("dsg-table:action-edit",b,y)),"onDsgTable:actionView":o[3]||(o[3]=(b,y)=>C("dsg-table:action-view",b,y)),"onDsgTable:actionDelete":o[4]||(o[4]=(b,y)=>C("dsg-table:action-delete",b,y)),"onDsgTable:actionArchive":o[5]||(o[5]=(b,y)=>C("dsg-table:action-archive",b,y)),"onDsgTable:linkClicked":o[6]||(o[6]=(b,y,A)=>C("dsg-table:link-clicked",b,y,A))},null,8,["data"]))])]),_:2},[e.renderList(e.unref(k),(c,b)=>({name:b,fn:e.withCtx(y=>[String(b)!=="dsg-field--actions"?e.renderSlot(s.$slots,b,e.normalizeProps(e.mergeProps({key:0},y))):e.createCommentVNode("",!0)])}))]),1032,["api-url","filter-params","per-page","fields","load-on-start","pagination-path","selectable","track-by","table-layout","css","data","row-class","api-mode"]),t.hasFooter?(e.openBlock(),e.createElementBlock("div",ut,[e.createElementVNode("div",gt,[e.renderSlot(s.$slots,"dsg-table--footer-left",{data:f.value,perPage:d.value},()=>[t.displayPaginationInfo?(e.openBlock(),e.createBlock(Z,{key:0,ref:"paginationInfoStart",pagination:f.value,"onUpdate:pagination":o[15]||(o[15]=c=>f.value=c),"info-template":p.value},null,8,["pagination","info-template"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"dsg-table--footer-left-extras",{data:f.value,perPage:d.value})])]),e.createElementVNode("div",mt,[e.renderSlot(s.$slots,"dsg-table--footer-center",{data:f.value,perPage:d.value},()=>[e.renderSlot(s.$slots,"dsg-table--footer-center-extras",{data:f.value,perPage:d.value})])]),e.createElementVNode("div",ft,[e.renderSlot(s.$slots,"dsg-table--footer-right",{data:f.value,perPage:d.value},()=>[F.value===!1&&t.displayPaginationInfo?(e.openBlock(),e.createBlock(X,{key:0,ref:"pagination",pagination:f.value,"onUpdate:pagination":o[16]||(o[16]=c=>f.value=c),"onDsgTable:changePage":N},null,8,["pagination"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"dsg-table--footer-right-extras",{data:f.value,perPage:d.value})])])],512)):e.createCommentVNode("",!0)]))}}),bt={class:"dsg-table--per-page"},kt=["value","textContent"],ht=e.defineComponent({__name:"DsgTablePerPage",props:{perPageOptions:{default:()=>[10,20,30,50,100]},perPage:{}},setup(t){return(S,g)=>(e.openBlock(),e.createElementBlock("div",bt,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":g[0]||(g[0]=i=>t.perPage.perPage=i),class:"dsg-table--per-page-select",onChange:g[1]||(g[1]=i=>t.perPage.change(t.perPage.perPage))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,i=>(e.openBlock(),e.createElementBlock("option",{key:i,value:i,textContent:e.toDisplayString(i)},null,8,kt))),128))],544),[[e.vModelSelect,t.perPage.perPage]])]))}}),ae=vt,le=_,ne=ht,oe=D._sfc_main$7,se=X,re=Z,ie=ee,de=te,yt={DsgTable:ae,DsgTableActions:le,DsgTablePerPage:ne,DsgTableFilter:oe,DsgTablePagination:se,DsgTablePaginationInfo:re,DsgTableSearch:ie,DsgTableRowHeader:de};exports.DsgTable=ae;exports.DsgTableActions=le;exports.DsgTableFilter=oe;exports.DsgTablePagination=se;exports.DsgTablePaginationInfo=re;exports.DsgTablePerPage=ne;exports.DsgTableRowHeader=de;exports.DsgTableSearch=ie;exports.default=yt;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),S=require("./DsgTablePerPage.vue_vue_type_style_index_0_lang-VdqoCHmU.cjs"),G=require("./dsg-vue.helpers-string.cjs"),Y=require("./dsg-vue.helpers-object.cjs"),ye=require("./dsg-vue.helpers.cjs"),pe={class:"dsg-table--pagination"},we=["disabled"],Be=["disabled"],Ce=["onClick","innerHTML"],Pe=["onClick","innerHTML"],Se=["disabled"],De=["disabled"],_=e.defineComponent({__name:"DsgTablePagination",props:e.mergeModels({onEachSide:{default:3},firstPage:{default:1},showFirstLast:{type:Boolean,default:!0},firstIcon:{default:"chevron-left-double"},lastIcon:{default:"chevron-right-double"},prevIcon:{default:"chevron-left"},nextIcon:{default:"chevron-right"}},{pagination:{default:null},paginationModifiers:{}}),emits:e.mergeModels(["dsg-table:change-page"],["update:pagination"]),setup(t,{expose:E,emit:g}){const i=e.useModel(t,"pagination"),B=e.computed(()=>i.value===null?0:i.value?.last_page-t.firstPage+1),$=e.computed(()=>i.value===null?0:i.value?.last_page),c=e.computed(()=>i.value===null?!1:i.value?.current_page===t.firstPage),f=e.computed(()=>i.value===null?!1:i.value?.current_page===$.value),V=e.computed(()=>B.value<t.onEachSide*2+4),D=e.computed(()=>t.onEachSide*2+1),C=e.computed(()=>!i.value||i.value?.current_page<=t.onEachSide?1:i.value?.current_page>=B.value-t.onEachSide?B.value-t.onEachSide*2:i.value?.current_page-t.onEachSide),v=g,n=h=>{v("dsg-table:change-page",h)},u=h=>h===i.value?.current_page;return E({loadPage:n}),(h,b)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",pe,[t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:b[0]||(b[0]=p=>n(t.firstPage)),class:e.normalizeClass([[c.value?"disabled":""],"dsg-table--pagination-link"]),disabled:c.value,title:"First","aria-label":"First"},[e.createVNode(S._sfc_main,{icon:t.firstIcon,size:"sm"},null,8,["icon"])],10,we)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:b[1]||(b[1]=p=>n("prev")),class:e.normalizeClass([[c.value?"disabled":""],"dsg-table--pagination-link"]),disabled:c.value,title:"Previous","aria-label":"Previous"},[e.createVNode(S._sfc_main,{icon:t.prevIcon,size:"sm"},null,8,["icon"])],10,Be),V.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(B.value,(p,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:z=>n(N+t.firstPage),class:e.normalizeClass([[u(N+t.firstPage)?"active":""],"dsg-table--pagination-link"]),innerHTML:p},null,10,Ce))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(D.value,(p,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:z=>n(C.value+N+t.firstPage-1),class:e.normalizeClass([[u(C.value+N+t.firstPage-1)?"active":""],"dsg-table--pagination-link"]),innerHTML:C.value+p-1},null,10,Pe))),128)),e.createElementVNode("a",{onClick:b[2]||(b[2]=p=>n("next")),class:e.normalizeClass([[f.value?"disabled":""],"dsg-table--pagination-link"]),disabled:f.value,title:"Next","aria-label":"Next"},[e.createVNode(S._sfc_main,{icon:t.nextIcon,size:"sm"},null,8,["icon"])],10,Se),t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:b[3]||(b[3]=p=>n($.value)),class:e.normalizeClass([[f.value?"disabled":""],"dsg-table--pagination-link"]),disabled:f.value,title:"Last","aria-label":"Last"},[e.createVNode(S._sfc_main,{icon:t.lastIcon,size:"sm"},null,8,["icon"])],10,De)):e.createCommentVNode("",!0)],512)),[[e.vShow,i.value&&$.value>t.firstPage]])}}),Ee=["innerHTML"],ee=e.defineComponent({__name:"DsgTablePaginationInfo",props:e.mergeModels({infoTemplate:{default:"Displaying {from} to {to} of {total} items"},noDataTemplate:{default:"No relevant data"}},{pagination:{default:null},paginationModifiers:{}}),emits:["update:pagination"],setup(t){const E=e.useModel(t,"pagination"),g=e.computed(()=>E.value==null||E.value.total==0?t.noDataTemplate:t.infoTemplate.replace("{from}",(E.value?.from||0).toString()).replace("{to}",(E.value?.to||0).toString()).replace("{total}",(E.value?.total||0).toString()));return(i,B)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table--pagination-info",innerHTML:g.value},null,8,Ee))}}),$e={class:"dsg-table--actions",ref:"dsgTableActions"},Ve={class:"dsg-table--action-trigger"},Te={key:0,class:"dsg-table--actions-menu-wrapper"},Ne=["href","target","onClick"],Fe=["textContent"],xe={key:0},Me={key:1},Le=["href","target","onClick"],ze={class:"flex-1"},te=e.defineComponent({__name:"DsgTableActions",props:{placement:{default:"auto"}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:action-archive","dsg-table:link-clicked"],setup(t,{emit:E}){const g=e.ref(!1);e.useTemplateRef("dsgTableActions");const i=e.useAttrs(),B=e.ref(i.data.rowData?.actions??null),$=e.ref(i.data.rowData?.links??null),c=e.ref(i.data.rowData??null),f=v=>{switch(v){case"edit":return"edit-05";case"view":return"eye";case"delete":return"trash-01";case"archive":return"eye-off";default:return"dots-horizontal"}},V=(v,n,u)=>{switch(n){case"edit":C("dsg-table:action-edit",u,c.value);break;case"view":C("dsg-table:action-view",u,c.value);break;case"delete":C("dsg-table:action-delete",u,c.value);break;case"archive":C("dsg-table:action-archive",u,c.value);break}},D=(v,n)=>{const u=v.actionId||v.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");C("dsg-table:link-clicked",n,u,c.value)},C=E;return(v,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(e.unref(S.kt),{triggers:[],placement:t.placement,"handle-resize":!0,strategy:"absolute",shown:g.value,class:"dsg-table--actions__popper",onHide:n[1]||(n[1]=u=>g.value=!1),ref:"floatingVueFilterDropdown"},{popper:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(u,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete","archive"].includes(String(h))?(e.openBlock(),e.createElementBlock("a",{key:h,href:B.value?.link,target:B.value?.target||"_self",onClick:b=>V(u,String(h),b)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table--actions-menu-item",String(h)])},[e.createVNode(S._sfc_main,{icon:f(String(h)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"flex-1",textContent:e.toDisplayString(e.unref(G.ucfirst)(String(h)))},null,8,Fe)],2)],8,Ne)):e.createCommentVNode("",!0)],64))),256)),B.value&&$.value?(e.openBlock(),e.createElementBlock("hr",xe)):e.createCommentVNode("",!0),$.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList($.value,u=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u.label},[u.hasOwnProperty("component")?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.component),{key:0,quote:e.unref(i).data.data.rowData,"row-data":e.unref(i).data.data.rowData},null,8,["quote","row-data"])):u.hasOwnProperty("type")&&u.type=="break"?(e.openBlock(),e.createElementBlock("hr",Me)):(e.openBlock(),e.createElementBlock("a",{key:2,href:u.link,target:u.target||"_self",class:e.normalizeClass(["dsg-table--actions-menu-item",u.class]),onClick:h=>D(u,h)},[u.icon?(e.openBlock(),e.createBlock(S._sfc_main,{key:0,icon:u.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",ze,e.toDisplayString(u.label),1)],10,Le))],64))),128)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",Ve,[e.createElementVNode("button",{type:"button",class:"dsg-table--actions-button","aria-expanded":"false","aria-haspopup":"true",onClick:n[0]||(n[0]=u=>g.value=!g.value)},[e.renderSlot(v.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(S._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(S.vOnClickOutside),()=>g.value=!1]])}}),Re={class:"dsg-table--search"},ae=e.defineComponent({__name:"DsgTableSearch",props:{name:{},id:{},placeholder:{default:"Search"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1},extraClasses:{},eventName:{},replaceState:{type:Boolean,default:!0}},emits:["dsg-table:term-changed"],setup(t,{emit:E}){const g=e.ref("");e.onMounted(()=>{const c=new URL(window.location.href).searchParams.get("term");c&&(g.value=c,i("dsg-table:term-changed",c))});const i=E,B=S.useDebounceFn($=>{if(g.value=$,t.replaceState){const c=new URL(window.location.href);g.value?c.searchParams.set("term",g.value):c.searchParams.delete("term"),window.history.pushState({},"",c.toString())}i("dsg-table:term-changed",g.value)},300);return($,c)=>(e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(S._sfc_main$4,{modelValue:g.value,"onUpdate:modelValue":c[0]||(c[0]=f=>g.value=f),name:t.name,id:t.id||t.name,placeholder:t.placeholder,disabled:t.disabled,required:t.required,readonly:t.readonly,hidden:t.hidden,"has-clear-button":!0,autocomplete:"off",size:"sm",icon:"search-sm","icon-clickable":!0,onIconClicked:c[1]||(c[1]=f=>e.unref(B)(f)),onEnterPressed:c[2]||(c[2]=f=>e.unref(B)(f)),onOnClear:c[3]||(c[3]=()=>e.unref(B)(""))},null,8,["modelValue","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),Ue={class:"dsg-table--header-row"},Ie={key:0,class:"dsg-table--th dsg-table--th-checkbox",scope:"col"},qe={key:1,class:"dsg-table--th dsg-table--th-expand-detail",scope:"col"},Ae=["title","id","onClick"],He={key:0,class:"dsg-table--th-sort-icon"},Oe=["innerHTML"],We=["innerHTML"],le=e.defineComponent({__name:"DsgTableRowHeader",props:e.mergeModels({fields:{},scrollVisible:{type:Boolean},hasSelectAll:{type:Boolean,default:!1},showExpandDetail:{type:Boolean,default:!0},tableDataLength:{default:0}},{sortField:{default:null},sortFieldModifiers:{},selectedRows:{default:[]},selectedRowsModifiers:{},hasSelected:{type:Boolean,default:!1},hasSelectedModifiers:{}}),emits:e.mergeModels(["dsg-table:sort-field","dsg-table:on-select-all","dsg-table:on-deselect-all"],["update:sortField","update:selectedRows","update:hasSelected"]),setup(t,{emit:E}){const g=e.useModel(t,"sortField"),i=e.useModel(t,"selectedRows"),B=e.useModel(t,"hasSelected"),$=e.ref("17px"),c=C=>{B.value&&i.value.length>0&&i.value.length!==t.tableDataLength?(B.value=!0,f("dsg-table:on-select-all")):!B.value&&i.value.length===0?(B.value=!1,f("dsg-table:on-select-all")):f("dsg-table:on-deselect-all")},f=E,V=(C,v)=>[C,C+"-"+G.toSnakeCase(String(v?.name)),v.titleClass||"",{sortable:v.sortable},{"sort-active":g.value?.name===v.name}],D=C=>{C.sortable&&(g.value={name:String(C?.name),field:String(C?.sortField),direction:g.value?.name===C.name&&g.value?.direction==="asc"?"desc":"asc"},f("dsg-table:sort-field",C))};return(C,v)=>(e.openBlock(),e.createElementBlock("tr",Ue,[t.hasSelectAll?(e.openBlock(),e.createElementBlock("th",Ie,[e.createVNode(S._sfc_main$2,{modelValue:B.value,"onUpdate:modelValue":[v[0]||(v[0]=n=>B.value=n),c],indeterminate:i.value.length>0&&i.value.length!==t.tableDataLength},null,8,["modelValue","indeterminate"])])):e.createCommentVNode("",!0),t.showExpandDetail?(e.openBlock(),e.createElementBlock("th",qe)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,(n,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n?.visible?(e.openBlock(),e.createElementBlock("th",{key:u,class:e.normalizeClass(V("dsg-table--th",n)),style:e.normalizeStyle([{width:n.width||void 0},n.style]),title:n.title+(n.sortable?" Sort":""),id:"_"+n.name,onClick:h=>D(n),scope:"col"},[n.sortable?(e.openBlock(),e.createElementBlock("div",He,[n.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table--th-title",innerHTML:n.title},null,8,Oe)):e.createCommentVNode("",!0),n.sortable&&g.value?.name!==n.name?(e.openBlock(),e.createBlock(S._sfc_main,{key:1,icon:"chevron-selector-vertical",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0),n.sortable&&g.value?.name===n.name&&g.value?.direction==="asc"?(e.openBlock(),e.createBlock(S._sfc_main,{key:2,icon:"chevron-down",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0),n.sortable&&g.value?.name===n.name&&g.value?.direction==="desc"?(e.openBlock(),e.createBlock(S._sfc_main,{key:3,icon:"chevron-up",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("span",{key:1,class:"dsg-table--th-title",innerHTML:e.unref(G.ucwords)(String(n?.title))},null,8,We))],14,Ae)):e.createCommentVNode("",!0)],64))),256)),t.scrollVisible?(e.openBlock(),e.createElementBlock("th",{key:2,style:e.normalizeStyle({width:$.value}),class:"dsg-table--th-col-gutter"},null,4)):e.createCommentVNode("",!0)]))}}),je={class:"dsg-table--wrapper"},Qe=["span"],Ke={key:0,class:"dsg-table--loading"},Ye=["colspan"],Ge=["colspan"],Je=["onClick","onDblclick","onMouseover"],Xe={key:0,class:"dsg-table--tbody-cell dsg-table--tbody-cell-checkbox"},Ze=["onClick","onDblclick","onContextmenu"],_e=["innerHTML"],et=["onClick"],tt=["colspan"],at={key:2},lt=["colspan"],nt={class:"dsg-table--footer"},ot=e.defineComponent({__name:"DsgTableComponent",props:e.mergeModels({fields:{default:()=>[]},isDraggable:{type:Boolean,default:!1},dragApi:{default:""},loadOnStart:{type:Boolean,default:!0},apiUrl:{default:""},httpMethod:{default:"get"},reactiveApiUrl:{type:Boolean,default:!0},apiMode:{type:Boolean,default:!0},data:{default:null},dataManager:{type:[Function,null],default:null},dataPath:{default:"data"},tableLayout:{default:"fixed"},paginationPath:{default:"links.pagination"},queryParams:{default:()=>({sort:"sort",order:"order",page:"page",perPage:"per_page"})},httpOptions:{default:()=>({})},hasDetailRow:{type:Boolean,default:!1},showExpandDetail:{type:Boolean,default:!0},initialPage:{default:1},firstPage:{default:1},sortOrder:{default:()=>[]},multiSort:{type:Boolean},tableHeight:{default:null},multiSortKey:{},rowClass:{type:[String,Function],default:""},detailRowComponent:{},detailRowTransition:{default:"fade"},detailRowClass:{type:[String,Function]},detailRowOptions:{default:()=>({})},trackBy:{default:"id"},css:{default:()=>({tableWrapper:"dsg-table-wrapper",thead:"dsg-table-thead",tbody:"dsg-table-tbody",table:"dsg-table-component"})},minRows:{default:0},noDataTemplate:{default:"No Data Available"},showSortIcons:{type:Boolean},headerRows:{},transform:{type:[Function,null],default:null},sortParams:{type:[Function,null],default:null},fieldPrefix:{},eventPrefix:{},selectable:{type:Boolean,default:!1},replaceState:{type:Boolean,default:!0},replaceStrategy:{default:"window"}},{filterParams:{default:{}},filterParamsModifiers:{},perPage:{default:20},perPageModifiers:{}}),emits:e.mergeModels(["dsg-table:loading","dsg-table:loaded","dsg-table:load-success","dsg-table:load-error","dsg-table:pagination-data","dsg-table:rows-selected","dsg-table:row-clicked","dsg-table:row-hover","dsg-table:row-dblclick"],["update:filterParams","update:perPage"]),setup(t,{expose:E,emit:g}){const i=a=>a.map((l,r)=>({field:l.field||"",title:l.title||"",name:l.name||"",titleClass:l.titleClass||"",dataClass:l.dataClass||"",visible:l.visible??!0,width:l.width||void 0,sortField:l.sortField||null,sortable:l.sortField,formatter:l.formatter||null,$_index:r})),B=()=>{if(!t.apiMode)return null;const l=S.getQueryStrings().find(r=>r.key===t.queryParams.sort);if(l&&l.value.length>0){const r=l.value[0],y=r.startsWith("-"),m=y?r.substring(1):r,P=t.fields.find(U=>U.sortField===m||U.name===m||U.field===m);return P?{name:String(P.name||P.field),field:m,direction:y?"desc":"asc"}:{name:m,field:m,direction:y?"desc":"asc"}}return null},$=()=>{if(!(!t.apiMode||!t.replaceState)&&t.replaceStrategy==="window"){const a=new URL(window.location.href),l=new URLSearchParams(a.search);if(l.delete(t.queryParams.sort),b.value){const y=(b.value.direction==="desc"?"-":"")+b.value.field;l.set(t.queryParams.sort,y)}const r=`${a.pathname}${l.toString()?"?"+l.toString():""}`;window.history.pushState({},"",r)}},c=e.ref(i(t.fields)),f=e.ref(t.data),V=e.ref(null),D=e.ref(t.initialPage),C=e.ref("17px"),v=e.ref(!1),n=e.ref({}),u=e.ref(0),h=e.ref(!0),b=e.ref(B()),p=e.ref(null),N=e.ref(0),z=e.useModel(t,"filterParams"),q=e.useModel(t,"perPage"),T=e.ref([]),I=e.ref(!1),x=e.computed(()=>t.tableHeight!=null),M=e.computed(()=>c.value.filter(a=>a.visible).length);e.watch(()=>T.value.length,a=>{I.value=t.selectable&&a>0},{immediate:!0}),e.watch(()=>t.fields,a=>{c.value=i(a)},{immediate:!0,deep:!0}),e.watch(()=>z.value,a=>{L()},{deep:!0}),e.watch(()=>q.value,()=>{L()}),e.watch(()=>t.apiUrl,(a,l)=>{t.apiMode&&a!==l&&a&&L()}),e.watch(()=>b.value,()=>{$()},{deep:!0});const F=g,O=(a,l)=>a.formatter&&typeof a.formatter=="function"?a.formatter(a,l):Y.data_get(l,String(a?.name),""),W=a=>"dsg-field--"+a.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),j=(a,l)=>{const r={odd:l%2===0,even:l%2!==0,"row-selected":a.selected};if(!t.rowClass)return r;let y={};if(typeof t.rowClass=="function"){const m=t.rowClass(a,l);typeof m=="string"?m.split(" ").forEach(P=>{P.trim()&&(y[P.trim()]=!0)}):Array.isArray(m)?m.forEach(P=>{typeof P=="string"&&P.trim()&&(y[P.trim()]=!0)}):typeof m=="object"&&m!==null&&(y=m)}else typeof t.rowClass=="string"&&t.rowClass.split(" ").forEach(m=>{m.trim()&&(y[m.trim()]=!0)});return{...r,...y}},Q=a=>{if(t.selectable){if(a.selected)T.value.push(a);else{const l=T.value.findIndex(r=>r[t.trackBy]===a[t.trackBy]);l!==-1&&T.value.splice(l,1)}F("dsg-table:rows-selected",T.value)}},K=()=>{t.selectable&&(f.value?.forEach(a=>{a.selected=!0}),T.value=f.value?.filter(a=>a.selected)??[],F("dsg-table:rows-selected",T.value))},A=()=>{t.selectable&&(f.value?.forEach(a=>{a.selected=!1}),T.value=[],F("dsg-table:rows-selected",T.value))},R=a=>{f.value=Array.isArray(a)?a:[],t.selectable&&f.value.forEach(l=>{l.selected=l.selected??!1})},o=()=>f.value??[],s=a=>{a==="prev"?D.value>t.firstPage&&D.value--:a==="next"?D.value<(V.value?.last_page??0)&&D.value++:a!=D.value&&a>=t.firstPage&&a<=(V.value?.last_page??0)&&(D.value=a),L()},d=()=>({[t.queryParams?.sort]:b.value?(b.value?.direction==="desc"?"-":"")+b.value?.field:void 0,[t.queryParams?.order]:b.value?.direction,[t.queryParams?.page]:D.value,[t.queryParams?.perPage]:q.value}),k=()=>{p.value&&(p.value.abort(),p.value=null)},w=(a,l)=>{k(),N.value++;const r=N.value,y=new AbortController;return l.signal=y.signal,p.value=y,(t.httpMethod.toLowerCase()==="get"?S.axios.get(a,l):(()=>{const P=l.params;return delete l.params,S.axios.post(a,P,l)})()).then(P=>({...P,_requestId:r,_apiUrl:a}),P=>{throw P.name==="AbortError"||P.code==="ERR_CANCELED"?{...P,_requestId:r,_cancelled:!0}:{...P,_requestId:r}})},H=a=>{if(a._requestId&&a._requestId!==N.value||a._apiUrl&&a._apiUrl!==t.apiUrl)return;F("dsg-table:load-success",a);const l=t.transform?t.transform(a.data):a.data;f.value=Y.data_get(l,t.dataPath,null),t.selectable&&f.value?.forEach(r=>{r.selected=r.selected??!1}),V.value=Y.data_get(l,t.paginationPath,null)??null,u.value=f.value?.length?f.value[0].order:u,!ye.isEmpty(t.paginationPath)&&V.value===null&&console.warn('DsgTable: pagination-path "'+t.paginationPath+`" not found. It looks like the data returned from the server does not have pagination information or you may have set it incorrectly.
2
+ You can explicitly suppress this warning by setting pagination-path="".`),p.value=null,F("dsg-table:pagination-data",V.value),V.value&&D.value>(V.value?.last_page||0)&&f.value?.length===0&&(D.value=t.initialPage,L()),F("dsg-table:loaded"),h.value=!1},J=a=>{a._requestId&&a._requestId!==N.value||a._apiUrl&&a._apiUrl!==t.apiUrl||a._cancelled||(console.error("load-error",a),p.value=null,F("dsg-table:load-error",a),F("dsg-table:loaded"),h.value=!1)},X=()=>{if(t.data!==null&&Array.isArray(t.data)){R(t.data),h.value=!1;return}if(t.dataManager&&typeof t.dataManager=="function"){const a=t.dataManager();R(a),h.value=!1}else R(t.data),h.value=!1},L=(a=H,l=J,r={})=>{const y=a||H,m=l||J;if(!t.apiMode){X();return}return h.value=!0,F("dsg-table:loading",h.value),t.httpOptions.params={...d(),...z.value},w(t.apiUrl,t.httpOptions).then(y).catch(P=>m(P))},ge=(a,l,r)=>{F("dsg-table:row-clicked",a,l,r)},me=(a,l,r)=>{F("dsg-table:row-dblclick",a,l,r)},fe=(a,l,r)=>{},ve=(a,l,r,y)=>{},be=(a,l,r,y)=>{},he=(a,l,r,y)=>{},ke=(a,l,r)=>{};e.onMounted(()=>{t.apiMode===!0?L():X()});const Z=()=>{t.apiMode&&(T.value=[],k(),L())};return E({changePage:s,reload:Z,getData:o,setData:R,setLoading:a=>{h.value=a,F("dsg-table:loading",h.value)}}),(a,l)=>(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",{ref:"dsgTableBodyWrapper",class:e.normalizeClass(["dsg-table-body-wrapper",{"fixed-header":x.value}]),style:e.normalizeStyle({height:t.tableHeight||void 0})},[e.createElementVNode("table",{class:e.normalizeClass(["dsg-table-main",x.value?"fixed-header":"",n.value.table,"table-"+t.tableLayout])},[e.createElementVNode("colgroup",{span:M.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(r,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r?.visible?(e.openBlock(),e.createElementBlock("col",{key:y,style:e.normalizeStyle({width:r.width||void 0}),class:e.normalizeClass("dsg-table--col-"+r.name+" "+r.titleClass)},null,6)):e.createCommentVNode("",!0)],64))),256)),!x.value&&v.value?(e.openBlock(),e.createElementBlock("col",{key:0,style:e.normalizeStyle({width:C.value}),class:"dsg-table--col-gutter"},null,4)):e.createCommentVNode("",!0)],8,Qe),e.createElementVNode("thead",{class:e.normalizeClass([[n.value.thead,{sticky:x.value,"top-0":x.value}],"dsg-table--head"])},[e.renderSlot(a.$slots,"tableHeader",{fields:c.value},()=>[e.createVNode(le,{fields:c.value,"has-select-all":t.selectable,"selected-rows":T.value,"onUpdate:selectedRows":l[0]||(l[0]=r=>T.value=r),"has-selected":I.value,"onUpdate:hasSelected":l[1]||(l[1]=r=>I.value=r),"scroll-visible":v.value,"show-expand-detail":t.hasDetailRow&&t.showExpandDetail,"table-data-length":f.value?.length,"sort-field":b.value,"onUpdate:sortField":l[2]||(l[2]=r=>b.value=r),"onDsgTable:sortField":l[3]||(l[3]=r=>Z()),"onDsgTable:onSelectAll":K,"onDsgTable:onDeselectAll":A},null,8,["fields","has-select-all","selected-rows","has-selected","scroll-visible","show-expand-detail","table-data-length","sort-field"])])],2),e.createElementVNode("tbody",{class:e.normalizeClass(["dsg-table--body",n.value.tbody])},[h.value?(e.openBlock(),e.createElementBlock("tr",Ke,[e.createElementVNode("td",{colspan:M.value},[e.createElementVNode("div",{"aria-label":"Loading...",role:"status",class:"flex items-center space-x-3 h-12 w-full justify-center",colspan:M.value},[e.renderSlot(a.$slots,"dsg-table-loading",{},()=>[e.createVNode(S._sfc_main,{icon:"loading-02",class:"animate-spin"}),l[4]||(l[4]=e.createElementVNode("span",{class:"text-xs font-medium text-gray-500"},"Loading...",-1))])],8,Ge)],8,Ye)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(r,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:y},[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table--tbody-row",j(r,y)]),onClick:m=>ge(m,y,r),onDblclick:m=>me(m,y,r),onMouseover:m=>fe()},[t.selectable?(e.openBlock(),e.createElementBlock("td",Xe,[e.createVNode(S._sfc_main$2,{modelValue:r.selected,"onUpdate:modelValue":[m=>r.selected=m,m=>Q(r)]},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(m,P)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:P},[m.visible?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(["dsg-table--tbody-cell",m.dataClass]),style:e.normalizeStyle({width:m.width||void 0}),onClick:U=>ve(),onDblclick:U=>be(),onContextmenu:U=>he()},[e.renderSlot(a.$slots,W(m),{rowData:r,rowIndex:y,rowField:m},()=>[e.createElementVNode("span",{innerHTML:O(m,r)},null,8,_e)])],46,Ze)):e.createCommentVNode("",!0)],64))),128))],42,Je),t.hasDetailRow?(e.openBlock(),e.createBlock(e.Transition,{key:0,name:t.detailRowTransition},{default:e.withCtx(()=>[e.createElementVNode("tr",{class:"dsg-table--tbody-detail-row",onClick:m=>ke()},[e.createElementVNode("td",{colspan:M.value},[e.renderSlot(a.$slots,"dsg-table-detail-row",{rowData:r,rowIndex:y,options:t.detailRowOptions})],8,tt)],8,et)]),_:2},1032,["name"])):e.createCommentVNode("",!0)],64))),128)),!h.value&&!f.value?.length&&t.noDataTemplate.length?(e.openBlock(),e.createElementBlock("tr",at,[e.createElementVNode("td",{colspan:M.value,class:"dsg-table--empty-result"},[e.renderSlot(a.$slots,"dsg-table-empty-result",{},()=>[e.createTextVNode(e.toDisplayString(t.noDataTemplate),1)])],8,lt)])):e.createCommentVNode("",!0)],2),e.createElementVNode("tfoot",nt,[e.renderSlot(a.$slots,"dsg-table-footer",{fields:c.value,data:f.value})])],2)],6)]))}}),st={class:"dsg-table"},rt={key:0,class:"dsg-table--pre-header"},it={class:"dsg-table--pre-header-left"},dt=["textContent"],ct={class:"dsg-table--pre-header-right"},ut={key:1,class:"dsg-table--search-header",ref:"dsgTableSearchHeaderEl"},gt={class:"dsg-table--search-top"},mt={key:2,class:"dsg-table--footer",ref:"dsgTableFooterEl"},ft={class:"dsg-table--footer-left"},vt={class:"dsg-table--footer-center"},bt={class:"dsg-table--footer-right"},ht=e.defineComponent({__name:"DsgTable",props:{getUrl:{},fields:{},loadOnStart:{type:Boolean,default:!0},displaySearch:{type:Boolean,default:!0},displayPaginationInfo:{type:Boolean,default:!0},reloadOnChangeTimer:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},trackBy:{default:"id"},title:{default:""},filters:{default:()=>{}},initialFilters:{default:()=>({})},filterEntity:{default:""},filterEndpoint:{default:""},filterSearchEndpoint:{default:""},tableLayout:{default:"fixed"},autoSortFilters:{type:Boolean,default:!0},data:{default:null},hasHeader:{type:Boolean,default:!0},hasFooter:{type:Boolean,default:!0},perPage:{default:20},paginationPath:{default:"meta"},css:{default:()=>({tableWrapper:"border-b"})},rowClass:{type:[String,Function],default:void 0},apiMode:{type:Boolean,default:!0},replaceState:{type:Boolean,default:!0},replaceStrategy:{default:"window"}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:action-archive","dsg-table:link-clicked","dsg-table:rows-selected","dsg-table:row-clicked","dsg-table:row-hover","dsg-table:row-dblclick","dsg-table:filter-updated","dsg-table:term-changed","dsg-table:data-loaded"],setup(t,{expose:E,emit:g}){const i=o=>{h.value=o},B=e.ref(t.apiMode&&!!(t.filterEntity||t.filterEndpoint||t.getUrl)),$=()=>{if(B.value){let o={};return S.getQueryStrings().forEach(s=>{if(s.key.startsWith("filter[")){const d=s.key.replace("filter[","").replace("]",""),k=s.value;o[`filter[${d}]`]=k.join(",")}}),o}else return{}},c=e.computed(()=>({...t.css,tableWrapper:"border-b "+(t.css?.tableWrapper||"")})),f=e.useSlots(),V=e.ref(!0),D=e.ref(null),C=e.ref("<p>Showing {from} to {to} of {total}</p>"),v=e.ref(null),n=e.useTemplateRef("dsgTable"),u=e.ref({perPage:t.perPage,change:i}),h=e.ref(t.perPage),b=e.ref({...$(),...t.initialFilters}),p=g,N=o=>{n.value?.changePage(o)},z=o=>{v.value=o},q=({data:o})=>{D.value=o,p("dsg-table:data-loaded",o)},T=()=>{n.value?.reload()},I=o=>{n.value?.setLoading(o)},x=o=>{const s=n.value?.getData?.()??[];n.value?.setData(s.map(d=>d.id===o.id?o:d))},M=o=>{const s=n.value?.getData?.()??[];n.value?.setData([...s,o])},F=o=>{const s=n.value?.getData?.()??[];n.value?.setData(s.filter(d=>d.id!==o.id))},O=o=>{n.value?.setData(o)},W=()=>n.value?.getData()??[],j=o=>{const s=n.value?.getData()??[],d=o(s);d&&n.value?.setData(d)},Q=o=>{b.value=o},K=()=>b.value??{},A=o=>{const s={...b.value};!o||o.trim()===""?delete s["filter[term]"]:s["filter[term]"]=o,b.value=s,e.nextTick(()=>{T()}),p("dsg-table:term-changed",o)},R=(o,s,d)=>{let k={};b.value["filter[term]"]&&(k["filter[term]"]=b.value["filter[term]"]),Object.keys(o).forEach(w=>{o[w]!==null&&o[w]!==void 0&&o[w]!==""&&(k[w]=o[w])}),b.value=k,e.nextTick(()=>{T()}),p("dsg-table:filter-updated",b.value,s,d)};return E({reloadTable:T,updateRowTable:x,addRowTable:M,deleteRowTable:F,setData:O,getData:W,mutateData:j,termChanged:A,setFilters:Q,getFilters:K,setLoading:I}),(o,s)=>(e.openBlock(),e.createElementBlock("div",st,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",rt,[e.renderSlot(o.$slots,"dsg-table--pre-header",{},()=>[e.createElementVNode("div",it,[e.renderSlot(o.$slots,"dsg-table--page-title",{data:D.value,title:t.title},()=>[t.title.length>0?(e.openBlock(),e.createElementBlock("h1",{key:0,class:"dsg-table--title",textContent:e.toDisplayString(t.title)},null,8,dt)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ct,[e.renderSlot(o.$slots,"dsg-table--page-actions",{data:D.value})])])])):e.createCommentVNode("",!0),t.displaySearch?(e.openBlock(),e.createElementBlock("div",ut,[e.createElementVNode("div",gt,[e.renderSlot(o.$slots,"dsg-table--search-header",{data:D.value},()=>[e.createVNode(ae,{name:"term","onDsgTable:termChanged":s[0]||(s[0]=d=>A(d))}),e.createVNode(S._sfc_main$7,{entity:t.filterEntity,"filter-endpoint":t.filterEndpoint,"search-endpoint":t.filterSearchEndpoint,"auto-sort":t.autoSortFilters,filters:t.filters,"onDsgTable:filterUpdated":s[1]||(s[1]=(d,k,w)=>R(d,k,w))},null,8,["entity","filter-endpoint","search-endpoint","auto-sort","filters"]),e.renderSlot(o.$slots,"dsg-table--search-actions",{data:D.value})])]),e.renderSlot(o.$slots,"dsg-table--search-navigation")],512)):e.createCommentVNode("",!0),e.createVNode(ot,{ref:"dsgTable","api-url":t.getUrl,"filter-params":b.value,"onUpdate:filterParams":s[7]||(s[7]=d=>b.value=d),"per-page":h.value,"onUpdate:perPage":s[8]||(s[8]=d=>h.value=d),fields:t.fields,"load-on-start":t.loadOnStart,"pagination-path":t.paginationPath,selectable:t.selectable,"track-by":t.trackBy,"table-layout":t.tableLayout,css:c.value,data:t.data,"row-class":t.rowClass,"api-mode":B.value,"replace-state":t.replaceState,"replace-strategy":t.replaceStrategy,"onDsgTable:loading":s[9]||(s[9]=d=>V.value=!0),"onDsgTable:loaded":s[10]||(s[10]=d=>V.value=!1),"onDsgTable:paginationData":z,"onDsgTable:loadSuccess":q,"onDsgTable:rowsSelected":s[11]||(s[11]=d=>p("dsg-table:rows-selected",d)),"onDsgTable:rowClicked":s[12]||(s[12]=(d,k,w)=>p("dsg-table:row-clicked",d,k,w)),"onDsgTable:rowHover":s[13]||(s[13]=(d,k,w)=>p("dsg-table:row-hover",d,k,w)),"onDsgTable:rowDblclick":s[14]||(s[14]=(d,k,w)=>p("dsg-table:row-dblclick",d,k,w))},e.createSlots({"dsg-field--actions":e.withCtx(d=>[e.renderSlot(o.$slots,"dsg-table-actions",{data:d},()=>[(e.openBlock(),e.createBlock(te,{key:d.rowIndex,data:d,"onDsgTable:actionEdit":s[2]||(s[2]=(k,w)=>p("dsg-table:action-edit",k,w)),"onDsgTable:actionView":s[3]||(s[3]=(k,w)=>p("dsg-table:action-view",k,w)),"onDsgTable:actionDelete":s[4]||(s[4]=(k,w)=>p("dsg-table:action-delete",k,w)),"onDsgTable:actionArchive":s[5]||(s[5]=(k,w)=>p("dsg-table:action-archive",k,w)),"onDsgTable:linkClicked":s[6]||(s[6]=(k,w,H)=>p("dsg-table:link-clicked",k,w,H))},null,8,["data"]))])]),_:2},[e.renderList(e.unref(f),(d,k)=>({name:k,fn:e.withCtx(w=>[String(k)!=="dsg-field--actions"?e.renderSlot(o.$slots,k,e.normalizeProps(e.mergeProps({key:0},w))):e.createCommentVNode("",!0)])}))]),1032,["api-url","filter-params","per-page","fields","load-on-start","pagination-path","selectable","track-by","table-layout","css","data","row-class","api-mode","replace-state","replace-strategy"]),t.hasFooter?(e.openBlock(),e.createElementBlock("div",mt,[e.createElementVNode("div",ft,[e.renderSlot(o.$slots,"dsg-table--footer-left",{data:v.value,perPage:u.value},()=>[t.displayPaginationInfo?(e.openBlock(),e.createBlock(ee,{key:0,ref:"paginationInfoStart",pagination:v.value,"onUpdate:pagination":s[15]||(s[15]=d=>v.value=d),"info-template":C.value},null,8,["pagination","info-template"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"dsg-table--footer-left-extras",{data:v.value,perPage:u.value})])]),e.createElementVNode("div",vt,[e.renderSlot(o.$slots,"dsg-table--footer-center",{data:v.value,perPage:u.value},()=>[e.renderSlot(o.$slots,"dsg-table--footer-center-extras",{data:v.value,perPage:u.value})])]),e.createElementVNode("div",bt,[e.renderSlot(o.$slots,"dsg-table--footer-right",{data:v.value,perPage:u.value},()=>[V.value===!1&&t.displayPaginationInfo?(e.openBlock(),e.createBlock(_,{key:0,ref:"pagination",pagination:v.value,"onUpdate:pagination":s[16]||(s[16]=d=>v.value=d),"onDsgTable:changePage":N},null,8,["pagination"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"dsg-table--footer-right-extras",{data:v.value,perPage:u.value})])])],512)):e.createCommentVNode("",!0)]))}}),kt={class:"dsg-table--per-page"},yt=["value","textContent"],pt=e.defineComponent({__name:"DsgTablePerPage",props:{perPageOptions:{default:()=>[10,20,30,50,100]},perPage:{}},setup(t){return(E,g)=>(e.openBlock(),e.createElementBlock("div",kt,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":g[0]||(g[0]=i=>t.perPage.perPage=i),class:"dsg-table--per-page-select",onChange:g[1]||(g[1]=i=>t.perPage.change(t.perPage.perPage))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,i=>(e.openBlock(),e.createElementBlock("option",{key:i,value:i,textContent:e.toDisplayString(i)},null,8,yt))),128))],544),[[e.vModelSelect,t.perPage.perPage]])]))}}),ne=ht,oe=te,se=pt,re=S._sfc_main$7,ie=_,de=ee,ce=ae,ue=le,wt={DsgTable:ne,DsgTableActions:oe,DsgTablePerPage:se,DsgTableFilter:re,DsgTablePagination:ie,DsgTablePaginationInfo:de,DsgTableSearch:ce,DsgTableRowHeader:ue};exports.DsgTable=ne;exports.DsgTableActions=oe;exports.DsgTableFilter=re;exports.DsgTablePagination=ie;exports.DsgTablePaginationInfo=de;exports.DsgTablePerPage=se;exports.DsgTableRowHeader=ue;exports.DsgTableSearch=ce;exports.default=wt;