From 93f0402161e76719ac81438cc79c60faa7ccd331 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Fri, 4 Dec 2015 15:00:57 -0600 Subject: [PATCH] resolved some issues with es6 classes, about to break input into discreet classes instead of sharing any handlers to prevent confusion --- js/src/autofill.js | 4 ++-- js/src/bootstrapMaterialDesign.js | 7 ++++--- js/src/checkbox.js | 6 +++--- js/src/fileinput.js | 4 ++-- js/src/input.js | 8 ++++---- js/src/old/es6Template.js | 4 ++-- js/src/radio.js | 4 ++-- js/src/ripples.js | 4 ++-- js/src/togglebutton.js | 4 ++-- js/src/util.js | 4 ++-- 10 files changed, 25 insertions(+), 24 deletions(-) diff --git a/js/src/autofill.js b/js/src/autofill.js index 75907298..ceb2a1f9 100644 --- a/js/src/autofill.js +++ b/js/src/autofill.js @@ -20,8 +20,8 @@ const Autofill = (($) => { */ class Autofill { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) this._watchLoading() diff --git a/js/src/bootstrapMaterialDesign.js b/js/src/bootstrapMaterialDesign.js index 199380a6..21925d6c 100644 --- a/js/src/bootstrapMaterialDesign.js +++ b/js/src/bootstrapMaterialDesign.js @@ -84,12 +84,12 @@ const BootstrapMaterialDesign = (($) => { */ class BootstrapMaterialDesign { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) let $document = $(document) - for (let component in this.config.instantiation) { + for (let component of this.config.instantiation) { // the component's config fragment is passed in directly, allowing users to override let componentConfig = this.config[component] @@ -101,6 +101,7 @@ const BootstrapMaterialDesign = (($) => { let selector = this._resolveSelector(componentConfig) // instantiate component on selector elements with config + console.debug(`instantiating: ${component}`) $(selector)[component](componentConfig) // add to arrive if present and enabled diff --git a/js/src/checkbox.js b/js/src/checkbox.js index fdc1a168..647a06e0 100644 --- a/js/src/checkbox.js +++ b/js/src/checkbox.js @@ -23,12 +23,12 @@ const Checkbox = (($) => { */ class Checkbox { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) this.$element.after(this.config.template) - this.$formGroup = Util.findFormGroup(this.$element) + this.$formGroup = Util.findFormGroup(this.$element, false) this._bindEventListeners() } diff --git a/js/src/fileinput.js b/js/src/fileinput.js index 2cfead0c..5313b456 100644 --- a/js/src/fileinput.js +++ b/js/src/fileinput.js @@ -27,8 +27,8 @@ const FileInput = (($) => { */ class FileInput { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) this.$formGroup = Util.findFormGroup(this.$element) diff --git a/js/src/input.js b/js/src/input.js index 447854e2..ae34bf9a 100644 --- a/js/src/input.js +++ b/js/src/input.js @@ -41,8 +41,8 @@ const Input = (($) => { */ class Input { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) // Requires form-group standard markup (will add it if necessary) @@ -158,8 +158,8 @@ const Input = (($) => { _findOrCreateFormGroup() { let fg = this.$element.closest(Selector.FORM_GROUP) // note that form-group may be grandparent in the case of an input-group - if (fg.length === 0) { - this.$element.wrap(this.config.$formGroup.template) + if (fg === null || fg.length === 0) { + this.$element.wrap(this.config.formGroup.template) fg = this.$element.closest(Selector.FORM_GROUP) // find node after attached (otherwise additional attachments don't work) } return fg diff --git a/js/src/old/es6Template.js b/js/src/old/es6Template.js index ee8e2154..48d24395 100644 --- a/js/src/old/es6Template.js +++ b/js/src/old/es6Template.js @@ -22,8 +22,8 @@ const Foo = (($) => { */ class Foo { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) } diff --git a/js/src/radio.js b/js/src/radio.js index b0d1085d..4b7420ae 100644 --- a/js/src/radio.js +++ b/js/src/radio.js @@ -23,8 +23,8 @@ const Radio = (($) => { */ class Radio { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) this.$element.after(this.config.template) diff --git a/js/src/ripples.js b/js/src/ripples.js index 7c050a31..7fab574e 100644 --- a/js/src/ripples.js +++ b/js/src/ripples.js @@ -44,8 +44,8 @@ const Ripples = (($) => { */ class Ripples { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) // attach initial listener diff --git a/js/src/togglebutton.js b/js/src/togglebutton.js index 748c8bf4..04e98164 100644 --- a/js/src/togglebutton.js +++ b/js/src/togglebutton.js @@ -23,8 +23,8 @@ const Togglebutton = (($) => { */ class Togglebutton { - constructor($element, config) { - this.$element = $element + constructor(element, config) { + this.$element = $(element) this.config = $.extend({}, Default, config) this.$element.after(this.config.template) diff --git a/js/src/util.js b/js/src/util.js index e52ae4e5..f3bb1854 100644 --- a/js/src/util.js +++ b/js/src/util.js @@ -86,9 +86,9 @@ const Util = (($) => { /** Find expected form-group */ - findFormGroup($element) { + findFormGroup($element, raiseError = true) { let fg = $element.closest(Selector.FORM_GROUP) // note that form-group may be grandparent in the case of an input-group - if (fg.length === 0) { + if (fg.length === 0 && raiseError) { $.error(`Failed to find form-group for ${$element}`) } return fg