Options
All
  • Public
  • Public/Protected
  • All
Menu

Index

Type aliases

IFieldProps

IFieldProps<P, T>: Pick<P, Exclude<keyof P, keyof IInputProps<T[keyof T]>>> & { Component: ComponentType<P> | "input" | "select" | "textarea"; getValue?: IGetValueFn<T[keyof T]>; name: keyof T; onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>; onChange?: ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>; onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement> }

Type parameters

IGetValueFn

IGetValueFn<V>: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => V | undefined

Type parameters

  • V

Type declaration

    • (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>): V | undefined
    • Parameters

      • e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>

      Returns V | undefined

IStateWithForms

IStateWithForms: Record<typeof STORE_NAME, RecordOf<IForms>>

IValidator

IValidator: () => Promise<void>

Type declaration

    • (): Promise<void>
    • Returns Promise<void>

Variables

Const DEFAULT_TIMEOUT

DEFAULT_TIMEOUT: 250 = 250

Const Field

Field: Factory = ImmutableRecord<IField<any>>({value: null,visited: false,focus: false,errors: List(),})

Const Form

Form: Factory = ImmutableRecord<IForm<any>>({valid: true,fields: Map(),errors: List(),})

Const Forms

Forms: Factory = ImmutableRecord<IForms>({forms: Map(),})

Const INITIAL_STATE

INITIAL_STATE: RecordOf<IForms> = Forms()

Const STORE_NAME

STORE_NAME: "@aicacia/state-forms" = "@aicacia/state-forms"

Functions

createForms

  • createForms<S>(state: State<S>, Consumer: Consumer<RecordOf<S>>): { addFieldError: <T>(formId: string, field: keyof T, error: RecordOf<IChangesetError>) => void; addFormError: (formId: string, error: RecordOf<IChangesetError>) => void; changeField: <T>(formId: string, name: keyof T, value?: T[keyof T], invalidate?: boolean) => Promise; forms: Store; injectForm: <T>(options: IOptions<T>) => <P>(Component: ComponentType<P>) => ComponentClass<Omit<P, keyof IInjectedFormProps<T>> & IFormProps<T>>; removeField: <T>(formId: string, name: keyof T) => void; updateField: <T>(formId: string, name: keyof T, update: (field: RecordOf<IField<T[keyof T]>>) => RecordOf<IField<T[keyof T]>>, invalidate?: boolean) => void; updateForm: <T>(formId: string, update: (form: RecordOf<IForm<T>>) => RecordOf<IForm<T>>) => Store; useForm: <T>(options: IOptions<T> & IFormProps<T>) => IInjectedFormProps<T> }
  • Type parameters

    • S: Record<"@aicacia/state-forms", RecordOf<IForms>>

    Parameters

    • state: State<S>
    • Consumer: Consumer<RecordOf<S>>

    Returns { addFieldError: <T>(formId: string, field: keyof T, error: RecordOf<IChangesetError>) => void; addFormError: (formId: string, error: RecordOf<IChangesetError>) => void; changeField: <T>(formId: string, name: keyof T, value?: T[keyof T], invalidate?: boolean) => Promise; forms: Store; injectForm: <T>(options: IOptions<T>) => <P>(Component: ComponentType<P>) => ComponentClass<Omit<P, keyof IInjectedFormProps<T>> & IFormProps<T>>; removeField: <T>(formId: string, name: keyof T) => void; updateField: <T>(formId: string, name: keyof T, update: (field: RecordOf<IField<T[keyof T]>>) => RecordOf<IField<T[keyof T]>>, invalidate?: boolean) => void; updateForm: <T>(formId: string, update: (form: RecordOf<IForm<T>>) => RecordOf<IForm<T>>) => Store; useForm: <T>(options: IOptions<T> & IFormProps<T>) => IInjectedFormProps<T> }

    • addFieldError: <T>(formId: string, field: keyof T, error: RecordOf<IChangesetError>) => void
        • <T>(formId: string, field: keyof T, error: RecordOf<IChangesetError>): void
        • Type parameters

          • T: Record<string, any>

          Parameters

          • formId: string
          • field: keyof T
          • error: RecordOf<IChangesetError>

          Returns void

    • addFormError: (formId: string, error: RecordOf<IChangesetError>) => void
        • (formId: string, error: RecordOf<IChangesetError>): void
        • Parameters

          • formId: string
          • error: RecordOf<IChangesetError>

          Returns void

    • changeField: <T>(formId: string, name: keyof T, value?: T[keyof T], invalidate?: boolean) => Promise
        • <T>(formId: string, name: keyof T, value?: T[keyof T], invalidate?: boolean): Promise
        • Type parameters

          • T: Record<string, any>

          Parameters

          • formId: string
          • name: keyof T
          • Optional value: T[keyof T]
          • invalidate: boolean = true

          Returns Promise

    • forms: Store
    • injectForm: <T>(options: IOptions<T>) => <P>(Component: ComponentType<P>) => ComponentClass<Omit<P, keyof IInjectedFormProps<T>> & IFormProps<T>>
    • removeField: <T>(formId: string, name: keyof T) => void
        • <T>(formId: string, name: keyof T): void
        • Type parameters

          • T: Record<string, any>

          Parameters

          • formId: string
          • name: keyof T

          Returns void

    • updateField: <T>(formId: string, name: keyof T, update: (field: RecordOf<IField<T[keyof T]>>) => RecordOf<IField<T[keyof T]>>, invalidate?: boolean) => void
        • <T>(formId: string, name: keyof T, update: (field: RecordOf<IField<T[keyof T]>>) => RecordOf<IField<T[keyof T]>>, invalidate?: boolean): void
        • Type parameters

          • T: Record<string, any>

          Parameters

          • formId: string
          • name: keyof T
          • update: (field: RecordOf<IField<T[keyof T]>>) => RecordOf<IField<T[keyof T]>>
              • (field: RecordOf<IField<T[keyof T]>>): RecordOf<IField<T[keyof T]>>
              • Parameters

                • field: RecordOf<IField<T[keyof T]>>

                Returns RecordOf<IField<T[keyof T]>>

          • invalidate: boolean = true

          Returns void

    • updateForm: <T>(formId: string, update: (form: RecordOf<IForm<T>>) => RecordOf<IForm<T>>) => Store
        • <T>(formId: string, update: (form: RecordOf<IForm<T>>) => RecordOf<IForm<T>>): Store
        • Type parameters

          • T: Record<string, any>

          Parameters

          • formId: string
          • update: (form: RecordOf<IForm<T>>) => RecordOf<IForm<T>>
              • Parameters

                • form: RecordOf<IForm<T>>

                Returns RecordOf<IForm<T>>

          Returns Store

    • useForm: <T>(options: IOptions<T> & IFormProps<T>) => IInjectedFormProps<T>

fromJSON

  • fromJSON(json: IJSONObject): RecordOf<IForms>

selectField

  • selectField<S, T>(state: RecordOf<S>, formId: string, name: keyof T): RecordOf<IField<T[keyof T]>>
  • Type parameters

    • S: Record<"@aicacia/state-forms", RecordOf<IForms>>

    • T: Record<string, any>

    Parameters

    • state: RecordOf<S>
    • formId: string
    • name: keyof T

    Returns RecordOf<IField<T[keyof T]>>

selectFieldErrors

  • selectFieldErrors<S, T>(state: RecordOf<S>, formId: string, field: keyof T): List
  • Type parameters

    • S: Record<"@aicacia/state-forms", RecordOf<IForms>>

    • T: Record<string, any>

    Parameters

    • state: RecordOf<S>
    • formId: string
    • field: keyof T

    Returns List

selectForm

  • selectForm<S, T>(state: RecordOf<S>, formId: string): RecordOf<IForm<T>>
  • Type parameters

    • S: Record<"@aicacia/state-forms", RecordOf<IForms>>

    • T: Record<string, any>

    Parameters

    • state: RecordOf<S>
    • formId: string

    Returns RecordOf<IForm<T>>

selectFormErrors

  • selectFormErrors<S>(state: RecordOf<S>, formId: string): List
  • Type parameters

    • S: Record<"@aicacia/state-forms", RecordOf<IForms>>

    Parameters

    • state: RecordOf<S>
    • formId: string

    Returns List

selectFormExists

  • selectFormExists<S>(state: RecordOf<S>, formId: string): boolean
  • Type parameters

    • S: Record<"@aicacia/state-forms", RecordOf<IForms>>

    Parameters

    • state: RecordOf<S>
    • formId: string

    Returns boolean

Generated using TypeDoc