Files
rsu-new-site/frontend/chunk-TBADIHJE.js

2 lines
17 KiB
JavaScript

import{a as re}from"./chunk-CQKJN64S.js";import{a as ne}from"./chunk-YEESETR2.js";import{c as J,d as U,e as K,f as Q,g as X,h as Y,k as Z,l as $,n as ee,p as te,t as ie}from"./chunk-UDFQV3WY.js";import{i as z}from"./chunk-ZEULGWAI.js";import{a as H}from"./chunk-MBEC6LK4.js";import{Eb as o,Fa as s,Fb as S,Gb as N,Jb as x,Kb as v,Lb as h,Oa as V,Ob as I,R as c,Rb as B,S as u,T as C,Ta as D,U as E,Ya as T,ca as _,db as y,fb as w,hb as P,ib as j,jb as g,kb as t,lb as n,mb as f,nb as F,ob as A,pc as W,qb as b,qc as L,rb as p,rc as R,sb as d,sc as G,xc as q}from"./chunk-TVKQFRWX.js";import{a as O,b as k}from"./chunk-DAQOROHW.js";var ae=()=>({"background-color":"#00843B","border-color":"#00843B"}),le=()=>({}),me=(a,i,e)=>({"bg-green-50 border-green-500 text-green-700":a,"bg-red-50 border-red-500 text-red-700":i,"bg-blue-50 border-blue-500 text-blue-700":e}),se=(a,i)=>i.id;function de(a,i){a&1&&(t(0,"div",8),f(1,"div",13),n())}function ce(a,i){a&1&&(t(0,"div",8),C(),t(1,"svg",14),f(2,"path",15),n(),E(),t(3,"p",3),o(4,"Aucun ajout pour le moment"),n()())}function ue(a,i){if(a&1){let e=b();t(0,"tr")(1,"td")(2,"div",21)(3,"p",22),o(4),n()()(),t(5,"td")(6,"span",23),o(7),n()(),t(8,"td")(9,"span",24),o(10),n()(),t(11,"td")(12,"span",23),o(13),n()(),t(14,"td",17)(15,"div",25)(16,"button",26),p("click",function(){let r=c(e).$implicit,l=d(2);return u(l.editDocument(r))}),C(),t(17,"svg",27),f(18,"path",28),n()(),E(),t(19,"button",29),p("click",function(){let r=c(e).$implicit,l=d(2);return u(l.deleteDocument(r))}),C(),t(20,"svg",30),f(21,"path",31),n()()()()()}if(a&2){let e=i.$implicit;s(4),S(e.title),s(3),S(e.name),s(3),S(e.structureType),s(3),S(e.niveau)}}function ge(a,i){if(a&1){let e=b();F(0),t(1,"button",32),p("click",function(){let r=c(e).$implicit,l=d(2);return u(l.goToPage(r))}),o(2),n(),A()}if(a&2){let e=i.$implicit,m=d(2);s(),g("ngClass",m.currentPage()===e?"px-3 py-1 border rounded text-white":"px-3 py-1 border border-gray-300 rounded hover:bg-gray-100 transition-colors")("ngStyle",m.currentPage()===e?I(3,ae):I(4,le)),s(),N(" ",e," ")}}function pe(a,i){if(a&1){let e=b();t(0,"div",9)(1,"table",16)(2,"thead")(3,"tr")(4,"th"),o(5,"Titre"),n(),t(6,"th"),o(7,"Nom"),n(),t(8,"th"),o(9,"structureType"),n(),t(10,"th"),o(11,"Niveau"),n(),t(12,"th",17),o(13,"Actions"),n()()(),t(14,"tbody"),P(15,ue,22,4,"tr",null,se),n()(),t(17,"div",18)(18,"button",19),p("click",function(){c(e);let r=d();return u(r.prevPage())}),o(19," \xAB Pr\xE9c\xE9dent "),n(),T(20,ge,3,5,"ng-container",20),t(21,"button",19),p("click",function(){c(e);let r=d();return u(r.nextPage())}),o(22," Suivant \xBB "),n()()()}if(a&2){let e=d();s(15),j(e.documents()),s(3),g("disabled",e.currentPage()===1),s(2),g("ngForOf",e.pages()),s(),g("disabled",e.currentPage()===e.totalPages())}}function _e(a,i){if(a&1&&(t(0,"option",68),o(1),n()),a&2){let e=i.$implicit;g("value",e.id),s(),N(" ",e.nomGeneral," ")}}function fe(a,i){a&1&&f(0,"div",67)}function xe(a,i){if(a&1){let e=b();t(0,"div",10)(1,"div",33)(2,"div",34)(3,"h2",35),o(4),n()(),t(5,"form",36),p("ngSubmit",function(){c(e);let r=d();return u(r.saveDocument())}),t(6,"div")(7,"label",37),o(8,"Minist\xE8re"),t(9,"span",38),o(10,"*"),n()(),t(11,"select",39),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.ministereId,r)||(l.form.ministereId=r),u(r)}),t(12,"option",40),o(13,"-- S\xE9lectionner --"),n(),T(14,_e,2,2,"option",41),n()(),t(15,"div",42)(16,"div")(17,"label",37),o(18,"Type Structure"),t(19,"span",38),o(20,"*"),n()(),t(21,"select",43),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.structureType,r)||(l.form.structureType=r),u(r)}),t(22,"option",44),o(23,"MINISTERE"),n(),t(24,"option",45),o(25,"CABINET"),n(),t(26,"option",46),o(27,"DIRECTION"),n(),t(28,"option",47),o(29,"SERVICE"),n(),t(30,"option",48),o(31,"AGENCE"),n(),t(32,"option",49),o(33,"ETABLISSEMENT"),n(),t(34,"option",50),o(35,"PROJET"),n()()(),t(36,"div")(37,"label",37),o(38,"Niveau"),t(39,"span",38),o(40,"*"),n()(),t(41,"select",51),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.niveau,r)||(l.form.niveau=r),u(r)}),t(42,"option",52),o(43,"Niveau 1"),n(),t(44,"option",53),o(45,"Niveau 2"),n(),t(46,"option",54),o(47,"Niveau 3"),n(),t(48,"option",55),o(49,"Niveau 4"),n(),t(50,"option",56),o(51,"Niveau 5"),n()()()(),t(52,"div")(53,"label",37),o(54,"Titre "),t(55,"span",38),o(56,"*"),n()(),t(57,"input",57),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.title,r)||(l.form.title=r),u(r)}),n()(),t(58,"div",42)(59,"div")(60,"label",37),o(61,"Acronyme "),t(62,"span",38),o(63,"*"),n()(),t(64,"input",58),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.acronym,r)||(l.form.acronym=r),u(r)}),n()(),t(65,"div")(66,"label",37),o(67,"Nom Complet "),t(68,"span",38),o(69,"*"),n()(),t(70,"input",59),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.name,r)||(l.form.name=r),u(r)}),n()()(),t(71,"div",42)(72,"div")(73,"label",37),o(74,"Contact"),t(75,"span",38),o(76,"*"),n()(),t(77,"input",60),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.phone,r)||(l.form.phone=r),u(r)}),n()(),t(78,"div")(79,"label",37),o(80,"Email"),t(81,"span",38),o(82,"*"),n()(),t(83,"input",61),h("ngModelChange",function(r){c(e);let l=d();return v(l.form.email,r)||(l.form.email=r),u(r)}),n()()(),t(84,"div")(85,"label",37),o(86,"Fichier joint (PDF)"),t(87,"span",62),o(88,"*"),n()(),t(89,"input",63),p("change",function(r){c(e);let l=d();return u(l.onFileSelected(r))}),n()(),t(90,"div",64)(91,"button",65),p("click",function(){c(e);let r=d();return u(r.closeModal())}),o(92,"Annuler"),n(),t(93,"button",66),y(94,fe,1,0,"div",67),o(95),n()()()()()}if(a&2){let e=d();s(4),S(e.editingDocument()?"Modifier ":"Nouveau "),s(7),x("ngModel",e.form.ministereId),s(3),g("ngForOf",e.projects()),s(7),x("ngModel",e.form.structureType),s(20),x("ngModel",e.form.niveau),s(16),x("ngModel",e.form.title),s(7),x("ngModel",e.form.acronym),s(6),x("ngModel",e.form.name),s(7),x("ngModel",e.form.phone),s(6),x("ngModel",e.form.email),s(10),g("disabled",e.saving()),s(),w(e.saving()?94:-1),s(),N(" ",e.editingDocument()?"Mettre \xE0 jour":"Cr\xE9er"," ")}}function ve(a,i){a&1&&(C(),t(0,"svg",72),f(1,"path",73),n())}function he(a,i){a&1&&(C(),t(0,"svg",72),f(1,"path",74),n())}function Ce(a,i){a&1&&(C(),t(0,"svg",72),f(1,"path",75),n())}function Se(a,i){if(a&1&&(t(0,"div",11)(1,"div",69),T(2,ve,2,0,"svg",70)(3,he,2,0,"svg",70)(4,Ce,2,0,"svg",70),t(5,"span",71),o(6),n()()()),a&2){let e=d();s(),g("ngClass",B(5,me,e.notification().type==="success",e.notification().type==="error",e.notification().type==="info")),s(),g("ngIf",e.notification().type==="success"),s(),g("ngIf",e.notification().type==="error"),s(),g("ngIf",e.notification().type==="info"),s(2),S(e.notification().message)}}function ye(a,i){if(a&1){let e=b();t(0,"div",12)(1,"div",76)(2,"h3",77),o(3,"Confirmation"),n(),t(4,"p",78),o(5),n(),t(6,"div",79)(7,"button",80),p("click",function(){c(e);let r=d();return u(r.closeConfirmModal())}),o(8," Annuler "),n(),t(9,"button",81),p("click",function(){c(e);let r=d();return u(r.confirmModal().onConfirm())}),o(10," Supprimer "),n()()()()}if(a&2){let e=d();s(5),S(e.confirmModal().message)}}var oe=class a{constructor(i,e){this.apiService=i;this.minService=e}API_URL=H.FileUrl;notification=_({show:!1,message:"",type:"success"});projects=_([]);documents=_([]);loading=_(!0);showModal=_(!1);editingDocument=_(null);saving=_(!1);selectedImage=null;selectedFile=null;currentPage=_(1);pageSize=7;totalPages=_(1);form={title:"",phone:"",name:"",acronym:"",ministereName:"",niveau:"",structureType:"",ministereId:0,email:""};ngOnInit(){this.loadDocuments(),this.loadProjects()}loadDocuments(i=0){this.loading.set(!0),this.apiService.getAllOrg(i,this.pageSize).subscribe({next:e=>{e.success&&(this.documents.set(e.data.content),this.totalPages.set(e.data.totalPages),this.currentPage.set(i+1)),this.loading.set(!1)},error:()=>this.loading.set(!1)})}nextPage(){this.currentPage()<this.totalPages()&&this.loadDocuments(this.currentPage())}prevPage(){this.currentPage()>1&&this.loadDocuments(this.currentPage()-2)}goToPage(i){this.loadDocuments(i-1)}pages(){return Array.from({length:this.totalPages()},(i,e)=>e+1)}openModal(){this.form={title:"",phone:"",name:"",acronym:"",ministereName:"",niveau:"",structureType:"",ministereId:0,email:""},this.selectedFile=null,this.editingDocument.set(null),this.showModal.set(!0)}openModal1(){this.form={title:"",phone:"",name:"",acronym:"",ministereName:"",niveau:"",structureType:"",ministereId:0,email:""},this.editingDocument.set(null),this.showModal.set(!0)}closeModal(){this.showModal.set(!1),this.editingDocument.set(null)}editDocument1(i){this.form={title:i.title,name:i.name,ministereId:i.ministereId,ministereName:i.ministereName,phone:i.phone,acronym:i.acronym,niveau:i.niveau,email:i.email,structureType:i.structureType},this.editingDocument.set(i),this.showModal.set(!0)}editDocument(i){this.form={title:i.title,name:i.name,ministereId:i.ministereId,ministereName:i.ministereName,phone:i.phone,acronym:i.acronym,niveau:i.niveau,email:i.email,structureType:i.structureType},this.editingDocument.set(i),this.showModal.set(!0)}loadProjects(){this.minService.getAllMins().subscribe({next:i=>{console.log("RESPONSE =",i),this.projects.set(i.data.content),console.log("PROJECTS =",this.projects())},error:i=>{console.error("Erreur API",i)}})}onFileSelected(i){let e=i.target;if(!e.files||e.files.length===0){this.selectedFile=null;return}let m=e.files[0];if(!m.type.startsWith("image/")){alert("Pour une actualit\xE9, veuillez s\xE9lectionner une image"),e.value="",this.selectedFile=null;return}this.selectedFile=m}saveDocument(){if(!this.form.title)return;let e=this.projects().find(M=>M.id==this.form.ministereId)?.nomGeneral;this.saving.set(!0);let m=this.editingDocument(),r={title:this.form.title,name:this.form.name,phone:this.form.phone,email:this.form.email,acronym:this.form.acronym,ministereId:this.form.ministereId,ministereName:e,niveau:this.form.niveau,structureType:this.form.structureType};console.log(r);let l=new FormData;l.append("structure",new Blob([JSON.stringify(r)],{type:"application/json"})),l.append("authorId","1"),this.selectedFile&&l.append("photo",this.selectedFile),(m?this.apiService.updateOrg(m.id,l):this.apiService.createOrg(l)).subscribe({next:M=>{this.loadDocuments(),this.closeModal(),this.saving.set(!1),this.showNotification(m?"Document mis \xE0 jour avec succ\xE8s":"Document cr\xE9\xE9 avec succ\xE8s","success")},error:M=>{console.error("Erreur lors de la sauvegarde",M),this.saving.set(!1),this.showNotification("Erreur lors de la sauvegarde","error")}})}formatDate(i){return i?new Date(i).toLocaleDateString("fr-FR"):""}showNotification(i,e="success",m=2e3){this.notification.set({show:!0,message:i,type:e}),setTimeout(()=>this.notification.update(r=>k(O({},r),{show:!1})),m)}confirmModal=_({show:!1,message:"",onConfirm:()=>{}});openConfirmModal(i,e){this.confirmModal.set({show:!0,message:i,onConfirm:e})}closeConfirmModal(){this.confirmModal.update(i=>k(O({},i),{show:!1}))}deleteDocument(i){this.openConfirmModal(`Voulez-vous vraiment supprimer l'article "${i.title}" ?`,()=>{this.apiService.deleteOrg(i.id).subscribe({next:()=>{this.loadDocuments(),this.closeConfirmModal(),this.showNotification("Article supprim\xE9 avec succ\xE8s","success")},error:()=>{this.showNotification("Erreur lors de la suppression","error"),this.closeConfirmModal()}})})}getImageUrl(i){return console.log(i),i?this.API_URL+i:null}static \u0275fac=function(e){return new(e||a)(V(re),V(ne))};static \u0275cmp=D({type:a,selectors:[["app-organigramme"]],decls:18,vars:4,consts:[[1,"space-y-6"],[1,"flex","flex-col","sm:flex-row","sm:items-center","sm:justify-between","gap-4"],[1,"text-2xl","font-bold","text-neutral-900"],[1,"text-neutral-500"],[1,"btn-primary",2,"background-color","#00843B",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-5","h-5","mr-2"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M12 6v6m0 0v6m0-6h6m-6 0H6"],[1,"card","p-0"],[1,"p-8","text-center"],[1,"table-container"],[1,"fixed","inset-0","bg-black/50","flex","items-center","justify-center","z-50","p-4"],[1,"fixed","top-4","right-4","z-50","pointer-events-none"],[1,"fixed","inset-0","bg-black/30","flex","items-center","justify-center","z-50","p-4"],[1,"spinner","w-8","h-8","mx-auto"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-12","h-12","text-neutral-300","mx-auto","mb-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"],[1,"table"],[1,"text-right"],[1,"flex","justify-end","items-center","mt-2","px-6","py-2","gap-2","border-t","border-gray-200","bg-gray-50","rounded-b-lg"],[1,"px-3","py-1","border","border-gray-300","rounded","hover:bg-gray-100","disabled:opacity-50","transition-colors",3,"click","disabled"],[4,"ngFor","ngForOf"],[1,"max-w-xs"],[1,"font-medium","text-neutral-900","truncate"],[1,""],[1,"badge-primary"],[1,"flex","justify-end","gap-2"],["title","Modifier",1,"flex","items-center","justify-center","p-2","border-2","border-green-500","rounded-full","bg-white","hover:bg-green-50","transition-colors",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-4","h-4","text-green-500"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"],["title","Supprimer",1,"flex","items-center","justify-center","p-2","border-2","border-red-500","rounded-full","bg-white","hover:bg-red-50","transition-colors",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-4","h-4","text-red-500"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"],[3,"click","ngClass","ngStyle"],[1,"bg-white","rounded-2xl","shadow-xl","w-full","max-w-3xl","max-h-[90vh]","overflow-y-auto"],[1,"p-6","border-b","border-neutral-200"],[1,"text-xl","font-semibold","text-neutral-900"],[1,"p-6","space-y-5",3,"ngSubmit"],[1,"label"],[1,"text-danger-500"],["name","ministereId","required","",1,"input",3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[1,"grid","grid-cols-1","md:grid-cols-2","gap-6"],["name","structureType","required","",1,"input",3,"ngModelChange","ngModel"],["value","MINISTERE"],["value","CABINET"],["value","DIRECTION"],["value","SERVICE"],["value","AGENCE"],["value","ETABLISSEMENT"],["value","PROJET"],["name","niveau","required","",1,"input",3,"ngModelChange","ngModel"],["value","Niveau 1"],["value","Niveau 2"],["value","Niveau 3"],["value","Niveau 4"],["value","Niveau 5"],["type","text","name","title","required","",1,"input",3,"ngModelChange","ngModel"],["type","text","name","acronym","required","",1,"input",3,"ngModelChange","ngModel"],["type","text","name","name","required","",1,"input",3,"ngModelChange","ngModel"],["type","tel","name","phone","required","",1,"input",3,"ngModelChange","ngModel"],["type","email","name","email","required","",1,"input",3,"ngModelChange","ngModel"],[1,"text-red-500"],["type","file","accept","image/*",1,"input",3,"change"],[1,"flex","justify-end","gap-3","pt-4","border-t","border-neutral-200"],["type","button",1,"px-4","py-2","rounded-lg","border","border-red-500","text-red-500","hover:bg-red-50","transition-colors","font-medium",3,"click"],["type","submit",1,"btn-primary",3,"disabled"],[1,"spinner","w-4","h-4","mr-2"],[3,"value"],[1,"pointer-events-auto","border-l-4","rounded-lg","shadow-lg","p-6","max-w-sm","w-full","flex","items-center","gap-4","animate-fade-in",3,"ngClass"],["class","w-6 h-6 flex-shrink-0","fill","none","stroke","currentColor","viewBox","0 0 24 24",4,"ngIf"],[1,"text-sm","font-medium"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-6","h-6","flex-shrink-0"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M5 13l4 4L19 7"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M6 18L18 6M6 6l12 12"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M13 16h-1v-4h-1m1-4h.01M12 20a8 8 0 100-16 8 8 0 000 16z"],[1,"bg-white","rounded-2xl","shadow-xl","w-full","max-w-md","p-6","space-y-4"],[1,"text-lg","font-semibold","text-neutral-900"],[1,"text-neutral-700"],[1,"flex","justify-end","gap-3","mt-4"],[1,"px-4","py-2","rounded-lg","border","border-gray-300","text-gray-700","hover:bg-gray-100","transition-colors","font-medium",3,"click"],[1,"px-4","py-2","rounded-lg","bg-red-600","text-white","hover:bg-red-700","transition-colors","font-medium",3,"click"]],template:function(e,m){e&1&&(t(0,"div",0)(1,"div",1)(2,"div")(3,"h1",2),o(4,"Organigramme"),n(),t(5,"p",3),o(6,"G\xE9rez l'organisation du Minist\xE8re"),n()(),t(7,"button",4),p("click",function(){return m.openModal()}),C(),t(8,"svg",5),f(9,"path",6),n(),o(10," Nouvel Ajout "),n()(),E(),t(11,"div",7),y(12,de,2,0,"div",8)(13,ce,5,0,"div",8)(14,pe,23,3,"div",9),n(),y(15,xe,96,13,"div",10),n(),y(16,Se,7,9,"div",11),y(17,ye,11,1,"div",12)),e&2&&(s(12),w(m.loading()?12:m.documents().length===0?13:14),s(3),w(m.showModal()?15:-1),s(),w(m.notification().show?16:-1),s(),w(m.confirmModal().show?17:-1))},dependencies:[q,W,L,R,G,ie,Y,$,ee,J,Z,U,K,te,X,Q,z],encapsulation:2})};export{oe as OrganigrammeComponent};