oxpi-nglib 2.0.64 → 2.0.66

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.
Files changed (98) hide show
  1. package/esm2022/lib/cadastros/clientes/clientes/clientes-form.component.mjs +4 -4
  2. package/esm2022/lib/cadastros/clientes/clientes/clientes.component.mjs +5 -5
  3. package/esm2022/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.mjs +4 -4
  4. package/esm2022/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.mjs +4 -4
  5. package/esm2022/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.mjs +4 -4
  6. package/esm2022/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.mjs +4 -4
  7. package/esm2022/lib/cadastros/fornecedores/fornecedores/fornecedores.component.mjs +5 -5
  8. package/esm2022/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.mjs +4 -4
  9. package/esm2022/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.mjs +4 -4
  10. package/esm2022/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.mjs +4 -4
  11. package/esm2022/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +4 -4
  12. package/esm2022/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +4 -4
  13. package/esm2022/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.mjs +4 -4
  14. package/esm2022/lib/cadastros/funcionarios/funcionarios/funcionarios.component.mjs +5 -5
  15. package/esm2022/lib/controls/alert-dialog/alert-dialog.component.mjs +4 -4
  16. package/esm2022/lib/controls/busy-indicator/busy-indicator.component.mjs +5 -5
  17. package/esm2022/lib/controls/check-button/check-button.component.mjs +5 -5
  18. package/esm2022/lib/controls/image-viewer/image-viewer.component.mjs +5 -5
  19. package/esm2022/lib/controls/item-card/item-card.component.mjs +4 -4
  20. package/esm2022/lib/controls/month-year-picker/month-year-picker.component.mjs +4 -4
  21. package/esm2022/lib/controls/numeric-picker/numeric-picker.component.mjs +4 -4
  22. package/esm2022/lib/controls/paginator/paginator.component.mjs +4 -4
  23. package/esm2022/lib/controls/produto-card/produto-card.component.mjs +4 -4
  24. package/esm2022/lib/controls/radio-button-group/radio-button-group.component.mjs +4 -4
  25. package/esm2022/lib/controls/selecao-list-item/selecao-list-item.component.mjs +5 -5
  26. package/esm2022/lib/oxpi-nglib.module.mjs +6 -93
  27. package/esm2022/lib/providers/auth-data.service.mjs +4 -4
  28. package/esm2022/lib/providers/common-web-service.mjs +4 -4
  29. package/esm2022/lib/providers/export.file.service.mjs +4 -4
  30. package/esm2022/lib/providers/notification.service.mjs +6 -6
  31. package/esm2022/lib/providers/preference.service.mjs +4 -4
  32. package/esm2022/lib/providers/safe-html.pipe.mjs +4 -4
  33. package/esm2022/lib/providers/screen-helper.service.mjs +4 -4
  34. package/esm2022/public-api.mjs +1 -30
  35. package/fesm2022/oxpi-nglib.mjs +521 -3347
  36. package/fesm2022/oxpi-nglib.mjs.map +1 -1
  37. package/lib/oxpi-nglib.module.d.ts +25 -54
  38. package/lib/providers/notification.service.d.ts +1 -1
  39. package/package.json +3 -3
  40. package/public-api.d.ts +0 -29
  41. package/esm2022/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +0 -85
  42. package/esm2022/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.mjs +0 -88
  43. package/esm2022/lib/cadastros/produtos/produto-composicao/produto-composicao.component.mjs +0 -150
  44. package/esm2022/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.mjs +0 -68
  45. package/esm2022/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.mjs +0 -84
  46. package/esm2022/lib/cadastros/produtos/produto-form/produto-form.component.mjs +0 -371
  47. package/esm2022/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.mjs +0 -159
  48. package/esm2022/lib/cadastros/produtos/produtos/produtos.component.mjs +0 -277
  49. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.mjs +0 -70
  50. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.mjs +0 -78
  51. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.mjs +0 -106
  52. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.mjs +0 -165
  53. package/esm2022/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.mjs +0 -65
  54. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.mjs +0 -69
  55. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.mjs +0 -68
  56. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.mjs +0 -21
  57. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.mjs +0 -106
  58. package/esm2022/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.mjs +0 -184
  59. package/esm2022/lib/cadastros/produtos-history/produtos-history.component.mjs +0 -79
  60. package/esm2022/lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component.mjs +0 -79
  61. package/esm2022/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.mjs +0 -58
  62. package/esm2022/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.mjs +0 -71
  63. package/esm2022/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.mjs +0 -68
  64. package/esm2022/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +0 -109
  65. package/esm2022/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.mjs +0 -156
  66. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-add-dialog/produto-verificacao-grupo-add-dialog.component.mjs +0 -70
  67. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-edit-dialog/produto-verificacao-grupo-edit-dialog.component.mjs +0 -78
  68. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-selecao-dialog/produto-verificacao-grupo-selecao-dialog.component.mjs +0 -106
  69. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produtos-verificacao-grupo/produtos-verificacao-grupo.component.mjs +0 -160
  70. package/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.d.ts +0 -28
  71. package/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.d.ts +0 -34
  72. package/lib/cadastros/produtos/produto-composicao/produto-composicao.component.d.ts +0 -30
  73. package/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.d.ts +0 -29
  74. package/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.d.ts +0 -28
  75. package/lib/cadastros/produtos/produto-form/produto-form.component.d.ts +0 -83
  76. package/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.d.ts +0 -43
  77. package/lib/cadastros/produtos/produtos/produtos.component.d.ts +0 -50
  78. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.d.ts +0 -27
  79. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.d.ts +0 -28
  80. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.d.ts +0 -35
  81. package/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.d.ts +0 -39
  82. package/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.d.ts +0 -21
  83. package/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.d.ts +0 -27
  84. package/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.d.ts +0 -27
  85. package/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.d.ts +0 -11
  86. package/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.d.ts +0 -35
  87. package/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.d.ts +0 -37
  88. package/lib/cadastros/produtos-history/produtos-history.component.d.ts +0 -28
  89. package/lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component.d.ts +0 -25
  90. package/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.d.ts +0 -29
  91. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.d.ts +0 -27
  92. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.d.ts +0 -28
  93. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.d.ts +0 -35
  94. package/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.d.ts +0 -36
  95. package/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-add-dialog/produto-verificacao-grupo-add-dialog.component.d.ts +0 -27
  96. package/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-edit-dialog/produto-verificacao-grupo-edit-dialog.component.d.ts +0 -28
  97. package/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-selecao-dialog/produto-verificacao-grupo-selecao-dialog.component.d.ts +0 -35
  98. package/lib/cadastros/produtos-verificacao-grupo/produtos-verificacao-grupo/produtos-verificacao-grupo.component.d.ts +0 -39
@@ -1,68 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { validaProdutoComposicao } from '../../../models/entidades/produto-composicao';
4
- import { FocusService } from '../../../providers/focus.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../providers/common-web-service";
7
- import * as i2 from "../../../providers/notification.service";
8
- import * as i3 from "@angular/material/dialog";
9
- import * as i4 from "../../../providers/screen-helper.service";
10
- import * as i5 from "@angular/forms";
11
- import * as i6 from "@angular/material/button";
12
- import * as i7 from "@angular/material/icon";
13
- import * as i8 from "../../../controls/busy-indicator/busy-indicator.component";
14
- export class ProdutoComposicaoAddDialogComponent {
15
- constructor(model, ws, notification, dialogRef, screenHelper) {
16
- this.model = model;
17
- this.ws = ws;
18
- this.notification = notification;
19
- this.dialogRef = dialogRef;
20
- this.screenHelper = screenHelper;
21
- this.isBusy = false;
22
- this.focus = new FocusService();
23
- this.mobile = this.screenHelper.isMedium;
24
- this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
25
- }
26
- ngOnInit() {
27
- }
28
- salvar() {
29
- if (!this.model)
30
- return;
31
- const valMsg = validaProdutoComposicao(this.model, this.focus);
32
- if (valMsg) {
33
- this.notification.showMsgError(valMsg);
34
- return;
35
- }
36
- this.isBusy = true;
37
- const onFinished = {
38
- next: (r) => {
39
- this.isBusy = false;
40
- this.notification.showMsg("Salvo com sucesso.");
41
- if (this.dialogRef)
42
- this.dialogRef.close(true);
43
- },
44
- error: (err) => {
45
- this.isBusy = false;
46
- this.notification.showMsgError(err.error);
47
- }
48
- };
49
- if (this.model.id === 0) {
50
- this.ws.addProdutoComposicao(this.model)
51
- .subscribe(onFinished);
52
- }
53
- else {
54
- this.ws.saveProdutoComposicao(this.model)
55
- .subscribe(onFinished);
56
- }
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutoComposicaoAddDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.CommonWebService }, { token: i2.NotificationService }, { token: i3.MatDialogRef }, { token: i4.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProdutoComposicaoAddDialogComponent, selector: "lib-produto-composicao-add-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <span class=\"titulo\">Composi\u00E7\u00E3o '{{model.produtoNome}}'</span>\n <button mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"dialog-content\">\n <div class=\"vbox\">\n <h4>{{model.produtoItemNome}}</h4>\n <div class=\"form-group\">\n <label>Quantidade</label>\n <input id=\"quantidade\" [(ngModel)]=\"model.quantidade\" class=\"form-control input-120\" maxlength=\"10\"\n type=\"number\">\n </div>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button (click)=\"salvar()\">CONFIRMAR</button>\n</div>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i8.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }] }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutoComposicaoAddDialogComponent, decorators: [{
62
- type: Component,
63
- args: [{ selector: 'lib-produto-composicao-add-dialog', template: "<div class=\"ox-header\">\n <span class=\"titulo\">Composi\u00E7\u00E3o '{{model.produtoNome}}'</span>\n <button mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"dialog-content\">\n <div class=\"vbox\">\n <h4>{{model.produtoItemNome}}</h4>\n <div class=\"form-group\">\n <label>Quantidade</label>\n <input id=\"quantidade\" [(ngModel)]=\"model.quantidade\" class=\"form-control input-120\" maxlength=\"10\"\n type=\"number\">\n </div>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button (click)=\"salvar()\">CONFIRMAR</button>\n</div>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
64
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
65
- type: Inject,
66
- args: [MAT_DIALOG_DATA]
67
- }] }, { type: i1.CommonWebService }, { type: i2.NotificationService }, { type: i3.MatDialogRef }, { type: i4.ScreenHelperService }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1jb21wb3NpY2FvLWFkZC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLWNvbXBvc2ljYW8tYWRkLWRpYWxvZy9wcm9kdXRvLWNvbXBvc2ljYW8tYWRkLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tY29tcG9zaWNhby1hZGQtZGlhbG9nL3Byb2R1dG8tY29tcG9zaWNhby1hZGQtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQVNoRSxNQUFNLE9BQU8sbUNBQW1DO0lBSzlDLFlBQ1MsS0FBd0IsRUFDdkIsRUFBb0IsRUFDcEIsWUFBaUMsRUFDakMsU0FBNEQsRUFDNUQsWUFBaUM7UUFKbEMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQW1EO1FBQzVELGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQVIzQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsVUFBSyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBT3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQ2hCO1lBQ0UsSUFBSSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ2hELElBQUksSUFBSSxDQUFDLFNBQVM7b0JBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxDQUFDO1NBQ0YsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFCO2FBQ0k7WUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQ3RDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7OEdBaERVLG1DQUFtQyxrQkFLMUIsZUFBZTtrR0FMeEIsbUNBQW1DLHlFQ2RoRCx5dUJBbUJNOzsyRkRMTyxtQ0FBbUM7a0JBTC9DLFNBQVM7K0JBQ0UsbUNBQW1DOzswQkFTaEMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUHJvZHV0byB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0byc7XG5pbXBvcnQgeyBQcm9kdXRvQ29tcG9zaWNhbywgdmFsaWRhUHJvZHV0b0NvbXBvc2ljYW8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tY29tcG9zaWNhbyc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZm9jdXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXByb2R1dG8tY29tcG9zaWNhby1hZGQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1dG8tY29tcG9zaWNhby1hZGQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHV0by1jb21wb3NpY2FvLWFkZC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdXRvQ29tcG9zaWNhb0FkZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaXNCdXN5ID0gZmFsc2U7XG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgZm9jdXM6IEZvY3VzU2VydmljZSA9IG5ldyBGb2N1c1NlcnZpY2UoKTtcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgcHVibGljIG1vZGVsOiBQcm9kdXRvQ29tcG9zaWNhbyxcbiAgICBwcml2YXRlIHdzOiBDb21tb25XZWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UHJvZHV0b0NvbXBvc2ljYW9BZGREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgc2NyZWVuSGVscGVyOiBTY3JlZW5IZWxwZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5tb2JpbGUgPSB0aGlzLnNjcmVlbkhlbHBlci5pc01lZGl1bTtcbiAgICB0aGlzLnNjcmVlbkhlbHBlci5jaGFuZ2VkTWVkaXVtU2NyZWVuLnN1YnNjcmliZSh4ID0+IHRoaXMubW9iaWxlID0geCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHNhbHZhcigpIHtcbiAgICBpZiAoIXRoaXMubW9kZWwpIHJldHVybjtcbiAgICBjb25zdCB2YWxNc2cgPSB2YWxpZGFQcm9kdXRvQ29tcG9zaWNhbyh0aGlzLm1vZGVsLCB0aGlzLmZvY3VzKTtcbiAgICBpZiAodmFsTXNnKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnRXJyb3IodmFsTXNnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgY29uc3Qgb25GaW5pc2hlZCA9XG4gICAge1xuICAgICAgbmV4dDogKHI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dSZWYpXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnRXJyb3IoZXJyLmVycm9yKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmICh0aGlzLm1vZGVsLmlkID09PSAwKSB7XG4gICAgICB0aGlzLndzLmFkZFByb2R1dG9Db21wb3NpY2FvKHRoaXMubW9kZWwpXG4gICAgICAgIC5zdWJzY3JpYmUob25GaW5pc2hlZCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy53cy5zYXZlUHJvZHV0b0NvbXBvc2ljYW8odGhpcy5tb2RlbClcbiAgICAgICAgLnN1YnNjcmliZShvbkZpbmlzaGVkKTtcbiAgICB9XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHV0b0NvbXBvc2ljYW9EaWFsb2dJbmZvIHtcbiAgcXRkOiBudW1iZXI7XG4gIHByb2R1dG86IFByb2R1dG87XG4gIHByb2R1dG9JdGVtOiBQcm9kdXRvO1xufVxuIiwiPGRpdiBjbGFzcz1cIm94LWhlYWRlclwiPlxuICAgIDxzcGFuIGNsYXNzPVwidGl0dWxvXCI+Q29tcG9zacOnw6NvICd7e21vZGVsLnByb2R1dG9Ob21lfX0nPC9zcGFuPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxveC1idXN5LWluZGljYXRvciBbaXNCdXN5XT1cImlzQnVzeVwiPjwvb3gtYnVzeS1pbmRpY2F0b3I+XG48ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidmJveFwiPlxuICAgICAgICA8aDQ+e3ttb2RlbC5wcm9kdXRvSXRlbU5vbWV9fTwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8bGFiZWw+UXVhbnRpZGFkZTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJxdWFudGlkYWRlXCIgWyhuZ01vZGVsKV09XCJtb2RlbC5xdWFudGlkYWRlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtMTIwXCIgbWF4bGVuZ3RoPVwiMTBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2ctZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzYWx2YXIoKVwiPkNPTkZJUk1BUjwvYnV0dG9uPlxuPC9kaXY+Il19
@@ -1,84 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { validaProduto } from '../../../models/entidades/produto';
4
- import { FocusService } from '../../../providers/focus.service';
5
- import { ProdutosHistoryComponent } from '../../produtos-history/produtos-history.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../providers/common-web-service";
8
- import * as i2 from "../../../providers/notification.service";
9
- import * as i3 from "@angular/material/dialog";
10
- import * as i4 from "../../../providers/screen-helper.service";
11
- import * as i5 from "@angular/common";
12
- import * as i6 from "@angular/material/button";
13
- import * as i7 from "@angular/material/icon";
14
- import * as i8 from "../../../controls/busy-indicator/busy-indicator.component";
15
- import * as i9 from "../produto-form/produto-form.component";
16
- export class ProdutoEditDialogComponent {
17
- constructor(ws, notification, dataDialog, dialog, elRef, dialogRef, screenHelper) {
18
- this.ws = ws;
19
- this.notification = notification;
20
- this.dataDialog = dataDialog;
21
- this.dialog = dialog;
22
- this.elRef = elRef;
23
- this.dialogRef = dialogRef;
24
- this.screenHelper = screenHelper;
25
- this.isBusy = false;
26
- this.focus = new FocusService();
27
- if (dataDialog) {
28
- this.model = dataDialog;
29
- }
30
- this.mobile = this.screenHelper.isMedium;
31
- this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
32
- }
33
- ngOnInit() {
34
- this.focus.registerElement(this.elRef.nativeElement);
35
- }
36
- ngOnDestroy() {
37
- this.focus.unregisterElement(this.elRef.nativeElement);
38
- }
39
- salvar() {
40
- if (!this.model)
41
- return;
42
- const valMsg = validaProduto(this.model, this.focus);
43
- if (valMsg) {
44
- this.notification.showMsgError(valMsg);
45
- return;
46
- }
47
- this.isBusy = true;
48
- this.ws.saveProduto(this.model)
49
- .subscribe(r => {
50
- this.isBusy = false;
51
- this.notification.showMsg("Salvo com sucesso.");
52
- if (this.dialogRef)
53
- this.dialogRef.close(true);
54
- }, err => {
55
- this.isBusy = false;
56
- this.notification.showMsg(err.error);
57
- });
58
- }
59
- verHistorico() {
60
- let height = (window.innerHeight * 0.95) + 'px';
61
- let width = 700 + 'px';
62
- if (this.mobile) {
63
- width = (window.innerWidth * 0.99) + 'px';
64
- height = (window.innerHeight * 0.99) + 'px';
65
- }
66
- this.dialog.open(ProdutosHistoryComponent, {
67
- width: width,
68
- height: height,
69
- data: this.model,
70
- maxWidth: '100%',
71
- panelClass: 'dialog-app',
72
- });
73
- }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutoEditDialogComponent, deps: [{ token: i1.CommonWebService }, { token: i2.NotificationService }, { token: MAT_DIALOG_DATA }, { token: i3.MatDialog }, { token: i0.ElementRef }, { token: i3.MatDialogRef }, { token: i4.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProdutoEditDialogComponent, selector: "ox-produto-edit-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Editando Produto</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <ox-produto-form [model]=\"model\" [editMode]=\"true\" *ngIf=\"model\"></ox-produto-form>\n</div>\n<div class=\"dialog-footer\">\n <button *ngIf=\"model?.isHistorico !== true\" mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n <button *ngIf=\"model?.isHistorico !== true\" mat-button (click)=\"verHistorico()\" tabindex=\"29\">\n <i class=\"material-icons\">history</i></button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i8.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i9.ProdutoFormComponent, selector: "ox-produto-form", inputs: ["editMode", "model"], outputs: ["nextIdClick"] }] }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutoEditDialogComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: 'ox-produto-edit-dialog', template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Editando Produto</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <ox-produto-form [model]=\"model\" [editMode]=\"true\" *ngIf=\"model\"></ox-produto-form>\n</div>\n<div class=\"dialog-footer\">\n <button *ngIf=\"model?.isHistorico !== true\" mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n <button *ngIf=\"model?.isHistorico !== true\" mat-button (click)=\"verHistorico()\" tabindex=\"29\">\n <i class=\"material-icons\">history</i></button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
80
- }], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: undefined, decorators: [{
81
- type: Inject,
82
- args: [MAT_DIALOG_DATA]
83
- }] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: i4.ScreenHelperService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZWRpdC1kaWFsb2cvcHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZWRpdC1kaWFsb2cvcHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQTJCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7O0FBTzdGLE1BQU0sT0FBTywwQkFBMEI7SUFNckMsWUFBb0IsRUFBb0IsRUFDOUIsWUFBaUMsRUFFbEMsVUFBbUIsRUFDbkIsTUFBaUIsRUFDaEIsS0FBaUIsRUFDakIsU0FBbUQsRUFDbkQsWUFBaUM7UUFQdkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRWxDLGVBQVUsR0FBVixVQUFVLENBQVM7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQ25ELGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQVYzQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLFVBQUssR0FBa0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVV4QyxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUV6QyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUN4QixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxNQUFNLEVBQ1Y7WUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsSUFBSSxJQUFJLENBQUMsU0FBUztnQkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQy9DLElBQUksS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDMUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0M7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUN6QyxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxZQUFZO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakVVLDBCQUEwQixxRkFRM0IsZUFBZTtrR0FSZCwwQkFBMEIsOERDZHZDLHF3QkFleUQ7OzJGREQ1QywwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzswQkFZL0IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBQcm9kdXRvLCB2YWxpZGFQcm9kdXRvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvJztcbmltcG9ydCB7IENvbW1vbldlYlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY29tbW9uLXdlYi1zZXJ2aWNlJztcbmltcG9ydCB7IEZvY3VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9mb2N1cy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyZWVuSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9zY3JlZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHV0b3NIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcHJvZHV0b3MtaGlzdG9yeS9wcm9kdXRvcy1oaXN0b3J5LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ294LXByb2R1dG8tZWRpdC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1dG8tZWRpdC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1vZGVsOiBQcm9kdXRvIHwgdW5kZWZpbmVkO1xuICBtb2JpbGU6IGJvb2xlYW47XG4gIGlzQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuICBmb2N1cyA6IEZvY3VzU2VydmljZSA9IG5ldyBGb2N1c1NlcnZpY2UoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdzOiBDb21tb25XZWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgIHB1YmxpYyBkYXRhRGlhbG9nOiBQcm9kdXRvLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFByb2R1dG9FZGl0RGlhbG9nQ29tcG9uZW50PixcbiAgICBwcml2YXRlIHNjcmVlbkhlbHBlcjogU2NyZWVuSGVscGVyU2VydmljZSkge1xuICAgIGlmIChkYXRhRGlhbG9nKSB7XG4gICAgICB0aGlzLm1vZGVsID0gZGF0YURpYWxvZztcbiAgICB9XG4gICAgdGhpcy5tb2JpbGUgPSB0aGlzLnNjcmVlbkhlbHBlci5pc01lZGl1bTtcblxuICAgIHRoaXMuc2NyZWVuSGVscGVyLmNoYW5nZWRNZWRpdW1TY3JlZW4uc3Vic2NyaWJlKHggPT4gdGhpcy5tb2JpbGUgPSB4KTtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy5yZWdpc3RlckVsZW1lbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLnVucmVnaXN0ZXJFbGVtZW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBzYWx2YXIoKSB7XG4gICAgaWYgKCF0aGlzLm1vZGVsKSByZXR1cm47XG4gICAgY29uc3QgdmFsTXNnID0gdmFsaWRhUHJvZHV0byh0aGlzLm1vZGVsLCB0aGlzLmZvY3VzKTtcbiAgICBpZiAodmFsTXNnKVxuICAgIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2dFcnJvcih2YWxNc2cpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLnNhdmVQcm9kdXRvKHRoaXMubW9kZWwpXG4gICAgICAuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dSZWYpXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhlcnIuZXJyb3IpO1xuICAgICAgICB9KTtcbiAgfVxuICB2ZXJIaXN0b3JpY28oKSB7XG4gICAgbGV0IGhlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk1KSArICdweCdcbiAgICBsZXQgd2lkdGggPSA3MDAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45OSkgKyAncHgnO1xuICAgIH1cbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByb2R1dG9zSGlzdG9yeUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBkYXRhOiB0aGlzLm1vZGVsLFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctYXBwJyxcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwib3gtaGVhZGVyXCI+XG4gICAgPGgyIGNsYXNzPVwidGl0dWxvXCI+RWRpdGFuZG8gUHJvZHV0bzwvaDI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnRcIj5cbiAgICA8b3gtcHJvZHV0by1mb3JtIFttb2RlbF09XCJtb2RlbFwiIFtlZGl0TW9kZV09XCJ0cnVlXCIgKm5nSWY9XCJtb2RlbFwiPjwvb3gtcHJvZHV0by1mb3JtPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGlhbG9nLWZvb3RlclwiPlxuICAgIDxidXR0b24gKm5nSWY9XCJtb2RlbD8uaXNIaXN0b3JpY28gIT09IHRydWVcIiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYWx2YXIoKVwiIHRhYmluZGV4PVwiOVwiPlNBTFZBUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV0+Vk9MVEFSPC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cIm1vZGVsPy5pc0hpc3RvcmljbyAhPT0gdHJ1ZVwiIG1hdC1idXR0b24gKGNsaWNrKT1cInZlckhpc3RvcmljbygpXCIgdGFiaW5kZXg9XCIyOVwiPlxuICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+aGlzdG9yeTwvaT48L2J1dHRvbj5cbjwvZGl2PlxuPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj4iXX0=