summaryrefslogtreecommitdiff
path: root/minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js
diff options
context:
space:
mode:
Diffstat (limited to 'minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js')
-rw-r--r--minionlivesmatter/templates/assets/bootstrap-material-design/js/collapseInline.js113
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