From d42c8b528eb595101954f478e0024e3f079f6fbf Mon Sep 17 00:00:00 2001 From: schneefux Date: Wed, 22 Mar 2017 19:19:26 +0100 Subject: first implementation of fun stats site --- .../bootstrap-material-design/js/radioInline.js | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 templates/assets/bootstrap-material-design/js/radioInline.js (limited to 'templates/assets/bootstrap-material-design/js/radioInline.js') diff --git a/templates/assets/bootstrap-material-design/js/radioInline.js b/templates/assets/bootstrap-material-design/js/radioInline.js new file mode 100644 index 0000000..679c303 --- /dev/null +++ b/templates/assets/bootstrap-material-design/js/radioInline.js @@ -0,0 +1,77 @@ +import Radio from './radio' + +const RadioInline = (($) => { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + const NAME = 'radioInline' + 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 = { + bmdFormGroup: { + create: false, // no bmd-form-group creation if form-group not present. It messes with the layout. + required: false + } + } + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + class RadioInline extends Radio { + + constructor($element, config, properties = {inputType: 'radio', outerClass: 'radio-inline'}) { + super($element, $.extend(true, {}, Default, config), properties) + } + + dispose() { + super.dispose(DATA_KEY) + } + + // ------------------------------------------------------------------------ + // protected + + // ------------------------------------------------------------------------ + // protected + + // ------------------------------------------------------------------------ + // private + + // ------------------------------------------------------------------------ + // static + static _jQueryInterface(config) { + return this.each(function () { + let $element = $(this) + let data = $element.data(DATA_KEY) + + if (!data) { + data = new RadioInline($element, config) + $element.data(DATA_KEY, data) + } + }) + } + } + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + $.fn[JQUERY_NAME] = RadioInline._jQueryInterface + $.fn[JQUERY_NAME].Constructor = RadioInline + $.fn[JQUERY_NAME].noConflict = () => { + $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT + return RadioInline._jQueryInterface + } + + return RadioInline + +})(jQuery) + +export default RadioInline -- cgit v1.3.1