angular2-json-schema-form
Version:
Angular 2 JSON Schema Form builder
73 lines (72 loc) • 2.57 kB
TypeScript
import { AbstractControl, FormArray, FormGroup } from '@angular/forms';
import { Subject } from 'rxjs/Subject';
export declare type CheckboxItem = {
name: string;
value: any;
checked?: boolean;
};
export declare class JsonSchemaFormService {
JsonFormCompatibility: boolean;
ReactJsonSchemaFormCompatibility: boolean;
AngularSchemaFormCompatibility: boolean;
tpldata: any;
private ajv;
private validateFormData;
initialValues: any;
schema: any;
layout: any[];
formGroupTemplate: any;
formGroup: any;
framework: any;
data: any;
validData: any;
isValid: boolean;
validationErrors: any;
private formValueSubscription;
dataChanges: Subject<any>;
isValidChanges: Subject<any>;
validationErrorChanges: Subject<any>;
arrayMap: Map<string, number>;
dataMap: Map<string, any>;
dataRecursiveRefMap: Map<string, string>;
schemaRecursiveRefMap: Map<string, string>;
layoutRefLibrary: any;
schemaRefLibrary: any;
templateRefLibrary: any;
globalOptionDefaults: any;
globalOptions: any;
constructor();
getData(): any;
getSchema(): any;
getLayout(): any[];
resetAllValues(): void;
convertJsonSchema3to4(): void;
fixJsonFormOptions(layout: any): any;
buildFormGroupTemplate(setValues?: boolean): void;
private validateData(newValue, updateSubscriptions?);
buildFormGroup(): void;
buildLayout(widgetLibrary: any): void;
setOptions(newOptions: any): void;
compileAjvSchema(): void;
resolveSchemaRefLinks(): void;
buildSchemaFromData(data?: any, requireAllFields?: boolean): any;
buildSchemaFromLayout(layout?: any): any;
setTpldata(newTpldata?: any): void;
parseText(text?: string, value?: any, values?: any, key?: number | string): string;
setTitle(parentCtx?: any, childNode?: any, index?: number): string;
initializeControl(ctx: any): boolean;
updateValue(ctx: any, value: any): void;
updateArrayCheckboxList(ctx: any, checkboxList: CheckboxItem[]): void;
getControl(ctx: any): AbstractControl;
getControlValue(ctx: any): AbstractControl;
getControlGroup(ctx: any): FormArray | FormGroup;
getControlName(ctx: any): string;
getLayoutArray(ctx: any): any[];
getParentNode(ctx: any): any[];
getDataPointer(ctx: any): string;
getLayoutPointer(ctx: any): string;
isControlBound(ctx: any): boolean;
addItem(ctx: any): boolean;
moveArrayItem(ctx: any, oldIndex: number, newIndex: number): boolean;
removeItem(ctx: any): boolean;
}