diff options
Diffstat (limited to 'minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js')
| -rw-r--r-- | minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js b/minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js deleted file mode 100644 index 10d813f..0000000 --- a/minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js +++ /dev/null @@ -1,113 +0,0 @@ -import Base from './base' -import Util from './util' - -const CollapseInline = (($) => { - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - const NAME = 'collapseInline' - const DATA_KEY = `bmd.${NAME}` - const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}` - const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME] - - const Selector = { - ANY_INPUT: 'input, select, textarea' - } - - const ClassName = { - IN: 'in', - COLLAPSE: 'collapse', - COLLAPSING: 'collapsing', - COLLAPSED: 'collapsed', - WIDTH: 'width' - } - const Default = {} - - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - class CollapseInline extends Base { - - // $element is expected to be the trigger - // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field"> - constructor($element, config) { - super($element, $.extend(true, {}, Default, config)) - this.$bmdFormGroup = this.findMdbFormGroup(true) - - let collapseSelector = $element.data('target') - this.$collapse = $(collapseSelector) - - Util.assert($element, this.$collapse.length === 0, `Cannot find collapse target for ${Util.describe($element)}`) - Util.assert(this.$collapse, !this.$collapse.hasClass(ClassName.COLLAPSE), `${Util.describe(this.$collapse)} is expected to have the '${ClassName.COLLAPSE}' class. It is being targeted by ${Util.describe($element)}`) - - // find the first input for focusing - let $inputs = this.$bmdFormGroup.find(Selector.ANY_INPUT) - if ($inputs.length > 0) { - this.$input = $inputs.first() - } - - // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten - if (!this.$collapse.hasClass(ClassName.WIDTH)) { - this.$collapse.addClass(ClassName.WIDTH) - } - - if (this.$input) { - // add a listener to set focus - this.$collapse.on('shown.bs.collapse', () => { - this.$input.focus() - }) - - // add a listener to collapse field - this.$input.blur(() => { - this.$collapse.collapse('hide') - }) - } - } - - dispose() { - super.dispose(DATA_KEY) - this.$bmdFormGroup = null - this.$collapse = null - this.$input = null - } - - // ------------------------------------------------------------------------ - // private - - // ------------------------------------------------------------------------ - // static - static _jQueryInterface(config) { - return this.each(function () { - let $element = $(this) - let data = $element.data(DATA_KEY) - - if (!data) { - data = new CollapseInline($element, config) - $element.data(DATA_KEY, data) - } - }) - } - } - - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface - $.fn[JQUERY_NAME].Constructor = CollapseInline - $.fn[JQUERY_NAME].noConflict = () => { - $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT - return CollapseInline._jQueryInterface - } - - return CollapseInline - -})(jQuery) - -export default CollapseInline |
