import { Injector, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core'; import { DateRange } from '@microsoft/windows-admin-center-sdk/core/base/date/date-range'; import { CoreBaseComponent } from '../common/base.component'; import { DataTableColumnComponent } from '../data-table/data-table-column.component'; import { DataTableComponent } from '../data-table/data-table.component'; import { ApplyMode, QueryData, QueryDataItem, QueryDataItemPresetOptionContent, QueryDataItemValueType, QueryDataOperand } from './query-editor-contract'; import * as i0 from "@angular/core"; export interface QueryEditorDataTableColumnListItem { label: string; value: string; queryEditorType: QueryDataItemValueType; presetOptions?: QueryDataItemPresetOptionContent[]; } export interface QueryEditorColumnDropdownData { field: string; isDropdown: boolean; queryEditorType: QueryDataItemValueType; options?: string[]; presetOptions?: QueryDataItemPresetOptionContent[]; } export declare class QueryEditorComponent extends CoreBaseComponent implements OnInit, OnDestroy { queryEditor: QueryData; internalColumnList: QueryEditorDataTableColumnListItem[]; operands: any[]; columnsDropdownData: Array; columnDropdownData: Array; columnDropdownField: string; isColumnDropdownBusy: boolean; currentModifyingIndex: number; resourceStrings: { ColumnFilter: string; Delete: string; New: string; Reset: string; Unset: string; Selected: string; ReadOnly: string; Irremovable: string; RemovableHint: string; SelectKey: string; SelectValue: string; }; isLoading: boolean; selectedHtml: HTMLElement; postSelectedHtml: HTMLElement; get queryDataItemValueType(): typeof QueryDataItemValueType; get queryDataOperand(): typeof QueryDataOperand; get role(): string; get ariaLabel(): string; multiSelectTemplate: TemplateRef; textTemplate: TemplateRef; singleSelectTemplate: TemplateRef; timespanSelectTemplate: TemplateRef; private enableGetDataTableUniqueValues; private isFocusInsideComponent; private isComponentClicked; private selectedItem; private isEditing; private checkValueFieldTruncatedRecords; applyMode: ApplyMode; private internalPresetQueryEditor; set presetQueryEditor(input: QueryData); get presetQueryEditor(): QueryData; showAddButton: boolean; showResetButton: boolean; disableResetButton: boolean; dataTable: DataTableComponent; protected get logSourceName(): string; /** * Set disableResetButton value * disableResetButton = true if queryEditor.contents == 0 */ private setDisableResetButton; constructor(injector: Injector); ngOnInit(): void; getTemplate(item: QueryDataItem): TemplateRef; getItemDisplayValue(item: QueryDataItem): any; getItemOperatorDisplayValue(item: QueryDataItem): string; private getUniqueTableValue; set columnList(columnList: QueryList); onQueryEditorChange(index: number, isColumnUpdate?: boolean, needsUpdateIsValid?: boolean, isOperatorUpdate?: boolean): void; private updateColumnDropdownData; mouseupInside(): void; mouseupOut(): void; onValueFieldEnterKeydown($event: any, index: any): void; private focusOnSelectedHtml; private focusOnSelectedHtmlHelper; onPillEnterTrap($event: any, item: QueryDataItem, index: number): void; private focusOnElementInTrap; onPillExitTrap($event: any): void; onPillClick(item: QueryDataItem, index: number): void; applyTmpTextValueToValue(doNotSetTemporaryToFalse?: boolean): void; private applyWorkflow; private validateQueryEditor; applyQueryEditorToDatatable(input?: QueryData): void; newQueryEditor($event: any, isKeyEnterPressed?: boolean): void; private focusOnNewQueryPill; getMenuItemLabel(index: number): string; protected createIdBag(): MsftSme.StringMap; private setUnsetProperty; setSelectedHtml(): void; private setEditingItemValidProperty; private filterUnsetValueItemAndSetInvalid; removeQueryEditorItem($event: any, index: any, isFromKeyboardPress?: boolean): void; private focusOnTheNextPillAfterRemove; private findNextFocusablePill; resetQueryEditor(): void; private customDeepCloneQueryEditor; getTimerangeDisplayValue(value: DateRange): string; private initializeOperandsList; private updateQueryEditorLabel; private newQueryEditorHelper; private columnListConstructor; private columnListHelper; private setIsEditing; checkValueFieldTruncated(input: any): boolean; protected getInitialHostClasses(): string[]; private setSelectedItemValue; onCustomLabelEmit(label: string): void; private updatePresetQueryEditorCustomLabels; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }