Files
rsu-new-site/frontend/chunk-6GZNND53.js

2 lines
7.3 KiB
JavaScript

import{b as F,c as L,d as D,e as W,f as j,g as q,h as U,p as P,s as z,t as O}from"./chunk-UDFQV3WY.js";import{a as _}from"./chunk-MBEC6LK4.js";import{Eb as r,Fa as s,Fb as x,Gb as M,Hc as A,Jb as h,Kb as b,Lb as y,M as S,R as f,S as p,Ta as E,Ya as v,ca as u,jb as c,kb as t,lb as i,pc as V,qb as C,qc as N,rb as g,rc as T,sb as m,xc as k}from"./chunk-TVKQFRWX.js";import{a as I,b as w}from"./chunk-DAQOROHW.js";function $(l,n){if(l&1&&(t(0,"div",10),r(1),i()),l&2){let e=m();s(),x(e.message())}}function B(l,n){l&1&&(t(0,"div",11),r(1,"Chargement\u2026"),i())}function G(l,n){l&1&&(t(0,"div",11),r(1,"Aucun flash info pour le moment."),i())}function H(l,n){if(l&1){let e=C();t(0,"article",14)(1,"div",15)(2,"div",16)(3,"h2",17),r(4),i(),t(5,"span",18),r(6),i()(),t(7,"p",19),r(8),i()(),t(9,"div",20)(10,"button",21),g("click",function(){let o=f(e).$implicit,d=m(2);return p(d.edit(o))}),r(11,"Modifier"),i(),t(12,"button",22),g("click",function(){let o=f(e).$implicit,d=m(2);return p(d.remove(o))}),r(13,"Supprimer"),i()()()}if(l&2){let e=n.$implicit;s(4),x(e.title),s(),c("ngClass",e.isActive?"bg-green-100 text-green-700":"bg-slate-100 text-slate-500"),s(),M(" ",e.isActive?"Visible":"Masqu\xE9e"," "),s(2),x(e.content)}}function J(l,n){if(l&1&&(t(0,"div",12),v(1,H,14,4,"article",13),i()),l&2){let e=m();s(),c("ngForOf",e.items())}}function K(l,n){if(l&1){let e=C();t(0,"div",23)(1,"div",24)(2,"div",25)(3,"h2",26),r(4),i()(),t(5,"form",27),g("ngSubmit",function(){f(e);let o=m();return p(o.save())}),t(6,"div")(7,"label",28),r(8,"Titre interne"),i(),t(9,"input",29),y("ngModelChange",function(o){f(e);let d=m();return b(d.form.title,o)||(d.form.title=o),p(o)}),i(),t(10,"p",30),r(11,"Ce titre sert \xE0 reconna\xEEtre l\u2019information dans l\u2019administration."),i()(),t(12,"div")(13,"label",31),r(14,"Texte affich\xE9 en haut du site"),i(),t(15,"textarea",32),y("ngModelChange",function(o){f(e);let d=m();return b(d.form.content,o)||(d.form.content=o),p(o)}),i()(),t(16,"label",33)(17,"input",34),y("ngModelChange",function(o){f(e);let d=m();return b(d.form.isActive,o)||(d.form.isActive=o),p(o)}),i(),t(18,"span",35),r(19,"Afficher cette information sur le site"),i()(),t(20,"div",36)(21,"button",37),g("click",function(){f(e);let o=m();return p(o.close())}),r(22,"Annuler"),i(),t(23,"button",38),r(24),i()()()()()}if(l&2){let e=m();s(4),x(e.editingId()===null?"Nouveau flash info":"Modifier le flash info"),s(5),h("ngModel",e.form.title),s(6),h("ngModel",e.form.content),s(2),h("ngModel",e.form.isActive),s(6),c("disabled",e.saving()),s(),x(e.saving()?"Enregistrement\u2026":"Enregistrer")}}var R=class l{http=S(A);items=u([]);loading=u(!0);saving=u(!1);showForm=u(!1);editingId=u(null);message=u("");form={title:"Information RSU",content:"",isActive:!0};constructor(){this.load()}load(){this.loading.set(!0),this.http.get(`${_.apiUrl}/flash-infos`,{params:{page:0,size:100}}).subscribe({next:n=>{this.items.set(n.content??[]),this.loading.set(!1)},error:()=>{this.message.set("Impossible de charger les informations."),this.loading.set(!1)}})}create(){this.editingId.set(null),this.form={title:"Information RSU",content:"",isActive:!0},this.showForm.set(!0)}edit(n){this.editingId.set(n.id),this.form={title:n.title,content:n.content,isActive:n.isActive},this.showForm.set(!0)}close(){this.showForm.set(!1)}save(){if(!this.form.title.trim()||!this.form.content.trim())return;this.saving.set(!0);let n=w(I({},this.form),{priority:"NORMAL",linkUrl:"",linkText:""}),e=this.editingId();(e===null?this.http.post(`${_.apiUrl}/flash-infos`,n):this.http.put(`${_.apiUrl}/flash-infos/${e}`,n)).subscribe({next:()=>{this.message.set(e===null?"Flash info cr\xE9\xE9 avec succ\xE8s.":"Flash info mis \xE0 jour avec succ\xE8s."),this.saving.set(!1),this.close(),this.load()},error:()=>{this.message.set("La sauvegarde a \xE9chou\xE9."),this.saving.set(!1)}})}remove(n){confirm(`Supprimer le flash info \xAB ${n.title} \xBB ?`)&&this.http.delete(`${_.apiUrl}/flash-infos/${n.id}`).subscribe({next:()=>{this.message.set("Flash info supprim\xE9."),this.load()},error:()=>this.message.set("La suppression a \xE9chou\xE9.")})}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=E({type:l,selectors:[["app-infoline"]],decls:15,vars:5,consts:[[1,"space-y-6"],[1,"flex","flex-col","gap-4","sm:flex-row","sm:items-center","sm:justify-between"],[1,"text-2xl","font-bold","text-slate-900"],[1,"mt-1","text-slate-500"],["type","button",1,"btn-primary",3,"click"],["class","rounded-xl border border-primary-200 bg-primary-50 px-4 py-3 text-sm text-primary-800",4,"ngIf"],[1,"overflow-hidden","rounded-2xl","border","border-slate-200","bg-white","shadow-sm"],["class","p-10 text-center text-slate-500",4,"ngIf"],["class","divide-y divide-slate-100",4,"ngIf"],["class","fixed inset-0 z-50 flex items-center justify-center bg-slate-950/50 p-4",4,"ngIf"],[1,"rounded-xl","border","border-primary-200","bg-primary-50","px-4","py-3","text-sm","text-primary-800"],[1,"p-10","text-center","text-slate-500"],[1,"divide-y","divide-slate-100"],["class","flex flex-col gap-4 p-5 md:flex-row md:items-center md:justify-between",4,"ngFor","ngForOf"],[1,"flex","flex-col","gap-4","p-5","md:flex-row","md:items-center","md:justify-between"],[1,"min-w-0"],[1,"flex","items-center","gap-3"],[1,"font-semibold","text-slate-900"],[1,"rounded-full","px-2.5","py-1","text-xs","font-semibold",3,"ngClass"],[1,"mt-2","text-sm","leading-6","text-slate-600"],[1,"flex","shrink-0","gap-2"],["type","button",1,"rounded-lg","border","border-primary-300","px-4","py-2","text-sm","font-semibold","text-primary-700","hover:bg-primary-50",3,"click"],["type","button",1,"rounded-lg","border","border-red-300","px-4","py-2","text-sm","font-semibold","text-red-600","hover:bg-red-50",3,"click"],[1,"fixed","inset-0","z-50","flex","items-center","justify-center","bg-slate-950/50","p-4"],[1,"w-full","max-w-2xl","rounded-2xl","bg-white","shadow-2xl"],[1,"border-b","border-slate-200","p-6"],[1,"text-xl","font-bold","text-slate-900"],[1,"space-y-5","p-6",3,"ngSubmit"],["for","info-title",1,"label"],["id","info-title","name","title","required","","maxlength","255",1,"input",3,"ngModelChange","ngModel"],[1,"mt-1","text-xs","text-slate-500"],["for","info-content",1,"label"],["id","info-content","name","content","required","","maxlength","500",1,"input","min-h-32",3,"ngModelChange","ngModel"],[1,"flex","items-center","gap-3","rounded-xl","bg-slate-50","p-4"],["type","checkbox","name","isActive",1,"h-5","w-5","rounded","border-slate-300","text-primary-700",3,"ngModelChange","ngModel"],[1,"font-medium","text-slate-700"],[1,"flex","justify-end","gap-3","border-t","border-slate-200","pt-5"],["type","button",1,"rounded-lg","border","border-slate-300","px-5","py-2.5","font-semibold","text-slate-700",3,"click"],["type","submit",1,"btn-primary",3,"disabled"]],template:function(e,a){e&1&&(t(0,"div",0)(1,"div",1)(2,"div")(3,"h1",2),r(4,"Flash info"),i(),t(5,"p",3),r(6,"G\xE9rez les informations qui d\xE9filent au-dessus du carrousel."),i()(),t(7,"button",4),g("click",function(){return a.create()}),r(8,"+ Nouvelle information"),i()(),v(9,$,2,1,"div",5),t(10,"div",6),v(11,B,2,0,"div",7)(12,G,2,0,"div",7)(13,J,2,1,"div",8),i()(),v(14,K,25,6,"div",9)),e&2&&(s(9),c("ngIf",a.message()),s(2),c("ngIf",a.loading()),s(),c("ngIf",!a.loading()&&a.items().length===0),s(),c("ngIf",!a.loading()&&a.items().length),s(),c("ngIf",a.showForm()))},dependencies:[k,V,N,T,O,U,L,F,D,W,P,z,q,j],encapsulation:2})};export{R as InfolineComponent};