Skip to content
Snippets Groups Projects
Select Git revision
  • 9f0cbdd3bb97c61fa5cfb3d8c4189730e5e01b54
  • master default protected
  • 1.31
  • 4.24.3
  • 4.24.2
  • 4.24.1
  • 4.24.0
  • 4.23.6
  • 4.23.5
  • 4.23.4
  • 4.23.3
  • 4.23.2
  • 4.23.1
  • 4.23.0
  • 4.22.3
  • 4.22.2
  • 4.22.1
  • 4.22.0
  • 4.21.0
  • 4.20.1
  • 4.20.0
  • 4.19.0
  • 4.18.0
23 results

save-button.mjs

Blame
  • save-button.mjs 11.49 KiB
    /**
     * Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
     * Node module: @schukai/monster
     *
     * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
     * The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
     *
     * For those who do not wish to adhere to the AGPLv3, a commercial license is available.
     * Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
     * For more information about purchasing a commercial license, please contact schukai GmbH.
     *
     * SPDX-License-Identifier: AGPL-3.0
     */
    
    import { instanceSymbol, internalSymbol } from "../../constants.mjs";
    import { diff } from "../../data/diff.mjs";
    import { addAttributeToken } from "../../dom/attributes.mjs";
    import { ATTRIBUTE_ERRORMESSAGE } from "../../dom/constants.mjs";
    import {
    	assembleMethodSymbol,
    	CustomElement,
    	registerCustomElement,
    } from "../../dom/customelement.mjs";
    import { findElementWithSelectorUpwards } from "../../dom/util.mjs";
    import { isString, isArray } from "../../types/is.mjs";
    import { Observer } from "../../types/observer.mjs";
    import { TokenList } from "../../types/tokenlist.mjs";
    import { clone } from "../../util/clone.mjs";
    import { State } from "../form/types/state.mjs";
    import { ATTRIBUTE_DATASOURCE_SELECTOR } from "./constants.mjs";
    import { Datasource } from "./datasource.mjs";
    import { Rest as RestDatasource } from "./datasource/rest.mjs";
    import { BadgeStyleSheet } from "../stylesheet/badge.mjs";
    import { SaveButtonStyleSheet } from "./stylesheet/save-button.mjs";
    
    import {
    	handleDataSourceChanges,
    	datasourceLinkedElementSymbol,
    } from "./util.mjs";
    import { getLocaleOfDocument } from "../../dom/locale.mjs";
    
    export { SaveButton };
    
    /**
     * @private
     * @type {symbol}
     */
    const stateButtonElementSymbol = Symbol("stateButtonElement");
    
    /**
     * @private
     * @type {symbol}
     */
    const originValuesSymbol = Symbol("originValues");
    
    /**
     * @private
     * @type {symbol}
     */
    const badgeElementSymbol = Symbol("badgeElement");
    
    /**
     * A save button component
     *
     * @fragments /fragments/components/datatable/save-button
     *
     * @example /examples/components/datatable/save-button-simple Simple example
     *
     * @issue https://localhost.alvine.dev:8443/development/issues/closed/274.html
     *