@fileverse-dev/fortune-core 1.2.64 → 1.2.66

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.
@@ -354,12 +354,21 @@ function pasteHandler(ctx, data, borderInfo) {
354
354
  expandRowsAndColumns(d, addr, addc);
355
355
  }
356
356
  if (!d) return;
357
+ var getUrlFromText = function getUrlFromText(text) {
358
+ var t = String(text).trim();
359
+ if (!t || /[\s\r\n]/.test(t)) return null;
360
+ if (!/^(https?:\/\/|www\.)\S+$/i.test(t)) return null;
361
+ return t.startsWith("http") ? t : "https://".concat(t);
362
+ };
357
363
  for (var r = 0; r < rlen; r += 1) {
358
364
  var x = d[r + curR];
359
365
  for (var c = 0; c < clen; c += 1) {
360
366
  var originCell = x[c + curC];
361
367
  var value = dataChe[r][c];
362
- if (isRealNum(value)) {
368
+ var originalValueStr = String(value);
369
+ var url = getUrlFromText(originalValueStr);
370
+ var isUrl = url !== null;
371
+ if (!isUrl && isRealNum(value)) {
363
372
  if (originCell && originCell.ct && originCell.ct.fa === "@") {
364
373
  value = String(value);
365
374
  } else if (!/^0x?[a-fA-F0-9]+$/.test(value)) {
@@ -367,26 +376,59 @@ function pasteHandler(ctx, data, borderInfo) {
367
376
  }
368
377
  }
369
378
  if (originCell) {
370
- originCell.v = value;
379
+ originCell.v = isUrl ? originalValueStr : value;
371
380
  if (originCell.ct != null && originCell.ct.fa != null) {
372
- originCell.m = update(originCell.ct.fa, value);
381
+ originCell.m = update(originCell.ct.fa, originCell.v);
373
382
  } else {
374
- originCell.m = value;
383
+ originCell.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
375
384
  }
376
385
  if (originCell.f != null && originCell.f.length > 0) {
377
386
  originCell.f = "";
378
387
  }
388
+ if (isUrl && url) {
389
+ var targetRow = r + curR;
390
+ var targetCol = c + curC;
391
+ saveHyperlink(ctx, targetRow, targetCol, url, "webpage", originalValueStr);
392
+ originCell.hl = {
393
+ r: targetRow,
394
+ c: targetCol,
395
+ id: ctx.currentSheetId
396
+ };
397
+ originCell.fc = originCell.fc || "rgb(0, 0, 255)";
398
+ originCell.un = originCell.un !== undefined ? originCell.un : 1;
399
+ }
379
400
  } else {
380
401
  var cell = {};
381
- var mask = genarate(value);
382
- _a = mask, cell.m = _a[0], cell.ct = _a[1], cell.v = _a[2];
383
- if (/^0x?[a-fA-F0-9]+$/.test(value)) {
384
- cell.m = value;
402
+ if (isUrl) {
403
+ cell.v = originalValueStr;
404
+ cell.m = originalValueStr;
385
405
  cell.ct = {
386
406
  fa: "@",
387
407
  t: "s"
388
408
  };
389
- cell.v = value;
409
+ } else {
410
+ var mask = genarate(value);
411
+ _a = mask, cell.m = _a[0], cell.ct = _a[1], cell.v = _a[2];
412
+ if (/^0x?[a-fA-F0-9]+$/.test(value)) {
413
+ cell.m = value;
414
+ cell.ct = {
415
+ fa: "@",
416
+ t: "s"
417
+ };
418
+ cell.v = value;
419
+ }
420
+ }
421
+ if (isUrl && url) {
422
+ var targetRow = r + curR;
423
+ var targetCol = c + curC;
424
+ saveHyperlink(ctx, targetRow, targetCol, url, "webpage", originalValueStr);
425
+ cell.hl = {
426
+ r: targetRow,
427
+ c: targetCol,
428
+ id: ctx.currentSheetId
429
+ };
430
+ cell.fc = cell.fc || "rgb(0, 0, 255)";
431
+ cell.un = cell.un !== undefined ? cell.un : 1;
390
432
  }
391
433
  x[c + curC] = cell;
392
434
  }
@@ -786,7 +828,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
786
828
  }
787
829
  }
788
830
  function pasteHandlerOfCopyPaste(ctx, copyRange) {
789
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
831
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
790
832
  var allowEdit = isAllowEdit(ctx);
791
833
  if (!allowEdit || ctx.isFlvReadOnly) return;
792
834
  if (!copyRange) return;
@@ -1085,21 +1127,64 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
1085
1127
  file.luckysheet_conditionformat_save = cdformat;
1086
1128
  file.dataVerification = __assign(__assign({}, file.dataVerification), dataVerification);
1087
1129
  if (((_l = ctx.luckysheet_select_save) === null || _l === void 0 ? void 0 : _l.length) === 1 && ((_m = ctx.luckysheet_copy_save) === null || _m === void 0 ? void 0 : _m.copyRange.length) === 1) {
1088
- _.forEach((_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.copyRange, function (range) {
1089
- var _a, _b, _c;
1090
- var srcIndex = getSheetIndex(ctx, (_a = ctx.luckysheet_copy_save) === null || _a === void 0 ? void 0 : _a.dataSheetId);
1091
- for (var r = 0; r <= range.row[1] - range.row[0]; r += 1) {
1092
- for (var c = 0; c <= range.column[1] - range.column[0]; c += 1) {
1093
- var srcRow = r + range.row[0];
1094
- var srcCol = c + range.column[0];
1095
- var srcLink = (_b = ctx.luckysheetfile[srcIndex].hyperlink) === null || _b === void 0 ? void 0 : _b["".concat(srcRow, "_").concat(srcCol)];
1096
- if (!srcLink) continue;
1097
- var targetR = r + ctx.luckysheet_select_save[0].row[0];
1098
- var targetC = c + ctx.luckysheet_select_save[0].column[0];
1099
- setCellHyperlink(ctx, (_c = ctx.luckysheet_copy_save) === null || _c === void 0 ? void 0 : _c.dataSheetId, targetR, targetC, srcLink);
1130
+ var srcIndex = getSheetIndex(ctx, (_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.dataSheetId);
1131
+ var targetSheetIndex = getSheetIndex(ctx, ctx.currentSheetId);
1132
+ var srcHyperlinks = ctx.luckysheetfile[srcIndex].hyperlink;
1133
+ var srcData = ctx.luckysheetfile[srcIndex].data;
1134
+ if (!ctx.luckysheetfile[targetSheetIndex].hyperlink) {
1135
+ ctx.luckysheetfile[targetSheetIndex].hyperlink = {};
1136
+ }
1137
+ var targetHyperlinks = ctx.luckysheetfile[targetSheetIndex].hyperlink;
1138
+ var isSingleCell = copyh === 1 && copyc === 1;
1139
+ var cachedSrcLinkKey = isSingleCell ? "".concat(c_r1, "_").concat(c_c1) : null;
1140
+ var cachedSrcLink = isSingleCell && srcHyperlinks ? srcHyperlinks[cachedSrcLinkKey] : null;
1141
+ var cachedSrcCell = isSingleCell && srcData ? (_p = srcData[c_r1]) === null || _p === void 0 ? void 0 : _p[c_c1] : null;
1142
+ for (var th = 1; th <= timesH; th += 1) {
1143
+ for (var tc = 1; tc <= timesC; tc += 1) {
1144
+ var linkMth = minh + (th - 1) * copyh;
1145
+ var linkMtc = minc + (tc - 1) * copyc;
1146
+ var linkMaxRow = minh + th * copyh;
1147
+ var linkMaxCol = minc + tc * copyc;
1148
+ for (var h = linkMth; h < linkMaxRow; h += 1) {
1149
+ for (var c = linkMtc; c < linkMaxCol; c += 1) {
1150
+ var srcLink = void 0;
1151
+ if (isSingleCell && cachedSrcLink) {
1152
+ srcLink = cachedSrcLink;
1153
+ } else {
1154
+ var srcRow = c_r1 + (h - linkMth);
1155
+ var srcCol = c_c1 + (c - linkMtc);
1156
+ srcLink = srcHyperlinks === null || srcHyperlinks === void 0 ? void 0 : srcHyperlinks["".concat(srcRow, "_").concat(srcCol)];
1157
+ }
1158
+ if (!srcLink) continue;
1159
+ var targetKey = "".concat(h, "_").concat(c);
1160
+ targetHyperlinks[targetKey] = srcLink;
1161
+ var cell = (_q = d[h]) === null || _q === void 0 ? void 0 : _q[c];
1162
+ if (cell) {
1163
+ var srcCell = void 0;
1164
+ if (isSingleCell && cachedSrcCell) {
1165
+ srcCell = cachedSrcCell;
1166
+ } else {
1167
+ var srcRow = c_r1 + (h - linkMth);
1168
+ var srcCol = c_c1 + (c - linkMtc);
1169
+ srcCell = (_r = srcData === null || srcData === void 0 ? void 0 : srcData[srcRow]) === null || _r === void 0 ? void 0 : _r[srcCol];
1170
+ }
1171
+ cell.hl = {
1172
+ r: h,
1173
+ c: c,
1174
+ id: ctx.currentSheetId
1175
+ };
1176
+ if (srcCell) {
1177
+ if (srcCell.fc) cell.fc = srcCell.fc;
1178
+ if (srcCell.un !== undefined) cell.un = srcCell.un;
1179
+ } else {
1180
+ cell.fc = cell.fc || "rgb(0, 0, 255)";
1181
+ cell.un = cell.un !== undefined ? cell.un : 1;
1182
+ }
1183
+ }
1184
+ }
1100
1185
  }
1101
1186
  }
1102
- });
1187
+ }
1103
1188
  }
1104
1189
  if (copyRowlChange || addr > 0 || addc > 0) {
1105
1190
  jfrefreshgrid(ctx, d, ctx.luckysheet_select_save);
@@ -1136,11 +1221,17 @@ export function parseAsLinkIfUrl(txtdata, ctx) {
1136
1221
  var _a, _b, _c, _d, _e, _f, _g;
1137
1222
  var urlRegex = /^(https?:\/\/[^\s]+)/;
1138
1223
  if (urlRegex.test(txtdata)) {
1139
- var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
1140
- if (last) {
1141
- var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
1142
- var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
1224
+ if (ctx.luckysheetCellUpdate.length === 2) {
1225
+ var rowIndex = ctx.luckysheetCellUpdate[0];
1226
+ var colIndex = ctx.luckysheetCellUpdate[1];
1143
1227
  saveHyperlink(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
1228
+ } else {
1229
+ var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
1230
+ if (last) {
1231
+ var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
1232
+ var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
1233
+ saveHyperlink(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
1234
+ }
1144
1235
  }
1145
1236
  }
1146
1237
  }
package/es/locale/en.d.ts CHANGED
@@ -513,6 +513,7 @@ declare const _default: {
513
513
  chartEditNoOpt: string;
514
514
  sheetNameSpecCharError: string;
515
515
  sheetNamecannotIsEmptyError: string;
516
+ confirmMerge: string;
516
517
  };
517
518
  conditionformat: {
518
519
  conditionformat_greaterThan: string;
package/es/locale/en.js CHANGED
@@ -9610,7 +9610,8 @@ export default {
9610
9610
  noHide: "Can't hide, at least keep one sheet tag",
9611
9611
  chartEditNoOpt: "This operation is not allowed in chart editing mode!",
9612
9612
  sheetNameSpecCharError: "The name cannot contain:[ ] : ? * / ' \"",
9613
- sheetNamecannotIsEmptyError: "Sheet name cannot be empty!"
9613
+ sheetNamecannotIsEmptyError: "Sheet name cannot be empty!",
9614
+ confirmMerge: "Merging cells will only preserve the top-leftmost value. Merge anyway?"
9614
9615
  },
9615
9616
  conditionformat: {
9616
9617
  conditionformat_greaterThan: "Conditional format - Greater than",
@@ -570,6 +570,7 @@ declare function locale(ctx: Context): {
570
570
  chartEditNoOpt: string;
571
571
  sheetNameSpecCharError: string;
572
572
  sheetNamecannotIsEmptyError: string;
573
+ confirmMerge: string;
573
574
  };
574
575
  conditionformat: {
575
576
  conditionformat_greaterThan: string;
package/es/locale/zh.d.ts CHANGED
@@ -569,6 +569,7 @@ declare const _default: {
569
569
  chartEditNoOpt: string;
570
570
  sheetNameSpecCharError: string;
571
571
  sheetNamecannotIsEmptyError: string;
572
+ confirmMerge: string;
572
573
  };
573
574
  conditionformat: {
574
575
  conditionformat_greaterThan: string;
package/es/locale/zh.js CHANGED
@@ -10083,7 +10083,8 @@ export default {
10083
10083
  noHide: "不能隐藏, 至少保留一个sheet标签",
10084
10084
  chartEditNoOpt: "图表编辑模式下不允许该操作!",
10085
10085
  sheetNameSpecCharError: "名称不能超过31个字符,首尾不能是' 且名称不能包含:\r\n[ ] : \\ ? * /",
10086
- sheetNamecannotIsEmptyError: "名称不能为空!"
10086
+ sheetNamecannotIsEmptyError: "名称不能为空!",
10087
+ confirmMerge: "合并单元格将仅保留左上角单元格的值。是否继续?"
10087
10088
  },
10088
10089
  conditionformat: {
10089
10090
  conditionformat_greaterThan: "条件格式——大于",
@@ -538,7 +538,7 @@ export function cancelNormalSelected(ctx) {
538
538
  ctx.formulaCache.rangedrag_row_start = false;
539
539
  }
540
540
  export function updateCell(ctx, r, c, $input, value, canvas) {
541
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
541
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
542
542
  if (ctx.allowEdit === false || ctx.isFlvReadOnly) return;
543
543
  var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
544
544
  var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
@@ -546,6 +546,13 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
546
546
  if (!flowdata) return;
547
547
  var index = getSheetIndex(ctx, ctx.currentSheetId);
548
548
  var dataVerification = ctx.luckysheetfile[index].dataVerification;
549
+ var sheetFile = ctx.luckysheetfile[index];
550
+ var getUrlFromText = function getUrlFromText(text) {
551
+ var t = (text !== null && text !== void 0 ? text : "").trim();
552
+ if (!t || /[\s\r\n]/.test(t)) return null;
553
+ if (!/^(https?:\/\/|www\.)\S+$/i.test(t)) return null;
554
+ return t.startsWith("http") ? t : "https://".concat(t);
555
+ };
549
556
  if (!_.isNil(dataVerification)) {
550
557
  var dvItem = dataVerification["".concat(r, "_").concat(c)];
551
558
  if (!_.isNil(dvItem) && dvItem.prohibitInput && !validateCellData(ctx, dvItem, inputText)) {
@@ -803,13 +810,30 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
803
810
  } catch (e) {
804
811
  console.log("[updateCell] spill failed; falling back", e);
805
812
  }
813
+ var url = getUrlFromText($input === null || $input === void 0 ? void 0 : $input.innerText);
814
+ if (url && _typeof(value) === "object" && value) {
815
+ value.hl = 1;
816
+ if (!sheetFile.hyperlink) sheetFile.hyperlink = {};
817
+ sheetFile.hyperlink["".concat(r, "_").concat(c)] = {
818
+ linkType: "webpage",
819
+ linkAddress: url
820
+ };
821
+ if (typeof value.v !== "string") {
822
+ value.v = (_r = $input === null || $input === void 0 ? void 0 : $input.innerText) !== null && _r !== void 0 ? _r : url;
823
+ }
824
+ if (value.m == null) {
825
+ value.m = value.v;
826
+ }
827
+ if (value.fc == null) value.fc = "rgb(0, 0, 255)";
828
+ if (value.un == null) value.un = 1;
829
+ }
806
830
  setCellValue(ctx, r, c, d, value);
807
831
  cancelNormalSelected(ctx);
808
832
  if ((curv === null || curv === void 0 ? void 0 : curv.tb) === "2" && curv.v || isInlineStringCell(d[r][c])) {
809
833
  var defaultrowlen = ctx.defaultrowlen;
810
834
  var cfg = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].config || {};
811
- if (!(((_r = cfg.columnlen) === null || _r === void 0 ? void 0 : _r[c]) && ((_s = cfg.rowlen) === null || _s === void 0 ? void 0 : _s[r]))) {
812
- var cellWidth = ((_t = cfg.columnlen) === null || _t === void 0 ? void 0 : _t[c]) || ctx.defaultcollen;
835
+ if (!(((_s = cfg.columnlen) === null || _s === void 0 ? void 0 : _s[c]) && ((_t = cfg.rowlen) === null || _t === void 0 ? void 0 : _t[r]))) {
836
+ var cellWidth = ((_u = cfg.columnlen) === null || _u === void 0 ? void 0 : _u[c]) || ctx.defaultcollen;
813
837
  var textInfo = canvas ? getCellTextInfo(d[r][c], canvas, ctx, {
814
838
  r: r,
815
839
  c: c,
@@ -820,7 +844,7 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
820
844
  currentRowLen = textInfo.textHeightAll + 2;
821
845
  }
822
846
  var previousRowHeight = getRowHeight(ctx, [r])[r];
823
- if (currentRowLen > defaultrowlen && !((_u = cfg.customHeight) === null || _u === void 0 ? void 0 : _u[r]) && previousRowHeight < currentRowLen) {
847
+ if (currentRowLen > defaultrowlen && !((_v = cfg.customHeight) === null || _v === void 0 ? void 0 : _v[r]) && previousRowHeight < currentRowLen) {
824
848
  if (_.isNil(cfg.rowlen)) cfg.rowlen = {};
825
849
  cfg.rowlen[r] = currentRowLen;
826
850
  }
@@ -97,115 +97,114 @@ export function mergeCells(ctx, sheetId, ranges, type) {
97
97
  }
98
98
  }
99
99
  }
100
- } else {
101
- for (var i = 0; i < ranges.length; i += 1) {
102
- var range = ranges[i];
103
- var r1 = range.row[0];
104
- var r2 = range.row[1];
105
- var c1 = range.column[0];
106
- var c2 = range.column[1];
107
- if (r1 === r2 && c1 === c2) {
108
- continue;
100
+ }
101
+ for (var i = 0; i < ranges.length; i += 1) {
102
+ var range = ranges[i];
103
+ var r1 = range.row[0];
104
+ var r2 = range.row[1];
105
+ var c1 = range.column[0];
106
+ var c2 = range.column[1];
107
+ if (r1 === r2 && c1 === c2) {
108
+ continue;
109
+ }
110
+ if (type === "merge-all") {
111
+ var fv = {};
112
+ var isfirst = false;
113
+ for (var r = r1; r <= r2; r += 1) {
114
+ for (var c = c1; c <= c2; c += 1) {
115
+ var cell = d[r][c];
116
+ if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_a = cell.ct.s) === null || _a === void 0 ? void 0 : _a.length)) && !isfirst) {
117
+ fv = _.cloneDeep(cell);
118
+ isfirst = true;
119
+ }
120
+ d[r][c] = {
121
+ mc: {
122
+ r: r1,
123
+ c: c1
124
+ }
125
+ };
126
+ }
109
127
  }
110
- if (type === "merge-all") {
128
+ d[r1][c1] = fv;
129
+ var a = d[r1][c1];
130
+ if (!a) return;
131
+ a.mc = {
132
+ r: r1,
133
+ c: c1,
134
+ rs: r2 - r1 + 1,
135
+ cs: c2 - c1 + 1
136
+ };
137
+ cfg.merge["".concat(r1, "_").concat(c1)] = {
138
+ r: r1,
139
+ c: c1,
140
+ rs: r2 - r1 + 1,
141
+ cs: c2 - c1 + 1
142
+ };
143
+ } else if (type === "merge-vertical") {
144
+ for (var c = c1; c <= c2; c += 1) {
111
145
  var fv = {};
112
146
  var isfirst = false;
113
147
  for (var r = r1; r <= r2; r += 1) {
114
- for (var c = c1; c <= c2; c += 1) {
115
- var cell = d[r][c];
116
- if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_a = cell.ct.s) === null || _a === void 0 ? void 0 : _a.length)) && !isfirst) {
117
- fv = _.cloneDeep(cell);
118
- isfirst = true;
119
- }
120
- d[r][c] = {
121
- mc: {
122
- r: r1,
123
- c: c1
124
- }
125
- };
148
+ var cell = d[r][c];
149
+ if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
150
+ fv = _.cloneDeep(cell);
151
+ isfirst = true;
126
152
  }
153
+ d[r][c] = {
154
+ mc: {
155
+ r: r1,
156
+ c: c
157
+ }
158
+ };
127
159
  }
128
- d[r1][c1] = fv;
129
- var a = d[r1][c1];
160
+ d[r1][c] = fv;
161
+ var a = d[r1][c];
130
162
  if (!a) return;
131
163
  a.mc = {
132
164
  r: r1,
133
- c: c1,
165
+ c: c,
134
166
  rs: r2 - r1 + 1,
135
- cs: c2 - c1 + 1
167
+ cs: 1
136
168
  };
137
- cfg.merge["".concat(r1, "_").concat(c1)] = {
169
+ cfg.merge["".concat(r1, "_").concat(c)] = {
138
170
  r: r1,
139
- c: c1,
171
+ c: c,
140
172
  rs: r2 - r1 + 1,
141
- cs: c2 - c1 + 1
173
+ cs: 1
142
174
  };
143
- } else if (type === "merge-vertical") {
175
+ }
176
+ } else if (type === "merge-horizontal") {
177
+ for (var r = r1; r <= r2; r += 1) {
178
+ var fv = {};
179
+ var isfirst = false;
144
180
  for (var c = c1; c <= c2; c += 1) {
145
- var fv = {};
146
- var isfirst = false;
147
- for (var r = r1; r <= r2; r += 1) {
148
- var cell = d[r][c];
149
- if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
150
- fv = _.cloneDeep(cell);
151
- isfirst = true;
152
- }
153
- d[r][c] = {
154
- mc: {
155
- r: r1,
156
- c: c
157
- }
158
- };
181
+ var cell = d[r][c];
182
+ if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
183
+ fv = _.cloneDeep(cell);
184
+ isfirst = true;
159
185
  }
160
- d[r1][c] = fv;
161
- var a = d[r1][c];
162
- if (!a) return;
163
- a.mc = {
164
- r: r1,
165
- c: c,
166
- rs: r2 - r1 + 1,
167
- cs: 1
168
- };
169
- cfg.merge["".concat(r1, "_").concat(c)] = {
170
- r: r1,
171
- c: c,
172
- rs: r2 - r1 + 1,
173
- cs: 1
174
- };
175
- }
176
- } else if (type === "merge-horizontal") {
177
- for (var r = r1; r <= r2; r += 1) {
178
- var fv = {};
179
- var isfirst = false;
180
- for (var c = c1; c <= c2; c += 1) {
181
- var cell = d[r][c];
182
- if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
183
- fv = _.cloneDeep(cell);
184
- isfirst = true;
186
+ d[r][c] = {
187
+ mc: {
188
+ r: r,
189
+ c: c1
185
190
  }
186
- d[r][c] = {
187
- mc: {
188
- r: r,
189
- c: c1
190
- }
191
- };
192
- }
193
- d[r][c1] = fv;
194
- var a = d[r][c1];
195
- if (!a) return;
196
- a.mc = {
197
- r: r,
198
- c: c1,
199
- rs: 1,
200
- cs: c2 - c1 + 1
201
- };
202
- cfg.merge["".concat(r, "_").concat(c1)] = {
203
- r: r,
204
- c: c1,
205
- rs: 1,
206
- cs: c2 - c1 + 1
207
191
  };
208
192
  }
193
+ d[r][c1] = fv;
194
+ var a = d[r][c1];
195
+ if (!a) return;
196
+ a.mc = {
197
+ r: r,
198
+ c: c1,
199
+ rs: 1,
200
+ cs: c2 - c1 + 1
201
+ };
202
+ cfg.merge["".concat(r, "_").concat(c1)] = {
203
+ r: r,
204
+ c: c1,
205
+ rs: 1,
206
+ cs: c2 - c1 + 1
207
+ };
209
208
  }
210
209
  }
211
210
  }
@@ -367,12 +367,21 @@ function pasteHandler(ctx, data, borderInfo) {
367
367
  (0, _sheet.expandRowsAndColumns)(d, addr, addc);
368
368
  }
369
369
  if (!d) return;
370
+ var getUrlFromText = function getUrlFromText(text) {
371
+ var t = String(text).trim();
372
+ if (!t || /[\s\r\n]/.test(t)) return null;
373
+ if (!/^(https?:\/\/|www\.)\S+$/i.test(t)) return null;
374
+ return t.startsWith("http") ? t : "https://".concat(t);
375
+ };
370
376
  for (var r = 0; r < rlen; r += 1) {
371
377
  var x = d[r + curR];
372
378
  for (var c = 0; c < clen; c += 1) {
373
379
  var originCell = x[c + curC];
374
380
  var value = dataChe[r][c];
375
- if ((0, _validation.isRealNum)(value)) {
381
+ var originalValueStr = String(value);
382
+ var url = getUrlFromText(originalValueStr);
383
+ var isUrl = url !== null;
384
+ if (!isUrl && (0, _validation.isRealNum)(value)) {
376
385
  if (originCell && originCell.ct && originCell.ct.fa === "@") {
377
386
  value = String(value);
378
387
  } else if (!/^0x?[a-fA-F0-9]+$/.test(value)) {
@@ -380,26 +389,59 @@ function pasteHandler(ctx, data, borderInfo) {
380
389
  }
381
390
  }
382
391
  if (originCell) {
383
- originCell.v = value;
392
+ originCell.v = isUrl ? originalValueStr : value;
384
393
  if (originCell.ct != null && originCell.ct.fa != null) {
385
- originCell.m = (0, _format.update)(originCell.ct.fa, value);
394
+ originCell.m = (0, _format.update)(originCell.ct.fa, originCell.v);
386
395
  } else {
387
- originCell.m = value;
396
+ originCell.m = typeof originCell.v === "boolean" ? String(originCell.v) : originCell.v;
388
397
  }
389
398
  if (originCell.f != null && originCell.f.length > 0) {
390
399
  originCell.f = "";
391
400
  }
401
+ if (isUrl && url) {
402
+ var targetRow = r + curR;
403
+ var targetCol = c + curC;
404
+ (0, _modules.saveHyperlink)(ctx, targetRow, targetCol, url, "webpage", originalValueStr);
405
+ originCell.hl = {
406
+ r: targetRow,
407
+ c: targetCol,
408
+ id: ctx.currentSheetId
409
+ };
410
+ originCell.fc = originCell.fc || "rgb(0, 0, 255)";
411
+ originCell.un = originCell.un !== undefined ? originCell.un : 1;
412
+ }
392
413
  } else {
393
414
  var cell = {};
394
- var mask = (0, _format.genarate)(value);
395
- _a = mask, cell.m = _a[0], cell.ct = _a[1], cell.v = _a[2];
396
- if (/^0x?[a-fA-F0-9]+$/.test(value)) {
397
- cell.m = value;
415
+ if (isUrl) {
416
+ cell.v = originalValueStr;
417
+ cell.m = originalValueStr;
398
418
  cell.ct = {
399
419
  fa: "@",
400
420
  t: "s"
401
421
  };
402
- cell.v = value;
422
+ } else {
423
+ var mask = (0, _format.genarate)(value);
424
+ _a = mask, cell.m = _a[0], cell.ct = _a[1], cell.v = _a[2];
425
+ if (/^0x?[a-fA-F0-9]+$/.test(value)) {
426
+ cell.m = value;
427
+ cell.ct = {
428
+ fa: "@",
429
+ t: "s"
430
+ };
431
+ cell.v = value;
432
+ }
433
+ }
434
+ if (isUrl && url) {
435
+ var targetRow = r + curR;
436
+ var targetCol = c + curC;
437
+ (0, _modules.saveHyperlink)(ctx, targetRow, targetCol, url, "webpage", originalValueStr);
438
+ cell.hl = {
439
+ r: targetRow,
440
+ c: targetCol,
441
+ id: ctx.currentSheetId
442
+ };
443
+ cell.fc = cell.fc || "rgb(0, 0, 255)";
444
+ cell.un = cell.un !== undefined ? cell.un : 1;
403
445
  }
404
446
  x[c + curC] = cell;
405
447
  }
@@ -799,7 +841,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
799
841
  }
800
842
  }
801
843
  function pasteHandlerOfCopyPaste(ctx, copyRange) {
802
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
844
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
803
845
  var allowEdit = (0, _utils.isAllowEdit)(ctx);
804
846
  if (!allowEdit || ctx.isFlvReadOnly) return;
805
847
  if (!copyRange) return;
@@ -1098,21 +1140,64 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
1098
1140
  file.luckysheet_conditionformat_save = cdformat;
1099
1141
  file.dataVerification = __assign(__assign({}, file.dataVerification), dataVerification);
1100
1142
  if (((_l = ctx.luckysheet_select_save) === null || _l === void 0 ? void 0 : _l.length) === 1 && ((_m = ctx.luckysheet_copy_save) === null || _m === void 0 ? void 0 : _m.copyRange.length) === 1) {
1101
- _lodash.default.forEach((_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.copyRange, function (range) {
1102
- var _a, _b, _c;
1103
- var srcIndex = (0, _utils.getSheetIndex)(ctx, (_a = ctx.luckysheet_copy_save) === null || _a === void 0 ? void 0 : _a.dataSheetId);
1104
- for (var r = 0; r <= range.row[1] - range.row[0]; r += 1) {
1105
- for (var c = 0; c <= range.column[1] - range.column[0]; c += 1) {
1106
- var srcRow = r + range.row[0];
1107
- var srcCol = c + range.column[0];
1108
- var srcLink = (_b = ctx.luckysheetfile[srcIndex].hyperlink) === null || _b === void 0 ? void 0 : _b["".concat(srcRow, "_").concat(srcCol)];
1109
- if (!srcLink) continue;
1110
- var targetR = r + ctx.luckysheet_select_save[0].row[0];
1111
- var targetC = c + ctx.luckysheet_select_save[0].column[0];
1112
- setCellHyperlink(ctx, (_c = ctx.luckysheet_copy_save) === null || _c === void 0 ? void 0 : _c.dataSheetId, targetR, targetC, srcLink);
1143
+ var srcIndex = (0, _utils.getSheetIndex)(ctx, (_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.dataSheetId);
1144
+ var targetSheetIndex = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
1145
+ var srcHyperlinks = ctx.luckysheetfile[srcIndex].hyperlink;
1146
+ var srcData = ctx.luckysheetfile[srcIndex].data;
1147
+ if (!ctx.luckysheetfile[targetSheetIndex].hyperlink) {
1148
+ ctx.luckysheetfile[targetSheetIndex].hyperlink = {};
1149
+ }
1150
+ var targetHyperlinks = ctx.luckysheetfile[targetSheetIndex].hyperlink;
1151
+ var isSingleCell = copyh === 1 && copyc === 1;
1152
+ var cachedSrcLinkKey = isSingleCell ? "".concat(c_r1, "_").concat(c_c1) : null;
1153
+ var cachedSrcLink = isSingleCell && srcHyperlinks ? srcHyperlinks[cachedSrcLinkKey] : null;
1154
+ var cachedSrcCell = isSingleCell && srcData ? (_p = srcData[c_r1]) === null || _p === void 0 ? void 0 : _p[c_c1] : null;
1155
+ for (var th = 1; th <= timesH; th += 1) {
1156
+ for (var tc = 1; tc <= timesC; tc += 1) {
1157
+ var linkMth = minh + (th - 1) * copyh;
1158
+ var linkMtc = minc + (tc - 1) * copyc;
1159
+ var linkMaxRow = minh + th * copyh;
1160
+ var linkMaxCol = minc + tc * copyc;
1161
+ for (var h = linkMth; h < linkMaxRow; h += 1) {
1162
+ for (var c = linkMtc; c < linkMaxCol; c += 1) {
1163
+ var srcLink = void 0;
1164
+ if (isSingleCell && cachedSrcLink) {
1165
+ srcLink = cachedSrcLink;
1166
+ } else {
1167
+ var srcRow = c_r1 + (h - linkMth);
1168
+ var srcCol = c_c1 + (c - linkMtc);
1169
+ srcLink = srcHyperlinks === null || srcHyperlinks === void 0 ? void 0 : srcHyperlinks["".concat(srcRow, "_").concat(srcCol)];
1170
+ }
1171
+ if (!srcLink) continue;
1172
+ var targetKey = "".concat(h, "_").concat(c);
1173
+ targetHyperlinks[targetKey] = srcLink;
1174
+ var cell = (_q = d[h]) === null || _q === void 0 ? void 0 : _q[c];
1175
+ if (cell) {
1176
+ var srcCell = void 0;
1177
+ if (isSingleCell && cachedSrcCell) {
1178
+ srcCell = cachedSrcCell;
1179
+ } else {
1180
+ var srcRow = c_r1 + (h - linkMth);
1181
+ var srcCol = c_c1 + (c - linkMtc);
1182
+ srcCell = (_r = srcData === null || srcData === void 0 ? void 0 : srcData[srcRow]) === null || _r === void 0 ? void 0 : _r[srcCol];
1183
+ }
1184
+ cell.hl = {
1185
+ r: h,
1186
+ c: c,
1187
+ id: ctx.currentSheetId
1188
+ };
1189
+ if (srcCell) {
1190
+ if (srcCell.fc) cell.fc = srcCell.fc;
1191
+ if (srcCell.un !== undefined) cell.un = srcCell.un;
1192
+ } else {
1193
+ cell.fc = cell.fc || "rgb(0, 0, 255)";
1194
+ cell.un = cell.un !== undefined ? cell.un : 1;
1195
+ }
1196
+ }
1197
+ }
1113
1198
  }
1114
1199
  }
1115
- });
1200
+ }
1116
1201
  }
1117
1202
  if (copyRowlChange || addr > 0 || addc > 0) {
1118
1203
  (0, _refresh.jfrefreshgrid)(ctx, d, ctx.luckysheet_select_save);
@@ -1149,11 +1234,17 @@ function parseAsLinkIfUrl(txtdata, ctx) {
1149
1234
  var _a, _b, _c, _d, _e, _f, _g;
1150
1235
  var urlRegex = /^(https?:\/\/[^\s]+)/;
1151
1236
  if (urlRegex.test(txtdata)) {
1152
- var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
1153
- if (last) {
1154
- var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
1155
- var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
1237
+ if (ctx.luckysheetCellUpdate.length === 2) {
1238
+ var rowIndex = ctx.luckysheetCellUpdate[0];
1239
+ var colIndex = ctx.luckysheetCellUpdate[1];
1156
1240
  (0, _modules.saveHyperlink)(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
1241
+ } else {
1242
+ var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
1243
+ if (last) {
1244
+ var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
1245
+ var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
1246
+ (0, _modules.saveHyperlink)(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
1247
+ }
1157
1248
  }
1158
1249
  }
1159
1250
  }
@@ -513,6 +513,7 @@ declare const _default: {
513
513
  chartEditNoOpt: string;
514
514
  sheetNameSpecCharError: string;
515
515
  sheetNamecannotIsEmptyError: string;
516
+ confirmMerge: string;
516
517
  };
517
518
  conditionformat: {
518
519
  conditionformat_greaterThan: string;
package/lib/locale/en.js CHANGED
@@ -9616,7 +9616,8 @@ var _default = exports.default = {
9616
9616
  noHide: "Can't hide, at least keep one sheet tag",
9617
9617
  chartEditNoOpt: "This operation is not allowed in chart editing mode!",
9618
9618
  sheetNameSpecCharError: "The name cannot contain:[ ] : ? * / ' \"",
9619
- sheetNamecannotIsEmptyError: "Sheet name cannot be empty!"
9619
+ sheetNamecannotIsEmptyError: "Sheet name cannot be empty!",
9620
+ confirmMerge: "Merging cells will only preserve the top-leftmost value. Merge anyway?"
9620
9621
  },
9621
9622
  conditionformat: {
9622
9623
  conditionformat_greaterThan: "Conditional format - Greater than",
@@ -570,6 +570,7 @@ declare function locale(ctx: Context): {
570
570
  chartEditNoOpt: string;
571
571
  sheetNameSpecCharError: string;
572
572
  sheetNamecannotIsEmptyError: string;
573
+ confirmMerge: string;
573
574
  };
574
575
  conditionformat: {
575
576
  conditionformat_greaterThan: string;
@@ -569,6 +569,7 @@ declare const _default: {
569
569
  chartEditNoOpt: string;
570
570
  sheetNameSpecCharError: string;
571
571
  sheetNamecannotIsEmptyError: string;
572
+ confirmMerge: string;
572
573
  };
573
574
  conditionformat: {
574
575
  conditionformat_greaterThan: string;
package/lib/locale/zh.js CHANGED
@@ -10089,7 +10089,8 @@ var _default = exports.default = {
10089
10089
  noHide: "不能隐藏, 至少保留一个sheet标签",
10090
10090
  chartEditNoOpt: "图表编辑模式下不允许该操作!",
10091
10091
  sheetNameSpecCharError: "名称不能超过31个字符,首尾不能是' 且名称不能包含:\r\n[ ] : \\ ? * /",
10092
- sheetNamecannotIsEmptyError: "名称不能为空!"
10092
+ sheetNamecannotIsEmptyError: "名称不能为空!",
10093
+ confirmMerge: "合并单元格将仅保留左上角单元格的值。是否继续?"
10093
10094
  },
10094
10095
  conditionformat: {
10095
10096
  conditionformat_greaterThan: "条件格式——大于",
@@ -571,7 +571,7 @@ function cancelNormalSelected(ctx) {
571
571
  ctx.formulaCache.rangedrag_row_start = false;
572
572
  }
573
573
  function updateCell(ctx, r, c, $input, value, canvas) {
574
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
574
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
575
575
  if (ctx.allowEdit === false || ctx.isFlvReadOnly) return;
576
576
  var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
577
577
  var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
@@ -579,6 +579,13 @@ function updateCell(ctx, r, c, $input, value, canvas) {
579
579
  if (!flowdata) return;
580
580
  var index = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
581
581
  var dataVerification = ctx.luckysheetfile[index].dataVerification;
582
+ var sheetFile = ctx.luckysheetfile[index];
583
+ var getUrlFromText = function getUrlFromText(text) {
584
+ var t = (text !== null && text !== void 0 ? text : "").trim();
585
+ if (!t || /[\s\r\n]/.test(t)) return null;
586
+ if (!/^(https?:\/\/|www\.)\S+$/i.test(t)) return null;
587
+ return t.startsWith("http") ? t : "https://".concat(t);
588
+ };
582
589
  if (!_lodash.default.isNil(dataVerification)) {
583
590
  var dvItem = dataVerification["".concat(r, "_").concat(c)];
584
591
  if (!_lodash.default.isNil(dvItem) && dvItem.prohibitInput && !(0, _dataVerification.validateCellData)(ctx, dvItem, inputText)) {
@@ -836,13 +843,30 @@ function updateCell(ctx, r, c, $input, value, canvas) {
836
843
  } catch (e) {
837
844
  console.log("[updateCell] spill failed; falling back", e);
838
845
  }
846
+ var url = getUrlFromText($input === null || $input === void 0 ? void 0 : $input.innerText);
847
+ if (url && _typeof(value) === "object" && value) {
848
+ value.hl = 1;
849
+ if (!sheetFile.hyperlink) sheetFile.hyperlink = {};
850
+ sheetFile.hyperlink["".concat(r, "_").concat(c)] = {
851
+ linkType: "webpage",
852
+ linkAddress: url
853
+ };
854
+ if (typeof value.v !== "string") {
855
+ value.v = (_r = $input === null || $input === void 0 ? void 0 : $input.innerText) !== null && _r !== void 0 ? _r : url;
856
+ }
857
+ if (value.m == null) {
858
+ value.m = value.v;
859
+ }
860
+ if (value.fc == null) value.fc = "rgb(0, 0, 255)";
861
+ if (value.un == null) value.un = 1;
862
+ }
839
863
  setCellValue(ctx, r, c, d, value);
840
864
  cancelNormalSelected(ctx);
841
865
  if ((curv === null || curv === void 0 ? void 0 : curv.tb) === "2" && curv.v || (0, _inlineString.isInlineStringCell)(d[r][c])) {
842
866
  var defaultrowlen = ctx.defaultrowlen;
843
867
  var cfg = ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].config || {};
844
- if (!(((_r = cfg.columnlen) === null || _r === void 0 ? void 0 : _r[c]) && ((_s = cfg.rowlen) === null || _s === void 0 ? void 0 : _s[r]))) {
845
- var cellWidth = ((_t = cfg.columnlen) === null || _t === void 0 ? void 0 : _t[c]) || ctx.defaultcollen;
868
+ if (!(((_s = cfg.columnlen) === null || _s === void 0 ? void 0 : _s[c]) && ((_t = cfg.rowlen) === null || _t === void 0 ? void 0 : _t[r]))) {
869
+ var cellWidth = ((_u = cfg.columnlen) === null || _u === void 0 ? void 0 : _u[c]) || ctx.defaultcollen;
846
870
  var textInfo = canvas ? (0, _text.getCellTextInfo)(d[r][c], canvas, ctx, {
847
871
  r: r,
848
872
  c: c,
@@ -853,7 +877,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
853
877
  currentRowLen = textInfo.textHeightAll + 2;
854
878
  }
855
879
  var previousRowHeight = (0, _api.getRowHeight)(ctx, [r])[r];
856
- if (currentRowLen > defaultrowlen && !((_u = cfg.customHeight) === null || _u === void 0 ? void 0 : _u[r]) && previousRowHeight < currentRowLen) {
880
+ if (currentRowLen > defaultrowlen && !((_v = cfg.customHeight) === null || _v === void 0 ? void 0 : _v[r]) && previousRowHeight < currentRowLen) {
857
881
  if (_lodash.default.isNil(cfg.rowlen)) cfg.rowlen = {};
858
882
  cfg.rowlen[r] = currentRowLen;
859
883
  }
@@ -104,115 +104,114 @@ function mergeCells(ctx, sheetId, ranges, type) {
104
104
  }
105
105
  }
106
106
  }
107
- } else {
108
- for (var i = 0; i < ranges.length; i += 1) {
109
- var range = ranges[i];
110
- var r1 = range.row[0];
111
- var r2 = range.row[1];
112
- var c1 = range.column[0];
113
- var c2 = range.column[1];
114
- if (r1 === r2 && c1 === c2) {
115
- continue;
107
+ }
108
+ for (var i = 0; i < ranges.length; i += 1) {
109
+ var range = ranges[i];
110
+ var r1 = range.row[0];
111
+ var r2 = range.row[1];
112
+ var c1 = range.column[0];
113
+ var c2 = range.column[1];
114
+ if (r1 === r2 && c1 === c2) {
115
+ continue;
116
+ }
117
+ if (type === "merge-all") {
118
+ var fv = {};
119
+ var isfirst = false;
120
+ for (var r = r1; r <= r2; r += 1) {
121
+ for (var c = c1; c <= c2; c += 1) {
122
+ var cell = d[r][c];
123
+ if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_a = cell.ct.s) === null || _a === void 0 ? void 0 : _a.length)) && !isfirst) {
124
+ fv = _lodash.default.cloneDeep(cell);
125
+ isfirst = true;
126
+ }
127
+ d[r][c] = {
128
+ mc: {
129
+ r: r1,
130
+ c: c1
131
+ }
132
+ };
133
+ }
116
134
  }
117
- if (type === "merge-all") {
135
+ d[r1][c1] = fv;
136
+ var a = d[r1][c1];
137
+ if (!a) return;
138
+ a.mc = {
139
+ r: r1,
140
+ c: c1,
141
+ rs: r2 - r1 + 1,
142
+ cs: c2 - c1 + 1
143
+ };
144
+ cfg.merge["".concat(r1, "_").concat(c1)] = {
145
+ r: r1,
146
+ c: c1,
147
+ rs: r2 - r1 + 1,
148
+ cs: c2 - c1 + 1
149
+ };
150
+ } else if (type === "merge-vertical") {
151
+ for (var c = c1; c <= c2; c += 1) {
118
152
  var fv = {};
119
153
  var isfirst = false;
120
154
  for (var r = r1; r <= r2; r += 1) {
121
- for (var c = c1; c <= c2; c += 1) {
122
- var cell = d[r][c];
123
- if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_a = cell.ct.s) === null || _a === void 0 ? void 0 : _a.length)) && !isfirst) {
124
- fv = _lodash.default.cloneDeep(cell);
125
- isfirst = true;
126
- }
127
- d[r][c] = {
128
- mc: {
129
- r: r1,
130
- c: c1
131
- }
132
- };
155
+ var cell = d[r][c];
156
+ if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
157
+ fv = _lodash.default.cloneDeep(cell);
158
+ isfirst = true;
133
159
  }
160
+ d[r][c] = {
161
+ mc: {
162
+ r: r1,
163
+ c: c
164
+ }
165
+ };
134
166
  }
135
- d[r1][c1] = fv;
136
- var a = d[r1][c1];
167
+ d[r1][c] = fv;
168
+ var a = d[r1][c];
137
169
  if (!a) return;
138
170
  a.mc = {
139
171
  r: r1,
140
- c: c1,
172
+ c: c,
141
173
  rs: r2 - r1 + 1,
142
- cs: c2 - c1 + 1
174
+ cs: 1
143
175
  };
144
- cfg.merge["".concat(r1, "_").concat(c1)] = {
176
+ cfg.merge["".concat(r1, "_").concat(c)] = {
145
177
  r: r1,
146
- c: c1,
178
+ c: c,
147
179
  rs: r2 - r1 + 1,
148
- cs: c2 - c1 + 1
180
+ cs: 1
149
181
  };
150
- } else if (type === "merge-vertical") {
182
+ }
183
+ } else if (type === "merge-horizontal") {
184
+ for (var r = r1; r <= r2; r += 1) {
185
+ var fv = {};
186
+ var isfirst = false;
151
187
  for (var c = c1; c <= c2; c += 1) {
152
- var fv = {};
153
- var isfirst = false;
154
- for (var r = r1; r <= r2; r += 1) {
155
- var cell = d[r][c];
156
- if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
157
- fv = _lodash.default.cloneDeep(cell);
158
- isfirst = true;
159
- }
160
- d[r][c] = {
161
- mc: {
162
- r: r1,
163
- c: c
164
- }
165
- };
188
+ var cell = d[r][c];
189
+ if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
190
+ fv = _lodash.default.cloneDeep(cell);
191
+ isfirst = true;
166
192
  }
167
- d[r1][c] = fv;
168
- var a = d[r1][c];
169
- if (!a) return;
170
- a.mc = {
171
- r: r1,
172
- c: c,
173
- rs: r2 - r1 + 1,
174
- cs: 1
175
- };
176
- cfg.merge["".concat(r1, "_").concat(c)] = {
177
- r: r1,
178
- c: c,
179
- rs: r2 - r1 + 1,
180
- cs: 1
181
- };
182
- }
183
- } else if (type === "merge-horizontal") {
184
- for (var r = r1; r <= r2; r += 1) {
185
- var fv = {};
186
- var isfirst = false;
187
- for (var c = c1; c <= c2; c += 1) {
188
- var cell = d[r][c];
189
- if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
190
- fv = _lodash.default.cloneDeep(cell);
191
- isfirst = true;
193
+ d[r][c] = {
194
+ mc: {
195
+ r: r,
196
+ c: c1
192
197
  }
193
- d[r][c] = {
194
- mc: {
195
- r: r,
196
- c: c1
197
- }
198
- };
199
- }
200
- d[r][c1] = fv;
201
- var a = d[r][c1];
202
- if (!a) return;
203
- a.mc = {
204
- r: r,
205
- c: c1,
206
- rs: 1,
207
- cs: c2 - c1 + 1
208
- };
209
- cfg.merge["".concat(r, "_").concat(c1)] = {
210
- r: r,
211
- c: c1,
212
- rs: 1,
213
- cs: c2 - c1 + 1
214
198
  };
215
199
  }
200
+ d[r][c1] = fv;
201
+ var a = d[r][c1];
202
+ if (!a) return;
203
+ a.mc = {
204
+ r: r,
205
+ c: c1,
206
+ rs: 1,
207
+ cs: c2 - c1 + 1
208
+ };
209
+ cfg.merge["".concat(r, "_").concat(c1)] = {
210
+ r: r,
211
+ c: c1,
212
+ rs: 1,
213
+ cs: c2 - c1 + 1
214
+ };
216
215
  }
217
216
  }
218
217
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/fortune-core",
3
- "version": "1.2.64",
3
+ "version": "1.2.66",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "typings": "lib/index.d.ts",