FormBase | WebHare Platform SDK
WebHare Platform SDK
    Preparing search index...

    Class FormBase<DataShape>

    Type Parameters

    • DataShape extends object = Record<string, unknown>

    Hierarchy

    Index

    Constructors

    Properties

    Methods

    Constructors

    • Type Parameters

      • DataShape extends object = Record<string, unknown>

      Parameters

      • formnode: HTMLFormElement

      Returns FormBase<DataShape>

    Properties

    __formhandler: {
        errors: never[];
        formid: string;
        submitting: boolean;
        target: string;
        url: string;
        warnings: never[];
    } = ...
    __scheduleUpdateConditions: () => Promise<void> = ...
    _submitstart: undefined | number
    data: DataShape = ...
    elements: HTMLFormControlsCollection

    Use node.elements if you want a true HTMLFormControlsCollection, use getElementByName since WH5.4+ for properly typed elements

    fieldmap: Map<string, FormField> = ...

    Field mapping. Uses original names

    fieldName: string
    node: HTMLFormElement
    pendingrpcs: Promise<unknown>[] = ...

    Methods

    • Returns void

    • Parameters

      • contextnode: HTMLElement
      • messageid: string

      Returns void

    • Returns void

    • Parameters

      Returns void

    • Parameters

      • evt: DocEvent<CustomEvent<SetFieldErrorData>>

      Returns void

    • Parameters

      • evt: null | SubmitEvent
      • extradata: unknown

      Returns Promise<void>

    • Returns Promise<void>

    • Parameters

      • Optionallimitset: LimitSet
      • Optionaloptions: ValidationOptions

      Returns Promise<ValidationResult>

    • Returns Promise<void>

    • Parameters

      • fieldname: string
      • Optionaloptions: { checkdisabled?: boolean }

      Returns null | string | string[]

    • Parameters

      • Optionalstartingpoint: HTMLElement

      Returns HTMLElement[]

    • Parameters

      • pagenum: number

      Returns string

    • getValue from a field as returned by _queryAllFields (supporting both multilevel and plain fields)

      Parameters

      • field: FormControlDescription

      Returns string[] | Promise<unknown>

      promise

    • Parameters

      • conditionfield: string
      • Optionaloptions: { checkdisabled?: boolean; matchcase?: boolean }

      Returns null | string | string[]

    • Parameters

      • background: boolean
      • methodname: string
      • args: unknown[]

      Returns Promise<unknown>

    • Parameters

      • node: HTMLElement

      Returns boolean

    • Parameters

      • el: HTMLElement

      Returns boolean

    • Parameters

      • conditiontext: undefined | string

      Returns boolean

    • Parameters

      • condition: FormCondition

      Returns boolean

    • Parameters

      • Optionalrichvalues: RichValues

      Returns void

    • Returns void

    • Parameters

      • outdata: FormResultValue
      • fieldpromises: Promise<void>[]
      • fieldname: string
      • receivedvalue: unknown

      Returns void

    • Parameters

      • messages: { data: unknown; field: string; prop: string }[]

      Returns void

    • Parameters

      • Optionaloptions: {
            onlysettable?: boolean;
            skiparraymembers?: boolean;
            skipfield?: HTMLElement;
            startnode?: HTMLElement;
        }

      Returns FormControlDescription[]

    • Parameters

      • contextnode: HTMLElement
      • messageid: string

      Returns void

    • Parameters

      • node: HTMLElement

      Returns boolean

      false on error

    • Returns void

    • Parameters

      • evt: null | SubmitEvent
      • extradata: unknown

      Returns Promise<void>

    • Returns void

    • Parameters

      • isinit: boolean

      Returns Promise<void>

    • Parameters

      • field: HTMLElement

      Returns void

    • Set or update the message for the specified field

      Parameters

      • field: HTMLElement

        node on which the validation triggered

      • type: "error" | "suggestion"

        type of the message ("error" or "suggestion") - a field or group can have both an "error" and "suggestion" visible

      • getError: (field: HTMLElement) => null | FormFrontendMessage

        function which returns a reference to the error node (or DocumentFragment) or a text

        .wh-form__field--error - Used to indicate this element has an error .wh-form__field--suggestion - Used to indicate this element has an suggestion .wh-form__error - The error message container .wh-form_suggestion - The suggestion message container

      Returns void

    • Parameters

      • field: HTMLElement

      Returns void

    • Returns void

    • Parameters

      • pagelist: HTMLElement[]
      • currentpage: number

      Returns void

    • Parameters

      • field: HTMLElement

      Returns Promise<boolean>

    • Set a value for multiple fields

      Parameters

      • data: RecursivePartial<DataShape>

        The data to set

      • ignoreUnknownFields: { ignoreUnknownFields?: boolean } = {}

        Do not throw if a field is not found in the form. This is the default

      Returns void

    • Override beforeSubmit to have a last chance to block/confirm actual form submission

      Parameters

      • extradata: unknown

      Returns boolean | Promise<boolean>

      true to continue submitting

    • Parameters

      • globalerrors: FormSubmitMessage[]

      Returns void

    • Parameters

      • action: string

      Returns Promise<void>

    • Parameters

      • nodes: HTMLElement[]

      Returns Promise<void>

    • Returns null | HTMLElement

    • Get the current page number

      Returns number

      0-based index of page to jump to

    • Parameters

      • name: string

      Returns null | FormControlElement | ConstrainedRadioNodeList

    • Get a field handler by name

      Parameters

      • name: string
      • options: { allowMissing: true }

      Returns null | FormField

    • Get a field handler by name

      Parameters

      • name: string
      • Optionaloptions: { allowMissing?: boolean }

      Returns FormField

    • get the fieldgroup for an element

      Parameters

      • name: string

      Returns null | HTMLElement

    • Returns string[]

    • Parameters

      • field: HTMLElement

      Returns Promise<unknown>

    • Returns null | Element

    • Return the names of all form elements

      Returns string[]

    • Returns object | Promise<object>

    • Return a promise resolving to the submittable form value

      Returns Promise<FormResultValue>

    • Get language for this form

      Returns string

    • Parameters

      • name: string

      Returns {
          fieldline: null | HTMLElement;
          inputnode: Node & HTMLInputElement;
          value: string;
      }[]

    • Returns RPCFormTarget

    • get the selected option associated with a radio/checkbox group. returns an object that's either null or the first selected option

      Parameters

      • name: string

      Returns
          | null
          | {
              fieldline: null
              | HTMLElement;
              inputnode: Node & HTMLInputElement;
              value: string;
          }

    • gets the selected option associated with a radio/checkbox group as an array

      Parameters

      • name: string

      Returns {
          fieldline: null | HTMLElement;
          inputnode: Node & HTMLInputElement;
          value: string;
      }[]

    • Goto a specific page

      Parameters

      • page: number | HTMLElement

        0-based index of page or the HTML element of the page to jump to

      • __namedParameters: { __isSubmit?: boolean } = {}

      Returns Promise<void>

    • Invoke a function on the form on the server, doesn't call .onRPC or request modality layers

      Parameters

      • methodname: string

        Name of the function on the form

      • ...args: unknown[]

        Arguments for the function

      Returns Promise<unknown>

      Promise that resolves to the result of the rpc call

    • Invoke a function on the form on the server

      Parameters

      • methodname: string
      • ...args: unknown[]

        Arguments for the function

      Returns Promise<unknown>

      Promise that resolves to the result of the rpc call

    • Parameters

      • promise: Promise<void>

      Returns void

    • Parameters

      • e: Error

      Returns void

    • Parameters

      • errors: FormSubmitMessage[]
      • result: unknown

      Returns void

    • Parameters

      • result: {
            resultsguid?: string;
            richvalues?: RichValues;
            submitinstruction?: NavigateInstruction;
            submittype?: string;
        }

      Returns void

    • Parameters

      • field: string
      • prop: string
      • value: unknown

      Returns void

    • Returns Promise<void>

    • Returns void

    • Returns void

    • Position the specified element's group or the form itself into view, using .wh-anchor nodes to correct for fixed headers

      Parameters

      • Optionalscrollto: HTMLElement

        Element to position into view. If not set, the form it scrolled into view

      Returns void

    • Parameters

      • Optionalevent: FormAnalyticsSubEvents

      Returns void

    • Parameters

      • field: HTMLElement
      • error: string
      • Optionaloptions: Partial<FieldErrorOptions>

      Returns void

    • Parameters

      • fieldnode: HTMLElement
      • value: unknown

      Returns void

    • Parameters

      • Optionalextradata: object

      Returns Promise<{ result?: FormSubmitEmbeddedResult }>

    • Parameters

      • page: HTMLElement
      • Optionalrichvalues: RichValues

      Returns void

    • validate the form

      Parameters

      • Optionallimitset: LimitSet

        A single element, nodelist or array of elements to validate (or their children)

      • Optionaloptions: ValidationOptions

      Returns Promise<ValidationResult>

      a promise that will fulfill when the form is validated

    • Parameters

      • extradata: unknown

      Returns Promise<void>

    • Parameters

      • field: HTMLElement

      Returns Promise<boolean>

    • Type Parameters

      • DataShape extends object = Record<string, unknown>

      Parameters

      • node: HTMLElement

      Returns null | FormBase<DataShape>

    • Parameters

      • field: HTMLElement
      • error: string
      • Optionaloptions: Partial<FieldErrorOptions>

      Returns void

      Just import setFieldError from @mod-publisher/js/forms

    • Parameters

      • node: HTMLElement
      • checker: (node: HTMLElement) => string | Promise<string>

      Returns void

      Just import setupValidator from @mod-publisher/js/forms