ui-framework-jps
Version:
A simple UI framework for state management and UI components
48 lines (47 loc) • 2.03 kB
TypeScript
import { Field } from "./Field";
import { FieldDefinition } from "../../model/DataObjectTypeDefs";
import { ValidationEventHandler } from "./event-handlers/ValidationEventHandler";
import { FieldListener } from "./FieldListener";
import { RenderingEventListener } from "./event-handlers/RenderingEventListener";
import { FieldUIConfig } from "../../CommonTypes";
import { ValidatableView } from "../validation/ValidatableView";
export declare class AbstractField implements Field, FieldListener {
protected view: ValidatableView;
protected formId: string;
protected config: FieldUIConfig | null;
protected definition: FieldDefinition;
protected element: HTMLElement;
protected subElements: HTMLInputElement[];
protected validationHandler: ValidationEventHandler;
protected renderingHandler: RenderingEventListener;
protected listeners: FieldListener[];
private hidden;
private bEmitEvents;
constructor(view: ValidatableView, config: FieldUIConfig, fieldDef: FieldDefinition, element: HTMLElement, subElements?: HTMLInputElement[] | null);
isHidden(): boolean;
addFieldListener(listener: FieldListener): void;
getFieldDefinition(): FieldDefinition;
setInvalid(message: string): void;
initialise(): void;
getValue(): string | null;
getFormattedValue(): any | null;
isValid(): boolean;
getId(): string;
setValue(newValue: string): void;
reset(): void;
clearValue(): void;
validate(): void;
render(currentValue: string): string;
failedValidation(view: ValidatableView, field: FieldDefinition, currentValue: string, message: string): void;
valueChanged(view: ValidatableView, field: Field, fieldDef: FieldDefinition, newValue: string | null): void;
getName(): string;
hide(): void;
setValid(): void;
show(): void;
clearReadOnly(): void;
setReadOnly(): void;
getElement(): HTMLElement;
emitEvents(): void;
suppressEvents(): void;
protected handleChangeEvent(event: Event): void;
}