dolphin-components 3.1.12 → 3.1.13

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
  ${F}
176
176
  </div>
177
177
  </div>
178
- `}else return""},cellClick:ie}),T=()=>{const O=document.getElementById(m.value);if(!O)return;x.value=r.columns.map(S=>S.field??""),ae();const A=window.innerHeight-r.heightOffset;let F=w.value;F.forEach(S=>delete S.isMandatory);const j={data:r.data,columns:F,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:A<250?250:A,selectable:!!r.enableSelectable,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:S=>S===""};b=new oq(O,j),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ie),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ye,!0),O.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(),_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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),T()},q=async(O,A,F)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const j=b?.getFilters(!0)||[],S=b?.getSorters().map(Ee=>({field:Ee.field,dir:Ee.dir}))||[],ce=j.length?JSON.stringify(j):void 0,ke=S.length?JSON.stringify(S):void 0,G=await r.apiInstance.get(r.apiEndpoint,{params:{page:F.page||1,per_page:F.size||y.value,...r.queryParams,...ce&&{filters:ce},...ke&&{sorters:ke}}}),{data:U,meta:ee}=G.data;return f.value=ee.total,p.value=F.page,k("onDataFeteched",ee),r.disableFooter?U:{last_page:ee.last_page,data:U,total:ee.total}}catch(j){throw d.value=!1,j}},Z=(O,A)=>{O.target.closest(`.action-btn-${m.value}`)||_(),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),A.getElement().classList.add("datarow-selected"))},me=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(O=>O.actions&&O.actions.length>0):!1:!1),J=u.ref(),be=(O,A)=>{const F=document.getElementById(m.value),j=O.target.closest(".tabulator-row"),S=O.target.closest(`.action-main-div-body-${m.value}`);if((!F?.contains(O.target)||!j&&!S)&&_(),A){const ce=O.target,ke=r.actionMode==="frontend"?r.actionButtons:A.getData().actions,G=A.getData().id;for(const U of ke){const ee=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+G+"_"+m.value;if(ce.classList.contains(ee)&&k){k(U.emit,A.getData()),_();break}}}},ie=(O,A)=>{O.preventDefault();const F=O.target,j=O;let S,ce,ke,G=!1;if(j.button===2){const U=F.closest(".tabulator-row");(F.classList.contains(`action-btn-${m.value}-svg`)||F.classList.contains(`action-btn-${m.value}`)||F.classList.contains(`action-btn-${m.value}-div`))&&(G=!0),U&&(S=U.querySelector(`.action-btn-${m.value}`),ce=U.querySelector(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else S=F.closest(`.action-btn-${m.value}`),ce=F.closest(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`);if(_(),ke&&S&&ce){const U=ke.getBoundingClientRect(),ee=ce.querySelector(`.action-dropdown-${m.value}`);if(!ee)return;if(!ee.classList.contains("action-show")){const ze=document.createElement("span");ze.classList.add(`${m.value}-dropdown-item-active`),ee.parentNode?.insertBefore(ze,ee),document.body.appendChild(ee),ee.classList.add("action-show"),ee.style.position="fixed",ee.style.zIndex="9999",j.button===2&&!G?ne(j,ee,U):de(ee,S,U),J.value=Ze=>{be(Ze,A)},document.addEventListener("click",J.value),document.addEventListener("contextmenu",J.value)}}},ne=(O,A,F)=>{A.style.top=`${O.clientY}px`,A.style.left=`${O.clientX}px`;const j=A.getBoundingClientRect();j.bottom>F.bottom-10&&(A.style.top=`${O.clientY-j.height}px`),j.left<0&&(A.style.left=`${O.clientX+5}px`)},de=(O,A,F)=>{const j=A.getBoundingClientRect();O.style.top=`${j.top+A.offsetHeight}px`,O.style.left=`${j.left-O.clientWidth+A.clientWidth}px`;const S=O.getBoundingClientRect();S.bottom>F.bottom-10&&(O.style.top=`${j.bottom-S.height-A.offsetHeight}px`),S.left<0&&(O.style.left=`${j.right}px`)},_=()=>{const O=document.querySelector(".action-show"),A=document.querySelector(`.${m.value}-dropdown-item-active`);O&&A&&(A.parentNode?.appendChild(O),A.remove(),O.classList.remove("action-show"),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.value))},ye=()=>{_()},ae=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(A=>x.value.includes(A.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((A,F,j)=>F===j.findIndex(S=>S.field===A.field))},le=()=>{ae(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},we=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(j=>{const S=j.className.match(/action-dropdown-(table_\w+)/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(j=>{const S=j.className.match(/(table_\w+)-dropdown-item-active/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll(".action-show").forEach(j=>{j.parentElement?.tagName==="BODY"&&j.remove()})},Me=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(A=>{const F=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let j=null;for(const S of F){const ke=A.className?.toString?.()?.match(S);if(ke){j=ke[1];break}}j&&!document.getElementById(j)&&(A.parentElement?.tagName==="BODY"||!A.closest(`#${j}`))&&A.remove()})};return u.onMounted(()=>{Me(),we(),y.value=r.paginationSize,T()}),u.onBeforeUnmount(()=>{_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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(),we()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),ae(),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&&(ae(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[],updateSelectedRow:O=>{b&&(b.deselectRow(),O&&O.length>0&&b.selectRow(O))}}),(O,A)=>(u.openBlock(),u.createElementBlock("div",H$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,z$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",O$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(jT,{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(jT,{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(jT,{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,V$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,B$)):u.createCommentVNode("",!0),u.createVNode(vS,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:A[3]||(A[3]=F=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",N$,[u.createElementVNode("div",q$,[A[4]||(A[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":A[0]||(A[0]=F=>g.value=F),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,F=>(u.openBlock(),u.createElementBlock("div",{key:F.field,class:"my-2"},[F.field!=="action"?(u.openBlock(),u.createElementBlock("div",j$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:F.isMandatory,"onUpdate:modelValue":A[1]||(A[1]=j=>x.value=j),value:F.field,class:"mx-1.5 my-auto",id:F.title,"aria-labelledby":"column-checkbox"},null,8,_$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:F.title,class:"select-none"},u.toDisplayString(F.title),9,U$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",G$,[A[5]||(A[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",W$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,F=>(u.openBlock(),u.createElementBlock("label",{key:F,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":A[2]||(A[2]=j=>y.value=j),value:F,class:"mr-2.5","aria-label":"Select page size"},null,8,Y$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(F),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),K$=["aria-checked"],J$={class:"text-[12px]"},QF=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",J$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,K$))}}),Z$={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},$$={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]"},eee={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},tee={key:0},aee={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},iee={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"},ree={class:"right-0 flex gap-2"},nee=["onClick"],see=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:ie}),T=()=>{const O=document.getElementById(m.value);if(!O)return;x.value=r.columns.map(S=>S.field??""),ae();const A=window.innerHeight-r.heightOffset;let F=w.value;F.forEach(S=>delete S.isMandatory);const j={data:r.data,columns:F,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:A<250?250:A,selectable:!!r.enableSelectable,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:S=>S===""};b=new oq(O,j),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ie),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ye,!0),O.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(),_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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),T()},q=async(O,A,F)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const j=b?.getFilters(!0)||[],S=b?.getSorters().map(Ee=>({field:Ee.field,dir:Ee.dir}))||[],ce=j.length?JSON.stringify(j):void 0,ke=S.length?JSON.stringify(S):void 0,G=await r.apiInstance.get(r.apiEndpoint,{params:{page:F.page||1,per_page:F.size||y.value,...r.queryParams,...ce&&{filters:ce},...ke&&{sorters:ke}}}),{data:U,meta:ee}=G.data;return f.value=ee.total,p.value=F.page,k("onDataFeteched",ee),r.disableFooter?U:{last_page:ee.last_page,data:U,total:ee.total}}catch(j){throw d.value=!1,j}},Z=(O,A)=>{O.target.closest(`.action-btn-${m.value}`)||_(),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),A.getElement().classList.add("datarow-selected"))},me=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(O=>O.actions&&O.actions.length>0):!1:!1),J=u.ref(),be=(O,A)=>{const F=document.getElementById(m.value),j=O.target.closest(".tabulator-row"),S=O.target.closest(`.action-main-div-body-${m.value}`);if((!F?.contains(O.target)||!j&&!S)&&_(),A){const ce=O.target,ke=r.actionMode==="frontend"?r.actionButtons:A.getData().actions,G=A.getData().id;for(const U of ke){const ee=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+G+"_"+m.value;if(ce.classList.contains(ee)&&k){k(U.emit,A.getData()),_();break}}}},ie=(O,A)=>{O.preventDefault();const F=O.target,j=O;let S,ce,ke,G=!1;if(j.button===2){const U=F.closest(".tabulator-row");(F.classList.contains(`action-btn-${m.value}-svg`)||F.classList.contains(`action-btn-${m.value}`)||F.classList.contains(`action-btn-${m.value}-div`))&&(G=!0),U&&(S=U.querySelector(`.action-btn-${m.value}`),ce=U.querySelector(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else S=F.closest(`.action-btn-${m.value}`),ce=F.closest(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`);if(_(),ke&&S&&ce){const U=ke.getBoundingClientRect(),ee=ce.querySelector(`.action-dropdown-${m.value}`);if(!ee)return;if(!ee.classList.contains("action-show")){const ze=document.createElement("span");ze.classList.add(`${m.value}-dropdown-item-active`),ee.parentNode?.insertBefore(ze,ee),document.body.appendChild(ee),ee.classList.add("action-show"),ee.style.position="fixed",ee.style.zIndex="9999",j.button===2&&!G?ne(j,ee,U):de(ee,S,U),J.value=Ze=>{be(Ze,A)},document.addEventListener("click",J.value),document.addEventListener("contextmenu",J.value)}}},ne=(O,A,F)=>{A.style.top=`${O.clientY}px`,A.style.left=`${O.clientX}px`;const j=A.getBoundingClientRect();j.bottom>F.bottom-10&&(A.style.top=`${O.clientY-j.height}px`),j.left<0&&(A.style.left=`${O.clientX+5}px`)},de=(O,A,F)=>{const j=A.getBoundingClientRect();O.style.top=`${j.top+A.offsetHeight}px`,O.style.left=`${j.left-O.clientWidth+A.clientWidth}px`;const S=O.getBoundingClientRect();S.bottom>F.bottom-10&&(O.style.top=`${j.bottom-S.height-A.offsetHeight}px`),S.left<0&&(O.style.left=`${j.right}px`)},_=()=>{const O=document.querySelector(".action-show"),A=document.querySelector(`.${m.value}-dropdown-item-active`);O&&A&&(A.parentNode?.appendChild(O),A.remove(),O.classList.remove("action-show"),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.value))},ye=()=>{_()},ae=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(A=>x.value.includes(A.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((A,F,j)=>F===j.findIndex(S=>S.field===A.field))},le=()=>{ae(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},we=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(j=>{const S=j.className.match(/action-dropdown-(table_\w+)/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(j=>{const S=j.className.match(/(table_\w+)-dropdown-item-active/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll(".action-show").forEach(j=>{j.parentElement?.tagName==="BODY"&&j.remove()})},Me=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(A=>{const F=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let j=null;for(const S of F){const ke=A.className?.toString?.()?.match(S);if(ke){j=ke[1];break}}j&&!document.getElementById(j)&&(A.parentElement?.tagName==="BODY"||!A.closest(`#${j}`))&&A.remove()})};return u.onMounted(()=>{Me(),we(),y.value=r.paginationSize,T()}),u.onBeforeUnmount(()=>{_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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(),we()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),ae(),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&&(ae(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[],updateSelectedRow:O=>{l("selectedRowUpdate",()=>{b&&(b.deselectRow(),O&&O.length>0&&b.selectRow(O))})}}),(O,A)=>(u.openBlock(),u.createElementBlock("div",H$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,z$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",O$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(jT,{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(jT,{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(jT,{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,V$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,B$)):u.createCommentVNode("",!0),u.createVNode(vS,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:A[3]||(A[3]=F=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",N$,[u.createElementVNode("div",q$,[A[4]||(A[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":A[0]||(A[0]=F=>g.value=F),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,F=>(u.openBlock(),u.createElementBlock("div",{key:F.field,class:"my-2"},[F.field!=="action"?(u.openBlock(),u.createElementBlock("div",j$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:F.isMandatory,"onUpdate:modelValue":A[1]||(A[1]=j=>x.value=j),value:F.field,class:"mx-1.5 my-auto",id:F.title,"aria-labelledby":"column-checkbox"},null,8,_$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:F.title,class:"select-none"},u.toDisplayString(F.title),9,U$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",G$,[A[5]||(A[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",W$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,F=>(u.openBlock(),u.createElementBlock("label",{key:F,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":A[2]||(A[2]=j=>y.value=j),value:F,class:"mr-2.5","aria-label":"Select page size"},null,8,Y$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(F),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),K$=["aria-checked"],J$={class:"text-[12px]"},QF=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",J$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,K$))}}),Z$={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},$$={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]"},eee={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},tee={key:0},aee={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},iee={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"},ree={class:"right-0 flex gap-2"},nee=["onClick"],see=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}
@@ -59305,7 +59305,9 @@ const mee = E0.version, yee = {
59305
59305
  },
59306
59306
  { deep: !0 }
59307
59307
  ), e({ reInitializeTabulator: V, print: A, exportTable: B, getSelectedData: () => x?.getSelectedData() || [], updateSelectedRow: (z) => {
59308
- x && (x.deselectRow(), z && z.length > 0 && x.selectRow(z));
59308
+ l("selectedRowUpdate", () => {
59309
+ x && (x.deselectRow(), z && z.length > 0 && x.selectRow(z));
59310
+ });
59309
59311
  } }), (z, D) => (te(), se("div", kee, [
59310
59312
  a.enableHeaderBlock && a.headerContent ? (te(), se("div", {
59311
59313
  key: 0,
@@ -175,7 +175,7 @@ EOD`}return{to_workbook:i,to_sheet:t,from_sheet:s}})(),jR=(function(){function a
175
175
  ${F}
176
176
  </div>
177
177
  </div>
178
- `}else return""},cellClick:ie}),T=()=>{const O=document.getElementById(m.value);if(!O)return;x.value=r.columns.map(S=>S.field??""),ae();const A=window.innerHeight-r.heightOffset;let F=w.value;F.forEach(S=>delete S.isMandatory);const j={data:r.data,columns:F,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:A<250?250:A,selectable:!!r.enableSelectable,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:S=>S===""};b=new XN(O,j),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ie),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ge,!0),O.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(),_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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),T()},q=async(O,A,F)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const j=b?.getFilters(!0)||[],S=b?.getSorters().map(Ee=>({field:Ee.field,dir:Ee.dir}))||[],ce=j.length?JSON.stringify(j):void 0,ke=S.length?JSON.stringify(S):void 0,G=await r.apiInstance.get(r.apiEndpoint,{params:{page:F.page||1,per_page:F.size||y.value,...r.queryParams,...ce&&{filters:ce},...ke&&{sorters:ke}}}),{data:U,meta:ee}=G.data;return f.value=ee.total,p.value=F.page,k("onDataFeteched",ee),r.disableFooter?U:{last_page:ee.last_page,data:U,total:ee.total}}catch(j){throw d.value=!1,j}},Z=(O,A)=>{O.target.closest(`.action-btn-${m.value}`)||_(),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),A.getElement().classList.add("datarow-selected"))},ye=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(O=>O.actions&&O.actions.length>0):!1:!1),J=u.ref(),be=(O,A)=>{const F=document.getElementById(m.value),j=O.target.closest(".tabulator-row"),S=O.target.closest(`.action-main-div-body-${m.value}`);if((!F?.contains(O.target)||!j&&!S)&&_(),A){const ce=O.target,ke=r.actionMode==="frontend"?r.actionButtons:A.getData().actions,G=A.getData().id;for(const U of ke){const ee=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+G+"_"+m.value;if(ce.classList.contains(ee)&&k){k(U.emit,A.getData()),_();break}}}},ie=(O,A)=>{O.preventDefault();const F=O.target,j=O;let S,ce,ke,G=!1;if(j.button===2){const U=F.closest(".tabulator-row");(F.classList.contains(`action-btn-${m.value}-svg`)||F.classList.contains(`action-btn-${m.value}`)||F.classList.contains(`action-btn-${m.value}-div`))&&(G=!0),U&&(S=U.querySelector(`.action-btn-${m.value}`),ce=U.querySelector(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else S=F.closest(`.action-btn-${m.value}`),ce=F.closest(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`);if(_(),ke&&S&&ce){const U=ke.getBoundingClientRect(),ee=ce.querySelector(`.action-dropdown-${m.value}`);if(!ee)return;if(!ee.classList.contains("action-show")){const ze=document.createElement("span");ze.classList.add(`${m.value}-dropdown-item-active`),ee.parentNode?.insertBefore(ze,ee),document.body.appendChild(ee),ee.classList.add("action-show"),ee.style.position="fixed",ee.style.zIndex="9999",j.button===2&&!G?ne(j,ee,U):de(ee,S,U),J.value=Ze=>{be(Ze,A)},document.addEventListener("click",J.value),document.addEventListener("contextmenu",J.value)}}},ne=(O,A,F)=>{A.style.top=`${O.clientY}px`,A.style.left=`${O.clientX}px`;const j=A.getBoundingClientRect();j.bottom>F.bottom-10&&(A.style.top=`${O.clientY-j.height}px`),j.left<0&&(A.style.left=`${O.clientX+5}px`)},de=(O,A,F)=>{const j=A.getBoundingClientRect();O.style.top=`${j.top+A.offsetHeight}px`,O.style.left=`${j.left-O.clientWidth+A.clientWidth}px`;const S=O.getBoundingClientRect();S.bottom>F.bottom-10&&(O.style.top=`${j.bottom-S.height-A.offsetHeight}px`),S.left<0&&(O.style.left=`${j.right}px`)},_=()=>{const O=document.querySelector(".action-show"),A=document.querySelector(`.${m.value}-dropdown-item-active`);O&&A&&(A.parentNode?.appendChild(O),A.remove(),O.classList.remove("action-show"),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.value))},ge=()=>{_()},ae=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(A=>x.value.includes(A.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((A,F,j)=>F===j.findIndex(S=>S.field===A.field))},le=()=>{ae(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},xe=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(j=>{const S=j.className.match(/action-dropdown-(table_\w+)/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(j=>{const S=j.className.match(/(table_\w+)-dropdown-item-active/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll(".action-show").forEach(j=>{j.parentElement?.tagName==="BODY"&&j.remove()})},Me=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(A=>{const F=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let j=null;for(const S of F){const ke=A.className?.toString?.()?.match(S);if(ke){j=ke[1];break}}j&&!document.getElementById(j)&&(A.parentElement?.tagName==="BODY"||!A.closest(`#${j}`))&&A.remove()})};return u.onMounted(()=>{Me(),xe(),y.value=r.paginationSize,T()}),u.onBeforeUnmount(()=>{_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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(),xe()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),ae(),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&&(ae(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[],updateSelectedRow:O=>{b&&(b.deselectRow(),O&&O.length>0&&b.selectRow(O))}}),(O,A)=>(u.openBlock(),u.createElementBlock("div",b$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,M$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",C$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(IT,{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(IT,{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(IT,{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,E$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,L$)):u.createCommentVNode("",!0),u.createVNode(q0,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:A[3]||(A[3]=F=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",T$,[u.createElementVNode("div",S$,[A[4]||(A[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":A[0]||(A[0]=F=>g.value=F),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,F=>(u.openBlock(),u.createElementBlock("div",{key:F.field,class:"my-2"},[F.field!=="action"?(u.openBlock(),u.createElementBlock("div",I$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:F.isMandatory,"onUpdate:modelValue":A[1]||(A[1]=j=>x.value=j),value:F.field,class:"mx-1.5 my-auto",id:F.title,"aria-labelledby":"column-checkbox"},null,8,F$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:F.title,class:"select-none"},u.toDisplayString(F.title),9,D$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",A$,[A[5]||(A[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",R$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,F=>(u.openBlock(),u.createElementBlock("label",{key:F,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":A[2]||(A[2]=j=>y.value=j),value:F,class:"mr-2.5","aria-label":"Select page size"},null,8,P$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(F),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),O$=["aria-checked"],V$={class:"text-[12px]"},LF=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",V$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,O$))}}),B$={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},N$={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]"},q$={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},j$={key:0},_$={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},U$={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"},G$={class:"right-0 flex gap-2"},W$=["onClick"],Y$=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:ie}),T=()=>{const O=document.getElementById(m.value);if(!O)return;x.value=r.columns.map(S=>S.field??""),ae();const A=window.innerHeight-r.heightOffset;let F=w.value;F.forEach(S=>delete S.isMandatory);const j={data:r.data,columns:F,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:A<250?250:A,selectable:!!r.enableSelectable,ajaxSorting:!0,ajaxURL:r.apiEndpoint,ajaxConfig:{method:"GET"},ajaxRequestFunc:q,paginationDataReceived:{last_page:"meta.last_page",data:"data",total:"meta.total"},headerFilterLiveFilterDelay:500,headerFilterEmptyCheck:S=>S===""};b=new XN(O,j),b.on("tableBuilt",()=>{r.paginationType==="remote"&&b?.setData(),n.value=!0,h()}),b.on("rowContext",ie),b.on("pageLoaded",()=>{d.value=!1}),b.on("ajaxError",()=>{d.value=!1}),b.on("rowClick",Z),window.addEventListener("scroll",ge,!0),O.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(),_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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),T()},q=async(O,A,F)=>{if(r.enableSelectable||r.paginationType!=="remote"||!r.apiEndpoint||!r.apiInstance)return Promise.resolve({data:[]});d.value=!0;try{const j=b?.getFilters(!0)||[],S=b?.getSorters().map(Ee=>({field:Ee.field,dir:Ee.dir}))||[],ce=j.length?JSON.stringify(j):void 0,ke=S.length?JSON.stringify(S):void 0,G=await r.apiInstance.get(r.apiEndpoint,{params:{page:F.page||1,per_page:F.size||y.value,...r.queryParams,...ce&&{filters:ce},...ke&&{sorters:ke}}}),{data:U,meta:ee}=G.data;return f.value=ee.total,p.value=F.page,k("onDataFeteched",ee),r.disableFooter?U:{last_page:ee.last_page,data:U,total:ee.total}}catch(j){throw d.value=!1,j}},Z=(O,A)=>{O.target.closest(`.action-btn-${m.value}`)||_(),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),A.getElement().classList.add("datarow-selected"))},ye=u.computed(()=>r.action?r.actionMode==="frontend"&&r.actionButtons.length>0?!0:r.actionMode==="api"?r.data.some(O=>O.actions&&O.actions.length>0):!1:!1),J=u.ref(),be=(O,A)=>{const F=document.getElementById(m.value),j=O.target.closest(".tabulator-row"),S=O.target.closest(`.action-main-div-body-${m.value}`);if((!F?.contains(O.target)||!j&&!S)&&_(),A){const ce=O.target,ke=r.actionMode==="frontend"?r.actionButtons:A.getData().actions,G=A.getData().id;for(const U of ke){const ee=U.name.toLowerCase().trim().replaceAll(" ","_")+"_"+G+"_"+m.value;if(ce.classList.contains(ee)&&k){k(U.emit,A.getData()),_();break}}}},ie=(O,A)=>{O.preventDefault();const F=O.target,j=O;let S,ce,ke,G=!1;if(j.button===2){const U=F.closest(".tabulator-row");(F.classList.contains(`action-btn-${m.value}-svg`)||F.classList.contains(`action-btn-${m.value}`)||F.classList.contains(`action-btn-${m.value}-div`))&&(G=!0),U&&(S=U.querySelector(`.action-btn-${m.value}`),ce=U.querySelector(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`)),r.action&&(O.preventDefault(),document.querySelector(`#${m.value} .datarow-selected`)?.classList.remove("datarow-selected"),U.classList.add("datarow-selected"))}else S=F.closest(`.action-btn-${m.value}`),ce=F.closest(`.action-main-div-body-${m.value}`),ke=document.querySelector(`#${m.value} .tabulator-tableholder`);if(_(),ke&&S&&ce){const U=ke.getBoundingClientRect(),ee=ce.querySelector(`.action-dropdown-${m.value}`);if(!ee)return;if(!ee.classList.contains("action-show")){const ze=document.createElement("span");ze.classList.add(`${m.value}-dropdown-item-active`),ee.parentNode?.insertBefore(ze,ee),document.body.appendChild(ee),ee.classList.add("action-show"),ee.style.position="fixed",ee.style.zIndex="9999",j.button===2&&!G?ne(j,ee,U):de(ee,S,U),J.value=Ze=>{be(Ze,A)},document.addEventListener("click",J.value),document.addEventListener("contextmenu",J.value)}}},ne=(O,A,F)=>{A.style.top=`${O.clientY}px`,A.style.left=`${O.clientX}px`;const j=A.getBoundingClientRect();j.bottom>F.bottom-10&&(A.style.top=`${O.clientY-j.height}px`),j.left<0&&(A.style.left=`${O.clientX+5}px`)},de=(O,A,F)=>{const j=A.getBoundingClientRect();O.style.top=`${j.top+A.offsetHeight}px`,O.style.left=`${j.left-O.clientWidth+A.clientWidth}px`;const S=O.getBoundingClientRect();S.bottom>F.bottom-10&&(O.style.top=`${j.bottom-S.height-A.offsetHeight}px`),S.left<0&&(O.style.left=`${j.right}px`)},_=()=>{const O=document.querySelector(".action-show"),A=document.querySelector(`.${m.value}-dropdown-item-active`);O&&A&&(A.parentNode?.appendChild(O),A.remove(),O.classList.remove("action-show"),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.value))},ge=()=>{_()},ae=()=>{b&&(b.clearSort(),b.clearHeaderFilter()),w.value=r.columns.filter(A=>x.value.includes(A.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((A,F,j)=>F===j.findIndex(S=>S.field===A.field))},le=()=>{ae(),b?.setColumns(w.value),b?.setPageSize(y.value),v.value=!1},oe=()=>{v.value=!v.value},xe=()=>{document.querySelectorAll('[class*="action-dropdown-table_"]').forEach(j=>{const S=j.className.match(/action-dropdown-(table_\w+)/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll('[class*="table_"][class*="-dropdown-item-active"]').forEach(j=>{const S=j.className.match(/(table_\w+)-dropdown-item-active/);if(S){const ce=S[1];document.getElementById(ce)||j.remove()}}),document.querySelectorAll(".action-show").forEach(j=>{j.parentElement?.tagName==="BODY"&&j.remove()})},Me=()=>{document.querySelectorAll('[class*="action-btn-table_"], [class*="action-main-div-body-table_"], [class*="action-dropdown-table_"]').forEach(A=>{const F=[/action-btn-(table_\w+)/,/action-main-div-body-(table_\w+)/,/action-dropdown-(table_\w+)/];let j=null;for(const S of F){const ke=A.className?.toString?.()?.match(S);if(ke){j=ke[1];break}}j&&!document.getElementById(j)&&(A.parentElement?.tagName==="BODY"||!A.closest(`#${j}`))&&A.remove()})};return u.onMounted(()=>{Me(),xe(),y.value=r.paginationSize,T()}),u.onBeforeUnmount(()=>{_(),document.removeEventListener("click",J.value),document.removeEventListener("contextmenu",J.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(),xe()}),u.watch(()=>r.data,()=>{l("setData",()=>{b&&(b.setData(r.data),ae(),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&&(ae(),b.setColumns(w.value))})},{deep:!0}),e({reInitializeTabulator:N,print:R,exportTable:B,getSelectedData:()=>b?.getSelectedData()||[],updateSelectedRow:O=>{l("selectedRowUpdate",()=>{b&&(b.deselectRow(),O&&O.length>0&&b.selectRow(O))})}}),(O,A)=>(u.openBlock(),u.createElementBlock("div",b$,[a.enableHeaderBlock&&a.headerContent?(u.openBlock(),u.createElementBlock("div",{key:0,innerHTML:a.headerContent},null,8,M$)):u.createCommentVNode("",!0),a.showOptions&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",C$,[a.exportButton?(u.openBlock(),u.createElementBlock("button",{key:0,onClick:B,class:"btn btn-outline-secondary btn-icon","aria-label":"Open settings"},[u.createVNode(IT,{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(IT,{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(IT,{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,E$)]),a.enableFooterBlock&&a.footerContent&&!a.enableSelectable?(u.openBlock(),u.createElementBlock("div",{key:2,innerHTML:a.footerContent},null,8,L$)):u.createCommentVNode("",!0),u.createVNode(q0,{show:v.value,title:E.title,actions:E.action,width:"600px",onOnClose:A[3]||(A[3]=F=>v.value=!1),onOnSave:le},{default:u.withCtx(()=>[u.createElementVNode("div",T$,[u.createElementVNode("div",S$,[A[4]||(A[4]=u.createElementVNode("span",{class:"text-base font-semibold"},"Columns Attributes",-1)),u.createElementVNode("div",null,[u.withDirectives(u.createElementVNode("input",{"onUpdate:modelValue":A[0]||(A[0]=F=>g.value=F),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,F=>(u.openBlock(),u.createElementBlock("div",{key:F.field,class:"my-2"},[F.field!=="action"?(u.openBlock(),u.createElementBlock("div",I$,[u.withDirectives(u.createElementVNode("input",{type:"checkbox",disabled:F.isMandatory,"onUpdate:modelValue":A[1]||(A[1]=j=>x.value=j),value:F.field,class:"mx-1.5 my-auto",id:F.title,"aria-labelledby":"column-checkbox"},null,8,F$),[[u.vModelCheckbox,x.value]]),u.createElementVNode("label",{for:F.title,class:"select-none"},u.toDisplayString(F.title),9,D$)])):u.createCommentVNode("",!0)]))),128))])]),u.createElementVNode("div",A$,[A[5]||(A[5]=u.createElementVNode("span",{class:"text-base font-semibold"},"Page Size",-1)),u.createElementVNode("div",R$,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.paginationSizeSelector,F=>(u.openBlock(),u.createElementBlock("label",{key:F,class:"flex items-center mt-2"},[u.withDirectives(u.createElementVNode("input",{type:"radio","onUpdate:modelValue":A[2]||(A[2]=j=>y.value=j),value:F,class:"mr-2.5","aria-label":"Select page size"},null,8,P$),[[u.vModelRadio,y.value]]),u.createTextVNode(" "+u.toDisplayString(F),1)]))),128))])])])]),_:1},8,["show","title","actions"])]))}}),O$=["aria-checked"],V$={class:"text-[12px]"},LF=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",V$,u.toDisplayString(r.value?a.onText:a.offText),1)],2)],14,O$))}}),B$={key:0,class:"fixed top-0 left-0 w-[100vw] h-[100vh] bg-background z-10 overflow-hidden"},N$={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]"},q$={class:"h-fit my-auto font-bold text-lg relative flex text-[19px]"},j$={key:0},_$={key:3,width:"22px",height:"22px",class:"mt-[4px]",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},U$={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"},G$={class:"right-0 flex gap-2"},W$=["onClick"],Y$=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}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dolphin-components",
3
3
  "private": false,
4
- "version": "3.1.12",
4
+ "version": "3.1.13",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",