keevo-components 1.5.118 → 1.5.119

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":"keevo-components.mjs","sources":["../../../projects/keevo-components/src/lib/api/base-components/base-component.ts","../../../projects/keevo-components/src/lib/api/components/error/error.component.ts","../../../projects/keevo-components/src/lib/api/components/error/error.component.html","../../../projects/keevo-components/src/lib/api/services/component.service.ts","../../../projects/keevo-components/src/lib/api/base-components/base-component-input.ts","../../../projects/keevo-components/src/lib/api/helpers/component-providers.ts","../../../projects/keevo-components/src/lib/inputs/check/check.component.ts","../../../projects/keevo-components/src/lib/inputs/check/check.component.html","../../../projects/keevo-components/src/lib/api/services/object.service.ts","../../../projects/keevo-components/src/lib/api/base-components/base-component-dropdown.ts","../../../projects/keevo-components/src/lib/inputs/dropdown/dropdown.component.ts","../../../projects/keevo-components/src/lib/inputs/dropdown/dropdown.component.html","../../../projects/keevo-components/src/lib/inputs/input-calendar/input-calendar.component.ts","../../../projects/keevo-components/src/lib/inputs/input-calendar/input-calendar.component.html","../../../projects/keevo-components/src/lib/inputs/input-mask/input-mask.component.ts","../../../projects/keevo-components/src/lib/inputs/input-mask/input-mask.component.html","../../../projects/keevo-components/src/lib/inputs/input-number/input-number.component.ts","../../../projects/keevo-components/src/lib/inputs/input-number/input-number.component.html","../../../projects/keevo-components/src/lib/inputs/input-password/input-password.component.ts","../../../projects/keevo-components/src/lib/inputs/input-password/input-password.component.html","../../../projects/keevo-components/src/lib/inputs/input-text/input-text.component.ts","../../../projects/keevo-components/src/lib/inputs/input-text/input-text.component.html","../../../projects/keevo-components/src/lib/inputs/input-textarea/input-textarea.component.ts","../../../projects/keevo-components/src/lib/inputs/input-textarea/input-textarea.component.html","../../../projects/keevo-components/src/lib/inputs/input-time/input-time.component.ts","../../../projects/keevo-components/src/lib/inputs/input-time/input-time.component.html","../../../projects/keevo-components/src/lib/api/base-components/base-component-multi-select.ts","../../../projects/keevo-components/src/lib/inputs/multi-select/multi-select.component.ts","../../../projects/keevo-components/src/lib/inputs/multi-select/multi-select.component.html","../../../projects/keevo-components/src/lib/inputs/radio-group/radio-group.component.ts","../../../projects/keevo-components/src/lib/inputs/radio-group/radio-group.component.html","../../../projects/keevo-components/src/lib/inputs/switch/switch.component.ts","../../../projects/keevo-components/src/lib/inputs/switch/switch.component.html","../../../projects/keevo-components/src/lib/api/base-components/base-component-button.ts","../../../projects/keevo-components/src/lib/buttons/button-secondary/button-secondary.component.ts","../../../projects/keevo-components/src/lib/buttons/button-secondary/button-secondary.component.html","../../../projects/keevo-components/src/lib/buttons/button-success/button-success.component.ts","../../../projects/keevo-components/src/lib/buttons/button-success/button-success.component.html","../../../projects/keevo-components/src/lib/buttons/button-personalize/button-personalize.component.ts","../../../projects/keevo-components/src/lib/buttons/button-personalize/button-personalize.component.html","../../../projects/keevo-components/src/lib/chart/chart.component.ts","../../../projects/keevo-components/src/lib/chart/chart.component.html","../../../projects/keevo-components/src/lib/api/base-components/base-component-chart.ts","../../../projects/keevo-components/src/lib/directives/template.directive.ts","../../../projects/keevo-components/src/lib/pipes/codigofile.pipe.ts","../../../projects/keevo-components/src/lib/pipes/cpfcnpj.pipe.ts","../../../projects/keevo-components/src/lib/pipes/telefone.pipe.ts","../../../projects/keevo-components/src/lib/table/table.component.ts","../../../projects/keevo-components/src/lib/table/table.component.html","../../../projects/keevo-components/src/lib/tree-view/tree-view.component.ts","../../../projects/keevo-components/src/lib/tree-view/tree-view.component.html","../../../projects/keevo-components/src/lib/picklist/picklist.component.ts","../../../projects/keevo-components/src/lib/picklist/picklist.component.html","../../../projects/keevo-components/src/lib/api/modules/primeng.module.ts","../../../projects/keevo-components/src/lib/buttons/kvbutton.module.ts","../../../projects/keevo-components/src/lib/api/components/error/kverror.module.ts","../../../projects/keevo-components/src/lib/inputs/kvinputs.module.ts","../../../projects/keevo-components/src/lib/table/kvtable.module.ts","../../../projects/keevo-components/src/lib/tree-view/kvtree-view.module.ts","../../../projects/keevo-components/src/lib/chart/kvchart.module.ts","../../../projects/keevo-components/src/lib/menu/menu.component.ts","../../../projects/keevo-components/src/lib/menu/menu.component.html","../../../projects/keevo-components/src/lib/menu/kvmenu.module.ts","../../../projects/keevo-components/src/lib/picklist/kvpicklist.module.ts","../../../projects/keevo-components/src/lib/tree-table/kv-treetable.component.ts","../../../projects/keevo-components/src/lib/tree-table/kv-treetable.component.html","../../../projects/keevo-components/src/lib/tree-table/kv-treetable.module.ts","../../../projects/keevo-components/src/lib/orgchart/orgchart.component.ts","../../../projects/keevo-components/src/lib/orgchart/orgchart.component.html","../../../projects/keevo-components/src/lib/orgchart/orgchart.module.ts","../../../projects/keevo-components/src/lib/keevo-components.module.ts","../../../projects/keevo-components/src/lib/pipes/pipes.module.ts","../../../projects/keevo-components/src/lib/api/helpers/translate-primeng.ts","../../../projects/keevo-components/src/lib/api/services/notification.service.ts","../../../projects/keevo-components/src/lib/api/components/table/table.paginate.ts","../../../projects/keevo-components/src/lib/api/components/table/kv-menuitem.ts","../../../projects/keevo-components/src/public-api.ts","../../../projects/keevo-components/src/keevo-components.ts"],"sourcesContent":["import { Component, Input } from \"@angular/core\";\r\nimport { ControlValueAccessor } from \"@angular/forms\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseComponent<T> implements ControlValueAccessor {\r\n\r\n protected stateChanges: Subject<void> = new Subject();\r\n protected onChange!: (value: T) => void;\r\n protected onTouched!: () => void;\r\n protected _value!: T;\r\n\r\n @Input('required') isRequired: boolean = false;\r\n\r\n public set value(value: T) {\r\n this._value = value;\r\n if (this.onChange) this.onChange(value);\r\n this.stateChanges.next();\r\n }\r\n\r\n public get value(): T {\r\n return this._value;\r\n }\r\n\r\n @Input() componentId!: string;\r\n @Input() label!: string;\r\n @Input() disabled: boolean = false;\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(value: T): void {\r\n this.value = value;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kv-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss']\r\n})\r\nexport class ErrorComponent {\r\n public hasError: boolean | undefined = false;\r\n\r\n @Input() formControl!: FormControl;\r\n\r\n @Input('hasError') set setHasError(value: boolean | undefined) {\r\n this.hasError = value;\r\n this.emitError.emit(value);\r\n };\r\n\r\n emitError: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n}\r\n","<small *ngIf=\"hasError\" id=\"error-message\" class=\"p-error block absolute\">\r\n <ng-content></ng-content>\r\n</small>\r\n","import { ChangeDetectorRef, Injectable, Injector } from '@angular/core';\r\nimport { FormControl, FormControlName, FormGroupDirective, NgControl } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class ComponentService {\r\n\r\n constructor(public readonly injector: Injector, public changeDetectorRef: ChangeDetectorRef) { }\r\n\r\n getFormControl(): FormControl<any> | undefined {\r\n try {\r\n const control = this.injector.get(NgControl);\r\n if (control.constructor === FormControlName) {\r\n return this.injector.get(FormGroupDirective).getControl(control as FormControlName);\r\n }\r\n\r\n return undefined;\r\n }\r\n catch(ex){\r\n return undefined;\r\n }\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren\r\n} from \"@angular/core\";\r\n\r\nimport { FormControl } from '@angular/forms';\r\n\r\nimport { BaseComponent } from './base-component';\r\n\r\nimport { ComponentService } from '../services/component.service';\r\nimport { ErrorComponent } from '../components/error/error.component';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class BaseComponentInput<T> extends BaseComponent<T> implements OnInit, AfterContentInit, AfterViewInit {\r\n\r\n protected formControl: FormControl | undefined;\r\n protected hasError: boolean | undefined = false;\r\n\r\n @Input() placeholder: string = '';\r\n\r\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\r\n @Output() onInput: EventEmitter<any> = new EventEmitter();\r\n @Output() onClose: EventEmitter<any> = new EventEmitter();\r\n\r\n @ViewChildren(ErrorComponent) viewErrors!: QueryList<ErrorComponent>;\r\n @ContentChildren(ErrorComponent) contentErrors!: QueryList<ErrorComponent>;\r\n\r\n constructor(protected readonly componentService: ComponentService) {\r\n super();\r\n }\r\n\r\n public get baseInputClass(): string {\r\n return `${this.hasError ? 'ng-invalid ng-dirty' : ''} !important`;\r\n }\r\n\r\n erroMessage(): string | undefined {\r\n if (!this.formControl?.errors) return;\r\n\r\n let message: string = '';\r\n\r\n if (this.formControl.errors) {\r\n const objErrors = this.formControl.errors as any;\r\n if (objErrors.erroMessage) message = objErrors.erroMessage;\r\n }\r\n\r\n return message;\r\n }\r\n\r\n getName(control: FormControl): string | null {\r\n return Object.entries(control.parent?.controls ?? []).find(([_, value]) => value === control)?.[0] ?? null;\r\n }\r\n\r\n hasControlError(): boolean {\r\n if (!this.formControl) return false;\r\n return (this.formControl.dirty || this.formControl.touched) && this.formControl.errors !== null;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.viewErrors.forEach(c => {\r\n c.emitError.subscribe(res => {\r\n this.hasError = res;\r\n this.componentService.changeDetectorRef.detectChanges();\r\n });\r\n });\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.contentErrors.forEach(c => {\r\n c.emitError.subscribe(res => {\r\n this.hasError = res;\r\n });\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formControl = this.componentService.getFormControl();\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n this.onTouched();\r\n this.onBlur.emit(event);\r\n }\r\n\r\n onInputClose(event: Event) {\r\n this.onClose.emit(event);\r\n }\r\n\r\n onInputInput(event: Event) {\r\n this.onInput.emit(event);\r\n }\r\n\r\n protected setPlaceHolder(p: string) {\r\n if (!this.placeholder) this.placeholder = p;\r\n }\r\n}\r\n","import { Provider, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { ComponentService } from '../services/component.service';\r\n\r\nexport function ComponentProviders(ref: any): Provider[] {\r\n return [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ref),\r\n multi: true,\r\n },\r\n {\r\n provide: ComponentService\r\n }\r\n ]\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\n\r\n\r\n@Component({\r\n selector: 'kv-check',\r\n templateUrl: './check.component.html',\r\n styleUrls: ['./check.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(CheckComponent),\r\n})\r\nexport class CheckComponent extends BaseComponentInput<boolean> implements OnInit {\r\n\r\n @Output() onCheckChange: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n emitOnCheckChange(event: any) {\r\n this.onCheckChange.emit(event);\r\n }\r\n}\r\n","<div class=\"field-checkbox\">\r\n <p-checkbox\r\n [binary]=\"true\"\r\n [disabled]=\"disabled\"\r\n [label]=\"label\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n (onChange)=\"emitOnCheckChange($event)\">\r\n </p-checkbox>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ObjectService {\r\n static filterObject(array: any, propertyName: string, value: any) {\r\n return array.filter((e: any) => {\r\n return e[propertyName] === value;\r\n });\r\n }\r\n static findObject(array: any, propertyName: string, value: any) {\r\n return array.find((e: any) => {\r\n return e[propertyName] === value;\r\n });\r\n }\r\n static getProperty<T>(obj: T, propertyName: string) {\r\n return obj[(propertyName as keyof typeof obj)];\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Type,\r\n} from '@angular/core';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { BaseComponentInput } from './base-component-input';\r\nimport { ComponentService } from '../services/component.service';\r\nimport { ObjectService } from '../services/object.service';\r\nimport { filtroCombo } from '../components/dropdown/filtro.combo';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class BaseComponentDropDown extends BaseComponentInput<any> implements OnInit {\r\n\r\n @Input() filteredOptions!: any[];\r\n @Input() options!: any[];\r\n @Input() optionLabel!: string;\r\n @Input() optionValue!: string;\r\n @Input() optionDisabled!: string;\r\n\r\n @Input() group!: boolean;\r\n @Input() optionGroupLabel!: string;\r\n @Input() optionGroupChildren!: string;\r\n\r\n @Input() filter: boolean = true;\r\n @Input() lazy: boolean = false;\r\n\r\n @Input() showAddButton: boolean = false;\r\n @Input() showClear: boolean = true;\r\n @Input() widthField?: string;\r\n\r\n @Output() onAddClick: EventEmitter<any> = new EventEmitter();\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @Output() requestComplete: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(\r\n componentService: ComponentService,\r\n private dialogService: DialogService\r\n ) {\r\n super(componentService);\r\n this.registerOnTouched(() => { });\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setPlaceHolder('Selecione um valor');\r\n\r\n if (!this.lazy) this.carregarCombo();\r\n }\r\n\r\n protected addClick(event: Event) {\r\n this.onAddClick.emit(event);\r\n }\r\n\r\n public carregarCombo(filtro?: filtroCombo): void {\r\n if (filtro) {\r\n this.carregarComboObs(this.listarCombo(filtro));\r\n }\r\n else {\r\n this.carregarComboObs(this.listar());\r\n }\r\n }\r\n\r\n private carregarComboObs(obs: Observable<any>) {\r\n if (obs) {\r\n obs\r\n .subscribe({\r\n next: (data: any) => {\r\n this.options = data;\r\n this.filteredOptions = data;\r\n this.requestComplete.emit(true);\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n },\r\n });\r\n }\r\n }\r\n\r\n public filterOptions(field: string, value: any): void {\r\n if (this.options) {\r\n let lista = ObjectService.filterObject(this.options, field, value);\r\n if (lista?.length > 0) {\r\n of(lista).subscribe((opts: any[]) => {\r\n this.filteredOptions = opts;\r\n });\r\n } else this.filteredOptions = [];\r\n }\r\n }\r\n\r\n protected listar(): any { }\r\n protected listarCombo(value: any): any { }\r\n\r\n protected openDialog(\r\n componentType: Type<any>,\r\n width?: string,\r\n height?: string\r\n ) {\r\n const ref = this.dialogService.open(componentType, {\r\n width: width || '70%',\r\n height: height,\r\n closable: false,\r\n maximizable: true,\r\n data: { popup: true },\r\n });\r\n\r\n ref.onClose.subscribe((id: any) => {\r\n if (id) {\r\n this.listar().subscribe((data: any) => {\r\n this.options = data;\r\n this.filteredOptions = data;\r\n if (id) this.formControl?.setValue(id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected onInputChange(event: any) {\r\n this.onSelectionValue.emit(event);\r\n\r\n if (this.formControl) {\r\n const controlName = this.getName(this.formControl as FormControl);\r\n if (controlName) {\r\n let currentItem = ObjectService.findObject(\r\n this.options,\r\n controlName,\r\n event.value\r\n );\r\n this.onSelectionChange.emit(currentItem);\r\n }\r\n }\r\n }\r\n\r\n onInputClick(event: any) {\r\n this.onClick.emit(event);\r\n }\r\n\r\n onInputFilter(event: any) {\r\n if (event) {\r\n if (event.filter) {\r\n if (event.filter.length > 2) {\r\n this.carregarCombo({ termoPesquisa: event.filter } as filtroCombo);\r\n }\r\n }\r\n }\r\n }\r\n\r\n override writeValue(value: any): void {\r\n if (this.lazy && value) {\r\n this.carregarCombo({ id: value } as filtroCombo);\r\n }\r\n this.value = value;\r\n }\r\n}\r\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentDropDown } from '../../api/base-components/base-component-dropdown';\r\n\r\n@Component({\r\n selector: 'kv-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(DropdownComponent),\r\n})\r\nexport class DropdownComponent extends BaseComponentDropDown implements OnInit{\r\n constructor(\r\n componentService: ComponentService,\r\n dialogService: DialogService) {\r\n super(componentService, dialogService);\r\n }\r\n\r\n @Input() dropDowValue!: any;\r\n @Input() itemTemplate!: TemplateRef<any>;\r\n @Input() selectedItemTemplate!: TemplateRef<any>;\r\n\r\n override ngOnInit(): void {\r\n if (this.dropDowValue)\r\n this.value = this.dropDowValue;\r\n\r\n\r\n \r\n }\r\n\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-dropdown\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [filter]=\"filter\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"filteredOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [group]=\"group\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [showClear]=\"showClear\"\r\n [lazy]=\"lazy\"\r\n scrollHeight=\"250px\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n [style]=\"{'width':widthField}\"\r\n [panelStyle]=\"{ width: widthField, overflow: 'auto' }\"\r\n styleClass=\"inputs\">\r\n\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: -->\r\n\r\n <ng-template let-selectedItem pTemplate=\"item\" *ngIf=\"itemTemplate\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n <ng-template let-item pTemplate=\"selectedItem\" *ngIf=\"selectedItemTemplate\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n\r\n\r\n </p-dropdown>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CalendarTypeView } from 'primeng/calendar';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kv-input-calendar',\r\n templateUrl: './input-calendar.component.html',\r\n styleUrls: [\r\n './input-calendar.component.scss',\r\n '../../styles-components.scss',\r\n ],\r\n providers: ComponentProviders(InputCalendarComponent),\r\n})\r\nexport class InputCalendarComponent\r\n extends BaseComponentInput<Date>\r\n implements OnInit\r\n{\r\n @Input() isYear: boolean = false;\r\n @Input() isMonthYear: boolean = false;\r\n @Input() minDate!: Date;\r\n @Input() maxDate!: Date;\r\n @Input() showButtonBar: boolean = false;\r\n @Input() showIcon: boolean = true;\r\n @Input() showTime: boolean = false;\r\n @Input() selectionMode: 'single' | 'multiple' | 'range' = 'single';\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @ViewChild('dateFilter') private dateFilter: any;\r\n\r\n typeView: CalendarTypeView = 'date';\r\n dateFormat: string = 'dd/mm/yy';\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override writeValue(value: Date): void {\r\n this.value = value;\r\n\r\n if (value && typeof value === 'string') {\r\n this.value = new Date(value);\r\n }\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n if (this.isYear) {\r\n this.typeView = 'year';\r\n this.dateFormat = 'yy';\r\n } else if (this.isMonthYear) {\r\n this.typeView = 'month';\r\n this.dateFormat = 'mm/yy';\r\n } else {\r\n this.typeView = 'date';\r\n this.dateFormat = 'dd/mm/yy';\r\n }\r\n }\r\n\r\n protected onInputChange(event: any) {\r\n this.hideOnRangeMode();\r\n this.onSelectionValue.emit(event);\r\n\r\n if (this.formControl) {\r\n this.onSelectionChange.emit(this.formControl.value);\r\n }\r\n }\r\n\r\n\r\n\r\n hideOnRangeMode() {\r\n if (this.selectionMode == 'range') {\r\n if(this.dateFilter.value[1]){\r\n this.dateFilter.hideOverlay();\r\n }\r\n }\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-calendar #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n >\r\n </p-calendar>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-mask',\r\n templateUrl: './input-mask.component.html',\r\n styleUrls: ['./input-mask.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputMaskComponent),\r\n})\r\nexport class InputMaskComponent extends BaseComponentInput<string> implements OnInit {\r\n\r\n @Input() mask!: string;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-inputMask\r\n [class]=\"baseInputClass\"\r\n styleClass=\"inputs\"\r\n [inputId]=\"componentId\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n [mask]=\"mask\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-inputMask>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { InputNumber } from 'primeng/inputnumber';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-number',\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./input-number.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputNumberComponent),\r\n})\r\nexport class InputNumberComponent extends BaseComponentInput<string> implements OnInit {\r\n @Input() mode: 'currency' | 'decimal' = 'decimal';\r\n @Input() digits: number = 0;\r\n @Input() min: number = 0;\r\n @Input() max!: number;\r\n\r\n @ViewChild('inputNumber', { static: true }) inputNumber!: InputNumber;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.inputNumber.mode = this.mode;\r\n this.inputNumber.locale = 'pt-BR';\r\n\r\n switch (this.mode) {\r\n case 'decimal':\r\n this.configDecimal();\r\n break;\r\n case 'currency':\r\n this.configCurrency();\r\n break;\r\n }\r\n }\r\n\r\n private configDecimal() {\r\n if (!this.digits) this.inputNumber.useGrouping = false;\r\n this.inputNumber.minFractionDigits = this.digits;\r\n this.inputNumber.maxFractionDigits = this.digits;\r\n }\r\n\r\n private configCurrency() {\r\n this.inputNumber.currency = 'BRL';\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <p-inputNumber\r\n #inputNumber\r\n [class]=\"baseInputClass\"\r\n [inputId]=\"componentId\"\r\n styleClass=\"inputs\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [(ngModel)]=\"value\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-inputNumber>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-password',\r\n templateUrl: './input-password.component.html',\r\n styleUrls: ['./input-password.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputPasswordComponent),\r\n})\r\nexport class InputPasswordComponent extends BaseComponentInput<string> implements OnInit {\r\n\r\n @Input() feedback: boolean = false;\r\n @Input() mediumRegex: string = '';\r\n @Input() strongRegex: string = '';\r\n @Input() toggleMask: boolean = true;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <p-password\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n styleClass=\"inputs\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [toggleMask]=\"toggleMask\"\r\n [feedback]=\"feedback\"\r\n [mediumRegex]=\"mediumRegex\"\r\n [strongRegex]=\"strongRegex\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-password>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputTextComponent),\r\n})\r\nexport class InputTextComponent extends BaseComponentInput<string> implements OnInit {\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [class]=\"baseInputClass\"\r\n styleClass=\"inputs\"\r\n [disabled]=\"disabled\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n (blur)=\"onInputBlur($event)\"\r\n (input)=\"onInputInput($event)\">\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-textarea',\r\n templateUrl: './input-textarea.component.html',\r\n styleUrls: ['./input-textarea.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputTextareaComponent),\r\n})\r\nexport class InputTextareaComponent extends BaseComponentInput<string> implements OnInit {\r\n @Input() multiline: boolean = false;\r\n @Input() rows: number = 2;\r\n @Input() cols: number = 20;\r\n @Input() autoResize: boolean = false;\r\n @Input() maxValueLength: number = 0;\r\n\r\n counterValueLength: number = 0;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.formControl?.valueChanges.subscribe((value: any) => {\r\n this.counterValueLength = value?.length;\r\n });\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <textarea\r\n pInputTextarea\r\n [autoResize]=\"autoResize\"\r\n [class]=\"baseInputClass\"\r\n [cols]=\"cols\"\r\n [disabled]=\"disabled\"\r\n [id]=\"componentId\"\r\n [rows]=\"rows\"\r\n [(ngModel)]=\"value\"\r\n (blur)=\"onInputBlur($event)\">\r\n </textarea>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-time',\r\n templateUrl: './input-time.component.html',\r\n styleUrls: ['./input-time.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputTimeComponent),\r\n})\r\nexport class InputTimeComponent extends BaseComponentInput<string> implements OnInit {\r\n\r\n @Input() showIcon: boolean = true;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-calendar\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [showIcon]=\"showIcon\"\r\n styleClass=\"inputs\"\r\n [showTime]=\"true\"\r\n [timeOnly]=\"true\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-calendar>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\nimport { BaseComponentInput } from './base-component-input';\r\nimport { ComponentService } from '../services/component.service';\r\nimport { ObjectService } from '../services/object.service';\r\nimport { filtroCombo } from '../components/dropdown/filtro.combo';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class BaseComponentMultiSelect extends BaseComponentInput<any> implements OnInit {\r\n\r\n @Input() options: any;\r\n @Input() optionLabel!: string;\r\n @Input() optionValue!: string;\r\n @Input() filter: boolean = false;\r\n @Input() showClear: boolean = false;\r\n\r\n @Input() lazy: boolean = false;\r\n @Input() filteredOptions!: any[];\r\n\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() onPanelHide: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n loadedCombo: boolean = false;\r\n\r\n constructor(\r\n componentService: ComponentService,\r\n ) {\r\n super(componentService);\r\n this.registerOnTouched(() => { });\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setPlaceHolder('Selecione um valor');\r\n\r\n if (!this.lazy) this.carregarCombo();\r\n }\r\n\r\n public carregarCombo(filtro?: filtroCombo): void {\r\n if (filtro) {\r\n this.carregarComboObs(this.listarCombo(filtro));\r\n }\r\n else {\r\n this.carregarComboObs(this.listar());\r\n }\r\n }\r\n\r\n private carregarComboObs(obs: Observable<any>) {\r\n if (obs) {\r\n obs\r\n .subscribe({\r\n next: (data: any) => {\r\n this.options = data;\r\n this.filteredOptions = data;\r\n this.loadedCombo = true\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n },\r\n });\r\n }\r\n }\r\n\r\n public filterOptions(field: string, value: any): void {\r\n if (this.options) {\r\n let lista = ObjectService.filterObject(this.options, field, value);\r\n if (lista?.length > 0) {\r\n of(lista).subscribe((opts: any[]) => {\r\n this.filteredOptions = opts;\r\n });\r\n } else this.filteredOptions = [];\r\n }\r\n }\r\n\r\n protected onInputChange(event: any) {\r\n this.onSelectionValue.emit(event);\r\n\r\n if (this.formControl) {\r\n const controlName = this.getName(this.formControl as FormControl);\r\n if (controlName) {\r\n let currentItem = ObjectService.findObject(\r\n this.options,\r\n controlName,\r\n event.value\r\n );\r\n this.onSelectionChange.emit(currentItem);\r\n }\r\n }\r\n }\r\n\r\n onInputClick(event: any) {\r\n this.onClick.emit(event);\r\n }\r\n\r\n onInputFilter(event: any) {\r\n if (event) {\r\n if (event.filter) {\r\n if (event.filter.length > 2) {\r\n this.carregarCombo({ termoPesquisa: event.filter } as filtroCombo);\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected listar(): any { }\r\n protected listarCombo(value: any): any { }\r\n\r\n panelHide(event: Event) {\r\n this.onPanelHide.emit(event);\r\n }\r\n\r\n public override get baseInputClass(): string {\r\n return `p-multiselect-sm ${this.hasError ? 'ng-invalid ng-dirty' : ''}`;\r\n }\r\n\r\n selectionChange(event: Event) {\r\n this.onSelectionChange.emit(event);\r\n }\r\n\r\n public requestCompleted() {\r\n return this.loadedCombo;\r\n }\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { BaseComponentMultiSelect } from '../../api/base-components/base-component-multi-select';\r\n\r\n@Component({\r\n selector: 'kv-multi-select',\r\n templateUrl: './multi-select.component.html',\r\n styleUrls: ['./multi-select.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(MultiSelectComponent),\r\n})\r\nexport class MultiSelectComponent extends BaseComponentMultiSelect {\r\n @Input() optionInactive!: boolean;\r\n inactiveOptions!: string;\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.optionInactive == true) {\r\n this.inactiveOptions = 'inactive';\r\n this.options.map((element: Object, index: number) => {\r\n Object.defineProperty(element, 'inactive', {\r\n value: true,\r\n });\r\n });\r\n }\r\n }\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\"[ngClass]=\"{'disable': optionInactive === true}\">\r\n <p-multiSelect\r\n appendTo=\"body\"\r\n styleClass=\"inputs\"\r\n display=\"chip\"\r\n inputId=\"multiselect\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [optionDisabled]=\" inactiveOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [(ngModel)]=\"value\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onPanelHide)=\"panelHide($event)\">\r\n </p-multiSelect>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, DoCheck, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\n\r\n\r\n@Component({\r\n selector: 'kv-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(RadioGroupComponent),\r\n})\r\nexport class RadioGroupComponent extends BaseComponentInput<any> implements OnInit, DoCheck {\r\n\r\n @Input() options: any[] = [\r\n { id: 0, description: 'Não'},\r\n { id: 1, description: 'Sim'},\r\n ];\r\n\r\n @Input() optionValueDefault!: any\r\n\r\n @Output() onSelectedOption: EventEmitter<any> = new EventEmitter();\r\n\r\n selectedOpt: any = null;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n this.selectedDefault();\r\n }\r\n\r\n ngDoCheck(): void {\r\n this.selectedDefault();\r\n }\r\n\r\n selectedDefault() {\r\n if (this.optionValueDefault != undefined && !this.selectedOpt) {\r\n let item = this.options.find(opt => opt.id === this.optionValueDefault);\r\n if (item) this.selectedOpt = item; \r\n }\r\n }\r\n\r\n selectedOption(event: any) {\r\n this.onSelectedOption.emit(event.value.id);\r\n }\r\n}\r\n","<div>\r\n <div class=\"option\" *ngFor=\"let option of options\">\r\n <p-radioButton \r\n [inputId]=\"option.id\" \r\n name=\"option\" \r\n [value]=\"option\" \r\n [(ngModel)]=\"selectedOpt\"\r\n (onClick)=\"selectedOption($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-radioButton>\r\n <label [for]=\"option.id\"> {{option.description}}</label>\r\n </div> \r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-switch',\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(SwitchComponent),\r\n})\r\nexport class SwitchComponent extends BaseComponentInput<boolean> implements OnInit {\r\n\r\n @Input() switchValue!: boolean;\r\n @Output() onSwitchChange: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n if (this.switchValue)\r\n this.value = this.switchValue;\r\n }\r\n\r\n emitOnSwitchChange(event: any) {\r\n this.onSwitchChange.emit(event);\r\n }\r\n}\r\n","<div class=\"center field-checkbox\">\r\n\r\n <p-inputSwitch\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n (ngModelChange)=\"emitOnSwitchChange($event)\">\r\n </p-inputSwitch>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output\r\n} from '@angular/core';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport class BaseComponentButton {\r\n\r\n @Input() icon: string = '';\r\n @Input() label: string = '';\r\n @Input() loading: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input() color: string = 'bg-blue-100';\r\n\r\n\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n click(event: any): void {\r\n this.onClick.emit();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponentButton } from '../../api/base-components/base-component-button';\r\n\r\n@Component({\r\n selector: 'kv-button-secondary',\r\n templateUrl: './button-secondary.component.html',\r\n styleUrls: ['./button-secondary.component.scss']\r\n})\r\nexport class ButtonSecondaryComponent extends BaseComponentButton {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","\r\n<button\r\n pButton\r\n pRipple\r\n class=\"btn-secondary border-300\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n (click)=\"click($event)\">\r\n</button>\r\n\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponentButton } from '../../api/base-components/base-component-button';\r\n\r\n@Component({\r\n selector: 'kv-button-success',\r\n templateUrl: './button-success.component.html',\r\n styleUrls: ['./button-success.component.scss']\r\n})\r\nexport class ButtonSuccessComponent extends BaseComponentButton {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","<button\r\n pButton\r\n pRipple\r\n class=\"btn-success border-green-500\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n (click)=\"click($event)\">\r\n</button>\r\n\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponentButton } from '../../api/base-components/base-component-button';\r\n\r\n@Component({\r\n selector: 'kv-button-personalize',\r\n templateUrl: './button-personalize.component.html',\r\n styleUrls: ['./button-personalize.component.scss']\r\n})\r\nexport class ButtonPersonalizeComponent extends BaseComponentButton {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","\r\n<button\r\n pButton\r\n pRipple\r\n [class]=\"color\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n (click)=\"click($event)\">\r\n</button>\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ChartConfig } from '../api/components/chart/chart.config';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { UIChart } from 'primeng/chart';\r\n\r\nexport const PeriodosChart = {\r\n Ultimos180Dias: -180,\r\n Ultimos120Dias: -120,\r\n Ultimos90Dias: -90,\r\n Ultimos60Dias: -60,\r\n Ultimos45Dias: -45,\r\n Ultimos30Dias: -30,\r\n Ultimos15Dias: -15,\r\n Ultimos7Dias: -7,\r\n DataAtual: 0,\r\n Proximos7Dias: 7,\r\n Proximos15Dias: 15,\r\n Proximos30Dias: 30,\r\n Proximos45Dias: 45,\r\n Proximos60Dias: 60,\r\n Proximos90Dias: 90,\r\n Proximos120Dias: 120,\r\n Proximos180Dias: 180\r\n}\r\n\r\n@Component({\r\n selector: 'kv-chart',\r\n templateUrl: './chart.component.html',\r\n styleUrls: ['./chart.component.scss', '../styles-components.scss']\r\n})\r\nexport class ChartComponent implements OnInit {\r\n\r\n chartConfig: ChartConfig = {\r\n labels: [],\r\n datasets: [],\r\n }\r\n\r\n periodosDisponiveis = [\r\n { label: 'Últimos 180 dias', value: -180 },\r\n { label: 'Últimos 120 dias', value: -120 },\r\n { label: 'Últimos 90 dias', value: -90 },\r\n { label: 'Últimos 60 dias', value: -60 },\r\n { label: 'Últimos 45 dias', value: -45 },\r\n { label: 'Últimos 30 dias', value: -30 },\r\n { label: 'Últimos 15 dias', value: -15 },\r\n { label: 'Últimos 7 dias', value: -7 },\r\n { label: 'Data atual', value: 0 },\r\n { label: 'Próximos 7 dias', value: 7 },\r\n { label: 'Próximos 15 dias', value: 15 },\r\n { label: 'Próximos 30 dias', value: 30 },\r\n { label: 'Próximos 45 dias', value: 45 },\r\n { label: 'Próximos 60 dias', value: 60 },\r\n { label: 'Próximos 90 dias', value: 90 },\r\n { label: 'Próximos 120 dias', value: 120 },\r\n { label: 'Próximos 180 dias', value: 180 }\r\n ];\r\n\r\n @Input() title!: string;\r\n @Input() type!: 'doughnut' | 'pie' | 'bar' | 'line';\r\n @Input() indexAxis!: 'y' | 'x';\r\n @Input() displayLegend!: boolean;\r\n\r\n @Input() showDatas: boolean = true;\r\n @Input() showMenu: boolean = false;\r\n @Input() selectedData!: number;\r\n @Input() enablePeriodos: number[] = [];\r\n\r\n data: any;\r\n options: any;\r\n\r\n periodos: any[] = [];\r\n\r\n menuItems: MenuItem[] = [];\r\n\r\n @Output() onPrintReport: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @ViewChild('chart') chart?: UIChart;\r\n\r\n constructor() { }\r\n\r\n configureGraphic() {\r\n this.data = this.chartConfig;\r\n this.configOptions();\r\n this.chart?.reinit();\r\n }\r\n\r\n private configOptions(): void {\r\n this.options = {\r\n indexAxis: this.indexAxis || 'x',\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n animation: {\r\n duration: 0\r\n },\r\n plugins: {\r\n legend: {\r\n display: this.displayLegend || false,\r\n labels: {\r\n color: '#1e293b',\r\n usePointStyle: true,\r\n font: {\r\n weight: 700,\r\n },\r\n padding: 28\r\n },\r\n position: 'bottom'\r\n }\r\n }\r\n };\r\n\r\n this.menuItems = [\r\n { label: 'Imprimir relatório', command: () => this.printReport() }\r\n ]\r\n }\r\n\r\n private initDatas() {\r\n this.periodosDisponiveis.map((el) => {\r\n if (this.enablePeriodos.includes(el.value)) {\r\n this.periodos.push(el);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.initDatas();\r\n this.configureGraphic();\r\n }\r\n\r\n printReport() {\r\n this.onPrintReport.emit();\r\n }\r\n\r\n public reInit(config: any) {\r\n this.chartConfig = config;\r\n this.configureGraphic();\r\n }\r\n\r\n protected selectionValue(event: any) {\r\n this.onSelectionValue.emit(event);\r\n }\r\n}\r\n","<div class=\"card h-full\">\r\n <div class=\"flex align-items-start justify-content-between mb-6\">\r\n <label class=\"text-900 text-xl font-semibold\">{{ title }}</label>\r\n <div>\r\n <p-dropdown\r\n *ngIf=\"showDatas\"\r\n [options]=\"periodos\"\r\n [(ngModel)]=\"selectedData\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n styleClass=\"w-15rem\"\r\n (onChange)=\"selectionValue($event)\">\r\n </p-dropdown>\r\n <button\r\n *ngIf=\"showMenu\"\r\n pButton\r\n pRipple\r\n icon=\"pi pi-ellipsis-h\"\r\n class=\"p-button-rounded p-button-secondary\"\r\n style=\"margin-left: 10px;\"\r\n (click)=\"menu.toggle($event)\">\r\n </button>\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n appendTo=\"body\"\r\n [model]=\"menuItems\">\r\n </p-menu>\r\n </div>\r\n </div>\r\n <p-chart\r\n #chart\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n height=\"300px\">\r\n </p-chart>\r\n</div>\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { chartModel } from \"../components/chart/chart.model\";\r\nimport { ChartConfig, ChartDatasetConfig } from \"../components/chart/chart.config\";\r\nimport { ChartComponent, PeriodosChart } from \"../../chart/chart.component\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseChartComponent implements OnInit {\r\n\r\n chartConfig!: ChartConfig;\r\n selectedData: number = 0;\r\n enablePeriodos: number[] = [];\r\n periodos = PeriodosChart;\r\n\r\n @ViewChild(ChartComponent) chartComponent?: ChartComponent;\r\n\r\n @Output() onPrintReport: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n protected changeData(event: any) {\r\n if (event) {\r\n this.selectedData = event?.value;\r\n this.loadData();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadData()\r\n }\r\n\r\n abstract loadData(): void;\r\n\r\n protected loadGraphic(obs: Observable<any>) {\r\n obs\r\n .subscribe({\r\n next: (data: any) => {\r\n this.chartConfig = this.assembleGraphic(data as chartModel[]);\r\n this.chartComponent?.reInit(this.chartConfig);\r\n },\r\n error: (error: any) => { },\r\n });\r\n }\r\n\r\n protected assembleGraphic(data: chartModel[]) {\r\n let labels: string[] = [];\r\n let datasets: ChartDatasetConfig[] = [];\r\n\r\n // Tratando legendas\r\n data.map((element: any) => {\r\n if (element.labels && !labels.includes(element.labels)) {\r\n labels.push(element.labels);\r\n }\r\n });\r\n\r\n //Descobrindo quantas dimensões tem o gráfico\r\n let numDatasets = Math.max(...data.map(o => o.numDatasets));\r\n\r\n //Populando datasets\r\n for (let i = 0; i <= numDatasets; i++) {\r\n let backgroundColor: string[] = [];\r\n let hoverBackgroundColor: string[] = [];\r\n let borderColor: string[] = [];\r\n let values: number[] = [];\r\n let labelDataset: string = '';\r\n\r\n data.filter((obj) => {\r\n return obj.numDatasets === i;\r\n }).map((obj) => {\r\n if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {\r\n backgroundColor.push(obj.backgroundColor);\r\n }\r\n if (obj.borderColor && !borderColor.includes(obj.borderColor)) {\r\n borderColor.push(obj.borderColor);\r\n }\r\n if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {\r\n hoverBackgroundColor.push(obj.hoverBackgroundColor);\r\n }\r\n if (obj.labelDataset) labelDataset = obj.labelDataset;\r\n\r\n values.push(obj.datasets);\r\n });\r\n\r\n datasets.push(\r\n {\r\n label: labelDataset,\r\n backgroundColor: backgroundColor,\r\n hoverBackgroundColor: hoverBackgroundColor,\r\n borderColor: borderColor?.length === 0 ? undefined : borderColor,\r\n data: values\r\n }\r\n );\r\n }\r\n\r\n let dados: ChartConfig = {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n\r\n return dados;\r\n }\r\n}\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cTemplate]'\r\n})\r\nexport class TemplateDirective {\r\n @Input() type!: string;\r\n @Input('cTemplate') name!: string;\r\n\r\n constructor(public template: TemplateRef<any>) { }\r\n\r\n getType(): string {\r\n return this.name;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'codigoFipe' })\r\nexport class CodigoFipePipe implements PipeTransform {\r\n\r\n transform(value: string) {\r\n if (value) {\r\n\r\n const identificacao = value.replace(/[^0-9]/g, '');\r\n\r\n return identificacao.replace(/(\\d{6})(\\d{1})/g, \"\\$1-\\$2\");\r\n }\r\n else return null;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cpfCnpj' })\r\nexport class CpfCnpjPipe implements PipeTransform {\r\n\r\n transform(value: string) {\r\n if (value) {\r\n\r\n const identificacao = value.replace(/[^0-9]/g, '');\r\n\r\n if (identificacao.length === 11) {\r\n return identificacao.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/g, \"\\$1.\\$2.\\$3\\-\\$4\");\r\n } else if (identificacao.length === 14) {\r\n return identificacao.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/g, \"\\$1.\\$2.\\$3\\/\\$4\\-\\$5\");\r\n }\r\n\r\n return value;\r\n }\r\n else return null;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'Telefone'\r\n})\r\nexport class TelefonePipe implements PipeTransform {\r\n\r\n transform(tel: string) {\r\n if (tel) {\r\n const value = tel.toString().replace(/\\D/g, '');\r\n\r\n let foneFormatado = '';\r\n\r\n if (value.length > 12) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{2})?(\\d{5})?(\\d{4})/, '+$1 ($2) $3-$4');\r\n\r\n } else if (value.length > 11) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{2})?(\\d{4})?(\\d{4})/, '+$1 ($2) $3-$4');\r\n\r\n } else if (value.length > 10) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{5})?(\\d{4})/, '($1) $2-$3');\r\n\r\n } else if (value.length > 9) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{4})?(\\d{4})/, '($1) $2-$3');\r\n\r\n } else if (value.length > 5) {\r\n foneFormatado = value.replace(/^(\\d{2})?(\\d{4})?(\\d{0,4})/, '($1) $2-$3');\r\n\r\n } else if (value.length > 1) {\r\n foneFormatado = value.replace(/^(\\d{2})?(\\d{0,5})/, '($1) $2');\r\n } else {\r\n if (tel !== '') { foneFormatado = value.replace(/^(\\d*)/, '($1'); }\r\n }\r\n return foneFormatado;\r\n }\r\n else return null;\r\n }\r\n}\r\n","import { DatePipe, DecimalPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\nimport { TableConfig } from '../api/components/table/table.config';\r\nimport { TableConfigColumn } from '../api/components/table/table.config.column';\r\nimport { TablePaginate } from '../api/components/table/table.paginate';\r\nimport { TemplateDirective } from '../directives/template.directive';\r\nimport { CodigoFipePipe } from '../pipes/codigofile.pipe';\r\nimport { CpfCnpjPipe } from '../pipes/cpfcnpj.pipe';\r\nimport { TelefonePipe } from '../pipes/telefone.pipe';\r\nimport { KvMenuItem } from '../api/components/table/kv-menuitem';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nconst imgDefault = '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';\r\n\r\n@Component({\r\n selector: 'kv-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n})\r\nexport class TableComponent implements OnInit {\r\n config!: TableConfig;\r\n pesquisaValue!: string;\r\n globalFilterFields: string[] = [];\r\n actionsTemplate!: TemplateRef<any>;\r\n\r\n selectedSize: string = '';\r\n\r\n tamanhoTela!: number;\r\n\r\n menuItems: KvMenuItem[] = [];\r\n menuColumns: KvMenuItem[] = [];\r\n\r\n checked: boolean = true;\r\n\r\n columns: TableConfigColumn[] = [];\r\n deletedColuns: TableConfigColumn[] = [];\r\n\r\n menuFiltro: boolean = false;\r\n checkboxClicked: boolean = false;\r\n\r\n @ContentChildren(TemplateDirective) templates!: QueryList<any>;\r\n @Input('templates') _templates!: any;\r\n\r\n @ViewChild('table', { static: false }) table!: Table;\r\n deletedColumnsIndex!: any[];\r\n\r\n @Input('config') set setConfig(value: TableConfig) {\r\n this.config = {\r\n enableCation: value.enableCation || true,\r\n enableSelect: value.enableSelect || false,\r\n enableFilter: value.enableFilter || true,\r\n ...value,\r\n };\r\n\r\n if (this.config.enableFilter) {\r\n this.config.columns.forEach((col) => {\r\n this.globalFilterFields.push(col.field);\r\n });\r\n }\r\n }\r\n\r\n @Input() dataSource: any;\r\n @Input() selectedItems: any[] = [];\r\n @Input() totalRecords!: number;\r\n @Input() paginator: boolean = true;\r\n @Input() rowsPerPageOptions!: number[];\r\n @Input() rows: number = 5;\r\n @Input() tableSize!: number;\r\n @Input() applyStyle: Function = (rowData: any, col: TableConfigColumn) => '';\r\n @Input() acoesLinhaTabela: boolean = true;\r\n @Input() filterColumnsBtn: boolean = false;\r\n\r\n @Output() onActiveItem: EventEmitter<any> = new EventEmitter();\r\n @Output() onActiveItemLote: EventEmitter<any> = new EventEmitter();\r\n @Output() onPaginate: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() doubleClickEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() filterField: EventEmitter<any> = new EventEmitter();\r\n\r\n @ViewChild('menuFiltroDiv') menuFiltroDiv!: ElementRef;\r\n @ViewChild('botaoFiltro') botaoFiltro!: ElementRef;\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n private readonly decimalPipe: DecimalPipe,\r\n private readonly codigoFipePipe: CodigoFipePipe,\r\n private readonly cpfCnpjPipe: CpfCnpjPipe,\r\n private readonly telefonePipe: TelefonePipe,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private sanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.adjustTableSize();\r\n this.tamanhoTela = window.innerWidth;\r\n // this.criarMenuColumns();\r\n this.config.columns.forEach((col: any) => {\r\n this.columns.push(col);\r\n });\r\n this.checkHideColumns();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.adjustTableSize();\r\n this.tamanhoTela = window.innerWidth;\r\n }\r\n\r\n public activeItem(rowData: any) {\r\n this.onActiveItem.emit(rowData);\r\n }\r\n\r\n public activeItemLote(rowData: any) {\r\n this.onActiveItemLote.emit(rowData);\r\n }\r\n\r\n isBooleanField(rowData: any, col: TableConfigColumn): boolean {\r\n return typeof rowData[col.field] == 'boolean';\r\n }\r\n\r\n isChipField(col: TableConfigColumn): boolean {\r\n return col.fieldType == 'chip';\r\n }\r\n\r\n isImageField(col: TableConfigColumn): boolean {\r\n let retorno = col.fieldType && col.fieldType === 'image' ? true : false;\r\n return retorno;\r\n }\r\n\r\n loadImage(rowData: any, col: TableConfigColumn): string {\r\n /*\r\n Nossa coluna de imagem trabalha com strings do tipo: base64 ou url\r\n */\r\n let retorno = `data:image/jpg;base64, ${imgDefault}`;\r\n if (rowData && col && rowData[col.field] && rowData[col.field] !== '') {\r\n if (rowData[col.field].includes('http'))\r\n retorno = rowData[col.field];\r\n else\r\n retorno = `data:image/jpg;base64, ${rowData[col.field]}`;\r\n }\r\n\r\n return retorno;\r\n }\r\n\r\n public onGlobalFilter(table: Table, event: Event) {\r\n this.filterField.emit((event.target as HTMLInputElement).value);\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains');\r\n }\r\n\r\n public paginate(event: any) {\r\n if (event) {\r\n let paginaInicial =\r\n (event?.first > 0 ? event.first / event.rows : event.first) + 1;\r\n let termoPesquisa = '';\r\n let ordenacao = '';\r\n\r\n if (event.globalFilter) termoPesquisa = event.globalFilter;\r\n\r\n if (event.sortField)\r\n ordenacao = `${event.sortField} ${event.sortOrder === 1 ? 'ASC' : 'DESC'\r\n }`;\r\n\r\n const objeto: TablePaginate = {\r\n paginaInicial: paginaInicial,\r\n tamanhoPagina: event.rows,\r\n termoPesquisa: termoPesquisa,\r\n ordenacao: ordenacao,\r\n };\r\n\r\n this.onPaginate.emit(objeto);\r\n }\r\n }\r\n\r\n selectionChange(value = []) {\r\n this.onSelectionChange.emit(value);\r\n }\r\n\r\n returnRowClass(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n let rowClass: string;\r\n\r\n this.tableSize > 800 ? (rowClass = 'text-base') : (rowClass = 'text-sm');\r\n\r\n if (col.expiredDate == true) {\r\n new Date(value) < new Date()\r\n ? (rowClass = rowClass + ' text-red-400 font-semibold')\r\n : '';\r\n }\r\n return rowClass;\r\n }\r\n\r\n expiredFile(rowData: any, col: TableConfigColumn): boolean {\r\n let value = rowData['datavencimento'];\r\n return new Date(value) < new Date() && col.field == 'area';\r\n }\r\n\r\n transformValue(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n\r\n if (value != null) {\r\n if (!col.pipe) {\r\n return value;\r\n }\r\n\r\n switch (col.pipe) {\r\n case 'date':\r\n return this.datePipe.transform(value, 'dd/MM/yyyy');\r\n case 'decimal':\r\n return this.decimalPipe.transform(value, '1.2-2', 'pt-BR');\r\n case 'cpfcnpj':\r\n return this.cpfCnpjPipe.transform(value);\r\n case 'telefone':\r\n return this.telefonePipe.transform(value);\r\n case 'codigofipe':\r\n return this.codigoFipePipe.transform(value);\r\n case 'money':\r\n return this.formatarValor(value);\r\n case 'percentage':\r\n return `${value} %`;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n formatarValor(valor: number): string {\r\n const formatter = new Intl.NumberFormat('pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL',\r\n });\r\n\r\n return formatter.format(valor);\r\n }\r\n\r\n adjustTableSize() {\r\n if (this.tableSize < 800) {\r\n this.selectedSize = 'p-datatable-sm';\r\n } else {\r\n this.selectedSize = '';\r\n }\r\n }\r\n\r\n doubleClick(e: any, rowData: any) {\r\n let eventDoubleClick = { event: e, rowData: rowData };\r\n\r\n let array: string[] = [];\r\n e.target.classList.forEach((x: any) => array.push(x));\r\n\r\n if (array.find((x: any) => x == 'ng-star-inserted') != undefined)\r\n this.doubleClickEvent.emit(eventDoubleClick);\r\n }\r\n\r\n centralizarColunas(col: any): string {\r\n if (col.centralize) {\r\n return 'text-align: center';\r\n } else return '';\r\n }\r\n\r\n alignColunas(col: any): string {\r\n if (col.align) {\r\n return `text-align: ${col.align}`;\r\n } else return '';\r\n }\r\n\r\n alignColunasHeader(col: any): string {\r\n if (col.align) {\r\n if (col.align == 'right') return 'justify-content: end';\r\n else return '';\r\n } else return '';\r\n }\r\n\r\n retornarCampo(action: KvMenuItem, rowData: any, field: string): string {\r\n const _function = action.dynamicfields\r\n ? (action.dynamicfields[field] as Function)\r\n : null;\r\n const _field: string = _function\r\n ? _function.apply(action, [rowData])\r\n : action[field];\r\n return _field;\r\n }\r\n\r\n retornarRow(rowData: any, col: any, field: string): string {\r\n const _rowaction = this.config.rows ? this.config.rows[col.field] : null;\r\n const _field: string =\r\n _rowaction && _rowaction[field]\r\n ? _rowaction[field].constructor === Function\r\n ? _rowaction[field].apply(this, [rowData])\r\n : _rowaction[field]\r\n : null;\r\n return _field;\r\n }\r\n\r\n exibirCampo(field: any, rowData: any) {\r\n let visible = field.visible ? field.visible(rowData) : true;\r\n\r\n // if (field != undefined && field != null && field != '') {\r\n // const value = rowData[field];\r\n // return value;\r\n // }\r\n return visible;\r\n }\r\n\r\n criarMenusModal(data: any) {\r\n if (this.config.actions && data) {\r\n const items = this.config.actions.map((action) => {\r\n const icon = this.retornarCampo(action, data, 'icon');\r\n const tooltip = this.retornarCampo(action, data, 'tooltip');\r\n const label = this.retornarCampo(action, data, 'label');\r\n const command: any = this.retornarCampo(action, data, 'command');\r\n const visible: boolean = action.visible ? action.visible(data) : true;\r\n const disabled: boolean = action.disabled\r\n ? action.disabled(data)\r\n : false;\r\n\r\n const menuInsert: KvMenuItem = {\r\n label,\r\n icon,\r\n tooltip,\r\n command,\r\n disabled,\r\n visible,\r\n };\r\n\r\n let item = this.menuItems.filter(\r\n (x) => x.command == menuInsert.command\r\n );\r\n\r\n if (item.length == 0) this.menuItems.push(menuInsert);\r\n else {\r\n if (menuInsert.label != item[0].label) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.visible != item[0].visible) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.disabled != item[0].disabled) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n returnClassChip(rowData: any, col: any): string {\r\n return `chip-style w-auto border-round-2xl p-2 text-${this.retornarRow(\r\n rowData,\r\n col,\r\n 'stylechip'\r\n )} border-${this.retornarRow(rowData, col, 'stylechip')}`;\r\n }\r\n\r\n returnClassIcon(rowData: any, col: any): string {\r\n return this.retornarRow(rowData, col, 'iconrow');\r\n }\r\n\r\n returnTooltipIcon(rowData: any, col: any): string {\r\n return this.retornarRow(rowData, col, 'tooltipiconrow');\r\n }\r\n\r\n deleteColumn(field: string) {\r\n let index: number;\r\n\r\n let column: TableConfigColumn | undefined = this.config.columns.find(\r\n (x: TableConfigColumn) => x.field == field\r\n );\r\n if (column) {\r\n index = this.config.columns.indexOf(column);\r\n this.config.columns.splice(index, 1);\r\n this.deletedColuns.push(column);\r\n }\r\n }\r\n\r\n addColumn(field: string) {\r\n let index: number;\r\n\r\n let column: TableConfigColumn | undefined = this.config.columns.find(\r\n (x: TableConfigColumn) => x.field == field\r\n );\r\n\r\n if (!column) {\r\n let deletedColumn: TableConfigColumn | undefined =\r\n this.deletedColuns.find((x: TableConfigColumn) => x.field == field);\r\n\r\n if (deletedColumn != undefined) {\r\n index = this.deletedColuns.indexOf(deletedColumn);\r\n this.deletedColuns.slice(index, 1);\r\n this.config.columns.push(deletedColumn);\r\n }\r\n }\r\n }\r\n\r\n dinamicColumnSet(e: any, col: any) {\r\n col.checked = e.checked;\r\n if (e.checked) this.addColumn(col.field);\r\n else this.deleteColumn(col.field);\r\n\r\n if (col.position) this.config.columns.sort(this.sortByPosition());\r\n }\r\n\r\n abrirMenuFiltro(e: any) {\r\n this.menuFiltro = !this.menuFiltro;\r\n this.checkboxClicked = false;\r\n\r\n if (this.tamanhoTela < 700)\r\n this.styleSetter('left', (this.botaoFiltro.nativeElement.offsetLeft - 288) + 'px')\r\n else\r\n this.styleSetter('left', (this.botaoFiltro.nativeElement.offsetLeft + 40) + 'px')\r\n\r\n this.styleSetter('top', this.botaoFiltro.nativeElement.offsetTop + 'px')\r\n this.styleSetter('visibility', this.menuFiltro ? 'visible' : 'hidden')\r\n }\r\n\r\n fecharMenuFiltro() {\r\n this.menuFiltro = false;\r\n this.checkboxClicked = false;\r\n\r\n this.styleSetter('visibility', 'hidden')\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onEscapeKey(event: KeyboardEvent) {\r\n if (this.filterColumnsBtn == true && this.menuFiltro == true) {\r\n this.fecharMenuFiltro();\r\n }\r\n }\r\n @HostListener('document:click', ['$event'])\r\n onClickEvent(event: any) {\r\n if (this.filterColumnsBtn == true && this.menuFiltro == true) {\r\n const clickedElement = event.target as HTMLElement;\r\n const menuFiltroDiv =\r\n this.elementRef.nativeElement.querySelector('#menuFiltroDiv');\r\n const botaoFiltro =\r\n this.elementRef.nativeElement.querySelector('#botaoFiltro');\r\n const isCheckboxClicked =\r\n clickedElement.classList.toString().includes('p-checkbox') ||\r\n event.target.classList.toString() == '';\r\n const isInsideMenu =\r\n menuFiltroDiv?.contains(clickedElement) ||\r\n botaoFiltro?.contains(clickedElement) ||\r\n isCheckboxClicked;\r\n\r\n if (!isInsideMenu) this.fecharMenuFiltro();\r\n }\r\n }\r\n\r\n checkMenuFiltro(col: any) {\r\n let deletedColumn: TableConfigColumn | undefined = this.deletedColuns.find(\r\n (x: TableConfigColumn) => x.field == col.field\r\n );\r\n if (deletedColumn) col.checked = false;\r\n else col.checked = true;\r\n }\r\n\r\n sortByPosition() {\r\n return function (elem1: any, elem2: any) {\r\n if (elem1.position < elem2.position) {\r\n return -1;\r\n } else if (elem1.position > elem2.position) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n };\r\n }\r\n\r\n callDisabled(action: KvMenuItem, data: any): boolean {\r\n if (action?.disabled) {\r\n return action.disabled(data);\r\n }\r\n return false;\r\n }\r\n\r\n dinamicDisableColumn(col: TableConfigColumn): boolean {\r\n if (col.fixedColumn) return col.fixedColumn;\r\n else return false;\r\n }\r\n\r\n checkHideColumns() {\r\n let hideColumnsConfig = this.columns.filter(\r\n (col) => col.hideColumn == true\r\n );\r\n hideColumnsConfig.forEach((col) => this.deleteColumn(col.field));\r\n }\r\n\r\n getCustomTemplate(templatename: string): TemplateRef<any> {\r\n return this._templates[templatename];\r\n }\r\n\r\n styleSetter(style: string, data: string) {\r\n this.renderer?.setStyle(\r\n this.menuFiltroDiv.nativeElement,\r\n style,\r\n data\r\n );\r\n }\r\n\r\n}\r\n","<div>\r\n <p-table\r\n *ngIf=\"config\"\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"false\"\r\n [pageLinks]=\"1\"\r\n [responsive]=\"true\"\r\n responsiveLayout=\"stack\"\r\n >\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\"\r\n >\r\n <div class=\"col-12 flex flex-column\">\r\n <div *ngIf=\"config.title\" class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n <div *ngIf=\"config.subtitle\" class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n tamanhoTela < 768\r\n ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4'\r\n : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 input-search'\r\n \"\r\n >\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"block mt-2 md:mt-0 p-input-icon-left text-align-center\"\r\n >\r\n <i\r\n class=\"material-symbols-outlined icon-search\"\r\n style=\"display: inline-block\"\r\n >\r\n search\r\n </i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"w-full mb-1\"\r\n style=\"height: 40px\"\r\n />\r\n </span>\r\n\r\n <button\r\n pButton\r\n #botaoFiltro\r\n id=\"botaoFiltro\"\r\n *ngIf=\"filterColumnsBtn\"\r\n class=\"p-button-raised p-button-text actionLoteBtns\"\r\n (click)=\"abrirMenuFiltro($event)\"\r\n >\r\n <span class=\"material-symbols-outlined md-22\"> filter_alt </span>\r\n </button>\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n <div\r\n class=\"flex flex-column text-medium w-15rem\"\r\n *ngFor=\"let col of columns\"\r\n >\r\n {{ checkMenuFiltro(col) }}\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n *ngIf=\"!dinamicDisableColumn(col)\"\r\n ></p-checkbox>\r\n </div>\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n <div *ngFor=\"let action of config.actionsLote\" class=\"btns-options\">\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"(selectedItems.length > 0 || action.showAcoesLote) && exibirCampo(action, this.action)\"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"retornarCampo(action, selectedItems, 'btnColor')\"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect\"\r\n >\r\n <p-tableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n\r\n\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\" [pTooltip]=\"col.headerTooltip\">info</span>\r\n \r\n </div>\r\n </th>\r\n <th *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n >\r\n <tr (dblclick)=\"doubleClick($event, rowData)\">\r\n <td\r\n *ngIf=\"config.enableSelect\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"rowgroup && !col.template\"\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col)\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\">{{\r\n transformValue(rowData, col)\r\n }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i\r\n *ngIf=\"!col.iconField\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"!rowgroup && !col.grouped && !col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col)\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ transformValue(rowData, col) }}</span\r\n >\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i\r\n *ngIf=\"!col.iconField\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <td\r\n *ngIf=\"config.actions && config.actions.length > 0\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div *ngFor=\"let action of config.actions\">\r\n <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TreeNode } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'kv-tree-view',\r\n templateUrl: './tree-view.component.html',\r\n styleUrls: ['./tree-view.component.scss']\r\n})\r\n\r\n\r\nexport class TreeViewComponent implements OnInit {\r\n\r\n @Input() selectedFiles!: TreeNode[] | undefined;\r\n\r\n @Input() selectionMode: string = 'checkbox';\r\n @Input() treeViewData!: TreeNode[];\r\n\r\n @Output() selectedItems: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onSelectionChange() {\r\n this.selectedItems.emit(this.selectedFiles)\r\n }\r\n\r\n}\r\n","<div class=\"card flex flex-column align-items-center justify-content-center\">\r\n <p-tree\r\n [value]=\"treeViewData\"\r\n [selectionMode]=\"selectionMode\"\r\n class=\"w-full\"\r\n [(selection)]=\"selectedFiles\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n ></p-tree>\r\n</div>","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kv-picklist',\r\n templateUrl: './picklist.component.html',\r\n styleUrls: ['./picklist.component.scss', '../styles-components.scss']\r\n})\r\nexport class PickListComponent implements OnInit {\r\n\r\n @Input() source!: any[]; // Lista de origem\r\n @Input() sourceHeader: string = 'Título da lista de origem';\r\n @Input() sourceStyle!: any; // Estilização da lista de origem\r\n @Input() target!: any[]; // Lista de destino (Itens selecionados)\r\n @Input() targetHeader: string = 'Título de lista de destino'; \r\n @Input() targetStyle!: any; // Estilização da lista de destino\r\n @Input() dragdrop: boolean = true; // Ativa/Desativa o arrasta e solta\r\n @Input() responsive: boolean = true; // Ativa/Desativa a responsividade automática\r\n @Input() filterBy!: string; // Campo de filtro nas listas.\r\n @Input() breakpoint: string = \"1400px\"; // Define a largura da tela na qual o componente deve alterar seu comportamento responsivo.\r\n @Input() stripedRows: boolean = false; // Ativa/Desativa linhas com cores alternadas (\"zebradas\")\r\n @Input() itemTemplate!: TemplateRef<any>; // Como as listas são dinâmicas, obrigatoriamente um template deve ser informado para exibir os itens das listas\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","<p-pickList \r\n [source]=\"source\" \r\n [sourceHeader]=\"sourceHeader\" \r\n [sourceStyle]=\"sourceStyle\" \r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\" \r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\" \r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ng-template>\r\n</p-pickList>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoFocusModule } from 'primeng/autofocus';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { DataViewModule } from 'primeng/dataview';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DialogService, DynamicDialogRef, DynamicDialogConfig } from 'primeng/dynamicdialog';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { DynamicDialogModule } from 'primeng/dynamicdialog';\r\nimport { EditorModule } from 'primeng/editor';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KnobModule } from 'primeng/knob';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { SpeedDialModule } from 'primeng/speeddial';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { StepsModule } from 'primeng/steps'\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { OverlayModule } from 'primeng/overlay';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { TreeModule } from 'primeng/tree';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { StyleClassModule } from 'primeng/styleclass';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\n@NgModule({\r\n exports: [\r\n AccordionModule,\r\n AutoFocusModule,\r\n BadgeModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n CarouselModule,\r\n ChartModule,\r\n CheckboxModule,\r\n ChipModule,\r\n ConfirmDialogModule,\r\n ContextMenuModule,\r\n DataViewModule,\r\n DialogModule,\r\n DividerModule,\r\n DropdownModule,\r\n DynamicDialogModule,\r\n EditorModule,\r\n FieldsetModule,\r\n FileUploadModule,\r\n InputMaskModule,\r\n InputNumberModule,\r\n InputSwitchModule,\r\n InputTextModule,\r\n InputTextareaModule,\r\n KnobModule,\r\n MenuModule,\r\n MessageModule,\r\n MessagesModule,\r\n MultiSelectModule,\r\n OverlayModule,\r\n OverlayPanelModule,\r\n OverlayPanelModule,\r\n PanelModule,\r\n PanelMenuModule,\r\n PasswordModule,\r\n PickListModule,\r\n ProgressBarModule,\r\n RadioButtonModule,\r\n RatingModule,\r\n RippleModule,\r\n SidebarModule,\r\n SkeletonModule,\r\n SpeedDialModule,\r\n SplitButtonModule,\r\n StepsModule,\r\n TabViewModule,\r\n TableModule,\r\n ToastModule,\r\n ToolbarModule,\r\n TooltipModule,\r\n TreeModule,\r\n StyleClassModule,\r\n BreadcrumbModule,\r\n TreeTableModule\r\n ],\r\n providers: [\r\n ConfirmationService,\r\n DialogService,\r\n DynamicDialogRef,\r\n DynamicDialogConfig,\r\n MessageService,\r\n ]\r\n})\r\nexport class PrimeNgModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonSecondaryComponent } from './button-secondary/button-secondary.component';\r\nimport { ButtonSuccessComponent } from './button-success/button-success.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { ButtonPersonalizeComponent } from './button-personalize/button-personalize.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ButtonSecondaryComponent,\r\n ButtonSuccessComponent,\r\n ButtonPersonalizeComponent\r\n ],\r\n imports: [\r\n PrimeNgModule\r\n ],\r\n exports: [\r\n ButtonSecondaryComponent,\r\n ButtonSuccessComponent,\r\n ButtonPersonalizeComponent\r\n ]\r\n})\r\nexport class KvButtonsModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { PrimeNgModule } from '../../modules/primeng.module';\r\n\r\nimport { ErrorComponent } from './error.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ErrorComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n PrimeNgModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [\r\n ErrorComponent,\r\n ]\r\n})\r\nexport class kvErrorModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CheckComponent } from './check/check.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { InputCalendarComponent } from './input-calendar/input-calendar.component';\r\nimport { InputMaskComponent } from './input-mask/input-mask.component';\r\nimport { InputNumberComponent } from './input-number/input-number.component';\r\nimport { InputPasswordComponent } from './input-password/input-password.component';\r\nimport { InputTextComponent } from './input-text/input-text.component';\r\nimport { InputTextareaComponent } from './input-textarea/input-textarea.component';\r\nimport { InputTimeComponent } from './input-time/input-time.component';\r\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\r\nimport { SwitchComponent } from './switch/switch.component';\r\nimport { kvErrorModule } from '../api/components/error/kverror.module';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CheckComponent,\r\n DropdownComponent,\r\n InputCalendarComponent,\r\n InputMaskComponent,\r\n InputNumberComponent,\r\n InputPasswordComponent,\r\n InputTextComponent,\r\n InputTextareaComponent,\r\n InputTimeComponent,\r\n MultiSelectComponent,\r\n SwitchComponent,\r\n RadioGroupComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n kvErrorModule,\r\n PrimeNgModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [\r\n CheckComponent,\r\n DropdownComponent,\r\n InputCalendarComponent,\r\n InputMaskComponent,\r\n InputNumberComponent,\r\n InputPasswordComponent,\r\n InputTextComponent,\r\n InputTextareaComponent,\r\n InputTimeComponent,\r\n MultiSelectComponent,\r\n SwitchComponent,\r\n RadioGroupComponent\r\n ]\r\n})\r\nexport class KvInputsModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableComponent } from './table.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TableComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n TableComponent\r\n ]\r\n})\r\nexport class KvTableModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TreeViewComponent } from './tree-view.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TreeViewComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule\r\n ],\r\n exports: [\r\n TreeViewComponent\r\n ],\r\n})\r\nexport class KvtreeViewModule { }\r\n","import { FormsModule } from '@angular/forms';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChartComponent } from './chart.component';\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n ChartComponent\r\n ]\r\n})\r\nexport class KvChartModule { }\r\n","import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { menuCompletoModel } from '../api/models/menu/menucompleto.model';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { Sidebar } from 'primeng/sidebar';\r\nimport { menuModel } from '../api/models/menu/menu.model';\r\nimport { masterModel } from '../api/models/menu/master.model';\r\nimport { ActivatedRoute, NavigationEnd, Router, UrlSegment } from '@angular/router';\r\nimport { OverlayPanel } from 'primeng/overlaypanel';\r\n\r\n@Component({\r\n selector: 'kv-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n})\r\nexport class MenuComponent implements OnInit {\r\n\r\n @Input() menuCompleto: menuCompletoModel[] = [];\r\n @Input() licencas: masterModel[] = []\r\n @Input() licencaSelecionada!: masterModel;\r\n @Input() logoImage!: any;\r\n @Input() nomeUsuario!: string;\r\n\r\n @Output() gerenciarKeePassEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() sairEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() expandMenuEmit: EventEmitter<boolean> = new EventEmitter();\r\n\r\n @ViewChild('sidebarRef') sidebarRef!: Sidebar;\r\n @ViewChild('sistemasPanel') sistemasPanel!: OverlayPanel;\r\n @ViewChild('meusDadosPanel') meusDadosPanel!: OverlayPanel;\r\n\r\n licencasOptions: { id: number, descricao: string, cnpj: string }[] = []\r\n licencaSelected!: { id: number, descricao: string, cnpj: string };\r\n\r\n menusFiltrados: menuCompletoModel[] = [];\r\n menus: menuModel[] = [];\r\n\r\n breadCrumbItems: { label: string, routerLink: string }[] = [];\r\n\r\n heigthCard!: number;\r\n widthCard!: number;\r\n expandMenu: boolean = true;\r\n\r\n visibleDialogLicenca: boolean = false;\r\n\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);\r\n this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef, private router: Router, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => this.setLicenca(), 1500)\r\n\r\n this.licencas.forEach((x, i) => {\r\n this.licencasOptions.push({\r\n id: i,\r\n descricao: x.razaosocial,\r\n cnpj: x.cnpj\r\n })\r\n })\r\n\r\n var licenca = this.licencasOptions.find((x) => x.cnpj == this.licencaSelecionada.cnpj);\r\n\r\n if (licenca != undefined)\r\n this.licencaSelected = licenca;\r\n\r\n this.router.events.subscribe(event => {\r\n console.log(event instanceof NavigationEnd, 'event')\r\n if (event instanceof NavigationEnd) {\r\n this.configurarBreadCrumbs();\r\n }\r\n });\r\n\r\n this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);\r\n this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);\r\n }\r\n\r\n\r\n configurarBreadCrumbs() {\r\n const rootRoute = this.route.root;\r\n this.breadCrumbItems = this.getBreadcrumbs(rootRoute);\r\n }\r\n\r\n private getBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: { label: string, routerLink: string }[] = []): { label: string, routerLink: string }[] {\r\n const childrenRoutes = route.children;\r\n\r\n if (childrenRoutes.length === 0) {\r\n return breadcrumbs;\r\n }\r\n\r\n for (const childRoute of childrenRoutes) {\r\n const routeUrl = childRoute.snapshot.url.map(segment => segment.path).join('/');\r\n if (routeUrl !== '') {\r\n url += `/${routeUrl}`;\r\n }\r\n\r\n const breadcrumbLabel = childRoute.snapshot.data['breadcrumb'];\r\n if (breadcrumbLabel) {\r\n const tree = this.router.createUrlTree([], { relativeTo: childRoute });\r\n const segments: UrlSegment[] = tree.root.children['primary'].segments;\r\n const breadcrumbUrl = segments.map(segment => segment.path).join('/');\r\n breadcrumbs.push({ label: breadcrumbLabel, routerLink: `/${breadcrumbUrl}` });\r\n }\r\n\r\n return this.getBreadcrumbs(childRoute, url, breadcrumbs);\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n closeCallback(e: Event): void {\r\n this.sidebarRef.close(e);\r\n }\r\n\r\n MascaraNomeLicenca(nomeLicenca: any): string {\r\n if (nomeLicenca) {\r\n if (nomeLicenca.length > 24)\r\n return nomeLicenca.substring(0, 24) + '...';\r\n else return nomeLicenca;\r\n } else return '';\r\n }\r\n\r\n MascaraCnpj(cnpj: string): string {\r\n const cnpjLimpo = cnpj.replace(/\\D/g, '');\r\n\r\n return cnpjLimpo.replace(\r\n /^(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})$/,\r\n '$1.$2.$3/$4-$5'\r\n );\r\n }\r\n\r\n definirMenusPorSistema(idsistema: number) {\r\n this.menus =\r\n this.menuCompleto.find((x) => x.sistema.idsistema == idsistema)?.menus ||\r\n [];\r\n\r\n this.sistemasPanel.hide();\r\n if (this.menus[0].menupai) {\r\n var filhos = this.retornarMenuFilhos(this.menus[0].idsistema, this.menus[0].idmenu);\r\n if (filhos != undefined)\r\n this.callRoute(filhos[0].link, true)\r\n } else this.callRoute(this.menus[0].link, true)\r\n }\r\n\r\n retornarMenuFilhos(idsistema: number, idmenu: number) {\r\n return this.menuCompleto\r\n .find((x) => x.sistema.idsistema == idsistema)\r\n ?.menus.filter((x) => x.idmenupai == idmenu);\r\n }\r\n\r\n callRoute(e: any, expand?: boolean) {\r\n if (!expand)\r\n !this.expandMenu ? this.expandMenu = !this.expandMenu : ''\r\n\r\n this.router.navigateByUrl(e)\r\n }\r\n\r\n toggleMenu() {\r\n this.expandMenu = !this.expandMenu;\r\n this.expandMenuEvent()\r\n }\r\n\r\n setLicenca() {\r\n var licenca = this.licencas.find((licenca) => licenca.cnpj == this.licencaSelected.cnpj);\r\n\r\n if (licenca) {\r\n this.licencaSelecionada = licenca;\r\n }\r\n\r\n this.menusFiltrados = this.menuCompleto.filter(menu =>\r\n this.licencaSelecionada.sistemas?.includes(menu.sistema.codigosistema)\r\n );\r\n\r\n this.visibleDialogLicenca = false\r\n\r\n this.definirMenusPorSistema(this.menusFiltrados[0]?.sistema.idsistema)\r\n }\r\n\r\n gerenciarKeePass(event: any) {\r\n this.sistemasPanel.hide();\r\n this.gerenciarKeePassEvent.emit(event)\r\n }\r\n\r\n sair(event: any) {\r\n this.sistemasPanel.hide();\r\n this.sairEvent.emit(event)\r\n }\r\n\r\n expandMenuEvent() {\r\n this.expandMenuEmit.emit(this.expandMenu);\r\n }\r\n\r\n}\r\n","<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n [pTooltip]=\"'Alterar Licença'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que não tem filho -->\r\n <a\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div>\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usuário'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - (widthCard > 400 ? 105 : 83) + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menusFiltrados\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Olá, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usuário'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Gerênciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licença\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MenuComponent } from './menu.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { KvInputsModule } from '../inputs/kvinputs.module';\r\nimport { KvButtonsModule } from '../buttons/kvbutton.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MenuComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n KvInputsModule,\r\n KvButtonsModule\r\n ],\r\n exports: [\r\n MenuComponent\r\n ]\r\n})\r\nexport class KvMenuModule { }\r\n","import { FormsModule } from '@angular/forms';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PickListComponent } from './picklist.component';\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n PickListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n PickListComponent\r\n ]\r\n})\r\nexport class KvPickListModule { }\r\n","\r\nimport { Component, ContentChildren, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, Renderer2, TemplateRef, ViewChild } from '@angular/core';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { CodigoFipePipe, CpfCnpjPipe, KvMenuItem, TableConfig, TableConfigColumn, TablePaginate, TelefonePipe } from '../../public-api';\r\nimport { Table } from 'primeng/table';\r\nimport { TreeTable } from 'primeng/treetable';\r\nimport { DatePipe, DecimalPipe } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { TemplateDirective } from '../directives/template.directive';\r\n\r\n\r\ninterface Column {\r\n field: string;\r\n header: string;\r\n}\r\n\r\n@Component({\r\n selector: 'kv-treetable',\r\n templateUrl: './kv-treetable.component.html',\r\n styleUrls: ['./kv-treetable.component.scss'],\r\n})\r\nexport class TreeTableComponent implements OnInit {\r\n\r\n @Input() config!: TableConfig;\r\n @Input() dataSource!: TreeNode[];\r\n @Input() selectedItems: any[] = [];\r\n\r\n @Input() acoesLinhaTabela: boolean = true;\r\n\r\n @Input() tamanhoTotalTree!: number;\r\n @Input() rowsPerPageOptions!: number[];\r\n @Input() rows: number = 5;\r\n @Input() tableSize!: number;\r\n @Input() paginator: boolean = true;\r\n\r\n @Input() rightCollapse:boolean = false;\r\n @Input() applyStyle: Function = (rowData: any, col: TableConfigColumn) => '';\r\n\r\n @Input('templates') _templates!: any;\r\n @ContentChildren(TemplateDirective) templates!: QueryList<any>;\r\n @ViewChild('table', { static: false }) table!: Table;\r\n\r\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\r\n @Output() onPaginate: EventEmitter<any> = new EventEmitter();\r\n @Output() onActiveItem: EventEmitter<any> = new EventEmitter();\r\n @Output() onActiveItemLote: EventEmitter<any> = new EventEmitter();\r\n\r\n\r\n nodeContext = {$implicit: 'rowData', rowNode: 'rowNode'};\r\n\r\n selectedNodes!: TreeNode[];\r\n menuItems: KvMenuItem[] = [];\r\n imgDefault:string = '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';\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n private readonly decimalPipe: DecimalPipe,\r\n private readonly codigoFipePipe: CodigoFipePipe,\r\n private readonly cpfCnpjPipe: CpfCnpjPipe,\r\n private readonly telefonePipe: TelefonePipe,\r\n ) {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onGlobalFilter(table: TreeTable, event: Event) {\r\n this.onFilter.emit((event.target as HTMLInputElement).value);\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains');\r\n }\r\n\r\n public paginate($event: any) {\r\n if ($event) {\r\n let paginaInicial =\r\n ($event?.first > 0 ? $event.first / $event.rows : $event.first) + 1;\r\n let termoPesquisa = '';\r\n let ordenacao = '';\r\n\r\n if ($event.globalFilter) termoPesquisa = $event.globalFilter;\r\n\r\n if ($event.sortField)\r\n ordenacao = `${$event.sortField} ${$event.sortOrder === 1 ? 'ASC' : 'DESC'\r\n }`;\r\n\r\n const objeto: TablePaginate = {\r\n paginaInicial: paginaInicial,\r\n tamanhoPagina: $event.rows,\r\n termoPesquisa: termoPesquisa,\r\n ordenacao: ordenacao,\r\n };\r\n\r\n this.onPaginate.emit(objeto);\r\n }\r\n }\r\n\r\n isBooleanField(rowData: any, col: TableConfigColumn): boolean {\r\n return col.fieldType == 'boolean';\r\n }\r\n\r\n isChipField(col: TableConfigColumn): boolean {\r\n return col.fieldType == 'chip';\r\n }\r\n\r\n isImageField(col: TableConfigColumn): boolean {\r\n let retorno = col.fieldType && col.fieldType === 'image' ? true : false;\r\n return retorno;\r\n }\r\n returnRowClass(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n let rowClass: string;\r\n\r\n this.tableSize > 800 ? (rowClass = 'text-base') : (rowClass = 'text-sm');\r\n\r\n if (col.expiredDate == true) {\r\n new Date(value) < new Date()\r\n ? (rowClass = rowClass + ' text-red-400 font-semibold')\r\n : '';\r\n }\r\n return rowClass;\r\n }\r\n transformValue(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n\r\n if (value != null) {\r\n if (!col.pipe) {\r\n return value;\r\n }\r\n\r\n switch (col.pipe) {\r\n case 'date':\r\n return this.datePipe.transform(value, 'dd/MM/yyyy');\r\n case 'decimal':\r\n return this.decimalPipe.transform(value, '1.2-2', 'pt-BR');\r\n case 'cpfcnpj':\r\n return this.cpfCnpjPipe.transform(value);\r\n case 'telefone':\r\n return this.telefonePipe.transform(value);\r\n case 'codigofipe':\r\n return this.codigoFipePipe.transform(value);\r\n case 'money':\r\n return this.formatarValor(value);\r\n case 'percentage':\r\n return `${value} %`;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n formatarValor(valor: number): string {\r\n const formatter = new Intl.NumberFormat('pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL',\r\n });\r\n\r\n return formatter.format(valor);\r\n }\r\n loadImage(rowData: any, col: TableConfigColumn): string {\r\n /*\r\n Nossa coluna de imagem trabalha com strings do tipo: base64 ou url\r\n */\r\n let retorno = `data:image/jpg;base64, ${this.imgDefault}`;\r\n if (rowData && col && rowData[col.field] && rowData[col.field] !== '') {\r\n if (rowData[col.field].includes('http'))\r\n retorno = rowData[col.field];\r\n else\r\n retorno = `data:image/jpg;base64, ${rowData[col.field]}`;\r\n }\r\n\r\n return retorno;\r\n }\r\n\r\n getCustomTemplate(templatename: string): TemplateRef<any> {\r\n return this._templates[templatename];\r\n }\r\n exibirCampo(field: any, rowData: any) {\r\n let visible = field.visible ? field.visible(rowData) : true;\r\n return visible;\r\n }\r\n public activeItem(rowNode: any ,rowData: any) {\r\n this.onActiveItem.emit({rowData: rowData, rowNode: rowNode});\r\n }\r\n public activeItemLote(rowData: any) {\r\n this.onActiveItemLote.emit(rowData);\r\n }\r\n\r\n retornarCampo(action: KvMenuItem, rowData: any, field: string): string {\r\n const _function = action.dynamicfields\r\n ? (action.dynamicfields[field] as Function)\r\n : null;\r\n const _field: string = _function\r\n ? _function.apply(action, [rowData])\r\n : action[field];\r\n return _field;\r\n }\r\n callDisabled(action: KvMenuItem, data: any): boolean {\r\n if (action?.disabled) {\r\n return action.disabled(data);\r\n }\r\n return false;\r\n }\r\n criarMenusModal(data: any) {\r\n if (this.config.actions && data) {\r\n const items = this.config.actions.map((action) => {\r\n const icon = this.retornarCampo(action, data, 'icon');\r\n const tooltip = this.retornarCampo(action, data, 'tooltip');\r\n const label = this.retornarCampo(action, data, 'label');\r\n const command: any = this.retornarCampo(action, data, 'command');\r\n const visible: boolean = action.visible ? action.visible(data) : true;\r\n const disabled: boolean = action.disabled\r\n ? action.disabled(data)\r\n : false;\r\n\r\n const menuInsert: KvMenuItem = {\r\n label,\r\n icon,\r\n tooltip,\r\n command,\r\n disabled,\r\n visible,\r\n };\r\n\r\n let item = this.menuItems.filter(\r\n (x) => x.command == menuInsert.command\r\n );\r\n\r\n if (item.length == 0) this.menuItems.push(menuInsert);\r\n else {\r\n if (menuInsert.label != item[0].label) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.visible != item[0].visible) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.disabled != item[0].disabled) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n recuperarRowNode(rowNode: any){\r\n return rowNode\r\n }\r\n\r\n}\r\n","<div>\r\n\r\n <p-treeTable #tt [value]=\"dataSource\" [columns]=\"config.columns\" [(selection)]=\"selectedItems\" [scrollable]=\"true\"\r\n selectionMode=\"checkbox\" [(selection)]=\"selectedNodes\" [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [paginator]=\"paginator\" [rows]=\"rows\" [totalRecords]=\"tamanhoTotalTree\" [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\">\r\n\r\n\r\n\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableSelect == true\">\r\n <div class=\"flex\">\r\n\r\n <p-treeTableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n\r\n <span class=\"ml-2\">Selecionar Todos</span>\r\n\r\n <div class=\"p-input-icon-left\" *ngIf=\"config.enableFilter\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText placeholder=\"Global Search\" (input)=\"onGlobalFilter(tt,$event)\" />\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th [style.width]=\"col.width\" *ngFor=\"let col of columns\" [ttSortableColumn]=\"col.sortable ? col.field : false\"\r\n [ttSortableColumnDisabled]=\"col.sortable == false\">\r\n\r\n\r\n <div [class]=\"'flex flex-row ml-2'\">\r\n {{ col.header }}\r\n\r\n <p-treeTableSortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-treeTableSortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\">info</span>\r\n\r\n </div>\r\n </th>\r\n <th [style.width]=\"'20px'\" *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr [ttRow]=\"rowNode\">\r\n <td [style]=\"applyStyle(rowData, col)\" *ngFor=\"let col of config.columns; let i = index,\" class=\"rowTable\" >\r\n\r\n\r\n <!-- // Collapse -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"!rightCollapse && i == 0\"></p-treeTableToggler>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse && i == 0\"></p-treeTableToggler>\r\n\r\n\r\n <!-- // Checkbox para multiseleção-->\r\n <p-treeTableCheckbox (click)=\"activeItemLote(selectedItems)\" [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true && i === 0\"></p-treeTableCheckbox>\r\n\r\n <!-- // Campo com tipo booleano -->\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n\r\n <!-- // Campo com tipo padrão -->\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col) && !col.template\"\r\n [ngClass]=\"{'flex align-items-center max-w-max': i == config.columns.length-1}\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n\r\n <!-- // Campo com tipo imagem -->\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <!-- // Campo com tipo de chip -->\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span class=\"p-element border-null border-round-2xl chip-style p-2 text-null w-auto\"\r\n [pTooltip]=\"rowData[col.field]\">{{\r\n transformValue(rowData, col)\r\n }} teste</span>\r\n </div>\r\n\r\n </span>\r\n\r\n\r\n <!-- // Template campo booleano -->\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n\r\n\r\n <!-- // Template campo personalizado -->\r\n <ng-container *ngIf=\"col.template && getCustomTemplate(col.template.name) \"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData, rowNodeLevel: rowNode.level }\">\r\n </ng-container>\r\n\r\n </td>\r\n\r\n\r\n\r\n <td *ngIf=\"config.actions && config.actions.length > 0 \" style=\"width: 20px;\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"acoesLinhaTabela\">\r\n <div *ngFor=\"let action of config.actions\">\r\n <button id=\"actionBtns\" pButton *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowNode, rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\" [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\">\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"!acoesLinhaTabela\">\r\n <button id=\"moreVertBtn\" pButton class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowNode, rowData)\">\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu #menu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></p-menu>\r\n\r\n <!-- :: Icone de collapse na direita :: -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"rightCollapse\"></p-treeTableToggler>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- :: Template para icone de collapse na direita -->\r\n <ng-template *ngIf=\"rightCollapse\" pTemplate=\"togglericon\" let-open>\r\n <span *ngIf=\"open\" class=\"pi pi-angle-left\"></span>\r\n <span *ngIf=\"!open\" class=\"pi pi-angle-down\"></span>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: Hotfix do bug da versão 15 do primeng, ao retirar esse bloco de codigo na versão 15 do primeng os icones de prev e next do paginator irão sumir ( resolvido na versão 16.0) :: -->\r\n\r\n <ng-template pTemplate=\"paginatorfirstpagelinkicon\">\r\n <span class=\"pi pi-angle-double-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorpreviouspagelinkicon\">\r\n <span class=\"pi pi-angle-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatornextpagelinkicon\">\r\n <span class=\"pi pi-angle-right\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorlastpagelinkicon\">\r\n <span class=\"pi pi-angle-double-right\"></span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n </p-treeTable>\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TreeTableComponent } from './kv-treetable.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule\r\n ],\r\n declarations: [TreeTableComponent],\r\n exports: [TreeTableComponent]\r\n})\r\nexport class KVTreeTableModule { }\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n RendererFactory2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { OrgChart } from 'd3-org-chart';\r\nimport * as d3 from 'd3';\r\nimport OrgChartItem from '../api/components/chart/orchart.item';\r\nimport OrgChartConfig from '../api/components/chart/orchart.config';\r\n\r\n@Component({\r\n selector: 'kv-orgchart',\r\n templateUrl: './orgchart.component.html',\r\n styleUrls: ['./orgchart.component.scss',],\r\n})\r\nexport class OrgchartComponent implements OnInit {\r\n @ViewChild('chartContainer') chartContainer!: ElementRef;\r\n chart!: any;\r\n\r\n @Input() dataSource!: OrgChartItem[];\r\n @Input() config!: OrgChartConfig;\r\n @Input() template!: string;\r\n @Input() nodeTemplate!: TemplateRef<any>;\r\n @Input() templateFuncion: boolean = false;\r\n\r\n @Input() corDeFundo: string = 'red';\r\n\r\n compact: boolean = true;\r\n mostraMenu: boolean = false;\r\n\r\n\r\n @Input() generateTemplate: Function = (data: any, node: any, nodes: any[], index: number):string => '';\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (!this.chart) {\r\n this.chart = new OrgChart();\r\n }\r\n this.updateChart();\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateChart();\r\n }\r\n\r\n updateChart() {\r\n if (!this.dataSource) {\r\n return;\r\n }\r\n if (!this.chart) {\r\n return;\r\n }\r\n\r\n\r\n\r\n const chartContainer = this.chartContainer.nativeElement;\r\n this.chart\r\n .container(chartContainer)\r\n .data(this.dataSource)\r\n .nodeWidth(() => this.config.cardWidht)\r\n .nodeHeight(() => this.config.cardHeight)\r\n .nodeUpdate(function (d:any) {\r\n })\r\n .linkUpdate((node:any, index:any, nodes:any)=> {\r\n d3.select(nodes[index])\r\n .attr('stroke-width', this.config.conectionWidth || '2px')\r\n .style('stroke', this.config.connectionColor || '#d6d6d6').style('backgroundColor', 'red')\r\n })\r\n .nodeContent((d: any) => {\r\n\r\n\r\n if(!this.templateFuncion){\r\n if(d.data.template){\r\n const jsTemplate = this.stringToTemplateLiteral(d.data.template);\r\n var templateConverter = new Function('data', 'return' + jsTemplate);\r\n var x = templateConverter(d.data.data);\r\n }else{\r\n const jsTemplate = this.stringToTemplateLiteral(this.config.templateItem);\r\n var templateConverter = new Function('data', 'return' + jsTemplate);\r\n var x = templateConverter(d.data.data);\r\n }\r\n }else{\r\n var x = this.generateTemplate(d)\r\n\r\n }\r\n return x;\r\n })\r\n .defaultFont('Roboto')\r\n .render()\r\n\r\n\r\n }\r\n stringToTemplateLiteral(string: string): string {\r\n const convertedTemplate = string.replace(\r\n /\\{\\{([^}]*)\\}\\}/g,\r\n '${$1}'\r\n );\r\n\r\n return '`' + convertedTemplate + '`';\r\n }\r\n compactSwap() {\r\n this.compact = !this.compact;\r\n this.chart.compact(this.compact).render();\r\n }\r\n}\r\n","<div #chartContainer id=\"chartContainer\" [ngClass]=\"{'backGround': true}\">\r\n\r\n\r\n <div class=\"div-botoes w-full flex gap-1\" >\r\n\r\n\r\n <span *ngIf=\"!mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Expandir menu\">menu</span>\r\n\r\n\r\n\r\n <span *ngIf=\"mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Recolher menu\">menu_open</span>\r\n\r\n <div *ngIf=\"mostraMenu\">\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomIn()\" pTooltip=\"Zoom +\">zoom_in</span>\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomOut()\" pTooltip=\"Zoom -\">zoom_out</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.collapseAll()\" pTooltip=\"Expandir\">expand_less</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.expandAll()\" pTooltip=\"Recolher\">expand_more</span>\r\n\r\n\r\n <!-- <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"compactSwap()\" pTooltip=\"Compactar\">cached</span> -->\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fit().render()\" pTooltip=\"Centralizar\">\r\n filter_center_focus\r\n </span>\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fullscreen('#chartContainer')\" pTooltip=\"Tela cheia\" >\r\n fullscreen\r\n </span>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrgchartComponent } from './orgchart.component';\r\nimport { PrimeNgModule } from '../../public-api';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule\r\n ],\r\n declarations: [OrgchartComponent],\r\n exports: [OrgchartComponent]\r\n})\r\nexport class OrgchartModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { KvButtonsModule } from './buttons/kvbutton.module';\r\nimport { KvInputsModule } from './inputs/kvinputs.module';\r\nimport { KvTableModule } from './table/kvtable.module';\r\nimport { KvtreeViewModule } from './tree-view/kvtree-view.module';\r\nimport { KvChartModule } from './chart/kvchart.module';\r\nimport { KvMenuModule } from './menu/kvmenu.module';\r\nimport { KvPickListModule } from './picklist/kvpicklist.module';\r\nimport { KVTreeTableModule } from './tree-table/kv-treetable.module';\r\nimport { OrgchartModule } from './orgchart/orgchart.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n KvInputsModule,\r\n KvButtonsModule,\r\n KvTableModule,\r\n KvtreeViewModule,\r\n KvChartModule,\r\n KvMenuModule,\r\n KvPickListModule,\r\n KVTreeTableModule,\r\n OrgchartModule\r\n ],\r\n exports: [\r\n KvInputsModule,\r\n KvButtonsModule,\r\n KvTableModule,\r\n KvtreeViewModule,\r\n KvChartModule,\r\n KvMenuModule,\r\n KvPickListModule,\r\n KVTreeTableModule,\r\n OrgchartModule\r\n ]\r\n})\r\nexport class KeevoComponentsModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { CpfCnpjPipe } from './cpfcnpj.pipe';\r\nimport { TelefonePipe } from './telefone.pipe';\r\nimport { CodigoFipePipe } from './codigofile.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n CpfCnpjPipe,\r\n TelefonePipe,\r\n CodigoFipePipe\r\n ],\r\n exports: [\r\n CpfCnpjPipe,\r\n TelefonePipe,\r\n CodigoFipePipe\r\n ]\r\n})\r\nexport class PipesModule { }\r\n","import { PrimeNGConfig } from 'primeng/api';\r\n\r\nexport class TranslatePrimeng {\r\n public config(config: PrimeNGConfig): void {\r\n config.ripple = true;\r\n\r\n config.setTranslation({\r\n monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],\r\n monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\r\n dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabádo'],\r\n dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\r\n dayNamesMin: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\r\n today: 'Hoje',\r\n weekHeader: 'Semana',\r\n emptyMessage: 'Nenhum resultado encontrado',\r\n emptyFilterMessage: 'Nenhum registro encontrado com o filtro informado',\r\n weak: 'Fraca',\r\n medium: 'Média',\r\n strong: 'Forte',\r\n passwordPrompt: 'Informe a senha',\r\n clear: 'Limpar',\r\n apply: 'Aplicar'\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ConfirmationService, MessageService } from \"primeng/api\";\r\n\r\n\r\nexport interface QuestionConfig {\r\n type?: 'question' | 'alert';\r\n message: string;\r\n accept?: Function;\r\n reject?: Function;\r\n}\r\n\r\nexport interface DialogConfig {\r\n type: 'info' | 'alert' | 'error';\r\n message: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationService {\r\n constructor(\r\n private readonly confirmationService: ConfirmationService,\r\n private readonly messageService: MessageService,\r\n ) { }\r\n\r\n question(config: QuestionConfig) {\r\n this.confirmationService.confirm({\r\n header: config.type === 'alert' ? 'Atenção' : 'Confirmação',\r\n icon: `pi ${config.type === 'alert' ? 'pi-exclamation-triangle' : 'pi-question-circle'}`,\r\n acceptLabel: 'Sim',\r\n acceptButtonStyleClass: 'p-button-success',\r\n rejectLabel: 'Não',\r\n rejectButtonStyleClass: 'p-button-secondary',\r\n ...config,\r\n });\r\n }\r\n\r\n dialog(config: DialogConfig) {\r\n let dialogHeader: string;\r\n let dialogIcon: string;\r\n\r\n switch (config.type) {\r\n case 'alert':\r\n dialogHeader = 'Atenção';\r\n dialogIcon = 'pi pi-exclamation-triangle';\r\n break;\r\n case 'info':\r\n dialogHeader = 'Info';\r\n dialogIcon = 'pi pi-info-circle';\r\n break;\r\n case 'error':\r\n dialogHeader = 'Erro';\r\n dialogIcon = 'pi pi-times-circle';\r\n break;\r\n }\r\n\r\n this.confirmationService.confirm({\r\n header: dialogHeader,\r\n icon: dialogIcon,\r\n acceptLabel: 'Ok',\r\n acceptButtonStyleClass: 'p-button-success',\r\n rejectVisible: false,\r\n message: config.message,\r\n });\r\n }\r\n\r\n toastSuccess(message: string) {\r\n this.messageService.add({ severity: 'success', summary: 'Sucesso', detail: message });\r\n }\r\n\r\n toastInfo(message: string) {\r\n this.messageService.add({ severity: 'info', summary: 'Info', detail: message });\r\n }\r\n\r\n toastWarn(message: string) {\r\n this.messageService.add({ severity: 'warn', summary: 'Aviso', detail: message });\r\n }\r\n\r\n toastError(message: string) {\r\n this.messageService.add({ severity: 'error', summary: 'Erro', detail: message });\r\n }\r\n}\r\n","export class TablePaginate {\r\n paginaInicial: number = 1;\r\n tamanhoPagina: number = 10;\r\n termoPesquisa: string = '';\r\n ordenacao: string = '';\r\n}\r\n","import { MenuItem } from \"primeng/api/menuitem\";\r\n\r\nexport interface KvMenuItem extends MenuItem {\r\n\tdynamicfields?: any;\r\n\t[key: string]: any;\r\n\tfieldcondition?: string;\r\n\tshowAcoesLote?: boolean;\r\n\tdisabled?: any;\r\n\tvisible?: any;\r\n};\r\n","/*\r\n * Public API Surface of keevo-components\r\n */\r\n\r\nexport * from './lib/inputs/check/check.component';\r\nexport * from './lib/inputs/dropdown/dropdown.component';\r\nexport * from './lib/inputs/input-calendar/input-calendar.component';\r\nexport * from './lib/inputs/input-mask/input-mask.component';\r\nexport * from './lib/inputs/input-number/input-number.component';\r\nexport * from './lib/inputs/input-password/input-password.component';\r\nexport * from './lib/inputs/input-text/input-text.component';\r\nexport * from './lib/inputs/input-textarea/input-textarea.component';\r\nexport * from './lib/inputs/input-time/input-time.component';\r\nexport * from './lib/inputs/multi-select/multi-select.component';\r\nexport * from './lib/inputs/radio-group/radio-group.component';\r\n\r\nexport * from './lib/inputs/switch/switch.component';\r\nexport * from './lib/buttons/button-secondary/button-secondary.component';\r\nexport * from './lib/buttons/button-success/button-success.component';\r\nexport * from './lib/buttons/button-personalize/button-personalize.component';\r\nexport * from './lib/api/components/error/error.component';\r\nexport * from './lib/api/base-components/base-component';\r\nexport * from './lib/api/base-components/base-component-button';\r\nexport * from './lib/api/base-components/base-component-dropdown';\r\nexport * from './lib/api/base-components/base-component-input';\r\nexport * from './lib/api/base-components/base-component-chart';\r\nexport * from './lib/api/base-components/base-component-multi-select';\r\nexport * from './lib/table/table.component';\r\nexport * from './lib/tree-view/tree-view.component';\r\nexport * from './lib/chart/chart.component';\r\nexport * from './lib/picklist/picklist.component';\r\n\r\nexport * from './lib/keevo-components.module';\r\nexport * from './lib/buttons/kvbutton.module';\r\nexport * from './lib/inputs/kvinputs.module';\r\nexport * from './lib/api/components/error/kverror.module';\r\nexport * from './lib/table/kvtable.module';\r\nexport * from './lib/tree-view/kvtree-view.module';\r\nexport * from './lib/pipes/pipes.module'\r\nexport * from './lib/api/modules/primeng.module';\r\nexport * from './lib/chart/kvchart.module';\r\nexport * from './lib/menu/kvmenu.module';\r\nexport * from './lib/picklist/kvpicklist.module';\r\n\r\nexport * from './lib/pipes/codigofile.pipe'\r\nexport * from './lib/pipes/cpfcnpj.pipe'\r\nexport * from './lib/pipes/telefone.pipe'\r\n\r\nexport * from './lib/api/helpers/component-providers';\r\nexport * from './lib/api/helpers/translate-primeng';\r\nexport * from './lib/api/services/component.service';\r\nexport * from './lib/api/services/object.service';\r\nexport * from './lib/api/services/notification.service';\r\nexport * from './lib/api/components/table/table.paginate';\r\nexport * from './lib/api/components/table/action-item';\r\nexport * from './lib/api/components/table/table.config';\r\nexport * from './lib/api/components/table/table.config.column';\r\nexport * from './lib/api/components/table/kv-menuitem';\r\nexport * from './lib/api/components/dropdown/filtro.combo';\r\nexport * from './lib/api/components/chart/chart.config';\r\nexport * from './lib/api/components/chart/chart.model';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/tree-table/kv-treetable.component'\r\nexport * from './lib/tree-table/kv-treetable.module'\r\nexport * from './lib/orgchart/orgchart.component'\r\nexport * from './lib/orgchart/orgchart.module'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ComponentService","i3.ErrorComponent","i2","i3","i4","i5.ErrorComponent","i6","i7","i4.ErrorComponent","i5","i1","i2.CodigoFipePipe","i3.CpfCnpjPipe","i4.TelefonePipe","i8","i9","i10","i11","i12","i13","i15","i14","i16.ButtonSuccessComponent","i2.CpfCnpjPipe","i2.TelefonePipe"],"mappings":"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"}
1
+ {"version":3,"file":"keevo-components.mjs","sources":["../../../projects/keevo-components/src/lib/api/base-components/base-component.ts","../../../projects/keevo-components/src/lib/api/components/error/error.component.ts","../../../projects/keevo-components/src/lib/api/components/error/error.component.html","../../../projects/keevo-components/src/lib/api/services/component.service.ts","../../../projects/keevo-components/src/lib/api/base-components/base-component-input.ts","../../../projects/keevo-components/src/lib/api/helpers/component-providers.ts","../../../projects/keevo-components/src/lib/inputs/check/check.component.ts","../../../projects/keevo-components/src/lib/inputs/check/check.component.html","../../../projects/keevo-components/src/lib/api/services/object.service.ts","../../../projects/keevo-components/src/lib/api/base-components/base-component-dropdown.ts","../../../projects/keevo-components/src/lib/inputs/dropdown/dropdown.component.ts","../../../projects/keevo-components/src/lib/inputs/dropdown/dropdown.component.html","../../../projects/keevo-components/src/lib/inputs/input-calendar/input-calendar.component.ts","../../../projects/keevo-components/src/lib/inputs/input-calendar/input-calendar.component.html","../../../projects/keevo-components/src/lib/inputs/input-mask/input-mask.component.ts","../../../projects/keevo-components/src/lib/inputs/input-mask/input-mask.component.html","../../../projects/keevo-components/src/lib/inputs/input-number/input-number.component.ts","../../../projects/keevo-components/src/lib/inputs/input-number/input-number.component.html","../../../projects/keevo-components/src/lib/inputs/input-password/input-password.component.ts","../../../projects/keevo-components/src/lib/inputs/input-password/input-password.component.html","../../../projects/keevo-components/src/lib/inputs/input-text/input-text.component.ts","../../../projects/keevo-components/src/lib/inputs/input-text/input-text.component.html","../../../projects/keevo-components/src/lib/inputs/input-textarea/input-textarea.component.ts","../../../projects/keevo-components/src/lib/inputs/input-textarea/input-textarea.component.html","../../../projects/keevo-components/src/lib/inputs/input-time/input-time.component.ts","../../../projects/keevo-components/src/lib/inputs/input-time/input-time.component.html","../../../projects/keevo-components/src/lib/api/base-components/base-component-multi-select.ts","../../../projects/keevo-components/src/lib/inputs/multi-select/multi-select.component.ts","../../../projects/keevo-components/src/lib/inputs/multi-select/multi-select.component.html","../../../projects/keevo-components/src/lib/inputs/radio-group/radio-group.component.ts","../../../projects/keevo-components/src/lib/inputs/radio-group/radio-group.component.html","../../../projects/keevo-components/src/lib/inputs/switch/switch.component.ts","../../../projects/keevo-components/src/lib/inputs/switch/switch.component.html","../../../projects/keevo-components/src/lib/api/base-components/base-component-button.ts","../../../projects/keevo-components/src/lib/buttons/button-secondary/button-secondary.component.ts","../../../projects/keevo-components/src/lib/buttons/button-secondary/button-secondary.component.html","../../../projects/keevo-components/src/lib/buttons/button-success/button-success.component.ts","../../../projects/keevo-components/src/lib/buttons/button-success/button-success.component.html","../../../projects/keevo-components/src/lib/buttons/button-personalize/button-personalize.component.ts","../../../projects/keevo-components/src/lib/buttons/button-personalize/button-personalize.component.html","../../../projects/keevo-components/src/lib/chart/chart.component.ts","../../../projects/keevo-components/src/lib/chart/chart.component.html","../../../projects/keevo-components/src/lib/api/base-components/base-component-chart.ts","../../../projects/keevo-components/src/lib/directives/template.directive.ts","../../../projects/keevo-components/src/lib/pipes/codigofile.pipe.ts","../../../projects/keevo-components/src/lib/pipes/cpfcnpj.pipe.ts","../../../projects/keevo-components/src/lib/pipes/telefone.pipe.ts","../../../projects/keevo-components/src/lib/table/table.component.ts","../../../projects/keevo-components/src/lib/table/table.component.html","../../../projects/keevo-components/src/lib/tree-view/tree-view.component.ts","../../../projects/keevo-components/src/lib/tree-view/tree-view.component.html","../../../projects/keevo-components/src/lib/picklist/picklist.component.ts","../../../projects/keevo-components/src/lib/picklist/picklist.component.html","../../../projects/keevo-components/src/lib/api/modules/primeng.module.ts","../../../projects/keevo-components/src/lib/buttons/kvbutton.module.ts","../../../projects/keevo-components/src/lib/api/components/error/kverror.module.ts","../../../projects/keevo-components/src/lib/inputs/kvinputs.module.ts","../../../projects/keevo-components/src/lib/table/kvtable.module.ts","../../../projects/keevo-components/src/lib/tree-view/kvtree-view.module.ts","../../../projects/keevo-components/src/lib/chart/kvchart.module.ts","../../../projects/keevo-components/src/lib/menu/menu.component.ts","../../../projects/keevo-components/src/lib/menu/menu.component.html","../../../projects/keevo-components/src/lib/menu/kvmenu.module.ts","../../../projects/keevo-components/src/lib/picklist/kvpicklist.module.ts","../../../projects/keevo-components/src/lib/tree-table/kv-treetable.component.ts","../../../projects/keevo-components/src/lib/tree-table/kv-treetable.component.html","../../../projects/keevo-components/src/lib/tree-table/kv-treetable.module.ts","../../../projects/keevo-components/src/lib/orgchart/orgchart.component.ts","../../../projects/keevo-components/src/lib/orgchart/orgchart.component.html","../../../projects/keevo-components/src/lib/orgchart/orgchart.module.ts","../../../projects/keevo-components/src/lib/keevo-components.module.ts","../../../projects/keevo-components/src/lib/pipes/pipes.module.ts","../../../projects/keevo-components/src/lib/api/helpers/translate-primeng.ts","../../../projects/keevo-components/src/lib/api/services/notification.service.ts","../../../projects/keevo-components/src/lib/api/components/table/table.paginate.ts","../../../projects/keevo-components/src/lib/api/components/table/kv-menuitem.ts","../../../projects/keevo-components/src/public-api.ts","../../../projects/keevo-components/src/keevo-components.ts"],"sourcesContent":["import { Component, Input } from \"@angular/core\";\r\nimport { ControlValueAccessor } from \"@angular/forms\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseComponent<T> implements ControlValueAccessor {\r\n\r\n protected stateChanges: Subject<void> = new Subject();\r\n protected onChange!: (value: T) => void;\r\n protected onTouched!: () => void;\r\n protected _value!: T;\r\n\r\n @Input('required') isRequired: boolean = false;\r\n\r\n public set value(value: T) {\r\n this._value = value;\r\n if (this.onChange) this.onChange(value);\r\n this.stateChanges.next();\r\n }\r\n\r\n public get value(): T {\r\n return this._value;\r\n }\r\n\r\n @Input() componentId!: string;\r\n @Input() label!: string;\r\n @Input() disabled: boolean = false;\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(value: T): void {\r\n this.value = value;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kv-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss']\r\n})\r\nexport class ErrorComponent {\r\n public hasError: boolean | undefined = false;\r\n\r\n @Input() formControl!: FormControl;\r\n\r\n @Input('hasError') set setHasError(value: boolean | undefined) {\r\n this.hasError = value;\r\n this.emitError.emit(value);\r\n };\r\n\r\n emitError: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor() { }\r\n}\r\n","<small *ngIf=\"hasError\" id=\"error-message\" class=\"p-error block absolute\">\r\n <ng-content></ng-content>\r\n</small>\r\n","import { ChangeDetectorRef, Injectable, Injector } from '@angular/core';\r\nimport { FormControl, FormControlName, FormGroupDirective, NgControl } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class ComponentService {\r\n\r\n constructor(public readonly injector: Injector, public changeDetectorRef: ChangeDetectorRef) { }\r\n\r\n getFormControl(): FormControl<any> | undefined {\r\n try {\r\n const control = this.injector.get(NgControl);\r\n if (control.constructor === FormControlName) {\r\n return this.injector.get(FormGroupDirective).getControl(control as FormControlName);\r\n }\r\n\r\n return undefined;\r\n }\r\n catch(ex){\r\n return undefined;\r\n }\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren\r\n} from \"@angular/core\";\r\n\r\nimport { FormControl } from '@angular/forms';\r\n\r\nimport { BaseComponent } from './base-component';\r\n\r\nimport { ComponentService } from '../services/component.service';\r\nimport { ErrorComponent } from '../components/error/error.component';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class BaseComponentInput<T> extends BaseComponent<T> implements OnInit, AfterContentInit, AfterViewInit {\r\n\r\n protected formControl: FormControl | undefined;\r\n protected hasError: boolean | undefined = false;\r\n\r\n @Input() placeholder: string = '';\r\n\r\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\r\n @Output() onInput: EventEmitter<any> = new EventEmitter();\r\n @Output() onClose: EventEmitter<any> = new EventEmitter();\r\n\r\n @ViewChildren(ErrorComponent) viewErrors!: QueryList<ErrorComponent>;\r\n @ContentChildren(ErrorComponent) contentErrors!: QueryList<ErrorComponent>;\r\n\r\n constructor(protected readonly componentService: ComponentService) {\r\n super();\r\n }\r\n\r\n public get baseInputClass(): string {\r\n return `${this.hasError ? 'ng-invalid ng-dirty' : ''} !important`;\r\n }\r\n\r\n erroMessage(): string | undefined {\r\n if (!this.formControl?.errors) return;\r\n\r\n let message: string = '';\r\n\r\n if (this.formControl.errors) {\r\n const objErrors = this.formControl.errors as any;\r\n if (objErrors.erroMessage) message = objErrors.erroMessage;\r\n }\r\n\r\n return message;\r\n }\r\n\r\n getName(control: FormControl): string | null {\r\n return Object.entries(control.parent?.controls ?? []).find(([_, value]) => value === control)?.[0] ?? null;\r\n }\r\n\r\n hasControlError(): boolean {\r\n if (!this.formControl) return false;\r\n return (this.formControl.dirty || this.formControl.touched) && this.formControl.errors !== null;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.viewErrors.forEach(c => {\r\n c.emitError.subscribe(res => {\r\n this.hasError = res;\r\n this.componentService.changeDetectorRef.detectChanges();\r\n });\r\n });\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.contentErrors.forEach(c => {\r\n c.emitError.subscribe(res => {\r\n this.hasError = res;\r\n });\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formControl = this.componentService.getFormControl();\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n this.onTouched();\r\n this.onBlur.emit(event);\r\n }\r\n\r\n onInputClose(event: Event) {\r\n this.onClose.emit(event);\r\n }\r\n\r\n onInputInput(event: Event) {\r\n this.onInput.emit(event);\r\n }\r\n\r\n protected setPlaceHolder(p: string) {\r\n if (!this.placeholder) this.placeholder = p;\r\n }\r\n}\r\n","import { Provider, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { ComponentService } from '../services/component.service';\r\n\r\nexport function ComponentProviders(ref: any): Provider[] {\r\n return [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ref),\r\n multi: true,\r\n },\r\n {\r\n provide: ComponentService\r\n }\r\n ]\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\n\r\n\r\n@Component({\r\n selector: 'kv-check',\r\n templateUrl: './check.component.html',\r\n styleUrls: ['./check.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(CheckComponent),\r\n})\r\nexport class CheckComponent extends BaseComponentInput<boolean> implements OnInit {\r\n\r\n @Output() onCheckChange: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n emitOnCheckChange(event: any) {\r\n this.onCheckChange.emit(event);\r\n }\r\n}\r\n","<div class=\"field-checkbox\">\r\n <p-checkbox\r\n [binary]=\"true\"\r\n [disabled]=\"disabled\"\r\n [label]=\"label\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n (onChange)=\"emitOnCheckChange($event)\">\r\n </p-checkbox>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ObjectService {\r\n static filterObject(array: any, propertyName: string, value: any) {\r\n return array.filter((e: any) => {\r\n return e[propertyName] === value;\r\n });\r\n }\r\n static findObject(array: any, propertyName: string, value: any) {\r\n return array.find((e: any) => {\r\n return e[propertyName] === value;\r\n });\r\n }\r\n static getProperty<T>(obj: T, propertyName: string) {\r\n return obj[(propertyName as keyof typeof obj)];\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Type,\r\n} from '@angular/core';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { BaseComponentInput } from './base-component-input';\r\nimport { ComponentService } from '../services/component.service';\r\nimport { ObjectService } from '../services/object.service';\r\nimport { filtroCombo } from '../components/dropdown/filtro.combo';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class BaseComponentDropDown extends BaseComponentInput<any> implements OnInit {\r\n\r\n @Input() filteredOptions!: any[];\r\n @Input() options!: any[];\r\n @Input() optionLabel!: string;\r\n @Input() optionValue!: string;\r\n @Input() optionDisabled!: string;\r\n\r\n @Input() group!: boolean;\r\n @Input() optionGroupLabel!: string;\r\n @Input() optionGroupChildren!: string;\r\n\r\n @Input() filter: boolean = true;\r\n @Input() lazy: boolean = false;\r\n\r\n @Input() showAddButton: boolean = false;\r\n @Input() showClear: boolean = true;\r\n @Input() widthField?: string;\r\n\r\n @Output() onAddClick: EventEmitter<any> = new EventEmitter();\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @Output() requestComplete: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(\r\n componentService: ComponentService,\r\n private dialogService: DialogService\r\n ) {\r\n super(componentService);\r\n this.registerOnTouched(() => { });\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setPlaceHolder('Selecione um valor');\r\n\r\n if (!this.lazy) this.carregarCombo();\r\n }\r\n\r\n protected addClick(event: Event) {\r\n this.onAddClick.emit(event);\r\n }\r\n\r\n public carregarCombo(filtro?: filtroCombo): void {\r\n if (filtro) {\r\n this.carregarComboObs(this.listarCombo(filtro));\r\n }\r\n else {\r\n this.carregarComboObs(this.listar());\r\n }\r\n }\r\n\r\n private carregarComboObs(obs: Observable<any>) {\r\n if (obs) {\r\n obs\r\n .subscribe({\r\n next: (data: any) => {\r\n this.options = data;\r\n this.filteredOptions = data;\r\n this.requestComplete.emit(true);\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n },\r\n });\r\n }\r\n }\r\n\r\n public filterOptions(field: string, value: any): void {\r\n if (this.options) {\r\n let lista = ObjectService.filterObject(this.options, field, value);\r\n if (lista?.length > 0) {\r\n of(lista).subscribe((opts: any[]) => {\r\n this.filteredOptions = opts;\r\n });\r\n } else this.filteredOptions = [];\r\n }\r\n }\r\n\r\n protected listar(): any { }\r\n protected listarCombo(value: any): any { }\r\n\r\n protected openDialog(\r\n componentType: Type<any>,\r\n width?: string,\r\n height?: string\r\n ) {\r\n const ref = this.dialogService.open(componentType, {\r\n width: width || '70%',\r\n height: height,\r\n closable: false,\r\n maximizable: true,\r\n data: { popup: true },\r\n });\r\n\r\n ref.onClose.subscribe((id: any) => {\r\n if (id) {\r\n this.listar().subscribe((data: any) => {\r\n this.options = data;\r\n this.filteredOptions = data;\r\n if (id) this.formControl?.setValue(id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected onInputChange(event: any) {\r\n this.onSelectionValue.emit(event);\r\n\r\n if (this.formControl) {\r\n const controlName = this.getName(this.formControl as FormControl);\r\n if (controlName) {\r\n let currentItem = ObjectService.findObject(\r\n this.options,\r\n controlName,\r\n event.value\r\n );\r\n this.onSelectionChange.emit(currentItem);\r\n }\r\n }\r\n }\r\n\r\n onInputClick(event: any) {\r\n this.onClick.emit(event);\r\n }\r\n\r\n onInputFilter(event: any) {\r\n if (event) {\r\n if (event.filter) {\r\n if (event.filter.length > 2) {\r\n this.carregarCombo({ termoPesquisa: event.filter } as filtroCombo);\r\n }\r\n }\r\n }\r\n }\r\n\r\n override writeValue(value: any): void {\r\n if (this.lazy && value) {\r\n this.carregarCombo({ id: value } as filtroCombo);\r\n }\r\n this.value = value;\r\n }\r\n}\r\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentDropDown } from '../../api/base-components/base-component-dropdown';\r\n\r\n@Component({\r\n selector: 'kv-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(DropdownComponent),\r\n})\r\nexport class DropdownComponent extends BaseComponentDropDown implements OnInit{\r\n constructor(\r\n componentService: ComponentService,\r\n dialogService: DialogService) {\r\n super(componentService, dialogService);\r\n }\r\n\r\n @Input() dropDowValue!: any;\r\n @Input() itemTemplate!: TemplateRef<any>;\r\n @Input() selectedItemTemplate!: TemplateRef<any>;\r\n\r\n override ngOnInit(): void {\r\n if (this.dropDowValue)\r\n this.value = this.dropDowValue;\r\n\r\n\r\n \r\n }\r\n\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-dropdown\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [filter]=\"filter\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"filteredOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [group]=\"group\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [showClear]=\"showClear\"\r\n [lazy]=\"lazy\"\r\n scrollHeight=\"250px\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n [style]=\"{'width':widthField}\"\r\n [panelStyle]=\"{ width: widthField, overflow: 'auto' }\"\r\n styleClass=\"inputs\">\r\n\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: -->\r\n\r\n <ng-template let-selectedItem pTemplate=\"item\" *ngIf=\"itemTemplate\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n <ng-template let-item pTemplate=\"selectedItem\" *ngIf=\"selectedItemTemplate\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n\r\n\r\n </p-dropdown>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CalendarTypeView } from 'primeng/calendar';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'kv-input-calendar',\r\n templateUrl: './input-calendar.component.html',\r\n styleUrls: [\r\n './input-calendar.component.scss',\r\n '../../styles-components.scss',\r\n ],\r\n providers: ComponentProviders(InputCalendarComponent),\r\n})\r\nexport class InputCalendarComponent\r\n extends BaseComponentInput<Date>\r\n implements OnInit\r\n{\r\n @Input() isYear: boolean = false;\r\n @Input() isMonthYear: boolean = false;\r\n @Input() minDate!: Date;\r\n @Input() maxDate!: Date;\r\n @Input() showButtonBar: boolean = false;\r\n @Input() showIcon: boolean = true;\r\n @Input() showTime: boolean = false;\r\n @Input() selectionMode: 'single' | 'multiple' | 'range' = 'single';\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @ViewChild('dateFilter') private dateFilter: any;\r\n\r\n typeView: CalendarTypeView = 'date';\r\n dateFormat: string = 'dd/mm/yy';\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override writeValue(value: Date): void {\r\n this.value = value;\r\n\r\n if (value && typeof value === 'string') {\r\n this.value = new Date(value);\r\n }\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n if (this.isYear) {\r\n this.typeView = 'year';\r\n this.dateFormat = 'yy';\r\n } else if (this.isMonthYear) {\r\n this.typeView = 'month';\r\n this.dateFormat = 'mm/yy';\r\n } else {\r\n this.typeView = 'date';\r\n this.dateFormat = 'dd/mm/yy';\r\n }\r\n }\r\n\r\n protected onInputChange(event: any) {\r\n this.hideOnRangeMode();\r\n this.onSelectionValue.emit(event);\r\n\r\n if (this.formControl) {\r\n this.onSelectionChange.emit(this.formControl.value);\r\n }\r\n }\r\n\r\n\r\n\r\n hideOnRangeMode() {\r\n if (this.selectionMode == 'range') {\r\n if(this.dateFilter.value[1]){\r\n this.dateFilter.hideOverlay();\r\n }\r\n }\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-calendar #dateFilter\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"showButtonBar\"\r\n [showIcon]=\"showIcon\"\r\n [showTime]=\"showTime\"\r\n [view]=\"typeView\"\r\n [dateFormat]=\"dateFormat\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClose)=\"onInputClose($event)\"\r\n (onSelect)=\"onInputChange($event)\"\r\n styleClass=\"inputs\"\r\n >\r\n </p-calendar>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-mask',\r\n templateUrl: './input-mask.component.html',\r\n styleUrls: ['./input-mask.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputMaskComponent),\r\n})\r\nexport class InputMaskComponent extends BaseComponentInput<string> implements OnInit {\r\n\r\n @Input() mask!: string;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-inputMask\r\n [class]=\"baseInputClass\"\r\n styleClass=\"inputs\"\r\n [inputId]=\"componentId\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n [mask]=\"mask\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-inputMask>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { InputNumber } from 'primeng/inputnumber';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-number',\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./input-number.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputNumberComponent),\r\n})\r\nexport class InputNumberComponent extends BaseComponentInput<string> implements OnInit {\r\n @Input() mode: 'currency' | 'decimal' = 'decimal';\r\n @Input() digits: number = 0;\r\n @Input() min: number = 0;\r\n @Input() max!: number;\r\n\r\n @ViewChild('inputNumber', { static: true }) inputNumber!: InputNumber;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.inputNumber.mode = this.mode;\r\n this.inputNumber.locale = 'pt-BR';\r\n\r\n switch (this.mode) {\r\n case 'decimal':\r\n this.configDecimal();\r\n break;\r\n case 'currency':\r\n this.configCurrency();\r\n break;\r\n }\r\n }\r\n\r\n private configDecimal() {\r\n if (!this.digits) this.inputNumber.useGrouping = false;\r\n this.inputNumber.minFractionDigits = this.digits;\r\n this.inputNumber.maxFractionDigits = this.digits;\r\n }\r\n\r\n private configCurrency() {\r\n this.inputNumber.currency = 'BRL';\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <p-inputNumber\r\n #inputNumber\r\n [class]=\"baseInputClass\"\r\n [inputId]=\"componentId\"\r\n styleClass=\"inputs\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [(ngModel)]=\"value\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-inputNumber>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-password',\r\n templateUrl: './input-password.component.html',\r\n styleUrls: ['./input-password.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputPasswordComponent),\r\n})\r\nexport class InputPasswordComponent extends BaseComponentInput<string> implements OnInit {\r\n\r\n @Input() feedback: boolean = false;\r\n @Input() mediumRegex: string = '';\r\n @Input() strongRegex: string = '';\r\n @Input() toggleMask: boolean = true;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <p-password\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n styleClass=\"inputs\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [toggleMask]=\"toggleMask\"\r\n [feedback]=\"feedback\"\r\n [mediumRegex]=\"mediumRegex\"\r\n [strongRegex]=\"strongRegex\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-password>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputTextComponent),\r\n})\r\nexport class InputTextComponent extends BaseComponentInput<string> implements OnInit {\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [class]=\"baseInputClass\"\r\n styleClass=\"inputs\"\r\n [disabled]=\"disabled\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n (blur)=\"onInputBlur($event)\"\r\n (input)=\"onInputInput($event)\">\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-textarea',\r\n templateUrl: './input-textarea.component.html',\r\n styleUrls: ['./input-textarea.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputTextareaComponent),\r\n})\r\nexport class InputTextareaComponent extends BaseComponentInput<string> implements OnInit {\r\n @Input() multiline: boolean = false;\r\n @Input() rows: number = 2;\r\n @Input() cols: number = 20;\r\n @Input() autoResize: boolean = false;\r\n @Input() maxValueLength: number = 0;\r\n\r\n counterValueLength: number = 0;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.formControl?.valueChanges.subscribe((value: any) => {\r\n this.counterValueLength = value?.length;\r\n });\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n <textarea\r\n pInputTextarea\r\n [autoResize]=\"autoResize\"\r\n [class]=\"baseInputClass\"\r\n [cols]=\"cols\"\r\n [disabled]=\"disabled\"\r\n [id]=\"componentId\"\r\n [rows]=\"rows\"\r\n [(ngModel)]=\"value\"\r\n (blur)=\"onInputBlur($event)\">\r\n </textarea>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-input-time',\r\n templateUrl: './input-time.component.html',\r\n styleUrls: ['./input-time.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(InputTimeComponent),\r\n})\r\nexport class InputTimeComponent extends BaseComponentInput<string> implements OnInit {\r\n\r\n @Input() showIcon: boolean = true;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\">\r\n\r\n <p-calendar\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [id]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [showIcon]=\"showIcon\"\r\n styleClass=\"inputs\"\r\n [showTime]=\"true\"\r\n [timeOnly]=\"true\"\r\n (onBlur)=\"onInputBlur($event)\">\r\n </p-calendar>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\nimport { BaseComponentInput } from './base-component-input';\r\nimport { ComponentService } from '../services/component.service';\r\nimport { ObjectService } from '../services/object.service';\r\nimport { filtroCombo } from '../components/dropdown/filtro.combo';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class BaseComponentMultiSelect extends BaseComponentInput<any> implements OnInit {\r\n\r\n @Input() options: any;\r\n @Input() optionLabel!: string;\r\n @Input() optionValue!: string;\r\n @Input() filter: boolean = false;\r\n @Input() showClear: boolean = false;\r\n\r\n @Input() lazy: boolean = false;\r\n @Input() filteredOptions!: any[];\r\n\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() onPanelHide: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n loadedCombo: boolean = false;\r\n\r\n constructor(\r\n componentService: ComponentService,\r\n ) {\r\n super(componentService);\r\n this.registerOnTouched(() => { });\r\n }\r\n\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setPlaceHolder('Selecione um valor');\r\n\r\n if (!this.lazy) this.carregarCombo();\r\n }\r\n\r\n public carregarCombo(filtro?: filtroCombo): void {\r\n if (filtro) {\r\n this.carregarComboObs(this.listarCombo(filtro));\r\n }\r\n else {\r\n this.carregarComboObs(this.listar());\r\n }\r\n }\r\n\r\n private carregarComboObs(obs: Observable<any>) {\r\n if (obs) {\r\n obs\r\n .subscribe({\r\n next: (data: any) => {\r\n this.options = data;\r\n this.filteredOptions = data;\r\n this.loadedCombo = true\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n },\r\n });\r\n }\r\n }\r\n\r\n public filterOptions(field: string, value: any): void {\r\n if (this.options) {\r\n let lista = ObjectService.filterObject(this.options, field, value);\r\n if (lista?.length > 0) {\r\n of(lista).subscribe((opts: any[]) => {\r\n this.filteredOptions = opts;\r\n });\r\n } else this.filteredOptions = [];\r\n }\r\n }\r\n\r\n protected onInputChange(event: any) {\r\n this.onSelectionValue.emit(event);\r\n\r\n if (this.formControl) {\r\n const controlName = this.getName(this.formControl as FormControl);\r\n if (controlName) {\r\n let currentItem = ObjectService.findObject(\r\n this.options,\r\n controlName,\r\n event.value\r\n );\r\n this.onSelectionChange.emit(currentItem);\r\n }\r\n }\r\n }\r\n\r\n onInputClick(event: any) {\r\n this.onClick.emit(event);\r\n }\r\n\r\n onInputFilter(event: any) {\r\n if (event) {\r\n if (event.filter) {\r\n if (event.filter.length > 2) {\r\n this.carregarCombo({ termoPesquisa: event.filter } as filtroCombo);\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected listar(): any { }\r\n protected listarCombo(value: any): any { }\r\n\r\n panelHide(event: Event) {\r\n this.onPanelHide.emit(event);\r\n }\r\n\r\n public override get baseInputClass(): string {\r\n return `p-multiselect-sm ${this.hasError ? 'ng-invalid ng-dirty' : ''}`;\r\n }\r\n\r\n selectionChange(event: Event) {\r\n this.onSelectionChange.emit(event);\r\n }\r\n\r\n public requestCompleted() {\r\n return this.loadedCombo;\r\n }\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { BaseComponentMultiSelect } from '../../api/base-components/base-component-multi-select';\r\n\r\n@Component({\r\n selector: 'kv-multi-select',\r\n templateUrl: './multi-select.component.html',\r\n styleUrls: ['./multi-select.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(MultiSelectComponent),\r\n})\r\nexport class MultiSelectComponent extends BaseComponentMultiSelect {\r\n @Input() optionInactive!: boolean;\r\n inactiveOptions!: string;\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.optionInactive == true) {\r\n this.inactiveOptions = 'inactive';\r\n this.options.map((element: Object, index: number) => {\r\n Object.defineProperty(element, 'inactive', {\r\n value: true,\r\n });\r\n });\r\n }\r\n }\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n}\r\n","<span class=\"p-float-label\"[ngClass]=\"{'disable': optionInactive === true}\">\r\n <p-multiSelect\r\n appendTo=\"body\"\r\n styleClass=\"inputs\"\r\n display=\"chip\"\r\n inputId=\"multiselect\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [optionDisabled]=\" inactiveOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [(ngModel)]=\"value\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onPanelHide)=\"panelHide($event)\">\r\n </p-multiSelect>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n","import { Component, DoCheck, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\n\r\n\r\n@Component({\r\n selector: 'kv-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(RadioGroupComponent),\r\n})\r\nexport class RadioGroupComponent extends BaseComponentInput<any> implements OnInit, DoCheck {\r\n\r\n @Input() options: any[] = [\r\n { id: 0, description: 'Não'},\r\n { id: 1, description: 'Sim'},\r\n ];\r\n\r\n @Input() optionValueDefault!: any\r\n\r\n @Output() onSelectedOption: EventEmitter<any> = new EventEmitter();\r\n\r\n selectedOpt: any = null;\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n this.selectedDefault();\r\n }\r\n\r\n ngDoCheck(): void {\r\n this.selectedDefault();\r\n }\r\n\r\n selectedDefault() {\r\n if (this.optionValueDefault != undefined && !this.selectedOpt) {\r\n let item = this.options.find(opt => opt.id === this.optionValueDefault);\r\n if (item) this.selectedOpt = item; \r\n }\r\n }\r\n\r\n selectedOption(event: any) {\r\n this.onSelectedOption.emit(event.value.id);\r\n }\r\n}\r\n","<div>\r\n <div class=\"option\" *ngFor=\"let option of options\">\r\n <p-radioButton \r\n [inputId]=\"option.id\" \r\n name=\"option\" \r\n [value]=\"option\" \r\n [(ngModel)]=\"selectedOpt\"\r\n (onClick)=\"selectedOption($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-radioButton>\r\n <label [for]=\"option.id\"> {{option.description}}</label>\r\n </div> \r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ComponentProviders } from '../../api/helpers/component-providers';\r\nimport { BaseComponentInput } from '../../api/base-components/base-component-input';\r\nimport { ComponentService } from '../../api/services/component.service';\r\n\r\n\r\n@Component({\r\n selector: 'kv-switch',\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.scss', '../../styles-components.scss'],\r\n providers: ComponentProviders(SwitchComponent),\r\n})\r\nexport class SwitchComponent extends BaseComponentInput<boolean> implements OnInit {\r\n\r\n @Input() switchValue!: boolean;\r\n @Output() onSwitchChange: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(componentService: ComponentService) {\r\n super(componentService);\r\n }\r\n\r\n override ngOnInit(): void {\r\n if (this.switchValue)\r\n this.value = this.switchValue;\r\n }\r\n\r\n emitOnSwitchChange(event: any) {\r\n this.onSwitchChange.emit(event);\r\n }\r\n}\r\n","<div class=\"center field-checkbox\">\r\n\r\n <p-inputSwitch\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n (ngModelChange)=\"emitOnSwitchChange($event)\">\r\n </p-inputSwitch>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output\r\n} from '@angular/core';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport class BaseComponentButton {\r\n\r\n @Input() icon: string = '';\r\n @Input() label: string = '';\r\n @Input() loading: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input() color: string = 'bg-blue-100';\r\n\r\n\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n click(event: any): void {\r\n this.onClick.emit();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponentButton } from '../../api/base-components/base-component-button';\r\n\r\n@Component({\r\n selector: 'kv-button-secondary',\r\n templateUrl: './button-secondary.component.html',\r\n styleUrls: ['./button-secondary.component.scss']\r\n})\r\nexport class ButtonSecondaryComponent extends BaseComponentButton {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","\r\n<button\r\n pButton\r\n pRipple\r\n class=\"btn-secondary border-300\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n (click)=\"click($event)\">\r\n</button>\r\n\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponentButton } from '../../api/base-components/base-component-button';\r\n\r\n@Component({\r\n selector: 'kv-button-success',\r\n templateUrl: './button-success.component.html',\r\n styleUrls: ['./button-success.component.scss']\r\n})\r\nexport class ButtonSuccessComponent extends BaseComponentButton {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","<button\r\n pButton\r\n pRipple\r\n class=\"btn-success border-green-500\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n [disabled]=\"disabled\"\r\n (click)=\"click($event)\">\r\n</button>\r\n\r\n","import { Component } from '@angular/core';\r\nimport { BaseComponentButton } from '../../api/base-components/base-component-button';\r\n\r\n@Component({\r\n selector: 'kv-button-personalize',\r\n templateUrl: './button-personalize.component.html',\r\n styleUrls: ['./button-personalize.component.scss']\r\n})\r\nexport class ButtonPersonalizeComponent extends BaseComponentButton {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","\r\n<button\r\n pButton\r\n pRipple\r\n [class]=\"color\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n (click)=\"click($event)\">\r\n</button>\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ChartConfig } from '../api/components/chart/chart.config';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { UIChart } from 'primeng/chart';\r\n\r\nexport const PeriodosChart = {\r\n Ultimos180Dias: -180,\r\n Ultimos120Dias: -120,\r\n Ultimos90Dias: -90,\r\n Ultimos60Dias: -60,\r\n Ultimos45Dias: -45,\r\n Ultimos30Dias: -30,\r\n Ultimos15Dias: -15,\r\n Ultimos7Dias: -7,\r\n DataAtual: 0,\r\n Proximos7Dias: 7,\r\n Proximos15Dias: 15,\r\n Proximos30Dias: 30,\r\n Proximos45Dias: 45,\r\n Proximos60Dias: 60,\r\n Proximos90Dias: 90,\r\n Proximos120Dias: 120,\r\n Proximos180Dias: 180\r\n}\r\n\r\n@Component({\r\n selector: 'kv-chart',\r\n templateUrl: './chart.component.html',\r\n styleUrls: ['./chart.component.scss', '../styles-components.scss']\r\n})\r\nexport class ChartComponent implements OnInit {\r\n\r\n chartConfig: ChartConfig = {\r\n labels: [],\r\n datasets: [],\r\n }\r\n\r\n periodosDisponiveis = [\r\n { label: 'Últimos 180 dias', value: -180 },\r\n { label: 'Últimos 120 dias', value: -120 },\r\n { label: 'Últimos 90 dias', value: -90 },\r\n { label: 'Últimos 60 dias', value: -60 },\r\n { label: 'Últimos 45 dias', value: -45 },\r\n { label: 'Últimos 30 dias', value: -30 },\r\n { label: 'Últimos 15 dias', value: -15 },\r\n { label: 'Últimos 7 dias', value: -7 },\r\n { label: 'Data atual', value: 0 },\r\n { label: 'Próximos 7 dias', value: 7 },\r\n { label: 'Próximos 15 dias', value: 15 },\r\n { label: 'Próximos 30 dias', value: 30 },\r\n { label: 'Próximos 45 dias', value: 45 },\r\n { label: 'Próximos 60 dias', value: 60 },\r\n { label: 'Próximos 90 dias', value: 90 },\r\n { label: 'Próximos 120 dias', value: 120 },\r\n { label: 'Próximos 180 dias', value: 180 }\r\n ];\r\n\r\n @Input() title!: string;\r\n @Input() type!: 'doughnut' | 'pie' | 'bar' | 'line';\r\n @Input() indexAxis!: 'y' | 'x';\r\n @Input() displayLegend!: boolean;\r\n\r\n @Input() showDatas: boolean = true;\r\n @Input() showMenu: boolean = false;\r\n @Input() selectedData!: number;\r\n @Input() enablePeriodos: number[] = [];\r\n\r\n data: any;\r\n options: any;\r\n\r\n periodos: any[] = [];\r\n\r\n menuItems: MenuItem[] = [];\r\n\r\n @Output() onPrintReport: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionValue: EventEmitter<any> = new EventEmitter();\r\n @ViewChild('chart') chart?: UIChart;\r\n\r\n constructor() { }\r\n\r\n configureGraphic() {\r\n this.data = this.chartConfig;\r\n this.configOptions();\r\n this.chart?.reinit();\r\n }\r\n\r\n private configOptions(): void {\r\n this.options = {\r\n indexAxis: this.indexAxis || 'x',\r\n maintainAspectRatio: false,\r\n aspectRatio: 0.8,\r\n animation: {\r\n duration: 0\r\n },\r\n plugins: {\r\n legend: {\r\n display: this.displayLegend || false,\r\n labels: {\r\n color: '#1e293b',\r\n usePointStyle: true,\r\n font: {\r\n weight: 700,\r\n },\r\n padding: 28\r\n },\r\n position: 'bottom'\r\n }\r\n }\r\n };\r\n\r\n this.menuItems = [\r\n { label: 'Imprimir relatório', command: () => this.printReport() }\r\n ]\r\n }\r\n\r\n private initDatas() {\r\n this.periodosDisponiveis.map((el) => {\r\n if (this.enablePeriodos.includes(el.value)) {\r\n this.periodos.push(el);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.initDatas();\r\n this.configureGraphic();\r\n }\r\n\r\n printReport() {\r\n this.onPrintReport.emit();\r\n }\r\n\r\n public reInit(config: any) {\r\n this.chartConfig = config;\r\n this.configureGraphic();\r\n }\r\n\r\n protected selectionValue(event: any) {\r\n this.onSelectionValue.emit(event);\r\n }\r\n}\r\n","<div class=\"card h-full\">\r\n <div class=\"flex align-items-start justify-content-between mb-6\">\r\n <label class=\"text-900 text-xl font-semibold\">{{ title }}</label>\r\n <div>\r\n <p-dropdown\r\n *ngIf=\"showDatas\"\r\n [options]=\"periodos\"\r\n [(ngModel)]=\"selectedData\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n styleClass=\"w-15rem\"\r\n (onChange)=\"selectionValue($event)\">\r\n </p-dropdown>\r\n <button\r\n *ngIf=\"showMenu\"\r\n pButton\r\n pRipple\r\n icon=\"pi pi-ellipsis-h\"\r\n class=\"p-button-rounded p-button-secondary\"\r\n style=\"margin-left: 10px;\"\r\n (click)=\"menu.toggle($event)\">\r\n </button>\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n appendTo=\"body\"\r\n [model]=\"menuItems\">\r\n </p-menu>\r\n </div>\r\n </div>\r\n <p-chart\r\n #chart\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n height=\"300px\">\r\n </p-chart>\r\n</div>\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { chartModel } from \"../components/chart/chart.model\";\r\nimport { ChartConfig, ChartDatasetConfig } from \"../components/chart/chart.config\";\r\nimport { ChartComponent, PeriodosChart } from \"../../chart/chart.component\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseChartComponent implements OnInit {\r\n\r\n chartConfig!: ChartConfig;\r\n selectedData: number = 0;\r\n enablePeriodos: number[] = [];\r\n periodos = PeriodosChart;\r\n\r\n @ViewChild(ChartComponent) chartComponent?: ChartComponent;\r\n\r\n @Output() onPrintReport: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n protected changeData(event: any) {\r\n if (event) {\r\n this.selectedData = event?.value;\r\n this.loadData();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadData()\r\n }\r\n\r\n abstract loadData(): void;\r\n\r\n protected loadGraphic(obs: Observable<any>) {\r\n obs\r\n .subscribe({\r\n next: (data: any) => {\r\n this.chartConfig = this.assembleGraphic(data as chartModel[]);\r\n this.chartComponent?.reInit(this.chartConfig);\r\n },\r\n error: (error: any) => { },\r\n });\r\n }\r\n\r\n protected assembleGraphic(data: chartModel[]) {\r\n let labels: string[] = [];\r\n let datasets: ChartDatasetConfig[] = [];\r\n\r\n // Tratando legendas\r\n data.map((element: any) => {\r\n if (element.labels && !labels.includes(element.labels)) {\r\n labels.push(element.labels);\r\n }\r\n });\r\n\r\n //Descobrindo quantas dimensões tem o gráfico\r\n let numDatasets = Math.max(...data.map(o => o.numDatasets));\r\n\r\n //Populando datasets\r\n for (let i = 0; i <= numDatasets; i++) {\r\n let backgroundColor: string[] = [];\r\n let hoverBackgroundColor: string[] = [];\r\n let borderColor: string[] = [];\r\n let values: number[] = [];\r\n let labelDataset: string = '';\r\n\r\n data.filter((obj) => {\r\n return obj.numDatasets === i;\r\n }).map((obj) => {\r\n if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {\r\n backgroundColor.push(obj.backgroundColor);\r\n }\r\n if (obj.borderColor && !borderColor.includes(obj.borderColor)) {\r\n borderColor.push(obj.borderColor);\r\n }\r\n if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {\r\n hoverBackgroundColor.push(obj.hoverBackgroundColor);\r\n }\r\n if (obj.labelDataset) labelDataset = obj.labelDataset;\r\n\r\n values.push(obj.datasets);\r\n });\r\n\r\n datasets.push(\r\n {\r\n label: labelDataset,\r\n backgroundColor: backgroundColor,\r\n hoverBackgroundColor: hoverBackgroundColor,\r\n borderColor: borderColor?.length === 0 ? undefined : borderColor,\r\n data: values\r\n }\r\n );\r\n }\r\n\r\n let dados: ChartConfig = {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n\r\n return dados;\r\n }\r\n}\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cTemplate]'\r\n})\r\nexport class TemplateDirective {\r\n @Input() type!: string;\r\n @Input('cTemplate') name!: string;\r\n\r\n constructor(public template: TemplateRef<any>) { }\r\n\r\n getType(): string {\r\n return this.name;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'codigoFipe' })\r\nexport class CodigoFipePipe implements PipeTransform {\r\n\r\n transform(value: string) {\r\n if (value) {\r\n\r\n const identificacao = value.replace(/[^0-9]/g, '');\r\n\r\n return identificacao.replace(/(\\d{6})(\\d{1})/g, \"\\$1-\\$2\");\r\n }\r\n else return null;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cpfCnpj' })\r\nexport class CpfCnpjPipe implements PipeTransform {\r\n\r\n transform(value: string) {\r\n if (value) {\r\n\r\n const identificacao = value.replace(/[^0-9]/g, '');\r\n\r\n if (identificacao.length === 11) {\r\n return identificacao.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/g, \"\\$1.\\$2.\\$3\\-\\$4\");\r\n } else if (identificacao.length === 14) {\r\n return identificacao.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/g, \"\\$1.\\$2.\\$3\\/\\$4\\-\\$5\");\r\n }\r\n\r\n return value;\r\n }\r\n else return null;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'Telefone'\r\n})\r\nexport class TelefonePipe implements PipeTransform {\r\n\r\n transform(tel: string) {\r\n if (tel) {\r\n const value = tel.toString().replace(/\\D/g, '');\r\n\r\n let foneFormatado = '';\r\n\r\n if (value.length > 12) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{2})?(\\d{5})?(\\d{4})/, '+$1 ($2) $3-$4');\r\n\r\n } else if (value.length > 11) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{2})?(\\d{4})?(\\d{4})/, '+$1 ($2) $3-$4');\r\n\r\n } else if (value.length > 10) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{5})?(\\d{4})/, '($1) $2-$3');\r\n\r\n } else if (value.length > 9) {\r\n foneFormatado = value.replace(/(\\d{2})?(\\d{4})?(\\d{4})/, '($1) $2-$3');\r\n\r\n } else if (value.length > 5) {\r\n foneFormatado = value.replace(/^(\\d{2})?(\\d{4})?(\\d{0,4})/, '($1) $2-$3');\r\n\r\n } else if (value.length > 1) {\r\n foneFormatado = value.replace(/^(\\d{2})?(\\d{0,5})/, '($1) $2');\r\n } else {\r\n if (tel !== '') { foneFormatado = value.replace(/^(\\d*)/, '($1'); }\r\n }\r\n return foneFormatado;\r\n }\r\n else return null;\r\n }\r\n}\r\n","import { DatePipe, DecimalPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\nimport { TableConfig } from '../api/components/table/table.config';\r\nimport { TableConfigColumn } from '../api/components/table/table.config.column';\r\nimport { TablePaginate } from '../api/components/table/table.paginate';\r\nimport { TemplateDirective } from '../directives/template.directive';\r\nimport { CodigoFipePipe } from '../pipes/codigofile.pipe';\r\nimport { CpfCnpjPipe } from '../pipes/cpfcnpj.pipe';\r\nimport { TelefonePipe } from '../pipes/telefone.pipe';\r\nimport { KvMenuItem } from '../api/components/table/kv-menuitem';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nconst imgDefault = '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';\r\n\r\n@Component({\r\n selector: 'kv-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n})\r\nexport class TableComponent implements OnInit {\r\n config!: TableConfig;\r\n pesquisaValue!: string;\r\n globalFilterFields: string[] = [];\r\n actionsTemplate!: TemplateRef<any>;\r\n\r\n selectedSize: string = '';\r\n\r\n tamanhoTela!: number;\r\n\r\n menuItems: KvMenuItem[] = [];\r\n menuColumns: KvMenuItem[] = [];\r\n\r\n checked: boolean = true;\r\n\r\n columns: TableConfigColumn[] = [];\r\n deletedColuns: TableConfigColumn[] = [];\r\n\r\n menuFiltro: boolean = false;\r\n checkboxClicked: boolean = false;\r\n\r\n @ContentChildren(TemplateDirective) templates!: QueryList<any>;\r\n @Input('templates') _templates!: any;\r\n\r\n @ViewChild('table', { static: false }) table!: Table;\r\n deletedColumnsIndex!: any[];\r\n\r\n @Input('config') set setConfig(value: TableConfig) {\r\n this.config = {\r\n enableCation: value.enableCation || true,\r\n enableSelect: value.enableSelect || false,\r\n enableFilter: value.enableFilter || true,\r\n ...value,\r\n };\r\n\r\n if (this.config.enableFilter) {\r\n this.config.columns.forEach((col) => {\r\n this.globalFilterFields.push(col.field);\r\n });\r\n }\r\n }\r\n\r\n @Input() dataSource: any;\r\n @Input() selectedItems: any[] = [];\r\n @Input() totalRecords!: number;\r\n @Input() paginator: boolean = true;\r\n @Input() rowsPerPageOptions!: number[];\r\n @Input() rows: number = 5;\r\n @Input() tableSize!: number;\r\n @Input() applyStyle: Function = (rowData: any, col: TableConfigColumn) => '';\r\n @Input() acoesLinhaTabela: boolean = true;\r\n @Input() filterColumnsBtn: boolean = false;\r\n\r\n @Output() onActiveItem: EventEmitter<any> = new EventEmitter();\r\n @Output() onActiveItemLote: EventEmitter<any> = new EventEmitter();\r\n @Output() onPaginate: EventEmitter<any> = new EventEmitter();\r\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\r\n @Output() doubleClickEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() filterField: EventEmitter<any> = new EventEmitter();\r\n\r\n @ViewChild('menuFiltroDiv') menuFiltroDiv!: ElementRef;\r\n @ViewChild('botaoFiltro') botaoFiltro!: ElementRef;\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n private readonly decimalPipe: DecimalPipe,\r\n private readonly codigoFipePipe: CodigoFipePipe,\r\n private readonly cpfCnpjPipe: CpfCnpjPipe,\r\n private readonly telefonePipe: TelefonePipe,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private sanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.adjustTableSize();\r\n this.tamanhoTela = window.innerWidth;\r\n // this.criarMenuColumns();\r\n this.config.columns.forEach((col: any) => {\r\n this.columns.push(col);\r\n });\r\n this.checkHideColumns();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.adjustTableSize();\r\n this.tamanhoTela = window.innerWidth;\r\n }\r\n\r\n public activeItem(rowData: any) {\r\n this.onActiveItem.emit(rowData);\r\n }\r\n\r\n public activeItemLote(rowData: any) {\r\n this.onActiveItemLote.emit(rowData);\r\n }\r\n\r\n isBooleanField(rowData: any, col: TableConfigColumn): boolean {\r\n return typeof rowData[col.field] == 'boolean';\r\n }\r\n\r\n isChipField(col: TableConfigColumn): boolean {\r\n return col.fieldType == 'chip';\r\n }\r\n\r\n isImageField(col: TableConfigColumn): boolean {\r\n let retorno = col.fieldType && col.fieldType === 'image' ? true : false;\r\n return retorno;\r\n }\r\n\r\n loadImage(rowData: any, col: TableConfigColumn): string {\r\n /*\r\n Nossa coluna de imagem trabalha com strings do tipo: base64 ou url\r\n */\r\n let retorno = `data:image/jpg;base64, ${imgDefault}`;\r\n if (rowData && col && rowData[col.field] && rowData[col.field] !== '') {\r\n if (rowData[col.field].includes('http'))\r\n retorno = rowData[col.field];\r\n else\r\n retorno = `data:image/jpg;base64, ${rowData[col.field]}`;\r\n }\r\n\r\n return retorno;\r\n }\r\n\r\n public onGlobalFilter(table: Table, event: Event) {\r\n this.filterField.emit((event.target as HTMLInputElement).value);\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains');\r\n }\r\n\r\n public paginate(event: any) {\r\n if (event) {\r\n let paginaInicial =\r\n (event?.first > 0 ? event.first / event.rows : event.first) + 1;\r\n let termoPesquisa = '';\r\n let ordenacao = '';\r\n\r\n if (event.globalFilter) termoPesquisa = event.globalFilter;\r\n\r\n if (event.sortField)\r\n ordenacao = `${event.sortField} ${event.sortOrder === 1 ? 'ASC' : 'DESC'\r\n }`;\r\n\r\n const objeto: TablePaginate = {\r\n paginaInicial: paginaInicial,\r\n tamanhoPagina: event.rows,\r\n termoPesquisa: termoPesquisa,\r\n ordenacao: ordenacao,\r\n };\r\n\r\n this.onPaginate.emit(objeto);\r\n }\r\n }\r\n\r\n selectionChange(value = []) {\r\n this.onSelectionChange.emit(value);\r\n }\r\n\r\n returnRowClass(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n let rowClass: string;\r\n\r\n this.tableSize > 800 ? (rowClass = 'text-base') : (rowClass = 'text-sm');\r\n\r\n if (col.expiredDate == true) {\r\n new Date(value) < new Date()\r\n ? (rowClass = rowClass + ' text-red-400 font-semibold')\r\n : '';\r\n }\r\n return rowClass;\r\n }\r\n\r\n expiredFile(rowData: any, col: TableConfigColumn): boolean {\r\n let value = rowData['datavencimento'];\r\n return new Date(value) < new Date() && col.field == 'area';\r\n }\r\n\r\n transformValue(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n\r\n if (value != null) {\r\n if (!col.pipe) {\r\n return value;\r\n }\r\n\r\n switch (col.pipe) {\r\n case 'date':\r\n return this.datePipe.transform(value, 'dd/MM/yyyy');\r\n case 'decimal':\r\n return this.decimalPipe.transform(value, '1.2-2', 'pt-BR');\r\n case 'cpfcnpj':\r\n return this.cpfCnpjPipe.transform(value);\r\n case 'telefone':\r\n return this.telefonePipe.transform(value);\r\n case 'codigofipe':\r\n return this.codigoFipePipe.transform(value);\r\n case 'money':\r\n return this.formatarValor(value);\r\n case 'percentage':\r\n return `${value} %`;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n formatarValor(valor: number): string {\r\n const formatter = new Intl.NumberFormat('pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL',\r\n });\r\n\r\n return formatter.format(valor);\r\n }\r\n\r\n adjustTableSize() {\r\n if (this.tableSize < 800) {\r\n this.selectedSize = 'p-datatable-sm';\r\n } else {\r\n this.selectedSize = '';\r\n }\r\n }\r\n\r\n doubleClick(e: any, rowData: any) {\r\n let eventDoubleClick = { event: e, rowData: rowData };\r\n\r\n let array: string[] = [];\r\n e.target.classList.forEach((x: any) => array.push(x));\r\n\r\n if (array.find((x: any) => x == 'ng-star-inserted') != undefined)\r\n this.doubleClickEvent.emit(eventDoubleClick);\r\n }\r\n\r\n centralizarColunas(col: any): string {\r\n if (col.centralize) {\r\n return 'text-align: center';\r\n } else return '';\r\n }\r\n\r\n alignColunas(col: any): string {\r\n if (col.align) {\r\n return `text-align: ${col.align}`;\r\n } else return '';\r\n }\r\n\r\n alignColunasHeader(col: any): string {\r\n if (col.align) {\r\n if (col.align == 'right') return 'justify-content: end';\r\n else return '';\r\n } else return '';\r\n }\r\n\r\n retornarCampo(action: KvMenuItem, rowData: any, field: string): string {\r\n const _function = action.dynamicfields\r\n ? (action.dynamicfields[field] as Function)\r\n : null;\r\n const _field: string = _function\r\n ? _function.apply(action, [rowData])\r\n : action[field];\r\n return _field;\r\n }\r\n\r\n retornarRow(rowData: any, col: any, field: string): string {\r\n const _rowaction = this.config.rows ? this.config.rows[col.field] : null;\r\n const _field: string =\r\n _rowaction && _rowaction[field]\r\n ? _rowaction[field].constructor === Function\r\n ? _rowaction[field].apply(this, [rowData])\r\n : _rowaction[field]\r\n : null;\r\n return _field;\r\n }\r\n\r\n exibirCampo(field: any, rowData: any) {\r\n let visible = field.visible ? field.visible(rowData) : true;\r\n\r\n // if (field != undefined && field != null && field != '') {\r\n // const value = rowData[field];\r\n // return value;\r\n // }\r\n return visible;\r\n }\r\n\r\n criarMenusModal(data: any) {\r\n if (this.config.actions && data) {\r\n const items = this.config.actions.map((action) => {\r\n const icon = this.retornarCampo(action, data, 'icon');\r\n const tooltip = this.retornarCampo(action, data, 'tooltip');\r\n const label = this.retornarCampo(action, data, 'label');\r\n const command: any = this.retornarCampo(action, data, 'command');\r\n const visible: boolean = action.visible ? action.visible(data) : true;\r\n const disabled: boolean = action.disabled\r\n ? action.disabled(data)\r\n : false;\r\n\r\n const menuInsert: KvMenuItem = {\r\n label,\r\n icon,\r\n tooltip,\r\n command,\r\n disabled,\r\n visible,\r\n };\r\n\r\n let item = this.menuItems.filter(\r\n (x) => x.command == menuInsert.command\r\n );\r\n\r\n if (item.length == 0) this.menuItems.push(menuInsert);\r\n else {\r\n if (menuInsert.label != item[0].label) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.visible != item[0].visible) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.disabled != item[0].disabled) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n returnClassChip(rowData: any, col: any): string {\r\n return `chip-style w-auto border-round-2xl p-2 text-${this.retornarRow(\r\n rowData,\r\n col,\r\n 'stylechip'\r\n )} border-${this.retornarRow(rowData, col, 'stylechip')}`;\r\n }\r\n\r\n returnClassIcon(rowData: any, col: any): string {\r\n return this.retornarRow(rowData, col, 'iconrow');\r\n }\r\n\r\n returnTooltipIcon(rowData: any, col: any): string {\r\n return this.retornarRow(rowData, col, 'tooltipiconrow');\r\n }\r\n\r\n deleteColumn(field: string) {\r\n let index: number;\r\n\r\n let column: TableConfigColumn | undefined = this.config.columns.find(\r\n (x: TableConfigColumn) => x.field == field\r\n );\r\n if (column) {\r\n index = this.config.columns.indexOf(column);\r\n this.config.columns.splice(index, 1);\r\n this.deletedColuns.push(column);\r\n }\r\n }\r\n\r\n addColumn(field: string) {\r\n let index: number;\r\n\r\n let column: TableConfigColumn | undefined = this.config.columns.find(\r\n (x: TableConfigColumn) => x.field == field\r\n );\r\n\r\n if (!column) {\r\n let deletedColumn: TableConfigColumn | undefined =\r\n this.deletedColuns.find((x: TableConfigColumn) => x.field == field);\r\n\r\n if (deletedColumn != undefined) {\r\n index = this.deletedColuns.indexOf(deletedColumn);\r\n this.deletedColuns.slice(index, 1);\r\n this.config.columns.push(deletedColumn);\r\n }\r\n }\r\n }\r\n\r\n dinamicColumnSet(e: any, col: any) {\r\n col.checked = e.checked;\r\n if (e.checked) this.addColumn(col.field);\r\n else this.deleteColumn(col.field);\r\n\r\n if (col.position) this.config.columns.sort(this.sortByPosition());\r\n }\r\n\r\n abrirMenuFiltro(e: any) {\r\n this.menuFiltro = !this.menuFiltro;\r\n this.checkboxClicked = false;\r\n\r\n if (this.tamanhoTela < 700)\r\n this.styleSetter('left', (this.botaoFiltro.nativeElement.offsetLeft - 288) + 'px')\r\n else\r\n this.styleSetter('left', (this.botaoFiltro.nativeElement.offsetLeft + 40) + 'px')\r\n\r\n this.styleSetter('top', this.botaoFiltro.nativeElement.offsetTop + 'px')\r\n this.styleSetter('visibility', this.menuFiltro ? 'visible' : 'hidden')\r\n }\r\n\r\n fecharMenuFiltro() {\r\n this.menuFiltro = false;\r\n this.checkboxClicked = false;\r\n\r\n this.styleSetter('visibility', 'hidden')\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onEscapeKey(event: KeyboardEvent) {\r\n if (this.filterColumnsBtn == true && this.menuFiltro == true) {\r\n this.fecharMenuFiltro();\r\n }\r\n }\r\n @HostListener('document:click', ['$event'])\r\n onClickEvent(event: any) {\r\n if (this.filterColumnsBtn == true && this.menuFiltro == true) {\r\n const clickedElement = event.target as HTMLElement;\r\n const menuFiltroDiv =\r\n this.elementRef.nativeElement.querySelector('#menuFiltroDiv');\r\n const botaoFiltro =\r\n this.elementRef.nativeElement.querySelector('#botaoFiltro');\r\n const isCheckboxClicked =\r\n clickedElement.classList.toString().includes('p-checkbox') ||\r\n event.target.classList.toString() == '';\r\n const isInsideMenu =\r\n menuFiltroDiv?.contains(clickedElement) ||\r\n botaoFiltro?.contains(clickedElement) ||\r\n isCheckboxClicked;\r\n\r\n if (!isInsideMenu) this.fecharMenuFiltro();\r\n }\r\n }\r\n\r\n checkMenuFiltro(col: any) {\r\n let deletedColumn: TableConfigColumn | undefined = this.deletedColuns.find(\r\n (x: TableConfigColumn) => x.field == col.field\r\n );\r\n if (deletedColumn) col.checked = false;\r\n else col.checked = true;\r\n }\r\n\r\n sortByPosition() {\r\n return function (elem1: any, elem2: any) {\r\n if (elem1.position < elem2.position) {\r\n return -1;\r\n } else if (elem1.position > elem2.position) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n };\r\n }\r\n\r\n callDisabled(action: KvMenuItem, data: any): boolean {\r\n if (action?.disabled) {\r\n return action.disabled(data);\r\n }\r\n return false;\r\n }\r\n\r\n dinamicDisableColumn(col: TableConfigColumn): boolean {\r\n if (col.fixedColumn) return col.fixedColumn;\r\n else return false;\r\n }\r\n\r\n checkHideColumns() {\r\n let hideColumnsConfig = this.columns.filter(\r\n (col) => col.hideColumn == true\r\n );\r\n hideColumnsConfig.forEach((col) => this.deleteColumn(col.field));\r\n }\r\n\r\n getCustomTemplate(templatename: string): TemplateRef<any> {\r\n return this._templates[templatename];\r\n }\r\n\r\n styleSetter(style: string, data: string) {\r\n this.renderer?.setStyle(\r\n this.menuFiltroDiv.nativeElement,\r\n style,\r\n data\r\n );\r\n }\r\n\r\n}\r\n","<div>\r\n <p-table\r\n *ngIf=\"config\"\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {totalRecords}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"false\"\r\n [pageLinks]=\"1\"\r\n [responsive]=\"true\"\r\n responsiveLayout=\"stack\"\r\n >\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableCation\">\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\"\r\n >\r\n <div class=\"col-12 flex flex-column\">\r\n <div *ngIf=\"config.title\" class=\"text-md font-bold my-3\">\r\n {{ config.title }}\r\n </div>\r\n <div *ngIf=\"config.subtitle\" class=\"text-sm mb-4 font-medium\">\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n tamanhoTela < 768\r\n ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4'\r\n : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 input-search'\r\n \"\r\n >\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"block mt-2 md:mt-0 p-input-icon-left text-align-center\"\r\n >\r\n <i\r\n class=\"material-symbols-outlined icon-search\"\r\n style=\"display: inline-block\"\r\n >\r\n search\r\n </i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"w-full mb-1\"\r\n style=\"height: 40px\"\r\n />\r\n </span>\r\n\r\n <button\r\n pButton\r\n #botaoFiltro\r\n id=\"botaoFiltro\"\r\n *ngIf=\"filterColumnsBtn\"\r\n class=\"p-button-raised p-button-text actionLoteBtns\"\r\n (click)=\"abrirMenuFiltro($event)\"\r\n >\r\n <span class=\"material-symbols-outlined md-22\"> filter_alt </span>\r\n </button>\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n <div\r\n class=\"flex flex-column text-medium w-15rem\"\r\n *ngFor=\"let col of columns\"\r\n >\r\n {{ checkMenuFiltro(col) }}\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n *ngIf=\"!dinamicDisableColumn(col)\"\r\n ></p-checkbox>\r\n </div>\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n <div *ngFor=\"let action of config.actionsLote\" class=\"btns-options\">\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"(selectedItems.length > 0 || action.showAcoesLote) && exibirCampo(action, this.action)\"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"action?.command(); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"retornarCampo(action, selectedItems, 'btnColor')\"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect\"\r\n >\r\n <p-tableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n\r\n\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\" [pTooltip]=\"col.headerTooltip\">info</span>\r\n \r\n </div>\r\n </th>\r\n <th *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n >\r\n <tr (dblclick)=\"doubleClick($event, rowData)\">\r\n <td\r\n *ngIf=\"config.enableSelect\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"rowgroup && !col.template\"\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col)\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\">{{\r\n transformValue(rowData, col)\r\n }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i\r\n *ngIf=\"!col.iconField\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"!rowgroup && !col.grouped && !col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col)\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ transformValue(rowData, col) }}</span\r\n >\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i\r\n *ngIf=\"!col.iconField\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <td\r\n *ngIf=\"config.actions && config.actions.length > 0\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div *ngFor=\"let action of config.actions\">\r\n <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TreeNode } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'kv-tree-view',\r\n templateUrl: './tree-view.component.html',\r\n styleUrls: ['./tree-view.component.scss']\r\n})\r\n\r\n\r\nexport class TreeViewComponent implements OnInit {\r\n\r\n @Input() selectedFiles!: TreeNode[] | undefined;\r\n\r\n @Input() selectionMode: string = 'checkbox';\r\n @Input() treeViewData!: TreeNode[];\r\n\r\n @Output() selectedItems: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onSelectionChange() {\r\n this.selectedItems.emit(this.selectedFiles)\r\n }\r\n\r\n}\r\n","<div class=\"card flex flex-column align-items-center justify-content-center\">\r\n <p-tree\r\n [value]=\"treeViewData\"\r\n [selectionMode]=\"selectionMode\"\r\n class=\"w-full\"\r\n [(selection)]=\"selectedFiles\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n ></p-tree>\r\n</div>","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kv-picklist',\r\n templateUrl: './picklist.component.html',\r\n styleUrls: ['./picklist.component.scss', '../styles-components.scss']\r\n})\r\nexport class PickListComponent implements OnInit {\r\n\r\n @Input() source!: any[]; // Lista de origem\r\n @Input() sourceHeader: string = 'Título da lista de origem';\r\n @Input() sourceStyle!: any; // Estilização da lista de origem\r\n @Input() target!: any[]; // Lista de destino (Itens selecionados)\r\n @Input() targetHeader: string = 'Título de lista de destino'; \r\n @Input() targetStyle!: any; // Estilização da lista de destino\r\n @Input() dragdrop: boolean = true; // Ativa/Desativa o arrasta e solta\r\n @Input() responsive: boolean = true; // Ativa/Desativa a responsividade automática\r\n @Input() filterBy!: string; // Campo de filtro nas listas.\r\n @Input() breakpoint: string = \"1400px\"; // Define a largura da tela na qual o componente deve alterar seu comportamento responsivo.\r\n @Input() stripedRows: boolean = false; // Ativa/Desativa linhas com cores alternadas (\"zebradas\")\r\n @Input() itemTemplate!: TemplateRef<any>; // Como as listas são dinâmicas, obrigatoriamente um template deve ser informado para exibir os itens das listas\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","<p-pickList \r\n [source]=\"source\" \r\n [sourceHeader]=\"sourceHeader\" \r\n [sourceStyle]=\"sourceStyle\" \r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\" \r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\" \r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ng-template>\r\n</p-pickList>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoFocusModule } from 'primeng/autofocus';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { DataViewModule } from 'primeng/dataview';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DialogService, DynamicDialogRef, DynamicDialogConfig } from 'primeng/dynamicdialog';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { DynamicDialogModule } from 'primeng/dynamicdialog';\r\nimport { EditorModule } from 'primeng/editor';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KnobModule } from 'primeng/knob';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { SpeedDialModule } from 'primeng/speeddial';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { StepsModule } from 'primeng/steps'\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { OverlayModule } from 'primeng/overlay';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { TreeModule } from 'primeng/tree';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { StyleClassModule } from 'primeng/styleclass';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\n@NgModule({\r\n exports: [\r\n AccordionModule,\r\n AutoFocusModule,\r\n BadgeModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n CarouselModule,\r\n ChartModule,\r\n CheckboxModule,\r\n ChipModule,\r\n ConfirmDialogModule,\r\n ContextMenuModule,\r\n DataViewModule,\r\n DialogModule,\r\n DividerModule,\r\n DropdownModule,\r\n DynamicDialogModule,\r\n EditorModule,\r\n FieldsetModule,\r\n FileUploadModule,\r\n InputMaskModule,\r\n InputNumberModule,\r\n InputSwitchModule,\r\n InputTextModule,\r\n InputTextareaModule,\r\n KnobModule,\r\n MenuModule,\r\n MessageModule,\r\n MessagesModule,\r\n MultiSelectModule,\r\n OverlayModule,\r\n OverlayPanelModule,\r\n OverlayPanelModule,\r\n PanelModule,\r\n PanelMenuModule,\r\n PasswordModule,\r\n PickListModule,\r\n ProgressBarModule,\r\n RadioButtonModule,\r\n RatingModule,\r\n RippleModule,\r\n SidebarModule,\r\n SkeletonModule,\r\n SpeedDialModule,\r\n SplitButtonModule,\r\n StepsModule,\r\n TabViewModule,\r\n TableModule,\r\n ToastModule,\r\n ToolbarModule,\r\n TooltipModule,\r\n TreeModule,\r\n StyleClassModule,\r\n BreadcrumbModule,\r\n TreeTableModule\r\n ],\r\n providers: [\r\n ConfirmationService,\r\n DialogService,\r\n DynamicDialogRef,\r\n DynamicDialogConfig,\r\n MessageService,\r\n ]\r\n})\r\nexport class PrimeNgModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonSecondaryComponent } from './button-secondary/button-secondary.component';\r\nimport { ButtonSuccessComponent } from './button-success/button-success.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { ButtonPersonalizeComponent } from './button-personalize/button-personalize.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ButtonSecondaryComponent,\r\n ButtonSuccessComponent,\r\n ButtonPersonalizeComponent\r\n ],\r\n imports: [\r\n PrimeNgModule\r\n ],\r\n exports: [\r\n ButtonSecondaryComponent,\r\n ButtonSuccessComponent,\r\n ButtonPersonalizeComponent\r\n ]\r\n})\r\nexport class KvButtonsModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { PrimeNgModule } from '../../modules/primeng.module';\r\n\r\nimport { ErrorComponent } from './error.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ErrorComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n PrimeNgModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [\r\n ErrorComponent,\r\n ]\r\n})\r\nexport class kvErrorModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CheckComponent } from './check/check.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { InputCalendarComponent } from './input-calendar/input-calendar.component';\r\nimport { InputMaskComponent } from './input-mask/input-mask.component';\r\nimport { InputNumberComponent } from './input-number/input-number.component';\r\nimport { InputPasswordComponent } from './input-password/input-password.component';\r\nimport { InputTextComponent } from './input-text/input-text.component';\r\nimport { InputTextareaComponent } from './input-textarea/input-textarea.component';\r\nimport { InputTimeComponent } from './input-time/input-time.component';\r\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\r\nimport { SwitchComponent } from './switch/switch.component';\r\nimport { kvErrorModule } from '../api/components/error/kverror.module';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CheckComponent,\r\n DropdownComponent,\r\n InputCalendarComponent,\r\n InputMaskComponent,\r\n InputNumberComponent,\r\n InputPasswordComponent,\r\n InputTextComponent,\r\n InputTextareaComponent,\r\n InputTimeComponent,\r\n MultiSelectComponent,\r\n SwitchComponent,\r\n RadioGroupComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n kvErrorModule,\r\n PrimeNgModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [\r\n CheckComponent,\r\n DropdownComponent,\r\n InputCalendarComponent,\r\n InputMaskComponent,\r\n InputNumberComponent,\r\n InputPasswordComponent,\r\n InputTextComponent,\r\n InputTextareaComponent,\r\n InputTimeComponent,\r\n MultiSelectComponent,\r\n SwitchComponent,\r\n RadioGroupComponent\r\n ]\r\n})\r\nexport class KvInputsModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableComponent } from './table.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TableComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n TableComponent\r\n ]\r\n})\r\nexport class KvTableModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TreeViewComponent } from './tree-view.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TreeViewComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule\r\n ],\r\n exports: [\r\n TreeViewComponent\r\n ],\r\n})\r\nexport class KvtreeViewModule { }\r\n","import { FormsModule } from '@angular/forms';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChartComponent } from './chart.component';\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n ChartComponent\r\n ]\r\n})\r\nexport class KvChartModule { }\r\n","import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { menuCompletoModel } from '../api/models/menu/menucompleto.model';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { Sidebar } from 'primeng/sidebar';\r\nimport { menuModel } from '../api/models/menu/menu.model';\r\nimport { masterModel } from '../api/models/menu/master.model';\r\nimport { ActivatedRoute, NavigationEnd, Router, UrlSegment } from '@angular/router';\r\nimport { OverlayPanel } from 'primeng/overlaypanel';\r\n\r\n@Component({\r\n selector: 'kv-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n})\r\nexport class MenuComponent implements OnInit {\r\n\r\n @Input() menuCompleto: menuCompletoModel[] = [];\r\n @Input() licencas: masterModel[] = []\r\n @Input() licencaSelecionada!: masterModel;\r\n @Input() logoImage!: any;\r\n @Input() nomeUsuario!: string;\r\n\r\n @Output() gerenciarKeePassEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() sairEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() expandMenuEmit: EventEmitter<boolean> = new EventEmitter();\r\n\r\n @ViewChild('sidebarRef') sidebarRef!: Sidebar;\r\n @ViewChild('sistemasPanel') sistemasPanel!: OverlayPanel;\r\n @ViewChild('meusDadosPanel') meusDadosPanel!: OverlayPanel;\r\n\r\n licencasOptions: { id: number, descricao: string, cnpj: string }[] = []\r\n licencaSelected!: { id: number, descricao: string, cnpj: string };\r\n\r\n menusFiltrados: menuCompletoModel[] = [];\r\n menus: menuModel[] = [];\r\n\r\n breadCrumbItems: { label: string, routerLink: string }[] = [];\r\n\r\n heigthCard!: number;\r\n widthCard!: number;\r\n expandMenu: boolean = true;\r\n\r\n visibleDialogLicenca: boolean = false;\r\n\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);\r\n this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef, private router: Router, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => this.setLicenca(), 1500)\r\n\r\n this.licencas.forEach((x, i) => {\r\n this.licencasOptions.push({\r\n id: i,\r\n descricao: x.razaosocial,\r\n cnpj: x.cnpj\r\n })\r\n })\r\n\r\n var licenca = this.licencasOptions.find((x) => x.cnpj == this.licencaSelecionada.cnpj);\r\n\r\n if (licenca != undefined)\r\n this.licencaSelected = licenca;\r\n\r\n this.router.events.subscribe(event => {\r\n console.log(event instanceof NavigationEnd, 'event')\r\n if (event instanceof NavigationEnd) {\r\n this.configurarBreadCrumbs();\r\n }\r\n });\r\n\r\n this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);\r\n this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);\r\n }\r\n\r\n\r\n configurarBreadCrumbs() {\r\n const rootRoute = this.route.root;\r\n this.breadCrumbItems = this.getBreadcrumbs(rootRoute);\r\n }\r\n\r\n private getBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: { label: string, routerLink: string }[] = []): { label: string, routerLink: string }[] {\r\n const childrenRoutes = route.children;\r\n\r\n if (childrenRoutes.length === 0) {\r\n return breadcrumbs;\r\n }\r\n\r\n for (const childRoute of childrenRoutes) {\r\n const routeUrl = childRoute.snapshot.url.map(segment => segment.path).join('/');\r\n if (routeUrl !== '') {\r\n url += `/${routeUrl}`;\r\n }\r\n\r\n const breadcrumbLabel = childRoute.snapshot.data['breadcrumb'];\r\n if (breadcrumbLabel) {\r\n breadcrumbs.push({ label: breadcrumbLabel, routerLink: url });\r\n }\r\n\r\n return this.getBreadcrumbs(childRoute, url, breadcrumbs);\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n closeCallback(e: Event): void {\r\n this.sidebarRef.close(e);\r\n }\r\n\r\n MascaraNomeLicenca(nomeLicenca: any): string {\r\n if (nomeLicenca) {\r\n if (nomeLicenca.length > 24)\r\n return nomeLicenca.substring(0, 24) + '...';\r\n else return nomeLicenca;\r\n } else return '';\r\n }\r\n\r\n MascaraCnpj(cnpj: string): string {\r\n const cnpjLimpo = cnpj.replace(/\\D/g, '');\r\n\r\n return cnpjLimpo.replace(\r\n /^(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})$/,\r\n '$1.$2.$3/$4-$5'\r\n );\r\n }\r\n\r\n definirMenusPorSistema(idsistema: number) {\r\n this.menus =\r\n this.menuCompleto.find((x) => x.sistema.idsistema == idsistema)?.menus ||\r\n [];\r\n\r\n this.sistemasPanel.hide();\r\n if (this.menus[0].menupai) {\r\n var filhos = this.retornarMenuFilhos(this.menus[0].idsistema, this.menus[0].idmenu);\r\n if (filhos != undefined)\r\n this.callRoute(filhos[0].link, true)\r\n } else this.callRoute(this.menus[0].link, true)\r\n }\r\n\r\n retornarMenuFilhos(idsistema: number, idmenu: number) {\r\n return this.menuCompleto\r\n .find((x) => x.sistema.idsistema == idsistema)\r\n ?.menus.filter((x) => x.idmenupai == idmenu);\r\n }\r\n\r\n callRoute(e: any, expand?: boolean) {\r\n if (!expand)\r\n !this.expandMenu ? this.expandMenu = !this.expandMenu : ''\r\n console.log(e, 'callRoute')\r\n this.router.navigateByUrl(e)\r\n }\r\n\r\n toggleMenu() {\r\n this.expandMenu = !this.expandMenu;\r\n this.expandMenuEvent()\r\n }\r\n\r\n setLicenca() {\r\n var licenca = this.licencas.find((licenca) => licenca.cnpj == this.licencaSelected.cnpj);\r\n\r\n if (licenca) {\r\n this.licencaSelecionada = licenca;\r\n }\r\n\r\n this.menusFiltrados = this.menuCompleto.filter(menu =>\r\n this.licencaSelecionada.sistemas?.includes(menu.sistema.codigosistema)\r\n );\r\n\r\n this.visibleDialogLicenca = false\r\n\r\n this.definirMenusPorSistema(this.menusFiltrados[0]?.sistema.idsistema)\r\n }\r\n\r\n gerenciarKeePass(event: any) {\r\n this.sistemasPanel.hide();\r\n this.gerenciarKeePassEvent.emit(event)\r\n }\r\n\r\n sair(event: any) {\r\n this.sistemasPanel.hide();\r\n this.sairEvent.emit(event)\r\n }\r\n\r\n expandMenuEvent() {\r\n this.expandMenuEmit.emit(this.expandMenu);\r\n }\r\n\r\n}\r\n","<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n [pTooltip]=\"'Alterar Licença'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que não tem filho -->\r\n <a\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div>\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text flex align-items-center justify-content-center p-0 h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usuário'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - (widthCard > 400 ? 105 : 83) + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menusFiltrados\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Olá, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usuário'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Gerênciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licença\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MenuComponent } from './menu.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { KvInputsModule } from '../inputs/kvinputs.module';\r\nimport { KvButtonsModule } from '../buttons/kvbutton.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MenuComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n KvInputsModule,\r\n KvButtonsModule\r\n ],\r\n exports: [\r\n MenuComponent\r\n ]\r\n})\r\nexport class KvMenuModule { }\r\n","import { FormsModule } from '@angular/forms';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PickListComponent } from './picklist.component';\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n PickListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n PickListComponent\r\n ]\r\n})\r\nexport class KvPickListModule { }\r\n","\r\nimport { Component, ContentChildren, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, Renderer2, TemplateRef, ViewChild } from '@angular/core';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { CodigoFipePipe, CpfCnpjPipe, KvMenuItem, TableConfig, TableConfigColumn, TablePaginate, TelefonePipe } from '../../public-api';\r\nimport { Table } from 'primeng/table';\r\nimport { TreeTable } from 'primeng/treetable';\r\nimport { DatePipe, DecimalPipe } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { TemplateDirective } from '../directives/template.directive';\r\n\r\n\r\ninterface Column {\r\n field: string;\r\n header: string;\r\n}\r\n\r\n@Component({\r\n selector: 'kv-treetable',\r\n templateUrl: './kv-treetable.component.html',\r\n styleUrls: ['./kv-treetable.component.scss'],\r\n})\r\nexport class TreeTableComponent implements OnInit {\r\n\r\n @Input() config!: TableConfig;\r\n @Input() dataSource!: TreeNode[];\r\n @Input() selectedItems: any[] = [];\r\n\r\n @Input() acoesLinhaTabela: boolean = true;\r\n\r\n @Input() tamanhoTotalTree!: number;\r\n @Input() rowsPerPageOptions!: number[];\r\n @Input() rows: number = 5;\r\n @Input() tableSize!: number;\r\n @Input() paginator: boolean = true;\r\n\r\n @Input() rightCollapse:boolean = false;\r\n @Input() applyStyle: Function = (rowData: any, col: TableConfigColumn) => '';\r\n\r\n @Input('templates') _templates!: any;\r\n @ContentChildren(TemplateDirective) templates!: QueryList<any>;\r\n @ViewChild('table', { static: false }) table!: Table;\r\n\r\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\r\n @Output() onPaginate: EventEmitter<any> = new EventEmitter();\r\n @Output() onActiveItem: EventEmitter<any> = new EventEmitter();\r\n @Output() onActiveItemLote: EventEmitter<any> = new EventEmitter();\r\n\r\n\r\n nodeContext = {$implicit: 'rowData', rowNode: 'rowNode'};\r\n\r\n selectedNodes!: TreeNode[];\r\n menuItems: KvMenuItem[] = [];\r\n imgDefault:string = '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';\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n private readonly decimalPipe: DecimalPipe,\r\n private readonly codigoFipePipe: CodigoFipePipe,\r\n private readonly cpfCnpjPipe: CpfCnpjPipe,\r\n private readonly telefonePipe: TelefonePipe,\r\n ) {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onGlobalFilter(table: TreeTable, event: Event) {\r\n this.onFilter.emit((event.target as HTMLInputElement).value);\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains');\r\n }\r\n\r\n public paginate($event: any) {\r\n if ($event) {\r\n let paginaInicial =\r\n ($event?.first > 0 ? $event.first / $event.rows : $event.first) + 1;\r\n let termoPesquisa = '';\r\n let ordenacao = '';\r\n\r\n if ($event.globalFilter) termoPesquisa = $event.globalFilter;\r\n\r\n if ($event.sortField)\r\n ordenacao = `${$event.sortField} ${$event.sortOrder === 1 ? 'ASC' : 'DESC'\r\n }`;\r\n\r\n const objeto: TablePaginate = {\r\n paginaInicial: paginaInicial,\r\n tamanhoPagina: $event.rows,\r\n termoPesquisa: termoPesquisa,\r\n ordenacao: ordenacao,\r\n };\r\n\r\n this.onPaginate.emit(objeto);\r\n }\r\n }\r\n\r\n isBooleanField(rowData: any, col: TableConfigColumn): boolean {\r\n return col.fieldType == 'boolean';\r\n }\r\n\r\n isChipField(col: TableConfigColumn): boolean {\r\n return col.fieldType == 'chip';\r\n }\r\n\r\n isImageField(col: TableConfigColumn): boolean {\r\n let retorno = col.fieldType && col.fieldType === 'image' ? true : false;\r\n return retorno;\r\n }\r\n returnRowClass(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n let rowClass: string;\r\n\r\n this.tableSize > 800 ? (rowClass = 'text-base') : (rowClass = 'text-sm');\r\n\r\n if (col.expiredDate == true) {\r\n new Date(value) < new Date()\r\n ? (rowClass = rowClass + ' text-red-400 font-semibold')\r\n : '';\r\n }\r\n return rowClass;\r\n }\r\n transformValue(rowData: any, col: TableConfigColumn) {\r\n let value = rowData[col.field];\r\n\r\n if (value != null) {\r\n if (!col.pipe) {\r\n return value;\r\n }\r\n\r\n switch (col.pipe) {\r\n case 'date':\r\n return this.datePipe.transform(value, 'dd/MM/yyyy');\r\n case 'decimal':\r\n return this.decimalPipe.transform(value, '1.2-2', 'pt-BR');\r\n case 'cpfcnpj':\r\n return this.cpfCnpjPipe.transform(value);\r\n case 'telefone':\r\n return this.telefonePipe.transform(value);\r\n case 'codigofipe':\r\n return this.codigoFipePipe.transform(value);\r\n case 'money':\r\n return this.formatarValor(value);\r\n case 'percentage':\r\n return `${value} %`;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n formatarValor(valor: number): string {\r\n const formatter = new Intl.NumberFormat('pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL',\r\n });\r\n\r\n return formatter.format(valor);\r\n }\r\n loadImage(rowData: any, col: TableConfigColumn): string {\r\n /*\r\n Nossa coluna de imagem trabalha com strings do tipo: base64 ou url\r\n */\r\n let retorno = `data:image/jpg;base64, ${this.imgDefault}`;\r\n if (rowData && col && rowData[col.field] && rowData[col.field] !== '') {\r\n if (rowData[col.field].includes('http'))\r\n retorno = rowData[col.field];\r\n else\r\n retorno = `data:image/jpg;base64, ${rowData[col.field]}`;\r\n }\r\n\r\n return retorno;\r\n }\r\n\r\n getCustomTemplate(templatename: string): TemplateRef<any> {\r\n return this._templates[templatename];\r\n }\r\n exibirCampo(field: any, rowData: any) {\r\n let visible = field.visible ? field.visible(rowData) : true;\r\n return visible;\r\n }\r\n public activeItem(rowNode: any ,rowData: any) {\r\n this.onActiveItem.emit({rowData: rowData, rowNode: rowNode});\r\n }\r\n public activeItemLote(rowData: any) {\r\n this.onActiveItemLote.emit(rowData);\r\n }\r\n\r\n retornarCampo(action: KvMenuItem, rowData: any, field: string): string {\r\n const _function = action.dynamicfields\r\n ? (action.dynamicfields[field] as Function)\r\n : null;\r\n const _field: string = _function\r\n ? _function.apply(action, [rowData])\r\n : action[field];\r\n return _field;\r\n }\r\n callDisabled(action: KvMenuItem, data: any): boolean {\r\n if (action?.disabled) {\r\n return action.disabled(data);\r\n }\r\n return false;\r\n }\r\n criarMenusModal(data: any) {\r\n if (this.config.actions && data) {\r\n const items = this.config.actions.map((action) => {\r\n const icon = this.retornarCampo(action, data, 'icon');\r\n const tooltip = this.retornarCampo(action, data, 'tooltip');\r\n const label = this.retornarCampo(action, data, 'label');\r\n const command: any = this.retornarCampo(action, data, 'command');\r\n const visible: boolean = action.visible ? action.visible(data) : true;\r\n const disabled: boolean = action.disabled\r\n ? action.disabled(data)\r\n : false;\r\n\r\n const menuInsert: KvMenuItem = {\r\n label,\r\n icon,\r\n tooltip,\r\n command,\r\n disabled,\r\n visible,\r\n };\r\n\r\n let item = this.menuItems.filter(\r\n (x) => x.command == menuInsert.command\r\n );\r\n\r\n if (item.length == 0) this.menuItems.push(menuInsert);\r\n else {\r\n if (menuInsert.label != item[0].label) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.visible != item[0].visible) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n\r\n if (menuInsert.disabled != item[0].disabled) {\r\n let index = this.menuItems.indexOf(item[0]);\r\n this.menuItems.splice(index, 1);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n recuperarRowNode(rowNode: any){\r\n return rowNode\r\n }\r\n\r\n}\r\n","<div>\r\n\r\n <p-treeTable #tt [value]=\"dataSource\" [columns]=\"config.columns\" [(selection)]=\"selectedItems\" [scrollable]=\"true\"\r\n selectionMode=\"checkbox\" [(selection)]=\"selectedNodes\" [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [paginator]=\"paginator\" [rows]=\"rows\" [totalRecords]=\"tamanhoTotalTree\" [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\">\r\n\r\n\r\n\r\n <ng-template pTemplate=\"caption\" *ngIf=\"config.enableSelect == true\">\r\n <div class=\"flex\">\r\n\r\n <p-treeTableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n\r\n <span class=\"ml-2\">Selecionar Todos</span>\r\n\r\n <div class=\"p-input-icon-left\" *ngIf=\"config.enableFilter\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText placeholder=\"Global Search\" (input)=\"onGlobalFilter(tt,$event)\" />\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th [style.width]=\"col.width\" *ngFor=\"let col of columns\" [ttSortableColumn]=\"col.sortable ? col.field : false\"\r\n [ttSortableColumnDisabled]=\"col.sortable == false\">\r\n\r\n\r\n <div [class]=\"'flex flex-row ml-2'\">\r\n {{ col.header }}\r\n\r\n <p-treeTableSortIcon *ngIf=\"col.sortable\" [field]=\"col.field\"></p-treeTableSortIcon>\r\n\r\n <span *ngIf=\"col.headerTooltip\" class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\">info</span>\r\n\r\n </div>\r\n </th>\r\n <th [style.width]=\"'20px'\" *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr [ttRow]=\"rowNode\">\r\n <td [style]=\"applyStyle(rowData, col)\" *ngFor=\"let col of config.columns; let i = index,\" class=\"rowTable\" >\r\n\r\n\r\n <!-- // Collapse -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"!rightCollapse && i == 0\"></p-treeTableToggler>\r\n <p-treeTableToggler class=\"hiddenVisible\" [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse && i == 0\"></p-treeTableToggler>\r\n\r\n\r\n <!-- // Checkbox para multiseleção-->\r\n <p-treeTableCheckbox (click)=\"activeItemLote(selectedItems)\" [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true && i === 0\"></p-treeTableCheckbox>\r\n\r\n <!-- // Campo com tipo booleano -->\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n\r\n <!-- // Campo com tipo padrão -->\r\n <span *ngIf=\"!isChipField(col) && !col.iconField && !isImageField(col) && !col.template\"\r\n [ngClass]=\"{'flex align-items-center max-w-max': i == config.columns.length-1}\">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n\r\n <!-- // Campo com tipo imagem -->\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <!-- // Campo com tipo de chip -->\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span class=\"p-element border-null border-round-2xl chip-style p-2 text-null w-auto\"\r\n [pTooltip]=\"rowData[col.field]\">{{\r\n transformValue(rowData, col)\r\n }} teste</span>\r\n </div>\r\n\r\n </span>\r\n\r\n\r\n <!-- // Template campo booleano -->\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n </ng-template>\r\n\r\n\r\n <!-- // Template campo personalizado -->\r\n <ng-container *ngIf=\"col.template && getCustomTemplate(col.template.name) \"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData, rowNodeLevel: rowNode.level }\">\r\n </ng-container>\r\n\r\n </td>\r\n\r\n\r\n\r\n <td *ngIf=\"config.actions && config.actions.length > 0 \" style=\"width: 20px;\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\">\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"acoesLinhaTabela\">\r\n <div *ngFor=\"let action of config.actions\">\r\n <button id=\"actionBtns\" pButton *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowNode, rowData); action?.command()\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\" [tooltipPosition]=\"'bottom'\"\r\n [disabled]=\"callDisabled(action, rowData)\">\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row justify-content-end w-full\" *ngIf=\"!acoesLinhaTabela\">\r\n <button id=\"moreVertBtn\" pButton class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowNode, rowData)\">\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 20px\">\r\n more_horiz\r\n </span>\r\n </button>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu #menu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></p-menu>\r\n\r\n <!-- :: Icone de collapse na direita :: -->\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"rightCollapse\"></p-treeTableToggler>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- :: Template para icone de collapse na direita -->\r\n <ng-template *ngIf=\"rightCollapse\" pTemplate=\"togglericon\" let-open>\r\n <span *ngIf=\"open\" class=\"pi pi-angle-left\"></span>\r\n <span *ngIf=\"!open\" class=\"pi pi-angle-down\"></span>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- :: Hotfix do bug da versão 15 do primeng, ao retirar esse bloco de codigo na versão 15 do primeng os icones de prev e next do paginator irão sumir ( resolvido na versão 16.0) :: -->\r\n\r\n <ng-template pTemplate=\"paginatorfirstpagelinkicon\">\r\n <span class=\"pi pi-angle-double-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorpreviouspagelinkicon\">\r\n <span class=\"pi pi-angle-left\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatornextpagelinkicon\">\r\n <span class=\"pi pi-angle-right\"></span>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorlastpagelinkicon\">\r\n <span class=\"pi pi-angle-double-right\"></span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + 2\" style=\"text-align: center\">\r\n Nenhum registro encontrado\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n </p-treeTable>\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TreeTableComponent } from './kv-treetable.component';\r\nimport { PrimeNgModule } from '../api/modules/primeng.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule,\r\n FormsModule\r\n ],\r\n declarations: [TreeTableComponent],\r\n exports: [TreeTableComponent]\r\n})\r\nexport class KVTreeTableModule { }\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n RendererFactory2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { OrgChart } from 'd3-org-chart';\r\nimport * as d3 from 'd3';\r\nimport OrgChartItem from '../api/components/chart/orchart.item';\r\nimport OrgChartConfig from '../api/components/chart/orchart.config';\r\n\r\n@Component({\r\n selector: 'kv-orgchart',\r\n templateUrl: './orgchart.component.html',\r\n styleUrls: ['./orgchart.component.scss',],\r\n})\r\nexport class OrgchartComponent implements OnInit {\r\n @ViewChild('chartContainer') chartContainer!: ElementRef;\r\n chart!: any;\r\n\r\n @Input() dataSource!: OrgChartItem[];\r\n @Input() config!: OrgChartConfig;\r\n @Input() template!: string;\r\n @Input() nodeTemplate!: TemplateRef<any>;\r\n @Input() templateFuncion: boolean = false;\r\n\r\n @Input() corDeFundo: string = 'red';\r\n\r\n compact: boolean = true;\r\n mostraMenu: boolean = false;\r\n\r\n\r\n @Input() generateTemplate: Function = (data: any, node: any, nodes: any[], index: number):string => '';\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (!this.chart) {\r\n this.chart = new OrgChart();\r\n }\r\n this.updateChart();\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateChart();\r\n }\r\n\r\n updateChart() {\r\n if (!this.dataSource) {\r\n return;\r\n }\r\n if (!this.chart) {\r\n return;\r\n }\r\n\r\n\r\n\r\n const chartContainer = this.chartContainer.nativeElement;\r\n this.chart\r\n .container(chartContainer)\r\n .data(this.dataSource)\r\n .nodeWidth(() => this.config.cardWidht)\r\n .nodeHeight(() => this.config.cardHeight)\r\n .nodeUpdate(function (d:any) {\r\n })\r\n .linkUpdate((node:any, index:any, nodes:any)=> {\r\n d3.select(nodes[index])\r\n .attr('stroke-width', this.config.conectionWidth || '2px')\r\n .style('stroke', this.config.connectionColor || '#d6d6d6').style('backgroundColor', 'red')\r\n })\r\n .nodeContent((d: any) => {\r\n\r\n\r\n if(!this.templateFuncion){\r\n if(d.data.template){\r\n const jsTemplate = this.stringToTemplateLiteral(d.data.template);\r\n var templateConverter = new Function('data', 'return' + jsTemplate);\r\n var x = templateConverter(d.data.data);\r\n }else{\r\n const jsTemplate = this.stringToTemplateLiteral(this.config.templateItem);\r\n var templateConverter = new Function('data', 'return' + jsTemplate);\r\n var x = templateConverter(d.data.data);\r\n }\r\n }else{\r\n var x = this.generateTemplate(d)\r\n\r\n }\r\n return x;\r\n })\r\n .defaultFont('Roboto')\r\n .render()\r\n\r\n\r\n }\r\n stringToTemplateLiteral(string: string): string {\r\n const convertedTemplate = string.replace(\r\n /\\{\\{([^}]*)\\}\\}/g,\r\n '${$1}'\r\n );\r\n\r\n return '`' + convertedTemplate + '`';\r\n }\r\n compactSwap() {\r\n this.compact = !this.compact;\r\n this.chart.compact(this.compact).render();\r\n }\r\n}\r\n","<div #chartContainer id=\"chartContainer\" [ngClass]=\"{'backGround': true}\">\r\n\r\n\r\n <div class=\"div-botoes w-full flex gap-1\" >\r\n\r\n\r\n <span *ngIf=\"!mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Expandir menu\">menu</span>\r\n\r\n\r\n\r\n <span *ngIf=\"mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Recolher menu\">menu_open</span>\r\n\r\n <div *ngIf=\"mostraMenu\">\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomIn()\" pTooltip=\"Zoom +\">zoom_in</span>\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomOut()\" pTooltip=\"Zoom -\">zoom_out</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.collapseAll()\" pTooltip=\"Expandir\">expand_less</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.expandAll()\" pTooltip=\"Recolher\">expand_more</span>\r\n\r\n\r\n <!-- <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"compactSwap()\" pTooltip=\"Compactar\">cached</span> -->\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fit().render()\" pTooltip=\"Centralizar\">\r\n filter_center_focus\r\n </span>\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fullscreen('#chartContainer')\" pTooltip=\"Tela cheia\" >\r\n fullscreen\r\n </span>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrgchartComponent } from './orgchart.component';\r\nimport { PrimeNgModule } from '../../public-api';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PrimeNgModule\r\n ],\r\n declarations: [OrgchartComponent],\r\n exports: [OrgchartComponent]\r\n})\r\nexport class OrgchartModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { KvButtonsModule } from './buttons/kvbutton.module';\r\nimport { KvInputsModule } from './inputs/kvinputs.module';\r\nimport { KvTableModule } from './table/kvtable.module';\r\nimport { KvtreeViewModule } from './tree-view/kvtree-view.module';\r\nimport { KvChartModule } from './chart/kvchart.module';\r\nimport { KvMenuModule } from './menu/kvmenu.module';\r\nimport { KvPickListModule } from './picklist/kvpicklist.module';\r\nimport { KVTreeTableModule } from './tree-table/kv-treetable.module';\r\nimport { OrgchartModule } from './orgchart/orgchart.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n KvInputsModule,\r\n KvButtonsModule,\r\n KvTableModule,\r\n KvtreeViewModule,\r\n KvChartModule,\r\n KvMenuModule,\r\n KvPickListModule,\r\n KVTreeTableModule,\r\n OrgchartModule\r\n ],\r\n exports: [\r\n KvInputsModule,\r\n KvButtonsModule,\r\n KvTableModule,\r\n KvtreeViewModule,\r\n KvChartModule,\r\n KvMenuModule,\r\n KvPickListModule,\r\n KVTreeTableModule,\r\n OrgchartModule\r\n ]\r\n})\r\nexport class KeevoComponentsModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { CpfCnpjPipe } from './cpfcnpj.pipe';\r\nimport { TelefonePipe } from './telefone.pipe';\r\nimport { CodigoFipePipe } from './codigofile.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n CpfCnpjPipe,\r\n TelefonePipe,\r\n CodigoFipePipe\r\n ],\r\n exports: [\r\n CpfCnpjPipe,\r\n TelefonePipe,\r\n CodigoFipePipe\r\n ]\r\n})\r\nexport class PipesModule { }\r\n","import { PrimeNGConfig } from 'primeng/api';\r\n\r\nexport class TranslatePrimeng {\r\n public config(config: PrimeNGConfig): void {\r\n config.ripple = true;\r\n\r\n config.setTranslation({\r\n monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],\r\n monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\r\n dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabádo'],\r\n dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\r\n dayNamesMin: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\r\n today: 'Hoje',\r\n weekHeader: 'Semana',\r\n emptyMessage: 'Nenhum resultado encontrado',\r\n emptyFilterMessage: 'Nenhum registro encontrado com o filtro informado',\r\n weak: 'Fraca',\r\n medium: 'Média',\r\n strong: 'Forte',\r\n passwordPrompt: 'Informe a senha',\r\n clear: 'Limpar',\r\n apply: 'Aplicar'\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ConfirmationService, MessageService } from \"primeng/api\";\r\n\r\n\r\nexport interface QuestionConfig {\r\n type?: 'question' | 'alert';\r\n message: string;\r\n accept?: Function;\r\n reject?: Function;\r\n}\r\n\r\nexport interface DialogConfig {\r\n type: 'info' | 'alert' | 'error';\r\n message: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationService {\r\n constructor(\r\n private readonly confirmationService: ConfirmationService,\r\n private readonly messageService: MessageService,\r\n ) { }\r\n\r\n question(config: QuestionConfig) {\r\n this.confirmationService.confirm({\r\n header: config.type === 'alert' ? 'Atenção' : 'Confirmação',\r\n icon: `pi ${config.type === 'alert' ? 'pi-exclamation-triangle' : 'pi-question-circle'}`,\r\n acceptLabel: 'Sim',\r\n acceptButtonStyleClass: 'p-button-success',\r\n rejectLabel: 'Não',\r\n rejectButtonStyleClass: 'p-button-secondary',\r\n ...config,\r\n });\r\n }\r\n\r\n dialog(config: DialogConfig) {\r\n let dialogHeader: string;\r\n let dialogIcon: string;\r\n\r\n switch (config.type) {\r\n case 'alert':\r\n dialogHeader = 'Atenção';\r\n dialogIcon = 'pi pi-exclamation-triangle';\r\n break;\r\n case 'info':\r\n dialogHeader = 'Info';\r\n dialogIcon = 'pi pi-info-circle';\r\n break;\r\n case 'error':\r\n dialogHeader = 'Erro';\r\n dialogIcon = 'pi pi-times-circle';\r\n break;\r\n }\r\n\r\n this.confirmationService.confirm({\r\n header: dialogHeader,\r\n icon: dialogIcon,\r\n acceptLabel: 'Ok',\r\n acceptButtonStyleClass: 'p-button-success',\r\n rejectVisible: false,\r\n message: config.message,\r\n });\r\n }\r\n\r\n toastSuccess(message: string) {\r\n this.messageService.add({ severity: 'success', summary: 'Sucesso', detail: message });\r\n }\r\n\r\n toastInfo(message: string) {\r\n this.messageService.add({ severity: 'info', summary: 'Info', detail: message });\r\n }\r\n\r\n toastWarn(message: string) {\r\n this.messageService.add({ severity: 'warn', summary: 'Aviso', detail: message });\r\n }\r\n\r\n toastError(message: string) {\r\n this.messageService.add({ severity: 'error', summary: 'Erro', detail: message });\r\n }\r\n}\r\n","export class TablePaginate {\r\n paginaInicial: number = 1;\r\n tamanhoPagina: number = 10;\r\n termoPesquisa: string = '';\r\n ordenacao: string = '';\r\n}\r\n","import { MenuItem } from \"primeng/api/menuitem\";\r\n\r\nexport interface KvMenuItem extends MenuItem {\r\n\tdynamicfields?: any;\r\n\t[key: string]: any;\r\n\tfieldcondition?: string;\r\n\tshowAcoesLote?: boolean;\r\n\tdisabled?: any;\r\n\tvisible?: any;\r\n};\r\n","/*\r\n * Public API Surface of keevo-components\r\n */\r\n\r\nexport * from './lib/inputs/check/check.component';\r\nexport * from './lib/inputs/dropdown/dropdown.component';\r\nexport * from './lib/inputs/input-calendar/input-calendar.component';\r\nexport * from './lib/inputs/input-mask/input-mask.component';\r\nexport * from './lib/inputs/input-number/input-number.component';\r\nexport * from './lib/inputs/input-password/input-password.component';\r\nexport * from './lib/inputs/input-text/input-text.component';\r\nexport * from './lib/inputs/input-textarea/input-textarea.component';\r\nexport * from './lib/inputs/input-time/input-time.component';\r\nexport * from './lib/inputs/multi-select/multi-select.component';\r\nexport * from './lib/inputs/radio-group/radio-group.component';\r\n\r\nexport * from './lib/inputs/switch/switch.component';\r\nexport * from './lib/buttons/button-secondary/button-secondary.component';\r\nexport * from './lib/buttons/button-success/button-success.component';\r\nexport * from './lib/buttons/button-personalize/button-personalize.component';\r\nexport * from './lib/api/components/error/error.component';\r\nexport * from './lib/api/base-components/base-component';\r\nexport * from './lib/api/base-components/base-component-button';\r\nexport * from './lib/api/base-components/base-component-dropdown';\r\nexport * from './lib/api/base-components/base-component-input';\r\nexport * from './lib/api/base-components/base-component-chart';\r\nexport * from './lib/api/base-components/base-component-multi-select';\r\nexport * from './lib/table/table.component';\r\nexport * from './lib/tree-view/tree-view.component';\r\nexport * from './lib/chart/chart.component';\r\nexport * from './lib/picklist/picklist.component';\r\n\r\nexport * from './lib/keevo-components.module';\r\nexport * from './lib/buttons/kvbutton.module';\r\nexport * from './lib/inputs/kvinputs.module';\r\nexport * from './lib/api/components/error/kverror.module';\r\nexport * from './lib/table/kvtable.module';\r\nexport * from './lib/tree-view/kvtree-view.module';\r\nexport * from './lib/pipes/pipes.module'\r\nexport * from './lib/api/modules/primeng.module';\r\nexport * from './lib/chart/kvchart.module';\r\nexport * from './lib/menu/kvmenu.module';\r\nexport * from './lib/picklist/kvpicklist.module';\r\n\r\nexport * from './lib/pipes/codigofile.pipe'\r\nexport * from './lib/pipes/cpfcnpj.pipe'\r\nexport * from './lib/pipes/telefone.pipe'\r\n\r\nexport * from './lib/api/helpers/component-providers';\r\nexport * from './lib/api/helpers/translate-primeng';\r\nexport * from './lib/api/services/component.service';\r\nexport * from './lib/api/services/object.service';\r\nexport * from './lib/api/services/notification.service';\r\nexport * from './lib/api/components/table/table.paginate';\r\nexport * from './lib/api/components/table/action-item';\r\nexport * from './lib/api/components/table/table.config';\r\nexport * from './lib/api/components/table/table.config.column';\r\nexport * from './lib/api/components/table/kv-menuitem';\r\nexport * from './lib/api/components/dropdown/filtro.combo';\r\nexport * from './lib/api/components/chart/chart.config';\r\nexport * from './lib/api/components/chart/chart.model';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/tree-table/kv-treetable.component'\r\nexport * from './lib/tree-table/kv-treetable.module'\r\nexport * from './lib/orgchart/orgchart.component'\r\nexport * from './lib/orgchart/orgchart.module'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ComponentService","i3.ErrorComponent","i2","i3","i4","i5.ErrorComponent","i6","i7","i4.ErrorComponent","i5","i1","i2.CodigoFipePipe","i3.CpfCnpjPipe","i4.TelefonePipe","i8","i9","i10","i11","i12","i13","i15","i14","i16.ButtonSuccessComponent","i2.CpfCnpjPipe","i2.TelefonePipe"],"mappings":"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"}