oxpi-nglib 2.0.65 → 2.0.67

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 (102) 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 +6 -6
  12. package/esm2022/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +6 -6
  13. package/esm2022/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.mjs +4 -4
  14. package/esm2022/lib/cadastros/funcionarios/funcionarios/funcionarios.component.mjs +7 -7
  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/models/entidades/funcionario.mjs +2 -2
  27. package/esm2022/lib/models/entidades/operador.mjs +2 -2
  28. package/esm2022/lib/oxpi-nglib.module.mjs +6 -98
  29. package/esm2022/lib/providers/auth-data.service.mjs +4 -4
  30. package/esm2022/lib/providers/common-web-service.mjs +4 -162
  31. package/esm2022/lib/providers/export.file.service.mjs +4 -4
  32. package/esm2022/lib/providers/notification.service.mjs +4 -4
  33. package/esm2022/lib/providers/preference.service.mjs +4 -4
  34. package/esm2022/lib/providers/safe-html.pipe.mjs +4 -4
  35. package/esm2022/lib/providers/screen-helper.service.mjs +4 -4
  36. package/esm2022/public-api.mjs +2 -35
  37. package/fesm2022/oxpi-nglib.mjs +354 -3501
  38. package/fesm2022/oxpi-nglib.mjs.map +1 -1
  39. package/lib/models/entidades/funcionario.d.ts +1 -1
  40. package/lib/models/entidades/operador.d.ts +1 -1
  41. package/lib/oxpi-nglib.module.d.ts +24 -54
  42. package/lib/providers/common-web-service.d.ts +0 -43
  43. package/package.json +3 -3
  44. package/public-api.d.ts +1 -34
  45. package/esm2022/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +0 -85
  46. package/esm2022/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.mjs +0 -88
  47. package/esm2022/lib/cadastros/produtos/produto-composicao/produto-composicao.component.mjs +0 -150
  48. package/esm2022/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.mjs +0 -68
  49. package/esm2022/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.mjs +0 -84
  50. package/esm2022/lib/cadastros/produtos/produto-form/produto-form.component.mjs +0 -371
  51. package/esm2022/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.mjs +0 -159
  52. package/esm2022/lib/cadastros/produtos/produtos/produtos.component.mjs +0 -277
  53. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.mjs +0 -70
  54. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.mjs +0 -78
  55. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.mjs +0 -106
  56. package/esm2022/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.mjs +0 -165
  57. package/esm2022/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.mjs +0 -65
  58. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.mjs +0 -69
  59. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.mjs +0 -68
  60. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.mjs +0 -21
  61. package/esm2022/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.mjs +0 -106
  62. package/esm2022/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.mjs +0 -184
  63. package/esm2022/lib/cadastros/produtos-history/produtos-history.component.mjs +0 -79
  64. package/esm2022/lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component.mjs +0 -79
  65. package/esm2022/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.mjs +0 -58
  66. package/esm2022/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.mjs +0 -71
  67. package/esm2022/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.mjs +0 -68
  68. package/esm2022/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +0 -109
  69. package/esm2022/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.mjs +0 -156
  70. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-add-dialog/produto-verificacao-grupo-add-dialog.component.mjs +0 -70
  71. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-edit-dialog/produto-verificacao-grupo-edit-dialog.component.mjs +0 -78
  72. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-selecao-dialog/produto-verificacao-grupo-selecao-dialog.component.mjs +0 -106
  73. package/esm2022/lib/cadastros/produtos-verificacao-grupo/produtos-verificacao-grupo/produtos-verificacao-grupo.component.mjs +0 -160
  74. package/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.d.ts +0 -28
  75. package/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.d.ts +0 -34
  76. package/lib/cadastros/produtos/produto-composicao/produto-composicao.component.d.ts +0 -30
  77. package/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.d.ts +0 -29
  78. package/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.d.ts +0 -28
  79. package/lib/cadastros/produtos/produto-form/produto-form.component.d.ts +0 -83
  80. package/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.d.ts +0 -43
  81. package/lib/cadastros/produtos/produtos/produtos.component.d.ts +0 -50
  82. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.d.ts +0 -27
  83. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.d.ts +0 -28
  84. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.d.ts +0 -35
  85. package/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.d.ts +0 -39
  86. package/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.d.ts +0 -21
  87. package/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.d.ts +0 -27
  88. package/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.d.ts +0 -27
  89. package/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.d.ts +0 -11
  90. package/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.d.ts +0 -35
  91. package/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.d.ts +0 -37
  92. package/lib/cadastros/produtos-history/produtos-history.component.d.ts +0 -28
  93. package/lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component.d.ts +0 -25
  94. package/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.d.ts +0 -29
  95. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.d.ts +0 -27
  96. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.d.ts +0 -28
  97. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.d.ts +0 -35
  98. package/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.d.ts +0 -36
  99. package/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-add-dialog/produto-verificacao-grupo-add-dialog.component.d.ts +0 -27
  100. package/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-edit-dialog/produto-verificacao-grupo-edit-dialog.component.d.ts +0 -28
  101. package/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-selecao-dialog/produto-verificacao-grupo-selecao-dialog.component.d.ts +0 -35
  102. package/lib/cadastros/produtos-verificacao-grupo/produtos-verificacao-grupo/produtos-verificacao-grupo.component.d.ts +0 -39
@@ -1,150 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { confirmaExclusao } from '../../../models/infra/selecao-utils';
4
- import { ProdutoComposicaoAddDialogComponent } from '../produto-composicao-add-dialog/produto-composicao-add-dialog.component';
5
- import { ProdutoSelecaoDialogComponent } from '../produto-selecao-dialog/produto-selecao-dialog.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/dialog";
8
- import * as i2 from "../../../providers/common-web-service";
9
- import * as i3 from "../../../providers/notification.service";
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 "../../../controls/item-card/item-card.component";
16
- export class ProdutoComposicaoComponent {
17
- constructor(dialogRef, dialog, produto, ws, notification, screenHelper) {
18
- this.dialogRef = dialogRef;
19
- this.dialog = dialog;
20
- this.produto = produto;
21
- this.ws = ws;
22
- this.notification = notification;
23
- this.screenHelper = screenHelper;
24
- this.items = [];
25
- this.selectedItem = null;
26
- this.isBusy = false;
27
- this.totalCusto = 0;
28
- this.mobile = this.screenHelper.isMedium;
29
- }
30
- ngOnInit() {
31
- this.atualiza();
32
- }
33
- atualiza() {
34
- this.isBusy = true;
35
- this.ws.getProdutoComposicao(this.produto.id)
36
- .subscribe({
37
- next: r => {
38
- this.isBusy = false;
39
- for (const item of r.items) {
40
- item.produtoId = this.produto.id;
41
- item.produtoNome = this.produto.nome;
42
- }
43
- this.items = r.items;
44
- this.totalCusto = r.total;
45
- console.info(r);
46
- },
47
- error: err => {
48
- this.isBusy = false;
49
- this.notification.showHttpError(err);
50
- }
51
- });
52
- }
53
- selectItem(i) {
54
- this.selectedItem = i;
55
- }
56
- novo() {
57
- let height = (window.innerHeight * 0.90) + 'px';
58
- let width = 550 + 'px';
59
- if (this.mobile) {
60
- width = (window.innerWidth * 0.99) + 'px';
61
- //height = (window.innerHeight * 0.98) + 'px';
62
- }
63
- const dialog = this.dialog.open(ProdutoSelecaoDialogComponent, {
64
- width: width,
65
- height: height,
66
- maxWidth: '100%',
67
- panelClass: 'dialog-p0',
68
- });
69
- dialog.afterClosed().subscribe(result => {
70
- if (result === undefined)
71
- return;
72
- const p = result;
73
- const composicao = {
74
- id: 0,
75
- produtoId: this.produto.id,
76
- produtoNome: this.produto.nome,
77
- produtoItemId: p.id,
78
- produtoItemNome: p.nome,
79
- quantidade: 1
80
- };
81
- const dialog2 = this.dialog.open(ProdutoComposicaoAddDialogComponent, {
82
- width: width,
83
- //height: height,
84
- data: composicao,
85
- maxWidth: '100%',
86
- panelClass: 'dialog-p0',
87
- });
88
- dialog2.afterClosed().subscribe(result => {
89
- if (result === undefined)
90
- return;
91
- this.notification.showMsg("Salvo com sucesso.");
92
- this.atualiza();
93
- });
94
- });
95
- }
96
- editar() {
97
- if (!this.selectedItem)
98
- return;
99
- let height = (window.innerHeight * 0.90) + 'px';
100
- let width = 550 + 'px';
101
- if (this.mobile) {
102
- width = (window.innerWidth * 0.99) + 'px';
103
- //height = (window.innerHeight * 0.98) + 'px';
104
- }
105
- const dialog = this.dialog.open(ProdutoComposicaoAddDialogComponent, {
106
- width: width,
107
- //height: height,
108
- data: this.selectedItem,
109
- maxWidth: '100%',
110
- panelClass: 'dialog-p0',
111
- });
112
- dialog.afterClosed().subscribe(result => {
113
- if (result === undefined)
114
- return;
115
- this.notification.showMsg("Salvo com sucesso.");
116
- this.atualiza();
117
- });
118
- }
119
- excluir() {
120
- const item = this.selectedItem;
121
- if (!item)
122
- return;
123
- confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do produto '${item.produtoItemNome}'?`, () => {
124
- this.isBusy = true;
125
- this.ws.deleteProdutoComposicao(item.id)
126
- .subscribe({
127
- next: r => {
128
- this.notification.showMsg("O produto foi excluído com sucesso.");
129
- this.items.remove(item);
130
- this.selectedItem = null;
131
- this.isBusy = false;
132
- },
133
- error: err => {
134
- this.isBusy = false;
135
- this.notification.showMsg(err.error);
136
- }
137
- });
138
- });
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutoComposicaoComponent, deps: [{ token: i1.MatDialogRef }, { token: i1.MatDialog }, { token: MAT_DIALOG_DATA }, { token: i2.CommonWebService }, { token: i3.NotificationService }, { token: i4.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProdutoComposicaoComponent, selector: "ox-produto-composicao", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Composi\u00E7\u00E3o do Produto '{{produto.nome}}'</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [codigo]=\"i.quantidade\" [nome]=\"i.produtoItemNome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"total-custo\">\n <label>Total Custo</label>\n <span>{{totalCusto | currency:\"BRL\"}}</span>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n\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}.total-custo{display:flex;justify-self:flex-end;font-weight:500;place-self:center;align-self:center;padding:8px;background:linear-gradient(359deg,#f4f4f4,white);border-radius:9px;margin:4px;font-size:medium;color:#3c2b1e;flex-direction:column;justify-items:center;align-items:center;gap:2px;border-bottom:1px solid #acac8e}.total-custo label{font-size:small;color:#3c2b1e}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: i1.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.ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado", "ownership"] }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutoComposicaoComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'ox-produto-composicao', template: "<div class=\"dialog-header\">\n <h2>Composi\u00E7\u00E3o do Produto '{{produto.nome}}'</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [codigo]=\"i.quantidade\" [nome]=\"i.produtoItemNome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"total-custo\">\n <label>Total Custo</label>\n <span>{{totalCusto | currency:\"BRL\"}}</span>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n\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}.total-custo{display:flex;justify-self:flex-end;font-weight:500;place-self:center;align-self:center;padding:8px;background:linear-gradient(359deg,#f4f4f4,white);border-radius:9px;margin:4px;font-size:medium;color:#3c2b1e;flex-direction:column;justify-items:center;align-items:center;gap:2px;border-bottom:1px solid #acac8e}.total-custo label{font-size:small;color:#3c2b1e}\n"] }]
146
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i1.MatDialog }, { type: undefined, decorators: [{
147
- type: Inject,
148
- args: [MAT_DIALOG_DATA]
149
- }] }, { type: i2.CommonWebService }, { type: i3.NotificationService }, { type: i4.ScreenHelperService }]; } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1jb21wb3NpY2FvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1jb21wb3NpY2FvL3Byb2R1dG8tY29tcG9zaWNhby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tY29tcG9zaWNhby9wcm9kdXRvLWNvbXBvc2ljYW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUl2RSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7Ozs7QUFPM0csTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxZQUFtQixTQUFtRCxFQUM3RCxNQUFpQixFQUVqQixPQUFnQixFQUNmLEVBQW9CLEVBQ3BCLFlBQWlDLEVBQ2pDLFlBQWlDO1FBTnhCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQzdELFdBQU0sR0FBTixNQUFNLENBQVc7UUFFakIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNmLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFYM0MsVUFBSyxHQUF3QixFQUFFLENBQUM7UUFDaEMsaUJBQVksR0FBNkIsSUFBSSxD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Q0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQzFCLGdEQUFnRCxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQ3hFLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDckMsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFDUixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO29CQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixDQUFDO2dCQUNELEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTlIVSwwQkFBMEIsdUVBUTNCLGVBQWU7a0dBUmQsMEJBQTBCLDZEQ2hCdkMsNGhEQWtDMkQ7OzJGRGxCOUMsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHVCQUF1Qjs7MEJBWTlCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUHJvZHV0byB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0byc7XG5pbXBvcnQgeyBQcm9kdXRvQ29tcG9zaWNhbyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1jb21wb3NpY2FvJztcbmltcG9ydCB7IGNvbmZpcm1hRXhjbHVzYW8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1dG9Db21wb3NpY2FvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHV0by1jb21wb3NpY2FvLWFkZC1kaWFsb2cvcHJvZHV0by1jb21wb3NpY2FvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHV0by1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ294LXByb2R1dG8tY29tcG9zaWNhbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdXRvLWNvbXBvc2ljYW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdXRvLWNvbXBvc2ljYW8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdXRvQ29tcG9zaWNhb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGl0ZW1zOiBQcm9kdXRvQ29tcG9zaWNhb1tdID0gW107XG4gIHNlbGVjdGVkSXRlbTogUHJvZHV0b0NvbXBvc2ljYW8gfCBudWxsID0gbnVsbDtcbiAgaXNCdXN5OiBib29sZWFuID0gZmFsc2U7XG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgdG90YWxDdXN0byA6IG51bWJlciA9IDA7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxQcm9kdXRvQ29tcG9zaWNhb0NvbXBvbmVudD4sXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgIHB1YmxpYyBwcm9kdXRvOiBQcm9kdXRvLFxuICAgIHByaXZhdGUgd3M6IENvbW1vbldlYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzY3JlZW5IZWxwZXI6IFNjcmVlbkhlbHBlclNlcnZpY2UpIHtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2NyZWVuSGVscGVyLmlzTWVkaXVtO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdHVhbGl6YSgpO1xuICB9XG4gIGF0dWFsaXphKCkge1xuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLmdldFByb2R1dG9Db21wb3NpY2FvKHRoaXMucHJvZHV0by5pZClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByLml0ZW1zKSB7XG4gICAgICAgICAgICBpdGVtLnByb2R1dG9JZCA9IHRoaXMucHJvZHV0by5pZDtcbiAgICAgICAgICAgIGl0ZW0ucHJvZHV0b05vbWUgPSB0aGlzLnByb2R1dG8ubm9tZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHIuaXRlbXM7XG4gICAgICAgICAgdGhpcy50b3RhbEN1c3RvID0gci50b3RhbDtcbiAgICAgICAgICBjb25zb2xlLmluZm8ocik7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd0h0dHBFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdEl0ZW0oaTogUHJvZHV0b0NvbXBvc2ljYW8pIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGk7XG4gIH1cblxuICBub3ZvKCkge1xuICAgIGxldCBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45MCkgKyAncHgnO1xuICAgIGxldCB3aWR0aCA9IDU1MCArICdweCc7XG4gICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAqIDAuOTkpICsgJ3B4JztcbiAgICAgIC8vaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTgpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIGNvbnN0IHAgPSByZXN1bHQgYXMgUHJvZHV0bztcbiAgICAgIGNvbnN0IGNvbXBvc2ljYW86IFByb2R1dG9Db21wb3NpY2FvID0ge1xuICAgICAgICBpZDogMCxcbiAgICAgICAgcHJvZHV0b0lkOiB0aGlzLnByb2R1dG8uaWQsXG4gICAgICAgIHByb2R1dG9Ob21lOiB0aGlzLnByb2R1dG8ubm9tZSxcbiAgICAgICAgcHJvZHV0b0l0ZW1JZDogcC5pZCxcbiAgICAgICAgcHJvZHV0b0l0ZW1Ob21lOiBwLm5vbWUsXG4gICAgICAgIHF1YW50aWRhZGU6IDFcbiAgICAgIH07XG4gICAgICBjb25zdCBkaWFsb2cyID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvQ29tcG9zaWNhb0FkZERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAgIC8vaGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgIGRhdGE6IGNvbXBvc2ljYW8sXG4gICAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgICAgfSk7XG4gICAgICBkaWFsb2cyLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGVkaXRhcigpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtKSByZXR1cm47XG4gICAgbGV0IGhlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjkwKSArICdweCc7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgLy9oZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45OCkgKyAncHgnO1xuICAgIH1cbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuKFByb2R1dG9Db21wb3NpY2FvQWRkRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAvL2hlaWdodDogaGVpZ2h0LFxuICAgICAgZGF0YTogdGhpcy5zZWxlY3RlZEl0ZW0sXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBleGNsdWlyKCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICBjb25maXJtYUV4Y2x1c2FvKHRoaXMuZGlhbG9nLFxuICAgICAgYERlc2VqYSBwcm9zc2VndWlyIGNvbSBhIGV4Y2x1c8OjbyBkbyBwcm9kdXRvICcke2l0ZW0ucHJvZHV0b0l0ZW1Ob21lfSc/YCxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgICAgICB0aGlzLndzLmRlbGV0ZVByb2R1dG9Db21wb3NpY2FvKGl0ZW0uaWQpXG4gICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIk8gcHJvZHV0byBmb2kgZXhjbHXDrWRvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgICAgICAgICAgdGhpcy5pdGVtcy5yZW1vdmUoaXRlbSk7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhlcnIuZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XG4gICAgPGgyPkNvbXBvc2nDp8OjbyBkbyBQcm9kdXRvICd7e3Byb2R1dG8ubm9tZX19JzwvaDI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidG9vbC1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb25cIj5cbiAgICAgICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1yb3dcIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXR1YWxpemEoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm92bygpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIm5vdm9cIj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0YXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cImVkaXRhclwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJleGNsdWlyKClcIiAqbmdJZj1cInNlbGVjdGVkSXRlbVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJlZGl0YXJcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICA8b3gtaXRlbS1jYXJkIFtjb2RpZ29dPVwiaS5xdWFudGlkYWRlXCIgW25vbWVdPVwiaS5wcm9kdXRvSXRlbU5vbWVcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpKVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgW2NsYXNzLnNlbGVjdGVkXT1cImkgPT09IHNlbGVjdGVkSXRlbVwiPjwvb3gtaXRlbS1jYXJkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRvdGFsLWN1c3RvXCI+XG4gICAgPGxhYmVsPlRvdGFsIEN1c3RvPC9sYWJlbD5cbiAgICA8c3Bhbj57e3RvdGFsQ3VzdG8gfCBjdXJyZW5jeTpcIkJSTFwifX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWZvb3RlclwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwic2VsZWN0ZWRJdGVtID09IHVuZGVmaW5lZFwiIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInNlbGVjdGVkSXRlbVwiPkNPTkZJUk1BUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ1bmRlZmluZWRcIj5WT0xUQVI8L2J1dHRvbj5cblxuICA8L2Rpdj5cbiAgPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj4iXX0=
@@ -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=