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.
- package/esm2020/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +3 -3
- package/esm2020/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +3 -3
- package/esm2020/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +79 -0
- package/esm2020/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.mjs +56 -0
- package/esm2020/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.mjs +68 -0
- package/esm2020/lib/cadastros/produtos/produto-form/produto-form.component.mjs +343 -0
- package/esm2020/lib/cadastros/produtos/produtos/produtos.component.mjs +211 -0
- package/esm2020/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.mjs +69 -0
- package/esm2020/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.mjs +68 -0
- package/esm2020/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.mjs +106 -0
- package/esm2020/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.mjs +156 -0
- package/esm2020/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.mjs +65 -0
- package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.mjs +69 -0
- package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.mjs +68 -0
- package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.mjs +18 -0
- package/esm2020/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.mjs +106 -0
- package/esm2020/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.mjs +179 -0
- package/esm2020/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.mjs +58 -0
- package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.mjs +71 -0
- package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.mjs +68 -0
- package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +106 -0
- package/esm2020/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.mjs +156 -0
- package/esm2020/lib/models/entidades/produto-grupo.mjs +9 -0
- package/esm2020/lib/models/entidades/produto-ncm.mjs +2 -0
- package/esm2020/lib/models/entidades/produto.mjs +106 -0
- package/esm2020/lib/models/entidades/setor-estoque.mjs +2 -0
- package/esm2020/lib/models/infra/number-parser.mjs +1 -1
- package/esm2020/lib/models/infra/selecao-utils.mjs +4 -2
- package/esm2020/lib/models/infra/validations.mjs +1 -1
- package/esm2020/lib/models/tuple.mjs +2 -0
- package/esm2020/lib/oxpi-nglib.module.mjs +69 -5
- package/esm2020/lib/providers/common-web-service.mjs +124 -2
- package/fesm2015/oxpi-nglib.mjs +2305 -206
- package/fesm2015/oxpi-nglib.mjs.map +1 -1
- package/fesm2020/oxpi-nglib.mjs +2284 -206
- package/fesm2020/oxpi-nglib.mjs.map +1 -1
- package/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.d.ts +28 -0
- package/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos/produto-form/produto-form.component.d.ts +78 -0
- package/lib/cadastros/produtos/produtos/produtos.component.d.ts +44 -0
- package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.d.ts +35 -0
- package/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.d.ts +36 -0
- package/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.d.ts +21 -0
- package/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.d.ts +10 -0
- package/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.d.ts +35 -0
- package/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.d.ts +37 -0
- package/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.d.ts +29 -0
- package/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.d.ts +27 -0
- package/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.d.ts +28 -0
- package/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.d.ts +35 -0
- package/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.d.ts +36 -0
- package/lib/models/entidades/produto-grupo.d.ts +20 -0
- package/lib/models/entidades/produto-ncm.d.ts +10 -0
- package/lib/models/entidades/produto.d.ts +74 -0
- package/lib/models/entidades/setor-estoque.d.ts +7 -0
- package/lib/models/infra/number-parser.d.ts +1 -1
- package/lib/models/infra/selecao-utils.d.ts +1 -1
- package/lib/models/infra/validations.d.ts +3 -3
- package/lib/models/tuple.d.ts +4 -0
- package/lib/oxpi-nglib.module.d.ts +29 -8
- package/lib/providers/common-web-service.d.ts +38 -0
- package/package.json +1 -1
- package/styles/cadastros-listagens-form.scss +15 -0
|
@@ -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 { ProdutoGrupoAddDialogComponent } from '../produto-grupo-add-dialog/produto-grupo-add-dialog.component';
|
|
6
|
+
import { ProdutoGrupoEditDialogComponent } from '../produto-grupo-edit-dialog/produto-grupo-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 ProdutoGrupoSelecaoDialogComponent {
|
|
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.buscaProdutoGrupo(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(ProdutoGrupoAddDialogComponent, {
|
|
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(ProdutoGrupoEditDialogComponent, {
|
|
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
|
+
ProdutoGrupoSelecaoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoGrupoSelecaoDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i1.MatDialog }, { token: i2.CommonWebService }, { token: i3.NotificationService }, { token: i4.AuthDataService }, { token: i5.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
+
ProdutoGrupoSelecaoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoGrupoSelecaoDialogComponent, selector: "app-produto-grupo-selecao-dialog", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Grupos</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: ProdutoGrupoSelecaoDialogComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{ selector: 'app-produto-grupo-selecao-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Grupos</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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1ncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvLWdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0by1ncnVwby1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLWdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBaUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFLeEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDaEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPbkgsTUFBTSxPQUFPLGtDQUFrQztJQVc3QyxZQUFtQixTQUEyRCxFQUNyRSxNQUFpQixFQUNmLEVBQW9CLEVBQ3BCLFlBQWlDLEVBQ3pDLElBQXFCLEVBQ2IsWUFBaUM7UUFMekIsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7UUFDckUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNmLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUVqQyxp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UUFDaEQsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMxQyw4Q0FBOEM7U0FDL0M7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUMvRCxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxNQUFNLEtBQUssU0FBUztnQkFBRSxPQUFPO1lBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0hBekZVLGtDQUFrQzttSEFBbEMsa0NBQWtDLHdFQ2xCL0MsOC9DQWlDRTsyRkRmVyxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0Usa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFByb2R1dG9HcnVwbyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1ncnVwbyc7XG5pbXBvcnQgeyBMYXp5VHJpZ2dlciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmZyYS9sYXp5LXRyaWdnZXInO1xuaW1wb3J0IHsgTmF2ZWdhY2FvU2VsZWNhb0RpYWxvZ1V0aWwsIFNlbGVjYW9EaWFsb2cgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9hdXRoLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1dG9HcnVwb0FkZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLWdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9HcnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLWdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHV0by1ncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdXRvR3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBTZWxlY2FvRGlhbG9nPFByb2R1dG9HcnVwbywgUHJvZHV0b0dydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudD4gIHtcbiAgaXRlbXM6IFByb2R1dG9HcnVwb1tdID0gW107XG4gIHNlbGVjdGVkSXRlbTogUHJvZHV0b0dydXBvIHwgbnVsbCA9IG51bGw7XG4gIGlzQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuICBtb2JpbGU6IGJvb2xlYW47XG4gIHNldHRpbmcgPSBuZXcgU2VhcmNoU2V0dGluZygpO1xuICBhbGxvd0FkZDogYm9vbGVhbjtcbiAgYWxsb3dFZGl0OiBib29sZWFuO1xuICBsYXp5VHJpZ2dlciA9IG5ldyBMYXp5VHJpZ2dlcigoKSA9PiB7IHRoaXMuYXR1YWxpemEoKTsgfSk7XG4gIG5hdiA9IG5ldyBOYXZlZ2FjYW9TZWxlY2FvRGlhbG9nVXRpbDxQcm9kdXRvR3J1cG8sIFByb2R1dG9HcnVwb1NlbGVjYW9EaWFsb2dDb21wb25lbnQ+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxQcm9kdXRvR3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50PixcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgIHByaXZhdGUgd3M6IENvbW1vbldlYlNlcnZpY2UsIFxuICAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgYXV0aDogQXV0aERhdGFTZXJ2aWNlLFxuICAgICBwcml2YXRlIHNjcmVlbkhlbHBlcjogU2NyZWVuSGVscGVyU2VydmljZSkge1xuICAgICAgdGhpcy5tb2JpbGUgPSB0aGlzLnNjcmVlbkhlbHBlci5pc01lZGl1bTsgIFxuICAgICAgdGhpcy5hbGxvd0FkZCA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9HcnVwb0FkZDtcbiAgICAgIHRoaXMuYWxsb3dFZGl0ID0gYXV0aC5wZXJtaXNzb2VzLmFkbWluUHJvZHV0b0dydXBvUGVzcXVpc2E7XG4gICAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dGluZy5vcmRlbSA9IFwibm9tZVwiO1xuICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgfVxuXG4gIGF0dWFsaXphKCkge1xuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLmJ1c2NhUHJvZHV0b0dydXBvKHRoaXMuc2V0dGluZylcbiAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXRlbXMgPSByO1xuICAgICAgICBjb25zb2xlLmluZm8ocik7XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd0h0dHBFcnJvcihlcnIpO1xuICAgICAgICB9KTtcbiAgfVxuICBcbiAgc2VsZWN0SXRlbShpIDogUHJvZHV0b0dydXBvKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtID09PSBpKSB7IFxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoaSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaTtcbiAgfVxuXG4gIG5vdm8oKSB7XG5cbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b0dydXBvQWRkRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICB9KTtcbiAgICBkaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIlNhbHZvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgICB9KTtcbiAgfVxuICBcbiAgZWRpdGFyKCkge1xuXG4gICAgbGV0IGhlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjkwKSArICdweCc7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgLy9oZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45OCkgKyAncHgnO1xuICAgIH1cbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuKFByb2R1dG9HcnVwb0VkaXREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgICAgZGF0YTogdGhpcy5zZWxlY3RlZEl0ZW1cbiAgICB9KTtcbiAgICBkaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIlNhbHZvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cbiAgICA8aDI+U2VsZcOnw6NvIGRlIEdydXBvczwvaDI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidG9vbC1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb25cIj5cbiAgICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICA8aW5wdXQgKGtleWRvd24pPVwibmF2Lm9uS2V5RG93bigkZXZlbnQpXCIgY2RrRm9jdXNJbml0aWFsIFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhdHVhbGl6YSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3ZvKClcIiAqbmdJZj1cImFsbG93QWRkXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJub3ZvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0YXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICAmJiBhbGxvd0VkaXRcIj5cbiAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cImVkaXRhclwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICA8b3gtaXRlbS1jYXJkIFtub21lXT1cImkubm9tZVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGkpXCIgKm5nRm9yPVwibGV0IGkgb2YgaXRlbXNcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJdGVtXCI+PC9veC1pdGVtLWNhcmQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWZvb3RlclwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwic2VsZWN0ZWRJdGVtID09IHVuZGVmaW5lZFwiIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInNlbGVjdGVkSXRlbVwiPkNPTkZJUk1BUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ1bmRlZmluZWRcIj5WT0xUQVI8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxveC1idXN5LWluZGljYXRvciBbaXNCdXN5XT1cImlzQnVzeVwiPjwvb3gtYnVzeS1pbmRpY2F0b3I+XG4gICJdfQ==
|
|
@@ -0,0 +1,179 @@
|
|
|
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 { MoverGrupoDialogComponent } from '../mover-grupo-dialog/mover-grupo-dialog.component';
|
|
9
|
+
import { ProdutoGrupoAddDialogComponent } from '../produto-grupo-add-dialog/produto-grupo-add-dialog.component';
|
|
10
|
+
import { ProdutoGrupoEditDialogComponent } from '../produto-grupo-edit-dialog/produto-grupo-edit-dialog.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../../providers/common-web-service";
|
|
13
|
+
import * as i2 from "../../../providers/notification.service";
|
|
14
|
+
import * as i3 from "@angular/material/dialog";
|
|
15
|
+
import * as i4 from "../../../providers/auth-data.service";
|
|
16
|
+
import * as i5 from "../../../providers/screen-helper.service";
|
|
17
|
+
import * as i6 from "@angular/common";
|
|
18
|
+
import * as i7 from "@angular/forms";
|
|
19
|
+
import * as i8 from "@angular/material/button";
|
|
20
|
+
import * as i9 from "@angular/material/icon";
|
|
21
|
+
import * as i10 from "../../../controls/busy-indicator/busy-indicator.component";
|
|
22
|
+
import * as i11 from "../../../controls/item-card/item-card.component";
|
|
23
|
+
import * as i12 from "../produto-grupo-form/produto-grupo-form.component";
|
|
24
|
+
export class ProdutosGruposComponent {
|
|
25
|
+
constructor(ws, notification, dialog, auth, screenHelper) {
|
|
26
|
+
this.ws = ws;
|
|
27
|
+
this.notification = notification;
|
|
28
|
+
this.dialog = dialog;
|
|
29
|
+
this.screenHelper = screenHelper;
|
|
30
|
+
this.isBusy = false;
|
|
31
|
+
this.items = [];
|
|
32
|
+
this.selectedItem = null;
|
|
33
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
34
|
+
this.setting = new SearchSetting();
|
|
35
|
+
this.focus = new FocusService();
|
|
36
|
+
this.allowAdd = auth.permissoes.adminProdutoGrupoAdd;
|
|
37
|
+
this.allowExcluir = auth.permissoes.adminProdutoGrupoDelete;
|
|
38
|
+
this.mobile = this.screenHelper.isMedium;
|
|
39
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.setting.ordem = "nome";
|
|
43
|
+
this.atualiza();
|
|
44
|
+
}
|
|
45
|
+
onSelectItem() {
|
|
46
|
+
if (!this.focus.hasInit()) {
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
this.focus.registerElementById("form-column");
|
|
49
|
+
this.focus.setFirst();
|
|
50
|
+
}, 500);
|
|
51
|
+
//this._focus.registerElementById("form-column");
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.focus.setFirst();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
ngOnDestroy() {
|
|
58
|
+
this.focus.unregisterElementById("form-column");
|
|
59
|
+
}
|
|
60
|
+
atualiza() {
|
|
61
|
+
this.isBusy = true;
|
|
62
|
+
this.ws.buscaProdutoGrupo(this.setting)
|
|
63
|
+
.subscribe(r => {
|
|
64
|
+
this.items = r;
|
|
65
|
+
this.selectedItem = null;
|
|
66
|
+
console.info(r);
|
|
67
|
+
this.isBusy = false;
|
|
68
|
+
}, err => {
|
|
69
|
+
this.isBusy = false;
|
|
70
|
+
this.notification.showHttpError(err);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
excluir() {
|
|
74
|
+
const item = this.selectedItem;
|
|
75
|
+
if (!item)
|
|
76
|
+
return;
|
|
77
|
+
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do grupo ${item.nome}?`, () => {
|
|
78
|
+
this.isBusy = true;
|
|
79
|
+
this.ws.deleteProdutoGrupo(item.id)
|
|
80
|
+
.subscribe(r => {
|
|
81
|
+
this.notification.showMsg("O grupo foi excluído com sucesso.");
|
|
82
|
+
this.items.remove(item);
|
|
83
|
+
this.selectedItem = null;
|
|
84
|
+
this.isBusy = false;
|
|
85
|
+
}, err => {
|
|
86
|
+
this.isBusy = false;
|
|
87
|
+
this.notification.showMsg(err.error);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
novo() {
|
|
92
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
93
|
+
let width = 550 + 'px';
|
|
94
|
+
if (this.mobile) {
|
|
95
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
96
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
97
|
+
}
|
|
98
|
+
const dialog = this.dialog.open(ProdutoGrupoAddDialogComponent, {
|
|
99
|
+
width: width,
|
|
100
|
+
//height: height,
|
|
101
|
+
maxWidth: '100%',
|
|
102
|
+
panelClass: 'dialog-p0',
|
|
103
|
+
});
|
|
104
|
+
dialog.afterClosed().subscribe(result => {
|
|
105
|
+
if (result === undefined)
|
|
106
|
+
return;
|
|
107
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
108
|
+
this.atualiza();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
abreCadastro(item) {
|
|
112
|
+
let height = undefined;
|
|
113
|
+
let width = 550 + 'px';
|
|
114
|
+
if (this.mobile) {
|
|
115
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
116
|
+
height = (window.innerHeight * 0.99) + 'px';
|
|
117
|
+
}
|
|
118
|
+
const dialog = this.dialog.open(ProdutoGrupoEditDialogComponent, {
|
|
119
|
+
data: item,
|
|
120
|
+
width: width,
|
|
121
|
+
//height: height,
|
|
122
|
+
maxWidth: '100%',
|
|
123
|
+
panelClass: 'dialog-p0',
|
|
124
|
+
});
|
|
125
|
+
dialog.afterClosed().subscribe(result => {
|
|
126
|
+
if (result !== true)
|
|
127
|
+
return;
|
|
128
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
129
|
+
this.atualiza();
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
salvar() {
|
|
133
|
+
const item = this.selectedItem;
|
|
134
|
+
if (!item)
|
|
135
|
+
return;
|
|
136
|
+
const valMsg = valida(item, this.focus);
|
|
137
|
+
if (valMsg) {
|
|
138
|
+
this.notification.showMsgError(valMsg);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
this.isBusy = true;
|
|
142
|
+
this.ws.saveProdutoGrupo(item)
|
|
143
|
+
.subscribe(r => {
|
|
144
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
145
|
+
this.isBusy = false;
|
|
146
|
+
}, err => {
|
|
147
|
+
this.isBusy = false;
|
|
148
|
+
this.notification.showMsg(err.error);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
moverGrupo() {
|
|
152
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
153
|
+
let width = 550 + 'px';
|
|
154
|
+
if (this.mobile) {
|
|
155
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
156
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
157
|
+
}
|
|
158
|
+
const dialog = this.dialog.open(MoverGrupoDialogComponent, {
|
|
159
|
+
width: width,
|
|
160
|
+
data: this.selectedItem,
|
|
161
|
+
//height: height,
|
|
162
|
+
maxWidth: '100%',
|
|
163
|
+
panelClass: 'dialog-p0',
|
|
164
|
+
});
|
|
165
|
+
dialog.afterClosed().subscribe(result => {
|
|
166
|
+
if (result === undefined)
|
|
167
|
+
return;
|
|
168
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
169
|
+
this.atualiza();
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
ProdutosGruposComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosGruposComponent, deps: [{ token: i1.CommonWebService }, { token: i2.NotificationService }, { token: i3.MatDialog }, { token: i4.AuthDataService }, { token: i5.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
174
|
+
ProdutosGruposComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosGruposComponent, selector: "app-produtos-grupos", 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 Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n <button mat-icon-button (click)=\"moverGrupo()\" *ngIf=\"selectedItem\" [@fade]>\n <mat-icon aria-label=\"Transferir Grupo\">sync_alt</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>Grupos 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 <button mat-icon-button (click)=\"moverGrupo()\" *ngIf=\"selectedItem\" [@fade]>\n <mat-icon aria-label=\"Transferir Grupo\">move_up</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 grupo 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] });
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosGruposComponent, decorators: [{
|
|
176
|
+
type: Component,
|
|
177
|
+
args: [{ selector: 'app-produtos-grupos', 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 Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n <button mat-icon-button (click)=\"moverGrupo()\" *ngIf=\"selectedItem\" [@fade]>\n <mat-icon aria-label=\"Transferir Grupo\">sync_alt</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>Grupos 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 <button mat-icon-button (click)=\"moverGrupo()\" *ngIf=\"selectedItem\" [@fade]>\n <mat-icon aria-label=\"Transferir Grupo\">move_up</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 grupo 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"] }]
|
|
178
|
+
}], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: i3.MatDialog }, { type: i4.AuthDataService }, { type: i5.ScreenHelperService }]; } });
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0b3MtZ3J1cG9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvcy1ncnVwb3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG9zLWdydXBvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQWdCLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSWhFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVFuSCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDLFlBQW9CLEVBQW9CLEVBQzlCLFlBQWlDLEVBQ2xDLE1BQWlCLEVBQ3hCLElBQXFCLEVBQ2IsWUFBaUM7UUFKdkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFFaEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBYjNDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFDM0IsaUJBQVksR0FBd0IsSUFBSSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFHMUQsWUFBTyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDdEIsVUFBSyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBTy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFHeEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxZQUFZO1FBRVYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNSLGlEQUFpRDtTQUNsRDthQUNJO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsT0FBTztRQUNMLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQzFCLDZDQUE2QyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQ3pELEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDaEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQyxFQUNDLEdBQUcsQ0FBQyxFQUFFO2dCQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNoRCxJQUFJLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzFDLDhDQUE4QztTQUMvQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQzlELEtBQUssRUFBRSxLQUFLO1lBQ1osaUJBQWlCO1lBQ2pCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxXQUFXO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxNQUFNLEtBQUssU0FBUztnQkFBRSxPQUFPO1lBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFrQjtRQUM3QixJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMxQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztTQUM3QztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFO1lBQy9ELElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLEtBQUs7WUFDWixpQkFBaUI7WUFDakIsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QyxJQUFJLE1BQU0sS0FBSyxJQUFJO2dCQUFFLE9BQU87WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7YUFDM0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDLEVBQ0MsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDVCxDQUFDO0lBR0QsVUFBVTtRQUNSLElBQUksTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDaEQsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMxQyw4Q0FBOEM7U0FDL0M7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUN6RCxLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN2QixpQkFBaUI7WUFDakIsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QyxJQUFJLE1BQU0sS0FBSyxTQUFTO2dCQUFFLE9BQU87WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFwS1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkRDdkJwQyxvdEhBaUZNLHExREQ1RFEsQ0FBQyxhQUFhLENBQUM7MkZBRWhCLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGZhZGVBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb25zL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUHJvZHV0b0dydXBvLCB2YWxpZGEgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tZ3J1cG8nO1xuaW1wb3J0IHsgTGF6eVRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvbGF6eS10cmlnZ2VyJztcbmltcG9ydCB7IGNvbmZpcm1hRXhjbHVzYW8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9hdXRoLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZm9jdXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgTW92ZXJHcnVwb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL21vdmVyLWdydXBvLWRpYWxvZy9tb3Zlci1ncnVwby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9HcnVwb0FkZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLWdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9HcnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLWdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1dG9zLWdydXBvcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdXRvcy1ncnVwb3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdXRvcy1ncnVwb3MuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW2ZhZGVBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1dG9zR3J1cG9zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbW9iaWxlOiBib29sZWFuO1xuICBpc0J1c3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXRlbXM6IFByb2R1dG9HcnVwb1tdID0gW107XG4gIHNlbGVjdGVkSXRlbTogUHJvZHV0b0dydXBvIHwgbnVsbCA9IG51bGw7XG4gIGxhenlUcmlnZ2VyID0gbmV3IExhenlUcmlnZ2VyKCgpID0+IHsgdGhpcy5hdHVhbGl6YSgpOyB9KTtcbiAgYWxsb3dBZGQ6IGJvb2xlYW47XG4gIGFsbG93RXhjbHVpcjogYm9vbGVhbjtcbiAgc2V0dGluZyA9IG5ldyBTZWFyY2hTZXR0aW5nKCk7XG4gIHByaXZhdGUgZm9jdXM6IEZvY3VzU2VydmljZSA9IG5ldyBGb2N1c1NlcnZpY2UoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdzOiBDb21tb25XZWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBhdXRoOiBBdXRoRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzY3JlZW5IZWxwZXI6IFNjcmVlbkhlbHBlclNlcnZpY2UpIHtcbiAgICB0aGlzLmFsbG93QWRkID0gYXV0aC5wZXJtaXNzb2VzLmFkbWluUHJvZHV0b0dydXBvQWRkO1xuICAgIHRoaXMuYWxsb3dFeGNsdWlyID0gYXV0aC5wZXJtaXNzb2VzLmFkbWluUHJvZHV0b0dydXBvRGVsZXRlO1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zY3JlZW5IZWxwZXIuaXNNZWRpdW07XG4gICAgdGhpcy5zY3JlZW5IZWxwZXIuY2hhbmdlZE1lZGl1bVNjcmVlbi5zdWJzY3JpYmUoeCA9PiB0aGlzLm1vYmlsZSA9IHgpO1xuXG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dGluZy5vcmRlbSA9IFwibm9tZVwiO1xuICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbSgpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5mb2N1cy5oYXNJbml0KCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzLnJlZ2lzdGVyRWxlbWVudEJ5SWQoXCJmb3JtLWNvbHVtblwiKTtcbiAgICAgICAgdGhpcy5mb2N1cy5zZXRGaXJzdCgpO1xuICAgICAgfSwgNTAwKTtcbiAgICAgIC8vdGhpcy5fZm9jdXMucmVnaXN0ZXJFbGVtZW50QnlJZChcImZvcm0tY29sdW1uXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuZm9jdXMuc2V0Rmlyc3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLnVucmVnaXN0ZXJFbGVtZW50QnlJZChcImZvcm0tY29sdW1uXCIpO1xuICB9XG5cbiAgYXR1YWxpemEoKSB7XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3MuYnVzY2FQcm9kdXRvR3J1cG8odGhpcy5zZXR0aW5nKVxuICAgICAgLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDtcbiAgICAgICAgY29uc29sZS5pbmZvKHIpO1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd0h0dHBFcnJvcihlcnIpO1xuICAgICAgfSk7XG4gIH1cblxuXG4gIGV4Y2x1aXIoKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuICAgIGNvbmZpcm1hRXhjbHVzYW8odGhpcy5kaWFsb2csXG4gICAgICBgRGVzZWphIHByb3NzZWd1aXIgY29tIGEgZXhjbHVzw6NvIGRvIGdydXBvICR7aXRlbS5ub21lfT9gLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMud3MuZGVsZXRlUHJvZHV0b0dydXBvKGl0ZW0uaWQpXG4gICAgICAgICAgLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJPIGdydXBvIGZvaSBleGNsdcOtZG8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5yZW1vdmUoaXRlbSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKGVyci5lcnJvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbm92bygpIHtcbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b0dydXBvQWRkRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAvL2hlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgdGhpcy5hdHVhbGl6YSgpO1xuICAgIH0pO1xuICB9XG5cbiAgYWJyZUNhZGFzdHJvKGl0ZW06IFByb2R1dG9HcnVwbykge1xuICAgIGxldCBoZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTkpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvR3J1cG9FZGl0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiBpdGVtLFxuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgLy9oZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICB9KTtcbiAgICBkaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgIT09IHRydWUpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBzYWx2YXIoKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xuICAgIGlmICghaXRlbSkgcmV0dXJuOyAgICBcbiAgICBjb25zdCB2YWxNc2cgPSB2YWxpZGEoaXRlbSwgdGhpcy5mb2N1cyk7XG4gICAgaWYgKHZhbE1zZykge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZ0Vycm9yKHZhbE1zZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLnNhdmVQcm9kdXRvR3J1cG8oaXRlbSlcbiAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhlcnIuZXJyb3IpO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIFxuICBtb3ZlckdydXBvKCkge1xuICAgIGxldCBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45MCkgKyAncHgnO1xuICAgIGxldCB3aWR0aCA9IDU1MCArICdweCc7XG4gICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAqIDAuOTkpICsgJ3B4JztcbiAgICAgIC8vaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTgpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihNb3ZlckdydXBvRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBkYXRhOiB0aGlzLnNlbGVjdGVkSXRlbSxcbiAgICAgIC8vaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj5cbjxkaXYgY2xhc3M9XCJ0b29sLXBhbmVsXCIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInNldHRpbmcuZnJhc2VcIiBwbGFjZWhvbGRlcj1cIkRpZ2l0ZSB1bSB0ZXJtbyBkZSBidXNjYS4uLlwiIChpbnB1dCk9XCJsYXp5VHJpZ2dlci5maXJlKClcIj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb24gb3JkZW0tc20yXCI+XG4gICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXJvd1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImF0dWFsaXphKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5vdm8oKVwiICpuZ0lmPVwiYWxsb3dBZGRcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJOb3ZvIEdydXBvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImV4Y2x1aXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIGFsbG93RXhjbHVpclwiIFtAZmFkZV0+XG4gICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiRXhjbHVpciBHcnVwb1wiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtb3ZlckdydXBvKClcIiAqbmdJZj1cInNlbGVjdGVkSXRlbVwiIFtAZmFkZV0+XG4gICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiVHJhbnNmZXJpciBHcnVwb1wiPnN5bmNfYWx0PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJlc3VsdC1jb250YWluZXJcIiAqbmdJZj1cIml0ZW1zXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkcy1jb250YWluZXIgY2FyZHMtY29udGFpbmVyLXNoYWRvd1wiICpuZ0lmPVwibW9iaWxlXCI+XG4gICAgPG94LWl0ZW0tY2FyZCBbY2xvdWRdPVwiaS5lbnZpYWRvUENcIiBbbm9tZV09XCJpLm5vbWVcIiAqbmdGb3I9XCJsZXQgaSBvZiBpdGVtc1wiIChjbGljayk9XCJhYnJlQ2FkYXN0cm8oaSlcIj48L294LWl0ZW0tY2FyZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsaXN0YWdlbS1kZXNrdG9wLWdyaWRcIiAqbmdJZj1cIiFtb2JpbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tY29sdW1uLWNvbnRhaW5lciBsaXN0YWdlbS1saXN0LWNvbHVtblwiPlxuICAgICAgPGgzPkdydXBvcyBkZSBQcm9kdXRvczwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwidG9vbC1wYW5lbCB0b29sLXBhbmVsLWZsb2F0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb25cIj5cbiAgICAgICAgICA8bGFiZWw+UGVzcXVpc2E8L2xhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJzZXR0aW5nLmZyYXNlXCIgcGxhY2Vob2xkZXI9XCJEaWdpdGUgdW0gdGVybW8gZGUgYnVzY2EuLi5cIiAoaW5wdXQpPVwibGF6eVRyaWdnZXIuZmlyZSgpXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1zZWN0aW9uIG9yZGVtLXNtMlwiPlxuICAgICAgICAgIDxsYWJlbD5Bw6fDtWVzPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1yb3dcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhdHVhbGl6YSgpXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiQXR1YWxpemFyXCI+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3ZvKClcIiAqbmdJZj1cImFsbG93QWRkXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiTm92b1wiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJleGNsdWlyKClcIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBhbGxvd0V4Y2x1aXJcIiBbQGZhZGVdPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkV4Y2x1aXJcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibW92ZXJHcnVwbygpXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIiBbQGZhZGVdPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIlRyYW5zZmVyaXIgR3J1cG9cIj5tb3ZlX3VwPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICAgIDxoNCAqbmdJZj1cIml0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibmVuaHVtLWl0ZW0tbXNnXCI+QSBidXNjYSBuw6NvIHJldG9ybm91IHJlc3VsdGFkb3M8L2g0PlxuXG4gICAgICAgIDxveC1pdGVtLWNhcmQgW2Nsb3VkXT1cImkuZW52aWFkb1BDXCIgW25vbWVdPVwiaS5ub21lXCIgKm5nRm9yPVwibGV0IGkgb2YgaXRlbXNcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJdGVtXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRJdGVtID0gaTtcIj48L294LWl0ZW0tY2FyZD5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWNvbHVtbi1jb250YWluZXIgbGlzdGFnZW0tY29sdW1uLWZvcm1cIj5cbiAgICAgIDxoMyAqbmdJZj1cIiFzZWxlY3RlZEl0ZW1cIj5TZWxlY2lvbmUgdW0gZ3J1cG8gbm8gbGFkbyBkaXJlaXRvPC9oMz5cbiAgICAgIDxoMyAqbmdJZj1cInNlbGVjdGVkSXRlbVwiPnt7c2VsZWN0ZWRJdGVtLm5vbWUgfCB1cHBlcmNhc2V9fTwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tZm9ybS1jb250YWluZXJcIj5cbiAgICAgICAgPGFwcC1wcm9kdXRvLWdydXBvLWZvcm0gW0BmYWRlXSBbbW9kZWxdPVwic2VsZWN0ZWRJdGVtXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIj5cbiAgICAgICAgPC9hcHAtcHJvZHV0by1ncnVwby1mb3JtPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0YWdlbS1mb3JtLWFjb2VzXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNhbHZhcigpXCIgbWF0LWZhYiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInNlbGVjdGVkSXRlbVwiIHRhYmluZGV4PVwiMjBcIj5cbiAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { LazyTrigger } from '../../models/infra/lazy-trigger';
|
|
3
|
+
import { NavegacaoSelecaoDialogUtil } from '../../models/infra/selecao-utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "../../providers/common-web-service";
|
|
7
|
+
import * as i3 from "../../providers/notification.service";
|
|
8
|
+
import * as i4 from "../../providers/screen-helper.service";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/forms";
|
|
11
|
+
import * as i7 from "@angular/material/button";
|
|
12
|
+
import * as i8 from "@angular/material/icon";
|
|
13
|
+
import * as i9 from "../../controls/busy-indicator/busy-indicator.component";
|
|
14
|
+
import * as i10 from "../../controls/item-card/item-card.component";
|
|
15
|
+
export class ProdutosNcmDialogComponent {
|
|
16
|
+
constructor(dialogRef, dialog, ws, notification, screenHelper) {
|
|
17
|
+
this.dialogRef = dialogRef;
|
|
18
|
+
this.dialog = dialog;
|
|
19
|
+
this.ws = ws;
|
|
20
|
+
this.notification = notification;
|
|
21
|
+
this.screenHelper = screenHelper;
|
|
22
|
+
this.isBusy = false;
|
|
23
|
+
this.frase = '';
|
|
24
|
+
this.items = [];
|
|
25
|
+
this.selectedItem = null;
|
|
26
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
27
|
+
this.nav = new NavegacaoSelecaoDialogUtil(this);
|
|
28
|
+
this.mobile = this.screenHelper.isMedium;
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.atualiza();
|
|
32
|
+
}
|
|
33
|
+
atualiza() {
|
|
34
|
+
this.isBusy = true;
|
|
35
|
+
this.ws.buscaNcm(this.frase)
|
|
36
|
+
.subscribe(r => {
|
|
37
|
+
this.isBusy = false;
|
|
38
|
+
this.items = r;
|
|
39
|
+
console.info(r);
|
|
40
|
+
}, err => {
|
|
41
|
+
this.isBusy = false;
|
|
42
|
+
this.notification.showHttpError(err);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
selectItem(i) {
|
|
46
|
+
if (this.selectedItem === i) {
|
|
47
|
+
this.dialogRef.close(i);
|
|
48
|
+
}
|
|
49
|
+
this.selectedItem = i;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
ProdutosNcmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosNcmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i1.MatDialog }, { token: i2.CommonWebService }, { token: i3.NotificationService }, { token: i4.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
ProdutosNcmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosNcmDialogComponent, selector: "app-produtos-ncm-dialog", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Grupos</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)]=\"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 </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [codigo]=\"i.codigo\" [nome]=\"i.descricao\" (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>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.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: i8.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: i9.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i10.ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }] });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosNcmDialogComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'app-produtos-ncm-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Grupos</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)]=\"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 </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [codigo]=\"i.codigo\" [nome]=\"i.descricao\" (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>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i1.MatDialog }, { type: i2.CommonWebService }, { type: i3.NotificationService }, { type: i4.ScreenHelperService }]; } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0b3MtbmNtLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLW5jbS1kaWFsb2cvcHJvZHV0b3MtbmNtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLW5jbS1kaWFsb2cvcHJvZHV0b3MtbmNtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVTlFLE1BQU0sT0FBTywwQkFBMEI7SUFTckMsWUFDUyxTQUFtRCxFQUNuRCxNQUFpQixFQUNoQixFQUFvQixFQUNwQixZQUFpQyxFQUNqQyxZQUFpQztRQUpsQyxjQUFTLEdBQVQsU0FBUyxDQUEwQztRQUNuRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFiM0MsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQVksRUFBRSxDQUFDO1FBQ3BCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBZ0IsSUFBSSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsUUFBRyxHQUFHLElBQUksMEJBQTBCLENBQWtDLElBQUksQ0FBQyxDQUFDO1FBUXhFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFBRyxDQUFDO0lBRWpELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ3pCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDLEVBQ0MsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBTztRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7dUhBdkNVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLCtEQ2R2QyxndENBMEIyRDsyRkRaOUMsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOY20gfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tbmNtJztcbmltcG9ydCB7IExhenlUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZnJhL2xhenktdHJpZ2dlcic7XG5pbXBvcnQgeyBOYXZlZ2FjYW9TZWxlY2FvRGlhbG9nVXRpbCB9IGZyb20gJy4uLy4uL21vZGVscy9pbmZyYS9zZWxlY2FvLXV0aWxzJztcbmltcG9ydCB7IENvbW1vbldlYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvY29tbW9uLXdlYi1zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyZWVuSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9zY3JlZW4taGVscGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHV0b3MtbmNtLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdXRvcy1uY20tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHV0b3MtbmNtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1dG9zTmNtRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNCdXN5OiBib29sZWFuID0gZmFsc2U7XG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgZnJhc2UgOiBzdHJpbmcgPSAnJztcbiAgaXRlbXMgOiBOY21bXSA9IFtdO1xuICBzZWxlY3RlZEl0ZW0gOiBOY20gfCBudWxsID0gbnVsbDtcbiAgbGF6eVRyaWdnZXIgPSBuZXcgTGF6eVRyaWdnZXIoKCkgPT4geyB0aGlzLmF0dWFsaXphKCk7IH0pOyAgXG4gIG5hdiA9IG5ldyBOYXZlZ2FjYW9TZWxlY2FvRGlhbG9nVXRpbDxOY20sIFByb2R1dG9zTmNtRGlhbG9nQ29tcG9uZW50Pih0aGlzKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UHJvZHV0b3NOY21EaWFsb2dDb21wb25lbnQ+LFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHdzOiBDb21tb25XZWJTZXJ2aWNlLCBcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNjcmVlbkhlbHBlcjogU2NyZWVuSGVscGVyU2VydmljZSkge1xuICAgICAgdGhpcy5tb2JpbGUgPSB0aGlzLnNjcmVlbkhlbHBlci5pc01lZGl1bTsgICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdHVhbGl6YSgpO1xuICB9XG4gIGF0dWFsaXphKCkge1xuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLmJ1c2NhTmNtKHRoaXMuZnJhc2UpXG4gICAgICAuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLml0ZW1zID0gcjtcbiAgICAgICAgY29uc29sZS5pbmZvKHIpO1xuICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dIdHRwRXJyb3IoZXJyKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICBzZWxlY3RJdGVtKGkgOiBOY20pIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW0gPT09IGkpIHsgXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGlhbG9nLWhlYWRlclwiPlxuICAgIDxoMj5TZWxlw6fDo28gZGUgR3J1cG9zPC9oMj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0b29sLXBhbmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgPGxhYmVsPlBlc3F1aXNhPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgIDxpbnB1dCAoa2V5ZG93bik9XCJuYXYub25LZXlEb3duKCRldmVudClcIiBjZGtGb2N1c0luaXRpYWwgWyhuZ01vZGVsKV09XCJmcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhdHVhbGl6YSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudFwiPlxuICAgICAgPG94LWl0ZW0tY2FyZCBbY29kaWdvXT1cImkuY29kaWdvXCIgW25vbWVdPVwiaS5kZXNjcmljYW9cIiAoY2xpY2spPVwic2VsZWN0SXRlbShpKVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgW2NsYXNzLnNlbGVjdGVkXT1cImkgPT09IHNlbGVjdGVkSXRlbVwiPjwvb3gtaXRlbS1jYXJkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1mb290ZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cInNlbGVjdGVkSXRlbSA9PSB1bmRlZmluZWRcIiBjb2xvcj1cInByaW1hcnlcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJzZWxlY3RlZEl0ZW1cIj5DT05GSVJNQVI8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidW5kZWZpbmVkXCI+Vk9MVEFSPC9idXR0b24+XG4gIDwvZGl2PlxuICA8b3gtYnVzeS1pbmRpY2F0b3IgW2lzQnVzeV09XCJpc0J1c3lcIj48L294LWJ1c3ktaW5kaWNhdG9yPiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
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 ProdutoSubgrupoAddDialogComponent {
|
|
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
|
+
this.model = {
|
|
27
|
+
id: 0,
|
|
28
|
+
nome: '',
|
|
29
|
+
isAtivo: true,
|
|
30
|
+
enviadoPC: false
|
|
31
|
+
};
|
|
32
|
+
this.mobile = this.screenHelper.isMedium;
|
|
33
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
this.focus.registerElement(this.elRef.nativeElement);
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this.focus.unregisterElement(this.elRef.nativeElement);
|
|
40
|
+
}
|
|
41
|
+
salvar() {
|
|
42
|
+
if (!this.model)
|
|
43
|
+
return;
|
|
44
|
+
const valMsg = valida(this.model, this.focus);
|
|
45
|
+
if (valMsg) {
|
|
46
|
+
this.notification.showMsgError(valMsg);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.isBusy = true;
|
|
50
|
+
this.ws.addProdutoSubgrupo(this.model)
|
|
51
|
+
.subscribe(r => {
|
|
52
|
+
this.isBusy = false;
|
|
53
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
54
|
+
if (this.dialogRef)
|
|
55
|
+
this.dialogRef.close(true);
|
|
56
|
+
}, err => {
|
|
57
|
+
this.isBusy = false;
|
|
58
|
+
this.notification.showMsg(err.error);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
ProdutoSubgrupoAddDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSubgrupoAddDialogComponent, 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 });
|
|
63
|
+
ProdutoSubgrupoAddDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoSubgrupoAddDialogComponent, selector: "app-produto-subgrupo-add-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Novo 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"] }] });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSubgrupoAddDialogComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{ selector: 'app-produto-subgrupo-add-dialog', template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Novo 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"] }]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: undefined, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [MAT_DIALOG_DATA]
|
|
70
|
+
}] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: i4.ScreenHelperService }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQTJCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBbUIsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7OztBQVNoRSxNQUFNLE9BQU8saUNBQWlDO0lBTTVDLFlBQW9CLEVBQW9CLEVBQzlCLFlBQWlDLEVBRWxDLFVBQTJCLEVBQzNCLE1BQWlCLEVBQ2hCLEtBQWlCLEVBQ2pCLFNBQTBELEVBQzFELFlBQWlDO1FBUHZCLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUVsQyxlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBaUQ7UUFDMUQsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBVjNDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsVUFBSyxHQUFrQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVXRDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxFQUFFLEVBQUUsQ0FBQztZQUNMLElBQUksRUFBRSxFQUFFO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUV6QyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUMsT0FBTztRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxNQUFNLEVBQ1Y7WUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTO2dCQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDVCxDQUFDOzs4SEFyRFUsaUNBQWlDLHFGQVFsQyxlQUFlO2tIQVJkLGlDQUFpQyx1RUNiOUMsa2pCQWF5RDsyRkRBNUMsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGlDQUFpQzs7MEJBWXhDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvLCB2YWxpZGEgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tZ3J1cG8nO1xuaW1wb3J0IHsgQ29tbW9uV2ViU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UnO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL3NjcmVlbi1oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbW9kZWw6IFByb2R1dG9TdWJncnVwbztcbiAgbW9iaWxlOiBib29sZWFuO1xuICBpc0J1c3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZm9jdXMgOiBGb2N1c1NlcnZpY2UgPSBuZXcgRm9jdXNTZXJ2aWNlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YURpYWxvZzogUHJvZHV0b1N1YmdydXBvLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFByb2R1dG9TdWJncnVwb0FkZERpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSBzY3JlZW5IZWxwZXI6IFNjcmVlbkhlbHBlclNlcnZpY2UpIHtcbiAgICAgIHRoaXMubW9kZWwgPSB7IFxuICAgICAgICBpZDogMCxcbiAgICAgICAgbm9tZTogJycsXG4gICAgICAgIGlzQXRpdm86IHRydWUsXG4gICAgICAgIGVudmlhZG9QQzogZmFsc2VcbiAgICAgIH07XG4gICAgdGhpcy5tb2JpbGUgPSB0aGlzLnNjcmVlbkhlbHBlci5pc01lZGl1bTtcblxuICAgIHRoaXMuc2NyZWVuSGVscGVyLmNoYW5nZWRNZWRpdW1TY3JlZW4uc3Vic2NyaWJlKHggPT4gdGhpcy5tb2JpbGUgPSB4KTtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy5yZWdpc3RlckVsZW1lbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLnVucmVnaXN0ZXJFbGVtZW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBzYWx2YXIoKSB7XG4gICAgaWYgKCF0aGlzLm1vZGVsKXJldHVybjtcbiAgICBjb25zdCB2YWxNc2cgPSB2YWxpZGEodGhpcy5tb2RlbCwgdGhpcy5mb2N1cyk7XG4gICAgaWYgKHZhbE1zZylcbiAgICB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnRXJyb3IodmFsTXNnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgdGhpcy53cy5hZGRQcm9kdXRvU3ViZ3J1cG8odGhpcy5tb2RlbClcbiAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZilcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKGVyci5lcnJvcik7XG4gICAgICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJveC1oZWFkZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJ0aXR1bG9cIj5Ob3ZvIFN1YmdydXBvPC9oMj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV0+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudFwiPlxuICAgIDxhcHAtcHJvZHV0by1ncnVwby1mb3JtIFttb2RlbF09XCJtb2RlbFwiICpuZ0lmPVwibW9kZWxcIj48L2FwcC1wcm9kdXRvLWdydXBvLWZvcm0+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2ctZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYWx2YXIoKVwiIHRhYmluZGV4PVwiOVwiPlNBTFZBUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV0+Vk9MVEFSPC9idXR0b24+XG48L2Rpdj5cbjxveC1idXN5LWluZGljYXRvciBbaXNCdXN5XT1cImlzQnVzeVwiPjwvb3gtYnVzeS1pbmRpY2F0b3I+Il19
|