krozamdev-utils 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("axios");const t=$("#module-default-form-modal"),n=$("#form-store-record-module"),a=$("#bottom-store-record"),s=$("#default-prototype-action-add"),o=(e,t)=>{let n;return function(...a){clearTimeout(n),n=setTimeout(()=>{clearTimeout(n),e.apply(this,a)},t)}},r=(e,{title:t=null,type:n="success",closeButton:a=!1,debug:s=!1,newestOnTop:o=!1,progressBar:r=!0,positionClass:i="toast-top-right",preventDuplicates:d=!1,onclick:c=null,showDuration:u=300,hideDuration:m=1e3,timeOut:p=5e3,extendedTimeOut:f=1e3,showEasing:h="swing",hideEasing:g="linear",showMethod:b="fadeIn",hideMethod:w="fadeOut"}={})=>{toastr.options={closeButton:a,debug:s,newestOnTop:o,progressBar:r,positionClass:i,preventDuplicates:d,onclick:c,showDuration:u,hideDuration:m,timeOut:p,extendedTimeOut:f,showEasing:h,hideEasing:g,showMethod:b,hideMethod:w};const x=[];"string"==typeof e&&x.push(e),"object"==typeof e&&Object.entries(e).forEach(e=>{try{e[1].map(e=>{x.push(e)})}catch(e){x.push("Internal Server Error")}}),"array"==typeof e&&e.map(e=>{x.push(e)}),x.map(e=>{l(n,t,e)})},l=(e,t,n)=>{switch(e){case"info":toastr.info(n,t);break;case"warning":toastr.warning(n,t);break;case"error":toastr.error(n,t);break;default:toastr.success(n,t)}};exports.crudModuleBooster=({module:l,inputElements:i=()=>{},dataTable:d={columns:{id:"id",customActionRender:!1,customFullRender:!1,dataRender:[]},columnDefs:{customFullRender:!1,dataRender:[]},onDraw:()=>{}},onClickEditElementResolver:c=(e,t)=>{Object.entries(e).forEach(([e,n])=>{n.val(t[e])})},resetForm:u=(e,t)=>{e[0].reset()},requiredField:m=[],customPayloads:p=e=>{const t={};return Object.entries(e).forEach(([e,n])=>{t[e]=n.val()}),t},customInit:f=(e,t)=>{},modal:h=t,form:g=n,storeButton:b=a,useFormDataPayload:w=!1,customValidate:x={useCustom:!1,validate:(e,t,n)=>!0},disable:y=[],useBackend:v=!0})=>{let k;return $(function(){d.columns={id:"id",customActionRender:!1,customFullRender:!1,dataRender:[],...d.columns},d.columnDefs={customFullRender:!1,dataRender:[],...d.columnDefs},d.onDraw=d?.onDraw??(()=>{}),x={useCustom:!1,validate:(e,t,n)=>!1,...x};let t=null,n=!1,a=!1;const S=v?"
|
|
1
|
+
"use strict";var e=require("axios");const t=$("#module-default-form-modal"),n=$("#form-store-record-module"),a=$("#bottom-store-record"),s=$("#default-prototype-action-add"),o=(e,t)=>{let n;return function(...a){clearTimeout(n),n=setTimeout(()=>{clearTimeout(n),e.apply(this,a)},t)}},r=(e,{title:t=null,type:n="success",closeButton:a=!1,debug:s=!1,newestOnTop:o=!1,progressBar:r=!0,positionClass:i="toast-top-right",preventDuplicates:d=!1,onclick:c=null,showDuration:u=300,hideDuration:m=1e3,timeOut:p=5e3,extendedTimeOut:f=1e3,showEasing:h="swing",hideEasing:g="linear",showMethod:b="fadeIn",hideMethod:w="fadeOut"}={})=>{toastr.options={closeButton:a,debug:s,newestOnTop:o,progressBar:r,positionClass:i,preventDuplicates:d,onclick:c,showDuration:u,hideDuration:m,timeOut:p,extendedTimeOut:f,showEasing:h,hideEasing:g,showMethod:b,hideMethod:w};const x=[];"string"==typeof e&&x.push(e),"object"==typeof e&&Object.entries(e).forEach(e=>{try{e[1].map(e=>{x.push(e)})}catch(e){x.push("Internal Server Error")}}),"array"==typeof e&&e.map(e=>{x.push(e)}),x.map(e=>{l(n,t,e)})},l=(e,t,n)=>{switch(e){case"info":toastr.info(n,t);break;case"warning":toastr.warning(n,t);break;case"error":toastr.error(n,t);break;default:toastr.success(n,t)}};exports.crudModuleBooster=({module:l,inputElements:i=()=>{},dataTable:d={columns:{id:"id",customActionRender:!1,customFullRender:!1,dataRender:[]},columnDefs:{customFullRender:!1,dataRender:[]},onDraw:()=>{}},onClickEditElementResolver:c=(e,t)=>{Object.entries(e).forEach(([e,n])=>{n.val(t[e])})},resetForm:u=(e,t)=>{e[0].reset()},requiredField:m=[],customPayloads:p=e=>{const t={};return Object.entries(e).forEach(([e,n])=>{t[e]=n.val()}),t},customInit:f=(e,t)=>{},modal:h=t,form:g=n,storeButton:b=a,useFormDataPayload:w=!1,customValidate:x={useCustom:!1,validate:(e,t,n)=>!0},disable:y=[],useBackend:v=!0})=>{let k;return $(function(){d.columns={id:"id",customActionRender:!1,customFullRender:!1,dataRender:[],...d.columns},d.columnDefs={customFullRender:!1,dataRender:[],...d.columnDefs},d.onDraw=d?.onDraw??(()=>{}),x={useCustom:!1,validate:(e,t,n)=>!1,...x};let t=null,n=!1,a=!1;const S=v?"/":"api_front/",D=i(),T={responsive:!0,searchDelay:500,processing:!0,serverSide:!0,select:{style:"os",selector:"td:first-child",className:"row-selected"},ajax:{url:`${S}${l}`}};let C=[{data:null,render:(e,t,n,a)=>a.row+a.settings._iDisplayStart+1}];if(C=d.columns.customFullRender?d.columns.dataRender:[...C,...d.columns.dataRender],d.columns.customFullRender||d.columns.customActionRender||C.push({data:d.columns.id,render:function(e){return((e,{useDelete:t=!0,useEdit:n=!0,editText:a="Edit",deleteText:s="Delete",notify:o=!1,data:r={}}={})=>{let l="";l+=`<span class="btn btn-light btn-active-light-primary btn-sm ${o?"position-relative border border-primary":""}" data-kt-menu-trigger="click" data-kt-menu-placement="bottom-end" data-kt-menu-flip="top-end">\n Actions\n <span class="svg-icon svg-icon-5 m-0">\n <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1">\n <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <polygon points="0 0 24 0 24 24 0 24"></polygon>\n <path d="M6.70710678,15.7071068 C6.31658249,16.0976311 5.68341751,16.0976311 5.29289322,15.7071068 C4.90236893,15.3165825 4.90236893,14.6834175 5.29289322,14.2928932 L11.2928932,8.29289322 C11.6714722,7.91431428 12.2810586,7.90106866 12.6757246,8.26284586 L18.6757246,13.7628459 C19.0828436,14.1360383 19.1103465,14.7686056 18.7371541,15.1757246 C18.3639617,15.5828436 17.7313944,15.6103465 17.3242754,15.2371541 L12.0300757,10.3841378 L6.70710678,15.7071068 Z" fill="#000000" fill-rule="nonzero" transform="translate(12.000003, 11.999999) rotate(-180.000000) translate(-12.000003, -11.999999)"></path>\n </g>\n </svg>\n </span>\n ${o?'<span class="bullet bullet-dot bg-danger h-10px w-10px position-absolute translate-middle top-0 start-50"></span>':""}\n </span>`,l+='\x3c!--begin::Menu--\x3e\n <div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-bold fs-7 w-125px py-4" data-kt-menu="true">';const i=`\x3c!--begin::Menu item--\x3e\n <div class="menu-item px-3">\n <span class="menu-link px-3" data-instance="${e}" data-kt-docs-table-filter="edit_row">\n ${a}\n </span>\n </div>\n \x3c!--end::Menu item--\x3e`;let d=`\x3c!--begin::Menu item--\x3e\n <div class="menu-item px-3">\n <span class="menu-link px-3" data-instance="${e}" data-kt-docs-table-filter="delete_row">\n ${s}\n </span>\n </div>\n \x3c!--end::Menu item--\x3e`;return 9==r?.status&&(d=`\x3c!--begin::Menu item--\x3e\n <div class="menu-item px-3">\n <a class="menu-link px-3" target="_blank" href="/storage/bsre/signed/${r.permohonan_code}.pdf">\n ${s}\n </a>\n </div>\n \x3c!--end::Menu item--\x3e\n <div class="menu-item px-3">\n <a class="menu-link px-3" target="_blank" href="/storage/bsre/qr_store/${r.permohonan_code}.svg">\n QRCode\n </a>\n </div>`),n&&(l+=i),t&&(l+=d),l+="</div>\n \x3c!--end::Menu--\x3e",l})(e)}}),T.columns=C,d.columnDefs.customFullRender)T.columnDefs=d.columnDefs.dataRender;else{const e=[{targets:[-1],orderable:!1,className:"text-end"},{targets:[0],className:"text-center",orderable:!1},...d.columnDefs.dataRender];T.columnDefs=e}f(D,g),k=$("#module-default-datatable").DataTable(T),k.on("draw responsive-display.dt",function(){KTMenu.createInstances(),y.includes("form")||E(),B(),d.onDraw()});const E=()=>{$('[data-kt-docs-table-filter="edit_row"]').on("click",async function(){u(g,D);const n=$(this).data("instance");var a;a="Loading data",Swal.fire({icon:"info",html:a,allowEscapeKey:!1,allowOutsideClick:!1,didOpen:()=>{Swal.showLoading()}});try{const a=(await e.get(`${S}${l}/${n}`)).data.data;t=a[d.columns.id],c(D,a,h),Swal.close(),h.modal("show")}catch(e){console.log(e);r(e?.response?.data?.metadata?.errors??"Internal Server Error",{type:"error"}),Swal.close(),t=null}})};g.on("submit",e=>{e.preventDefault(),R()}),b.on("click",e=>{R()}),s.on("click",()=>{u(g,D)});const R=async()=>{if(n)return!1;n=!0;let a=!0;if(x.useCustom)a=x.validate(D,t,g);else{Object.entries(D).forEach(([e,t])=>{if(""==t.val()){if(m.includes(e)){const o=(e=>{const t=e.prop("placeholder"),n=e.data("placeholder");return t??n})(t);$(`#invalid-area-${e}`).text(`${n=o,s=["masukkan","pilih"],"string"==typeof s&&(s=[s]),String(n).replace(new RegExp(s.join("|"),"gi"),"")} Wajib di isi!`),a=!1}}else $(`#invalid-area-${e}`).text("");var n,s})}if(!a)return r("Masih ada error yang terdeteksi, mohon isi dengan benar",{type:"warning"}),n=!1,!1;Swal.fire({icon:"info",buttonsStyling:!1,showConfirmButton:!1,html:'<i class="fas fa-solid fa-spinner fa-spin text-black fs-2x"></i><br><span>Menyimpan data</span>'});const s=p(D);try{const n=w&&s instanceof FormData,a={method:t||n?t&&n?"POST":"PUT":t?"PUT":"POST",headers:n?{"Content-Type":"multipart/form-data"}:void 0};n&&t&&s.append("_method","PUT");const o=t?`${S}${l}/${t}`:`${S}${l}`;await e({url:o,data:s,...a}),Swal.fire({text:(t?"Update":"Tambah")+" data sukses!",icon:"success",buttonsStyling:!1,confirmButtonText:"Ok",customClass:{confirmButton:"btn fw-bold btn-primary"}}),k.draw(),h.modal("hide"),t=null}catch(e){const t=e?.response?.data?.metadata?.errors??"Internal Server Error";"object"==typeof t&&Object.entries(t).forEach(([e,t])=>{$(`#invalid-area-${e}`).text(t[0])}),r(t,{type:"error"}),Swal.close()}n=!1},B=()=>{$('[data-kt-docs-table-filter="delete_row"]').on("click",async function(t){if(a)return!1;const n=$(this).data("instance");a=!0;const s=t.target.closest("tr");(({success:t,endpoint:n,displayName:a=""})=>{n?Swal.fire({text:"Apakah anda yakin untuk menghapus data "+a+"?",icon:"warning",showCancelButton:!0,buttonsStyling:!1,confirmButtonText:"Iya!",cancelButtonText:"Batal",customClass:{confirmButton:"btn fw-bold btn-danger",cancelButton:"btn fw-bold btn-active-light-primary"}}).then(async function(s){if(s.value){Swal.fire({text:"Menghapus data "+a,icon:"info",buttonsStyling:!1,showConfirmButton:!1});try{await e.delete(n),Swal.fire({text:"Sukses mengahpus data "+a+"!.",icon:"success",buttonsStyling:!1,confirmButtonText:"Ok",customClass:{confirmButton:"btn fw-bold btn-primary"}}),t()}catch(e){r(e?.response?.data?.metadata?.errors??"Internal Server Error",{type:"error"}),Swal.close()}}}):r("Required enpoint parameter",{title:"Error Code",type:"error"})})({displayName:s.querySelectorAll("td")[2]?.innerText??"",endpoint:`${S}${l}/${n}`,success:()=>{k.draw()}}),a=!1})};((e,t='[define-action-input-filter="search"]')=>{document.querySelector(t).addEventListener("keyup",o(t=>{e.search(t.target.value).draw()},500))})(k)}),{elementDatatable:k,addButtonDefault:s}},exports.defaultBadge=(e,t="success")=>`<span class="badge badge-${t}">${e}</span>`,exports.select2AjaxPaginate=(e,t,n=e=>e)=>{e.select2({placeholder:e.data("placeholder"),ajax:{url:t,dataType:"json",delay:250,minimumInputLength:1,processResults:function(e){return{results:e.data,pagination:{more:e.count_filtered>=10}}},data:e=>((e=n(e)).q=e.term,e),error:function(e){if(0!==e.status&&"abort"!==e.statusText){const t=e?.responseJSON?.metadata?.errors??"Internal Server Error";r(t,{type:"string"==typeof t?"error":"warning"})}}}})},exports.select2DataArray=({data:e,element:t,allowClear:n})=>{t.select2({data:e,placeholder:t.data("placeholder"),allowClear:n??!1})};
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"axios";const t=$("#module-default-form-modal"),n=$("#form-store-record-module"),a=$("#bottom-store-record"),s=$("#default-prototype-action-add"),o=(e,t)=>{let n;return function(...a){clearTimeout(n),n=setTimeout(()=>{clearTimeout(n),e.apply(this,a)},t)}},r=(e,{title:t=null,type:n="success",closeButton:a=!1,debug:s=!1,newestOnTop:o=!1,progressBar:r=!0,positionClass:i="toast-top-right",preventDuplicates:d=!1,onclick:c=null,showDuration:u=300,hideDuration:m=1e3,timeOut:p=5e3,extendedTimeOut:f=1e3,showEasing:h="swing",hideEasing:g="linear",showMethod:b="fadeIn",hideMethod:w="fadeOut"}={})=>{toastr.options={closeButton:a,debug:s,newestOnTop:o,progressBar:r,positionClass:i,preventDuplicates:d,onclick:c,showDuration:u,hideDuration:m,timeOut:p,extendedTimeOut:f,showEasing:h,hideEasing:g,showMethod:b,hideMethod:w};const x=[];"string"==typeof e&&x.push(e),"object"==typeof e&&Object.entries(e).forEach(e=>{try{e[1].map(e=>{x.push(e)})}catch(e){x.push("Internal Server Error")}}),"array"==typeof e&&e.map(e=>{x.push(e)}),x.map(e=>{l(n,t,e)})},l=(e,t,n)=>{switch(e){case"info":toastr.info(n,t);break;case"warning":toastr.warning(n,t);break;case"error":toastr.error(n,t);break;default:toastr.success(n,t)}},i=({module:l,inputElements:i=()=>{},dataTable:d={columns:{id:"id",customActionRender:!1,customFullRender:!1,dataRender:[]},columnDefs:{customFullRender:!1,dataRender:[]},onDraw:()=>{}},onClickEditElementResolver:c=(e,t)=>{Object.entries(e).forEach(([e,n])=>{n.val(t[e])})},resetForm:u=(e,t)=>{e[0].reset()},requiredField:m=[],customPayloads:p=e=>{const t={};return Object.entries(e).forEach(([e,n])=>{t[e]=n.val()}),t},customInit:f=(e,t)=>{},modal:h=t,form:g=n,storeButton:b=a,useFormDataPayload:w=!1,customValidate:x={useCustom:!1,validate:(e,t,n)=>!0},disable:y=[],useBackend:v=!0})=>{let k;return $(function(){d.columns={id:"id",customActionRender:!1,customFullRender:!1,dataRender:[],...d.columns},d.columnDefs={customFullRender:!1,dataRender:[],...d.columnDefs},d.onDraw=d?.onDraw??(()=>{}),x={useCustom:!1,validate:(e,t,n)=>!1,...x};let t=null,n=!1,a=!1;const S=v?"
|
|
1
|
+
import e from"axios";const t=$("#module-default-form-modal"),n=$("#form-store-record-module"),a=$("#bottom-store-record"),s=$("#default-prototype-action-add"),o=(e,t)=>{let n;return function(...a){clearTimeout(n),n=setTimeout(()=>{clearTimeout(n),e.apply(this,a)},t)}},r=(e,{title:t=null,type:n="success",closeButton:a=!1,debug:s=!1,newestOnTop:o=!1,progressBar:r=!0,positionClass:i="toast-top-right",preventDuplicates:d=!1,onclick:c=null,showDuration:u=300,hideDuration:m=1e3,timeOut:p=5e3,extendedTimeOut:f=1e3,showEasing:h="swing",hideEasing:g="linear",showMethod:b="fadeIn",hideMethod:w="fadeOut"}={})=>{toastr.options={closeButton:a,debug:s,newestOnTop:o,progressBar:r,positionClass:i,preventDuplicates:d,onclick:c,showDuration:u,hideDuration:m,timeOut:p,extendedTimeOut:f,showEasing:h,hideEasing:g,showMethod:b,hideMethod:w};const x=[];"string"==typeof e&&x.push(e),"object"==typeof e&&Object.entries(e).forEach(e=>{try{e[1].map(e=>{x.push(e)})}catch(e){x.push("Internal Server Error")}}),"array"==typeof e&&e.map(e=>{x.push(e)}),x.map(e=>{l(n,t,e)})},l=(e,t,n)=>{switch(e){case"info":toastr.info(n,t);break;case"warning":toastr.warning(n,t);break;case"error":toastr.error(n,t);break;default:toastr.success(n,t)}},i=({module:l,inputElements:i=()=>{},dataTable:d={columns:{id:"id",customActionRender:!1,customFullRender:!1,dataRender:[]},columnDefs:{customFullRender:!1,dataRender:[]},onDraw:()=>{}},onClickEditElementResolver:c=(e,t)=>{Object.entries(e).forEach(([e,n])=>{n.val(t[e])})},resetForm:u=(e,t)=>{e[0].reset()},requiredField:m=[],customPayloads:p=e=>{const t={};return Object.entries(e).forEach(([e,n])=>{t[e]=n.val()}),t},customInit:f=(e,t)=>{},modal:h=t,form:g=n,storeButton:b=a,useFormDataPayload:w=!1,customValidate:x={useCustom:!1,validate:(e,t,n)=>!0},disable:y=[],useBackend:v=!0})=>{let k;return $(function(){d.columns={id:"id",customActionRender:!1,customFullRender:!1,dataRender:[],...d.columns},d.columnDefs={customFullRender:!1,dataRender:[],...d.columnDefs},d.onDraw=d?.onDraw??(()=>{}),x={useCustom:!1,validate:(e,t,n)=>!1,...x};let t=null,n=!1,a=!1;const S=v?"/":"api_front/",D=i(),T={responsive:!0,searchDelay:500,processing:!0,serverSide:!0,select:{style:"os",selector:"td:first-child",className:"row-selected"},ajax:{url:`${S}${l}`}};let C=[{data:null,render:(e,t,n,a)=>a.row+a.settings._iDisplayStart+1}];if(C=d.columns.customFullRender?d.columns.dataRender:[...C,...d.columns.dataRender],d.columns.customFullRender||d.columns.customActionRender||C.push({data:d.columns.id,render:function(e){return((e,{useDelete:t=!0,useEdit:n=!0,editText:a="Edit",deleteText:s="Delete",notify:o=!1,data:r={}}={})=>{let l="";l+=`<span class="btn btn-light btn-active-light-primary btn-sm ${o?"position-relative border border-primary":""}" data-kt-menu-trigger="click" data-kt-menu-placement="bottom-end" data-kt-menu-flip="top-end">\n Actions\n <span class="svg-icon svg-icon-5 m-0">\n <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1">\n <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <polygon points="0 0 24 0 24 24 0 24"></polygon>\n <path d="M6.70710678,15.7071068 C6.31658249,16.0976311 5.68341751,16.0976311 5.29289322,15.7071068 C4.90236893,15.3165825 4.90236893,14.6834175 5.29289322,14.2928932 L11.2928932,8.29289322 C11.6714722,7.91431428 12.2810586,7.90106866 12.6757246,8.26284586 L18.6757246,13.7628459 C19.0828436,14.1360383 19.1103465,14.7686056 18.7371541,15.1757246 C18.3639617,15.5828436 17.7313944,15.6103465 17.3242754,15.2371541 L12.0300757,10.3841378 L6.70710678,15.7071068 Z" fill="#000000" fill-rule="nonzero" transform="translate(12.000003, 11.999999) rotate(-180.000000) translate(-12.000003, -11.999999)"></path>\n </g>\n </svg>\n </span>\n ${o?'<span class="bullet bullet-dot bg-danger h-10px w-10px position-absolute translate-middle top-0 start-50"></span>':""}\n </span>`,l+='\x3c!--begin::Menu--\x3e\n <div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-bold fs-7 w-125px py-4" data-kt-menu="true">';const i=`\x3c!--begin::Menu item--\x3e\n <div class="menu-item px-3">\n <span class="menu-link px-3" data-instance="${e}" data-kt-docs-table-filter="edit_row">\n ${a}\n </span>\n </div>\n \x3c!--end::Menu item--\x3e`;let d=`\x3c!--begin::Menu item--\x3e\n <div class="menu-item px-3">\n <span class="menu-link px-3" data-instance="${e}" data-kt-docs-table-filter="delete_row">\n ${s}\n </span>\n </div>\n \x3c!--end::Menu item--\x3e`;return 9==r?.status&&(d=`\x3c!--begin::Menu item--\x3e\n <div class="menu-item px-3">\n <a class="menu-link px-3" target="_blank" href="/storage/bsre/signed/${r.permohonan_code}.pdf">\n ${s}\n </a>\n </div>\n \x3c!--end::Menu item--\x3e\n <div class="menu-item px-3">\n <a class="menu-link px-3" target="_blank" href="/storage/bsre/qr_store/${r.permohonan_code}.svg">\n QRCode\n </a>\n </div>`),n&&(l+=i),t&&(l+=d),l+="</div>\n \x3c!--end::Menu--\x3e",l})(e)}}),T.columns=C,d.columnDefs.customFullRender)T.columnDefs=d.columnDefs.dataRender;else{const e=[{targets:[-1],orderable:!1,className:"text-end"},{targets:[0],className:"text-center",orderable:!1},...d.columnDefs.dataRender];T.columnDefs=e}f(D,g),k=$("#module-default-datatable").DataTable(T),k.on("draw responsive-display.dt",function(){KTMenu.createInstances(),y.includes("form")||E(),B(),d.onDraw()});const E=()=>{$('[data-kt-docs-table-filter="edit_row"]').on("click",async function(){u(g,D);const n=$(this).data("instance");var a;a="Loading data",Swal.fire({icon:"info",html:a,allowEscapeKey:!1,allowOutsideClick:!1,didOpen:()=>{Swal.showLoading()}});try{const a=(await e.get(`${S}${l}/${n}`)).data.data;t=a[d.columns.id],c(D,a,h),Swal.close(),h.modal("show")}catch(e){console.log(e);r(e?.response?.data?.metadata?.errors??"Internal Server Error",{type:"error"}),Swal.close(),t=null}})};g.on("submit",e=>{e.preventDefault(),R()}),b.on("click",e=>{R()}),s.on("click",()=>{u(g,D)});const R=async()=>{if(n)return!1;n=!0;let a=!0;if(x.useCustom)a=x.validate(D,t,g);else{Object.entries(D).forEach(([e,t])=>{if(""==t.val()){if(m.includes(e)){const o=(e=>{const t=e.prop("placeholder"),n=e.data("placeholder");return t??n})(t);$(`#invalid-area-${e}`).text(`${n=o,s=["masukkan","pilih"],"string"==typeof s&&(s=[s]),String(n).replace(new RegExp(s.join("|"),"gi"),"")} Wajib di isi!`),a=!1}}else $(`#invalid-area-${e}`).text("");var n,s})}if(!a)return r("Masih ada error yang terdeteksi, mohon isi dengan benar",{type:"warning"}),n=!1,!1;Swal.fire({icon:"info",buttonsStyling:!1,showConfirmButton:!1,html:'<i class="fas fa-solid fa-spinner fa-spin text-black fs-2x"></i><br><span>Menyimpan data</span>'});const s=p(D);try{const n=w&&s instanceof FormData,a={method:t||n?t&&n?"POST":"PUT":t?"PUT":"POST",headers:n?{"Content-Type":"multipart/form-data"}:void 0};n&&t&&s.append("_method","PUT");const o=t?`${S}${l}/${t}`:`${S}${l}`;await e({url:o,data:s,...a}),Swal.fire({text:(t?"Update":"Tambah")+" data sukses!",icon:"success",buttonsStyling:!1,confirmButtonText:"Ok",customClass:{confirmButton:"btn fw-bold btn-primary"}}),k.draw(),h.modal("hide"),t=null}catch(e){const t=e?.response?.data?.metadata?.errors??"Internal Server Error";"object"==typeof t&&Object.entries(t).forEach(([e,t])=>{$(`#invalid-area-${e}`).text(t[0])}),r(t,{type:"error"}),Swal.close()}n=!1},B=()=>{$('[data-kt-docs-table-filter="delete_row"]').on("click",async function(t){if(a)return!1;const n=$(this).data("instance");a=!0;const s=t.target.closest("tr");(({success:t,endpoint:n,displayName:a=""})=>{n?Swal.fire({text:"Apakah anda yakin untuk menghapus data "+a+"?",icon:"warning",showCancelButton:!0,buttonsStyling:!1,confirmButtonText:"Iya!",cancelButtonText:"Batal",customClass:{confirmButton:"btn fw-bold btn-danger",cancelButton:"btn fw-bold btn-active-light-primary"}}).then(async function(s){if(s.value){Swal.fire({text:"Menghapus data "+a,icon:"info",buttonsStyling:!1,showConfirmButton:!1});try{await e.delete(n),Swal.fire({text:"Sukses mengahpus data "+a+"!.",icon:"success",buttonsStyling:!1,confirmButtonText:"Ok",customClass:{confirmButton:"btn fw-bold btn-primary"}}),t()}catch(e){r(e?.response?.data?.metadata?.errors??"Internal Server Error",{type:"error"}),Swal.close()}}}):r("Required enpoint parameter",{title:"Error Code",type:"error"})})({displayName:s.querySelectorAll("td")[2]?.innerText??"",endpoint:`${S}${l}/${n}`,success:()=>{k.draw()}}),a=!1})};((e,t='[define-action-input-filter="search"]')=>{document.querySelector(t).addEventListener("keyup",o(t=>{e.search(t.target.value).draw()},500))})(k)}),{elementDatatable:k,addButtonDefault:s}},d=(e,t,n=e=>e)=>{e.select2({placeholder:e.data("placeholder"),ajax:{url:t,dataType:"json",delay:250,minimumInputLength:1,processResults:function(e){return{results:e.data,pagination:{more:e.count_filtered>=10}}},data:e=>((e=n(e)).q=e.term,e),error:function(e){if(0!==e.status&&"abort"!==e.statusText){const t=e?.responseJSON?.metadata?.errors??"Internal Server Error";r(t,{type:"string"==typeof t?"error":"warning"})}}}})},c=({data:e,element:t,allowClear:n})=>{t.select2({data:e,placeholder:t.data("placeholder"),allowClear:n??!1})},u=(e,t="success")=>`<span class="badge badge-${t}">${e}</span>`;export{i as crudModuleBooster,u as defaultBadge,d as select2AjaxPaginate,c as select2DataArray};
|