(self.webpackChunkapp=self.webpackChunkapp||[]).push([[8074],{68074:(L,M,s)=>{s.r(M),s.d(M,{EventDateTimePageModule:()=>z});var _=s(61380),f=s(15861),y=s(24889),S=s(15439),a=s.n(S),t=s(45449),h=s(24006),g=s(47898),m=s(90603),O=s(37763),A=s(90944),Y=s(36290),G=s(31044),b=s(99826);function H(c,v){if(1&c&&(t.\u0275\u0275elementStart(0,"div",15),t.\u0275\u0275text(1),t.\u0275\u0275elementEnd()),2&c){const o=v.$implicit;t.\u0275\u0275advance(1),t.\u0275\u0275textInterpolate1(" ",o.message," ")}}function B(c,v){if(1&c&&(t.\u0275\u0275elementStart(0,"div",13),t.\u0275\u0275template(1,H,2,1,"div",14),t.\u0275\u0275elementEnd()),2&c){const o=t.\u0275\u0275nextContext();t.\u0275\u0275advance(1),t.\u0275\u0275property("ngForOf",o.getFieldInputValidationErrors("startDate"))}}function V(c,v){if(1&c&&(t.\u0275\u0275elementStart(0,"div",15),t.\u0275\u0275text(1),t.\u0275\u0275elementEnd()),2&c){const o=v.$implicit;t.\u0275\u0275advance(1),t.\u0275\u0275textInterpolate1(" ",o.message," ")}}function N(c,v){if(1&c&&(t.\u0275\u0275elementStart(0,"div",13),t.\u0275\u0275template(1,V,2,1,"div",14),t.\u0275\u0275elementEnd()),2&c){const o=t.\u0275\u0275nextContext();t.\u0275\u0275advance(1),t.\u0275\u0275property("ngForOf",o.getFieldInputValidationErrors("endDate"))}}let w=(()=>{class c{constructor(o,i,l,d,p,T,x,P,I,F){var u=this;this.formBuilder=o,this.navigationService=i,this.notificatorService=l,this.createLogisticEventService=d,this.modalController=p,this.momentService=T,this.translateConfigService=x,this.platform=P,this.datePickerService=I,this.focusService=F,this.existPendings=!1,this.desabledBtnNext=!1,this.todayDate=null,this.startDate=null,this.startDay=null,this.endDate=null,this.minDate=null,this.maxDate=null,this.approveEventReview="",this.recurrenceDates=[],this.setInitialValueForTodayDate=()=>{this.todayDate=new Date},this.setInitialValueForStartDay=()=>{const e=this.createLogisticEventService.getStartDate();this.startDay=e?a()(e).format("YYYY-MM-DD"):a()().format("YYYY-MM-DD"),this.eventDateForm.controls.startDay.setValue(this.startDay)},this.setInitialValueForStartDate=()=>{const e=this.createLogisticEventService.getStartDate();this.startDate=e?a()(e):a()(),this.eventDateForm.controls.startDate.setValue(this.startDate),this.hourStartSelected=this.startDate?.format("HH:mm")},this.setInitialValueForEndDate=()=>{const e=this.createLogisticEventService.getEndDate();e?this.endDate=a()(e):(this.endDate=a()(),this.endDate=23===a()(this.endDate).hours()?a()(this.endDate).set({minutes:59}):a()(this.endDate).add(1,"hours")),this.eventDateForm.controls.endDate.setValue(this.endDate),this.hourEndSelected=this.endDate?.format("HH:mm")},this.setMinDate=()=>{this.minDate=new Date,this.minDate.setHours(0-this.minDate.getTimezoneOffset()/60,0,0,0)},this.setMaxDate=()=>{this.maxDate=new Date,this.maxDate.setHours(23-this.maxDate.getTimezoneOffset()/60),this.maxDate.setMinutes(59,59,0),this.maxDate.setFullYear(this.maxDate.getFullYear()+100)},this.onSubmit=()=>{this.cleanValidationErrors();const e=a()(this.startDay);let n=this.startDate,r=a()(this.endDate);if(this.compareEndDateAndStartDate(r,n),this.max24h&&!this.recurrenceDates.length){const E=a()(e).add(1,"d"),C=E.month(),U=E.year(),K=E.date();r=r.date(K).month(C).year(U).set({seconds:59})}else if(this.recurrenceDates.length){const E=this.recurrenceDates.slice().pop(),C=a()(E.happensAt).set({hours:a()(this.endDate).hours(),minutes:a()(this.endDate).minutes(),seconds:a()(this.endDate).seconds()});console.log("lastDateWithTime",C.format("YYYY-MM-DDTHH:mm:ss[Z]")),r=a()(this.endDate).set({seconds:59}),r=C,console.log("EndDate",r.format("YYYY-MM-DDTHH:mm:ss[Z]"))}else r=r.date(e.date()).month(e.month()).year(e.year()).set({seconds:59});n=a()(n).date(e.date()).month(e.month()).year(e.year()).set({seconds:0});const D={startDate:a()(n).format(),endDate:a()(r).format()};console.log("starDate",D.startDate),console.log("endDate",D.endDate);const R=this.validateInput(D);if(R.length){this.setValidationErrors(R);const E={title:this.translateConfigService.translate("PG_CREATE_LG_DATE_STEP_TOAST_INVALID_DATA_TITLE"),message:this.translateConfigService.translate("PG_CREATE_LG_DATE_STEP_TOAST_INVALID_DATA_NESSAGE"),type:"error"};this.notificatorService.notify(E)}else this.createLogisticEventService.setStartDate(n),this.createLogisticEventService.setEndDate(r),this.createLogisticEventService.setRecurrent(this.recurrenceDates.length>0),this.createLogisticEventService.setRecurrenceDates(this.recurrenceDates),this.max24h?(this.desabledBtnNext=!0,this.messageNotificationFutureEvent(r),setTimeout(()=>{this.navigationService.forward(["/logistic-events/create/event-driver"]),this.desabledBtnNext=!1},1e3)):this.navigationService.forward(["/logistic-events/create/event-driver"])},this.validateInput=e=>{const n=[],r=this.validateStartDate(e);r&&n.push(r);const D=this.validateEndDate(e);return D&&n.push(D),n},this.validateStartDate=e=>{const n=new Date;n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0);const r=new Date(e.startDate);return n.getTime()>r.getTime()?{field:"startDate",message:this.translateConfigService.translate("PG_CREATE_LG_DATE_STEP_TEXT_FIELD_STARTDATE")}:null},this.validateEndDate=e=>{const n=new Date(e.startDate),r=new Date(e.endDate);r.setDate(n.getDate()),r.setMonth(n.getMonth()),r.setFullYear(n.getFullYear());const D=new Date;return this.max24h?null:r.getTime(){const e=this.createLogisticEventService.getAction();this.navigationService.back(["/logistic-events/create/event-name"],{state:{onBack:!0,action:e}})},this.setValidationErrors=e=>{this.eventDateFormErrors=e},this.cleanValidationErrors=()=>{this.eventDateFormErrors=[]},this.thereIsFieldInputValidationErrors=e=>this.eventDateFormErrors.find(n=>n.field===e),this.getFieldInputValidationErrors=e=>this.eventDateFormErrors.filter(n=>n.field===e),this.onOpenPickDateModal=function(){var e=(0,f.Z)(function*(n){const r={pickMode:n},D=yield u.modalController.create({component:y.G,componentProps:{startDate:u.startDay,recurrence:"multi"===n?u.recurrenceDates:[],options:r}});D.onDidDismiss().then(u.onPickDateModalComponentDidDismiss),yield D.present()});return function(n){return e.apply(this,arguments)}}(),this.onPickDateModalComponentDidDismiss=e=>{if(!e?.data&&"OK"!==e.data.code)return this.startDay=this.startDay?this.startDay:a()(),void(this.recurrenceDates=[]);if(e.data&&"OK"===e.data.code){if(this.startDay=e.data.data.date,"single"===e.data.data.pickMode)this.startDay=a()(e.data.data.date);else if(e.data.data.recurrence.length>0){const n=this.mapRecurrenceDates(e.data.data.recurrence,this.eventId);this.recurrenceDates=n.slice(),this.startDay=a()(this.recurrenceDates[0].happensAt)}else this.recurrenceDates=[];console.log("startDay",a()(this.startDay).format("DD/MM/YYYY")),console.log("mapRecurrenceDates",this.recurrenceDates)}},this.onOpenPickStartDatetimeModal=(0,f.Z)(function*(){u.onOpenPickDatetimeModal(new Date(u.startDate),u.onPickStartDatetimeModalComponentDidDismiss)}),this.onOpenPickEndDatetimeModal=(0,f.Z)(function*(){u.onOpenPickDatetimeModal(new Date(u.endDate),u.onPickEndDatetimeModalComponentDidDismiss)}),this.onOpenPickDatetimeModal=function(){var e=(0,f.Z)(function*(n,r){const D=yield u.modalController.create({component:y.Mr,componentProps:{startDate:n}});D.onDidDismiss().then(r),yield D.present()});return function(n,r){return e.apply(this,arguments)}}(),this.onPickStartDatetimeModalComponentDidDismiss=e=>{e.data&&"OK"===e.data.code&&(this.startDate=e.data.data.date,this.endDate=a()(this.startDate).add(1,"hours"))},this.onPickEndDatetimeModalComponentDidDismiss=e=>{e.data&&"OK"===e.data.code&&(this.endDate=e.data.data.date)},this.approveEventReview=this.createLogisticEventService.getApproveEventReview()?this.createLogisticEventService.getApproveEventReview():"",this.recurrenceDates=this.createLogisticEventService.getRecurrenceDates(),this.eventId=+this.createLogisticEventService.getId()}ionViewWillEnter(){this.focusService.applyFocusQuerySelector("create_event_date",3500)}ngOnInit(){this.eventDateForm=this.formBuilder.group({startDay:[""],startDate:[""],endDate:[""]}),this.eventDateFormErrors=[],this.setInitialValueForTodayDate(),this.setInitialValueForStartDay(),this.setInitialValueForStartDate(),this.setInitialValueForEndDate(),this.setMinDate(),this.setMaxDate()}get minDateISOString(){return this.minDate.toISOString()}get maxDateISOString(){return this.maxDate.toISOString()}openPickerHourDialog(o,i){if("startDate"===o){this.hourStartSelected=i;const l=new Date,d=new Date(l.toDateString()+" "+i);this.startDate=d,this.endDate=a()(this.startDate).add(1,"hours").toDate(),this.hourEndSelected=a()(this.endDate).format("HH:mm")}else{const l=new Date,d=new Date(l.toDateString()+" "+i);this.endDate=d,this.hourEndSelected=a()(this.endDate).format("HH:mm")}}getDateToBeShow(){return this.momentService.formatAs(this.startDay,"DD/MM/YYYY")}getStartDatetimeToBeShow(){return this.momentService.formatAs(this.startDate,"HH[h]mm[min]")}getEndDatetimeToBeShow(){return this.momentService.formatAs(this.endDate,"HH[h]mm[min]")}compareEndDateAndStartDate(o,i){const l=a()(i.toISOString()),d=a()(o.toISOString()),p=l.hour(),T=l.minute(),x=l.second(),P=d.hour(),I=d.minute(),F=d.second();return this.max24h=P{this.max24h=!1,this.notificatorService.notify(p),clearTimeout(T)},500)}mapRecurrenceDates(o,i){return o.map(l=>{const d=a()(l).format("YYYY-MM-DD");return{eventId:i,happensAt:d}})}openPickerHour(o){var i=this;return(0,f.Z)(function*(){const l=yield i.datePickerService.openPickerHour(o,i.startDate,i.endDate);!l.endDate&&l.startDate||(i.startDate=l.startDate,i.endDate=l.endDate)})()}}return c.\u0275fac=function(o){return new(o||c)(t.\u0275\u0275directiveInject(h.UntypedFormBuilder),t.\u0275\u0275directiveInject(g.f5),t.\u0275\u0275directiveInject(g.V6),t.\u0275\u0275directiveInject(g.V),t.\u0275\u0275directiveInject(m.ModalController),t.\u0275\u0275directiveInject(g.EM),t.\u0275\u0275directiveInject(g.wK),t.\u0275\u0275directiveInject(m.Platform),t.\u0275\u0275directiveInject(g.Eo),t.\u0275\u0275directiveInject(O.i))},c.\u0275cmp=t.\u0275\u0275defineComponent({type:c,selectors:[["app-event-date-time"]],decls:34,vars:33,consts:[["defaultHref","/logistic-events/create/event-name",3,"title","showBadge","refresh","menuToggle"],[1,"centralized-content","ion-padding-horizontal"],[1,"page-title"],["id","create_event_date",1,"sub-title"],[3,"formGroup","ngSubmit"],["lines","none",1,"input-holder",3,"disabled"],["type","button",1,"hidden-input-button",3,"click"],["class","errors",4,"ngIf"],[3,"valueHour","timeSet"],["lines","none",1,"input-holder"],[1,"button-holder"],["type","button",1,"back",3,"click"],["type","submit",3,"disabled"],[1,"errors"],["class","error",4,"ngFor","ngForOf"],[1,"error"]],template:function(o,i){1&o&&(t.\u0275\u0275element(0,"app-header",0),t.\u0275\u0275pipe(1,"translate"),t.\u0275\u0275elementStart(2,"ion-content")(3,"div",1)(4,"div",2)(5,"div",3),t.\u0275\u0275text(6),t.\u0275\u0275pipe(7,"translate"),t.\u0275\u0275elementEnd()(),t.\u0275\u0275elementStart(8,"form",4),t.\u0275\u0275listener("ngSubmit",function(){return i.onSubmit()}),t.\u0275\u0275elementStart(9,"ion-item",5)(10,"ion-label"),t.\u0275\u0275text(11),t.\u0275\u0275pipe(12,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(13,"button",6),t.\u0275\u0275listener("click",function(){return i.onOpenPickDateModal("single")}),t.\u0275\u0275text(14),t.\u0275\u0275elementEnd()(),t.\u0275\u0275template(15,B,2,1,"div",7),t.\u0275\u0275elementStart(16,"ion-item",5)(17,"ion-label"),t.\u0275\u0275text(18),t.\u0275\u0275pipe(19,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(20,"app-custom-timepicker",8),t.\u0275\u0275listener("timeSet",function(d){return i.openPickerHourDialog("startDate",d)}),t.\u0275\u0275elementEnd()(),t.\u0275\u0275elementStart(21,"ion-item",9)(22,"ion-label"),t.\u0275\u0275text(23),t.\u0275\u0275pipe(24,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(25,"app-custom-timepicker",8),t.\u0275\u0275listener("timeSet",function(d){return i.openPickerHourDialog("endDate",d)}),t.\u0275\u0275elementEnd()(),t.\u0275\u0275template(26,N,2,1,"div",7),t.\u0275\u0275elementStart(27,"div",10)(28,"button",11),t.\u0275\u0275listener("click",function(){return i.goOneStepBack()}),t.\u0275\u0275text(29),t.\u0275\u0275pipe(30,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(31,"button",12),t.\u0275\u0275text(32),t.\u0275\u0275pipe(33,"translate"),t.\u0275\u0275elementEnd()()()()()),2&o&&(t.\u0275\u0275property("title",t.\u0275\u0275pipeBind1(1,19,"PG_CREATE_LG_DATE_STEP_HEADER_TITLE"))("showBadge",!0)("refresh",!1)("menuToggle",!1),t.\u0275\u0275advance(6),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(7,21,"PG_CREATE_LG_DATE_STEP_TEXT_SUBTITLE")," "),t.\u0275\u0275advance(2),t.\u0275\u0275property("formGroup",i.eventDateForm),t.\u0275\u0275advance(1),t.\u0275\u0275property("disabled","TRUE"===i.approveEventReview),t.\u0275\u0275advance(2),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(12,23,"PG_CREATE_LG_DATE_STEP_TEXT_DAY")," "),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate1(" ",i.getDateToBeShow()," "),t.\u0275\u0275advance(1),t.\u0275\u0275property("ngIf",i.thereIsFieldInputValidationErrors("startDate")),t.\u0275\u0275advance(1),t.\u0275\u0275property("disabled","TRUE"===i.approveEventReview),t.\u0275\u0275advance(2),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(19,25,"PG_CREATE_LG_DATE_STEP_TEXT_STARTAT")," "),t.\u0275\u0275advance(2),t.\u0275\u0275property("valueHour",i.hourStartSelected),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(24,27,"PG_CREATE_LG_DATE_STEP_TEXT_ENDAT")," "),t.\u0275\u0275advance(2),t.\u0275\u0275property("valueHour",i.hourEndSelected),t.\u0275\u0275advance(1),t.\u0275\u0275property("ngIf",i.thereIsFieldInputValidationErrors("endDate")),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(30,29,"BTN_BACK")," "),t.\u0275\u0275advance(2),t.\u0275\u0275property("disabled",i.desabledBtnNext),t.\u0275\u0275advance(1),t.\u0275\u0275textInterpolate(t.\u0275\u0275pipeBind1(33,31,"BTN_NEXT")))},dependencies:[A.NgForOf,A.NgIf,m.IonContent,m.IonItem,m.IonLabel,h.\u0275NgNoValidate,h.NgControlStatusGroup,h.FormGroupDirective,Y.G,G.P,b.X$],styles:["ion-content[_ngcontent-%COMP%]{--background: #f1f1f1}ion-toolbar[_ngcontent-%COMP%]{font-family:Nunito,sans-serif}ion-toolbar[_ngcontent-%COMP%] ion-img[_ngcontent-%COMP%]{height:25px;width:25px}ion-toolbar[_ngcontent-%COMP%] ion-title[_ngcontent-%COMP%]{letter-spacing:1px}ion-toolbar[_ngcontent-%COMP%] ion-button[_ngcontent-%COMP%] fa-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:24px;padding:0;width:24px;margin:0;font-size:19px;color:#656768}ion-toolbar[_ngcontent-%COMP%] ion-button.hover[_ngcontent-%COMP%]{background:#fff}.centralized-content[_ngcontent-%COMP%]{height:calc(100vh - 56px);display:flex;justify-content:flex-start;flex-direction:column}.centralized-content[_ngcontent-%COMP%] .input-holder[_ngcontent-%COMP%]{border:1px solid #eeeeee;border-radius:32px;margin:8px auto 0;width:100%}.centralized-content[_ngcontent-%COMP%] .button-holder.more-config[_ngcontent-%COMP%]{margin-top:2em;display:flex;justify-content:center;align-items:center}.centralized-content[_ngcontent-%COMP%] .errors[_ngcontent-%COMP%]{width:80%;margin:12px 10% 0;color:#f0181b;text-align:center}.centralized-content[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%]{margin-top:30px;margin-bottom:26px}.centralized-content[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:700;text-align:center}.centralized-content[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%] .sub-title[_ngcontent-%COMP%]{text-align:center;color:#656768;font-size:.9em;margin-top:4px}.centralized-content[_ngcontent-%COMP%] .hidden-input-button[_ngcontent-%COMP%]{background-color:#fff;height:100%;font-size:1em}.pulsate-fwd[_ngcontent-%COMP%]{animation:pulsate-fwd .5s ease-in-out infinite both;outline:none}@keyframes pulsate-fwd{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}"]}),c})();var k=s(69270);const j=[{path:"",component:w}];let z=(()=>{class c{}return c.\u0275fac=function(o){return new(o||c)},c.\u0275mod=t.\u0275\u0275defineNgModule({type:c}),c.\u0275inj=t.\u0275\u0275defineInjector({imports:[k.I,_.RouterModule.forChild(j)]}),c})()},37763:(L,M,s)=>{s.d(M,{i:()=>t});var _=s(61380),y=s(92198),S=s(45449);let t=(()=>{class h{constructor(m){this.router=m}focusInRouterNavigate(){this.router.events.pipe((0,y.h)(m=>m instanceof _.NavigationEnd)).subscribe(()=>{const m=document.querySelector("#focusHeader");m&&m?.focus()})}applyFocusQuerySelector(m,O){setTimeout(()=>{document.querySelector(`#${m}`)?.focus()},O)}}return h.\u0275fac=function(m){return new(m||h)(S.\u0275\u0275inject(_.Router))},h.\u0275prov=S.\u0275\u0275defineInjectable({token:h,factory:h.\u0275fac,providedIn:"root"}),h})()}}]);