@dcodegroup-au/dsg-vue 1.0.1-next.1 → 1.0.2-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.
@@ -6,6 +6,9 @@ import { Placement as FloatingVuePlacement } from 'floating-vue';
6
6
  */
7
7
  export interface DsgTableActionsProps {
8
8
  placement?: FloatingVuePlacement;
9
+ data?: {
10
+ rowData?: Record<string, any>;
11
+ };
9
12
  }
10
13
  declare function __VLS_template(): {
11
14
  attrs: Partial<{}>;
@@ -193,34 +196,10 @@ declare function __VLS_template(): {
193
196
  };
194
197
  } | {
195
198
  methods: {
196
- show(
197
- /**
198
- * ------------------------------------------------
199
- * # Import: Dependencies
200
- * ------------------------------------------------
201
- */
202
- ...args: any[]): any;
203
- hide(
204
- /**
205
- * ------------------------------------------------
206
- * # Import: Dependencies
207
- * ------------------------------------------------
208
- */
209
- ...args: any[]): any;
210
- dispose(
211
- /**
212
- * ------------------------------------------------
213
- * # Import: Dependencies
214
- * ------------------------------------------------
215
- */
216
- ...args: any[]): any;
217
- onResize(
218
- /**
219
- * ------------------------------------------------
220
- * # Import: Dependencies
221
- * ------------------------------------------------
222
- */
223
- ...args: any[]): any;
199
+ show(...args: any[]): any;
200
+ hide(...args: any[]): any;
201
+ dispose(...args: any[]): any;
202
+ onResize(...args: any[]): any;
224
203
  };
225
204
  }, import('vue').ComponentOptionsMixin, {
226
205
  show: () => true;
@@ -724,34 +703,10 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableActionsProp
724
703
  };
725
704
  } | {
726
705
  methods: {
727
- show(
728
- /**
729
- * ------------------------------------------------
730
- * # Import: Dependencies
731
- * ------------------------------------------------
732
- */
733
- ...args: any[]): any;
734
- hide(
735
- /**
736
- * ------------------------------------------------
737
- * # Import: Dependencies
738
- * ------------------------------------------------
739
- */
740
- ...args: any[]): any;
741
- dispose(
742
- /**
743
- * ------------------------------------------------
744
- * # Import: Dependencies
745
- * ------------------------------------------------
746
- */
747
- ...args: any[]): any;
748
- onResize(
749
- /**
750
- * ------------------------------------------------
751
- * # Import: Dependencies
752
- * ------------------------------------------------
753
- */
754
- ...args: any[]): any;
706
+ show(...args: any[]): any;
707
+ hide(...args: any[]): any;
708
+ dispose(...args: any[]): any;
709
+ onResize(...args: any[]): any;
755
710
  };
756
711
  }, import('vue').ComponentOptionsMixin, {
757
712
  show: () => true;
@@ -1,2 +1,2 @@
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-eTosSqko.cjs"),G=require("./dsg-vue.helpers-string.cjs"),le=require("./dsg-vue.helpers-object.cjs"),Ie=require("./dsg-vue.helpers.cjs"),Oe={class:"dsg-table-pagination"},We=["disabled"],je=["disabled"],Ke=["onClick","innerHTML"],Qe=["onClick","innerHTML"],Ye=["disabled"],Ge=["disabled"],me=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 c=e.useModel(t,"pagination"),S=e.computed(()=>c.value===null?0:c.value?.last_page-t.firstPage+1),$=e.computed(()=>c.value===null?0:c.value?.last_page),g=e.computed(()=>c.value===null?!1:c.value?.current_page===t.firstPage),m=e.computed(()=>c.value===null?!1:c.value?.current_page===$.value),V=e.computed(()=>S.value<t.onEachSide*2+4),P=e.computed(()=>t.onEachSide*2+1),E=e.computed(()=>!c.value||c.value?.current_page<=t.onEachSide?1:c.value?.current_page>=S.value-t.onEachSide?S.value-t.onEachSide*2:c.value?.current_page-t.onEachSide),h=f,n=w=>{h("dsg-table:change-page",w)},u=w=>w===c.value?.current_page;return x({loadPage:n}),(w,k)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Oe,[t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:k[0]||(k[0]=p=>n(t.firstPage)),class:e.normalizeClass(["dsg-table-pagination__link",{"dsg-table-pagination__link--disabled":g.value}]),disabled:g.value,title:"First","aria-label":"First"},[e.createVNode(y._sfc_main,{icon:t.firstIcon,size:"sm"},null,8,["icon"])],10,We)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:k[1]||(k[1]=p=>n("prev")),class:e.normalizeClass(["dsg-table-pagination__link",{"dsg-table-pagination__link--disabled":g.value}]),disabled:g.value,title:"Previous","aria-label":"Previous"},[e.createVNode(y._sfc_main,{icon:t.prevIcon,size:"sm"},null,8,["icon"])],10,je),V.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(S.value,(p,R)=>(e.openBlock(),e.createElementBlock("a",{key:R,onClick:I=>n(R+t.firstPage),class:e.normalizeClass(["dsg-table-pagination__link",{"dsg-table-pagination__link--active":u(R+t.firstPage)}]),innerHTML:p},null,10,Ke))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(P.value,(p,R)=>(e.openBlock(),e.createElementBlock("a",{key:R,onClick:I=>n(E.value+R+t.firstPage-1),class:e.normalizeClass(["dsg-table-pagination__link",{"dsg-table-pagination__link--active":u(E.value+R+t.firstPage-1)}]),innerHTML:E.value+p-1},null,10,Qe))),128)),e.createElementVNode("a",{onClick:k[2]||(k[2]=p=>n("next")),class:e.normalizeClass(["dsg-table-pagination__link",{"dsg-table-pagination__link--disabled":m.value}]),disabled:m.value,title:"Next","aria-label":"Next"},[e.createVNode(y._sfc_main,{icon:t.nextIcon,size:"sm"},null,8,["icon"])],10,Ye),t.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:k[3]||(k[3]=p=>n($.value)),class:e.normalizeClass(["dsg-table-pagination__link",{"dsg-table-pagination__link--disabled":m.value}]),disabled:m.value,title:"Last","aria-label":"Last"},[e.createVNode(y._sfc_main,{icon:t.lastIcon,size:"sm"},null,8,["icon"])],10,Ge)):e.createCommentVNode("",!0)],512)),[[e.vShow,c.value&&$.value>t.firstPage]])}}),Je=["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(c,S)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table-pagination-info",innerHTML:f.value},null,8,Je))}}),Xe={class:"dsg-table-actions",ref:"dsgTableActions"},Ze={class:"dsg-table-action__trigger"},_e={key:0,class:"dsg-table-actions__menu-wrapper"},et=["href","target","onClick"],tt=["textContent"],at={key:0},lt={key:1},nt=["href","target","onClick"],ot={class:"flex-1"},be=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:x}){const f=e.ref(!1);e.useTemplateRef("dsgTableActions");const c=e.useAttrs(),S=e.ref(c.data.rowData?.actions??null),$=e.ref(c.data.rowData?.links??null),g=e.ref(c.data.rowData??null),m=h=>{switch(h){case"edit":return"edit-05";case"view":return"eye";case"delete":return"trash-01";case"archive":return"eye-off";default:return"dots-horizontal"}},V=(h,n,u)=>{switch(n){case"edit":E("dsg-table:action-edit",u,g.value);break;case"view":E("dsg-table:action-view",u,g.value);break;case"delete":E("dsg-table:action-delete",u,g.value);break;case"archive":E("dsg-table:action-archive",u,g.value);break}},P=(h,n)=>{const u=h.actionId||h.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");E("dsg-table:link-clicked",n,u,g.value)},E=x;return(h,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Xe,[e.createVNode(e.unref(y.kt),{triggers:[],placement:t.placement,"handle-resize":!0,strategy:"absolute",shown:f.value,class:"dsg-table-actions__popper",onHide:n[1]||(n[1]=u=>f.value=!1),ref:"floatingVueFilterDropdown"},{popper:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(u,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete","archive"].includes(String(w))?(e.openBlock(),e.createElementBlock("a",{key:w,href:u?.link,target:u?.target||"_self",onClick:k=>V(u,String(w),k)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table-actions__menu-item",`dsg-table-actions__menu-item--${String(w)}`])},[e.createVNode(y._sfc_main,{icon:m(String(w)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"dsg-table-actions__menu-item-id",textContent:e.toDisplayString(e.unref(G.ucfirst)(String(w)))},null,8,tt)],2)],8,et)):e.createCommentVNode("",!0)],64))),256)),S.value&&$.value?(e.openBlock(),e.createElementBlock("hr",at)):e.createCommentVNode("",!0),$.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList($.value,u=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u.label},[u.hasOwnProperty("component")?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.component),{key:0,quote:e.unref(c).data.data.rowData,"row-data":e.unref(c).data.data.rowData},null,8,["quote","row-data"])):u.hasOwnProperty("type")&&u.type=="break"?(e.openBlock(),e.createElementBlock("hr",lt)):(e.openBlock(),e.createElementBlock("a",{key:2,href:u.link,target:u.target||"_self",class:e.normalizeClass(["dsg-table-actions__menu-item",u.class]),onClick:w=>P(u,w)},[u.icon?(e.openBlock(),e.createBlock(y._sfc_main,{key:0,icon:u.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",ot,e.toDisplayString(u.label),1)],10,nt))],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]=u=>f.value=!f.value)},[e.renderSlot(h.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(y._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(y.vOnClickOutside),()=>f.value=!1]])}}),st={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 g=new URL(window.location.href).searchParams.get("term");g&&(f.value=g,c("dsg-table:term-changed",g))});const c=x,S=y.useDebounceFn($=>{if(f.value=$,t.replaceState){const g=new URL(window.location.href);f.value?g.searchParams.set("term",f.value):g.searchParams.delete("term"),window.history.pushState({},"",g.toString())}c("dsg-table:term-changed",f.value)},300);return($,g)=>(e.openBlock(),e.createElementBlock("div",st,[e.createVNode(y._sfc_main$4,{modelValue:f.value,"onUpdate:modelValue":g[0]||(g[0]=m=>f.value=m),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:g[1]||(g[1]=m=>e.unref(S)(m)),onEnterPressed:g[2]||(g[2]=m=>e.unref(S)(m)),onOnClear:g[3]||(g[3]=()=>e.unref(S)(""))},null,8,["modelValue","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),rt={class:"dsg-table-row-header"},it={key:0,class:"dsg-table-row-header__row dsg-table-row-header__row--checkbox",scope:"col"},dt={key:1,class:"dsg-table-row-header__row dsg-table-row-header__row--expand-detail",scope:"col"},ct=["title","id","onClick"],ut={key:0,class:"dsg-table-row-header__sort-icon"},gt=["innerHTML"],ft=["innerHTML"],mt=["innerHTML"],vt=["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"),c=e.useModel(t,"selectedRows"),S=e.useModel(t,"hasSelected"),$=e.ref("17px"),g=E=>{S.value&&c.value.length>0&&c.value.length!==t.tableDataLength?(S.value=!0,m("dsg-table:on-select-all")):!S.value&&c.value.length===0?(S.value=!1,m("dsg-table:on-select-all")):m("dsg-table:on-deselect-all")},m=x,V=(E,h)=>[E,E+"-"+G.toSnakeCase(String(h?.name)),h.titleClass||"",{"dsg-table-row-header__row--sortable":h.sortable},{"dsg-table-row-header__row--sort-active":f.value?.name===h.name}],P=E=>{E.sortable&&(f.value={name:String(E?.name),field:String(E?.sortField),direction:f.value?.name===E.name&&f.value?.direction==="asc"?"desc":"asc"},m("dsg-table:sort-field",E))};return(E,h)=>(e.openBlock(),e.createElementBlock("tr",rt,[t.hasSelectAll?(e.openBlock(),e.createElementBlock("th",it,[e.createVNode(y._sfc_main$2,{modelValue:S.value,"onUpdate:modelValue":[h[0]||(h[0]=n=>S.value=n),g],indeterminate:c.value.length>0&&c.value.length!==t.tableDataLength},null,8,["modelValue","indeterminate"])])):e.createCommentVNode("",!0),t.showExpandDetail?(e.openBlock(),e.createElementBlock("th",dt)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,(n,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n?.visible?(e.openBlock(),e.createElementBlock("th",{key:u,class:e.normalizeClass(V("dsg-table-row-header__row",n)),style:e.normalizeStyle([{width:n.width||void 0},n.style]),title:n.title+(n.sortable?" Sort":""),id:"_"+n.name,onClick:w=>P(n),scope:"col"},[n.sortable?(e.openBlock(),e.createElementBlock("div",ut,[n.tooltip?(e.openBlock(),e.createBlock(y._sfc_main$1,e.mergeProps({key:0,ref_for:!0},n.tooltip,{class:"dsg-table-row-header__tooltip"}),{"dsg-tooltip--trigger":e.withCtx(()=>[n.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table-row-header__title",innerHTML:n.title},null,8,gt)):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-row-header__title",innerHTML:n.title},null,8,ft)):e.createCommentVNode("",!0),n.sortable&&f.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&&f.value?.name===n.name&&f.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&&f.value?.name===n.name&&f.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-row-header__tooltip"}),{"dsg-tooltip--trigger":e.withCtx(()=>[e.createElementVNode("span",{class:"dsg-table-row-header__title",innerHTML:e.unref(G.ucwords)(String(n?.title))},null,8,mt),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-row-header__title",innerHTML:e.unref(G.ucwords)(String(n?.title))},null,8,vt))],64))],14,ct)):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)]))}}),bt=["span"],ht={key:0,class:"dsg-table-component__loading"},kt=["colspan"],wt=["colspan"],pt=["onClick","onDblclick","onMouseover","onMouseenter"],yt=["onClickCapture"],Bt={key:1,class:"dsg-table-component__cell dsg-table-component__cell--expand"},Ct=["aria-expanded","onClick"],St=["onClick","onDblclick","onContextmenu"],Et=["innerHTML"],Pt=["onClick"],Dt=["colspan"],xt={key:2},$t=["colspan"],Vt={class:"dsg-table-component__footer"},Tt=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 c=a=>a.map((l,o)=>({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:o})),S=()=>{if(!t.apiMode)return null;const l=y.getQueryStrings().find(o=>o.key===t.queryParams.sort);if(l&&l.value.length>0){const o=l.value[0],v=o.startsWith("-"),d=v?o.substring(1):o,C=t.fields.find(F=>F.sortField===d||F.name===d||F.field===d);return C?{name:String(C.name||C.field),field:d,direction:v?"desc":"asc"}:{name:d,field:d,direction:v?"desc":"asc"}}return null},$=()=>{if(!(!t.apiMode||!t.replaceState)&&t.replaceStrategy==="window"){const a=new URL(window.location.href),l=new URLSearchParams(a.search);if(l.delete(t.queryParams.sort),k.value){const v=(k.value.direction==="desc"?"-":"")+k.value.field;l.set(t.queryParams.sort,v)}const o=`${a.pathname}${l.toString()?"?"+l.toString():""}`;window.history.pushState({},"",o)}},g=e.ref(c(t.fields)),m=e.ref(t.data),V=e.ref(null),P=e.ref(t.initialPage),E=e.ref("17px"),h=e.ref(!1),n=e.ref({}),u=e.ref(0),w=e.ref(!0),k=e.ref(S()),p=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),A=e.computed(()=>t.tableHeight!=null),U=e.computed(()=>{let a=g.value.filter(l=>l.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});e.watch(()=>D.value.length,a=>{O.value=t.selectable&&a>0},{immediate:!0}),e.watch(()=>t.fields,a=>{g.value=c(a)},{immediate:!0,deep:!0}),e.watch(()=>I.value,a=>{q()},{deep:!0}),e.watch(()=>j.value,()=>{q()}),e.watch(()=>t.apiUrl,(a,l)=>{t.apiMode&&a!==l&&a&&q()}),e.watch(()=>k.value,()=>{$()},{deep:!0});const T=f,X=(a,l)=>a.formatter&&typeof a.formatter=="function"?a.formatter(a,l):le.data_get(l,String(a?.name),""),Z=a=>"dsg-field--"+a.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),_=(a,l)=>{const o={odd:l%2===0,even:l%2!==0,"dsg-table-component__row--selected":a.selected};if(!t.rowClass)return o;let v={};if(typeof t.rowClass=="function"){const d=t.rowClass(a,l);typeof d=="string"?d.split(" ").forEach(C=>{C.trim()&&(v[C.trim()]=!0)}):Array.isArray(d)?d.forEach(C=>{typeof C=="string"&&C.trim()&&(v[C.trim()]=!0)}):typeof d=="object"&&d!==null&&(v=d)}else typeof t.rowClass=="string"&&t.rowClass.split(" ").forEach(d=>{d.trim()&&(v[d.trim()]=!0)});return{...o,...v}},H=a=>M.value.has(a[t.trackBy]),K=(a,l)=>{const o=a[t.trackBy];M.value.has(o)?(M.value.delete(o),T("dsg-table:row-collapsed",a,l)):(t.expandMultiple||M.value.clear(),M.value.add(o),T("dsg-table:row-expanded",a,l))},ee=a=>{const l=a[t.trackBy];M.value.has(l)||(t.expandMultiple||M.value.clear(),M.value.add(l))},Q=a=>{M.value.delete(a[t.trackBy])},te=()=>{m.value?.forEach(a=>{M.value.add(a[t.trackBy])})},s=()=>{M.value.clear()},r=()=>M.value,i=(a,l)=>{if(t.selectable){if(l!==void 0&&(N.value=l),a.selected)D.value.push(a);else{const o=D.value.findIndex(v=>v[t.trackBy]===a[t.trackBy]);o!==-1&&D.value.splice(o,1)}T("dsg-table:rows-selected",D.value)}},b=(a,l,o)=>{if(t.selectable&&a.shiftKey&&N.value!==null){a.stopPropagation(),a.preventDefault();const v=Math.min(N.value,o),d=Math.max(N.value,o),C=!l.selected;for(let F=v;F<=d;F++){if(F===N.value)continue;const W=m.value?.[F];if(W){const ge=W.selected;if(W.selected=C,C&&!ge)D.value.push(W);else if(!C&&ge){const fe=D.value.findIndex(qe=>qe[t.trackBy]===W[t.trackBy]);fe!==-1&&D.value.splice(fe,1)}}}N.value=o,L.value=null,T("dsg-table:rows-selected",D.value)}},B=()=>{t.selectable&&(m.value?.forEach(a=>{a.selected=!0}),D.value=m.value?.filter(a=>a.selected)??[],N.value=null,T("dsg-table:rows-selected",D.value))},ae=()=>{t.selectable&&(m.value?.forEach(a=>{a.selected=!1}),D.value=[],N.value=null,T("dsg-table:rows-selected",D.value))},Y=a=>{m.value=Array.isArray(a)?a:[],t.selectable&&(N.value=null,m.value.forEach(l=>{l.selected=l.selected??!1}))},De=()=>m.value??[],xe=a=>{a==="prev"?P.value>t.firstPage&&P.value--:a==="next"?P.value<(V.value?.last_page??0)&&P.value++:a!=P.value&&a>=t.firstPage&&a<=(V.value?.last_page??0)&&(P.value=a),q()},$e=()=>({[t.queryParams?.sort]:k.value?(k.value?.direction==="desc"?"-":"")+k.value?.field:void 0,[t.queryParams?.order]:k.value?.direction,[t.queryParams?.page]:P.value,[t.queryParams?.perPage]:j.value}),ne=()=>{p.value&&(p.value.abort(),p.value=null)},Ve=(a,l)=>{ne(),R.value++;const o=R.value,v=new AbortController;return l.signal=v.signal,p.value=v,(t.httpMethod.toLowerCase()==="get"?y.axios.get(a,l):(()=>{const C=l.params;return delete l.params,y.axios.post(a,C,l)})()).then(C=>({...C,_requestId:o,_apiUrl:a}),C=>{throw C.name==="AbortError"||C.code==="ERR_CANCELED"?{...C,_requestId:o,_cancelled:!0}:{...C,_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 l=t.transform?t.transform(a.data):a.data;m.value=le.data_get(l,t.dataPath,null),t.selectable&&(N.value=null,m.value?.forEach(o=>{o.selected=o.selected??!1})),V.value=le.data_get(l,t.paginationPath,null)??null,u.value=m.value?.length?m.value[0].order:u,!Ie.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&&P.value>(V.value?.last_page||0)&&m.value?.length===0&&(P.value=t.initialPage,q()),T("dsg-table:loaded"),w.value=!1},se=a=>{a._requestId&&a._requestId!==R.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"),w.value=!1)},re=()=>{if(t.data!==null&&Array.isArray(t.data)){Y(t.data),w.value=!1;return}if(t.dataManager&&typeof t.dataManager=="function"){const a=t.dataManager();Y(a),w.value=!1}else Y(t.data),w.value=!1},q=(a=oe,l=se,o={})=>{const v=a||oe,d=l||se;if(!t.apiMode){re();return}return w.value=!0,T("dsg-table:loading",w.value),t.httpOptions.params={...$e(),...I.value},Ve(t.apiUrl,t.httpOptions).then(v).catch(C=>d(C))},Te=(a,l,o)=>{T("dsg-table:row-clicked",a,l,o)},Ne=(a,l,o)=>{T("dsg-table:row-dblclick",a,l,o)},Re=(a,l,o)=>{},Me=(a,l,o,v)=>{},Fe=(a,l,o,v)=>{},Le=(a,l,o,v)=>{},ze=(a,l,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},He=a=>{t.selectable&&z.value&&N.value!==null&&(L.value=a)},Ae=()=>{L.value=null},Ue=a=>{if(!t.selectable||!z.value||N.value===null||L.value===null)return!1;const l=Math.min(N.value,L.value),o=Math.max(N.value,L.value);return a>=l&&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:xe,reload:ue,getData:De,setData:Y,setLoading:a=>{w.value=a,T("dsg-table:loading",w.value)},expandRow:ee,collapseRow:Q,toggleRowExpand:K,expandAllRows:te,collapseAllRows:s,getExpandedRows:r,isRowExpanded:H}),(a,l)=>(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":A.value}]),style:e.normalizeStyle({height:t.tableHeight||void 0})},[e.createElementVNode("table",{class:e.normalizeClass(["dsg-table-component__main",A.value?"dsg-table-component__main--fixed-header":"","dsg-table-component__main--"+t.tableLayout,n.value.table])},[e.createElementVNode("colgroup",{span:U.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(o,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o?.visible?(e.openBlock(),e.createElementBlock("col",{key:v,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)),!A.value&&h.value?(e.openBlock(),e.createElementBlock("col",{key:0,style:e.normalizeStyle({width:E.value}),class:"dsg-table-component__col-gutter"},null,4)):e.createCommentVNode("",!0)],8,bt),e.createElementVNode("thead",{class:e.normalizeClass([[n.value.thead,{sticky:A.value,"top-0":A.value}],"dsg-table-component__head"])},[e.renderSlot(a.$slots,"tableHeader",{fields:g.value},()=>[e.createVNode(ke,{fields:g.value,"has-select-all":t.selectable,"selected-rows":D.value,"onUpdate:selectedRows":l[0]||(l[0]=o=>D.value=o),"has-selected":O.value,"onUpdate:hasSelected":l[1]||(l[1]=o=>O.value=o),"scroll-visible":h.value,"show-expand-detail":t.hasDetailRow&&t.showExpandDetail,"table-data-length":m.value?.length,"sort-field":k.value,"onUpdate:sortField":l[2]||(l[2]=o=>k.value=o),"onDsgTable:sortField":l[3]||(l[3]=o=>ue()),"onDsgTable:onSelectAll":B,"onDsgTable:onDeselectAll":ae},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",n.value.tbody])},[w.value?(e.openBlock(),e.createElementBlock("tr",ht,[e.createElementVNode("td",{colspan:U.value},[e.createElementVNode("div",{"aria-label":"Loading...",role:"status",class:"flex items-center space-x-3 h-12 w-full justify-center",colspan:U.value},[e.renderSlot(a.$slots,"dsg-table-loading",{},()=>[e.createVNode(y._sfc_main,{icon:"loading-02",class:"animate-spin"}),l[5]||(l[5]=e.createElementVNode("span",{class:"text-xs font-medium text-gray-500"},"Loading...",-1))])],8,wt)],8,kt)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.value,(o,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:v},[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table-component__row",[_(o,v),{"dsg-table-component__row--shift-range":t.selectable&&Ue(v)}]]),onClick:d=>Te(d,v,o),onDblclick:d=>Ne(d,v,o),onMouseover:d=>Re(),onMouseenter:d=>He(v),onMouseleave:l[4]||(l[4]=d=>Ae())},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:"dsg-table-component__cell dsg-table-component__cell--checkbox",onClickCapture:d=>b(d,o,v)},[e.createVNode(y._sfc_main$2,{modelValue:o.selected,"onUpdate:modelValue":[d=>o.selected=d,d=>i(o,v)]},null,8,["modelValue","onUpdate:modelValue"])],40,yt)):e.createCommentVNode("",!0),t.hasDetailRow&&t.expandableRows?(e.openBlock(),e.createElementBlock("td",Bt,[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(d=>K(o,v),["stop"])},[e.createVNode(y._sfc_main,{icon:"chevron-right",size:"sm",class:"dsg-table-component__expand-icon"})],10,Ct)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(d,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[d.visible?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(["dsg-table-component__cell",d.dataClass]),style:e.normalizeStyle({width:d.width||void 0}),onClick:F=>Me(),onDblclick:F=>Fe(),onContextmenu:F=>Le()},[e.renderSlot(a.$slots,Z(d),{rowData:o,rowIndex:v,rowField:d},()=>[e.createElementVNode("span",{innerHTML:X(d,o)},null,8,Et)])],46,St)):e.createCommentVNode("",!0)],64))),128))],42,pt),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:d=>ze()},[e.createElementVNode("td",{colspan:U.value},[e.renderSlot(a.$slots,"dsg-table-detail-row",{rowData:o,rowIndex:v,options:t.detailRowOptions,isExpanded:t.expandableRows?H(o):!0})],8,Dt)],10,Pt)]),_:2},1032,["name"])):e.createCommentVNode("",!0)],64))),128)),!w.value&&!m.value?.length&&t.noDataTemplate.length?(e.openBlock(),e.createElementBlock("tr",xt,[e.createElementVNode("td",{colspan:U.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",Vt,[e.renderSlot(a.$slots,"dsg-table-footer",{fields:g.value,data:m.value})])],2)],6)],6))}}),Nt={class:"dsg-table"},Rt={key:0,class:"dsg-table__pre-header"},Mt={class:"dsg-table--pre-header-left"},Ft=["textContent"],Lt={class:"dsg-table__pre-header-right"},zt={key:1,class:"dsg-table__search-header",ref:"dsgTableSearchHeaderEl"},Ht={class:"dsg-table__search-top"},At={key:2,class:"dsg-table__footer",ref:"dsgTableFooterEl"},Ut={class:"dsg-table__footer-left"},qt={class:"dsg-table__footer-center"},It={class:"dsg-table__footer-right"},Ot=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:f}){const c=s=>{w.value=s},S=e.ref(t.apiMode&&!!(t.filterEntity||t.filterEndpoint||t.getUrl)),$=()=>{if(S.value){let s={};return y.getQueryStrings().forEach(r=>{if(r.key.startsWith("filter[")){const i=r.key.replace("filter[","").replace("]",""),b=r.value;s[`filter[${i}]`]=b.join(",")}}),s}else return{}},g=e.computed(()=>({...t.css,tableWrapper:"border-b "+(t.css?.tableWrapper||"")})),m=e.useSlots(),V=e.ref(!0),P=e.ref(null),E=e.ref("<p>Showing {from} to {to} of {total}</p>"),h=e.ref(null),n=e.useTemplateRef("dsgTable"),u=e.ref({perPage:t.perPage,change:c}),w=e.ref(t.perPage),k=e.ref({...$(),...t.initialFilters}),p=f,R=s=>{n.value?.changePage(s)},I=s=>{h.value=s},j=({data:s})=>{P.value=s,p("dsg-table:data-loaded",s)},D=()=>{n.value?.reload()},O=s=>{n.value?.setLoading(s)},M=s=>{const r=n.value?.getData?.()??[];n.value?.setData(r.map(i=>i.id===s.id?s:i))},N=s=>{const r=n.value?.getData?.()??[];n.value?.setData([...r,s])},L=s=>{const r=n.value?.getData?.()??[];n.value?.setData(r.filter(i=>i.id!==s.id))},z=s=>{n.value?.setData(s)},A=()=>n.value?.getData()??[],U=s=>{const r=n.value?.getData()??[],i=s(r);i&&n.value?.setData(i)},J=s=>{n.value?.expandRow(s)},T=s=>{n.value?.collapseRow(s)},X=(s,r)=>{n.value?.toggleRowExpand(s,r)},Z=()=>{n.value?.expandAllRows()},_=()=>{n.value?.collapseAllRows()},H=()=>n.value?.getExpandedRows()??new Set,K=s=>{k.value=s},ee=()=>k.value??{},Q=s=>{const r={...k.value};!s||s.trim()===""?delete r["filter[term]"]:r["filter[term]"]=s,k.value=r,e.nextTick(()=>{D()}),p("dsg-table:term-changed",s)},te=(s,r,i)=>{let b={};k.value["filter[term]"]&&(b["filter[term]"]=k.value["filter[term]"]),Object.keys(s).forEach(B=>{s[B]!==null&&s[B]!==void 0&&s[B]!==""&&(b[B]=s[B])}),k.value=b,e.nextTick(()=>{D()}),p("dsg-table:filter-updated",k.value,r,i)};return x({reloadTable:D,updateRowTable:M,addRowTable:N,deleteRowTable:L,setData:z,getData:A,mutateData:U,termChanged:Q,setFilters:K,getFilters:ee,setLoading:O,expandRow:J,collapseRow:T,toggleRowExpand:X,expandAllRows:Z,collapseAllRows:_,getExpandedRows:H,changePage:R}),(s,r)=>(e.openBlock(),e.createElementBlock("div",Nt,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",Rt,[e.renderSlot(s.$slots,"dsg-table--pre-header",{},()=>[e.createElementVNode("div",Mt,[e.renderSlot(s.$slots,"dsg-table--page-title",{data:P.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,Ft)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Lt,[e.renderSlot(s.$slots,"dsg-table--page-actions",{data:P.value})])])])):e.createCommentVNode("",!0),t.displaySearch?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",Ht,[e.renderSlot(s.$slots,"dsg-table--search-header",{data:P.value},()=>[e.createVNode(he,{name:"term","onDsgTable:termChanged":r[0]||(r[0]=i=>Q(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":r[1]||(r[1]=(i,b,B)=>te(i,b,B))},null,8,["entity","filter-endpoint","search-endpoint","auto-sort","filters"]),e.renderSlot(s.$slots,"dsg-table--search-actions",{data:P.value})])]),e.renderSlot(s.$slots,"dsg-table--search-navigation")],512)):e.createCommentVNode("",!0),e.createVNode(Tt,{ref:"dsgTable","api-url":t.getUrl,"filter-params":k.value,"onUpdate:filterParams":r[7]||(r[7]=i=>k.value=i),"per-page":w.value,"onUpdate:perPage":r[8]||(r[8]=i=>w.value=i),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:g.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]=i=>V.value=!0),"onDsgTable:loaded":r[10]||(r[10]=i=>V.value=!1),"onDsgTable:paginationData":I,"onDsgTable:loadSuccess":j,"onDsgTable:rowsSelected":r[11]||(r[11]=i=>p("dsg-table:rows-selected",i)),"onDsgTable:rowClicked":r[12]||(r[12]=(i,b,B)=>p("dsg-table:row-clicked",i,b,B)),"onDsgTable:rowHover":r[13]||(r[13]=(i,b,B)=>p("dsg-table:row-hover",i,b,B)),"onDsgTable:rowDblclick":r[14]||(r[14]=(i,b,B)=>p("dsg-table:row-dblclick",i,b,B)),"onDsgTable:rowExpanded":r[15]||(r[15]=(i,b)=>p("dsg-table:row-expanded",i,b)),"onDsgTable:rowCollapsed":r[16]||(r[16]=(i,b)=>p("dsg-table:row-collapsed",i,b))},e.createSlots({"dsg-field--actions":e.withCtx(i=>[e.renderSlot(s.$slots,"dsg-table-actions",{data:i},()=>[(e.openBlock(),e.createBlock(be,{key:i.rowIndex,data:i,"onDsgTable:actionEdit":r[2]||(r[2]=(b,B)=>p("dsg-table:action-edit",b,B)),"onDsgTable:actionView":r[3]||(r[3]=(b,B)=>p("dsg-table:action-view",b,B)),"onDsgTable:actionDelete":r[4]||(r[4]=(b,B)=>p("dsg-table:action-delete",b,B)),"onDsgTable:actionArchive":r[5]||(r[5]=(b,B)=>p("dsg-table:action-archive",b,B)),"onDsgTable:linkClicked":r[6]||(r[6]=(b,B,ae)=>p("dsg-table:link-clicked",b,B,ae))},null,8,["data"]))])]),_:2},[e.renderList(e.unref(m),(i,b)=>({name:b,fn:e.withCtx(B=>[String(b)!=="dsg-field--actions"?e.renderSlot(s.$slots,b,e.normalizeProps(e.mergeProps({key:0},B))):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",Ut,[e.renderSlot(s.$slots,"dsg-table--footer-left",{data:h.value,perPage:u.value},()=>[t.displayPaginationInfo?(e.openBlock(),e.createBlock(ve,{key:0,ref:"paginationInfoStart",pagination:h.value,"onUpdate:pagination":r[17]||(r[17]=i=>h.value=i),"info-template":E.value},null,8,["pagination","info-template"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"dsg-table--footer-left-extras",{data:h.value,perPage:u.value})])]),e.createElementVNode("div",qt,[e.renderSlot(s.$slots,"dsg-table--footer-center",{data:h.value,perPage:u.value},()=>[e.renderSlot(s.$slots,"dsg-table--footer-center-extras",{data:h.value,perPage:u.value})])]),e.createElementVNode("div",It,[e.renderSlot(s.$slots,"dsg-table--footer-right",{data:h.value,perPage:u.value},()=>[V.value===!1&&t.displayPaginationInfo?(e.openBlock(),e.createBlock(me,{key:0,ref:"pagination",pagination:h.value,"onUpdate:pagination":r[18]||(r[18]=i=>h.value=i),"onDsgTable:changePage":R},null,8,["pagination"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"dsg-table--footer-right-extras",{data:h.value,perPage:u.value})])])],512)):e.createCommentVNode("",!0)]))}}),Wt={class:"dsg-table-per-page"},jt=["value","textContent"],Kt=e.defineComponent({__name:"DsgTablePerPage",props:{perPageOptions:{default:()=>[10,20,30,50,100]},perPage:{}},setup(t){return(x,f)=>(e.openBlock(),e.createElementBlock("div",Wt,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[0]||(f[0]=c=>t.perPage.perPage=c),class:"dsg-table-per-page__select",onChange:f[1]||(f[1]=c=>t.perPage.change(t.perPage.perPage))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,c=>(e.openBlock(),e.createElementBlock("option",{key:c,value:c,textContent:e.toDisplayString(c)},null,8,jt))),128))],544),[[e.vModelSelect,t.perPage.perPage]])]))}}),we=Ot,pe=be,ye=Kt,Be=y._sfc_main$7,Ce=me,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;
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;