@inovamobil/ic-databar-lib 2.1.6 → 2.1.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"inovamobil-ic-databar-lib.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-reverter.service.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar.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 { 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 { 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 {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatDrawer } from '@angular/material/sidenav';\r\nimport { IcConfirmaDialogService } from '@inovamobil/ic-confirma-dialog';\r\nimport { IcmSnackBarService } from '@inovamobil/icm-snackbar';\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { ErrorDialogService } from '../components/dialogs/error-dialog/service/error-dialog.service';\r\nimport { IDatabarBindStatusService } from '../public-api';\r\nimport { ACAO_PAGINACAO } from './constants/ic-databar.constants';\r\nimport { DataBarConfigBotoesService } from './contrato/DataBarConfigBotoesService';\r\nimport { IDatabarBindOnClickService } from './contrato/IDataBarBindOnClickService';\r\nimport { IDataBarReverterService } from './contrato/IDataBarReverterService';\r\nimport { IDataBarBindService } from './contrato/IDataBarService';\r\nimport { IDataEntidadePaginada } from './contrato/IDataEntidadePaginada';\r\nimport { EEventoClick } from './enum/eeventoclick';\r\nimport { EStatus } from './enum/estatus';\r\nimport { IcDatabarReverterService } from './services/ic-databar-reverter.service';\r\nimport { DatabarService } from './services/ic-databar.service';\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 this._pesquisarPosicaoSelecionada();\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 _pesquisarPosicaoSelecionada(): void {\r\n if (!this.servicoBind.pesquisarPosicaoSelecionada) return;\r\n\r\n this.servicoBind.pesquisarPosicaoSelecionada.subscribe((posicao) => {\r\n if (this.status === EStatus.novaPesquisa && this.form.valid) {\r\n this.entidadePaginada.posicao = posicao;\r\n this._pesquisarSelecionado();\r\n }\r\n });\r\n }\r\n\r\n private _pesquisarSelecionado(): 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('customizado');\r\n this.drawer.close();\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 case 'customizado':\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":[],"mappings":"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"}
1
+ {"version":3,"file":"inovamobil-ic-databar-lib.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-reverter.service.ts","../../../projects/ic-databar-lib/src/lib/services/ic-databar.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 { 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 { 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 {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatDrawer } from '@angular/material/sidenav';\r\nimport { IcConfirmaDialogService } from '@inovamobil/ic-confirma-dialog';\r\nimport { IcmSnackBarService } from '@inovamobil/icm-snackbar';\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { ErrorDialogService } from '../components/dialogs/error-dialog/service/error-dialog.service';\r\nimport { IDatabarBindStatusService } from '../public-api';\r\nimport { ACAO_PAGINACAO } from './constants/ic-databar.constants';\r\nimport { DataBarConfigBotoesService } from './contrato/DataBarConfigBotoesService';\r\nimport { IDatabarBindOnClickService } from './contrato/IDataBarBindOnClickService';\r\nimport { IDataBarReverterService } from './contrato/IDataBarReverterService';\r\nimport { IDataBarBindService } from './contrato/IDataBarService';\r\nimport { IDataEntidadePaginada } from './contrato/IDataEntidadePaginada';\r\nimport { EEventoClick } from './enum/eeventoclick';\r\nimport { EStatus } from './enum/estatus';\r\nimport { IcDatabarReverterService } from './services/ic-databar-reverter.service';\r\nimport { DatabarService } from './services/ic-databar.service';\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 this._pesquisarPosicaoSelecionada();\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 _pesquisarPosicaoSelecionada(): void {\r\n if (!this.servicoBind.pesquisarPosicaoSelecionada) return;\r\n\r\n this.servicoBind.pesquisarPosicaoSelecionada.subscribe((posicao) => {\r\n if (this.status === EStatus.novaPesquisa && this.form.valid) {\r\n this.entidadePaginada.posicao = posicao;\r\n this._pesquisarSelecionado();\r\n }\r\n });\r\n }\r\n\r\n private _pesquisarSelecionado(): 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._paginar('customizado');\r\n this.drawer.close();\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 case 'customizado':\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":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inovamobil/ic-databar-lib",
3
- "version": "2.1.6",
3
+ "version": "2.1.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^9.0.6",
6
6
  "@angular/core": "^9.0.6",