mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-08-18 21:21:21 +02:00
Updated scroll-to-selection so it skips the scroll only on version 11 of iOS.
This commit is contained in:
@@ -15,6 +15,12 @@ const OVERFLOWS = [
|
|||||||
'scroll',
|
'scroll',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Detect whether we are running IOS version 11
|
||||||
|
*/
|
||||||
|
|
||||||
|
const IS_IOS_11 = IS_IOS && !!window.navigator.userAgent.match(/os 11_/i)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the nearest parent with scrolling, or window.
|
* Find the nearest parent with scrolling, or window.
|
||||||
*
|
*
|
||||||
@@ -51,19 +57,6 @@ function findScrollContainer(el, window) {
|
|||||||
return scroller
|
return scroller
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the current iOS version. Assumes that an IOS check was conducted
|
|
||||||
* prior to calling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
const IOS_VERSION_REGEX = /OS (\d+)_/
|
|
||||||
|
|
||||||
function getMajorIOSVersion() {
|
|
||||||
const { userAgent } = window.navigator
|
|
||||||
const matches = userAgent.match(IOS_VERSION_REGEX)
|
|
||||||
return matches ? parseInt(matches[1]) : null
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scroll the current selection's focus point into view if needed.
|
* Scroll the current selection's focus point into view if needed.
|
||||||
*
|
*
|
||||||
@@ -71,11 +64,7 @@ function getMajorIOSVersion() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function scrollToSelection(selection) {
|
function scrollToSelection(selection) {
|
||||||
if (IS_IOS) {
|
if (IS_IOS_11) return
|
||||||
const majorIOSVersion = getMajorIOSVersion()
|
|
||||||
if (majorIOSVersion && majorIOSVersion == 11) return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!selection.anchorNode) return
|
if (!selection.anchorNode) return
|
||||||
|
|
||||||
const window = getWindow(selection.anchorNode)
|
const window = getWindow(selection.anchorNode)
|
||||||
|
Reference in New Issue
Block a user