@seniorsistemas/yms-integration 1.12.1 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1665,6 +1665,7 @@
1665
1665
 
1666
1666
  var VisitorCredentialsDto = /** @class */ (function () {
1667
1667
  function VisitorCredentialsDto() {
1668
+ this.credentialCards = [];
1668
1669
  }
1669
1670
  return VisitorCredentialsDto;
1670
1671
  }());
@@ -1908,7 +1909,6 @@
1908
1909
  this.visitors = [];
1909
1910
  this.visitorsChange = new core.EventEmitter();
1910
1911
  this.ngUnsubscribe = new rxjs.Subject();
1911
- this.credenciaisParaEntregar = [];
1912
1912
  this.unsubscribe$ = new rxjs.Subject();
1913
1913
  this._integrationCallback = integrationCallback;
1914
1914
  }
@@ -1930,7 +1930,7 @@
1930
1930
  };
1931
1931
  VisitanteComponent.prototype.atualizaMotorista = function (mot) {
1932
1932
  var motoristaVisitante = this.visitanteGridData.find(function (item) { return item.driver; });
1933
- if (motoristaVisitante && motoristaVisitante.cpf == mot.cpf) {
1933
+ if (motoristaVisitante && motoristaVisitante.documentType == this.getDocumentType() && motoristaVisitante.document == mot.cpf) {
1934
1934
  return;
1935
1935
  }
1936
1936
  if (this.visitanteGridData.length > 0) {
@@ -2062,26 +2062,32 @@
2062
2062
  };
2063
2063
  VisitanteComponent.prototype.model = function (visitante) {
2064
2064
  var _this = this;
2065
- var entregarCredencial = {
2066
- label: this.translate.instant("yms.patio.motorista_visitante_entregar_credencial"),
2067
- command: function () { return _this.entregarCredencial(visitante); },
2068
- };
2069
- if (visitante.document === this.motorista.cpf) {
2070
- return [entregarCredencial];
2071
- }
2072
- else {
2073
- return [
2074
- {
2075
- label: this.translate.instant("yms.patio.motorista_editar_visitante"),
2076
- command: function () { return _this.editarVisitante(visitante); },
2077
- },
2078
- {
2079
- label: this.translate.instant("yms.patio.delete"),
2080
- command: function () { return _this.deletarVisitante(visitante); },
2081
- },
2082
- entregarCredencial,
2083
- ];
2084
- }
2065
+ var isDriver = visitante.document === this.motorista.cpf;
2066
+ var findVisitor = this.visitors.find(function (visitorWithCredentials) {
2067
+ return visitorWithCredentials.visitor.document === visitante.document;
2068
+ });
2069
+ return [
2070
+ {
2071
+ label: this.translate.instant('yms.patio.motorista_editar_visitante'),
2072
+ command: function () { return _this.editarVisitante(visitante); },
2073
+ visible: !isDriver
2074
+ },
2075
+ {
2076
+ label: this.translate.instant('yms.patio.delete'),
2077
+ command: function () { return _this.deletarVisitante(visitante); },
2078
+ visible: !isDriver
2079
+ },
2080
+ {
2081
+ label: this.translate.instant('yms.patio.motorista_visitante_entregar_credencial'),
2082
+ command: function () { return _this.entregarCredencial(visitante); },
2083
+ visible: isDriver
2084
+ },
2085
+ {
2086
+ label: this.translate.instant('yms.patio.remover_credenciais'),
2087
+ command: function () { return _this.deletarCredenciais(findVisitor); },
2088
+ visible: findVisitor != null && findVisitor.credentialCards != null && findVisitor.credentialCards.length > 0
2089
+ },
2090
+ ];
2085
2091
  };
2086
2092
  VisitanteComponent.prototype.addVisitanteNaTabela = function (visitante) {
2087
2093
  if (visitante.id !== undefined) {
@@ -2111,7 +2117,7 @@
2111
2117
  });
2112
2118
  };
2113
2119
  VisitanteComponent.prototype.adicionaCredencialParaEntregar = function (visitorCredentialCard) {
2114
- var visitor = this.visitors.find(function (visitor) { return visitor.visitor.id === visitorCredentialCard.visitor.id; });
2120
+ var visitor = this.visitors.find(function (visitor) { return visitor.visitor.document === visitorCredentialCard.visitor.document; });
2115
2121
  if (visitor === undefined) {
2116
2122
  this.visitors.push({
2117
2123
  visitor: visitorCredentialCard.visitor,
@@ -2119,7 +2125,6 @@
2119
2125
  });
2120
2126
  }
2121
2127
  else {
2122
- visitor.credentialCards = [];
2123
2128
  visitor.credentialCards.push(this.createCredentialCard(visitorCredentialCard));
2124
2129
  }
2125
2130
  };
@@ -2133,6 +2138,9 @@
2133
2138
  _this.visitanteGridData.splice(index, 1);
2134
2139
  });
2135
2140
  };
2141
+ VisitanteComponent.prototype.deletarCredenciais = function (viisitorCredential) {
2142
+ viisitorCredential.credentialCards.splice(0, viisitorCredential.credentialCards.length);
2143
+ };
2136
2144
  VisitanteComponent.prototype.getContatoMotorista = function (motorista) {
2137
2145
  return motorista.telefone === undefined ? "0" : motorista.telefone;
2138
2146
  };
@@ -2228,7 +2236,7 @@
2228
2236
  VisitanteComponent = __decorate([
2229
2237
  core.Component({
2230
2238
  selector: 'visitante-component',
2231
- template: "<div style=\"margin-bottom: 15px\">\n <div>\n <p-header>\n {{ \"yms.patio.motorista_titulo_lista_visitante\" | translate}}\n <button\n style=\"margin-left: 50px\"\n type=\"button\"\n pButton\n (click)=\"criarOuAtualizarVisitante(null)\"\n label=\"{{ 'yms.patio.motorista_add_visitante' | translate }}\"\n >\n </button>\n </p-header>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #visitanteTable\n [value]=\"visitanteGridData\"\n [columns]=\"visitanteGridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"single\"\n [paginator]=\"true\"\n [totalRecords]=\"visitanteTotalRecords\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n [loading]=\"visitanteGridLoading\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"espaco-coluna-plus\" style=\"width: 50px\"></th>\n <th\n id=\"\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.field\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"\" style=\"width: 15%\"></th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns>\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <a href=\"#\" [pRowToggler]=\"rowData\" style=\"color: #000\">\n </a>\n </td>\n <td>\n <span>{{ rowData[\"name\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"document\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"contact\"] }}</span>\n </td>\n <td style=\"width: 15%\">\n <s-button\n priority=\"default\"\n label=\"{{ 'yms.patio.motorista_acao_visitante' | translate }}\"\n [model]=\"model(rowData)\"\n >\n </s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-columns=\"columns\">\n <tr class=\"bg-white no-hover\">\n <td [attr.colspan]=\"columns.length + 2\">\n <div *ngIf=\"isCredentialCardsEmpty(rowData); else elseBlock\">\n <div\n class=\"container flex-container\"\n *ngFor=\"let credentialCard of getCredentialCards(rowData)\"\n >\n <p-card\n header=\"{{ credentialCard.cardTechnology }}\"\n [style]=\"{ width: '300px', margin: '10px' }\"\n >\n <div>\n N\u00FAmero: <strong>{{ credentialCard.cardNumber }}</strong>\n </div>\n <div>\n Data de validade:\n <strong>{{ credentialCard.endDate | date : \"dd/MM/yyyy hh:mm\" }}</strong>\n </div>\n </p-card>\n </div>\n </div>\n <ng-template #elseBlock\n >N\u00E3o h\u00E1 credenciais para salvar ou entregues</ng-template\n >\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'total_records'\"\n [translateParams]=\"{ value: visitanteTotalRecords }\"\n ></span>\n </ng-template>\n </p-table>\n </div>\n </div>\n</div>\n</div>",
2239
+ template: "<div style=\"margin-bottom: 15px\">\n <div>\n <p-header>\n {{ \"yms.patio.motorista_titulo_lista_visitante\" | translate}}\n <button\n style=\"margin-left: 50px\"\n type=\"button\"\n pButton\n (click)=\"criarOuAtualizarVisitante(null)\"\n label=\"{{ 'yms.patio.motorista_add_visitante' | translate }}\"\n >\n </button>\n </p-header>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #visitanteTable\n [value]=\"visitanteGridData\"\n [columns]=\"visitanteGridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"single\"\n [paginator]=\"true\"\n [totalRecords]=\"visitanteTotalRecords\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n [loading]=\"visitanteGridLoading\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"espaco-coluna-plus\" style=\"width: 50px\"></th>\n <th\n id=\"\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.field\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"\" style=\"width: 15%\"></th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-expanded=\"expanded\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <a href=\"#\" [pRowToggler]=\"rowData\" style=\"color: #000\">\n <i [ngClass]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </a>\n </td>\n <td>\n <span>{{ rowData[\"name\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"document\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"contact\"] }}</span>\n </td>\n <td style=\"width: 15%\">\n <s-button\n priority=\"default\"\n label=\"{{ 'yms.patio.motorista_acao_visitante' | translate }}\"\n [model]=\"model(rowData)\"\n >\n </s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-columns=\"columns\">\n <tr class=\"bg-white no-hover\">\n <td [attr.colspan]=\"columns.length + 2\">\n <div *ngIf=\"isCredentialCardsEmpty(rowData); else elseBlock\">\n <div\n class=\"container flex-container\"\n *ngFor=\"let credentialCard of getCredentialCards(rowData)\"\n >\n <p-card\n header=\"{{ credentialCard.cardTechnology }}\"\n [style]=\"{ width: '300px', margin: '10px' }\"\n >\n <div>\n N\u00FAmero: <strong>{{ credentialCard.cardNumber }}</strong>\n </div>\n <div>\n Data de validade:\n <strong>{{ credentialCard.endDate | date : \"dd/MM/yyyy hh:mm\" }}</strong>\n </div>\n </p-card>\n </div>\n </div>\n <ng-template #elseBlock\n >N\u00E3o h\u00E1 credenciais para salvar ou entregues</ng-template\n >\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'total_records'\"\n [translateParams]=\"{ value: visitanteTotalRecords }\"\n ></span>\n </ng-template>\n </p-table>\n </div>\n </div>\n</div>\n</div>",
2232
2240
  styles: [".container{display:inline-flex}.flex-container{flex-wrap:wrap}"]
2233
2241
  }),
2234
2242
  __metadata("design:paramtypes", [core$1.TranslateService,
@@ -2666,8 +2674,7 @@
2666
2674
  this.route.data.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function (data) {
2667
2675
  _this.localeConfig = data.localeConfig;
2668
2676
  });
2669
- var rs = new rxjs.ReplaySubject();
2670
- rs.subscribe(function (isIntact) { return (_this.isFormModified = !isIntact); });
2677
+ this.formGroup.valueChanges.subscribe(function (changes) { return _this.isFormModified = true; });
2671
2678
  };
2672
2679
  SchedulingComponent.prototype.ngAfterViewInit = function () {
2673
2680
  this.saveAndInitButton = document.getElementById('init');
@@ -2725,20 +2732,19 @@
2725
2732
  _this.formGroup.patchValue(_this.actualValue);
2726
2733
  }, timeoutPatch);
2727
2734
  };
2735
+ SchedulingComponent.prototype.canSave = function () {
2736
+ if (!this.agenda || !this.agenda.id || !this.isFormModified) {
2737
+ return false;
2738
+ }
2739
+ return true;
2740
+ };
2728
2741
  SchedulingComponent.prototype.onSave = function (start) {
2729
2742
  var _this = this;
2730
- if (!this.agenda || !this.agenda.id) {
2731
- this.messageService.add({
2732
- severity: 'error',
2733
- summary: 'Agenda não salva',
2734
- detail: 'Salve a agenda antes de salvar informações do Ronda',
2735
- });
2736
- return;
2737
- }
2738
2743
  if (this.formGroup.invalid) {
2739
2744
  this.validateAllFormFields(this.formGroup);
2740
2745
  return;
2741
2746
  }
2747
+ this.isFormModified = false;
2742
2748
  var scheduling = this.schedulingVisitors.scheduling;
2743
2749
  scheduling.idYMS = this.agenda.id;
2744
2750
  scheduling.description = this.formGroup.controls['motivoVisita'].value;
@@ -2754,6 +2760,7 @@
2754
2760
  this.schedulingService
2755
2761
  .saveScheduling(this.schedulingVisitors)
2756
2762
  .pipe(operators.takeUntil(this.ngUnsubscribe), operators.mergeMap(function (res) {
2763
+ _this.schedulingVisitors = res;
2757
2764
  if (start)
2758
2765
  return _this.schedulingService.startScheduling(_this.schedulingVisitors.scheduling.idYMS);
2759
2766
  _this.loading = false;
@@ -2787,7 +2794,7 @@
2787
2794
  SchedulingComponent.prototype.createForm = function () {
2788
2795
  this.formGroup = this.fb.group({
2789
2796
  motivoVisita: [undefined, forms.Validators.compose([forms.Validators.required])],
2790
- portaria: [undefined, forms.Validators.compose([])],
2797
+ portaria: [undefined, forms.Validators.compose([forms.Validators.required])],
2791
2798
  dataSaida: [undefined, forms.Validators.compose([forms.Validators.required])],
2792
2799
  horaSaida: [undefined, forms.Validators.compose([forms.Validators.required])],
2793
2800
  });
@@ -2812,7 +2819,7 @@
2812
2819
  SchedulingComponent = __decorate([
2813
2820
  core.Component({
2814
2821
  selector: "scheduling",
2815
- template: "<visited-info [agenda]=\"agenda\"> </visited-info>\r\n<form [formGroup]=\"formGroup\" *sLoadingState=\"loading\" novalidate>\r\n <div class=\"ui-fluid\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-6 required\">\r\n <label for=\"motivoVisita\">{{ \"yms.patio.sam_motivo_visita\" | translate }}</label>\r\n <input\r\n type=\"text\"\r\n id=\"motivoVisita\"\r\n name=\"motivoVisita\"\r\n pInputText\r\n formControlName=\"motivoVisita\"\r\n autocomplete=\"off\"\r\n />\r\n <s-control-errors\r\n [control]=\"formGroup.controls['motivoVisita']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-12 ui-md-6\">\r\n <label for=\"portaria\">{{ \"yms.patio.sam_portaria\" | translate }}</label>\r\n <s-lookup\r\n dataKey=\"id\"\r\n id=\"portaria\"\r\n name=\"portaria\"\r\n formControlName=\"portaria\"\r\n lookupDisplayField=\"name\"\r\n [multiple]=\"false\"\r\n (onLookupRequest)=\"portariaLookup.lookupRequest($event)\"\r\n (onSearchRequest)=\"portariaLookup.searchRequest($event)\"\r\n [searchTitle]=\"'yms.patio.sam_portaria' | translate\"\r\n [searchEmptyTitle]=\"'nothing_found' | translate\"\r\n [searchFields]=\"portariaLookup.searchFields\"\r\n [searchGridFields]=\"portariaLookup.searchGridFields\"\r\n [searchGridData]=\"portariaLookup.searchGridData\"\r\n [searchTotalRecords]=\"portariaLookup.searchTotalRecords\"\r\n [searchTotalRecordsLabel]=\"\r\n 'total_records' | translate : { value: portariaLookup.searchTotalRecords }\r\n \"\r\n >\r\n </s-lookup>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['portaria']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-6 ui-md-3 required\">\r\n <label for=\"dataSaida\">{{ \"yms.patio.sam_data_saida\" | translate }}</label>\r\n <p-calendar\r\n id=\"dataSaida\"\r\n name=\"dataSaida\"\r\n formControlName=\"dataSaida\"\r\n inputId=\"dataSaida\"\r\n [showIcon]=\"true\"\r\n [locale]=\"localeConfig.calendar\"\r\n [dateFormat]=\"localeConfig.calendar.dateFormat\"\r\n >\r\n </p-calendar>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['dataSaida']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-6 ui-md-3 required\">\r\n <label for=\"horaSaida\">{{ \"yms.patio.sam_hora_saida\" | translate }}</label>\r\n <p-calendar\r\n id=\"horaSaida\"\r\n name=\"horaSaida\"\r\n formControlName=\"horaSaida\"\r\n [locale]=\"localeConfig.calendar\"\r\n inputId=\"horaSaida\"\r\n [showTime]=\"true\"\r\n [hourFormat]=\"localeConfig.calendar.hourFormat\"\r\n [timeOnly]=\"true\"\r\n >\r\n </p-calendar>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['horaSaida']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n<div class=\"separator\"></div>\r\n<div *ngIf=\"schedulingVisitors.visitors\">\r\n <visitante-component [motorista]=\"agenda.motorista\" [(visitors)]=\"schedulingVisitors.visitors\"></visitante-component>\r\n</div>\r\n<div class=\"separator\"></div>\r\n<div style=\"margin-top: 10px\">\r\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\r\n [disabled]=\"loading\"></s-button>\r\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\"\r\n [disabled]=\"loading\"></s-button>\r\n \r\n</div>\r\n"
2822
+ template: "<visited-info [agenda]=\"agenda\"> </visited-info>\r\n<form [formGroup]=\"formGroup\" *sLoadingState=\"loading\" novalidate>\r\n <div class=\"ui-fluid\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-6 required\">\r\n <label for=\"motivoVisita\">{{ \"yms.patio.sam_motivo_visita\" | translate }}</label>\r\n <input\r\n type=\"text\"\r\n id=\"motivoVisita\"\r\n name=\"motivoVisita\"\r\n pInputText\r\n formControlName=\"motivoVisita\"\r\n autocomplete=\"off\"\r\n />\r\n <s-control-errors\r\n [control]=\"formGroup.controls['motivoVisita']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-12 ui-md-6 required\">\r\n <label for=\"portaria\">{{ \"yms.patio.sam_portaria\" | translate }}</label>\r\n <s-lookup\r\n dataKey=\"id\"\r\n id=\"portaria\"\r\n name=\"portaria\"\r\n formControlName=\"portaria\"\r\n lookupDisplayField=\"name\"\r\n [multiple]=\"false\"\r\n (onLookupRequest)=\"portariaLookup.lookupRequest($event)\"\r\n (onSearchRequest)=\"portariaLookup.searchRequest($event)\"\r\n [searchTitle]=\"'yms.patio.sam_portaria' | translate\"\r\n [searchEmptyTitle]=\"'nothing_found' | translate\"\r\n [searchFields]=\"portariaLookup.searchFields\"\r\n [searchGridFields]=\"portariaLookup.searchGridFields\"\r\n [searchGridData]=\"portariaLookup.searchGridData\"\r\n [searchTotalRecords]=\"portariaLookup.searchTotalRecords\"\r\n [searchTotalRecordsLabel]=\"\r\n 'total_records' | translate : { value: portariaLookup.searchTotalRecords }\r\n \">\r\n </s-lookup>\r\n <s-control-errors \r\n [control]=\"formGroup.controls['portaria']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\">\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-6 ui-md-3 required\">\r\n <label for=\"dataSaida\">{{ \"yms.patio.sam_data_saida\" | translate }}</label>\r\n <p-calendar\r\n id=\"dataSaida\"\r\n name=\"dataSaida\"\r\n formControlName=\"dataSaida\"\r\n inputId=\"dataSaida\"\r\n [showIcon]=\"true\"\r\n [locale]=\"localeConfig.calendar\"\r\n [dateFormat]=\"localeConfig.calendar.dateFormat\"\r\n >\r\n </p-calendar>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['dataSaida']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-6 ui-md-3 required\">\r\n <label for=\"horaSaida\">{{ \"yms.patio.sam_hora_saida\" | translate }}</label>\r\n <p-calendar\r\n id=\"horaSaida\"\r\n name=\"horaSaida\"\r\n formControlName=\"horaSaida\"\r\n [locale]=\"localeConfig.calendar\"\r\n inputId=\"horaSaida\"\r\n [showTime]=\"true\"\r\n [hourFormat]=\"localeConfig.calendar.hourFormat\"\r\n [timeOnly]=\"true\"\r\n >\r\n </p-calendar>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['horaSaida']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n<div class=\"separator\"></div>\r\n<div *ngIf=\"schedulingVisitors.visitors\">\r\n <visitante-component [motorista]=\"agenda.motorista\" [(visitors)]=\"schedulingVisitors.visitors\"></visitante-component>\r\n</div>\r\n<div class=\"separator\"></div>\r\n<div style=\"margin-top: 10px\">\r\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\r\n [disabled]=\"loading || !canSave()\"></s-button>\r\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\"\r\n [disabled]=\"loading\"></s-button>\r\n \r\n</div>\r\n"
2816
2823
  }),
2817
2824
  __metadata("design:paramtypes", [forms.FormBuilder,
2818
2825
  router.ActivatedRoute,
@@ -2863,7 +2870,6 @@
2863
2870
  dynamicdialog.DynamicDialogModule,
2864
2871
  table.TableModule,
2865
2872
  primeng.TabViewModule,
2866
- angularComponents.LoadingStateModule,
2867
2873
  primeng.CalendarModule,
2868
2874
  ],
2869
2875
  providers: [