1 line
17 KiB
JavaScript
1 line
17 KiB
JavaScript
import{i as Ne,r as f,o as Ue,c as Re,w as le,n as qe,a as u,b as d,d as o,e as L,v as Fe,u as s,f as H,F as P,g as N,t as U,h as Ce,j as S,k as J,l as x,m as A,p as ze,q as Ge,s as Se,Y as Ke,x as Xe,y as Ye,z as Qe,A as xe,V as Ie}from"./vendor.0d1eb141.js";(function(){const h=document.createElement("link").relList;if(h&&h.supports&&h.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))_(n);new MutationObserver(n=>{for(const g of n)if(g.type==="childList")for(const j of g.addedNodes)j.tagName==="LINK"&&j.rel==="modulepreload"&&_(j)}).observe(document,{childList:!0,subtree:!0});function r(n){const g={};return n.integrity&&(g.integrity=n.integrity),n.referrerpolicy&&(g.referrerPolicy=n.referrerpolicy),n.crossorigin==="use-credentials"?g.credentials="include":n.crossorigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function _(n){if(n.ep)return;n.ep=!0;const g=r(n);fetch(n.href,g)}})();function fe(c,h){let r=-1;return c.forEach((_,n)=>{_.html.id===parseInt(h)&&(r=n)}),r}function de(c){try{return JSON.parse(c)}catch(h){return console.log("erreur recupJson ",h),!1}}function We(c,h){let r=document.createElement("a");r.href=c,h&&r.setAttribute("target","_blank"),r.click()}function Ze(c,h){if((Number.isInteger(c)||parseInt(c)==c)&&(Number.isInteger(h)||parseInt(h)==h))return parseInt(c)-parseInt(h);{let r=toString(c).toLowerCase(),_=toString(h).toLowerCase();return r<_?-1:r>_?1:0}}const Oe=(c,h,r,_)=>c.sort((n,g)=>h.reduce((j,V,B)=>{if(j===0){let[b,k]=r&&r[B]==="desc"?[g[_][V],n[_][V]]:[n[_][V],g[_][V]];b=typeof b=="string"?b.toLowerCase():b,k=typeof k=="string"?k.toLowerCase():k;let w=/^(\d{2})\/(\d{2})\/(\d{2,4})$/;if(typeof b!="number"){let I=b.match(w);Array.isArray(I)&&(b=I[3]+I[2]+I[1]);let m=k.match(w);Array.isArray(m)&&(k=m[3]+m[2]+m[1])}j=b>k?1:b<k?-1:0}return j},0));const et=(c,h)=>{const r=c.__vccOpts||c;for(const[_,n]of h)r[_]=n;return r},O=c=>(Ye("data-v-57f54e4e"),c=c(),Qe(),c),tt={class:"gamutable"},lt={class:"gamutable--surTable"},at=O(()=>o("i",{class:"fa fas fa-eraser rouge"},null,-1)),st=O(()=>o("i",{class:"fa fa-filter fas"},null,-1)),nt=[at,st],ot=O(()=>o("i",{class:"fa fa-refresh fas fa-sync"},null,-1)),rt=[ot],it=O(()=>o("i",{class:"fas fa fa-table"},null,-1)),ut=[it],ct=O(()=>o("i",{class:"fas fa fa-th-large"},null,-1)),ft=[ct],dt=O(()=>o("i",{class:"fa fa-file-excel-o fas fa-file-csv","aria-hidden":"true"},null,-1)),pt=[dt],vt=O(()=>o("i",{class:"fas fa-file-pdf rouge","aria-hidden":"true",alt:"pdf"},null,-1)),ht=[vt],gt=O(()=>o("i",{class:"fas fas fa-file-excel","aria-hidden":"true",alt:"csv"},null,-1)),bt=[gt],mt=O(()=>o("i",{class:"far fa-file-pdf rouge","aria-hidden":"true",alt:"pdf"},null,-1)),_t=[mt],yt={class:"rouge"},kt=O(()=>o("i",{class:"fa fa-refresh fa-spin fa-fw rouge fas fa-sync fa-spin"},null,-1)),Ct=O(()=>o("span",{class:"texteMajBDD"}," Mise \xE0 jour de la base de donn\xE9e ",-1)),St=[kt,Ct],xt={class:"btn verte",style:{cursor:"auto"},title:"Base de donn\xE9e synchronis\xE9e !"},It=O(()=>o("i",{class:"fa fas fa-database"},null,-1)),Ot=[It],jt=["data-nbrmax"],$t=["innerHTML"],Tt={key:0,class:"vueBlocs"},Lt=["innerHTML"],Vt={key:1,class:"table table--zebra"},wt={class:"gt_labels"},Et=["innerHTML"],Mt={class:"iconeTri"},Pt=["onClick"],Jt=["onClick"],At={key:0,class:"filtreColonne"},Bt=["id"],Dt=["onClick"],Ht=["onClick"],Nt=O(()=>o("i",{class:"fas fa-share-square"},null,-1)),Ut=[Nt],Rt=["id"],qt={class:"tag--un"},Ft=["onClick"],zt=["onUpdate:modelValue"],Gt=["onClick"],Kt=["onClick"],Xt={key:0},Yt={key:0,class:"text-center"},Qt=["onUpdate:modelValue","value"],Wt=["innerHTML"],Zt=["innerHTML"],el={class:"gamutable--sousTable"},tl={class:"gamutable-nbrMax"},ll={class:"gamutable--pagination"},al={class:"page-item"},sl={class:"page-item"},nl=["onClick"],ol={class:"page-item"},rl={__name:"gamuTable",props:{tparpage:{type:Array,default:function(){return[10,20,50,"Tous"]}},apiuri:{type:String,required:!0},pdfuri:{type:String},namepdf:{type:String},fichierpdf:{type:String},argpdf:{type:String},champcsv:{type:String},delimitercsv:{type:String},namecsv:{type:String},url_sort_asc:{type:String},url_sort_desc:{type:String},urlvuebloc:{type:String},vueblocdefaut:{type:String,default:"tableau"},filtrecolmulti:{type:String},nomblocajaxreload:{type:String},stockage:{type:String},includespip:{type:String},filtrer:{type:String},_id:{type:Number},filtreselect:{type:String}},setup(c,{expose:h}){const r=c,_=Ne("$papa");let n=f([]),g=f([]),j=f([]),V=f([]),B=f([]),b=f([]),k=f([]),w=f([]),I=f([]),m=f({}),ae=f(0),se=f({}),R=f(r.filtrer),p=f(1),E=f(sessionStorage.getItem("nbItems")?sessionStorage.getItem("nbItems"):r.tparpage[0]),q=f(sessionStorage.getItem("nbItemsChaine")?sessionStorage.getItem("nbItemsChaine"):r.tparpage[0]),D=f([]),F=f([]),G=f([]),Q=f([]),T=f("html"),W=f(!0),K=f(r.vueblocdefaut),Z=f(!1);f(!1),f([]),f([]),f(""),f("");let ee=f(!0),ne=f(!1),te=f(""),M=Ve();Ue(()=>{localforage.setDriver(localforage[r.stockage.toUpperCase()]),X("maj"),r.urlvuebloc&&fetch(r.urlvuebloc).then(l=>l.text()).then(l=>{Z.value=l})});const z=Re(()=>{if(Ae(),!R.value&&!ae.value)return ke(n.value);let l=n.value.filter(t=>{let e=!(Object.values(t[T.value]).toString().toLowerCase().indexOf(R.value.toLowerCase())<0);return e?(Object.keys(m.value).forEach(a=>{if(e){let i=m.value[a];if(i!==null){Array.isArray(i)||(i=[i]);let v=[];i.forEach(y=>{Number.isInteger(y)&&v.push(y),y.length>0&&v.push(y.toLowerCase())}),v.length&&(I.value[a]==="select"?v.some(C=>{if(Number.isInteger(C)){if(parseInt(t[T.value][a])===C)return!0}else if(t[T.value][a]!==void 0&&!(C.indexOf(t[T.value][a].toString().toLowerCase().toString())===-1||!t[T.value][a].toString().toLowerCase()))return!0})||(e=!1):t[T.value][a].toString().toLowerCase().indexOf(v.toString())===-1&&(e=!1))}}}),e):!1});return ke(l)});le(q,l=>{parseInt(l)?E.value=l:E.value=n.value.length,sessionStorage.setItem("nbItems",E.value),sessionStorage.setItem("nbItemsChaine",q.value)}),le(n,()=>{oe(),localforage.setItem(M,JSON.stringify(n.value))}),le(z,()=>{r.filtrecolmulti==="non"&&w.value.forEach(l=>{let t=[];z.value.forEach(e=>{let a=e[T.value][l];t.indexOf(a)===-1&&(t.push(a),filtreColValOk.value=!0)}),se.value[l]=t})}),le(m,()=>{if(!ee.value){let l=[];m.value&&Object.entries(m.value).forEach(([t,e])=>{Array.isArray(e)||(e=[e]),l.push({champ:t,valeurs:e})}),ne||localStorage.setItem("filtreselect_"+M,JSON.stringify(l))}});function ve(l){g.value=l.header,l.crayons!==void 0&&(j.value=l.crayons),l.maj!==void 0&&(te.value=l.maj),l.classes!==void 0&&(V.value=l.classes),l.checkbox!==void 0&&(B.value=l.checkbox,Object.keys(B.value).forEach(e=>{b.value[e]=[]})),l.ordreCol!==void 0&&(k.value=l.ordreCol);let t=[];return l.filtreCol!==void 0&&(t=l.filtreCol),oe(),t}function $e(l,t=null){if(parseInt(t)>0)if(l.length>0){let e=fe(n.value,t);n.value[e]=l[0]}else{let e=fe(n.value,t);n.value.splice(e,1)}else t==="maj"?l.length&&(l[0]&&l[0].search&&(T.value="search"),l.length>0&&l.forEach((e,a)=>{let i=fe(n.value,e.html.id);n.value[i]=l[a]})):(n.value=l,l[0]&&l[0].search&&(T.value="search"));localforage.setItem(M,JSON.stringify(n.value))}function he(l){l!==void 0&&(I.value=l,w.value=[],Object.keys(I.value).forEach(t=>{let e=[];n.value.forEach(a=>{let i=a[T.value][t];i&&e.indexOf(i)===-1&&e.push(i)}),w.value.push(t),se.value[t]=e.sort(),m.value[t]=[]}))}function X(l){console.log("chargerJson pour ",l),W.value=!0;let t=r.apiuri;if(parseInt(l)>0)t+="&id="+l;else{let e=localStorage.getItem("header_"+M);e=de(e),e&&e.header!==void 0&&localforage.getItem(M).then(function(a){a=de(a);let i=ve(e);n.value=a,he(i),r.nomblocajaxreload&&ajaxReload(r.nomblocajaxreload)}).catch(function(a){console.log(a)}),l==="maj"&&(te.value?t+="&maj="+te.value:e&&e.maj?t+="&maj="+e.maj:l=null)}fetch(t).then(e=>e.json()).then(e=>{let a=e.shift(),i=ve(a);$e(e,l),he(i),qe(()=>{W.value=!1;let v=localStorage.getItem("filtreselect_"+M),y=[];if(r.filtreselect?(y=de(decodeURIComponent(r.filtreselect)),localStorage.setItem("filtreselect_"+M,JSON.stringify(y))):v&&(y=JSON.parse(v)),y.forEach(C=>{m.value[C.champ]=[...m.value[C.champ],...C.valeurs]}),ae.value++,ne=!1,parseInt(r._id)>0){let C=parseInt(r._id),Y=parseInt(E.value);if(parseInt(Y)){let ue=0;if(Object.values(n.value).forEach((ce,He)=>{C===ce.html.id&&(ue=He+1)}),ue>Y){let ce=parseInt(ue/Y)+1;p.value=ce}}be(C,"id")}r.nomblocajaxreload&&ajaxReload(r.nomblocajaxreload),k.value&&Object.entries(k.value).forEach(([C,Y])=>{ie(C,Y)}),$("td.crayon-init").removeClass("crayon-init")})}).catch(e=>console.log(e))}function oe(){let l={header:g.value,crayons:j.value,classes:V.value,filtreCol:I.value,ordreCol:k.value,maj:te.value};localStorage.setItem("header_"+M,JSON.stringify(l))}function Te(l){ee.value=!1,m.value[l]=[]}function Le(){ae.value++}function re(){ee.value=!1}function Ve(){return r.apiuri?r.apiuri.match(/.*page=(.*)/)[1]:""}function we(l,t){let e=t.crayons!==void 0&&t.crayons[l]!==void 0?t.crayons[l]:t.html.id;if(Object.keys(j.value).indexOf(l)!==-1)return`crayon ${j.value[l]}-${l}-${e}`}function ie(l,t=!1){const e=G.value.indexOf(l);e!==-1?(t||(t="asc",F.value[e]==="asc"&&(t="desc")),F.value[e]=t):(t||(t="asc"),G.value.push(l),F.value.push(t)),n.value=Oe(n.value,G.value,F.value,T.value),k.value[l]=t,oe()}function ge(l,t){const e=G.value.indexOf(l);if(e!==-1&&F.value[e]===t)return"active"}function Ee(){ee.value=!1,n.value=Oe(n.value,["id"],"",T.value),F.value=[],G.value=[],k.value=[],Object.keys(I.value).forEach(l=>{m.value[l]=[]})}function be(l,t){if(t==="id"&&parseInt(l)){let e=Q.value.indexOf(l);e!==-1?Q.value.splice(e,1):Q.value.push(l)}}function me(l="tableau"){let t=[];Object.values(this[l]).forEach(i=>{t.push(i.html)});const e={fichierpdf:r.fichierpdf,namepdf:r.namepdf,header:g.value,arg:r.argpdf,Tdata:t};$.ajax({url:r.pdfuri,type:"POST",dataType:"text",data:e}).done(function(i){i&&We(i,!0)})}function _e(l="tableau"){let t=[],e=[],a=[];Object.keys(g.value).forEach(i=>e.push(i)),a=this[l].reduce((i,v)=>{let y=[];return Object.values(v[r.champcsv]).forEach(C=>y.push(C)),[...i,[...y]]},[]),t=[[...e],...a],Be(t,r.delimitercsv,r.namecsv)}function Me(l){let t=Z.value;return Object.keys(l).forEach(e=>{t=t.replace(`@@${e}@@`,l[e])}),t}function ye(l){K.value=l}function Pe(l){let t=t.value;b.value[l]!==void 0&&b.value[l].length?b.value[l]=[]:(b.value[l]=[],t.forEach(e=>{b.value[l].push(e.html.id)}))}function Je(l,t){let e="page";if(t.includes("action=")&&(e="action"),e==="action")$.ajax({url:t,data:{data:b.value[l]},type:"POST"}).done(function(){X("maj")});else{const a=encodeURIComponent(JSON.stringify(b.value[l]));t+="&data="+a,t+="&var_zajax=content";const i={};i.onClose=()=>{X("maj")},$.modalbox(t,i)}}function ke(l){let t=p.value*E.value-E.value,e=p.value*E.value;return l.slice(t,e)}function Ae(){let l=Math.ceil(n.value.length/E.value);D.value=[];for(let t=1;t<=l;t++)D.value.push(t)}function Be(l,t,e){e.includes(".csv")&&(e=e.split(".")[0]);let a="";t?a=_.unparse(l,{delimiter:t}):a=_.unparse(l),_.download(a,e)}function De(l,t=!0){console.log("rechargerJson"),ne=t,X(l)}return h({rechargerJson:De}),(l,t)=>(u(),d(P,null,[o("div",tt,[o("div",lt,[L(o("select",{id:"parPage","onUpdate:modelValue":t[0]||(t[0]=e=>H(q)?q.value=e:q=e)},[(u(!0),d(P,null,N(c.tparpage,e=>(u(),d("option",{key:e},U(e),1))),128))],512),[[Fe,s(q)]]),L(o("input",{class:"gamutable--rechercher",type:"text","onUpdate:modelValue":t[1]||(t[1]=e=>H(R)?R.value=e:R=e),placeholder:"Rechercher"},null,512),[[Ce,s(R)]]),o("button",{class:"btn gamutable--resetOrderBy",type:"button",onClick:t[2]||(t[2]=S(e=>Ee(),["stop"])),title:"R\xE9initialiser les tris des colonnes"},nt),o("button",{class:"btn var_gamutable",type:"button",onClick:t[3]||(t[3]=S(e=>X(),["stop"])),title:"Forcer le rechargement"},rt),s(Z)?L((u(),d("button",{key:0,class:"btn gamutable--vueTable",title:"Switcher en Vue tableau",onClick:t[4]||(t[4]=S(e=>ye("tableau"),["stop"]))},ut,512)),[[J,s(K)==="bloc"]]):x("",!0),s(Z)?L((u(),d("button",{key:1,class:"btn gamutable--vueBloc",title:"Switcher en Vue Bloc",onClick:t[5]||(t[5]=S(e=>ye("bloc"),["stop"]))},ft,512)),[[J,s(K)==="tableau"]]):x("",!0),L(o("button",{class:"btn gamutable--exportCSV",type:"button",onClick:t[6]||(t[6]=S(e=>_e(),["stop"])),title:"Exporter le tableau affich\xE9 en csv"},pt,512),[[J,c.namecsv]]),L(o("button",{class:"btn",type:"button",onClick:t[7]||(t[7]=S(e=>me(),["stop"])),title:"G\xE9n\xE9rer le PDF du tableau affich\xE9"},ht,512),[[J,c.fichierpdf]]),L(o("button",{class:"btn gamutable--exportCSV",type:"button",onClick:t[8]||(t[8]=S(e=>_e("table"),["stop"])),title:"Exporter le tableau complet en csv"},bt,512),[[J,c.namecsv]]),L(o("button",{class:"btn",type:"button",onClick:t[9]||(t[9]=S(e=>me("table"),["stop"])),title:"G\xE9n\xE9rer le PDF du tableau complet"},_t,512),[[J,c.fichierpdf]]),L(o("span",yt,St,512),[[J,s(W)]]),L(o("span",xt,Ot,512),[[J,!s(W)]]),o("span",{class:"gamutable-nbrMax","data-nbrmax":s(n).length},U(s(z).length)+" / "+U(s(n).length)+" \xE9l\xE9ments",9,jt),o("span",{class:"includespip",innerHTML:c.includespip},null,8,$t)]),s(K)==="bloc"?(u(),d("div",Tt,[(u(!0),d(P,null,N(s(z),e=>(u(),d("div",{class:"vueBlocs-unbloc",key:e.id,innerHTML:Me(e.html)},null,8,Lt))),128))])):x("",!0),s(K)==="tableau"?(u(),d("table",Vt,[o("thead",null,[o("tr",null,[(u(!0),d(P,null,N(s(g),(e,a,i)=>(u(),d("th",{key:"head_"+i,class:A([a,s(V)[a]])},[o("span",wt,[o("span",{innerHTML:e},null,8,Et),o("span",Mt,[o("i",{class:A(["fa fa-sort-asc fa-sort-up",ge(a,"asc")]),"aria-hidden":"true",onClick:S(v=>ie(a,"asc"),["stop"])},null,10,Pt),o("i",{class:A(["fa fa-sort-desc fa-sort-down",ge(a,"desc")]),"aria-hidden":"true",onClick:S(v=>ie(a,"desc"),["stop"])},null,10,Jt)])])],2))),128))]),s(w).length?(u(),d("tr",At,[(u(!0),d(P,null,N(s(g),(e,a,i)=>(u(),d("th",{key:"filtreCol_"+i},[s(B)[a]!==void 0?(u(),d("div",{key:0,id:"filtreCol_"+a,class:A([s(V)[a],"flex justify-between"])},[o("input",{class:"ml-2",type:"checkbox",onClick:S(v=>Pe(a),["stop"])},null,8,Dt),o("button",{onClick:S(v=>Je(a,s(B)[a]),["stop"])},Ut,8,Ht)],10,Bt)):x("",!0),s(w).indexOf(a)!==-1?(u(),d("div",{key:1,id:"filtreCol_"+a,class:A(s(V)[a])},[s(I)[a]==="select"?(u(),ze(s(Ke),{key:0,modelValue:s(m)[a],"onUpdate:modelValue":v=>s(m)[a]=v,options:s(se)[a].sort(s(Ze)),"hide-selected":"",multiple:"",taggable:"","close-on-select":"","clear-on-close":"",searchable:"",onSelected:Le,"onSearch:focus":re,onRemoved:re},{tag:Ge(({option:v,remove:y})=>[o("div",qt,[Se(U(v)+" ",1),o("span",{class:"tag--remove pointer",title:"Cliquer pour supprimer ",onClick:S(y,["stop"])},"x",8,Ft)])]),_:2},1032,["modelValue","onUpdate:modelValue","options"])):x("",!0),s(I)[a]==="input"?L((u(),d("input",{key:1,class:"gamutable__input--filtrer","onUpdate:modelValue":v=>s(m)[a]=v,type:"text",placeholder:"Rechercher",onKeydown:re},null,40,zt)),[[Ce,s(m)[a]]]):x("",!0),s(I)[a]==="input"&&s(m)[a].length!==0?(u(),d("button",{key:2,onClick:S(v=>Te(a),["stop"]),title:"Vider ce champ",class:"gamutable__input--filtrer"}," X ",8,Gt)):x("",!0)],10,Rt)):x("",!0)]))),128))])):x("",!0)]),o("tbody",null,[(u(!0),d(P,null,N(s(z),e=>(u(),d("tr",{key:e.html.id,class:A(s(Q).indexOf(e.html.id)!==-1?"select":"")},[(u(!0),d(P,null,N(e.html,(a,i,v)=>(u(),d("td",{key:"td_"+v,class:A([we(i,e),i,s(V)[i],e.classes!==void 0?e.classes[i]:""]),onClick:y=>be(e.html.id,i)},[s(B)[i]!==void 0?(u(),d("div",Xt,[a.split("-")[0]==="dataid"?(u(),d("div",Yt,[o("label",null,[L(o("input",{type:"checkbox","onUpdate:modelValue":y=>s(b)[i]=y,value:a.split("-")[1]},null,8,Qt),[[Xe,s(b)[i]]])])])):(u(),d("div",{key:1,innerHTML:a},null,8,Wt))])):(u(),d("div",{key:1,innerHTML:a},null,8,Zt))],10,Kt))),128))],2))),128))])])):x("",!0),o("div",el,[o("div",tl,U(s(z).length)+" / "+U(s(n).length)+" \xE9l\xE9ments ",1),o("div",ll,[o("div",al,[s(p)!=1?(u(),d("button",{key:0,type:"button",class:"page-link",onClick:t[10]||(t[10]=e=>H(p)?p.value=1:p=1)}," Premier ")):x("",!0),s(p)!=1?(u(),d("button",{key:1,type:"button",class:"page-link",onClick:t[11]||(t[11]=e=>H(p)?p.value--:p--)}," Pr\xE9c\xE9dent ")):x("",!0)]),o("div",sl,[(u(!0),d(P,null,N(s(D).slice(s(p)-4<0?0:s(p)-4,s(p)+3),e=>(u(),d("button",{type:"button",class:A(["page-link",{on:e===s(p)}]),onClick:a=>H(p)?p.value=e:p=e},U(e),11,nl))),256))]),o("div",ol,[s(p)<s(D).length?(u(),d("button",{key:0,type:"button",onClick:t[12]||(t[12]=e=>H(p)?p.value++:p++),class:"page-link"}," Suivant ")):x("",!0),s(p)<s(D).length?(u(),d("button",{key:1,type:"button",onClick:t[13]||(t[13]=e=>H(p)?p.value=s(D).length:p=s(D).length),class:"page-link"}," Dernier ")):x("",!0)])])])]),Se(" `, ")],64))}},il=et(rl,[["__scopeId","data-v-57f54e4e"]]),je={GamuTable:il};let pe=1;for(const c of document.getElementsByClassName("vue-gamutable"))pe===1?(window.app=xe({components:je,mounted(){app.rechargerJson=this.$refs.montableau.rechargerJson}}),app.use(Ie),app.provide("$papa",app.config.globalProperties.$papa),app.mount(c)):pe===2&&(window.app_deux=xe({components:je,mounted(){app_deux.rechargerJson=this.$refs.montableau_deux.rechargerJson}}),app_deux.use(Ie),app_deux.provide("$papa",app_deux.config.globalProperties.$papa),app_deux.mount(c)),pe++;
|