From 0b1efab0c191446196e05ade00f5ceda7a4c05ac Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Sat, 26 Jan 2019 12:05:14 -0800 Subject: [PATCH] fix: fix "copy link" on iOS (#918) * fix: fix "copy link" on iOS fixes #912 * fix lint --- .../_components/dialog/components/CopyDialog.html | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/routes/_components/dialog/components/CopyDialog.html b/src/routes/_components/dialog/components/CopyDialog.html index 849c9c05..61507627 100644 --- a/src/routes/_components/dialog/components/CopyDialog.html +++ b/src/routes/_components/dialog/components/CopyDialog.html @@ -32,6 +32,17 @@ import { toast } from '../../toast/toast' 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 { oncreate () { onCreateDialog.call(this) @@ -48,8 +59,7 @@ close, onClick () { let { input } = this.refs - input.select() - document.execCommand('copy') + copyFromInput(input) toast.say('Copied to clipboard') this.close() }