UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

88 lines (87 loc) 3.91 kB
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, Renderer2, SimpleChanges } from "@angular/core"; import { FormBuilder, FormControl, FormGroup } from "@angular/forms"; import { Observable } from "rxjs"; import { FreeTypeQueryUtilsService } from "./helpers/freetype-query-utils.service"; import { CaretCoordinates, HelpEntry, HintEntry, QueryToken, RenderConfigurator, Tokenizer } from "./models"; import { SelectV2Component } from "../select-v2/select/select-v2.component"; import { ToastService } from "../toast/toast.service"; import * as i0 from "@angular/core"; export declare class FreetypeQueryBuilderComponent<T extends QueryToken> implements OnChanges, OnDestroy, AfterViewInit { private renderer2; private formBuilder; private cd; private toastService; private utils; private static pasteTextCommon; private readonly KEY_ENTER_CODE; private readonly KEY_ESC_CODE; maxLength: number; readonly: boolean; placeholder: string; value: string; renderer: RenderConfigurator<T>; tokenizer: Tokenizer<T>; currentHelp: HelpEntry[]; cursorSetter$: Observable<any>; helpItemSelected: EventEmitter<{ value: string; }>; currentValue: EventEmitter<{ value: string; tokens: T[]; }>; cursorPos: EventEmitter<number>; cursorCoords: EventEmitter<CaretCoordinates>; submitQuery: EventEmitter<any>; querySelect: SelectV2Component; messageTextarea: ElementRef; messageTextareaHolder: ElementRef; textHighlightOverlayHolder: ElementRef; textHighlightOverlay: ElementRef; private readonly ON_SCROLL_CALLBACK; private readonly BASE_LINE; private destroy$$; private tokens; private scrollValue; private cursorPosition; private bodyControl; private focusedToken; private lastHeight; formGroup: FormGroup; focusedTokenValue: string; highlightModel: { value: string; tokens: T[]; }; inputHeight: number; selectControl: FormControl; constructor(renderer2: Renderer2, formBuilder: FormBuilder, cd: ChangeDetectorRef, toastService: ToastService, utils: FreeTypeQueryUtilsService); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; private openOptions; ngOnDestroy(): void; onKeyDown($event: KeyboardEvent): void; onDrop($event: DragEvent): void; onKeyUp($event: KeyboardEvent): void; onClick($event: MouseEvent): void; itemSelected($event: { newValue: HintEntry; oldValue: HintEntry | undefined; }): void; private get textarea(); private get textareaHolder(); private clearNewLinesOnPaste; private scrollToCursor; private pasteTextFirefox; private onTextAreaScroll; private onValueChange; private setCursorToPos; private rerender; private getFocusedTokenIndex; private updateCursor; private textAreaHeightChanged; private registerListeners; private clearListeners; static ɵfac: i0.ɵɵFactoryDeclaration<FreetypeQueryBuilderComponent<any>, never>; static ɵcmp: i0.ɵɵComponentDeclaration<FreetypeQueryBuilderComponent<any>, "nui-freetype-query-builder", never, { "maxLength": { "alias": "maxLength"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "renderer": { "alias": "renderer"; "required": false; }; "tokenizer": { "alias": "tokenizer"; "required": false; }; "currentHelp": { "alias": "currentHelp"; "required": false; }; "cursorSetter$": { "alias": "cursorSetter$"; "required": false; }; }, { "helpItemSelected": "helpItemSelected"; "currentValue": "currentValue"; "cursorPos": "cursorPos"; "cursorCoords": "cursorCoords"; "submitQuery": "submitQuery"; }, never, never, false, never>; }