mdb-ui-kit/js/dist/input.js.map
Kevin Ross e9f523476d dist
2015-12-02 15:03:02 -06:00

1 line
9.8 KiB
Plaintext

{"version":3,"sources":["../src/input.js"],"names":[],"mappings":"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","file":"input.js","sourcesContent":["import Util from './util'\n\nconst Input = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'input'\n const DATA_KEY = `mdb.${NAME}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n convertInputSizeVariations: true,\n template: `<span class='material-input'></span>`,\n formGroup: {\n template: `<div class='form-group'></div>`\n }\n }\n\n const InputSizeConversions = {\n 'input-lg': 'form-group-lg',\n 'input-sm': 'form-group-sm'\n }\n\n const ClassName = {\n IS_EMPTY: 'is-empty',\n FORM_GROUP: 'form-group',\n HAS_ERROR: 'has-error'\n }\n\n const Selector = {\n FORM_GROUP: `.${ClassName.FORM_GROUP}` //,\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Input {\n\n constructor(element, config) {\n this.element = element\n this.config = $.extend({}, Default, config)\n\n // Requires form-group standard markup (will add it if necessary)\n this.formGroup = this._findOrCreateFormGroup()\n\n this._convertInputSizeVariations()\n\n // Initially mark as empty\n if (this._isEmpty()) {\n this.formGroup.addClass(ClassName.IS_EMPTY)\n }\n\n // Add marker div the end of the form-group\n this.formGroup.append(this.config.template)\n\n this._bindEventListeners()\n }\n\n dispose() {\n $.removeData(this.element, DATA_KEY)\n this.element = null\n this.formGroup = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _bindEventListeners() {\n\n this.element\n .on('keydown paste', (event) => {\n if (Util.isChar(event)) {\n this._removeIsEmpty()\n }\n })\n .on('keyup change', (event) => {\n let isValid = (typeof this.element[0].checkValidity === 'undefined' || this.element[0].checkValidity())\n\n if (this.element.val() === '' && isValid) {\n this._addIsEmpty()\n } else {\n this._removeIsEmpty()\n }\n\n // Validation events do not bubble, so they must be attached directly to the input: http://jsfiddle.net/PEpRM/1/\n // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter\n // the form-group on change.\n //\n // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.\n // BUT, I've left it here for backwards compatibility.\n if (isValid) {\n this._removeHasError()\n } else {\n this._addHasError()\n }\n })\n .on('focus', () => {\n Util.addFormGroupFocus(this.formGroup)\n })\n .on('blur', () => {\n Util.removeFormGroupFocus(this.formGroup)\n })\n // make sure empty is added back when there is a programmatic value change.\n // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')\n .on('change', () => {\n if (this.element.attr('type') === 'file') {\n return\n }\n\n let value = this.element.val()\n if (value) {\n this._removeIsEmpty()\n } else {\n this._addIsEmpty()\n }\n })\n }\n\n _addHasError() {\n this.formGroup.addClass(ClassName.HAS_ERROR)\n }\n\n _removeHasError() {\n this.formGroup.removeClass(ClassName.HAS_ERROR)\n }\n\n _addIsEmpty() {\n this.formGroup.addClass(ClassName.IS_EMPTY)\n }\n\n _removeIsEmpty() {\n this.formGroup.removeClass(ClassName.IS_EMPTY)\n }\n\n _isEmpty() {\n return (this.element.val() === null || this.element.val() === undefined || this.element.val() === '')\n }\n\n _convertInputSizeVariations() {\n if (!this.config.convertInputSizeVariations) {\n return\n }\n\n // Modification - Change input-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)\n for (let inputSize in InputSizeConversions) {\n if (this.element.hasClass(inputSize)) {\n this.element.removeClass(inputSize)\n this.formGroup.addClass(InputSizeConversions[inputSize])\n }\n }\n }\n\n _findOrCreateFormGroup() {\n let fg = this.element.closest(Selector.FORM_GROUP) // note that form-group may be grandparent in the case of an input-group\n if (fg.length === 0) {\n this.element.wrap(this.config.formGroup.template)\n fg = this.element.closest(Selector.FORM_GROUP) // find node after attached (otherwise additional attachments don't work)\n }\n return fg\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Input(this, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[NAME] = Input._jQueryInterface\n $.fn[NAME].Constructor = Input\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Input._jQueryInterface\n }\n\n return Input\n\n})(jQuery)\n\nexport default Input\n"]}