@dcodegroup-au/dsg-vue 0.1.28 → 0.1.31

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"),B=require("./DsgTablePerPage.vue_vue_type_style_index_0_lang-DajXpujP.cjs"),O=require("./dsg-vue.helpers-string.cjs"),G=require("./dsg-vue.helpers-object.cjs"),pe=require("./dsg-vue.helpers.cjs"),ye={class:"dsg-table--pagination"},we=["disabled"],Be=["disabled"],Ce=["onClick","innerHTML"],Pe=["onClick","innerHTML"],Se=["disabled"],Ee=["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:D,emit:g}){const i=e.useModel(t,"pagination"),C=e.computed(()=>i.value===null?0:i.value?.last_page-t.firstPage+1),$=e.computed(()=>i.value===null?0:i.value?.last_page),u=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(()=>C.value<t.onEachSide*2+4),E=e.computed(()=>t.onEachSide*2+1),P=e.computed(()=>!i.value||i.value?.current_page<=t.onEachSide?1:i.value?.current_page>=C.value-t.onEachSide?C.value-t.onEachSide*2:i.value?.current_page-t.onEachSide),v=g,l=h=>{v("dsg-table:change-page",h)},d=h=>h===i.value?.current_page;return D({loadPage:l}),(h,b)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",ye,[t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:b[0]||(b[0]=y=>l(t.firstPage)),class:e.normalizeClass([[u.value?"disabled":""],"dsg-table--pagination-link"]),disabled:u.value,title:"First","aria-label":"First"},[e.createVNode(B._sfc_main,{icon:t.firstIcon,size:"sm"},null,8,["icon"])],10,we)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:b[1]||(b[1]=y=>l("prev")),class:e.normalizeClass([[u.value?"disabled":""],"dsg-table--pagination-link"]),disabled:u.value,title:"Previous","aria-label":"Previous"},[e.createVNode(B._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(C.value,(y,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:z=>l(N+t.firstPage),class:e.normalizeClass([[d(N+t.firstPage)?"active":""],"dsg-table--pagination-link"]),innerHTML:y},null,10,Ce))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(E.value,(y,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:z=>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+y-1},null,10,Pe))),128)),e.createElementVNode("a",{onClick:b[2]||(b[2]=y=>l("next")),class:e.normalizeClass([[f.value?"disabled":""],"dsg-table--pagination-link"]),disabled:f.value,title:"Next","aria-label":"Next"},[e.createVNode(B._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]=y=>l($.value)),class:e.normalizeClass([[f.value?"disabled":""],"dsg-table--pagination-link"]),disabled:f.value,title:"Last","aria-label":"Last"},[e.createVNode(B._sfc_main,{icon:t.lastIcon,size:"sm"},null,8,["icon"])],10,Ee)):e.createCommentVNode("",!0)],512)),[[e.vShow,i.value&&$.value>t.firstPage]])}}),De=["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 D=e.useModel(t,"pagination"),g=e.computed(()=>D.value==null||D.value.total==0?t.noDataTemplate:t.infoTemplate.replace("{from}",(D.value?.from||0).toString()).replace("{to}",(D.value?.to||0).toString()).replace("{total}",(D.value?.total||0).toString()));return(i,C)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table--pagination-info",innerHTML:g.value},null,8,De))}}),$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:D}){const g=e.ref(!1);e.useTemplateRef("dsgTableActions");const i=e.useAttrs(),C=e.ref(i.data.rowData?.actions??null),$=e.ref(i.data.rowData?.links??null),u=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,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}},E=(v,l)=>{const d=v.actionId||v.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");P("dsg-table:link-clicked",l,d,u.value)},P=D;return(v,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(e.unref(B.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",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(d,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete","archive"].includes(String(h))?(e.openBlock(),e.createElementBlock("a",{key:h,href:d?.link,target:d?.target||"_self",onClick:b=>V(d,String(h),b)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table--actions-menu-item",String(h)])},[e.createVNode(B._sfc_main,{icon:f(String(h)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"flex-1",textContent:e.toDisplayString(e.unref(O.ucfirst)(String(h)))},null,8,Fe)],2)],8,Ne)):e.createCommentVNode("",!0)],64))),256)),C.value&&$.value?(e.openBlock(),e.createElementBlock("hr",xe)):e.createCommentVNode("",!0),$.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList($.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",Me)):(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:h=>E(d,h)},[d.icon?(e.openBlock(),e.createBlock(B._sfc_main,{key:0,icon:d.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",ze,e.toDisplayString(d.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:l[0]||(l[0]=d=>g.value=!g.value)},[e.renderSlot(v.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(B._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(B.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:D}){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=D,C=B.useDebounceFn($=>{if(g.value=$,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($,u)=>(e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(B._sfc_main$4,{modelValue:g.value,"onUpdate:modelValue":u[0]||(u[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:u[1]||(u[1]=f=>e.unref(C)(f)),onEnterPressed:u[2]||(u[2]=f=>e.unref(C)(f)),onOnClear:u[3]||(u[3]=()=>e.unref(C)(""))},null,8,["modelValue","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),Ue={class:"dsg-table--header-row"},He={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"},qe=["title","id","onClick"],Ae={key:0,class:"dsg-table--th-sort-icon"},Oe=["innerHTML"],We=["innerHTML"],je=["innerHTML"],Qe=["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:D}){const g=e.useModel(t,"sortField"),i=e.useModel(t,"selectedRows"),C=e.useModel(t,"hasSelected"),$=e.ref("17px"),u=P=>{C.value&&i.value.length>0&&i.value.length!==t.tableDataLength?(C.value=!0,f("dsg-table:on-select-all")):!C.value&&i.value.length===0?(C.value=!1,f("dsg-table:on-select-all")):f("dsg-table:on-deselect-all")},f=D,V=(P,v)=>[P,P+"-"+O.toSnakeCase(String(v?.name)),v.titleClass||"",{sortable:v.sortable},{"sort-active":g.value?.name===v.name}],E=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"},f("dsg-table:sort-field",P))};return(P,v)=>(e.openBlock(),e.createElementBlock("tr",Ue,[t.hasSelectAll?(e.openBlock(),e.createElementBlock("th",He,[e.createVNode(B._sfc_main$2,{modelValue:C.value,"onUpdate:modelValue":[v[0]||(v[0]=l=>C.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(V("dsg-table--th",l)),style:e.normalizeStyle([{width:l.width||void 0},l.style]),title:l.title+(l.sortable?" Sort":""),id:"_"+l.name,onClick:h=>E(l),scope:"col"},[l.sortable?(e.openBlock(),e.createElementBlock("div",Ae,[l.tooltip?(e.openBlock(),e.createBlock(B._sfc_main$1,e.mergeProps({key:0,ref_for:!0},l.tooltip,{class:"dsg-table--th-tooltip"}),{"dsg-tooltip--trigger":e.withCtx(()=>[l.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table--th-title",innerHTML:l.title},null,8,Oe)):e.createCommentVNode("",!0),l.tooltip.icon?(e.openBlock(),e.createBlock(B._sfc_main,{key:1,icon:l.tooltip.icon,class:"inline-flex",size:"xs"},null,8,["icon"])):e.createCommentVNode("",!0)]),_:2},1040)):l.title?(e.openBlock(),e.createElementBlock("span",{key:1,class:"dsg-table--th-title",innerHTML:l.title},null,8,We)):e.createCommentVNode("",!0),l.sortable&&g.value?.name!==l.name?(e.openBlock(),e.createBlock(B._sfc_main,{key:2,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(B._sfc_main,{key:3,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(B._sfc_main,{key:4,icon:"chevron-up",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[l.tooltip?(e.openBlock(),e.createBlock(B._sfc_main$1,e.mergeProps({key:0,ref_for:!0},l.tooltip,{class:"dsg-table--th-tooltip"}),{"dsg-tooltip--trigger":e.withCtx(()=>[e.createElementVNode("span",{class:"dsg-table--th-title",innerHTML:e.unref(O.ucwords)(String(l?.title))},null,8,je),l.tooltip.icon?(e.openBlock(),e.createBlock(B._sfc_main,{key:0,icon:l.tooltip.icon,class:"inline-flex",size:"xs"},null,8,["icon"])):e.createCommentVNode("",!0)]),_:2},1040)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"dsg-table--th-title",innerHTML:e.unref(O.ucwords)(String(l?.title))},null,8,Qe))],64))],14,qe)):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)]))}}),Ke={class:"dsg-table--wrapper"},Ye=["span"],Ge={key:0,class:"dsg-table--loading"},Je=["colspan"],Xe=["colspan"],Ze=["onClick","onDblclick","onMouseover"],_e={key:0,class:"dsg-table--tbody-cell dsg-table--tbody-cell-checkbox"},et=["onClick","onDblclick","onContextmenu"],tt=["innerHTML"],at=["onClick"],lt=["colspan"],nt={key:2},ot=["colspan"],st={class:"dsg-table--footer"},rt=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:D,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,tooltip:n.tooltip??null,$_index:r})),C=()=>{if(!t.apiMode)return null;const n=B.getQueryStrings().find(r=>r.key===t.queryParams.sort);if(n&&n.value.length>0){const r=n.value[0],p=r.startsWith("-"),m=p?r.substring(1):r,S=t.fields.find(U=>U.sortField===m||U.name===m||U.field===m);return S?{name:String(S.name||S.field),field:m,direction:p?"desc":"asc"}:{name:m,field:m,direction:p?"desc":"asc"}}return null},$=()=>{if(!(!t.apiMode||!t.replaceState)&&t.replaceStrategy==="window"){const a=new URL(window.location.href),n=new URLSearchParams(a.search);if(n.delete(t.queryParams.sort),b.value){const p=(b.value.direction==="desc"?"-":"")+b.value.field;n.set(t.queryParams.sort,p)}const r=`${a.pathname}${n.toString()?"?"+n.toString():""}`;window.history.pushState({},"",r)}},u=e.ref(i(t.fields)),f=e.ref(t.data),V=e.ref(null),E=e.ref(t.initialPage),P=e.ref("17px"),v=e.ref(!1),l=e.ref({}),d=e.ref(0),h=e.ref(!0),b=e.ref(C()),y=e.ref(null),N=e.ref(0),z=e.useModel(t,"filterParams"),I=e.useModel(t,"perPage"),T=e.ref([]),H=e.ref(!1),x=e.computed(()=>t.tableHeight!=null),M=e.computed(()=>u.value.filter(a=>a.visible).length);e.watch(()=>T.value.length,a=>{H.value=t.selectable&&a>0},{immediate:!0}),e.watch(()=>t.fields,a=>{u.value=i(a)},{immediate:!0,deep:!0}),e.watch(()=>z.value,a=>{L()},{deep:!0}),e.watch(()=>I.value,()=>{L()}),e.watch(()=>t.apiUrl,(a,n)=>{t.apiMode&&a!==n&&a&&L()}),e.watch(()=>b.value,()=>{$()},{deep:!0});const F=g,W=(a,n)=>a.formatter&&typeof a.formatter=="function"?a.formatter(a,n):G.data_get(n,String(a?.name),""),j=a=>"dsg-field--"+a.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),Q=(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 m=t.rowClass(a,n);typeof m=="string"?m.split(" ").forEach(S=>{S.trim()&&(p[S.trim()]=!0)}):Array.isArray(m)?m.forEach(S=>{typeof S=="string"&&S.trim()&&(p[S.trim()]=!0)}):typeof m=="object"&&m!==null&&(p=m)}else typeof t.rowClass=="string"&&t.rowClass.split(" ").forEach(m=>{m.trim()&&(p[m.trim()]=!0)});return{...r,...p}},K=a=>{if(t.selectable){if(a.selected)T.value.push(a);else{const n=T.value.findIndex(r=>r[t.trackBy]===a[t.trackBy]);n!==-1&&T.value.splice(n,1)}F("dsg-table:rows-selected",T.value)}},Y=()=>{t.selectable&&(f.value?.forEach(a=>{a.selected=!0}),T.value=f.value?.filter(a=>a.selected)??[],F("dsg-table:rows-selected",T.value))},q=()=>{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(n=>{n.selected=n.selected??!1})},o=()=>f.value??[],s=a=>{a==="prev"?E.value>t.firstPage&&E.value--:a==="next"?E.value<(V.value?.last_page??0)&&E.value++:a!=E.value&&a>=t.firstPage&&a<=(V.value?.last_page??0)&&(E.value=a),L()},c=()=>({[t.queryParams?.sort]:b.value?(b.value?.direction==="desc"?"-":"")+b.value?.field:void 0,[t.queryParams?.order]:b.value?.direction,[t.queryParams?.page]:E.value,[t.queryParams?.perPage]:I.value}),k=()=>{y.value&&(y.value.abort(),y.value=null)},w=(a,n)=>{k(),N.value++;const r=N.value,p=new AbortController;return n.signal=p.signal,y.value=p,(t.httpMethod.toLowerCase()==="get"?B.axios.get(a,n):(()=>{const S=n.params;return delete n.params,B.axios.post(a,S,n)})()).then(S=>({...S,_requestId:r,_apiUrl:a}),S=>{throw S.name==="AbortError"||S.code==="ERR_CANCELED"?{...S,_requestId:r,_cancelled:!0}:{...S,_requestId:r}})},A=a=>{if(a._requestId&&a._requestId!==N.value||a._apiUrl&&a._apiUrl!==t.apiUrl)return;F("dsg-table:load-success",a);const n=t.transform?t.transform(a.data):a.data;f.value=G.data_get(n,t.dataPath,null),t.selectable&&f.value?.forEach(r=>{r.selected=r.selected??!1}),V.value=G.data_get(n,t.paginationPath,null)??null,d.value=f.value?.length?f.value[0].order:d,!pe.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="".`),y.value=null,F("dsg-table:pagination-data",V.value),V.value&&E.value>(V.value?.last_page||0)&&f.value?.length===0&&(E.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),y.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=A,n=J,r={})=>{const p=a||A,m=n||J;if(!t.apiMode){X();return}return h.value=!0,F("dsg-table:loading",h.value),t.httpOptions.params={...c(),...z.value},w(t.apiUrl,t.httpOptions).then(p).catch(S=>m(S))},ge=(a,n,r)=>{F("dsg-table:row-clicked",a,n,r)},me=(a,n,r)=>{F("dsg-table:row-dblclick",a,n,r)},fe=(a,n,r)=>{},ve=(a,n,r,p)=>{},be=(a,n,r,p)=>{},he=(a,n,r,p)=>{},ke=(a,n,r)=>{};e.onMounted(()=>{t.apiMode===!0?L():X()});const Z=()=>{t.apiMode&&(T.value=[],k(),L())};return D({changePage:s,reload:Z,getData:o,setData:R,setLoading:a=>{h.value=a,F("dsg-table:loading",h.value)}}),(a,n)=>(e.openBlock(),e.createElementBlock("div",Ke,[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":"",l.value.table,"table-"+t.tableLayout])},[e.createElementVNode("colgroup",{span:M.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.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:P.value}),class:"dsg-table--col-gutter"},null,4)):e.createCommentVNode("",!0)],8,Ye),e.createElementVNode("thead",{class:e.normalizeClass([[l.value.thead,{sticky:x.value,"top-0":x.value}],"dsg-table--head"])},[e.renderSlot(a.$slots,"tableHeader",{fields:u.value},()=>[e.createVNode(le,{fields:u.value,"has-select-all":t.selectable,"selected-rows":T.value,"onUpdate:selectedRows":n[0]||(n[0]=r=>T.value=r),"has-selected":H.value,"onUpdate:hasSelected":n[1]||(n[1]=r=>H.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":n[2]||(n[2]=r=>b.value=r),"onDsgTable:sortField":n[3]||(n[3]=r=>Z()),"onDsgTable:onSelectAll":Y,"onDsgTable:onDeselectAll":q},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",l.value.tbody])},[h.value?(e.openBlock(),e.createElementBlock("tr",Ge,[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(B._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,Xe)],8,Je)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(r,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p},[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table--tbody-row",Q(r,p)]),onClick:m=>ge(m,p,r),onDblclick:m=>me(m,p,r),onMouseover:m=>fe()},[t.selectable?(e.openBlock(),e.createElementBlock("td",_e,[e.createVNode(B._sfc_main$2,{modelValue:r.selected,"onUpdate:modelValue":[m=>r.selected=m,m=>K(r)]},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(m,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:S},[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,j(m),{rowData:r,rowIndex:p,rowField:m},()=>[e.createElementVNode("span",{innerHTML:W(m,r)},null,8,tt)])],46,et)):e.createCommentVNode("",!0)],64))),128))],42,Ze),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:p,options:t.detailRowOptions})],8,lt)],8,at)]),_:2},1032,["name"])):e.createCommentVNode("",!0)],64))),128)),!h.value&&!f.value?.length&&t.noDataTemplate.length?(e.openBlock(),e.createElementBlock("tr",nt,[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,ot)])):e.createCommentVNode("",!0)],2),e.createElementVNode("tfoot",st,[e.renderSlot(a.$slots,"dsg-table-footer",{fields:u.value,data:f.value})])],2)],6)]))}}),it={class:"dsg-table"},dt={key:0,class:"dsg-table--pre-header"},ct={class:"dsg-table--pre-header-left"},ut=["textContent"],gt={class:"dsg-table--pre-header-right"},mt={key:1,class:"dsg-table--search-header",ref:"dsgTableSearchHeaderEl"},ft={class:"dsg-table--search-top"},vt={key:2,class:"dsg-table--footer",ref:"dsgTableFooterEl"},bt={class:"dsg-table--footer-left"},ht={class:"dsg-table--footer-center"},kt={class:"dsg-table--footer-right"},pt=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:D,emit:g}){const i=o=>{h.value=o},C=e.ref(t.apiMode&&!!(t.filterEntity||t.filterEndpoint||t.getUrl)),$=()=>{if(C.value){let o={};return B.getQueryStrings().forEach(s=>{if(s.key.startsWith("filter[")){const c=s.key.replace("filter[","").replace("]",""),k=s.value;o[`filter[${c}]`]=k.join(",")}}),o}else return{}},u=e.computed(()=>({...t.css,tableWrapper:"border-b "+(t.css?.tableWrapper||"")})),f=e.useSlots(),V=e.ref(!0),E=e.ref(null),P=e.ref("<p>Showing {from} to {to} of {total}</p>"),v=e.ref(null),l=e.useTemplateRef("dsgTable"),d=e.ref({perPage:t.perPage,change:i}),h=e.ref(t.perPage),b=e.ref({...$(),...t.initialFilters}),y=g,N=o=>{l.value?.changePage(o)},z=o=>{v.value=o},I=({data:o})=>{E.value=o,y("dsg-table:data-loaded",o)},T=()=>{l.value?.reload()},H=o=>{l.value?.setLoading(o)},x=o=>{const s=l.value?.getData?.()??[];l.value?.setData(s.map(c=>c.id===o.id?o:c))},M=o=>{const s=l.value?.getData?.()??[];l.value?.setData([...s,o])},F=o=>{const s=l.value?.getData?.()??[];l.value?.setData(s.filter(c=>c.id!==o.id))},W=o=>{l.value?.setData(o)},j=()=>l.value?.getData()??[],Q=o=>{const s=l.value?.getData()??[],c=o(s);c&&l.value?.setData(c)},K=o=>{b.value=o},Y=()=>b.value??{},q=o=>{const s={...b.value};!o||o.trim()===""?delete s["filter[term]"]:s["filter[term]"]=o,b.value=s,e.nextTick(()=>{T()}),y("dsg-table:term-changed",o)},R=(o,s,c)=>{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()}),y("dsg-table:filter-updated",b.value,s,c)};return D({reloadTable:T,updateRowTable:x,addRowTable:M,deleteRowTable:F,setData:W,getData:j,mutateData:Q,termChanged:q,setFilters:K,getFilters:Y,setLoading:H}),(o,s)=>(e.openBlock(),e.createElementBlock("div",it,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",dt,[e.renderSlot(o.$slots,"dsg-table--pre-header",{},()=>[e.createElementVNode("div",ct,[e.renderSlot(o.$slots,"dsg-table--page-title",{data:E.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,ut)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",gt,[e.renderSlot(o.$slots,"dsg-table--page-actions",{data:E.value})])])])):e.createCommentVNode("",!0),t.displaySearch?(e.openBlock(),e.createElementBlock("div",mt,[e.createElementVNode("div",ft,[e.renderSlot(o.$slots,"dsg-table--search-header",{data:E.value},()=>[e.createVNode(ae,{name:"term","onDsgTable:termChanged":s[0]||(s[0]=c=>q(c))}),e.createVNode(B._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]=(c,k,w)=>R(c,k,w))},null,8,["entity","filter-endpoint","search-endpoint","auto-sort","filters"]),e.renderSlot(o.$slots,"dsg-table--search-actions",{data:E.value})])]),e.renderSlot(o.$slots,"dsg-table--search-navigation")],512)):e.createCommentVNode("",!0),e.createVNode(rt,{ref:"dsgTable","api-url":t.getUrl,"filter-params":b.value,"onUpdate:filterParams":s[7]||(s[7]=c=>b.value=c),"per-page":h.value,"onUpdate:perPage":s[8]||(s[8]=c=>h.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":C.value,"replace-state":t.replaceState,"replace-strategy":t.replaceStrategy,"onDsgTable:loading":s[9]||(s[9]=c=>V.value=!0),"onDsgTable:loaded":s[10]||(s[10]=c=>V.value=!1),"onDsgTable:paginationData":z,"onDsgTable:loadSuccess":I,"onDsgTable:rowsSelected":s[11]||(s[11]=c=>y("dsg-table:rows-selected",c)),"onDsgTable:rowClicked":s[12]||(s[12]=(c,k,w)=>y("dsg-table:row-clicked",c,k,w)),"onDsgTable:rowHover":s[13]||(s[13]=(c,k,w)=>y("dsg-table:row-hover",c,k,w)),"onDsgTable:rowDblclick":s[14]||(s[14]=(c,k,w)=>y("dsg-table:row-dblclick",c,k,w))},e.createSlots({"dsg-field--actions":e.withCtx(c=>[e.renderSlot(o.$slots,"dsg-table-actions",{data:c},()=>[(e.openBlock(),e.createBlock(te,{key:c.rowIndex,data:c,"onDsgTable:actionEdit":s[2]||(s[2]=(k,w)=>y("dsg-table:action-edit",k,w)),"onDsgTable:actionView":s[3]||(s[3]=(k,w)=>y("dsg-table:action-view",k,w)),"onDsgTable:actionDelete":s[4]||(s[4]=(k,w)=>y("dsg-table:action-delete",k,w)),"onDsgTable:actionArchive":s[5]||(s[5]=(k,w)=>y("dsg-table:action-archive",k,w)),"onDsgTable:linkClicked":s[6]||(s[6]=(k,w,A)=>y("dsg-table:link-clicked",k,w,A))},null,8,["data"]))])]),_:2},[e.renderList(e.unref(f),(c,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",vt,[e.createElementVNode("div",bt,[e.renderSlot(o.$slots,"dsg-table--footer-left",{data:v.value,perPage:d.value},()=>[t.displayPaginationInfo?(e.openBlock(),e.createBlock(ee,{key:0,ref:"paginationInfoStart",pagination:v.value,"onUpdate:pagination":s[15]||(s[15]=c=>v.value=c),"info-template":P.value},null,8,["pagination","info-template"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"dsg-table--footer-left-extras",{data:v.value,perPage:d.value})])]),e.createElementVNode("div",ht,[e.renderSlot(o.$slots,"dsg-table--footer-center",{data:v.value,perPage:d.value},()=>[e.renderSlot(o.$slots,"dsg-table--footer-center-extras",{data:v.value,perPage:d.value})])]),e.createElementVNode("div",kt,[e.renderSlot(o.$slots,"dsg-table--footer-right",{data:v.value,perPage:d.value},()=>[V.value===!1&&t.displayPaginationInfo?(e.openBlock(),e.createBlock(_,{key:0,ref:"pagination",pagination:v.value,"onUpdate:pagination":s[16]||(s[16]=c=>v.value=c),"onDsgTable:changePage":N},null,8,["pagination"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"dsg-table--footer-right-extras",{data:v.value,perPage:d.value})])])],512)):e.createCommentVNode("",!0)]))}}),yt={class:"dsg-table--per-page"},wt=["value","textContent"],Bt=e.defineComponent({__name:"DsgTablePerPage",props:{perPageOptions:{default:()=>[10,20,30,50,100]},perPage:{}},setup(t){return(D,g)=>(e.openBlock(),e.createElementBlock("div",yt,[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,wt))),128))],544),[[e.vModelSelect,t.perPage.perPage]])]))}}),ne=pt,oe=te,se=Bt,re=B._sfc_main$7,ie=_,de=ee,ce=ae,ue=le,Ct={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=Ct;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),y=require("./DsgTablePerPage.vue_vue_type_style_index_0_lang-DajXpujP.cjs"),j=require("./dsg-vue.helpers-string.cjs"),te=require("./dsg-vue.helpers-object.cjs"),De=require("./dsg-vue.helpers.cjs"),xe={class:"dsg-table--pagination"},Ve=["disabled"],$e=["disabled"],Te=["onClick","innerHTML"],Ne=["onClick","innerHTML"],Re=["disabled"],Fe=["disabled"],se=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:D,emit:g}){const d=e.useModel(t,"pagination"),C=e.computed(()=>d.value===null?0:d.value?.last_page-t.firstPage+1),x=e.computed(()=>d.value===null?0:d.value?.last_page),u=e.computed(()=>d.value===null?!1:d.value?.current_page===t.firstPage),f=e.computed(()=>d.value===null?!1:d.value?.current_page===x.value),V=e.computed(()=>C.value<t.onEachSide*2+4),S=e.computed(()=>t.onEachSide*2+1),E=e.computed(()=>!d.value||d.value?.current_page<=t.onEachSide?1:d.value?.current_page>=C.value-t.onEachSide?C.value-t.onEachSide*2:d.value?.current_page-t.onEachSide),b=g,n=k=>{b("dsg-table:change-page",k)},c=k=>k===d.value?.current_page;return D({loadPage:n}),(k,h)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",xe,[t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:h[0]||(h[0]=p=>n(t.firstPage)),class:e.normalizeClass([[u.value?"disabled":""],"dsg-table--pagination-link"]),disabled:u.value,title:"First","aria-label":"First"},[e.createVNode(y._sfc_main,{icon:t.firstIcon,size:"sm"},null,8,["icon"])],10,Ve)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:h[1]||(h[1]=p=>n("prev")),class:e.normalizeClass([[u.value?"disabled":""],"dsg-table--pagination-link"]),disabled:u.value,title:"Previous","aria-label":"Previous"},[e.createVNode(y._sfc_main,{icon:t.prevIcon,size:"sm"},null,8,["icon"])],10,$e),V.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(C.value,(p,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:A=>n(N+t.firstPage),class:e.normalizeClass([[c(N+t.firstPage)?"active":""],"dsg-table--pagination-link"]),innerHTML:p},null,10,Te))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(S.value,(p,N)=>(e.openBlock(),e.createElementBlock("a",{key:N,onClick:A=>n(E.value+N+t.firstPage-1),class:e.normalizeClass([[c(E.value+N+t.firstPage-1)?"active":""],"dsg-table--pagination-link"]),innerHTML:E.value+p-1},null,10,Ne))),128)),e.createElementVNode("a",{onClick:h[2]||(h[2]=p=>n("next")),class:e.normalizeClass([[f.value?"disabled":""],"dsg-table--pagination-link"]),disabled:f.value,title:"Next","aria-label":"Next"},[e.createVNode(y._sfc_main,{icon:t.nextIcon,size:"sm"},null,8,["icon"])],10,Re),t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:h[3]||(h[3]=p=>n(x.value)),class:e.normalizeClass([[f.value?"disabled":""],"dsg-table--pagination-link"]),disabled:f.value,title:"Last","aria-label":"Last"},[e.createVNode(y._sfc_main,{icon:t.lastIcon,size:"sm"},null,8,["icon"])],10,Fe)):e.createCommentVNode("",!0)],512)),[[e.vShow,d.value&&x.value>t.firstPage]])}}),Me=["innerHTML"],re=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 D=e.useModel(t,"pagination"),g=e.computed(()=>D.value==null||D.value.total==0?t.noDataTemplate:t.infoTemplate.replace("{from}",(D.value?.from||0).toString()).replace("{to}",(D.value?.to||0).toString()).replace("{total}",(D.value?.total||0).toString()));return(d,C)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table--pagination-info",innerHTML:g.value},null,8,Me))}}),Le={class:"dsg-table--actions",ref:"dsgTableActions"},ze={class:"dsg-table--action-trigger"},Ae={key:0,class:"dsg-table--actions-menu-wrapper"},Ue=["href","target","onClick"],He=["textContent"],Ie={key:0},qe={key:1},Oe=["href","target","onClick"],We={class:"flex-1"},ie=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:D}){const g=e.ref(!1);e.useTemplateRef("dsgTableActions");const d=e.useAttrs(),C=e.ref(d.data.rowData?.actions??null),x=e.ref(d.data.rowData?.links??null),u=e.ref(d.data.rowData??null),f=b=>{switch(b){case"edit":return"edit-05";case"view":return"eye";case"delete":return"trash-01";case"archive":return"eye-off";default:return"dots-horizontal"}},V=(b,n,c)=>{switch(n){case"edit":E("dsg-table:action-edit",c,u.value);break;case"view":E("dsg-table:action-view",c,u.value);break;case"delete":E("dsg-table:action-delete",c,u.value);break;case"archive":E("dsg-table:action-archive",c,u.value);break}},S=(b,n)=>{const c=b.actionId||b.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");E("dsg-table:link-clicked",n,c,u.value)},E=D;return(b,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Le,[e.createVNode(e.unref(y.kt),{triggers:[],placement:t.placement,"handle-resize":!0,strategy:"absolute",shown:g.value,class:"dsg-table--actions__popper",onHide:n[1]||(n[1]=c=>g.value=!1),ref:"floatingVueFilterDropdown"},{popper:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(c,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete","archive"].includes(String(k))?(e.openBlock(),e.createElementBlock("a",{key:k,href:c?.link,target:c?.target||"_self",onClick:h=>V(c,String(k),h)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table--actions-menu-item",String(k)])},[e.createVNode(y._sfc_main,{icon:f(String(k)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"flex-1",textContent:e.toDisplayString(e.unref(j.ucfirst)(String(k)))},null,8,He)],2)],8,Ue)):e.createCommentVNode("",!0)],64))),256)),C.value&&x.value?(e.openBlock(),e.createElementBlock("hr",Ie)):e.createCommentVNode("",!0),x.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(x.value,c=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c.label},[c.hasOwnProperty("component")?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.component),{key:0,quote:e.unref(d).data.data.rowData,"row-data":e.unref(d).data.data.rowData},null,8,["quote","row-data"])):c.hasOwnProperty("type")&&c.type=="break"?(e.openBlock(),e.createElementBlock("hr",qe)):(e.openBlock(),e.createElementBlock("a",{key:2,href:c.link,target:c.target||"_self",class:e.normalizeClass(["dsg-table--actions-menu-item",c.class]),onClick:k=>S(c,k)},[c.icon?(e.openBlock(),e.createBlock(y._sfc_main,{key:0,icon:c.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",We,e.toDisplayString(c.label),1)],10,Oe))],64))),128)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",ze,[e.createElementVNode("button",{type:"button",class:"dsg-table--actions-button","aria-expanded":"false","aria-haspopup":"true",onClick:n[0]||(n[0]=c=>g.value=!g.value)},[e.renderSlot(b.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(y._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(y.vOnClickOutside),()=>g.value=!1]])}}),je={class:"dsg-table--search"},de=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:D}){const g=e.ref("");e.onMounted(()=>{const u=new URL(window.location.href).searchParams.get("term");u&&(g.value=u,d("dsg-table:term-changed",u))});const d=D,C=y.useDebounceFn(x=>{if(g.value=x,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())}d("dsg-table:term-changed",g.value)},300);return(x,u)=>(e.openBlock(),e.createElementBlock("div",je,[e.createVNode(y._sfc_main$4,{modelValue:g.value,"onUpdate:modelValue":u[0]||(u[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:u[1]||(u[1]=f=>e.unref(C)(f)),onEnterPressed:u[2]||(u[2]=f=>e.unref(C)(f)),onOnClear:u[3]||(u[3]=()=>e.unref(C)(""))},null,8,["modelValue","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),Qe={class:"dsg-table--header-row"},Ke={key:0,class:"dsg-table--th dsg-table--th-checkbox",scope:"col"},Ye={key:1,class:"dsg-table--th dsg-table--th-expand-detail",scope:"col"},Ge=["title","id","onClick"],Je={key:0,class:"dsg-table--th-sort-icon"},Xe=["innerHTML"],Ze=["innerHTML"],_e=["innerHTML"],et=["innerHTML"],ce=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:D}){const g=e.useModel(t,"sortField"),d=e.useModel(t,"selectedRows"),C=e.useModel(t,"hasSelected"),x=e.ref("17px"),u=E=>{C.value&&d.value.length>0&&d.value.length!==t.tableDataLength?(C.value=!0,f("dsg-table:on-select-all")):!C.value&&d.value.length===0?(C.value=!1,f("dsg-table:on-select-all")):f("dsg-table:on-deselect-all")},f=D,V=(E,b)=>[E,E+"-"+j.toSnakeCase(String(b?.name)),b.titleClass||"",{sortable:b.sortable},{"sort-active":g.value?.name===b.name}],S=E=>{E.sortable&&(g.value={name:String(E?.name),field:String(E?.sortField),direction:g.value?.name===E.name&&g.value?.direction==="asc"?"desc":"asc"},f("dsg-table:sort-field",E))};return(E,b)=>(e.openBlock(),e.createElementBlock("tr",Qe,[t.hasSelectAll?(e.openBlock(),e.createElementBlock("th",Ke,[e.createVNode(y._sfc_main$2,{modelValue:C.value,"onUpdate:modelValue":[b[0]||(b[0]=n=>C.value=n),u],indeterminate:d.value.length>0&&d.value.length!==t.tableDataLength},null,8,["modelValue","indeterminate"])])):e.createCommentVNode("",!0),t.showExpandDetail?(e.openBlock(),e.createElementBlock("th",Ye)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,(n,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n?.visible?(e.openBlock(),e.createElementBlock("th",{key:c,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:k=>S(n),scope:"col"},[n.sortable?(e.openBlock(),e.createElementBlock("div",Je,[n.tooltip?(e.openBlock(),e.createBlock(y._sfc_main$1,e.mergeProps({key:0,ref_for:!0},n.tooltip,{class:"dsg-table--th-tooltip"}),{"dsg-tooltip--trigger":e.withCtx(()=>[n.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table--th-title",innerHTML:n.title},null,8,Xe)):e.createCommentVNode("",!0),n.tooltip.icon?(e.openBlock(),e.createBlock(y._sfc_main,{key:1,icon:n.tooltip.icon,class:"inline-flex",size:"xs"},null,8,["icon"])):e.createCommentVNode("",!0)]),_:2},1040)):n.title?(e.openBlock(),e.createElementBlock("span",{key:1,class:"dsg-table--th-title",innerHTML:n.title},null,8,Ze)):e.createCommentVNode("",!0),n.sortable&&g.value?.name!==n.name?(e.openBlock(),e.createBlock(y._sfc_main,{key:2,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(y._sfc_main,{key:3,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(y._sfc_main,{key:4,icon:"chevron-up",class:"inline-flex",size:"xs"})):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[n.tooltip?(e.openBlock(),e.createBlock(y._sfc_main$1,e.mergeProps({key:0,ref_for:!0},n.tooltip,{class:"dsg-table--th-tooltip"}),{"dsg-tooltip--trigger":e.withCtx(()=>[e.createElementVNode("span",{class:"dsg-table--th-title",innerHTML:e.unref(j.ucwords)(String(n?.title))},null,8,_e),n.tooltip.icon?(e.openBlock(),e.createBlock(y._sfc_main,{key:0,icon:n.tooltip.icon,class:"inline-flex",size:"xs"},null,8,["icon"])):e.createCommentVNode("",!0)]),_:2},1040)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"dsg-table--th-title",innerHTML:e.unref(j.ucwords)(String(n?.title))},null,8,et))],64))],14,Ge)):e.createCommentVNode("",!0)],64))),256)),t.scrollVisible?(e.openBlock(),e.createElementBlock("th",{key:2,style:e.normalizeStyle({width:x.value}),class:"dsg-table--th-col-gutter"},null,4)):e.createCommentVNode("",!0)]))}}),tt={class:"dsg-table--wrapper"},at=["span"],lt={key:0,class:"dsg-table--loading"},nt=["colspan"],ot=["colspan"],st=["onClick","onDblclick","onMouseover"],rt={key:0,class:"dsg-table--tbody-cell dsg-table--tbody-cell-checkbox"},it={key:1,class:"dsg-table--tbody-cell dsg-table--tbody-cell-expand"},dt=["aria-expanded","onClick"],ct=["onClick","onDblclick","onContextmenu"],ut=["innerHTML"],gt=["onClick"],mt=["colspan"],ft={key:2},vt=["colspan"],bt={class:"dsg-table--footer"},ht=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},expandableRows:{type:Boolean,default:!1},expandMultiple:{type:Boolean,default:!1},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","dsg-table:row-expanded","dsg-table:row-collapsed"],["update:filterParams","update:perPage"]),setup(t,{expose:D,emit:g}){const d=a=>a.map((l,s)=>({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,tooltip:l.tooltip??null,$_index:s})),C=()=>{if(!t.apiMode)return null;const l=y.getQueryStrings().find(s=>s.key===t.queryParams.sort);if(l&&l.value.length>0){const s=l.value[0],w=s.startsWith("-"),m=w?s.substring(1):s,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:w?"desc":"asc"}:{name:m,field:m,direction:w?"desc":"asc"}}return null},x=()=>{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),h.value){const w=(h.value.direction==="desc"?"-":"")+h.value.field;l.set(t.queryParams.sort,w)}const s=`${a.pathname}${l.toString()?"?"+l.toString():""}`;window.history.pushState({},"",s)}},u=e.ref(d(t.fields)),f=e.ref(t.data),V=e.ref(null),S=e.ref(t.initialPage),E=e.ref("17px"),b=e.ref(!1),n=e.ref({}),c=e.ref(0),k=e.ref(!0),h=e.ref(C()),p=e.ref(null),N=e.ref(0),A=e.useModel(t,"filterParams"),I=e.useModel(t,"perPage"),$=e.ref([]),H=e.ref(!1),R=e.ref(new Set),M=e.computed(()=>t.tableHeight!=null),L=e.computed(()=>{let a=u.value.filter(l=>l.visible).length;return t.selectable&&a++,t.hasDetailRow&&t.expandableRows&&a++,a});e.watch(()=>$.value.length,a=>{H.value=t.selectable&&a>0},{immediate:!0}),e.watch(()=>t.fields,a=>{u.value=d(a)},{immediate:!0,deep:!0}),e.watch(()=>A.value,a=>{z()},{deep:!0}),e.watch(()=>I.value,()=>{z()}),e.watch(()=>t.apiUrl,(a,l)=>{t.apiMode&&a!==l&&a&&z()}),e.watch(()=>h.value,()=>{x()},{deep:!0});const T=g,Q=(a,l)=>a.formatter&&typeof a.formatter=="function"?a.formatter(a,l):te.data_get(l,String(a?.name),""),K=a=>"dsg-field--"+a.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),Y=(a,l)=>{const s={odd:l%2===0,even:l%2!==0,"row-selected":a.selected};if(!t.rowClass)return s;let w={};if(typeof t.rowClass=="function"){const m=t.rowClass(a,l);typeof m=="string"?m.split(" ").forEach(P=>{P.trim()&&(w[P.trim()]=!0)}):Array.isArray(m)?m.forEach(P=>{typeof P=="string"&&P.trim()&&(w[P.trim()]=!0)}):typeof m=="object"&&m!==null&&(w=m)}else typeof t.rowClass=="string"&&t.rowClass.split(" ").forEach(m=>{m.trim()&&(w[m.trim()]=!0)});return{...s,...w}},F=a=>R.value.has(a[t.trackBy]),q=(a,l)=>{const s=a[t.trackBy];R.value.has(s)?(R.value.delete(s),T("dsg-table:row-collapsed",a,l)):(t.expandMultiple||R.value.clear(),R.value.add(s),T("dsg-table:row-expanded",a,l))},G=a=>{const l=a[t.trackBy];R.value.has(l)||(t.expandMultiple||R.value.clear(),R.value.add(l))},J=a=>{R.value.delete(a[t.trackBy])},X=()=>{f.value?.forEach(a=>{R.value.add(a[t.trackBy])})},Z=()=>{R.value.clear()},_=()=>R.value,O=a=>{if(t.selectable){if(a.selected)$.value.push(a);else{const l=$.value.findIndex(s=>s[t.trackBy]===a[t.trackBy]);l!==-1&&$.value.splice(l,1)}T("dsg-table:rows-selected",$.value)}},ee=()=>{t.selectable&&(f.value?.forEach(a=>{a.selected=!0}),$.value=f.value?.filter(a=>a.selected)??[],T("dsg-table:rows-selected",$.value))},r=()=>{t.selectable&&(f.value?.forEach(a=>{a.selected=!1}),$.value=[],T("dsg-table:rows-selected",$.value))},o=a=>{f.value=Array.isArray(a)?a:[],t.selectable&&f.value.forEach(l=>{l.selected=l.selected??!1})},i=()=>f.value??[],v=a=>{a==="prev"?S.value>t.firstPage&&S.value--:a==="next"?S.value<(V.value?.last_page??0)&&S.value++:a!=S.value&&a>=t.firstPage&&a<=(V.value?.last_page??0)&&(S.value=a),z()},B=()=>({[t.queryParams?.sort]:h.value?(h.value?.direction==="desc"?"-":"")+h.value?.field:void 0,[t.queryParams?.order]:h.value?.direction,[t.queryParams?.page]:S.value,[t.queryParams?.perPage]:I.value}),W=()=>{p.value&&(p.value.abort(),p.value=null)},pe=(a,l)=>{W(),N.value++;const s=N.value,w=new AbortController;return l.signal=w.signal,p.value=w,(t.httpMethod.toLowerCase()==="get"?y.axios.get(a,l):(()=>{const P=l.params;return delete l.params,y.axios.post(a,P,l)})()).then(P=>({...P,_requestId:s,_apiUrl:a}),P=>{throw P.name==="AbortError"||P.code==="ERR_CANCELED"?{...P,_requestId:s,_cancelled:!0}:{...P,_requestId:s}})},ae=a=>{if(a._requestId&&a._requestId!==N.value||a._apiUrl&&a._apiUrl!==t.apiUrl)return;T("dsg-table:load-success",a);const l=t.transform?t.transform(a.data):a.data;f.value=te.data_get(l,t.dataPath,null),t.selectable&&f.value?.forEach(s=>{s.selected=s.selected??!1}),V.value=te.data_get(l,t.paginationPath,null)??null,c.value=f.value?.length?f.value[0].order:c,!De.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,T("dsg-table:pagination-data",V.value),V.value&&S.value>(V.value?.last_page||0)&&f.value?.length===0&&(S.value=t.initialPage,z()),T("dsg-table:loaded"),k.value=!1},le=a=>{a._requestId&&a._requestId!==N.value||a._apiUrl&&a._apiUrl!==t.apiUrl||a._cancelled||(console.error("load-error",a),p.value=null,T("dsg-table:load-error",a),T("dsg-table:loaded"),k.value=!1)},ne=()=>{if(t.data!==null&&Array.isArray(t.data)){o(t.data),k.value=!1;return}if(t.dataManager&&typeof t.dataManager=="function"){const a=t.dataManager();o(a),k.value=!1}else o(t.data),k.value=!1},z=(a=ae,l=le,s={})=>{const w=a||ae,m=l||le;if(!t.apiMode){ne();return}return k.value=!0,T("dsg-table:loading",k.value),t.httpOptions.params={...B(),...A.value},pe(t.apiUrl,t.httpOptions).then(w).catch(P=>m(P))},we=(a,l,s)=>{T("dsg-table:row-clicked",a,l,s)},ye=(a,l,s)=>{T("dsg-table:row-dblclick",a,l,s)},Be=(a,l,s)=>{},Ce=(a,l,s,w)=>{},Ee=(a,l,s,w)=>{},Pe=(a,l,s,w)=>{},Se=(a,l,s)=>{};e.onMounted(()=>{t.apiMode===!0?z():ne()});const oe=()=>{t.apiMode&&($.value=[],W(),z())};return D({changePage:v,reload:oe,getData:i,setData:o,setLoading:a=>{k.value=a,T("dsg-table:loading",k.value)},expandRow:G,collapseRow:J,toggleRowExpand:q,expandAllRows:X,collapseAllRows:Z,getExpandedRows:_,isRowExpanded:F}),(a,l)=>(e.openBlock(),e.createElementBlock("div",tt,[e.createElementVNode("div",{ref:"dsgTableBodyWrapper",class:e.normalizeClass(["dsg-table-body-wrapper",{"fixed-header":M.value}]),style:e.normalizeStyle({height:t.tableHeight||void 0})},[e.createElementVNode("table",{class:e.normalizeClass(["dsg-table-main",M.value?"fixed-header":"",n.value.table,"table-"+t.tableLayout])},[e.createElementVNode("colgroup",{span:L.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(s,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[s?.visible?(e.openBlock(),e.createElementBlock("col",{key:w,style:e.normalizeStyle({width:s.width||void 0}),class:e.normalizeClass("dsg-table--col-"+s.name+" "+s.titleClass)},null,6)):e.createCommentVNode("",!0)],64))),256)),!M.value&&b.value?(e.openBlock(),e.createElementBlock("col",{key:0,style:e.normalizeStyle({width:E.value}),class:"dsg-table--col-gutter"},null,4)):e.createCommentVNode("",!0)],8,at),e.createElementVNode("thead",{class:e.normalizeClass([[n.value.thead,{sticky:M.value,"top-0":M.value}],"dsg-table--head"])},[e.renderSlot(a.$slots,"tableHeader",{fields:u.value},()=>[e.createVNode(ce,{fields:u.value,"has-select-all":t.selectable,"selected-rows":$.value,"onUpdate:selectedRows":l[0]||(l[0]=s=>$.value=s),"has-selected":H.value,"onUpdate:hasSelected":l[1]||(l[1]=s=>H.value=s),"scroll-visible":b.value,"show-expand-detail":t.hasDetailRow&&t.showExpandDetail,"table-data-length":f.value?.length,"sort-field":h.value,"onUpdate:sortField":l[2]||(l[2]=s=>h.value=s),"onDsgTable:sortField":l[3]||(l[3]=s=>oe()),"onDsgTable:onSelectAll":ee,"onDsgTable:onDeselectAll":r},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])},[k.value?(e.openBlock(),e.createElementBlock("tr",lt,[e.createElementVNode("td",{colspan:L.value},[e.createElementVNode("div",{"aria-label":"Loading...",role:"status",class:"flex items-center space-x-3 h-12 w-full justify-center",colspan:L.value},[e.renderSlot(a.$slots,"dsg-table-loading",{},()=>[e.createVNode(y._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,ot)],8,nt)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(s,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w},[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table--tbody-row",Y(s,w)]),onClick:m=>we(m,w,s),onDblclick:m=>ye(m,w,s),onMouseover:m=>Be()},[t.selectable?(e.openBlock(),e.createElementBlock("td",rt,[e.createVNode(y._sfc_main$2,{modelValue:s.selected,"onUpdate:modelValue":[m=>s.selected=m,m=>O(s)]},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0),t.hasDetailRow&&t.expandableRows?(e.openBlock(),e.createElementBlock("td",it,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["dsg-table--expand-toggle",{"is-expanded":F(s)}]),"aria-expanded":F(s),"aria-label":"Toggle row details",onClick:e.withModifiers(m=>q(s,w),["stop"])},[e.createVNode(y._sfc_main,{icon:"chevron-right",size:"sm",class:"dsg-table--expand-icon"})],10,dt)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.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=>Ce(),onDblclick:U=>Ee(),onContextmenu:U=>Pe()},[e.renderSlot(a.$slots,K(m),{rowData:s,rowIndex:w,rowField:m},()=>[e.createElementVNode("span",{innerHTML:Q(m,s)},null,8,ut)])],46,ct)):e.createCommentVNode("",!0)],64))),128))],42,st),t.hasDetailRow&&(!t.expandableRows||F(s))?(e.openBlock(),e.createBlock(e.Transition,{key:0,name:t.detailRowTransition},{default:e.withCtx(()=>[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table--tbody-detail-row",{"is-expanded":t.expandableRows&&F(s)}]),onClick:m=>Se()},[e.createElementVNode("td",{colspan:L.value},[e.renderSlot(a.$slots,"dsg-table-detail-row",{rowData:s,rowIndex:w,options:t.detailRowOptions,isExpanded:t.expandableRows?F(s):!0})],8,mt)],10,gt)]),_:2},1032,["name"])):e.createCommentVNode("",!0)],64))),128)),!k.value&&!f.value?.length&&t.noDataTemplate.length?(e.openBlock(),e.createElementBlock("tr",ft,[e.createElementVNode("td",{colspan:L.value,class:"dsg-table--empty-result"},[e.renderSlot(a.$slots,"dsg-table-empty-result",{},()=>[e.createTextVNode(e.toDisplayString(t.noDataTemplate),1)])],8,vt)])):e.createCommentVNode("",!0)],2),e.createElementVNode("tfoot",bt,[e.renderSlot(a.$slots,"dsg-table-footer",{fields:u.value,data:f.value})])],2)],6)]))}}),kt={class:"dsg-table"},pt={key:0,class:"dsg-table--pre-header"},wt={class:"dsg-table--pre-header-left"},yt=["textContent"],Bt={class:"dsg-table--pre-header-right"},Ct={key:1,class:"dsg-table--search-header",ref:"dsgTableSearchHeaderEl"},Et={class:"dsg-table--search-top"},Pt={key:2,class:"dsg-table--footer",ref:"dsgTableFooterEl"},St={class:"dsg-table--footer-left"},Dt={class:"dsg-table--footer-center"},xt={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},replaceState:{type:Boolean,default:!0},replaceStrategy:{default:"window"},hasDetailRow:{type:Boolean,default:!1},expandableRows:{type:Boolean,default:!1},expandMultiple:{type:Boolean,default:!1},showExpandDetail:{type:Boolean,default:!0},detailRowTransition:{default:"fade"},detailRowOptions:{default:()=>({})}},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","dsg-table:row-expanded","dsg-table:row-collapsed"],setup(t,{expose:D,emit:g}){const d=r=>{k.value=r},C=e.ref(t.apiMode&&!!(t.filterEntity||t.filterEndpoint||t.getUrl)),x=()=>{if(C.value){let r={};return y.getQueryStrings().forEach(o=>{if(o.key.startsWith("filter[")){const i=o.key.replace("filter[","").replace("]",""),v=o.value;r[`filter[${i}]`]=v.join(",")}}),r}else return{}},u=e.computed(()=>({...t.css,tableWrapper:"border-b "+(t.css?.tableWrapper||"")})),f=e.useSlots(),V=e.ref(!0),S=e.ref(null),E=e.ref("<p>Showing {from} to {to} of {total}</p>"),b=e.ref(null),n=e.useTemplateRef("dsgTable"),c=e.ref({perPage:t.perPage,change:d}),k=e.ref(t.perPage),h=e.ref({...x(),...t.initialFilters}),p=g,N=r=>{n.value?.changePage(r)},A=r=>{b.value=r},I=({data:r})=>{S.value=r,p("dsg-table:data-loaded",r)},$=()=>{n.value?.reload()},H=r=>{n.value?.setLoading(r)},R=r=>{const o=n.value?.getData?.()??[];n.value?.setData(o.map(i=>i.id===r.id?r:i))},M=r=>{const o=n.value?.getData?.()??[];n.value?.setData([...o,r])},L=r=>{const o=n.value?.getData?.()??[];n.value?.setData(o.filter(i=>i.id!==r.id))},T=r=>{n.value?.setData(r)},Q=()=>n.value?.getData()??[],K=r=>{const o=n.value?.getData()??[],i=r(o);i&&n.value?.setData(i)},Y=r=>{n.value?.expandRow(r)},F=r=>{n.value?.collapseRow(r)},q=(r,o)=>{n.value?.toggleRowExpand(r,o)},G=()=>{n.value?.expandAllRows()},J=()=>{n.value?.collapseAllRows()},X=()=>n.value?.getExpandedRows()??new Set,Z=r=>{h.value=r},_=()=>h.value??{},O=r=>{const o={...h.value};!r||r.trim()===""?delete o["filter[term]"]:o["filter[term]"]=r,h.value=o,e.nextTick(()=>{$()}),p("dsg-table:term-changed",r)},ee=(r,o,i)=>{let v={};h.value["filter[term]"]&&(v["filter[term]"]=h.value["filter[term]"]),Object.keys(r).forEach(B=>{r[B]!==null&&r[B]!==void 0&&r[B]!==""&&(v[B]=r[B])}),h.value=v,e.nextTick(()=>{$()}),p("dsg-table:filter-updated",h.value,o,i)};return D({reloadTable:$,updateRowTable:R,addRowTable:M,deleteRowTable:L,setData:T,getData:Q,mutateData:K,termChanged:O,setFilters:Z,getFilters:_,setLoading:H,expandRow:Y,collapseRow:F,toggleRowExpand:q,expandAllRows:G,collapseAllRows:J,getExpandedRows:X,onChangePage:N}),(r,o)=>(e.openBlock(),e.createElementBlock("div",kt,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",pt,[e.renderSlot(r.$slots,"dsg-table--pre-header",{},()=>[e.createElementVNode("div",wt,[e.renderSlot(r.$slots,"dsg-table--page-title",{data:S.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,yt)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Bt,[e.renderSlot(r.$slots,"dsg-table--page-actions",{data:S.value})])])])):e.createCommentVNode("",!0),t.displaySearch?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("div",Et,[e.renderSlot(r.$slots,"dsg-table--search-header",{data:S.value},()=>[e.createVNode(de,{name:"term","onDsgTable:termChanged":o[0]||(o[0]=i=>O(i))}),e.createVNode(y._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]=(i,v,B)=>ee(i,v,B))},null,8,["entity","filter-endpoint","search-endpoint","auto-sort","filters"]),e.renderSlot(r.$slots,"dsg-table--search-actions",{data:S.value})])]),e.renderSlot(r.$slots,"dsg-table--search-navigation")],512)):e.createCommentVNode("",!0),e.createVNode(ht,{ref:"dsgTable","api-url":t.getUrl,"filter-params":h.value,"onUpdate:filterParams":o[7]||(o[7]=i=>h.value=i),"per-page":k.value,"onUpdate:perPage":o[8]||(o[8]=i=>k.value=i),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":C.value,"replace-state":t.replaceState,"replace-strategy":t.replaceStrategy,"has-detail-row":t.hasDetailRow,"expandable-rows":t.expandableRows,"expand-multiple":t.expandMultiple,"show-expand-detail":t.showExpandDetail,"detail-row-transition":t.detailRowTransition,"detail-row-options":t.detailRowOptions,"onDsgTable:loading":o[9]||(o[9]=i=>V.value=!0),"onDsgTable:loaded":o[10]||(o[10]=i=>V.value=!1),"onDsgTable:paginationData":A,"onDsgTable:loadSuccess":I,"onDsgTable:rowsSelected":o[11]||(o[11]=i=>p("dsg-table:rows-selected",i)),"onDsgTable:rowClicked":o[12]||(o[12]=(i,v,B)=>p("dsg-table:row-clicked",i,v,B)),"onDsgTable:rowHover":o[13]||(o[13]=(i,v,B)=>p("dsg-table:row-hover",i,v,B)),"onDsgTable:rowDblclick":o[14]||(o[14]=(i,v,B)=>p("dsg-table:row-dblclick",i,v,B)),"onDsgTable:rowExpanded":o[15]||(o[15]=(i,v)=>p("dsg-table:row-expanded",i,v)),"onDsgTable:rowCollapsed":o[16]||(o[16]=(i,v)=>p("dsg-table:row-collapsed",i,v))},e.createSlots({"dsg-field--actions":e.withCtx(i=>[e.renderSlot(r.$slots,"dsg-table-actions",{data:i},()=>[(e.openBlock(),e.createBlock(ie,{key:i.rowIndex,data:i,"onDsgTable:actionEdit":o[2]||(o[2]=(v,B)=>p("dsg-table:action-edit",v,B)),"onDsgTable:actionView":o[3]||(o[3]=(v,B)=>p("dsg-table:action-view",v,B)),"onDsgTable:actionDelete":o[4]||(o[4]=(v,B)=>p("dsg-table:action-delete",v,B)),"onDsgTable:actionArchive":o[5]||(o[5]=(v,B)=>p("dsg-table:action-archive",v,B)),"onDsgTable:linkClicked":o[6]||(o[6]=(v,B,W)=>p("dsg-table:link-clicked",v,B,W))},null,8,["data"]))])]),_:2},[e.renderList(e.unref(f),(i,v)=>({name:v,fn:e.withCtx(B=>[String(v)!=="dsg-field--actions"?e.renderSlot(r.$slots,v,e.normalizeProps(e.mergeProps({key:0},B))):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","has-detail-row","expandable-rows","expand-multiple","show-expand-detail","detail-row-transition","detail-row-options"]),t.hasFooter?(e.openBlock(),e.createElementBlock("div",Pt,[e.createElementVNode("div",St,[e.renderSlot(r.$slots,"dsg-table--footer-left",{data:b.value,perPage:c.value},()=>[t.displayPaginationInfo?(e.openBlock(),e.createBlock(re,{key:0,ref:"paginationInfoStart",pagination:b.value,"onUpdate:pagination":o[17]||(o[17]=i=>b.value=i),"info-template":E.value},null,8,["pagination","info-template"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"dsg-table--footer-left-extras",{data:b.value,perPage:c.value})])]),e.createElementVNode("div",Dt,[e.renderSlot(r.$slots,"dsg-table--footer-center",{data:b.value,perPage:c.value},()=>[e.renderSlot(r.$slots,"dsg-table--footer-center-extras",{data:b.value,perPage:c.value})])]),e.createElementVNode("div",xt,[e.renderSlot(r.$slots,"dsg-table--footer-right",{data:b.value,perPage:c.value},()=>[V.value===!1&&t.displayPaginationInfo?(e.openBlock(),e.createBlock(se,{key:0,ref:"pagination",pagination:b.value,"onUpdate:pagination":o[18]||(o[18]=i=>b.value=i),"onDsgTable:changePage":N},null,8,["pagination"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"dsg-table--footer-right-extras",{data:b.value,perPage:c.value})])])],512)):e.createCommentVNode("",!0)]))}}),$t={class:"dsg-table--per-page"},Tt=["value","textContent"],Nt=e.defineComponent({__name:"DsgTablePerPage",props:{perPageOptions:{default:()=>[10,20,30,50,100]},perPage:{}},setup(t){return(D,g)=>(e.openBlock(),e.createElementBlock("div",$t,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":g[0]||(g[0]=d=>t.perPage.perPage=d),class:"dsg-table--per-page-select",onChange:g[1]||(g[1]=d=>t.perPage.change(t.perPage.perPage))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d,textContent:e.toDisplayString(d)},null,8,Tt))),128))],544),[[e.vModelSelect,t.perPage.perPage]])]))}}),ue=Vt,ge=ie,me=Nt,fe=y._sfc_main$7,ve=se,be=re,he=de,ke=ce,Rt={DsgTable:ue,DsgTableActions:ge,DsgTablePerPage:me,DsgTableFilter:fe,DsgTablePagination:ve,DsgTablePaginationInfo:be,DsgTableSearch:he,DsgTableRowHeader:ke};exports.DsgTable=ue;exports.DsgTableActions=ge;exports.DsgTableFilter=fe;exports.DsgTablePagination=ve;exports.DsgTablePaginationInfo=be;exports.DsgTablePerPage=me;exports.DsgTableRowHeader=ke;exports.DsgTableSearch=he;exports.default=Rt;