Welcome to mirror list, hosted at ThFree Co, Russian Federation.

modal.js.map « dist « js - github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3378029fa2c4f4c7194624dea31256f7061a05d1 (plain)
1
{"version":3,"sources":["../src/modal.js"],"names":["Modal","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","element","config","_config","_getConfig","_element","_dialog","find","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","relatedTarget","hide","_isTransitioning","Util","supportsTransitionEnd","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","transition","hideEvent","off","removeClass","TRANSITION_END","_hideModal","emulateTransitionEnd","removeData","window","extend","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","handleUpdate","setAttribute","_resetAdjustments","_resetScrollbar","remove","callback","animate","doAnimate","createElement","className","appendTo","currentTarget","callbackRemove","_removeBackdrop","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Error","selector","getSelectorFromElement","tagName","$target","_jQueryInterface","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"modal.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                         = 'modal'\n  const VERSION                      = '4.0.0-beta'\n  const DATA_KEY                     = 'bs.modal'\n  const EVENT_KEY                    = `.${DATA_KEY}`\n  const DATA_API_KEY                 = '.data-api'\n  const JQUERY_NO_CONFLICT           = $.fn[NAME]\n  const TRANSITION_DURATION          = 300\n  const BACKDROP_TRANSITION_DURATION = 150\n  const ESCAPE_KEYCODE               = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n  const Default = {\n    backdrop : true,\n    keyboard : true,\n    focus    : true,\n    show     : true\n  }\n\n  const DefaultType = {\n    backdrop : '(boolean|string)',\n    keyboard : 'boolean',\n    focus    : 'boolean',\n    show     : 'boolean'\n  }\n\n  const Event = {\n    HIDE              : `hide${EVENT_KEY}`,\n    HIDDEN            : `hidden${EVENT_KEY}`,\n    SHOW              : `show${EVENT_KEY}`,\n    SHOWN             : `shown${EVENT_KEY}`,\n    FOCUSIN           : `focusin${EVENT_KEY}`,\n    RESIZE            : `resize${EVENT_KEY}`,\n    CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,\n    KEYDOWN_DISMISS   : `keydown.dismiss${EVENT_KEY}`,\n    MOUSEUP_DISMISS   : `mouseup.dismiss${EVENT_KEY}`,\n    MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n    CLICK_DATA_API    : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n    BACKDROP           : 'modal-backdrop',\n    OPEN               : 'modal-open',\n    FADE               : 'fade',\n    SHOW               : 'show'\n  }\n\n  const Selector = {\n    DIALOG             : '.modal-dialog',\n    DATA_TOGGLE        : '[data-toggle=\"modal\"]',\n    DATA_DISMISS       : '[data-dismiss=\"modal\"]',\n    FIXED_CONTENT      : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n    STICKY_CONTENT     : '.sticky-top',\n    NAVBAR_TOGGLER     : '.navbar-toggler'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Modal {\n\n    constructor(element, config) {\n      this._config              = this._getConfig(config)\n      this._element             = element\n      this._dialog              = $(element).find(Selector.DIALOG)[0]\n      this._backdrop            = null\n      this._isShown             = false\n      this._isBodyOverflowing   = false\n      this._ignoreBackdropClick = false\n      this._originalBodyPadding = 0\n      this._scrollbarWidth      = 0\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle(relatedTarget) {\n      return this._isShown ? this.hide() : this.show(relatedTarget)\n    }\n\n    show(relatedTarget) {\n      if (this._isTransitioning) {\n        return\n      }\n\n      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n        this._isTransitioning = true\n      }\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget\n      })\n\n      $(this._element).trigger(showEvent)\n\n      if (this._isShown || showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = true\n\n      this._checkScrollbar()\n      this._setScrollbar()\n\n      this._adjustDialog()\n\n      $(document.body).addClass(ClassName.OPEN)\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(this._element).on(\n        Event.CLICK_DISMISS,\n        Selector.DATA_DISMISS,\n        (event) => this.hide(event)\n      )\n\n      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n        $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n          if ($(event.target).is(this._element)) {\n            this._ignoreBackdropClick = true\n          }\n        })\n      })\n\n      this._showBackdrop(() => this._showElement(relatedTarget))\n    }\n\n    hide(event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      if (this._isTransitioning || !this._isShown) {\n        return\n      }\n\n      const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n      if (transition) {\n        this._isTransitioning = true\n      }\n\n      const hideEvent = $.Event(Event.HIDE)\n\n      $(this._element).trigger(hideEvent)\n\n      if (!this._isShown || hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = false\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(document).off(Event.FOCUSIN)\n\n      $(this._element).removeClass(ClassName.SHOW)\n\n      $(this._element).off(Event.CLICK_DISMISS)\n      $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n      if (transition) {\n\n        $(this._element)\n          .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        this._hideModal()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n      this._config              = null\n      this._element             = null\n      this._dialog              = null\n      this._backdrop            = null\n      this._isShown             = null\n      this._isBodyOverflowing   = null\n      this._ignoreBackdropClick = null\n      this._scrollbarWidth      = null\n    }\n\n    handleUpdate() {\n      this._adjustDialog()\n    }\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _showElement(relatedTarget) {\n      const transition = Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.FADE)\n\n      if (!this._element.parentNode ||\n         this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n        // don't move modals dom position\n        document.body.appendChild(this._element)\n      }\n\n      this._element.style.display = 'block'\n      this._element.removeAttribute('aria-hidden')\n      this._element.scrollTop = 0\n\n      if (transition) {\n        Util.reflow(this._element)\n      }\n\n      $(this._element).addClass(ClassName.SHOW)\n\n      if (this._config.focus) {\n        this._enforceFocus()\n      }\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget\n      })\n\n      const transitionComplete = () => {\n        if (this._config.focus) {\n          this._element.focus()\n        }\n        this._isTransitioning = false\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (transition) {\n        $(this._dialog)\n          .one(Util.TRANSITION_END, transitionComplete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        transitionComplete()\n      }\n    }\n\n    _enforceFocus() {\n      $(document)\n        .off(Event.FOCUSIN) // guard against infinite focus loop\n        .on(Event.FOCUSIN, (event) => {\n          if (document !== event.target &&\n              this._element !== event.target &&\n              !$(this._element).has(event.target).length) {\n            this._element.focus()\n          }\n        })\n    }\n\n    _setEscapeEvent() {\n      if (this._isShown && this._config.keyboard) {\n        $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n          if (event.which === ESCAPE_KEYCODE) {\n            event.preventDefault()\n            this.hide()\n          }\n        })\n\n      } else if (!this._isShown) {\n        $(this._element).off(Event.KEYDOWN_DISMISS)\n      }\n    }\n\n    _setResizeEvent() {\n      if (this._isShown) {\n        $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n      } else {\n        $(window).off(Event.RESIZE)\n      }\n    }\n\n    _hideModal() {\n      this._element.style.display = 'none'\n      this._element.setAttribute('aria-hidden', true)\n      this._isTransitioning = false\n      this._showBackdrop(() => {\n        $(document.body).removeClass(ClassName.OPEN)\n        this._resetAdjustments()\n        this._resetScrollbar()\n        $(this._element).trigger(Event.HIDDEN)\n      })\n    }\n\n    _removeBackdrop() {\n      if (this._backdrop) {\n        $(this._backdrop).remove()\n        this._backdrop = null\n      }\n    }\n\n    _showBackdrop(callback) {\n      const animate = $(this._element).hasClass(ClassName.FADE) ?\n        ClassName.FADE : ''\n\n      if (this._isShown && this._config.backdrop) {\n        const doAnimate = Util.supportsTransitionEnd() && animate\n\n        this._backdrop = document.createElement('div')\n        this._backdrop.className = ClassName.BACKDROP\n\n        if (animate) {\n          $(this._backdrop).addClass(animate)\n        }\n\n        $(this._backdrop).appendTo(document.body)\n\n        $(this._element).on(Event.CLICK_DISMISS, (event) => {\n          if (this._ignoreBackdropClick) {\n            this._ignoreBackdropClick = false\n            return\n          }\n          if (event.target !== event.currentTarget) {\n            return\n          }\n          if (this._config.backdrop === 'static') {\n            this._element.focus()\n          } else {\n            this.hide()\n          }\n        })\n\n        if (doAnimate) {\n          Util.reflow(this._backdrop)\n        }\n\n        $(this._backdrop).addClass(ClassName.SHOW)\n\n        if (!callback) {\n          return\n        }\n\n        if (!doAnimate) {\n          callback()\n          return\n        }\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callback)\n          .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n      } else if (!this._isShown && this._backdrop) {\n        $(this._backdrop).removeClass(ClassName.SHOW)\n\n        const callbackRemove = () => {\n          this._removeBackdrop()\n          if (callback) {\n            callback()\n          }\n        }\n\n        if (Util.supportsTransitionEnd() &&\n           $(this._element).hasClass(ClassName.FADE)) {\n          $(this._backdrop)\n            .one(Util.TRANSITION_END, callbackRemove)\n            .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n        } else {\n          callbackRemove()\n        }\n\n      } else if (callback) {\n        callback()\n      }\n    }\n\n\n    // ----------------------------------------------------------------------\n    // the following methods are used to handle overflowing modals\n    // todo (fat): these should probably be refactored out of modal.js\n    // ----------------------------------------------------------------------\n\n    _adjustDialog() {\n      const isModalOverflowing =\n        this._element.scrollHeight > document.documentElement.clientHeight\n\n      if (!this._isBodyOverflowing && isModalOverflowing) {\n        this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n      }\n\n      if (this._isBodyOverflowing && !isModalOverflowing) {\n        this._element.style.paddingRight = `${this._scrollbarWidth}px`\n      }\n    }\n\n    _resetAdjustments() {\n      this._element.style.paddingLeft = ''\n      this._element.style.paddingRight = ''\n    }\n\n    _checkScrollbar() {\n      const rect = document.body.getBoundingClientRect()\n      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n      this._scrollbarWidth = this._getScrollbarWidth()\n    }\n\n    _setScrollbar() {\n      if (this._isBodyOverflowing) {\n        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n        // Adjust fixed content padding\n        $(Selector.FIXED_CONTENT).each((index, element) => {\n          const actualPadding = $(element)[0].style.paddingRight\n          const calculatedPadding = $(element).css('padding-right')\n          $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust sticky content margin\n        $(Selector.STICKY_CONTENT).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n        })\n\n        // Adjust navbar-toggler margin\n        $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust body padding\n        const actualPadding = document.body.style.paddingRight\n        const calculatedPadding = $('body').css('padding-right')\n        $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      }\n    }\n\n    _resetScrollbar() {\n      // Restore fixed content padding\n      $(Selector.FIXED_CONTENT).each((index, element) => {\n        const padding = $(element).data('padding-right')\n        if (typeof padding !== 'undefined') {\n          $(element).css('padding-right', padding).removeData('padding-right')\n        }\n      })\n\n      // Restore sticky content and navbar-toggler margin\n      $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n        const margin = $(element).data('margin-right')\n        if (typeof margin !== 'undefined') {\n          $(element).css('margin-right', margin).removeData('margin-right')\n        }\n      })\n\n      // Restore body padding\n      const padding = $('body').data('padding-right')\n      if (typeof padding !== 'undefined') {\n        $('body').css('padding-right', padding).removeData('padding-right')\n      }\n    }\n\n    _getScrollbarWidth() { // thx d.walsh\n      const scrollDiv = document.createElement('div')\n      scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n      document.body.appendChild(scrollDiv)\n      const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n      document.body.removeChild(scrollDiv)\n      return scrollbarWidth\n    }\n\n\n    // static\n\n    static _jQueryInterface(config, relatedTarget) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Modal.Default,\n          $(this).data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data) {\n          data = new Modal(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config](relatedTarget)\n        } else if (_config.show) {\n          data.show(relatedTarget)\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    let target\n    const selector = Util.getSelectorFromElement(this)\n\n    if (selector) {\n      target = $(selector)[0]\n    }\n\n    const config = $(target).data(DATA_KEY) ?\n      'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n    if (this.tagName === 'A' || this.tagName === 'AREA') {\n      event.preventDefault()\n    }\n\n    const $target = $(target).one(Event.SHOW, (showEvent) => {\n      if (showEvent.isDefaultPrevented()) {\n        // only register focus restorer if modal will actually get shown\n        return\n      }\n\n      $target.one(Event.HIDDEN, () => {\n        if ($(this).is(':visible')) {\n          this.focus()\n        }\n      })\n    })\n\n    Modal._jQueryInterface.call($(target), config, this)\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Modal._jQueryInterface\n  $.fn[NAME].Constructor = Modal\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Modal._jQueryInterface\n  }\n\n  return Modal\n\n})(jQuery)\n\nexport default Modal\n"]}