migrate to new git
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
/* istanbul ignore file */
|
||||
import * as dom from './dom/index.js'
|
||||
import { swalClasses } from '../utils/classes.js'
|
||||
|
||||
// Fix iOS scrolling http://stackoverflow.com/q/39626302
|
||||
|
||||
export const iOSfix = () => {
|
||||
const iOS = (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)
|
||||
if (iOS && !dom.hasClass(document.body, swalClasses.iosfix)) {
|
||||
const offset = document.body.scrollTop
|
||||
document.body.style.top = `${offset * -1}px`
|
||||
dom.addClass(document.body, swalClasses.iosfix)
|
||||
lockBodyScroll()
|
||||
}
|
||||
}
|
||||
|
||||
const lockBodyScroll = () => { // #1246
|
||||
const container = dom.getContainer()
|
||||
let preventTouchMove
|
||||
container.ontouchstart = (e) => {
|
||||
preventTouchMove =
|
||||
e.target === container ||
|
||||
(
|
||||
!dom.isScrollable(container) &&
|
||||
e.target.tagName !== 'INPUT' // #1603
|
||||
)
|
||||
}
|
||||
container.ontouchmove = (e) => {
|
||||
if (preventTouchMove) {
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const undoIOSfix = () => {
|
||||
if (dom.hasClass(document.body, swalClasses.iosfix)) {
|
||||
const offset = parseInt(document.body.style.top, 10)
|
||||
dom.removeClass(document.body, swalClasses.iosfix)
|
||||
document.body.style.top = ''
|
||||
document.body.scrollTop = (offset * -1)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user