oxpi-nglib 1.0.1 → 1.0.2

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 (68) hide show
  1. package/esm2020/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +3 -3
  2. package/esm2020/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +3 -3
  3. package/esm2020/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +79 -0
  4. package/esm2020/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.mjs +56 -0
  5. package/esm2020/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.mjs +68 -0
  6. package/esm2020/lib/cadastros/produtos/produto-form/produto-form.component.mjs +343 -0
  7. package/esm2020/lib/cadastros/produtos/produtos/produtos.component.mjs +211 -0
  8. package/esm2020/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.mjs +69 -0
  9. package/esm2020/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.mjs +68 -0
  10. package/esm2020/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.mjs +106 -0
  11. package/esm2020/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.mjs +156 -0
  12. package/esm2020/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.mjs +65 -0
  13. package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.mjs +69 -0
  14. package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.mjs +68 -0
  15. package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.mjs +18 -0
  16. package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.mjs +106 -0
  17. package/esm2020/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.mjs +179 -0
  18. package/esm2020/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.mjs +58 -0
  19. package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.mjs +71 -0
  20. package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.mjs +68 -0
  21. package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +106 -0
  22. package/esm2020/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.mjs +156 -0
  23. package/esm2020/lib/models/entidades/produto-grupo.mjs +9 -0
  24. package/esm2020/lib/models/entidades/produto-ncm.mjs +2 -0
  25. package/esm2020/lib/models/entidades/produto.mjs +106 -0
  26. package/esm2020/lib/models/entidades/setor-estoque.mjs +2 -0
  27. package/esm2020/lib/models/infra/number-parser.mjs +1 -1
  28. package/esm2020/lib/models/infra/selecao-utils.mjs +4 -2
  29. package/esm2020/lib/models/infra/validations.mjs +1 -1
  30. package/esm2020/lib/models/tuple.mjs +2 -0
  31. package/esm2020/lib/oxpi-nglib.module.mjs +69 -5
  32. package/esm2020/lib/providers/common-web-service.mjs +124 -2
  33. package/fesm2015/oxpi-nglib.mjs +2305 -206
  34. package/fesm2015/oxpi-nglib.mjs.map +1 -1
  35. package/fesm2020/oxpi-nglib.mjs +2284 -206
  36. package/fesm2020/oxpi-nglib.mjs.map +1 -1
  37. package/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.d.ts +28 -0
  38. package/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.d.ts +27 -0
  39. package/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.d.ts +27 -0
  40. package/lib/cadastros/produtos/produto-form/produto-form.component.d.ts +78 -0
  41. package/lib/cadastros/produtos/produtos/produtos.component.d.ts +44 -0
  42. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.d.ts +27 -0
  43. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.d.ts +27 -0
  44. package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.d.ts +35 -0
  45. package/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.d.ts +36 -0
  46. package/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.d.ts +21 -0
  47. package/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.d.ts +27 -0
  48. package/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.d.ts +27 -0
  49. package/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.d.ts +10 -0
  50. package/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.d.ts +35 -0
  51. package/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.d.ts +37 -0
  52. package/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.d.ts +29 -0
  53. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.d.ts +27 -0
  54. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.d.ts +28 -0
  55. package/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.d.ts +35 -0
  56. package/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.d.ts +36 -0
  57. package/lib/models/entidades/produto-grupo.d.ts +20 -0
  58. package/lib/models/entidades/produto-ncm.d.ts +10 -0
  59. package/lib/models/entidades/produto.d.ts +74 -0
  60. package/lib/models/entidades/setor-estoque.d.ts +7 -0
  61. package/lib/models/infra/number-parser.d.ts +1 -1
  62. package/lib/models/infra/selecao-utils.d.ts +1 -1
  63. package/lib/models/infra/validations.d.ts +3 -3
  64. package/lib/models/tuple.d.ts +4 -0
  65. package/lib/oxpi-nglib.module.d.ts +29 -8
  66. package/lib/providers/common-web-service.d.ts +38 -0
  67. package/package.json +1 -1
  68. package/styles/cadastros-listagens-form.scss +15 -0
@@ -0,0 +1,68 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import { valida } from '../../../models/entidades/produto-grupo';
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/common";
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
+ import * as i9 from "../../produtos-grupos/produto-grupo-form/produto-grupo-form.component";
15
+ export class ProdutoSubgrupoEditDialogComponent {
16
+ constructor(ws, notification, dataDialog, dialog, elRef, dialogRef, screenHelper) {
17
+ this.ws = ws;
18
+ this.notification = notification;
19
+ this.dataDialog = dataDialog;
20
+ this.dialog = dialog;
21
+ this.elRef = elRef;
22
+ this.dialogRef = dialogRef;
23
+ this.screenHelper = screenHelper;
24
+ this.isBusy = false;
25
+ this.focus = new FocusService();
26
+ if (dataDialog) {
27
+ this.model = dataDialog;
28
+ }
29
+ this.mobile = this.screenHelper.isMedium;
30
+ this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
31
+ }
32
+ ngOnInit() {
33
+ this.focus.registerElement(this.elRef.nativeElement);
34
+ }
35
+ ngOnDestroy() {
36
+ this.focus.unregisterElement(this.elRef.nativeElement);
37
+ }
38
+ salvar() {
39
+ if (!this.model)
40
+ return;
41
+ const valMsg = valida(this.model, this.focus);
42
+ if (valMsg) {
43
+ this.notification.showMsgError(valMsg);
44
+ return;
45
+ }
46
+ this.isBusy = true;
47
+ this.ws.saveProdutoSubgrupo(this.model)
48
+ .subscribe(r => {
49
+ this.isBusy = false;
50
+ this.notification.showMsg("Salvo com sucesso.");
51
+ if (this.dialogRef)
52
+ this.dialogRef.close(true);
53
+ }, err => {
54
+ this.isBusy = false;
55
+ this.notification.showMsg(err.error);
56
+ });
57
+ }
58
+ }
59
+ ProdutoSubgrupoEditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSubgrupoEditDialogComponent, 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 });
60
+ ProdutoSubgrupoEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoSubgrupoEditDialogComponent, selector: "app-produto-subgrupo-edit-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Editando Subgrupo</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 <app-produto-grupo-form [model]=\"model\" *ngIf=\"model\"></app-produto-grupo-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</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-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-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.ProdutoGrupoFormComponent, selector: "app-produto-grupo-form", inputs: ["model"] }] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSubgrupoEditDialogComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'app-produto-subgrupo-edit-dialog', template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Editando Subgrupo</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 <app-produto-grupo-form [model]=\"model\" *ngIf=\"model\"></app-produto-grupo-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</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"] }]
64
+ }], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: undefined, decorators: [{
65
+ type: Inject,
66
+ args: [MAT_DIALOG_DATA]
67
+ }] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: i4.ScreenHelperService }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFtQixNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7O0FBVWhFLE1BQU0sT0FBTyxrQ0FBa0M7SUFNN0MsWUFBb0IsRUFBb0IsRUFDOUIsWUFBaUMsRUFFbEMsVUFBMkIsRUFDM0IsTUFBaUIsRUFDaEIsS0FBaUIsRUFDakIsU0FBd0QsRUFDeEQsWUFBaUM7UUFQdkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRWxDLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUErQztRQUN4RCxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFWM0MsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixVQUFLLEdBQWtCLElBQUksWUFBWSxFQUFFLENBQUM7UUFVeEMsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFFekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFHRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDeEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksTUFBTSxFQUNWO1lBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsSUFBSSxJQUFJLENBQUMsU0FBUztnQkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzs7K0hBbERVLGtDQUFrQyxxRkFRbkMsZUFBZTttSEFSZCxrQ0FBa0Msd0VDZC9DLHNqQkFheUQ7MkZEQzVDLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxrQ0FBa0M7OzBCQVl6QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwbywgdmFsaWRhIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWdydXBvJztcbmltcG9ydCB7IENvbW1vbldlYlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY29tbW9uLXdlYi1zZXJ2aWNlJztcbmltcG9ydCB7IEZvY3VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9mb2N1cy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyZWVuSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9zY3JlZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHV0b0dydXBvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvLWdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdXRvU3ViZ3J1cG9FZGl0RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbW9kZWw6IFByb2R1dG9TdWJncnVwbyB8IHVuZGVmaW5lZDtcbiAgbW9iaWxlOiBib29sZWFuO1xuICBpc0J1c3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZm9jdXMgOiBGb2N1c1NlcnZpY2UgPSBuZXcgRm9jdXNTZXJ2aWNlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YURpYWxvZzogUHJvZHV0b1N1YmdydXBvLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFByb2R1dG9HcnVwb0VkaXREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgc2NyZWVuSGVscGVyOiBTY3JlZW5IZWxwZXJTZXJ2aWNlKSB7XG4gICAgaWYgKGRhdGFEaWFsb2cpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBkYXRhRGlhbG9nO1xuICAgIH1cbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2NyZWVuSGVscGVyLmlzTWVkaXVtO1xuXG4gICAgdGhpcy5zY3JlZW5IZWxwZXIuY2hhbmdlZE1lZGl1bVNjcmVlbi5zdWJzY3JpYmUoeCA9PiB0aGlzLm1vYmlsZSA9IHgpO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLnJlZ2lzdGVyRWxlbWVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMudW5yZWdpc3RlckVsZW1lbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHNhbHZhcigpIHtcbiAgICBpZiAoIXRoaXMubW9kZWwpIHJldHVybjtcbiAgICBjb25zdCB2YWxNc2cgPSB2YWxpZGEodGhpcy5tb2RlbCwgdGhpcy5mb2N1cyk7XG4gICAgaWYgKHZhbE1zZylcbiAgICB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnRXJyb3IodmFsTXNnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgdGhpcy53cy5zYXZlUHJvZHV0b1N1YmdydXBvKHRoaXMubW9kZWwpXG4gICAgICAuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dSZWYpXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhlcnIuZXJyb3IpO1xuICAgICAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwib3gtaGVhZGVyXCI+XG4gICAgPGgyIGNsYXNzPVwidGl0dWxvXCI+RWRpdGFuZG8gU3ViZ3J1cG88L2gyPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT5cbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgPGFwcC1wcm9kdXRvLWdydXBvLWZvcm0gW21vZGVsXT1cIm1vZGVsXCIgKm5nSWY9XCJtb2RlbFwiPjwvYXBwLXByb2R1dG8tZ3J1cG8tZm9ybT5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImRpYWxvZy1mb290ZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNhbHZhcigpXCIgdGFiaW5kZXg9XCI5XCI+U0FMVkFSPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT5WT0xUQVI8L2J1dHRvbj5cbjwvZGl2PlxuPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj4iXX0=
@@ -0,0 +1,106 @@
1
+ import { Component } from '@angular/core';
2
+ import { LazyTrigger } from '../../../models/infra/lazy-trigger';
3
+ import { NavegacaoSelecaoDialogUtil } from '../../../models/infra/selecao-utils';
4
+ import { SearchSetting } from '../../../models/settings/search-setting';
5
+ import { ProdutoSubgrupoAddDialogComponent } from '../produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component';
6
+ import { ProdutoSubgrupoEditDialogComponent } from '../produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/dialog";
9
+ import * as i2 from "../../../providers/common-web-service";
10
+ import * as i3 from "../../../providers/notification.service";
11
+ import * as i4 from "../../../providers/auth-data.service";
12
+ import * as i5 from "../../../providers/screen-helper.service";
13
+ import * as i6 from "@angular/common";
14
+ import * as i7 from "@angular/forms";
15
+ import * as i8 from "@angular/material/button";
16
+ import * as i9 from "@angular/material/icon";
17
+ import * as i10 from "../../../controls/busy-indicator/busy-indicator.component";
18
+ import * as i11 from "../../../controls/item-card/item-card.component";
19
+ export class ProdutoSubgrupoSelecaoDialogComponent {
20
+ constructor(dialogRef, dialog, ws, notification, auth, screenHelper) {
21
+ this.dialogRef = dialogRef;
22
+ this.dialog = dialog;
23
+ this.ws = ws;
24
+ this.notification = notification;
25
+ this.screenHelper = screenHelper;
26
+ this.items = [];
27
+ this.selectedItem = null;
28
+ this.isBusy = false;
29
+ this.setting = new SearchSetting();
30
+ this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
31
+ this.nav = new NavegacaoSelecaoDialogUtil(this);
32
+ this.mobile = this.screenHelper.isMedium;
33
+ this.allowAdd = auth.permissoes.adminProdutoGrupoAdd;
34
+ this.allowEdit = auth.permissoes.adminProdutoGrupoPesquisa;
35
+ }
36
+ ngOnInit() {
37
+ this.setting.ordem = "nome";
38
+ this.atualiza();
39
+ }
40
+ atualiza() {
41
+ this.isBusy = true;
42
+ this.ws.buscaProdutoSubgrupo(this.setting)
43
+ .subscribe(r => {
44
+ this.isBusy = false;
45
+ this.items = r;
46
+ console.info(r);
47
+ }, err => {
48
+ this.isBusy = false;
49
+ this.notification.showHttpError(err);
50
+ });
51
+ }
52
+ selectItem(i) {
53
+ if (this.selectedItem === i) {
54
+ this.dialogRef.close(i);
55
+ }
56
+ this.selectedItem = i;
57
+ }
58
+ novo() {
59
+ let height = (window.innerHeight * 0.90) + 'px';
60
+ let width = 550 + 'px';
61
+ if (this.mobile) {
62
+ width = (window.innerWidth * 0.99) + 'px';
63
+ //height = (window.innerHeight * 0.98) + 'px';
64
+ }
65
+ const dialog = this.dialog.open(ProdutoSubgrupoAddDialogComponent, {
66
+ width: width,
67
+ height: height,
68
+ maxWidth: '100%',
69
+ panelClass: 'dialog-p0',
70
+ });
71
+ dialog.afterClosed().subscribe(result => {
72
+ if (result === undefined)
73
+ return;
74
+ this.notification.showMsg("Salvo com sucesso.");
75
+ this.atualiza();
76
+ });
77
+ }
78
+ editar() {
79
+ let height = (window.innerHeight * 0.90) + 'px';
80
+ let width = 550 + 'px';
81
+ if (this.mobile) {
82
+ width = (window.innerWidth * 0.99) + 'px';
83
+ //height = (window.innerHeight * 0.98) + 'px';
84
+ }
85
+ const dialog = this.dialog.open(ProdutoSubgrupoEditDialogComponent, {
86
+ width: width,
87
+ height: height,
88
+ maxWidth: '100%',
89
+ panelClass: 'dialog-p0',
90
+ data: this.selectedItem
91
+ });
92
+ dialog.afterClosed().subscribe(result => {
93
+ if (result === undefined)
94
+ return;
95
+ this.notification.showMsg("Salvo com sucesso.");
96
+ this.atualiza();
97
+ });
98
+ }
99
+ }
100
+ ProdutoSubgrupoSelecaoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSubgrupoSelecaoDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i1.MatDialog }, { token: i2.CommonWebService }, { token: i3.NotificationService }, { token: i4.AuthDataService }, { token: i5.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
101
+ ProdutoSubgrupoSelecaoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoSubgrupoSelecaoDialogComponent, selector: "app-produto-subgrupo-selecao-dialog", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Subgrupos</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\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()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem && allowEdit\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [nome]=\"i.nome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\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 </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n ", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.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: i10.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i11.ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }] });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSubgrupoSelecaoDialogComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'app-produto-subgrupo-selecao-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Subgrupos</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\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()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem && allowEdit\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [nome]=\"i.nome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\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 </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n ", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
105
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i1.MatDialog }, { type: i2.CommonWebService }, { type: i3.NotificationService }, { type: i4.AuthDataService }, { type: i5.ScreenHelperService }]; } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUt4RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU81SCxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQW1CLFNBQThELEVBQ3hFLE1BQWlCLEVBQ2YsRUFBb0IsRUFDcEIsWUFBaUMsRUFDekMsSUFBcUIsRUFDYixZQUFpQztRQUx6QixjQUFTLEdBQVQsU0FBUyxDQUFxRDtRQUN4RSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2YsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsaUJBQVksR0FB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Q0FBQyxHQUFHLElBQUksQ0FBQztRQUNoRCxJQUFJLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzFDLDhDQUE4QztTQUMvQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO1lBQ2xFLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsTUFBTTtZQUNoQixVQUFVLEVBQUUsV0FBVztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QyxJQUFJLE1BQU0sS0FBSyxTQUFTO2dCQUFFLE9BQU87WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSUF6RlUscUNBQXFDO3NIQUFyQyxxQ0FBcUMsMkVDbEJsRCxpZ0RBaUNFOzJGRGZXLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWdydXBvJztcbmltcG9ydCB7IExhenlUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZnJhL2xhenktdHJpZ2dlcic7XG5pbXBvcnQgeyBOYXZlZ2FjYW9TZWxlY2FvRGlhbG9nVXRpbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmZyYS9zZWxlY2FvLXV0aWxzJztcbmltcG9ydCB7IFNlYXJjaFNldHRpbmcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmcnO1xuaW1wb3J0IHsgQXV0aERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2F1dGgtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbldlYlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY29tbW9uLXdlYi1zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyZWVuSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9zY3JlZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1dG9TdWJncnVwb1NlbGVjYW9EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpdGVtczogUHJvZHV0b1N1YmdydXBvW10gPSBbXTtcbiAgc2VsZWN0ZWRJdGVtOiBQcm9kdXRvU3ViZ3J1cG8gfCBudWxsID0gbnVsbDtcbiAgaXNCdXN5OiBib29sZWFuID0gZmFsc2U7XG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgc2V0dGluZyA9IG5ldyBTZWFyY2hTZXR0aW5nKCk7XG4gIGFsbG93QWRkOiBib29sZWFuO1xuICBhbGxvd0VkaXQ6IGJvb2xlYW47XG4gIGxhenlUcmlnZ2VyID0gbmV3IExhenlUcmlnZ2VyKCgpID0+IHsgdGhpcy5hdHVhbGl6YSgpOyB9KTtcbiAgbmF2ID0gbmV3IE5hdmVnYWNhb1NlbGVjYW9EaWFsb2dVdGlsPFByb2R1dG9TdWJncnVwbywgUHJvZHV0b1N1YmdydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudD4odGhpcyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFByb2R1dG9TdWJncnVwb1NlbGVjYW9EaWFsb2dDb21wb25lbnQ+LFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgcHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSwgXG4gICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICBhdXRoOiBBdXRoRGF0YVNlcnZpY2UsXG4gICAgIHByaXZhdGUgc2NyZWVuSGVscGVyOiBTY3JlZW5IZWxwZXJTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2NyZWVuSGVscGVyLmlzTWVkaXVtOyAgXG4gICAgICB0aGlzLmFsbG93QWRkID0gYXV0aC5wZXJtaXNzb2VzLmFkbWluUHJvZHV0b0dydXBvQWRkO1xuICAgICAgdGhpcy5hbGxvd0VkaXQgPSBhdXRoLnBlcm1pc3NvZXMuYWRtaW5Qcm9kdXRvR3J1cG9QZXNxdWlzYTtcbiAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nLm9yZGVtID0gXCJub21lXCI7XG4gICAgdGhpcy5hdHVhbGl6YSgpO1xuICB9XG5cbiAgYXR1YWxpemEoKSB7XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3MuYnVzY2FQcm9kdXRvU3ViZ3J1cG8odGhpcy5zZXR0aW5nKVxuICAgICAgLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHI7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhyKTtcbiAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93SHR0cEVycm9yKGVycik7XG4gICAgICAgIH0pO1xuICB9XG4gIFxuICBzZWxlY3RJdGVtKGkgOiBQcm9kdXRvU3ViZ3J1cG8pIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW0gPT09IGkpIHsgXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpO1xuICB9XG5cbiAgbm92bygpIHtcblxuICAgIGxldCBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45MCkgKyAncHgnO1xuICAgIGxldCB3aWR0aCA9IDU1MCArICdweCc7XG4gICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAqIDAuOTkpICsgJ3B4JztcbiAgICAgIC8vaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTgpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvU3ViZ3J1cG9BZGREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgdGhpcy5hdHVhbGl6YSgpO1xuICAgIH0pO1xuICB9XG4gIFxuICBlZGl0YXIoKSB7XG5cbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b1N1YmdydXBvRWRpdERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgICBkYXRhOiB0aGlzLnNlbGVjdGVkSXRlbVxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgdGhpcy5hdHVhbGl6YSgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XG4gICAgPGgyPlNlbGXDp8OjbyBkZSBTdWJncnVwb3M8L2gyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRvb2wtcGFuZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9vbC1zZWN0aW9uXCI+XG4gICAgICA8bGFiZWw+UGVzcXVpc2E8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgPGlucHV0IChrZXlkb3duKT1cIm5hdi5vbktleURvd24oJGV2ZW50KVwiIGNka0ZvY3VzSW5pdGlhbCBbKG5nTW9kZWwpXT1cInNldHRpbmcuZnJhc2VcIiBwbGFjZWhvbGRlcj1cIkRpZ2l0ZSB1bSB0ZXJtbyBkZSBidXNjYS4uLlwiIChpbnB1dCk9XCJsYXp5VHJpZ2dlci5maXJlKClcIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb25cIj5cbiAgICAgIDxsYWJlbD5Bw6fDtWVzPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b29sLXJvd1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXR1YWxpemEoKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiQXR1YWxpemFyXCI+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm92bygpXCIgKm5nSWY9XCJhbGxvd0FkZFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwibm92b1wiPmFkZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdGFyKClcIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAgJiYgYWxsb3dFZGl0XCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJlZGl0YXJcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudFwiPlxuICAgICAgPG94LWl0ZW0tY2FyZCBbbm9tZV09XCJpLm5vbWVcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpKVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgW2NsYXNzLnNlbGVjdGVkXT1cImkgPT09IHNlbGVjdGVkSXRlbVwiPjwvb3gtaXRlbS1jYXJkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1mb290ZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cInNlbGVjdGVkSXRlbSA9PSB1bmRlZmluZWRcIiBjb2xvcj1cInByaW1hcnlcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJzZWxlY3RlZEl0ZW1cIj5DT05GSVJNQVI8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidW5kZWZpbmVkXCI+Vk9MVEFSPC9idXR0b24+XG4gIDwvZGl2PlxuICA8b3gtYnVzeS1pbmRpY2F0b3IgW2lzQnVzeV09XCJpc0J1c3lcIj48L294LWJ1c3ktaW5kaWNhdG9yPlxuICAiXX0=
@@ -0,0 +1,156 @@
1
+ import { Component } from '@angular/core';
2
+ import { fadeAnimation } from '../../../animations/animations';
3
+ import { valida } from '../../../models/entidades/produto-grupo';
4
+ import { LazyTrigger } from '../../../models/infra/lazy-trigger';
5
+ import { confirmaExclusao } from '../../../models/infra/selecao-utils';
6
+ import { SearchSetting } from '../../../models/settings/search-setting';
7
+ import { FocusService } from '../../../providers/focus.service';
8
+ import { ProdutoSubgrupoAddDialogComponent } from '../produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component';
9
+ import { ProdutoSubgrupoEditDialogComponent } from '../produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../../../providers/common-web-service";
12
+ import * as i2 from "../../../providers/notification.service";
13
+ import * as i3 from "@angular/material/dialog";
14
+ import * as i4 from "../../../providers/auth-data.service";
15
+ import * as i5 from "../../../providers/screen-helper.service";
16
+ import * as i6 from "@angular/common";
17
+ import * as i7 from "@angular/forms";
18
+ import * as i8 from "@angular/material/button";
19
+ import * as i9 from "@angular/material/icon";
20
+ import * as i10 from "../../../controls/busy-indicator/busy-indicator.component";
21
+ import * as i11 from "../../../controls/item-card/item-card.component";
22
+ import * as i12 from "../../produtos-grupos/produto-grupo-form/produto-grupo-form.component";
23
+ export class ProdutosSubgruposComponent {
24
+ constructor(ws, notification, dialog, auth, screenHelper) {
25
+ this.ws = ws;
26
+ this.notification = notification;
27
+ this.dialog = dialog;
28
+ this.screenHelper = screenHelper;
29
+ this.isBusy = false;
30
+ this.items = [];
31
+ this.selectedItem = null;
32
+ this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
33
+ this.setting = new SearchSetting();
34
+ this.focus = new FocusService();
35
+ this.allowAdd = auth.permissoes.adminProdutoGrupoAdd;
36
+ this.allowExcluir = auth.permissoes.adminProdutoGrupoDelete;
37
+ this.mobile = this.screenHelper.isMedium;
38
+ this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
39
+ }
40
+ ngOnInit() {
41
+ this.setting.ordem = "nome";
42
+ this.atualiza();
43
+ }
44
+ onSelectItem() {
45
+ if (!this.focus.hasInit()) {
46
+ setTimeout(() => {
47
+ this.focus.registerElementById("form-column");
48
+ this.focus.setFirst();
49
+ }, 500);
50
+ //this._focus.registerElementById("form-column");
51
+ }
52
+ else {
53
+ this.focus.setFirst();
54
+ }
55
+ }
56
+ ngOnDestroy() {
57
+ this.focus.unregisterElementById("form-column");
58
+ }
59
+ atualiza() {
60
+ this.isBusy = true;
61
+ this.ws.buscaProdutoSubgrupo(this.setting)
62
+ .subscribe(r => {
63
+ this.items = r;
64
+ this.selectedItem = null;
65
+ console.info(r);
66
+ this.isBusy = false;
67
+ }, err => {
68
+ this.isBusy = false;
69
+ this.notification.showHttpError(err);
70
+ });
71
+ }
72
+ excluir() {
73
+ const item = this.selectedItem;
74
+ if (!item)
75
+ return;
76
+ confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do subgrupo ${item.nome}?`, () => {
77
+ this.isBusy = true;
78
+ this.ws.deleteProdutoSubgrupo(item.id)
79
+ .subscribe(r => {
80
+ this.notification.showMsg("O subgrupo foi excluído com sucesso.");
81
+ this.items.remove(item);
82
+ this.selectedItem = null;
83
+ this.isBusy = false;
84
+ }, err => {
85
+ this.isBusy = false;
86
+ this.notification.showMsg(err.error);
87
+ });
88
+ });
89
+ }
90
+ novo() {
91
+ let height = (window.innerHeight * 0.90) + 'px';
92
+ let width = 550 + 'px';
93
+ if (this.mobile) {
94
+ width = (window.innerWidth * 0.99) + 'px';
95
+ //height = (window.innerHeight * 0.98) + 'px';
96
+ }
97
+ const dialog = this.dialog.open(ProdutoSubgrupoAddDialogComponent, {
98
+ width: width,
99
+ //height: height,
100
+ maxWidth: '100%',
101
+ panelClass: 'dialog-p0',
102
+ });
103
+ dialog.afterClosed().subscribe(result => {
104
+ if (result === undefined)
105
+ return;
106
+ this.notification.showMsg("Salvo com sucesso.");
107
+ this.atualiza();
108
+ });
109
+ }
110
+ abreCadastro(item) {
111
+ let height = undefined;
112
+ let width = 550 + 'px';
113
+ if (this.mobile) {
114
+ width = (window.innerWidth * 0.99) + 'px';
115
+ height = (window.innerHeight * 0.99) + 'px';
116
+ }
117
+ const dialog = this.dialog.open(ProdutoSubgrupoEditDialogComponent, {
118
+ data: item,
119
+ width: width,
120
+ //height: height,
121
+ maxWidth: '100%',
122
+ panelClass: 'dialog-p0',
123
+ });
124
+ dialog.afterClosed().subscribe(result => {
125
+ if (result !== true)
126
+ return;
127
+ this.notification.showMsg("Salvo com sucesso.");
128
+ this.atualiza();
129
+ });
130
+ }
131
+ salvar() {
132
+ if (!this.selectedItem)
133
+ return;
134
+ const valMsg = valida(this.selectedItem, this.focus);
135
+ if (valMsg) {
136
+ this.notification.showMsgError(valMsg);
137
+ return;
138
+ }
139
+ this.isBusy = true;
140
+ this.ws.saveProdutoSubgrupo(this.selectedItem)
141
+ .subscribe(r => {
142
+ this.notification.showMsg("Salvo com sucesso.");
143
+ this.isBusy = false;
144
+ }, err => {
145
+ this.isBusy = false;
146
+ this.notification.showMsg(err.error);
147
+ });
148
+ }
149
+ }
150
+ ProdutosSubgruposComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosSubgruposComponent, deps: [{ token: i1.CommonWebService }, { token: i2.NotificationService }, { token: i3.MatDialog }, { token: i4.AuthDataService }, { token: i5.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
151
+ ProdutosSubgruposComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosSubgruposComponent, selector: "app-produtos-subgrupos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\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()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Subgrupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Subgrupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Subgrupos de Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\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()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um subgrupo no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-produto-grupo-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\">\n </app-produto-grupo-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i11.ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }, { kind: "component", type: i12.ProdutoGrupoFormComponent, selector: "app-produto-grupo-form", inputs: ["model"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] });
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosSubgruposComponent, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: 'app-produtos-subgrupos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\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()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Subgrupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Subgrupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Subgrupos de Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\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()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um subgrupo no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-produto-grupo-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\">\n </app-produto-grupo-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}\n"] }]
155
+ }], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: i3.MatDialog }, { type: i4.AuthDataService }, { type: i5.ScreenHelperService }]; } });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0b3Mtc3ViZ3J1cG9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvcy1zdWJncnVwb3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG9zLXN1YmdydXBvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQW1CLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSWhFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHdFQUF3RSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVE1SCxNQUFNLE9BQU8sMEJBQTBCO0lBWXJDLFlBQW9CLEVBQW9CLEVBQzlCLFlBQWlDLEVBQ2xDLE1BQWlCLEVBQ3hCLElBQXFCLEVBQ2IsWUFBaUM7UUFKdkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDOUIsaUJBQVks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QUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzNDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxFQUNDLEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzs7dUhBaEpVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDhEQ3RCdkMsKzJHQTJFTSxxMUREdkRRLENBQUUsYUFBYSxDQUFFOzJGQUVsQiwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLENBQUUsYUFBYSxDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBmYWRlQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYW5pbWF0aW9ucy9hbmltYXRpb25zJztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwbywgdmFsaWRhIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWdydXBvJztcbmltcG9ydCB7IExhenlUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZnJhL2xhenktdHJpZ2dlcic7XG5pbXBvcnQgeyBjb25maXJtYUV4Y2x1c2FvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZnJhL3NlbGVjYW8tdXRpbHMnO1xuaW1wb3J0IHsgU2VhcmNoU2V0dGluZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXR0aW5ncy9zZWFyY2gtc2V0dGluZyc7XG5pbXBvcnQgeyBBdXRoRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvYXV0aC1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uV2ViU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UnO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL3NjcmVlbi1oZWxwZXIuc2VydmljZSc7XG5cbmltcG9ydCB7IFByb2R1dG9TdWJncnVwb0FkZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1dG9zLXN1YmdydXBvcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdXRvcy1zdWJncnVwb3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdXRvcy1zdWJncnVwb3MuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogWyBmYWRlQW5pbWF0aW9uIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHV0b3NTdWJncnVwb3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgaXNCdXN5OiBib29sZWFuID0gZmFsc2U7XG4gIGl0ZW1zOiBQcm9kdXRvU3ViZ3J1cG9bXSA9IFtdO1xuICBzZWxlY3RlZEl0ZW06IFByb2R1dG9TdWJncnVwbyB8IG51bGwgPSBudWxsO1xuICBsYXp5VHJpZ2dlciA9IG5ldyBMYXp5VHJpZ2dlcigoKSA9PiB7IHRoaXMuYXR1YWxpemEoKTsgfSk7XG4gIGFsbG93QWRkOiBib29sZWFuO1xuICBhbGxvd0V4Y2x1aXI6IGJvb2xlYW47XG4gIHNldHRpbmcgPSBuZXcgU2VhcmNoU2V0dGluZygpO1xuICBwcml2YXRlIGZvY3VzOiBGb2N1c1NlcnZpY2UgPSBuZXcgRm9jdXNTZXJ2aWNlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgYXV0aDogQXV0aERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2NyZWVuSGVscGVyOiBTY3JlZW5IZWxwZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5hbGxvd0FkZCA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9HcnVwb0FkZDtcbiAgICB0aGlzLmFsbG93RXhjbHVpciA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9HcnVwb0RlbGV0ZTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2NyZWVuSGVscGVyLmlzTWVkaXVtO1xuICAgIHRoaXMuc2NyZWVuSGVscGVyLmNoYW5nZWRNZWRpdW1TY3JlZW4uc3Vic2NyaWJlKHggPT4gdGhpcy5tb2JpbGUgPSB4KTtcblxuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHRpbmcub3JkZW0gPSBcIm5vbWVcIjtcbiAgICB0aGlzLmF0dWFsaXphKCk7XG4gIH1cblxuICBvblNlbGVjdEl0ZW0oKTogdm9pZCB7XG5cbiAgICBpZiAoIXRoaXMuZm9jdXMuaGFzSW5pdCgpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5mb2N1cy5yZWdpc3RlckVsZW1lbnRCeUlkKFwiZm9ybS1jb2x1bW5cIik7XG4gICAgICAgIHRoaXMuZm9jdXMuc2V0Rmlyc3QoKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgICAvL3RoaXMuX2ZvY3VzLnJlZ2lzdGVyRWxlbWVudEJ5SWQoXCJmb3JtLWNvbHVtblwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzLnNldEZpcnN0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy51bnJlZ2lzdGVyRWxlbWVudEJ5SWQoXCJmb3JtLWNvbHVtblwiKTtcbiAgfVxuXG4gIGF0dWFsaXphKCkge1xuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLmJ1c2NhUHJvZHV0b1N1YmdydXBvKHRoaXMuc2V0dGluZylcbiAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSByO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhyKTtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dIdHRwRXJyb3IoZXJyKTtcbiAgICAgIH0pO1xuICB9XG5cblxuICBleGNsdWlyKCkgeyAgIFxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICBjb25maXJtYUV4Y2x1c2FvKHRoaXMuZGlhbG9nLCBcbiAgICAgIGBEZXNlamEgcHJvc3NlZ3VpciBjb20gYSBleGNsdXPDo28gZG8gc3ViZ3J1cG8gJHtpdGVtLm5vbWV9P2AsXG4gICAgKCkgPT5cbiAgICAgIHtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgICAgICB0aGlzLndzLmRlbGV0ZVByb2R1dG9TdWJncnVwbyhpdGVtLmlkKVxuICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiTyBzdWJncnVwbyBmb2kgZXhjbHXDrWRvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucmVtb3ZlKGl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coZXJyLmVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbm92bygpIHtcbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAvL2hlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgdGhpcy5hdHVhbGl6YSgpO1xuICAgIH0pO1xuICB9XG5cbiAgYWJyZUNhZGFzdHJvKGl0ZW06IFByb2R1dG9TdWJncnVwbykge1xuICAgIGxldCBoZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTkpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvU3ViZ3J1cG9FZGl0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiBpdGVtLFxuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgLy9oZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICB9KTtcbiAgICBkaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgIT09IHRydWUpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBzYWx2YXIoKSB7ICAgIFxuICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW0pIHJldHVybjtcbiAgICBjb25zdCB2YWxNc2cgPSB2YWxpZGEodGhpcy5zZWxlY3RlZEl0ZW0sIHRoaXMuZm9jdXMpO1xuICAgIGlmICh2YWxNc2cpXG4gICAge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZ0Vycm9yKHZhbE1zZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLnNhdmVQcm9kdXRvU3ViZ3J1cG8odGhpcy5zZWxlY3RlZEl0ZW0pXG4gICAgICAuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coZXJyLmVycm9yKTtcbiAgICAgICAgfSk7XG4gIH1cblxufVxuIiwiPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj5cbjxkaXYgY2xhc3M9XCJ0b29sLXBhbmVsXCIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInNldHRpbmcuZnJhc2VcIiBwbGFjZWhvbGRlcj1cIkRpZ2l0ZSB1bSB0ZXJtbyBkZSBidXNjYS4uLlwiIChpbnB1dCk9XCJsYXp5VHJpZ2dlci5maXJlKClcIj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb24gb3JkZW0tc20yXCI+XG4gICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXJvd1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImF0dWFsaXphKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5vdm8oKVwiICpuZ0lmPVwiYWxsb3dBZGRcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJOb3ZvIFN1YmdydXBvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImV4Y2x1aXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIGFsbG93RXhjbHVpclwiIFtAZmFkZV0+XG4gICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiRXhjbHVpciBTdWJncnVwb1wiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyZXN1bHQtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtc1wiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZHMtY29udGFpbmVyIGNhcmRzLWNvbnRhaW5lci1zaGFkb3dcIiAqbmdJZj1cIm1vYmlsZVwiPlxuICAgIDxveC1pdGVtLWNhcmQgW2Nsb3VkXT1cImkuZW52aWFkb1BDXCIgW25vbWVdPVwiaS5ub21lXCIgKm5nRm9yPVwibGV0IGkgb2YgaXRlbXNcIiAoY2xpY2spPVwiYWJyZUNhZGFzdHJvKGkpXCI+PC9veC1pdGVtLWNhcmQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tZGVza3RvcC1ncmlkXCIgKm5nSWY9XCIhbW9iaWxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWNvbHVtbi1jb250YWluZXIgbGlzdGFnZW0tbGlzdC1jb2x1bW5cIj5cbiAgICAgIDxoMz5TdWJncnVwb3MgZGUgUHJvZHV0b3M8L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcGFuZWwgdG9vbC1wYW5lbC1mbG9hdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1zZWN0aW9uXCI+XG4gICAgICAgICAgPGxhYmVsPlBlc3F1aXNhPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvbiBvcmRlbS1zbTJcIj5cbiAgICAgICAgICA8bGFiZWw+QcOnw7VlczwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXR1YWxpemEoKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkF0dWFsaXphclwiPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm92bygpXCIgKm5nSWY9XCJhbGxvd0FkZFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIk5vdm9cIj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZXhjbHVpcigpXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgYWxsb3dFeGNsdWlyXCIgW0BmYWRlXT5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJFeGNsdWlyXCI+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICAgIDxoNCAqbmdJZj1cIml0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibmVuaHVtLWl0ZW0tbXNnXCI+QSBidXNjYSBuw6NvIHJldG9ybm91IHJlc3VsdGFkb3M8L2g0PlxuXG4gICAgICAgIDxveC1pdGVtLWNhcmQgW2Nsb3VkXT1cImkuZW52aWFkb1BDXCIgW25vbWVdPVwiaS5ub21lXCIgKm5nRm9yPVwibGV0IGkgb2YgaXRlbXNcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJdGVtXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRJdGVtID0gaTtcIj48L294LWl0ZW0tY2FyZD5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWNvbHVtbi1jb250YWluZXIgbGlzdGFnZW0tY29sdW1uLWZvcm1cIj5cbiAgICAgIDxoMyAqbmdJZj1cIiFzZWxlY3RlZEl0ZW1cIj5TZWxlY2lvbmUgdW0gc3ViZ3J1cG8gbm8gbGFkbyBkaXJlaXRvPC9oMz5cbiAgICAgIDxoMyAqbmdJZj1cInNlbGVjdGVkSXRlbVwiPnt7c2VsZWN0ZWRJdGVtLm5vbWUgfCB1cHBlcmNhc2V9fTwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tZm9ybS1jb250YWluZXJcIj5cbiAgICAgICAgPGFwcC1wcm9kdXRvLWdydXBvLWZvcm0gW0BmYWRlXSBbbW9kZWxdPVwic2VsZWN0ZWRJdGVtXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIj5cbiAgICAgICAgPC9hcHAtcHJvZHV0by1ncnVwby1mb3JtPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0YWdlbS1mb3JtLWFjb2VzXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNhbHZhcigpXCIgbWF0LWZhYiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInNlbGVjdGVkSXRlbVwiIHRhYmluZGV4PVwiMjBcIj5cbiAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -0,0 +1,9 @@
1
+ import { valTextEmpty } from "../infra/validations";
2
+ export function valida(item, focus) {
3
+ if (valTextEmpty(item.nome)) {
4
+ focus.set('nome');
5
+ return 'Digite um nome válido.';
6
+ }
7
+ return null;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1ncnVwby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tZ3J1cG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBb0JwRCxNQUFNLFVBQVUsTUFBTSxDQUFDLElBQStELEVBQUUsS0FBbUI7SUFDdkcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3pCLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsT0FBTyx3QkFBd0IsQ0FBQztLQUNuQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgdmFsVGV4dEVtcHR5IH0gZnJvbSBcIi4uL2luZnJhL3ZhbGlkYXRpb25zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1dG9HcnVwbyB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbm9tZTogc3RyaW5nO1xyXG4gICAgaXNBdGl2byA6IGJvb2xlYW47XHJcbiAgICBlbnZpYWRvUEMgOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHV0b1N1YmdydXBvIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBub21lOiBzdHJpbmc7XHJcbiAgICBpc0F0aXZvIDogYm9vbGVhbjtcclxuICAgIGVudmlhZG9QQyA6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5vbWU6IHN0cmluZztcclxuICAgIGlzQXRpdm8gOiBib29sZWFuO1xyXG4gICAgZW52aWFkb1BDIDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhKGl0ZW06IFByb2R1dG9HcnVwbyB8IFByb2R1dG9TdWJncnVwbyB8IFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbywgZm9jdXM6IEZvY3VzU2VydmljZSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHZhbFRleHRFbXB0eShpdGVtLm5vbWUpKSB7XHJcbiAgICAgICAgZm9jdXMuc2V0KCdub21lJyk7XHJcbiAgICAgICAgcmV0dXJuICdEaWdpdGUgdW0gbm9tZSB2w6FsaWRvLic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1uY20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLW5jbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOY21cclxue1xyXG4gICAgY29kaWdvOiBzdHJpbmdcclxuICAgIGNvZGlnb0FwZW5hc0RpZ2l0b3M6IHN0cmluZ1xyXG4gICAgZGVzY3JpY2FvOiBzdHJpbmdcclxuICAgIGRhdGFfSW5pY2lvOiBzdHJpbmdcclxuICAgIGRhdGFfRmltOiBzdHJpbmdcclxuICAgIHRpcG9fQXRvOiBzdHJpbmdcclxuICAgIG51bWVyb19BdG86IHN0cmluZ1xyXG4gICAgYW5vX0F0bzogc3RyaW5nXHJcbn0iXX0=
@@ -0,0 +1,106 @@
1
+ import { valNumberEmpty, valTextEmpty } from "../infra/validations";
2
+ var ModalidadeBaseICMS;
3
+ (function (ModalidadeBaseICMS) {
4
+ ModalidadeBaseICMS[ModalidadeBaseICMS["MargemValorAgregado"] = 0] = "MargemValorAgregado";
5
+ ModalidadeBaseICMS[ModalidadeBaseICMS["PautaValor"] = 1] = "PautaValor";
6
+ ModalidadeBaseICMS[ModalidadeBaseICMS["Pre\u00E7oTabeladoMax"] = 2] = "Pre\u00E7oTabeladoMax";
7
+ ModalidadeBaseICMS[ModalidadeBaseICMS["ValorDaOpera\u00E7\u00E3o"] = 3] = "ValorDaOpera\u00E7\u00E3o";
8
+ })(ModalidadeBaseICMS || (ModalidadeBaseICMS = {}));
9
+ export function createProduct() {
10
+ return {
11
+ id: 0,
12
+ nome: '',
13
+ unidade: 'UN',
14
+ precoCusto: 0,
15
+ precoVenda: 0,
16
+ precoFuncionario: 0,
17
+ estoqueMinimo: 0,
18
+ referencia: '',
19
+ aliquotaICMS: null,
20
+ ncm: null,
21
+ grupoId: 0,
22
+ grupoNome: null,
23
+ subgrupoId: 0,
24
+ subgrupoNome: null,
25
+ quantidadeSuite: 0,
26
+ estoqueControlado: true,
27
+ imprimiCozinha: true,
28
+ imprimeCorredor: false,
29
+ verNaRecepcao: true,
30
+ prato: false,
31
+ isAtivo: true,
32
+ isComposto: true,
33
+ isIngrediente: true,
34
+ omiteCliente: false,
35
+ estoqueRecepcao: false,
36
+ estoqueRecepcaoQuantidade: 0,
37
+ gtin: null,
38
+ cfop: null,
39
+ csT_icms: null,
40
+ modBC_icms: 0,
41
+ pICMS_icms: null,
42
+ pRedBC_icms: null,
43
+ pfcP_icms: null,
44
+ vbcfcP_icms: null,
45
+ pfcpsT_icms: null,
46
+ pRedBCEfet_icms: null,
47
+ vbcEfet_icms: null,
48
+ picmsEfet_icms: null,
49
+ vicmsEfet_icms: null,
50
+ csT_pis: null,
51
+ vbC_pis: null,
52
+ ppiS_pis: null,
53
+ csT_cofins: null,
54
+ vbC_cofins: null,
55
+ pcofinS_cofins: null,
56
+ psT_icms: null,
57
+ vbcstRet_icms: null,
58
+ vicmsSubstituto_icms: null,
59
+ vicmsstRet_icms: null,
60
+ emiteNFCe: false,
61
+ cest: null,
62
+ vbcfcpsT_icms: null,
63
+ vbcfcpstRet_icms: null,
64
+ pfcpstRet_icms: null,
65
+ sitTrib: null,
66
+ setorSubEstoqueId: null,
67
+ setorSubEstoqueNome: null,
68
+ setorPrincipalId: null,
69
+ setorPrincipalNome: null,
70
+ qtdMinSubEstoque: null,
71
+ disponivelCardapio: false,
72
+ categoriaCardapioId: null,
73
+ categoriaCardapioNome: null,
74
+ descricao: null,
75
+ enviadoPC: false,
76
+ qbcProd_cofins: null,
77
+ vAliqProd_cofins: null
78
+ };
79
+ }
80
+ ;
81
+ export function valida(item, focus) {
82
+ if (valTextEmpty(item.nome)) {
83
+ focus.set('nome');
84
+ return 'Digite um nome válido.';
85
+ }
86
+ if (valNumberEmpty(item.grupoId)) {
87
+ return 'Escolha um grupo de produto.';
88
+ }
89
+ if (valNumberEmpty(item.subgrupoId)) {
90
+ return 'Escolha um subgrupo de produto.';
91
+ }
92
+ if (valTextEmpty(item.unidade)) {
93
+ focus.set('unidade');
94
+ return 'Digite uma unidade.';
95
+ }
96
+ if (item.disponivelCardapio) {
97
+ if (valNumberEmpty(item.categoriaCardapioId))
98
+ return 'Escolha uma categoria do cardápio digital.';
99
+ if (valTextEmpty(item.descricao)) {
100
+ focus.set('descricao');
101
+ return 'Digite uma descrição para o cardápio digital.';
102
+ }
103
+ }
104
+ return null;
105
+ }
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQTJFbkUsSUFBSyxrQkFLSjtBQUxELFdBQUssa0JBQWtCO0lBQ25CLHlGQUF1QixDQUFBO0lBQ3ZCLHVFQUFjLENBQUE7SUFDZCw2RkFBb0IsQ0FBQTtJQUNwQixxR0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTEksa0JBQWtCLEtBQWxCLGtCQUFrQixRQUt0QjtBQUVELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU87UUFDSCxFQUFFLEVBQUUsQ0FBQztRQUNMLElBQUksRUFBRSxFQUFFO1FBQ1IsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsQ0FBQztRQUNiLFVBQVUsRUFBRSxDQUFDO1FBQ2IsZ0JBQWdCLEVBQUUsQ0FBQztRQUNuQixhQUFhLEVBQUUsQ0FBQztRQUNoQixVQUFVLEVBQUUsRUFBRTtRQUNkLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsT0FBTyxFQUFFLENBQUM7UUFDVixTQUFTLEVBQUUsSUFBSTtRQUNmLFVBQVUsRUFBRSxDQUFDO1FBQ2IsWUFBWSxFQUFFLElBQUk7UUFDbEIsZUFBZSxFQUFFLENBQUM7UUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixjQUFjLEVBQUUsSUFBSTtRQUNwQixlQUFlLEVBQUUsS0FBSztRQUN0QixhQUFhLEVBQUUsSUFBSTtRQUNuQixLQUFLLEVBQUUsS0FBSztRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsVUFBVSxFQUFFLElBQUk7UUFDaEIsYUFBYSxFQUFFLElBQUk7UUFDbkIsWUFBWSxFQUFFLEtBQUs7UUFDbkIsZUFBZSxFQUFFLEtBQUs7UUFDdEIseUJBQXlCLEVBQUUsQ0FBQztRQUM1QixJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7UUFDZCxVQUFVLEVBQUUsQ0FBQztRQUNiLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLElBQUk7UUFDakIsZUFBZSxFQUFFLElBQUk7UUFDckIsWUFBWSxFQUFFLElBQUk7UUFDbEIsY0FBYyxFQUFFLElBQUk7UUFDcEIsY0FBYyxFQUFFLElBQUk7UUFDcEIsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxJQUFJO1FBQ2QsVUFBVSxFQUFFLElBQUk7UUFDaEIsVUFBVSxFQUFFLElBQUk7UUFDaEIsY0FBYyxFQUFFLElBQUk7UUFDcEIsUUFBUSxFQUFFLElBQUk7UUFDZCxhQUFhLEVBQUUsSUFBSTtRQUNuQixvQkFBb0IsRUFBRSxJQUFJO1FBQzFCLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLElBQUksRUFBRSxJQUFJO1FBQ1YsYUFBYSxFQUFFLElBQUk7UUFDbkIsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixjQUFjLEVBQUUsSUFBSTtRQUNwQixPQUFPLEVBQUUsSUFBSTtRQUNiLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLG1CQUFtQixFQUFFLElBQUk7UUFDekIscUJBQXFCLEVBQUUsSUFBSTtRQUMzQixTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLGdCQUFnQixFQUFFLElBQUk7S0FDekIsQ0FBQTtBQUNMLENBQUM7QUFBQSxDQUFDO0FBRUYsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFhLEVBQUUsS0FBbUI7SUFDckQsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3pCLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsT0FBTyx3QkFBd0IsQ0FBQztLQUNuQztJQUNELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM5QixPQUFPLDhCQUE4QixDQUFDO0tBQ3pDO0lBQ0QsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ2pDLE9BQU8saUNBQWlDLENBQUM7S0FDNUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQixPQUFPLHFCQUFxQixDQUFDO0tBQ2hDO0lBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDekIsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ3hDLE9BQU8sNENBQTRDLENBQUM7UUFDeEQsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkIsT0FBTywrQ0FBK0MsQ0FBQztTQUMxRDtLQUNKO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzU2VydmljZSB9IGZyb20gXCIuLi8uLi9wcm92aWRlcnMvZm9jdXMuc2VydmljZVwiXHJcbmltcG9ydCB7IHZhbE51bWJlckVtcHR5LCB2YWxUZXh0RW1wdHkgfSBmcm9tIFwiLi4vaW5mcmEvdmFsaWRhdGlvbnNcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdXRvIHtcclxuICAgIGVudmlhZG9QQzogYm9vbGVhblxyXG4gICAgaWQ6IG51bWJlclxyXG4gICAgbm9tZTogc3RyaW5nXHJcbiAgICB1bmlkYWRlOiBzdHJpbmdcclxuICAgIHByZWNvQ3VzdG86IG51bWJlclxyXG4gICAgcHJlY29WZW5kYTogbnVtYmVyXHJcbiAgICBwcmVjb0Z1bmNpb25hcmlvOiBudW1iZXJcclxuICAgIGVzdG9xdWVNaW5pbW86IG51bWJlclxyXG4gICAgcmVmZXJlbmNpYTogc3RyaW5nXHJcbiAgICBhbGlxdW90YUlDTVM6IHN0cmluZyB8IG51bGxcclxuICAgIG5jbTogc3RyaW5nIHwgbnVsbFxyXG4gICAgZ3J1cG9JZDogbnVtYmVyXHJcbiAgICBncnVwb05vbWU6IHN0cmluZyB8IG51bGxcclxuICAgIHN1YmdydXBvSWQ6IG51bWJlclxyXG4gICAgc3ViZ3J1cG9Ob21lOiBzdHJpbmcgfCBudWxsXHJcbiAgICBxdWFudGlkYWRlU3VpdGU6IG51bWJlclxyXG4gICAgZXN0b3F1ZUNvbnRyb2xhZG86IGJvb2xlYW5cclxuICAgIGltcHJpbWlDb3ppbmhhOiBib29sZWFuXHJcbiAgICBpbXByaW1lQ29ycmVkb3I6IGJvb2xlYW5cclxuICAgIHZlck5hUmVjZXBjYW86IGJvb2xlYW5cclxuICAgIHByYXRvOiBib29sZWFuXHJcbiAgICBpc0F0aXZvOiBib29sZWFuXHJcbiAgICBpc0NvbXBvc3RvOiBib29sZWFuXHJcbiAgICBpc0luZ3JlZGllbnRlOiBib29sZWFuXHJcbiAgICBvbWl0ZUNsaWVudGU6IGJvb2xlYW5cclxuICAgIGVzdG9xdWVSZWNlcGNhbzogYm9vbGVhblxyXG4gICAgZXN0b3F1ZVJlY2VwY2FvUXVhbnRpZGFkZTogbnVtYmVyXHJcbiAgICBkaXNwb25pdmVsQ2FyZGFwaW86IGJvb2xlYW5cclxuICAgIGNhdGVnb3JpYUNhcmRhcGlvSWQ6IG51bWJlciB8IG51bGxcclxuICAgIGNhdGVnb3JpYUNhcmRhcGlvTm9tZTogc3RyaW5nIHwgbnVsbFxyXG4gICAgZGVzY3JpY2FvOiBzdHJpbmcgfCBudWxsXHJcbiAgICBndGluOiBzdHJpbmcgfCBudWxsXHJcbiAgICBjZm9wOiBzdHJpbmcgfCBudWxsXHJcbiAgICBjc1RfaWNtczogc3RyaW5nIHwgbnVsbFxyXG4gICAgbW9kQkNfaWNtczogbnVtYmVyXHJcbiAgICBwSUNNU19pY21zOiBudW1iZXIgfCBudWxsXHJcbiAgICBwUmVkQkNfaWNtczogbnVtYmVyIHwgbnVsbFxyXG4gICAgcGZjUF9pY21zOiBudW1iZXIgfCBudWxsXHJcbiAgICB2YmNmY1BfaWNtczogbnVtYmVyIHwgbnVsbFxyXG4gICAgcGZjcHNUX2ljbXM6IG51bWJlciB8IG51bGxcclxuICAgIHBSZWRCQ0VmZXRfaWNtczogbnVtYmVyIHwgbnVsbFxyXG4gICAgdmJjRWZldF9pY21zOiBudW1iZXIgfCBudWxsXHJcbiAgICBwaWNtc0VmZXRfaWNtczogbnVtYmVyIHwgbnVsbFxyXG4gICAgdmljbXNFZmV0X2ljbXM6IG51bWJlciB8IG51bGxcclxuICAgIGNzVF9waXM6IHN0cmluZyB8IG51bGxcclxuICAgIHZiQ19waXM6IG51bWJlciB8IG51bGxcclxuICAgIHBwaVNfcGlzOiBudW1iZXIgfCBudWxsXHJcbiAgICBjc1RfY29maW5zOiBzdHJpbmcgfCBudWxsXHJcbiAgICB2YkNfY29maW5zOiBudW1iZXIgfCBudWxsXHJcbiAgICBwY29maW5TX2NvZmluczogbnVtYmVyIHwgbnVsbFxyXG4gICAgcHNUX2ljbXM6IG51bWJlciB8IG51bGxcclxuICAgIHZiY3N0UmV0X2ljbXM6IG51bWJlciB8IG51bGxcclxuICAgIHZpY21zU3Vic3RpdHV0b19pY21zOiBudW1iZXIgfCBudWxsXHJcbiAgICB2aWNtc3N0UmV0X2ljbXM6IG51bWJlciB8IG51bGxcclxuICAgIGVtaXRlTkZDZTogYm9vbGVhblxyXG4gICAgY2VzdDogbnVtYmVyIHwgbnVsbFxyXG4gICAgdmJjZmNwc1RfaWNtczogbnVtYmVyIHwgbnVsbFxyXG4gICAgdmJjZmNwc3RSZXRfaWNtczogbnVtYmVyIHwgbnVsbFxyXG4gICAgcGZjcHN0UmV0X2ljbXM6IG51bWJlciB8IG51bGxcclxuICAgIHFiY1Byb2RfY29maW5zOiBudW1iZXIgfCBudWxsXHJcbiAgICB2QWxpcVByb2RfY29maW5zOiBudW1iZXIgfCBudWxsXHJcbiAgICBzaXRUcmliOiBzdHJpbmcgfCBudWxsXHJcbiAgICBzZXRvclN1YkVzdG9xdWVJZDogbnVtYmVyIHwgbnVsbFxyXG4gICAgc2V0b3JTdWJFc3RvcXVlTm9tZTogc3RyaW5nIHwgbnVsbFxyXG4gICAgc2V0b3JQcmluY2lwYWxJZDogbnVtYmVyIHwgbnVsbFxyXG4gICAgc2V0b3JQcmluY2lwYWxOb21lOiBzdHJpbmcgfCBudWxsXHJcbiAgICBxdGRNaW5TdWJFc3RvcXVlOiBudW1iZXIgfCBudWxsXHJcbiAgICBjb2RpZ29QYXRyaW1vbmlvPzogc3RyaW5nIHwgbnVsbFxyXG4gICAgb2JzPzogc3RyaW5nIHwgbnVsbFxyXG5cclxufVxyXG5cclxuZW51bSBNb2RhbGlkYWRlQmFzZUlDTVMge1xyXG4gICAgTWFyZ2VtVmFsb3JBZ3JlZ2FkbyA9IDAsXHJcbiAgICBQYXV0YVZhbG9yID0gMSxcclxuICAgIFByZcOnb1RhYmVsYWRvTWF4ID0gMixcclxuICAgIFZhbG9yRGFPcGVyYcOnw6NvID0gM1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvZHVjdCgpOiBQcm9kdXRvIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IDAsXHJcbiAgICAgICAgbm9tZTogJycsXHJcbiAgICAgICAgdW5pZGFkZTogJ1VOJyxcclxuICAgICAgICBwcmVjb0N1c3RvOiAwLFxyXG4gICAgICAgIHByZWNvVmVuZGE6IDAsXHJcbiAgICAgICAgcHJlY29GdW5jaW9uYXJpbzogMCxcclxuICAgICAgICBlc3RvcXVlTWluaW1vOiAwLFxyXG4gICAgICAgIHJlZmVyZW5jaWE6ICcnLFxyXG4gICAgICAgIGFsaXF1b3RhSUNNUzogbnVsbCxcclxuICAgICAgICBuY206IG51bGwsXHJcbiAgICAgICAgZ3J1cG9JZDogMCxcclxuICAgICAgICBncnVwb05vbWU6IG51bGwsXHJcbiAgICAgICAgc3ViZ3J1cG9JZDogMCxcclxuICAgICAgICBzdWJncnVwb05vbWU6IG51bGwsXHJcbiAgICAgICAgcXVhbnRpZGFkZVN1aXRlOiAwLFxyXG4gICAgICAgIGVzdG9xdWVDb250cm9sYWRvOiB0cnVlLFxyXG4gICAgICAgIGltcHJpbWlDb3ppbmhhOiB0cnVlLFxyXG4gICAgICAgIGltcHJpbWVDb3JyZWRvcjogZmFsc2UsXHJcbiAgICAgICAgdmVyTmFSZWNlcGNhbzogdHJ1ZSxcclxuICAgICAgICBwcmF0bzogZmFsc2UsXHJcbiAgICAgICAgaXNBdGl2bzogdHJ1ZSxcclxuICAgICAgICBpc0NvbXBvc3RvOiB0cnVlLFxyXG4gICAgICAgIGlzSW5ncmVkaWVudGU6IHRydWUsXHJcbiAgICAgICAgb21pdGVDbGllbnRlOiBmYWxzZSxcclxuICAgICAgICBlc3RvcXVlUmVjZXBjYW86IGZhbHNlLFxyXG4gICAgICAgIGVzdG9xdWVSZWNlcGNhb1F1YW50aWRhZGU6IDAsXHJcbiAgICAgICAgZ3RpbjogbnVsbCxcclxuICAgICAgICBjZm9wOiBudWxsLFxyXG4gICAgICAgIGNzVF9pY21zOiBudWxsLFxyXG4gICAgICAgIG1vZEJDX2ljbXM6IDAsXHJcbiAgICAgICAgcElDTVNfaWNtczogbnVsbCxcclxuICAgICAgICBwUmVkQkNfaWNtczogbnVsbCxcclxuICAgICAgICBwZmNQX2ljbXM6IG51bGwsXHJcbiAgICAgICAgdmJjZmNQX2ljbXM6IG51bGwsXHJcbiAgICAgICAgcGZjcHNUX2ljbXM6IG51bGwsXHJcbiAgICAgICAgcFJlZEJDRWZldF9pY21zOiBudWxsLFxyXG4gICAgICAgIHZiY0VmZXRfaWNtczogbnVsbCxcclxuICAgICAgICBwaWNtc0VmZXRfaWNtczogbnVsbCxcclxuICAgICAgICB2aWNtc0VmZXRfaWNtczogbnVsbCxcclxuICAgICAgICBjc1RfcGlzOiBudWxsLFxyXG4gICAgICAgIHZiQ19waXM6IG51bGwsXHJcbiAgICAgICAgcHBpU19waXM6IG51bGwsXHJcbiAgICAgICAgY3NUX2NvZmluczogbnVsbCxcclxuICAgICAgICB2YkNfY29maW5zOiBudWxsLFxyXG4gICAgICAgIHBjb2ZpblNfY29maW5zOiBudWxsLFxyXG4gICAgICAgIHBzVF9pY21zOiBudWxsLFxyXG4gICAgICAgIHZiY3N0UmV0X2ljbXM6IG51bGwsXHJcbiAgICAgICAgdmljbXNTdWJzdGl0dXRvX2ljbXM6IG51bGwsXHJcbiAgICAgICAgdmljbXNzdFJldF9pY21zOiBudWxsLFxyXG4gICAgICAgIGVtaXRlTkZDZTogZmFsc2UsXHJcbiAgICAgICAgY2VzdDogbnVsbCxcclxuICAgICAgICB2YmNmY3BzVF9pY21zOiBudWxsLFxyXG4gICAgICAgIHZiY2ZjcHN0UmV0X2ljbXM6IG51bGwsXHJcbiAgICAgICAgcGZjcHN0UmV0X2ljbXM6IG51bGwsXHJcbiAgICAgICAgc2l0VHJpYjogbnVsbCxcclxuICAgICAgICBzZXRvclN1YkVzdG9xdWVJZDogbnVsbCxcclxuICAgICAgICBzZXRvclN1YkVzdG9xdWVOb21lOiBudWxsLFxyXG4gICAgICAgIHNldG9yUHJpbmNpcGFsSWQ6IG51bGwsXHJcbiAgICAgICAgc2V0b3JQcmluY2lwYWxOb21lOiBudWxsLFxyXG4gICAgICAgIHF0ZE1pblN1YkVzdG9xdWU6IG51bGwsXHJcbiAgICAgICAgZGlzcG9uaXZlbENhcmRhcGlvOiBmYWxzZSxcclxuICAgICAgICBjYXRlZ29yaWFDYXJkYXBpb0lkOiBudWxsLFxyXG4gICAgICAgIGNhdGVnb3JpYUNhcmRhcGlvTm9tZTogbnVsbCxcclxuICAgICAgICBkZXNjcmljYW86IG51bGwsXHJcbiAgICAgICAgZW52aWFkb1BDOiBmYWxzZSxcclxuICAgICAgICBxYmNQcm9kX2NvZmluczogbnVsbCxcclxuICAgICAgICB2QWxpcVByb2RfY29maW5zOiBudWxsXHJcbiAgICB9XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhKGl0ZW06IFByb2R1dG8sIGZvY3VzOiBGb2N1c1NlcnZpY2UpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh2YWxUZXh0RW1wdHkoaXRlbS5ub21lKSkge1xyXG4gICAgICAgIGZvY3VzLnNldCgnbm9tZScpO1xyXG4gICAgICAgIHJldHVybiAnRGlnaXRlIHVtIG5vbWUgdsOhbGlkby4nO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbE51bWJlckVtcHR5KGl0ZW0uZ3J1cG9JZCkpIHtcclxuICAgICAgICByZXR1cm4gJ0VzY29saGEgdW0gZ3J1cG8gZGUgcHJvZHV0by4nO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbE51bWJlckVtcHR5KGl0ZW0uc3ViZ3J1cG9JZCkpIHtcclxuICAgICAgICByZXR1cm4gJ0VzY29saGEgdW0gc3ViZ3J1cG8gZGUgcHJvZHV0by4nO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbFRleHRFbXB0eShpdGVtLnVuaWRhZGUpKSB7XHJcbiAgICAgICAgZm9jdXMuc2V0KCd1bmlkYWRlJyk7XHJcbiAgICAgICAgcmV0dXJuICdEaWdpdGUgdW1hIHVuaWRhZGUuJztcclxuICAgIH1cclxuICAgIGlmIChpdGVtLmRpc3Bvbml2ZWxDYXJkYXBpbykge1xyXG4gICAgICAgIGlmICh2YWxOdW1iZXJFbXB0eShpdGVtLmNhdGVnb3JpYUNhcmRhcGlvSWQpKVxyXG4gICAgICAgICAgICByZXR1cm4gJ0VzY29saGEgdW1hIGNhdGVnb3JpYSBkbyBjYXJkw6FwaW8gZGlnaXRhbC4nO1xyXG4gICAgICAgIGlmICh2YWxUZXh0RW1wdHkoaXRlbS5kZXNjcmljYW8pKSB7XHJcbiAgICAgICAgICAgIGZvY3VzLnNldCgnZGVzY3JpY2FvJyk7XHJcbiAgICAgICAgICAgIHJldHVybiAnRGlnaXRlIHVtYSBkZXNjcmnDp8OjbyBwYXJhIG8gY2FyZMOhcGlvIGRpZ2l0YWwuJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0b3ItZXN0b3F1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9tb2RlbHMvZW50aWRhZGVzL3NldG9yLWVzdG9xdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2V0b3JFc3RvcXVlXHJcbntcclxuICAgIGlkOiBudW1iZXJcclxuICAgIG5vbWU6IHN0cmluZ1xyXG4gICAgaXNBdGl2bzogYm9vbGVhblxyXG4gICAgZW52aWFkb1BDOiBib29sZWFuXHJcbiAgICBtYXJjYWRvRXhjbHVzYW86IGJvb2xlYW4gICAgICBcclxufSJdfQ==