const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
-const CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'
const CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'
const CLASS_NAME_BACKDROP = 'modal-backdrop'
const CLASS_NAME_OPEN = 'modal-open'
this._element.style.display = 'block'
this._element.removeAttribute('aria-hidden')
this._element.setAttribute('aria-modal', true)
+ this._element.scrollTop = 0
- if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {
+ if (modalBody) {
modalBody.scrollTop = 0
- } else {
- this._element.scrollTop = 0
}
if (transition) {
modal.show()
})
- it('should set modal body scroll top to 0 if .modal-dialog-scrollable', done => {
+ it('should set .modal\'s scroll top to 0', done => {
fixtureEl.innerHTML = [
'<div class="modal fade">',
- ' <div class="modal-dialog modal-dialog-scrollable">',
- ' <div class="modal-body"></div>',
+ ' <div class="modal-dialog">',
' </div>',
'</div>'
].join('')
const modalEl = fixtureEl.querySelector('.modal')
- const modalBody = modalEl.querySelector('.modal-body')
const modal = new Modal(modalEl)
modalEl.addEventListener('shown.bs.modal', () => {
- expect(modalBody.scrollTop).toEqual(0)
+ expect(modalEl.scrollTop).toEqual(0)
done()
})
modal.show()
})
- it('should set .modal\'s scroll top to 0 if .modal-dialog-scrollable and modal body do not exists', done => {
+ it('should set modal body scroll top to 0 if modal body do not exists', done => {
fixtureEl.innerHTML = [
'<div class="modal fade">',
- ' <div class="modal-dialog modal-dialog-scrollable">',
+ ' <div class="modal-dialog">',
+ ' <div class="modal-body"></div>',
' </div>',
'</div>'
].join('')
const modalEl = fixtureEl.querySelector('.modal')
+ const modalBody = modalEl.querySelector('.modal-body')
const modal = new Modal(modalEl)
modalEl.addEventListener('shown.bs.modal', () => {
- expect(modalEl.scrollTop).toEqual(0)
+ expect(modalBody.scrollTop).toEqual(0)
done()
})