Class LocalFormBase<DataShape>
Type Parameters
- DataShape extends object = Record<string, unknown>
Hierarchy (View Summary)
Index
Constructors
Properties
Methods
Constructors
constructor
- new LocalFormBase<DataShape extends object = Record<string, unknown>>(
node: HTMLFormElement,
): LocalFormBase<DataShape>Type Parameters
- DataShape extends object = Record<string, unknown>
Parameters
- node: HTMLFormElement
Returns LocalFormBase<DataShape>
Properties
__ schedule Update Conditions
Protected_ submitstart
Readonlydata
Readonlyelements
Protectedfieldmap
Field mapping. Uses original names
Protectedfield Name
Readonlynode
Methods
Protected__ form Started
Returns void
_ add Described By
Parameters
- contextnode: HTMLElement
- messageid: string
Returns void
_ apply Prefills
Returns void
_ check Click
Parameters
- evt: DocEvent<MouseEvent>
Returns void
_ do Set Field Error
Parameters
- evt: DocEvent<CustomEvent<SetFieldErrorData>>
Returns void
_ do Submit
Parameters
- evt: null | SubmitEvent
- extradata: unknown
Returns Promise<void>
_ execute Next Validation
Returns Promise<void>
_ execute Queued Validation
_ get Condition Raw Value
_ get Fields To Validate
Parameters
Optionalstartingpoint: HTMLElement
Returns HTMLElement[]
_ get Page Title
Parameters
- pagenum: number
Returns string
_ get Queryied Field Value
getValue from a field as returned by _queryAllFields (supporting both multilevel and plain fields)
Parameters
- field: FormControlDescription
Returns string[] | Promise<unknown>
promise
_ get Variable Value For Conditions
_ is Now Settable
Parameters
- node: HTMLElement
Returns boolean
_ is Part Of Form
Parameters
- el: HTMLElement
Returns boolean
_ matches Condition
Parameters
- conditiontext: undefined | string
Returns boolean
_ matches Condition Recursive
Parameters
- condition: FormCondition
Returns boolean
_ navigate To Thank You
Parameters
Optionalrichvalues: RichValues
Returns void
_ on Input Change
Returns void
_ on Take Focus
Parameters
- evt: DocEvent<TakeFocusEvent>
Returns void
_ process Field Value
_ query All Fields
- _queryAllFields(
options?: {
onlysettable?: boolean;
skiparraymembers?: boolean;
skipfield?: HTMLElement;
startnode?: HTMLElement;
},
): FormControlDescription[]Parameters
Optionaloptions: {
onlysettable?: boolean;
skiparraymembers?: boolean;
skipfield?: HTMLElement;
startnode?: HTMLElement;
}
Returns FormControlDescription[]
_ remove Described By
Parameters
- contextnode: HTMLElement
- messageid: string
Returns void
_ report Field Validity
Parameters
- node: HTMLElement
Returns boolean
false on error
_ rewrite Enable On
Returns void
_ submit
Parameters
- evt: null | SubmitEvent
- extradata: unknown
Returns Promise<void>
_ submit Has Timed Out
Returns void
_ update Conditions
Parameters
- isinit: boolean
Returns Promise<void>
_ update Field Group Error State
Parameters
- field: HTMLElement
Returns void
_ update Field Group Message State
- _updateFieldGroupMessageState(
field: HTMLElement,
type: "error" | "suggestion",
getError: (field: HTMLElement) => null | FormFrontendMessage,
): voidSet 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
- field: HTMLElement
_ update Field Group Suggestion State
Parameters
- field: HTMLElement
Returns void
_ update Page Navigation
Returns void
_ update Page Visibility
Parameters
- pagelist: HTMLElement[]
- currentpage: number
Returns void
_ validate Single Field Ourselves
Parameters
- field: HTMLElement
Returns Promise<boolean>
assign
- assign(
data: RecursivePartial<DataShape>,
ignoreUnknownFields?: { ignoreUnknownFields?: boolean },
): voidSet 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
- data: RecursivePartial<DataShape>
before Submit
Override beforeSubmit to have a last chance to block/confirm actual form submission
Parameters
- extradata: unknown
Returns boolean | Promise<boolean>
true to continue submitting
execute Form Action
Parameters
- action: string
Returns Promise<void>
fixup Merge Fields
Parameters
- nodes: HTMLElement[]
Returns Promise<void>
get Current Page
Returns null | HTMLElement
get Current Page Number
Get the current page number
Returns number
0-based index of page to jump to
get Element By Name
Parameters
- name: string
Returns null | FormControlElement | ConstrainedRadioNodeList
get Field
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 Field Group
get the fieldgroup for an element
Parameters
- name: string
Returns null | HTMLElement
get Field Names
Returns string[]
get Field Value
Parameters
- field: HTMLElement
Returns Promise<unknown>
get Form Element Names
Return the names of all form elements
Returns string[]
get Form Value
Return a promise resolving to the submittable form value
Returns Promise<FormResultValue>
get Lang Code
Get language for this form
Returns string
get Options
get Selected Option
- getSelectedOption(
name: string,
):
| null
| {
fieldline: null
| HTMLElement;
inputnode: Node & HTMLInputElement;
value: string;
}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;
}
get Selected Options
- getSelectedOptions(
name: string,
): {
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 Page
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>
- page: number | HTMLElement
refresh Conditions
Returns Promise<void>
reset
Returns void
reset Server Side Errors
Returns void
scroll Into View
Position the specified element's group or the form itself into view, using
.wh-anchornodes to correct for fixed headersParameters
Optionalscrollto: HTMLElementElement to position into view. If not set, the form it scrolled into view
Returns void
Protectedsend Form Event
Parameters
Optionalevent: FormAnalyticsSubEvents
Returns void
set Field Error
Parameters
- field: HTMLElement
- error: string
Optionaloptions: Partial<FieldErrorOptions>
Returns void
set Field Value
Parameters
- fieldnode: HTMLElement
- value: unknown
Returns void
submit
update Rich Values
Parameters
- page: HTMLElement
Optionalrichvalues: RichValues
Returns void
validate
validate the form
Parameters
Optionallimitset: LimitSetA single element, nodelist or array of elements to validate (or their children)
Optionaloptions: ValidationOptions
Returns Promise<FormValidationResult>
a promise that will fulfill when the form is validated
validate And Submit
Parameters
- extradata: unknown
Returns Promise<void>
validate Single Form Field
Parameters
- field: HTMLElement
Returns Promise<boolean>
Staticget For Node
- getForNode<DataShape extends object = Record<string, unknown>>(
node: HTMLElement,
): null | LocalFormBase<DataShape>Type Parameters
- DataShape extends object = Record<string, unknown>
Parameters
- node: HTMLElement
Returns null | LocalFormBase<DataShape>
Deprecated
Use node.elements if you want a true HTMLFormControlsCollection, use getElementByName since WH5.4+ for properly typed elements