@funidata/ngx-fudis
Version:
Funidata Design System.
52 lines (51 loc) • 3.17 kB
TypeScript
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 {};