@dcodegroup-au/dsg-vue 1.0.4-next → 1.0.5-next

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