@oniti/quasar-ui-vlank-collection-crud 3.7.53 → 3.7.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * @oniti/quasar-ui-vlank-collection-crud v3.7.52
2
+ * @oniti/quasar-ui-vlank-collection-crud v3.7.54
3
3
  * (c) 2025 Oniti
4
4
  * Released under the MIT License.
5
5
  */
6
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("quasar"),require("@oniti/oniti-helpers"),require("oniti-sse-client"),require("vuex"),require("vue-router"),require("vlank-collection-crud-forms")):"function"==typeof define&&define.amd?define(["vue","quasar","@oniti/oniti-helpers","oniti-sse-client","vuex","vue-router","vlank-collection-crud-forms"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).global=t(e.Vue,e.Quasar,e.onitiHelpers,e.onitiSseClient,e.vuex,e.vueRouter,e.Components)})(this,function(Te,Me,f,e,P,R,t){function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var je=n(e),Q=n(t),Pe={__name:"VlankDeleteModal",props:{localDetail:Object,alertDelete:Boolean,props:Object,isMobile:Boolean},emits:["close"],setup:function(o,e){var t=e.emit,n=Te.inject("vlank-ccrud"),l=o;function a(){var e;n.collectionAction({collectionName:l.props.collection,action:"delete",params:Object.assign(((e={})[i]=l.localDetail[i],e),l.props.extraRequestParams.delete),list_field:l.props.storeKey}).then(function(e){t("close",{obj:e,action:"delete"})})}var i=n.getRouteParameterName(l.props.collection),r=Te.computed({get:function(){return l.alertDelete},set:function(){t("close",{obj:l.localDetail,action:"close"})}});return function(e,t){var n=Te.resolveDirective("close-popup");return Te.openBlock(),Te.createBlock(Te.unref(Me.QDialog),Te.mergeProps({modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=function(e){return r.value=e})},l.props.modalDeleteOptions.dialog,{"transition-show":o.isMobile?"slide-up":"fade","transition-hide":o.isMobile?"slide-down":"fade","transition-duration":"150",position:"standard","full-width":o.isMobile}),{default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QCard),Te.mergeProps({style:{width:"700px","max-width":"80vw"}},l.props.modalDeleteOptions.card),{default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QToolbar),Te.mergeProps({class:"bg-negative",style:{color:"#fff"}},l.props.modalDeleteOptions.toolbar),{default:Te.withCtx(function(){return[Te.renderSlot(e.$slots,"delete-modal-title",{data:o.localDetail},function(){return[Te.createVNode(Te.unref(Me.QAvatar),null,{default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QIcon),{name:"warning",style:{"font-size":"2rem"}})]}),_:1}),l.propsLibelleTitle&&o.localDetail[l.propsLibelleTitle]?(Te.openBlock(),Te.createBlock(Te.unref(Me.QToolbarTitle),{key:0},{default:Te.withCtx(function(){return[Te.createTextVNode(" Suppression : "+Te.toDisplayString(o.localDetail[l.propsLibelleTitle]),1)]}),_:1})):(Te.openBlock(),Te.createBlock(Te.unref(Me.QToolbarTitle),{key:1},{default:Te.withCtx(function(){return t[1]||(t[1]=[Te.createTextVNode("Suppression")])}),_:1}))]})]}),_:3},16),Te.renderSlot(e.$slots,"delete-modal-content",{data:o.localDetail},function(){return[Te.createVNode(Te.unref(Me.QCardSection),{align:o.isMobile?"center":"left",style:{padding:"30px"}},{default:Te.withCtx(function(){return t[2]||(t[2]=[Te.createTextVNode("Confirmez vous la suppression ?")])}),_:1},8,["align"])]}),Te.createVNode(Te.unref(Me.QCardActions),{align:o.isMobile?"center":"right"},{default:Te.withCtx(function(){return[Te.withDirectives(Te.createVNode(Te.unref(Me.QBtn),{flat:"",label:"Annuler",color:"grey-6"},null,512),[[n]]),Te.createVNode(Te.unref(Me.QBtn),{flat:"",label:"Valider",color:"negative",onClick:a})]}),_:1},8,["align"])]}),_:3},16)]}),_:3},16,["modelValue","transition-show","transition-hide","full-width"])}},__file:"src/components/VlankDeleteModal.vue"},Re={__name:"VlankEditModal",props:{localDetail:Object,editModal:Boolean,modalEditOptions:Object,collection:String,extraRequestParams:Object,useSendFiles:Boolean,storeKey:String,isMobile:Boolean,closeModalAfterValidation:Boolean,propsLibelleTitle:String},emits:["close"],setup:function(o,e){var e=e.emit,l=o,n=e,t=Te.useSlots(),a=Te.inject("vlank-ccrud"),i=Te.computed({get:function(){return l.editModal},set:function(){n("close",{obj:l.localDetail,action:"close"})}}),r=Te.computed(function(){return!!t["create-edit-modal-custom-actions"]});function c(){var t=l.localDetail.uuid?"update":"create",e=l.localDetail.uuid?"Modification effectuée":"Création effectuée",n="update"==t?Object.assign({},l.extraRequestParams.update):Object.assign({},l.extraRequestParams.store);l.useSendFiles?a.collectionAction({collectionName:l.collection,action:"send-file",params:Object.assign({},l.localDetail,n),list_field:l.storeKey,axios_options:{oniti_success_notification_message:e}}).then(function(e){l.closeModalAfterValidation&&u(e,t)}):a.collectionAction({collectionName:l.collection,action:t,params:Object.assign({},l.localDetail,n),list_field:l.storeKey}).then(function(e){l.closeModalAfterValidation&&u(e,t)})}function u(e,t){n("close",{obj:e,action:t})}var s=Te.ref(null),d=Te.ref(null),f=new ResizeObserver(function(e){e.forEach(function(e){m.value.height=l.isMobile?"100vh":e.contentRect.height<800?e.contentRect.height+"px":"80vh"})}),m=Te.ref({height:l.isMobile?"100vh":s.value&&s.value.clientHeight<800?s.value.clientHeight+"px":"80vh"});return Te.watch(s,function(e){m.value.height=l.isMobile?"100vh":e&&e.clientHeight<800?e.clientHeight+"px":"80vh",s.value&&f.observe(s.value)},{immediate:!0,deep:!0}),function(e,t){var n=Te.resolveDirective("close-popup");return Te.openBlock(),Te.createBlock(Te.unref(Me.QDialog),Te.mergeProps({class:{"mobile-modal":o.isMobile},modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=function(e){return i.value=e})},l.modalEditOptions.dialog,{"transition-show":o.isMobile?"slide-left":"fade","transition-hide":o.isMobile?"slide-right":"fade","full-width":o.isMobile,"full-height":o.isMobile}),{default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QCard),Te.mergeProps({style:{width:"700px","max-width":"80vw"}},l.modalEditOptions.card),{default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QToolbar),Te.mergeProps({class:o.isMobile?"mobile-toolbar bg-primary":"bg-primary",style:{color:"#fff"}},l.modalEditOptions.toolbar),{default:Te.withCtx(function(){return[Te.renderSlot(e.$slots,"create-edit-modal-title",{data:l.localDetail},function(){return[o.isMobile?Te.withDirectives((Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:0,flat:"",class:"q-mr-sm",round:"",dense:"",icon:"arrow_back"},null,512)),[[n]]):(Te.openBlock(),Te.createBlock(Te.unref(Me.QAvatar),{key:1},{default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QIcon),{name:"edit",style:{"font-size":"2rem"}})]}),_:1})),l.localDetail.uuid?l.propsLibelleTitle&&l.localDetail[l.propsLibelleTitle]?(Te.openBlock(),Te.createBlock(Te.unref(Me.QToolbarTitle),{key:3,class:Te.normalizeClass({"toolbar-title":o.isMobile})},{default:Te.withCtx(function(){return[Te.createTextVNode(Te.toDisplayString(o.isMobile?null:"Modification")+" "+Te.toDisplayString(l.localDetail[l.propsLibelleTitle]),1)]}),_:1},8,["class"])):(Te.openBlock(),Te.createBlock(Te.unref(Me.QToolbarTitle),{key:4},{default:Te.withCtx(function(){return t[2]||(t[2]=[Te.createTextVNode("Modification")])}),_:1})):(Te.openBlock(),Te.createBlock(Te.unref(Me.QToolbarTitle),{key:2},{default:Te.withCtx(function(){return t[1]||(t[1]=[Te.createTextVNode("Création")])}),_:1}))]}),o.isMobile&&!r.value&&l.modalEditOptions.showBtn.valid?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:0,flat:"",class:"absolute-right q-mr-sm",round:"",dense:"",icon:"done",onClick:c})):o.isMobile?Te.renderSlot(e.$slots,"create-edit-modal-custom-actions",{key:1,close:u,data:l.localDetail}):Te.withDirectives((Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:2,flat:"",class:"absolute-right q-mr-sm",round:"",dense:"",icon:"close"},null,512)),[[n]])]}),_:3},16,["class"]),Te.createVNode(Te.unref(Me.QScrollArea),{style:Te.normalizeStyle(m.value)},{default:Te.withCtx(function(){return[Te.createElementVNode("div",{class:Te.normalizeClass({"mobile-content":o.isMobile}),ref_key:"modalContent",ref:s},[Te.renderSlot(e.$slots,"create-edit-modal-content",{data:l.localDetail,ref_key:"modalContentDetail",ref:d})],2)]}),_:3},8,["style"]),o.isMobile?Te.createCommentVNode("v-if",!0):(Te.openBlock(),Te.createBlock(Te.unref(Me.QCardActions),{key:0,align:"right",class:"scroll"},{default:Te.withCtx(function(){return[Te.renderSlot(e.$slots,"create-edit-modal-custom-actions",{close:u,data:l.localDetail}),!r.value&&l.modalEditOptions.showBtn.cancel?Te.withDirectives((Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:0,flat:"",label:"Annuler",color:"grey-6"},null,512)),[[n]]):Te.createCommentVNode("v-if",!0),!r.value&&l.modalEditOptions.showBtn.valid?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:1,flat:"",label:"Valider",color:"primary",onClick:c})):Te.createCommentVNode("v-if",!0)]}),_:3}))]}),_:3},16)]}),_:3},16,["class","modelValue","transition-show","transition-hide","full-width","full-height"])}}};function o(e,t){var n,o,t=(t=void 0===t?{}:t).insertAt;e&&"undefined"!=typeof document&&(n=document.head||document.getElementsByTagName("head")[0],(o=document.createElement("style")).type="text/css","top"===t&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e)))}o(".mobile-modal .q-dialog__inner {\n padding: 0px !important;\n}\n.mobile-modal .toolbar-title {\n font-size: 0.9rem;\n max-width: 19rem;\n}\n\n.mobile-toolbar {\n position: fixed;\n top: 0;\n z-index: 999;\n}\n\n.mobile-content {\n padding-top: 4rem;\n}"),Re.__file="src/components/VlankEditModal.vue";var Qe={__name:"VlankTdEdit",props:{data:Object,colOptions:Object,props:Object,rowIndex:Number,cellIndex:Number},emits:["update","onEditCellHandler","onClickTabHandler"],setup:function(e,t){var t=t.emit,l=e,n=Te.ref(Object.assign({},l.data)),o=Te.inject("vlank-ccrud"),a=t,e=Te.computed({get:function(){return n.value[l.colOptions.name]},set:function(e){n.value[l.colOptions.name]=e}}),i=Te.ref(e.value),r=Te.computed(function(){return"boolean"===l.colOptions.type?null:l.colOptions.format?l.colOptions.format(n.value[l.colOptions.name]):n.value[l.colOptions.name]});function c(e){var t;o.collectionAction({collectionName:l.props.collection,action:"update",params:Object.assign({},l.props.extraRequestParams.update,n.value,((t={})[l.colOptions.name]=e,t)),list_field:l.props.storeKey}).then(function(e){a("update",{obj:e,action:"update",callback:function(){a("onClickTabHandler",l.rowIndex,l.cellIndex)}})})}function u(e){e=e.target.value;a("onClickTabHandler",l.rowIndex,l.cellIndex,e!=i.value)}return function(e,t){return Te.openBlock(),Te.createElementBlock("td",null,[n.value[l.colOptions.name]&&"boolean"===l.colOptions.type?Te.renderSlot(e.$slots,"boolean-check-"+l.colOptions.name,{key:0},function(){return[Te.createVNode(Te.unref(Me.QIcon),{color:"positive",size:"2rem",name:"check"})]}):"boolean"===l.colOptions.type?Te.renderSlot(e.$slots,"boolean-uncheck-"+l.colOptions.name,{key:1}):Te.createCommentVNode("v-if",!0),Te.createTextVNode(" "+Te.toDisplayString(r.value)+" ",1),Te.createVNode(Te.unref(Me.QPopupEdit),{modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=function(e){return i.value=e}),"auto-save":"",onSave:c,onKeydown:Te.withKeys(Te.withModifiers(u,["prevent","stop"]),["tab"])},{default:Te.withCtx(function(o){return[Te.createVNode(Te.unref(Me.QInput),Te.mergeProps(l.colOptions.inputOptions,{autofocus:"","emit-value":"",modelValue:o.value,"onUpdate:modelValue":[function(e){return o.value=e},function(e){var t,n;t=l.colOptions.field,n=o.value,a("onEditCellHandler",t,n)}],label:l.colOptions.label,onKeyup:Te.withKeys(o.set,["enter"])}),null,16,["modelValue","onUpdate:modelValue","label","onKeyup"])]}),_:1},8,["modelValue","onKeydown"])])}}};function Ae(l,t,a,i){var r=this,c=Te.inject("vlank-ccrud"),u=Te.ref([]),e=Te.computed(function(){u.value=[];var n={align:"left",sortable:!0,type:"string",classes:l.value.getRowCellClass},e={loading:c.getFromCollection(l.value.collection,"fetching",!1),"row-key":function(t){return o.columns.filter(function(e){return void 0!==e.name||void 0!==e.field}).map(function(e){return t[e.name||e.field]}).join()+t[c.getRouteParameterName(l.value.collection)]},"rows-per-page-options":[20,50,100]},o=l.value.table||{},o=Object.assign({},e,o);return Object.keys(o).forEach(function(e){"columns"===e&&(o[e]=o[e].map(function(e){var t;return e.field&&e.field.includes(".")&&!e.format?e.format=function(e,t,n){var o=n;return e.split(".").forEach(function(e){return o instanceof Object?o=o[e]:o}),o}.bind(r,e.field):"date"!==e.type||e.format||(t={format:"DD/MM/YYYY",local:"fr"},e.format=function(e,t,n){return f.formatDate(t,e.format,e.local)}.bind(r,e.formatDateOption?Object.assign({},t,e.formatDateOption):t)),("boolean"!==e.type||e.editable)&&"function"!=typeof e.to||(u.value.push({field:e.field,slotName:"body-cell-"+e.field,to:e.to,type:e.type,format:e.format}),e.name=e.field),Object.assign({},n,e)}),a.value||i.value||t["row-action-before-controllers"]||t["row-action-after-controllers"])&&!l.value.table.grid&&o[e].push({name:"actions-vlank",label:""})}),o}),n=Te.computed(function(){return e.value.columns.filter(function(e){return e.editable}).map(function(e){return{slotName:"body-cell-"+e.name,options:Object.assign({},e)}})}),o=Te.computed(function(){return l.value.customCreateButtonText}),s=Te.computed(function(){return l.value.collection+"-edit"}),d=Te.computed(function(){return l.value.collection+"-store"});return{customFields:u,table:e,getEditablesTd:n,customCreateButtonText:o,collectionEditNamedRoute:s,collectionCreateNamedRoute:d,isTdClickable:function(e){return"function"==typeof e.to},getAdditionalClassActionBtns:function(e){return l.value.getRowCellClass?" "+l.value.getRowCellClass(e):""}}}function Ie(o,l,a){function i(){return o.value.persistTableOptions?o.value.persistTableOptions.id||o.value.collection:null}function e(){var e,t,n;o.value.persistTableOptions&&"string"==typeof(e=localStorage.getItem(i()))&&(e=JSON.parse(e),t=(new Date).getTime(),n=o.value.persistTableOptions.expirationMinutes||5,e.timestamp+6e4*n<=t?localStorage.removeItem(i()):(a.value=e.filter,l.value=e.currentPagination,o.value.table.pagination=e.currentPagination))}e(),Te.onMounted(function(){e()}),Te.onBeforeUnmount(function(){var e;o.value.persistTableOptions&&(e={currentPagination:l.value,filter:a.value,timestamp:(new Date).getTime()},localStorage.setItem(i(),JSON.stringify(e)))})}function qe(o,l,t,a,i,r){var c=Te.inject("vlank-ccrud");function n(e,t){l("actionsCallback",e,t)}return{onClickDelete:function(e){var t,n=c.getRouteParameterName(o.value.collection);c.collectionAction({collectionName:o.value.collection,action:"detail",lazy:!0,params:Object.assign(((t={})[n]=e[n],t),o.value.extraRequestParams.show)}).then(function(e){a.value=Object.assign({},e),i.value=!0,l("detailChange",a.value)})},onClickAdd:function(){c.collectionAction({collectionName:o.value.collection,action:"resetDetail"}).then(function(){a.value=Object.assign({},o.value.defaultValues),r.value=!0,l("detailChange",a.value),l("modalOpenCreateUpdate","create",a.value)})},onClickEdit:function(e){var t,n=c.getRouteParameterName(o.value.collection);c.collectionAction({collectionName:o.value.collection,action:"detail",lazy:!0,params:Object.assign(((t={})[n]=e[n],t),o.value.extraRequestParams.show)}).then(function(e){a.value=Object.assign({},e),r.value=!0,l("detailChange",a.value),l("modalOpenCreateUpdate","update",a.value)})},onUpdateTd:function(e){t(!0),n(e.action,e.obj)},onCloseEditModal:function(e){r.value=!1,a.value=Object.assign({},o.value.defaultValues),t(!0),n(e.action,e.obj)},onCloseDeleteModal:function(e){i.value=!1,a.value=Object.assign({},o.value.defaultValues),t(!0),n(e.action,e.obj)}}}function Le(e,t){e=JSON.stringify(e);return e!==t.value&&(t.value=e,1)}Qe.__file="src/components/VlankTdEdit.vue";var ze={class:"col"},$e={key:1},Ue={key:2},Fe=["props","onClick"],Ke=["props","onClick"],He={class:"top-right-content"},Je={id:"search-slot"},Ye={id:"top-right-under-add"},Ge=["props"],l={__name:"VlankCollectionCrud",props:{collection:String,defaultValues:Object,propsLibelleTitle:String,showBtnDelete:Boolean,showBtnEdit:Boolean,showSlideLeft:Boolean,showBtnCreate:Boolean,showBtnCreateTooltip:{type:Boolean,default:!1},storeKey:{type:String,default:"list"},showInputSearch:{type:Boolean,default:!0},lazy:Boolean,async:Boolean,broadcast:Boolean,broadcastCallback:Function,broadcastChannel:String,broadcastAsyncDelay:{type:Number,default:500},broadcastIgnoreDefaultListener:{type:Boolean,default:!1},editMode:String,createMode:String,editablePage:{type:Boolean,default:!0},table:Object,extraRequestParams:{type:Object,default:Te.ref({})},useSendFiles:Boolean,modalDeleteOptions:Object,modalEditOptions:Object,persistTableOptions:Object,customCreateButtonText:String,pagination:Object,displayActionCallback:{type:Function,default:function(e,t){return!0}},closeModalAfterValidation:{type:Boolean,default:!0},getRowCellClass:{type:Function,default:null}},emits:["detailChange","modalOpenCreateUpdate","actionsCallback","actionsSlideLeft","onEditCellHandler"],setup:function(n,e){var e=e.emit,t=n,a=e,R=Te.ref(null),o=Me.useQuasar(),Q=Te.computed(function(){if(1<t.table.columns.filter(function(e){return e.displayMobile}).length)throw new Error("Merci de ne saisir qu'une seule colonne en displayMobile.");return t.table.columns.filter(function(e){return e.displayMobile})[0]}),i=Te.computed(function(){return o.config.collectionCrudOptions&&o.config.collectionCrudOptions.maximalMobileScreenSize?!!o.screen.lt[o.config.collectionCrudOptions.maximalMobileScreenSize]:o.screen.lt.md}),e=Te.inject("vlank-ccrud"),r=Te.useSlots(),c=Te.ref(""),A=Te.ref(!1),I=Te.ref(!1);q=t,l={collection:null,showBtnDelete:!1,showBtnEdit:!1,showSlideLeft:!1,showInputSearch:!0,showBtnCreate:!1,lazy:!1,defaultValues:{},rights:null,persistTableOptions:null,async:!1,editMode:"modal",createMode:"modal",modalEditOptions:{dialog:{},card:{},toolbar:{},showBtn:{valid:!0,cancel:!0}},modalDeleteOptions:{dialog:{},card:{},toolbar:{}},table:{title:"Titre Non défini"},useSendFiles:!1,extraRequestParams:{index:{},show:{},store:{},update:{},delete:{}},propsLibelleTitle:null,customCreateButtonText:null};var q,l,u,s,L,d,f,m={props:Te.computed(function(){var t=Object.assign({},l,q);if(!t.collection)throw new Error("Aucune collection de configurée.");t.modalDeleteOptions=Object.assign({},l.modalDeleteOptions,t.modalDeleteOptions),t.modalEditOptions=Object.assign({},l.modalEditOptions,t.modalEditOptions),t.modalEditOptions.showBtn=Object.assign({},l.modalEditOptions.showBtn,t.modalEditOptions.showBtn);var n={};return Object.keys(l.extraRequestParams).forEach(function(e){n[e]=Object.assign({},l.extraRequestParams[e],t.extraRequestParams[e])}),t.extraRequestParams=n,t})}.props,p=e.getRouteParameterName(m.value.collection),v=(u=m,s=Te.inject("vlank-auth"),T=Te.computed(function(){return"page"===u.value.createMode&&f.value}),N=Te.computed(function(){return"modal"===u.value.editMode&&d.value}),O=Te.computed(function(){return"page"===u.value.editMode&&d.value&&L.value}),L=Te.computed(function(){return"page"===u.value.editMode&&u.value.editablePage}),d=Te.computed(function(){var e=z("edit");return u.value.showBtnEdit&&(!e||s.check(e))}),b=Te.computed(function(){return u.value.showInputSearch}),v=Te.computed(function(){var e=z("delete");return u.value.showBtnDelete&&(!e||s.check(e))}),f=Te.computed(function(){var e=z("create");return u.value.showBtnCreate&&(!e||s.check(e))}),M=Te.computed(function(){return"table"===u.value.editMode&&d.value}),{showBtnCreate:f,showBtnDelete:v,showInputSearch:b,showBtnEdit:d,showBtnEditPage:O,showBtnEditModal:N,showBtnCreatePage:T,editOnTable:M});function z(e){return u.value.rights&&u.value.rights[e]?u.value.rights[e]:null}var $=v.showBtnCreate,U=v.showBtnDelete,F=v.showInputSearch,K=v.showBtnEdit,H=v.showBtnEditPage,J=v.showBtnEditModal,Y=v.showBtnCreatePage,G=v.editOnTable,b=Ae(m,r,K,U),W=b.customFields,X=b.table,Z=b.getEditablesTd,g=b.customCreateButtonText,ee=b.collectionEditNamedRoute,te=b.collectionCreateNamedRoute,ne=b.isTdClickable,h=b.getAdditionalClassActionBtns;k=m,y=Te.ref(null),k.value.async&&!y.value&&(y.value={sortBy:"",descending:!1,page:1,rowsPerPage:20,rowsNumber:0}),Te.onMounted(function(){k.value.pagination&&(y.value=Object.assign({},k.value.pagination))});var k,y,C={pagination:y}.pagination;Ie(m,C,c);var w,B,oe,le,ae,x,ie,re,O,ce=Te.ref(t.defaultValues instanceof Object?t.defaultValues:e.getFromCollection(m.value.collection,"detail")?e.getFromCollection(m.value.collection,"detail"):{}),N=(w=m,B=C,oe=X,le=c,x=Te.inject("vlank-ccrud"),ie=Te.ref({}),re=null,w.value.broadcast&&(ae=w.value.broadcastChannel||"vlank-collection-crud-"+w.value.collection,je.default.private(ae).listen(function(e){var t=w.value.async;if(w.value.broadcastCallback&&w.value.broadcastIgnoreDefaultListener)w.value.broadcastCallback(e);else if(t)clearTimeout(re),re=setTimeout(function(){V(),w.value.broadcastCallback&&w.value.broadcastCallback(e)},w.value.broadcastAsyncDelay);else{var n=null;switch(e.Event){case"updated":n="broadcast-update";break;case"created":n="broadcast-create";break;case"deleted":n="broadcast-delete";break;default:if(!w.value.broadcastCallback)throw new Error("Évènement de Broadcast inconnu: "+e.event);w.value.broadcastCallback(e)}n&&(x.collectionAction({collectionName:w.value.collection,action:n,payload:e.Data,custom_field:w.value.storeKey}),w.value.broadcastCallback)&&w.value.broadcastCallback(e)}}),Te.onUnmounted(function(){je.default.disconnect(ae)})),O=Te.computed(function(){return oe.value.rows||x.getFromCollection(w.value.collection,w.value.storeKey,[])}),Te.onMounted(function(){w.value.table&&w.value.table.hasOwnProperty("rows")||w.value.async?w.value.async&&V({pagination:B.value,filter:le.value}):ue()}),{rows:O,getList:ue,asyncRequest:V});function ue(e){void 0===e&&(e=!1),w.value.async?V():x.collectionAction({collectionName:w.value.collection,action:"list",lazy:!e&&w.value.lazy,params:w.value.extraRequestParams.index,custom_field:w.value.storeKey})}function V(e){var t=(e=e||ie.value).pagination,n=t.page,o=t.rowsPerPage,l=t.sortBy,a=t.descending,t=e.filter,e=(ie.value=e,0===o?B.value.rowsNumber:o),o={page:n,filter:""===t?null:t,sortBy:""===l?null:l,descending:""===l?null:a,perPage:e};x.getFromCollection(w.value.collection,"fetching",!1)||x.collectionAction({collectionName:w.value.collection,action:"paginate",lazy:!1,params:Object.assign({},w.value.extraRequestParams.index,o),custom_field:w.value.storeKey}).then(function(){var e=x.getFromCollection(w.value.collection,"pagination",{});B.value={page:e.current_page,rowsPerPage:e.per_page,rowsNumber:e.total,sortBy:l,descending:a}})}var se,S,de,_,fe,me,pe,D,E=N.rows,T=N.getList,ve=N.asyncRequest,M=qe(m,a,T,ce,A,I),be=M.onClickDelete,ge=M.onClickAdd,he=M.onClickEdit,ke=M.onUpdateTd,ye=M.onCloseEditModal,Ce=M.onCloseDeleteModal,b=(se=m,S=Te.ref([]),v=Te.ref(se.value.table.selection||"none"),Te.watch(S,function(){se.value.table.selected=S.value}),{selectedData:S,selectionMode:v}),we=b.selectedData,Be=b.selectionMode;e=t,de=T,_=C,fe=R,me=Te.ref(null),pe=Te.ref(null),e.extraRequestParams&&Te.watch(e.extraRequestParams,function(e,t){e&&e.index&&Le(e.index,me)&&(de(!0),me.value=JSON.stringify(e.index))}),e.pagination&&Te.watch(e.pagination,function(e,t){Le(e,pe)&&(_.value=Object.assign({},_.value,e),fe.value.setPagination(_.value,!0))});var xe=Te.ref(null);function Oe(e){clearTimeout(D),D=setTimeout(function(){e()},50)}function Ne(e){e.side;e=e.isReset;clearTimeout(D),e&&(j("q-slide-item__left"),j("q-slide-item__right"))}function j(e){for(var t=0;t<document.getElementsByClassName(e).length;t++)document.getElementsByClassName(e)[t].style.visibility="hidden"}function Ve(e,t){a("onEditCellHandler",e,t)}Te.onBeforeUnmount(function(){clearTimeout(D)});var Se=Te.ref([]),P=Te.ref(null);function _e(e,t,n,o){void 0===n&&(n=!1),(o=void 0===o?!0:o)&&Se.value[e+"_"+t].$el.click(),n?P.value={rowIndex:e,cellIndex:t}:(P.value=null,Se.value[o=e,n=t,Z.value.length>parseInt(n)+1?o+"_"+(parseInt(n)+1):parseInt(o)+1+"_0"].$el.click())}function De(e){return E.value.indexOf(e)}function Ee(){c.value=""}return Te.watch(E,function(e,t){P.value&&setTimeout(function(){P.value&&_e(P.value.rowIndex,P.value.cellIndex,!1,!1)},400)},{deep:!0}),function(l,e){return Te.openBlock(),Te.createElementBlock("div",ze,[Te.unref(E)?(Te.openBlock(),Te.createBlock(Te.unref(Me.QTable),Te.mergeProps({key:0,flat:"",rows:Te.unref(E)},Te.unref(X),{filter:c.value,onRequest:Te.unref(ve),ref_key:"ccrudTable",ref:R,pagination:Te.unref(C),"onUpdate:pagination":e[1]||(e[1]=function(e){return Te.isRef(C)?C.value=e:null}),selection:Te.unref(Be),selected:Te.unref(we),"onUpdate:selected":e[2]||(e[2]=function(e){return Te.isRef(we)?we.value=e:null})}),Te.createSlots({"top-left":Te.withCtx(function(){return[Te.createElementVNode("div",null,[Te.renderSlot(l.$slots,"top-left-content")])]}),"top-right":Te.withCtx(function(){return[Te.createElementVNode("div",He,[Te.createElementVNode("div",Je,[Te.unref(F)?(Te.openBlock(),Te.createBlock(Te.unref(Me.QInput),{key:0,dense:"",debounce:"300",modelValue:c.value,"onUpdate:modelValue":e[0]||(e[0]=function(e){return c.value=e}),placeholder:"Recherche",outlined:"",rounded:i.value,style:{width:"180px"}},{append:Te.withCtx(function(){return[c.value?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:0,dense:"",flat:"",round:"",icon:"mdi-close",onClick:Ee})):(Te.openBlock(),Te.createBlock(Te.unref(Me.QIcon),{key:1,name:"search"}))]}),_:1},8,["modelValue","rounded"])):Te.createCommentVNode("v-if",!0),Te.unref(Y)?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:1,type:"a",to:{name:Te.unref(te)},label:Te.unref(g)?Te.unref(g):null,icon:"add",color:"primary",style:{"margin-left":"1em"},square:""},{default:Te.withCtx(function(){return[Te.renderSlot(l.$slots,"create-btn-tooltip")]}),_:3},8,["to","label"])):Te.unref($)?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:2,label:Te.unref(g)?Te.unref(g):null,icon:"add",color:"primary",style:{"margin-left":"1em"},onClick:Te.unref(ge),square:""},{default:Te.withCtx(function(){return[Te.renderSlot(l.$slots,"create-btn-tooltip")]}),_:3},8,["label","onClick"])):Te.createCommentVNode("v-if",!0),Te.renderSlot(l.$slots,"top-right-after-add")]),Te.createElementVNode("div",Ye,[Te.renderSlot(l.$slots,"top-right-under-add")])])]}),"body-cell-actions-vlank":Te.withCtx(function(t){var e;return[Te.createElementVNode("td",{props:t,class:Te.normalizeClass("action-buttons"+Te.unref(h)(t.row))},[Te.renderSlot(l.$slots,"row-action-before-controllers",{key:0,data:t.row}),Te.unref(J)&&n.displayActionCallback(t.row,"edit")?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:1,onClick:function(e){return Te.unref(he)(t.row)},color:"primary",icon:"edit",flat:"",round:i.value},null,8,["onClick","round"])):Te.unref(H)&&n.displayActionCallback(t.row,"edit")?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:2,type:"a",to:{name:Te.unref(ee),params:((e={})[Te.unref(p)]=t.row[Te.unref(p)],e)},color:"primary",icon:"edit",flat:"",round:i.value},null,8,["to","round"])):Te.createCommentVNode("v-if",!0),!n.editablePage&&Te.unref(H)&&n.displayActionCallback(t.row,"show")?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:3,type:"a",to:{name:Te.unref(ee),params:((e={})[Te.unref(p)]=t.row[Te.unref(p)],e)},color:"primary",icon:"mdi-magnify-plus-outline",flat:""},null,8,["to"])):Te.createCommentVNode("v-if",!0),Te.unref(U)&&n.displayActionCallback(t.row,"delete")?(Te.openBlock(),Te.createBlock(Te.unref(Me.QBtn),{key:4,onClick:function(e){return Te.unref(be)(t.row)},color:"negative",icon:"delete",flat:"",round:i.value},null,8,["onClick","round"])):Te.createCommentVNode("v-if",!0),Te.renderSlot(l.$slots,"row-action-after-controllers",{data:t.row})],10,Ge)]}),_:2},[i.value?{name:"header",fn:Te.withCtx(function(e){return[]}),key:"0"}:void 0,i.value?{name:"body",fn:Te.withCtx(function(o){return[Te.createVNode(Te.unref(Me.QSlideItem),{ref_key:"mobileSlideItem",ref:xe,onLeft:function(e){return e=e,t=o.row,a("actionsSlideLeft",e,t),Oe(e.reset),void j("q-slide-item__left");var t},onRight:function(e){return t=e,n=o.row,t=e.reset,be(n),Oe(t),void j("q-slide-item__right");var t,n},onSlide:Ne,reset:"","right-color":"negative","left-color":"accent"},Te.createSlots({default:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QItem),{style:{"align-items":"center"},class:Te.normalizeClass("mobile-item"+Te.unref(h)(o.row))},{default:Te.withCtx(function(){return[Te.createCommentVNode(" On affiche la première colonne seulement et on garde celle des actions "),Te.createVNode(Te.unref(Me.QItemSection),{class:"mobile-item-content",onClick:function(e){return Te.unref(K)?(t=o.row,void he(t)):"";var t}},{default:Te.withCtx(function(){return[Te.unref(r)["body-cell-mobile"]?Te.renderSlot(l.$slots,"body-cell-mobile",{key:0,data:o.row,class:"body-cell-mobile"}):Q.value?(Te.openBlock(),Te.createElementBlock("span",$e,Te.toDisplayString(o.cols.filter(function(e){return e.name===Q.value.name})[0].value),1)):(Te.openBlock(),Te.createElementBlock("span",Ue,Te.toDisplayString(o.cols[0].value),1))]}),_:2},1032,["onClick"]),Te.createVNode(Te.unref(Me.QItemSection),{style:{display:"flex","flex-direction":"row","align-items":"center"},side:""},{default:Te.withCtx(function(){return[Te.renderSlot(l.$slots,"row-action-before-controllers",{key:0,data:o.row})]}),_:2},1024)]}),_:2},1032,["class"])]}),_:2},[n.showSlideLeft?{name:"left",fn:Te.withCtx(function(){return[Te.renderSlot(l.$slots,"content-slider-left",{data:o.row},function(){return[Te.createVNode(Te.unref(Me.QIcon),{name:"mdi-pencil"})]})]}),key:"0"}:void 0,Te.unref(U)?{name:"right",fn:Te.withCtx(function(){return[Te.createVNode(Te.unref(Me.QIcon),{name:"mdi-delete"})]}),key:"1"}:void 0]),1032,["onLeft","onRight"])]}),key:"1"}:void 0,Te.renderList(Te.unref(W),function(n){return{name:n.slotName,fn:Te.withCtx(function(t){return["boolean"==n.type?(Te.openBlock(),Te.createElementBlock("td",{props:t,key:n.slotName,class:Te.normalizeClass((Te.unref(ne)(n)?"cursor-pointer":"")+Te.unref(h)(t.row)),onClick:function(e){return Te.unref(ne)(n)?n.to(t.row):null}},[t.row[n.field]?Te.renderSlot(l.$slots,"boolean-check-"+n.field,{key:0,data:t.row},function(){return[Te.createVNode(Te.unref(Me.QIcon),{color:"positive",size:"2rem",name:"check"})]}):Te.renderSlot(l.$slots,"boolean-uncheck-"+n.field,{key:1,data:t.row})],10,Fe)):(Te.openBlock(),Te.createElementBlock("td",{props:t,key:n.slotName+"-else",class:Te.normalizeClass("cursor-pointer"+Te.unref(h)(t.row)),onClick:function(e){return n.to(t.row)}},Te.toDisplayString(n.format?n.format(t.row):t.row[n.field]),11,Ke))]})}}),Te.renderList(Te.unref(r),function(e,t){return{name:t,fn:Te.withCtx(function(e){return[Te.renderSlot(l.$slots,t,Te.normalizeProps(Te.guardReactiveProps(e)))]})}}),Te.renderList(Te.unref(Z),function(e,n){return{name:e.slotName,fn:Te.withCtx(function(t){return[Te.unref(G)?(Te.openBlock(),Te.createBlock(Qe,{ref:function(e){Se.value[De(t.row)+"_"+n]=e},key:e.slotName,rowIndex:De(t.row),cellIndex:n,data:t.row,props:Te.unref(m),colOptions:e.options,onUpdate:Te.unref(ke),onOnEditCellHandler:Ve,onOnClickTabHandler:_e},Te.createSlots({_:2},[Te.renderList(Te.unref(r),function(e,t){return{name:t,fn:Te.withCtx(function(e){return[Te.renderSlot(l.$slots,t,Te.normalizeProps(Te.guardReactiveProps(e)))]})}})]),1032,["rowIndex","cellIndex","data","props","colOptions","onUpdate"])):Te.createCommentVNode("v-if",!0)]})}})]),1040,["rows","filter","onRequest","pagination","selection","selected"])):Te.createCommentVNode("v-if",!0),Te.createCommentVNode(" Modal de Confirmation Suppression "),Te.createVNode(Pe,{localDetail:ce.value,props:Te.unref(m),alertDelete:A.value,onClose:Te.unref(Ce),isMobile:i.value},Te.createSlots({_:2},[Te.renderList(Te.unref(r),function(e,t){return{name:t,fn:Te.withCtx(function(e){return[(Te.openBlock(),Te.createElementBlock("div",{class:"modal-content",key:t},[Te.renderSlot(l.$slots,t,Te.normalizeProps(Te.guardReactiveProps(e)))]))]})}})]),1032,["localDetail","props","alertDelete","onClose","isMobile"]),Te.createCommentVNode(" Modal Edition "),Te.createVNode(Re,Te.mergeProps({localDetail:ce.value},Te.unref(m),{editModal:I.value,onClose:Te.unref(ye),isMobile:i.value,closeModalAfterValidation:n.closeModalAfterValidation,propsLibelleTitle:n.propsLibelleTitle}),Te.createSlots({_:2},[Te.renderList(Te.unref(r),function(e,t){return{name:t,fn:Te.withCtx(function(e){return[(Te.openBlock(),Te.createElementBlock("div",{class:Te.normalizeClass(i.value?"mobile-content modal-content":"modal-content"),key:t},[Te.renderSlot(l.$slots,t,Te.normalizeProps(Te.guardReactiveProps(e)))],2))]})}})]),1040,["localDetail","editModal","onClose","isMobile","closeModalAfterValidation","propsLibelleTitle"])])}}};function A(e,t){var n;e&&e.meta?(n=localStorage.getItem(e.meta.goBackRoute))?(t.push(n),localStorage.removeItem(e.meta.goBackRoute)):e.meta.mainParentRoutePath?t.push(e.meta.mainParentRoutePath):t.go(-1):t.go(-1)}o("\n.action-buttons[data-v-60881ef8] {\n text-align: end;\n}\n.modal-content[data-v-60881ef8] {\n padding: 15px;\n}\n.q-table-control[data-v-60881ef8] {\n flex: 0 1 55%;\n}\n#search-slot[data-v-60881ef8] {\n display: flex;\n align-items: center;\n}\n#top-right-under-add[data-v-60881ef8] {\n margin-top: 20px;\n display: flex;\n flex-direction: column;\n}\n.mobile-item[data-v-60881ef8] {\n min-height: 8.5vh;\n border-bottom: solid 1px lightgrey;\n}\n.mobile-item-content>span[data-v-60881ef8] {\n word-break: break-all;\n}\n.body-cell-mobile[data-v-60881ef8] {\n word-break: break-all;\n}\n"),l.__scopeId="data-v-60881ef8",l.__file="src/components/VlankCollectionCrud.vue";var I={style:{display:"flex","align-items":"center"}},q={key:0},L={key:1,class:"edit-page-body"},z={key:2,class:"edit-page-body"},e={__name:"VlankEditPage",emits:["collectionCrudUpdateLocalDetail"],setup:function(e,t){var t=t.emit,n=R.useRoute(),o=R.useRouter(),l=P.useStore(),a=Te.inject("vlank-ccrud");function i(){A(n,o)}function r(e){h.value=e}function c(e){y.value.label=e.label,y.value.icon=e.icon}function u(e){e&&(p.value=Object.assign({},p.value,e))}function s(e){C.value=e}function d(e){e&&(b.value=e)}function f(){O.value=!0,(n.meta.useSendFiles?a.collectionAction({collectionName:n.meta.collection,action:"send-file",params:Object.assign({},p.value,b.value),axios_options:{oniti_success_notification_message:"Modification effectuée"}}).then(function(e){V(e)}):a.collectionAction({collectionName:n.meta.collection,action:"update",params:Object.assign({},p.value,b.value)}).then(function(e){V(e)})).finally(function(){O.value=!1})}var m=t,p=Te.ref(null),v=Te.ref(n.meta.containerMode),b=Te.ref({}),g=Te.ref(n.meta.propsLibelleTitle),h=Te.ref(null),k=null,y=Te.ref({label:null,icon:null}),C=Te.ref(!0),w=Te.computed(function(){return n.meta.formComponent}),B=Te.computed(function(){return h.value||(p.value?p.value[g.value]:null)}),x=Te.computed(function(){return y.value.label&&y.value.icon?y.value:{label:"Valider",icon:"mdi-check"}}),O=Te.ref(!1),N=Te.ref({});function V(e){n.meta.goBackAfterValidation&&A(n,o),N.value=JSON.parse(JSON.stringify(e)),p.value=JSON.parse(JSON.stringify(e)),j.value=JSON.parse(JSON.stringify(e))}function S(e,t){"collectionCrud/SET_DETAIL"==e.type&&e.payload.collectionName==n.meta.collection&&p.value&&p.value.uuid==e.payload.payload.uuid&&(p.value=e.payload.payload)}var _=a.getRouteParameterName(n.meta.collection),D=n,E=Te.ref(n.meta.collection);function T(){var e,t;v.value?p.value=null:(t=D.params[_],a.collectionAction({collectionName:D.meta.collection,action:"detail",lazy:!0,params:((e={})[_]=t,e)}).then(function(e){p.value=Object.assign({},e),m("collectionCrudUpdateLocalDetail",p.value)}))}Te.watch(o.currentRoute,function(e,t){e.meta.collection&&(D=e,_=a.getRouteParameterName(e.meta.collection),g.value=e.meta.propsLibelleTitle,E.value=e.meta.collection,T())},{deep:!0});var M=Te.ref(!1),j=Te.ref(null);return Te.watch(p,function(e){e&&!j.value?j.value=JSON.parse(JSON.stringify(e)):M.value=JSON.stringify(e)!==JSON.stringify(j.value)},{deep:!0}),Te.onMounted(function(){T(),k=l.subscribe(S)}),Te.onBeforeUnmount(function(){k&&k()}),function(e,t){return Te.openBlock(),Te.createBlock(Te.unref(Me.QPage),null,{default:Te.withCtx(function(){return[v.value?Te.createCommentVNode("v-if",!0):(Te.openBlock(),Te.createElementBlock("div",{class:"edit-page-header",key:E.value},[Te.createElementVNode("div",I,[Te.createVNode(Te.unref(Me.QBtn),{onClick:i,color:"primary",icon:"arrow_back"}),Te.createElementVNode("h2",null,Te.toDisplayString(B.value),1)]),!v.value&&C.value?(Te.openBlock(),Te.createElementBlock("div",q,[Te.createVNode(Te.unref(Me.QBtn),{icon:x.value.icon,onClick:f,disable:!M.value,color:M.value?"primary":"grey-5",loading:O.value},{default:Te.withCtx(function(){return[Te.createTextVNode(Te.toDisplayString(x.value.label),1)]}),_:1},8,["icon","disable","color","loading"])])):Te.createCommentVNode("v-if",!0)])),p.value?(Te.openBlock(),Te.createElementBlock("div",L,[(Te.openBlock(),Te.createBlock(Te.resolveDynamicComponent(Te.unref(Q.default)[w.value]),{data:p.value,submitedData:N.value,key:p.value[Te.unref(_)],onExtraRequestParams:d,onCustomTitle:r,onCustomSubmitBtn:c,onUpdateData:u,onEditablePage:s},null,40,["data","submitedData"]))])):(Te.openBlock(),Te.createElementBlock("div",z,[Te.createVNode(Te.unref(Me.QSpinner),{class:"loader",color:"accent"})]))]}),_:1})}}},C=(o("\n.edit-page-header[data-v-d27ce27e] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px;\n background-color: white;\n}\n.edit-page-header h2[data-v-d27ce27e] {\n font-size: 2em;\n margin: 0px;\n margin-left: 20px;\n}\n.edit-page-header h2 button[data-v-d27ce27e] {\n height: fit-content;\n margin: 0 1em 0 1em;\n}\n.loader[data-v-d27ce27e] {\n font-size: 120px;\n position: absolute;\n right: 48%;\n top: 32%;\n bottom: 50%;\n}\n"),e.__scopeId="data-v-d27ce27e",e.__file="src/components/VlankEditPage.vue",{key:0,class:"create-page-header"}),w={style:{display:"flex","align-items":"center"}},B={key:0},x={key:1,class:"create-page-body"},O={key:2,class:"create-page-body"},t={__name:"VlankCreatePage",emits:["collectionCrudUpdateLocalDetail"],setup:function(e,t){var t=t.emit,n=R.useRoute(),o=R.useRouter(),l=Te.inject("vlank-ccrud");function a(){A(n,o)}function i(e){v.value.label=e.label,v.value.icon=e.icon}function r(e){e&&(d.value=Object.assign({},d.value,e))}function c(e){e&&(m.value=e)}function u(){k.value=!0,(n.meta.useSendFiles?l.collectionAction({collectionName:n.meta.collection,action:"send-file",params:Object.assign({},d.value,m.value)}).then(function(e){n.meta.goBackAfterValidation&&A(n,o),d.value=e,y.value=e}):l.collectionAction({collectionName:n.meta.collection,action:"create",params:Object.assign({},d.value,m.value)}).then(function(e){n.meta.goBackAfterValidation&&A(n,o),d.value=e,y.value=e})).finally(function(){k.value=!1})}var s=t,d=Te.ref(null),f=Te.ref(n.meta.containerMode),m=Te.ref({}),p=Te.ref(n.meta.propsTitle),v=Te.ref({label:null,icon:null}),b=(Te.ref(!0),Te.computed(function(){return n.meta.formComponent})),g=Te.computed(function(){return p.value||"Création"}),h=Te.computed(function(){return v.value.label&&v.value.icon?v.value:{label:"Valider",icon:"mdi-check"}}),k=Te.ref(!1),y=Te.ref({});return Te.onMounted(function(){l.collectionAction({collectionName:n.meta.collection,action:"resetDetail"}).then(function(){d.value={},s("collectionCrudUpdateLocalDetail",d.value)})}),function(e,t){return Te.openBlock(),Te.createBlock(Te.unref(Me.QPage),null,{default:Te.withCtx(function(){return[f.value?Te.createCommentVNode("v-if",!0):(Te.openBlock(),Te.createElementBlock("div",C,[Te.createElementVNode("div",w,[Te.createVNode(Te.unref(Me.QBtn),{onClick:a,color:"primary",icon:"arrow_back"}),Te.createElementVNode("h2",null,Te.toDisplayString(g.value),1)]),f.value?Te.createCommentVNode("v-if",!0):(Te.openBlock(),Te.createElementBlock("div",B,[Te.createVNode(Te.unref(Me.QBtn),{color:"primary",icon:h.value.icon,onClick:u,loading:k.value},{default:Te.withCtx(function(){return[Te.createTextVNode(Te.toDisplayString(h.value.label),1)]}),_:1},8,["icon","loading"])]))])),d.value?(Te.openBlock(),Te.createElementBlock("div",x,[(Te.openBlock(),Te.createBlock(Te.resolveDynamicComponent(Te.unref(Q.default)[b.value]),{data:d.value,submitedData:y.value,onExtraRequestParams:c,onCustomSubmitBtn:i,onUpdateData:r},null,40,["data","submitedData"]))])):(Te.openBlock(),Te.createElementBlock("div",O,[Te.createVNode(Te.unref(Me.QSpinner),{class:"loader",color:"accent"})]))]}),_:1})}}};o("\n.create-page-header[data-v-29e3989a] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 10px;\n background-color: white;\n}\n.create-page-header h2[data-v-29e3989a] {\n font-size: 2em;\n margin: 0px;\n margin-left: 20px;\n}\n.create-page-header h2 button[data-v-29e3989a] {\n height: fit-content;\n margin: 0 1em 0 1em;\n}\n.loader[data-v-29e3989a] {\n font-size: 120px;\n position: absolute;\n right: 48%;\n top: 32%;\n bottom: 50%;\n}\n"),t.__scopeId="data-v-29e3989a",t.__file="src/components/VlankCreatePage.vue";return Object.freeze({__proto__:null,version:"3.7.52",VlankCollectionCrud:l,VlankCollectionCrudEditPage:e,VlankCollectionCrudCreatePage:t,install:function(e){e.component(l.name,l)}})});
6
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("quasar"),require("@oniti/oniti-helpers"),require("oniti-sse-client"),require("axios-oniti"),require("vuex"),require("vue-router"),require("vlank-collection-crud-forms")):"function"==typeof define&&define.amd?define(["vue","quasar","@oniti/oniti-helpers","oniti-sse-client","axios-oniti","vuex","vue-router","vlank-collection-crud-forms"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).global=t(e.Vue,e.Quasar,e.onitiHelpers,e.onitiSseClient,e.axiosOniti,e.vuex,e.vueRouter,e.Components)})(this,function(Pe,Re,f,e,r,P,R,t){function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var Qe=n(e),Q=n(t),Ae={__name:"VlankDeleteModal",props:{localDetail:Object,alertDelete:Boolean,props:Object,isMobile:Boolean},emits:["close"],setup:function(o,e){var t=e.emit,n=Pe.inject("vlank-ccrud"),l=o;function a(){var e;n.collectionAction({collectionName:l.props.collection,action:"delete",params:Object.assign(((e={})[i]=l.localDetail[i],e),l.props.extraRequestParams.delete),list_field:l.props.storeKey}).then(function(e){t("close",{obj:e,action:"delete"})})}var i=n.getRouteParameterName(l.props.collection),r=Pe.computed({get:function(){return l.alertDelete},set:function(){t("close",{obj:l.localDetail,action:"close"})}});return function(e,t){var n=Pe.resolveDirective("close-popup");return Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QDialog),Pe.mergeProps({modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=function(e){return r.value=e})},l.props.modalDeleteOptions.dialog,{"transition-show":o.isMobile?"slide-up":"fade","transition-hide":o.isMobile?"slide-down":"fade","transition-duration":"150",position:"standard","full-width":o.isMobile}),{default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QCard),Pe.mergeProps({style:{width:"700px","max-width":"80vw"}},l.props.modalDeleteOptions.card),{default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QToolbar),Pe.mergeProps({class:"bg-negative",style:{color:"#fff"}},l.props.modalDeleteOptions.toolbar),{default:Pe.withCtx(function(){return[Pe.renderSlot(e.$slots,"delete-modal-title",{data:o.localDetail},function(){return[Pe.createVNode(Pe.unref(Re.QAvatar),null,{default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QIcon),{name:"warning",style:{"font-size":"2rem"}})]}),_:1}),l.propsLibelleTitle&&o.localDetail[l.propsLibelleTitle]?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QToolbarTitle),{key:0},{default:Pe.withCtx(function(){return[Pe.createTextVNode(" Suppression : "+Pe.toDisplayString(o.localDetail[l.propsLibelleTitle]),1)]}),_:1})):(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QToolbarTitle),{key:1},{default:Pe.withCtx(function(){return t[1]||(t[1]=[Pe.createTextVNode("Suppression")])}),_:1}))]})]}),_:3},16),Pe.renderSlot(e.$slots,"delete-modal-content",{data:o.localDetail},function(){return[Pe.createVNode(Pe.unref(Re.QCardSection),{align:o.isMobile?"center":"left",style:{padding:"30px"}},{default:Pe.withCtx(function(){return t[2]||(t[2]=[Pe.createTextVNode("Confirmez vous la suppression ?")])}),_:1},8,["align"])]}),Pe.createVNode(Pe.unref(Re.QCardActions),{align:o.isMobile?"center":"right"},{default:Pe.withCtx(function(){return[Pe.withDirectives(Pe.createVNode(Pe.unref(Re.QBtn),{flat:"",label:"Annuler",color:"grey-6"},null,512),[[n]]),Pe.createVNode(Pe.unref(Re.QBtn),{flat:"",label:"Valider",color:"negative",onClick:a})]}),_:1},8,["align"])]}),_:3},16)]}),_:3},16,["modelValue","transition-show","transition-hide","full-width"])}},__file:"src/components/VlankDeleteModal.vue"},Ie={__name:"VlankEditModal",props:{localDetail:Object,editModal:Boolean,modalEditOptions:Object,collection:String,extraRequestParams:Object,useSendFiles:Boolean,storeKey:String,isMobile:Boolean,closeModalAfterValidation:Boolean,propsLibelleTitle:String},emits:["close"],setup:function(o,e){var e=e.emit,l=o,n=e,t=Pe.useSlots(),a=Pe.inject("vlank-ccrud"),i=Pe.computed({get:function(){return l.editModal},set:function(){n("close",{obj:l.localDetail,action:"close"})}}),r=Pe.computed(function(){return!!t["create-edit-modal-custom-actions"]});function c(){var t=l.localDetail.uuid?"update":"create",e=l.localDetail.uuid?"Modification effectuée":"Création effectuée",n="update"==t?Object.assign({},l.extraRequestParams.update):Object.assign({},l.extraRequestParams.store);l.useSendFiles?a.collectionAction({collectionName:l.collection,action:"send-file",params:Object.assign({},l.localDetail,n),list_field:l.storeKey,axios_options:{oniti_success_notification_message:e}}).then(function(e){l.closeModalAfterValidation&&u(e,t)}):a.collectionAction({collectionName:l.collection,action:t,params:Object.assign({},l.localDetail,n),list_field:l.storeKey}).then(function(e){l.closeModalAfterValidation&&u(e,t)})}function u(e,t){n("close",{obj:e,action:t})}var s=Pe.ref(null),d=Pe.ref(null),f=new ResizeObserver(function(e){e.forEach(function(e){p.value.height=l.isMobile?"100vh":e.contentRect.height<800?e.contentRect.height+"px":"80vh"})}),p=Pe.ref({height:l.isMobile?"100vh":s.value&&s.value.clientHeight<800?s.value.clientHeight+"px":"80vh"});return Pe.watch(s,function(e){p.value.height=l.isMobile?"100vh":e&&e.clientHeight<800?e.clientHeight+"px":"80vh",s.value&&f.observe(s.value)},{immediate:!0,deep:!0}),function(e,t){var n=Pe.resolveDirective("close-popup");return Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QDialog),Pe.mergeProps({class:{"mobile-modal":o.isMobile},modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=function(e){return i.value=e})},l.modalEditOptions.dialog,{"transition-show":o.isMobile?"slide-left":"fade","transition-hide":o.isMobile?"slide-right":"fade","full-width":o.isMobile,"full-height":o.isMobile}),{default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QCard),Pe.mergeProps({style:{width:"700px","max-width":"80vw"}},l.modalEditOptions.card),{default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QToolbar),Pe.mergeProps({class:o.isMobile?"mobile-toolbar bg-primary":"bg-primary",style:{color:"#fff"}},l.modalEditOptions.toolbar),{default:Pe.withCtx(function(){return[Pe.renderSlot(e.$slots,"create-edit-modal-title",{data:l.localDetail},function(){return[o.isMobile?Pe.withDirectives((Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:0,flat:"",class:"q-mr-sm",round:"",dense:"",icon:"arrow_back"},null,512)),[[n]]):(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QAvatar),{key:1},{default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QIcon),{name:"edit",style:{"font-size":"2rem"}})]}),_:1})),l.localDetail.uuid?l.propsLibelleTitle&&l.localDetail[l.propsLibelleTitle]?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QToolbarTitle),{key:3,class:Pe.normalizeClass({"toolbar-title":o.isMobile})},{default:Pe.withCtx(function(){return[Pe.createTextVNode(Pe.toDisplayString(o.isMobile?null:"Modification")+" "+Pe.toDisplayString(l.localDetail[l.propsLibelleTitle]),1)]}),_:1},8,["class"])):(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QToolbarTitle),{key:4},{default:Pe.withCtx(function(){return t[2]||(t[2]=[Pe.createTextVNode("Modification")])}),_:1})):(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QToolbarTitle),{key:2},{default:Pe.withCtx(function(){return t[1]||(t[1]=[Pe.createTextVNode("Création")])}),_:1}))]}),o.isMobile&&!r.value&&l.modalEditOptions.showBtn.valid?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:0,flat:"",class:"absolute-right q-mr-sm",round:"",dense:"",icon:"done",onClick:c})):o.isMobile?Pe.renderSlot(e.$slots,"create-edit-modal-custom-actions",{key:1,close:u,data:l.localDetail}):Pe.withDirectives((Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:2,flat:"",class:"absolute-right q-mr-sm",round:"",dense:"",icon:"close"},null,512)),[[n]])]}),_:3},16,["class"]),Pe.createVNode(Pe.unref(Re.QScrollArea),{style:Pe.normalizeStyle(p.value)},{default:Pe.withCtx(function(){return[Pe.createElementVNode("div",{class:Pe.normalizeClass({"mobile-content":o.isMobile}),ref_key:"modalContent",ref:s},[Pe.renderSlot(e.$slots,"create-edit-modal-content",{data:l.localDetail,ref_key:"modalContentDetail",ref:d})],2)]}),_:3},8,["style"]),o.isMobile?Pe.createCommentVNode("v-if",!0):(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QCardActions),{key:0,align:"right",class:"scroll"},{default:Pe.withCtx(function(){return[Pe.renderSlot(e.$slots,"create-edit-modal-custom-actions",{close:u,data:l.localDetail}),!r.value&&l.modalEditOptions.showBtn.cancel?Pe.withDirectives((Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:0,flat:"",label:"Annuler",color:"grey-6"},null,512)),[[n]]):Pe.createCommentVNode("v-if",!0),!r.value&&l.modalEditOptions.showBtn.valid?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:1,flat:"",label:"Valider",color:"primary",onClick:c})):Pe.createCommentVNode("v-if",!0)]}),_:3}))]}),_:3},16)]}),_:3},16,["class","modelValue","transition-show","transition-hide","full-width","full-height"])}}};function o(e,t){var n,o,t=(t=void 0===t?{}:t).insertAt;e&&"undefined"!=typeof document&&(n=document.head||document.getElementsByTagName("head")[0],(o=document.createElement("style")).type="text/css","top"===t&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e)))}o(".mobile-modal .q-dialog__inner {\n padding: 0px !important;\n}\n.mobile-modal .toolbar-title {\n font-size: 0.9rem;\n max-width: 19rem;\n}\n\n.mobile-toolbar {\n position: fixed;\n top: 0;\n z-index: 999;\n}\n\n.mobile-content {\n padding-top: 4rem;\n}"),Ie.__file="src/components/VlankEditModal.vue";var qe={__name:"VlankTdEdit",props:{data:Object,colOptions:Object,props:Object,rowIndex:Number,cellIndex:Number},emits:["update","onEditCellHandler","onClickTabHandler"],setup:function(e,t){var t=t.emit,l=e,n=Pe.ref(Object.assign({},l.data)),o=Pe.inject("vlank-ccrud"),a=t,e=Pe.computed({get:function(){return n.value[l.colOptions.name]},set:function(e){n.value[l.colOptions.name]=e}}),i=Pe.ref(e.value),r=Pe.computed(function(){return"boolean"===l.colOptions.type?null:l.colOptions.format?l.colOptions.format(n.value[l.colOptions.name]):n.value[l.colOptions.name]});function c(e){var t;o.collectionAction({collectionName:l.props.collection,action:"update",params:Object.assign({},l.props.extraRequestParams.update,n.value,((t={})[l.colOptions.name]=e,t)),list_field:l.props.storeKey}).then(function(e){a("update",{obj:e,action:"update",callback:function(){a("onClickTabHandler",l.rowIndex,l.cellIndex)}})})}function u(e){e=e.target.value;a("onClickTabHandler",l.rowIndex,l.cellIndex,e!=i.value)}return function(e,t){return Pe.openBlock(),Pe.createElementBlock("td",null,[n.value[l.colOptions.name]&&"boolean"===l.colOptions.type?Pe.renderSlot(e.$slots,"boolean-check-"+l.colOptions.name,{key:0},function(){return[Pe.createVNode(Pe.unref(Re.QIcon),{color:"positive",size:"2rem",name:"check"})]}):"boolean"===l.colOptions.type?Pe.renderSlot(e.$slots,"boolean-uncheck-"+l.colOptions.name,{key:1}):Pe.createCommentVNode("v-if",!0),Pe.createTextVNode(" "+Pe.toDisplayString(r.value)+" ",1),Pe.createVNode(Pe.unref(Re.QPopupEdit),{modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=function(e){return i.value=e}),"auto-save":"",onSave:c,onKeydown:Pe.withKeys(Pe.withModifiers(u,["prevent","stop"]),["tab"])},{default:Pe.withCtx(function(o){return[Pe.createVNode(Pe.unref(Re.QInput),Pe.mergeProps(l.colOptions.inputOptions,{autofocus:"","emit-value":"",modelValue:o.value,"onUpdate:modelValue":[function(e){return o.value=e},function(e){var t,n;t=l.colOptions.field,n=o.value,a("onEditCellHandler",t,n)}],label:l.colOptions.label,onKeyup:Pe.withKeys(o.set,["enter"])}),null,16,["modelValue","onUpdate:modelValue","label","onKeyup"])]}),_:1},8,["modelValue","onKeydown"])])}}};function Le(l,t,a,i){var r=this,c=Pe.inject("vlank-ccrud"),u=Pe.ref([]),e=Pe.computed(function(){u.value=[];var n={align:"left",sortable:!0,type:"string",classes:l.value.getRowCellClass},e={loading:c.getFromCollection(l.value.collection,"fetching",!1),"row-key":function(t){return o.columns.filter(function(e){return void 0!==e.name||void 0!==e.field}).map(function(e){return t[e.name||e.field]}).join()+t[c.getRouteParameterName(l.value.collection)]},"rows-per-page-options":[20,50,100]},o=l.value.table||{},o=Object.assign({},e,o);return Object.keys(o).forEach(function(e){"columns"===e&&(o[e]=o[e].map(function(e){var t;return e.field&&e.field.includes(".")&&!e.format?e.format=function(e,t,n){var o=n;return e.split(".").forEach(function(e){return o instanceof Object?o=o[e]:o}),o}.bind(r,e.field):"date"!==e.type||e.format||(t={format:"DD/MM/YYYY",local:"fr"},e.format=function(e,t,n){return f.formatDate(t,e.format,e.local)}.bind(r,e.formatDateOption?Object.assign({},t,e.formatDateOption):t)),("boolean"!==e.type||e.editable)&&"function"!=typeof e.to||(u.value.push({field:e.field,slotName:"body-cell-"+e.field,to:e.to,type:e.type,format:e.format}),e.name=e.field),Object.assign({},n,e)}),a.value||i.value||t["row-action-before-controllers"]||t["row-action-after-controllers"])&&!l.value.table.grid&&o[e].push({name:"actions-vlank",label:""})}),o}),n=Pe.computed(function(){return e.value.columns.filter(function(e){return e.editable}).map(function(e){return{slotName:"body-cell-"+e.name,options:Object.assign({},e)}})}),o=Pe.computed(function(){return l.value.customCreateButtonText}),s=Pe.computed(function(){return l.value.collection+"-edit"}),d=Pe.computed(function(){return l.value.collection+"-store"});return{customFields:u,table:e,getEditablesTd:n,customCreateButtonText:o,collectionEditNamedRoute:s,collectionCreateNamedRoute:d,isTdClickable:function(e){return"function"==typeof e.to},getAdditionalClassActionBtns:function(e){return l.value.getRowCellClass?" "+l.value.getRowCellClass(e):""}}}function ze(o,l,a){function i(){return o.value.persistTableOptions?o.value.persistTableOptions.id||o.value.collection:null}function e(){var e,t,n;o.value.persistTableOptions&&"string"==typeof(e=localStorage.getItem(i()))&&(e=JSON.parse(e),t=(new Date).getTime(),n=o.value.persistTableOptions.expirationMinutes||5,e.timestamp+6e4*n<=t?localStorage.removeItem(i()):(a.value=e.filter,l.value=e.currentPagination,o.value.table.pagination=e.currentPagination))}e(),Pe.onMounted(function(){e()}),Pe.onBeforeUnmount(function(){var e;o.value.persistTableOptions&&(e={currentPagination:l.value,filter:a.value,timestamp:(new Date).getTime()},localStorage.setItem(i(),JSON.stringify(e)))})}function $e(o,l,t,a,i,r){var c=Pe.inject("vlank-ccrud");function n(e,t){l("actionsCallback",e,t)}return{onClickDelete:function(e){var t,n=c.getRouteParameterName(o.value.collection);c.collectionAction({collectionName:o.value.collection,action:"detail",lazy:!0,params:Object.assign(((t={})[n]=e[n],t),o.value.extraRequestParams.show)}).then(function(e){a.value=Object.assign({},e),i.value=!0,l("detailChange",a.value)})},onClickAdd:function(){c.collectionAction({collectionName:o.value.collection,action:"resetDetail"}).then(function(){a.value=Object.assign({},o.value.defaultValues),r.value=!0,l("detailChange",a.value),l("modalOpenCreateUpdate","create",a.value)})},onClickEdit:function(e){var t,n=c.getRouteParameterName(o.value.collection);c.collectionAction({collectionName:o.value.collection,action:"detail",lazy:!0,params:Object.assign(((t={})[n]=e[n],t),o.value.extraRequestParams.show)}).then(function(e){a.value=Object.assign({},e),r.value=!0,l("detailChange",a.value),l("modalOpenCreateUpdate","update",a.value)})},onUpdateTd:function(e){t(!0),n(e.action,e.obj)},onCloseEditModal:function(e){r.value=!1,a.value=Object.assign({},o.value.defaultValues),t(!0),n(e.action,e.obj)},onCloseDeleteModal:function(e){i.value=!1,a.value=Object.assign({},o.value.defaultValues),t(!0),n(e.action,e.obj)}}}function Ue(e,t){e=JSON.stringify(e);return e!==t.value&&(t.value=e,1)}function Fe(n,o,l){var a=Pe.inject("vlank-ccrud"),e=Re.useQuasar();function i(){e.notify({message:"Téléchargement impossible",color:"negative",icon:"warning"})}return{doExport:function(){var e={primaryFieldSearch:a.getRouteParameterName(n.value.collection),sortBy:o.value.sortBy,descending:o.value.descending,filter:l.value},t=(t=n.value.exportOptions)&&t.url?t.url:"/"+n.value.collection+"/export";r.axiosClient.get(t,{params:e,responseType:"blob"}).then(function(e){var t,n=e.headers["content-disposition"];n?2!==(n=n.split("filename=")).length?(i(),console.error("Invalid content-disposition header (missing filename)")):(t=e.data.type,!0!==Re.exportFile(n[1],e.data,t)&&i()):(i(),console.error("No Content-Disposition header found (see exposed_headers in config/cors.php)"))}).catch(function(){i()})}}}qe.__file="src/components/VlankTdEdit.vue";var Ke={class:"col"},He={key:1},Je={key:2},Ye=["props","onClick"],Ge=["props","onClick"],We={class:"top-right-content"},Xe={id:"search-slot"},Ze={id:"top-right-under-add"},et=["props"],l={__name:"VlankCollectionCrud",props:{collection:String,defaultValues:Object,propsLibelleTitle:String,showBtnDelete:Boolean,showBtnEdit:Boolean,showSlideLeft:Boolean,showBtnCreate:Boolean,showBtnCreateTooltip:{type:Boolean,default:!1},storeKey:{type:String,default:"list"},showInputSearch:{type:Boolean,default:!0},lazy:Boolean,async:Boolean,broadcast:Boolean,broadcastCallback:Function,broadcastChannel:String,broadcastAsyncDelay:{type:Number,default:500},broadcastIgnoreDefaultListener:{type:Boolean,default:!1},editMode:String,createMode:String,editablePage:{type:Boolean,default:!0},table:Object,extraRequestParams:{type:Object,default:Pe.ref({})},useSendFiles:Boolean,modalDeleteOptions:Object,modalEditOptions:Object,persistTableOptions:Object,customCreateButtonText:String,pagination:Object,displayActionCallback:{type:Function,default:function(e,t){return!0}},closeModalAfterValidation:{type:Boolean,default:!0},getRowCellClass:{type:Function,default:null},exportOptions:Object},emits:["detailChange","modalOpenCreateUpdate","actionsCallback","actionsSlideLeft","onEditCellHandler"],setup:function(n,e){var e=e.emit,t=n,a=e,R=Pe.ref(null),o=Re.useQuasar(),Q=Pe.computed(function(){if(1<t.table.columns.filter(function(e){return e.displayMobile}).length)throw new Error("Merci de ne saisir qu'une seule colonne en displayMobile.");return t.table.columns.filter(function(e){return e.displayMobile})[0]}),i=Pe.computed(function(){return o.config.collectionCrudOptions&&o.config.collectionCrudOptions.maximalMobileScreenSize?!!o.screen.lt[o.config.collectionCrudOptions.maximalMobileScreenSize]:o.screen.lt.md}),e=Pe.inject("vlank-ccrud"),r=Pe.useSlots(),c=Pe.ref(""),A=Pe.ref(!1),I=Pe.ref(!1);q=t,l={collection:null,showBtnDelete:!1,showBtnEdit:!1,showSlideLeft:!1,showInputSearch:!0,showBtnCreate:!1,lazy:!1,defaultValues:{},rights:null,persistTableOptions:null,async:!1,editMode:"modal",createMode:"modal",modalEditOptions:{dialog:{},card:{},toolbar:{},showBtn:{valid:!0,cancel:!0}},modalDeleteOptions:{dialog:{},card:{},toolbar:{}},table:{title:"Titre Non défini"},useSendFiles:!1,extraRequestParams:{index:{},show:{},store:{},update:{},delete:{}},propsLibelleTitle:null,customCreateButtonText:null,exportOptions:{enabled:!1}};var q,l,u,s,L,d,f,p={props:Pe.computed(function(){var t=Object.assign({},l,q);if(!t.collection)throw new Error("Aucune collection de configurée.");t.modalDeleteOptions=Object.assign({},l.modalDeleteOptions,t.modalDeleteOptions),t.modalEditOptions=Object.assign({},l.modalEditOptions,t.modalEditOptions),t.modalEditOptions.showBtn=Object.assign({},l.modalEditOptions.showBtn,t.modalEditOptions.showBtn);var n={};return Object.keys(l.extraRequestParams).forEach(function(e){n[e]=Object.assign({},l.extraRequestParams[e],t.extraRequestParams[e])}),t.extraRequestParams=n,t})}.props,m=e.getRouteParameterName(p.value.collection),v=(u=p,s=Pe.inject("vlank-auth"),T=Pe.computed(function(){return"page"===u.value.createMode&&f.value}),N=Pe.computed(function(){return"modal"===u.value.editMode&&d.value}),O=Pe.computed(function(){return"page"===u.value.editMode&&d.value&&L.value}),L=Pe.computed(function(){return"page"===u.value.editMode&&u.value.editablePage}),d=Pe.computed(function(){var e=z("edit");return u.value.showBtnEdit&&(!e||s.check(e))}),b=Pe.computed(function(){return u.value.showInputSearch}),v=Pe.computed(function(){var e=z("delete");return u.value.showBtnDelete&&(!e||s.check(e))}),f=Pe.computed(function(){var e=z("create");return u.value.showBtnCreate&&(!e||s.check(e))}),M=Pe.computed(function(){return u.value.exportOptions&&u.value.exportOptions.enabled}),_=Pe.computed(function(){return"table"===u.value.editMode&&d.value}),{showBtnCreate:f,showBtnDelete:v,showInputSearch:b,showBtnEdit:d,showBtnEditPage:O,showBtnEditModal:N,showBtnCreatePage:T,showBtnExport:M,editOnTable:_});function z(e){return u.value.rights&&u.value.rights[e]?u.value.rights[e]:null}var $=v.showBtnCreate,U=v.showBtnDelete,F=v.showInputSearch,K=v.showBtnEdit,H=v.showBtnEditPage,J=v.showBtnEditModal,Y=v.showBtnCreatePage,G=v.showBtnExport,W=v.editOnTable,b=Le(p,r,K,U),X=b.customFields,Z=b.table,ee=b.getEditablesTd,g=b.customCreateButtonText,te=b.collectionEditNamedRoute,ne=b.collectionCreateNamedRoute,oe=b.isTdClickable,h=b.getAdditionalClassActionBtns;k=p,y=Pe.ref(null),k.value.async&&!y.value&&(y.value={sortBy:"",descending:!1,page:1,rowsPerPage:20,rowsNumber:0}),Pe.onMounted(function(){k.value.pagination&&(y.value=Object.assign({},k.value.pagination))});var k,y,C={pagination:y}.pagination;ze(p,C,c);var w,B,le,ae,ie,x,re,ce,O,ue=Pe.ref(t.defaultValues instanceof Object?t.defaultValues:e.getFromCollection(p.value.collection,"detail")?e.getFromCollection(p.value.collection,"detail"):{}),N=(w=p,B=C,le=Z,ae=c,x=Pe.inject("vlank-ccrud"),re=Pe.ref({}),ce=null,w.value.broadcast&&(ie=w.value.broadcastChannel||"vlank-collection-crud-"+w.value.collection,Qe.default.private(ie).listen(function(e){var t=w.value.async;if(w.value.broadcastCallback&&w.value.broadcastIgnoreDefaultListener)w.value.broadcastCallback(e);else if(t)clearTimeout(ce),ce=setTimeout(function(){V(),w.value.broadcastCallback&&w.value.broadcastCallback(e)},w.value.broadcastAsyncDelay);else{var n=null;switch(e.Event){case"updated":n="broadcast-update";break;case"created":n="broadcast-create";break;case"deleted":n="broadcast-delete";break;default:if(!w.value.broadcastCallback)throw new Error("Évènement de Broadcast inconnu: "+e.event);w.value.broadcastCallback(e)}n&&(x.collectionAction({collectionName:w.value.collection,action:n,payload:e.Data,custom_field:w.value.storeKey}),w.value.broadcastCallback)&&w.value.broadcastCallback(e)}}),Pe.onUnmounted(function(){Qe.default.disconnect(ie)})),O=Pe.computed(function(){return le.value.rows||x.getFromCollection(w.value.collection,w.value.storeKey,[])}),Pe.onMounted(function(){w.value.table&&w.value.table.hasOwnProperty("rows")||w.value.async?w.value.async&&V({pagination:B.value,filter:ae.value}):se()}),{rows:O,getList:se,asyncRequest:V});function se(e){void 0===e&&(e=!1),w.value.async?V():x.collectionAction({collectionName:w.value.collection,action:"list",lazy:!e&&w.value.lazy,params:w.value.extraRequestParams.index,custom_field:w.value.storeKey})}function V(e){var t=(e=e||re.value).pagination,n=t.page,o=t.rowsPerPage,l=t.sortBy,a=t.descending,t=e.filter,e=(re.value=e,0===o?B.value.rowsNumber:o),o={page:n,filter:""===t?null:t,sortBy:""===l?null:l,descending:""===l?null:a,perPage:e};x.getFromCollection(w.value.collection,"fetching",!1)||x.collectionAction({collectionName:w.value.collection,action:"paginate",lazy:!1,params:Object.assign({},w.value.extraRequestParams.index,o),custom_field:w.value.storeKey}).then(function(){var e=x.getFromCollection(w.value.collection,"pagination",{});B.value={page:e.current_page,rowsPerPage:e.per_page,rowsNumber:e.total,sortBy:l,descending:a}})}var de,S,_,fe,D,pe,me,ve,E,be=N.rows,T=N.getList,ge=N.asyncRequest,M=$e(p,a,T,ue,A,I),he=M.onClickDelete,ke=M.onClickAdd,ye=M.onClickEdit,Ce=M.onUpdateTd,we=M.onCloseEditModal,Be=M.onCloseDeleteModal,v=(de=p,S=Pe.ref([]),_=Pe.ref(de.value.table.selection||"none"),Pe.watch(S,function(){de.value.table.selected=S.value}),{selectedData:S,selectionMode:_}),xe=v.selectedData,Oe=v.selectionMode;b=t,fe=T,D=C,pe=R,me=Pe.ref(null),ve=Pe.ref(null),b.extraRequestParams&&Pe.watch(b.extraRequestParams,function(e,t){e&&e.index&&Ue(e.index,me)&&(fe(!0),me.value=JSON.stringify(e.index))}),b.pagination&&Pe.watch(b.pagination,function(e,t){Ue(e,ve)&&(D.value=Object.assign({},D.value,e),pe.value.setPagination(D.value,!0))});var Ne=Pe.ref(null);function Ve(e){clearTimeout(E),E=setTimeout(function(){e()},50)}function Se(e){e.side;e=e.isReset;clearTimeout(E),e&&(j("q-slide-item__left"),j("q-slide-item__right"))}function j(e){for(var t=0;t<document.getElementsByClassName(e).length;t++)document.getElementsByClassName(e)[t].style.visibility="hidden"}function _e(e,t){a("onEditCellHandler",e,t)}Pe.onBeforeUnmount(function(){clearTimeout(E)});var De=Pe.ref([]),P=Pe.ref(null);function Ee(e,t,n,o){void 0===n&&(n=!1),(o=void 0===o?!0:o)&&De.value[e+"_"+t].$el.click(),n?P.value={rowIndex:e,cellIndex:t}:(P.value=null,De.value[o=e,n=t,ee.value.length>parseInt(n)+1?o+"_"+(parseInt(n)+1):parseInt(o)+1+"_0"].$el.click())}function Te(e){return be.value.indexOf(e)}function Me(){c.value=""}Pe.watch(be,function(e,t){P.value&&setTimeout(function(){P.value&&Ee(P.value.rowIndex,P.value.cellIndex,!1,!1)},400)},{deep:!0});var je=Fe(p,C,c).doExport;return function(l,e){return Pe.openBlock(),Pe.createElementBlock("div",Ke,[Pe.createVNode(Pe.unref(Re.QTable),Pe.mergeProps({flat:"",rows:Pe.unref(be)},Pe.unref(Z),{filter:c.value,onRequest:Pe.unref(ge),ref_key:"ccrudTable",ref:R,pagination:Pe.unref(C),"onUpdate:pagination":e[1]||(e[1]=function(e){return Pe.isRef(C)?C.value=e:null}),selection:Pe.unref(Oe),selected:Pe.unref(xe),"onUpdate:selected":e[2]||(e[2]=function(e){return Pe.isRef(xe)?xe.value=e:null})}),Pe.createSlots({"top-left":Pe.withCtx(function(){return[Pe.createElementVNode("div",null,[Pe.renderSlot(l.$slots,"top-left-content")])]}),"top-right":Pe.withCtx(function(){return[Pe.createElementVNode("div",We,[Pe.createElementVNode("div",Xe,[Pe.unref(F)?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QInput),{key:0,dense:"",debounce:"300",modelValue:c.value,"onUpdate:modelValue":e[0]||(e[0]=function(e){return c.value=e}),placeholder:"Recherche",outlined:"",rounded:i.value,style:{width:"180px"}},{append:Pe.withCtx(function(){return[c.value?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:0,dense:"",flat:"",round:"",icon:"mdi-close",onClick:Me})):(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QIcon),{key:1,name:"search"}))]}),_:1},8,["modelValue","rounded"])):Pe.createCommentVNode("v-if",!0),Pe.unref(G)?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:1,onClick:Pe.unref(je),color:"primary",icon:n.exportOptions.icon||"mdi-file-download",flat:void 0===n.exportOptions.flat||n.exportOptions.flat,label:n.exportOptions.label||null,style:{"margin-left":"1em"},square:""},{default:Pe.withCtx(function(){return[Pe.renderSlot(l.$slots,"export-btn-tooltip")]}),_:3},8,["onClick","icon","flat","label"])):Pe.createCommentVNode("v-if",!0),Pe.unref(Y)?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:2,type:"a",to:{name:Pe.unref(ne)},label:Pe.unref(g)?Pe.unref(g):null,icon:"add",color:"primary",style:{"margin-left":"1em"},square:""},{default:Pe.withCtx(function(){return[Pe.renderSlot(l.$slots,"create-btn-tooltip")]}),_:3},8,["to","label"])):Pe.unref($)?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:3,label:Pe.unref(g)?Pe.unref(g):null,icon:"add",color:"primary",style:{"margin-left":"1em"},onClick:Pe.unref(ke),square:""},{default:Pe.withCtx(function(){return[Pe.renderSlot(l.$slots,"create-btn-tooltip")]}),_:3},8,["label","onClick"])):Pe.createCommentVNode("v-if",!0),Pe.renderSlot(l.$slots,"top-right-after-add")]),Pe.createElementVNode("div",Ze,[Pe.renderSlot(l.$slots,"top-right-under-add")])])]}),"body-cell-actions-vlank":Pe.withCtx(function(t){var e;return[Pe.createElementVNode("td",{props:t,class:Pe.normalizeClass("action-buttons"+Pe.unref(h)(t.row))},[Pe.renderSlot(l.$slots,"row-action-before-controllers",{key:0,data:t.row}),Pe.unref(J)&&n.displayActionCallback(t.row,"edit")?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:1,onClick:function(e){return Pe.unref(ye)(t.row)},color:"primary",icon:"edit",flat:"",round:i.value},null,8,["onClick","round"])):Pe.unref(H)&&n.displayActionCallback(t.row,"edit")?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:2,type:"a",to:{name:Pe.unref(te),params:((e={})[Pe.unref(m)]=t.row[Pe.unref(m)],e)},color:"primary",icon:"edit",flat:"",round:i.value},null,8,["to","round"])):Pe.createCommentVNode("v-if",!0),!n.editablePage&&Pe.unref(H)&&n.displayActionCallback(t.row,"show")?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:3,type:"a",to:{name:Pe.unref(te),params:((e={})[Pe.unref(m)]=t.row[Pe.unref(m)],e)},color:"primary",icon:"mdi-magnify-plus-outline",flat:""},null,8,["to"])):Pe.createCommentVNode("v-if",!0),Pe.unref(U)&&n.displayActionCallback(t.row,"delete")?(Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QBtn),{key:4,onClick:function(e){return Pe.unref(he)(t.row)},color:"negative",icon:"delete",flat:"",round:i.value},null,8,["onClick","round"])):Pe.createCommentVNode("v-if",!0),Pe.renderSlot(l.$slots,"row-action-after-controllers",{data:t.row})],10,et)]}),_:2},[i.value?{name:"header",fn:Pe.withCtx(function(e){return[]}),key:"0"}:void 0,i.value?{name:"body",fn:Pe.withCtx(function(o){return[Pe.createVNode(Pe.unref(Re.QSlideItem),{ref_key:"mobileSlideItem",ref:Ne,onLeft:function(e){return e=e,t=o.row,a("actionsSlideLeft",e,t),Ve(e.reset),void j("q-slide-item__left");var t},onRight:function(e){return t=e,n=o.row,t=e.reset,he(n),Ve(t),void j("q-slide-item__right");var t,n},onSlide:Se,reset:"","right-color":"negative","left-color":"accent"},Pe.createSlots({default:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QItem),{style:{"align-items":"center"},class:Pe.normalizeClass("mobile-item"+Pe.unref(h)(o.row))},{default:Pe.withCtx(function(){return[Pe.createCommentVNode(" On affiche la première colonne seulement et on garde celle des actions "),Pe.createVNode(Pe.unref(Re.QItemSection),{class:"mobile-item-content",onClick:function(e){return Pe.unref(K)?(t=o.row,void ye(t)):"";var t}},{default:Pe.withCtx(function(){return[Pe.unref(r)["body-cell-mobile"]?Pe.renderSlot(l.$slots,"body-cell-mobile",{key:0,data:o.row,class:"body-cell-mobile"}):Q.value?(Pe.openBlock(),Pe.createElementBlock("span",He,Pe.toDisplayString(o.cols.filter(function(e){return e.name===Q.value.name})[0].value),1)):(Pe.openBlock(),Pe.createElementBlock("span",Je,Pe.toDisplayString(o.cols[0].value),1))]}),_:2},1032,["onClick"]),Pe.createVNode(Pe.unref(Re.QItemSection),{style:{display:"flex","flex-direction":"row","align-items":"center"},side:""},{default:Pe.withCtx(function(){return[Pe.renderSlot(l.$slots,"row-action-before-controllers",{key:0,data:o.row})]}),_:2},1024)]}),_:2},1032,["class"])]}),_:2},[n.showSlideLeft?{name:"left",fn:Pe.withCtx(function(){return[Pe.renderSlot(l.$slots,"content-slider-left",{data:o.row},function(){return[Pe.createVNode(Pe.unref(Re.QIcon),{name:"mdi-pencil"})]})]}),key:"0"}:void 0,Pe.unref(U)?{name:"right",fn:Pe.withCtx(function(){return[Pe.createVNode(Pe.unref(Re.QIcon),{name:"mdi-delete"})]}),key:"1"}:void 0]),1032,["onLeft","onRight"])]}),key:"1"}:void 0,Pe.renderList(Pe.unref(X),function(n){return{name:n.slotName,fn:Pe.withCtx(function(t){return["boolean"==n.type?(Pe.openBlock(),Pe.createElementBlock("td",{props:t,key:n.slotName,class:Pe.normalizeClass((Pe.unref(oe)(n)?"cursor-pointer":"")+Pe.unref(h)(t.row)),onClick:function(e){return Pe.unref(oe)(n)?n.to(t.row):null}},[t.row[n.field]?Pe.renderSlot(l.$slots,"boolean-check-"+n.field,{key:0,data:t.row},function(){return[Pe.createVNode(Pe.unref(Re.QIcon),{color:"positive",size:"2rem",name:"check"})]}):Pe.renderSlot(l.$slots,"boolean-uncheck-"+n.field,{key:1,data:t.row})],10,Ye)):(Pe.openBlock(),Pe.createElementBlock("td",{props:t,key:n.slotName+"-else",class:Pe.normalizeClass("cursor-pointer"+Pe.unref(h)(t.row)),onClick:function(e){return n.to(t.row)}},Pe.toDisplayString(n.format?n.format(t.row):t.row[n.field]),11,Ge))]})}}),Pe.renderList(Pe.unref(r),function(e,t){return{name:t,fn:Pe.withCtx(function(e){return[Pe.renderSlot(l.$slots,t,Pe.normalizeProps(Pe.guardReactiveProps(e)))]})}}),Pe.renderList(Pe.unref(ee),function(e,n){return{name:e.slotName,fn:Pe.withCtx(function(t){return[Pe.unref(W)?(Pe.openBlock(),Pe.createBlock(qe,{ref:function(e){De.value[Te(t.row)+"_"+n]=e},key:e.slotName,rowIndex:Te(t.row),cellIndex:n,data:t.row,props:Pe.unref(p),colOptions:e.options,onUpdate:Pe.unref(Ce),onOnEditCellHandler:_e,onOnClickTabHandler:Ee},Pe.createSlots({_:2},[Pe.renderList(Pe.unref(r),function(e,t){return{name:t,fn:Pe.withCtx(function(e){return[Pe.renderSlot(l.$slots,t,Pe.normalizeProps(Pe.guardReactiveProps(e)))]})}})]),1032,["rowIndex","cellIndex","data","props","colOptions","onUpdate"])):Pe.createCommentVNode("v-if",!0)]})}})]),1040,["rows","filter","onRequest","pagination","selection","selected"]),Pe.createCommentVNode(" Modal de Confirmation Suppression "),Pe.createVNode(Ae,{localDetail:ue.value,props:Pe.unref(p),alertDelete:A.value,onClose:Pe.unref(Be),isMobile:i.value},Pe.createSlots({_:2},[Pe.renderList(Pe.unref(r),function(e,t){return{name:t,fn:Pe.withCtx(function(e){return[(Pe.openBlock(),Pe.createElementBlock("div",{class:"modal-content",key:t},[Pe.renderSlot(l.$slots,t,Pe.normalizeProps(Pe.guardReactiveProps(e)))]))]})}})]),1032,["localDetail","props","alertDelete","onClose","isMobile"]),Pe.createCommentVNode(" Modal Edition "),Pe.createVNode(Ie,Pe.mergeProps({localDetail:ue.value},Pe.unref(p),{editModal:I.value,onClose:Pe.unref(we),isMobile:i.value,closeModalAfterValidation:n.closeModalAfterValidation,propsLibelleTitle:n.propsLibelleTitle}),Pe.createSlots({_:2},[Pe.renderList(Pe.unref(r),function(e,t){return{name:t,fn:Pe.withCtx(function(e){return[(Pe.openBlock(),Pe.createElementBlock("div",{class:Pe.normalizeClass(i.value?"mobile-content modal-content":"modal-content"),key:t},[Pe.renderSlot(l.$slots,t,Pe.normalizeProps(Pe.guardReactiveProps(e)))],2))]})}})]),1040,["localDetail","editModal","onClose","isMobile","closeModalAfterValidation","propsLibelleTitle"])])}}};function A(e,t){var n;e&&e.meta?(n=localStorage.getItem(e.meta.goBackRoute))?(t.push(n),localStorage.removeItem(e.meta.goBackRoute)):e.meta.mainParentRoutePath?t.push(e.meta.mainParentRoutePath):t.go(-1):t.go(-1)}o("\n.action-buttons[data-v-60881ef8] {\n text-align: end;\n}\n.modal-content[data-v-60881ef8] {\n padding: 15px;\n}\n.q-table-control[data-v-60881ef8] {\n flex: 0 1 55%;\n}\n#search-slot[data-v-60881ef8] {\n display: flex;\n align-items: center;\n}\n#top-right-under-add[data-v-60881ef8] {\n margin-top: 20px;\n display: flex;\n flex-direction: column;\n}\n.mobile-item[data-v-60881ef8] {\n min-height: 8.5vh;\n border-bottom: solid 1px lightgrey;\n}\n.mobile-item-content>span[data-v-60881ef8] {\n word-break: break-all;\n}\n.body-cell-mobile[data-v-60881ef8] {\n word-break: break-all;\n}\n"),l.__scopeId="data-v-60881ef8",l.__file="src/components/VlankCollectionCrud.vue";var I={style:{display:"flex","align-items":"center"}},q={key:0},L={key:1,class:"edit-page-body"},z={key:2,class:"edit-page-body"},e={__name:"VlankEditPage",emits:["collectionCrudUpdateLocalDetail"],setup:function(e,t){var t=t.emit,n=R.useRoute(),o=R.useRouter(),l=P.useStore(),a=Pe.inject("vlank-ccrud");function i(){A(n,o)}function r(e){h.value=e}function c(e){y.value.label=e.label,y.value.icon=e.icon}function u(e){e&&(m.value=Object.assign({},m.value,e))}function s(e){C.value=e}function d(e){e&&(b.value=e)}function f(){O.value=!0,(n.meta.useSendFiles?a.collectionAction({collectionName:n.meta.collection,action:"send-file",params:Object.assign({},m.value,b.value),axios_options:{oniti_success_notification_message:"Modification effectuée"}}).then(function(e){V(e)}):a.collectionAction({collectionName:n.meta.collection,action:"update",params:Object.assign({},m.value,b.value)}).then(function(e){V(e)})).finally(function(){O.value=!1})}var p=t,m=Pe.ref(null),v=Pe.ref(n.meta.containerMode),b=Pe.ref({}),g=Pe.ref(n.meta.propsLibelleTitle),h=Pe.ref(null),k=null,y=Pe.ref({label:null,icon:null}),C=Pe.ref(!0),w=Pe.computed(function(){return n.meta.formComponent}),B=Pe.computed(function(){return h.value||(m.value?m.value[g.value]:null)}),x=Pe.computed(function(){return y.value.label&&y.value.icon?y.value:{label:"Valider",icon:"mdi-check"}}),O=Pe.ref(!1),N=Pe.ref({});function V(e){n.meta.goBackAfterValidation&&A(n,o),N.value=JSON.parse(JSON.stringify(e)),m.value=JSON.parse(JSON.stringify(e)),j.value=JSON.parse(JSON.stringify(e))}function S(e,t){"collectionCrud/SET_DETAIL"==e.type&&e.payload.collectionName==n.meta.collection&&m.value&&m.value.uuid==e.payload.payload.uuid&&(m.value=e.payload.payload)}var _=a.getRouteParameterName(n.meta.collection),D=n,E=Pe.ref(n.meta.collection);function T(){var e,t;v.value?m.value=null:(t=D.params[_],a.collectionAction({collectionName:D.meta.collection,action:"detail",lazy:!0,params:((e={})[_]=t,e)}).then(function(e){m.value=Object.assign({},e),p("collectionCrudUpdateLocalDetail",m.value)}))}Pe.watch(o.currentRoute,function(e,t){e.meta.collection&&(D=e,_=a.getRouteParameterName(e.meta.collection),g.value=e.meta.propsLibelleTitle,E.value=e.meta.collection,T())},{deep:!0});var M=Pe.ref(!1),j=Pe.ref(null);return Pe.watch(m,function(e){e&&!j.value?j.value=JSON.parse(JSON.stringify(e)):M.value=JSON.stringify(e)!==JSON.stringify(j.value)},{deep:!0}),Pe.onMounted(function(){T(),k=l.subscribe(S)}),Pe.onBeforeUnmount(function(){k&&k()}),function(e,t){return Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QPage),null,{default:Pe.withCtx(function(){return[v.value?Pe.createCommentVNode("v-if",!0):(Pe.openBlock(),Pe.createElementBlock("div",{class:"edit-page-header",key:E.value},[Pe.createElementVNode("div",I,[Pe.createVNode(Pe.unref(Re.QBtn),{onClick:i,color:"primary",icon:"arrow_back"}),Pe.createElementVNode("h2",null,Pe.toDisplayString(B.value),1)]),!v.value&&C.value?(Pe.openBlock(),Pe.createElementBlock("div",q,[Pe.createVNode(Pe.unref(Re.QBtn),{icon:x.value.icon,onClick:f,disable:!M.value,color:M.value?"primary":"grey-5",loading:O.value},{default:Pe.withCtx(function(){return[Pe.createTextVNode(Pe.toDisplayString(x.value.label),1)]}),_:1},8,["icon","disable","color","loading"])])):Pe.createCommentVNode("v-if",!0)])),m.value?(Pe.openBlock(),Pe.createElementBlock("div",L,[(Pe.openBlock(),Pe.createBlock(Pe.resolveDynamicComponent(Pe.unref(Q.default)[w.value]),{data:m.value,submitedData:N.value,key:m.value[Pe.unref(_)],onExtraRequestParams:d,onCustomTitle:r,onCustomSubmitBtn:c,onUpdateData:u,onEditablePage:s},null,40,["data","submitedData"]))])):(Pe.openBlock(),Pe.createElementBlock("div",z,[Pe.createVNode(Pe.unref(Re.QSpinner),{class:"loader",color:"accent"})]))]}),_:1})}}},C=(o("\n.edit-page-header[data-v-d27ce27e] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px;\n background-color: white;\n}\n.edit-page-header h2[data-v-d27ce27e] {\n font-size: 2em;\n margin: 0px;\n margin-left: 20px;\n}\n.edit-page-header h2 button[data-v-d27ce27e] {\n height: fit-content;\n margin: 0 1em 0 1em;\n}\n.loader[data-v-d27ce27e] {\n font-size: 120px;\n position: absolute;\n right: 48%;\n top: 32%;\n bottom: 50%;\n}\n"),e.__scopeId="data-v-d27ce27e",e.__file="src/components/VlankEditPage.vue",{key:0,class:"create-page-header"}),w={style:{display:"flex","align-items":"center"}},B={key:0},x={key:1,class:"create-page-body"},O={key:2,class:"create-page-body"},t={__name:"VlankCreatePage",emits:["collectionCrudUpdateLocalDetail"],setup:function(e,t){var t=t.emit,n=R.useRoute(),o=R.useRouter(),l=Pe.inject("vlank-ccrud");function a(){A(n,o)}function i(e){v.value.label=e.label,v.value.icon=e.icon}function r(e){e&&(d.value=Object.assign({},d.value,e))}function c(e){e&&(p.value=e)}function u(){k.value=!0,(n.meta.useSendFiles?l.collectionAction({collectionName:n.meta.collection,action:"send-file",params:Object.assign({},d.value,p.value)}).then(function(e){n.meta.goBackAfterValidation&&A(n,o),d.value=e,y.value=e}):l.collectionAction({collectionName:n.meta.collection,action:"create",params:Object.assign({},d.value,p.value)}).then(function(e){n.meta.goBackAfterValidation&&A(n,o),d.value=e,y.value=e})).finally(function(){k.value=!1})}var s=t,d=Pe.ref(null),f=Pe.ref(n.meta.containerMode),p=Pe.ref({}),m=Pe.ref(n.meta.propsTitle),v=Pe.ref({label:null,icon:null}),b=(Pe.ref(!0),Pe.computed(function(){return n.meta.formComponent})),g=Pe.computed(function(){return m.value||"Création"}),h=Pe.computed(function(){return v.value.label&&v.value.icon?v.value:{label:"Valider",icon:"mdi-check"}}),k=Pe.ref(!1),y=Pe.ref({});return Pe.onMounted(function(){l.collectionAction({collectionName:n.meta.collection,action:"resetDetail"}).then(function(){d.value={},s("collectionCrudUpdateLocalDetail",d.value)})}),function(e,t){return Pe.openBlock(),Pe.createBlock(Pe.unref(Re.QPage),null,{default:Pe.withCtx(function(){return[f.value?Pe.createCommentVNode("v-if",!0):(Pe.openBlock(),Pe.createElementBlock("div",C,[Pe.createElementVNode("div",w,[Pe.createVNode(Pe.unref(Re.QBtn),{onClick:a,color:"primary",icon:"arrow_back"}),Pe.createElementVNode("h2",null,Pe.toDisplayString(g.value),1)]),f.value?Pe.createCommentVNode("v-if",!0):(Pe.openBlock(),Pe.createElementBlock("div",B,[Pe.createVNode(Pe.unref(Re.QBtn),{color:"primary",icon:h.value.icon,onClick:u,loading:k.value},{default:Pe.withCtx(function(){return[Pe.createTextVNode(Pe.toDisplayString(h.value.label),1)]}),_:1},8,["icon","loading"])]))])),d.value?(Pe.openBlock(),Pe.createElementBlock("div",x,[(Pe.openBlock(),Pe.createBlock(Pe.resolveDynamicComponent(Pe.unref(Q.default)[b.value]),{data:d.value,submitedData:y.value,onExtraRequestParams:c,onCustomSubmitBtn:i,onUpdateData:r},null,40,["data","submitedData"]))])):(Pe.openBlock(),Pe.createElementBlock("div",O,[Pe.createVNode(Pe.unref(Re.QSpinner),{class:"loader",color:"accent"})]))]}),_:1})}}};o("\n.create-page-header[data-v-29e3989a] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 10px;\n background-color: white;\n}\n.create-page-header h2[data-v-29e3989a] {\n font-size: 2em;\n margin: 0px;\n margin-left: 20px;\n}\n.create-page-header h2 button[data-v-29e3989a] {\n height: fit-content;\n margin: 0 1em 0 1em;\n}\n.loader[data-v-29e3989a] {\n font-size: 120px;\n position: absolute;\n right: 48%;\n top: 32%;\n bottom: 50%;\n}\n"),t.__scopeId="data-v-29e3989a",t.__file="src/components/VlankCreatePage.vue";return Object.freeze({__proto__:null,version:"3.7.54",VlankCollectionCrud:l,VlankCollectionCrudEditPage:e,VlankCollectionCrudCreatePage:t,install:function(e){e.component(l.name,l)}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oniti/quasar-ui-vlank-collection-crud",
3
- "version": "3.7.53",
3
+ "version": "3.7.55",
4
4
  "author": "Oniti",
5
5
  "description": "Gestion du CRUD simplifié pour Oniti",
6
6
  "license": "MIT",
@@ -0,0 +1,70 @@
1
+ import { exportFile } from 'quasar'
2
+ import { inject } from 'vue'
3
+ import { axiosClient } from "axios-oniti";
4
+ import { useQuasar } from 'quasar'
5
+
6
+ export function useExportCSV(props, pagination, filter) {
7
+ const $collectionCrud = inject('vlank-ccrud')
8
+ const $q = useQuasar()
9
+
10
+ function showDlFailure() {
11
+ $q.notify({
12
+ message: 'Téléchargement impossible',
13
+ color: 'negative',
14
+ icon: 'warning'
15
+ })
16
+ }
17
+
18
+ function doExport() {
19
+ const exportParams = {
20
+ 'primaryFieldSearch': $collectionCrud.getRouteParameterName(props.value.collection),
21
+ 'sortBy': pagination.value.sortBy,
22
+ 'descending': pagination.value.descending,
23
+ 'filter': filter.value,
24
+ }
25
+
26
+ const options = props.value.exportOptions
27
+ const url = (options && options.url) ? options.url : `/${props.value.collection}/export`
28
+
29
+ axiosClient
30
+ .get(url, {
31
+ params: exportParams,
32
+ responseType: 'blob',
33
+ })
34
+ .then((response) => {
35
+ const contentDisposition = response.headers['content-disposition']
36
+ if (!contentDisposition) {
37
+ showDlFailure()
38
+ console.error('No Content-Disposition header found (see exposed_headers in config/cors.php)')
39
+ return
40
+ }
41
+
42
+ const parts = contentDisposition.split('filename=')
43
+ if (parts.length !== 2) {
44
+ showDlFailure()
45
+ console.error('Invalid content-disposition header (missing filename)')
46
+ return
47
+ }
48
+
49
+ const filename = parts[1]
50
+ const mime = response.data.type
51
+
52
+ const status = exportFile(
53
+ filename,
54
+ response.data,
55
+ mime
56
+ )
57
+
58
+ if (status !== true) {
59
+ showDlFailure()
60
+ }
61
+ })
62
+ .catch(() => {
63
+ showDlFailure()
64
+ })
65
+ }
66
+
67
+ return {
68
+ doExport
69
+ }
70
+ }
@@ -45,6 +45,9 @@ export function useProps($attrs) {
45
45
  },
46
46
  propsLibelleTitle: null,
47
47
  customCreateButtonText: null,
48
+ exportOptions: {
49
+ enabled: false,
50
+ },
48
51
  };
49
52
 
50
53
  /**
@@ -38,6 +38,10 @@ export function useShowBtnInputs(props) {
38
38
  const rightName = getRightName("create");
39
39
  return props.value.showBtnCreate && (!rightName || $auth.check(rightName));
40
40
  });
41
+ const showBtnExport = computed(() => {
42
+ // TODO: check a specific 'export' right?
43
+ return props.value.exportOptions && props.value.exportOptions.enabled;
44
+ });
41
45
  const editOnTable = computed(() => {
42
46
  return props.value.editMode === "table" && showBtnEdit.value;
43
47
  });
@@ -50,6 +54,7 @@ export function useShowBtnInputs(props) {
50
54
  showBtnEditPage,
51
55
  showBtnEditModal,
52
56
  showBtnCreatePage,
57
+ showBtnExport,
53
58
  editOnTable,
54
59
  };
55
60
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="col">
3
- <q-table flat v-if="rows" :rows="rows" v-bind="table" :filter="filter" @request="asyncRequest" ref="ccrudTable"
3
+ <q-table flat :rows="rows" v-bind="table" :filter="filter" @request="asyncRequest" ref="ccrudTable"
4
4
  v-model:pagination="pagination" :selection="selectionMode" v-model:selected="selectedData">
5
5
  <!-- On retire le header pour la partie Mobile -->
6
6
  <template v-if="isMobile" v-slot:header="props"></template>
@@ -75,6 +75,11 @@
75
75
  <q-icon v-else name="search" />
76
76
  </template>
77
77
  </q-input>
78
+ <q-btn v-if="showBtnExport" @click="doExport" color="primary" :icon=" exportOptions.icon ? exportOptions.icon : 'mdi-file-download'" :flat="exportOptions.flat !== undefined ? exportOptions.flat : true"
79
+ :label="exportOptions.label ? exportOptions.label : null"
80
+ style="margin-left: 1em" square>
81
+ <slot name="export-btn-tooltip" />
82
+ </q-btn>
78
83
  <q-btn v-if="showBtnCreatePage" type="a" :to="{ name: collectionCreateNamedRoute }"
79
84
  :label="customCreateButtonText ? customCreateButtonText : null" icon="add" color="primary"
80
85
  style="margin-left: 1em" square>
@@ -164,6 +169,7 @@ import { useHandlers } from "./Uses/handlers";
164
169
  import { useDataManager } from "./Uses/dataManager";
165
170
  import { useWatchs } from "./Uses/watchs";
166
171
  import { useSelection } from "./Uses/selection";
172
+ import { useExportCSV } from "./Uses/exportCSV";
167
173
 
168
174
  const $attrs = defineProps({
169
175
  collection: String,
@@ -229,6 +235,7 @@ const $attrs = defineProps({
229
235
  type: Function,
230
236
  default: null
231
237
  },
238
+ exportOptions: Object,
232
239
  });
233
240
 
234
241
  const $emit = defineEmits([
@@ -278,6 +285,7 @@ const {
278
285
  showBtnEditPage,
279
286
  showBtnEditModal,
280
287
  showBtnCreatePage,
288
+ showBtnExport,
281
289
  editOnTable,
282
290
  } = useShowBtnInputs(props)
283
291
 
@@ -416,6 +424,9 @@ function getNextCellIndex(rowIndex, cellIndex) {
416
424
  function onClearSearchHandler() {
417
425
  filter.value = ""
418
426
  }
427
+
428
+ const { doExport } = useExportCSV(props, pagination, filter)
429
+
419
430
  </script>
420
431
 
421
432