2 lines
9.4 KiB
JavaScript
2 lines
9.4 KiB
JavaScript
import"./chunk-JGH6I3KN.js";import{a as q}from"./chunk-YEESETR2.js";import{b as N,c as L,d as R,e as P,f as W,g as B,h as H,k as U,l as F,n as O,p as j,t as G}from"./chunk-UDFQV3WY.js";import"./chunk-MBEC6LK4.js";import{Db as k,Eb as r,Fa as s,Fb as g,Gb as M,Jb as x,Kb as f,Lb as _,Oa as w,R as c,S as u,T as A,Ta as y,U as h,ca as C,db as S,fb as E,hb as T,ib as V,jb as D,kb as e,lb as t,mb as p,qb as b,rb as v,sb as m,xc as I}from"./chunk-TVKQFRWX.js";import"./chunk-DAQOROHW.js";var Q=(d,n)=>n.id;function J(d,n){d&1&&(e(0,"div",8),p(1,"div",11),t())}function K(d,n){d&1&&(e(0,"div",8),A(),e(1,"svg",12),p(2,"path",13),t(),h(),e(3,"p",3),r(4,"Aucun article pour le moment"),t()())}function X(d,n){if(d&1){let i=b();e(0,"tr")(1,"td")(2,"div",16)(3,"p",17),r(4),t(),e(5,"p",18),r(6),t()()(),e(7,"td")(8,"span",19),r(9),t()(),e(10,"td")(11,"span"),r(12),t()(),e(13,"td"),r(14),t(),e(15,"td",20),r(16),t(),e(17,"td",15)(18,"div",21)(19,"button",22),v("click",function(){let o=c(i).$implicit,l=m(2);return u(l.editArticle(o))}),A(),e(20,"svg",23),p(21,"path",24),t()(),h(),e(22,"button",25),v("click",function(){let o=c(i).$implicit,l=m(2);return u(l.deleteArticle(o))}),A(),e(23,"svg",23),p(24,"path",26),t()()()()()}if(d&2){let i=n.$implicit,a=m(2);s(4),g(i.title),s(2),g(i.summary),s(3),g(a.getCategoryLabel(i.category)),s(2),k(a.getStatusBadgeClass(i.status)),s(),g(a.getStatusLabel(i.status)),s(2),g(i.viewCount),s(2),g(a.formatDate(i.createdAt))}}function Y(d,n){if(d&1&&(e(0,"div",9)(1,"table",14)(2,"thead")(3,"tr")(4,"th"),r(5,"Titre"),t(),e(6,"th"),r(7,"Cat\xE9gorie"),t(),e(8,"th"),r(9,"Statut"),t(),e(10,"th"),r(11,"Vues"),t(),e(12,"th"),r(13,"Date"),t(),e(14,"th",15),r(15,"Actions"),t()()(),e(16,"tbody"),T(17,X,25,8,"tr",null,Q),t()()()),d&2){let i=m();s(17),V(i.articles())}}function Z(d,n){d&1&&p(0,"div",54)}function $(d,n){if(d&1){let i=b();e(0,"div",10)(1,"div",27)(2,"div",28)(3,"h2",29),r(4),t()(),e(5,"form",30),v("ngSubmit",function(){c(i);let o=m();return u(o.saveArticle())}),e(6,"div")(7,"label",31),r(8,"Titre "),e(9,"span",32),r(10,"*"),t()(),e(11,"input",33),_("ngModelChange",function(o){c(i);let l=m();return f(l.form.title,o)||(l.form.title=o),u(o)}),t()(),e(12,"div")(13,"label",31),r(14,"R\xE9sum\xE9"),t(),e(15,"textarea",34),_("ngModelChange",function(o){c(i);let l=m();return f(l.form.summary,o)||(l.form.summary=o),u(o)}),t()(),e(16,"div")(17,"label",31),r(18,"Contenu "),e(19,"span",32),r(20,"*"),t()(),e(21,"textarea",35),_("ngModelChange",function(o){c(i);let l=m();return f(l.form.content,o)||(l.form.content=o),u(o)}),t()(),e(22,"div",36)(23,"div")(24,"label",31),r(25,"Cat\xE9gorie"),t(),e(26,"select",37),_("ngModelChange",function(o){c(i);let l=m();return f(l.form.category,o)||(l.form.category=o),u(o)}),e(27,"option",38),r(28,"Actualit\xE9"),t(),e(29,"option",39),r(30,"Communiqu\xE9"),t(),e(31,"option",40),r(32,"\xC9v\xE9nement"),t(),e(33,"option",41),r(34,"Rapport"),t(),e(35,"option",42),r(36,"Discours"),t()()(),e(37,"div")(38,"label",31),r(39,"Statut"),t(),e(40,"select",43),_("ngModelChange",function(o){c(i);let l=m();return f(l.form.status,o)||(l.form.status=o),u(o)}),e(41,"option",44),r(42,"Brouillon"),t(),e(43,"option",45),r(44,"En attente"),t(),e(45,"option",46),r(46,"Publi\xE9"),t(),e(47,"option",47),r(48,"Archiv\xE9"),t()()()(),e(49,"div",48)(50,"input",49),_("ngModelChange",function(o){c(i);let l=m();return f(l.form.featured,o)||(l.form.featured=o),u(o)}),t(),e(51,"label",50),r(52,"Mettre en avant"),t()(),e(53,"div",51)(54,"button",52),v("click",function(){c(i);let o=m();return u(o.closeModal())}),r(55,"Annuler"),t(),e(56,"button",53),S(57,Z,1,0,"div",54),r(58),t()()()()()}if(d&2){let i=m();s(4),M(" ",i.editingArticle()?"Modifier l'article":"Nouvel article"," "),s(7),x("ngModel",i.form.title),s(4),x("ngModel",i.form.summary),s(6),x("ngModel",i.form.content),s(5),x("ngModel",i.form.category),s(14),x("ngModel",i.form.status),s(10),x("ngModel",i.form.featured),s(6),D("disabled",i.saving()),s(),E(i.saving()?57:-1),s(),M(" ",i.editingArticle()?"Mettre \xE0 jour":"Cr\xE9er"," ")}}var z=class d{constructor(n){this.apiService=n}articles=C([]);loading=C(!0);showModal=C(!1);editingArticle=C(null);saving=C(!1);form={title:"",summary:"",content:"",category:"ACTUALITE",status:"DRAFT",featured:!1};ngOnInit(){this.loadArticles()}loadArticles(){this.apiService.getAllArticles(0,50).subscribe({next:n=>{n.success&&this.articles.set(n.data.content),this.loading.set(!1)},error:()=>this.loading.set(!1)})}openModal(){this.form={title:"",summary:"",content:"",category:"ACTUALITE",status:"DRAFT",featured:!1},this.editingArticle.set(null),this.showModal.set(!0)}closeModal(){this.showModal.set(!1),this.editingArticle.set(null)}editArticle(n){this.form={title:n.title,summary:n.summary||"",content:n.content,category:n.category,status:n.status,featured:n.featured},this.editingArticle.set(n),this.showModal.set(!0)}saveArticle(){if(!this.form.title||!this.form.content)return;this.saving.set(!0);let n=this.editingArticle();(n?this.apiService.updateArticle1(n.id,this.form):this.apiService.createArticle1(this.form)).subscribe({next:a=>{a.success&&(this.loadArticles(),this.closeModal()),this.saving.set(!1)},error:()=>this.saving.set(!1)})}deleteArticle(n){confirm(`Supprimer l'article "${n.title}" ?`)&&this.apiService.deleteArticle(n.id).subscribe({next:()=>this.loadArticles()})}getCategoryLabel(n){return{ACTUALITE:"Actualit\xE9",COMMUNIQUE:"Communiqu\xE9",EVENEMENT:"\xC9v\xE9nement",PROJET:"Projet",RAPPORT:"Rapport",DISCOURS:"Discours"}[n]||n}getStatusLabel(n){return{DRAFT:"Brouillon",PENDING:"En attente",PUBLISHED:"Publi\xE9",ARCHIVED:"Archiv\xE9"}[n]||n}getStatusBadgeClass(n){return{DRAFT:"badge bg-neutral-100 text-neutral-600",PENDING:"badge-warning",PUBLISHED:"badge-success",ARCHIVED:"badge bg-neutral-100 text-neutral-600"}[n]||"badge"}formatDate(n){return n?new Date(n).toLocaleDateString("fr-FR"):""}static \u0275fac=function(i){return new(i||d)(w(q))};static \u0275cmp=y({type:d,selectors:[["app-admin-articles"]],decls:16,vars:2,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",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,"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","M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"],[1,"table"],[1,"text-right"],[1,"max-w-xs"],[1,"font-medium","text-neutral-900","truncate"],[1,"text-xs","text-neutral-400","truncate"],[1,"badge-primary"],[1,"text-sm","text-neutral-500"],[1,"flex","justify-end","gap-2"],["title","Modifier",1,"btn-ghost","p-2",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-4","h-4"],["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,"btn-ghost","p-2","text-secondary-500","hover:text-secondary-600",3,"click"],["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"],[1,"bg-white","rounded-2xl","shadow-xl","w-full","max-w-2xl","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-secondary-500"],["type","text","name","title","required","",1,"input",3,"ngModelChange","ngModel"],["name","summary","rows","2",1,"input","resize-none",3,"ngModelChange","ngModel"],["name","content","rows","6","required","",1,"input","resize-none",3,"ngModelChange","ngModel"],[1,"grid","grid-cols-2","gap-4"],["name","category",1,"input",3,"ngModelChange","ngModel"],["value","ACTUALITE"],["value","COMMUNIQUE"],["value","EVENEMENT"],["value","RAPPORT"],["value","DISCOURS"],["name","status",1,"input",3,"ngModelChange","ngModel"],["value","DRAFT"],["value","PENDING"],["value","PUBLISHED"],["value","ARCHIVED"],[1,"flex","items-center","gap-2"],["type","checkbox","name","featured","id","featured",1,"rounded","border-neutral-300","text-primary-500","focus:ring-primary-500",3,"ngModelChange","ngModel"],["for","featured",1,"text-sm","text-neutral-700"],[1,"flex","justify-end","gap-3","pt-4","border-t","border-neutral-200"],["type","button",1,"btn-ghost",3,"click"],["type","submit",1,"btn-primary",3,"disabled"],[1,"spinner","w-4","h-4","mr-2"]],template:function(i,a){i&1&&(e(0,"div",0)(1,"div",1)(2,"div")(3,"h1",2),r(4,"Articles"),t(),e(5,"p",3),r(6,"G\xE9rez les actualit\xE9s et communiqu\xE9s"),t()(),e(7,"button",4),v("click",function(){return a.openModal()}),A(),e(8,"svg",5),p(9,"path",6),t(),r(10," Nouvel article "),t()(),h(),e(11,"div",7),S(12,J,2,0,"div",8)(13,K,5,0,"div",8)(14,Y,19,0,"div",9),t(),S(15,$,59,10,"div",10),t()),i&2&&(s(12),E(a.loading()?12:a.articles().length===0?13:14),s(3),E(a.showModal()?15:-1))},dependencies:[I,G,H,F,O,L,N,U,R,P,j,B,W],encapsulation:2})};export{z as AdminArticlesComponent};
|