summaryrefslogtreecommitdiff
path: root/minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-03-24 17:12:23 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-03-24 17:12:23 +0100
commit54b8482223288a4d5df41267f3c9235bab06c15e (patch)
tree2df9f4e43168ab4fcda02e67740bf9772985eb5a /minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js
parenta2d5335f18e053c14e8f88efa5f97368777341be (diff)
downloadmeta-54b8482223288a4d5df41267f3c9235bab06c15e.tar.gz
meta-54b8482223288a4d5df41267f3c9235bab06c15e.zip
add minionlivesmatter
Diffstat (limited to 'minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js')
-rw-r--r--minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js b/minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js
new file mode 100644
index 0000000..cad4806
--- /dev/null
+++ b/minionlivesmatter/templates/assets/bootstrap-material-design/js/switch.js
@@ -0,0 +1,72 @@
+import Checkbox from './checkbox'
+
+const Switch = (($) => {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ const NAME = 'switch'
+ const DATA_KEY = `bmd.${NAME}`
+ const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`
+ const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]
+
+ const Default = {
+ template: `<span class='bmd-switch-track'></span>`
+ }
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+ class Switch extends Checkbox {
+
+ constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'switch'}) {
+ super($element, $.extend(true, {}, Default, config), properties)
+ // selector: '.switch > label > input[type=checkbox]'
+ }
+
+ dispose() {
+ super.dispose(DATA_KEY)
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+ static _jQueryInterface(config) {
+ return this.each(function () {
+ let $element = $(this)
+ let data = $element.data(DATA_KEY)
+
+ if (!data) {
+ data = new Switch($element, config)
+ $element.data(DATA_KEY, data)
+ }
+ })
+ }
+ }
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+ $.fn[JQUERY_NAME] = Switch._jQueryInterface
+ $.fn[JQUERY_NAME].Constructor = Switch
+ $.fn[JQUERY_NAME].noConflict = () => {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT
+ return Switch._jQueryInterface
+ }
+
+ return Switch
+
+})(jQuery)
+
+export default Switch