@apipass/inputs 1.0.199 → 1.0.201

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":"apipass-inputs.mjs","sources":["../../../projects/inputs/src/value-acessor-base.ts","../../../projects/inputs/src/select-enum/select-enum.component.ts","../../../projects/inputs/src/select-enum/select-enum.component.html","../../../projects/inputs/src/input-text/input-text.component.ts","../../../projects/inputs/src/input-text/input-text.component.html","../../../projects/inputs/src/input-avatar/input-avatar.component.ts","../../../projects/inputs/src/input-avatar/input-avatar.component.html","../../../projects/inputs/src/field/field.component.ts","../../../projects/inputs/src/select-box/select-box.component.ts","../../../projects/inputs/src/select-box/select-box.component.html","../../../projects/inputs/src/select-box/mat-select-infinite-scroll.directive.ts","../../../projects/inputs/src/custom-select/custom-select-item.ts","../../../projects/inputs/src/custom-select/custom-select.component.ts","../../../projects/inputs/src/custom-select/custom-select.component.html","../../../projects/inputs/src/input-file/input-file.component.ts","../../../projects/inputs/src/input-file/input-file.component.html","../../../projects/inputs/src/ace-editor/component.ts","../../../projects/inputs/src/ace-editor/directive.ts","../../../projects/inputs/src/input-number/input-number.component.ts","../../../projects/inputs/src/input-number/input-number.component.html","../../../projects/inputs/src/input-boolean/input-boolean.component.ts","../../../projects/inputs/src/input-boolean/input-boolean.component.html","../../../projects/inputs/src/debounce-model-directive/debouceInput.directive.ts","../../../projects/inputs/src/select-interpolation/select-interpolation.component.ts","../../../projects/inputs/src/select-interpolation/select-interpolation.component.html","../../../projects/inputs/src/input-image/input-image.component.ts","../../../projects/inputs/src/input-image/input-image.component.html","../../../projects/inputs/src/input-date-time-interval/model/date-time-internal.model.ts","../../../projects/inputs/src/input-date-time-interval/input-date-time-interval.component.ts","../../../projects/inputs/src/input-date-time-interval/input-date-time-interval.component.html","../../../projects/inputs/src/input-key-value/key-value-input.component.ts","../../../projects/inputs/src/input-key-value/key-value-input.component.html","../../../projects/inputs/src/ace-editor-input/ace-editor-input.component.ts","../../../projects/inputs/src/ace-editor-input/ace-editor-input.component.html","../../../projects/inputs/src/inputs.module.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/current-month-interval.ts","../../../projects/inputs/src/input-date-time-interval/builder/time-intervals.builder.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-hour-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-minute-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-one-week-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-ten-minutes-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-thirty-minutes-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/today-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-five-minutes-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-two-hours-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-three-hours-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-month-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/this-year-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/this-week-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-year-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/yesterday-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-quarter-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/this-quarter-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-twenty-four-hours-interval.ts","../../../projects/inputs/src/input-date-time-interval/builder/default-intervals.builder.ts","../../../projects/inputs/src/input-date-time-interval/builder/time-interval-value.builder.ts","../../../projects/inputs/src/input-date-time-interval/public-api.ts","../../../projects/inputs/src/apipass-inputs.ts"],"sourcesContent":["import { ControlValueAccessor } from '@angular/forms'\n\nexport abstract class ValueAccessorBase<T> implements ControlValueAccessor {\n\n private innerValue: any\n\n public onChange: any = () => {}\n public onTouched: any = () => {}\n\n get value (): T {\n return this.innerValue\n }\n\n set value (value: T) {\n value = this.changeValue(value)\n this.innerValue = value\n this.onChange(value)\n this.onTouched()\n }\n\n protected changeValue (value: T): T {\n return value\n }\n\n writeValue (value: T): void {\n this.innerValue = value\n }\n\n registerOnChange (fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched (fn: any): void {\n this.onTouched = fn\n }\n\n touch (): void {\n this.onTouched.forEach((f: () => any) => f())\n }\n\n}\n","import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'select-enum',\n templateUrl: 'select-enum.component.html',\n styleUrls: ['select-enum.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectEnumComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectEnumComponent extends ValueAccessorBase<string> {\n\n private _data: any;\n\n @Input() public placeholder = 'Selecione'\n @Input() public findPlaceHolder = 'Find item'\n @Input() public enabledSearch = true\n @Input() public disabled = false\n\n @Input() set data (data: any) {\n this._data = data ? Object.entries(data).map(([key, value]) => ({ key, value })) : {};\n }\n\n get data (): any {\n return this._data\n }\n\n public search = ''\n\n onKeyDown (event: any): void {\n if (event.which === 32) { event.target.value += ' ' }\n event.stopPropagation()\n }\n\n}\n","<mat-form-field class=\"apipass-select apipass-select-enum\" appearance=\"outline\" >\n <mat-label *ngIf=\"placeholder\">{{placeholder}}</mat-label>\n <mat-select [(ngModel)]=\"value\" [disabled]=\"disabled\" (click)=\"search = ''\" panelClass=\"select-enum-panel\">\n <mat-option class=\"mat-select-input\" *ngIf=\"enabledSearch\" (keydown)=\"onKeyDown($event)\" disabled=\"disabled\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"search\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </mat-option>\n <mat-option *ngFor=\"let enumData of data | selectEnumFilter: search\" [value]=\"enumData.key\">{{ enumData.value }}</mat-option>\n </mat-select>\n</mat-form-field>\n","import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { isNumber } from 'lodash';\nimport { DndDropEvent } from 'ngx-drag-drop';\n\nexport interface InputOptionsType {\n value: string\n title: string\n}\n\n@Component({\n selector: 'input-text',\n templateUrl: 'input-text.component.html',\n styleUrls: ['input-text.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputTextComponent extends ValueAccessorBase<string> {\n\n private _inputOptionsInitSelected: string\n private _inputOptions: InputOptionsType[] = []\n\n @Input() componentId: string\n @Input() label = ''\n @Input() disabled = false\n @Input() iconSuffix = ''\n @Input() iconPrefix = ''\n @Input() autoComplete = 'on'\n @Input() size: 'DEFAULT' | 'SLIM' = 'DEFAULT'\n @Input() debounceTime: number = 0\n @Input() widthPercentageInputOptions: any = 10\n @Input() valueOptionsOnly: boolean = false\n\n @Input()\n set inputOptions(inputOptions: InputOptionsType[]) {\n this._inputOptions = inputOptions\n }\n\n get inputOptions(): InputOptionsType[] {\n return this._inputOptions\n }\n\n @Input()\n set inputOptionsInitSelected(inputOptionsInitSelected: string) {\n this._inputOptionsInitSelected = inputOptionsInitSelected\n }\n\n get inputOptionsInitSelected(): string {\n return this._inputOptionsInitSelected\n }\n\n @Output() public suffixIconClick: EventEmitter<boolean> = new EventEmitter<boolean>()\n @Output() public prefixIconClick: EventEmitter<boolean> = new EventEmitter<boolean>()\n @Output() public onDebounce: EventEmitter<string> = new EventEmitter<string>()\n @Output() public optionChanged: EventEmitter<string> = new EventEmitter<string>()\n @Output() public onDropEvent: EventEmitter<DndDropEvent> = new EventEmitter<DndDropEvent>()\n\n private readonly searchTerms: Subject<string> = new Subject<string>()\n\n public ngOnInit(): void {\n this.searchTerms.pipe(\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n ).subscribe((value) => {\n this.onDebounce.emit(value)\n });\n if (!this.valueOptionsOnly) {\n this.inputOptionsInitSelected ||= this.inputOptions?.[0]?.value\n }\n }\n\n public onSearchInput(): void {\n if (this.debounceTime) {\n this.searchTerms.next(this.value)\n }\n }\n\n public prefixClick(): void {\n this.prefixIconClick.emit(true)\n }\n\n public suffixClick(): void {\n this.suffixIconClick.emit(true)\n }\n\n public isSlim(): boolean {\n return this.size === 'SLIM'\n }\n\n public isDefault(): boolean {\n return this.size === 'DEFAULT'\n }\n\n public widthInput(): number {\n if (this.valueOptionsOnly && this.inputOptions.length > 0) {\n return 0\n }\n if (isNumber(this.widthPercentageInputOptions)) {\n return this.inputOptions.length > 0 ? 100 - this.widthPercentageInputOptions : 100\n }\n return 100\n }\n\n public onOptionSelected(event: any): void {\n this.optionChanged.emit(event.value)\n }\n\n public getSelectWidth(): string {\n if (this.valueOptionsOnly && this.inputOptions.length > 0) {\n return '100%'\n }\n if (isNumber(this.widthPercentageInputOptions)) {\n return `${this.widthPercentageInputOptions}%`\n }\n return this.widthPercentageInputOptions;\n }\n\n public onDrop($event: DndDropEvent): void {\n this.onDropEvent.emit($event)\n }\n\n public getComponentId(suffix: string): string {\n return this.componentId ? `${this.componentId}-${suffix}` : undefined\n }\n\n}\n","<mat-form-field\n class=\"apipass-input-text\"\n [ngClass]=\"{'apipass-input-text-slim': isSlim(), 'apipass-input-text': isDefault(), 'outer-options-only': (valueOptionsOnly && inputOptions.length > 0)}\"\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n appearance=\"outline\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" [ngClass]=\"{'mat-icon-slim': isSlim()}\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input *ngIf=\"!(valueOptionsOnly && inputOptions.length > 0)\"\n [id]=\"getComponentId('input')\" matInput type=\"text\" class=\"input-text\" [ngStyle]=\"{ width: widthInput() + '%' }\" [(ngModel)]=\"value\"\n [disabled]=\"disabled\" [autocomplete]=\"autoComplete\"\n (input)=\"onSearchInput()\" />\n <div *ngIf=\"this.inputOptions.length > 0\" class=\"select-container\"\n [ngStyle]=\"{ width: getSelectWidth() }\" [ngClass]=\"{ 'select-container': isDefault(),\n 'select-container-slim':isSlim(), 'options-only': (valueOptionsOnly && inputOptions.length > 0) }\">\n <mat-form-field [ngClass]=\"{'apipass-input-text-slim': isSlim(), 'apipass-input-text': isDefault()}\">\n <mat-select [id]=\"getComponentId('select')\" [(value)]=\"inputOptionsInitSelected\" (selectionChange)=\"onOptionSelected($event)\">\n <mat-option *ngFor=\"let item of inputOptions\" [value]=\"item.value\">{{item.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <mat-icon class=\"mat-icon-suffix\" [ngClass]=\"{'mat-icon-slim': isSlim()}\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'input-avatar',\n templateUrl: 'input-avatar.component.html',\n styleUrls: ['input-avatar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputAvatarComponent {\n\n @Input() avatarFormData: FormData = new FormData()\n @Input() avatarUrl: string | ArrayBuffer | null = 'assets/images/no-image.png'\n @Input() imageAlt = 'Avatar'\n @Input() imageTitle = ''\n @Input() accept = 'image/png, image/jpeg'\n\n @Input() canRemove = false\n @Input() removeTitle = ''\n\n @Input() canUpload = false\n @Input() uploadTitle = ''\n\n @Input() canModify = false\n @Input() modifyTitle = ''\n\n @Input() imageBorderRadius = '50%'\n @Input() width = '65px'\n @Input() height = '65px'\n @Input() iconFontSize = '16px'\n\n @Output() public onFileChanged = new EventEmitter<{ avatarUrl: string | ArrayBuffer | null, avatarFormData: FormData }>()\n\n public hasImage (): boolean {\n return this.avatarUrl !== 'assets/images/no-image.png'\n }\n\n public canAction (): boolean {\n return this.canRemove || this.canModify || this.canUpload\n }\n\n public fileChange (event: any): void {\n const fileList: FileList = event.target.files\n if (fileList.length > 0) {\n const file: File = fileList[0]\n this.avatarFormData = new FormData()\n this.avatarFormData.append('file', file, file.name)\n if (!file.type.match(/image\\/*/)) {\n return\n }\n const reader = new FileReader()\n reader.readAsDataURL(fileList[0])\n reader.onload = () => {\n this.avatarUrl = reader.result\n this.emitChangeEvent()\n }\n }\n }\n\n removeClick (): void {\n this.avatarFormData = new FormData()\n this.avatarUrl = 'assets/images/no-image.png'\n this.emitChangeEvent()\n }\n\n private emitChangeEvent (): void {\n this.onFileChanged.emit({ avatarUrl: this.avatarUrl, avatarFormData: this.avatarFormData })\n }\n\n}\n","<div class=\"input-avatar\" [ngStyle]=\"{'width': width, 'height': height}\">\n <img loading=\"lazy\" [src]=\"avatarUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%', 'border-radius': imageBorderRadius}\"/>\n <div class=\"image-backdrop\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\"></div>\n <div class=\"image-actions\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\">\n <icon *ngIf=\"!hasImage() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasImage() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasImage() && canRemove\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n <input #actionFile id=\"action-icon\" type=\"file\" accept=\"{{accept}}\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n</div>\n","import { Component, Input } from '@angular/core'\nimport { AbstractControl, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-field',\n template: `\n <div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"label-text\" *ngIf=\"label\">{{ label }}</label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n\n <span *ngIf=\"state && !state.valid && !state.pristine && state.touched && state.errors\" class=\"help-block text-danger\">\n <span *ngIf=\"state.hasError('required')\">Este campo é obrigatório</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('validateEmail')\">E-mail inválido</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('minlength')\">Tamanho mínimo inválido</span>\n </span>\n </div>\n `\n})\nexport class FieldComponent {\n\n /**\n * Texto para label do Input\n */\n @Input() label = ''\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | AbstractControl | undefined\n\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n type OnDestroy,\n type OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { Subject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'select-box',\n templateUrl: 'select-box.component.html',\n styleUrls: ['select-box.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectBoxComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectBoxComponent extends ValueAccessorBase<any> implements OnInit, OnDestroy {\n\n @Input() public placeholder = 'Select Item'\n @Input() public searchPlaceHolder = 'Search'\n @Input() public clearText = 'Clear'\n @Input() public notFoundText = 'No Items Found'\n @Input() public enabledSearch = true\n @Input() public data: any[] = []\n @Input() public disabled = false\n @Input() public selectedItem: any\n @Input() public selectProperty: any\n\n @Input() public bindImageUrl = ''\n @Input() public bindKey = ''\n @Input() public bindValue = ''\n\n @Input() public limitItens = 30\n\n @Input() public showAddNewItem = false\n @Input() public addNewItemText = 'Add New Item'\n @Input() public addNewItemIcon = ''\n @Input() public addNewItemClickCloseSelect = false\n\n @Input() public closeOnBodyScroll = false\n\n @Input() public initializing = false\n @Input() public loadingText = 'Loading...'\n\n @Output() public onOpenSelectBox = new EventEmitter<any>()\n @Output() public onCloseSelectBox = new EventEmitter<any>()\n @Output() public onSelectChange = new EventEmitter<any>()\n @Output() public onSelectClear = new EventEmitter<any>()\n @Output() public onAddNewItemClick = new EventEmitter<any>()\n\n @ViewChild('ngSelectComponent')\n public ngSelectComponent: NgSelectComponent | undefined\n\n public visibleItens: any[] = []\n public loading = false\n public inputFilter = new Subject<string>()\n public lastSearchTerm = ''\n\n ngOnInit (): void {\n this.onSearch()\n if (this.closeOnBodyScroll) {\n window.addEventListener('scroll', this.onBodyScroll, true)\n }\n }\n\n private readonly onBodyScroll = (event: any): void => {\n if (this.closeOnBodyScroll && this.ngSelectComponent?.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string)?.includes('ng-dropdown-panel-items')\n if (isScrollingInScrollHost) {\n return\n }\n this.ngSelectComponent.close()\n }\n }\n\n ngOnDestroy (): void {\n if (this.closeOnBodyScroll) {\n window.removeEventListener('scroll', this.onBodyScroll, true)\n }\n }\n\n onSearch (): void {\n this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe((searchString: string) => {\n this.loading = true\n this.lastSearchTerm = searchString\n if (searchString && this.data) {\n this.visibleItens = this.data.filter(\n item => item[this.bindValue]?.toString().toLowerCase().includes(searchString.toLowerCase())\n ).slice(0, this.limitItens)\n } else if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens)\n } else {\n this.visibleItens = []\n }\n setTimeout(() => {\n this.loading = false\n }, 300)\n })\n }\n\n onScroll ({ end }): void {\n const data = this.lastSearchTerm\n ? this.data.filter(\n item => item[this.bindValue]?.toString().toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n )\n : this.data\n if (this.loading || data.length <= this.visibleItens.length) {\n return\n }\n if (end + 5 >= this.visibleItens.length) {\n this.fetchMore()\n }\n }\n\n onScrollToEnd (): void {\n if (this.loading) {\n return\n }\n this.fetchMore()\n }\n\n fetchMore (): void {\n this.loading = true\n const len = this.visibleItens.length\n const more = this.lastSearchTerm\n ? this.data.filter(\n item => item[this.bindValue]?.toString().toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ).slice(len, this.limitItens + len)\n : this.data.slice(len, this.limitItens + len)\n this.visibleItens = this.visibleItens.concat(more)\n this.loading = false\n }\n\n onKeyDown (event: any): void {\n if (event.which === 32) {\n event.target.value += ' '\n }\n event.stopPropagation()\n }\n\n onSelectionChange (event: Event): void {\n this.findSelectedItem(this.value)\n this.onSelectChange.emit(this.selectedItem)\n }\n\n openSelectBox ($event: any): void {\n this.visibleItens = []\n if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens)\n }\n this.onOpenSelectBox.next(undefined)\n }\n\n public compareFn (a: any, b: any): boolean {\n return a[this.bindKey] === b[this.bindKey]\n }\n\n onClear (): void {\n this.onSelectClear.next(undefined)\n }\n\n onClose ($event?: any): void {\n this.onCloseSelectBox.next(undefined)\n }\n\n onAddNewItem (): void {\n if (this.addNewItemClickCloseSelect) {\n this.ngSelectComponent?.close()\n }\n this.onAddNewItemClick.next(undefined)\n }\n\n writeValue (value: any): void {\n super.writeValue(value)\n if (value) {\n this.findSelectedItem(value)\n }\n }\n\n findSelectedItem (value: any): void {\n if (this.selectProperty) {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value)\n } else if (value) {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value[this.bindKey])\n } else {\n this.selectedItem = null\n }\n }\n\n}\n","<ng-select #ngSelectComponent\n [(ngModel)]=\"value\"\n [items]=\"visibleItens\"\n [virtualScroll]=\"true\"\n [loading]=\"loading || initializing\"\n [loadingText]=\"loadingText\"\n [placeholder]=\"placeholder\"\n [clearAllText]=\"clearText\"\n [searchable]=\"enabledSearch\"\n [typeToSearchText]=\"searchPlaceHolder\"\n (open)=\"openSelectBox($event)\"\n (close)=\"onClose($event)\"\n (clear)=\"onClear()\"\n [notFoundText]=\"notFoundText\"\n [disabled]=\"disabled\"\n appendTo=\"body\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n (change)=\"onSelectionChange($event)\"\n [typeahead]=\"inputFilter\"\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\n [compareWith]=\"compareFn\"\n [bindValue]=\"selectProperty\">\n\n <ng-template *ngIf=\"selectProperty && selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 30px;height: 30px; margin-right: 10px;\"\n *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"selectedItem[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"selectedItem[bindValue]\"\n [matTooltip]=\"selectedItem[bindValue]\"\n style=\"width: auto;max-width: 30px;height: 30px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\">{{selectedItem[bindValue]}}</span>\n </ng-template>\n\n <ng-template *ngIf=\"!selectProperty && value && value[bindKey] && value[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 30px;height: 30px; margin-right: 10px;\"\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"value[bindValue]\"\n [matTooltip]=\"value[bindValue]\"\n style=\"width: auto;max-width: 30px;height: 30px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\n </ng-template>\n\n <ng-template ng-header-tmp *ngIf=\"this.showAddNewItem\">\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <div class=\"image\" style=\"width: 30px;height: 30px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"item[bindValue]\"\n [matTooltip]=\"item[bindValue]\"\n style=\"width: auto;max-width: 30px;height: 30px;\"\n />\n </div>\n <span class=\"select-text-element\"\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\n </ng-template>\n\n</ng-select>\n","import { AfterViewInit, Directive, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output } from '@angular/core'\nimport { MatSelect } from '@angular/material/select'\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators'\nimport { fromEvent, Subject } from 'rxjs'\n\n/** The height of the select items in `em` units. */\nconst SELECT_ITEM_HEIGHT_EM = 3\n\n@Directive({\n selector: '[msInfiniteScroll]'\n})\nexport class MatSelectInfiniteScrollDirective implements OnInit, OnDestroy, AfterViewInit {\n\n @Input() threshold = '15%'\n @Input() debounceTime = 150\n @Input() complete!: boolean\n @Output() infiniteScroll = new EventEmitter<void>()\n\n private panel!: Element\n private thrPx = 0\n private thrPc = 0\n private singleOptionHeight = SELECT_ITEM_HEIGHT_EM\n\n private readonly destroyed$ = new Subject<boolean>()\n\n constructor (private readonly matSelect: MatSelect, private readonly ngZone: NgZone) {\n }\n\n ngOnInit (): void {\n this.evaluateThreshold()\n }\n\n ngAfterViewInit (): void {\n this.matSelect.openedChange.pipe(\n takeUntil(this.destroyed$)\n ).subscribe((opened) => {\n if (opened) {\n this.panel = this.matSelect.panel.nativeElement\n this.singleOptionHeight = this.getSelectItemHeightPx()\n this.registerScrollListener()\n }\n })\n }\n\n ngOnDestroy (): void {\n this.destroyed$.next(true)\n this.destroyed$.complete()\n }\n\n evaluateThreshold (): void {\n if (this.threshold.lastIndexOf('%') > -1) {\n this.thrPx = 0\n this.thrPc = (parseFloat(this.threshold) / 100)\n } else {\n this.thrPx = parseFloat(this.threshold)\n this.thrPc = 0\n }\n }\n\n registerScrollListener (): void {\n fromEvent(this.panel, 'scroll').pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime),\n tap((event) => {\n this.handleScrollEvent(event)\n })\n ).subscribe()\n }\n\n handleScrollEvent (event: any): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.complete) {\n return\n }\n const countOfRenderedOptions = this.matSelect.options.length\n const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions\n const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx\n\n const scrolledDistance = this.panel.clientHeight + event.target.scrollTop\n\n if ((scrolledDistance + threshold) >= infiniteScrollDistance) {\n this.ngZone.run(() => { this.infiniteScroll.emit() })\n }\n })\n }\n\n getSelectItemHeightPx (): number {\n return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM\n }\n\n}\n","export class CustomSelectItem {\n\n public id: string | undefined | null\n public text: string\n public data?: any\n\n constructor (id: string | undefined | null, text: string, data?: any) {\n this.id = id\n this.text = text\n this.data = data\n }\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { CustomSelectItem } from './custom-select-item'\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay'\n\n@Component({\n selector: 'custom-select',\n templateUrl: 'custom-select.component.html',\n styleUrls: ['custom-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomSelectComponent),\n multi: true\n }]\n\n})\nexport class CustomSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n\n private _currentAuthorizationId: string\n private _items: CustomSelectItem[] = []\n scrollStrategy: ScrollStrategy\n _triggerRect: ClientRect | undefined\n\n @Input() set items (items: CustomSelectItem[]) {\n this._items = items\n if (this._items?.length > 0) {\n this.fillSelectValue()\n }\n }\n\n get items (): CustomSelectItem[] {\n return this._items\n }\n\n @Input() disabled = false\n @Input() allowTyping = false\n @Input() allowRemove = false\n @Input() allowAddItem = true\n @Input() showEditIcon = true\n @Input() addItemLabel = 'Add New Item'\n @Input() placeHolder = 'Select'\n @Input() findPlaceHolder = 'Find item'\n @Input() searchText = ''\n\n @Input() set currentAuthorizationId (currentAuthorizationId: string) {\n this._currentAuthorizationId = currentAuthorizationId;\n if (this._currentAuthorizationId) {\n this.fillSelectValue()\n }\n }\n\n get currentAuthorizationId (): string {\n return this._currentAuthorizationId\n }\n\n @Output() onSelect = new EventEmitter<CustomSelectItem>()\n @Output() onUnSelect = new EventEmitter<any>()\n @Output() onAddItem = new EventEmitter<any>()\n @Output() onUpdateItem = new EventEmitter<any>()\n\n @ViewChild('trigger') trigger: ElementRef | undefined\n @ViewChild('input', { read: ElementRef }) input: ElementRef | undefined\n\n public opened = false\n public selectedItem: CustomSelectItem | undefined\n public initialItem: CustomSelectItem | undefined\n private innerValue: any\n private selectedModelValue: string | undefined\n public canEditItem = false;\n\n private edited = false\n\n @HostBinding('attr.tabindex') tabindex = '0'\n @HostListener('blur', ['$event.target']) onBlur (target: any): void {\n if (this.allowTyping) {\n if (this.value) {\n if (this.edited) {\n this.writeValue(this.value)\n this.selectedItem = new CustomSelectItem(this.value, this.value)\n this.onSelect.next(this.selectedItem)\n }\n } else {\n this.writeValue(undefined)\n this.onSelect.next(undefined)\n }\n }\n if (target?.relatedTarget?.classList.contains('search-input-item')) {\n return\n }\n this.setTriggerRect()\n }\n\n constructor (private readonly sso: ScrollStrategyOptions) {\n this.scrollStrategy = this.sso.block()\n }\n\n ngOnInit(): void {\n this.fillSelectValue()\n }\n\n ngAfterViewInit (): void {\n setTimeout(() => {\n this.setTriggerRect()\n }, 300)\n }\n\n private setTriggerRect (): void {\n setTimeout(() => {\n this._triggerRect = this.trigger?.nativeElement.getBoundingClientRect()\n })\n }\n\n public selectItem (item: CustomSelectItem): void {\n this.opened = false\n this.selectedItem = item\n this.edited = false\n this.selectedModelValue = item.text\n this.value = item.text\n this.searchText = ''\n this.canEditItem = true\n this.onSelect.next(item)\n }\n\n public addItem (): void {\n this.opened = false\n this.searchText = ''\n this.onAddItem.next(undefined)\n }\n\n public updateItem (event: any): void {\n event.stopPropagation()\n this.opened = false\n this.searchText = ''\n if (this.canEditItem) {\n this.onUpdateItem.next(this.selectedItem?.id || this.initialItem.id);\n }\n }\n\n public keyPress (): any {\n this.setTriggerRect()\n if (this.allowTyping) {\n this.opened = false\n this.edited = true\n this.canEditItem = false\n this.selectedModelValue = this.value\n this.searchText = ''\n } else {\n this.edited = false\n return false\n }\n }\n\n public clicked (): void {\n this.setTriggerRect()\n this.opened = true\n this.searchText = ''\n }\n\n public close ($event: Event): void {\n this.opened = false;\n $event.stopPropagation();\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value (): any {\n return this.innerValue\n }\n\n set value (value: any) {\n this.innerValue = value\n this.onChangeCallback(value)\n this.onSelect.next(value)\n }\n\n writeValue (value: any): void {\n if (value !== this.innerValue) {\n if (!this.selectedItem?.text || !value) {\n this.selectedItem = new CustomSelectItem(null, value)\n }\n if (value && !this.isInterpolationValue(value)) {\n this.fillSelectValue()\n }\n if (value && this.isInterpolationValue(value)) {\n this.allowRemove = true\n }\n this.innerValue = value\n this.selectedModelValue = value\n }\n }\n\n private isInterpolationValue (value: string): boolean {\n return value.includes('{{$.') && value.includes('}}')\n }\n\n registerOnChange (fn: any): void {\n this.onChangeCallback = fn\n }\n\n registerOnTouched (fn: any): void {\n this.onTouchedCallback = fn\n }\n\n setDisabledState (isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n public arrowClick (event: any): void {\n event.stopPropagation()\n this.setTriggerRect()\n if (this.opened) {\n this.opened = false\n } else {\n this.opened = true\n this.searchText = ''\n this.input?.nativeElement.focus()\n }\n }\n\n public removeClick (event: any): void {\n event.stopPropagation()\n this.opened = false\n this.searchText = ''\n this.innerValue = null\n this.canEditItem = false\n this.onUnSelect.next(undefined)\n }\n\n public onDrop ($event: any): void {\n this.searchText = ''\n if (!this.value) {\n this.value = ''\n }\n this.value += `{{${$event.data}}}`\n this.edited = true\n this.onBlur(undefined)\n }\n\n private fillSelectValue (): void {\n const selectItem = this._items?.find(item => item.id === this.currentAuthorizationId)\n if (selectItem?.id) {\n this.canEditItem = true\n this.allowRemove = true\n this.selectedItem = selectItem\n this.initialItem = selectItem\n }\n }\n\n}\n","<div class=\"custom-select-input\" #trigger>\n <mat-form-field\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"clicked()\" class=\"custom-select-component\"\n [ngClass]=\"{'select-open' : opened}\" appearance=\"outline\" autocomplete=\"off\">\n <mat-label *ngIf=\"placeHolder\">{{placeHolder}}</mat-label>\n <input matInput #input\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n autocomplete=\"off\"\n />\n\n <span *ngIf=\"showEditIcon && canEditItem\" class=\"edit-auth-icon\" (click)=\"updateItem($event)\">\n <i class=\"fas fa-pencil-alt\"></i>\n </span>\n\n <span *ngIf=\"allowRemove && value\" class=\"remove-icon\" (click)=\"removeClick($event)\">\n <i class=\"fa fa-times\"></i>\n </span>\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"close($event)\"\n (overlayOutsideClick)=\"close($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac search-input-item\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n\n <li *ngIf=\"allowAddItem\" class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\n <span class=\"fa fa-plus-circle\"></span>\n <span>{{addItemLabel}}</span>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n </ul>\n </ng-template>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'\n\nexport interface OnInvalidFileType {\n fileName: string\n typesSupported: string[]\n typeInvalid: string\n allowedExtensions?: string[]\n}\n\nexport interface OnFileChangedType {\n fileUrl: boolean\n fileFormData: FormData\n}\n\n@Component({\n selector: 'input-file',\n templateUrl: 'input-file.component.html',\n styleUrls: ['input-file.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFileComponent {\n\n @Input() fileFormData: FormData = new FormData()\n @Input() fileName: string | undefined\n\n @Input() canRemove = false\n @Input() removeTitle = ''\n\n @Input() canUpload = false\n @Input() uploadTitle = ''\n\n @Input() canModify = false\n @Input() modifyTitle = ''\n\n @Input() iconFontSize = '16px'\n\n @Input() emptyFileLabel = ''\n @Input() fileTypes: string[] = []\n @Input() allowedExtensions: string[] = []\n\n @Output() public onRemoveClick: EventEmitter<void> = new EventEmitter<void>()\n\n @Output() public onFileChanged: EventEmitter<OnFileChangedType> = new EventEmitter<OnFileChangedType>()\n\n @Output() public onInvalidFileType: EventEmitter<OnInvalidFileType> = new EventEmitter<OnInvalidFileType>()\n\n public fileUrl = false\n\n public hasFile (): boolean {\n return this.fileUrl || !!this.fileName\n }\n\n public canAction (): boolean {\n return this.canRemove || this.canModify || this.canUpload\n }\n\n public fileChange (event: any): void {\n const fileList: FileList = event.target.files\n if (fileList.length > 0) {\n const file: File = fileList[0]\n if (!this.isFileTypeSupported(file.type, file.name)) {\n this.onInvalidFileType.emit({\n fileName: file.name,\n typesSupported: this.fileTypes,\n typeInvalid: file.type,\n allowedExtensions: this.allowedExtensions\n })\n return\n }\n this.fileName = file.name\n this.fileFormData = new FormData()\n this.fileFormData.append('file', file, file.name)\n const reader = new FileReader()\n reader.readAsDataURL(fileList[0])\n reader.onload = (loadEvent) => {\n this.fileUrl = true\n this.emitChangeEvent()\n }\n }\n }\n\n public isFileTypeSupported (fileType: any, fileName: string): boolean {\n if (this.allowedExtensions?.length > 0) {\n return this.allowedExtensions.some(extension => fileName?.toLowerCase().endsWith(extension?.toLowerCase()))\n }\n return !this.fileTypes || this.fileTypes.includes(fileType)\n }\n\n public removeClick (): void {\n this.fileFormData = undefined\n this.fileName = undefined\n this.onRemoveClick.emit()\n }\n\n private emitChangeEvent (): void {\n this.onFileChanged.emit({\n fileUrl: this.fileUrl,\n fileFormData: this.fileFormData\n })\n }\n\n}\n"," <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasFile() && canRemove\"\n class=\"remove-icon\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n </div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport 'brace'\nimport 'brace/theme/monokai'\nimport { Ace } from 'ace-builds';\nimport Completion = Ace.Completion;\n\ndeclare let ace: any\n\n@Component({\n selector: 'ace-editor',\n template: '',\n styleUrls: ['ace-editor.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AceEditorComponent),\n multi: true\n }]\n})\nexport class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n\n @Output() textChanged = new EventEmitter()\n @Output() textChange = new EventEmitter()\n @Output() beforeDropEvent: EventEmitter<{ event: DragEvent, draggedText: string }> = new EventEmitter<{ event: DragEvent, draggedText: string }>()\n @Output() afterDropEvent: EventEmitter<{ event: DragEvent, draggedText: string }> = new EventEmitter<{ event: DragEvent, draggedText: string }>()\n @Input() style: any = {}\n\n _options: any = {}\n _readOnly: false = false\n _theme = 'monokai'\n _mode = 'html'\n _autoUpdateContent = true\n _editor: any\n _durationBeforeCallback = 0\n _text = ''\n\n oldText: any\n timeoutSaving: any\n\n public draggedText: string = '';\n\n constructor (elementRef: ElementRef, private readonly zone: NgZone) {\n const el = elementRef.nativeElement\n this.zone.runOutsideAngular(() => {\n this._editor = ace.edit(el)\n })\n this._editor.$blockScrolling = Infinity\n\n el.addEventListener('drop', (event: DragEvent) => {\n setTimeout(() => {\n event.preventDefault();\n this.beforeDropEvent.emit({ event, draggedText: this.draggedText })\n if (this.draggedText) {\n const dropPosition = this.getEditor().renderer.screenToTextCoordinates(event.clientX, event.clientY);\n this.getEditor().session.insert(dropPosition, this.draggedText);\n this.draggedText = undefined;\n }\n this.afterDropEvent.emit({ event, draggedText: this.draggedText })\n })\n });\n }\n\n ngOnInit (): void {\n this.init()\n this.initEvents()\n }\n\n ngOnDestroy (): void {\n this._editor.destroy()\n }\n\n init (): void {\n this._editor.setKeyboardHandler('ace/keyboard/vscode')\n this.setOptions({\n enableBasicAutocompletion: true,\n autoScrollEditorIntoView: true,\n enableLiveAutocompletion: true\n })\n this.setTheme(this._theme)\n this.setMode(this._mode)\n this.setReadOnly(this._readOnly)\n const completerIndex = this._editor.completers.findIndex((completer: { id: string }) => completer.id === 'apipass-completions')\n if (completerIndex > -1) { // only splice array when item is found\n this._editor.completers.splice(completerIndex, 1); // 2nd parameter means remove one item only\n }\n }\n\n public setCustomCompletions(customCompletions: Completion[]): void {\n const completer = this._editor.completers.find((completer: { id: string }) => completer.id === 'apipass-completions')\n if (!completer) {\n this.setOptions({\n enableBasicAutocompletion: true,\n autoScrollEditorIntoView: true,\n enableLiveAutocompletion: true\n })\n this._editor.completers.push({\n id: 'apipass-completions',\n getCompletions: function(editor, session, pos, prefix, callback) {\n callback(null, customCompletions);\n }\n });\n } else {\n completer.getCompletions = (editor, session, pos, prefix, callback) => {\n callback(null, customCompletions);\n }\n }\n }\n\n initEvents (): void {\n this._editor.on('change', () => {\n this.updateText()\n })\n this._editor.on('paste', () => {\n this.updateText()\n })\n }\n\n updateText (): void {\n const newVal = this._editor.getValue()\n if (newVal === this.oldText) {\n return\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n this._onChange(newVal)\n } else {\n if (this.timeoutSaving) {\n clearTimeout(this.timeoutSaving)\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n this.timeoutSaving = null\n }, this._durationBeforeCallback)\n }\n this.oldText = newVal\n }\n\n @Input() set options (options: any) {\n this.setOptions(options)\n }\n\n setOptions (options: any): void {\n this._options = options\n this._editor.setOptions(options || {})\n }\n\n @Input() set readOnly (readOnly: any) {\n this.setReadOnly(readOnly)\n }\n\n setReadOnly (readOnly: any): void {\n this._readOnly = readOnly\n this._editor.setReadOnly(readOnly)\n }\n\n @Input() set theme (theme: any) {\n this.setTheme(theme)\n }\n\n setTheme (theme: any): void {\n this._theme = theme\n this._editor.setTheme(`ace/theme/${theme}`)\n }\n\n @Input() set mode (mode: any) {\n this.setMode(mode)\n }\n\n setMode (mode: any): void {\n this._mode = mode\n if (typeof this._mode === 'object') {\n this._editor.getSession().setMode(this._mode)\n } else {\n this._editor.getSession().setMode(`ace/mode/${this._mode}`)\n }\n }\n\n get value (): string {\n return this.text\n }\n\n @Input()\n set value (value: string) {\n this.setText(value)\n }\n\n writeValue (value: any): void {\n this.setText(value)\n }\n\n private _onChange = (_: any): void => {\n }\n\n registerOnChange (fn: any): void {\n this._onChange = fn\n }\n\n private _onTouched = (): void => {\n }\n\n registerOnTouched (fn: any): void {\n this._onTouched = fn\n }\n\n get text (): string {\n return this._text\n }\n\n @Input()\n set text (text: string) {\n this.setText(text)\n }\n\n setText (text: any): void {\n if (text === null || text === undefined) {\n text = ''\n }\n if (this._text !== text && this._autoUpdateContent) {\n this._text = text\n this._editor.setValue(text)\n this._onChange(text)\n this._editor.clearSelection()\n }\n }\n\n @Input() set autoUpdateContent (status: any) {\n this.setAutoUpdateContent(status)\n }\n\n setAutoUpdateContent (status: any): void {\n this._autoUpdateContent = status\n }\n\n @Input() set durationBeforeCallback (num: number) {\n this.setDurationBeforeCallback(num)\n }\n\n setDurationBeforeCallback (num: number): void {\n this._durationBeforeCallback = num\n }\n\n getEditor (): any {\n return this._editor\n }\n\n}\n","\nimport { Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output } from '@angular/core'\nimport 'brace'\nimport 'brace/theme/monokai'\n\ndeclare let ace: any\n\n@Directive({\n selector: '[ace-editor]'\n})\nexport class AceEditorDirective implements OnInit, OnDestroy {\n\n @Output() textChanged = new EventEmitter()\n @Output() textChange = new EventEmitter()\n _options: any = {}\n _readOnly = false\n _theme = 'monokai'\n _mode = 'html'\n _autoUpdateContent = true\n _durationBeforeCallback = 0\n _text = ''\n editor: any\n oldText: any\n timeoutSaving: any\n\n constructor (elementRef: ElementRef, private readonly zone: NgZone) {\n const el = elementRef.nativeElement\n this.zone.runOutsideAngular(() => {\n this.editor = ace.edit(el)\n })\n this.editor.$blockScrolling = Infinity\n }\n\n ngOnInit (): void {\n this.init()\n this.initEvents()\n }\n\n ngOnDestroy (): void {\n this.editor.destroy()\n }\n\n init (): void {\n this.editor.setOptions(this._options || {})\n this.editor.setTheme(`ace/theme/${this._theme}`)\n this.setMode(this._mode)\n this.editor.setReadOnly(this._readOnly)\n }\n\n initEvents (): void {\n this.editor.on('change', () => { this.updateText() })\n this.editor.on('paste', () => { this.updateText() })\n }\n\n updateText (): void {\n const newVal = this.editor.getValue()\n if (newVal === this.oldText) {\n return\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n } else {\n if (this.timeoutSaving != null) {\n clearTimeout(this.timeoutSaving)\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n this.timeoutSaving = null\n }, this._durationBeforeCallback)\n }\n this.oldText = newVal\n }\n\n @Input() set options (options: any) {\n this._options = options\n this.editor.setOptions(options || {})\n }\n\n @Input() set readOnly (readOnly: any) {\n this._readOnly = readOnly\n this.editor.setReadOnly(readOnly)\n }\n\n @Input() set theme (theme: any) {\n this._theme = theme\n this.editor.setTheme(`ace/theme/${theme}`)\n }\n\n @Input() set mode (mode: any) {\n this.setMode(mode)\n }\n\n setMode (mode: any): void {\n this._mode = mode\n if (typeof this._mode === 'object') {\n this.editor.getSession().setMode(this._mode)\n } else {\n this.editor.getSession().setMode(`ace/mode/${this._mode}`)\n }\n }\n\n @Input()\n get text (): string {\n return this._text\n }\n\n set text (text: string) {\n this.setText(text)\n }\n\n setText (text: any): void {\n if (this._text !== text) {\n if (text === null || text === undefined) {\n text = ''\n }\n\n if (this._autoUpdateContent) {\n this._text = text\n this.editor.setValue(text)\n this.editor.clearSelection()\n }\n }\n }\n\n @Input() set autoUpdateContent (status: any) {\n this._autoUpdateContent = status\n }\n\n @Input() set durationBeforeCallback (num: number) {\n this.setDurationBeforeCallback(num)\n }\n\n setDurationBeforeCallback (num: number): void {\n this._durationBeforeCallback = num\n }\n\n get aceEditor (): any {\n return this.editor\n }\n\n}\n","import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'input-number',\n templateUrl: 'input-number.component.html',\n styleUrls: ['input-number.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumberComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputNumberComponent extends ValueAccessorBase<number> {\n\n @Input() label = ''\n @Input() disabled = false\n @Input() iconSuffix = ''\n @Input() iconPrefix = ''\n @Input() autoComplete = 'on'\n\n @Output() public suffixIconClick = new EventEmitter<boolean>()\n @Output() public prefixIconClick = new EventEmitter<boolean>()\n\n onKeyDown (event: any): void {\n if (event.which === 32) {\n event.target.value += ' '\n }\n event.stopPropagation()\n }\n\n prefixClick (): void {\n this.prefixIconClick.emit(true)\n }\n\n suffixClick (): void {\n this.suffixIconClick.emit(true)\n }\n\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"outline\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"number\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'input-boolean',\n templateUrl: 'input-boolean.component.html',\n styleUrls: ['input-boolean.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputBooleanComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputBooleanComponent extends ValueAccessorBase<boolean> {\n\n @Input() trueLabel = ''\n @Input() trueIconPrefix = ''\n @Input() trueIconSuffix = ''\n @Input() falseLabel = ''\n @Input() falseIconPrefix = ''\n @Input() falseIconSuffix = ''\n @Input() disabled = false\n\n public trueClick (): void {\n if (!this.disabled && !this.value) {\n this.value = true\n }\n }\n\n public falseClick (): void {\n if (!this.disabled && this.value) {\n this.value = false\n }\n }\n\n}\n","<div class=\"input-boolean\">\n\n <primary-button class=\"btn-true\"\n [selected]=\"this.value === true\"\n [label]=\"trueLabel\"\n [icon]=\"trueIconPrefix\"\n [suffixIcon]=\"trueIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"trueClick()\">\n </primary-button>\n\n <primary-button class=\"btn-false\"\n [selected]=\"this.value === false || this.value === undefined\"\n [label]=\"falseLabel\"\n [icon]=\"falseIconPrefix\"\n [suffixIcon]=\"falseIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"falseClick()\">\n </primary-button>\n\n</div>\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core'\nimport { NgModel } from '@angular/forms'\nimport { Subscription } from 'rxjs'\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs/operators'\n\n@Directive({\n selector: '[debounceInput]'\n})\nexport class DebouceInputDirective implements OnDestroy {\n\n @Input()\n public debounceTime = 500\n\n @Output()\n public onDebounceTriggered = new EventEmitter<any>()\n\n public subscription: Subscription\n\n constructor (private readonly ngModel: NgModel) {\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1),\n distinctUntilChanged(),\n debounceTime(this.debounceTime)\n ).subscribe((value) => { this.onDebounceTriggered.emit(value) })\n }\n\n public ngOnDestroy (): void {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n }\n\n}\n","import {\n type AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { CustomSelectItem } from '../custom-select/custom-select-item'\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay'\n\n@Component({\n selector: 'select-interpolation',\n templateUrl: 'select-interpolation.component.html',\n styleUrls: ['select-interpolation.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectInterpolationComponent),\n multi: true\n }]\n})\nexport class SelectInterpolationComponent implements ControlValueAccessor, AfterViewInit {\n\n private innerValue: any\n private edited = false\n\n public scrollStrategy: ScrollStrategy\n public _triggerRect: ClientRect | undefined\n public selectedItem: CustomSelectItem | undefined\n public selectedItemLabel = ''\n public searchText = ''\n public opened = false\n\n @Input() public disabled = false\n @Input() public items: CustomSelectItem[] = []\n @Input() public placeHolder = 'Select'\n @Input() public findPlaceHolder = 'Find item'\n\n @Output() public onSelect = new EventEmitter<CustomSelectItem>()\n\n @ViewChild('trigger')\n public trigger: ElementRef | undefined\n\n @ViewChild('input', { read: ElementRef })\n public input: ElementRef | undefined\n\n constructor (private readonly sso: ScrollStrategyOptions) {\n this.scrollStrategy = this.sso.block()\n }\n\n @HostBinding('attr.tabindex') tabindex = '0'\n @HostListener('blur', ['$event.target']) onBlur (target: any): void {\n if (this.selectedItemLabel) {\n if (this.edited) {\n this.writeValue(this.selectedItemLabel)\n this.selectedItem = new CustomSelectItem(this.selectedItemLabel, this.selectedItemLabel)\n this.onSelect.next(this.selectedItem)\n }\n } else {\n this.writeValue(undefined)\n this.onSelect.next(undefined)\n }\n if (target?.relatedTarget?.classList.contains('search-input-item')) {\n return\n }\n this.setTriggerRect()\n }\n\n ngAfterViewInit (): void {\n setTimeout(() => {\n this.setInitialState()\n this.setTriggerRect()\n }, 300)\n }\n\n public setInitialState (): void {\n setTimeout(() => {\n if (this.value && this.items) {\n const selectedItem = this.items.find(item => item.id === this.value)\n this.selectedItemLabel = selectedItem?.text || this.value\n }\n })\n }\n\n private setTriggerRect (): void {\n setTimeout(() => {\n this._triggerRect = this.trigger?.nativeElement.getBoundingClientRect()\n })\n }\n\n public selectItem (item: CustomSelectItem): void {\n this.opened = false\n this.edited = false\n this.selectedItem = item\n this.value = item.id\n this.selectedItemLabel = item.text\n this.searchText = ''\n this.onSelect.next(item)\n }\n\n public keyPress (): any {\n this.setTriggerRect()\n this.opened = false\n this.edited = true\n this.searchText = ''\n }\n\n public clicked ($event?: Event): void {\n this.setTriggerRect()\n this.open($event);\n this.searchText = ''\n }\n\n public open ($event?: Event): void {\n this.opened = true;\n $event?.stopPropagation();\n }\n\n public close ($event?: Event): void {\n this.opened = false;\n $event?.stopPropagation();\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value (): any {\n return this.innerValue\n }\n\n set value (value: any) {\n this.innerValue = value\n this.onChangeCallback(value)\n }\n\n writeValue (value: any): void {\n if (value !== this.value) {\n this.value = value\n }\n }\n\n registerOnChange (fn: any): void {\n this.onChangeCallback = fn\n }\n\n registerOnTouched (fn: any): void {\n this.onTouchedCallback = fn\n }\n\n setDisabledState (isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n public arrowClick (event: any): void {\n event.stopPropagation()\n this.setTriggerRect()\n if (!this.opened) {\n this.open(event);\n this.searchText = ''\n this.input?.nativeElement.focus()\n }\n }\n\n public onDrop ($event: any): void {\n this.searchText = ''\n if (!this.value) {\n this.value = ''\n }\n this.edited = true\n this.value += `{{${$event.data}}}`\n this.selectedItemLabel = this.value\n this.onBlur(undefined)\n }\n\n}\n","<div class=\"custom-select-input\" #trigger>\n <mat-form-field\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n cdkOverlayOrigin #origin=\"cdkOverlayOrigin\"\n (click)=\"clicked()\" class=\"custom-select-component\"\n [ngClass]=\"{'select-open' : opened}\" appearance=\"outline\" autocomplete=\"off\">\n <mat-label *ngIf=\"placeHolder\">{{placeHolder}}</mat-label>\n <input matInput #input\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"selectedItemLabel\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n autocomplete=\"off\"\n />\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n (backdropClick)=\"close($event)\"\n (overlayOutsideClick)=\"close($event)\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n </ul>\n </ng-template>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'\n\n@Component({\n selector: 'input-image',\n templateUrl: 'input-image.component.html',\n styleUrls: ['input-image.component.scss']\n})\nexport class InputImageComponent {\n\n @Input() imageFormData: FormData = new FormData()\n @Input() imageUrl: string | ArrayBuffer | null = 'assets/images/no-image.png'\n @Input() imageAlt = 'image'\n @Input() imageTitle = ''\n @Input() accept = 'image/png, image/jpeg'\n\n @Input() canRemove = false\n @Input() removeTitle = ''\n\n @Input() canUpload = false\n @Input() uploadTitle = ''\n\n @Input() canModify = false\n @Input() modifyTitle = ''\n\n @Input() width = '65px'\n @Input() height = '65px'\n\n @Output() public onFileChanged = new EventEmitter<{ imageUrl: string | ArrayBuffer | null, imageFormData: FormData }>()\n\n @ViewChild('actionFile')\n public inputFile: ElementRef<HTMLInputElement>\n\n public hasImage (): boolean {\n return this.imageUrl !== 'assets/images/no-image.png'\n }\n\n public canAction (): boolean {\n return this.canRemove || this.canModify || this.canUpload\n }\n\n public fileChange (event: any): void {\n const fileList: FileList = event.target.files\n if (fileList.length > 0) {\n const file: File = fileList[0]\n this.imageFormData = new FormData()\n this.imageFormData.append('file', file, file.name)\n if (!file.type.match(/image\\/*/)) {\n return\n }\n const reader = new FileReader()\n reader.readAsDataURL(fileList[0])\n reader.onload = () => {\n this.imageUrl = reader.result\n this.emitChangeEvent()\n }\n }\n }\n\n removeClick (): void {\n this.imageFormData = new FormData()\n this.imageUrl = 'assets/images/no-image.png'\n this.emitChangeEvent()\n }\n\n private emitChangeEvent (): void {\n this.onFileChanged.emit({\n imageUrl: this.imageUrl,\n imageFormData: this.imageFormData\n })\n }\n\n public canClickOnImage (): boolean {\n return (!this.hasImage() && this.canUpload) || (this.hasImage() && this.canModify)\n }\n\n public imageClick (): void {\n if (this.canClickOnImage()) {\n this.editClick();\n }\n }\n\n public editClick (): void {\n this.inputFile.nativeElement.click()\n this.inputFile.nativeElement.value = ''\n }\n\n}\n","<div class=\"input-image\" [ngStyle]=\"{'width': 'calc(' + width + ' + 5px', 'height': 'calc(' + height + ' + 5px'}\">\n <img loading=\"lazy\" [src]=\"imageUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\" [ngClass]=\"{'clickable' : canClickOnImage()}\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%'}\" (click)=\"imageClick()\"/>\n <input #actionFile id=\"action-icon\" type=\"file\" accept=\"{{accept}}\" (change)=\"fileChange($event)\"\n style=\"display: none;\"/>\n</div>\n\n<div class=\"input-image-actions\" *ngIf=\"canAction()\">\n <primary-button *ngIf=\"!hasImage() && canUpload\"\n [icon]=\"'upload'\"\n [label]=\"uploadTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <primary-button *ngIf=\"hasImage() && canModify\"\n [icon]=\"'edit'\"\n [label]=\"modifyTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <tertiary-button *ngIf=\"hasImage() && canRemove\"\n [icon]=\"'delete'\"\n [label]=\"removeTitle\"\n (onClick)=\"removeClick(); actionFile.value = ''\">\n </tertiary-button>\n</div>\n","import { TimeInterval } from '../default-interval/time-interval';\nimport moment from 'moment-timezone';\n\nexport class TimeIntervalValue {\n\n private readonly _timezone: string\n private _absoluteStartDate: Date\n private _absoluteEndDate: Date\n private _interval: TimeInterval\n\n constructor(timezone: string) {\n this._timezone = timezone;\n }\n\n public getStartDate(): Date {\n if (this._interval?.getStartDate) {\n return new Date(moment(this._interval.getStartDate()).tz(this._timezone).format());\n }\n if (this._absoluteStartDate) {\n return new Date(moment(this._absoluteStartDate).tz(this._timezone).format());\n }\n return this._absoluteStartDate;\n }\n\n public getEndDate(): Date {\n if (this._interval?.getEndDate) {\n return new Date(moment(this._interval.getEndDate()).tz(this._timezone).format());\n }\n if (this._absoluteEndDate) {\n return new Date(moment(this._absoluteEndDate).tz(this._timezone).format());\n }\n return this._absoluteEndDate;\n }\n\n public isRelativeInterval(): boolean {\n return !!this._interval;\n }\n\n public isAbsoluteDate(): boolean {\n return !this.isRelativeInterval()\n }\n\n get absoluteStartDate(): Date {\n return this._absoluteStartDate;\n }\n\n set absoluteStartDate(value: Date) {\n this._absoluteStartDate = value;\n }\n\n get absoluteEndDate(): Date {\n return this._absoluteEndDate;\n }\n\n set absoluteEndDate(value: Date) {\n this._absoluteEndDate = value;\n }\n\n get interval(): TimeInterval {\n return this._interval;\n }\n\n set interval(value: TimeInterval) {\n this._interval = value;\n }\n\n get timezone(): string {\n return this._timezone;\n }\n\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { TimeInterval } from './default-interval/time-interval';\nimport { TimeIntervalValue } from './model/date-time-internal.model';\nimport { DateRange } from '@angular/material/datepicker';\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport moment from 'moment-timezone';\nimport { NgScrollbar } from 'ngx-scrollbar';\n\n@Component({\n selector: 'input-date-time-interval',\n templateUrl: 'input-date-time-interval.component.html',\n styleUrls: ['input-date-time-interval.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputDateTimeIntervalComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputDateTimeIntervalComponent {\n\n private _value: TimeIntervalValue\n protected _selectedDateRange: DateRange<Date>;\n public scrollStrategy: ScrollStrategy\n\n @Input()\n public timezone: string = 'America/Sao_Paulo'\n\n @Input()\n public dateMask: string = '00/00/0000'\n\n @Input()\n public timeMask: string = '00:00:00'\n\n @Input()\n public dateFormat: string = 'DD/MM/YYYY HH:mm:ss'\n\n @Input()\n public label: string\n\n @Input()\n public periodLabel: string = 'Selected Relative Interval'\n\n @Input()\n public relativeLabel: string = 'Relative Time';\n\n @Input()\n public absoluteLabel: string = 'Absolute Time'\n\n @Input()\n public startDateLabel = 'Start Date'\n\n @Input()\n public startDate: Date;\n\n @Input()\n public startTimeLabel = 'Start Time'\n\n @Input()\n public startTime: string;\n\n @Input()\n public endTimeLabel = 'End Time'\n\n @Input()\n public endTime: string\n\n @Input()\n public endDateLabel = 'End Date'\n\n @Input()\n public endDate: Date\n\n @Input()\n public calendarMaxDate: Date\n\n @Input()\n public calendarMinDate: Date\n\n @Input()\n public cancelLabel: string = 'Cancel'\n\n @Input()\n public applyLabel: string = 'Apply'\n\n @Input()\n public hideTime = false;\n\n get value(): TimeIntervalValue {\n if (!this._value) {\n this._value = new TimeIntervalValue(this.timezone);\n }\n return this._value;\n }\n\n @Input()\n set value(value: TimeIntervalValue) {\n this._value = value;\n this.refreshValues();\n }\n\n private refreshValues(): void {\n if (this._value.interval) {\n this.selectedInterval = this._value.interval;\n this.resetDates()\n } else if (this._value?.absoluteStartDate || this._value?.absoluteEndDate) {\n const startDate = this._value?.absoluteStartDate || this.startDate;\n this.selectedStartDate = this.dateToString(startDate);\n const endDate = this._value?.absoluteEndDate || this.endDate;\n this.selectedEndDate = this.dateToString(endDate);\n this._selectedDateRange = this.getDateRange(this.stringToDate(this.selectedStartDate), this.stringToDate(this.selectedEndDate));\n if (this._value?.absoluteStartDate) {\n this.selectedStartTime = this._value.absoluteStartDate.toTimeString().split(' ')[0]\n }\n if (this.value?.absoluteEndDate) {\n this.selectedEndTime = this.value?.absoluteEndDate.toTimeString().split(' ')[0]\n }\n this.selectedStartTime = this.selectedStartTime || this.startTime;\n this.selectedEndTime = this.selectedEndTime || this.endTime;\n this.selectedInterval = undefined\n }\n }\n\n @Input()\n public intervals: TimeInterval[]\n\n @Output()\n public valueChange: EventEmitter<TimeIntervalValue> = new EventEmitter<TimeIntervalValue>()\n\n public selectedInterval: TimeInterval;\n public selectedStartTime: string;\n public selectedEndTime: string;\n public selectedStartDate: string\n public selectedEndDate: string\n private readonly defaultStartOfDayTime: string = '00:00:00';\n private readonly defaultEndOfDayTime: string = '23:59:59';\n\n public dropdownOpen: boolean\n\n @ViewChild('intervalsBar') scrollbarRef: NgScrollbar\n @HostListener('document:keydown.escape', ['$event'])\n public onKeydownHandler(): void {\n this.dropdownOpen = false;\n }\n\n constructor(\n private readonly sso: ScrollStrategyOptions) {\n this.scrollStrategy = this.sso.block()\n this.resetDates();\n }\n\n public openDropDown(event: any): void {\n this.dropdownOpen = true;\n setTimeout(() => {\n if (this._value.interval) {\n const selectedInterval = this._value.interval;\n this.scrollbarRef.scrollToElement(`#apipass-datetime-interval-${selectedInterval.id}`, { duration: 800 }).then()\n }\n })\n event.stopPropagation()\n }\n\n public closeDropdown(event: any): void {\n this.cancel();\n this.dropdownOpen = false;\n event.stopPropagation()\n }\n\n public isSelected(interval: TimeInterval): boolean {\n return interval?.id === this.selectedInterval?.id;\n }\n\n public selectInterval(interval: TimeInterval): void {\n this.selectedInterval = interval;\n this.resetDates();\n }\n\n private resetDates(): void {\n this._selectedDateRange = this.getDateRange(this.startDate, this.endDate);\n this.selectedStartTime = this.startTime\n this.selectedEndTime = this.endTime\n this.selectedStartDate = this.dateToString(this.startDate);\n this.selectedEndDate = this.dateToString(this.endDate);\n }\n\n public onDateRangeChange(date: Date): void {\n if (this._selectedDateRange?.start && date > this._selectedDateRange.start && !this._selectedDateRange.end) {\n this._selectedDateRange = this.getDateRange(this._selectedDateRange.start, date);\n this.selectedEndDate = this.dateToString(date);\n this.selectedInterval = undefined;\n } else {\n this._selectedDateRange = this.getDateRange(date, undefined)\n this.selectedStartDate = this.dateToString(date);\n this.selectedInterval = undefined;\n }\n }\n\n private dateToString(date: Date): string {\n return date ? moment(date).format(this.dateFormat) : undefined;\n }\n\n private stringToDate(date: string): Date {\n return date ? moment(date, this.dateFormat).toDate() : undefined;\n }\n\n public getDateRange(startDate: Date, endDate: Date): DateRange<Date> {\n try {\n return new DateRange(startDate ? moment(startDate).toDate() : undefined, endDate ? moment(endDate).toDate() : undefined);\n } catch (e) {\n return new DateRange<Date>(null, null);\n }\n }\n\n public startDateChanged(): void {\n this._selectedDateRange = this.getDateRange(this.stringToDate(this.selectedStartDate), this.stringToDate(this.selectedEndDate));\n this.selectedInterval = undefined;\n }\n\n public endDateChanged(): void {\n const startDate = this.stringToDate(this.selectedStartDate);\n const endDate = this.stringToDate(this.selectedEndDate);\n if (endDate < startDate) {\n this.selectedEndDate = undefined;\n }\n this._selectedDateRange = this.getDateRange(startDate, endDate);\n this.selectedInterval = undefined;\n }\n\n public cancel(): void {\n this.refreshValues();\n this.dropdownOpen = false;\n }\n\n public apply(): void {\n if (this.selectedInterval) {\n this._value.interval = this.selectedInterval;\n this._value.absoluteStartDate = undefined;\n this._value.absoluteEndDate = undefined\n } else {\n if (this.selectedStartDate) {\n const startDate = this.stringToDate(this.selectedStartDate);\n this.applyTimeOnDate(startDate, this.selectedStartTime || this.defaultStartOfDayTime);\n this.selectedStartTime = this.selectedStartTime ?? this.defaultStartOfDayTime\n this._value.absoluteStartDate = moment(startDate).toDate()\n } else {\n this._value.absoluteStartDate = undefined;\n }\n if (this.selectedEndDate) {\n const endDate = this.stringToDate(this.selectedEndDate);\n this.applyTimeOnDate(endDate, this.selectedEndTime || this.defaultEndOfDayTime);\n this.selectedEndTime = this.selectedEndTime ?? this.defaultEndOfDayTime\n this._value.absoluteEndDate = moment(endDate).toDate()\n } else {\n this._value.absoluteEndDate = undefined;\n }\n this._value.interval = undefined;\n }\n this.valueChange.emit(this._value);\n this.dropdownOpen = false;\n }\n\n private applyTimeOnDate(date: Date, time: string): void {\n if (time) {\n date.setHours(this.getHoursFromTime(time))\n date.setMinutes(this.getMinutesFromTime(time))\n date.setSeconds(this.getSecondsFromTime(time))\n }\n }\n\n private getHoursFromTime(time: string): number {\n try {\n return parseFloat(time.split(':')[0]) || 0;\n } catch (e) {\n return 0;\n }\n }\n\n private getMinutesFromTime(time: string): number {\n try {\n return parseFloat(time.split(':')[1]) || 0;\n } catch (e) {\n return 0;\n }\n }\n\n private getSecondsFromTime(time: string): number {\n try {\n return parseFloat(time.split(':')[2]) || 0;\n } catch (e) {\n return 0;\n }\n }\n\n public getInputText(): string {\n if (this._value?.interval) {\n return this.periodLabel;\n }\n const emptyDate: string = this.hideTime ? '__________' : '__________ ________';\n let formatedText = '';\n if (this._value.absoluteStartDate) {\n formatedText += this.dateToString(this._value.absoluteStartDate);\n } else {\n formatedText += emptyDate\n }\n formatedText += ' - '\n if (this._value.absoluteEndDate) {\n formatedText += this.dateToString(this._value.absoluteEndDate);\n } else {\n formatedText += emptyDate\n }\n return formatedText;\n }\n\n}\n","<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DndDropEvent } from 'ngx-drag-drop';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nexport interface KeyValueInputType {\n [x: string]: any\n type: string\n}\n\n@Component({\n selector: 'key-value-input',\n templateUrl: 'key-value-input.component.html',\n styleUrls: ['key-value-input.component.scss']\n})\nexport class KeyValueInputComponent implements OnInit {\n\n @Input() componentId: string\n @Input() items: KeyValueInputType[] = []\n @Input() size: 'DEFAULT' | 'SLIM' = 'DEFAULT'\n @Input() keyAttributeName: string = 'key'\n @Input() valueAttributeName: string = 'value'\n @Input() keyLabel: string = 'Key'\n @Input() valueLabel: string = 'Value'\n @Input() removeLabel: string = 'Remove'\n @Input() inputOptionsWidthPercentage: number\n @Input() inputOptionsDefaultSelected: string\n @Input() inputOptions = []\n @Input() valueOptions: any[]\n @Input() blockNewItem = false\n @Input() blockEditLabel = false;\n @Input() onDropFn: ($event: DndDropEvent, attribute: string) => string\n @Output() itemsChange: EventEmitter<KeyValueInputType[]> = new EventEmitter<KeyValueInputType[]>()\n\n public temporaryItem: KeyValueInputType\n private readonly onKeyPressedTemporaryKey: Subject<void> = new Subject<void>()\n\n private createDefaultTemporaryItem(): KeyValueInputType {\n return {\n type: this.inputOptionsDefaultSelected,\n [this.keyAttributeName]: '',\n [this.valueAttributeName]: ''\n };\n }\n\n public ngOnInit(): void {\n this.temporaryItem = this.createDefaultTemporaryItem()\n if (!this.items) {\n this.items = []\n this.itemsChange.emit(this.items)\n }\n this.inputOptionsDefaultSelected ||= this.inputOptions?.[0]?.value\n this.onKeyPressedTemporaryKey\n .pipe(debounceTime(300))\n .subscribe(() => {\n this.addTemporaryAttributeToItems()\n this.focusOnLastItem()\n })\n }\n\n public removeItem(index: number): void {\n this.items.splice(index, 1);\n }\n\n public inputOptionChanged(event: string, index: number): void {\n this.items[index].type = event;\n }\n\n public valueOptionChanged(event: string, index: number): void {\n this.items[index][this.valueAttributeName] = event\n }\n\n public onKeyDrop(model: KeyValueInputType, $event: DndDropEvent): void {\n model[this.keyAttributeName] = this.onDropFn($event, model[this.keyAttributeName])\n }\n\n public onKeyDropTemporaryItem(model: KeyValueInputType, $event: DndDropEvent): void {\n model[this.keyAttributeName] = this.onDropFn($event, model[this.keyAttributeName])\n this.addTemporaryAttributeToItems()\n }\n\n public onValueDrop(model: KeyValueInputType, $event: DndDropEvent): void {\n model[this.valueAttributeName] = this.onDropFn($event, model[this.valueAttributeName])\n }\n\n public addTemporaryAttributeToItems(): void {\n this.items.push({ ...this.temporaryItem })\n this.temporaryItem = this.createDefaultTemporaryItem()\n }\n\n public focusOnLastItem(): void {\n setTimeout(() => {\n const index = this.items.length - 1\n const focusId = `${this.getComponentId('key', index)}-input`\n document.getElementById(focusId).focus()\n })\n }\n\n public onKeyPressedTemporaryKeyFn(): void {\n this.onKeyPressedTemporaryKey.next()\n }\n\n public temporaryItemOptionChanged(event: string): void {\n this.temporaryItem.type = event\n }\n\n public temporaryValueOptionChanged(event: string): void {\n this.temporaryItem[this.valueAttributeName] = event\n }\n\n public getComponentId(id: string, index: number): string {\n return this.componentId ? `${this.componentId}-${id}-${index}` : `${id}-${index}`\n }\n\n}\n","<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [disabled]=\"blockEditLabel\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <ng-container *ngIf=\"valueOptions?.length; else valueTextItem\">\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [valueOptionsOnly]=\"true\"\n [inputOptions]=\"valueOptions\"\n [inputOptionsInitSelected]=\"item[valueAttributeName]\"\n (optionChanged)=\"valueOptionChanged($event, index)\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n </ng-container>\n <ng-template #valueTextItem>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n </ng-template>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\" *ngIf=\"!blockNewItem\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <ng-container *ngIf=\"valueOptions?.length; else valueTextTemp\">\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [valueOptionsOnly]=\"true\"\n [inputOptions]=\"valueOptions\"\n [inputOptionsInitSelected]=\"temporaryItem[this.valueAttributeName]\"\n (optionChanged)=\"temporaryValueOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n </ng-container>\n <ng-template #valueTextTemp>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n </ng-template>\n</div>\n\n","import { AfterContentInit, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core'\nimport { DndDropEvent } from 'ngx-drag-drop'\nimport { AceEditorComponent } from '../ace-editor/component'\nimport { ValueAccessorBase } from '../value-acessor-base'\nimport { beautifyRawDataContent } from '@apipass/frontend-utils'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ace-editor-input',\n templateUrl: 'ace-editor-input.component.html',\n styleUrls: ['ace-editor-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AceEditorInputComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class AceEditorInputComponent extends ValueAccessorBase<string> implements AfterContentInit {\n\n @ViewChild('editor')\n public editor: AceEditorComponent;\n\n @Input() title: string | undefined\n @Input() description: string | undefined\n @Input() previousStepsOutputAttributes: Record<string, { type: string, attributes: Record<string, any> }> = {}\n @Input() mode: 'json' | 'html' | 'sql' | 'xml' | 'text'\n\n ngAfterContentInit (): void {\n this.createAceEditorCustomCompletions()\n }\n\n private createAceEditorCustomCompletions(): void {\n setTimeout(() => {\n if (this.editor?.setCustomCompletions) {\n this.setEditorCustomCompletions(this.editor, true);\n }\n }, 500)\n }\n\n public beautify(): void {\n const rawDataContent = this.editor.getEditor().getSession().getValue();\n if (rawDataContent) {\n const formattedContent = beautifyRawDataContent(rawDataContent);\n this.editor.getEditor().getSession().setValue(formattedContent);\n }\n }\n\n public setEditorCustomCompletions(editor: any, includeBrackets: boolean): void {\n editor.setCustomCompletions(this.getOutputAttributesCodeCompletions({\n prefixIdentifier: '$',\n outputAttributes: this.previousStepsOutputAttributes,\n includeBrackets\n }))\n }\n\n protected getOutputAttributesCodeCompletions(props: {\n prefixIdentifier: string\n outputAttributes: Record<string, { type: string, attributes: Record<string, any> }>\n includeArrayMethods?: boolean\n includeBrackets?: boolean\n }): Array<{ caption: string, value: string, meta: string, score: number }> {\n let attributesPaths: string[] = []\n for (const outputAttributesKey in props.outputAttributes) {\n const outputAttribute = props.outputAttributes[outputAttributesKey]\n const currentPath = `${props.prefixIdentifier}.${outputAttributesKey}`;\n attributesPaths.push(this.createCompletion(currentPath, props.includeBrackets))\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath,\n attributes: outputAttribute.attributes\n }))\n }\n return attributesPaths.map(value => {\n return {\n caption: value,\n value,\n meta: 'Step attribute',\n score: 0\n }\n })\n }\n\n private createCompletion(completion: string, includeBrackets: boolean): string {\n return includeBrackets ? `{{${completion}}}` : completion\n }\n\n public parseItem(props: { currentPath: string, attributes, includeArrayMethods?: boolean, includeBrackets?: boolean }): string[] {\n let attributesPaths: string[] = []\n const currentPath = props.currentPath\n for (const attributeName in props.attributes) {\n const attributeValue = props.attributes[attributeName]\n const attributeTypeIsInvalid = typeof attributeValue?.type !== 'string' && !(attributeValue?.type instanceof String);\n if (attributeValue?.type && attributeTypeIsInvalid) {\n continue\n }\n const attributeType = attributeValue?.type?.toUpperCase();\n if (['STRING', 'NUMBER', 'BOOLEAN', 'AUTHORIZATION'].includes(attributeType)) {\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}`, props.includeBrackets))\n } else if (attributeType === 'OBJECT') {\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}`, props.includeBrackets))\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath: `${currentPath}.${attributeName}`,\n attributes: attributeValue.child ?? attributeValue.properties\n }))\n } else if (attributeType === 'ARRAY') {\n const arrayPaths = this.parseArrayItem(currentPath, attributeName, attributesPaths, props, attributeValue);\n attributesPaths = attributesPaths.concat(arrayPaths);\n } else if (!attributeValue?.type) {\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath,\n attributes: { [attributeName]: { type: attributeValue } }\n }))\n }\n }\n return attributesPaths\n }\n\n private parseArrayItem(currentPath: string, attributeName: string, attributesPaths: string[], props: {\n currentPath: string\n attributes\n includeArrayMethods?: boolean\n includeBrackets?: boolean\n }, attributeValue): string[] {\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}`, props.includeBrackets))\n if (props.includeArrayMethods) {\n attributesPaths = attributesPaths.concat(this.getArrayMethodsCodeCompletions(`${currentPath}.${attributeName}`))\n }\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}[0]`, props.includeBrackets))\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath: `${currentPath}.${attributeName}[0]`,\n attributes: attributeValue.child ?? attributeValue.properties\n }))\n return attributesPaths;\n }\n\n private getArrayMethodsCodeCompletions(currentPath: string): string[] {\n return [\n `${currentPath}.concat()`,\n `${currentPath}.filter((element) => )`,\n `${currentPath}.find((element) => )`,\n `${currentPath}.forEach((element) => )`,\n `${currentPath}.includes()`,\n `${currentPath}.indexOf()`,\n `${currentPath}.map((element) => )`,\n `${currentPath}.push()`,\n `${currentPath}.sort()`\n ]\n }\n\n public onDropOnEditor(editor: AceEditorComponent, $event: DndDropEvent, addBrackets?: boolean): void {\n if ($event.data) {\n let dropText = $event.data\n if (addBrackets) {\n dropText = `{{${dropText}}}`\n }\n editor.draggedText = dropText\n }\n }\n\n}\n","<div class=\"ace-editor-input\">\n <div class=\"code-header\">\n <label class=\"info-label bold\">\n <div *ngIf=\"title\">{{ title }}</div>\n <small>{{ description }}</small>\n </label>\n <primary-button [size]=\"'slim'\"\n [label]=\"'Beautify'\"\n (onClick)=\"beautify()\">\n </primary-button>\n </div>\n <ace-editor\n #editor\n [(text)]=\"value\"\n [options]=\"{enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: true, keyboardHandler: 'ace/keyboard/vscode'}\"\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDropOnEditor(editor, $event, true)\"\n [mode]=\"mode\"\n [autoUpdateContent]=\"true\"\n class=\"ace-editor\"\n ></ace-editor>\n</div>\n","import { NgModule } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { CommonModule } from '@angular/common'\nimport { SelectEnumComponent } from './select-enum/select-enum.component'\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatTooltipModule } from '@angular/material/tooltip'\nimport { InputTextComponent } from './input-text/input-text.component'\nimport { InputAvatarComponent } from './input-avatar/input-avatar.component'\nimport { FieldComponent } from './field/field.component'\nimport { SelectBoxComponent } from './select-box/select-box.component'\nimport { MatSelectInfiniteScrollDirective } from './select-box/mat-select-infinite-scroll.directive'\nimport { NgSelectModule } from '@ng-select/ng-select'\nimport { CustomSelectComponent } from './custom-select/custom-select.component'\nimport { DndModule } from 'ngx-drag-drop'\nimport { IconsModule } from '@apipass/icons'\nimport { PipeModule } from '@apipass/pipes'\nimport { RouterModule } from '@angular/router'\nimport { InputFileComponent } from './input-file/input-file.component'\nimport { AceEditorComponent } from './ace-editor/component'\nimport { AceEditorDirective } from './ace-editor/directive'\nimport { InputNumberComponent } from './input-number/input-number.component'\nimport { InputBooleanComponent } from './input-boolean/input-boolean.component'\nimport { ButtonsModule } from '@apipass/buttons'\nimport { DebouceInputDirective } from './debounce-model-directive/debouceInput.directive'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { SelectInterpolationComponent } from './select-interpolation/select-interpolation.component'\nimport { InputImageComponent } from './input-image/input-image.component'\nimport { InputDateTimeIntervalComponent } from './input-date-time-interval/input-date-time-interval.component';\nimport {\n DefaultMatCalendarRangeStrategy,\n MAT_DATE_RANGE_SELECTION_STRATEGY,\n MatDatepickerModule\n} from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { NgScrollbarModule } from 'ngx-scrollbar';\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';\nimport { KeyValueInputComponent } from './input-key-value/key-value-input.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { AceEditorInputComponent } from './ace-editor-input/ace-editor-input.component';\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n NgSelectModule,\n PipeModule,\n MatIconModule,\n IconsModule,\n MatTooltipModule,\n DndModule,\n ButtonsModule,\n OverlayModule,\n MatCardModule,\n MatDatepickerModule,\n MatNativeDateModule,\n NgScrollbarModule,\n NgxMaskDirective,\n NgxMaskPipe,\n MatCheckboxModule\n ],\n declarations: [\n MatSelectInfiniteScrollDirective,\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputAvatarComponent,\n InputImageComponent,\n InputFileComponent,\n CustomSelectComponent,\n SelectInterpolationComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective,\n InputDateTimeIntervalComponent,\n KeyValueInputComponent,\n AceEditorInputComponent\n ],\n exports: [\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputAvatarComponent,\n InputImageComponent,\n InputFileComponent,\n CustomSelectComponent,\n SelectInterpolationComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective,\n InputDateTimeIntervalComponent,\n NgxMaskDirective,\n NgxMaskPipe,\n KeyValueInputComponent,\n AceEditorInputComponent\n ],\n providers: [\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'outline',\n subscriptSizing: 'dynamic'\n }\n },\n {\n provide: MAT_DATE_RANGE_SELECTION_STRATEGY,\n useClass: DefaultMatCalendarRangeStrategy\n },\n provideNgxMask()\n ]\n})\nexport class InputsModule {\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class CurrentMonthInterval implements TimeInterval {\n\n id: string = 'CurrentMonthInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('month').toDate();\n }\n\n}\n","import { TimeInterval } from '../default-interval/time-interval';\n\nexport class TimeIntervalsBuilder {\n\n private _timezone: string = 'America/Sao_Paulo'\n private readonly _value: TimeInterval[] = []\n\n public static builder(): TimeIntervalsBuilder {\n return new TimeIntervalsBuilder()\n }\n\n public withTimezone(timezone: string): TimeIntervalsBuilder {\n this._timezone = timezone || this._timezone;\n return this;\n }\n\n public withInterval(interval: TimeInterval): TimeIntervalsBuilder {\n this._value.push(interval)\n return this;\n }\n\n public build(): TimeInterval[] {\n return this._value;\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastHourInterval implements TimeInterval {\n\n id: string = 'LastHourInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'hours').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastMinuteInterval implements TimeInterval {\n\n id: string = 'LastMinuteInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastOneWeekInterval implements TimeInterval {\n\n id: string = 'LastOneWeekInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'weeks').startOf('weeks').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'weeks').endOf('weeks').toDate()\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastTenMinutesInterval implements TimeInterval {\n\n id: string = 'LastTenMinutesInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(10, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastThirtyMinutesInterval implements TimeInterval {\n\n id: string = 'LastThirtyMinutesInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(30, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class TodayInterval implements TimeInterval {\n\n id: string = 'TodayInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('day').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastFiveMinutesInterval implements TimeInterval {\n\n id: string = 'LastFiveMinutesInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(5, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastTwoHoursInterval implements TimeInterval {\n\n id: string = 'LastTwoHoursInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(2, 'hours').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastThreeHoursInterval implements TimeInterval {\n\n id: string = 'LastThreeHoursInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(3, 'hours').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastMonthInterval implements TimeInterval {\n\n id: string = 'LastMonthInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'month').startOf('month').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'month').endOf('month').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class ThisYearInterval implements TimeInterval {\n\n id: string = 'ThisYearInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('year').toDate();\n }\n\n getEndDate(): Date {\n return moment().toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class ThisWeekInterval implements TimeInterval {\n\n id: string = 'ThisWeekInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('week').toDate();\n }\n\n getEndDate(): Date {\n return moment().toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastYearInterval implements TimeInterval {\n\n id: string = 'LastYearInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'year').startOf('year').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'year').endOf('year').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class YesterdayInterval implements TimeInterval {\n\n id: string = 'YesterdayInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'day').startOf('day').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'day').endOf('day').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastQuarterInterval implements TimeInterval {\n\n id: string = 'LastQuarterInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('quarter').subtract(1, 'quarter').toDate();\n }\n\n getEndDate(): Date {\n return moment().endOf('quarter').subtract(1, 'quarter').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class ThisQuarterInterval implements TimeInterval {\n\n id: string = 'ThisQuarterInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('quarter').toDate();\n }\n\n getEndDate(): Date {\n return moment().toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastTwentyFourHoursInterval implements TimeInterval {\n\n id: string = 'LastTwentyFourHoursInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(24, 'hours').toDate();\n }\n\n}\n","import { CurrentMonthInterval } from '../default-interval/current-month-interval';\nimport { TimeIntervalsBuilder } from './time-intervals.builder';\nimport { LastHourInterval } from '../default-interval/last-hour-interval';\nimport { LastMinuteInterval } from '../default-interval/last-minute-interval';\nimport { LastOneWeekInterval } from '../default-interval/last-one-week-interval';\nimport { LastTenMinutesInterval } from '../default-interval/last-ten-minutes-interval';\nimport { LastThirtyMinutesInterval } from '../default-interval/last-thirty-minutes-interval';\nimport { TodayInterval } from '../default-interval/today-interval';\nimport { LastFiveMinutesInterval } from '../default-interval/last-five-minutes-interval';\nimport { LastTwoHoursInterval } from '../default-interval/last-two-hours-interval';\nimport { LastThreeHoursInterval } from '../default-interval/last-three-hours-interval';\nimport { LastMonthInterval } from '../default-interval/last-month-interval';\nimport { ThisYearInterval } from '../default-interval/this-year-interval';\nimport { ThisWeekInterval } from '../default-interval/this-week-interval';\nimport { LastYearInterval } from '../default-interval/last-year-interval';\nimport { YesterdayInterval } from '../default-interval/yesterday-interval';\nimport { LastQuarterInterval } from '../default-interval/last-quarter-interval';\nimport { ThisQuarterInterval } from '../default-interval/this-quarter-interval';\nimport { LastTwentyFourHoursInterval } from '../default-interval/last-twenty-four-hours-interval';\n\nexport class DefaultIntervalsBuilder extends TimeIntervalsBuilder {\n\n public static builder(): DefaultIntervalsBuilder {\n return new DefaultIntervalsBuilder()\n }\n\n public withTodayInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new TodayInterval(label));\n return this;\n }\n\n public withCurrentMonthInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new CurrentMonthInterval(label));\n return this;\n }\n\n public withThisYearInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new ThisYearInterval(label));\n return this;\n }\n\n public withThisWeekInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new ThisWeekInterval(label));\n return this;\n }\n\n public withLastHourInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastHourInterval(label));\n return this;\n }\n\n public withLastTwoHoursInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastTwoHoursInterval(label));\n return this;\n }\n\n public withLastThreeHoursInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastThreeHoursInterval(label));\n return this;\n }\n\n public withLastTwentyFourHoursInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastTwentyFourHoursInterval(label));\n return this;\n }\n\n public withLastMinuteInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastMinuteInterval(label));\n return this;\n }\n\n public withLastOneWeekInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastOneWeekInterval(label));\n return this;\n }\n\n public withLastFiveMinutesInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastFiveMinutesInterval(label));\n return this;\n }\n\n public withLastTenMinutesInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastTenMinutesInterval(label));\n return this;\n }\n\n public withLastThirtyMinutesInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastThirtyMinutesInterval(label));\n return this;\n }\n\n public withLastMonthInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastMonthInterval(label));\n return this;\n }\n\n public withLastYearInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastYearInterval(label));\n return this;\n }\n\n public withYesterdayInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new YesterdayInterval(label));\n return this;\n }\n\n public withThisQuarter(label: string): DefaultIntervalsBuilder {\n this.withInterval(new ThisQuarterInterval(label));\n return this;\n }\n\n public withLastQuarter(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastQuarterInterval(label));\n return this;\n }\n\n}\n","import { TimeInterval } from '../default-interval/time-interval';\nimport { CurrentMonthInterval } from '../default-interval/current-month-interval';\nimport { LastHourInterval } from '../default-interval/last-hour-interval';\nimport { LastMinuteInterval } from '../default-interval/last-minute-interval';\nimport { LastOneWeekInterval } from '../default-interval/last-one-week-interval';\nimport { LastTenMinutesInterval } from '../default-interval/last-ten-minutes-interval';\nimport { LastThirtyMinutesInterval } from '../default-interval/last-thirty-minutes-interval';\nimport { TodayInterval } from '../default-interval/today-interval';\nimport { TimeIntervalValue } from '../model/date-time-internal.model';\nimport { LastTwoHoursInterval } from '../default-interval/last-two-hours-interval';\nimport { LastThreeHoursInterval } from '../default-interval/last-three-hours-interval';\nimport { LastFiveMinutesInterval } from '../default-interval/last-five-minutes-interval';\nimport { LastMonthInterval } from '../default-interval/last-month-interval';\nimport { ThisYearInterval } from '../default-interval/this-year-interval';\nimport { ThisWeekInterval } from '../default-interval/this-week-interval';\nimport { LastYearInterval } from '../default-interval/last-year-interval';\nimport { YesterdayInterval } from '../default-interval/yesterday-interval';\nimport { ThisQuarterInterval } from '../default-interval/this-quarter-interval';\nimport { LastQuarterInterval } from '../default-interval/last-quarter-interval';\nimport { LastTwentyFourHoursInterval } from '../default-interval/last-twenty-four-hours-interval';\n\nexport class TimeIntervalValueBuilder {\n\n private _timezone: string = 'America/Sao_Paulo'\n private _absoluteStartDate: Date\n private _absoluteEndDate: Date\n private _interval: TimeInterval\n\n public static builder(): TimeIntervalValueBuilder {\n return new TimeIntervalValueBuilder();\n }\n\n public withTimezone(timezone: string): TimeIntervalValueBuilder {\n this._timezone = timezone || this._timezone;\n return this;\n }\n\n public withAbsoluteStartDate(date: Date): TimeIntervalValueBuilder {\n this._absoluteStartDate = date;\n this._interval = undefined\n return this;\n }\n\n public withAbsoluteEndDate(date: Date): TimeIntervalValueBuilder {\n this._absoluteEndDate = date;\n this._interval = undefined\n return this;\n }\n\n public withCurrentMonthInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new CurrentMonthInterval(label));\n return this;\n }\n\n public withLastMonthInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastMonthInterval(label));\n return this;\n }\n\n public withThisYearInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new ThisYearInterval(label));\n return this;\n }\n\n public withThisWeekInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new ThisWeekInterval(label));\n return this;\n }\n\n public withLastHourInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastHourInterval(label));\n return this;\n }\n\n public withLastMinuteInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastMinuteInterval(label));\n return this;\n }\n\n public withLastTwoHoursInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastTwoHoursInterval(label));\n return this;\n }\n\n public withLastThreeHoursInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastThreeHoursInterval(label));\n return this;\n }\n\n public withLastTwentyFourHoursInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastTwentyFourHoursInterval(label));\n return this;\n }\n\n public withLastOneWeekInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastOneWeekInterval(label));\n return this;\n }\n\n public withLastFiveMinutesInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastFiveMinutesInterval(label));\n return this;\n }\n\n public withLastTenMinutesInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastTenMinutesInterval(label));\n return this;\n }\n\n public withLastThirtyMinutesInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastThirtyMinutesInterval(label));\n return this;\n }\n\n public withTodayInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new TodayInterval(label));\n return this;\n }\n\n public withLastYearInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastYearInterval(label));\n return this;\n }\n\n public withYesterdayInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new YesterdayInterval(label));\n return this;\n }\n\n public withThisQuarter(label: string): TimeIntervalValueBuilder {\n this.withInterval(new ThisQuarterInterval(label));\n return this;\n }\n\n public withLastQuarter(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastQuarterInterval(label));\n return this;\n }\n\n public withInterval(interval: TimeInterval): TimeIntervalValueBuilder {\n this._absoluteStartDate = undefined;\n this._absoluteEndDate = undefined;\n this._interval = interval;\n return this\n }\n\n public build(): TimeIntervalValue {\n const value = new TimeIntervalValue(this._timezone);\n value.interval = this._interval;\n value.absoluteStartDate = this._absoluteStartDate;\n value.absoluteEndDate = this._absoluteEndDate;\n return value;\n }\n\n}\n","// Export builders\nexport * from './builder/default-intervals.builder'\nexport * from './builder/time-interval-value.builder'\nexport * from './builder/time-intervals.builder'\n\n// Export model class\nexport * from './model/date-time-internal.model'\n\n// Export default intervals\nexport * from './default-interval/time-interval'\nexport * from './default-interval/current-month-interval'\nexport * from './default-interval/last-five-minutes-interval'\nexport * from './default-interval/last-hour-interval'\nexport * from './default-interval/last-minute-interval'\nexport * from './default-interval/last-month-interval'\nexport * from './default-interval/last-one-week-interval'\nexport * from './default-interval/last-quarter-interval'\nexport * from './default-interval/last-ten-minutes-interval'\nexport * from './default-interval/last-thirty-minutes-interval'\nexport * from './default-interval/last-three-hours-interval'\nexport * from './default-interval/last-two-hours-interval'\nexport * from './default-interval/last-year-interval'\nexport * from './default-interval/this-quarter-interval'\nexport * from './default-interval/this-week-interval'\nexport * from './default-interval/this-year-interval'\nexport * from './default-interval/today-interval'\nexport * from './default-interval/yesterday-interval'\n\n// Export Component\nexport * from './input-date-time-interval.component'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i7","i8","i2","i3","i4","i5","i1","i6","i4.InputTextComponent","i4.AceEditorComponent","moment"],"mappings":"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"}
1
+ {"version":3,"file":"apipass-inputs.mjs","sources":["../../../projects/inputs/src/value-acessor-base.ts","../../../projects/inputs/src/select-enum/select-enum.component.ts","../../../projects/inputs/src/select-enum/select-enum.component.html","../../../projects/inputs/src/input-text/input-text.component.ts","../../../projects/inputs/src/input-text/input-text.component.html","../../../projects/inputs/src/input-avatar/input-avatar.component.ts","../../../projects/inputs/src/input-avatar/input-avatar.component.html","../../../projects/inputs/src/field/field.component.ts","../../../projects/inputs/src/select-box/select-box.component.ts","../../../projects/inputs/src/select-box/select-box.component.html","../../../projects/inputs/src/select-box/mat-select-infinite-scroll.directive.ts","../../../projects/inputs/src/custom-select/custom-select-item.ts","../../../projects/inputs/src/custom-select/custom-select.component.ts","../../../projects/inputs/src/custom-select/custom-select.component.html","../../../projects/inputs/src/input-file/input-file.component.ts","../../../projects/inputs/src/input-file/input-file.component.html","../../../projects/inputs/src/ace-editor/component.ts","../../../projects/inputs/src/ace-editor/directive.ts","../../../projects/inputs/src/input-number/input-number.component.ts","../../../projects/inputs/src/input-number/input-number.component.html","../../../projects/inputs/src/input-boolean/input-boolean.component.ts","../../../projects/inputs/src/input-boolean/input-boolean.component.html","../../../projects/inputs/src/debounce-model-directive/debouceInput.directive.ts","../../../projects/inputs/src/select-interpolation/select-interpolation.component.ts","../../../projects/inputs/src/select-interpolation/select-interpolation.component.html","../../../projects/inputs/src/input-image/input-image.component.ts","../../../projects/inputs/src/input-image/input-image.component.html","../../../projects/inputs/src/input-date-time-interval/model/date-time-internal.model.ts","../../../projects/inputs/src/input-date-time-interval/input-date-time-interval.component.ts","../../../projects/inputs/src/input-date-time-interval/input-date-time-interval.component.html","../../../projects/inputs/src/input-key-value/key-value-input.component.ts","../../../projects/inputs/src/input-key-value/key-value-input.component.html","../../../projects/inputs/src/ace-editor-input/ace-editor-input.component.ts","../../../projects/inputs/src/ace-editor-input/ace-editor-input.component.html","../../../projects/inputs/src/inputs.module.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/current-month-interval.ts","../../../projects/inputs/src/input-date-time-interval/builder/time-intervals.builder.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-hour-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-minute-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-one-week-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-ten-minutes-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-thirty-minutes-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/today-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-five-minutes-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-two-hours-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-three-hours-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-month-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/this-year-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/this-week-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-year-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/yesterday-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-quarter-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/this-quarter-interval.ts","../../../projects/inputs/src/input-date-time-interval/default-interval/last-twenty-four-hours-interval.ts","../../../projects/inputs/src/input-date-time-interval/builder/default-intervals.builder.ts","../../../projects/inputs/src/input-date-time-interval/builder/time-interval-value.builder.ts","../../../projects/inputs/src/input-date-time-interval/public-api.ts","../../../projects/inputs/src/apipass-inputs.ts"],"sourcesContent":["import { ControlValueAccessor } from '@angular/forms'\n\nexport abstract class ValueAccessorBase<T> implements ControlValueAccessor {\n\n private innerValue: any\n\n public onChange: any = () => {}\n public onTouched: any = () => {}\n\n get value (): T {\n return this.innerValue\n }\n\n set value (value: T) {\n value = this.changeValue(value)\n this.innerValue = value\n this.onChange(value)\n this.onTouched()\n }\n\n protected changeValue (value: T): T {\n return value\n }\n\n writeValue (value: T): void {\n this.innerValue = value\n }\n\n registerOnChange (fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched (fn: any): void {\n this.onTouched = fn\n }\n\n touch (): void {\n this.onTouched.forEach((f: () => any) => f())\n }\n\n}\n","import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'select-enum',\n templateUrl: 'select-enum.component.html',\n styleUrls: ['select-enum.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectEnumComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectEnumComponent extends ValueAccessorBase<string> {\n\n private _data: any;\n\n @Input() public placeholder = 'Selecione'\n @Input() public findPlaceHolder = 'Find item'\n @Input() public enabledSearch = true\n @Input() public disabled = false\n\n @Input() set data (data: any) {\n this._data = data ? Object.entries(data).map(([key, value]) => ({ key, value })) : {};\n }\n\n get data (): any {\n return this._data\n }\n\n public search = ''\n\n onKeyDown (event: any): void {\n if (event.which === 32) { event.target.value += ' ' }\n event.stopPropagation()\n }\n\n}\n","<mat-form-field class=\"apipass-select apipass-select-enum\" appearance=\"outline\" >\n <mat-label *ngIf=\"placeholder\">{{placeholder}}</mat-label>\n <mat-select [(ngModel)]=\"value\" [disabled]=\"disabled\" (click)=\"search = ''\" panelClass=\"select-enum-panel\">\n <mat-option class=\"mat-select-input\" *ngIf=\"enabledSearch\" (keydown)=\"onKeyDown($event)\" disabled=\"disabled\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"search\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </mat-option>\n <mat-option *ngFor=\"let enumData of data | selectEnumFilter: search\" [value]=\"enumData.key\">{{ enumData.value }}</mat-option>\n </mat-select>\n</mat-form-field>\n","import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { isNumber } from 'lodash';\nimport { DndDropEvent } from 'ngx-drag-drop';\n\nexport interface InputOptionsType {\n value: string\n title: string\n}\n\n@Component({\n selector: 'input-text',\n templateUrl: 'input-text.component.html',\n styleUrls: ['input-text.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputTextComponent extends ValueAccessorBase<string> {\n\n private _inputOptionsInitSelected: string\n private _inputOptions: InputOptionsType[] = []\n\n @Input() componentId: string\n @Input() label = ''\n @Input() disabled = false\n @Input() iconSuffix = ''\n @Input() iconPrefix = ''\n @Input() autoComplete = 'on'\n @Input() size: 'DEFAULT' | 'SLIM' = 'DEFAULT'\n @Input() debounceTime: number = 0\n @Input() widthPercentageInputOptions: any = 10\n @Input() valueOptionsOnly: boolean = false\n\n @Input()\n set inputOptions(inputOptions: InputOptionsType[]) {\n this._inputOptions = inputOptions\n }\n\n get inputOptions(): InputOptionsType[] {\n return this._inputOptions\n }\n\n @Input()\n set inputOptionsInitSelected(inputOptionsInitSelected: string) {\n this._inputOptionsInitSelected = inputOptionsInitSelected\n }\n\n get inputOptionsInitSelected(): string {\n return this._inputOptionsInitSelected\n }\n\n @Output() public suffixIconClick: EventEmitter<boolean> = new EventEmitter<boolean>()\n @Output() public prefixIconClick: EventEmitter<boolean> = new EventEmitter<boolean>()\n @Output() public onDebounce: EventEmitter<string> = new EventEmitter<string>()\n @Output() public optionChanged: EventEmitter<string> = new EventEmitter<string>()\n @Output() public onDropEvent: EventEmitter<DndDropEvent> = new EventEmitter<DndDropEvent>()\n\n private readonly searchTerms: Subject<string> = new Subject<string>()\n\n public ngOnInit(): void {\n this.searchTerms.pipe(\n debounceTime(this.debounceTime),\n distinctUntilChanged()\n ).subscribe((value) => {\n this.onDebounce.emit(value)\n });\n if (!this.valueOptionsOnly) {\n this.inputOptionsInitSelected ||= this.inputOptions?.[0]?.value\n }\n }\n\n public onSearchInput(): void {\n if (this.debounceTime) {\n this.searchTerms.next(this.value)\n }\n }\n\n public prefixClick(): void {\n this.prefixIconClick.emit(true)\n }\n\n public suffixClick(): void {\n this.suffixIconClick.emit(true)\n }\n\n public isSlim(): boolean {\n return this.size === 'SLIM'\n }\n\n public isDefault(): boolean {\n return this.size === 'DEFAULT'\n }\n\n public widthInput(): number {\n if (this.valueOptionsOnly && this.inputOptions.length > 0) {\n return 0\n }\n if (isNumber(this.widthPercentageInputOptions)) {\n return this.inputOptions.length > 0 ? 100 - this.widthPercentageInputOptions : 100\n }\n return 100\n }\n\n public onOptionSelected(event: any): void {\n this.optionChanged.emit(event.value)\n }\n\n public getSelectWidth(): string {\n if (this.valueOptionsOnly && this.inputOptions.length > 0) {\n return '100%'\n }\n if (isNumber(this.widthPercentageInputOptions)) {\n return `${this.widthPercentageInputOptions}%`\n }\n return this.widthPercentageInputOptions;\n }\n\n public onDrop($event: DndDropEvent): void {\n this.onDropEvent.emit($event)\n }\n\n public getComponentId(suffix: string): string {\n return this.componentId ? `${this.componentId}-${suffix}` : undefined\n }\n\n}\n","<mat-form-field\n class=\"apipass-input-text\"\n [ngClass]=\"{'apipass-input-text-slim': isSlim(), 'apipass-input-text': isDefault(), 'outer-options-only': (valueOptionsOnly && inputOptions.length > 0)}\"\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n appearance=\"outline\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" [ngClass]=\"{'mat-icon-slim': isSlim()}\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input *ngIf=\"!(valueOptionsOnly && inputOptions.length > 0)\"\n [id]=\"getComponentId('input')\" matInput type=\"text\" class=\"input-text\" [ngStyle]=\"{ width: widthInput() + '%' }\" [(ngModel)]=\"value\"\n [disabled]=\"disabled\" [autocomplete]=\"autoComplete\"\n (input)=\"onSearchInput()\" />\n <div *ngIf=\"this.inputOptions.length > 0\" class=\"select-container\"\n [ngStyle]=\"{ width: getSelectWidth() }\" [ngClass]=\"{ 'select-container': isDefault(),\n 'select-container-slim':isSlim(), 'options-only': (valueOptionsOnly && inputOptions.length > 0) }\">\n <mat-form-field [ngClass]=\"{'apipass-input-text-slim': isSlim(), 'apipass-input-text': isDefault()}\">\n <mat-select [id]=\"getComponentId('select')\" [(value)]=\"inputOptionsInitSelected\" (selectionChange)=\"onOptionSelected($event)\">\n <mat-option *ngFor=\"let item of inputOptions\" [value]=\"item.value\">{{item.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <mat-icon class=\"mat-icon-suffix\" [ngClass]=\"{'mat-icon-slim': isSlim()}\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'input-avatar',\n templateUrl: 'input-avatar.component.html',\n styleUrls: ['input-avatar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputAvatarComponent {\n\n @Input() avatarFormData: FormData = new FormData()\n @Input() avatarUrl: string | ArrayBuffer | null = 'assets/images/no-image.png'\n @Input() imageAlt = 'Avatar'\n @Input() imageTitle = ''\n @Input() accept = 'image/png, image/jpeg'\n\n @Input() canRemove = false\n @Input() removeTitle = ''\n\n @Input() canUpload = false\n @Input() uploadTitle = ''\n\n @Input() canModify = false\n @Input() modifyTitle = ''\n\n @Input() imageBorderRadius = '50%'\n @Input() width = '65px'\n @Input() height = '65px'\n @Input() iconFontSize = '16px'\n\n @Output() public onFileChanged = new EventEmitter<{ avatarUrl: string | ArrayBuffer | null, avatarFormData: FormData }>()\n\n public hasImage (): boolean {\n return this.avatarUrl !== 'assets/images/no-image.png'\n }\n\n public canAction (): boolean {\n return this.canRemove || this.canModify || this.canUpload\n }\n\n public fileChange (event: any): void {\n const fileList: FileList = event.target.files\n if (fileList.length > 0) {\n const file: File = fileList[0]\n this.avatarFormData = new FormData()\n this.avatarFormData.append('file', file, file.name)\n if (!file.type.match(/image\\/*/)) {\n return\n }\n const reader = new FileReader()\n reader.readAsDataURL(fileList[0])\n reader.onload = () => {\n this.avatarUrl = reader.result\n this.emitChangeEvent()\n }\n }\n }\n\n removeClick (): void {\n this.avatarFormData = new FormData()\n this.avatarUrl = 'assets/images/no-image.png'\n this.emitChangeEvent()\n }\n\n private emitChangeEvent (): void {\n this.onFileChanged.emit({ avatarUrl: this.avatarUrl, avatarFormData: this.avatarFormData })\n }\n\n}\n","<div class=\"input-avatar\" [ngStyle]=\"{'width': width, 'height': height}\">\n <img loading=\"lazy\" [src]=\"avatarUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%', 'border-radius': imageBorderRadius}\"/>\n <div class=\"image-backdrop\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\"></div>\n <div class=\"image-actions\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\">\n <icon *ngIf=\"!hasImage() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasImage() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasImage() && canRemove\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n <input #actionFile id=\"action-icon\" type=\"file\" accept=\"{{accept}}\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n</div>\n","import { Component, Input } from '@angular/core'\nimport { AbstractControl, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-field',\n template: `\n <div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"label-text\" *ngIf=\"label\">{{ label }}</label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n\n <span *ngIf=\"state && !state.valid && !state.pristine && state.touched && state.errors\" class=\"help-block text-danger\">\n <span *ngIf=\"state.hasError('required')\">Este campo é obrigatório</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('validateEmail')\">E-mail inválido</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('minlength')\">Tamanho mínimo inválido</span>\n </span>\n </div>\n `\n})\nexport class FieldComponent {\n\n /**\n * Texto para label do Input\n */\n @Input() label = ''\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | AbstractControl | undefined\n\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n type OnDestroy,\n type OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { Subject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'select-box',\n templateUrl: 'select-box.component.html',\n styleUrls: ['select-box.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectBoxComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectBoxComponent extends ValueAccessorBase<any> implements OnInit, OnDestroy {\n\n @Input() public placeholder = 'Select Item'\n @Input() public searchPlaceHolder = 'Search'\n @Input() public clearText = 'Clear'\n @Input() public notFoundText = 'No Items Found'\n @Input() public enabledSearch = true\n @Input() public data: any[] = []\n @Input() public disabled = false\n @Input() public selectedItem: any\n @Input() public selectProperty: any\n\n @Input() public bindImageUrl = ''\n @Input() public bindKey = ''\n @Input() public bindValue = ''\n\n @Input() public limitItens = 30\n\n @Input() public showAddNewItem = false\n @Input() public addNewItemText = 'Add New Item'\n @Input() public addNewItemIcon = ''\n @Input() public addNewItemClickCloseSelect = false\n\n @Input() public closeOnBodyScroll = false\n\n @Input() public initializing = false\n @Input() public loadingText = 'Loading...'\n\n @Output() public onOpenSelectBox = new EventEmitter<any>()\n @Output() public onCloseSelectBox = new EventEmitter<any>()\n @Output() public onSelectChange = new EventEmitter<any>()\n @Output() public onSelectClear = new EventEmitter<any>()\n @Output() public onAddNewItemClick = new EventEmitter<any>()\n\n @ViewChild('ngSelectComponent')\n public ngSelectComponent: NgSelectComponent | undefined\n\n public visibleItens: any[] = []\n public loading = false\n public inputFilter = new Subject<string>()\n public lastSearchTerm = ''\n\n ngOnInit (): void {\n this.onSearch()\n if (this.closeOnBodyScroll) {\n window.addEventListener('scroll', this.onBodyScroll, true)\n }\n }\n\n private readonly onBodyScroll = (event: any): void => {\n if (this.closeOnBodyScroll && this.ngSelectComponent?.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string)?.includes('ng-dropdown-panel-items')\n if (isScrollingInScrollHost) {\n return\n }\n this.ngSelectComponent.close()\n }\n }\n\n ngOnDestroy (): void {\n if (this.closeOnBodyScroll) {\n window.removeEventListener('scroll', this.onBodyScroll, true)\n }\n }\n\n onSearch (): void {\n this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe((searchString: string) => {\n this.loading = true\n this.lastSearchTerm = searchString\n if (searchString && this.data) {\n this.visibleItens = this.data.filter(\n item => item[this.bindValue]?.toString().toLowerCase().includes(searchString.toLowerCase())\n ).slice(0, this.limitItens)\n } else if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens)\n } else {\n this.visibleItens = []\n }\n setTimeout(() => {\n this.loading = false\n }, 300)\n })\n }\n\n onScroll ({ end }): void {\n const data = this.lastSearchTerm\n ? this.data.filter(\n item => item[this.bindValue]?.toString().toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n )\n : this.data\n if (this.loading || data.length <= this.visibleItens.length) {\n return\n }\n if (end + 5 >= this.visibleItens.length) {\n this.fetchMore()\n }\n }\n\n onScrollToEnd (): void {\n if (this.loading) {\n return\n }\n this.fetchMore()\n }\n\n fetchMore (): void {\n this.loading = true\n const len = this.visibleItens.length\n const more = this.lastSearchTerm\n ? this.data.filter(\n item => item[this.bindValue]?.toString().toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ).slice(len, this.limitItens + len)\n : this.data.slice(len, this.limitItens + len)\n this.visibleItens = this.visibleItens.concat(more)\n this.loading = false\n }\n\n onKeyDown (event: any): void {\n if (event.which === 32) {\n event.target.value += ' '\n }\n event.stopPropagation()\n }\n\n onSelectionChange (event: Event): void {\n this.findSelectedItem(this.value)\n this.onSelectChange.emit(this.selectedItem)\n }\n\n openSelectBox ($event: any): void {\n this.visibleItens = []\n if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens)\n }\n this.onOpenSelectBox.next(undefined)\n }\n\n public compareFn (a: any, b: any): boolean {\n return a[this.bindKey] === b[this.bindKey]\n }\n\n onClear (): void {\n this.onSelectClear.next(undefined)\n }\n\n onClose ($event?: any): void {\n this.onCloseSelectBox.next(undefined)\n }\n\n onAddNewItem (): void {\n if (this.addNewItemClickCloseSelect) {\n this.ngSelectComponent?.close()\n }\n this.onAddNewItemClick.next(undefined)\n }\n\n writeValue (value: any): void {\n super.writeValue(value)\n if (value) {\n this.findSelectedItem(value)\n }\n }\n\n findSelectedItem (value: any): void {\n if (this.selectProperty) {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value)\n } else if (value) {\n this.selectedItem = this.data?.find(el => el[this.bindKey] === value[this.bindKey])\n } else {\n this.selectedItem = null\n }\n }\n\n}\n","<ng-select #ngSelectComponent\n [(ngModel)]=\"value\"\n [items]=\"visibleItens\"\n [virtualScroll]=\"true\"\n [loading]=\"loading || initializing\"\n [loadingText]=\"loadingText\"\n [placeholder]=\"placeholder\"\n [clearAllText]=\"clearText\"\n [searchable]=\"enabledSearch\"\n [typeToSearchText]=\"searchPlaceHolder\"\n (open)=\"openSelectBox($event)\"\n (close)=\"onClose($event)\"\n (clear)=\"onClear()\"\n [notFoundText]=\"notFoundText\"\n [disabled]=\"disabled\"\n appendTo=\"body\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n (change)=\"onSelectionChange($event)\"\n [typeahead]=\"inputFilter\"\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\n [compareWith]=\"compareFn\"\n [bindValue]=\"selectProperty\">\n\n <ng-template *ngIf=\"selectProperty && selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 30px;height: 30px; margin-right: 10px;\"\n *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"selectedItem[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"selectedItem[bindValue]\"\n [matTooltip]=\"selectedItem[bindValue]\"\n style=\"width: auto;max-width: 30px;height: 30px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"selectedItem && selectedItem[bindKey] && selectedItem[bindValue]\">{{selectedItem[bindValue]}}</span>\n </ng-template>\n\n <ng-template *ngIf=\"!selectProperty && value && value[bindKey] && value[bindValue]\" ng-label-tmp let-item=\"item\">\n <div class=\"image\" style=\"width: 30px;height: 30px; margin-right: 10px;\"\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"value[bindValue]\"\n [matTooltip]=\"value[bindValue]\"\n style=\"width: auto;max-width: 30px;height: 30px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\n </ng-template>\n\n <ng-template ng-header-tmp *ngIf=\"this.showAddNewItem\">\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <div class=\"image\" style=\"width: 30px;height: 30px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"item[bindValue]\"\n [matTooltip]=\"item[bindValue]\"\n style=\"width: auto;max-width: 30px;height: 30px;\"\n />\n </div>\n <span class=\"select-text-element\"\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\n </ng-template>\n\n</ng-select>\n","import { AfterViewInit, Directive, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output } from '@angular/core'\nimport { MatSelect } from '@angular/material/select'\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators'\nimport { fromEvent, Subject } from 'rxjs'\n\n/** The height of the select items in `em` units. */\nconst SELECT_ITEM_HEIGHT_EM = 3\n\n@Directive({\n selector: '[msInfiniteScroll]'\n})\nexport class MatSelectInfiniteScrollDirective implements OnInit, OnDestroy, AfterViewInit {\n\n @Input() threshold = '15%'\n @Input() debounceTime = 150\n @Input() complete!: boolean\n @Output() infiniteScroll = new EventEmitter<void>()\n\n private panel!: Element\n private thrPx = 0\n private thrPc = 0\n private singleOptionHeight = SELECT_ITEM_HEIGHT_EM\n\n private readonly destroyed$ = new Subject<boolean>()\n\n constructor (private readonly matSelect: MatSelect, private readonly ngZone: NgZone) {\n }\n\n ngOnInit (): void {\n this.evaluateThreshold()\n }\n\n ngAfterViewInit (): void {\n this.matSelect.openedChange.pipe(\n takeUntil(this.destroyed$)\n ).subscribe((opened) => {\n if (opened) {\n this.panel = this.matSelect.panel.nativeElement\n this.singleOptionHeight = this.getSelectItemHeightPx()\n this.registerScrollListener()\n }\n })\n }\n\n ngOnDestroy (): void {\n this.destroyed$.next(true)\n this.destroyed$.complete()\n }\n\n evaluateThreshold (): void {\n if (this.threshold.lastIndexOf('%') > -1) {\n this.thrPx = 0\n this.thrPc = (parseFloat(this.threshold) / 100)\n } else {\n this.thrPx = parseFloat(this.threshold)\n this.thrPc = 0\n }\n }\n\n registerScrollListener (): void {\n fromEvent(this.panel, 'scroll').pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime),\n tap((event) => {\n this.handleScrollEvent(event)\n })\n ).subscribe()\n }\n\n handleScrollEvent (event: any): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.complete) {\n return\n }\n const countOfRenderedOptions = this.matSelect.options.length\n const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions\n const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx\n\n const scrolledDistance = this.panel.clientHeight + event.target.scrollTop\n\n if ((scrolledDistance + threshold) >= infiniteScrollDistance) {\n this.ngZone.run(() => { this.infiniteScroll.emit() })\n }\n })\n }\n\n getSelectItemHeightPx (): number {\n return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM\n }\n\n}\n","export class CustomSelectItem {\n\n public id: string | undefined | null\n public text: string\n public data?: any\n\n constructor (id: string | undefined | null, text: string, data?: any) {\n this.id = id\n this.text = text\n this.data = data\n }\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { CustomSelectItem } from './custom-select-item'\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay'\n\n@Component({\n selector: 'custom-select',\n templateUrl: 'custom-select.component.html',\n styleUrls: ['custom-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomSelectComponent),\n multi: true\n }]\n\n})\nexport class CustomSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n\n private _currentAuthorizationId: string\n private _items: CustomSelectItem[] = []\n scrollStrategy: ScrollStrategy\n _triggerRect: ClientRect | undefined\n\n @Input() set items (items: CustomSelectItem[]) {\n this._items = items\n if (this._items?.length > 0) {\n this.fillSelectValue()\n }\n }\n\n get items (): CustomSelectItem[] {\n return this._items\n }\n\n @Input() disabled = false\n @Input() allowTyping = false\n @Input() allowRemove = false\n @Input() allowAddItem = true\n @Input() showEditIcon = true\n @Input() addItemLabel = 'Add New Item'\n @Input() placeHolder = 'Select'\n @Input() findPlaceHolder = 'Find item'\n @Input() searchText = ''\n\n @Input() set currentAuthorizationId (currentAuthorizationId: string) {\n this._currentAuthorizationId = currentAuthorizationId;\n if (this._currentAuthorizationId) {\n this.fillSelectValue()\n }\n }\n\n get currentAuthorizationId (): string {\n return this._currentAuthorizationId\n }\n\n @Output() onSelect = new EventEmitter<CustomSelectItem>()\n @Output() onUnSelect = new EventEmitter<any>()\n @Output() onAddItem = new EventEmitter<any>()\n @Output() onUpdateItem = new EventEmitter<any>()\n\n @ViewChild('trigger') trigger: ElementRef | undefined\n @ViewChild('input', { read: ElementRef }) input: ElementRef | undefined\n\n public opened = false\n public selectedItem: CustomSelectItem | undefined\n public initialItem: CustomSelectItem | undefined\n private innerValue: any\n private selectedModelValue: string | undefined\n public canEditItem = false;\n\n private edited = false\n\n @HostBinding('attr.tabindex') tabindex = '0'\n @HostListener('blur', ['$event.target']) onBlur (target: any): void {\n if (this.allowTyping) {\n if (this.value) {\n if (this.edited) {\n this.writeValue(this.value)\n this.selectedItem = new CustomSelectItem(this.value, this.value)\n this.onSelect.next(this.selectedItem)\n }\n } else {\n this.writeValue(undefined)\n this.onSelect.next(undefined)\n }\n }\n if (target?.relatedTarget?.classList.contains('search-input-item')) {\n return\n }\n this.setTriggerRect()\n }\n\n constructor (private readonly sso: ScrollStrategyOptions) {\n this.scrollStrategy = this.sso.block()\n }\n\n ngOnInit(): void {\n this.fillSelectValue()\n }\n\n ngAfterViewInit (): void {\n setTimeout(() => {\n this.setTriggerRect()\n }, 300)\n }\n\n private setTriggerRect (): void {\n setTimeout(() => {\n this._triggerRect = this.trigger?.nativeElement.getBoundingClientRect()\n })\n }\n\n public selectItem (item: CustomSelectItem): void {\n this.opened = false\n this.selectedItem = item\n this.edited = false\n this.selectedModelValue = item.text\n this.value = item.text\n this.searchText = ''\n this.canEditItem = true\n this.onSelect.next(item)\n }\n\n public addItem (): void {\n this.opened = false\n this.searchText = ''\n this.onAddItem.next(undefined)\n }\n\n public updateItem (event: any): void {\n event.stopPropagation()\n this.opened = false\n this.searchText = ''\n if (this.canEditItem) {\n this.onUpdateItem.next(this.selectedItem?.id || this.initialItem.id);\n }\n }\n\n public keyPress (): any {\n this.setTriggerRect()\n if (this.allowTyping) {\n this.opened = false\n this.edited = true\n this.canEditItem = false\n this.selectedModelValue = this.value\n this.searchText = ''\n } else {\n this.edited = false\n return false\n }\n }\n\n public clicked (): void {\n this.setTriggerRect()\n this.opened = true\n this.searchText = ''\n }\n\n public close ($event: Event): void {\n this.opened = false;\n $event.stopPropagation();\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value (): any {\n return this.innerValue\n }\n\n set value (value: any) {\n this.innerValue = value\n this.onChangeCallback(value)\n this.onSelect.next(value)\n }\n\n writeValue (value: any): void {\n if (value !== this.innerValue) {\n if (!this.selectedItem?.text || !value) {\n this.selectedItem = new CustomSelectItem(null, value)\n }\n if (value && !this.isInterpolationValue(value)) {\n this.fillSelectValue()\n }\n if (value && this.isInterpolationValue(value)) {\n this.allowRemove = true\n }\n this.innerValue = value\n this.selectedModelValue = value\n }\n }\n\n private isInterpolationValue (value: string): boolean {\n return value.includes('{{$.') && value.includes('}}')\n }\n\n registerOnChange (fn: any): void {\n this.onChangeCallback = fn\n }\n\n registerOnTouched (fn: any): void {\n this.onTouchedCallback = fn\n }\n\n setDisabledState (isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n public arrowClick (event: any): void {\n event.stopPropagation()\n this.setTriggerRect()\n if (this.opened) {\n this.opened = false\n } else {\n this.opened = true\n this.searchText = ''\n this.input?.nativeElement.focus()\n }\n }\n\n public removeClick (event: any): void {\n event.stopPropagation()\n this.opened = false\n this.searchText = ''\n this.innerValue = null\n this.canEditItem = false\n this.onUnSelect.next(undefined)\n }\n\n public onDrop ($event: any): void {\n this.searchText = ''\n if (!this.value) {\n this.value = ''\n }\n this.value += `{{${$event.data}}}`\n this.edited = true\n this.onBlur(undefined)\n }\n\n private fillSelectValue (): void {\n const selectItem = this._items?.find(item => item.id === this.currentAuthorizationId)\n if (selectItem?.id) {\n this.canEditItem = true\n this.allowRemove = true\n this.selectedItem = selectItem\n this.initialItem = selectItem\n }\n }\n\n}\n","<div class=\"custom-select-input\" #trigger>\n <mat-form-field\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"clicked()\" class=\"custom-select-component\"\n [ngClass]=\"{'select-open' : opened}\" appearance=\"outline\" autocomplete=\"off\">\n <mat-label *ngIf=\"placeHolder\">{{placeHolder}}</mat-label>\n <input matInput #input\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n autocomplete=\"off\"\n />\n\n <span *ngIf=\"showEditIcon && canEditItem\" class=\"edit-auth-icon\" (click)=\"updateItem($event)\">\n <i class=\"fas fa-pencil-alt\"></i>\n </span>\n\n <span *ngIf=\"allowRemove && value\" class=\"remove-icon\" (click)=\"removeClick($event)\">\n <i class=\"fa fa-times\"></i>\n </span>\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"close($event)\"\n (overlayOutsideClick)=\"close($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac search-input-item\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n\n <li *ngIf=\"allowAddItem\" class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\n <span class=\"fa fa-plus-circle\"></span>\n <span>{{addItemLabel}}</span>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n </ul>\n </ng-template>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'\n\nexport interface OnInvalidFileType {\n fileName: string\n typesSupported: string[]\n typeInvalid: string\n allowedExtensions?: string[]\n}\n\nexport interface OnFileChangedType {\n fileUrl: boolean\n fileFormData: FormData\n}\n\n@Component({\n selector: 'input-file',\n templateUrl: 'input-file.component.html',\n styleUrls: ['input-file.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFileComponent {\n\n @Input() fileFormData: FormData = new FormData()\n @Input() fileName: string | undefined\n\n @Input() canRemove = false\n @Input() removeTitle = ''\n\n @Input() canUpload = false\n @Input() uploadTitle = ''\n\n @Input() canModify = false\n @Input() modifyTitle = ''\n\n @Input() iconFontSize = '16px'\n\n @Input() emptyFileLabel = ''\n @Input() fileTypes: string[] = []\n @Input() allowedExtensions: string[] = []\n\n @Output() public onRemoveClick: EventEmitter<void> = new EventEmitter<void>()\n\n @Output() public onFileChanged: EventEmitter<OnFileChangedType> = new EventEmitter<OnFileChangedType>()\n\n @Output() public onInvalidFileType: EventEmitter<OnInvalidFileType> = new EventEmitter<OnInvalidFileType>()\n\n public fileUrl = false\n\n public hasFile (): boolean {\n return this.fileUrl || !!this.fileName\n }\n\n public canAction (): boolean {\n return this.canRemove || this.canModify || this.canUpload\n }\n\n public fileChange (event: any): void {\n const fileList: FileList = event.target.files\n if (fileList.length > 0) {\n const file: File = fileList[0]\n if (!this.isFileTypeSupported(file.type, file.name)) {\n this.onInvalidFileType.emit({\n fileName: file.name,\n typesSupported: this.fileTypes,\n typeInvalid: file.type,\n allowedExtensions: this.allowedExtensions\n })\n return\n }\n this.fileName = file.name\n this.fileFormData = new FormData()\n this.fileFormData.append('file', file, file.name)\n const reader = new FileReader()\n reader.readAsDataURL(fileList[0])\n reader.onload = (loadEvent) => {\n this.fileUrl = true\n this.emitChangeEvent()\n }\n }\n }\n\n public isFileTypeSupported (fileType: any, fileName: string): boolean {\n if (this.allowedExtensions?.length > 0) {\n return this.allowedExtensions.some(extension => fileName?.toLowerCase().endsWith(extension?.toLowerCase()))\n }\n return !this.fileTypes || this.fileTypes.includes(fileType)\n }\n\n public removeClick (): void {\n this.fileFormData = undefined\n this.fileName = undefined\n this.onRemoveClick.emit()\n }\n\n private emitChangeEvent (): void {\n this.onFileChanged.emit({\n fileUrl: this.fileUrl,\n fileFormData: this.fileFormData\n })\n }\n\n}\n"," <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasFile() && canRemove\"\n class=\"remove-icon\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n </div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport 'brace'\nimport 'brace/theme/monokai'\nimport { Ace } from 'ace-builds';\nimport Completion = Ace.Completion;\n\ndeclare let ace: any\n\n@Component({\n selector: 'ace-editor',\n template: '',\n styleUrls: ['ace-editor.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AceEditorComponent),\n multi: true\n }]\n})\nexport class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n\n @Output() textChanged = new EventEmitter()\n @Output() textChange = new EventEmitter()\n @Output() beforeDropEvent: EventEmitter<{ event: DragEvent, draggedText: string }> = new EventEmitter<{ event: DragEvent, draggedText: string }>()\n @Output() afterDropEvent: EventEmitter<{ event: DragEvent, draggedText: string }> = new EventEmitter<{ event: DragEvent, draggedText: string }>()\n @Input() style: any = {}\n\n _options: any = {}\n _readOnly: false = false\n _theme = 'monokai'\n _mode = 'html'\n _autoUpdateContent = true\n _editor: any\n _durationBeforeCallback = 0\n _text = ''\n\n oldText: any\n timeoutSaving: any\n\n public draggedText: string = '';\n\n constructor (elementRef: ElementRef, private readonly zone: NgZone) {\n const el = elementRef.nativeElement\n this.zone.runOutsideAngular(() => {\n this._editor = ace.edit(el)\n })\n this._editor.$blockScrolling = Infinity\n\n el.addEventListener('drop', (event: DragEvent) => {\n setTimeout(() => {\n event.preventDefault();\n this.beforeDropEvent.emit({ event, draggedText: this.draggedText })\n if (this.draggedText) {\n const dropPosition = this.getEditor().renderer.screenToTextCoordinates(event.clientX, event.clientY);\n this.getEditor().session.insert(dropPosition, this.draggedText);\n this.draggedText = undefined;\n }\n this.afterDropEvent.emit({ event, draggedText: this.draggedText })\n })\n });\n }\n\n ngOnInit (): void {\n this.init()\n this.initEvents()\n }\n\n ngOnDestroy (): void {\n this._editor.destroy()\n }\n\n init (): void {\n this._editor.setKeyboardHandler('ace/keyboard/vscode')\n this.setOptions({\n enableBasicAutocompletion: true,\n autoScrollEditorIntoView: true,\n enableLiveAutocompletion: true\n })\n this.setTheme(this._theme)\n this.setMode(this._mode)\n this.setReadOnly(this._readOnly)\n const completerIndex = this._editor.completers.findIndex((completer: { id: string }) => completer.id === 'apipass-completions')\n if (completerIndex > -1) { // only splice array when item is found\n this._editor.completers.splice(completerIndex, 1); // 2nd parameter means remove one item only\n }\n }\n\n public setCustomCompletions(customCompletions: Completion[]): void {\n const completer = this._editor.completers.find((completer: { id: string }) => completer.id === 'apipass-completions')\n if (!completer) {\n this.setOptions({\n enableBasicAutocompletion: true,\n autoScrollEditorIntoView: true,\n enableLiveAutocompletion: true\n })\n this._editor.completers.push({\n id: 'apipass-completions',\n getCompletions: function(editor, session, pos, prefix, callback) {\n callback(null, customCompletions);\n }\n });\n } else {\n completer.getCompletions = (editor, session, pos, prefix, callback) => {\n callback(null, customCompletions);\n }\n }\n }\n\n initEvents (): void {\n this._editor.on('change', () => {\n this.updateText()\n })\n this._editor.on('paste', () => {\n this.updateText()\n })\n }\n\n updateText (): void {\n const newVal = this._editor.getValue()\n if (newVal === this.oldText) {\n return\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n this._onChange(newVal)\n } else {\n if (this.timeoutSaving) {\n clearTimeout(this.timeoutSaving)\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n this.timeoutSaving = null\n }, this._durationBeforeCallback)\n }\n this.oldText = newVal\n }\n\n @Input() set options (options: any) {\n this.setOptions(options)\n }\n\n setOptions (options: any): void {\n this._options = options\n this._editor.setOptions(options || {})\n }\n\n @Input() set readOnly (readOnly: any) {\n this.setReadOnly(readOnly)\n }\n\n setReadOnly (readOnly: any): void {\n this._readOnly = readOnly\n this._editor.setReadOnly(readOnly)\n }\n\n @Input() set theme (theme: any) {\n this.setTheme(theme)\n }\n\n setTheme (theme: any): void {\n this._theme = theme\n this._editor.setTheme(`ace/theme/${theme}`)\n }\n\n @Input() set mode (mode: any) {\n this.setMode(mode)\n }\n\n setMode (mode: any): void {\n this._mode = mode\n if (typeof this._mode === 'object') {\n this._editor.getSession().setMode(this._mode)\n } else {\n this._editor.getSession().setMode(`ace/mode/${this._mode}`)\n }\n }\n\n get value (): string {\n return this.text\n }\n\n @Input()\n set value (value: string) {\n this.setText(value)\n }\n\n writeValue (value: any): void {\n this.setText(value)\n }\n\n private _onChange = (_: any): void => {\n }\n\n registerOnChange (fn: any): void {\n this._onChange = fn\n }\n\n private _onTouched = (): void => {\n }\n\n registerOnTouched (fn: any): void {\n this._onTouched = fn\n }\n\n get text (): string {\n return this._text\n }\n\n @Input()\n set text (text: string) {\n this.setText(text)\n }\n\n setText (text: any): void {\n if (text === null || text === undefined) {\n text = ''\n }\n if (this._text !== text && this._autoUpdateContent) {\n this._text = text\n this._editor.setValue(text)\n this._onChange(text)\n this._editor.clearSelection()\n }\n }\n\n @Input() set autoUpdateContent (status: any) {\n this.setAutoUpdateContent(status)\n }\n\n setAutoUpdateContent (status: any): void {\n this._autoUpdateContent = status\n }\n\n @Input() set durationBeforeCallback (num: number) {\n this.setDurationBeforeCallback(num)\n }\n\n setDurationBeforeCallback (num: number): void {\n this._durationBeforeCallback = num\n }\n\n getEditor (): any {\n return this._editor\n }\n\n}\n","\nimport { Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output } from '@angular/core'\nimport 'brace'\nimport 'brace/theme/monokai'\n\ndeclare let ace: any\n\n@Directive({\n selector: '[ace-editor]'\n})\nexport class AceEditorDirective implements OnInit, OnDestroy {\n\n @Output() textChanged = new EventEmitter()\n @Output() textChange = new EventEmitter()\n _options: any = {}\n _readOnly = false\n _theme = 'monokai'\n _mode = 'html'\n _autoUpdateContent = true\n _durationBeforeCallback = 0\n _text = ''\n editor: any\n oldText: any\n timeoutSaving: any\n\n constructor (elementRef: ElementRef, private readonly zone: NgZone) {\n const el = elementRef.nativeElement\n this.zone.runOutsideAngular(() => {\n this.editor = ace.edit(el)\n })\n this.editor.$blockScrolling = Infinity\n }\n\n ngOnInit (): void {\n this.init()\n this.initEvents()\n }\n\n ngOnDestroy (): void {\n this.editor.destroy()\n }\n\n init (): void {\n this.editor.setOptions(this._options || {})\n this.editor.setTheme(`ace/theme/${this._theme}`)\n this.setMode(this._mode)\n this.editor.setReadOnly(this._readOnly)\n }\n\n initEvents (): void {\n this.editor.on('change', () => { this.updateText() })\n this.editor.on('paste', () => { this.updateText() })\n }\n\n updateText (): void {\n const newVal = this.editor.getValue()\n if (newVal === this.oldText) {\n return\n }\n if (!this._durationBeforeCallback) {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n } else {\n if (this.timeoutSaving != null) {\n clearTimeout(this.timeoutSaving)\n }\n\n this.timeoutSaving = setTimeout(() => {\n this._text = newVal\n this.zone.run(() => {\n this.textChange.emit(newVal)\n this.textChanged.emit(newVal)\n })\n this.timeoutSaving = null\n }, this._durationBeforeCallback)\n }\n this.oldText = newVal\n }\n\n @Input() set options (options: any) {\n this._options = options\n this.editor.setOptions(options || {})\n }\n\n @Input() set readOnly (readOnly: any) {\n this._readOnly = readOnly\n this.editor.setReadOnly(readOnly)\n }\n\n @Input() set theme (theme: any) {\n this._theme = theme\n this.editor.setTheme(`ace/theme/${theme}`)\n }\n\n @Input() set mode (mode: any) {\n this.setMode(mode)\n }\n\n setMode (mode: any): void {\n this._mode = mode\n if (typeof this._mode === 'object') {\n this.editor.getSession().setMode(this._mode)\n } else {\n this.editor.getSession().setMode(`ace/mode/${this._mode}`)\n }\n }\n\n @Input()\n get text (): string {\n return this._text\n }\n\n set text (text: string) {\n this.setText(text)\n }\n\n setText (text: any): void {\n if (this._text !== text) {\n if (text === null || text === undefined) {\n text = ''\n }\n\n if (this._autoUpdateContent) {\n this._text = text\n this.editor.setValue(text)\n this.editor.clearSelection()\n }\n }\n }\n\n @Input() set autoUpdateContent (status: any) {\n this._autoUpdateContent = status\n }\n\n @Input() set durationBeforeCallback (num: number) {\n this.setDurationBeforeCallback(num)\n }\n\n setDurationBeforeCallback (num: number): void {\n this._durationBeforeCallback = num\n }\n\n get aceEditor (): any {\n return this.editor\n }\n\n}\n","import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'input-number',\n templateUrl: 'input-number.component.html',\n styleUrls: ['input-number.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumberComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputNumberComponent extends ValueAccessorBase<number> {\n\n @Input() label = ''\n @Input() disabled = false\n @Input() iconSuffix = ''\n @Input() iconPrefix = ''\n @Input() autoComplete = 'on'\n\n @Output() public suffixIconClick = new EventEmitter<boolean>()\n @Output() public prefixIconClick = new EventEmitter<boolean>()\n\n onKeyDown (event: any): void {\n if (event.which === 32) {\n event.target.value += ' '\n }\n event.stopPropagation()\n }\n\n prefixClick (): void {\n this.prefixIconClick.emit(true)\n }\n\n suffixClick (): void {\n this.suffixIconClick.emit(true)\n }\n\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"outline\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matPrefix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"number\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { ValueAccessorBase } from '../value-acessor-base'\n\n@Component({\n selector: 'input-boolean',\n templateUrl: 'input-boolean.component.html',\n styleUrls: ['input-boolean.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputBooleanComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputBooleanComponent extends ValueAccessorBase<boolean> {\n\n @Input() trueLabel = ''\n @Input() trueIconPrefix = ''\n @Input() trueIconSuffix = ''\n @Input() falseLabel = ''\n @Input() falseIconPrefix = ''\n @Input() falseIconSuffix = ''\n @Input() disabled = false\n\n public trueClick (): void {\n if (!this.disabled && !this.value) {\n this.value = true\n }\n }\n\n public falseClick (): void {\n if (!this.disabled && this.value) {\n this.value = false\n }\n }\n\n}\n","<div class=\"input-boolean\">\n\n <primary-button class=\"btn-true\"\n [selected]=\"this.value === true\"\n [label]=\"trueLabel\"\n [icon]=\"trueIconPrefix\"\n [suffixIcon]=\"trueIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"trueClick()\">\n </primary-button>\n\n <primary-button class=\"btn-false\"\n [selected]=\"this.value === false || this.value === undefined\"\n [label]=\"falseLabel\"\n [icon]=\"falseIconPrefix\"\n [suffixIcon]=\"falseIconSuffix\"\n [btnDisabled]=\"disabled\"\n (onClick)=\"falseClick()\">\n </primary-button>\n\n</div>\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core'\nimport { NgModel } from '@angular/forms'\nimport { Subscription } from 'rxjs'\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs/operators'\n\n@Directive({\n selector: '[debounceInput]'\n})\nexport class DebouceInputDirective implements OnDestroy {\n\n @Input()\n public debounceTime = 500\n\n @Output()\n public onDebounceTriggered = new EventEmitter<any>()\n\n public subscription: Subscription\n\n constructor (private readonly ngModel: NgModel) {\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1),\n distinctUntilChanged(),\n debounceTime(this.debounceTime)\n ).subscribe((value) => { this.onDebounceTriggered.emit(value) })\n }\n\n public ngOnDestroy (): void {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n }\n\n}\n","import {\n type AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { CustomSelectItem } from '../custom-select/custom-select-item'\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay'\n\n@Component({\n selector: 'select-interpolation',\n templateUrl: 'select-interpolation.component.html',\n styleUrls: ['select-interpolation.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectInterpolationComponent),\n multi: true\n }]\n})\nexport class SelectInterpolationComponent implements ControlValueAccessor, AfterViewInit {\n\n private innerValue: any\n private edited = false\n\n public scrollStrategy: ScrollStrategy\n public _triggerRect: ClientRect | undefined\n public selectedItem: CustomSelectItem | undefined\n public selectedItemLabel = ''\n public searchText = ''\n public opened = false\n\n @Input() public disabled = false\n @Input() public items: CustomSelectItem[] = []\n @Input() public placeHolder = 'Select'\n @Input() public findPlaceHolder = 'Find item'\n\n @Output() public onSelect = new EventEmitter<CustomSelectItem>()\n\n @ViewChild('trigger')\n public trigger: ElementRef | undefined\n\n @ViewChild('input', { read: ElementRef })\n public input: ElementRef | undefined\n\n constructor (private readonly sso: ScrollStrategyOptions) {\n this.scrollStrategy = this.sso.block()\n }\n\n @HostBinding('attr.tabindex') tabindex = '0'\n @HostListener('blur', ['$event.target']) onBlur (target: any): void {\n if (this.selectedItemLabel) {\n if (this.edited) {\n this.writeValue(this.selectedItemLabel)\n this.selectedItem = new CustomSelectItem(this.selectedItemLabel, this.selectedItemLabel)\n this.onSelect.next(this.selectedItem)\n }\n } else {\n this.writeValue(undefined)\n this.onSelect.next(undefined)\n }\n if (target?.relatedTarget?.classList.contains('search-input-item')) {\n return\n }\n this.setTriggerRect()\n }\n\n ngAfterViewInit (): void {\n setTimeout(() => {\n this.setInitialState()\n this.setTriggerRect()\n }, 300)\n }\n\n public setInitialState (): void {\n setTimeout(() => {\n if (this.value && this.items) {\n const selectedItem = this.items.find(item => item.id === this.value)\n this.selectedItemLabel = selectedItem?.text || this.value\n }\n })\n }\n\n private setTriggerRect (): void {\n setTimeout(() => {\n this._triggerRect = this.trigger?.nativeElement.getBoundingClientRect()\n })\n }\n\n public selectItem (item: CustomSelectItem): void {\n this.opened = false\n this.edited = false\n this.selectedItem = item\n this.value = item.id\n this.selectedItemLabel = item.text\n this.searchText = ''\n this.onSelect.next(item)\n }\n\n public keyPress (): any {\n this.setTriggerRect()\n this.opened = false\n this.edited = true\n this.searchText = ''\n }\n\n public clicked ($event?: Event): void {\n this.setTriggerRect()\n this.open($event);\n this.searchText = ''\n }\n\n public open ($event?: Event): void {\n this.opened = true;\n $event?.stopPropagation();\n }\n\n public close ($event?: Event): void {\n this.opened = false;\n $event?.stopPropagation();\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value (): any {\n return this.innerValue\n }\n\n set value (value: any) {\n this.innerValue = value\n this.onChangeCallback(value)\n }\n\n writeValue (value: any): void {\n if (value !== this.value) {\n this.value = value\n }\n }\n\n registerOnChange (fn: any): void {\n this.onChangeCallback = fn\n }\n\n registerOnTouched (fn: any): void {\n this.onTouchedCallback = fn\n }\n\n setDisabledState (isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n public arrowClick (event: any): void {\n event.stopPropagation()\n this.setTriggerRect()\n if (!this.opened) {\n this.open(event);\n this.searchText = ''\n this.input?.nativeElement.focus()\n }\n }\n\n public onDrop ($event: any): void {\n this.searchText = ''\n if (!this.value) {\n this.value = ''\n }\n this.edited = true\n this.value += `{{${$event.data}}}`\n this.selectedItemLabel = this.value\n this.onBlur(undefined)\n }\n\n}\n","<div class=\"custom-select-input\" #trigger>\n <mat-form-field\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDrop($event)\"\n cdkOverlayOrigin #origin=\"cdkOverlayOrigin\"\n (click)=\"clicked()\" class=\"custom-select-component\"\n [ngClass]=\"{'select-open' : opened}\" appearance=\"outline\" autocomplete=\"off\">\n <mat-label *ngIf=\"placeHolder\">{{placeHolder}}</mat-label>\n <input matInput #input\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"selectedItemLabel\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n autocomplete=\"off\"\n />\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n (backdropClick)=\"close($event)\"\n (overlayOutsideClick)=\"close($event)\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"outline\">\n <mat-label *ngIf=\"findPlaceHolder\">{{findPlaceHolder}}</mat-label>\n <input matInput class=\"search-input-item\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n </ul>\n </ng-template>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'\n\n@Component({\n selector: 'input-image',\n templateUrl: 'input-image.component.html',\n styleUrls: ['input-image.component.scss']\n})\nexport class InputImageComponent {\n\n @Input() imageFormData: FormData = new FormData()\n @Input() imageUrl: string | ArrayBuffer | null = 'assets/images/no-image.png'\n @Input() imageAlt = 'image'\n @Input() imageTitle = ''\n @Input() accept = 'image/png, image/jpeg'\n\n @Input() canRemove = false\n @Input() removeTitle = ''\n\n @Input() canUpload = false\n @Input() uploadTitle = ''\n\n @Input() canModify = false\n @Input() modifyTitle = ''\n\n @Input() width = '65px'\n @Input() height = '65px'\n\n @Output() public onFileChanged = new EventEmitter<{ imageUrl: string | ArrayBuffer | null, imageFormData: FormData }>()\n\n @ViewChild('actionFile')\n public inputFile: ElementRef<HTMLInputElement>\n\n public hasImage (): boolean {\n return this.imageUrl !== 'assets/images/no-image.png'\n }\n\n public canAction (): boolean {\n return this.canRemove || this.canModify || this.canUpload\n }\n\n public fileChange (event: any): void {\n const fileList: FileList = event.target.files\n if (fileList.length > 0) {\n const file: File = fileList[0]\n this.imageFormData = new FormData()\n this.imageFormData.append('file', file, file.name)\n if (!file.type.match(/image\\/*/)) {\n return\n }\n const reader = new FileReader()\n reader.readAsDataURL(fileList[0])\n reader.onload = () => {\n this.imageUrl = reader.result\n this.emitChangeEvent()\n }\n }\n }\n\n removeClick (): void {\n this.imageFormData = new FormData()\n this.imageUrl = 'assets/images/no-image.png'\n this.emitChangeEvent()\n }\n\n private emitChangeEvent (): void {\n this.onFileChanged.emit({\n imageUrl: this.imageUrl,\n imageFormData: this.imageFormData\n })\n }\n\n public canClickOnImage (): boolean {\n return (!this.hasImage() && this.canUpload) || (this.hasImage() && this.canModify)\n }\n\n public imageClick (): void {\n if (this.canClickOnImage()) {\n this.editClick();\n }\n }\n\n public editClick (): void {\n this.inputFile.nativeElement.click()\n this.inputFile.nativeElement.value = ''\n }\n\n}\n","<div class=\"input-image\" [ngStyle]=\"{'width': 'calc(' + width + ' + 5px', 'height': 'calc(' + height + ' + 5px'}\">\n <img loading=\"lazy\" [src]=\"imageUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\" [ngClass]=\"{'clickable' : canClickOnImage()}\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%'}\" (click)=\"imageClick()\"/>\n <input #actionFile id=\"action-icon\" type=\"file\" accept=\"{{accept}}\" (change)=\"fileChange($event)\"\n style=\"display: none;\"/>\n</div>\n\n<div class=\"input-image-actions\" *ngIf=\"canAction()\">\n <primary-button *ngIf=\"!hasImage() && canUpload\"\n [icon]=\"'upload'\"\n [label]=\"uploadTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <primary-button *ngIf=\"hasImage() && canModify\"\n [icon]=\"'edit'\"\n [label]=\"modifyTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <tertiary-button *ngIf=\"hasImage() && canRemove\"\n [icon]=\"'delete'\"\n [label]=\"removeTitle\"\n (onClick)=\"removeClick(); actionFile.value = ''\">\n </tertiary-button>\n</div>\n","import { TimeInterval } from '../default-interval/time-interval';\nimport moment from 'moment-timezone';\n\nexport class TimeIntervalValue {\n\n private readonly _timezone: string\n private _absoluteStartDate: Date\n private _absoluteEndDate: Date\n private _interval: TimeInterval\n\n constructor(timezone: string) {\n this._timezone = timezone;\n }\n\n public getStartDate(): Date {\n if (this._interval?.getStartDate) {\n return new Date(moment(this._interval.getStartDate()).tz(this._timezone).format());\n }\n if (this._absoluteStartDate) {\n return new Date(moment(this._absoluteStartDate).tz(this._timezone).format());\n }\n return this._absoluteStartDate;\n }\n\n public getEndDate(): Date {\n if (this._interval?.getEndDate) {\n return new Date(moment(this._interval.getEndDate()).tz(this._timezone).format());\n }\n if (this._absoluteEndDate) {\n return new Date(moment(this._absoluteEndDate).tz(this._timezone).format());\n }\n return this._absoluteEndDate;\n }\n\n public isRelativeInterval(): boolean {\n return !!this._interval;\n }\n\n public isAbsoluteDate(): boolean {\n return !this.isRelativeInterval()\n }\n\n get absoluteStartDate(): Date {\n return this._absoluteStartDate;\n }\n\n set absoluteStartDate(value: Date) {\n this._absoluteStartDate = value;\n }\n\n get absoluteEndDate(): Date {\n return this._absoluteEndDate;\n }\n\n set absoluteEndDate(value: Date) {\n this._absoluteEndDate = value;\n }\n\n get interval(): TimeInterval {\n return this._interval;\n }\n\n set interval(value: TimeInterval) {\n this._interval = value;\n }\n\n get timezone(): string {\n return this._timezone;\n }\n\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { TimeInterval } from './default-interval/time-interval';\nimport { TimeIntervalValue } from './model/date-time-internal.model';\nimport { DateRange } from '@angular/material/datepicker';\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport moment from 'moment-timezone';\nimport { NgScrollbar } from 'ngx-scrollbar';\n\n@Component({\n selector: 'input-date-time-interval',\n templateUrl: 'input-date-time-interval.component.html',\n styleUrls: ['input-date-time-interval.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputDateTimeIntervalComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputDateTimeIntervalComponent {\n\n private _value: TimeIntervalValue\n protected _selectedDateRange: DateRange<Date>;\n public scrollStrategy: ScrollStrategy\n\n @Input()\n public timezone: string = 'America/Sao_Paulo'\n\n @Input()\n public dateMask: string = '00/00/0000'\n\n @Input()\n public timeMask: string = '00:00:00'\n\n @Input()\n public dateFormat: string = 'DD/MM/YYYY HH:mm:ss'\n\n @Input()\n public label: string\n\n @Input()\n public periodLabel: string = 'Selected Relative Interval'\n\n @Input()\n public relativeLabel: string = 'Relative Time';\n\n @Input()\n public absoluteLabel: string = 'Absolute Time'\n\n @Input()\n public startDateLabel = 'Start Date'\n\n @Input()\n public startDate: Date;\n\n @Input()\n public startTimeLabel = 'Start Time'\n\n @Input()\n public startTime: string;\n\n @Input()\n public endTimeLabel = 'End Time'\n\n @Input()\n public endTime: string\n\n @Input()\n public endDateLabel = 'End Date'\n\n @Input()\n public endDate: Date\n\n @Input()\n public calendarMaxDate: Date\n\n @Input()\n public calendarMinDate: Date\n\n @Input()\n public cancelLabel: string = 'Cancel'\n\n @Input()\n public applyLabel: string = 'Apply'\n\n @Input()\n public hideTime = false;\n\n get value(): TimeIntervalValue {\n if (!this._value) {\n this._value = new TimeIntervalValue(this.timezone);\n }\n return this._value;\n }\n\n @Input()\n set value(value: TimeIntervalValue) {\n this._value = value;\n this.refreshValues();\n }\n\n private refreshValues(): void {\n if (this._value.interval) {\n this.selectedInterval = this._value.interval;\n this.resetDates()\n } else if (this._value?.absoluteStartDate || this._value?.absoluteEndDate) {\n const startDate = this._value?.absoluteStartDate || this.startDate;\n this.selectedStartDate = this.dateToString(startDate);\n const endDate = this._value?.absoluteEndDate || this.endDate;\n this.selectedEndDate = this.dateToString(endDate);\n this._selectedDateRange = this.getDateRange(this.stringToDate(this.selectedStartDate), this.stringToDate(this.selectedEndDate));\n if (this._value?.absoluteStartDate) {\n this.selectedStartTime = this._value.absoluteStartDate.toTimeString().split(' ')[0]\n }\n if (this.value?.absoluteEndDate) {\n this.selectedEndTime = this.value?.absoluteEndDate.toTimeString().split(' ')[0]\n }\n this.selectedStartTime = this.selectedStartTime || this.startTime;\n this.selectedEndTime = this.selectedEndTime || this.endTime;\n this.selectedInterval = undefined\n }\n }\n\n @Input()\n public intervals: TimeInterval[]\n\n @Output()\n public valueChange: EventEmitter<TimeIntervalValue> = new EventEmitter<TimeIntervalValue>()\n\n public selectedInterval: TimeInterval;\n public selectedStartTime: string;\n public selectedEndTime: string;\n public selectedStartDate: string\n public selectedEndDate: string\n private readonly defaultStartOfDayTime: string = '00:00:00';\n private readonly defaultEndOfDayTime: string = '23:59:59';\n\n public dropdownOpen: boolean\n\n @ViewChild('intervalsBar') scrollbarRef: NgScrollbar\n @HostListener('document:keydown.escape', ['$event'])\n public onKeydownHandler(): void {\n this.dropdownOpen = false;\n }\n\n constructor(\n private readonly sso: ScrollStrategyOptions) {\n this.scrollStrategy = this.sso.block()\n this.resetDates();\n }\n\n public openDropDown(event: any): void {\n this.dropdownOpen = true;\n setTimeout(() => {\n if (this._value.interval) {\n const selectedInterval = this._value.interval;\n this.scrollbarRef.scrollToElement(`#apipass-datetime-interval-${selectedInterval.id}`, { duration: 800 }).then()\n }\n })\n event.stopPropagation()\n }\n\n public closeDropdown(event: any): void {\n this.cancel();\n this.dropdownOpen = false;\n event.stopPropagation()\n }\n\n public isSelected(interval: TimeInterval): boolean {\n return interval?.id === this.selectedInterval?.id;\n }\n\n public selectInterval(interval: TimeInterval): void {\n this.selectedInterval = interval;\n this.resetDates();\n }\n\n private resetDates(): void {\n this._selectedDateRange = this.getDateRange(this.startDate, this.endDate);\n this.selectedStartTime = this.startTime\n this.selectedEndTime = this.endTime\n this.selectedStartDate = this.dateToString(this.startDate);\n this.selectedEndDate = this.dateToString(this.endDate);\n }\n\n public onDateRangeChange(date: Date): void {\n if (this._selectedDateRange?.start && date >= this._selectedDateRange.start && !this._selectedDateRange.end) {\n this._selectedDateRange = this.getDateRange(this._selectedDateRange.start, date);\n this.selectedEndDate = this.dateToString(date);\n this.selectedInterval = undefined;\n } else {\n this._selectedDateRange = this.getDateRange(date, undefined)\n this.selectedStartDate = this.dateToString(date);\n this.selectedInterval = undefined;\n }\n }\n\n private dateToString(date: Date): string {\n return date ? moment(date).format(this.dateFormat) : undefined;\n }\n\n private stringToDate(date: string): Date {\n return date ? moment(date, this.dateFormat).toDate() : undefined;\n }\n\n public getDateRange(startDate: Date, endDate: Date): DateRange<Date> {\n try {\n return new DateRange(startDate ? moment(startDate).toDate() : undefined, endDate ? moment(endDate).toDate() : undefined);\n } catch (e) {\n return new DateRange<Date>(null, null);\n }\n }\n\n public startDateChanged(): void {\n this._selectedDateRange = this.getDateRange(this.stringToDate(this.selectedStartDate), this.stringToDate(this.selectedEndDate));\n this.selectedInterval = undefined;\n }\n\n public endDateChanged(): void {\n const startDate = this.stringToDate(this.selectedStartDate);\n const endDate = this.stringToDate(this.selectedEndDate);\n if (endDate < startDate) {\n this.selectedEndDate = undefined;\n }\n this._selectedDateRange = this.getDateRange(startDate, endDate);\n this.selectedInterval = undefined;\n }\n\n public cancel(): void {\n this.refreshValues();\n this.dropdownOpen = false;\n }\n\n public apply(): void {\n if (this.selectedInterval) {\n this._value.interval = this.selectedInterval;\n this._value.absoluteStartDate = undefined;\n this._value.absoluteEndDate = undefined\n } else {\n if (this.selectedStartDate) {\n const startDate = this.stringToDate(this.selectedStartDate);\n this.applyTimeOnDate(startDate, this.selectedStartTime || this.defaultStartOfDayTime);\n this.selectedStartTime = this.selectedStartTime ?? this.defaultStartOfDayTime\n this._value.absoluteStartDate = moment(startDate).toDate()\n } else {\n this._value.absoluteStartDate = undefined;\n }\n if (this.selectedEndDate) {\n const endDate = this.stringToDate(this.selectedEndDate);\n this.applyTimeOnDate(endDate, this.selectedEndTime || this.defaultEndOfDayTime);\n this.selectedEndTime = this.selectedEndTime ?? this.defaultEndOfDayTime\n this._value.absoluteEndDate = moment(endDate).toDate()\n } else {\n this._value.absoluteEndDate = undefined;\n }\n this._value.interval = undefined;\n }\n this.valueChange.emit(this._value);\n this.dropdownOpen = false;\n }\n\n private applyTimeOnDate(date: Date, time: string): void {\n if (time) {\n date.setHours(this.getHoursFromTime(time))\n date.setMinutes(this.getMinutesFromTime(time))\n date.setSeconds(this.getSecondsFromTime(time))\n }\n }\n\n private getHoursFromTime(time: string): number {\n try {\n return parseFloat(time.split(':')[0]) || 0;\n } catch (e) {\n return 0;\n }\n }\n\n private getMinutesFromTime(time: string): number {\n try {\n return parseFloat(time.split(':')[1]) || 0;\n } catch (e) {\n return 0;\n }\n }\n\n private getSecondsFromTime(time: string): number {\n try {\n return parseFloat(time.split(':')[2]) || 0;\n } catch (e) {\n return 0;\n }\n }\n\n public getInputText(): string {\n if (this._value?.interval) {\n return this.periodLabel;\n }\n const emptyDate: string = this.hideTime ? '__________' : '__________ ________';\n let formatedText = '';\n if (this._value.absoluteStartDate) {\n formatedText += this.dateToString(this._value.absoluteStartDate);\n } else {\n formatedText += emptyDate\n }\n formatedText += ' - '\n if (this._value.absoluteEndDate) {\n formatedText += this.dateToString(this._value.absoluteEndDate);\n } else {\n formatedText += emptyDate\n }\n return formatedText;\n }\n\n}\n","<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DndDropEvent } from 'ngx-drag-drop';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nexport interface KeyValueInputType {\n [x: string]: any\n type: string\n}\n\n@Component({\n selector: 'key-value-input',\n templateUrl: 'key-value-input.component.html',\n styleUrls: ['key-value-input.component.scss']\n})\nexport class KeyValueInputComponent implements OnInit {\n\n @Input() componentId: string\n @Input() items: KeyValueInputType[] = []\n @Input() size: 'DEFAULT' | 'SLIM' = 'DEFAULT'\n @Input() keyAttributeName: string = 'key'\n @Input() valueAttributeName: string = 'value'\n @Input() keyLabel: string = 'Key'\n @Input() valueLabel: string = 'Value'\n @Input() removeLabel: string = 'Remove'\n @Input() inputOptionsWidthPercentage: number\n @Input() inputOptionsDefaultSelected: string\n @Input() inputOptions = []\n @Input() valueOptions: any[]\n @Input() blockNewItem = false\n @Input() blockEditLabel = false;\n @Input() onDropFn: ($event: DndDropEvent, attribute: string) => string\n @Output() itemsChange: EventEmitter<KeyValueInputType[]> = new EventEmitter<KeyValueInputType[]>()\n\n public temporaryItem: KeyValueInputType\n private readonly onKeyPressedTemporaryKey: Subject<void> = new Subject<void>()\n\n private createDefaultTemporaryItem(): KeyValueInputType {\n return {\n type: this.inputOptionsDefaultSelected,\n [this.keyAttributeName]: '',\n [this.valueAttributeName]: ''\n };\n }\n\n public ngOnInit(): void {\n this.temporaryItem = this.createDefaultTemporaryItem()\n if (!this.items) {\n this.items = []\n this.itemsChange.emit(this.items)\n }\n this.inputOptionsDefaultSelected ||= this.inputOptions?.[0]?.value\n this.onKeyPressedTemporaryKey\n .pipe(debounceTime(300))\n .subscribe(() => {\n this.addTemporaryAttributeToItems()\n this.focusOnLastItem()\n })\n }\n\n public removeItem(index: number): void {\n this.items.splice(index, 1);\n }\n\n public inputOptionChanged(event: string, index: number): void {\n this.items[index].type = event;\n }\n\n public valueOptionChanged(event: string, index: number): void {\n this.items[index][this.valueAttributeName] = event\n }\n\n public onKeyDrop(model: KeyValueInputType, $event: DndDropEvent): void {\n model[this.keyAttributeName] = this.onDropFn($event, model[this.keyAttributeName])\n }\n\n public onKeyDropTemporaryItem(model: KeyValueInputType, $event: DndDropEvent): void {\n model[this.keyAttributeName] = this.onDropFn($event, model[this.keyAttributeName])\n this.addTemporaryAttributeToItems()\n }\n\n public onValueDrop(model: KeyValueInputType, $event: DndDropEvent): void {\n model[this.valueAttributeName] = this.onDropFn($event, model[this.valueAttributeName])\n }\n\n public addTemporaryAttributeToItems(): void {\n this.items.push({ ...this.temporaryItem })\n this.temporaryItem = this.createDefaultTemporaryItem()\n }\n\n public focusOnLastItem(): void {\n setTimeout(() => {\n const index = this.items.length - 1\n const focusId = `${this.getComponentId('key', index)}-input`\n document.getElementById(focusId).focus()\n })\n }\n\n public onKeyPressedTemporaryKeyFn(): void {\n this.onKeyPressedTemporaryKey.next()\n }\n\n public temporaryItemOptionChanged(event: string): void {\n this.temporaryItem.type = event\n }\n\n public temporaryValueOptionChanged(event: string): void {\n this.temporaryItem[this.valueAttributeName] = event\n }\n\n public getComponentId(id: string, index: number): string {\n return this.componentId ? `${this.componentId}-${id}-${index}` : `${id}-${index}`\n }\n\n}\n","<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [disabled]=\"blockEditLabel\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <ng-container *ngIf=\"valueOptions?.length; else valueTextItem\">\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [valueOptionsOnly]=\"true\"\n [inputOptions]=\"valueOptions\"\n [inputOptionsInitSelected]=\"item[valueAttributeName]\"\n (optionChanged)=\"valueOptionChanged($event, index)\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n </ng-container>\n <ng-template #valueTextItem>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n </ng-template>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\" *ngIf=\"!blockNewItem\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <ng-container *ngIf=\"valueOptions?.length; else valueTextTemp\">\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [valueOptionsOnly]=\"true\"\n [inputOptions]=\"valueOptions\"\n [inputOptionsInitSelected]=\"temporaryItem[this.valueAttributeName]\"\n (optionChanged)=\"temporaryValueOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n </ng-container>\n <ng-template #valueTextTemp>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n </ng-template>\n</div>\n\n","import { AfterContentInit, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core'\nimport { DndDropEvent } from 'ngx-drag-drop'\nimport { AceEditorComponent } from '../ace-editor/component'\nimport { ValueAccessorBase } from '../value-acessor-base'\nimport { beautifyRawDataContent } from '@apipass/frontend-utils'\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ace-editor-input',\n templateUrl: 'ace-editor-input.component.html',\n styleUrls: ['ace-editor-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AceEditorInputComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class AceEditorInputComponent extends ValueAccessorBase<string> implements AfterContentInit {\n\n @ViewChild('editor')\n public editor: AceEditorComponent;\n\n @Input() title: string | undefined\n @Input() description: string | undefined\n @Input() previousStepsOutputAttributes: Record<string, { type: string, attributes: Record<string, any> }> = {}\n @Input() mode: 'json' | 'html' | 'sql' | 'xml' | 'text'\n\n ngAfterContentInit (): void {\n this.createAceEditorCustomCompletions()\n }\n\n private createAceEditorCustomCompletions(): void {\n setTimeout(() => {\n if (this.editor?.setCustomCompletions) {\n this.setEditorCustomCompletions(this.editor, true);\n }\n }, 500)\n }\n\n public beautify(): void {\n const rawDataContent = this.editor.getEditor().getSession().getValue();\n if (rawDataContent) {\n const formattedContent = beautifyRawDataContent(rawDataContent);\n this.editor.getEditor().getSession().setValue(formattedContent);\n }\n }\n\n public setEditorCustomCompletions(editor: any, includeBrackets: boolean): void {\n editor.setCustomCompletions(this.getOutputAttributesCodeCompletions({\n prefixIdentifier: '$',\n outputAttributes: this.previousStepsOutputAttributes,\n includeBrackets\n }))\n }\n\n protected getOutputAttributesCodeCompletions(props: {\n prefixIdentifier: string\n outputAttributes: Record<string, { type: string, attributes: Record<string, any> }>\n includeArrayMethods?: boolean\n includeBrackets?: boolean\n }): Array<{ caption: string, value: string, meta: string, score: number }> {\n let attributesPaths: string[] = []\n for (const outputAttributesKey in props.outputAttributes) {\n const outputAttribute = props.outputAttributes[outputAttributesKey]\n const currentPath = `${props.prefixIdentifier}.${outputAttributesKey}`;\n attributesPaths.push(this.createCompletion(currentPath, props.includeBrackets))\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath,\n attributes: outputAttribute.attributes\n }))\n }\n return attributesPaths.map(value => {\n return {\n caption: value,\n value,\n meta: 'Step attribute',\n score: 0\n }\n })\n }\n\n private createCompletion(completion: string, includeBrackets: boolean): string {\n return includeBrackets ? `{{${completion}}}` : completion\n }\n\n public parseItem(props: { currentPath: string, attributes, includeArrayMethods?: boolean, includeBrackets?: boolean }): string[] {\n let attributesPaths: string[] = []\n const currentPath = props.currentPath\n for (const attributeName in props.attributes) {\n const attributeValue = props.attributes[attributeName]\n const attributeTypeIsInvalid = typeof attributeValue?.type !== 'string' && !(attributeValue?.type instanceof String);\n if (attributeValue?.type && attributeTypeIsInvalid) {\n continue\n }\n const attributeType = attributeValue?.type?.toUpperCase();\n if (['STRING', 'NUMBER', 'BOOLEAN', 'AUTHORIZATION'].includes(attributeType)) {\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}`, props.includeBrackets))\n } else if (attributeType === 'OBJECT') {\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}`, props.includeBrackets))\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath: `${currentPath}.${attributeName}`,\n attributes: attributeValue.child ?? attributeValue.properties\n }))\n } else if (attributeType === 'ARRAY') {\n const arrayPaths = this.parseArrayItem(currentPath, attributeName, attributesPaths, props, attributeValue);\n attributesPaths = attributesPaths.concat(arrayPaths);\n } else if (!attributeValue?.type) {\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath,\n attributes: { [attributeName]: { type: attributeValue } }\n }))\n }\n }\n return attributesPaths\n }\n\n private parseArrayItem(currentPath: string, attributeName: string, attributesPaths: string[], props: {\n currentPath: string\n attributes\n includeArrayMethods?: boolean\n includeBrackets?: boolean\n }, attributeValue): string[] {\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}`, props.includeBrackets))\n if (props.includeArrayMethods) {\n attributesPaths = attributesPaths.concat(this.getArrayMethodsCodeCompletions(`${currentPath}.${attributeName}`))\n }\n attributesPaths.push(this.createCompletion(`${currentPath}.${attributeName}[0]`, props.includeBrackets))\n attributesPaths = attributesPaths.concat(this.parseItem({\n ...props,\n currentPath: `${currentPath}.${attributeName}[0]`,\n attributes: attributeValue.child ?? attributeValue.properties\n }))\n return attributesPaths;\n }\n\n private getArrayMethodsCodeCompletions(currentPath: string): string[] {\n return [\n `${currentPath}.concat()`,\n `${currentPath}.filter((element) => )`,\n `${currentPath}.find((element) => )`,\n `${currentPath}.forEach((element) => )`,\n `${currentPath}.includes()`,\n `${currentPath}.indexOf()`,\n `${currentPath}.map((element) => )`,\n `${currentPath}.push()`,\n `${currentPath}.sort()`\n ]\n }\n\n public onDropOnEditor(editor: AceEditorComponent, $event: DndDropEvent, addBrackets?: boolean): void {\n if ($event.data) {\n let dropText = $event.data\n if (addBrackets) {\n dropText = `{{${dropText}}}`\n }\n editor.draggedText = dropText\n }\n }\n\n}\n","<div class=\"ace-editor-input\">\n <div class=\"code-header\">\n <label class=\"info-label bold\">\n <div *ngIf=\"title\">{{ title }}</div>\n <small>{{ description }}</small>\n </label>\n <primary-button [size]=\"'slim'\"\n [label]=\"'Beautify'\"\n (onClick)=\"beautify()\">\n </primary-button>\n </div>\n <ace-editor\n #editor\n [(text)]=\"value\"\n [options]=\"{enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: true, keyboardHandler: 'ace/keyboard/vscode'}\"\n dndDropzone [dndAllowExternal]=\"true\" (dndDrop)=\"onDropOnEditor(editor, $event, true)\"\n [mode]=\"mode\"\n [autoUpdateContent]=\"true\"\n class=\"ace-editor\"\n ></ace-editor>\n</div>\n","import { NgModule } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { CommonModule } from '@angular/common'\nimport { SelectEnumComponent } from './select-enum/select-enum.component'\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatSelectModule } from '@angular/material/select'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatTooltipModule } from '@angular/material/tooltip'\nimport { InputTextComponent } from './input-text/input-text.component'\nimport { InputAvatarComponent } from './input-avatar/input-avatar.component'\nimport { FieldComponent } from './field/field.component'\nimport { SelectBoxComponent } from './select-box/select-box.component'\nimport { MatSelectInfiniteScrollDirective } from './select-box/mat-select-infinite-scroll.directive'\nimport { NgSelectModule } from '@ng-select/ng-select'\nimport { CustomSelectComponent } from './custom-select/custom-select.component'\nimport { DndModule } from 'ngx-drag-drop'\nimport { IconsModule } from '@apipass/icons'\nimport { PipeModule } from '@apipass/pipes'\nimport { RouterModule } from '@angular/router'\nimport { InputFileComponent } from './input-file/input-file.component'\nimport { AceEditorComponent } from './ace-editor/component'\nimport { AceEditorDirective } from './ace-editor/directive'\nimport { InputNumberComponent } from './input-number/input-number.component'\nimport { InputBooleanComponent } from './input-boolean/input-boolean.component'\nimport { ButtonsModule } from '@apipass/buttons'\nimport { DebouceInputDirective } from './debounce-model-directive/debouceInput.directive'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { SelectInterpolationComponent } from './select-interpolation/select-interpolation.component'\nimport { InputImageComponent } from './input-image/input-image.component'\nimport { InputDateTimeIntervalComponent } from './input-date-time-interval/input-date-time-interval.component';\nimport {\n DefaultMatCalendarRangeStrategy,\n MAT_DATE_RANGE_SELECTION_STRATEGY,\n MatDatepickerModule\n} from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { NgScrollbarModule } from 'ngx-scrollbar';\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';\nimport { KeyValueInputComponent } from './input-key-value/key-value-input.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { AceEditorInputComponent } from './ace-editor-input/ace-editor-input.component';\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n NgSelectModule,\n PipeModule,\n MatIconModule,\n IconsModule,\n MatTooltipModule,\n DndModule,\n ButtonsModule,\n OverlayModule,\n MatCardModule,\n MatDatepickerModule,\n MatNativeDateModule,\n NgScrollbarModule,\n NgxMaskDirective,\n NgxMaskPipe,\n MatCheckboxModule\n ],\n declarations: [\n MatSelectInfiniteScrollDirective,\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputAvatarComponent,\n InputImageComponent,\n InputFileComponent,\n CustomSelectComponent,\n SelectInterpolationComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective,\n InputDateTimeIntervalComponent,\n KeyValueInputComponent,\n AceEditorInputComponent\n ],\n exports: [\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputNumberComponent,\n InputBooleanComponent,\n InputAvatarComponent,\n InputImageComponent,\n InputFileComponent,\n CustomSelectComponent,\n SelectInterpolationComponent,\n FieldComponent,\n AceEditorComponent,\n AceEditorDirective,\n DebouceInputDirective,\n InputDateTimeIntervalComponent,\n NgxMaskDirective,\n NgxMaskPipe,\n KeyValueInputComponent,\n AceEditorInputComponent\n ],\n providers: [\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'outline',\n subscriptSizing: 'dynamic'\n }\n },\n {\n provide: MAT_DATE_RANGE_SELECTION_STRATEGY,\n useClass: DefaultMatCalendarRangeStrategy\n },\n provideNgxMask()\n ]\n})\nexport class InputsModule {\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class CurrentMonthInterval implements TimeInterval {\n\n id: string = 'CurrentMonthInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('month').toDate();\n }\n\n}\n","import { TimeInterval } from '../default-interval/time-interval';\n\nexport class TimeIntervalsBuilder {\n\n private _timezone: string = 'America/Sao_Paulo'\n private readonly _value: TimeInterval[] = []\n\n public static builder(): TimeIntervalsBuilder {\n return new TimeIntervalsBuilder()\n }\n\n public withTimezone(timezone: string): TimeIntervalsBuilder {\n this._timezone = timezone || this._timezone;\n return this;\n }\n\n public withInterval(interval: TimeInterval): TimeIntervalsBuilder {\n this._value.push(interval)\n return this;\n }\n\n public build(): TimeInterval[] {\n return this._value;\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastHourInterval implements TimeInterval {\n\n id: string = 'LastHourInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'hours').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastMinuteInterval implements TimeInterval {\n\n id: string = 'LastMinuteInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastOneWeekInterval implements TimeInterval {\n\n id: string = 'LastOneWeekInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'weeks').startOf('weeks').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'weeks').endOf('weeks').toDate()\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastTenMinutesInterval implements TimeInterval {\n\n id: string = 'LastTenMinutesInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(10, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastThirtyMinutesInterval implements TimeInterval {\n\n id: string = 'LastThirtyMinutesInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(30, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class TodayInterval implements TimeInterval {\n\n id: string = 'TodayInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('day').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastFiveMinutesInterval implements TimeInterval {\n\n id: string = 'LastFiveMinutesInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(5, 'minutes').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastTwoHoursInterval implements TimeInterval {\n\n id: string = 'LastTwoHoursInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(2, 'hours').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastThreeHoursInterval implements TimeInterval {\n\n id: string = 'LastThreeHoursInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(3, 'hours').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastMonthInterval implements TimeInterval {\n\n id: string = 'LastMonthInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'month').startOf('month').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'month').endOf('month').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class ThisYearInterval implements TimeInterval {\n\n id: string = 'ThisYearInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('year').toDate();\n }\n\n getEndDate(): Date {\n return moment().toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class ThisWeekInterval implements TimeInterval {\n\n id: string = 'ThisWeekInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('week').toDate();\n }\n\n getEndDate(): Date {\n return moment().toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastYearInterval implements TimeInterval {\n\n id: string = 'LastYearInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'year').startOf('year').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'year').endOf('year').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class YesterdayInterval implements TimeInterval {\n\n id: string = 'YesterdayInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(1, 'day').startOf('day').toDate();\n }\n\n getEndDate(): Date {\n return moment().subtract(1, 'day').endOf('day').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastQuarterInterval implements TimeInterval {\n\n id: string = 'LastQuarterInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('quarter').subtract(1, 'quarter').toDate();\n }\n\n getEndDate(): Date {\n return moment().endOf('quarter').subtract(1, 'quarter').toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class ThisQuarterInterval implements TimeInterval {\n\n id: string = 'ThisQuarterInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().startOf('quarter').toDate();\n }\n\n getEndDate(): Date {\n return moment().toDate();\n }\n\n}\n","import { TimeInterval } from './time-interval';\nimport moment from 'moment';\n\nexport class LastTwentyFourHoursInterval implements TimeInterval {\n\n id: string = 'LastTwentyFourHoursInterval'\n label: string\n\n constructor(label: string) {\n this.label = label\n }\n\n getStartDate(): Date {\n return moment().subtract(24, 'hours').toDate();\n }\n\n}\n","import { CurrentMonthInterval } from '../default-interval/current-month-interval';\nimport { TimeIntervalsBuilder } from './time-intervals.builder';\nimport { LastHourInterval } from '../default-interval/last-hour-interval';\nimport { LastMinuteInterval } from '../default-interval/last-minute-interval';\nimport { LastOneWeekInterval } from '../default-interval/last-one-week-interval';\nimport { LastTenMinutesInterval } from '../default-interval/last-ten-minutes-interval';\nimport { LastThirtyMinutesInterval } from '../default-interval/last-thirty-minutes-interval';\nimport { TodayInterval } from '../default-interval/today-interval';\nimport { LastFiveMinutesInterval } from '../default-interval/last-five-minutes-interval';\nimport { LastTwoHoursInterval } from '../default-interval/last-two-hours-interval';\nimport { LastThreeHoursInterval } from '../default-interval/last-three-hours-interval';\nimport { LastMonthInterval } from '../default-interval/last-month-interval';\nimport { ThisYearInterval } from '../default-interval/this-year-interval';\nimport { ThisWeekInterval } from '../default-interval/this-week-interval';\nimport { LastYearInterval } from '../default-interval/last-year-interval';\nimport { YesterdayInterval } from '../default-interval/yesterday-interval';\nimport { LastQuarterInterval } from '../default-interval/last-quarter-interval';\nimport { ThisQuarterInterval } from '../default-interval/this-quarter-interval';\nimport { LastTwentyFourHoursInterval } from '../default-interval/last-twenty-four-hours-interval';\n\nexport class DefaultIntervalsBuilder extends TimeIntervalsBuilder {\n\n public static builder(): DefaultIntervalsBuilder {\n return new DefaultIntervalsBuilder()\n }\n\n public withTodayInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new TodayInterval(label));\n return this;\n }\n\n public withCurrentMonthInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new CurrentMonthInterval(label));\n return this;\n }\n\n public withThisYearInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new ThisYearInterval(label));\n return this;\n }\n\n public withThisWeekInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new ThisWeekInterval(label));\n return this;\n }\n\n public withLastHourInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastHourInterval(label));\n return this;\n }\n\n public withLastTwoHoursInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastTwoHoursInterval(label));\n return this;\n }\n\n public withLastThreeHoursInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastThreeHoursInterval(label));\n return this;\n }\n\n public withLastTwentyFourHoursInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastTwentyFourHoursInterval(label));\n return this;\n }\n\n public withLastMinuteInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastMinuteInterval(label));\n return this;\n }\n\n public withLastOneWeekInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastOneWeekInterval(label));\n return this;\n }\n\n public withLastFiveMinutesInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastFiveMinutesInterval(label));\n return this;\n }\n\n public withLastTenMinutesInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastTenMinutesInterval(label));\n return this;\n }\n\n public withLastThirtyMinutesInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastThirtyMinutesInterval(label));\n return this;\n }\n\n public withLastMonthInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastMonthInterval(label));\n return this;\n }\n\n public withLastYearInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastYearInterval(label));\n return this;\n }\n\n public withYesterdayInterval(label: string): DefaultIntervalsBuilder {\n this.withInterval(new YesterdayInterval(label));\n return this;\n }\n\n public withThisQuarter(label: string): DefaultIntervalsBuilder {\n this.withInterval(new ThisQuarterInterval(label));\n return this;\n }\n\n public withLastQuarter(label: string): DefaultIntervalsBuilder {\n this.withInterval(new LastQuarterInterval(label));\n return this;\n }\n\n}\n","import { TimeInterval } from '../default-interval/time-interval';\nimport { CurrentMonthInterval } from '../default-interval/current-month-interval';\nimport { LastHourInterval } from '../default-interval/last-hour-interval';\nimport { LastMinuteInterval } from '../default-interval/last-minute-interval';\nimport { LastOneWeekInterval } from '../default-interval/last-one-week-interval';\nimport { LastTenMinutesInterval } from '../default-interval/last-ten-minutes-interval';\nimport { LastThirtyMinutesInterval } from '../default-interval/last-thirty-minutes-interval';\nimport { TodayInterval } from '../default-interval/today-interval';\nimport { TimeIntervalValue } from '../model/date-time-internal.model';\nimport { LastTwoHoursInterval } from '../default-interval/last-two-hours-interval';\nimport { LastThreeHoursInterval } from '../default-interval/last-three-hours-interval';\nimport { LastFiveMinutesInterval } from '../default-interval/last-five-minutes-interval';\nimport { LastMonthInterval } from '../default-interval/last-month-interval';\nimport { ThisYearInterval } from '../default-interval/this-year-interval';\nimport { ThisWeekInterval } from '../default-interval/this-week-interval';\nimport { LastYearInterval } from '../default-interval/last-year-interval';\nimport { YesterdayInterval } from '../default-interval/yesterday-interval';\nimport { ThisQuarterInterval } from '../default-interval/this-quarter-interval';\nimport { LastQuarterInterval } from '../default-interval/last-quarter-interval';\nimport { LastTwentyFourHoursInterval } from '../default-interval/last-twenty-four-hours-interval';\n\nexport class TimeIntervalValueBuilder {\n\n private _timezone: string = 'America/Sao_Paulo'\n private _absoluteStartDate: Date\n private _absoluteEndDate: Date\n private _interval: TimeInterval\n\n public static builder(): TimeIntervalValueBuilder {\n return new TimeIntervalValueBuilder();\n }\n\n public withTimezone(timezone: string): TimeIntervalValueBuilder {\n this._timezone = timezone || this._timezone;\n return this;\n }\n\n public withAbsoluteStartDate(date: Date): TimeIntervalValueBuilder {\n this._absoluteStartDate = date;\n this._interval = undefined\n return this;\n }\n\n public withAbsoluteEndDate(date: Date): TimeIntervalValueBuilder {\n this._absoluteEndDate = date;\n this._interval = undefined\n return this;\n }\n\n public withCurrentMonthInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new CurrentMonthInterval(label));\n return this;\n }\n\n public withLastMonthInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastMonthInterval(label));\n return this;\n }\n\n public withThisYearInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new ThisYearInterval(label));\n return this;\n }\n\n public withThisWeekInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new ThisWeekInterval(label));\n return this;\n }\n\n public withLastHourInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastHourInterval(label));\n return this;\n }\n\n public withLastMinuteInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastMinuteInterval(label));\n return this;\n }\n\n public withLastTwoHoursInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastTwoHoursInterval(label));\n return this;\n }\n\n public withLastThreeHoursInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastThreeHoursInterval(label));\n return this;\n }\n\n public withLastTwentyFourHoursInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastTwentyFourHoursInterval(label));\n return this;\n }\n\n public withLastOneWeekInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastOneWeekInterval(label));\n return this;\n }\n\n public withLastFiveMinutesInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastFiveMinutesInterval(label));\n return this;\n }\n\n public withLastTenMinutesInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastTenMinutesInterval(label));\n return this;\n }\n\n public withLastThirtyMinutesInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastThirtyMinutesInterval(label));\n return this;\n }\n\n public withTodayInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new TodayInterval(label));\n return this;\n }\n\n public withLastYearInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastYearInterval(label));\n return this;\n }\n\n public withYesterdayInterval(label: string): TimeIntervalValueBuilder {\n this.withInterval(new YesterdayInterval(label));\n return this;\n }\n\n public withThisQuarter(label: string): TimeIntervalValueBuilder {\n this.withInterval(new ThisQuarterInterval(label));\n return this;\n }\n\n public withLastQuarter(label: string): TimeIntervalValueBuilder {\n this.withInterval(new LastQuarterInterval(label));\n return this;\n }\n\n public withInterval(interval: TimeInterval): TimeIntervalValueBuilder {\n this._absoluteStartDate = undefined;\n this._absoluteEndDate = undefined;\n this._interval = interval;\n return this\n }\n\n public build(): TimeIntervalValue {\n const value = new TimeIntervalValue(this._timezone);\n value.interval = this._interval;\n value.absoluteStartDate = this._absoluteStartDate;\n value.absoluteEndDate = this._absoluteEndDate;\n return value;\n }\n\n}\n","// Export builders\nexport * from './builder/default-intervals.builder'\nexport * from './builder/time-interval-value.builder'\nexport * from './builder/time-intervals.builder'\n\n// Export model class\nexport * from './model/date-time-internal.model'\n\n// Export default intervals\nexport * from './default-interval/time-interval'\nexport * from './default-interval/current-month-interval'\nexport * from './default-interval/last-five-minutes-interval'\nexport * from './default-interval/last-hour-interval'\nexport * from './default-interval/last-minute-interval'\nexport * from './default-interval/last-month-interval'\nexport * from './default-interval/last-one-week-interval'\nexport * from './default-interval/last-quarter-interval'\nexport * from './default-interval/last-ten-minutes-interval'\nexport * from './default-interval/last-thirty-minutes-interval'\nexport * from './default-interval/last-three-hours-interval'\nexport * from './default-interval/last-two-hours-interval'\nexport * from './default-interval/last-year-interval'\nexport * from './default-interval/this-quarter-interval'\nexport * from './default-interval/this-week-interval'\nexport * from './default-interval/this-year-interval'\nexport * from './default-interval/today-interval'\nexport * from './default-interval/yesterday-interval'\n\n// Export Component\nexport * from './input-date-time-interval.component'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i7","i8","i2","i3","i4","i5","i1","i6","i4.InputTextComponent","i4.AceEditorComponent","moment"],"mappings":"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"}