@fileverse-dev/fortune-core 1.1.54 → 1.1.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/events/paste.js +25 -0
- package/lib/events/paste.js +25 -0
- package/package.json +1 -1
package/es/events/paste.js
CHANGED
|
@@ -1154,6 +1154,7 @@ export function handlePaste(ctx, e) {
|
|
|
1154
1154
|
rowHeightList_1[targetR] = targetRowHeight;
|
|
1155
1155
|
}
|
|
1156
1156
|
_.forEach(tr.querySelectorAll("td, th"), function (element) {
|
|
1157
|
+
var _a, _b;
|
|
1157
1158
|
var td = element;
|
|
1158
1159
|
var className = td.className;
|
|
1159
1160
|
var cell = {};
|
|
@@ -1173,6 +1174,27 @@ export function handlePaste(ctx, e) {
|
|
|
1173
1174
|
cell.v = txt;
|
|
1174
1175
|
}
|
|
1175
1176
|
}
|
|
1177
|
+
var pendingLink = null;
|
|
1178
|
+
var anchor = td.querySelector("a[href]");
|
|
1179
|
+
var urlRegex = /^(https?:\/\/[^\s]+)$/i;
|
|
1180
|
+
if (anchor) {
|
|
1181
|
+
var hrefAttr = ((_a = anchor.getAttribute("href")) === null || _a === void 0 ? void 0 : _a.trim()) || "";
|
|
1182
|
+
var display = ((_b = anchor.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || hrefAttr;
|
|
1183
|
+
if (hrefAttr && urlRegex.test(hrefAttr)) {
|
|
1184
|
+
pendingLink = {
|
|
1185
|
+
href: hrefAttr,
|
|
1186
|
+
display: display
|
|
1187
|
+
};
|
|
1188
|
+
}
|
|
1189
|
+
} else {
|
|
1190
|
+
var raw = (td.textContent || "").trim();
|
|
1191
|
+
if (urlRegex.test(raw)) {
|
|
1192
|
+
pendingLink = {
|
|
1193
|
+
href: raw,
|
|
1194
|
+
display: raw
|
|
1195
|
+
};
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1176
1198
|
var styleString = typeof allStyleList_1[".".concat(className)] === "string" ? allStyleList_1[".".concat(className)].substring(1, allStyleList_1[".".concat(className)].length - 1).split("\n\t") : [];
|
|
1177
1199
|
var styles = {};
|
|
1178
1200
|
_.forEach(styleString, function (s) {
|
|
@@ -1244,6 +1266,9 @@ export function handlePaste(ctx, e) {
|
|
|
1244
1266
|
}
|
|
1245
1267
|
var r_ab = ctx.luckysheet_select_save[0].row[0] + r_1;
|
|
1246
1268
|
var c_ab = ctx.luckysheet_select_save[0].column[0] + c;
|
|
1269
|
+
if (pendingLink) {
|
|
1270
|
+
saveHyperlink(ctx, r_ab, c_ab, pendingLink.href, "webpage", pendingLink.display);
|
|
1271
|
+
}
|
|
1247
1272
|
for (var rp = 0; rp < rowspan; rp += 1) {
|
|
1248
1273
|
for (var cp = 0; cp < colspan; cp += 1) {
|
|
1249
1274
|
if (rp === 0) {
|
package/lib/events/paste.js
CHANGED
|
@@ -1163,6 +1163,7 @@ function handlePaste(ctx, e) {
|
|
|
1163
1163
|
rowHeightList_1[targetR] = targetRowHeight;
|
|
1164
1164
|
}
|
|
1165
1165
|
_lodash.default.forEach(tr.querySelectorAll("td, th"), function (element) {
|
|
1166
|
+
var _a, _b;
|
|
1166
1167
|
var td = element;
|
|
1167
1168
|
var className = td.className;
|
|
1168
1169
|
var cell = {};
|
|
@@ -1182,6 +1183,27 @@ function handlePaste(ctx, e) {
|
|
|
1182
1183
|
cell.v = txt;
|
|
1183
1184
|
}
|
|
1184
1185
|
}
|
|
1186
|
+
var pendingLink = null;
|
|
1187
|
+
var anchor = td.querySelector("a[href]");
|
|
1188
|
+
var urlRegex = /^(https?:\/\/[^\s]+)$/i;
|
|
1189
|
+
if (anchor) {
|
|
1190
|
+
var hrefAttr = ((_a = anchor.getAttribute("href")) === null || _a === void 0 ? void 0 : _a.trim()) || "";
|
|
1191
|
+
var display = ((_b = anchor.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || hrefAttr;
|
|
1192
|
+
if (hrefAttr && urlRegex.test(hrefAttr)) {
|
|
1193
|
+
pendingLink = {
|
|
1194
|
+
href: hrefAttr,
|
|
1195
|
+
display: display
|
|
1196
|
+
};
|
|
1197
|
+
}
|
|
1198
|
+
} else {
|
|
1199
|
+
var raw = (td.textContent || "").trim();
|
|
1200
|
+
if (urlRegex.test(raw)) {
|
|
1201
|
+
pendingLink = {
|
|
1202
|
+
href: raw,
|
|
1203
|
+
display: raw
|
|
1204
|
+
};
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1185
1207
|
var styleString = typeof allStyleList_1[".".concat(className)] === "string" ? allStyleList_1[".".concat(className)].substring(1, allStyleList_1[".".concat(className)].length - 1).split("\n\t") : [];
|
|
1186
1208
|
var styles = {};
|
|
1187
1209
|
_lodash.default.forEach(styleString, function (s) {
|
|
@@ -1253,6 +1275,9 @@ function handlePaste(ctx, e) {
|
|
|
1253
1275
|
}
|
|
1254
1276
|
var r_ab = ctx.luckysheet_select_save[0].row[0] + r_1;
|
|
1255
1277
|
var c_ab = ctx.luckysheet_select_save[0].column[0] + c;
|
|
1278
|
+
if (pendingLink) {
|
|
1279
|
+
(0, _modules.saveHyperlink)(ctx, r_ab, c_ab, pendingLink.href, "webpage", pendingLink.display);
|
|
1280
|
+
}
|
|
1256
1281
|
for (var rp = 0; rp < rowspan; rp += 1) {
|
|
1257
1282
|
for (var cp = 0; cp < colspan; cp += 1) {
|
|
1258
1283
|
if (rp === 0) {
|