@apipass/inputs 1.0.169 → 1.0.170

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