@dcodegroup-au/dsg-vue 0.0.21 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("./DsgTablePerPage.vue_vue_type_style_index_0_lang-CnRogxoI.cjs"),U=require("./dsg-vue.helpers-string.cjs"),O=require("./dsg-vue.helpers-object.cjs"),ge={class:"dsg-table--pagination"},me=["disabled"],fe=["disabled"],ve=["onClick","innerHTML"],pe=["onClick","innerHTML"],be=["disabled"],ke=["disabled"],K=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(a,{expose:h,emit:g}){const s=e.useModel(a,"pagination"),f=e.computed(()=>s.value===null?0:s.value?.last_page-a.firstPage+1),m=e.computed(()=>s.value===null?0:s.value?.last_page),p=e.computed(()=>s.value===null?!1:s.value?.current_page===a.firstPage),v=e.computed(()=>s.value===null?!1:s.value?.current_page===m.value),S=e.computed(()=>f.value<a.onEachSide*2+4),N=e.computed(()=>a.onEachSide*2+1),r=e.computed(()=>!s.value||s.value?.current_page<=a.onEachSide?1:s.value?.current_page>=f.value-a.onEachSide?f.value-a.onEachSide*2:s.value?.current_page-a.onEachSide),b=g,l=i=>{b("dsg-table:change-page",i)},u=i=>i===s.value?.current_page;return h({loadPage:l}),(i,C)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",ge,[i.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:C[0]||(C[0]=D=>l(i.firstPage)),class:e.normalizeClass([[p.value?"disabled":""],"dsg-table--pagination-link"]),disabled:p.value,title:"First","aria-label":"First"},[e.createVNode(B._sfc_main,{icon:i.firstIcon,size:"sm"},null,8,["icon"])],10,me)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:C[1]||(C[1]=D=>l("prev")),class:e.normalizeClass([[p.value?"disabled":""],"dsg-table--pagination-link"]),disabled:p.value,title:"Previous","aria-label":"Previous"},[e.createVNode(B._sfc_main,{icon:i.prevIcon,size:"sm"},null,8,["icon"])],10,fe),S.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(D,y)=>(e.openBlock(),e.createElementBlock("a",{key:y,onClick:T=>l(y+i.firstPage),class:e.normalizeClass([[u(y+i.firstPage)?"active":""],"dsg-table--pagination-link"]),innerHTML:D},null,10,ve))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(N.value,(D,y)=>(e.openBlock(),e.createElementBlock("a",{key:y,onClick:T=>l(r.value+y+i.firstPage-1),class:e.normalizeClass([[u(r.value+y+i.firstPage-1)?"active":""],"dsg-table--pagination-link"]),innerHTML:r.value+D-1},null,10,pe))),128)),e.createElementVNode("a",{onClick:C[2]||(C[2]=D=>l("next")),class:e.normalizeClass([[v.value?"disabled":""],"dsg-table--pagination-link"]),disabled:v.value,title:"Next","aria-label":"Next"},[e.createVNode(B._sfc_main,{icon:i.nextIcon,size:"sm"},null,8,["icon"])],10,be),i.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:C[3]||(C[3]=D=>l(m.value)),class:e.normalizeClass([[v.value?"disabled":""],"dsg-table--pagination-link"]),disabled:v.value,title:"Last","aria-label":"Last"},[e.createVNode(B._sfc_main,{icon:i.lastIcon,size:"sm"},null,8,["icon"])],10,ke)):e.createCommentVNode("",!0)],512)),[[e.vShow,s.value&&m.value>i.firstPage]])}}),he=["innerHTML"],Q=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(a){const h=e.useModel(a,"pagination"),g=e.computed(()=>h.value==null||h.value.total==0?a.noDataTemplate:a.infoTemplate.replace("{from}",(h.value?.from||0).toString()).replace("{to}",(h.value?.to||0).toString()).replace("{total}",(h.value?.total||0).toString()));return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table--pagination-info",innerHTML:g.value},null,8,he))}}),ye={class:"dsg-table--actions",ref:"dsgTableActions"},Be={class:"dsg-table--action-trigger"},Ce={key:0,class:"dsg-table--actions-menu-wrapper"},we=["href","target","onClick"],Pe=["textContent"],Ee={key:0},Se=["href","target","onClick"],De={class:"flex-1"},Y=e.defineComponent({__name:"DsgTableActions",props:{placement:{default:"auto"}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:link-clicked"],setup(a,{emit:h}){const g=e.ref(!1);e.useTemplateRef("dsgTableActions");const s=e.useAttrs(),f=e.ref(s.data.rowData?.actions??null),m=e.ref(s.data.rowData?.links??null),p=e.ref(s.data.rowData??null),v=b=>{switch(b){case"edit":return"edit-05";case"view":return"eye";case"delete":return"trash-01";default:return"dots-horizontal"}},S=(b,l,u)=>{switch(l){case"edit":r("dsg-table:action-edit",u,p.value);break;case"view":r("dsg-table:action-view",u,p.value);break;case"delete":r("dsg-table:action-delete",u,p.value);break}},N=(b,l)=>{const u=b.actionId||b.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");r("dsg-table:link-clicked",l,u,p.value)},r=h;return(b,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",ye,[e.createVNode(e.unref(B.kt),{triggers:[],placement:b.placement,"handle-resize":!0,strategy:"absolute",shown:g.value,class:"dsg-table--actions__popper",onHide:l[1]||(l[1]=u=>g.value=!1),ref:"floatingVueFilterDropdown"},{popper:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",Ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(u,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete"].includes(String(i))?(e.openBlock(),e.createElementBlock("a",{key:i,href:f.value?.link,target:f.value?.target||"_self",onClick:C=>S(u,String(i),C)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table--actions-menu-item",String(i)])},[e.createVNode(B._sfc_main,{icon:v(String(i)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"flex-1",textContent:e.toDisplayString(e.unref(U.ucfirst)(String(i)))},null,8,Pe)],2)],8,we)):e.createCommentVNode("",!0)],64))),256)),f.value&&m.value?(e.openBlock(),e.createElementBlock("hr",Ee)):e.createCommentVNode("",!0),m.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.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(s).data.data.rowData,"row-data":e.unref(s).data.data.rowData},null,8,["quote","row-data"])):e.createCommentVNode("",!0),e.createElementVNode("a",{href:u.link,target:u.target||"_self",class:"dsg-table--actions-menu-item",onClick:i=>N(u,i)},[u.icon?(e.openBlock(),e.createBlock(B._sfc_main,{key:0,icon:u.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",De,e.toDisplayString(u.label),1)],8,Se)],64))),128)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",Be,[e.createElementVNode("button",{type:"button",class:"dsg-table--actions-button","aria-expanded":"false","aria-haspopup":"true",onClick:l[0]||(l[0]=u=>g.value=!g.value)},[e.renderSlot(b.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(B._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(B.vOnClickOutside),()=>g.value=!1]])}}),$e={class:"dsg-table--search"},G=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:{}},emits:["dsg-table:term-changed"],setup(a,{emit:h}){const g=e.ref(""),s=h,f=B.useDebounceFn(m=>{g.value=m,s("dsg-table:term-changed",g.value)},300);return(m,p)=>(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(B._sfc_main$5,{value:g.value,"onUpdate:value":p[0]||(p[0]=v=>g.value=v),name:m.name,id:m.id||m.name,placeholder:m.placeholder,disabled:m.disabled,required:m.required,readonly:m.readonly,hidden:m.hidden,"has-clear-button":!0,autocomplete:"off",size:"sm",icon:"search-sm","icon-clickable":!0,onIconClicked:p[1]||(p[1]=v=>e.unref(f)(v)),onEnterPressed:p[2]||(p[2]=v=>e.unref(f)(v)),onOnClear:p[3]||(p[3]=()=>e.unref(f)(""))},null,8,["value","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),Ve={class:"dsg-table--header-row"},Ne={key:0,class:"dsg-table--th dsg-table--th-checkbox",scope:"col"},Te={key:1,class:"dsg-table--th dsg-table--th-expand-detail",scope:"col"},Fe=["title","id","onClick"],Me={key:0,class:"dsg-table--th-sort-icon"},Le=["innerHTML"],ze=["innerHTML"],J=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(a,{emit:h}){const g=e.useModel(a,"sortField"),s=e.useModel(a,"selectedRows"),f=e.useModel(a,"hasSelected"),m=e.ref("17px"),p=r=>{f.value&&s.value.length>0&&s.value.length!==a.tableDataLength?(f.value=!0,v("dsg-table:on-select-all")):!f.value&&s.value.length===0?(f.value=!1,v("dsg-table:on-select-all")):v("dsg-table:on-deselect-all")},v=h,S=(r,b)=>[r,r+"-"+U.toSnakeCase(String(b?.name)),b.titleClass||"",{sortable:b.sortable},{"sort-active":g.value?.name===b.name}],N=r=>{r.sortable&&(g.value={name:String(r?.name),field:String(r?.sortField),direction:g.value?.name===r.name&&g.value?.direction==="asc"?"desc":"asc"},v("dsg-table:sort-field",r))};return(r,b)=>(e.openBlock(),e.createElementBlock("tr",Ve,[r.hasSelectAll?(e.openBlock(),e.createElementBlock("th",Ne,[e.createVNode(B._sfc_main$2,{modelValue:f.value,"onUpdate:modelValue":[b[0]||(b[0]=l=>f.value=l),p],indeterminate:s.value.length>0&&s.value.length!==r.tableDataLength},null,8,["modelValue","indeterminate"])])):e.createCommentVNode("",!0),r.showExpandDetail?(e.openBlock(),e.createElementBlock("th",Te)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.fields,(l,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[l?.visible?(e.openBlock(),e.createElementBlock("th",{key:u,class:e.normalizeClass(S("dsg-table--th",l)),style:e.normalizeStyle([{width:l.width||void 0},l.style]),title:l.title+(l.sortable?" Sort":""),id:"_"+l.name,onClick:i=>N(l),scope:"col"},[l.sortable?(e.openBlock(),e.createElementBlock("div",Me,[l.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table--th-title",innerHTML:l.title},null,8,Le)):e.createCommentVNode("",!0),l.sortable&&g.value?.name!==l.name?(e.openBlock(),e.createBlock(B._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(B._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(B._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(U.ucwords)(String(l?.title))},null,8,ze))],14,Fe)):e.createCommentVNode("",!0)],64))),256)),r.scrollVisible?(e.openBlock(),e.createElementBlock("th",{key:2,style:e.normalizeStyle({width:m.value}),class:"dsg-table--th-col-gutter"},null,4)):e.createCommentVNode("",!0)]))}}),Re={class:"dsg-table--wrapper"},He=["span"],Ie={key:0,class:"dsg-table--loading"},Ae=["colspan"],Oe=["colspan"],Ue=["onClick","onDblclick","onMouseover"],qe={key:0,class:"dsg-table--tbody-cell dsg-table--tbody-cell-checkbox"},We=["onClick","onDblclick","onContextmenu"],xe=["innerHTML"],je=["onClick"],Ke=["colspan"],Qe={key:2},Ye=["colspan"],Ge={class:"dsg-table--footer"},Je=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"],["update:filterParams","update:perPage"]),setup(a,{expose:h,emit:g}){const s=t=>t.map((n,d)=>({field:n.field||"",title:n.title||"",name:n.name||"",titleClass:n.titleClass||"",dataClass:n.dataClass||"",visible:n.visible!==!1,width:n.width||void 0,sortField:n.sortField||null,sortable:n.sortField,formatter:n.formatter||null,$_index:d})),f=e.ref(s(a.fields)),m=e.ref(a.data),p=e.ref(null),v=e.ref(a.initialPage),S=e.ref("17px"),N=e.ref(!1),r=e.ref({}),b=e.ref(0),l=e.ref(!0),u=e.ref(null),i=e.ref(null),C=e.useModel(a,"filterParams"),D=e.useModel(a,"perPage"),y=e.ref([]),T=e.ref(!1),F=e.computed(()=>a.tableHeight!=null),M=e.computed(()=>f.value.filter(t=>t.visible).length);e.watch(()=>y.value.length,t=>{T.value=a.selectable&&t>0},{immediate:!0}),e.watch(()=>a.fields,t=>{f.value=s(t)},{immediate:!0}),e.watch(()=>C.value,()=>{z()},{deep:!0}),e.watch(()=>D.value,()=>{z()});const $=g,R=(t,n)=>t.formatter&&typeof t.formatter=="function"?t.formatter(t,n):O.data_get(n,String(t?.name),""),H=t=>"dsg-field--"+t.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),o=t=>{if(a.selectable){if(t.selected)y.value.push(t);else{const n=y.value.findIndex(d=>d[a.trackBy]===t[a.trackBy]);n!==-1&&y.value.splice(n,1)}$("dsg-table:rows-selected",y.value)}},c=()=>{a.selectable&&(m.value?.forEach(t=>{t.selected=!0}),y.value=m.value?.filter(t=>t.selected)??[],$("dsg-table:rows-selected",y.value))},k=()=>{a.selectable&&(m.value?.forEach(t=>{t.selected=!1}),y.value=[],$("dsg-table:rows-selected",y.value))},w=t=>{t==="prev"?v.value>a.firstPage&&v.value--:t==="next"?v.value<(p.value?.last_page??0)&&v.value++:t!=v.value&&t>=a.firstPage&&t<=(p.value?.last_page??0)&&(v.value=t),z()},V=()=>({[a.queryParams?.sort]:u.value?(u.value?.direction==="desc"?"-":"")+u.value?.field:void 0,[a.queryParams?.order]:u.value?.direction,[a.queryParams?.page]:v.value,[a.queryParams?.perPage]:D.value}),L=()=>{i.value&&(i.value.abort(),i.value=null)},I=async(t,n)=>{L();const d=new AbortController;if(n.signal=d.signal,i.value=d,a.httpMethod.toLowerCase()==="get")return await B.axios.get(t,n);{const E=n.params;return delete n.params,await B.axios.post(t,E,n)}},q=t=>{$("dsg-table:load-success",t);const n=a.transform?a.transform(t.data):t.data;m.value=O.data_get(n,a.dataPath,null),a.selectable&&m.value?.forEach(d=>{d.selected=d.selected??!1}),p.value=O.data_get(n,a.paginationPath,null)??null,b.value=m.value?.length?m.value[0].order:b,p.value===null&&console.warn('DsgTable: pagination-path "'+a.paginationPath+`" not found. It looks like the data returned from the server does not have pagination information or you may have set it incorrectly.
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("./DsgTablePerPage.vue_vue_type_style_index_0_lang--7p1oFP9.cjs"),U=require("./dsg-vue.helpers-string.cjs"),O=require("./dsg-vue.helpers-object.cjs"),ge={class:"dsg-table--pagination"},me=["disabled"],fe=["disabled"],ve=["onClick","innerHTML"],pe=["onClick","innerHTML"],be=["disabled"],ke=["disabled"],K=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(a,{expose:h,emit:g}){const s=e.useModel(a,"pagination"),f=e.computed(()=>s.value===null?0:s.value?.last_page-a.firstPage+1),m=e.computed(()=>s.value===null?0:s.value?.last_page),p=e.computed(()=>s.value===null?!1:s.value?.current_page===a.firstPage),v=e.computed(()=>s.value===null?!1:s.value?.current_page===m.value),S=e.computed(()=>f.value<a.onEachSide*2+4),N=e.computed(()=>a.onEachSide*2+1),r=e.computed(()=>!s.value||s.value?.current_page<=a.onEachSide?1:s.value?.current_page>=f.value-a.onEachSide?f.value-a.onEachSide*2:s.value?.current_page-a.onEachSide),b=g,l=i=>{b("dsg-table:change-page",i)},u=i=>i===s.value?.current_page;return h({loadPage:l}),(i,C)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",ge,[i.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:C[0]||(C[0]=D=>l(i.firstPage)),class:e.normalizeClass([[p.value?"disabled":""],"dsg-table--pagination-link"]),disabled:p.value,title:"First","aria-label":"First"},[e.createVNode(B._sfc_main,{icon:i.firstIcon,size:"sm"},null,8,["icon"])],10,me)):e.createCommentVNode("",!0),e.createElementVNode("a",{onClick:C[1]||(C[1]=D=>l("prev")),class:e.normalizeClass([[p.value?"disabled":""],"dsg-table--pagination-link"]),disabled:p.value,title:"Previous","aria-label":"Previous"},[e.createVNode(B._sfc_main,{icon:i.prevIcon,size:"sm"},null,8,["icon"])],10,fe),S.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(D,y)=>(e.openBlock(),e.createElementBlock("a",{key:y,onClick:T=>l(y+i.firstPage),class:e.normalizeClass([[u(y+i.firstPage)?"active":""],"dsg-table--pagination-link"]),innerHTML:D},null,10,ve))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(N.value,(D,y)=>(e.openBlock(),e.createElementBlock("a",{key:y,onClick:T=>l(r.value+y+i.firstPage-1),class:e.normalizeClass([[u(r.value+y+i.firstPage-1)?"active":""],"dsg-table--pagination-link"]),innerHTML:r.value+D-1},null,10,pe))),128)),e.createElementVNode("a",{onClick:C[2]||(C[2]=D=>l("next")),class:e.normalizeClass([[v.value?"disabled":""],"dsg-table--pagination-link"]),disabled:v.value,title:"Next","aria-label":"Next"},[e.createVNode(B._sfc_main,{icon:i.nextIcon,size:"sm"},null,8,["icon"])],10,be),i.showFirstLast?(e.openBlock(),e.createElementBlock("a",{key:3,onClick:C[3]||(C[3]=D=>l(m.value)),class:e.normalizeClass([[v.value?"disabled":""],"dsg-table--pagination-link"]),disabled:v.value,title:"Last","aria-label":"Last"},[e.createVNode(B._sfc_main,{icon:i.lastIcon,size:"sm"},null,8,["icon"])],10,ke)):e.createCommentVNode("",!0)],512)),[[e.vShow,s.value&&m.value>i.firstPage]])}}),he=["innerHTML"],Q=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(a){const h=e.useModel(a,"pagination"),g=e.computed(()=>h.value==null||h.value.total==0?a.noDataTemplate:a.infoTemplate.replace("{from}",(h.value?.from||0).toString()).replace("{to}",(h.value?.to||0).toString()).replace("{total}",(h.value?.total||0).toString()));return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:"dsg-table--pagination-info",innerHTML:g.value},null,8,he))}}),ye={class:"dsg-table--actions",ref:"dsgTableActions"},Be={class:"dsg-table--action-trigger"},Ce={key:0,class:"dsg-table--actions-menu-wrapper"},we=["href","target","onClick"],Pe=["textContent"],Ee={key:0},Se=["href","target","onClick"],De={class:"flex-1"},Y=e.defineComponent({__name:"DsgTableActions",props:{placement:{default:"auto"}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:link-clicked"],setup(a,{emit:h}){const g=e.ref(!1);e.useTemplateRef("dsgTableActions");const s=e.useAttrs(),f=e.ref(s.data.rowData?.actions??null),m=e.ref(s.data.rowData?.links??null),p=e.ref(s.data.rowData??null),v=b=>{switch(b){case"edit":return"edit-05";case"view":return"eye";case"delete":return"trash-01";default:return"dots-horizontal"}},S=(b,l,u)=>{switch(l){case"edit":r("dsg-table:action-edit",u,p.value);break;case"view":r("dsg-table:action-view",u,p.value);break;case"delete":r("dsg-table:action-delete",u,p.value);break}},N=(b,l)=>{const u=b.actionId||b.label.trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-");r("dsg-table:link-clicked",l,u,p.value)},r=h;return(b,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",ye,[e.createVNode(e.unref(B.kt),{triggers:[],placement:b.placement,"handle-resize":!0,strategy:"absolute",shown:g.value,class:"dsg-table--actions__popper",onHide:l[1]||(l[1]=u=>g.value=!1),ref:"floatingVueFilterDropdown"},{popper:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",Ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(u,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[["edit","view","delete"].includes(String(i))?(e.openBlock(),e.createElementBlock("a",{key:i,href:f.value?.link,target:f.value?.target||"_self",onClick:C=>S(u,String(i),C)},[e.createElementVNode("div",{class:e.normalizeClass(["dsg-table--actions-menu-item",String(i)])},[e.createVNode(B._sfc_main,{icon:v(String(i)),size:"sm"},null,8,["icon"]),e.createElementVNode("span",{class:"flex-1",textContent:e.toDisplayString(e.unref(U.ucfirst)(String(i)))},null,8,Pe)],2)],8,we)):e.createCommentVNode("",!0)],64))),256)),f.value&&m.value?(e.openBlock(),e.createElementBlock("hr",Ee)):e.createCommentVNode("",!0),m.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.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(s).data.data.rowData,"row-data":e.unref(s).data.data.rowData},null,8,["quote","row-data"])):e.createCommentVNode("",!0),e.createElementVNode("a",{href:u.link,target:u.target||"_self",class:"dsg-table--actions-menu-item",onClick:i=>N(u,i)},[u.icon?(e.openBlock(),e.createBlock(B._sfc_main,{key:0,icon:u.icon,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("span",De,e.toDisplayString(u.label),1)],8,Se)],64))),128)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",Be,[e.createElementVNode("button",{type:"button",class:"dsg-table--actions-button","aria-expanded":"false","aria-haspopup":"true",onClick:l[0]||(l[0]=u=>g.value=!g.value)},[e.renderSlot(b.$slots,"dsg-table-action-button-content",{},()=>[e.createVNode(B._sfc_main,{icon:"dots-vertical",size:"sm"})])])])]),_:3},8,["placement","shown"])])),[[e.unref(B.vOnClickOutside),()=>g.value=!1]])}}),$e={class:"dsg-table--search"},G=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:{}},emits:["dsg-table:term-changed"],setup(a,{emit:h}){const g=e.ref(""),s=h,f=B.useDebounceFn(m=>{g.value=m,s("dsg-table:term-changed",g.value)},300);return(m,p)=>(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(B._sfc_main$5,{value:g.value,"onUpdate:value":p[0]||(p[0]=v=>g.value=v),name:m.name,id:m.id||m.name,placeholder:m.placeholder,disabled:m.disabled,required:m.required,readonly:m.readonly,hidden:m.hidden,"has-clear-button":!0,autocomplete:"off",size:"sm",icon:"search-sm","icon-clickable":!0,onIconClicked:p[1]||(p[1]=v=>e.unref(f)(v)),onEnterPressed:p[2]||(p[2]=v=>e.unref(f)(v)),onOnClear:p[3]||(p[3]=()=>e.unref(f)(""))},null,8,["value","name","id","placeholder","disabled","required","readonly","hidden"])]))}}),Ve={class:"dsg-table--header-row"},Ne={key:0,class:"dsg-table--th dsg-table--th-checkbox",scope:"col"},Te={key:1,class:"dsg-table--th dsg-table--th-expand-detail",scope:"col"},Fe=["title","id","onClick"],Me={key:0,class:"dsg-table--th-sort-icon"},Le=["innerHTML"],ze=["innerHTML"],J=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(a,{emit:h}){const g=e.useModel(a,"sortField"),s=e.useModel(a,"selectedRows"),f=e.useModel(a,"hasSelected"),m=e.ref("17px"),p=r=>{f.value&&s.value.length>0&&s.value.length!==a.tableDataLength?(f.value=!0,v("dsg-table:on-select-all")):!f.value&&s.value.length===0?(f.value=!1,v("dsg-table:on-select-all")):v("dsg-table:on-deselect-all")},v=h,S=(r,b)=>[r,r+"-"+U.toSnakeCase(String(b?.name)),b.titleClass||"",{sortable:b.sortable},{"sort-active":g.value?.name===b.name}],N=r=>{r.sortable&&(g.value={name:String(r?.name),field:String(r?.sortField),direction:g.value?.name===r.name&&g.value?.direction==="asc"?"desc":"asc"},v("dsg-table:sort-field",r))};return(r,b)=>(e.openBlock(),e.createElementBlock("tr",Ve,[r.hasSelectAll?(e.openBlock(),e.createElementBlock("th",Ne,[e.createVNode(B._sfc_main$2,{modelValue:f.value,"onUpdate:modelValue":[b[0]||(b[0]=l=>f.value=l),p],indeterminate:s.value.length>0&&s.value.length!==r.tableDataLength},null,8,["modelValue","indeterminate"])])):e.createCommentVNode("",!0),r.showExpandDetail?(e.openBlock(),e.createElementBlock("th",Te)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.fields,(l,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[l?.visible?(e.openBlock(),e.createElementBlock("th",{key:u,class:e.normalizeClass(S("dsg-table--th",l)),style:e.normalizeStyle([{width:l.width||void 0},l.style]),title:l.title+(l.sortable?" Sort":""),id:"_"+l.name,onClick:i=>N(l),scope:"col"},[l.sortable?(e.openBlock(),e.createElementBlock("div",Me,[l.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"dsg-table--th-title",innerHTML:l.title},null,8,Le)):e.createCommentVNode("",!0),l.sortable&&g.value?.name!==l.name?(e.openBlock(),e.createBlock(B._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(B._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(B._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(U.ucwords)(String(l?.title))},null,8,ze))],14,Fe)):e.createCommentVNode("",!0)],64))),256)),r.scrollVisible?(e.openBlock(),e.createElementBlock("th",{key:2,style:e.normalizeStyle({width:m.value}),class:"dsg-table--th-col-gutter"},null,4)):e.createCommentVNode("",!0)]))}}),Re={class:"dsg-table--wrapper"},He=["span"],Ie={key:0,class:"dsg-table--loading"},Ae=["colspan"],Oe=["colspan"],Ue=["onClick","onDblclick","onMouseover"],qe={key:0,class:"dsg-table--tbody-cell dsg-table--tbody-cell-checkbox"},We=["onClick","onDblclick","onContextmenu"],xe=["innerHTML"],je=["onClick"],Ke=["colspan"],Qe={key:2},Ye=["colspan"],Ge={class:"dsg-table--footer"},Je=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"],["update:filterParams","update:perPage"]),setup(a,{expose:h,emit:g}){const s=t=>t.map((n,d)=>({field:n.field||"",title:n.title||"",name:n.name||"",titleClass:n.titleClass||"",dataClass:n.dataClass||"",visible:n.visible!==!1,width:n.width||void 0,sortField:n.sortField||null,sortable:n.sortField,formatter:n.formatter||null,$_index:d})),f=e.ref(s(a.fields)),m=e.ref(a.data),p=e.ref(null),v=e.ref(a.initialPage),S=e.ref("17px"),N=e.ref(!1),r=e.ref({}),b=e.ref(0),l=e.ref(!0),u=e.ref(null),i=e.ref(null),C=e.useModel(a,"filterParams"),D=e.useModel(a,"perPage"),y=e.ref([]),T=e.ref(!1),F=e.computed(()=>a.tableHeight!=null),M=e.computed(()=>f.value.filter(t=>t.visible).length);e.watch(()=>y.value.length,t=>{T.value=a.selectable&&t>0},{immediate:!0}),e.watch(()=>a.fields,t=>{f.value=s(t)},{immediate:!0}),e.watch(()=>C.value,()=>{z()},{deep:!0}),e.watch(()=>D.value,()=>{z()});const $=g,R=(t,n)=>t.formatter&&typeof t.formatter=="function"?t.formatter(t,n):O.data_get(n,String(t?.name),""),H=t=>"dsg-field--"+t.name?.toLowerCase().replaceAll(/[_ ]/g,"-"),o=t=>{if(a.selectable){if(t.selected)y.value.push(t);else{const n=y.value.findIndex(d=>d[a.trackBy]===t[a.trackBy]);n!==-1&&y.value.splice(n,1)}$("dsg-table:rows-selected",y.value)}},c=()=>{a.selectable&&(m.value?.forEach(t=>{t.selected=!0}),y.value=m.value?.filter(t=>t.selected)??[],$("dsg-table:rows-selected",y.value))},k=()=>{a.selectable&&(m.value?.forEach(t=>{t.selected=!1}),y.value=[],$("dsg-table:rows-selected",y.value))},w=t=>{t==="prev"?v.value>a.firstPage&&v.value--:t==="next"?v.value<(p.value?.last_page??0)&&v.value++:t!=v.value&&t>=a.firstPage&&t<=(p.value?.last_page??0)&&(v.value=t),z()},V=()=>({[a.queryParams?.sort]:u.value?(u.value?.direction==="desc"?"-":"")+u.value?.field:void 0,[a.queryParams?.order]:u.value?.direction,[a.queryParams?.page]:v.value,[a.queryParams?.perPage]:D.value}),L=()=>{i.value&&(i.value.abort(),i.value=null)},I=async(t,n)=>{L();const d=new AbortController;if(n.signal=d.signal,i.value=d,a.httpMethod.toLowerCase()==="get")return await B.axios.get(t,n);{const E=n.params;return delete n.params,await B.axios.post(t,E,n)}},q=t=>{$("dsg-table:load-success",t);const n=a.transform?a.transform(t.data):t.data;m.value=O.data_get(n,a.dataPath,null),a.selectable&&m.value?.forEach(d=>{d.selected=d.selected??!1}),p.value=O.data_get(n,a.paginationPath,null)??null,b.value=m.value?.length?m.value[0].order:b,p.value===null&&console.warn('DsgTable: pagination-path "'+a.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
2
  You can explicitly suppress this warning by setting pagination-path="".`),$("dsg-table:pagination-data",p.value),$("dsg-table:loaded"),l.value=!1},W=t=>{console.error("load-error",t),$("dsg-table:load-error",t),$("dsg-table:loaded"),l.value=!1},z=(t=q,n=W,d={})=>{const E=t||q,P=n||W;if(a.apiMode)return l.value=!0,$("dsg-table:loading",l.value),a.httpOptions.params={...V(),...C.value},I(a.apiUrl,a.httpOptions).then(E).catch(A=>P(A))},ne=(t,n,d)=>{},se=(t,n,d)=>{},re=(t,n,d)=>{},ie=(t,n,d,E)=>{},de=(t,n,d,E)=>{},ce=(t,n,d,E)=>{},ue=(t,n,d)=>{};e.onMounted(()=>{a.apiMode===!0&&z()});const x=()=>{a.apiMode&&(v.value=a.initialPage,y.value=[],L(),z())};return h({changePage:w,reload:x}),(t,n)=>(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",{ref:"dsgTableBodyWrapper",class:e.normalizeClass(["dsg-table-body-wrapper",{"fixed-header":F.value}]),style:e.normalizeStyle({height:t.tableHeight||void 0})},[e.createElementVNode("table",{class:e.normalizeClass(["dsg-table-main",F.value?"fixed-header":"",r.value.table,"table-"+t.tableLayout])},[e.createElementVNode("colgroup",{span:M.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(d,E)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[d?.visible?(e.openBlock(),e.createElementBlock("col",{key:E,style:e.normalizeStyle({width:d.width||void 0}),class:e.normalizeClass("dsg-table--col-"+d.name+" "+d.titleClass)},null,6)):e.createCommentVNode("",!0)],64))),256)),!F.value&&N.value?(e.openBlock(),e.createElementBlock("col",{key:0,style:e.normalizeStyle({width:S.value}),class:"dsg-table--col-gutter"},null,4)):e.createCommentVNode("",!0)],8,He),e.createElementVNode("thead",{class:e.normalizeClass([[r.value.thead,{sticky:F.value,"top-0":F.value}],"dsg-table--head"])},[e.renderSlot(t.$slots,"tableHeader",{fields:f.value},()=>[e.createVNode(J,{fields:f.value,"has-select-all":t.selectable,"selected-rows":y.value,"onUpdate:selectedRows":n[0]||(n[0]=d=>y.value=d),"has-selected":T.value,"onUpdate:hasSelected":n[1]||(n[1]=d=>T.value=d),"scroll-visible":N.value,"show-expand-detail":t.hasDetailRow&&t.showExpandDetail,"table-data-length":m.value?.length,"sort-field":u.value,"onUpdate:sortField":n[2]||(n[2]=d=>u.value=d),"onDsgTable:sortField":n[3]||(n[3]=d=>x()),"onDsgTable:onSelectAll":c,"onDsgTable:onDeselectAll":k},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",r.value.tbody])},[l.value?(e.openBlock(),e.createElementBlock("tr",Ie,[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(t.$slots,"dsg-table-loading",{},()=>[e.createVNode(B._sfc_main,{icon:"loading-02",class:"animate-spin"}),n[4]||(n[4]=e.createElementVNode("span",{class:"text-xs font-medium text-gray-500"},"Loading...",-1))])],8,Oe)],8,Ae)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.value,(d,E)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E},[e.createElementVNode("tr",{class:e.normalizeClass(["dsg-table--tbody-row",{odd:E%2===0,even:E%2!==0,"row-selected":d.selected}]),onClick:P=>ne(),onDblclick:P=>se(),onMouseover:P=>re()},[t.selectable?(e.openBlock(),e.createElementBlock("td",qe,[e.createVNode(B._sfc_main$2,{modelValue:d.selected,"onUpdate:modelValue":[P=>d.selected=P,P=>o(d)]},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(P,A)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:A},[P.visible?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(["dsg-table--tbody-cell",P.dataClass]),style:e.normalizeStyle({width:P.width||void 0}),onClick:j=>ie(),onDblclick:j=>de(),onContextmenu:j=>ce()},[e.renderSlot(t.$slots,H(P),{rowData:d,rowIndex:E,rowField:P},()=>[e.createElementVNode("span",{innerHTML:R(P,d)},null,8,xe)])],46,We)):e.createCommentVNode("",!0)],64))),128))],42,Ue),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:P=>ue()},[e.createElementVNode("td",{colspan:M.value},[e.renderSlot(t.$slots,"dsg-table-detail-row",{rowData:d,rowIndex:E,options:t.detailRowOptions})],8,Ke)],8,je)]),_:2},1032,["name"])):e.createCommentVNode("",!0)],64))),128)),!m.value?.length&&t.noDataTemplate.length?(e.openBlock(),e.createElementBlock("tr",Qe,[e.createElementVNode("td",{colspan:M.value,class:"dsg-table--empty-result"},[e.renderSlot(t.$slots,"dsg-table-empty-result",{},()=>[e.createTextVNode(e.toDisplayString(t.noDataTemplate),1)])],8,Ye)])):e.createCommentVNode("",!0)],2),e.createElementVNode("tfoot",Ge,[e.renderSlot(t.$slots,"dsg-table-footer",{fields:f.value,data:m.value})])],2)],6)]))}}),Xe={class:"dsg-table"},Ze={class:"dsg-table--pre-header"},_e={class:"dsg-table--pre-header-left"},et=["textContent"],tt={class:"dsg-table--pre-header-right"},at={key:0,class:"dsg-table--search-header"},lt={class:"dsg-table--search-top"},ot={class:"dsg-table--footer"},nt={class:"dsg-table--footer-left"},st={class:"dsg-table--footer-center"},rt={class:"dsg-table--footer-right"},it=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:()=>{}},filterEntity:{default:""},filterEndpoint:{default:""},filterSearchEndpoint:{default:""},tableLayout:{default:"fixed"}},emits:["dsg-table:action-edit","dsg-table:action-view","dsg-table:action-delete","dsg-table:link-clicked","dsg-table:rows-selected"],setup(a,{expose:h,emit:g}){const s=o=>{u.value=o},f=e.ref(!!(a.filterEntity||a.filterEndpoint)),m=()=>{if(f.value){let o={};return B.getQueryStrings().forEach(c=>{if(c.key.startsWith("filter[")){const k=c.key.replace("filter[","").replace("]",""),w=c.value;o[`filter[${k}]`]=w.join(",")}}),o}else return{}},p=e.useSlots(),v=e.ref(!0),S=e.ref(null),N=e.ref("<p>Showing {from} to {to} of {total}</p>"),r=e.ref(null),b=e.useTemplateRef("dsgTable"),l=e.ref({perPage:20,change:s}),u=e.ref(20),i=e.ref(m()),C=g,D=o=>{b.value?.changePage(o)},y=o=>{r.value=o},T=({data:o})=>{S.value=o},F=()=>{v.value===!1&&b.value?.reload()},M=o=>{b.value?.setData(b.value?.tableData.map(c=>c.id===o.id?o:c))},$=o=>{i.value=o},R=o=>{i.value["filter[term]"]=o},H=(o,c)=>{i.value={"filter[term]":i.value["filter[term]"],...o}};return h({reloadTable:F,updateRowTable:M,termChanged:R,setFilters:$}),(o,c)=>(e.openBlock(),e.createElementBlock("div",Xe,[e.createElementVNode("div",Ze,[e.renderSlot(o.$slots,"dsg-table--pre-header",{},()=>[e.createElementVNode("div",_e,[e.renderSlot(o.$slots,"dsg-table--page-title",{data:S.value,title:o.title},()=>[o.title.length>0?(e.openBlock(),e.createElementBlock("h1",{key:0,class:"dsg-table--title",textContent:e.toDisplayString(o.title)},null,8,et)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",tt,[e.renderSlot(o.$slots,"dsg-table--page-actions",{data:S.value})])])]),o.displayPaginationInfo?(e.openBlock(),e.createElementBlock("div",at,[e.createElementVNode("div",lt,[e.renderSlot(o.$slots,"dsg-table--search-header",{data:S.value},()=>[e.createVNode(G,{name:"term","onDsgTable:termChanged":c[0]||(c[0]=k=>R(k))}),e.createVNode(B._sfc_main$7,{entity:o.filterEntity,"filter-endpoint":o.filterEndpoint,"search-endpoint":o.filterSearchEndpoint,filters:o.filters,"onDsgTable:filterUpdated":c[1]||(c[1]=(k,w)=>H(k))},null,8,["entity","filter-endpoint","search-endpoint","filters"]),e.renderSlot(o.$slots,"dsg-table--search-actions",{data:S.value})])]),e.renderSlot(o.$slots,"dsg-table--search-navigation")])):e.createCommentVNode("",!0),e.createVNode(Je,{ref:"dsgTable","api-url":o.getUrl,"filter-params":i.value,"onUpdate:filterParams":c[6]||(c[6]=k=>i.value=k),"per-page":u.value,"onUpdate:perPage":c[7]||(c[7]=k=>u.value=k),fields:o.fields,"load-on-start":o.loadOnStart,"pagination-path":"meta",selectable:o.selectable,"track-by":o.trackBy,"table-layout":o.tableLayout,css:{tableWrapper:"border-b"},"onDsgTable:loading":c[8]||(c[8]=k=>v.value=!0),"onDsgTable:loaded":c[9]||(c[9]=k=>v.value=!1),"onDsgTable:paginationData":y,"onDsgTable:loadSuccess":T,"onDsgTable:rowsSelected":c[10]||(c[10]=k=>C("dsg-table:rows-selected",k))},e.createSlots({"dsg-field--actions":e.withCtx(k=>[e.renderSlot(o.$slots,"dsg-table-actions",{data:k},()=>[(e.openBlock(),e.createBlock(Y,{key:k.rowIndex,data:k,"onDsgTable:actionEdit":c[2]||(c[2]=(w,V)=>C("dsg-table:action-edit",w,V)),"onDsgTable:actionView":c[3]||(c[3]=(w,V)=>C("dsg-table:action-view",w,V)),"onDsgTable:actionDelete":c[4]||(c[4]=(w,V)=>C("dsg-table:action-delete",w,V)),"onDsgTable:linkClicked":c[5]||(c[5]=(w,V,L)=>C("dsg-table:link-clicked",w,V,L))},null,8,["data"]))])]),_:2},[e.renderList(e.unref(p),(k,w)=>({name:w,fn:e.withCtx(({rowData:V,rowField:L,rowIndex:I})=>[String(w)!=="dsg-field--actions"?e.renderSlot(o.$slots,w,e.normalizeProps(e.mergeProps({key:0},{rowData:V,rowField:L,rowIndex:I}))):e.createCommentVNode("",!0)])}))]),1032,["api-url","filter-params","per-page","fields","load-on-start","selectable","track-by","table-layout"]),e.createElementVNode("div",ot,[e.createElementVNode("div",nt,[e.renderSlot(o.$slots,"dsg-table--footer-left",{data:r.value,perPage:l.value},()=>[e.createVNode(Q,{"no-data-template":"",ref:"paginationInfoStart",pagination:r.value,"onUpdate:pagination":c[11]||(c[11]=k=>r.value=k),"info-template":N.value},null,8,["pagination","info-template"]),e.renderSlot(o.$slots,"dsg-table--footer-left-extras",{data:r.value,perPage:l.value})])]),e.createElementVNode("div",st,[e.renderSlot(o.$slots,"dsg-table--footer-center",{data:r.value,perPage:l.value},()=>[e.renderSlot(o.$slots,"dsg-table--footer-center-extras",{data:r.value,perPage:l.value})])]),e.createElementVNode("div",rt,[e.renderSlot(o.$slots,"dsg-table--footer-right",{data:r.value,perPage:l.value},()=>[v.value===!1?(e.openBlock(),e.createBlock(K,{key:0,ref:"pagination",pagination:r.value,"onUpdate:pagination":c[12]||(c[12]=k=>r.value=k),"onDsgTable:changePage":D},null,8,["pagination"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"dsg-table--footer-right-extras",{data:r.value,perPage:l.value})])])])]))}}),dt={class:"dsg-table--per-page"},ct=["value","textContent"],ut=e.defineComponent({__name:"DsgTablePerPage",props:{perPageOptions:{default:()=>[10,20,30,50,100]},perPage:{}},setup(a){return(h,g)=>(e.openBlock(),e.createElementBlock("div",dt,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":g[0]||(g[0]=s=>h.perPage.perPage=s),class:"dsg-table--per-page-select",onChange:g[1]||(g[1]=s=>h.perPage.change(h.perPage.perPage))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.perPageOptions,s=>(e.openBlock(),e.createElementBlock("option",{key:s,value:s,textContent:e.toDisplayString(s)},null,8,ct))),128))],544),[[e.vModelSelect,h.perPage.perPage]])]))}}),X=it,Z=Y,_=ut,ee=B._sfc_main$7,te=K,ae=Q,le=G,oe=J,gt={DsgTable:X,DsgTableActions:Z,DsgTablePerPage:_,DsgTableFilter:ee,DsgTablePagination:te,DsgTablePaginationInfo:ae,DsgTableSearch:le,DsgTableRowHeader:oe};exports.DsgTable=X;exports.DsgTableActions=Z;exports.DsgTableFilter=ee;exports.DsgTablePagination=te;exports.DsgTablePaginationInfo=ae;exports.DsgTablePerPage=_;exports.DsgTableRowHeader=oe;exports.DsgTableSearch=le;exports.default=gt;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as W, mergeModels as x, useModel as Y, computed as O, withDirectives as oe, createElementBlock as n, openBlock as a, createCommentVNode as w, createElementVNode as m, normalizeClass as B, createVNode as F, Fragment as L, renderList as q, vShow as Se, ref as y, useTemplateRef as ge, useAttrs as Fe, unref as U, withCtx as Z, renderSlot as C, toDisplayString as _, createBlock as N, resolveDynamicComponent as Me, normalizeStyle as J, watch as te, onMounted as Be, Transition as Le, createTextVNode as Ee, useSlots as Re, createSlots as He, normalizeProps as Ie, mergeProps as ze, vModelSelect as Ve } from "vue";
2
- import { _ as V, k as Ae, v as Oe, g as Ue, u as qe, c as ve, e as ce, i as be, j as Ne } from "./DsgTablePerPage.vue_vue_type_style_index_0_lang-DvL9jhXe.js";
2
+ import { _ as V, k as Ae, v as Oe, g as Ue, u as qe, c as ve, e as ce, i as be, j as Ne } from "./DsgTablePerPage.vue_vue_type_style_index_0_lang-G5N7Ra82.js";
3
3
  import { ucfirst as We, ucwords as je, toSnakeCase as Ke } from "./dsg-vue.helpers-string.esm.js";
4
4
  import { data_get as ne } from "./dsg-vue.helpers-object.esm.js";
5
5
  const Qe = { class: "dsg-table--pagination" }, Ye = ["disabled"], xe = ["disabled"], Ge = ["onClick", "innerHTML"], Je = ["onClick", "innerHTML"], Xe = ["disabled"], Ze = ["disabled"], fe = /* @__PURE__ */ W({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dcodegroup-au/dsg-vue",
3
3
  "description": "Front-end Vue/Tailwind DSG for UntitledUI.",
4
- "version": "0.0.21",
4
+ "version": "0.0.22",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "preinstall": "npx only-allow pnpm",
@@ -47,13 +47,13 @@
47
47
  "default": "./dist/dsg-vue.editor.esm.js"
48
48
  },
49
49
  "./helpers/string": {
50
- "types": "./dist/helpers-string.d.ts",
50
+ "types": "./dist/helpers.d.ts",
51
51
  "import": "./dist/dsg-vue.helpers-string.esm.js",
52
52
  "require": "./dist/dsg-vue.helpers-string.cjs",
53
53
  "default": "./dist/dsg-vue.helpers-string.esm.js"
54
54
  },
55
55
  "./helpers/object": {
56
- "types": "./dist/helpers-object.d.ts",
56
+ "types": "./dist/helpers.d.ts",
57
57
  "import": "./dist/dsg-vue.helpers-object.esm.js",
58
58
  "require": "./dist/dsg-vue.helpers-object.cjs",
59
59
  "default": "./dist/dsg-vue.helpers-object.esm.js"
@@ -97,7 +97,7 @@
97
97
  "@eslint/js": "^9.28.0",
98
98
  "@testing-library/vue": "^8.1.0",
99
99
  "@types/eslint": "^9.6.1",
100
- "@types/node": "^22.15.30",
100
+ "@types/node": "^22.15.31",
101
101
  "@types/uuid": "^10.0.0",
102
102
  "@vitejs/plugin-vue": "^5.2.4",
103
103
  "@vue/eslint-config-typescript": "^14.5.0",
@@ -115,14 +115,14 @@
115
115
  "eslint-plugin-vue": "^10.2.0",
116
116
  "floating-vue": "^5.2.2",
117
117
  "globals": "^16.2.0",
118
- "hotkeys-js": "^3.13.10",
118
+ "hotkeys-js": "^3.13.11",
119
119
  "jest": "^29.7.0",
120
120
  "jiti": "^2.4.2",
121
121
  "jsdom": "^26.1.0",
122
122
  "only-allow": "^1.2.1",
123
123
  "phone": "^3.1.59",
124
124
  "prettier": "^3.5.3",
125
- "sass": "^1.89.1",
125
+ "sass": "^1.89.2",
126
126
  "semantic-release": "^24.2.5",
127
127
  "storybook": "^8.6.14",
128
128
  "tailwindcss": "^3.4.17",