{"ast":null,"code":"import { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, Validators } from '@angular/forms';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"../services/client.service\";\nimport * as i3 from \"../services/scheduling.service\";\nimport * as i4 from \"@angular/common\";\nfunction SchedulingComponent_div_10_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"div\", 7)(1, \"label\");\n    i0.ɵɵtext(2, \"Hora di\\u00E1ria (HH:mm): \");\n    i0.ɵɵelement(3, \"input\", 8);\n    i0.ɵɵelementEnd()();\n  }\n}\nfunction SchedulingComponent_div_18_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"div\", 7);\n    i0.ɵɵtext(1, \"Enviando\\u2026\");\n    i0.ɵɵelementEnd();\n  }\n}\nexport let SchedulingComponent = /*#__PURE__*/(() => {\n  class SchedulingComponent {\n    constructor(fb, clients, api) {\n      this.fb = fb;\n      this.clients = clients;\n      this.api = api;\n      this.selectedClientId = '';\n      this.loading = false;\n      this.form = this.fb.group({\n        zeroPatio: [false],\n        hour: ['04:00', [Validators.required, Validators.pattern(/^([01]\\d|2[0-3]):[0-5]\\d$/)]]\n      });\n    }\n    ngOnInit() {\n      this.clients.selectedClient$.subscribe(cid => {\n        this.selectedClientId = cid || '';\n        if (cid) {\n          // opcional: carregar agendamento já salvo\n          this.api.getForCustomer(Number(cid)).subscribe({\n            next: cfg => {\n              if (cfg) {\n                this.form.patchValue({\n                  zeroPatio: !!cfg.zero_patio,\n                  hour: cfg.hour || '04:00'\n                });\n              }\n            }\n          });\n        }\n      });\n    }\n    save() {\n      if (!this.selectedClientId) {\n        alert('Selecione um cliente.');\n        return;\n      }\n      if (this.form.invalid) {\n        alert('Hora inválida.');\n        return;\n      }\n      this.loading = true;\n      this.api.createOrUpdate({\n        id_customer: Number(this.selectedClientId),\n        hour: this.form.value.hour,\n        zero_patio: !!this.form.value.zeroPatio\n      }).subscribe({\n        next: () => {\n          this.loading = false;\n          alert('Agendamento salvo com sucesso.');\n        },\n        error: e => {\n          this.loading = false;\n          alert('Erro ao salvar agendamento.');\n          console.error(e);\n        }\n      });\n    }\n    sendResetNow() {\n      if (!this.selectedClientId) {\n        alert('Selecione um cliente.');\n        return;\n      }\n      const key = `${this.selectedClientId}-1`; // id_customer - id_park (ajuste se necessário)\n      this.loading = true;\n      this.api.resetGround(key).subscribe({\n        next: resp => {\n          this.loading = false;\n          alert('Reset enviado para todos os pisos.');\n          console.log(resp);\n        },\n        error: e => {\n          this.loading = false;\n          alert('Erro ao enviar reset.');\n          console.error(e);\n        }\n      });\n    }\n    static #_ = this.ɵfac = function SchedulingComponent_Factory(t) {\n      return new (t || SchedulingComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.ClientService), i0.ɵɵdirectiveInject(i3.SchedulingService));\n    };\n    static #_2 = this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n      type: SchedulingComponent,\n      selectors: [[\"app-scheduling\"]],\n      standalone: true,\n      features: [i0.ɵɵStandaloneFeature],\n      decls: 19,\n      vars: 6,\n      consts: [[2, \"margin-bottom\", \"12px\"], [3, \"formGroup\"], [\"type\", \"checkbox\", \"formControlName\", \"zeroPatio\"], [\"style\", \"margin-top: 12px;\", 4, \"ngIf\"], [2, \"margin-top\", \"16px\"], [\"type\", \"button\", 3, \"click\", \"disabled\"], [2, \"margin\", \"20px 0\"], [2, \"margin-top\", \"12px\"], [\"type\", \"time\", \"formControlName\", \"hour\"]],\n      template: function SchedulingComponent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵelementStart(0, \"h2\");\n          i0.ɵɵtext(1, \"Agendamento\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(2, \"div\", 0)(3, \"strong\");\n          i0.ɵɵtext(4, \"Cliente:\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(5);\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(6, \"form\", 1)(7, \"label\");\n          i0.ɵɵelement(8, \"input\", 2);\n          i0.ɵɵtext(9, \" Zerar p\\u00E1tio diariamente? \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵtemplate(10, SchedulingComponent_div_10_Template, 4, 0, \"div\", 3);\n          i0.ɵɵelementStart(11, \"div\", 4)(12, \"button\", 5);\n          i0.ɵɵlistener(\"click\", function SchedulingComponent_Template_button_click_12_listener() {\n            return ctx.save();\n          });\n          i0.ɵɵtext(13, \"Salvar\");\n          i0.ɵɵelementEnd()();\n          i0.ɵɵelement(14, \"hr\", 6);\n          i0.ɵɵelementStart(15, \"div\")(16, \"button\", 5);\n          i0.ɵɵlistener(\"click\", function SchedulingComponent_Template_button_click_16_listener() {\n            return ctx.sendResetNow();\n          });\n          i0.ɵɵtext(17, \" Reset agora (todos os pisos) \");\n          i0.ɵɵelementEnd()();\n          i0.ɵɵtemplate(18, SchedulingComponent_div_18_Template, 2, 0, \"div\", 3);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(5);\n          i0.ɵɵtextInterpolate1(\" \", ctx.selectedClientId || \"\\u2014\", \"\\n\");\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"formGroup\", ctx.form);\n          i0.ɵɵadvance(4);\n          i0.ɵɵproperty(\"ngIf\", ctx.form.controls.zeroPatio.value);\n          i0.ɵɵadvance(2);\n          i0.ɵɵproperty(\"disabled\", ctx.loading || !ctx.selectedClientId);\n          i0.ɵɵadvance(4);\n          i0.ɵɵproperty(\"disabled\", ctx.loading || !ctx.selectedClientId);\n          i0.ɵɵadvance(2);\n          i0.ɵɵproperty(\"ngIf\", ctx.loading);\n        }\n      },\n      dependencies: [CommonModule, i4.NgIf, ReactiveFormsModule, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.CheckboxControlValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, FormsModule],\n      styles: [\"h2[_ngcontent-%COMP%]{margin:8px 0 16px}label[_ngcontent-%COMP%]{cursor:pointer}button[_ngcontent-%COMP%]{padding:6px 10px}\\n\\n/*# sourceMappingURL=scheduling.component.css.map*/\"]\n    });\n  }\n  return SchedulingComponent;\n})();","map":{"version":3,"names":["CommonModule","ReactiveFormsModule","Validators","FormsModule","i0","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","SchedulingComponent","constructor","fb","clients","api","selectedClientId","loading","form","group","zeroPatio","hour","required","pattern","ngOnInit","selectedClient$","subscribe","cid","getForCustomer","Number","next","cfg","patchValue","zero_patio","save","alert","invalid","createOrUpdate","id_customer","value","error","e","console","sendResetNow","key","resetGround","resp","log","_","ɵɵdirectiveInject","i1","FormBuilder","i2","ClientService","i3","SchedulingService","_2","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","SchedulingComponent_Template","rf","ctx","ɵɵtemplate","SchedulingComponent_div_10_Template","ɵɵlistener","SchedulingComponent_Template_button_click_12_listener","SchedulingComponent_Template_button_click_16_listener","SchedulingComponent_div_18_Template","ɵɵadvance","ɵɵtextInterpolate1","ɵɵproperty","controls","i4","NgIf","ɵNgNoValidate","DefaultValueAccessor","CheckboxControlValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","styles"],"sources":["/root/rfcontavagas_hom/12.-Servidor-local-Docker/Front-Parking-Angular/src/app/scheduling/scheduling.component.ts","/root/rfcontavagas_hom/12.-Servidor-local-Docker/Front-Parking-Angular/src/app/scheduling/scheduling.component.html"],"sourcesContent":["// src/app/scheduling/scheduling.component.ts\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormBuilder, Validators } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ClientService } from '../services/client.service';\r\nimport { SchedulingService } from '../services/scheduling.service';\r\n\r\n@Component({\r\n  selector: 'app-scheduling',\r\n  standalone: true,\r\n  imports: [CommonModule, ReactiveFormsModule, FormsModule],\r\n  templateUrl: './scheduling.component.html',\r\n  styleUrls: ['./scheduling.component.css']\r\n})\r\nexport class SchedulingComponent implements OnInit {\r\n  selectedClientId = '';\r\n  loading = false;\r\n\r\n  form = this.fb.group({\r\n    zeroPatio: [false],\r\n    hour: ['04:00', [Validators.required, Validators.pattern(/^([01]\\d|2[0-3]):[0-5]\\d$/)]],\r\n  });\r\n\r\n  constructor(\r\n    private fb: FormBuilder,\r\n    private clients: ClientService,\r\n    private api: SchedulingService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.clients.selectedClient$.subscribe(cid => {\r\n      this.selectedClientId = cid || '';\r\n      if (cid) {\r\n        // opcional: carregar agendamento já salvo\r\n        this.api.getForCustomer(Number(cid)).subscribe({\r\n          next: (cfg: any) => {\r\n            if (cfg) {\r\n              this.form.patchValue({\r\n                zeroPatio: !!cfg.zero_patio,\r\n                hour: cfg.hour || '04:00'\r\n              });\r\n            }\r\n          }\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  save() {\r\n    if (!this.selectedClientId) { alert('Selecione um cliente.'); return; }\r\n    if (this.form.invalid)      { alert('Hora inválida.'); return; }\r\n\r\n    this.loading = true;\r\n    this.api.createOrUpdate({\r\n      id_customer: Number(this.selectedClientId),\r\n      hour: this.form.value.hour!,\r\n      zero_patio: !!this.form.value.zeroPatio\r\n    }).subscribe({\r\n      next: () => { this.loading = false; alert('Agendamento salvo com sucesso.'); },\r\n      error: (e) => { this.loading = false; alert('Erro ao salvar agendamento.'); console.error(e); }\r\n    });\r\n  }\r\n\r\n  sendResetNow() {\r\n    if (!this.selectedClientId) { alert('Selecione um cliente.'); return; }\r\n\r\n    const key = `${this.selectedClientId}-1`; // id_customer - id_park (ajuste se necessário)\r\n    this.loading = true;\r\n    this.api.resetGround(key).subscribe({\r\n      next: (resp) => { this.loading = false; alert('Reset enviado para todos os pisos.'); console.log(resp); },\r\n      error: (e) => { this.loading = false; alert('Erro ao enviar reset.'); console.error(e); }\r\n    });\r\n  }\r\n}\r\n","<!-- src/app/scheduling/scheduling.component.html -->\r\n<h2>Agendamento</h2>\r\n\r\n<div style=\"margin-bottom: 12px;\">\r\n  <strong>Cliente:</strong> {{ selectedClientId || '—' }}\r\n</div>\r\n\r\n<form [formGroup]=\"form\">\r\n  <label>\r\n    <input type=\"checkbox\" formControlName=\"zeroPatio\">\r\n    Zerar pátio diariamente?\r\n  </label>\r\n\r\n  <div style=\"margin-top: 12px;\" *ngIf=\"form.controls.zeroPatio.value\">\r\n    <label>Hora diária (HH:mm):\r\n      <input type=\"time\" formControlName=\"hour\">\r\n    </label>\r\n  </div>\r\n\r\n  <div style=\"margin-top: 16px;\">\r\n    <button type=\"button\" (click)=\"save()\" [disabled]=\"loading || !selectedClientId\">Salvar</button>\r\n  </div>\r\n\r\n  <hr style=\"margin: 20px 0;\">\r\n\r\n  <div>\r\n    <button type=\"button\" (click)=\"sendResetNow()\" [disabled]=\"loading || !selectedClientId\">\r\n      Reset agora (todos os pisos)\r\n    </button>\r\n  </div>\r\n\r\n  <div *ngIf=\"loading\" style=\"margin-top: 12px;\">Enviando…</div>\r\n</form>\r\n"],"mappings":"AAEA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,mBAAmB,EAAeC,UAAU,QAAQ,gBAAgB;AAC7E,SAASC,WAAW,QAAQ,gBAAgB;;;;;;;;ICUxCC,EADF,CAAAC,cAAA,aAAqE,YAC5D;IAAAD,EAAA,CAAAE,MAAA,iCACL;IAAAF,EAAA,CAAAG,SAAA,eAA0C;IAE9CH,EADE,CAAAI,YAAA,EAAQ,EACJ;;;;;IAcNJ,EAAA,CAAAC,cAAA,aAA+C;IAAAD,EAAA,CAAAE,MAAA,qBAAS;IAAAF,EAAA,CAAAI,YAAA,EAAM;;;ADhBhE,WAAaC,mBAAmB;EAA1B,MAAOA,mBAAmB;IAS9BC,YACUC,EAAe,EACfC,OAAsB,EACtBC,GAAsB;MAFtB,KAAAF,EAAE,GAAFA,EAAE;MACF,KAAAC,OAAO,GAAPA,OAAO;MACP,KAAAC,GAAG,GAAHA,GAAG;MAXb,KAAAC,gBAAgB,GAAG,EAAE;MACrB,KAAAC,OAAO,GAAG,KAAK;MAEf,KAAAC,IAAI,GAAG,IAAI,CAACL,EAAE,CAACM,KAAK,CAAC;QACnBC,SAAS,EAAE,CAAC,KAAK,CAAC;QAClBC,IAAI,EAAE,CAAC,OAAO,EAAE,CAACjB,UAAU,CAACkB,QAAQ,EAAElB,UAAU,CAACmB,OAAO,CAAC,2BAA2B,CAAC,CAAC;OACvF,CAAC;IAMC;IAEHC,QAAQA,CAAA;MACN,IAAI,CAACV,OAAO,CAACW,eAAe,CAACC,SAAS,CAACC,GAAG,IAAG;QAC3C,IAAI,CAACX,gBAAgB,GAAGW,GAAG,IAAI,EAAE;QACjC,IAAIA,GAAG,EAAE;UACP;UACA,IAAI,CAACZ,GAAG,CAACa,cAAc,CAACC,MAAM,CAACF,GAAG,CAAC,CAAC,CAACD,SAAS,CAAC;YAC7CI,IAAI,EAAGC,GAAQ,IAAI;cACjB,IAAIA,GAAG,EAAE;gBACP,IAAI,CAACb,IAAI,CAACc,UAAU,CAAC;kBACnBZ,SAAS,EAAE,CAAC,CAACW,GAAG,CAACE,UAAU;kBAC3BZ,IAAI,EAAEU,GAAG,CAACV,IAAI,IAAI;iBACnB,CAAC;;YAEN;WACD,CAAC;;MAEN,CAAC,CAAC;IACJ;IAEAa,IAAIA,CAAA;MACF,IAAI,CAAC,IAAI,CAAClB,gBAAgB,EAAE;QAAEmB,KAAK,CAAC,uBAAuB,CAAC;QAAE;;MAC9D,IAAI,IAAI,CAACjB,IAAI,CAACkB,OAAO,EAAO;QAAED,KAAK,CAAC,gBAAgB,CAAC;QAAE;;MAEvD,IAAI,CAAClB,OAAO,GAAG,IAAI;MACnB,IAAI,CAACF,GAAG,CAACsB,cAAc,CAAC;QACtBC,WAAW,EAAET,MAAM,CAAC,IAAI,CAACb,gBAAgB,CAAC;QAC1CK,IAAI,EAAE,IAAI,CAACH,IAAI,CAACqB,KAAK,CAAClB,IAAK;QAC3BY,UAAU,EAAE,CAAC,CAAC,IAAI,CAACf,IAAI,CAACqB,KAAK,CAACnB;OAC/B,CAAC,CAACM,SAAS,CAAC;QACXI,IAAI,EAAEA,CAAA,KAAK;UAAG,IAAI,CAACb,OAAO,GAAG,KAAK;UAAEkB,KAAK,CAAC,gCAAgC,CAAC;QAAE,CAAC;QAC9EK,KAAK,EAAGC,CAAC,IAAI;UAAG,IAAI,CAACxB,OAAO,GAAG,KAAK;UAAEkB,KAAK,CAAC,6BAA6B,CAAC;UAAEO,OAAO,CAACF,KAAK,CAACC,CAAC,CAAC;QAAE;OAC/F,CAAC;IACJ;IAEAE,YAAYA,CAAA;MACV,IAAI,CAAC,IAAI,CAAC3B,gBAAgB,EAAE;QAAEmB,KAAK,CAAC,uBAAuB,CAAC;QAAE;;MAE9D,MAAMS,GAAG,GAAG,GAAG,IAAI,CAAC5B,gBAAgB,IAAI,CAAC,CAAC;MAC1C,IAAI,CAACC,OAAO,GAAG,IAAI;MACnB,IAAI,CAACF,GAAG,CAAC8B,WAAW,CAACD,GAAG,CAAC,CAAClB,SAAS,CAAC;QAClCI,IAAI,EAAGgB,IAAI,IAAI;UAAG,IAAI,CAAC7B,OAAO,GAAG,KAAK;UAAEkB,KAAK,CAAC,oCAAoC,CAAC;UAAEO,OAAO,CAACK,GAAG,CAACD,IAAI,CAAC;QAAE,CAAC;QACzGN,KAAK,EAAGC,CAAC,IAAI;UAAG,IAAI,CAACxB,OAAO,GAAG,KAAK;UAAEkB,KAAK,CAAC,uBAAuB,CAAC;UAAEO,OAAO,CAACF,KAAK,CAACC,CAAC,CAAC;QAAE;OACzF,CAAC;IACJ;IAAC,QAAAO,CAAA,G;uBA1DUrC,mBAAmB,EAAAL,EAAA,CAAA2C,iBAAA,CAAAC,EAAA,CAAAC,WAAA,GAAA7C,EAAA,CAAA2C,iBAAA,CAAAG,EAAA,CAAAC,aAAA,GAAA/C,EAAA,CAAA2C,iBAAA,CAAAK,EAAA,CAAAC,iBAAA;IAAA;IAAA,QAAAC,EAAA,G;YAAnB7C,mBAAmB;MAAA8C,SAAA;MAAAC,UAAA;MAAAC,QAAA,GAAArD,EAAA,CAAAsD,mBAAA;MAAAC,KAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA,WAAAC,6BAAAC,EAAA,EAAAC,GAAA;QAAA,IAAAD,EAAA;UCdhC5D,EAAA,CAAAC,cAAA,SAAI;UAAAD,EAAA,CAAAE,MAAA,kBAAW;UAAAF,EAAA,CAAAI,YAAA,EAAK;UAGlBJ,EADF,CAAAC,cAAA,aAAkC,aACxB;UAAAD,EAAA,CAAAE,MAAA,eAAQ;UAAAF,EAAA,CAAAI,YAAA,EAAS;UAACJ,EAAA,CAAAE,MAAA,GAC5B;UAAAF,EAAA,CAAAI,YAAA,EAAM;UAGJJ,EADF,CAAAC,cAAA,cAAyB,YAChB;UACLD,EAAA,CAAAG,SAAA,eAAmD;UACnDH,EAAA,CAAAE,MAAA,sCACF;UAAAF,EAAA,CAAAI,YAAA,EAAQ;UAERJ,EAAA,CAAA8D,UAAA,KAAAC,mCAAA,iBAAqE;UAOnE/D,EADF,CAAAC,cAAA,cAA+B,iBACoD;UAA3DD,EAAA,CAAAgE,UAAA,mBAAAC,sDAAA;YAAA,OAASJ,GAAA,CAAAjC,IAAA,EAAM;UAAA,EAAC;UAA2C5B,EAAA,CAAAE,MAAA,cAAM;UACzFF,EADyF,CAAAI,YAAA,EAAS,EAC5F;UAENJ,EAAA,CAAAG,SAAA,aAA4B;UAG1BH,EADF,CAAAC,cAAA,WAAK,iBACsF;UAAnED,EAAA,CAAAgE,UAAA,mBAAAE,sDAAA;YAAA,OAASL,GAAA,CAAAxB,YAAA,EAAc;UAAA,EAAC;UAC5CrC,EAAA,CAAAE,MAAA,sCACF;UACFF,EADE,CAAAI,YAAA,EAAS,EACL;UAENJ,EAAA,CAAA8D,UAAA,KAAAK,mCAAA,iBAA+C;UACjDnE,EAAA,CAAAI,YAAA,EAAO;;;UA5BqBJ,EAAA,CAAAoE,SAAA,GAC5B;UAD4BpE,EAAA,CAAAqE,kBAAA,MAAAR,GAAA,CAAAnD,gBAAA,mBAC5B;UAEMV,EAAA,CAAAoE,SAAA,EAAkB;UAAlBpE,EAAA,CAAAsE,UAAA,cAAAT,GAAA,CAAAjD,IAAA,CAAkB;UAMUZ,EAAA,CAAAoE,SAAA,GAAmC;UAAnCpE,EAAA,CAAAsE,UAAA,SAAAT,GAAA,CAAAjD,IAAA,CAAA2D,QAAA,CAAAzD,SAAA,CAAAmB,KAAA,CAAmC;UAO1BjC,EAAA,CAAAoE,SAAA,GAAyC;UAAzCpE,EAAA,CAAAsE,UAAA,aAAAT,GAAA,CAAAlD,OAAA,KAAAkD,GAAA,CAAAnD,gBAAA,CAAyC;UAMjCV,EAAA,CAAAoE,SAAA,GAAyC;UAAzCpE,EAAA,CAAAsE,UAAA,aAAAT,GAAA,CAAAlD,OAAA,KAAAkD,GAAA,CAAAnD,gBAAA,CAAyC;UAKpFV,EAAA,CAAAoE,SAAA,GAAa;UAAbpE,EAAA,CAAAsE,UAAA,SAAAT,GAAA,CAAAlD,OAAA,CAAa;;;qBDpBTf,YAAY,EAAA4E,EAAA,CAAAC,IAAA,EAAE5E,mBAAmB,EAAA+C,EAAA,CAAA8B,aAAA,EAAA9B,EAAA,CAAA+B,oBAAA,EAAA/B,EAAA,CAAAgC,4BAAA,EAAAhC,EAAA,CAAAiC,eAAA,EAAAjC,EAAA,CAAAkC,oBAAA,EAAAlC,EAAA,CAAAmC,kBAAA,EAAAnC,EAAA,CAAAoC,eAAA,EAAEjF,WAAW;MAAAkF,MAAA;IAAA;;SAI7C5E,mBAAmB;AAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}