oxpi-nglib 3.0.0 → 3.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/fesm2022/oxpi-nglib.mjs +88 -66
- package/fesm2022/oxpi-nglib.mjs.map +1 -1
- package/package.json +1 -1
- package/types/oxpi-nglib.d.ts +4 -0
- package/esm2022/lib/animations/animations.mjs +0 -22
- package/esm2022/lib/cadastros/clientes/clientes/clientes-form.component.mjs +0 -32
- package/esm2022/lib/cadastros/clientes/clientes/clientes.component.mjs +0 -165
- package/esm2022/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.mjs +0 -73
- package/esm2022/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.mjs +0 -71
- package/esm2022/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.mjs +0 -113
- package/esm2022/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.mjs +0 -44
- package/esm2022/lib/cadastros/fornecedores/fornecedores/fornecedores.component.mjs +0 -165
- package/esm2022/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.mjs +0 -73
- package/esm2022/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.mjs +0 -71
- package/esm2022/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.mjs +0 -108
- package/esm2022/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +0 -79
- package/esm2022/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +0 -68
- package/esm2022/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.mjs +0 -50
- package/esm2022/lib/cadastros/funcionarios/funcionarios/funcionarios.component.mjs +0 -157
- package/esm2022/lib/controls/alert-dialog/alert-dialog.component.mjs +0 -23
- package/esm2022/lib/controls/busy-indicator/busy-indicator.component.mjs +0 -19
- package/esm2022/lib/controls/check-button/check-button.component.mjs +0 -35
- package/esm2022/lib/controls/image-viewer/image-viewer.component.mjs +0 -73
- package/esm2022/lib/controls/item-card/item-card.component.mjs +0 -38
- package/esm2022/lib/controls/month-year-picker/month-year-picker.component.mjs +0 -125
- package/esm2022/lib/controls/numeric-picker/numeric-picker.component.mjs +0 -102
- package/esm2022/lib/controls/paginator/paginator.component.mjs +0 -70
- package/esm2022/lib/controls/radio-button-group/radio-button-group.component.mjs +0 -40
- package/esm2022/lib/controls/selecao-list-item/selecao-list-item.component.mjs +0 -17
- package/esm2022/lib/models/entidades/funcionario.mjs +0 -12
- package/esm2022/lib/models/entidades/id-nome-model.mjs +0 -2
- package/esm2022/lib/models/entidades/login-item.mjs +0 -2
- package/esm2022/lib/models/entidades/login-result.mjs +0 -2
- package/esm2022/lib/models/entidades/operador.mjs +0 -17
- package/esm2022/lib/models/entidades/ownership.mjs +0 -15
- package/esm2022/lib/models/entidades/permissoes.mjs +0 -2
- package/esm2022/lib/models/entidades/pessoa.mjs +0 -9
- package/esm2022/lib/models/entidades/sensores-def.mjs +0 -2
- package/esm2022/lib/models/entidades/setor-estoque.mjs +0 -9
- package/esm2022/lib/models/entidades/suite-base.mjs +0 -2
- package/esm2022/lib/models/entidades/usuario.mjs +0 -2
- package/esm2022/lib/models/infra/busy-state.mjs +0 -26
- package/esm2022/lib/models/infra/convert-setting-to-string.mjs +0 -29
- package/esm2022/lib/models/infra/lazy-trigger.mjs +0 -17
- package/esm2022/lib/models/infra/number-parser.mjs +0 -67
- package/esm2022/lib/models/infra/ordem.mjs +0 -17
- package/esm2022/lib/models/infra/paging-result.mjs +0 -2
- package/esm2022/lib/models/infra/selecao-utils.mjs +0 -47
- package/esm2022/lib/models/infra/utils-methods.mjs +0 -99
- package/esm2022/lib/models/infra/validations.mjs +0 -25
- package/esm2022/lib/models/settings/PagamentoRecebimentoSearchSetting.mjs +0 -13
- package/esm2022/lib/models/settings/consumo-produto-search-setting.mjs +0 -18
- package/esm2022/lib/models/settings/duplicata-search-setting.mjs +0 -13
- package/esm2022/lib/models/settings/ocupacao-filter-setting.mjs +0 -14
- package/esm2022/lib/models/settings/ocupacao-search-setting.mjs +0 -37
- package/esm2022/lib/models/settings/produto-search-setting.mjs +0 -13
- package/esm2022/lib/models/settings/search-setting.mjs +0 -60
- package/esm2022/lib/models/settings/suites-intervencoes-setting.mjs +0 -4
- package/esm2022/lib/models/tuple.mjs +0 -2
- package/esm2022/lib/oxpi-nglib.module.mjs +0 -173
- package/esm2022/lib/providers/auth-data.service.mjs +0 -242
- package/esm2022/lib/providers/common-web-service.mjs +0 -206
- package/esm2022/lib/providers/export.file.service.mjs +0 -29
- package/esm2022/lib/providers/focus.service.mjs +0 -84
- package/esm2022/lib/providers/notification.service.mjs +0 -39
- package/esm2022/lib/providers/preference.service.mjs +0 -42
- package/esm2022/lib/providers/safe-html.pipe.mjs +0 -20
- package/esm2022/lib/providers/screen-helper.service.mjs +0 -97
- package/esm2022/oxpi-nglib.mjs +0 -5
- package/esm2022/public-api.mjs +0 -69
- package/index.d.ts +0 -5
- package/lib/animations/animations.d.ts +0 -2
- package/lib/cadastros/clientes/clientes/clientes-form.component.d.ts +0 -13
- package/lib/cadastros/clientes/clientes/clientes.component.d.ts +0 -36
- package/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.d.ts +0 -27
- package/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.d.ts +0 -27
- package/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.d.ts +0 -35
- package/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.d.ts +0 -14
- package/lib/cadastros/fornecedores/fornecedores/fornecedores.component.d.ts +0 -36
- package/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.d.ts +0 -27
- package/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.d.ts +0 -27
- package/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.d.ts +0 -35
- package/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.d.ts +0 -27
- package/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.d.ts +0 -27
- package/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.d.ts +0 -19
- package/lib/cadastros/funcionarios/funcionarios/funcionarios.component.d.ts +0 -36
- package/lib/controls/alert-dialog/alert-dialog.component.d.ts +0 -15
- package/lib/controls/busy-indicator/busy-indicator.component.d.ts +0 -9
- package/lib/controls/check-button/check-button.component.d.ts +0 -12
- package/lib/controls/image-viewer/image-viewer.component.d.ts +0 -27
- package/lib/controls/item-card/item-card.component.d.ts +0 -19
- package/lib/controls/month-year-picker/month-year-picker.component.d.ts +0 -33
- package/lib/controls/numeric-picker/numeric-picker.component.d.ts +0 -28
- package/lib/controls/paginator/paginator.component.d.ts +0 -24
- package/lib/controls/radio-button-group/radio-button-group.component.d.ts +0 -19
- package/lib/controls/selecao-list-item/selecao-list-item.component.d.ts +0 -6
- package/lib/models/entidades/funcionario.d.ts +0 -20
- package/lib/models/entidades/id-nome-model.d.ts +0 -8
- package/lib/models/entidades/login-item.d.ts +0 -6
- package/lib/models/entidades/login-result.d.ts +0 -20
- package/lib/models/entidades/operador.d.ts +0 -10
- package/lib/models/entidades/ownership.d.ts +0 -20
- package/lib/models/entidades/permissoes.d.ts +0 -196
- package/lib/models/entidades/pessoa.d.ts +0 -41
- package/lib/models/entidades/sensores-def.d.ts +0 -6
- package/lib/models/entidades/setor-estoque.d.ts +0 -9
- package/lib/models/entidades/suite-base.d.ts +0 -10
- package/lib/models/entidades/usuario.d.ts +0 -34
- package/lib/models/infra/busy-state.d.ts +0 -7
- package/lib/models/infra/convert-setting-to-string.d.ts +0 -5
- package/lib/models/infra/lazy-trigger.d.ts +0 -8
- package/lib/models/infra/number-parser.d.ts +0 -15
- package/lib/models/infra/ordem.d.ts +0 -13
- package/lib/models/infra/paging-result.d.ts +0 -11
- package/lib/models/infra/selecao-utils.d.ts +0 -12
- package/lib/models/infra/utils-methods.d.ts +0 -6
- package/lib/models/infra/validations.d.ts +0 -6
- package/lib/models/settings/PagamentoRecebimentoSearchSetting.d.ts +0 -10
- package/lib/models/settings/consumo-produto-search-setting.d.ts +0 -26
- package/lib/models/settings/duplicata-search-setting.d.ts +0 -18
- package/lib/models/settings/ocupacao-filter-setting.d.ts +0 -14
- package/lib/models/settings/ocupacao-search-setting.d.ts +0 -62
- package/lib/models/settings/produto-search-setting.d.ts +0 -14
- package/lib/models/settings/search-setting.d.ts +0 -27
- package/lib/models/settings/suites-intervencoes-setting.d.ts +0 -7
- package/lib/models/tuple.d.ts +0 -4
- package/lib/oxpi-nglib.module.d.ts +0 -54
- package/lib/providers/auth-data.service.d.ts +0 -26
- package/lib/providers/common-web-service.d.ts +0 -81
- package/lib/providers/export.file.service.d.ts +0 -10
- package/lib/providers/focus.service.d.ts +0 -15
- package/lib/providers/notification.service.d.ts +0 -12
- package/lib/providers/preference.service.d.ts +0 -11
- package/lib/providers/safe-html.pipe.d.ts +0 -10
- package/lib/providers/screen-helper.service.d.ts +0 -28
- package/public-api.d.ts +0 -64
package/package.json
CHANGED
package/types/oxpi-nglib.d.ts
CHANGED
|
@@ -355,6 +355,7 @@ declare class FornecedoresComponent implements OnInit, OnDestroy {
|
|
|
355
355
|
private notification;
|
|
356
356
|
dialog: MatDialog;
|
|
357
357
|
private screenHelper;
|
|
358
|
+
private exFile;
|
|
358
359
|
private cdr;
|
|
359
360
|
mobile: boolean;
|
|
360
361
|
isBusy: boolean;
|
|
@@ -373,6 +374,7 @@ declare class FornecedoresComponent implements OnInit, OnDestroy {
|
|
|
373
374
|
excluir(): void;
|
|
374
375
|
novo(): void;
|
|
375
376
|
abreCadastro(item: Fornecedor): void;
|
|
377
|
+
baixarExcel(): void;
|
|
376
378
|
salvar(): void;
|
|
377
379
|
static ɵfac: i0.ɵɵFactoryDeclaration<FornecedoresComponent, never>;
|
|
378
380
|
static ɵcmp: i0.ɵɵComponentDeclaration<FornecedoresComponent, "app-fornecedores", never, {}, {}, never, never, true, never>;
|
|
@@ -764,6 +766,7 @@ interface Permissoes {
|
|
|
764
766
|
financasMensal: boolean;
|
|
765
767
|
financasResumoDiario: boolean;
|
|
766
768
|
financasConfiguracoes: boolean;
|
|
769
|
+
financasNewDashboard: boolean;
|
|
767
770
|
recepcaoEnergizar: boolean;
|
|
768
771
|
recepcaoConfiguracoes: boolean;
|
|
769
772
|
recepcaoTrocaOperador: boolean;
|
|
@@ -1276,6 +1279,7 @@ declare class CommonWebService {
|
|
|
1276
1279
|
saveFornecedor(s: Fornecedor): Observable<any>;
|
|
1277
1280
|
addFornecedor(p: Fornecedor): Observable<any>;
|
|
1278
1281
|
deleteFornecedor(id: number): Observable<any>;
|
|
1282
|
+
baixarExcelFornecedores(setting: SearchSetting): Observable<any>;
|
|
1279
1283
|
getOperadores(): Observable<Operador[]>;
|
|
1280
1284
|
buscaOperador(setting: SearchSetting): Observable<Operador[]>;
|
|
1281
1285
|
getNextIdOperador(): Observable<number>;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from "@angular/animations";
|
|
2
|
-
export const fadeAnimation = trigger('fade', [
|
|
3
|
-
transition(':enter', [
|
|
4
|
-
style({ transform: 'translateY(100%)', opacity: 0 }),
|
|
5
|
-
animate('250ms', style({ transform: 'translateY(0)', 'opacity': 1 }))
|
|
6
|
-
]),
|
|
7
|
-
transition(':leave', [
|
|
8
|
-
style({ transform: 'translateY(0)', 'opacity': 1 }),
|
|
9
|
-
animate('250ms', style({ transform: 'translateY(100%)', 'opacity': 0 })),
|
|
10
|
-
])
|
|
11
|
-
]);
|
|
12
|
-
export const menuLateralAnimation = trigger('menuLateral', [
|
|
13
|
-
transition(':enter', [
|
|
14
|
-
style({ transform: 'translateX(-100%)', opacity: 1 }),
|
|
15
|
-
animate('200ms', style({ transform: 'translateX(0)', 'opacity': 1 }))
|
|
16
|
-
]),
|
|
17
|
-
transition(':leave', [
|
|
18
|
-
style({ 'opacity': 1 }),
|
|
19
|
-
animate('200ms', style({ 'opacity': 0 })),
|
|
20
|
-
])
|
|
21
|
-
]);
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9hbmltYXRpb25zL2FuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQ2hDLE1BQU0sRUFDTjtJQUNFLFVBQVUsQ0FDUixRQUFRLEVBQUU7UUFDVixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUN0RSxDQUNBO0lBQ0QsVUFBVSxDQUNSLFFBQVEsRUFBRTtRQUNWLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ3pFLENBQUM7Q0FBQyxDQUNOLENBQUE7QUFHRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQ3pDLGFBQWEsRUFDYjtJQUNFLFVBQVUsQ0FDUixRQUFRLEVBQUU7UUFDVixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUN0RSxDQUNBO0lBQ0QsVUFBVSxDQUNSLFFBQVEsRUFBRTtRQUNWLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzFDLENBQUM7Q0FBQyxDQUNOLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZmFkZUFuaW1hdGlvbiA9IHRyaWdnZXIoXHJcbiAgICAnZmFkZScsXHJcbiAgICBbXHJcbiAgICAgIHRyYW5zaXRpb24oXHJcbiAgICAgICAgJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknLCBvcGFjaXR5OiAwIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoJzI1MG1zJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJywgJ29wYWNpdHknOiAxIH0pKVxyXG4gICAgICBdXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oXHJcbiAgICAgICAgJzpsZWF2ZScsIFtcclxuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCAnb3BhY2l0eSc6IDEgfSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMjUwbXMnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknLCAnb3BhY2l0eSc6IDAgfSkpLFxyXG4gICAgICBdKV1cclxuICApXHJcblxyXG5cclxuICBleHBvcnQgY29uc3QgbWVudUxhdGVyYWxBbmltYXRpb24gPSB0cmlnZ2VyKFxyXG4gICAgJ21lbnVMYXRlcmFsJyxcclxuICAgIFtcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnOmVudGVyJywgW1xyXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknLCBvcGFjaXR5OiAxIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgJ29wYWNpdHknOiAxIH0pKVxyXG4gICAgICBdXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oXHJcbiAgICAgICAgJzpsZWF2ZScsIFtcclxuICAgICAgICBzdHlsZSh7ICdvcGFjaXR5JzogMSB9KSxcclxuICAgICAgICBhbmltYXRlKCcyMDBtcycsIHN0eWxlKHsgJ29wYWNpdHknOiAwIH0pKSxcclxuICAgICAgXSldXHJcbiAgKVxyXG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
|
-
import * as i3 from "@angular/material/select";
|
|
6
|
-
import * as i4 from "@angular/material/core";
|
|
7
|
-
import * as i5 from "@angular/material/datepicker";
|
|
8
|
-
import * as i6 from "@angular/material/checkbox";
|
|
9
|
-
import * as i7 from "ngx-mask";
|
|
10
|
-
export class ClientesFormComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.sexos = ['M', 'F'];
|
|
13
|
-
this.estados = ['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MT', 'MS', 'MG', 'PA', 'PB', 'PR', 'PE', 'PI', 'RJ', 'RN', 'RS', 'RO', 'RR', 'SC', 'SP', 'SE', 'TO'];
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
}
|
|
17
|
-
changeDataInicio(d) {
|
|
18
|
-
{
|
|
19
|
-
if (this.model)
|
|
20
|
-
this.model.dataNascimento = d;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClientesFormComponent, selector: "app-clientes-form", inputs: { model: "model" }, ngImport: i0, template: "<ng-container *ngIf=\"model\">\n <div class=\"form-section vbox\">\n <h4>Dados Principais</h4>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>{{model.juridica ? 'CNPJ' : 'CPF' }}</label>\n <input [(ngModel)]=\"model.cnpjCpf\" class=\"form-control input-180\" mask=\"000.000.000-00||00.000.000/0000-00\"\n tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>{{model.juridica ? 'IE' : 'RG' }}</label>\n <input [(ngModel)]=\"model.ieRg\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\" *ngIf=\"!model.juridica\">\n <label>Org\u00E3o Expeditor</label>\n <input [(ngModel)]=\"model.orgaoExpedidor\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>{{model.juridica ? 'Nome' : 'Raz\u00E3o Social' }}</label>\n <input id=\"nome\" required cdkFocusInitial [(ngModel)]=\"model.nome\" class=\"form-control input-300\"\n tabindex=\"1\">\n </div>\n </div>\n \n <div class=\"form-block\" *ngIf=\"model.juridica\">\n <label>Nome Fantasia</label>\n <input id=\"nome\" [(ngModel)]=\"model.fantasia\" class=\"form-control input-300\" tabindex=\"1\">\n </div>\n <mat-checkbox [(ngModel)]=\"model.juridica\" tabindex=\"4\">Pessoa Jur\u00EDdica</mat-checkbox>\n </div>\n <div class=\"form-section vbox\">\n <h4>Contato</h4>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Telefone</label>\n <input [(ngModel)]=\"model.telefone\" mask=\"(00)00000-0000\" class=\"form-control input-180\" tabindex=\"3\">\n <mat-checkbox [(ngModel)]=\"model.recebeWhatsApp\" tabindex=\"4\"\n style=\"margin-top: 8px; max-width: 180px;\">Deseja receber WhatsApp</mat-checkbox>\n </div>\n <div class=\"form-block\">\n <label>E-mail</label>\n <input [(ngModel)]=\"model.email\" type=\"email\" class=\"form-control input-260\" tabindex=\"3\">\n <mat-checkbox [(ngModel)]=\"model.recebeEmail\" tabindex=\"4\" style=\"margin-top: 8px; max-width: 260px;\">Deseja\n receber E-mail</mat-checkbox>\n </div>\n </div>\n </div>\n \n <div class=\"form-section vbox\">\n <h4>Endere\u00E7o</h4>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Endere\u00E7o</label>\n <input [(ngModel)]=\"model.endereco\" class=\"form-control input-260\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>N\u00FAmero</label>\n <input [(ngModel)]=\"model.numero\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>CEP</label>\n <input [(ngModel)]=\"model.cep\" mask=\"00000-000\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Bairro</label>\n <input [(ngModel)]=\"model.bairro\" class=\"form-control input-260\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Complemento</label>\n <input [(ngModel)]=\"model.complemento\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Cidade</label>\n <input [(ngModel)]=\"model.cidade\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Estado</label>\n <mat-select [(ngModel)]=\"model.uf\" tabindex=\"3\" style=\"width: 80px;\" class=\"form-control\" color=\"primary\">\n <mat-option *ngFor=\"let e of estados\" [value]=\"e\">\n {{e}}\n </mat-option>\n </mat-select>\n </div>\n </div>\n </div>\n <div class=\"form-section vbox\">\n <h4>Complemento</h4>\n \n <div class=\"hbox gap-16\" *ngIf=\"!model.juridica\">\n <div class=\"form-block\">\n <label>Data Nascimento</label>\n <div class=\"hbox\">\n <input id=\"vencimento\" [(ngModel)]=\"model.dataNascimento\" class=\"form-control input-small\"\n [matDatepicker]=\"pickerdataNascimento\" tabindex=\"8\">\n <mat-datepicker-toggle [for]=\"pickerdataNascimento\"></mat-datepicker-toggle>\n <mat-datepicker [touchUi]=\"false\" #pickerdataNascimento></mat-datepicker>\n </div>\n </div>\n <div class=\"form-block\">\n <label>Sexo</label>\n <mat-select id=\"sexo\" [(ngModel)]=\"model.sexo\" tabindex=\"8\" style=\"width: 80px;\" class=\"form-control\"\n color=\"primary\">\n <mat-option *ngFor=\"let m of sexos\" [value]=\"m\">\n {{m}}\n </mat-option>\n </mat-select>\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Observa\u00E7\u00F5es</label>\n <input [(ngModel)]=\"model.obs\" class=\"form-control input-300\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Contato</label>\n <input [(ngModel)]=\"model.contato\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Profiss\u00E3o</label>\n <input [(ngModel)]=\"model.profissao\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>\u00DAltimo Destino</label>\n <input [(ngModel)]=\"model.ultimoDestino\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Pr\u00F3ximo Destino</label>\n <input [(ngModel)]=\"model.proximoDestino\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n \n </div>\n \n</ng-container>", styles: [":host{display:flex;flex-direction:column;gap:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesFormComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: 'app-clientes-form', template: "<ng-container *ngIf=\"model\">\n <div class=\"form-section vbox\">\n <h4>Dados Principais</h4>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>{{model.juridica ? 'CNPJ' : 'CPF' }}</label>\n <input [(ngModel)]=\"model.cnpjCpf\" class=\"form-control input-180\" mask=\"000.000.000-00||00.000.000/0000-00\"\n tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>{{model.juridica ? 'IE' : 'RG' }}</label>\n <input [(ngModel)]=\"model.ieRg\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\" *ngIf=\"!model.juridica\">\n <label>Org\u00E3o Expeditor</label>\n <input [(ngModel)]=\"model.orgaoExpedidor\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>{{model.juridica ? 'Nome' : 'Raz\u00E3o Social' }}</label>\n <input id=\"nome\" required cdkFocusInitial [(ngModel)]=\"model.nome\" class=\"form-control input-300\"\n tabindex=\"1\">\n </div>\n </div>\n \n <div class=\"form-block\" *ngIf=\"model.juridica\">\n <label>Nome Fantasia</label>\n <input id=\"nome\" [(ngModel)]=\"model.fantasia\" class=\"form-control input-300\" tabindex=\"1\">\n </div>\n <mat-checkbox [(ngModel)]=\"model.juridica\" tabindex=\"4\">Pessoa Jur\u00EDdica</mat-checkbox>\n </div>\n <div class=\"form-section vbox\">\n <h4>Contato</h4>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Telefone</label>\n <input [(ngModel)]=\"model.telefone\" mask=\"(00)00000-0000\" class=\"form-control input-180\" tabindex=\"3\">\n <mat-checkbox [(ngModel)]=\"model.recebeWhatsApp\" tabindex=\"4\"\n style=\"margin-top: 8px; max-width: 180px;\">Deseja receber WhatsApp</mat-checkbox>\n </div>\n <div class=\"form-block\">\n <label>E-mail</label>\n <input [(ngModel)]=\"model.email\" type=\"email\" class=\"form-control input-260\" tabindex=\"3\">\n <mat-checkbox [(ngModel)]=\"model.recebeEmail\" tabindex=\"4\" style=\"margin-top: 8px; max-width: 260px;\">Deseja\n receber E-mail</mat-checkbox>\n </div>\n </div>\n </div>\n \n <div class=\"form-section vbox\">\n <h4>Endere\u00E7o</h4>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Endere\u00E7o</label>\n <input [(ngModel)]=\"model.endereco\" class=\"form-control input-260\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>N\u00FAmero</label>\n <input [(ngModel)]=\"model.numero\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>CEP</label>\n <input [(ngModel)]=\"model.cep\" mask=\"00000-000\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Bairro</label>\n <input [(ngModel)]=\"model.bairro\" class=\"form-control input-260\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Complemento</label>\n <input [(ngModel)]=\"model.complemento\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Cidade</label>\n <input [(ngModel)]=\"model.cidade\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Estado</label>\n <mat-select [(ngModel)]=\"model.uf\" tabindex=\"3\" style=\"width: 80px;\" class=\"form-control\" color=\"primary\">\n <mat-option *ngFor=\"let e of estados\" [value]=\"e\">\n {{e}}\n </mat-option>\n </mat-select>\n </div>\n </div>\n </div>\n <div class=\"form-section vbox\">\n <h4>Complemento</h4>\n \n <div class=\"hbox gap-16\" *ngIf=\"!model.juridica\">\n <div class=\"form-block\">\n <label>Data Nascimento</label>\n <div class=\"hbox\">\n <input id=\"vencimento\" [(ngModel)]=\"model.dataNascimento\" class=\"form-control input-small\"\n [matDatepicker]=\"pickerdataNascimento\" tabindex=\"8\">\n <mat-datepicker-toggle [for]=\"pickerdataNascimento\"></mat-datepicker-toggle>\n <mat-datepicker [touchUi]=\"false\" #pickerdataNascimento></mat-datepicker>\n </div>\n </div>\n <div class=\"form-block\">\n <label>Sexo</label>\n <mat-select id=\"sexo\" [(ngModel)]=\"model.sexo\" tabindex=\"8\" style=\"width: 80px;\" class=\"form-control\"\n color=\"primary\">\n <mat-option *ngFor=\"let m of sexos\" [value]=\"m\">\n {{m}}\n </mat-option>\n </mat-select>\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Observa\u00E7\u00F5es</label>\n <input [(ngModel)]=\"model.obs\" class=\"form-control input-300\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Contato</label>\n <input [(ngModel)]=\"model.contato\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n <div class=\"hbox gap-16\">\n <div class=\"form-block\">\n <label>Profiss\u00E3o</label>\n <input [(ngModel)]=\"model.profissao\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>\u00DAltimo Destino</label>\n <input [(ngModel)]=\"model.ultimoDestino\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n <div class=\"form-block\">\n <label>Pr\u00F3ximo Destino</label>\n <input [(ngModel)]=\"model.proximoDestino\" class=\"form-control input-120\" tabindex=\"3\">\n </div>\n </div>\n \n </div>\n \n</ng-container>", styles: [":host{display:flex;flex-direction:column;gap:16px}\n"] }]
|
|
29
|
-
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50ZXMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL2NsaWVudGVzL2NsaWVudGVzL2NsaWVudGVzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy9jbGllbnRlcy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRekQsTUFBTSxPQUFPLHFCQUFxQjtJQUloQztRQUZBLFVBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuQixZQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdKLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFRO1FBQUc7WUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSztnQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDOytHQWJZLHFCQUFxQjttR0FBckIscUJBQXFCLHFGQ1JsQyw4c05BNkllOzs0RkRySUYscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjswRUFLcEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnRlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wZXNzb2EnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2xpZW50ZXMtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jbGllbnRlcy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2xpZW50ZXMtZm9ybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudGVzRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1vZGVsPzogQ2xpZW50ZTtcbiAgc2V4b3MgPSBbJ00nLCAnRiddO1xuICBlc3RhZG9zID0gWydBQycsICdBTCcsICdBUCcsICdBTScsICdCQScsICdDRScsICdERicsICdFUycsICdHTycsICdNQScsICdNVCcsICdNUycsICdNRycsICdQQScsICdQQicsICdQUicsICdQRScsICdQSScsICdSSicsICdSTicsICdSUycsICdSTycsICdSUicsICdTQycsICdTUCcsICdTRScsICdUTyddO1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgY2hhbmdlRGF0YUluaWNpbyhkIDogRGF0ZSl7IHtcbiAgICBpZiAodGhpcy5tb2RlbClcbiAgICB0aGlzLm1vZGVsLmRhdGFOYXNjaW1lbnRvID0gZDtcbiAgfVxufVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tc2VjdGlvbiB2Ym94XCI+XG4gICAgICAgIDxoND5EYWRvcyBQcmluY2lwYWlzPC9oND5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhib3ggZ2FwLTE2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD57e21vZGVsLmp1cmlkaWNhID8gJ0NOUEonIDogJ0NQRicgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cIm1vZGVsLmNucGpDcGZcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0xODBcIiBtYXNrPVwiMDAwLjAwMC4wMDAtMDB8fDAwLjAwMC4wMDAvMDAwMC0wMFwiXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD57e21vZGVsLmp1cmlkaWNhID8gJ0lFJyA6ICdSRycgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cIm1vZGVsLmllUmdcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0xMjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIiAqbmdJZj1cIiFtb2RlbC5qdXJpZGljYVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD5PcmfDo28gRXhwZWRpdG9yPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5vcmdhb0V4cGVkaWRvclwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LTEyMFwiIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJveCBnYXAtMTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7bW9kZWwuanVyaWRpY2EgPyAnTm9tZScgOiAnUmF6w6NvIFNvY2lhbCcgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIm5vbWVcIiByZXF1aXJlZCBjZGtGb2N1c0luaXRpYWwgWyhuZ01vZGVsKV09XCJtb2RlbC5ub21lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIxXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJsb2NrXCIgKm5nSWY9XCJtb2RlbC5qdXJpZGljYVwiPlxuICAgICAgICAgICAgPGxhYmVsPk5vbWUgRmFudGFzaWE8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IGlkPVwibm9tZVwiIFsobmdNb2RlbCldPVwibW9kZWwuZmFudGFzaWFcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0zMDBcIiB0YWJpbmRleD1cIjFcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJtb2RlbC5qdXJpZGljYVwiIHRhYmluZGV4PVwiNFwiPlBlc3NvYSBKdXLDrWRpY2E8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWN0aW9uIHZib3hcIj5cbiAgICAgICAgPGg0PkNvbnRhdG88L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJveCBnYXAtMTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPlRlbGVmb25lPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC50ZWxlZm9uZVwiIG1hc2s9XCIoMDApMDAwMDAtMDAwMFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LTE4MFwiIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJtb2RlbC5yZWNlYmVXaGF0c0FwcFwiIHRhYmluZGV4PVwiNFwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogOHB4OyBtYXgtd2lkdGg6IDE4MHB4O1wiPkRlc2VqYSByZWNlYmVyIFdoYXRzQXBwPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPkUtbWFpbDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwibW9kZWwuZW1haWxcIiB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0yNjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwibW9kZWwucmVjZWJlRW1haWxcIiB0YWJpbmRleD1cIjRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDhweDsgbWF4LXdpZHRoOiAyNjBweDtcIj5EZXNlamFcbiAgICAgICAgICAgICAgICAgICAgcmVjZWJlciBFLW1haWw8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWN0aW9uIHZib3hcIj5cbiAgICAgICAgPGg0PkVuZGVyZcOnbzwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoYm94IGdhcC0xNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+RW5kZXJlw6dvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5lbmRlcmVjb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LTI2MFwiIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD5Ow7ptZXJvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5udW1lcm9cIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0xMjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhib3ggZ2FwLTE2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD5DRVA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cIm1vZGVsLmNlcFwiIG1hc2s9XCIwMDAwMC0wMDBcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0xMjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+QmFpcnJvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5iYWlycm9cIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0yNjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhib3ggZ2FwLTE2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD5Db21wbGVtZW50bzwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwibW9kZWwuY29tcGxlbWVudG9cIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0xMjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+Q2lkYWRlPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5jaWRhZGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC0xMjBcIiB0YWJpbmRleD1cIjNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+RXN0YWRvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIm1vZGVsLnVmXCIgdGFiaW5kZXg9XCIzXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZSBvZiBlc3RhZG9zXCIgW3ZhbHVlXT1cImVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZX19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tc2VjdGlvbiB2Ym94XCI+XG4gICAgICAgIDxoND5Db21wbGVtZW50bzwvaDQ+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJveCBnYXAtMTZcIiAqbmdJZj1cIiFtb2RlbC5qdXJpZGljYVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+RGF0YSBOYXNjaW1lbnRvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJveFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ2ZW5jaW1lbnRvXCIgWyhuZ01vZGVsKV09XCJtb2RlbC5kYXRhTmFzY2ltZW50b1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlcmRhdGFOYXNjaW1lbnRvXCIgdGFiaW5kZXg9XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgW2Zvcl09XCJwaWNrZXJkYXRhTmFzY2ltZW50b1wiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgW3RvdWNoVWldPVwiZmFsc2VcIiAjcGlja2VyZGF0YU5hc2NpbWVudG8+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+U2V4bzwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgaWQ9XCJzZXhvXCIgWyhuZ01vZGVsKV09XCJtb2RlbC5zZXhvXCIgdGFiaW5kZXg9XCI4XCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbSBvZiBzZXhvc1wiIFt2YWx1ZV09XCJtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e219fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJveCBnYXAtMTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPk9ic2VydmHDp8O1ZXM8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cIm1vZGVsLm9ic1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LTMwMFwiIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD5Db250YXRvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5jb250YXRvXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtMTIwXCIgdGFiaW5kZXg9XCIzXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoYm94IGdhcC0xNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tYmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+UHJvZmlzc8OjbzwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwibW9kZWwucHJvZmlzc2FvXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtMTIwXCIgdGFiaW5kZXg9XCIzXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPsOabHRpbW8gRGVzdGlubzwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwibW9kZWwudWx0aW1vRGVzdGlub1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LTEyMFwiIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbD5QcsOzeGltbyBEZXN0aW5vPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJtb2RlbC5wcm94aW1vRGVzdGlub1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LTEyMFwiIHRhYmluZGV4PVwiM1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIFxuICAgIDwvZGl2PlxuICAgIFxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { fadeAnimation } from '../../../animations/animations';
|
|
3
|
-
import { validaPessoa } from '../../../models/entidades/pessoa';
|
|
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 { ClientesAddDialogComponent } from '../clientes-add-dialog/clientes-add-dialog.component';
|
|
9
|
-
import { ClientesEditDialogComponent } from '../clientes-edit-dialog/clientes-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 "./clientes-form.component";
|
|
23
|
-
export class ClientesComponent {
|
|
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.financasClienteAdd;
|
|
36
|
-
this.allowExcluir = auth.permissoes.financasClienteDelete;
|
|
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.buscaCliente(this.setting)
|
|
62
|
-
.subscribe({
|
|
63
|
-
next: r => {
|
|
64
|
-
this.items = r;
|
|
65
|
-
this.selectedItem = null;
|
|
66
|
-
console.info(r);
|
|
67
|
-
this.isBusy = false;
|
|
68
|
-
}, error: err => {
|
|
69
|
-
this.isBusy = false;
|
|
70
|
-
this.notification.showHttpError(err);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
excluir() {
|
|
75
|
-
const item = this.selectedItem;
|
|
76
|
-
if (!item)
|
|
77
|
-
return;
|
|
78
|
-
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do cliente ${item.nome}?`, () => {
|
|
79
|
-
this.isBusy = true;
|
|
80
|
-
this.ws.deleteCliente(item.id)
|
|
81
|
-
.subscribe({
|
|
82
|
-
next: r => {
|
|
83
|
-
this.notification.showMsg("O cliente foi excluído com sucesso.");
|
|
84
|
-
this.items.remove(item);
|
|
85
|
-
this.selectedItem = null;
|
|
86
|
-
this.isBusy = false;
|
|
87
|
-
},
|
|
88
|
-
error: err => {
|
|
89
|
-
this.isBusy = false;
|
|
90
|
-
this.notification.showMsg(err.error);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
novo() {
|
|
96
|
-
let height = (window.innerHeight * 0.90) + 'px';
|
|
97
|
-
let width = 550 + 'px';
|
|
98
|
-
if (this.mobile) {
|
|
99
|
-
width = (window.innerWidth * 0.99) + 'px';
|
|
100
|
-
//height = (window.innerHeight * 0.98) + 'px';
|
|
101
|
-
}
|
|
102
|
-
const dialog = this.dialog.open(ClientesAddDialogComponent, {
|
|
103
|
-
width: width,
|
|
104
|
-
height: height,
|
|
105
|
-
maxWidth: '100%',
|
|
106
|
-
panelClass: 'dialog-p0',
|
|
107
|
-
});
|
|
108
|
-
dialog.afterClosed().subscribe(result => {
|
|
109
|
-
if (result === undefined)
|
|
110
|
-
return;
|
|
111
|
-
this.notification.showMsg("Salvo com sucesso.");
|
|
112
|
-
this.atualiza();
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
abreCadastro(item) {
|
|
116
|
-
let height = undefined;
|
|
117
|
-
let width = 550 + 'px';
|
|
118
|
-
if (this.mobile) {
|
|
119
|
-
width = (window.innerWidth * 0.99) + 'px';
|
|
120
|
-
height = (window.innerHeight * 0.99) + 'px';
|
|
121
|
-
}
|
|
122
|
-
const dialog = this.dialog.open(ClientesEditDialogComponent, {
|
|
123
|
-
data: item,
|
|
124
|
-
width: width,
|
|
125
|
-
height: height,
|
|
126
|
-
maxWidth: '100%',
|
|
127
|
-
panelClass: 'dialog-p0',
|
|
128
|
-
});
|
|
129
|
-
dialog.afterClosed().subscribe(result => {
|
|
130
|
-
if (result !== true)
|
|
131
|
-
return;
|
|
132
|
-
this.notification.showMsg("Salvo com sucesso.");
|
|
133
|
-
this.atualiza();
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
salvar() {
|
|
137
|
-
const item = this.selectedItem;
|
|
138
|
-
if (!item)
|
|
139
|
-
return;
|
|
140
|
-
const valMsg = validaPessoa(item, this.focus);
|
|
141
|
-
if (valMsg) {
|
|
142
|
-
this.notification.showMsgError(valMsg);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
this.isBusy = true;
|
|
146
|
-
this.ws.saveCliente(item)
|
|
147
|
-
.subscribe({
|
|
148
|
-
next: r => {
|
|
149
|
-
this.notification.showMsg("Salvo com sucesso.");
|
|
150
|
-
this.isBusy = false;
|
|
151
|
-
},
|
|
152
|
-
error: err => {
|
|
153
|
-
this.isBusy = false;
|
|
154
|
-
this.notification.showMsg(err.error);
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesComponent, deps: [{ token: i1.CommonWebService }, { token: i2.NotificationService }, { token: i3.MatDialog }, { token: i4.AuthDataService }, { token: i5.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClientesComponent, selector: "app-clientes", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\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 </div>\n </div>\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...\"\n (input)=\"lazyTrigger.fire()\">\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>Clientes</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...\"\n (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 <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\n </div>\n </div>\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\" class=\"selecione-um-item-msg\">Selecione um cliente no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-clientes-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\"></app-clientes-form>\n </div>\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:#fafafa}\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.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatFabButton, selector: "button[mat-fab]", inputs: ["disabled", "disableRipple", "color", "tabIndex", "extended"], 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", "ownership"] }, { kind: "component", type: i12.ClientesFormComponent, selector: "app-clientes-form", inputs: ["model"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] }); }
|
|
160
|
-
}
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesComponent, decorators: [{
|
|
162
|
-
type: Component,
|
|
163
|
-
args: [{ selector: 'app-clientes', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\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 </div>\n </div>\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...\"\n (input)=\"lazyTrigger.fire()\">\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>Clientes</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...\"\n (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 <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i; onSelectItem();\"></ox-item-card >\n </div>\n </div>\n <div id=\"form-column\" class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\" class=\"selecione-um-item-msg\">Selecione um cliente no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <app-clientes-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\"></app-clientes-form>\n </div>\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:#fafafa}\n"] }]
|
|
164
|
-
}], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: i3.MatDialog }, { type: i4.AuthDataService }, { type: i5.ScreenHelperService }]; } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy9jbGllbnRlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL2NsaWVudGVzL2NsaWVudGVzL2NsaWVudGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRckcsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUFvQixFQUFvQixFQUM5QixZQUFpQyxFQUNsQyxNQUFpQixFQUN4QixJQUFxQixFQUNiLFlBQWlDO1FBSnZCLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRWhCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtR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O1lBQ3ZDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQzthQUN0QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDOytHQXRKVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixvRENyQjlCLHk0SEF5RU0sczJERHREUSxDQUFDLGFBQWEsQ0FBQzs7NEZBRWhCLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLGNBR1osQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGZhZGVBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb25zL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ2xpZW50ZSwgdmFsaWRhUGVzc29hIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wZXNzb2EnO1xuaW1wb3J0IHsgTGF6eVRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvbGF6eS10cmlnZ2VyJztcbmltcG9ydCB7IGNvbmZpcm1hRXhjbHVzYW8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9hdXRoLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZm9jdXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IENsaWVudGVzQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY2xpZW50ZXMtYWRkLWRpYWxvZy9jbGllbnRlcy1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDbGllbnRlc0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jbGllbnRlcy1lZGl0LWRpYWxvZy9jbGllbnRlcy1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2xpZW50ZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2xpZW50ZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jbGllbnRlcy5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbZmFkZUFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtb2JpbGU6IGJvb2xlYW47XG4gIGlzQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuICBpdGVtczogQ2xpZW50ZVtdID0gW107XG4gIHNlbGVjdGVkSXRlbTogQ2xpZW50ZSB8IG51bGwgPSBudWxsO1xuICBsYXp5VHJpZ2dlciA9IG5ldyBMYXp5VHJpZ2dlcigoKSA9PiB7IHRoaXMuYXR1YWxpemEoKTsgfSk7XG4gIGFsbG93QWRkOiBib29sZWFuO1xuICBhbGxvd0V4Y2x1aXI6IGJvb2xlYW47XG4gIHNldHRpbmcgPSBuZXcgU2VhcmNoU2V0dGluZygpO1xuICBwcml2YXRlIGZvY3VzOiBGb2N1c1NlcnZpY2UgPSBuZXcgRm9jdXNTZXJ2aWNlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgYXV0aDogQXV0aERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2NyZWVuSGVscGVyOiBTY3JlZW5IZWxwZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5hbGxvd0FkZCA9IGF1dGgucGVybWlzc29lcy5maW5hbmNhc0NsaWVudGVBZGQ7XG4gICAgdGhpcy5hbGxvd0V4Y2x1aXIgPSBhdXRoLnBlcm1pc3NvZXMuZmluYW5jYXNDbGllbnRlRGVsZXRlO1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zY3JlZW5IZWxwZXIuaXNNZWRpdW07XG4gICAgdGhpcy5zY3JlZW5IZWxwZXIuY2hhbmdlZE1lZGl1bVNjcmVlbi5zdWJzY3JpYmUoeCA9PiB0aGlzLm1vYmlsZSA9IHgpO1xuXG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dGluZy5vcmRlbSA9IFwibm9tZVwiO1xuICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbSgpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5mb2N1cy5oYXNJbml0KCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzLnJlZ2lzdGVyRWxlbWVudEJ5SWQoXCJmb3JtLWNvbHVtblwiKTtcbiAgICAgICAgdGhpcy5mb2N1cy5zZXRGaXJzdCgpO1xuICAgICAgfSwgNTAwKTtcbiAgICAgIC8vdGhpcy5fZm9jdXMucmVnaXN0ZXJFbGVtZW50QnlJZChcImZvcm0tY29sdW1uXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuZm9jdXMuc2V0Rmlyc3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLnVucmVnaXN0ZXJFbGVtZW50QnlJZChcImZvcm0tY29sdW1uXCIpO1xuICB9XG5cbiAgYXR1YWxpemEoKSB7XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3MuYnVzY2FDbGllbnRlKHRoaXMuc2V0dGluZylcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByID0+IHtcbiAgICAgICAgICB0aGlzLml0ZW1zID0gcjtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XG4gICAgICAgICAgY29uc29sZS5pbmZvKHIpO1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgIH0sIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd0h0dHBFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG5cbiAgZXhjbHVpcigpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5zZWxlY3RlZEl0ZW07XG4gICAgaWYgKCFpdGVtKSByZXR1cm47XG4gICAgY29uZmlybWFFeGNsdXNhbyh0aGlzLmRpYWxvZyxcbiAgICAgIGBEZXNlamEgcHJvc3NlZ3VpciBjb20gYSBleGNsdXPDo28gZG8gY2xpZW50ZSAke2l0ZW0ubm9tZX0/YCxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgICAgICB0aGlzLndzLmRlbGV0ZUNsaWVudGUoaXRlbS5pZClcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IHIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiTyBjbGllbnRlIGZvaSBleGNsdcOtZG8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICAgICAgICB0aGlzLml0ZW1zLnJlbW92ZShpdGVtKTtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKGVyci5lcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5vdm8oKSB7XG5cbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oQ2xpZW50ZXNBZGREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgdGhpcy5hdHVhbGl6YSgpO1xuICAgIH0pO1xuICB9XG5cbiAgYWJyZUNhZGFzdHJvKGl0ZW06IENsaWVudGUpIHtcblxuICAgIGxldCBoZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTkpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihDbGllbnRlc0VkaXREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IGl0ZW0sXG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICB9KTtcbiAgICBkaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgIT09IHRydWUpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBzYWx2YXIoKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuICAgIGNvbnN0IHZhbE1zZyA9IHZhbGlkYVBlc3NvYShpdGVtLCB0aGlzLmZvY3VzKTtcbiAgICBpZiAodmFsTXNnKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnRXJyb3IodmFsTXNnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3Muc2F2ZUNsaWVudGUoaXRlbSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhlcnIuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj5cbjxkaXYgY2xhc3M9XCJ0b29sLXBhbmVsXCIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9vbC1zZWN0aW9uIG9yZGVtLXNtMlwiPlxuICAgICAgICA8bGFiZWw+QcOnw7VlczwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sLXJvd1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImF0dWFsaXphKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkF0dWFsaXphclwiPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm92bygpXCIgKm5nSWY9XCJhbGxvd0FkZFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiTm92byBHcnVwb1wiPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJleGNsdWlyKClcIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBhbGxvd0V4Y2x1aXJcIiBbQGZhZGVdPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiRXhjbHVpciBHcnVwb1wiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgICA8bGFiZWw+UGVzcXVpc2E8L2xhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwibGF6eVRyaWdnZXIuZmlyZSgpXCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicmVzdWx0LWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZHMtY29udGFpbmVyIGNhcmRzLWNvbnRhaW5lci1zaGFkb3dcIiAqbmdJZj1cIm1vYmlsZVwiPlxuICAgICAgICA8b3gtaXRlbS1jYXJkIFtjbG91ZF09XCJpLmVudmlhZG9QQ1wiIFtub21lXT1cImkubm9tZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgKGNsaWNrKT1cImFicmVDYWRhc3RybyhpKVwiPjwvb3gtaXRlbS1jYXJkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0YWdlbS1kZXNrdG9wLWdyaWRcIiAqbmdJZj1cIiFtb2JpbGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWNvbHVtbi1jb250YWluZXIgbGlzdGFnZW0tbGlzdC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxoMz5DbGllbnRlczwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1wYW5lbCB0b29sLXBhbmVsLWZsb2F0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+UGVzcXVpc2E8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwibGF6eVRyaWdnZXIuZmlyZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb24gb3JkZW0tc20yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Bw6fDtWVzPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXR1YWxpemEoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiQXR1YWxpemFyXCI+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3ZvKClcIiAqbmdJZj1cImFsbG93QWRkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJOb3ZvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImV4Y2x1aXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIGFsbG93RXhjbHVpclwiIFtAZmFkZV0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJFeGNsdWlyXCI+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGg0ICpuZ0lmPVwiaXRlbXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuZW5odW0taXRlbS1tc2dcIj5BIGJ1c2NhIG7Do28gcmV0b3Jub3UgcmVzdWx0YWRvczwvaDQ+XG4gICAgICAgICAgICAgICAgPG94LWl0ZW0tY2FyZCBbY2xvdWRdPVwiaS5lbnZpYWRvUENcIiBbbm9tZV09XCJpLm5vbWVcIiAqbmdGb3I9XCJsZXQgaSBvZiBpdGVtc1wiIFtjbGFzcy5zZWxlY3RlZF09XCJpID09PSBzZWxlY3RlZEl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRJdGVtID0gaTsgb25TZWxlY3RJdGVtKCk7XCI+PC9veC1pdGVtLWNhcmQgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwiZm9ybS1jb2x1bW5cIiBjbGFzcz1cImxpc3RhZ2VtLWNvbHVtbi1jb250YWluZXIgbGlzdGFnZW0tY29sdW1uLWZvcm1cIj5cbiAgICAgICAgICAgIDxoMyAqbmdJZj1cIiFzZWxlY3RlZEl0ZW1cIiBjbGFzcz1cInNlbGVjaW9uZS11bS1pdGVtLW1zZ1wiPlNlbGVjaW9uZSB1bSBjbGllbnRlIG5vIGxhZG8gZGlyZWl0bzwvaDM+XG4gICAgICAgICAgICA8aDMgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIj57e3NlbGVjdGVkSXRlbS5ub21lIHwgdXBwZXJjYXNlfX08L2gzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGFwcC1jbGllbnRlcy1mb3JtIFtAZmFkZV0gW21vZGVsXT1cInNlbGVjdGVkSXRlbVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtXCI+PC9hcHAtY2xpZW50ZXMtZm9ybT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWZvcm0tYWNvZXNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYWx2YXIoKVwiIG1hdC1mYWIgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIiB0YWJpbmRleD1cIjIwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
package/esm2022/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.mjs
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, Optional } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import { validaPessoa } from '../../../models/entidades/pessoa';
|
|
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 "../clientes/clientes-form.component";
|
|
15
|
-
export class ClientesAddDialogComponent {
|
|
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 = dataDialog ?? {
|
|
27
|
-
id: 0,
|
|
28
|
-
nome: '',
|
|
29
|
-
isAtivo: true
|
|
30
|
-
};
|
|
31
|
-
this.mobile = this.screenHelper.isMedium;
|
|
32
|
-
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
33
|
-
}
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
this.focus.registerElement(this.elRef.nativeElement);
|
|
36
|
-
}
|
|
37
|
-
ngOnDestroy() {
|
|
38
|
-
this.focus.unregisterElement(this.elRef.nativeElement);
|
|
39
|
-
}
|
|
40
|
-
salvar() {
|
|
41
|
-
const valMsg = validaPessoa(this.model, this.focus);
|
|
42
|
-
if (valMsg) {
|
|
43
|
-
this.notification.showMsgError(valMsg);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
this.isBusy = true;
|
|
47
|
-
this.ws.addCliente(this.model)
|
|
48
|
-
.subscribe({
|
|
49
|
-
next: r => {
|
|
50
|
-
this.isBusy = false;
|
|
51
|
-
this.model.id = r;
|
|
52
|
-
this.notification.showMsg("Salvo com sucesso.");
|
|
53
|
-
this.dialogRef.close(this.model);
|
|
54
|
-
},
|
|
55
|
-
error: err => {
|
|
56
|
-
this.isBusy = false;
|
|
57
|
-
this.notification.showMsg(err.error);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesAddDialogComponent, deps: [{ token: i1.CommonWebService }, { token: i2.NotificationService }, { token: MAT_DIALOG_DATA, optional: true }, { token: i3.MatDialog }, { token: i0.ElementRef }, { token: i3.MatDialogRef }, { token: i4.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClientesAddDialogComponent, selector: "app-clientes-add-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Novo Cliente</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-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" [disabled]=\"isBusy\" (click)=\"salvar()\" tabindex=\"100\">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-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i8.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i9.ClientesFormComponent, selector: "app-clientes-form", inputs: ["model"] }] }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesAddDialogComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{ selector: 'app-clientes-add-dialog', template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Novo Cliente</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-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" [disabled]=\"isBusy\" (click)=\"salvar()\" tabindex=\"100\">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: Optional
|
|
69
|
-
}, {
|
|
70
|
-
type: Inject,
|
|
71
|
-
args: [MAT_DIALOG_DATA]
|
|
72
|
-
}] }, { type: i3.MatDialog }, { type: i0.ElementRef }, { type: i3.MatDialogRef }, { type: i4.ScreenHelperService }]; } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50ZXMtYWRkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL2NsaWVudGVzL2NsaWVudGVzLWFkZC1kaWFsb2cvY2xpZW50ZXMtYWRkLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL2NsaWVudGVzL2NsaWVudGVzLWFkZC1kaWFsb2cvY2xpZW50ZXMtYWRkLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7OztBQVNoRSxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQW9CLEVBQW9CLEVBQzlCLFlBQWlDLEVBRWxDLFVBQW1CLEVBQ25CLE1BQWlCLEVBQ2hCLEtBQWlCLEVBQ2pCLFNBQW1ELEVBQ25ELFlBQWlDO1FBUHZCLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUVsQyxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUEwQztRQUNuRCxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFUM0MsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixVQUFLLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFTdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLElBQUk7WUFDekIsRUFBRSxFQUFFLENBQUM7WUFDTCxJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFHRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDM0IsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbERVLDBCQUEwQixxRkFPZixlQUFlO21HQVAxQiwwQkFBMEIsK0RDYnZDLGlrQkFheUQ7OzRGREE1QywwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UseUJBQXlCOzswQkFXaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ2xpZW50ZSwgdmFsaWRhUGVzc29hIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wZXNzb2EnO1xuaW1wb3J0IHsgQ29tbW9uV2ViU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UnO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL3NjcmVlbi1oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jbGllbnRlcy1hZGQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NsaWVudGVzLWFkZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jbGllbnRlcy1hZGQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50ZXNBZGREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtb2RlbDogQ2xpZW50ZTtcbiAgbW9iaWxlOiBib29sZWFuO1xuICBpc0J1c3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZm9jdXM6IEZvY3VzU2VydmljZSA9IG5ldyBGb2N1c1NlcnZpY2UoKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YURpYWxvZzogQ2xpZW50ZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENsaWVudGVzQWRkRGlhbG9nQ29tcG9uZW50PixcbiAgICBwcml2YXRlIHNjcmVlbkhlbHBlcjogU2NyZWVuSGVscGVyU2VydmljZSkge1xuICAgIHRoaXMubW9kZWwgPSBkYXRhRGlhbG9nID8/IHtcbiAgICAgIGlkOiAwLFxuICAgICAgbm9tZTogJycsXG4gICAgICBpc0F0aXZvOiB0cnVlXG4gICAgfTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2NyZWVuSGVscGVyLmlzTWVkaXVtO1xuICAgIHRoaXMuc2NyZWVuSGVscGVyLmNoYW5nZWRNZWRpdW1TY3JlZW4uc3Vic2NyaWJlKHggPT4gdGhpcy5tb2JpbGUgPSB4KTtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy5yZWdpc3RlckVsZW1lbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLnVucmVnaXN0ZXJFbGVtZW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBzYWx2YXIoKSB7XG4gICAgY29uc3QgdmFsTXNnID0gdmFsaWRhUGVzc29hKHRoaXMubW9kZWwsIHRoaXMuZm9jdXMpO1xuICAgIGlmICh2YWxNc2cpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2dFcnJvcih2YWxNc2cpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgdGhpcy53cy5hZGRDbGllbnRlKHRoaXMubW9kZWwpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm1vZGVsLmlkID0gcjtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiU2Fsdm8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMubW9kZWwpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coZXJyLmVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm94LWhlYWRlclwiPlxuICAgIDxoMiBjbGFzcz1cInRpdHVsb1wiPk5vdm8gQ2xpZW50ZTwvaDI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnRcIj5cbiAgICA8YXBwLWNsaWVudGVzLWZvcm0gW21vZGVsXT1cIm1vZGVsXCIgKm5nSWY9XCJtb2RlbFwiPjwvYXBwLWNsaWVudGVzLWZvcm0+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2ctZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJpc0J1c3lcIiAoY2xpY2spPVwic2FsdmFyKClcIiAgdGFiaW5kZXg9XCIxMDBcIj5TQUxWQVI8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdID5WT0xUQVI8L2J1dHRvbj5cbjwvZGl2PlxuPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj4iXX0=
|
package/esm2022/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.mjs
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import { validaPessoa } from '../../../models/entidades/pessoa';
|
|
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 "../clientes/clientes-form.component";
|
|
15
|
-
export class ClientesEditDialogComponent {
|
|
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 = validaPessoa(this.model, this.focus);
|
|
42
|
-
if (valMsg) {
|
|
43
|
-
this.notification.showMsgError(valMsg);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
this.isBusy = true;
|
|
47
|
-
this.ws.saveCliente(this.model)
|
|
48
|
-
.subscribe({
|
|
49
|
-
next: r => {
|
|
50
|
-
this.isBusy = false;
|
|
51
|
-
this.notification.showMsg("Salvo com sucesso.");
|
|
52
|
-
if (this.dialogRef)
|
|
53
|
-
this.dialogRef.close(true);
|
|
54
|
-
},
|
|
55
|
-
error: err => {
|
|
56
|
-
this.isBusy = false;
|
|
57
|
-
this.notification.showMsg(err.error);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesEditDialogComponent, 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 }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClientesEditDialogComponent, selector: "app-clientes-edit-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Editando Cliente</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-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-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-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i8.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i9.ClientesFormComponent, selector: "app-clientes-form", inputs: ["model"] }] }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientesEditDialogComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{ selector: 'app-clientes-edit-dialog', template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Editando Cliente</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-clientes-form [model]=\"model\" *ngIf=\"model\"></app-clientes-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50ZXMtZWRpdC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy1lZGl0LWRpYWxvZy9jbGllbnRlcy1lZGl0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL2NsaWVudGVzL2NsaWVudGVzLWVkaXQtZGlhbG9nL2NsaWVudGVzLWVkaXQtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFTaEUsTUFBTSxPQUFPLDJCQUEyQjtJQU10QyxZQUFvQixFQUFvQixFQUM5QixZQUFpQyxFQUVsQyxVQUFtQixFQUNuQixNQUFpQixFQUNoQixLQUFpQixFQUNqQixTQUFvRCxFQUNwRCxZQUFpQztRQVB2QixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFFbEMsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBMkM7UUFDcEQsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBVjNDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsVUFBSyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVXZDLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRXpDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDNUIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTO29CQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbkRVLDJCQUEyQixxRkFRNUIsZUFBZTttR0FSZCwyQkFBMkIsZ0VDYnhDLDJpQkFheUQ7OzRGREE1QywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFZakMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDbGllbnRlLCB2YWxpZGFQZXNzb2EgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZW50aWRhZGVzL3Blc3NvYSc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZm9jdXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNsaWVudGVzLWVkaXQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NsaWVudGVzLWVkaXQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2xpZW50ZXMtZWRpdC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDbGllbnRlc0VkaXREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtb2RlbD86IENsaWVudGU7XG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgaXNCdXN5OiBib29sZWFuID0gZmFsc2U7XG4gIGZvY3VzOiBGb2N1c1NlcnZpY2UgPSBuZXcgRm9jdXNTZXJ2aWNlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YURpYWxvZzogQ2xpZW50ZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENsaWVudGVzRWRpdERpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSBzY3JlZW5IZWxwZXI6IFNjcmVlbkhlbHBlclNlcnZpY2UpIHtcbiAgICBpZiAoZGF0YURpYWxvZykge1xuICAgICAgdGhpcy5tb2RlbCA9IGRhdGFEaWFsb2c7XG4gICAgfVxuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zY3JlZW5IZWxwZXIuaXNNZWRpdW07XG5cbiAgICB0aGlzLnNjcmVlbkhlbHBlci5jaGFuZ2VkTWVkaXVtU2NyZWVuLnN1YnNjcmliZSh4ID0+IHRoaXMubW9iaWxlID0geCk7XG4gIH1cblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMucmVnaXN0ZXJFbGVtZW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy51bnJlZ2lzdGVyRWxlbWVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgc2FsdmFyKCkge1xuICAgIGlmICghdGhpcy5tb2RlbCkgcmV0dXJuO1xuICAgIGNvbnN0IHZhbE1zZyA9IHZhbGlkYVBlc3NvYSh0aGlzLm1vZGVsLCB0aGlzLmZvY3VzKTtcbiAgICBpZiAodmFsTXNnKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnRXJyb3IodmFsTXNnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3Muc2F2ZUNsaWVudGUodGhpcy5tb2RlbClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICAgICAgaWYgKHRoaXMuZGlhbG9nUmVmKVxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhlcnIuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwib3gtaGVhZGVyXCI+XG4gICAgPGgyIGNsYXNzPVwidGl0dWxvXCI+RWRpdGFuZG8gQ2xpZW50ZTwvaDI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnRcIj5cbiAgICA8YXBwLWNsaWVudGVzLWZvcm0gW21vZGVsXT1cIm1vZGVsXCIgKm5nSWY9XCJtb2RlbFwiPjwvYXBwLWNsaWVudGVzLWZvcm0+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2ctZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYWx2YXIoKVwiIHRhYmluZGV4PVwiOVwiPlNBTFZBUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV0+Vk9MVEFSPC9idXR0b24+XG48L2Rpdj5cbjxveC1idXN5LWluZGljYXRvciBbaXNCdXN5XT1cImlzQnVzeVwiPjwvb3gtYnVzeS1pbmRpY2F0b3I+Il19
|