Margarita form reference documentation
    Preparing search index...

    Interface ControlLike<FIELD, VALUE, CHILD_FIELD>

    interface ControlLike<
        FIELD extends MFF = MFF,
        VALUE = ControlValue<FIELD>,
        CHILD_FIELD extends MFF = ChildField<FIELD>,
    > {
        moveControl: <
            IDENTIFIER extends
                OrString
                | PropertyKey
                | OrNumber
                | FieldName
                | ControlIdentifier[] = DeepControlIdentifier<FIELD>,
        >(
            identifier: IDENTIFIER,
            index: number,
        ) => void;
        removeControl: <
            IDENTIFIER extends
                OrString
                | PropertyKey
                | OrNumber
                | FieldName
                | ControlIdentifier[] = DeepControlIdentifier<FIELD>,
        >(
            identifier: IDENTIFIER,
        ) => void;
        updateState: <T extends Partial<MargaritaFormState>>(
            changes: T,
        ) => Promise<boolean>;
        get activeControls(): MFC<CHILD_FIELD>[];
        get activeExtensions(): ExtensionBase[];
        get afterChanges(): Observable<ControlChange>;
        get changes(): BehaviorSubject<ControlChange>;
        get childChanges(): Observable<ControlChange>;
        get config(): MargaritaFormConfig;
        get context(): ControlContext<MFC<FIELD>, never>;
        get controls(): MFC<CHILD_FIELD>[];
        get currentRef(): | null
        | MargaritaFormBaseElement<MFC<MFGF<FieldParams>>, HTMLElement>;
        get expectArray(): boolean;
        get expectChildControls(): boolean;
        get expectFlat(): boolean;
        get expectGroup(): boolean;
        get extensions(): Extensions;
        get fieldChanges(): Observable<FIELD>;
        get fields(): CHILD_FIELD[];
        get grouping(): MargaritaFormGroupings;
        get hasActiveControls(): boolean;
        get hasControls(): boolean;
        get index(): number;
        get isDefaultValue(): boolean;
        get isInitialValue(): boolean;
        get isRoot(): boolean;
        get name(): FIELD["name"] extends string ? any[any] : string;
        get onSubmit(): Observable<MFC<FIELD>>;
        get ownChanges(): Observable<ControlChange>;
        get parent(): MFC;
        get resolvers(): MargaritaFormResolvers;
        get root(): MFC;
        get state(): MargaritaFormState;
        get stateChanges(): Observable<MargaritaFormState>;
        get validators(): MargaritaFormValidators;
        get value(): VALUE;
        set value(value: VALUE): void;
        get valueChanges(): Observable<VALUE>;
        get valueHash(): string;
        get visibleControls(): MFC<CHILD_FIELD>[];
        activate(): void;
        addControl<CHILD_FIELD extends MFGF<FieldParams>>(
            field: CHILD_FIELD,
            replaceExisting?: boolean,
        ): MFC<CHILD_FIELD>;
        addValue(
            value: ControlValueItem<FIELD>,
            mustBeUnique?: boolean,
            setAsDirty?: boolean,
            emitEvent?: boolean,
        ): void;
        appendControl<CHILD_FIELD extends MFF<FieldParams> = FIELD>(
            fieldTemplate?: string | CHILD_FIELD,
            overrides?: Partial<CHILD_FIELD>,
        ): null | MFC<CHILD_FIELD>;
        appendControls<CHILD_FIELD extends MFF<FieldParams> = FIELD>(
            fieldTemplates: string[] | CHILD_FIELD[],
        ): MFC<CHILD_FIELD>[];
        cleanup(): void;
        clear(resetChildren?: boolean): void;
        clearValue(
            setDirtyAs?: boolean,
            resetChildren?: boolean,
            origin?: boolean,
        ): void;
        deactivate(): void;
        disable(): void;
        dispatch(
            action: any,
            setAsDirty?: boolean,
            emitEvent?: boolean,
        ): Promise<void>;
        emitChange(
            name: ControlChangeName,
            change: unknown,
            origin?: MFC<any>,
        ): void;
        enable(): void;
        findControl<
            FIELD_TYPE,
            IDENTIFIER extends
                OrString | PropertyKey | OrNumber | FieldName | ControlIdentifier[] = DeepControlIdentifier<
                FIELD,
            >,
            _T = ChildControl<FIELD_TYPE, IDENTIFIER, FIELD>,
        >(
            identifier: IDENTIFIER,
        ): undefined | _T;
        get<VALUE>(key: OrString | (keyof MFC<MFGF<FieldParams>>)): VALUE;
        getActiveSiblings<
            SIBLING_FIELD extends MFF<FieldParams> = MFGF<FieldParams>,
        >(): MFC<SIBLING_FIELD>[];
        getControl<
            FIELD_TYPE,
            IDENTIFIER extends
                OrString | PropertyKey | OrNumber | FieldName | ControlIdentifier[] = DeepControlIdentifier<
                FIELD,
            >,
            _T = ChildControl<FIELD_TYPE, IDENTIFIER, FIELD>,
        >(
            identifier: IDENTIFIER,
        ): ControlValue<FIELD> extends any[] ? undefined | _T : _T;
        getControls<FIELD extends MFF<FieldParams> = CHILD_FIELD>(
            states?: string | string[],
        ): MFC<FIELD>[];
        getFieldValue<OUTPUT = unknown>(
            key: keyof FIELD,
            defaultValue?: OUTPUT,
        ): OUTPUT;
        getManager<MANAGER>(key: string): MANAGER;
        getOrAddControl<CHILD_FIELD extends MFGF<FieldParams>>(
            field: CHILD_FIELD,
        ): MFC<CHILD_FIELD>;
        getPath(outcome?: "controls" | "keys" | "default" | "uids"): ControlPath;
        getSibling<SIBLING_FIELD extends MFF<FieldParams> = MFGF<FieldParams>>(
            identifier: ControlIdentifier,
        ): MFC<SIBLING_FIELD>;
        getSiblings<SIBLING_FIELD extends MFF<FieldParams> = MFGF<FieldParams>>(): MFC<
            SIBLING_FIELD,
        >[];
        getState<T extends keyof MargaritaFormState>(key: T): MargaritaFormState[T];
        getStateChanges<T extends keyof MargaritaFormState>(
            key: T,
        ): Observable<MargaritaFormState[T]>;
        hasControl(identifier: ControlIdentifier): boolean;
        moveToIndex(index: number): void;
        patchValue(
            value: undefined | null | Partial<VALUE>,
            setAsDirty?: boolean,
            emitEvent?: boolean,
        ): void;
        queryControls<RESULT_FIELD extends MFF<FieldParams> = MFGF<FieldParams>>(
            query: (control: MFC<MFGF<FieldParams>>) => boolean,
            recursive?: boolean,
        ): MFC<RESULT_FIELD>[];
        registerResolver(key: string, resolver: MargaritaFormResolver): void;
        registerValidator(key: string, validator: MargaritaFormValidator): void;
        reInitialize(): void;
        remove(): void;
        removeValue(
            value: ControlValueItem<FIELD>,
            setAsDirty?: boolean,
            emitEvent?: boolean,
        ): void;
        reset(resetChildren?: boolean, origin?: boolean): void;
        resetState(respectField?: boolean, resetChildren?: boolean): void;
        resetValue(
            setDirtyAs?: boolean,
            resetChildren?: boolean,
            origin?: boolean,
        ): void;
        setField(field: FIELD, resetControl?: boolean): Promise<void>;
        setRef(ref: any): void;
        setValue(
            value: undefined | null | VALUE,
            setAsDirty?: boolean,
            emitEvent?: boolean,
        ): void;
        submit<OUTPUT, PARAMS = object>(params?: PARAMS): Promise<OUTPUT>;
        toggleActive(): void;
        toggleEnabled(): void;
        toggleValue(
            value: ControlValueItem<FIELD>,
            mustBeUnique?: boolean,
            setAsDirty?: boolean,
            emitEvent?: boolean,
        ): void;
        updateField(field: Partial<FIELD>, resetControl?: boolean): Promise<void>;
        updateKey(): void;
        updateStateValue<T extends keyof MargaritaFormState>(
            key: T,
            value: MargaritaFormState[T],
        ): Promise<boolean>;
        updateSyncId(): void;
        updateUid(): void;
        validate(setAsTouched?: boolean): Promise<boolean>;
    }

    Type Parameters

    Implemented by

    Index

    Properties

    moveControl: <
        IDENTIFIER extends
            OrString
            | PropertyKey
            | OrNumber
            | FieldName
            | ControlIdentifier[] = DeepControlIdentifier<FIELD>,
    >(
        identifier: IDENTIFIER,
        index: number,
    ) => void
    removeControl: <
        IDENTIFIER extends
            OrString
            | PropertyKey
            | OrNumber
            | FieldName
            | ControlIdentifier[] = DeepControlIdentifier<FIELD>,
    >(
        identifier: IDENTIFIER,
    ) => void
    updateState: <T extends Partial<MargaritaFormState>>(
        changes: T,
    ) => Promise<boolean>

    Accessors

    Methods

    • Parameters

      • OptionalsetDirtyAs: boolean
      • OptionalresetChildren: boolean
      • Optionalorigin: boolean

      Returns void

    • Parameters

      • action: any
      • OptionalsetAsDirty: boolean
      • OptionalemitEvent: boolean

      Returns Promise<void>

    • Parameters

      • value: undefined | null | Partial<VALUE>
      • OptionalsetAsDirty: boolean
      • OptionalemitEvent: boolean

      Returns void

    • Parameters

      • OptionalresetChildren: boolean
      • Optionalorigin: boolean

      Returns void

    • Parameters

      • OptionalrespectField: boolean
      • OptionalresetChildren: boolean

      Returns void

    • Parameters

      • OptionalsetDirtyAs: boolean
      • OptionalresetChildren: boolean
      • Optionalorigin: boolean

      Returns void

    • Parameters

      • value: undefined | null | VALUE
      • OptionalsetAsDirty: boolean
      • OptionalemitEvent: boolean

      Returns void