Skip to content
Snippets Groups Projects
Select Git revision
  • d04addf240e03fa59c9dab0b1bc1bef73fb76d8f
  • master default protected
  • 1.31
  • 4.34.1
  • 4.34.0
  • 4.33.1
  • 4.33.0
  • 4.32.2
  • 4.32.1
  • 4.32.0
  • 4.31.0
  • 4.30.1
  • 4.30.0
  • 4.29.1
  • 4.29.0
  • 4.28.0
  • 4.27.0
  • 4.26.0
  • 4.25.5
  • 4.25.4
  • 4.25.3
  • 4.25.2
  • 4.25.1
23 results

form.mjs

Blame
  • form.mjs 13.41 KiB
    /**
     * Copyright schukai GmbH and contributors 2023. All Rights Reserved.
     * Node module: @schukai/monster
     * This file is licensed under the AGPLv3 License.
     * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
     */
    import { instanceSymbol } from "../../constants.mjs";
    import { internalSymbol } from "../../constants.mjs";
    import { Datasource } from "../../data/datasource.mjs";
    import { RestAPI } from "../../data/datasource/server/restapi.mjs";
    import { WebConnect } from "../../data/datasource/server/webconnect.mjs";
    import { WriteError } from "../../data/datasource/server/restapi/writeerror.mjs";
    import { LocalStorage } from "../../data/datasource/storage/localstorage.mjs";
    import { SessionStorage } from "../../data/datasource/storage/sessionstorage.mjs";
    import {
    	ATTRIBUTE_DISABLED,
    	ATTRIBUTE_ERRORMESSAGE,
    	ATTRIBUTE_PREFIX,
    	ATTRIBUTE_UPDATER_ATTRIBUTES,
    	ATTRIBUTE_UPDATER_INSERT,
    	ATTRIBUTE_UPDATER_REMOVE,
    	ATTRIBUTE_UPDATER_REPLACE,
    } from "../../dom/constants.mjs";
    import {
    	assembleMethodSymbol,
    	CustomElement,
    	registerCustomElement,
    } from "../../dom/customelement.mjs";
    import { addObjectWithUpdaterToElement } from "../../dom/updater.mjs";
    import { isFunction, isString } from "../../types/is.mjs";
    import { Observer } from "../../types/observer.mjs";
    import { ProxyObserver } from "../../types/proxyobserver.mjs";
    import { Processing } from "../../util/processing.mjs";
    import { MessageStateButton } from "./message-state-button.mjs";
    import {
    	ATTRIBUTE_FORM_DATASOURCE,
    	ATTRIBUTE_FORM_DATASOURCE_ARGUMENTS,
    } from "./constants.mjs";
    import { StateButton } from "./state-button.mjs";
    import { getSlottedElements } from "../../dom/customelement.mjs";
    import { FormStyleSheet } from "./stylesheet/form.mjs";
    
    export { Form };
    
    /**
     * @private
     * @since 3.1.0
     * @type {string}
     */
    const ATTRIBUTE_FORM_DATASOURCE_ACTION = `${ATTRIBUTE_PREFIX}datasource-action`;
    
    /**
     * Form data is the internal representation of the form data
     *
     * @private
     * @type {symbol}
     * @since 1.7.0
     */
    const formDataSymbol = Symbol.for("@schukai/component-form/form@@formdata");
    
    /**
     * @private
     * @type {symbol}
     * @since 2.8.0
     */
    const formDataUpdaterSymbol = Symbol.for(
    	"@schukai/component-form/form@@formdata-updater-link",
    );
    
    /**