/* Copyright Notice * bootstrap5-toggle v3.7.4 * https://palcarazm.github.io/bootstrap5-toggle/ * @author 2011-2014 Min Hur (https://github.com/minhur) * @author 2018-2019 Brent Ely (https://github.com/gitbrent) * @author 2022 Pablo Alcaraz Martínez (https://github.com/palcarazm) * @funding GitHub Sponsors * @see https://github.com/sponsors/palcarazm * @license MIT * @see https://github.com/palcarazm/bootstrap5-toggle/blob/master/LICENSE */ +(function ($) { "use strict"; // TOGGLE PUBLIC CLASS DEFINITION // ============================== let Toggle = function (element, options) { // A: Capture ref to HMTL element this.$element = $(element); // B: Set options this.options = $.extend({}, this.defaults(), options); // LAST: Render Toggle this.render(); }; Toggle.DEFAULTS = { on: "On", off: "Off", onstyle: "primary", offstyle: "default", onvalue: null, offvalue: null, size: "normal", style: "", width: null, height: null, tabindex: 0, tristate: false, name: null, }; Toggle.prototype.defaults = function () { return { on: this.$element.attr("data-on") || Toggle.DEFAULTS.on, off: this.$element.attr("data-off") || Toggle.DEFAULTS.off, onstyle: this.$element.attr("data-onstyle") || Toggle.DEFAULTS.onstyle, offstyle: this.$element.attr("data-offstyle") || Toggle.DEFAULTS.offstyle, onvalue: this.$element.attr("value") || this.$element.attr("data-onvalue") || Toggle.DEFAULTS.onvalue, offvalue: this.$element.attr("data-offvalue") || Toggle.DEFAULTS.offvalue, size: this.$element.attr("data-size") || Toggle.DEFAULTS.size, style: this.$element.attr("data-style") || Toggle.DEFAULTS.style, width: this.$element.attr("data-width") || Toggle.DEFAULTS.width, height: this.$element.attr("data-height") || Toggle.DEFAULTS.height, tabindex: this.$element.attr("tabindex") || Toggle.DEFAULTS.tabindex, tristate: this.$element.is("[tristate]") || Toggle.DEFAULTS.tristate, name: this.$element.attr("name") || Toggle.DEFAULTS.name, }; }; Toggle.prototype.render = function () { // 0: Parse size let size; switch (this.options.size) { case "large": case "lg": size = "btn-lg"; break; case "small": case "sm": size = "btn-sm"; break; case "mini": case "xs": size = "btn-xs"; break; default: size = ""; break; } // 1: On let $toggleOn = $('