UNPKG

vuetify-natinf

Version:

Ensemble de composants VueJS sous Vuetify pour la gestion NATINF

2 lines (1 loc) 7.28 kB
(function(p,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(p=typeof globalThis<"u"?globalThis:p||self,e(p.VuetifyNATINF={},p.Vue))})(this,function(p,e){"use strict";const f={"Contravention de 1ère classe":{abr:"C1",couleur:"primary"},"Contravention de 2ème classe":{abr:"C2",couleur:"primary"},"Contravention de 3ème classe":{abr:"C3",couleur:"primary"},"Contravention de 4ème classe":{abr:"C4",couleur:"primary"},"Contravention de 5ème classe":{abr:"C5",couleur:"primary"},Délit:{abr:"D",couleur:"warning"},Crime:{abr:"Cr",couleur:"error"}};async function h(t){try{return(await(await fetch(`https://tabular-api.data.gouv.fr/api/resources/c6fb5b37-b3bc-4904-bd26-1b29ad7391df/data/?Ministère de la Justice, Direction des affaires criminelles et__exact=${t}`,{method:"GET",credentials:"include"})).json()).data[0]||!1}catch{return console.error("NATINF introuvable"),!1}}const _=(t,r)=>{const o=t.__vccOpts||t;for(const[a,n]of r)o[a]=n;return o},T=e.defineComponent({name:"CarteNATINF",props:{natinf:{type:Number,required:!0,default:0}},async setup(t){const{natinf:r}=e.toRefs(t),o=await h(r.value);return{NATINFAffiche:e.computed(()=>{if(o)return{nature:o["Unnamed: 1"]||"",couleur:f[o["Unnamed: 1"]].couleur||"primary",texte:o["Unnamed: 2"]||"INTROUVABLE",prevuPar:o["Unnamed: 3"],reprimePar:o["Unnamed: 4"]}})}}});function V(t,r,o,a,n,m){const c=e.resolveComponent("v-toolbar-title"),s=e.resolveComponent("v-toolbar"),i=e.resolveComponent("v-list-item"),u=e.resolveComponent("v-list"),d=e.resolveComponent("v-divider"),l=e.resolveComponent("v-list-subheader"),N=e.resolveComponent("v-card"),x=e.resolveComponent("v-alert");return t.NATINFAffiche?(e.openBlock(),e.createBlock(N,{key:0,class:"mx-auto bg-surface","max-width":"400"},{default:e.withCtx(()=>[e.createVNode(s,{color:t.NATINFAffiche.couleur},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.natinf),1)]),_:1})]),_:1},8,["color"]),e.createVNode(u,{lines:"three",class:"mx-auto bg-surface-variant"},{default:e.withCtx(()=>[e.createVNode(i,{title:t.NATINFAffiche.nature,subtitle:t.NATINFAffiche.texte},null,8,["title","subtitle"])]),_:1}),e.createVNode(d),e.createVNode(u,{class:"mx-auto bg-surface-variant"},{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("Prévue par")])),_:1}),e.createVNode(i,{lines:"three",subtitle:t.NATINFAffiche.prevuPar},null,8,["subtitle"]),e.createVNode(l,null,{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("Réprimée par")])),_:1}),e.createVNode(i,{lines:"three",subtitle:t.NATINFAffiche.reprimePar},null,8,["subtitle"])]),_:1})]),_:1})):(e.openBlock(),e.createBlock(x,{key:1,type:"error"},{default:e.withCtx(()=>r[2]||(r[2]=[e.createTextVNode(" NATINF introuvable ")])),_:1}))}const C=_(T,[["render",V]]),F=e.defineComponent({name:"CartoucheNATINF",props:{natinf:{type:Number,required:!0,default:0}},async setup(t){const{natinf:r}=e.toRefs(t),o=e.ref(!1),a=await h(r.value);return{NATINFAffiche:e.computed(()=>{if(a)return{couleur:f[a["Unnamed: 1"]].couleur||"primary",abr:`[${f[a["Unnamed: 1"]].abr}]`||"",texte:`${r.value} ${a["Unnamed: 2"]}`||"INTROUVABLE",prevuPar:a["Unnamed: 3"],reprimePar:a["Unnamed: 4"]}}),menu:o}}});function I(t,r,o,a,n,m){const c=e.resolveComponent("v-btn"),s=e.resolveComponent("v-list-item"),i=e.resolveComponent("v-list"),u=e.resolveComponent("v-card"),d=e.resolveComponent("v-menu"),l=e.resolveComponent("v-chip");return t.NATINFAffiche?(e.openBlock(),e.createBlock(d,{key:0,modelValue:t.menu,"onUpdate:modelValue":r[0]||(r[0]=N=>t.menu=N),"close-on-content-click":!1,location:"end"},{activator:e.withCtx(({props:N})=>[e.createVNode(c,e.mergeProps({size:"x-small",color:t.NATINFAffiche.couleur},N,{class:"ma-2",variant:"outlined"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.NATINFAffiche.abr)+" "+e.toDisplayString(t.NATINFAffiche.texte),1)]),_:2},1040,["color"])]),default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(i,{density:"compact"},{default:e.withCtx(()=>[e.createVNode(s,{variant:"tonal",title:"Prévue par"}),e.createVNode(s,{lines:"three",subtitle:t.NATINFAffiche.prevuPar},null,8,["subtitle"]),e.createVNode(s,{variant:"tonal",title:"Réprimée par"}),e.createVNode(s,{lines:"three",subtitle:t.NATINFAffiche.reprimePar},null,8,["subtitle"])]),_:1})]),_:1})]),_:1},8,["modelValue"])):(e.openBlock(),e.createBlock(l,{key:1,color:"error",class:"ma-2","prepend-icon":"mdi-alert",size:"x-small"},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode(" NATINF introuvable ")])),_:1}))}const b=_(F,[["render",I]]),y="https://tabular-api.data.gouv.fr/api/resources/c6fb5b37-b3bc-4904-bd26-1b29ad7391df/data/?",A={__name:"RechercheNATINF",props:e.mergeModels({multiple:{type:Boolean,default:!1}},{modelValue:{type:Object},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const r=t,{multiple:o}=e.toRefs(r),a=e.useModel(t,"modelValue"),n=e.reactive({resultats:[],aChercher:null,enCours:!1,recherche:null});return e.watch(()=>n.aChercher,m=>{!m||(m==null?void 0:m.length)===0||n.enCours||(clearTimeout(n.recherche),n.recherche=setTimeout(async()=>{n.enCours=!0;let c;const s=parseFloat(m);!isNaN(s)&&isFinite(s)?c="Ministère de la Justice, Direction des affaires criminelles et__exact":c="Unnamed: 2__contains",fetch(`${y}${c}=${m}`,{method:"GET",credentials:"include"}).then(i=>i.json()).then(i=>{n.resultats=[...i.data]}).catch(i=>{console.log(i)}).finally(()=>{n.enCours=!1})},1500))}),(m,c)=>{const s=e.resolveComponent("v-chip"),i=e.resolveComponent("v-list-item"),u=e.resolveComponent("v-autocomplete");return e.openBlock(),e.createBlock(u,{modelValue:a.value,"onUpdate:modelValue":c[0]||(c[0]=d=>a.value=d),search:n.aChercher,"onUpdate:search":c[1]||(c[1]=d=>n.aChercher=d),"no-filter":"","return-object":"",items:n.resultats,loading:n.enCours,"item-title":"nom",label:"Code NATINF ou texte",placeholder:"Commencez à écrire...","prepend-icon":"mdi-scale-balance",multiple:e.unref(o),chips:"","closable-chips":"",clearable:""},{chip:e.withCtx(({props:d,item:l})=>[e.createVNode(s,e.mergeProps(d,{color:(e.unref(f)[l.raw["Unnamed: 1"]]||{}).couleur||"primary",text:`[${(e.unref(f)[l.raw["Unnamed: 1"]]||{}).abr||""}] ${l.raw["Ministère de la Justice, Direction des affaires criminelles et"]} - ${l.raw["Unnamed: 2"]}`}),null,16,["color","text"])]),item:e.withCtx(({props:d,item:l})=>[e.createVNode(i,e.mergeProps(d,{title:l.raw["Unnamed: 2"],subtitle:l.raw["Ministère de la Justice, Direction des affaires criminelles et"]}),{prepend:e.withCtx(()=>[e.createVNode(s,{size:"x-small",color:(e.unref(f)[l.raw["Unnamed: 1"]]||{}).couleur||"primary",class:"mr-2",label:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString((e.unref(f)[l.raw["Unnamed: 1"]]||{}).abr||""),1)]),_:2},1032,["color"])]),_:2},1040,["title","subtitle"])]),_:1},8,["modelValue","search","items","loading","multiple"])}}},w={install(t){t.component("CarteNATINF",C),t.component("CartoucheNATINF",b),t.component("RechercheNATINF",A)}};p.CarteNATINF=C,p.CartoucheNATINF=b,p.RechercheNATINF=A,p.default=w,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});