UNPKG

@funidata/ngx-fudis

Version:

Funidata Design System.

52 lines (51 loc) 3.17 kB
import { ElementRef, Renderer2, EventEmitter, AfterViewInit, OnChanges } from '@angular/core'; import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms'; import { FudisSelectOption } from '../../../../../types/forms'; import { FudisComponentChanges } from '../../../../../../lib/types/miscellaneous'; import * as i0 from "@angular/core"; declare class SelectBaseControlValueAccessorDirective implements ControlValueAccessor, Validator { constructor(); onChanged: () => any; onTouched: () => any; onValidate: () => any; writeValue(value: unknown): void; registerOnChange(fn: () => any): void; registerOnTouched(fn: () => any): void; validate(control: AbstractControl): ValidationErrors | null; static ɵfac: i0.ɵɵFactoryDeclaration<SelectBaseControlValueAccessorDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<SelectBaseControlValueAccessorDirective, "[fudisSelectBaseControlValueAccessor]", never, {}, {}, never, never, false, never>; } export declare class SelectControlValueAccessorDirective extends SelectBaseControlValueAccessorDirective implements OnChanges { private _elementRef; private _renderer; constructor(_elementRef: ElementRef<HTMLInputElement>, _renderer: Renderer2); filterText: string | null; ngOnChanges(changes: FudisComponentChanges<SelectControlValueAccessorDirective>): void; writeValue(value?: FudisSelectOption<object> | null): void; static ɵfac: i0.ɵɵFactoryDeclaration<SelectControlValueAccessorDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<SelectControlValueAccessorDirective, "[fudisSelectControlValueAccessor]", never, { "filterText": { "alias": "filterText"; "required": false; }; }, {}, never, never, false, never>; } export declare class MultiselectControlValueAccessorDirective extends SelectBaseControlValueAccessorDirective implements AfterViewInit { private _document; private _elementRef; private _renderer; constructor(_document: Document, _elementRef: ElementRef<HTMLInputElement>, _renderer: Renderer2); id: string; enableAutocomplete: boolean; handleSortedSelectedOptions: EventEmitter<FudisSelectOption<object>[] | null>; ngAfterViewInit(): void; /** * When selecting / deselecting options, variable for storing them in the order of their id's * (usually the DOM order) */ protected _selectedOptions: FudisSelectOption<object>[] | null; writeValue(value: FudisSelectOption<object>[] | null): void; private _setVisibleLabel; /** * Sort selected options the same order they appear in the DOM */ private _sortSelectedOptionsDOMOrder; static ɵfac: i0.ɵɵFactoryDeclaration<MultiselectControlValueAccessorDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<MultiselectControlValueAccessorDirective, "[fudisMultiselectControlValueAccessor]", never, { "id": { "alias": "id"; "required": false; }; "enableAutocomplete": { "alias": "enableAutocomplete"; "required": false; }; }, { "handleSortedSelectedOptions": "handleSortedSelectedOptions"; }, never, never, false, never>; } export {};