gamutable/dist/assets/gamutable.5c8781b1.js
2023-01-11 21:41:23 +01:00

1 line
17 KiB
JavaScript

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