{"version":3,"file":"ngx-sp-rh.mjs","sources":["../../../projects/ngx-sp-rh/src/lib/services/intervalo.service.ts","../../../projects/ngx-sp-rh/src/lib/widgets/lib-rh-export-file/lib-rh-export-file.component.ts","../../../projects/ngx-sp-rh/src/lib/widgets/lib-rh-export-file/lib-rh-export-file.component.html","../../../projects/ngx-sp-rh/src/lib/widgets/lib-rh-nova-validade/lib-rh-nova-validade.component.ts","../../../projects/ngx-sp-rh/src/lib/widgets/lib-rh-nova-validade/lib-rh-nova-validade.component.html","../../../projects/ngx-sp-rh/src/lib/widgets/telefone/telefone.component.ts","../../../projects/ngx-sp-rh/src/lib/widgets/telefone/telefone.component.html","../../../projects/ngx-sp-rh/src/lib/rh.module.ts","../../../projects/ngx-sp-rh/src/public-api.ts","../../../projects/ngx-sp-rh/src/ngx-sp-rh.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { interval, Subscription } from \"rxjs\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class IntervaloService {\r\n  // A assinatura de intervalo que será usada para gerenciar a execução periódica\r\n  private intervaloSubscription: Subscription | undefined;\r\n\r\n  /**\r\n   * Inicia um intervalo de execução periódica.\r\n   * @param callback Função a ser executada no final de cada intervalo.\r\n   * @param intervalo O intervalo de tempo em milissegundos entre cada execução.\r\n   */\r\n  setInterval(callback: () => void, intervalo: number): void {\r\n    this.clearInterval();\r\n    this.intervaloSubscription = interval(intervalo).subscribe(() => {\r\n      callback();\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Limpa o intervalo de execução periódica atual, se existir.\r\n   */\r\n  clearInterval(): void {\r\n    if (this.intervaloSubscription) {\r\n      this.intervaloSubscription.unsubscribe();\r\n      this.intervaloSubscription = undefined;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Verifica se o intervalo de execução periódica está atualmente em execução.\r\n   * @returns true se o intervalo estiver em execução, false caso contrário.\r\n   */\r\n  isIntervalRunning(): boolean {\r\n    return !!this.intervaloSubscription;\r\n  }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { ProgressbarConfig, ProgressbarModule } from 'ngx-bootstrap/progressbar';\r\nimport { IntervaloService } from '../../services/intervalo.service';\r\n\r\nexport function getProgressbarConfig(): ProgressbarConfig {\r\n    return Object.assign(new ProgressbarConfig(), { animate: true, striped: true, max: 100 });\r\n}\r\n\r\n@Component({\r\n    selector: 'lib-rh-export-file',\r\n    providers: [\r\n        {\r\n            provide: ProgressbarConfig,\r\n            useFactory: getProgressbarConfig\r\n        }\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        ProgressbarModule\r\n    ],\r\n    templateUrl: './lib-rh-export-file.component.html',\r\n    styleUrls: ['./lib-rh-export-file.component.scss']\r\n})\r\n\r\nexport class LibRhExportFileComponent implements OnInit {\r\n\r\n    constructor(\r\n        private intervaloService: IntervaloService\r\n    ) { }\r\n\r\n    ngOnInit(): void {\r\n        this.realizarAcompanhamento();\r\n    }\r\n\r\n    // #region PROPERTIES\r\n\r\n    @Output() Cancelar: EventEmitter<string> = new EventEmitter<string>()\r\n\r\n    public progresso: number = 0;\r\n\r\n    // #endregion PROPERTIES\r\n\r\n    public executaCancelar() {\r\n        this.progresso = 100;\r\n\r\n        this.Cancelar.emit('');\r\n    }\r\n\r\n    private realizarAcompanhamento() {\r\n\r\n        if (this.progresso == 100) {\r\n            this.intervaloService.clearInterval();\r\n        }\r\n        else {\r\n            this.progresso += 10;\r\n            this.intervaloService.setInterval(() => this.realizarAcompanhamento(), 3000);\r\n        }\r\n    }\r\n\r\n}\r\n","<div class=\"modal-header modal-style modal-dialog-centered position-relative\">\r\n    <h4 class=\"modal-title\">Exportando arquivo</h4>\r\n    <button type=\"button\" class=\"custom-close-button\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\r\n        (click)=\"executaCancelar()\">\r\n        <span aria-hidden=\"true\">&times;</span>\r\n    </button>\r\n</div>\r\n<div class=\"modal-body\">\r\n    <div class=\"modal-message\">\r\n        <!-- <span>Fazendo download...</span> -->\r\n        <progressbar class=\"progress-striped active\" [value]=\"progresso\">\r\n            <i> {{ progresso }}%</i>\r\n        </progressbar>\r\n    </div>\r\n</div>","import { NgIf } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'lib-rh-nova-validade',\r\n  templateUrl: './lib-rh-nova-validade.component.html',\r\n  styleUrls: ['./lib-rh-nova-validade.component.scss'],\r\n  imports: [TooltipModule, NgIf]\r\n})\r\nexport class LibRhNovaValidadeComponent implements OnInit {\r\n\r\n  @Input() validade: Date | any = new Date();\r\n  @Input() IsNovaVigencia: boolean = true;\r\n  @Input() isChange: boolean = false;\r\n  @Input() isMostraInputConsulta: boolean = true;\r\n\r\n  @Output() validadeNova: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() validadeIni: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() validadeFim: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n  isTyped: boolean = false;\r\n  VigInicial: any = ''\r\n  VigFinal: any = ''\r\n\r\n  public tabEmmiter: Subject<number> = new Subject<number>()\r\n\r\n  constructor(public bsModalService: BsModalService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.VigInicial = this.validade;\r\n    this.validadeIni.emit(this.VigInicial);\r\n    this.validadeFim.emit(this.VigFinal);\r\n  }\r\n\r\n\r\n  openModal(template: TemplateRef<any>, modalID: number): void {\r\n    this.bsModalService.show(template, {\r\n      id: modalID,\r\n      class: 'modal-dialog-centered',\r\n      ignoreBackdropClick: false,\r\n      keyboard: false\r\n    })\r\n  }\r\n\r\n  changeIni($event: any) {\r\n    this.VigInicial = $event.currentTarget.value\r\n  }\r\n\r\n  changeFim($event: any) {\r\n    this.VigFinal = $event.currentTarget.value\r\n  }\r\n\r\n  changeValidade($event: any) {\r\n    this.validade = $event.currentTarget.value\r\n\r\n    if (this.isChange || !this.isTyped) {\r\n      this.validadeNova.emit(this.validade);\r\n    }\r\n  }\r\n\r\n  changeDataDigitada($event: any) {\r\n    var date = new Date($event.target.value);\r\n\r\n    if (!isNaN(date.getTime())) {\r\n\r\n      this.validadeNova.emit(this.validade)\r\n    }\r\n  }\r\n\r\n  Confirmar() {\r\n    this.validadeIni.emit(this.VigInicial);\r\n    this.validadeFim.emit(this.VigFinal);\r\n    this.bsModalService.hide(1)\r\n  }\r\n\r\n\r\n}\r\n","<div class=\"d-flex justify-content-end p-3\">\r\n    <div *ngIf=\"isMostraInputConsulta\" class=\"col-auto mt-auto\" style=\"margin-right: 1%;\">\r\n        <label for='validade' class='form-label'>Válido em:</label>\r\n    </div>\r\n    <div *ngIf=\"isMostraInputConsulta\" class=\"col-auto\" style=\"margin-right: 2%;\">\r\n        <input type='date' name='validade' id='validade' class='form-control form-control-sm' [(value)]=\"validade\" \r\n            (change)=\"changeValidade($event)\" (keydown)=\"isTyped = true\" (blur)=\"!isTyped ? '' : changeDataDigitada($event)\">\r\n    </div>\r\n    <!-- <a (click)=\"validadeNova.emit(validade)\" style=\"margin-left: 1%; margin-right: 2%;\">\r\n        <lib-icon iconName=\"atualizar\" iconSize=\"medium-small\" iconColor=\"black\"\r\n            [tooltip]=\"'Recarrega os dados com base na data de validade selecionada.'\"></lib-icon>\r\n    </a> -->\r\n    <a *ngIf=\"this.IsNovaVigencia == true\"> <button (click)=\"openModal(modal_vigencia, 1)\"\r\n            class=\"btn btn-outline-primary d-flex flex-row align-items-center\"\r\n            style=\"padding: 3px 20px;\">Nova validade </button></a>\r\n\r\n</div>\r\n\r\n\r\n<ng-template #modal_vigencia>\r\n    <div class=\"modal-header\">\r\n        <h6 class=\"modal-title pull-left\">Nova validade dos dados</h6>\r\n        <button type=\"button\" class=\"btn-close close pull-right\" aria-label=\"Close\" (click)=\"bsModalService.hide(1)\">\r\n            <span aria-hidden=\"true\" class=\"visually-hidden\">&times;</span>\r\n        </button>\r\n    </div>\r\n\r\n    <div class=\"modal-body\">\r\n\r\n        <!-- <div class=\"card\"> -->\r\n\r\n        <div class=\"card d-flex justify-content-around p-3\">\r\n\r\n            <div class=\"col-8\" style=\"margin-right: 12%;\">\r\n                <label for='inicial' class='form-label'>Inicial:</label>\r\n                <input type='date' name='inicial' id='inicial' class='form-control form-control-sm'\r\n                    [(value)]=\"VigInicial\" (change)=\"changeIni($event)\">\r\n            </div>\r\n\r\n            <div class=\"col-8\" style=\"margin-top: 2%;\">\r\n                <label for='final' class='form-label'>Final:</label>\r\n                <input type='date' name='final' id='final' class='form-control form-control-sm' [(value)]=\"VigFinal\"\r\n                    (change)=\"changeFim($event)\">\r\n            </div>\r\n\r\n        </div>\r\n\r\n        <div class=\"justify-content-around\" style=\"margin-bottom: 1.5%;\">\r\n            <button (click)=\"Confirmar()\" style=\"float: right;margin-left: 1%;\"\r\n                class=\"btn btn-sm btn-primary float-end my-2\">\r\n               \r\n                <div>Confirmar</div>\r\n            </button>\r\n            <button (click)=\"bsModalService.hide(1);\" style=\"float: right;margin-left: 1%;\"\r\n                class=\"btn btn-sm btn-danger float-end my-2\">Cancelar</button>\r\n        </div>\r\n        <!-- </div> -->\r\n    </div>\r\n</ng-template>","import { CommonModule } from \"@angular/common\";\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from \"@angular/forms\";\r\nimport { NgxMaskDirective } from \"ngx-mask\";\r\n\r\n@Component({\r\n    selector: \"app-telefone\",\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,\r\n        ReactiveFormsModule,\r\n        NgxMaskDirective,\r\n    ],\r\n    templateUrl: \"./telefone.component.html\",\r\n    styleUrls: [\"./telefone.component.scss\"]\r\n})\r\nexport class TelefoneComponent implements OnInit, OnChanges {\r\n  constructor( private formBuilder: UntypedFormBuilder ) { }\r\n\r\n  //#region Variables\r\n\r\n  @Input() disabled: boolean = false;\r\n  @Input() telefoneInfo: string = '';\r\n  @Input() isFoneFixo: boolean = true;\r\n  @Input() isCelular: boolean = false;\r\n  @Output() dirty: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n  @Output() numTelefone: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n  mascara: string = '(00) 0000-0000';\r\n\r\n  form: UntypedFormGroup;\r\n\r\n  private tamFone: Number = 14;\r\n\r\n  //#endregion Variables\r\n\r\n  //#region Gets\r\n\r\n  //#endregion Gets\r\n\r\n  //#region Rotinas ng\r\n\r\n  ngOnInit(): void {\r\n    this.createForm();\r\n\r\n    if (this.isFoneFixo && this.isCelular) {\r\n      this.mascara = '(00) 0000-0000 | (00) 0 0000-0000';\r\n    } else if (this.isCelular) {\r\n      this.mascara = '(00) 0 0000-0000';\r\n      this.tamFone = 16;\r\n    }\r\n\r\n    this.form.get(\"numTelefone\")?.setValue(this.telefoneInfo);\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (this.telefoneInfo != '' && changes[\"numTelefone\"]?.currentValue != changes[\"numTelefone\"]?.previousValue && !changes[\"numTelefone\"]?.isFirstChange) {\r\n      this.form.get(\"numTelefone\")?.setValue(this.telefoneInfo);\r\n    }\r\n  }\r\n\r\n  //#endregion Rotinas ng\r\n\r\n  //#region Inicialização do formulário e retorno\r\n\r\n  private createForm() {\r\n    this.form = this.formBuilder.group({\r\n      numTelefone: [\"\"],\r\n    });\r\n  }\r\n\r\n  //#endregion Inicialização do formulário e retorno\r\n\r\n  //#region Rotinas formulário\r\n\r\n  public changeTelefone() {\r\n    if (this.form.get(\"numTelefone\")?.value.length < this.tamFone) {\r\n      this.numTelefone.emit('');\r\n    } else {\r\n      this.numTelefone.emit(this.form.get(\"numTelefone\")?.value);\r\n    }\r\n  }\r\n\r\n}\r\n\r\n//#endregion Rotinas formulário\r\n","<form [formGroup]=\"form\">\r\n    <div class=\"d-flex flex-row align-items-center\">\r\n        <input type='text' name='numTelefone' id='numTelefone' formControlName='numTelefone' [mask]=\"mascara\"\r\n            [clearIfNotMatch]=\"true\" [showMaskTyped]=\"true\" [dropSpecialCharacters]=\"false\"\r\n            class='form-control form-control-sm' (change)=\"this.changeTelefone();\" [readOnly]=\"disabled\">\r\n    </div>\r\n</form>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { NgxMaskDirective, NgxMaskPipe } from 'ngx-mask';\r\n\r\nimport { LibRhExportFileComponent } from './widgets/lib-rh-export-file/lib-rh-export-file.component';\r\nimport { LibRhNovaValidadeComponent } from './widgets/lib-rh-nova-validade/lib-rh-nova-validade.component';\r\nimport { TelefoneComponent } from './widgets/telefone/telefone.component';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,\r\n        ReactiveFormsModule,\r\n        NgxMaskDirective,\r\n        NgxMaskPipe,\r\n\r\n        TelefoneComponent,\r\n        LibRhExportFileComponent,\r\n        LibRhNovaValidadeComponent\r\n    ],\r\n    exports: [\r\n        TelefoneComponent,\r\n        LibRhExportFileComponent,\r\n        LibRhNovaValidadeComponent\r\n    ],\r\n    providers: [],\r\n})\r\n\r\nexport class RhModule { }\r\n","/*\r\n * Public API Surface of infra\r\n */\r\n\r\n/** Modules */\r\nexport * from './lib/rh.module';\r\n\r\n/** Message */\r\n// export * from './lib/message/alert/alert.component';\r\n// export * from './lib/message/confirm/confirm.component';\r\n// export * from './lib/message/confirm-modal/confirm-modal.component';\r\n// export * from './lib/message/save/save.component';\r\n// export * from './lib/message/message.service';\r\n// export * from './lib/message/message-enum';\r\n\r\n/** Models */\r\n// export * from './lib/models/DownloadArquivos';\r\n// export * from './lib/models/email-model';\r\n// export * from './lib/models/ierror';\r\n// export * from './lib/models/ipagination';\r\n// export * from './lib/models/report-file';\r\n// export * from './lib/models/ret-error';\r\n// export * from './lib/models/ret-feedback-message';\r\n// export * from './lib/models/ret-report-file';\r\n\r\n/** Pipes */\r\n// export * from './lib/pipes/cpf-cnpj.pipe';\r\n// export * from './lib/pipes/currency.pipe';\r\n// export * from './lib/pipes/to-url.pipe';\r\n\r\n/** Services */\r\nexport * from './lib/services/intervalo.service';\r\n\r\n/** Utils */\r\n// export * from './lib/utils/check-url-and-method.service';\r\n// export * from './lib/utils/form-utils';\r\n// export * from './lib/utils/settings.service';\r\n// export * from './lib/utils/ip-service.service';\r\n// export * from './lib/utils/utils';\r\n\r\n/** Validators */\r\n// export * from './lib/validators/cpf-cnpj.validator.directive';\r\n// export * from './lib/validators/cpf-cnpj.validator';\r\n\r\n/** Widgets */\r\nexport * from './lib/widgets/lib-rh-export-file/lib-rh-export-file.component';\r\nexport * from './lib/widgets/lib-rh-nova-validade/lib-rh-nova-validade.component';\r\nexport * from './lib/widgets/telefone/telefone.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.IntervaloService","i1"],"mappings":"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"}