@inovamobil/ic-databar-lib 2.0.3 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/bundles/inovamobil-ic-databar-lib.umd.js +40 -30
  2. package/bundles/inovamobil-ic-databar-lib.umd.js.map +1 -1
  3. package/bundles/inovamobil-ic-databar-lib.umd.min.js +1 -1
  4. package/bundles/inovamobil-ic-databar-lib.umd.min.js.map +1 -1
  5. package/esm2015/components/dialogs/error-dialog/error-dialog.component.js +3 -2
  6. package/esm2015/components/dialogs/error-dialog/error-dialog.module.js +1 -1
  7. package/esm2015/components/dialogs/error-dialog/service/error-dialog.service.js +1 -1
  8. package/esm2015/inovamobil-ic-databar-lib.js +1 -1
  9. package/esm2015/lib/constants/ic-databar.constants.js +1 -1
  10. package/esm2015/lib/contrato/DataBarConfigBotoesService.js +1 -1
  11. package/esm2015/lib/contrato/IDataBarBind.js +1 -1
  12. package/esm2015/lib/contrato/IDataBarBindOnClickService.js +1 -1
  13. package/esm2015/lib/contrato/IDataBarReverterService.js +1 -1
  14. package/esm2015/lib/contrato/IDataBarService.js +1 -1
  15. package/esm2015/lib/contrato/IDataEntidadePaginada.js +1 -1
  16. package/esm2015/lib/contrato/IDatabarStatusService.js +1 -1
  17. package/esm2015/lib/contrato/OnInitDataBar.js +1 -1
  18. package/esm2015/lib/enum/eeventoclick.js +1 -1
  19. package/esm2015/lib/enum/estatus.js +1 -1
  20. package/esm2015/lib/ic-data-bar.component.js +43 -35
  21. package/esm2015/lib/ic-data-bar.module.js +1 -1
  22. package/esm2015/lib/services/ic-databar-event-click.service.js +1 -1
  23. package/esm2015/lib/services/ic-databar-reverter.service.js +1 -1
  24. package/esm2015/lib/services/ic-databar.service.js +1 -1
  25. package/esm2015/public-api.js +1 -1
  26. package/fesm2015/inovamobil-ic-databar-lib.js +43 -34
  27. package/fesm2015/inovamobil-ic-databar-lib.js.map +1 -1
  28. package/inovamobil-ic-databar-lib.metadata.json +1 -1
  29. package/lib/ic-data-bar.component.d.ts +1 -0
  30. package/package.json +1 -1
@@ -200,7 +200,8 @@
200
200
  ErrorDialogComponent.decorators = [
201
201
  { type: i0.Component, args: [{
202
202
  selector: 'confirma-dialog',
203
- template: "<h2 mat-dialog-title>{{titulo}}</h2>\r\n\r\n<mat-dialog-content>\r\n <p>{{mensagem}}</p>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions align=\"end\">\r\n <button class=\"mat-raised-button\" (click)=\"close()\">Ok</button>\r\n</mat-dialog-actions>"
203
+ template: "<h2 mat-dialog-title class=\"error__title\">{{titulo}}</h2>\r\n\r\n<mat-dialog-content>\r\n <p>{{mensagem}}</p>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions align=\"end\">\r\n <button class=\"mat-raised-button\" (click)=\"close()\">Ok</button>\r\n</mat-dialog-actions>\r\n",
204
+ styles: [".error__title{text-align:center}"]
204
205
  },] }
205
206
  ];
206
207
  ErrorDialogComponent.ctorParameters = function () { return [
@@ -323,7 +324,6 @@
323
324
  enumerable: false,
324
325
  configurable: true
325
326
  });
326
- ;
327
327
  DataBarComponent.prototype.ngOnInit = function () {
328
328
  this.validarPropertsObrigatorias();
329
329
  this.setProgresso(false);
@@ -345,8 +345,7 @@
345
345
  };
346
346
  Object.defineProperty(DataBarComponent.prototype, "inserindoOuEditando", {
347
347
  get: function () {
348
- return (this.status === exports.EStatus.inserindo ||
349
- this.status === exports.EStatus.editando);
348
+ return this.status === exports.EStatus.inserindo || this.status === exports.EStatus.editando;
350
349
  },
351
350
  enumerable: false,
352
351
  configurable: true
@@ -354,10 +353,10 @@
354
353
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoModoTabela", {
355
354
  get: function () {
356
355
  var _a;
357
- return this.status == exports.EStatus.inserindo ||
356
+ return (this.status == exports.EStatus.inserindo ||
358
357
  this.status == exports.EStatus.editando ||
359
358
  this.emProgresso ||
360
- this.form.invalid || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoModoTabela());
359
+ this.form.invalid || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoModoTabela()));
361
360
  },
362
361
  enumerable: false,
363
362
  configurable: true
@@ -365,11 +364,11 @@
365
364
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoPesquisar", {
366
365
  get: function () {
367
366
  var _a;
368
- return this.status == exports.EStatus.inserindo ||
367
+ return (this.status == exports.EStatus.inserindo ||
369
368
  this.status == exports.EStatus.editando ||
370
369
  this.status == exports.EStatus.dadosCarregados ||
371
370
  this.emProgresso ||
372
- this.form.invalid || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoPesquisar());
371
+ this.form.invalid || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoPesquisar()));
373
372
  },
374
373
  enumerable: false,
375
374
  configurable: true
@@ -377,10 +376,10 @@
377
376
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoReverter", {
378
377
  get: function () {
379
378
  var _a;
380
- return this.status == exports.EStatus.novaPesquisa ||
379
+ return (this.status == exports.EStatus.novaPesquisa ||
381
380
  this.status == exports.EStatus.executarAcao ||
382
381
  this.status == exports.EStatus.dadosCarregados ||
383
- this.emProgresso || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoReverter());
382
+ this.emProgresso || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoReverter()));
384
383
  },
385
384
  enumerable: false,
386
385
  configurable: true
@@ -388,10 +387,10 @@
388
387
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoAdicionar", {
389
388
  get: function () {
390
389
  var _a;
391
- return this.status == exports.EStatus.editando ||
390
+ return (this.status == exports.EStatus.editando ||
392
391
  this.status == exports.EStatus.inserindo ||
393
392
  this.emProgresso ||
394
- this.disabled || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoAdicionar());
393
+ this.disabled || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoAdicionar()));
395
394
  },
396
395
  enumerable: false,
397
396
  configurable: true
@@ -399,13 +398,13 @@
399
398
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoEditar", {
400
399
  get: function () {
401
400
  var _a;
402
- return this.status == exports.EStatus.inserindo ||
401
+ return (this.status == exports.EStatus.inserindo ||
403
402
  this.status == exports.EStatus.novaPesquisa ||
404
403
  this.status == exports.EStatus.executarAcao ||
405
404
  this.status == exports.EStatus.pesquisando ||
406
405
  this.status == exports.EStatus.editando ||
407
406
  this.emProgresso ||
408
- this.disabled || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoEditar());
407
+ this.disabled || ((_a = this.servicoConfiguracaoBotoes) === null || _a === void 0 ? void 0 : _a.desabilitarBotaoEditar()));
409
408
  },
410
409
  enumerable: false,
411
410
  configurable: true
@@ -413,9 +412,9 @@
413
412
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoRemover", {
414
413
  get: function () {
415
414
  var _a, _b;
416
- return !((_a = this.entidadePaginada) === null || _a === void 0 ? void 0 : _a.entidade) ||
415
+ return (!((_a = this.entidadePaginada) === null || _a === void 0 ? void 0 : _a.entidade) ||
417
416
  this.status != exports.EStatus.dadosCarregados ||
418
- this.emProgresso || ((_b = this.servicoConfiguracaoBotoes) === null || _b === void 0 ? void 0 : _b.desabilitarBotaoRemover());
417
+ this.emProgresso || ((_b = this.servicoConfiguracaoBotoes) === null || _b === void 0 ? void 0 : _b.desabilitarBotaoRemover()));
419
418
  },
420
419
  enumerable: false,
421
420
  configurable: true
@@ -423,36 +422,34 @@
423
422
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotaoSalvar", {
424
423
  get: function () {
425
424
  var _a, _b;
426
- return ((_a = this.form) === null || _a === void 0 ? void 0 : _a.invalid) ||
425
+ return (((_a = this.form) === null || _a === void 0 ? void 0 : _a.invalid) ||
427
426
  (this.status != exports.EStatus.inserindo && this.status != exports.EStatus.editando) ||
428
427
  this.emProgresso ||
429
- this.disabled || ((_b = this.servicoConfiguracaoBotoes) === null || _b === void 0 ? void 0 : _b.desabilitarBotaoSalvar());
428
+ this.disabled || ((_b = this.servicoConfiguracaoBotoes) === null || _b === void 0 ? void 0 : _b.desabilitarBotaoSalvar()));
430
429
  },
431
430
  enumerable: false,
432
431
  configurable: true
433
432
  });
434
433
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotoesPaginacaoRetroceder", {
435
434
  get: function () {
436
- return this.inserindoOuEditando ||
435
+ return (this.inserindoOuEditando ||
437
436
  this.entidadePaginada.posicao <= 1 ||
438
- this.emProgresso;
437
+ this.emProgresso);
439
438
  },
440
439
  enumerable: false,
441
440
  configurable: true
442
441
  });
443
442
  Object.defineProperty(DataBarComponent.prototype, "desabilitarBotoesPaginacaoAvancar", {
444
443
  get: function () {
445
- return this.inserindoOuEditando ||
444
+ return (this.inserindoOuEditando ||
446
445
  this.entidadePaginada.posicao >= this.entidadePaginada.total ||
447
- this.emProgresso;
446
+ this.emProgresso);
448
447
  },
449
448
  enumerable: false,
450
449
  configurable: true
451
450
  });
452
451
  DataBarComponent.prototype.onClickReverter = function () {
453
- this._emitirEventoClick(exports.EEventoClick.onClickReverter);
454
- this._reverter();
455
- this._emitirEventoClick(exports.EEventoClick.afterClickReverter);
452
+ this._exibirDialogConfirmacaoReverter();
456
453
  };
457
454
  DataBarComponent.prototype.onClickModoTabela = function () {
458
455
  this._emitirEventoClick(exports.EEventoClick.onClickModoTabela);
@@ -522,7 +519,8 @@
522
519
  var _this = this;
523
520
  this.setStatus(exports.EStatus.salvando);
524
521
  this.setProgresso(true);
525
- this.servicoBind.criar()
522
+ this.servicoBind
523
+ .criar()
526
524
  .pipe(operators.finalize(function () {
527
525
  _this._emitirEventoClick(exports.EEventoClick.afterClickSalvar);
528
526
  }))
@@ -542,7 +540,8 @@
542
540
  var _this = this;
543
541
  this.setStatus(exports.EStatus.salvando);
544
542
  this.setProgresso(true);
545
- this.servicoBind.editar()
543
+ this.servicoBind
544
+ .editar()
546
545
  .pipe(operators.finalize(function () {
547
546
  _this._emitirEventoClick(exports.EEventoClick.afterClickSalvar);
548
547
  }))
@@ -561,8 +560,7 @@
561
560
  DataBarComponent.prototype.observarSetStatus = function () {
562
561
  var _this = this;
563
562
  if (this.servicoBind.setStatus) {
564
- this.$setStatus = this.servicoBind.setStatus
565
- .subscribe(function (status) {
563
+ this.$setStatus = this.servicoBind.setStatus.subscribe(function (status) {
566
564
  switch (status) {
567
565
  case exports.EStatus.editando:
568
566
  _this.editar();
@@ -684,6 +682,18 @@
684
682
  };
685
683
  this._dialog.openDialog('Atenção!', 'Você realmente deseja excluir este registro?');
686
684
  };
685
+ DataBarComponent.prototype._exibirDialogConfirmacaoReverter = function () {
686
+ var _this = this;
687
+ this._dialog.acaoOk = function () {
688
+ _this._reverter();
689
+ _this._dialog.emProgresso = false;
690
+ _this._dialog.closeDialog();
691
+ };
692
+ this._dialog.acaoCancelar = function () {
693
+ _this._dialog.closeDialog();
694
+ };
695
+ this._dialog.openDialog('Atenção!', 'As alterações realizadas serão perdidas. Deseja continuar?');
696
+ };
687
697
  DataBarComponent.prototype._paginar = function (acao) {
688
698
  var _this = this;
689
699
  this.setStatus(exports.EStatus.pesquisando);
@@ -748,7 +758,7 @@
748
758
  DataBarComponent.decorators = [
749
759
  { type: i0.Component, args: [{
750
760
  selector: 'ic-data-bar',
751
- template: "<div\r\n fxFlex=\"1 0 auto\"\r\n fxFlexLayout=\"space-around center\"\r\n fxLayout=\"column\"\r\n>\r\n <!-- DESKTOP -->\r\n <mat-toolbar class=\"px-0 mat-elevation-z4\">\r\n <div\r\n fxFlex=\"1 0 auto\"\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"space-around center\"\r\n >\r\n <!-- BOT\u00C3O EXIBIR DRAWER -->\r\n <mat-drawer-container\r\n fxFlex.sm\r\n fxHide.gt-sm\r\n >\r\n <button\r\n (click)=\"drawer.toggle()\"\r\n id=\"btn_exibir_databar_mobile\"\r\n mat-button\r\n type=\"button\"\r\n >\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n </mat-drawer-container>\r\n <!-- /BOT\u00C3O EXIBIR DRAWER -->\r\n\r\n <!-- A\u00C7\u00D5ES -->\r\n <div\r\n fxFlex.sm\r\n fxHide\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"space-around center\"\r\n fxShow.gt-sm\r\n >\r\n <!-- MODO_TABELA -->\r\n <button\r\n *ngIf=\"servicoConfiguracaoBotoes?.exibirBotaoModoTabela()\"\r\n (click)=\"onClickModoTabela()\"\r\n [disabled]=\"desabilitarBotaoModoTabela\"\r\n color=\"primary\"\r\n id=\"btn_modo_tabela\"\r\n mat-button\r\n matTooltip=\"Alterar exibi\u00E7\u00E3o para tabela\"\r\n >\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n <!-- MODO_TABELA -->\r\n\r\n <!-- BTN_NOVA_PESQUISA -->\r\n <button\r\n (click)=\"onClickNovaPesquisa()\"\r\n [disabled]=\"servicoConfiguracaoBotoes?.desabilitarBotaoNovaPesquisa()\"\r\n color=\"primary\"\r\n id=\"btn_nova_pesquisa\"\r\n mat-button\r\n matTooltip=\"Nova Pesquisa\"\r\n >\r\n <mat-icon>insert_drive_file</mat-icon>\r\n </button>\r\n <!-- BTN_NOVA_PESQUISA -->\r\n\r\n <!-- BTN_REVERTER -->\r\n <button\r\n (click)=\"onClickReverter()\"\r\n [disabled]=\"desabilitarBotaoReverter\"\r\n color=\"primary\"\r\n id=\"btn_reverter\"\r\n mat-button\r\n matTooltip=\"Reverter\"\r\n >\r\n <mat-icon>restore</mat-icon>\r\n </button>\r\n <!-- BTN_REVERTER -->\r\n\r\n <!-- BTN_PESQUISAR -->\r\n <button\r\n (click)=\"pesquisar()\"\r\n [disabled]=\"desabilitarBotaoPesquisar\"\r\n color=\"primary\"\r\n id=\"btn_pesquisar\"\r\n mat-button\r\n matTooltip=\"Pesquisar\"\r\n >\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <!-- BTN_PESQUISAR -->\r\n\r\n <!-- BTN_ADICIONAR -->\r\n <button\r\n (click)=\"inserir()\"\r\n [disabled]=\"desabilitarBotaoAdicionar\"\r\n color=\"primary\"\r\n id=\"btn_adicionar\"\r\n mat-button\r\n matTooltip=\"Adicionar\"\r\n >\r\n <mat-icon>add_circle</mat-icon>\r\n </button>\r\n <!-- BTN_ADICIONAR -->\r\n\r\n <!-- BTN_EDITAR -->\r\n <button\r\n (click)=\"editar()\"\r\n [disabled]=\"desabilitarBotaoEditar\"\r\n color=\"primary\"\r\n id=\"btn_editar\"\r\n mat-button\r\n matTooltip=\"Editar\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <!-- BTN_EDITAR -->\r\n\r\n <!-- BTN_REMOVER -->\r\n <button\r\n (click)=\"remover()\"\r\n [disabled]=\"desabilitarBotaoRemover\"\r\n color=\"primary\"\r\n id=\"btn_remover\"\r\n mat-button\r\n matTooltip=\"Remover\"\r\n >\r\n <mat-icon>delete_forever</mat-icon>\r\n </button>\r\n <!-- BTN_REMOVER -->\r\n\r\n <!-- BTN_SALVAR -->\r\n <button\r\n (click)=\"salvar()\"\r\n [disabled]=\"desabilitarBotaoSalvar\"\r\n color=\"primary\"\r\n id=\"btn_salvar\"\r\n mat-button\r\n matTooltip=\"Salvar\"\r\n >\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n <!-- BTN_SALVAR -->\r\n </div>\r\n <!-- /A\u00C7\u00D5ES -->\r\n\r\n <!-- STATUS -->\r\n <div fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\">\r\n\r\n <!-- PROGRESS -->\r\n <mat-spinner *ngIf=\"emProgresso\"\r\n [diameter]=\"20\"></mat-spinner>\r\n <!-- PROGRESS -->\r\n\r\n <button\r\n color=\"primary\"\r\n fxHide.lt-sm\r\n id=\"btn_status\"\r\n mat-button\r\n matTooltip=\"A\u00E7\u00E3o no momento\"\r\n >\r\n {{ status }}\r\n </button>\r\n </div>\r\n <!-- STATUS -->\r\n\r\n <!-- PAGINA\u00C7\u00C3O -->\r\n <div\r\n fxFlex.sm\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <!-- BTN_PRIMEIRO -->\r\n <button\r\n (click)=\"primeiro()\"\r\n [disabled]=\"desabilitarBotoesPaginacaoRetroceder || servicoConfiguracaoBotoes?.desabilitarBotaoPrimeiro()\"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n fxFlex.sm\r\n fxHide.lt-sm\r\n id=\"btn_primeiro\"\r\n mat-button\r\n matTooltip=\"Primeiro item\"\r\n >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n <!-- BTN_PRIMEIRO -->\r\n\r\n <!-- BTN_ANTERIOR -->\r\n <button\r\n (click)=\"anterior()\"\r\n [disabled]=\"desabilitarBotoesPaginacaoRetroceder || servicoConfiguracaoBotoes?.desabilitarBotaoAnterior()\"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_anterior\"\r\n mat-button\r\n matTooltip=\"Anterior\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n <!-- BTN_ANTERIOR -->\r\n\r\n <div\r\n class=\"px-0 px-sm-12 contador-paginas\"\r\n id=\"contador_paginacao\"\r\n matTooltip=\"P\u00E1gina Atual\"\r\n >\r\n {{ entidadePaginada?.posicao }} de {{ entidadePaginada?.total }}\r\n </div>\r\n\r\n <!-- BTN_PROXIMO -->\r\n <button\r\n (click)=\"proximo()\"\r\n [disabled]=\"desabilitarBotoesPaginacaoAvancar || servicoConfiguracaoBotoes?.desabilitarBotaoProximo()\"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_proximo\"\r\n mat-button\r\n matTooltip=\"Pr\u00F3ximo\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n <!-- BTN_PROXIMO -->\r\n\r\n <!-- BTN_ULTIMO -->\r\n <button\r\n (click)=\"ultimo()\"\r\n [disabled]=\"desabilitarBotoesPaginacaoAvancar || servicoConfiguracaoBotoes?.desabilitarBotaoUltimo()\"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_ultimo\"\r\n fxFlex.sm\r\n fxHide.lt-sm\r\n mat-button\r\n matTooltip=\"\u00DAltimo\">\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n <!-- BTN_ULTIMO -->\r\n </div>\r\n <!-- /PAGINA\u00C7\u00C3O -->\r\n </div>\r\n </mat-toolbar>\r\n <!-- /DESKTOP -->\r\n\r\n <!-- MOBILE -->\r\n <mat-drawer\r\n #drawer\r\n fxFlex\r\n fxLayoutAlign=\"column\"\r\n mode=\"over\"\r\n >\r\n\r\n <!-- FECHAR SIDENAV -->\r\n <button\r\n (click)=\"drawer.toggle()\"\r\n class=\"btn-fechar-drawer\"\r\n id=\"btn_fechar_databar_mobile\"\r\n mat-icon-button\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <!-- /FECHAR SIDENAV -->\r\n\r\n <!-- STATUS -->\r\n <div class=\"pr-12\"\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"space-between center\">\r\n\r\n <div fxFlex=\"100\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <h4 class=\"pl-12\">A\u00E7\u00F5es</h4>\r\n <p class=\"texto-status\" id=\"status_mobile\">{{ status }}</p>\r\n </div>\r\n\r\n </div>\r\n <!-- /STATUS -->\r\n\r\n <!-- OPCOES -->\r\n <div\r\n class=\"px-12 overflow\"\r\n fxLayout=\"column\"\r\n fxLayoutAlign=\"start start\"\r\n >\r\n <mat-list>\r\n <!-- BTN_PRIMEIRO -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"primeiro()\"\r\n [disabled]=\"desabilitarBotoesPaginacaoRetroceder || servicoConfiguracaoBotoes?.desabilitarBotaoPrimeiro()\"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_primeiro_mobile\"\r\n matTooltip=\"Primeiro item\"\r\n >\r\n <mat-icon>first_page</mat-icon>\r\n Primeiro item\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_PRIMEIRO -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_ULTIMO -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"ultimo()\"\r\n [disabled]=\"desabilitarBotoesPaginacaoAvancar || servicoConfiguracaoBotoes?.desabilitarBotaoUltimo()\"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_ultimo_mobile\"\r\n mat-button\r\n matTooltip=\"\u00DAltimo\">\r\n <mat-icon>last_page</mat-icon>\r\n \u00DAltimo item\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_ULTIMO -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- MODO_TABELA -->\r\n <mat-list-item>\r\n <button\r\n *ngIf=\"servicoConfiguracaoBotoes?.exibirBotaoModoTabela()\"\r\n (click)=\"onClickModoTabela()\"\r\n [disabled]=\"desabilitarBotaoModoTabela\"\r\n color=\"primary\"\r\n id=\"btn_modo_tabela_mobile\"\r\n mat-button\r\n matTooltip=\"Alterar exibi\u00E7\u00E3o para tabela\"\r\n >\r\n <mat-icon>list</mat-icon>\r\n Modo tabela\r\n </button>\r\n </mat-list-item>\r\n <!-- MODO_TABELA -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_NOVA_PESQUISA -->\r\n <mat-list-item>\r\n <button (click)=\"onClickNovaPesquisa()\"\r\n [disabled]=\"servicoConfiguracaoBotoes?.desabilitarBotaoNovaPesquisa()\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_nova_pesquisa_mobile\"\r\n matTooltip=\"Nova Pesquisa\">\r\n <mat-icon>restore_page</mat-icon>\r\n Nova Pesquisa\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_NOVA_PESQUISA -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_PESQUISAR -->\r\n <mat-list-item>\r\n <button (click)=\"pesquisar()\"\r\n [disabled]=\"desabilitarBotaoPesquisar\"\r\n color=\"primary\"\r\n id=\"btn_pesquisar_mobile\"\r\n mat-button\r\n matTooltip=\"Pesquisar\">\r\n <mat-icon>search</mat-icon>\r\n Pesquisar\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_PESQUISAR -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_ADICIONAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"inserir()\"\r\n [disabled]=\"desabilitarBotaoAdicionar\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_adicionar_mobile\"\r\n matTooltip=\"Adicionar\"\r\n >\r\n <mat-icon>add_circle</mat-icon>\r\n Incluir\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_ADICIONAR -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_EDITAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"editar()\"\r\n [disabled]=\"desabilitarBotaoEditar\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_editar_mobile\"\r\n matTooltip=\"Editar\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n Editar\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_EDITAR -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_REMOVER -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"remover()\"\r\n [disabled]=\"desabilitarBotaoRemover\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_remover_mobile\"\r\n matTooltip=\"Remover\"\r\n >\r\n <mat-icon>delete_forever</mat-icon>\r\n Remover\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_REMOVER -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_SALVAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"salvar()\"\r\n [disabled]=\"desabilitarBotaoSalvar\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_salvar_mobile\"\r\n matTooltip=\"Salvar\"\r\n >\r\n <mat-icon>save</mat-icon>\r\n Salvar\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_SALVAR -->\r\n\r\n <mat-divider></mat-divider>\r\n </mat-list>\r\n </div>\r\n <!-- /OPCOES -->\r\n </mat-drawer>\r\n <!-- /MOBILE -->\r\n</div>\r\n",
761
+ template: "<div fxFlex=\"1 0 auto\" fxFlexLayout=\"space-around center\" fxLayout=\"column\">\r\n <!-- DESKTOP -->\r\n <mat-toolbar class=\"px-0 mat-elevation-z4\">\r\n <div fxFlex=\"1 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\r\n <!-- BOT\u00C3O EXIBIR DRAWER -->\r\n <mat-drawer-container fxFlex.sm fxHide.gt-sm>\r\n <button\r\n (click)=\"drawer.toggle()\"\r\n id=\"btn_exibir_databar_mobile\"\r\n mat-button\r\n type=\"button\"\r\n >\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n </mat-drawer-container>\r\n <!-- /BOT\u00C3O EXIBIR DRAWER -->\r\n\r\n <!-- A\u00C7\u00D5ES -->\r\n <div\r\n fxFlex.sm\r\n fxHide\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"space-around center\"\r\n fxShow.gt-sm\r\n >\r\n <!-- BTN_NOVA_PESQUISA -->\r\n <button\r\n (click)=\"onClickNovaPesquisa()\"\r\n [disabled]=\"servicoConfiguracaoBotoes?.desabilitarBotaoNovaPesquisa()\"\r\n color=\"primary\"\r\n id=\"btn_nova_pesquisa\"\r\n mat-button\r\n matTooltip=\"Nova Pesquisa\"\r\n >\r\n <mat-icon>insert_drive_file</mat-icon>\r\n </button>\r\n <!-- BTN_NOVA_PESQUISA -->\r\n\r\n <!-- BTN_REVERTER -->\r\n <button\r\n (click)=\"onClickReverter()\"\r\n [disabled]=\"desabilitarBotaoReverter\"\r\n color=\"primary\"\r\n id=\"btn_reverter\"\r\n mat-button\r\n matTooltip=\"Reverter\"\r\n >\r\n <mat-icon>restore</mat-icon>\r\n </button>\r\n <!-- BTN_REVERTER -->\r\n\r\n <!-- BTN_PESQUISAR -->\r\n <button\r\n (click)=\"pesquisar()\"\r\n [disabled]=\"desabilitarBotaoPesquisar\"\r\n color=\"primary\"\r\n id=\"btn_pesquisar\"\r\n mat-button\r\n matTooltip=\"Pesquisar\"\r\n >\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <!-- BTN_PESQUISAR -->\r\n\r\n <!-- BTN_ADICIONAR -->\r\n <button\r\n (click)=\"inserir()\"\r\n [disabled]=\"desabilitarBotaoAdicionar\"\r\n color=\"primary\"\r\n id=\"btn_adicionar\"\r\n mat-button\r\n matTooltip=\"Adicionar\"\r\n >\r\n <mat-icon>add_circle</mat-icon>\r\n </button>\r\n <!-- BTN_ADICIONAR -->\r\n\r\n <!-- BTN_EDITAR -->\r\n <button\r\n (click)=\"editar()\"\r\n [disabled]=\"desabilitarBotaoEditar\"\r\n color=\"primary\"\r\n id=\"btn_editar\"\r\n mat-button\r\n matTooltip=\"Editar\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <!-- BTN_EDITAR -->\r\n\r\n <!-- BTN_REMOVER -->\r\n <button\r\n (click)=\"remover()\"\r\n [disabled]=\"desabilitarBotaoRemover\"\r\n color=\"primary\"\r\n id=\"btn_remover\"\r\n mat-button\r\n matTooltip=\"Remover\"\r\n >\r\n <mat-icon>delete_forever</mat-icon>\r\n </button>\r\n <!-- BTN_REMOVER -->\r\n\r\n <!-- BTN_SALVAR -->\r\n <button\r\n (click)=\"salvar()\"\r\n [disabled]=\"desabilitarBotaoSalvar\"\r\n color=\"primary\"\r\n id=\"btn_salvar\"\r\n mat-button\r\n matTooltip=\"Salvar\"\r\n >\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n <!-- BTN_SALVAR -->\r\n </div>\r\n <!-- /A\u00C7\u00D5ES -->\r\n\r\n <!-- STATUS -->\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <!-- PROGRESS -->\r\n <mat-spinner *ngIf=\"emProgresso\" [diameter]=\"20\"></mat-spinner>\r\n <!-- PROGRESS -->\r\n\r\n <button\r\n color=\"primary\"\r\n fxHide.lt-sm\r\n id=\"btn_status\"\r\n mat-button\r\n matTooltip=\"A\u00E7\u00E3o no momento\"\r\n >\r\n {{ status }}\r\n </button>\r\n </div>\r\n <!-- STATUS -->\r\n\r\n <!-- PAGINA\u00C7\u00C3O -->\r\n <div fxFlex.sm fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <!-- BTN_PRIMEIRO -->\r\n <button\r\n (click)=\"primeiro()\"\r\n [disabled]=\"\r\n desabilitarBotoesPaginacaoRetroceder ||\r\n servicoConfiguracaoBotoes?.desabilitarBotaoPrimeiro()\r\n \"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n fxFlex.sm\r\n fxHide.lt-sm\r\n id=\"btn_primeiro\"\r\n mat-button\r\n matTooltip=\"Primeiro item\"\r\n >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n <!-- BTN_PRIMEIRO -->\r\n\r\n <!-- BTN_ANTERIOR -->\r\n <button\r\n (click)=\"anterior()\"\r\n [disabled]=\"\r\n desabilitarBotoesPaginacaoRetroceder ||\r\n servicoConfiguracaoBotoes?.desabilitarBotaoAnterior()\r\n \"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_anterior\"\r\n mat-button\r\n matTooltip=\"Anterior\"\r\n >\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n <!-- BTN_ANTERIOR -->\r\n\r\n <div\r\n class=\"px-0 px-sm-12 contador-paginas\"\r\n id=\"contador_paginacao\"\r\n matTooltip=\"P\u00E1gina Atual\"\r\n >\r\n {{ entidadePaginada?.posicao }} de {{ entidadePaginada?.total }}\r\n </div>\r\n\r\n <!-- BTN_PROXIMO -->\r\n <button\r\n (click)=\"proximo()\"\r\n [disabled]=\"\r\n desabilitarBotoesPaginacaoAvancar ||\r\n servicoConfiguracaoBotoes?.desabilitarBotaoProximo()\r\n \"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_proximo\"\r\n mat-button\r\n matTooltip=\"Pr\u00F3ximo\"\r\n >\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n <!-- BTN_PROXIMO -->\r\n\r\n <!-- BTN_ULTIMO -->\r\n <button\r\n (click)=\"ultimo()\"\r\n [disabled]=\"\r\n desabilitarBotoesPaginacaoAvancar ||\r\n servicoConfiguracaoBotoes?.desabilitarBotaoUltimo()\r\n \"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_ultimo\"\r\n fxFlex.sm\r\n fxHide.lt-sm\r\n mat-button\r\n matTooltip=\"\u00DAltimo\"\r\n >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n <!-- BTN_ULTIMO -->\r\n </div>\r\n <!-- /PAGINA\u00C7\u00C3O -->\r\n\r\n <div\r\n fxShow.gt-sm\r\n fxHide\r\n fxFlex.sm\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <!-- MODO_TABELA -->\r\n <button\r\n *ngIf=\"servicoConfiguracaoBotoes?.exibirBotaoModoTabela()\"\r\n (click)=\"onClickModoTabela()\"\r\n [disabled]=\"desabilitarBotaoModoTabela\"\r\n color=\"primary\"\r\n id=\"btn_modo_tabela\"\r\n mat-button\r\n matTooltip=\"Alterar exibi\u00E7\u00E3o para tabela\"\r\n >\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n <!-- MODO_TABELA -->\r\n </div>\r\n </div>\r\n </mat-toolbar>\r\n <!-- /DESKTOP -->\r\n\r\n <!-- MOBILE -->\r\n <mat-drawer #drawer fxFlex fxLayoutAlign=\"column\" mode=\"over\">\r\n <!-- FECHAR SIDENAV -->\r\n <button\r\n (click)=\"drawer.toggle()\"\r\n class=\"btn-fechar-drawer\"\r\n id=\"btn_fechar_databar_mobile\"\r\n mat-icon-button\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <!-- /FECHAR SIDENAV -->\r\n\r\n <!-- STATUS -->\r\n <div class=\"pr-12\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n <div fxFlex=\"100\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <h4 class=\"pl-12\">A\u00E7\u00F5es</h4>\r\n <p class=\"texto-status\" id=\"status_mobile\">{{ status }}</p>\r\n </div>\r\n </div>\r\n <!-- /STATUS -->\r\n\r\n <!-- OPCOES -->\r\n <div class=\"px-12 overflow\" fxLayout=\"column\" fxLayoutAlign=\"start start\">\r\n <mat-list>\r\n <!-- BTN_PRIMEIRO -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"primeiro()\"\r\n [disabled]=\"\r\n desabilitarBotoesPaginacaoRetroceder ||\r\n servicoConfiguracaoBotoes?.desabilitarBotaoPrimeiro()\r\n \"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_primeiro_mobile\"\r\n matTooltip=\"Primeiro item\"\r\n >\r\n <mat-icon>first_page</mat-icon>\r\n Primeiro item\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_PRIMEIRO -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_ULTIMO -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"ultimo()\"\r\n [disabled]=\"\r\n desabilitarBotoesPaginacaoAvancar ||\r\n servicoConfiguracaoBotoes?.desabilitarBotaoUltimo()\r\n \"\r\n class=\"px-0 px-sm-12\"\r\n color=\"primary\"\r\n id=\"btn_ultimo_mobile\"\r\n mat-button\r\n matTooltip=\"\u00DAltimo\"\r\n >\r\n <mat-icon>last_page</mat-icon>\r\n \u00DAltimo item\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_ULTIMO -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- MODO_TABELA -->\r\n <mat-list-item>\r\n <button\r\n *ngIf=\"servicoConfiguracaoBotoes?.exibirBotaoModoTabela()\"\r\n (click)=\"onClickModoTabela()\"\r\n [disabled]=\"desabilitarBotaoModoTabela\"\r\n color=\"primary\"\r\n id=\"btn_modo_tabela_mobile\"\r\n mat-button\r\n matTooltip=\"Alterar exibi\u00E7\u00E3o para tabela\"\r\n >\r\n <mat-icon>list</mat-icon>\r\n Modo tabela\r\n </button>\r\n </mat-list-item>\r\n <!-- MODO_TABELA -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_NOVA_PESQUISA -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"onClickNovaPesquisa()\"\r\n [disabled]=\"\r\n servicoConfiguracaoBotoes?.desabilitarBotaoNovaPesquisa()\r\n \"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_nova_pesquisa_mobile\"\r\n matTooltip=\"Nova Pesquisa\"\r\n >\r\n <mat-icon>restore_page</mat-icon>\r\n Nova Pesquisa\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_NOVA_PESQUISA -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_PESQUISAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"pesquisar()\"\r\n [disabled]=\"desabilitarBotaoPesquisar\"\r\n color=\"primary\"\r\n id=\"btn_pesquisar_mobile\"\r\n mat-button\r\n matTooltip=\"Pesquisar\"\r\n >\r\n <mat-icon>search</mat-icon>\r\n Pesquisar\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_PESQUISAR -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_ADICIONAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"inserir()\"\r\n [disabled]=\"desabilitarBotaoAdicionar\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_adicionar_mobile\"\r\n matTooltip=\"Adicionar\"\r\n >\r\n <mat-icon>add_circle</mat-icon>\r\n Incluir\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_ADICIONAR -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_EDITAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"editar()\"\r\n [disabled]=\"desabilitarBotaoEditar\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_editar_mobile\"\r\n matTooltip=\"Editar\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n Editar\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_EDITAR -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_REMOVER -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"remover()\"\r\n [disabled]=\"desabilitarBotaoRemover\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_remover_mobile\"\r\n matTooltip=\"Remover\"\r\n >\r\n <mat-icon>delete_forever</mat-icon>\r\n Remover\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_REMOVER -->\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <!-- BTN_SALVAR -->\r\n <mat-list-item>\r\n <button\r\n (click)=\"salvar()\"\r\n [disabled]=\"desabilitarBotaoSalvar\"\r\n color=\"primary\"\r\n mat-button\r\n id=\"btn_salvar_mobile\"\r\n matTooltip=\"Salvar\"\r\n >\r\n <mat-icon>save</mat-icon>\r\n Salvar\r\n </button>\r\n </mat-list-item>\r\n <!-- BTN_SALVAR -->\r\n\r\n <mat-divider></mat-divider>\r\n </mat-list>\r\n </div>\r\n <!-- /OPCOES -->\r\n </mat-drawer>\r\n <!-- /MOBILE -->\r\n</div>\r\n",
752
762
  styles: ["::ng-deep .sucesso{background:#4caf50!important;color:#fff!important}::ng-deep .sucesso button{color:#1b5e20!important;font-weight:800!important}.contador-paginas{color:#039be5;font-size:14px}@media (max-width:959px){.contador-paginas{font-size:12px}}.btn-fechar-drawer{position:absolute;right:5px;top:5px}.texto-status{color:#039be5;text-align:center}mat-toolbar{background:#fff!important;width:100%}mat-drawer-container{background:transparent!important}mat-drawer{left:0;min-width:240px}.overflow,mat-drawer,mat-list{overflow-y:auto}:host{display:flex;flex:0 0 auto;z-index:99999}:host .mat-toolbar{background:inherit;border-bottom:1px solid #e6e6e6;color:inherit}:host .mat-toolbar .pagina{font-size:10px;margin:1vm;text-align:center}:host.above{position:relative;z-index:99999999}"]
753
763
  },] }
754
764
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"inovamobil-ic-databar-lib.umd.js","sources":["../../../projects/ic-databar-lib/src/lib/enum/estatus.ts","../../../projects/ic-databar-lib/src/lib/contrato/OnInitDataBar.ts","../../../projects/ic-databar-lib/src/lib/contrato/DataBarConfigBotoesService.ts","../../../projects/ic-databar-lib/src/lib/enum/eeventoclick.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar-event-click.service.ts","../../../projects/ic-databar-lib/src/components/dialogs/error-dialog/error-dialog.component.ts","../../../projects/ic-databar-lib/src/components/dialogs/error-dialog/service/error-dialog.service.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar.service.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar-reverter.service.ts","../../../projects/ic-databar-lib/src/lib/ic-data-bar.component.ts","../../../projects/ic-databar-lib/src/components/dialogs/error-dialog/error-dialog.module.ts","../../../projects/ic-databar-lib/src/lib/ic-data-bar.module.ts","../../../projects/ic-databar-lib/src/inovamobil-ic-databar-lib.ts"],"sourcesContent":["\r\nexport enum EStatus {\r\n novaPesquisa = 'Nova pesquisa',\r\n inserindo = 'Inserindo',\r\n editando = 'Editando',\r\n removendo = 'Removendo',\r\n dadosCarregados = 'Dados carregados',\r\n pesquisando = 'Pesquisando',\r\n executarAcao = 'Executar ação',\r\n salvando = 'Salvando'\r\n}\r\n","import { IDataBarBindComponent } from './IDataBarBind';\r\nimport { Component, Directive } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { IDataEntidadePaginada } from './IDataEntidadePaginada';\r\nimport { IDataBarBindService } from './IDataBarService';\r\nimport { EStatus } from '../enum/estatus';\r\n\r\n@Directive()\r\nexport abstract class OnInitDataBar<T> implements IDataBarBindComponent<T> {\r\n form: FormGroup;\r\n entidadePaginada: IDataEntidadePaginada<T>;\r\n statusDataBar: EStatus;\r\n servicoDataBarBind: IDataBarBindService<T>;\r\n EStatus: typeof EStatus = EStatus;\r\n\r\n abstract onStatusChanged(status: EStatus): void;\r\n\r\n abstract onInit(): void;\r\n\r\n ngOnInit(): void {\r\n this.onInit();\r\n this.servicoDataBarBind.status = EStatus.novaPesquisa;\r\n }\r\n\r\n statusChanged(status: EStatus): void {\r\n this.servicoDataBarBind.status = status;\r\n this.statusDataBar = status;\r\n this.onStatusChanged(status);\r\n }\r\n\r\n public get inserindoOuEditando(): boolean {\r\n return this.statusDataBar === EStatus.inserindo ||\r\n this.statusDataBar === EStatus.editando;\r\n }\r\n\r\n public get inserindo(): boolean {\r\n return this.statusDataBar === EStatus.inserindo;\r\n }\r\n\r\n public get editando(): boolean {\r\n return this.statusDataBar === EStatus.editando;\r\n }\r\n\r\n public get editandoOuRemovendo(): boolean {\r\n return (this.statusDataBar === EStatus.editando || this.statusDataBar === EStatus.removendo);\r\n }\r\n}\r\n","export abstract class DataBarConfigBotoesService {\r\n desabilitarBotaoNovaPesquisa(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoReverter(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoPesquisar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoEditar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoAdicionar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoRemover(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoSalvar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoPrimeiro(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoAnterior(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoProximo(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoUltimo(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoModoTabela(...args): boolean {\r\n return false;\r\n }\r\n\r\n exibirBotaoModoTabela(...args): boolean {\r\n return false;\r\n }\r\n}\r\n","export enum EEventoClick {\r\n onClickInserir = 'onInserir',\r\n afterClickInserir = 'afterClickInserir',\r\n onClickReverter = \"onReverter\",\r\n afterClickReverter = \"afterClickReverter\",\r\n onClickNovaPesquisa = 'onNovaPesquisa',\r\n afterClickNovaPesquisa = 'afterClickNovaPesquisa',\r\n onClickEditar = 'onEditar',\r\n afterClickEditar = 'afterClickEditar',\r\n onClickRemover = 'onRemover',\r\n afterClickRemover = 'afterClickRemover',\r\n onClickSalvar = 'onClickSalvar',\r\n afterClickSalvar = 'afterClickSalvar',\r\n onClickModoTabela= 'onClickModoTabela'\r\n}\r\n\r\n","import { EEventoClick } from '../enum/eeventoclick';\r\n\r\nexport class DatabarEventClickService {\r\n\r\n constructor(private onEvent: (event: EEventoClick) => void) {}\r\n \r\n emitir(evento: EEventoClick): void {\r\n this.onEvent(evento);\r\n }\r\n\r\n}\r\n","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Inject, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'confirma-dialog',\r\n templateUrl: './view/error-dialog.html',\r\n})\r\nexport class ErrorDialogComponent {\r\n\r\n mensagem: string;\r\n titulo: string;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<ErrorDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.mensagem = data.mensagem;\r\n this.titulo = data.titulo;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","import { MatDialogConfig, MatDialog } from '@angular/material/dialog';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ErrorDialogComponent } from '../error-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class ErrorDialogService {\r\n\r\n dialogRef: any;\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n openDialog(titulo: string, mensagem: string): void {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n\r\n dialogConfig.data = {\r\n titulo: titulo,\r\n mensagem: mensagem\r\n };\r\n\r\n dialogConfig.minWidth = '300px';\r\n\r\n this.dialogRef = this.dialog.open(ErrorDialogComponent, dialogConfig);\r\n\r\n }\r\n\r\n closeDialog(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { IDataEntidadePaginada } from '../contrato/IDataEntidadePaginada';\r\nimport { IDatabarBindOnClickService, EEventoClick } from '../../public-api';\r\n\r\n@Injectable()\r\nexport class DatabarService {\r\n\r\n\r\n constructor() { }\r\n\r\n public desabilitarForm(form: FormGroup): void {\r\n form.disable({ emitEvent: false, onlySelf: true });\r\n }\r\n\r\n public habilitarForm(form: FormGroup): void {\r\n form.enable({ emitEvent: false, onlySelf: true });\r\n }\r\n\r\n public resetForm(form: FormGroup, entidadePaginada: IDataEntidadePaginada<any>): void {\r\n form.reset({ emitEvent: false, onlySelf: true });\r\n entidadePaginada.entidade = null;\r\n entidadePaginada.posicao = 0;\r\n entidadePaginada.total = 0;\r\n }\r\n\r\n public emitirEventoClick<T>(servico: IDatabarBindOnClickService<T>, evento: EEventoClick): void {\r\n if (servico.eventDatabar) {\r\n servico.eventDatabar.emitir(evento);\r\n }\r\n }\r\n\r\n definirProgresso(form: FormGroup, progresso: boolean): boolean {\r\n if (!form)\r\n return;\r\n\r\n if (progresso)\r\n this.desabilitarForm(form);\r\n else\r\n this.habilitarForm(form);\r\n\r\n return progresso;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { EStatus } from '../enum/estatus';\r\nimport { IDataEntidadePaginada } from '../contrato/IDataEntidadePaginada';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { IDataBarReverterService } from '../contrato/IDataBarReverterService';\r\n\r\n@Injectable()\r\nexport class IcDatabarReverterService<T> implements IDataBarReverterService<T>{\r\n\r\n private _statusAnterior: EStatus;\r\n private _dadosAnterioresFormulario: T;\r\n private _entidadePaginadaAnterior: IDataEntidadePaginada<T>;\r\n\r\n get statusAnterior(): EStatus {\r\n return this._statusAnterior;\r\n }\r\n\r\n public setDadosAnteriores(status: EStatus, formularo: FormGroup, entidadePaginada: IDataEntidadePaginada<T>): void {\r\n this._entidadePaginadaAnterior = {\r\n entidade: entidadePaginada.entidade,\r\n posicao: entidadePaginada.posicao,\r\n quantidade: entidadePaginada.quantidade,\r\n total: entidadePaginada.total\r\n } as IDataEntidadePaginada<T>;\r\n\r\n this._dadosAnterioresFormulario = formularo.getRawValue();\r\n this._statusAnterior = status;\r\n }\r\n\r\n public restaurarDadosAnteriores(formulario: FormGroup): IDataEntidadePaginada<T> {\r\n formulario.patchValue(this._dadosAnterioresFormulario);\r\n return this._entidadePaginadaAnterior;\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n ViewChild,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatDrawer } from '@angular/material/sidenav';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { IcConfirmaDialogService } from '@inovamobil/ic-confirma-dialog';\r\nimport { IcmSnackBarService } from '@inovamobil/icm-snackbar';\r\n\r\nimport { IDataEntidadePaginada } from './contrato/IDataEntidadePaginada';\r\nimport { IDataBarBindService } from './contrato/IDataBarService';\r\nimport { EStatus } from './enum/estatus';\r\nimport { EEventoClick } from './enum/eeventoclick';\r\nimport { IDatabarBindOnClickService } from './contrato/IDataBarBindOnClickService';\r\nimport { IDatabarBindStatusService } from '../public-api';\r\nimport { ErrorDialogService } from '../components/dialogs/error-dialog/service/error-dialog.service';\r\nimport { ACAO_PAGINACAO } from './constants/ic-databar.constants';\r\nimport { DatabarService } from './services/ic-databar.service';\r\nimport { IcDatabarReverterService } from './services/ic-databar-reverter.service';\r\nimport { IDataBarReverterService } from './contrato/IDataBarReverterService';\r\nimport { DataBarConfigBotoesService } from './contrato/DataBarConfigBotoesService';\r\n\r\n@Component({\r\n selector: 'ic-data-bar',\r\n templateUrl: './view/ic-data-bar.component.html',\r\n styleUrls: ['./view/ic-data-bar.component.scss']\r\n})\r\nexport class DataBarComponent<T> implements OnInit, OnDestroy {\r\n @Input() servicoBind: IDataBarBindService<T> | IDatabarBindStatusService<T> | IDatabarBindOnClickService<T>;\r\n @Input() form: FormGroup;\r\n @Input() entidadePaginada: IDataEntidadePaginada<T>;\r\n @Input() disabled = false;\r\n @Input() servicoConfiguracaoBotoes: DataBarConfigBotoesService;\r\n @Input() set servicoReverter(servico: IDataBarReverterService<T>) {\r\n this._servicoReverter = servico;\r\n };\r\n\r\n @Output() statusChanged = new EventEmitter<EStatus>();\r\n\r\n public status: EStatus;\r\n public EStatus = EStatus;\r\n public emProgresso = false;\r\n private _servicoReverter: IDataBarReverterService<T>;\r\n private $setStatus: Subscription;\r\n\r\n @ViewChild('drawer', { static: false }) drawer: MatDrawer;\r\n\r\n constructor(\r\n private _dialog: IcConfirmaDialogService,\r\n private _dialogErro: ErrorDialogService,\r\n private _elementRef: ElementRef,\r\n private _databarService: DatabarService,\r\n private _snackBarService: IcmSnackBarService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.validarPropertsObrigatorias();\r\n this.setProgresso(false);\r\n this.novaPesquisa();\r\n this._submeterFormularioOnEnter();\r\n this.observarSetStatus();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.servicoBind.onClickEnter)\r\n this.servicoBind.onClickEnter.unsubscribe();\r\n\r\n if (this.$setStatus)\r\n this.$setStatus.unsubscribe();\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n fecharSidenav(event): void {\r\n if (this._elementRef.nativeElement.contains(event.target)) {\r\n return;\r\n }\r\n this.drawer.close();\r\n }\r\n\r\n get inserindoOuEditando(): boolean {\r\n return (this.status === EStatus.inserindo ||\r\n this.status === EStatus.editando)\r\n }\r\n\r\n get desabilitarBotaoModoTabela(): boolean {\r\n return this.status == EStatus.inserindo ||\r\n this.status == EStatus.editando ||\r\n this.emProgresso ||\r\n this.form.invalid ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoModoTabela();\r\n }\r\n\r\n get desabilitarBotaoPesquisar(): boolean {\r\n return this.status == EStatus.inserindo ||\r\n this.status == EStatus.editando ||\r\n this.status == EStatus.dadosCarregados ||\r\n this.emProgresso ||\r\n this.form.invalid ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoPesquisar();\r\n }\r\n\r\n get desabilitarBotaoReverter(): boolean {\r\n return this.status == EStatus.novaPesquisa ||\r\n this.status == EStatus.executarAcao ||\r\n this.status == EStatus.dadosCarregados ||\r\n this.emProgresso ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoReverter();\r\n }\r\n\r\n get desabilitarBotaoAdicionar(): boolean {\r\n return this.status == EStatus.editando ||\r\n this.status == EStatus.inserindo ||\r\n this.emProgresso ||\r\n this.disabled ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoAdicionar();\r\n }\r\n\r\n get desabilitarBotaoEditar(): boolean {\r\n return this.status == EStatus.inserindo ||\r\n this.status == EStatus.novaPesquisa ||\r\n this.status == EStatus.executarAcao ||\r\n this.status == EStatus.pesquisando ||\r\n this.status == EStatus.editando ||\r\n this.emProgresso ||\r\n this.disabled ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoEditar();\r\n }\r\n\r\n get desabilitarBotaoRemover(): boolean {\r\n return !this.entidadePaginada?.entidade ||\r\n this.status != EStatus.dadosCarregados ||\r\n this.emProgresso ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoRemover();\r\n }\r\n\r\n get desabilitarBotaoSalvar(): boolean {\r\n return this.form?.invalid ||\r\n (this.status != EStatus.inserindo && this.status != EStatus.editando) ||\r\n this.emProgresso ||\r\n this.disabled ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoSalvar();\r\n }\r\n\r\n get desabilitarBotoesPaginacaoRetroceder(): boolean {\r\n return this.inserindoOuEditando ||\r\n this.entidadePaginada.posicao <= 1 ||\r\n this.emProgresso;\r\n }\r\n\r\n get desabilitarBotoesPaginacaoAvancar(): boolean {\r\n return this.inserindoOuEditando ||\r\n this.entidadePaginada.posicao >= this.entidadePaginada.total ||\r\n this.emProgresso;\r\n }\r\n\r\n onClickReverter(): void {\r\n this._emitirEventoClick(EEventoClick.onClickReverter);\r\n this._reverter();\r\n this._emitirEventoClick(EEventoClick.afterClickReverter);\r\n }\r\n\r\n onClickModoTabela(): void {\r\n this._emitirEventoClick(EEventoClick.onClickModoTabela);\r\n }\r\n\r\n onClickNovaPesquisa(): void {\r\n this._emitirEventoClick(EEventoClick.onClickNovaPesquisa);\r\n this.novaPesquisa();\r\n this._emitirEventoClick(EEventoClick.afterClickNovaPesquisa);\r\n }\r\n\r\n novaPesquisa(): void {\r\n this._databarService.habilitarForm(this.form);\r\n this.form.reset({ emitEvent: false, onlySelf: true });\r\n this.entidadePaginada.entidade = this.form.value;\r\n this.entidadePaginada.posicao = 0;\r\n this.entidadePaginada.total = 0;\r\n this.setStatus(EStatus.novaPesquisa);\r\n }\r\n\r\n pesquisar(): void {\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n this._setDadosAnteriores();\r\n this.setStatus(EStatus.pesquisando);\r\n this.entidadePaginada.entidade = [].concat(this._getEntidade());\r\n this._paginar();\r\n this.drawer.close();\r\n }\r\n\r\n inserir(): void {\r\n this._emitirEventoClick(EEventoClick.onClickInserir);\r\n this._clickInserir();\r\n this._emitirEventoClick(EEventoClick.afterClickInserir);\r\n }\r\n\r\n editar(): void {\r\n this._emitirEventoClick(EEventoClick.onClickEditar);\r\n this._clickEditar();\r\n this._emitirEventoClick(EEventoClick.afterClickEditar);\r\n }\r\n\r\n remover(): void {\r\n this._emitirEventoClick(EEventoClick.onClickRemover);\r\n this._clickRemover();\r\n this._emitirEventoClick(EEventoClick.afterClickRemover);\r\n }\r\n\r\n proximo(): void {\r\n this._paginar('proximo');\r\n }\r\n\r\n anterior(): void {\r\n this._paginar('anterior');\r\n }\r\n\r\n ultimo(): void {\r\n this._paginar('ultimo');\r\n }\r\n\r\n primeiro(): void {\r\n this._paginar('primeiro');\r\n }\r\n\r\n salvar(): void {\r\n this._emitirEventoClick(EEventoClick.onClickSalvar);\r\n\r\n switch (this.status) {\r\n case EStatus.inserindo:\r\n this._inserir();\r\n break;\r\n\r\n case EStatus.editando:\r\n this._editar();\r\n break;\r\n }\r\n }\r\n\r\n private _inserir(): void {\r\n this.setStatus(EStatus.salvando);\r\n this.setProgresso(true);\r\n this.servicoBind.criar()\r\n .pipe(finalize(() => {\r\n this._emitirEventoClick(EEventoClick.afterClickSalvar);\r\n }))\r\n .subscribe(\r\n success => {\r\n this.setProgresso(false);\r\n\r\n this._snackBarService.abrirSnackBarSucesso('Registro salvo com sucesso!');\r\n\r\n this.form.patchValue(success);\r\n\r\n this.setStatus(EStatus.dadosCarregados);\r\n\r\n this.drawer.close();\r\n\r\n this._databarService.desabilitarForm(this.form);\r\n },\r\n () => {\r\n this.setProgresso(false);\r\n this.setStatus(EStatus.inserindo);\r\n });\r\n }\r\n\r\n private _editar(): void {\r\n this.setStatus(EStatus.salvando);\r\n this.setProgresso(true);\r\n this.servicoBind.editar()\r\n .pipe(finalize(() => {\r\n this._emitirEventoClick(EEventoClick.afterClickSalvar);\r\n }))\r\n .subscribe(\r\n success => {\r\n this._snackBarService.abrirSnackBarSucesso('Registro editado com sucesso!');\r\n\r\n this.form.patchValue(success);\r\n\r\n this.setProgresso(false)\r\n\r\n this.setStatus(EStatus.dadosCarregados);\r\n\r\n this._databarService.desabilitarForm(this.form);\r\n\r\n this.drawer.close();\r\n },\r\n () => {\r\n this.setProgresso(false);\r\n this.setStatus(EStatus.editando);\r\n });\r\n }\r\n\r\n private observarSetStatus(): void {\r\n if ((this.servicoBind as IDatabarBindStatusService<T>).setStatus) {\r\n this.$setStatus = (this.servicoBind as IDatabarBindStatusService<T>).setStatus\r\n .subscribe(status => {\r\n switch (status) {\r\n case EStatus.editando:\r\n this.editar();\r\n this.emProgresso = false;\r\n break;\r\n case EStatus.inserindo:\r\n this.inserir();\r\n this.emProgresso = false;\r\n break;\r\n case EStatus.pesquisando:\r\n this.pesquisar();\r\n break;\r\n case EStatus.novaPesquisa:\r\n this.novaPesquisa();\r\n break;\r\n case EStatus.removendo:\r\n this.remover();\r\n break;\r\n case EStatus.dadosCarregados:\r\n this.status = EStatus.dadosCarregados;\r\n this.emProgresso = false;\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private retornarServicoReverter(): IDataBarReverterService<T> {\r\n if (this._servicoReverter == null)\r\n this._servicoReverter = new IcDatabarReverterService();\r\n\r\n return this._servicoReverter;\r\n }\r\n\r\n private _setDadosAnteriores(): void {\r\n this.retornarServicoReverter().setDadosAnteriores(this.status, this.form, this.entidadePaginada);\r\n }\r\n\r\n private _reverter(): void {\r\n this._emitirEventoClick(EEventoClick.onClickReverter);\r\n this.entidadePaginada = this.retornarServicoReverter().restaurarDadosAnteriores(this.form);\r\n const statusAnterior = this.retornarServicoReverter().statusAnterior;\r\n\r\n if (statusAnterior == EStatus.dadosCarregados)\r\n this._databarService.desabilitarForm(this.form);\r\n else\r\n this._databarService.habilitarForm(this.form);\r\n\r\n this.setStatus(statusAnterior);\r\n this._emitirEventoClick(EEventoClick.afterClickReverter);\r\n }\r\n\r\n private _resetarContadorPaginacao(): void {\r\n this.entidadePaginada.posicao = 0;\r\n this.entidadePaginada.total = 0;\r\n }\r\n\r\n private validarPropertsObrigatorias(): any {\r\n if (this.servicoBind == null) {\r\n throw new Error('É obrigatório ter um serviço de bind vinculado.');\r\n }\r\n\r\n if (this.entidadePaginada == null) {\r\n throw new Error(\r\n 'É obrigatório ter uma entidade paginada vinculada.'\r\n );\r\n }\r\n }\r\n\r\n private setStatus(status: EStatus): void {\r\n if (!status) {\r\n return;\r\n }\r\n this.status = status;\r\n this.statusChanged.emit(this.status);\r\n }\r\n\r\n private _getEntidade(): T {\r\n const result = this.form.getRawValue() as T;\r\n return result;\r\n }\r\n\r\n private _submeterFormularioOnEnter(): void {\r\n if (!this.servicoBind.onClickEnter)\r\n return;\r\n this.servicoBind.onClickEnter.subscribe(() => {\r\n if (this.status === EStatus.novaPesquisa && this.form.valid) {\r\n this.pesquisar();\r\n }\r\n });\r\n }\r\n\r\n private _clickInserir(): void {\r\n this._setDadosAnteriores();\r\n this._resetarContadorPaginacao();\r\n this._databarService.habilitarForm(this.form);\r\n this.form.reset({ emitEvent: false, onlySelf: true });\r\n this.form.markAllAsTouched();\r\n this.drawer.close();\r\n this.setStatus(EStatus.inserindo);\r\n }\r\n\r\n private _clickEditar(): void {\r\n this._setDadosAnteriores();\r\n this._databarService.habilitarForm(this.form);\r\n\r\n this.form.markAllAsTouched();\r\n this.drawer.close();\r\n this.setStatus(EStatus.editando);\r\n }\r\n\r\n private _clickRemover(): void {\r\n this.setStatus(EStatus.removendo);\r\n this._exibirDialogConfirmacao();\r\n this.drawer.close();\r\n }\r\n\r\n private _emitirEventoClick(evento: EEventoClick): void {\r\n return this._databarService.emitirEventoClick<T>((this.servicoBind as IDatabarBindOnClickService<T>), evento);\r\n }\r\n\r\n private _acaoCloseDialogConfirmacao(): void {\r\n this._dialog.emProgresso = false;\r\n this._dialog.closeDialog();\r\n this.setStatus(EStatus.dadosCarregados);\r\n }\r\n\r\n private _exibirDialogConfirmacao(): void {\r\n this._dialog.acaoMensagem = 'Removendo registro...';\r\n this._dialog.acaoOk = () =>\r\n this.servicoBind.remover().subscribe(\r\n () => {\r\n this._dialog.closeDialog();\r\n this.novaPesquisa();\r\n this._dialog.emProgresso = false;\r\n this._snackBarService.abrirSnackBarSucesso('Removido com sucesso!');\r\n },\r\n () => this._acaoCloseDialogConfirmacao()\r\n );\r\n this._dialog.acaoCancelar = () => {\r\n this._acaoCloseDialogConfirmacao();\r\n };\r\n\r\n this._dialog.openDialog(\r\n 'Atenção!',\r\n 'Você realmente deseja excluir este registro?'\r\n );\r\n }\r\n\r\n private _paginar(acao?: ACAO_PAGINACAO): void {\r\n this.setStatus(EStatus.pesquisando);\r\n\r\n if (this.entidadePaginada.entidade == null) {\r\n this.entidadePaginada.entidade = [].concat(this._getEntidade());\r\n }\r\n\r\n const posicaoAnterior = this.entidadePaginada.posicao;\r\n\r\n switch (acao) {\r\n case 'primeiro':\r\n this.entidadePaginada.posicao = 1;\r\n break;\r\n case 'ultimo':\r\n this.entidadePaginada.posicao = this.entidadePaginada.total;\r\n break;\r\n case 'proximo':\r\n this.entidadePaginada.posicao++;\r\n break;\r\n case 'anterior':\r\n this.entidadePaginada.posicao--;\r\n break;\r\n default:\r\n this.entidadePaginada.posicao = 0;\r\n break;\r\n }\r\n\r\n this.setProgresso(true);\r\n\r\n this.servicoBind.listarPaginacao(this.entidadePaginada).subscribe(\r\n success => {\r\n this.setProgresso(false);\r\n\r\n if (success == null) {\r\n this._dialogErro.openDialog(\r\n 'Atenção!',\r\n 'Nenhum registro foi encontrado.'\r\n );\r\n this.setStatus(EStatus.novaPesquisa);\r\n return;\r\n }\r\n\r\n if (success.entidade == null) {\r\n this._databarService.resetForm(this.form, this.entidadePaginada);\r\n this.setStatus(EStatus.novaPesquisa);\r\n return;\r\n }\r\n\r\n this.setStatus(EStatus.dadosCarregados);\r\n\r\n if (!this.entidadePaginada.entidade) {\r\n this.entidadePaginada = success;\r\n } else {\r\n this.entidadePaginada.total = success.total;\r\n this.entidadePaginada.posicao = success.posicao;\r\n }\r\n\r\n this.form.patchValue(success.entidade[0]);\r\n\r\n this.setProgresso(false);\r\n\r\n this._databarService.desabilitarForm(this.form);\r\n },\r\n error => {\r\n console.error('erro paginação', error);\r\n this.setStatus(EStatus.dadosCarregados);\r\n this.entidadePaginada.posicao = posicaoAnterior;\r\n this.setProgresso(false);\r\n this._databarService.desabilitarForm(this.form);\r\n });\r\n }\r\n\r\n private setProgresso(progresso: boolean): void {\r\n this.emProgresso = this._databarService.definirProgresso(this.form, progresso);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { ErrorDialogComponent } from './error-dialog.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ErrorDialogComponent],\r\n imports: [\r\n MatDialogModule\r\n ],\r\n exports: [ErrorDialogComponent],\r\n entryComponents: [ErrorDialogComponent]\r\n})\r\nexport class ErrorDialogModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { IcConfirmaDialogModule } from '@inovamobil/ic-confirma-dialog';\r\nimport { DataBarComponent } from './ic-data-bar.component';\r\nimport { ErrorDialogModule } from '../components/dialogs/error-dialog/error-dialog.module';\r\nimport { DatabarService } from './services/ic-databar.service';\r\nimport { IcmSnackBarModule } from '@inovamobil/icm-snackbar';\r\n\r\n@NgModule({\r\n declarations: [DataBarComponent],\r\n imports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatDividerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n FlexLayoutModule,\r\n IcConfirmaDialogModule,\r\n ErrorDialogModule,\r\n IcmSnackBarModule\r\n ],\r\n exports: [DataBarComponent],\r\n providers: [DatabarService]\r\n})\r\nexport class DataBarModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ErrorDialogComponent as ɵd} from './components/dialogs/error-dialog/error-dialog.component';\nexport {ErrorDialogModule as ɵc} from './components/dialogs/error-dialog/error-dialog.module';\nexport {ErrorDialogService as ɵa} from './components/dialogs/error-dialog/service/error-dialog.service';\nexport {DatabarService as ɵb} from './lib/services/ic-databar.service';"],"names":["EStatus","Directive","EEventoClick","Component","MatDialogRef","Inject","MAT_DIALOG_DATA","MatDialogConfig","Injectable","MatDialog","EventEmitter","finalize","IcConfirmaDialogService","ElementRef","IcmSnackBarService","Input","Output","ViewChild","HostListener","NgModule","MatDialogModule","CommonModule","MatToolbarModule","MatListModule","MatSidenavModule","MatIconModule","MatProgressSpinnerModule","MatDividerModule","MatButtonModule","MatTooltipModule","FlexLayoutModule","IcConfirmaDialogModule","IcmSnackBarModule"],"mappings":"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"}
1
+ {"version":3,"file":"inovamobil-ic-databar-lib.umd.js","sources":["../../../projects/ic-databar-lib/src/lib/enum/estatus.ts","../../../projects/ic-databar-lib/src/lib/contrato/OnInitDataBar.ts","../../../projects/ic-databar-lib/src/lib/contrato/DataBarConfigBotoesService.ts","../../../projects/ic-databar-lib/src/lib/enum/eeventoclick.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar-event-click.service.ts","../../../projects/ic-databar-lib/src/components/dialogs/error-dialog/error-dialog.component.ts","../../../projects/ic-databar-lib/src/components/dialogs/error-dialog/service/error-dialog.service.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar.service.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar-reverter.service.ts","../../../projects/ic-databar-lib/src/lib/ic-data-bar.component.ts","../../../projects/ic-databar-lib/src/components/dialogs/error-dialog/error-dialog.module.ts","../../../projects/ic-databar-lib/src/lib/ic-data-bar.module.ts","../../../projects/ic-databar-lib/src/inovamobil-ic-databar-lib.ts"],"sourcesContent":["\r\nexport enum EStatus {\r\n novaPesquisa = 'Nova pesquisa',\r\n inserindo = 'Inserindo',\r\n editando = 'Editando',\r\n removendo = 'Removendo',\r\n dadosCarregados = 'Dados carregados',\r\n pesquisando = 'Pesquisando',\r\n executarAcao = 'Executar ação',\r\n salvando = 'Salvando'\r\n}\r\n","import { IDataBarBindComponent } from './IDataBarBind';\r\nimport { Component, Directive } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { IDataEntidadePaginada } from './IDataEntidadePaginada';\r\nimport { IDataBarBindService } from './IDataBarService';\r\nimport { EStatus } from '../enum/estatus';\r\n\r\n@Directive()\r\nexport abstract class OnInitDataBar<T> implements IDataBarBindComponent<T> {\r\n form: FormGroup;\r\n entidadePaginada: IDataEntidadePaginada<T>;\r\n statusDataBar: EStatus;\r\n servicoDataBarBind: IDataBarBindService<T>;\r\n EStatus: typeof EStatus = EStatus;\r\n\r\n abstract onStatusChanged(status: EStatus): void;\r\n\r\n abstract onInit(): void;\r\n\r\n ngOnInit(): void {\r\n this.onInit();\r\n this.servicoDataBarBind.status = EStatus.novaPesquisa;\r\n }\r\n\r\n statusChanged(status: EStatus): void {\r\n this.servicoDataBarBind.status = status;\r\n this.statusDataBar = status;\r\n this.onStatusChanged(status);\r\n }\r\n\r\n public get inserindoOuEditando(): boolean {\r\n return this.statusDataBar === EStatus.inserindo ||\r\n this.statusDataBar === EStatus.editando;\r\n }\r\n\r\n public get inserindo(): boolean {\r\n return this.statusDataBar === EStatus.inserindo;\r\n }\r\n\r\n public get editando(): boolean {\r\n return this.statusDataBar === EStatus.editando;\r\n }\r\n\r\n public get editandoOuRemovendo(): boolean {\r\n return (this.statusDataBar === EStatus.editando || this.statusDataBar === EStatus.removendo);\r\n }\r\n}\r\n","export abstract class DataBarConfigBotoesService {\r\n desabilitarBotaoNovaPesquisa(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoReverter(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoPesquisar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoEditar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoAdicionar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoRemover(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoSalvar(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoPrimeiro(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoAnterior(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoProximo(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoUltimo(...args): boolean {\r\n return false;\r\n }\r\n\r\n desabilitarBotaoModoTabela(...args): boolean {\r\n return false;\r\n }\r\n\r\n exibirBotaoModoTabela(...args): boolean {\r\n return false;\r\n }\r\n}\r\n","export enum EEventoClick {\r\n onClickInserir = 'onInserir',\r\n afterClickInserir = 'afterClickInserir',\r\n onClickReverter = \"onReverter\",\r\n afterClickReverter = \"afterClickReverter\",\r\n onClickNovaPesquisa = 'onNovaPesquisa',\r\n afterClickNovaPesquisa = 'afterClickNovaPesquisa',\r\n onClickEditar = 'onEditar',\r\n afterClickEditar = 'afterClickEditar',\r\n onClickRemover = 'onRemover',\r\n afterClickRemover = 'afterClickRemover',\r\n onClickSalvar = 'onClickSalvar',\r\n afterClickSalvar = 'afterClickSalvar',\r\n onClickModoTabela= 'onClickModoTabela'\r\n}\r\n\r\n","import { EEventoClick } from '../enum/eeventoclick';\r\n\r\nexport class DatabarEventClickService {\r\n\r\n constructor(private onEvent: (event: EEventoClick) => void) {}\r\n \r\n emitir(evento: EEventoClick): void {\r\n this.onEvent(evento);\r\n }\r\n\r\n}\r\n","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Inject, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'confirma-dialog',\r\n templateUrl: './view/error-dialog.html',\r\n styleUrls: ['./view/error-dialog.scss']\r\n})\r\nexport class ErrorDialogComponent {\r\n\r\n mensagem: string;\r\n titulo: string;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<ErrorDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.mensagem = data.mensagem;\r\n this.titulo = data.titulo;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","import { MatDialogConfig, MatDialog } from '@angular/material/dialog';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ErrorDialogComponent } from '../error-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class ErrorDialogService {\r\n\r\n dialogRef: any;\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n openDialog(titulo: string, mensagem: string): void {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n\r\n dialogConfig.data = {\r\n titulo: titulo,\r\n mensagem: mensagem\r\n };\r\n\r\n dialogConfig.minWidth = '300px';\r\n\r\n this.dialogRef = this.dialog.open(ErrorDialogComponent, dialogConfig);\r\n\r\n }\r\n\r\n closeDialog(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { IDataEntidadePaginada } from '../contrato/IDataEntidadePaginada';\r\nimport { IDatabarBindOnClickService, EEventoClick } from '../../public-api';\r\n\r\n@Injectable()\r\nexport class DatabarService {\r\n\r\n\r\n constructor() { }\r\n\r\n public desabilitarForm(form: FormGroup): void {\r\n form.disable({ emitEvent: false, onlySelf: true });\r\n }\r\n\r\n public habilitarForm(form: FormGroup): void {\r\n form.enable({ emitEvent: false, onlySelf: true });\r\n }\r\n\r\n public resetForm(form: FormGroup, entidadePaginada: IDataEntidadePaginada<any>): void {\r\n form.reset({ emitEvent: false, onlySelf: true });\r\n entidadePaginada.entidade = null;\r\n entidadePaginada.posicao = 0;\r\n entidadePaginada.total = 0;\r\n }\r\n\r\n public emitirEventoClick<T>(servico: IDatabarBindOnClickService<T>, evento: EEventoClick): void {\r\n if (servico.eventDatabar) {\r\n servico.eventDatabar.emitir(evento);\r\n }\r\n }\r\n\r\n definirProgresso(form: FormGroup, progresso: boolean): boolean {\r\n if (!form)\r\n return;\r\n\r\n if (progresso)\r\n this.desabilitarForm(form);\r\n else\r\n this.habilitarForm(form);\r\n\r\n return progresso;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { EStatus } from '../enum/estatus';\r\nimport { IDataEntidadePaginada } from '../contrato/IDataEntidadePaginada';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { IDataBarReverterService } from '../contrato/IDataBarReverterService';\r\n\r\n@Injectable()\r\nexport class IcDatabarReverterService<T> implements IDataBarReverterService<T>{\r\n\r\n private _statusAnterior: EStatus;\r\n private _dadosAnterioresFormulario: T;\r\n private _entidadePaginadaAnterior: IDataEntidadePaginada<T>;\r\n\r\n get statusAnterior(): EStatus {\r\n return this._statusAnterior;\r\n }\r\n\r\n public setDadosAnteriores(status: EStatus, formularo: FormGroup, entidadePaginada: IDataEntidadePaginada<T>): void {\r\n this._entidadePaginadaAnterior = {\r\n entidade: entidadePaginada.entidade,\r\n posicao: entidadePaginada.posicao,\r\n quantidade: entidadePaginada.quantidade,\r\n total: entidadePaginada.total\r\n } as IDataEntidadePaginada<T>;\r\n\r\n this._dadosAnterioresFormulario = formularo.getRawValue();\r\n this._statusAnterior = status;\r\n }\r\n\r\n public restaurarDadosAnteriores(formulario: FormGroup): IDataEntidadePaginada<T> {\r\n formulario.patchValue(this._dadosAnterioresFormulario);\r\n return this._entidadePaginadaAnterior;\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n ViewChild,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatDrawer } from '@angular/material/sidenav';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { IcConfirmaDialogService } from '@inovamobil/ic-confirma-dialog';\r\nimport { IcmSnackBarService } from '@inovamobil/icm-snackbar';\r\n\r\nimport { IDataEntidadePaginada } from './contrato/IDataEntidadePaginada';\r\nimport { IDataBarBindService } from './contrato/IDataBarService';\r\nimport { EStatus } from './enum/estatus';\r\nimport { EEventoClick } from './enum/eeventoclick';\r\nimport { IDatabarBindOnClickService } from './contrato/IDataBarBindOnClickService';\r\nimport { IDatabarBindStatusService } from '../public-api';\r\nimport { ErrorDialogService } from '../components/dialogs/error-dialog/service/error-dialog.service';\r\nimport { ACAO_PAGINACAO } from './constants/ic-databar.constants';\r\nimport { DatabarService } from './services/ic-databar.service';\r\nimport { IcDatabarReverterService } from './services/ic-databar-reverter.service';\r\nimport { IDataBarReverterService } from './contrato/IDataBarReverterService';\r\nimport { DataBarConfigBotoesService } from './contrato/DataBarConfigBotoesService';\r\n\r\n@Component({\r\n selector: 'ic-data-bar',\r\n templateUrl: './view/ic-data-bar.component.html',\r\n styleUrls: ['./view/ic-data-bar.component.scss'],\r\n})\r\nexport class DataBarComponent<T> implements OnInit, OnDestroy {\r\n @Input() servicoBind:\r\n | IDataBarBindService<T>\r\n | IDatabarBindStatusService<T>\r\n | IDatabarBindOnClickService<T>;\r\n @Input() form: FormGroup;\r\n @Input() entidadePaginada: IDataEntidadePaginada<T>;\r\n @Input() disabled = false;\r\n @Input() servicoConfiguracaoBotoes: DataBarConfigBotoesService;\r\n @Input() set servicoReverter(servico: IDataBarReverterService<T>) {\r\n this._servicoReverter = servico;\r\n }\r\n\r\n @Output() statusChanged = new EventEmitter<EStatus>();\r\n\r\n public status: EStatus;\r\n public EStatus = EStatus;\r\n public emProgresso = false;\r\n private _servicoReverter: IDataBarReverterService<T>;\r\n private $setStatus: Subscription;\r\n\r\n @ViewChild('drawer', { static: false }) drawer: MatDrawer;\r\n\r\n constructor(\r\n private _dialog: IcConfirmaDialogService,\r\n private _dialogErro: ErrorDialogService,\r\n private _elementRef: ElementRef,\r\n private _databarService: DatabarService,\r\n private _snackBarService: IcmSnackBarService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.validarPropertsObrigatorias();\r\n this.setProgresso(false);\r\n this.novaPesquisa();\r\n this._submeterFormularioOnEnter();\r\n this.observarSetStatus();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.servicoBind.onClickEnter) this.servicoBind.onClickEnter.unsubscribe();\r\n\r\n if (this.$setStatus) this.$setStatus.unsubscribe();\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n fecharSidenav(event): void {\r\n if (this._elementRef.nativeElement.contains(event.target)) {\r\n return;\r\n }\r\n this.drawer.close();\r\n }\r\n\r\n get inserindoOuEditando(): boolean {\r\n return this.status === EStatus.inserindo || this.status === EStatus.editando;\r\n }\r\n\r\n get desabilitarBotaoModoTabela(): boolean {\r\n return (\r\n this.status == EStatus.inserindo ||\r\n this.status == EStatus.editando ||\r\n this.emProgresso ||\r\n this.form.invalid ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoModoTabela()\r\n );\r\n }\r\n\r\n get desabilitarBotaoPesquisar(): boolean {\r\n return (\r\n this.status == EStatus.inserindo ||\r\n this.status == EStatus.editando ||\r\n this.status == EStatus.dadosCarregados ||\r\n this.emProgresso ||\r\n this.form.invalid ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoPesquisar()\r\n );\r\n }\r\n\r\n get desabilitarBotaoReverter(): boolean {\r\n return (\r\n this.status == EStatus.novaPesquisa ||\r\n this.status == EStatus.executarAcao ||\r\n this.status == EStatus.dadosCarregados ||\r\n this.emProgresso ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoReverter()\r\n );\r\n }\r\n\r\n get desabilitarBotaoAdicionar(): boolean {\r\n return (\r\n this.status == EStatus.editando ||\r\n this.status == EStatus.inserindo ||\r\n this.emProgresso ||\r\n this.disabled ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoAdicionar()\r\n );\r\n }\r\n\r\n get desabilitarBotaoEditar(): boolean {\r\n return (\r\n this.status == EStatus.inserindo ||\r\n this.status == EStatus.novaPesquisa ||\r\n this.status == EStatus.executarAcao ||\r\n this.status == EStatus.pesquisando ||\r\n this.status == EStatus.editando ||\r\n this.emProgresso ||\r\n this.disabled ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoEditar()\r\n );\r\n }\r\n\r\n get desabilitarBotaoRemover(): boolean {\r\n return (\r\n !this.entidadePaginada?.entidade ||\r\n this.status != EStatus.dadosCarregados ||\r\n this.emProgresso ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoRemover()\r\n );\r\n }\r\n\r\n get desabilitarBotaoSalvar(): boolean {\r\n return (\r\n this.form?.invalid ||\r\n (this.status != EStatus.inserindo && this.status != EStatus.editando) ||\r\n this.emProgresso ||\r\n this.disabled ||\r\n this.servicoConfiguracaoBotoes?.desabilitarBotaoSalvar()\r\n );\r\n }\r\n\r\n get desabilitarBotoesPaginacaoRetroceder(): boolean {\r\n return (\r\n this.inserindoOuEditando ||\r\n this.entidadePaginada.posicao <= 1 ||\r\n this.emProgresso\r\n );\r\n }\r\n\r\n get desabilitarBotoesPaginacaoAvancar(): boolean {\r\n return (\r\n this.inserindoOuEditando ||\r\n this.entidadePaginada.posicao >= this.entidadePaginada.total ||\r\n this.emProgresso\r\n );\r\n }\r\n\r\n onClickReverter(): void {\r\n this._exibirDialogConfirmacaoReverter();\r\n }\r\n\r\n onClickModoTabela(): void {\r\n this._emitirEventoClick(EEventoClick.onClickModoTabela);\r\n }\r\n\r\n onClickNovaPesquisa(): void {\r\n this._emitirEventoClick(EEventoClick.onClickNovaPesquisa);\r\n this.novaPesquisa();\r\n this._emitirEventoClick(EEventoClick.afterClickNovaPesquisa);\r\n }\r\n\r\n novaPesquisa(): void {\r\n this._databarService.habilitarForm(this.form);\r\n this.form.reset({ emitEvent: false, onlySelf: true });\r\n this.entidadePaginada.entidade = this.form.value;\r\n this.entidadePaginada.posicao = 0;\r\n this.entidadePaginada.total = 0;\r\n this.setStatus(EStatus.novaPesquisa);\r\n }\r\n\r\n pesquisar(): void {\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n this._setDadosAnteriores();\r\n this.setStatus(EStatus.pesquisando);\r\n this.entidadePaginada.entidade = [].concat(this._getEntidade());\r\n this._paginar();\r\n this.drawer.close();\r\n }\r\n\r\n inserir(): void {\r\n this._emitirEventoClick(EEventoClick.onClickInserir);\r\n this._clickInserir();\r\n this._emitirEventoClick(EEventoClick.afterClickInserir);\r\n }\r\n\r\n editar(): void {\r\n this._emitirEventoClick(EEventoClick.onClickEditar);\r\n this._clickEditar();\r\n this._emitirEventoClick(EEventoClick.afterClickEditar);\r\n }\r\n\r\n remover(): void {\r\n this._emitirEventoClick(EEventoClick.onClickRemover);\r\n this._clickRemover();\r\n this._emitirEventoClick(EEventoClick.afterClickRemover);\r\n }\r\n\r\n proximo(): void {\r\n this._paginar('proximo');\r\n }\r\n\r\n anterior(): void {\r\n this._paginar('anterior');\r\n }\r\n\r\n ultimo(): void {\r\n this._paginar('ultimo');\r\n }\r\n\r\n primeiro(): void {\r\n this._paginar('primeiro');\r\n }\r\n\r\n salvar(): void {\r\n this._emitirEventoClick(EEventoClick.onClickSalvar);\r\n\r\n switch (this.status) {\r\n case EStatus.inserindo:\r\n this._inserir();\r\n break;\r\n\r\n case EStatus.editando:\r\n this._editar();\r\n break;\r\n }\r\n }\r\n\r\n private _inserir(): void {\r\n this.setStatus(EStatus.salvando);\r\n this.setProgresso(true);\r\n this.servicoBind\r\n .criar()\r\n .pipe(\r\n finalize(() => {\r\n this._emitirEventoClick(EEventoClick.afterClickSalvar);\r\n })\r\n )\r\n .subscribe(\r\n (success) => {\r\n this.setProgresso(false);\r\n\r\n this._snackBarService.abrirSnackBarSucesso(\r\n 'Registro salvo com sucesso!'\r\n );\r\n\r\n this.form.patchValue(success);\r\n\r\n this.setStatus(EStatus.dadosCarregados);\r\n\r\n this.drawer.close();\r\n\r\n this._databarService.desabilitarForm(this.form);\r\n },\r\n () => {\r\n this.setProgresso(false);\r\n this.setStatus(EStatus.inserindo);\r\n }\r\n );\r\n }\r\n\r\n private _editar(): void {\r\n this.setStatus(EStatus.salvando);\r\n this.setProgresso(true);\r\n this.servicoBind\r\n .editar()\r\n .pipe(\r\n finalize(() => {\r\n this._emitirEventoClick(EEventoClick.afterClickSalvar);\r\n })\r\n )\r\n .subscribe(\r\n (success) => {\r\n this._snackBarService.abrirSnackBarSucesso(\r\n 'Registro editado com sucesso!'\r\n );\r\n\r\n this.form.patchValue(success);\r\n\r\n this.setProgresso(false);\r\n\r\n this.setStatus(EStatus.dadosCarregados);\r\n\r\n this._databarService.desabilitarForm(this.form);\r\n\r\n this.drawer.close();\r\n },\r\n () => {\r\n this.setProgresso(false);\r\n this.setStatus(EStatus.editando);\r\n }\r\n );\r\n }\r\n\r\n private observarSetStatus(): void {\r\n if ((this.servicoBind as IDatabarBindStatusService<T>).setStatus) {\r\n this.$setStatus = (\r\n this.servicoBind as IDatabarBindStatusService<T>\r\n ).setStatus.subscribe((status) => {\r\n switch (status) {\r\n case EStatus.editando:\r\n this.editar();\r\n this.emProgresso = false;\r\n break;\r\n case EStatus.inserindo:\r\n this.inserir();\r\n this.emProgresso = false;\r\n break;\r\n case EStatus.pesquisando:\r\n this.pesquisar();\r\n break;\r\n case EStatus.novaPesquisa:\r\n this.novaPesquisa();\r\n break;\r\n case EStatus.removendo:\r\n this.remover();\r\n break;\r\n case EStatus.dadosCarregados:\r\n this.status = EStatus.dadosCarregados;\r\n this.emProgresso = false;\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private retornarServicoReverter(): IDataBarReverterService<T> {\r\n if (this._servicoReverter == null)\r\n this._servicoReverter = new IcDatabarReverterService();\r\n\r\n return this._servicoReverter;\r\n }\r\n\r\n private _setDadosAnteriores(): void {\r\n this.retornarServicoReverter().setDadosAnteriores(\r\n this.status,\r\n this.form,\r\n this.entidadePaginada\r\n );\r\n }\r\n\r\n private _reverter(): void {\r\n this._emitirEventoClick(EEventoClick.onClickReverter);\r\n this.entidadePaginada = this.retornarServicoReverter().restaurarDadosAnteriores(\r\n this.form\r\n );\r\n const statusAnterior = this.retornarServicoReverter().statusAnterior;\r\n\r\n if (statusAnterior == EStatus.dadosCarregados)\r\n this._databarService.desabilitarForm(this.form);\r\n else this._databarService.habilitarForm(this.form);\r\n\r\n this.setStatus(statusAnterior);\r\n this._emitirEventoClick(EEventoClick.afterClickReverter);\r\n }\r\n\r\n private _resetarContadorPaginacao(): void {\r\n this.entidadePaginada.posicao = 0;\r\n this.entidadePaginada.total = 0;\r\n }\r\n\r\n private validarPropertsObrigatorias(): any {\r\n if (this.servicoBind == null) {\r\n throw new Error('É obrigatório ter um serviço de bind vinculado.');\r\n }\r\n\r\n if (this.entidadePaginada == null) {\r\n throw new Error('É obrigatório ter uma entidade paginada vinculada.');\r\n }\r\n }\r\n\r\n private setStatus(status: EStatus): void {\r\n if (!status) {\r\n return;\r\n }\r\n this.status = status;\r\n this.statusChanged.emit(this.status);\r\n }\r\n\r\n private _getEntidade(): T {\r\n const result = this.form.getRawValue() as T;\r\n return result;\r\n }\r\n\r\n private _submeterFormularioOnEnter(): void {\r\n if (!this.servicoBind.onClickEnter) return;\r\n this.servicoBind.onClickEnter.subscribe(() => {\r\n if (this.status === EStatus.novaPesquisa && this.form.valid) {\r\n this.pesquisar();\r\n }\r\n });\r\n }\r\n\r\n private _clickInserir(): void {\r\n this._setDadosAnteriores();\r\n this._resetarContadorPaginacao();\r\n this._databarService.habilitarForm(this.form);\r\n this.form.reset({ emitEvent: false, onlySelf: true });\r\n this.form.markAllAsTouched();\r\n this.drawer.close();\r\n this.setStatus(EStatus.inserindo);\r\n }\r\n\r\n private _clickEditar(): void {\r\n this._setDadosAnteriores();\r\n this._databarService.habilitarForm(this.form);\r\n\r\n this.form.markAllAsTouched();\r\n this.drawer.close();\r\n this.setStatus(EStatus.editando);\r\n }\r\n\r\n private _clickRemover(): void {\r\n this.setStatus(EStatus.removendo);\r\n this._exibirDialogConfirmacao();\r\n this.drawer.close();\r\n }\r\n\r\n private _emitirEventoClick(evento: EEventoClick): void {\r\n return this._databarService.emitirEventoClick<T>(\r\n this.servicoBind as IDatabarBindOnClickService<T>,\r\n evento\r\n );\r\n }\r\n\r\n private _acaoCloseDialogConfirmacao(): void {\r\n this._dialog.emProgresso = false;\r\n this._dialog.closeDialog();\r\n this.setStatus(EStatus.dadosCarregados);\r\n }\r\n\r\n private _exibirDialogConfirmacao(): void {\r\n this._dialog.acaoMensagem = 'Removendo registro...';\r\n this._dialog.acaoOk = () =>\r\n this.servicoBind.remover().subscribe(\r\n () => {\r\n this._dialog.closeDialog();\r\n this.novaPesquisa();\r\n this._dialog.emProgresso = false;\r\n this._snackBarService.abrirSnackBarSucesso('Removido com sucesso!');\r\n },\r\n () => this._acaoCloseDialogConfirmacao()\r\n );\r\n this._dialog.acaoCancelar = () => {\r\n this._acaoCloseDialogConfirmacao();\r\n };\r\n\r\n this._dialog.openDialog(\r\n 'Atenção!',\r\n 'Você realmente deseja excluir este registro?'\r\n );\r\n }\r\n\r\n private _exibirDialogConfirmacaoReverter(): void {\r\n this._dialog.acaoOk = () => {\r\n this._reverter();\r\n this._dialog.emProgresso = false;\r\n this._dialog.closeDialog();\r\n };\r\n\r\n this._dialog.acaoCancelar = () => {\r\n this._dialog.closeDialog();\r\n };\r\n\r\n this._dialog.openDialog(\r\n 'Atenção!',\r\n 'As alterações realizadas serão perdidas. Deseja continuar?'\r\n );\r\n }\r\n\r\n private _paginar(acao?: ACAO_PAGINACAO): void {\r\n this.setStatus(EStatus.pesquisando);\r\n\r\n if (this.entidadePaginada.entidade == null) {\r\n this.entidadePaginada.entidade = [].concat(this._getEntidade());\r\n }\r\n\r\n const posicaoAnterior = this.entidadePaginada.posicao;\r\n\r\n switch (acao) {\r\n case 'primeiro':\r\n this.entidadePaginada.posicao = 1;\r\n break;\r\n case 'ultimo':\r\n this.entidadePaginada.posicao = this.entidadePaginada.total;\r\n break;\r\n case 'proximo':\r\n this.entidadePaginada.posicao++;\r\n break;\r\n case 'anterior':\r\n this.entidadePaginada.posicao--;\r\n break;\r\n default:\r\n this.entidadePaginada.posicao = 0;\r\n break;\r\n }\r\n\r\n this.setProgresso(true);\r\n\r\n this.servicoBind.listarPaginacao(this.entidadePaginada).subscribe(\r\n (success) => {\r\n this.setProgresso(false);\r\n\r\n if (success == null) {\r\n this._dialogErro.openDialog(\r\n 'Atenção!',\r\n 'Nenhum registro foi encontrado.'\r\n );\r\n this.setStatus(EStatus.novaPesquisa);\r\n return;\r\n }\r\n\r\n if (success.entidade == null) {\r\n this._databarService.resetForm(this.form, this.entidadePaginada);\r\n this.setStatus(EStatus.novaPesquisa);\r\n return;\r\n }\r\n\r\n this.setStatus(EStatus.dadosCarregados);\r\n\r\n if (!this.entidadePaginada.entidade) {\r\n this.entidadePaginada = success;\r\n } else {\r\n this.entidadePaginada.total = success.total;\r\n this.entidadePaginada.posicao = success.posicao;\r\n }\r\n\r\n this.form.patchValue(success.entidade[0]);\r\n\r\n this.setProgresso(false);\r\n\r\n this._databarService.desabilitarForm(this.form);\r\n },\r\n (error) => {\r\n console.error('erro paginação', error);\r\n this.setStatus(EStatus.dadosCarregados);\r\n this.entidadePaginada.posicao = posicaoAnterior;\r\n this.setProgresso(false);\r\n this._databarService.desabilitarForm(this.form);\r\n }\r\n );\r\n }\r\n\r\n private setProgresso(progresso: boolean): void {\r\n this.emProgresso = this._databarService.definirProgresso(this.form, progresso);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { ErrorDialogComponent } from './error-dialog.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ErrorDialogComponent],\r\n imports: [\r\n MatDialogModule\r\n ],\r\n exports: [ErrorDialogComponent],\r\n entryComponents: [ErrorDialogComponent]\r\n})\r\nexport class ErrorDialogModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { IcConfirmaDialogModule } from '@inovamobil/ic-confirma-dialog';\r\nimport { DataBarComponent } from './ic-data-bar.component';\r\nimport { ErrorDialogModule } from '../components/dialogs/error-dialog/error-dialog.module';\r\nimport { DatabarService } from './services/ic-databar.service';\r\nimport { IcmSnackBarModule } from '@inovamobil/icm-snackbar';\r\n\r\n@NgModule({\r\n declarations: [DataBarComponent],\r\n imports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatDividerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n FlexLayoutModule,\r\n IcConfirmaDialogModule,\r\n ErrorDialogModule,\r\n IcmSnackBarModule\r\n ],\r\n exports: [DataBarComponent],\r\n providers: [DatabarService]\r\n})\r\nexport class DataBarModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ErrorDialogComponent as ɵd} from './components/dialogs/error-dialog/error-dialog.component';\nexport {ErrorDialogModule as ɵc} from './components/dialogs/error-dialog/error-dialog.module';\nexport {ErrorDialogService as ɵa} from './components/dialogs/error-dialog/service/error-dialog.service';\nexport {DatabarService as ɵb} from './lib/services/ic-databar.service';"],"names":["EStatus","Directive","EEventoClick","Component","MatDialogRef","Inject","MAT_DIALOG_DATA","MatDialogConfig","Injectable","MatDialog","EventEmitter","finalize","IcConfirmaDialogService","ElementRef","IcmSnackBarService","Input","Output","ViewChild","HostListener","NgModule","MatDialogModule","CommonModule","MatToolbarModule","MatListModule","MatSidenavModule","MatIconModule","MatProgressSpinnerModule","MatDividerModule","MatButtonModule","MatTooltipModule","FlexLayoutModule","IcConfirmaDialogModule","IcmSnackBarModule"],"mappings":"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"}