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