Skip to content
Snippets Groups Projects
Select Git revision
  • 534d55c4923c4c90eb355b88368b67ec3dcd1472
  • 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

api-bar.mjs

Blame
  • api-bar.mjs 17.56 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.
     */
    
    import {instanceSymbol} from "../../constants.mjs";
    import {addAttributeToken} from "../../dom/attributes.mjs";
    import {
        ATTRIBUTE_ERRORMESSAGE,
        ATTRIBUTE_ROLE,
    } from "../../dom/constants.mjs";
    import {
        assembleMethodSymbol,
        registerCustomElement,
    } from "../../dom/customelement.mjs";
    
    import {isArray, isFunction, isString, isIterable, isObject, isPrimitive} from "../../types/is.mjs";
    import {fireCustomEvent} from "../../dom/events.mjs";
    import {ButtonBar} from "./button-bar.mjs";
    import {validateString} from "../../types/validate.mjs";
    import {Pathfinder} from "../../data/pathfinder.mjs";
    import {buildMap} from "../../data/buildmap.mjs";
    import {ApiButtonStyleSheet} from "./stylesheet/api-button.mjs";
    import {Formatter} from "../../text/formatter.mjs";
    import {getGlobal} from "../../types/global.mjs";
    
    import "./button.mjs";
    import "./message-state-button.mjs";
    import "./state-button.mjs";
    import {MessageStateButton} from "./message-state-button.mjs";
    import {StateButton} from "./state-button.mjs";
    
    export {ApiBar};
    
    
    /**
     * A ApiBar
     *
     * @fragments /fragments/components/form/api-bar/
     *
     * @example /examples/components/form/api-bar-simple
     *
     * @since 3.90.0
     * @copyright schukai GmbH
     * @summary A beautiful ApiBar that can make your life easier and also looks good.
     */
    class ApiBar extends ButtonBar {
        /**
         * This method is called by the `instanceof` operator.
         * @returns {symbol}
         */
        static get [instanceSymbol]() {
            return Symbol.for("@schukai/monster/components/form/api-bar@@instance");
        }
    
        /**
         * To set the options via the HTML tag, the attribute `data-monster-options` must be used.
         * @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
         *
         * The individual configuration values can be found in the table.
         *
         * @property {object} mapping - The mapping object.
         * @property {string} mapping.selector - The selector to find the buttons in the response.