oxpi-nglib 1.0.7 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +20 -16
- package/esm2020/lib/cadastros/produtos/produto-composicao/produto-composicao.component.mjs +148 -0
- package/esm2020/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.mjs +68 -0
- package/esm2020/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.mjs +135 -0
- package/esm2020/lib/cadastros/produtos/produtos/produtos.component.mjs +45 -17
- package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +11 -8
- package/esm2020/lib/models/entidades/login-result.mjs +1 -1
- package/esm2020/lib/models/entidades/produto-composicao.mjs +9 -0
- package/esm2020/lib/oxpi-nglib.module.mjs +12 -3
- package/esm2020/lib/providers/auth-data.service.mjs +3 -1
- package/esm2020/lib/providers/common-web-service.mjs +21 -1
- package/esm2020/public-api.mjs +5 -1
- package/fesm2015/oxpi-nglib.mjs +420 -41
- package/fesm2015/oxpi-nglib.mjs.map +1 -1
- package/fesm2020/oxpi-nglib.mjs +416 -41
- package/fesm2020/oxpi-nglib.mjs.map +1 -1
- package/lib/cadastros/produtos/produto-composicao/produto-composicao.component.d.ts +29 -0
- package/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.d.ts +29 -0
- package/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.d.ts +37 -0
- package/lib/cadastros/produtos/produtos/produtos.component.d.ts +2 -0
- package/lib/models/entidades/login-result.d.ts +2 -0
- package/lib/models/entidades/produto-composicao.d.ts +10 -0
- package/lib/oxpi-nglib.module.d.ts +13 -10
- package/lib/providers/auth-data.service.d.ts +2 -0
- package/lib/providers/common-web-service.d.ts +6 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/styles/cadastros-listagens-form.scss +99 -1
package/fesm2015/oxpi-nglib.mjs
CHANGED
|
@@ -141,12 +141,14 @@ class CommonWebService {
|
|
|
141
141
|
this.ESTOQUE_URL = '';
|
|
142
142
|
this.MEDIA_BASE_URL = '';
|
|
143
143
|
this.MEDIA_PRODUTO_IMAGEM_URL = '';
|
|
144
|
+
this.PRODUTO_COMPOSICAO_BASE_URL = '';
|
|
144
145
|
}
|
|
145
146
|
setToken(token) {
|
|
146
147
|
this.token = token;
|
|
147
148
|
}
|
|
148
149
|
start(rootUrl) {
|
|
149
150
|
this.ROOT_URL = rootUrl;
|
|
151
|
+
this.PRODUTO_COMPOSICAO_BASE_URL = rootUrl + "ProdutoComposicao/";
|
|
150
152
|
this.FUNCIONARIO_BASE_URL = rootUrl + "Funcionario/";
|
|
151
153
|
this.FUNCIONARIO_CARGO_BASE_URL = rootUrl + "FuncionarioCargo/";
|
|
152
154
|
this.PRODUTO_BASE_URL = rootUrl + "ProdutoFiscal/";
|
|
@@ -296,6 +298,24 @@ class CommonWebService {
|
|
|
296
298
|
const url = this.ESTOQUE_URL + 'Setor/';
|
|
297
299
|
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
298
300
|
}
|
|
301
|
+
getProdutoComposicao(produtoId) {
|
|
302
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL;
|
|
303
|
+
const params = new HttpParams()
|
|
304
|
+
.set("produtoId", '' + produtoId);
|
|
305
|
+
return this.http.get(url, this.getHttpOptions(params)).pipe(map(data => data));
|
|
306
|
+
}
|
|
307
|
+
saveProdutoComposicao(s) {
|
|
308
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL;
|
|
309
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
310
|
+
}
|
|
311
|
+
addProdutoComposicao(p) {
|
|
312
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL;
|
|
313
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
314
|
+
}
|
|
315
|
+
deleteProdutoComposicao(id) {
|
|
316
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL + id;
|
|
317
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
318
|
+
}
|
|
299
319
|
getHttpOptions(parameters) {
|
|
300
320
|
return {
|
|
301
321
|
headers: new HttpHeaders({
|
|
@@ -987,6 +1007,8 @@ class AuthDataService {
|
|
|
987
1007
|
this.userId = 0;
|
|
988
1008
|
this.email = '';
|
|
989
1009
|
this.nome = '';
|
|
1010
|
+
this.usaEstoqueOnline = false;
|
|
1011
|
+
this.usaFinancasOnline = false;
|
|
990
1012
|
}
|
|
991
1013
|
login(result) {
|
|
992
1014
|
this.isLoggedIn = true;
|
|
@@ -1944,13 +1966,16 @@ class ProdutoSubgrupoSelecaoDialogComponent {
|
|
|
1944
1966
|
atualiza() {
|
|
1945
1967
|
this.isBusy = true;
|
|
1946
1968
|
this.ws.buscaProdutoSubgrupo(this.setting)
|
|
1947
|
-
.subscribe(
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1969
|
+
.subscribe({
|
|
1970
|
+
next: r => {
|
|
1971
|
+
this.isBusy = false;
|
|
1972
|
+
this.items = r;
|
|
1973
|
+
console.info(r);
|
|
1974
|
+
},
|
|
1975
|
+
error: err => {
|
|
1976
|
+
this.isBusy = false;
|
|
1977
|
+
this.notification.showHttpError(err);
|
|
1978
|
+
}
|
|
1954
1979
|
});
|
|
1955
1980
|
}
|
|
1956
1981
|
selectItem(i) {
|
|
@@ -2429,26 +2454,30 @@ class ProdutoAddDialogComponent {
|
|
|
2429
2454
|
}
|
|
2430
2455
|
this.isBusy = true;
|
|
2431
2456
|
this.ws.addProduto(this.model)
|
|
2432
|
-
.subscribe(
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
this.dialogRef
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2457
|
+
.subscribe({
|
|
2458
|
+
next: r => {
|
|
2459
|
+
this.isBusy = false;
|
|
2460
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
2461
|
+
if (this.dialogRef)
|
|
2462
|
+
this.dialogRef.close(true);
|
|
2463
|
+
}, error: err => {
|
|
2464
|
+
this.isBusy = false;
|
|
2465
|
+
this.notification.showMsg(err.error);
|
|
2466
|
+
}
|
|
2440
2467
|
});
|
|
2441
2468
|
}
|
|
2442
2469
|
getNextId() {
|
|
2443
2470
|
this.isBusy = true;
|
|
2444
2471
|
this.ws.getNextIdProduto()
|
|
2445
|
-
.subscribe(
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2472
|
+
.subscribe({
|
|
2473
|
+
next: r => {
|
|
2474
|
+
this.model.id = r;
|
|
2475
|
+
this.model.referencia = '' + r;
|
|
2476
|
+
this.isBusy = false;
|
|
2477
|
+
}, error: err => {
|
|
2478
|
+
this.isBusy = false;
|
|
2479
|
+
this.notification.showMsg(err.error);
|
|
2480
|
+
}
|
|
2452
2481
|
});
|
|
2453
2482
|
}
|
|
2454
2483
|
}
|
|
@@ -2576,6 +2605,323 @@ class ProdutoSearchSetting extends SearchSetting {
|
|
|
2576
2605
|
}
|
|
2577
2606
|
}
|
|
2578
2607
|
|
|
2608
|
+
function validaProdutoComposicao(item, focus) {
|
|
2609
|
+
if (valNumberMin(item.quantidade, 0)) {
|
|
2610
|
+
focus.set('quantidade');
|
|
2611
|
+
return 'Digite uma quantidade válida.';
|
|
2612
|
+
}
|
|
2613
|
+
return null;
|
|
2614
|
+
}
|
|
2615
|
+
|
|
2616
|
+
class ProdutoComposicaoAddDialogComponent {
|
|
2617
|
+
constructor(model, ws, notification, dialogRef, screenHelper) {
|
|
2618
|
+
this.model = model;
|
|
2619
|
+
this.ws = ws;
|
|
2620
|
+
this.notification = notification;
|
|
2621
|
+
this.dialogRef = dialogRef;
|
|
2622
|
+
this.screenHelper = screenHelper;
|
|
2623
|
+
this.isBusy = false;
|
|
2624
|
+
this.focus = new FocusService();
|
|
2625
|
+
this.mobile = this.screenHelper.isMedium;
|
|
2626
|
+
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
2627
|
+
}
|
|
2628
|
+
ngOnInit() {
|
|
2629
|
+
}
|
|
2630
|
+
salvar() {
|
|
2631
|
+
if (!this.model)
|
|
2632
|
+
return;
|
|
2633
|
+
const valMsg = validaProdutoComposicao(this.model, this.focus);
|
|
2634
|
+
if (valMsg) {
|
|
2635
|
+
this.notification.showMsgError(valMsg);
|
|
2636
|
+
return;
|
|
2637
|
+
}
|
|
2638
|
+
this.isBusy = true;
|
|
2639
|
+
const onFinished = {
|
|
2640
|
+
next: (r) => {
|
|
2641
|
+
this.isBusy = false;
|
|
2642
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
2643
|
+
if (this.dialogRef)
|
|
2644
|
+
this.dialogRef.close(true);
|
|
2645
|
+
},
|
|
2646
|
+
error: (err) => {
|
|
2647
|
+
this.isBusy = false;
|
|
2648
|
+
this.notification.showMsg(err.error);
|
|
2649
|
+
}
|
|
2650
|
+
};
|
|
2651
|
+
if (this.model.id === 0) {
|
|
2652
|
+
this.ws.addProdutoComposicao(this.model)
|
|
2653
|
+
.subscribe(onFinished);
|
|
2654
|
+
}
|
|
2655
|
+
else {
|
|
2656
|
+
this.ws.saveProdutoComposicao(this.model)
|
|
2657
|
+
.subscribe(onFinished);
|
|
2658
|
+
}
|
|
2659
|
+
}
|
|
2660
|
+
}
|
|
2661
|
+
ProdutoComposicaoAddDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoComposicaoAddDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialogRef }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2662
|
+
ProdutoComposicaoAddDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoComposicaoAddDialogComponent, selector: "lib-produto-composicao-add-dialog", ngImport: i0, template: "<div class=\"ox-header\">\n <span class=\"titulo\">Composi\u00E7\u00E3o do '{{model.produtoNome}}'</span>\n <button mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"dialog-content\">\n <h4>{{model.produtoItemNome}}</h4>\n <div class=\"vbox margin-top-32\">\n <div class=\"form-group\">\n <label>Quantidade</label>\n <input id=\"quantidade\" [(ngModel)]=\"model.quantidade\" class=\"form-control input-120\" maxlength=\"10\" type=\"number\">\n </div>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button (click)=\"salvar()\">CONFIRMAR</button>\n</div>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.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: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }] });
|
|
2663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoComposicaoAddDialogComponent, decorators: [{
|
|
2664
|
+
type: Component,
|
|
2665
|
+
args: [{ selector: 'lib-produto-composicao-add-dialog', template: "<div class=\"ox-header\">\n <span class=\"titulo\">Composi\u00E7\u00E3o do '{{model.produtoNome}}'</span>\n <button mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"dialog-content\">\n <h4>{{model.produtoItemNome}}</h4>\n <div class=\"vbox margin-top-32\">\n <div class=\"form-group\">\n <label>Quantidade</label>\n <input id=\"quantidade\" [(ngModel)]=\"model.quantidade\" class=\"form-control input-120\" maxlength=\"10\" type=\"number\">\n </div>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button (click)=\"salvar()\">CONFIRMAR</button>\n</div>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
2666
|
+
}], ctorParameters: function () {
|
|
2667
|
+
return [{ type: undefined, decorators: [{
|
|
2668
|
+
type: Inject,
|
|
2669
|
+
args: [MAT_DIALOG_DATA]
|
|
2670
|
+
}] }, { type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialogRef }, { type: ScreenHelperService }];
|
|
2671
|
+
} });
|
|
2672
|
+
|
|
2673
|
+
class ProdutoSelecaoDialogComponent {
|
|
2674
|
+
constructor(dialogRef, dialog, ws, notification, auth, screenHelper) {
|
|
2675
|
+
this.dialogRef = dialogRef;
|
|
2676
|
+
this.dialog = dialog;
|
|
2677
|
+
this.ws = ws;
|
|
2678
|
+
this.notification = notification;
|
|
2679
|
+
this.screenHelper = screenHelper;
|
|
2680
|
+
this.items = [];
|
|
2681
|
+
this.selectedItem = null;
|
|
2682
|
+
this.isBusy = false;
|
|
2683
|
+
this.setting = new SearchSetting();
|
|
2684
|
+
this.lazyTrigger = new LazyTrigger(() => { this.atualiza(); });
|
|
2685
|
+
this.nav = new NavegacaoSelecaoDialogUtil(this);
|
|
2686
|
+
this.mobile = this.screenHelper.isMedium;
|
|
2687
|
+
this.allowAdd = auth.permissoes.adminProdutoAdd;
|
|
2688
|
+
this.allowEdit = auth.permissoes.adminProdutoPesquisa;
|
|
2689
|
+
}
|
|
2690
|
+
ngOnInit() {
|
|
2691
|
+
this.atualiza();
|
|
2692
|
+
}
|
|
2693
|
+
atualiza() {
|
|
2694
|
+
this.isBusy = true;
|
|
2695
|
+
this.ws.buscaPaginadaProdutos(this.setting, 1, 50)
|
|
2696
|
+
.subscribe({
|
|
2697
|
+
next: r => {
|
|
2698
|
+
this.isBusy = false;
|
|
2699
|
+
this.items = r.items;
|
|
2700
|
+
console.info(r);
|
|
2701
|
+
},
|
|
2702
|
+
error: err => {
|
|
2703
|
+
this.isBusy = false;
|
|
2704
|
+
this.notification.showHttpError(err);
|
|
2705
|
+
}
|
|
2706
|
+
});
|
|
2707
|
+
}
|
|
2708
|
+
selectItem(i) {
|
|
2709
|
+
if (this.selectedItem === i) {
|
|
2710
|
+
this.dialogRef.close(i);
|
|
2711
|
+
}
|
|
2712
|
+
this.selectedItem = i;
|
|
2713
|
+
}
|
|
2714
|
+
editar() {
|
|
2715
|
+
const item = this.selectedItem;
|
|
2716
|
+
if (!item)
|
|
2717
|
+
return;
|
|
2718
|
+
this.abreCadastro(item);
|
|
2719
|
+
}
|
|
2720
|
+
abreCadastro(item) {
|
|
2721
|
+
let height = undefined;
|
|
2722
|
+
let width = 550 + 'px';
|
|
2723
|
+
if (this.mobile) {
|
|
2724
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
2725
|
+
height = (window.innerHeight * 0.99) + 'px';
|
|
2726
|
+
}
|
|
2727
|
+
const dialog = this.dialog.open(ProdutoEditDialogComponent, {
|
|
2728
|
+
data: item,
|
|
2729
|
+
width: width,
|
|
2730
|
+
height: height,
|
|
2731
|
+
maxWidth: '100%',
|
|
2732
|
+
panelClass: 'dialog-p0',
|
|
2733
|
+
});
|
|
2734
|
+
dialog.afterClosed().subscribe(result => {
|
|
2735
|
+
if (result !== true)
|
|
2736
|
+
return;
|
|
2737
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
2738
|
+
this.atualiza();
|
|
2739
|
+
});
|
|
2740
|
+
}
|
|
2741
|
+
novo() {
|
|
2742
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
2743
|
+
let width = 550 + 'px';
|
|
2744
|
+
if (this.mobile) {
|
|
2745
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
2746
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
2747
|
+
}
|
|
2748
|
+
const dialog = this.dialog.open(ProdutoAddDialogComponent, {
|
|
2749
|
+
width: width,
|
|
2750
|
+
height: height,
|
|
2751
|
+
maxWidth: '100%',
|
|
2752
|
+
panelClass: 'dialog-p0',
|
|
2753
|
+
});
|
|
2754
|
+
dialog.afterClosed().subscribe(result => {
|
|
2755
|
+
if (result === undefined)
|
|
2756
|
+
return;
|
|
2757
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
2758
|
+
this.atualiza();
|
|
2759
|
+
});
|
|
2760
|
+
}
|
|
2761
|
+
excluir() {
|
|
2762
|
+
const item = this.selectedItem;
|
|
2763
|
+
if (!item)
|
|
2764
|
+
return;
|
|
2765
|
+
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do produto ${item.nome}?`, () => {
|
|
2766
|
+
this.isBusy = true;
|
|
2767
|
+
this.ws.deleteProduto(item.id)
|
|
2768
|
+
.subscribe({
|
|
2769
|
+
next: r => {
|
|
2770
|
+
this.notification.showMsg("O produto foi excluído com sucesso.");
|
|
2771
|
+
this.items.remove(item);
|
|
2772
|
+
this.selectedItem = null;
|
|
2773
|
+
this.isBusy = false;
|
|
2774
|
+
},
|
|
2775
|
+
error: err => {
|
|
2776
|
+
this.isBusy = false;
|
|
2777
|
+
this.notification.showMsg(err.error);
|
|
2778
|
+
}
|
|
2779
|
+
});
|
|
2780
|
+
});
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2783
|
+
ProdutoSelecaoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSelecaoDialogComponent, deps: [{ token: i3.MatDialogRef }, { token: i3.MatDialog }, { token: CommonWebService }, { token: NotificationService }, { token: AuthDataService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2784
|
+
ProdutoSelecaoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoSelecaoDialogComponent, selector: "lib-produto-selecao-dialog", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Subgrupos</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem && allowEdit\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [nome]=\"i.nome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == null\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: 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: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.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: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }] });
|
|
2785
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoSelecaoDialogComponent, decorators: [{
|
|
2786
|
+
type: Component,
|
|
2787
|
+
args: [{ selector: 'lib-produto-selecao-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Subgrupos</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem && allowEdit\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [nome]=\"i.nome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == null\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
2788
|
+
}], ctorParameters: function () { return [{ type: i3.MatDialogRef }, { type: i3.MatDialog }, { type: CommonWebService }, { type: NotificationService }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
2789
|
+
|
|
2790
|
+
class ProdutoComposicaoComponent {
|
|
2791
|
+
constructor(dialogRef, dialog, produto, ws, notification, screenHelper) {
|
|
2792
|
+
this.dialogRef = dialogRef;
|
|
2793
|
+
this.dialog = dialog;
|
|
2794
|
+
this.produto = produto;
|
|
2795
|
+
this.ws = ws;
|
|
2796
|
+
this.notification = notification;
|
|
2797
|
+
this.screenHelper = screenHelper;
|
|
2798
|
+
this.items = [];
|
|
2799
|
+
this.selectedItem = null;
|
|
2800
|
+
this.isBusy = false;
|
|
2801
|
+
this.mobile = this.screenHelper.isMedium;
|
|
2802
|
+
}
|
|
2803
|
+
ngOnInit() {
|
|
2804
|
+
this.atualiza();
|
|
2805
|
+
}
|
|
2806
|
+
atualiza() {
|
|
2807
|
+
this.isBusy = true;
|
|
2808
|
+
this.ws.getProdutoComposicao(this.produto.id)
|
|
2809
|
+
.subscribe({
|
|
2810
|
+
next: r => {
|
|
2811
|
+
this.isBusy = false;
|
|
2812
|
+
for (const item of r) {
|
|
2813
|
+
item.produtoId = this.produto.id;
|
|
2814
|
+
item.produtoNome = this.produto.nome;
|
|
2815
|
+
}
|
|
2816
|
+
this.items = r;
|
|
2817
|
+
console.info(r);
|
|
2818
|
+
},
|
|
2819
|
+
error: err => {
|
|
2820
|
+
this.isBusy = false;
|
|
2821
|
+
this.notification.showHttpError(err);
|
|
2822
|
+
}
|
|
2823
|
+
});
|
|
2824
|
+
}
|
|
2825
|
+
selectItem(i) {
|
|
2826
|
+
this.selectedItem = i;
|
|
2827
|
+
}
|
|
2828
|
+
novo() {
|
|
2829
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
2830
|
+
let width = 550 + 'px';
|
|
2831
|
+
if (this.mobile) {
|
|
2832
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
2833
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
2834
|
+
}
|
|
2835
|
+
const dialog = this.dialog.open(ProdutoSelecaoDialogComponent, {
|
|
2836
|
+
width: width,
|
|
2837
|
+
//height: height,
|
|
2838
|
+
maxWidth: '100%',
|
|
2839
|
+
panelClass: 'dialog-p0',
|
|
2840
|
+
});
|
|
2841
|
+
dialog.afterClosed().subscribe(result => {
|
|
2842
|
+
if (result === undefined)
|
|
2843
|
+
return;
|
|
2844
|
+
const p = result;
|
|
2845
|
+
const composicao = {
|
|
2846
|
+
id: 0,
|
|
2847
|
+
produtoId: this.produto.id,
|
|
2848
|
+
produtoNome: this.produto.nome,
|
|
2849
|
+
produtoItemId: p.id,
|
|
2850
|
+
produtoItemNome: p.nome,
|
|
2851
|
+
quantidade: 1
|
|
2852
|
+
};
|
|
2853
|
+
const dialog2 = this.dialog.open(ProdutoComposicaoAddDialogComponent, {
|
|
2854
|
+
width: width,
|
|
2855
|
+
//height: height,
|
|
2856
|
+
data: composicao,
|
|
2857
|
+
maxWidth: '100%',
|
|
2858
|
+
panelClass: 'dialog-p0',
|
|
2859
|
+
});
|
|
2860
|
+
dialog2.afterClosed().subscribe(result => {
|
|
2861
|
+
if (result === undefined)
|
|
2862
|
+
return;
|
|
2863
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
2864
|
+
this.atualiza();
|
|
2865
|
+
});
|
|
2866
|
+
});
|
|
2867
|
+
}
|
|
2868
|
+
editar() {
|
|
2869
|
+
if (!this.selectedItem)
|
|
2870
|
+
return;
|
|
2871
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
2872
|
+
let width = 550 + 'px';
|
|
2873
|
+
if (this.mobile) {
|
|
2874
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
2875
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
2876
|
+
}
|
|
2877
|
+
const dialog = this.dialog.open(ProdutoSelecaoDialogComponent, {
|
|
2878
|
+
width: width,
|
|
2879
|
+
//height: height,
|
|
2880
|
+
data: this.selectedItem,
|
|
2881
|
+
maxWidth: '100%',
|
|
2882
|
+
panelClass: 'dialog-p0',
|
|
2883
|
+
});
|
|
2884
|
+
dialog.afterClosed().subscribe(result => {
|
|
2885
|
+
if (result === undefined)
|
|
2886
|
+
return;
|
|
2887
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
2888
|
+
this.atualiza();
|
|
2889
|
+
});
|
|
2890
|
+
}
|
|
2891
|
+
excluir() {
|
|
2892
|
+
const item = this.selectedItem;
|
|
2893
|
+
if (!item)
|
|
2894
|
+
return;
|
|
2895
|
+
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do produto '${item.produtoItemNome}'?`, () => {
|
|
2896
|
+
this.isBusy = true;
|
|
2897
|
+
this.ws.deleteProdutoComposicao(item.id)
|
|
2898
|
+
.subscribe({
|
|
2899
|
+
next: r => {
|
|
2900
|
+
this.notification.showMsg("O produto foi excluído com sucesso.");
|
|
2901
|
+
this.items.remove(item);
|
|
2902
|
+
this.selectedItem = null;
|
|
2903
|
+
this.isBusy = false;
|
|
2904
|
+
},
|
|
2905
|
+
error: err => {
|
|
2906
|
+
this.isBusy = false;
|
|
2907
|
+
this.notification.showMsg(err.error);
|
|
2908
|
+
}
|
|
2909
|
+
});
|
|
2910
|
+
});
|
|
2911
|
+
}
|
|
2912
|
+
}
|
|
2913
|
+
ProdutoComposicaoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoComposicaoComponent, deps: [{ token: i3.MatDialogRef }, { token: i3.MatDialog }, { token: MAT_DIALOG_DATA }, { token: CommonWebService }, { token: NotificationService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2914
|
+
ProdutoComposicaoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutoComposicaoComponent, selector: "ox-produto-composicao", ngImport: i0, template: "<div class=\"dialog-header\">\n <h2>Composi\u00E7\u00E3o do Produto '{{produto.nome}}'</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [codigo]=\"i.quantidade\" [nome]=\"i.produtoItemNome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.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: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }] });
|
|
2915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutoComposicaoComponent, decorators: [{
|
|
2916
|
+
type: Component,
|
|
2917
|
+
args: [{ selector: 'ox-produto-composicao', template: "<div class=\"dialog-header\">\n <h2>Composi\u00E7\u00E3o do Produto '{{produto.nome}}'</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem\">\n <mat-icon aria-label=\"editar\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [codigo]=\"i.quantidade\" [nome]=\"i.produtoItemNome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
2918
|
+
}], ctorParameters: function () {
|
|
2919
|
+
return [{ type: i3.MatDialogRef }, { type: i3.MatDialog }, { type: undefined, decorators: [{
|
|
2920
|
+
type: Inject,
|
|
2921
|
+
args: [MAT_DIALOG_DATA]
|
|
2922
|
+
}] }, { type: CommonWebService }, { type: NotificationService }, { type: ScreenHelperService }];
|
|
2923
|
+
} });
|
|
2924
|
+
|
|
2579
2925
|
class PaginatorComponent {
|
|
2580
2926
|
constructor() {
|
|
2581
2927
|
this.paginaAtualChange = new EventEmitter();
|
|
@@ -2668,6 +3014,7 @@ class ProdutosComponent {
|
|
|
2668
3014
|
this.allowAdd = auth.permissoes.adminProdutoAdd;
|
|
2669
3015
|
this.allowExcluir = auth.permissoes.adminProdutoDelete;
|
|
2670
3016
|
this.mobile = this.screenHelper.isMedium;
|
|
3017
|
+
this.usaEstoqueOnline = auth.usaEstoqueOnline;
|
|
2671
3018
|
this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
|
|
2672
3019
|
this.setting.exibeNaoControladoEstoque = true;
|
|
2673
3020
|
this.setting.exibeImprimiCozinha = true;
|
|
@@ -2725,14 +3072,17 @@ class ProdutosComponent {
|
|
|
2725
3072
|
confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do produto ${item.nome}?`, () => {
|
|
2726
3073
|
this.isBusy = true;
|
|
2727
3074
|
this.ws.deleteProduto(item.id)
|
|
2728
|
-
.subscribe(
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
3075
|
+
.subscribe({
|
|
3076
|
+
next: r => {
|
|
3077
|
+
this.notification.showMsg("O produto foi excluído com sucesso.");
|
|
3078
|
+
this.items.remove(item);
|
|
3079
|
+
this.selectedItem = null;
|
|
3080
|
+
this.isBusy = false;
|
|
3081
|
+
},
|
|
3082
|
+
error: err => {
|
|
3083
|
+
this.isBusy = false;
|
|
3084
|
+
this.notification.showMsg(err.error);
|
|
3085
|
+
}
|
|
2736
3086
|
});
|
|
2737
3087
|
});
|
|
2738
3088
|
}
|
|
@@ -2787,12 +3137,15 @@ class ProdutosComponent {
|
|
|
2787
3137
|
}
|
|
2788
3138
|
this.isBusy = true;
|
|
2789
3139
|
this.ws.saveProduto(this.selectedItem)
|
|
2790
|
-
.subscribe(
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
3140
|
+
.subscribe({
|
|
3141
|
+
next: r => {
|
|
3142
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3143
|
+
this.isBusy = false;
|
|
3144
|
+
},
|
|
3145
|
+
error: err => {
|
|
3146
|
+
this.isBusy = false;
|
|
3147
|
+
this.notification.showMsg(err.error);
|
|
3148
|
+
}
|
|
2796
3149
|
});
|
|
2797
3150
|
}
|
|
2798
3151
|
filtros() {
|
|
@@ -2821,12 +3174,32 @@ class ProdutosComponent {
|
|
|
2821
3174
|
this.atualiza();
|
|
2822
3175
|
});
|
|
2823
3176
|
}
|
|
3177
|
+
composicao() {
|
|
3178
|
+
let height = (window.innerHeight * 0.90) + 'px';
|
|
3179
|
+
let width = 550 + 'px';
|
|
3180
|
+
if (this.mobile) {
|
|
3181
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
3182
|
+
//height = (window.innerHeight * 0.98) + 'px';
|
|
3183
|
+
}
|
|
3184
|
+
const dialog = this.dialog.open(ProdutoComposicaoComponent, {
|
|
3185
|
+
width: width,
|
|
3186
|
+
height: height,
|
|
3187
|
+
maxWidth: '100%',
|
|
3188
|
+
panelClass: 'dialog-p0',
|
|
3189
|
+
});
|
|
3190
|
+
dialog.afterClosed().subscribe(result => {
|
|
3191
|
+
if (result === undefined)
|
|
3192
|
+
return;
|
|
3193
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3194
|
+
this.atualiza();
|
|
3195
|
+
});
|
|
3196
|
+
}
|
|
2824
3197
|
}
|
|
2825
3198
|
ProdutosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialog }, { token: AuthDataService }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2826
|
-
ProdutosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosComponent, selector: "ox-produtos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </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 [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-
|
|
3199
|
+
ProdutosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosComponent, selector: "ox-produtos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </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 [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-stroked-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-stroked-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"20\">Composi\u00E7\u00E3o</button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\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: i6$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: PaginatorComponent, selector: "ox-paginator", inputs: ["pageSize", "paginaAtual", "totalPaginas"], outputs: ["paginaAtualChange", "totalPaginasChange", "change"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }, { kind: "component", type: ProdutoFormComponent, selector: "ox-produto-form", inputs: ["editMode", "model"], outputs: ["nextIdClick"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] });
|
|
2827
3200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosComponent, decorators: [{
|
|
2828
3201
|
type: Component,
|
|
2829
|
-
args: [{ selector: 'ox-produtos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </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 [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-
|
|
3202
|
+
args: [{ selector: 'ox-produtos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </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 [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-stroked-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-stroked-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"20\">Composi\u00E7\u00E3o</button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"] }]
|
|
2830
3203
|
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: ScreenHelperService }]; } });
|
|
2831
3204
|
|
|
2832
3205
|
class ProdutosCategoriasCardapioComponent {
|
|
@@ -3664,7 +4037,10 @@ OxpiNglibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
3664
4037
|
ProdutosCategoriasCardapioComponent,
|
|
3665
4038
|
ProdutoCategoriaCardapioAddDialogComponent,
|
|
3666
4039
|
ProdutoCategoriaCardapioEditDialogComponent,
|
|
3667
|
-
ProdutoCategoriaCardapioSelecaoDialogComponent
|
|
4040
|
+
ProdutoCategoriaCardapioSelecaoDialogComponent,
|
|
4041
|
+
ProdutoComposicaoComponent,
|
|
4042
|
+
ProdutoComposicaoAddDialogComponent,
|
|
4043
|
+
ProdutoSelecaoDialogComponent], imports: [BrowserModule,
|
|
3668
4044
|
BrowserAnimationsModule,
|
|
3669
4045
|
FormsModule,
|
|
3670
4046
|
MatButtonModule,
|
|
@@ -3727,7 +4103,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
3727
4103
|
ProdutosCategoriasCardapioComponent,
|
|
3728
4104
|
ProdutoCategoriaCardapioAddDialogComponent,
|
|
3729
4105
|
ProdutoCategoriaCardapioEditDialogComponent,
|
|
3730
|
-
ProdutoCategoriaCardapioSelecaoDialogComponent
|
|
4106
|
+
ProdutoCategoriaCardapioSelecaoDialogComponent,
|
|
4107
|
+
ProdutoComposicaoComponent,
|
|
4108
|
+
ProdutoComposicaoAddDialogComponent,
|
|
4109
|
+
ProdutoSelecaoDialogComponent
|
|
3731
4110
|
],
|
|
3732
4111
|
imports: [
|
|
3733
4112
|
BrowserModule,
|
|
@@ -3951,5 +4330,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
3951
4330
|
* Generated bundle index. Do not edit.
|
|
3952
4331
|
*/
|
|
3953
4332
|
|
|
3954
|
-
export { AlertDialogComponent, AuthDataService, BusyIndicatorComponent, BusyState, CheckButtonComponent, CommonWebService, ConsumoProdutoSearchSetting, DuplicataSearchSetting, ExportFileService, FocusService, FuncionarioAddDialogComponent, FuncionarioEditDialogComponent, FuncionarioFormComponent, FuncionariosComponent, ImageViewerComponent, ItemCardComponent, LazyTrigger, MonthYearPickerComponent, MoverGrupoDialogComponent, NavegacaoSelecaoDialogUtil, NotificationService, NumberParser, NumericPickerComponent, OcupacaoFilterSetting, OcupacaoSearchDateField, OcupacaoSearchSetting, OcupacaoSearchTipoEntrada, Ordem, OxpiNglibModule, PagamentoRecebimentoSearchSetting, PaginatorComponent, PorOcupacaoTipo, Preferences, ProdutoAddDialogComponent, ProdutoBuscaFiltrosDialogComponent, ProdutoCategoriaCardapioAddDialogComponent, ProdutoCategoriaCardapioEditDialogComponent, ProdutoCategoriaCardapioSelecaoDialogComponent, ProdutoEditDialogComponent, ProdutoFormComponent, ProdutoGrupoAddDialogComponent, ProdutoGrupoEditDialogComponent, ProdutoGrupoFormComponent, ProdutoGrupoSelecaoDialogComponent, ProdutoSearchSetting, ProdutoSubgrupoAddDialogComponent, ProdutoSubgrupoEditDialogComponent, ProdutoSubgrupoSelecaoDialogComponent, ProdutosCategoriasCardapioComponent, ProdutosComponent, ProdutosGruposComponent, ProdutosNcmDialogComponent, ProdutosSubgruposComponent, RadioButtonGroupComponent, SafeHtmlPipe, ScreenHelperService, SearchMode, SearchSetting, SuitesIntervencoesSetting, confirmaExclusao, createProduct, fadeAnimation, lateralAnimation, menuLateralAnimation, printHtml, printTxt, selectText, valNumberEmpty, valNumberMin, valTextEmpty, valTextMax, validaProduto, validaProdutoGrupo };
|
|
4333
|
+
export { AlertDialogComponent, AuthDataService, BusyIndicatorComponent, BusyState, CheckButtonComponent, CommonWebService, ConsumoProdutoSearchSetting, DuplicataSearchSetting, ExportFileService, FocusService, FuncionarioAddDialogComponent, FuncionarioEditDialogComponent, FuncionarioFormComponent, FuncionariosComponent, ImageViewerComponent, ItemCardComponent, LazyTrigger, MonthYearPickerComponent, MoverGrupoDialogComponent, NavegacaoSelecaoDialogUtil, NotificationService, NumberParser, NumericPickerComponent, OcupacaoFilterSetting, OcupacaoSearchDateField, OcupacaoSearchSetting, OcupacaoSearchTipoEntrada, Ordem, OxpiNglibModule, PagamentoRecebimentoSearchSetting, PaginatorComponent, PorOcupacaoTipo, Preferences, ProdutoAddDialogComponent, ProdutoBuscaFiltrosDialogComponent, ProdutoCategoriaCardapioAddDialogComponent, ProdutoCategoriaCardapioEditDialogComponent, ProdutoCategoriaCardapioSelecaoDialogComponent, ProdutoComposicaoAddDialogComponent, ProdutoComposicaoComponent, ProdutoEditDialogComponent, ProdutoFormComponent, ProdutoGrupoAddDialogComponent, ProdutoGrupoEditDialogComponent, ProdutoGrupoFormComponent, ProdutoGrupoSelecaoDialogComponent, ProdutoSearchSetting, ProdutoSelecaoDialogComponent, ProdutoSubgrupoAddDialogComponent, ProdutoSubgrupoEditDialogComponent, ProdutoSubgrupoSelecaoDialogComponent, ProdutosCategoriasCardapioComponent, ProdutosComponent, ProdutosGruposComponent, ProdutosNcmDialogComponent, ProdutosSubgruposComponent, RadioButtonGroupComponent, SafeHtmlPipe, ScreenHelperService, SearchMode, SearchSetting, SuitesIntervencoesSetting, confirmaExclusao, createProduct, fadeAnimation, lateralAnimation, menuLateralAnimation, printHtml, printTxt, selectText, valNumberEmpty, valNumberMin, valTextEmpty, valTextMax, validaProduto, validaProdutoComposicao, validaProdutoGrupo };
|
|
3955
4334
|
//# sourceMappingURL=oxpi-nglib.mjs.map
|