diff --git a/src/typography/utils/copy-to-clipboard/index.ts b/src/typography/utils/copy-to-clipboard/index.ts index acfa7d6bd9..40762792dc 100644 --- a/src/typography/utils/copy-to-clipboard/index.ts +++ b/src/typography/utils/copy-to-clipboard/index.ts @@ -1,18 +1,11 @@ import deselectCurrent from './toggle-selection'; interface Options { - debug?: boolean; message?: string; format?: string; // MIME type onCopy?: (clipboardData: object) => void; } -const clipboardToIE11Formatting = { - 'text/plain': 'Text', - 'text/html': 'Url', - default: 'Text', -}; - const defaultMessage = 'Copy to clipboard: #{key}, Enter'; function format(message: string) { @@ -30,7 +23,6 @@ function copy(text: string, options?: Options): boolean { if (!options) { options = {}; } - const debug = options.debug || false; try { reselectPrevious = deselectCurrent(); @@ -54,18 +46,8 @@ function copy(text: string, options?: Options): boolean { e.stopPropagation(); if (options.format) { e.preventDefault(); - if (typeof e.clipboardData === 'undefined') { - // IE 11 - debug && console.warn('unable to use e.clipboardData'); - debug && console.warn('trying IE specific stuff'); - (window as any).clipboardData.clearData(); - const format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting['default']; - (window as any).clipboardData.setData(format, text); - } else { - // all other browsers - e.clipboardData.clearData(); - e.clipboardData.setData(options.format, text); - } + e.clipboardData.clearData(); + e.clipboardData.setData(options.format, text); } if (options.onCopy) { e.preventDefault(); @@ -84,15 +66,11 @@ function copy(text: string, options?: Options): boolean { } success = true; } catch (err) { - debug && console.error('unable to copy using execCommand: ', err); - debug && console.warn('trying IE specific stuff'); try { (window as any).clipboardData.setData(options.format || 'text', text); options.onCopy && options.onCopy((window as any).clipboardData); success = true; } catch (err) { - debug && console.error('unable to copy using clipboardData: ', err); - debug && console.error('falling back to prompt'); message = format('message' in options ? options.message : defaultMessage); window.prompt(message, text); }