@ipi-soft/ng-components
Version:
Custom Angular Components
96 lines (95 loc) • 3.52 kB
TypeScript
import { OnInit, ElementRef, ChangeDetectorRef, EventEmitter, OnDestroy, AfterViewInit, SimpleChanges } from '@angular/core';
import { FormGroup, AbstractControl } from '@angular/forms';
import { OSService } from '@ipi-soft/ng-components/services';
import { TooltipPosition } from '@ipi-soft/ng-components/tooltip';
import * as i0 from "@angular/core";
export interface IpiSelectOptions {
label: string;
tooltip?: string;
data: IpiSelectData[];
multiple?: boolean;
counterAsValue?: boolean;
placeholder?: string;
helperText?: string;
helperRoute?: string;
prefixImg?: string;
suffixImg?: string;
formGroup?: FormGroup;
searchable?: boolean;
formControlName?: string;
errors?: ControlErrors;
}
export interface IpiSelectData {
label: string;
value: any;
description?: string;
isHover?: boolean;
}
export interface ControlErrors {
[x: string]: string;
}
export declare class IpiSelectComponent implements OnInit, AfterViewInit, OnDestroy {
private osService;
private elementRef;
private changeDetectorRef;
input: ElementRef<HTMLInputElement> | null;
label: ElementRef<HTMLLabelElement> | null;
dropdown: ElementRef<HTMLDivElement> | null;
inputWrapper: ElementRef<HTMLInputElement> | null;
options: IpiSelectOptions;
selectChange: EventEmitter<IpiSelectData>;
helperTextChange: EventEmitter<void>;
constructor(osService: OSService, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef);
firstDropdown: number;
isDropdown: boolean;
control: AbstractControl;
tooltipPosition: typeof TooltipPosition;
private platformId;
private isDropdownReversed;
private shouldPreventEvents;
private documentKeyupValue;
private documentKeyupValueResetTime;
private documentKeyUpSubscription;
private controlSubscription;
filteredData: IpiSelectData[];
private lastSearch;
private keyListener;
private wheelListener;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
onHelperText(): void;
setValue(value: any): void;
setMultipleValue(data: any, event?: Event): void;
setVisibleValue(newValue: any | any[]): void;
showMultipleCount(): number;
isValueSelected(value: IpiSelectData): boolean;
isMultipleSelected(value: IpiSelectData): boolean;
activateDropdown(): void;
deactivateControl(event: MouseEvent | KeyboardEvent): void;
onFocusIn(): void;
onFocusOut(): void;
toggleDropdown(): void;
private generateDropdownPosition;
removeDropdown(): void;
handleKeydown(event: any): void;
preventFocusChange(event: MouseEvent): void;
onSearch(value: string, shouldResetHover?: boolean): void;
getPlaceholder(): string;
checkIfControlInvalid(): boolean;
checkIfControlDisabled(): boolean;
private getControl;
private isWithinBounds;
private handleEvents;
private keyup;
private documentEnterKeyup;
private documentArrowsKeyup;
private documentKeyup;
private removeProperty;
private blockArrowScroll;
private blockScroll;
private isDescendant;
static ɵfac: i0.ɵɵFactoryDeclaration<IpiSelectComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<IpiSelectComponent, "ipi-select", never, { "options": { "alias": "options"; "required": false; }; }, { "selectChange": "selectChange"; "helperTextChange": "helperTextChange"; }, never, never, true, never>;
}