1"use strict";(self.webpackChunkwebapp=self.webpackChunkwebapp||[]).push([[5086],{4563:(J,x,r)=>{r.d(x,{O:()=>T});var i=r(1158);function T(e,f,A){let u=i(f,"HH:mm");return A&&(u=u.add(A,"minutes")),i(e).set({hour:u.get("hour"),minute:u.get("minute"),second:u.get("second")}).utc().toISOString()}},4022:(J,x,r)=>{r.d(x,{L:()=>y});var i=r(5e3),v=r(1158),e=r(3075),f=r(6895),A=r(1927),u=r(389),s=r(1599);let y=(()=>{class _{constructor(){this.startView="month",this.labelFormat="ddd D MMMM YYYY",this.onChange=h=>{},this.onTouched=()=>{}}ngOnInit(){}onSelect(h,m){var p,b;this.isRange&&this.model instanceof f.C0?this.model&&this.model.start&&h.isAfter(this.model.start)&&!this.model.end?(this.model=new f.C0(this.model.start,h),this.date="Da "+(null===(p=this.model.start)||void 0===p?void 0:p.format(this.labelFormat))+" - A "+(null===(b=this.model.end)||void 0===b?void 0:b.format(this.labelFormat)),m.close(),this.onChange(this.model)):this.model=new f.C0(h,null):(this.model=h,this.date=h.format(this.labelFormat),this.onChange(h),m.close())}registerOnChange(h){this.onChange=h}registerOnTouched(h){this.onTouched=h}writeValue(h){var m,p;h&&(this.model=h,this.model instanceof v?this.date=this.model.startOf("day").format(this.labelFormat):this.model instanceof f.C0&&(this.date="Da "+(null===(m=this.model.start)||void 0===m?void 0:m.format(this.labelFormat))+" - A "+(null===(p=this.model.end)||void 0===p?void 0:p.format(this.labelFormat))))}}return _.\u0275fac=function(h){return new(h||_)},_.\u0275cmp=i.Xpm({type:_,selectors:[["ui-date-picker"]],inputs:{label:"label",isRange:"isRange",startView:"startView",maxDate:"maxDate",labelFormat:"labelFormat"},features:[i._Bn([{provide:e.JU,useExisting:(0,i.Gpc)(()=>_),multi:!0},{provide:f.q_,useClass:f.LK}])],decls:5,vars:8,consts:[["placeholder","--- Seleziona data ---","icon","agenda",3,"label","uiDropdown","ngModel","readonly","ngModelChange"],[3,"disableMaxHeight"],["dropdown",""],[1,"border","border-grey-300","shadow","rounded-b","bg-white","h-full",3,"click"],[3,"selected","startView","maxDate","selectedChange"]],template:function(h,m){if(1&h){const p=i.EpF();i.TgZ(0,"ui-input",0),i.NdJ("ngModelChange",function(a){return m.date=a}
1),i.qZA(),i.TgZ(1,"ui-dropdown",1,2)(3,"div",3),i.NdJ("click",function(a){return a.stopPropagation()}),i.TgZ(4,"mat-calendar",4),i.NdJ("selectedChange",function(a){i.CHM(p);const C=i.MAs(2);return m.onSelect(a,C)}),i.qZA()()()}if(2&h){const p=i.MAs(2);i.Q6J("label",m.label)("uiDropdown",p)("ngModel",m.date)("readonly",!0),i.xp6(1),i.Q6J("disableMaxHeight",!0),i.xp6(3),i.Q6J("selected",m.model)("startView",m.startView)("maxDate",m.maxDate)}},directives:[A.a,u.w,e.JJ,e.On,s.J,f._H],styles:[""]}),_})()},6268:(J,x,r)=>{r.d(x,{I:()=>u});var i=r(9808),v=r(6895),T=r(3685),e=r(6262),f=r(3075),A=r(5e3);let u=(()=>{class s{}return s.\u0275fac=function(_){return new(_||s)},s.\u0275mod=A.oAB({type:s}),s.\u0275inj=A.cJS({imports:[[i.ez,v.FA,T.g,e.k,f.u5]]}),s})()},2787:(J,x,r)=>{r.d(x,{A:()=>u});var i=r(2654),v=r(5e3),T=r(6165),e=r(9808);function f(s,y){if(1&s&&(v.TgZ(0,"p",2),v._uU(1),v.qZA()),2&s){const _=y.$implicit;v.xp6(1),v.Oqu(_)}}function A(s,y){if(1&s&&(v.ynx(0),v.YNc(1,f,2,1,"p",1),v.BQk()),2&s){const _=v.oxw();v.xp6(1),v.Q6J("ngForOf",_.errors)}}let u=(()=>{class s{constructor(_){this.formErrorsService=_,this.subscription=new i.w}ngOnInit(){var _;this.control&&this.subscription.add(null===(_=this.control.statusChanges)||void 0===_?void 0:_.subscribe(()=>{this.errors=this.formErrorsService.getControlErrors(this.control)}))}ngOnDestroy(){this.subscription.unsubscribe()}}return s.\u0275fac=function(_){return new(_||s)(v.Y36(T.u))},s.\u0275cmp=v.Xpm({type:s,selectors:[["ui-form-errors"]],inputs:{control:"control"},decls:1,vars:1,consts:[[4,"ngIf"],["class","text-xs text-error-600 whitespace-nowrap",4,"ngFor","ngForOf"],[1,"text-xs","text-error-600","whitespace-nowrap"]],template:function(_,D){1&_&&v.YNc(0,A,2,1,"ng-container",0),2&_&&v.Q6J("ngIf",D.control&&D.control.dirty&&D.control.invalid)},directives:[e.O5,e.sg],styles:[""]}),s})()},6165:(J,x,r)=>{r.d(x,{u:()=>e});var i=r(3075),v=r(5e3),T=r(5008);let e=(()=>{class f{constructor(u){this.snackbar=u,this.messages={required:"Campo obbligatorio",email:"Indirizzo email non valido",endTimeBeforeStart:"L'orario di fine non pu\xf2 essere minore di quello di inizio",startTimeBeforeEnd:"L'orario di inizio non pu\xf2 essere minore di quello di fine precedente"}}markAllAsTouched(u){u instanceof i.NI?(u.markAsDirty(),u.updateValueAndValidity()):Object.keys(u.controls).forEach(s=>{var y,_;null===(y=u.get(s))||void 0===y||y.markAsDirty(),null===(_=u.get(s))||void 0===_||_.updateValueAndValidity(),u.get(s)instanceof i.cw&&this.markAllAsTouched(u.get(s))})}setErrors(u,s){s.error?s.error.errors?Object.keys(s.error.errors).forEach(y=>{var _;const D={};s.error.errors[y].forEach(h=>D[h]=!0),u.get(y)?null===(_=u.get(y))||void 0===_||_.setErrors(D):this.snackbar.error(this.messages[s.error.errors[y][0]]||s.error.errors[y][0],"Errore")}):s.error.error&&this.snackbar.error(s.error.error,"Errore"):this.showMessage()}showMessage(){this.snackbar.error("Si \xe8 verificato un errore, si prega di riprovare.","Errore")}getControlErrors(u){return u.errors?Object.keys(u.errors).map(s=>this.messages[s]?this.messages[s]:s):[]}}return f.\u0275fac=function(u){return new(u||f)(v.LFG(T.o))},f.\u0275prov=v.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})()},1927:(J,x,r)=>{r.d(x,{a:()=>m});var i=r(5e3),v=r(3075),T=r(9808),e=r(1072),f=r(2787);const A=["input"];function u(p,b){if(1&p&&(i.TgZ(0,"label",6),i._uU(1),i.qZA()),2&p){const a=i.oxw();i.xp6(1),i.Oqu(a.label)}}const s=function(p,b,a){return{"border-error-600":p,"border-grey-300":b,"pl-12":a}};function y(p,b){if(1&p){const a=i.EpF();i.TgZ(0,"input",7,8),i.NdJ("ngModelChange",function(E){return i.CHM(a),i.oxw().model=E})("ngModelChange",function(E){return i.CHM(a),i.oxw().onModelChange(E)}),i.qZA()}if(2&p){const a=i.oxw();i.Q6J("ngClass",i.kEZ(5,s,(null==a.ngControl?null:a.ngControl.dirty)&&(null==a.ngControl?null:a.ngControl.invalid),!(null!=a.ngControl&&a.ngControl.dirty&&null!=a.ngControl&&a.ngControl.invalid),a.icon))("type",a.type)("ngModel",a.model)("readonly",a.readonly)("placeholder",a.placeholder)}}const _=function(p,b,a,C){return{"border-error-600":p,"border-grey-300":b,"pl-12":a,"h-44":C}};function D(p,b){if(1&p){const a=i.EpF();i.TgZ(0,"textarea",9,8),i.NdJ("ngModelChange",function(E){return i.CHM(a),i.oxw().model=E})("ngModelChange",function(E){return i.CHM(a),i.oxw().onModelChange(E)}),i.qZA()}if(2&p){const a=i.oxw();i.Q6J("ngClass",i.l5B(5,_,(null==a.ngControl?null:a.ngControl.dirty)&&(null==a.ngControl?null:a.ngControl.invalid),!(null!=a.ngControl&&a.ngControl.dirty&&null!=a.ngControl&&a.ngControl.invalid),a.icon,!a.rows))("ngModel",a.model)("readonly",a.readonly)("placeholder",a.placeholder)("rows",a.rows)}}function h(p,b){if(1&p&&i._UZ(0,"svg-icon",10),2&p){const a=i.oxw();i.Q6J("key",a.icon)}}let m=(()=>{class p{constructor(a){this.ngControl=a,this.type="input",this.placeholder="",this.onChange=C=>{},this.onTouched=()=>{},a&&(a.valueAccessor=this)}ngOnInit(){}onModelChange(a){this.onChange(a)}registerOnChange(a){this.onChange=a}registerOnTouched(a){this.onTouched=a}writeValue(a){this.model=a}focus(){this.input.nativeElement.focus()}}
1return p.\u0275fac=function(a){return new(a||p)(i.Y36(v.a5,10))},p.\u0275cmp=i.Xpm({type:p,selectors:[["ui-input"]],viewQuery:function(a,C){if(1&a&&i.Gf(A,5),2&a){let E;i.iGM(E=i.CRH())&&(C.input=E.first)}},inputs:{type:"type",label:"label",icon:"icon",placeholder:"placeholder",readonly:"readonly",rows:"rows"},decls:6,vars:5,consts:[["class","font-medium text-grey-500 text-sm block mb-2.5",4,"ngIf"],[1,"relative"],["class","appearance-none h-11 border shadow w-full text-dark text-sm rounded px-3 leading-tight focus:outline-none placeholder-grey-500",3,"ngClass","type","ngModel","readonly","placeholder","ngModelChange",4,"ngIf"],["class","appearance-none border shadow w-full text-dark text-sm rounded p-3 focus:outline-none placeholder-grey-500",3,"ngClass","ngModel","readonly","placeholder","rows","ngModelChange",4,"ngIf"],["class","absolute top-2.5 left-3 text-grey-500",3,"key",4,"ngIf"],[1,"absolute",3,"control"],[1,"font-medium","text-grey-500","text-sm","block","mb-2.5"],[1,"appearance-none","h-11","border","shadow","w-full","text-dark","text-sm","rounded","px-3","leading-tight","focus:outline-none","placeholder-grey-500",3,"ngClass","type","ngModel","readonly","placeholder","ngModelChange"],["input",""],[1,"appearance-none","border","shadow","w-full","text-dark","text-sm","rounded","p-3","focus:outline-none","placeholder-grey-500",3,"ngClass","ngModel","readonly","placeholder","rows","ngModelChange"],[1,"absolute","top-2.5","left-3","text-grey-500",3,"key"]],template:function(a,C){1&a&&(i.YNc(0,u,2,1,"label",0),i.TgZ(1,"div",1),i.YNc(2,y,2,9,"input",2),i.YNc(3,D,2,10,"textarea",3),i.YNc(4,h,1,1,"svg-icon",4),i.qZA(),i._UZ(5,"ui-form-errors",5)),2&a&&(i.Q6J("ngIf",C.label),i.xp6(2),i.Q6J("ngIf","textarea"!==C.type),i.xp6(1),i.Q6J("ngIf","textarea"===C.type),i.xp6(1),i.Q6J("ngIf",C.icon),i.xp6(1),i.Q6J("control",C.ngControl))},directives:[T.O5,v.Fj,T.mk,v.JJ,v.On,e.bk,f.A],styles:["[_nghost-%COMP%]{display:block;position:relative}input[type=time][_ngcontent-%COMP%]::-webkit-calendar-picker-indicator{display:none}"]}),p})()},5086:(J,x,r)=>{r.r(x),r.d(x,{AvailabilityEditModule:()=>fe});var i=r(9808),v=r(218),T=r(846),e=r(5e3),f=r(7576),A=r(5008),u=r(7721),s=r(1072);function y(o,c){if(1&o&&e._UZ(0,"svg-icon",4),2&o){const t=e.oxw().$implicit;e.Q6J("key",t.icon)}}const _=function(o,c){return{"bg-accent-500 text-white":o,"text-grey-600":c}};function D(o,c){if(1&o){const t=e.EpF();e.TgZ(0,"li")(1,"a",2),e.NdJ("click",function(){const d=e.CHM(t).$implicit;return e.oxw().select(d)}),e.YNc(2,y,1,1,"svg-icon",3),e._uU(3),e.qZA()()}if(2&o){const t=c.$implicit,n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.WLB(3,_,t.value===n.selected,t.value!==n.selected)),e.xp6(1),e.Q6J("ngIf",t.icon),e.xp6(1),e.hij("",t.label," ")}}let h=(()=>{class o{constructor(){this.selectedChange=new e.vpe}ngOnInit(){}select(t){this.selected=t.value,this.selectedChange.emit(this.selected)}}return o.\u0275fac=function(t){return new(t||o)}
1,o.\u0275cmp=e.Xpm({type:o,selectors:[["ui-button-tabs"]],inputs:{items:"items",selected:"selected"},outputs:{selectedChange:"selectedChange"},decls:2,vars:1,consts:[[1,"inline-flex","bg-accent-100","p-1","gap-2","rounded"],[4,"ngFor","ngForOf"],[1,"inline-flex","items-center","py-2","px-6","cursor-pointer","font-medium","text-base","rounded","transition",3,"ngClass","click"],["class","mr-1.5",3,"key",4,"ngIf"],[1,"mr-1.5",3,"key"]],template:function(t,n){1&t&&(e.TgZ(0,"ul",0),e.YNc(1,D,4,6,"li",1),e.qZA()),2&t&&(e.xp6(1),e.Q6J("ngForOf",n.items))},directives:[i.sg,i.mk,i.O5,s.bk],styles:[""]}),o})();var m=r(3075),p=r(1158);function b(o){return`0${o}`.slice(-2)}var a=r(4164),C=r(6630),E=r(3976),Z=r(389),P=r(1599);function U(o,c){if(1&o){const t=e.EpF();e.TgZ(0,"ui-checkbox",8),e.NdJ("ngModelChange",function(l){const g=e.CHM(t).$implicit;return e.oxw().selected[g]=l}),e.qZA()}if(2&o){const t=c.$implicit,n=e.oxw();e.Q6J("label",t)("ngModel",n.selected[t])}}let N=(()=>{class o{constructor(){this.copy=new e.vpe,this.weekdays=p.weekdays(!0),this.selected={}}ngOnInit(){}submit(t){this.copy.emit(this.selected),this.selected={},t.close()}}return o.\u0275fac=function(t){return new(t||o)}
1,o.\u0275cmp=e.Xpm({type:o,selectors:[["app-copy-times-dropdown"]],outputs:{copy:"copy"},decls:12,vars:3,consts:[["fill","none","icon","copy","color","grey",3,"uiDropdown"],["dropdown",""],[1,"mt-5","bg-white","border","border-grey-200","shadow-2xl","rounded-2xl","p-8","w-60","relative",3,"click"],["key","close",1,"absolute","top-6","right-6","cursor-pointer",3,"click"],[1,"text-dark","text-xl","font-semibold","mb-4"],[1,"flex","flex-col","border-b","border-grey-200","pb-5","mb-6"],["class","text-sm font-medium capitalize w-32 mt-3",3,"label","ngModel","ngModelChange",4,"ngFor","ngForOf"],[3,"block","click"],[1,"text-sm","font-medium","capitalize","w-32","mt-3",3,"label","ngModel","ngModelChange"]],template:function(t,n){if(1&t){const l=e.EpF();e.TgZ(0,"ui-button",0),e._uU(1,"Copia disponibilit\xe0"),e.qZA(),e.TgZ(2,"ui-dropdown",null,1)(4,"div",2),e.NdJ("click",function(g){return g.stopPropagation()}),e.TgZ(5,"svg-icon",3),e.NdJ("click",function(){return e.CHM(l),e.MAs(3).close()}),e.qZA(),e.TgZ(6,"h1",4),e._uU(7,"Copia su"),e.qZA(),e.TgZ(8,"div",5),e.YNc(9,U,1,2,"ui-checkbox",6),e.qZA(),e.TgZ(10,"ui-button",7),e.NdJ("click",function(){e.CHM(l);const g=e.MAs(3);return n.submit(g)}),e._uU(11,"Copia disponibilit\xe0"),e.qZA()()()}if(2&t){const l=e.MAs(3);e.Q6J("uiDropdown",l),e.xp6(9),e.Q6J("ngForOf",n.weekdays),e.xp6(1),e.Q6J("block",!0)}},directives:[a.r,Z.w,P.J,s.bk,i.sg,C.b,m.JJ,m.On],styles:[""]}),o})();function S(o,c){if(1&o){const t=e.EpF();e.TgZ(0,"svg-icon",22),e.NdJ("click",function(){e.CHM(t);const l=e.oxw().index,d=e.oxw(2).$implicit;return e.oxw().removeTime(d,l)}),e.qZA()}}function B(o,c){if(1&o&&(e.TgZ(0,"div",17),e._UZ(1,"ui-select",18),e.TgZ(2,"span",19),e._uU(3,"-"),e.qZA(),e._UZ(4,"ui-select",20),e.YNc(5,S,1,0,"svg-icon",21),e.qZA()),2&o){const t=c.index,n=c.first,l=e.oxw(3);e.Q6J("formGroupName",t),e.xp6(1),e.Q6J("options",l.hours),e.xp6(3),e.Q6J("options",l.hours),e.xp6(1),e.Q6J("ngIf",!n)}}function Q(o,c){if(1&o&&(e.TgZ(0,"div",15),e.YNc(1,B,6,4,"div",16),e.qZA()),2&o){const t=e.oxw().$implicit,n=e.oxw();e.xp6(1),e.Q6J("ngForOf",n.timesArray(t).controls)}}function L(o,c){1&o&&(e.TgZ(0,"div",23),e._uU(1,"Non disponibile"),e.qZA())}function Y(o,c){if(1&o){const t=e.EpF();e.TgZ(0,"div",7)(1,"div",8),e._UZ(2,"ui-checkbox",9),e.YNc(3,Q,2,1,"div",10),e.YNc(4,L,2,0,"div",11),e.qZA(),e.TgZ(5,"div",12)(6,"ui-button",13),e.NdJ("click",function(){const d=e.CHM(t).$implicit;return e.oxw().addTime(d)}),e._uU(7,"Aggiungi orario"),e.qZA(),e.TgZ(8,"app-copy-times-dropdown",14),e.NdJ("copy",function(l){const g=e.CHM(t).$implicit,M=e.oxw();return M.onCopyTimes(l,M.form.value[g].times)}),e.qZA()()()}if(2&o){const t=c.$implicit,n=e.oxw();e.xp6(1),e.Q6J("formGroupName",t),e.xp6(1),e.Q6J("label",t),e.xp6(1),e.Q6J("ngIf",n.form.value[t].enabled),e.xp6(1),e.Q6J("ngIf",!n.form.value[t].enabled)}}let R=(()=>{class o{constructor(t){this.fb=t,this.availabilityChange=new e.vpe,this.weekdays=p.weekdays(),this.hours=[],this.form=this.fb.group(this.weekdays.reduce((n,l)=>(n[l]=this.fb.group({enabled:this.fb.control(!0),times:this.fb.array([this.getTimeGroup()])}),n),{}))}timesArray(t){return this.form.get(t).get("times")}ngOnInit(){this.setTimes(),this.availability.forEach((t,n)=>{var l,d;const g=this.weekdays[n];null===(l=this.form.get(g).get("enabled"))||void 0===l||l.setValue(t.enabled),null===(d=t.times)||void 0===d||d.forEach((M,w)=>{const I=this.timesArray(g);0===w&&I.clear(),I.push(this.getTimeGroup(M.from,M.to))})})}getTimeGroup(t="10:00",n="18:00"){return this.fb.group({from:this.fb.control(t,m.kI.required),to:this.fb.control(n,m.kI.required)})}addTime(t){this.timesArray(t).push(this.getTimeGroup())}removeTime(t,n){this.timesArray(t).removeAt(n)}onCopyTimes(t,n){Object.keys(t).forEach(l=>{this.form.get(l).patchValue({enabled:!0});const d=this.timesArray(l);d.clear(),n.forEach(g=>{d.push(this.getTimeGroup(g.from,g.to))})})}save(){this.validate(this.form.value)&&this.availabilityChange.emit(Object.values(this.form.value))}validate(t){let n=!0;return Object.keys(t).forEach(l=>{t[l].enabled&&t[l].times.forEach((g,M)=>{var w;const I=this.timesArray(l).at(M),O=I.get("from"),k=I.get("to");if(g.to<g.from?(null==k||k.setErrors({endTimeBeforeStart:!0}),n=!1):this.removeFormControlError(k,"endTimeBeforeStart"),M>0){const he=this.timesArray(l).at(M-1);g.from<(null===(w=he.get("to"))||void 0===w?void 0:w.value)?(null==O||O.setErrors({startTimeBeforeEnd:!0}),n=!1):this.removeFormControlError(O,"startTimeBeforeEnd")}null==k||k.markAsDirty(),null==O||O.markAsDirty()})}),n}removeFormControlError(t,n){(null==t?void 0:t.errors)&&(null==t?void 0:t.errors[n])&&(delete t.errors[n],0===Object.keys(t.errors).length&&t.setErrors(null))}
1setTimes(){Array.from(Array(24)).forEach((n,l)=>{const d=b(l).toString()+":00";if(this.hours.push({label:d,value:d}),this.type===T.X9.reception){const g=b(l).toString()+":30";this.hours.push({label:g,value:g})}})}}return o.\u0275fac=function(t){return new(t||o)(e.Y36(m.qu))},o.\u0275cmp=e.Xpm({type:o,selectors:[["app-availability-form"]],inputs:{availability:"availability",type:"type"},outputs:{availabilityChange:"availabilityChange"},decls:9,vars:3,consts:[[1,"bg-white","border-b","border-grey-200","text-dark","p-8"],[1,"flex","flex-col","sm:flex-row","justify-between","items-center","gap-y-4"],[1,"text-sm","font-semibold"],[1,"w-56"],["size","big",3,"block","click"],[3,"formGroup"],["class","flex flex-col sm:flex-row justify-between border-b border-grey-200 py-6 gap-y-4",4,"ngFor","ngForOf"],[1,"flex","flex-col","sm:flex-row","justify-between","border-b","border-grey-200","py-6","gap-y-4"],[1,"flex",3,"formGroupName"],["formControlName","enabled",1,"text-sm","font-medium","capitalize","w-32","mt-3",3,"label"],["formArrayName","times","class","gap-y-6 flex flex-col",4,"ngIf"],["class","text-sm py-3",4,"ngIf"],[1,"flex","pt-2","gap-x-6","flex-col","lg:flex-row","items-end","sm:items-start"],["fill","none","icon","add","color","grey",3,"click"],[3,"copy"],["formArrayName","times",1,"gap-y-6","flex","flex-col"],["class","flex items-center",3,"formGroupName",4,"ngFor","ngForOf"],[1,"flex","items-center",3,"formGroupName"],["formControlName","from",3,"options"],[1,"mx-4"],["formControlName","to",3,"options"],["key","delete","class","ml-4 cursor-pointer text-grey-700",3,"click",4,"ngIf"],["key","delete",1,"ml-4","cursor-pointer","text-grey-700",3,"click"],[1,"text-sm","py-3"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"div",1)(2,"div",2),e._uU(3,"Orari di disponibilit\xe0 settimanale"),e.qZA(),e.TgZ(4,"div",3)(5,"ui-button",4),e.NdJ("click",function(){return n.save()}),e._uU(6,"Salva disponibilit\xe0"),e.qZA()()(),e.TgZ(7,"form",5),e.YNc(8,Y,9,4,"div",6),e.qZA()()),2&t&&(e.xp6(5),e.Q6J("block",!0),e.xp6(2),e.Q6J("formGroup",n.form),e.xp6(1),e.Q6J("ngForOf",n.weekdays))},directives:[a.r,m._Y,m.JL,m.sg,i.sg,m.x0,C.b,m.JJ,m.u,i.O5,m.CE,E.H,s.bk,N],styles:[""]}),o})();var F=r(4563),W=r(9665),K=r(6165),z=r(4022),H=r(1927);let G=(()=>{class o{constructor(t,n,l,d,g){this.ref=t,this.therapistService=n,this.userService=l,this.formErrorsService=d,this.fb=g,this.AVAILABILITY_TYPOLOGIES_OPTIONS=T.Sk,this.ref.data&&(this.availabilityTypology=this.ref.data.availabilityTypology),this.form=this.fb.group({startDate:["",m.kI.required],startTime:["",m.kI.required],endDate:["",m.kI.required],endTime:["",m.kI.required],typology:["",m.kI.required]})}ngOnInit(){var t;(null===(t=this.ref.data)||void 0===t?void 0:t.date)&&this.form.patchValue({startDate:p(this.ref.data.date),startTime:p(this.ref.data.date).format("HH:mm"),endDate:p(this.ref.data.date),endTime:p(this.ref.data.date).add(1,"hour").format("HH:mm")})}add(){if(this.form.valid){this.loading=!0;const t=this.form.value,n={start_date:(0,F.O)(t.startDate,t.startTime),end_date:(0,F.O)(t.endDate,t.endTime),availability_typology:this.availabilityTypology,typology:t.typology};this.userService.user&&this.therapistService.createAvailabilityException(this.userService.user.id,n).subscribe(l=>{this.ref.close(l)},l=>{this.formErrorsService.setErrors(this.form,l),this.loading=!1})}else this.formErrorsService.markAllAsTouched(this.form)}}return o.\u0275fac=function(t){return new(t||o)(e.Y36(W.S),e.Y36(u.Q),e.Y36(f.K),e.Y36(K.u),e.Y36(m.qu))},o.\u0275cmp=e.Xpm({type:o,selectors:[["app-add-absence-modal"]],decls:17,vars:3,consts:[[1,"sm:w-160"],[1,"text-dark","text-xl","font-semibold","leading-7","mb-6"],[3,"formGroup"],[1,"grid","grid-cols-2","gap-8","mb-4"],["label","Disponibilit\xe0","formControlName","typology",3,"options"],["label","Data inizio","formControlName","startDate"],["label","Ora inizio","icon","clock","type","time","formControlName","startTime"],["label","Data fine","formControlName","endDate"],["label","Ora fine","icon","clock","type","time","formControlName","endTime"],[1,"border-t","border-grey-200","mt-8","pt-6","flex","items-center","justify-end"],["fill","outline",1,"mr-5",3,"click"],[3,"loading","click"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"h1",1),e._uU(2,"Aggiungi disponibilit\xe0"),e.qZA(),e.TgZ(3,"form",2)(4,"div",3),e._UZ(5,"ui-select",4),e.qZA(),e.TgZ(6,"div",3),e._UZ(7,"ui-date-picker",5)(8,"ui-input",6),e.qZA(),e.TgZ(9,"div",3),e._UZ(10,"ui-date-picker",7)(11,"ui-input",8),e.qZA(),e.TgZ(12,"div",9)(13,"ui-button",10),e.NdJ("click",function(){return n.ref.close()}),e._uU(14,"Annulla"),e.qZA(),e.TgZ(15,"ui-button",11),e.NdJ("click",function(){return n.add()}),e._uU(16,"Aggiungi disponibilit\xe0"),e.qZA()()()()),2&t&&(e.xp6(3),e.Q6J("formGroup",n.form),e.xp6(2),e.Q6J("options",n.AVAILABILITY_TYPOLOGIES_OPTIONS),e.xp6(10),e.Q6J("loading",n.loading))},directives:[m._Y,m.JL,m.sg,E.H,m.JJ,m.u,z.L,H.a,a.r],styles:[""]}),o})();var V=r(5161),j=r(5525),$=r(7616),X=r(6304);function q(o,c){if(1&o&&(e.TgZ(0,"span",8)(1,"b"),e._uU(2),e.qZA(),e._UZ(3,"br"),e._uU(4),e.ALo(5,"date"),e.ALo(6,"date"),e.qZA()),2&o){const t=c.event;e.xp6(2),e.Oqu(t.title),e.xp6(2),e.AsE(" ",e.xi3(5,3,t.start,"shortTime")," - ",e.xi3(6,6,t.end,"shortTime")," ")}}let ee=(()=>{class o{constructor(t,n,l){this.overlayService=t,this.userService=n,this.therapistService=l,this.calendar=new V.f(this.therapistService.listAvailabilityExceptions.bind(this.therapistService),!1,!0),this.timezones=[{label:"CET",value:"CET"}],this.selectedTimezone="CET"}ngOnInit(){var t;this.calendar.addFilter({id:null===(t=this.userService.user)||void 0===t?void 0:t.id})}
1beforeWeekViewRender(t){t.hourColumns.forEach(n=>{n.hours.forEach(l=>{l.segments.forEach(d=>{var g;const M=this.availability[d.date.getDay()];M.enabled&&(null===(g=M.times)||void 0===g||g.forEach(w=>{const I=(0,F.O)(d.date,w.from),O=(0,F.O)(d.date,w.to);p(d.date).isSameOrAfter(I)&&p(d.date).isBefore(O)&&(d.cssClass="bg-accent-100")}))})})})}createEvent({date:t}){this.addAbsence(t)}addAbsence(t){this.overlayService.open(G,{date:t,availabilityTypology:this.type}).afterClosed$.subscribe(n=>{(null==n?void 0:n.data)&&this.calendar.reload()})}openEventDetail(t){this.overlayService.confirm("Eliminare?","Sei sicuro di voler eliminare questa disponibilit\xe0?").afterClosed$.subscribe(n=>{n.data&&t.meta&&this.therapistService.deleteAvailabilityException(t.meta.id).subscribe(()=>{this.calendar.reload()})})}}return o.\u0275fac=function(t){return new(t||o)(e.Y36(j.F),e.Y36(f.K),e.Y36(u.Q))},o.\u0275cmp=e.Xpm({type:o,selectors:[["app-availability-calendar"]],inputs:{availability:"availability",type:"type"},decls:11,vars:11,consts:[[1,"rounded-lg","bg-white","shadow","mt-4","overflow-hidden"],[1,"grid","grid-cols-3","sm:flex","items-center","justify-between","p-6","border-b","border-grey-200","mb-3","gap-4"],[3,"options","ngModel","ngModelChange"],[1,"order-last","sm:order-none","col-span-3",3,"viewDate","view","viewDateChange"],[1,"col-span-2"],[3,"block","click"],[3,"viewDate","view","events","eventTitleTemplate","hourSegmentClicked","beforeWeekViewRender","openEventDetail"],["eventTitleTemplate",""],[1,"cal-event-title"]],template:function(t,n){if(1&t&&(e.TgZ(0,"div",0)(1,"div",1)(2,"ui-select",2),e.NdJ("ngModelChange",function(d){return n.selectedTimezone=d}),e.qZA(),e.TgZ(3,"ui-calendar-nav",3),e.NdJ("viewDateChange",function(d){return n.calendar.viewDate=d}),e.qZA(),e.TgZ(4,"div",4)(5,"ui-button",5),e.NdJ("click",function(){return n.addAbsence()}),e._uU(6,"Aggiungi disponibilit\xe0"),e.qZA()()(),e.TgZ(7,"ui-calendar",6),e.NdJ("hourSegmentClicked",function(d){return n.createEvent(d)})("beforeWeekViewRender",function(d){return n.beforeWeekViewRender(d)})("openEventDetail",function(d){return n.openEventDetail(d)}),e.ALo(8,"async"),e.qZA()(),e.YNc(9,q,7,9,"ng-template",null,7,e.W1O)),2&t){const l=e.MAs(10);e.xp6(2),e.Q6J("options",n.timezones)("ngModel",n.selectedTimezone),e.xp6(1),e.Q6J("viewDate",n.calendar.viewDate)("view",n.calendar.view),e.xp6(2),e.Q6J("block",!0),e.xp6(2),e.Q6J("viewDate",n.calendar.viewDate)("view",n.calendar.view)("events",e.lcZ(8,9,n.calendar.events$))("eventTitleTemplate",l)}},directives:[E.H,m.JJ,m.On,$.z,a.r,X.e],pipes:[i.Ov,i.uU],styles:[""]}),o})();function te(o,c){1&o&&(e.TgZ(0,"span"),e._uU(1,"accoglienza"),e.qZA())}function oe(o,c){1&o&&(e.TgZ(0,"span"),e._uU(1,"primo appuntamento"),e.qZA())}function ie(o,c){if(1&o){const t=e.EpF();e.TgZ(0,"app-availability-form",8),e.NdJ("availabilityChange",function(l){return e.CHM(t),e.oxw(2).onAvailabilitySave(l)}),e.qZA()}if(2&o){const t=e.oxw(2);e.Q6J("type",t.type)("availability",t.availability)}}function ne(o,c){if(1&o&&e._UZ(0,"app-availability-calendar",9),2&o){const t=e.oxw(2);e.Q6J("type",t.type)("availability",t.availability)}}function re(o,c){if(1&o&&(e.ynx(0),e.YNc(1,ie,1,2,"app-availability-form",6),e.YNc(2,ne,1,2,"app-availability-calendar",7),e.BQk()),2&o){const t=e.oxw();e.xp6(1),e.Q6J("ngIf","list"===t.view),e.xp6(1),e.Q6J("ngIf","calendar"===t.view)}}const ae=function(){return["../../"]},le=[{path:"",component:(()=>{class o{constructor(t,n,l,d){this.route=t,this.userService=n,this.snackbar=l,this.therapistService=d,this.tabs=[{label:"Vista a lista",value:"list"},{label:"Vista calendario",value:"calendar",icon:"agenda"}],this.view="list",this.AppointmentTypologies=T.X9}ngOnInit(){this.type=this.route.snapshot.params.type,this.userService.user&&(this.userId=this.userService.user.id),this.therapistService.getAvailabilities(this.userId,this.type).subscribe(t=>{this.availability=t})}onAvailabilitySave(t){this.therapistService.saveAvailabilities(this.userId,{availability:{typology:this.type,data:t}}).subscribe(()=>{this.availability=t,this.snackbar.success("Disponibilit\xe0 salvate con successo!")})}}return o.\u0275fac=function(t){return new(t||o)(e.Y36(v.gz),e.Y36(f.K),e.Y36(A.o),e.Y36(u.Q))},o.\u0275cmp=e.Xpm({type:o,selectors:[["app-availability-edit"]],decls:11,vars:7,consts:[[1,"text-sm","text-grey-400","font-semibold","inline-flex","items-center",3,"routerLink"],["key","chevron-left",1,"text-grey-400","mr-0.5"],[1,"text-dark","text-xl","font-semibold","mt-4","mb-1"],[4,"ngIf"],[1,"text-sm","font-medium","text-grey-500","mb-8"],[1,"block","mb-6",3,"items","selected","selectedChange"],[3,"type","availability","availabilityChange",4,"ngIf"],[3,"type","availability",4,"ngIf"],[3,"type","availability","availabilityChange"],[3,"type","availability"]],template:function(t,n){1&t&&(e.TgZ(0,"a",0),e._UZ(1,"svg-icon",1),e._uU(2," Torna all\u2019elenco disponibilit\xe0\n"),e.qZA(),e.TgZ(3,"h2",2),e._uU(4," Gestisci disponibilit\xe0 "),e.YNc(5,te,2,0,"span",3),e.YNc(6,oe,2,0,"span",3),e.qZA(),e.TgZ(7,"p",4),e._uU(8,"Setta i giorni e gli orari in cui sei normalmente disponibile. Gestisci la tua disponiblit\xe0 giorno per giorno dalla vista calendario. "),e.qZA(),e.TgZ(9,"ui-button-tabs",5),e.NdJ("selectedChange",function(d){return n.view=d}),e.qZA(),e.YNc(10,re,3,2,"ng-container",3)),2&t&&(e.Q6J("routerLink",e.DdM(6,ae)),e.xp6(
15),e.Q6J("ngIf",n.type===n.AppointmentTypologies.reception),e.xp6(1),e.Q6J("ngIf",n.type===n.AppointmentTypologies.session),e.xp6(3),e.Q6J("items",n.tabs)("selected",n.view),e.xp6(1),e.Q6J("ngIf",n.availability))},directives:[v.yS,s.bk,i.O5,h,R,ee],styles:[""]}),o})()}];let se=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=e.oAB({type:o}),o.\u0275inj=e.cJS({imports:[[v.Bz.forChild(le)],v.Bz]}),o})(),ce=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=e.oAB({type:o}),o.\u0275inj=e.cJS({imports:[[i.ez,s.Kz]]}),o})();var de=r(8806),me=r(2721),pe=r(3685),ue=r(6262),_e=r(292),ve=r(2141),ge=r(6268);let fe=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=e.oAB({type:o}),o.\u0275inj=e.cJS({imports:[[i.ez,se,s.Kz,ce,de.h,me.n,pe.g,m.UX,ue.k,m.u5,_e._,ve.A,ge.I]]}),o})()}}]);
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.