dolphin-components 3.1.8 → 3.1.10

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.
@@ -175,7 +175,7 @@ EOD`}return{to_workbook:i,to_sheet:t,from_sheet:s}})(),_P=(function(){function a
175
175
  ${P}
176
176
  </div>
177
177
  </div>
178
- `}else return""},cellClick:ae}),S=()=>{const T=document.getElementById(m.value);if(!T)return;x.value=r.columns.map(D=>D.field??""),te();const O=window.innerHeight-r.heightOffset,P={data:r.data,columns:w.value,placeholder:r.placeholder??"No records found!",pagination:r.enableSelectable?!1:!r.disableFooter,paginationMode:r.enableSelectable||!r.disableFooter?"local":r.paginationType,paginationSize:y.value,filterMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",sortMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",paginationSizeSelector:r.paginationSizeSelector,layout:"fitColumns",height:O<250?250:O,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:D=>D===""};b=new cq(T,P),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ae),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ye,!0),T.addEventListener("scroll",ye,!0),document.querySelector(".tabulator-tableholder")?.addEventListener("scroll",ye,!0)},R=()=>{r.headerContent&&r.enableHeaderPrint&&b&&(b.options.printHeader=r.headerContent),r.footerContent&&r.enableFooterPrint&&b&&(b.options.printFooter=r.footerContent),b?.print("all",!1)},B=()=>{b?.download("xlsx",r.sheetName+".xlsx",{sheetName:r.sheetName})},N=()=>{o.value=!0,n.value=!0,s.value.clear(),j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ye,!0),document.getElementById(m.value)?.removeEventListener("scroll",ye,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ye,!0),b&&(b.destroy(),b=null),S()},q=async(T,O,P)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const D=b?.getFilters(!0)||[],J=b?.getSorters().map(ie=>({field:ie.field,dir:ie.dir}))||[],I=D.length?JSON.stringify(D):void 0,ce=J.length?JSON.stringify(J):void 0,Me=await r.apiInstance.get(r.apiEndpoint,{params:{page:P.page||1,per_page:P.size||y.value,...r.queryParams,...I&&{filters:I},...ce&&{sorters:ce}}}),{data:U,meta:_}=Me.data;return f.value=_.total,p.value=P.page,k("onDataFeteched",_),{last_page:_.last_page,data:U,total:_.total}}catch(D){throw d.value=!1,D}},Z=(T,O)=>{T.target.closest(`.action-btn-${m.value}`)||j(),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),O.getElement().classList.add("datarow-selected"))},me=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(T=>T.actions&&T.actions.length>0):!1:!1),K=u.ref(),xe=(T,O)=>{const P=document.getElementById(m.value),D=T.target.closest(".tabulator-row"),J=T.target.closest(`.action-main-div-body-${m.value}`);if((!P?.contains(T.target)||!D&&!J)&&j(),O){const I=T.target,ce=r.actionMode==="frontend"?r.actionButtons:O.getData().actions,Me=O.getData().id;for(const U of ce){const _=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+Me+"_"+m.value;if(I.classList.contains(_)&&k){k(U.emit,O.getData()),j();break}}}},ae=(T,O)=>{T.preventDefault();const P=T.target,D=T;let J,I,ce,Me=!1;if(D.button===2){const U=P.closest(".tabulator-row");(P.classList.contains(`action-btn-${m.value}-svg`)||P.classList.contains(`action-btn-${m.value}`)||P.classList.contains(`action-btn-${m.value}-div`))&&(Me=!0),U&&(J=U.querySelector(`.action-btn-${m.value}`),I=U.querySelector(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else J=P.closest(`.action-btn-${m.value}`),I=P.closest(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`);if(j(),ce&&J&&I){const U=ce.getBoundingClientRect(),_=I.querySelector(`.action-dropdown-${m.value}`);if(!_)return;if(!_.classList.contains("action-show")){const Ee=document.createElement("span");Ee.classList.add(`${m.value}-dropdown-item-active`),_.parentNode?.insertBefore(Ee,_),document.body.appendChild(_),_.classList.add("action-show"),_.style.position="fixed",_.style.zIndex="9999",D.button===2&&!Me?ne(D,_,U):de(_,J,U),K.value=ze=>{xe(ze,O)},document.addEventListener("click",K.value),document.addEventListener("contextmenu",K.value)}}},ne=(T,O,P)=>{O.style.top=`${T.clientY}px`,O.style.left=`${T.clientX}px`;const D=O.getBoundingClientRect();D.bottom>P.bottom-10&&(O.style.top=`${T.clientY-D.height}px`),D.left<0&&(O.style.left=`${T.clientX+5}px`)},de=(T,O,P)=>{const D=O.getBoundingClientRect();T.style.top=`${D.top+O.offsetHeight}px`,T.style.left=`${D.left-T.clientWidth+O.clientWidth}px`;const J=T.getBoundingClientRect();J.bottom>P.bottom-10&&(T.style.top=`${D.bottom-J.height-O.offsetHeight}px`),J.left<0&&(T.style.left=`${D.right}px`)},j=()=>{const T=document.querySelector(".action-show"),O=document.querySelector(`.${m.value}-dropdown-item-active`);T&&O&&(O.parentNode?.appendChild(T),O.remove(),T.classList.remove("action-show"),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value))},ye=()=>{j()},te=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(O=>x.value.includes(O.field??"")),!r.enableSelectable&&r.action&&(r.actionMode==="frontend"&&me.value||r.actionMode==="api")&&w.value.push(C()),r.enableSelectable&&w.value.unshift({title:"",formatter:"rowSelection",titleFormatter:"rowSelection",headerSort:!1,width:50}),w.value=w.value.filter((O,P,D)=>P===D.findIndex(J=>J.field===O.field))},le=()=>{te(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},ve=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(D=>{const J=D.className.match(/action-dropdown-(table_\w+)/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(D=>{const J=D.className.match(/(table_\w+)-dropdown-item-active/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll(".action-show").forEach(D=>{D.parentElement?.tagName==="BODY"&&D.remove()})},be=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(O=>{const P=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let D=null;for(const J of P){const ce=O.className?.toString?.()?.match(J);if(ce){D=ce[1];break}}D&&!document.getElementById(D)&&(O.parentElement?.tagName==="BODY"||!O.closest(`#${D}`))&&O.remove()})};return u.onMounted(()=>{be(),ve(),y.value=r.paginationSize,S()}),u.onBeforeUnmount(()=>{j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ye,!0),document.getElementById(m.value)?.removeEventListener("scroll",ye,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ye,!0),b&&(b.destroy(),b=null),o.value=!0,n.value=!0,s.value.clear(),ve()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),te(),b.setColumns(w.value))})},{deep:!0}),u.watch(()=>r.queryParams,()=>{r.paginationType==="remote"&&l("queryParams",()=>{b&&(b.setPage(1),b.setData())})},{deep:!0}),u.watch(()=>r.columns,()=>{l("columns",()=>{b&&(te(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[]}),(T,O)=>(u.openBlock(),u.createElementBlock("div",O$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,V$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",B$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(_T,{name:"FileSpreadsheet"})])):u.createCommentVNode("",!0),a.printButton?(u.openBlock(),u.createElementBlock("button",{key:1,onClick:R,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(_T,{name:"Printer"})])):u.createCommentVNode("",!0),a.settingsButton?(u.openBlock(),u.createElementBlock("button",{key:2,onClick:oe,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(_T,{name:"Settings"})])):u.createCommentVNode("",!0)])):u.createCommentVNode("",!0),u.createElementVNode("div",null,[u.createElementVNode("div",{ref:m.value,id:m.value,class:u.normalizeClass([{"tabulator-action":a.action},`${m.value}`])},null,10,N$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,q$)):u.createCommentVNode("",!0),u.createVNode(wS,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:O[3]||(O[3]=P=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",j$,[u.createElementVNode("div",_$,[O[4]||(O[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":O[0]||(O[0]=P=>g.value=P),class:"input-text mb-4",placeholder:"Search for attributes","aria-label":"Search columns"},null,512),[[u.vModelText,g.value]]),(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(L.value,P=>(u.openBlock(),u.createElementBlock("div",{key:P.field,class:"my-2"},[P.field!=="action"?(u.openBlock(),u.createElementBlock("div",U$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:P.isMandatory,"onUpdate:modelValue":O[1]||(O[1]=D=>x.value=D),value:P.field,class:"mx-1.5 my-auto",id:P.title,"aria-labelledby":"column-checkbox"},null,8,G$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:P.title,class:"select-none"},u.toDisplayString(P.title),9,W$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",Y$,[O[5]||(O[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",Q$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,P=>(u.openBlock(),u.createElementBlock("label",{key:P,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":O[2]||(O[2]=D=>y.value=D),value:P,class:"mr-2.5","aria-label":"Select page size"},null,8,X$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(P),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),Z$=["aria-checked"],$$={class:"text-[12px]"},XF=u.defineComponent({__name:"Toggle",props:{modelValue:{type:Boolean,default:!1},onText:{default:"On"},offText:{default:"Off"},width:{default:"60px"},disable:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,i=e,r=u.ref(t.modelValue);u.watch(()=>t.modelValue,s=>{r.value=s});const n=()=>{t.disable||(r.value=!r.value,i("update:modelValue",r.value))};return(s,o)=>(u.openBlock(),u.createElementBlock("div",{onClick:n,class:u.normalizeClass(["relative select-none h-[30px] rounded-default transition-colors duration-200 border border-border-foreground overflow-hidden",[a.disable?"cursor-not-allowed":"cursor-pointer"]]),style:u.normalizeStyle({width:a.width,maxWidth:a.width,minWidth:a.width}),role:"switch","aria-checked":r.value},[u.createElementVNode("div",{class:u.normalizeClass(["flex items-center justify-center w-1/2 h-full bg-gray-200 shadow-md transform transition-transform duration-200",r.value?"translate-x-full":"translate-x-0"])},[u.createElementVNode("span",$$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,Z$))}}),eee={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},tee={class:"flex z-10 w-[100vw] top-0 fixed justify-between px-4 py-3 bg-white border-b border-b-border max-h-[50px]"},aee={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},iee={key:0},ree={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},nee={key:0,class:"flex justify-end fixed bottom-0 left-0 w-[100vw] bg-white border-t border-t-border max-h-[50px] px-4 py-3"},see={class:"right-0 flex gap-2"},oee=["onClick"],lee=u.defineComponent({inheritAttrs:!1,__name:"Towser",props:{show:{type:Boolean,default:!1},title:{},actions:{},double:{type:Boolean,default:!1},bodyWidth:{default:50},body2Width:{default:50}},setup(a,{emit:e}){const t=a,i=e,r=u.computed(()=>t.actions?"150px":"100px"),n=u.computed(()=>t.double?`${t.bodyWidth}%`:"100%"),s=u.computed(()=>`
178
+ `}else return""},cellClick:ae}),S=()=>{const T=document.getElementById(m.value);if(!T)return;x.value=r.columns.map(D=>D.field??""),te();const O=window.innerHeight-r.heightOffset,P={data:r.data,columns:w.value,placeholder:r.placeholder??"No records found!",pagination:r.enableSelectable?!1:!r.disableFooter,paginationMode:r.enableSelectable?"local":r.paginationType,paginationSize:y.value,filterMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",sortMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",paginationSizeSelector:r.paginationSizeSelector,layout:"fitColumns",height:O<250?250:O,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:D=>D===""};b=new cq(T,P),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ae),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ye,!0),T.addEventListener("scroll",ye,!0),document.querySelector(".tabulator-tableholder")?.addEventListener("scroll",ye,!0)},R=()=>{r.headerContent&&r.enableHeaderPrint&&b&&(b.options.printHeader=r.headerContent),r.footerContent&&r.enableFooterPrint&&b&&(b.options.printFooter=r.footerContent),b?.print("all",!1)},B=()=>{b?.download("xlsx",r.sheetName+".xlsx",{sheetName:r.sheetName})},N=()=>{o.value=!0,n.value=!0,s.value.clear(),j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ye,!0),document.getElementById(m.value)?.removeEventListener("scroll",ye,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ye,!0),b&&(b.destroy(),b=null),S()},q=async(T,O,P)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const D=b?.getFilters(!0)||[],J=b?.getSorters().map(ie=>({field:ie.field,dir:ie.dir}))||[],I=D.length?JSON.stringify(D):void 0,ce=J.length?JSON.stringify(J):void 0,Me=await r.apiInstance.get(r.apiEndpoint,{params:{page:P.page||1,per_page:P.size||y.value,...r.queryParams,...I&&{filters:I},...ce&&{sorters:ce}}}),{data:U,meta:_}=Me.data;return f.value=_.total,p.value=P.page,k("onDataFeteched",_),r.disableFooter?U:{last_page:_.last_page,data:U,total:_.total}}catch(D){throw d.value=!1,D}},Z=(T,O)=>{T.target.closest(`.action-btn-${m.value}`)||j(),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),O.getElement().classList.add("datarow-selected"))},me=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(T=>T.actions&&T.actions.length>0):!1:!1),K=u.ref(),xe=(T,O)=>{const P=document.getElementById(m.value),D=T.target.closest(".tabulator-row"),J=T.target.closest(`.action-main-div-body-${m.value}`);if((!P?.contains(T.target)||!D&&!J)&&j(),O){const I=T.target,ce=r.actionMode==="frontend"?r.actionButtons:O.getData().actions,Me=O.getData().id;for(const U of ce){const _=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+Me+"_"+m.value;if(I.classList.contains(_)&&k){k(U.emit,O.getData()),j();break}}}},ae=(T,O)=>{T.preventDefault();const P=T.target,D=T;let J,I,ce,Me=!1;if(D.button===2){const U=P.closest(".tabulator-row");(P.classList.contains(`action-btn-${m.value}-svg`)||P.classList.contains(`action-btn-${m.value}`)||P.classList.contains(`action-btn-${m.value}-div`))&&(Me=!0),U&&(J=U.querySelector(`.action-btn-${m.value}`),I=U.querySelector(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else J=P.closest(`.action-btn-${m.value}`),I=P.closest(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`);if(j(),ce&&J&&I){const U=ce.getBoundingClientRect(),_=I.querySelector(`.action-dropdown-${m.value}`);if(!_)return;if(!_.classList.contains("action-show")){const Ee=document.createElement("span");Ee.classList.add(`${m.value}-dropdown-item-active`),_.parentNode?.insertBefore(Ee,_),document.body.appendChild(_),_.classList.add("action-show"),_.style.position="fixed",_.style.zIndex="9999",D.button===2&&!Me?ne(D,_,U):de(_,J,U),K.value=ze=>{xe(ze,O)},document.addEventListener("click",K.value),document.addEventListener("contextmenu",K.value)}}},ne=(T,O,P)=>{O.style.top=`${T.clientY}px`,O.style.left=`${T.clientX}px`;const D=O.getBoundingClientRect();D.bottom>P.bottom-10&&(O.style.top=`${T.clientY-D.height}px`),D.left<0&&(O.style.left=`${T.clientX+5}px`)},de=(T,O,P)=>{const D=O.getBoundingClientRect();T.style.top=`${D.top+O.offsetHeight}px`,T.style.left=`${D.left-T.clientWidth+O.clientWidth}px`;const J=T.getBoundingClientRect();J.bottom>P.bottom-10&&(T.style.top=`${D.bottom-J.height-O.offsetHeight}px`),J.left<0&&(T.style.left=`${D.right}px`)},j=()=>{const T=document.querySelector(".action-show"),O=document.querySelector(`.${m.value}-dropdown-item-active`);T&&O&&(O.parentNode?.appendChild(T),O.remove(),T.classList.remove("action-show"),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value))},ye=()=>{j()},te=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(O=>x.value.includes(O.field??"")),!r.enableSelectable&&r.action&&(r.actionMode==="frontend"&&me.value||r.actionMode==="api")&&w.value.push(C()),r.enableSelectable&&w.value.unshift({title:"",formatter:"rowSelection",titleFormatter:"rowSelection",headerSort:!1,width:50}),w.value=w.value.filter((O,P,D)=>P===D.findIndex(J=>J.field===O.field))},le=()=>{te(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},ve=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(D=>{const J=D.className.match(/action-dropdown-(table_\w+)/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(D=>{const J=D.className.match(/(table_\w+)-dropdown-item-active/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll(".action-show").forEach(D=>{D.parentElement?.tagName==="BODY"&&D.remove()})},be=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(O=>{const P=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let D=null;for(const J of P){const ce=O.className?.toString?.()?.match(J);if(ce){D=ce[1];break}}D&&!document.getElementById(D)&&(O.parentElement?.tagName==="BODY"||!O.closest(`#${D}`))&&O.remove()})};return u.onMounted(()=>{be(),ve(),y.value=r.paginationSize,S()}),u.onBeforeUnmount(()=>{j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ye,!0),document.getElementById(m.value)?.removeEventListener("scroll",ye,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ye,!0),b&&(b.destroy(),b=null),o.value=!0,n.value=!0,s.value.clear(),ve()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),te(),b.setColumns(w.value))})},{deep:!0}),u.watch(()=>r.queryParams,()=>{r.paginationType==="remote"&&l("queryParams",()=>{b&&(b.setPage(1),b.setData())})},{deep:!0}),u.watch(()=>r.columns,()=>{l("columns",()=>{b&&(te(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[]}),(T,O)=>(u.openBlock(),u.createElementBlock("div",O$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,V$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",B$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(_T,{name:"FileSpreadsheet"})])):u.createCommentVNode("",!0),a.printButton?(u.openBlock(),u.createElementBlock("button",{key:1,onClick:R,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(_T,{name:"Printer"})])):u.createCommentVNode("",!0),a.settingsButton?(u.openBlock(),u.createElementBlock("button",{key:2,onClick:oe,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(_T,{name:"Settings"})])):u.createCommentVNode("",!0)])):u.createCommentVNode("",!0),u.createElementVNode("div",null,[u.createElementVNode("div",{ref:m.value,id:m.value,class:u.normalizeClass([{"tabulator-action":a.action},`${m.value}`])},null,10,N$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,q$)):u.createCommentVNode("",!0),u.createVNode(wS,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:O[3]||(O[3]=P=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",j$,[u.createElementVNode("div",_$,[O[4]||(O[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":O[0]||(O[0]=P=>g.value=P),class:"input-text mb-4",placeholder:"Search for attributes","aria-label":"Search columns"},null,512),[[u.vModelText,g.value]]),(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(L.value,P=>(u.openBlock(),u.createElementBlock("div",{key:P.field,class:"my-2"},[P.field!=="action"?(u.openBlock(),u.createElementBlock("div",U$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:P.isMandatory,"onUpdate:modelValue":O[1]||(O[1]=D=>x.value=D),value:P.field,class:"mx-1.5 my-auto",id:P.title,"aria-labelledby":"column-checkbox"},null,8,G$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:P.title,class:"select-none"},u.toDisplayString(P.title),9,W$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",Y$,[O[5]||(O[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",Q$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,P=>(u.openBlock(),u.createElementBlock("label",{key:P,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":O[2]||(O[2]=D=>y.value=D),value:P,class:"mr-2.5","aria-label":"Select page size"},null,8,X$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(P),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),Z$=["aria-checked"],$$={class:"text-[12px]"},XF=u.defineComponent({__name:"Toggle",props:{modelValue:{type:Boolean,default:!1},onText:{default:"On"},offText:{default:"Off"},width:{default:"60px"},disable:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,i=e,r=u.ref(t.modelValue);u.watch(()=>t.modelValue,s=>{r.value=s});const n=()=>{t.disable||(r.value=!r.value,i("update:modelValue",r.value))};return(s,o)=>(u.openBlock(),u.createElementBlock("div",{onClick:n,class:u.normalizeClass(["relative select-none h-[30px] rounded-default transition-colors duration-200 border border-border-foreground overflow-hidden",[a.disable?"cursor-not-allowed":"cursor-pointer"]]),style:u.normalizeStyle({width:a.width,maxWidth:a.width,minWidth:a.width}),role:"switch","aria-checked":r.value},[u.createElementVNode("div",{class:u.normalizeClass(["flex items-center justify-center w-1/2 h-full bg-gray-200 shadow-md transform transition-transform duration-200",r.value?"translate-x-full":"translate-x-0"])},[u.createElementVNode("span",$$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,Z$))}}),eee={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},tee={class:"flex z-10 w-[100vw] top-0 fixed justify-between px-4 py-3 bg-white border-b border-b-border max-h-[50px]"},aee={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},iee={key:0},ree={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},nee={key:0,class:"flex justify-end fixed bottom-0 left-0 w-[100vw] bg-white border-t border-t-border max-h-[50px] px-4 py-3"},see={class:"right-0 flex gap-2"},oee=["onClick"],lee=u.defineComponent({inheritAttrs:!1,__name:"Towser",props:{show:{type:Boolean,default:!1},title:{},actions:{},double:{type:Boolean,default:!1},bodyWidth:{default:50},body2Width:{default:50}},setup(a,{emit:e}){const t=a,i=e,r=u.computed(()=>t.actions?"150px":"100px"),n=u.computed(()=>t.double?`${t.bodyWidth}%`:"100%"),s=u.computed(()=>`
179
179
  min-height: calc(100vh - ${r.value});
180
180
  max-height: calc(100vh - ${r.value});
181
181
  width: ${n.value}
@@ -59090,7 +59090,7 @@ const gee = L0.version, kee = {
59090
59090
  columns: v.value,
59091
59091
  placeholder: r.placeholder ?? "No records found!",
59092
59092
  pagination: r.enableSelectable ? !1 : !r.disableFooter,
59093
- paginationMode: r.enableSelectable || !r.disableFooter ? "local" : r.paginationType,
59093
+ paginationMode: r.enableSelectable ? "local" : r.paginationType,
59094
59094
  paginationSize: m.value,
59095
59095
  filterMode: r.paginationType === "remote" && !r.enableSelectable ? "remote" : "local",
59096
59096
  sortMode: r.paginationType === "remote" && !r.enableSelectable ? "remote" : "local",
@@ -59141,7 +59141,7 @@ const gee = L0.version, kee = {
59141
59141
  ...de && { sorters: de }
59142
59142
  }
59143
59143
  }), { data: _, meta: j } = Te.data;
59144
- return u.value = j.total, f.value = R.page, g("onDataFeteched", j), {
59144
+ return u.value = j.total, f.value = R.page, g("onDataFeteched", j), r.disableFooter ? _ : {
59145
59145
  last_page: j.last_page,
59146
59146
  data: _,
59147
59147
  total: j.total
@@ -175,7 +175,7 @@ EOD`}return{to_workbook:i,to_sheet:t,from_sheet:s}})(),jR=(function(){function a
175
175
  ${P}
176
176
  </div>
177
177
  </div>
178
- `}else return""},cellClick:ae}),S=()=>{const T=document.getElementById(m.value);if(!T)return;x.value=r.columns.map(D=>D.field??""),te();const O=window.innerHeight-r.heightOffset,P={data:r.data,columns:w.value,placeholder:r.placeholder??"No records found!",pagination:r.enableSelectable?!1:!r.disableFooter,paginationMode:r.enableSelectable||!r.disableFooter?"local":r.paginationType,paginationSize:y.value,filterMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",sortMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",paginationSizeSelector:r.paginationSizeSelector,layout:"fitColumns",height:O<250?250:O,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:D=>D===""};b=new KN(T,P),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ae),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ge,!0),T.addEventListener("scroll",ge,!0),document.querySelector(".tabulator-tableholder")?.addEventListener("scroll",ge,!0)},R=()=>{r.headerContent&&r.enableHeaderPrint&&b&&(b.options.printHeader=r.headerContent),r.footerContent&&r.enableFooterPrint&&b&&(b.options.printFooter=r.footerContent),b?.print("all",!1)},B=()=>{b?.download("xlsx",r.sheetName+".xlsx",{sheetName:r.sheetName})},N=()=>{o.value=!0,n.value=!0,s.value.clear(),j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ge,!0),document.getElementById(m.value)?.removeEventListener("scroll",ge,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ge,!0),b&&(b.destroy(),b=null),S()},q=async(T,O,P)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const D=b?.getFilters(!0)||[],J=b?.getSorters().map(ie=>({field:ie.field,dir:ie.dir}))||[],I=D.length?JSON.stringify(D):void 0,ce=J.length?JSON.stringify(J):void 0,Me=await r.apiInstance.get(r.apiEndpoint,{params:{page:P.page||1,per_page:P.size||y.value,...r.queryParams,...I&&{filters:I},...ce&&{sorters:ce}}}),{data:U,meta:_}=Me.data;return f.value=_.total,p.value=P.page,k("onDataFeteched",_),{last_page:_.last_page,data:U,total:_.total}}catch(D){throw d.value=!1,D}},Z=(T,O)=>{T.target.closest(`.action-btn-${m.value}`)||j(),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),O.getElement().classList.add("datarow-selected"))},ye=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(T=>T.actions&&T.actions.length>0):!1:!1),K=u.ref(),xe=(T,O)=>{const P=document.getElementById(m.value),D=T.target.closest(".tabulator-row"),J=T.target.closest(`.action-main-div-body-${m.value}`);if((!P?.contains(T.target)||!D&&!J)&&j(),O){const I=T.target,ce=r.actionMode==="frontend"?r.actionButtons:O.getData().actions,Me=O.getData().id;for(const U of ce){const _=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+Me+"_"+m.value;if(I.classList.contains(_)&&k){k(U.emit,O.getData()),j();break}}}},ae=(T,O)=>{T.preventDefault();const P=T.target,D=T;let J,I,ce,Me=!1;if(D.button===2){const U=P.closest(".tabulator-row");(P.classList.contains(`action-btn-${m.value}-svg`)||P.classList.contains(`action-btn-${m.value}`)||P.classList.contains(`action-btn-${m.value}-div`))&&(Me=!0),U&&(J=U.querySelector(`.action-btn-${m.value}`),I=U.querySelector(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else J=P.closest(`.action-btn-${m.value}`),I=P.closest(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`);if(j(),ce&&J&&I){const U=ce.getBoundingClientRect(),_=I.querySelector(`.action-dropdown-${m.value}`);if(!_)return;if(!_.classList.contains("action-show")){const Ee=document.createElement("span");Ee.classList.add(`${m.value}-dropdown-item-active`),_.parentNode?.insertBefore(Ee,_),document.body.appendChild(_),_.classList.add("action-show"),_.style.position="fixed",_.style.zIndex="9999",D.button===2&&!Me?ne(D,_,U):de(_,J,U),K.value=ze=>{xe(ze,O)},document.addEventListener("click",K.value),document.addEventListener("contextmenu",K.value)}}},ne=(T,O,P)=>{O.style.top=`${T.clientY}px`,O.style.left=`${T.clientX}px`;const D=O.getBoundingClientRect();D.bottom>P.bottom-10&&(O.style.top=`${T.clientY-D.height}px`),D.left<0&&(O.style.left=`${T.clientX+5}px`)},de=(T,O,P)=>{const D=O.getBoundingClientRect();T.style.top=`${D.top+O.offsetHeight}px`,T.style.left=`${D.left-T.clientWidth+O.clientWidth}px`;const J=T.getBoundingClientRect();J.bottom>P.bottom-10&&(T.style.top=`${D.bottom-J.height-O.offsetHeight}px`),J.left<0&&(T.style.left=`${D.right}px`)},j=()=>{const T=document.querySelector(".action-show"),O=document.querySelector(`.${m.value}-dropdown-item-active`);T&&O&&(O.parentNode?.appendChild(T),O.remove(),T.classList.remove("action-show"),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value))},ge=()=>{j()},te=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(O=>x.value.includes(O.field??"")),!r.enableSelectable&&r.action&&(r.actionMode==="frontend"&&ye.value||r.actionMode==="api")&&w.value.push(C()),r.enableSelectable&&w.value.unshift({title:"",formatter:"rowSelection",titleFormatter:"rowSelection",headerSort:!1,width:50}),w.value=w.value.filter((O,P,D)=>P===D.findIndex(J=>J.field===O.field))},le=()=>{te(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},we=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(D=>{const J=D.className.match(/action-dropdown-(table_\w+)/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(D=>{const J=D.className.match(/(table_\w+)-dropdown-item-active/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll(".action-show").forEach(D=>{D.parentElement?.tagName==="BODY"&&D.remove()})},be=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(O=>{const P=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let D=null;for(const J of P){const ce=O.className?.toString?.()?.match(J);if(ce){D=ce[1];break}}D&&!document.getElementById(D)&&(O.parentElement?.tagName==="BODY"||!O.closest(`#${D}`))&&O.remove()})};return u.onMounted(()=>{be(),we(),y.value=r.paginationSize,S()}),u.onBeforeUnmount(()=>{j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ge,!0),document.getElementById(m.value)?.removeEventListener("scroll",ge,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ge,!0),b&&(b.destroy(),b=null),o.value=!0,n.value=!0,s.value.clear(),we()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),te(),b.setColumns(w.value))})},{deep:!0}),u.watch(()=>r.queryParams,()=>{r.paginationType==="remote"&&l("queryParams",()=>{b&&(b.setPage(1),b.setData())})},{deep:!0}),u.watch(()=>r.columns,()=>{l("columns",()=>{b&&(te(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[]}),(T,O)=>(u.openBlock(),u.createElementBlock("div",C$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,E$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",L$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(FT,{name:"FileSpreadsheet"})])):u.createCommentVNode("",!0),a.printButton?(u.openBlock(),u.createElementBlock("button",{key:1,onClick:R,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(FT,{name:"Printer"})])):u.createCommentVNode("",!0),a.settingsButton?(u.openBlock(),u.createElementBlock("button",{key:2,onClick:oe,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(FT,{name:"Settings"})])):u.createCommentVNode("",!0)])):u.createCommentVNode("",!0),u.createElementVNode("div",null,[u.createElementVNode("div",{ref:m.value,id:m.value,class:u.normalizeClass([{"tabulator-action":a.action},`${m.value}`])},null,10,T$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,S$)):u.createCommentVNode("",!0),u.createVNode(j0,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:O[3]||(O[3]=P=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",I$,[u.createElementVNode("div",F$,[O[4]||(O[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":O[0]||(O[0]=P=>g.value=P),class:"input-text mb-4",placeholder:"Search for attributes","aria-label":"Search columns"},null,512),[[u.vModelText,g.value]]),(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(L.value,P=>(u.openBlock(),u.createElementBlock("div",{key:P.field,class:"my-2"},[P.field!=="action"?(u.openBlock(),u.createElementBlock("div",D$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:P.isMandatory,"onUpdate:modelValue":O[1]||(O[1]=D=>x.value=D),value:P.field,class:"mx-1.5 my-auto",id:P.title,"aria-labelledby":"column-checkbox"},null,8,A$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:P.title,class:"select-none"},u.toDisplayString(P.title),9,R$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",P$,[O[5]||(O[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",H$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,P=>(u.openBlock(),u.createElementBlock("label",{key:P,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":O[2]||(O[2]=D=>y.value=D),value:P,class:"mr-2.5","aria-label":"Select page size"},null,8,z$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(P),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),B$=["aria-checked"],N$={class:"text-[12px]"},TF=u.defineComponent({__name:"Toggle",props:{modelValue:{type:Boolean,default:!1},onText:{default:"On"},offText:{default:"Off"},width:{default:"60px"},disable:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,i=e,r=u.ref(t.modelValue);u.watch(()=>t.modelValue,s=>{r.value=s});const n=()=>{t.disable||(r.value=!r.value,i("update:modelValue",r.value))};return(s,o)=>(u.openBlock(),u.createElementBlock("div",{onClick:n,class:u.normalizeClass(["relative select-none h-[30px] rounded-default transition-colors duration-200 border border-border-foreground overflow-hidden",[a.disable?"cursor-not-allowed":"cursor-pointer"]]),style:u.normalizeStyle({width:a.width,maxWidth:a.width,minWidth:a.width}),role:"switch","aria-checked":r.value},[u.createElementVNode("div",{class:u.normalizeClass(["flex items-center justify-center w-1/2 h-full bg-gray-200 shadow-md transform transition-transform duration-200",r.value?"translate-x-full":"translate-x-0"])},[u.createElementVNode("span",N$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,B$))}}),q$={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},j$={class:"flex z-10 w-[100vw] top-0 fixed justify-between px-4 py-3 bg-white border-b border-b-border max-h-[50px]"},_$={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},U$={key:0},G$={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},W$={key:0,class:"flex justify-end fixed bottom-0 left-0 w-[100vw] bg-white border-t border-t-border max-h-[50px] px-4 py-3"},Y$={class:"right-0 flex gap-2"},Q$=["onClick"],X$=u.defineComponent({inheritAttrs:!1,__name:"Towser",props:{show:{type:Boolean,default:!1},title:{},actions:{},double:{type:Boolean,default:!1},bodyWidth:{default:50},body2Width:{default:50}},setup(a,{emit:e}){const t=a,i=e,r=u.computed(()=>t.actions?"150px":"100px"),n=u.computed(()=>t.double?`${t.bodyWidth}%`:"100%"),s=u.computed(()=>`
178
+ `}else return""},cellClick:ae}),S=()=>{const T=document.getElementById(m.value);if(!T)return;x.value=r.columns.map(D=>D.field??""),te();const O=window.innerHeight-r.heightOffset,P={data:r.data,columns:w.value,placeholder:r.placeholder??"No records found!",pagination:r.enableSelectable?!1:!r.disableFooter,paginationMode:r.enableSelectable?"local":r.paginationType,paginationSize:y.value,filterMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",sortMode:r.paginationType==="remote"&&!r.enableSelectable?"remote":"local",paginationSizeSelector:r.paginationSizeSelector,layout:"fitColumns",height:O<250?250:O,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:D=>D===""};b=new KN(T,P),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ae),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ge,!0),T.addEventListener("scroll",ge,!0),document.querySelector(".tabulator-tableholder")?.addEventListener("scroll",ge,!0)},R=()=>{r.headerContent&&r.enableHeaderPrint&&b&&(b.options.printHeader=r.headerContent),r.footerContent&&r.enableFooterPrint&&b&&(b.options.printFooter=r.footerContent),b?.print("all",!1)},B=()=>{b?.download("xlsx",r.sheetName+".xlsx",{sheetName:r.sheetName})},N=()=>{o.value=!0,n.value=!0,s.value.clear(),j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ge,!0),document.getElementById(m.value)?.removeEventListener("scroll",ge,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ge,!0),b&&(b.destroy(),b=null),S()},q=async(T,O,P)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const D=b?.getFilters(!0)||[],J=b?.getSorters().map(ie=>({field:ie.field,dir:ie.dir}))||[],I=D.length?JSON.stringify(D):void 0,ce=J.length?JSON.stringify(J):void 0,Me=await r.apiInstance.get(r.apiEndpoint,{params:{page:P.page||1,per_page:P.size||y.value,...r.queryParams,...I&&{filters:I},...ce&&{sorters:ce}}}),{data:U,meta:_}=Me.data;return f.value=_.total,p.value=P.page,k("onDataFeteched",_),r.disableFooter?U:{last_page:_.last_page,data:U,total:_.total}}catch(D){throw d.value=!1,D}},Z=(T,O)=>{T.target.closest(`.action-btn-${m.value}`)||j(),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),O.getElement().classList.add("datarow-selected"))},ye=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(T=>T.actions&&T.actions.length>0):!1:!1),K=u.ref(),xe=(T,O)=>{const P=document.getElementById(m.value),D=T.target.closest(".tabulator-row"),J=T.target.closest(`.action-main-div-body-${m.value}`);if((!P?.contains(T.target)||!D&&!J)&&j(),O){const I=T.target,ce=r.actionMode==="frontend"?r.actionButtons:O.getData().actions,Me=O.getData().id;for(const U of ce){const _=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+Me+"_"+m.value;if(I.classList.contains(_)&&k){k(U.emit,O.getData()),j();break}}}},ae=(T,O)=>{T.preventDefault();const P=T.target,D=T;let J,I,ce,Me=!1;if(D.button===2){const U=P.closest(".tabulator-row");(P.classList.contains(`action-btn-${m.value}-svg`)||P.classList.contains(`action-btn-${m.value}`)||P.classList.contains(`action-btn-${m.value}-div`))&&(Me=!0),U&&(J=U.querySelector(`.action-btn-${m.value}`),I=U.querySelector(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(T.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else J=P.closest(`.action-btn-${m.value}`),I=P.closest(`.action-main-div-body-${m.value}`),ce=document.querySelector(`#${m.value} .tabulator-tableholder`);if(j(),ce&&J&&I){const U=ce.getBoundingClientRect(),_=I.querySelector(`.action-dropdown-${m.value}`);if(!_)return;if(!_.classList.contains("action-show")){const Ee=document.createElement("span");Ee.classList.add(`${m.value}-dropdown-item-active`),_.parentNode?.insertBefore(Ee,_),document.body.appendChild(_),_.classList.add("action-show"),_.style.position="fixed",_.style.zIndex="9999",D.button===2&&!Me?ne(D,_,U):de(_,J,U),K.value=ze=>{xe(ze,O)},document.addEventListener("click",K.value),document.addEventListener("contextmenu",K.value)}}},ne=(T,O,P)=>{O.style.top=`${T.clientY}px`,O.style.left=`${T.clientX}px`;const D=O.getBoundingClientRect();D.bottom>P.bottom-10&&(O.style.top=`${T.clientY-D.height}px`),D.left<0&&(O.style.left=`${T.clientX+5}px`)},de=(T,O,P)=>{const D=O.getBoundingClientRect();T.style.top=`${D.top+O.offsetHeight}px`,T.style.left=`${D.left-T.clientWidth+O.clientWidth}px`;const J=T.getBoundingClientRect();J.bottom>P.bottom-10&&(T.style.top=`${D.bottom-J.height-O.offsetHeight}px`),J.left<0&&(T.style.left=`${D.right}px`)},j=()=>{const T=document.querySelector(".action-show"),O=document.querySelector(`.${m.value}-dropdown-item-active`);T&&O&&(O.parentNode?.appendChild(T),O.remove(),T.classList.remove("action-show"),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value))},ge=()=>{j()},te=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(O=>x.value.includes(O.field??"")),!r.enableSelectable&&r.action&&(r.actionMode==="frontend"&&ye.value||r.actionMode==="api")&&w.value.push(C()),r.enableSelectable&&w.value.unshift({title:"",formatter:"rowSelection",titleFormatter:"rowSelection",headerSort:!1,width:50}),w.value=w.value.filter((O,P,D)=>P===D.findIndex(J=>J.field===O.field))},le=()=>{te(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},we=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(D=>{const J=D.className.match(/action-dropdown-(table_\w+)/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(D=>{const J=D.className.match(/(table_\w+)-dropdown-item-active/);if(J){const I=J[1];document.getElementById(I)||D.remove()}}),document.querySelectorAll(".action-show").forEach(D=>{D.parentElement?.tagName==="BODY"&&D.remove()})},be=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(O=>{const P=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let D=null;for(const J of P){const ce=O.className?.toString?.()?.match(J);if(ce){D=ce[1];break}}D&&!document.getElementById(D)&&(O.parentElement?.tagName==="BODY"||!O.closest(`#${D}`))&&O.remove()})};return u.onMounted(()=>{be(),we(),y.value=r.paginationSize,S()}),u.onBeforeUnmount(()=>{j(),document.removeEventListener("click",K.value),document.removeEventListener("contextmenu",K.value),window.removeEventListener("scroll",ge,!0),document.getElementById(m.value)?.removeEventListener("scroll",ge,!0),document.querySelector(".tabulator-tableholder")?.removeEventListener("scroll",ge,!0),b&&(b.destroy(),b=null),o.value=!0,n.value=!0,s.value.clear(),we()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),te(),b.setColumns(w.value))})},{deep:!0}),u.watch(()=>r.queryParams,()=>{r.paginationType==="remote"&&l("queryParams",()=>{b&&(b.setPage(1),b.setData())})},{deep:!0}),u.watch(()=>r.columns,()=>{l("columns",()=>{b&&(te(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[]}),(T,O)=>(u.openBlock(),u.createElementBlock("div",C$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,E$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",L$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(FT,{name:"FileSpreadsheet"})])):u.createCommentVNode("",!0),a.printButton?(u.openBlock(),u.createElementBlock("button",{key:1,onClick:R,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(FT,{name:"Printer"})])):u.createCommentVNode("",!0),a.settingsButton?(u.openBlock(),u.createElementBlock("button",{key:2,onClick:oe,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(FT,{name:"Settings"})])):u.createCommentVNode("",!0)])):u.createCommentVNode("",!0),u.createElementVNode("div",null,[u.createElementVNode("div",{ref:m.value,id:m.value,class:u.normalizeClass([{"tabulator-action":a.action},`${m.value}`])},null,10,T$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,S$)):u.createCommentVNode("",!0),u.createVNode(j0,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:O[3]||(O[3]=P=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",I$,[u.createElementVNode("div",F$,[O[4]||(O[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":O[0]||(O[0]=P=>g.value=P),class:"input-text mb-4",placeholder:"Search for attributes","aria-label":"Search columns"},null,512),[[u.vModelText,g.value]]),(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(L.value,P=>(u.openBlock(),u.createElementBlock("div",{key:P.field,class:"my-2"},[P.field!=="action"?(u.openBlock(),u.createElementBlock("div",D$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:P.isMandatory,"onUpdate:modelValue":O[1]||(O[1]=D=>x.value=D),value:P.field,class:"mx-1.5 my-auto",id:P.title,"aria-labelledby":"column-checkbox"},null,8,A$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:P.title,class:"select-none"},u.toDisplayString(P.title),9,R$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",P$,[O[5]||(O[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",H$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,P=>(u.openBlock(),u.createElementBlock("label",{key:P,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":O[2]||(O[2]=D=>y.value=D),value:P,class:"mr-2.5","aria-label":"Select page size"},null,8,z$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(P),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),B$=["aria-checked"],N$={class:"text-[12px]"},TF=u.defineComponent({__name:"Toggle",props:{modelValue:{type:Boolean,default:!1},onText:{default:"On"},offText:{default:"Off"},width:{default:"60px"},disable:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,i=e,r=u.ref(t.modelValue);u.watch(()=>t.modelValue,s=>{r.value=s});const n=()=>{t.disable||(r.value=!r.value,i("update:modelValue",r.value))};return(s,o)=>(u.openBlock(),u.createElementBlock("div",{onClick:n,class:u.normalizeClass(["relative select-none h-[30px] rounded-default transition-colors duration-200 border border-border-foreground overflow-hidden",[a.disable?"cursor-not-allowed":"cursor-pointer"]]),style:u.normalizeStyle({width:a.width,maxWidth:a.width,minWidth:a.width}),role:"switch","aria-checked":r.value},[u.createElementVNode("div",{class:u.normalizeClass(["flex items-center justify-center w-1/2 h-full bg-gray-200 shadow-md transform transition-transform duration-200",r.value?"translate-x-full":"translate-x-0"])},[u.createElementVNode("span",N$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,B$))}}),q$={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},j$={class:"flex z-10 w-[100vw] top-0 fixed justify-between px-4 py-3 bg-white border-b border-b-border max-h-[50px]"},_$={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},U$={key:0},G$={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},W$={key:0,class:"flex justify-end fixed bottom-0 left-0 w-[100vw] bg-white border-t border-t-border max-h-[50px] px-4 py-3"},Y$={class:"right-0 flex gap-2"},Q$=["onClick"],X$=u.defineComponent({inheritAttrs:!1,__name:"Towser",props:{show:{type:Boolean,default:!1},title:{},actions:{},double:{type:Boolean,default:!1},bodyWidth:{default:50},body2Width:{default:50}},setup(a,{emit:e}){const t=a,i=e,r=u.computed(()=>t.actions?"150px":"100px"),n=u.computed(()=>t.double?`${t.bodyWidth}%`:"100%"),s=u.computed(()=>`
179
179
  min-height: calc(100vh - ${r.value});
180
180
  max-height: calc(100vh - ${r.value});
181
181
  width: ${n.value}
@@ -14,4 +14,4 @@ declare const config: {
14
14
  };
15
15
  };
16
16
 
17
- export = config;
17
+ export default config;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dolphin-components",
3
3
  "private": false,
4
- "version": "3.1.8",
4
+ "version": "3.1.10",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",