UNPKG

@ribajs/bs4

Version:

Bootstrap 4 module for Riba.js

58 lines (57 loc) 2.21 kB
import { Component, HttpMethod, HttpDataType, ScopeBase } from "@ribajs/core"; export interface ValidationObject { fields: { [name: string]: string | boolean | string[]; } | FormData; valid: boolean; error?: string; } export interface SubmitSettings { action: string; method: HttpMethod; target?: string; type: HttpDataType; } export interface Scope extends ScopeBase { id: string; form: ValidationObject; onSubmit: Bs4FormComponent["onSubmit"]; disableSubmitUntilChange: boolean; submitDisabled: boolean; useAjax: boolean; ajaxRequestType: HttpDataType; autoSetFormData: boolean; stripHtml: boolean; scrollToInvalidElement: true; animateInvalidElement: true; } export declare class Bs4FormComponent extends Component { static tagName: string; _debug: boolean; protected autobind: boolean; static get observedAttributes(): string[]; protected formEl: HTMLFormElement | null; protected getDefaultScope(): Scope; scope: Scope; constructor(); protected connectedCallback(): void; protected addEventListeners(): void; protected removeEventListeners(): void; private enableSubmit; protected requiredAttributes(): string[]; protected beforeBind(): Promise<void>; protected afterBind(): Promise<void>; protected stripHtml(): void; onSubmit(event: Event, el: HTMLButtonElement): boolean | undefined; protected ajaxSubmit(event?: Event, el?: HTMLButtonElement): Promise<void>; protected getSubmitSettings(event?: Event): SubmitSettings | null; protected onInvalidForm(event: Event): void; protected scrollToElement(invalidElement: HTMLElement): void; protected animateInvalidElement(invalidElement: HTMLElement, endsOn?: number): void; protected onErrorSubmit(status: string, message: string, response: any): void; protected onSuccessSubmit(status: string, message: string, response: any): void; protected validate(form: HTMLFormElement, validationScope: ValidationObject, errorEventName?: string): void; protected getFormValues(): FormData | null; protected initForm(): void; protected template(): Promise<string | null>; }