AJSF API reference
    Preparing search index...

    Class JsonSchemaFormComponent

    Implements

    • ControlValueAccessor
    • OnChanges
    • OnInit
    Index
    data: any
    dataChange: EventEmitter<any> = ...
    debug: boolean
    debugOutput: any
    defaultDraft: number = DEFAULT_DRAFT
    form: any
    formData: any
    formDataChange: EventEmitter<any> = ...
    formInitialized: boolean = false
    formLayout: EventEmitter<any> = ...
    formSchema: EventEmitter<any> = ...
    formValuesInput: string
    formValueSubscription: any = null
    framework: any
    isValid: EventEmitter<boolean> = ...
    JSONSchema: any
    language: string
    layout: any[]
    loadExternalAssets: boolean
    model: any
    modelChange: EventEmitter<any> = ...
    ngModel: any
    ngModelChange: EventEmitter<any> = ...
    objectWrap: boolean = false
    onChange: Function
    onChanges: EventEmitter<any> = ...
    onSubmit: EventEmitter<any> = ...
    onTouched: Function
    options: any
    previousInputs: {
        data: any;
        debug: boolean;
        form: any;
        formData: any;
        framework: any;
        JSONSchema: any;
        layout: any[];
        loadExternalAssets: boolean;
        model: any;
        options: any;
        schema: any;
        UISchema: any;
        widgets: any;
    } = ...
    schema: any
    UISchema: any
    validationErrors: EventEmitter<any> = ...
    widgets: any
    • 'initializeForm' function

      • Update 'schema', 'layout', and 'formValues', from inputs.

      • Create 'schemaRefLibrary' and 'schemaRecursiveRefMap' to resolve schema $ref links, including recursive $ref links.

      • Create 'dataRecursiveRefMap' to resolve recursive links in data and corectly set output formats for recursively nested values.

      • Create 'layoutRefLibrary' and 'templateRefLibrary' to store new layout nodes and formGroup elements to use when dynamically adding form components to arrays and recursive $ref points.

      • Create 'dataMap' to map the data to the schema and template.

      • Create the master 'formGroupTemplate' then from it 'formGroup' the Angular formGroup used to control the reactive form.

      Returns void

    • A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.

      Parameters

      • changes: { [propName: string]: SimpleChange<any> }

        The changed properties.

      Returns void

    • A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.

      Returns void

    • Parameters

      • fn: Function

        The callback function to register

      Returns void

      Registers a callback function that is called when the control's value changes in the UI.

      This method is called by the forms API on initialization to update the form model when values propagate from the view to the model.

      When implementing the registerOnChange method in your own value accessor, save the given function so your class calls it at the appropriate time.

      The following example stores the provided function as an internal method.

      registerOnChange(fn: (_: any) => void): void {
      this._onChange = fn;
      }

      When the value changes in the UI, call the registered function to allow the forms API to update itself:

      host: {
      '(change)': '_onChange($event.target.value)'
      }
    • Parameters

      • fn: Function

        The callback function to register

      Returns void

      Registers a callback function that is called by the forms API on initialization to update the form model on blur.

      When implementing registerOnTouched in your own value accessor, save the given function so your class calls it when the control should be considered blurred or "touched".

      The following example stores the provided function as an internal method.

      registerOnTouched(fn: any): void {
      this._onTouched = fn;
      }

      On blur (or equivalent), your class should call the registered function to allow the forms API to update itself:

      host: {
      '(blur)': '_onTouched()'
      }
    • Parameters

      • isDisabled: boolean

        The disabled status to set on the element

      Returns void

      Function that is called by the forms API when the control status changes to or from 'DISABLED'. Depending on the status, it enables or disables the appropriate DOM element.

      The following is an example of writing the disabled property to a native DOM element:

      setDisabledState(isDisabled: boolean): void {
      this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);
      }
    • Parameters

      • value: any

      Returns void

      Writes a new value to the element.

      This method is called by the forms API to write to the view when programmatic changes from model to view are requested.

      The following example writes a value to the native DOM element.

      writeValue(value: any): void {
      this._renderer.setProperty(this._elementRef.nativeElement, 'value', value);
      }