@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.
@@ -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) {
@@ -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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/fortune-core",
3
- "version": "1.1.54",
3
+ "version": "1.1.55",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "typings": "lib/index.d.ts",