UNPKG

@deepkit/desktop-ui

Version:

Library for desktop UI widgets in Angular 10+

101 lines (100 loc) 3.32 kB
import { ChangeDetectorRef, EventEmitter, Injector, OnDestroy, Type } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { FormComponent } from '../components/form/form.component'; import * as i0 from "@angular/core"; export declare function ngValueAccessor<T>(clazz: Type<T>): { provide: import("@angular/core").InjectionToken<readonly ControlValueAccessor[]>; useExisting: Type<any>; multi: boolean; }; /** * If you sub class this class and have own constructor or property initialization you need * to provide the dependencies of this class manually. * * constructor( protected injector: Injector, protected cd: ChangeDetectorRef, @SkipSelf() protected cdParent: ChangeDetectorRef, ) { super(injector, cd, cdParent); } * */ export declare class ValueAccessorBase<T> implements ControlValueAccessor, OnDestroy { protected readonly injector: Injector; readonly cd: ChangeDetectorRef; readonly cdParent: ChangeDetectorRef; /** * @hidden */ private _innerValue; /** * @hidden */ readonly _changedCallback: ((value: T | undefined) => void)[]; /** * @hidden */ readonly _touchedCallback: (() => void)[]; private _ngControl?; private _ngControlFetched; disabled?: boolean | ''; get isDisabled(): boolean; valid?: boolean; get isValid(): boolean; error?: boolean; get isError(): boolean | null | undefined; required: boolean | ''; readonly change: EventEmitter<T>; protected formComponent?: FormComponent; constructor(injector: Injector, cd: ChangeDetectorRef, cdParent: ChangeDetectorRef); get ngControl(): NgControl | undefined; /** * @hidden */ setDisabledState(isDisabled: boolean): void; /** * @hidden */ ngOnDestroy(): void; /** * @hidden */ get innerValue(): T | undefined; /** * Sets the internal value and signals Angular's form and other users (that subscribed via registerOnChange()) * that a change happened. * * @hidden */ set innerValue(value: T | undefined); /** * Internal note: This method is called from outside. Either from Angular's form or other users. * * @hidden */ writeValue(value?: T): void; /** * This method can be overwritten to get easily notified when innerValue has been changed, either * by outside or inside. * * @hidden */ onInnerValueChange(): Promise<void>; /** * Call this method to signal Angular's form or other users that this widget has been touched. * @hidden */ touch(): void; /** * @hidden */ registerOnChange(fn: (value: T | undefined) => void): void; /** * @hidden */ registerOnTouched(fn: () => void): void; static ɵfac: i0.ɵɵFactoryDeclaration<ValueAccessorBase<any>, [null, null, { skipSelf: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration<ValueAccessorBase<any>, never, never, { "disabled": { "alias": "disabled"; "required": false; }; "valid": { "alias": "valid"; "required": false; }; "error": { "alias": "error"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "change": "change"; }, never, never, true, never>; }