@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
79 lines (78 loc) • 2.85 kB
TypeScript
import { Injector, OnDestroy, Provider, TemplateRef } from '@angular/core';
import { Subject } from 'rxjs';
import { CoreBaseComponent } from '../../../common/base.component';
import { FormFieldAggregatable, FormFieldAggregator } from '../form-field-aggregator';
import * as i0 from "@angular/core";
/**
* Provider that hides any existing ControlContainers from NgModel
*/
export declare const nullFormProvider: Provider;
/**
* Provider for the form field aggregator token
*/
export declare const fieldAggregationProvider: Provider;
export interface FormStatus {
dirty: boolean;
pending: boolean;
touched: boolean;
valid: boolean;
}
/**
* Component used to force NgModel's in this controls content behave in standalone mode.
* That is, isolated from external form control containers.
*/
export declare class FormFieldIsolatorComponent extends CoreBaseComponent implements FormFieldAggregator, OnDestroy {
/**
* The source name to use for logging
*/
protected get logSourceName(): string;
/**
* Indicates if all the fields connected to this isolator are valid
*/
get isValid(): boolean;
/**
* Indicates if any field connected to this isolator are invalid
*/
get isInvalid(): boolean;
/**
* Indicates if any field connected to this isolator is pending
*/
get isPending(): boolean;
/**
* Indicates if all the fields connected to this isolator are valid
*/
private status;
/**
* The template ref of a subform of this component. The way this template ref is used varies form field to field
*/
subFieldTemplate: TemplateRef<any>;
/**
* Event for listening to validity changes
*/
statusChanged: Subject<FormStatus>;
/**
* The fields registered with this control
*/
private formFields;
/**
* Initializes a new instance of the JsonFormFieldComponent
*/
constructor(injector: Injector);
ngOnDestroy(): void;
/**
* Adds a form field to isolated state tracking
*/
addFormField(field: FormFieldAggregatable): void;
/**
* Removes a form field from isolated state tracking
*/
removeFormField(field: FormFieldAggregatable): void;
/**
* updates the status of this field
* @debounce is used to throttle calls to this function.
* Only the last call will trigger a status change when multiple calls are fired in quick succession from registered fields.
*/
updateStatus(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldIsolatorComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldIsolatorComponent, "sme-form-field-isolator,sme-array-item", never, {}, {}, ["subFieldTemplate"], never, false, never>;
}