1import{a as Z,c as J}from"./chunk-KEH7UNSY.js";import{a as l,b as u,f as T,g as Y}from"./chunk-6JD7T65J.js";import{a as G}from"./chunk-IVV2F56M.js";import{a as U}from"./chunk-ZWQOU6HL.js";import{a as D}from"./chunk-KCD7M2FM.js";import"./chunk-247TI7II.js";import"./chunk-7CSQZ4LU.js";import"./chunk-JDZNYKLG.js";import"./chunk-4NHF6KYI.js";import"./chunk-HZJEL3RD.js";import"./chunk-HDKERHZ7.js";import"./chunk-PM6J42SI.js";import"./chunk-VBTPU6XE.js";import"./chunk-WN6MGQHR.js";import"./chunk-Z756Z7TN.js";import"./chunk-YBLC47IV.js";import"./chunk-HBCARXYU.js";import"./chunk-FCBT3OVV.js";import"./chunk-5G4I4MEQ.js";import"./chunk-7QHXAE3D.js";import"./chunk-SBITTQHG.js";import"./chunk-SR2Z3FYO.js";import"./chunk-WQXF4LYG.js";import"./chunk-FP36IVGY.js";import"./chunk-IZNI2UKI.js";import"./chunk-E3JYLDE5.js";import"./chunk-V4HSB2UK.js";import"./chunk-KRYKJWVK.js";import"./chunk-RDAUFBOA.js";import"./chunk-NZKZPPQP.js";import"./chunk-AYUMU3FA.js";import"./chunk-36WVUEIZ.js";import"./chunk-2TBSRX74.js";import"./chunk-N2HOWMLB.js";import"./chunk-LTUIDJBQ.js";import"./chunk-TTS5XZBB.js";import"./chunk-VK27PNQX.js";import"./chunk-ABDLF37W.js";import"./chunk-IJPJQ6VW.js";import"./chunk-FD7FCE3T.js";import{Ci as $,T as a,Va as H,Y as N,aa as s,hc as d,ub as z}from"./chunk-L6QVANHB.js";import{Bb as B,Gb as O,Hb as y,Hd as V,Ib as h,Jb as A,Lc as v,Mc as S,Sb as R,X as g,Za as b,eb as m,ed as k,hb as M,ib as p,ke as j,mb as E,oe as q,pa as c,re as _,sa as w,zb as L,zd as P}from"./chunk-CUJEUYRS.js";import{a as I,b as F}from"./chunk-5BGJS47I.js";function W(n,t){n&1&&(y(0,"div",2),A(1,"yn-loader"),h())}var C=(()=>{let t=class t extends ${constructor(e,i,r,o,f){super(),this.userService=e,this.activatedRoute=i,this.timetableService=r,this.cdr=o,this.router=f,this.assignedBeneficiariesOptions=[],this.isAssignedBeneficiariesLoading=!1,this.editMode=!1,this.isFormLoading$=this.timetableService.isFormLoading$,this.datePickerLabel="timetable.item.date",this.isRecurring=!1,this.teachersService=w(U),this.TimetableViewType=T,this.memberId=this.activatedRoute.snapshot.params.id,this.calendarId=this.activatedRoute.snapshot.params.calendarId,this.initializeForm(),this.getFormData()}ngOnInit(){this.calendarId&&(this.editMode=!0,this.initializeEditEventForm(this.calendarId));let e=this.activatedRoute.snapshot.queryParams;if(this.editMode&&e.from)this.form.patchValue({slot_date:G(e.from,"Etc/UTC","yyyy-MM-dd HH:mm")});else{if(e.from&&this.form.patchValue({start_date:new Date(e.from),time_from:d(new Date(e.from),"HH:mm")},{onlySelf:!0}),e.to){let i=d(new Date(e.to),"HH:mm");this.form.patchValue({time_to:i==="00:00"?"23:59":i},{onlySelf:!0})}this.form.value}}initializeForm(){this.form=new N({type:new s(2,[a.required]),title:new s(null,[a.required,a.maxLength(500)]),start_date:new s(null,[a.required]),slot_date:new s(null),time_from:new s(null,[a.required]),time_to:new s(null,[a.required]),beneficiaries_ids:new s(null,[a.required]),playlists_ids:new s([],[a.required]),categories:new s(null,[a.required]),recurring:new s(!1),recurring_type:new s(1),recurring_days:new s([]),end_date:new s(null),recurring_continuity:new s(!0)})}getFormData(){this.getAssignedBeneficiaries(l.SESSION),this.getTimeTableCategories()}getAssignedBeneficiaries(e){switch(e){case l.EVENT:let i=this.timetableService.getMemberAssignedChildren();i.length?this.assignedBeneficiariesOptions=this.mapToSelectOption(i):(this.isAssignedBeneficiariesLoading=!0,this.teachersService.listAssignedStudents(this.memberId,!1,!1).pipe(g(()=>{this.isAssignedBeneficiariesLoading=!1,this.cdr.markForCheck()})).subscribe(o=>{this.timetableService.setMemberAssignedChildren(o.body),this.assignedBeneficiariesOptions=this.mapToSelectOption(o.body)}));break;case l.SESSION:let r=this.timetableService.getPlaylistChildren();r.length?this.assignedBeneficiariesOptions=this.mapToSelectOption(r):(this.isAssignedBeneficiariesLoading=!0,this.teachersService.listAssignedStudents(this.memberId,!1,!0).pipe(g(()=>{this.isAssignedBeneficiariesLoading=!1,this.cdr.markForCheck()})).subscribe(o=>{this.timetableService.setPlaylistChildren(o.body),this.assignedBeneficiariesOptions=this.mapToSelectOption(o.body)}));break;default:break}}getTimeTableCategories(){this.timetableService.getTimetableCategories().subscribe(e=>{this.timetableService.setPredefinedCategories(e),this.categoriesOptions=e.map(i=>({label:i.name,value:i.id,type:"default"}))},e=>{e?.status===403&&this.router.navigate(["/"])})}mapToSelectOption(e){return e.map(i=>({label:i.first_name,value:F(I({},i),{imagePath:i.avatar_path,id:i.id}),type:"defaultAndAvatar"}))}initializeEditEventForm(e){this.timetableService.setFormLoading(!0),this.timetableService.getSlotDetails({id:e,entity_ids:this.memberId},T.MEMBER).subscribe(i=>{let r=i;this.timetableService.setCurrentEvent(r),this.form.patchValue({type:r.type},{onlySelf:!0}),this.setFormData(i),this.isRecurring=r.recurring_type!==u.ONE_TIME,this.isRecurring&&(this.datePickerLabel="timetable.item.startDate")},i=>{i?.status===403&&this.router.navigate(["/"])})}setFormData(e){this.form.patchValue({start_date:e.start_date,time_from:d(new Date(e.time_from),"HH:mm"),time_to:d(new Date(e.time_to),"HH:mm"),title:e.title,re
1curring:e.recurring_type!=u.ONE_TIME,recurring_type:e.recurring_type,recurring_days:e.recurring_days,members_ids:e.members_ids.map(i=>({id:i})),beneficiaries_ids:{id:e.child_ids[0]},playlists_ids:e.playlists_ids}),this.timetableService.setSelectedPlaylists(e.playlists),e.recurring_type==u.ONE_TIME?this.form.patchValue({recurring_continuity:!0},{onlySelf:!0}):e.end_date&&this.form.patchValue({recurring_continuity:!1,end_date:e.end_date},{onlySelf:!0}),e.type===l.SESSION&&this.form.patchValue({categories:e.categories_ids[0]},{onlySelf:!0}),this.cdr.markForCheck(),this.timetableService.setFormLoading(!1)}ngOnDestroy(){this.timetableService.setMemberAssignedChildren([]),this.timetableService.setPlaylistChildren([])}};t.\u0275fac=function(i){return new(i||t)(m(D),m(j),m(Y),m(k),m(q))},t.\u0275cmp=M({type:t,selectors:[["app-member-timetable-form-container"]],standalone:!1,features:[E],decls:5,vars:16,consts:[[1,"relative"],[3,"typeChanged","form","formType","assignedBeneficiaries","categoriesOptions","memberId","calendarId","editMode","isFormLoading","isAssignedBeneficiariesLoading","isRecurring","datePickerLabel"],[1,"absolute","inset-0","bg-white/70","flex-center","z-5"]],template:function(i,r){i&1&&(y(0,"div",0)(1,"app-timetable-form",1),v(2,"async"),R("typeChanged",function(f){return r.getAssignedBeneficiaries(f)}),h(),L(3,W,2,0,"div",2),v(4,"async"),h()),i&2&&(b(),O("form",r.form)("formType",r.TimetableViewType.MEMBER)("assignedBeneficiaries",r.assignedBeneficiariesOptions)("categoriesOptions",r.categoriesOptions)("memberId",r.memberId)("calendarId",r.calendarId)("editMode",r.editMode)("isFormLoading",S(2,12,r.isFormLoading$))("isAssignedBeneficiariesLoading",r.isAssignedBeneficiariesLoading)("isRecurring",r.isRecurring)("datePickerLabel",r.datePickerLabel),b(2),B(S(4,14,r.isFormLoading$)?3:-1))},dependencies:[H,Z,P],encapsulation:2,changeDetection:0});let n=t;return n})();var X=[{path:"",pathMatch:"full",redirectTo:"add"},{path:"add",component:C,data:{breadcrumb:"timetable.addToTimetable"}},{path:"edit/:calendarId",component:C,data:{breadcrumb:"timetable.editToTimetable"}}],Q=(()=>{let t=class t{};t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=p({type:t}),t.\u0275inj=c({imports:[_.forChild(X),_]});let n=t;return n})();var we=(()=>{let t=class t{};t.\u0275fac=function(i){return new(i||t)},t.\u0275mod=p({type:t}),t.\u0275inj=c({imports:[V,Q,z,J]});let n=t;return n})();export{we as MemberTimetableFormModule};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.