From 9aae2af6f3937a7d99ec619b51f457002cef969f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 14:29:37 +0800
Subject: [PATCH] 档案管理-添加导出功能
---
src/directive/common/copyText.js | 56 ++++++++++++++++++++++++++++----------------------------
1 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/src/directive/common/copyText.js b/src/directive/common/copyText.js
index f1316ce..169c068 100644
--- a/src/directive/common/copyText.js
+++ b/src/directive/common/copyText.js
@@ -6,61 +6,61 @@
export default {
beforeMount(el, { value, arg }) {
if (arg === "callback") {
- el.$copyCallback = value;
+ el.$copyCallback = value
} else {
- el.$copyValue = value;
+ el.$copyValue = value
const handler = () => {
- copyTextToClipboard(el.$copyValue);
+ copyTextToClipboard(el.$copyValue)
if (el.$copyCallback) {
- el.$copyCallback(el.$copyValue);
+ el.$copyCallback(el.$copyValue)
}
- };
- el.addEventListener("click", handler);
- el.$destroyCopy = () => el.removeEventListener("click", handler);
+ }
+ el.addEventListener("click", handler)
+ el.$destroyCopy = () => el.removeEventListener("click", handler)
}
}
}
function copyTextToClipboard(input, { target = document.body } = {}) {
- const element = document.createElement('textarea');
- const previouslyFocusedElement = document.activeElement;
+ const element = document.createElement('textarea')
+ const previouslyFocusedElement = document.activeElement
- element.value = input;
+ element.value = input
// Prevent keyboard from showing on mobile
- element.setAttribute('readonly', '');
+ element.setAttribute('readonly', '')
- element.style.contain = 'strict';
- element.style.position = 'absolute';
- element.style.left = '-9999px';
- element.style.fontSize = '12pt'; // Prevent zooming on iOS
+ element.style.contain = 'strict'
+ element.style.position = 'absolute'
+ element.style.left = '-9999px'
+ element.style.fontSize = '12pt' // Prevent zooming on iOS
- const selection = document.getSelection();
- const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);
+ const selection = document.getSelection()
+ const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0)
- target.append(element);
- element.select();
+ target.append(element)
+ element.select()
// Explicit selection workaround for iOS
- element.selectionStart = 0;
- element.selectionEnd = input.length;
+ element.selectionStart = 0
+ element.selectionEnd = input.length
- let isSuccess = false;
+ let isSuccess = false
try {
- isSuccess = document.execCommand('copy');
+ isSuccess = document.execCommand('copy')
} catch { }
- element.remove();
+ element.remove()
if (originalRange) {
- selection.removeAllRanges();
- selection.addRange(originalRange);
+ selection.removeAllRanges()
+ selection.addRange(originalRange)
}
// Get the focus back on the previously focused element, if any
if (previouslyFocusedElement) {
- previouslyFocusedElement.focus();
+ previouslyFocusedElement.focus()
}
- return isSuccess;
+ return isSuccess
}
--
Gitblit v1.9.3