fix: fix "copy link" on iOS (#918)

* fix: fix "copy link" on iOS

fixes #912

* fix lint
This commit is contained in:
Nolan Lawson 2019-01-26 12:05:14 -08:00 committed by GitHub
parent 2656e11bb0
commit 0b1efab0c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -32,6 +32,17 @@
import { toast } from '../../toast/toast' import { toast } from '../../toast/toast'
import { doubleRAF } from '../../../_utils/doubleRAF' import { doubleRAF } from '../../../_utils/doubleRAF'
function copyFromInput (input) {
// workarounds for iOS, via https://stackoverflow.com/a/34046084
let range = document.createRange()
range.selectNodeContents(input)
let selection = window.getSelection()
selection.removeAllRanges()
selection.addRange(range)
input.setSelectionRange(0, 9999999)
document.execCommand('copy')
}
export default { export default {
oncreate () { oncreate () {
onCreateDialog.call(this) onCreateDialog.call(this)
@ -48,8 +59,7 @@
close, close,
onClick () { onClick () {
let { input } = this.refs let { input } = this.refs
input.select() copyFromInput(input)
document.execCommand('copy')
toast.say('Copied to clipboard') toast.say('Copied to clipboard')
this.close() this.close()
} }