@fileverse-dev/fortune-core 1.3.12-mixed-a → 1.3.13

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.
@@ -1041,7 +1041,7 @@ export function getFontStyleByCell(cell, checksAF, checksCF, isCheck) {
1041
1041
  if (key === "it" && valueNum !== 0) {
1042
1042
  style.fontStyle = "italic";
1043
1043
  }
1044
- if (key === "fs" && valueNum !== 10) {
1044
+ if (key === "fs" && !_.isNil(value)) {
1045
1045
  style.fontSize = "".concat(valueNum, "pt");
1046
1046
  }
1047
1047
  if (key === "fc" && value !== "#000000" || ((_a = checksAF === null || checksAF === void 0 ? void 0 : checksAF.length) !== null && _a !== void 0 ? _a : 0) > 0 || (checksCF === null || checksCF === void 0 ? void 0 : checksCF.textColor)) {
@@ -1186,7 +1186,7 @@ export function rangeValueToHtml(ctx, sheetId, ranges) {
1186
1186
  cpdata += "<tr height=".concat(rowLen, "px >");
1187
1187
  var _loop_3 = function _loop_3(j) {
1188
1188
  var c = colIndexArr[j];
1189
- var column = '<td ${span} style="${style}">';
1189
+ var column = '<td ${span} style="${style}" data-fortune-cell="${cellData}">';
1190
1190
  var cell = (_f = d[r]) === null || _f === void 0 ? void 0 : _f[c];
1191
1191
  if (cell != null) {
1192
1192
  var style = "";
@@ -1397,9 +1397,14 @@ export function rangeValueToHtml(ctx, sheetId, ranges) {
1397
1397
  }
1398
1398
  }
1399
1399
  }
1400
+ var cellData = encodeURIComponent(JSON.stringify(__assign(__assign({}, cell), {
1401
+ _srcRow: r,
1402
+ _srcCol: c
1403
+ })));
1400
1404
  column = replaceHtml(column, {
1401
1405
  style: style,
1402
- span: span
1406
+ span: span,
1407
+ cellData: cellData
1403
1408
  });
1404
1409
  if (_.isNil(c_value)) {
1405
1410
  c_value = getCellValue(r, c, d);
@@ -1449,7 +1454,8 @@ export function rangeValueToHtml(ctx, sheetId, ranges) {
1449
1454
  }
1450
1455
  column = replaceHtml(column, {
1451
1456
  style: style,
1452
- span: ""
1457
+ span: "",
1458
+ cellData: ""
1453
1459
  });
1454
1460
  column += "";
1455
1461
  }
@@ -9,11 +9,20 @@ var __assign = this && this.__assign || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
+ var __rest = this && this.__rest || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
17
+ }
18
+ return t;
19
+ };
12
20
  import _ from "lodash";
13
21
  import { locale } from "./locale";
14
22
  import { getQKBorder, saveHyperlink } from "./modules";
15
23
  import { getSheetIndex } from "./utils";
16
24
  import { setRowHeight, setColumnWidth } from "./api";
25
+ import { adjustFormulaForPaste } from "./events/paste";
17
26
  export var DEFAULT_FONT_SIZE = 12;
18
27
  var parseStylesheetPairs = function parseStylesheetPairs(styleInner) {
19
28
  var patternReg = /{([^}]*)}/g;
@@ -127,6 +136,28 @@ function brToNewline(str) {
127
136
  }
128
137
  var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
129
138
  var _a, _b, _c, _d;
139
+ var fortuneCellAttr = td.getAttribute("data-fortune-cell");
140
+ if (fortuneCellAttr) {
141
+ try {
142
+ var _e = JSON.parse(decodeURIComponent(fortuneCellAttr)),
143
+ _srcRow = _e._srcRow,
144
+ _srcCol = _e._srcCol,
145
+ parsed = __rest(_e, ["_srcRow", "_srcCol"]);
146
+ var cell_1 = parsed;
147
+ delete cell_1.mc;
148
+ delete cell_1.hl;
149
+ var rowspan_1 = parseInt(td.getAttribute("rowspan") || "1", 10);
150
+ var colspan_1 = parseInt(td.getAttribute("colspan") || "1", 10);
151
+ return {
152
+ cell: cell_1,
153
+ rowspan: Number.isNaN(rowspan_1) ? 1 : rowspan_1,
154
+ colspan: Number.isNaN(colspan_1) ? 1 : colspan_1,
155
+ hyperlink: detectHyperlink(td),
156
+ srcRow: _srcRow,
157
+ srcCol: _srcCol
158
+ };
159
+ } catch (_f) {}
160
+ }
130
161
  var cell = {};
131
162
  var rawText = (td.innerText || td.innerHTML || "").trim();
132
163
  var isLineBreak = rawText.includes("<br />");
@@ -277,10 +308,17 @@ export function handlePastedTable(ctx, html, pasteHandler) {
277
308
  cell = _a.cell,
278
309
  rowspan = _a.rowspan,
279
310
  colspan = _a.colspan,
280
- hyperlink = _a.hyperlink;
311
+ hyperlink = _a.hyperlink,
312
+ srcRow = _a.srcRow,
313
+ srcCol = _a.srcCol;
281
314
  var anchorCol = ctx.luckysheet_select_save[0].column[0];
282
315
  var absoluteRow = anchorRow + localRowIndex;
283
316
  var absoluteCol = anchorCol + localColIndex;
317
+ if (cell.f && srcRow != null && srcCol != null) {
318
+ try {
319
+ cell.f = adjustFormulaForPaste(cell.f, srcCol, srcRow, absoluteCol, absoluteRow);
320
+ } catch (_b) {}
321
+ }
284
322
  pastedMatrix[localRowIndex][localColIndex] = cell;
285
323
  if (hyperlink) {
286
324
  saveHyperlink(ctx, absoluteRow, absoluteCol, hyperlink.href, "webpage", hyperlink.display);
@@ -1074,7 +1074,7 @@ function getFontStyleByCell(cell, checksAF, checksCF, isCheck) {
1074
1074
  if (key === "it" && valueNum !== 0) {
1075
1075
  style.fontStyle = "italic";
1076
1076
  }
1077
- if (key === "fs" && valueNum !== 10) {
1077
+ if (key === "fs" && !_lodash.default.isNil(value)) {
1078
1078
  style.fontSize = "".concat(valueNum, "pt");
1079
1079
  }
1080
1080
  if (key === "fc" && value !== "#000000" || ((_a = checksAF === null || checksAF === void 0 ? void 0 : checksAF.length) !== null && _a !== void 0 ? _a : 0) > 0 || (checksCF === null || checksCF === void 0 ? void 0 : checksCF.textColor)) {
@@ -1221,7 +1221,7 @@ function rangeValueToHtml(ctx, sheetId, ranges) {
1221
1221
  cpdata += "<tr height=".concat(rowLen, "px >");
1222
1222
  var _loop_3 = function _loop_3(j) {
1223
1223
  var c = colIndexArr[j];
1224
- var column = '<td ${span} style="${style}">';
1224
+ var column = '<td ${span} style="${style}" data-fortune-cell="${cellData}">';
1225
1225
  var cell = (_f = d[r]) === null || _f === void 0 ? void 0 : _f[c];
1226
1226
  if (cell != null) {
1227
1227
  var style = "";
@@ -1432,9 +1432,14 @@ function rangeValueToHtml(ctx, sheetId, ranges) {
1432
1432
  }
1433
1433
  }
1434
1434
  }
1435
+ var cellData = encodeURIComponent(JSON.stringify(__assign(__assign({}, cell), {
1436
+ _srcRow: r,
1437
+ _srcCol: c
1438
+ })));
1435
1439
  column = (0, _utils.replaceHtml)(column, {
1436
1440
  style: style,
1437
- span: span
1441
+ span: span,
1442
+ cellData: cellData
1438
1443
  });
1439
1444
  if (_lodash.default.isNil(c_value)) {
1440
1445
  c_value = (0, _cell.getCellValue)(r, c, d);
@@ -1484,7 +1489,8 @@ function rangeValueToHtml(ctx, sheetId, ranges) {
1484
1489
  }
1485
1490
  column = (0, _utils.replaceHtml)(column, {
1486
1491
  style: style,
1487
- span: ""
1492
+ span: "",
1493
+ cellData: ""
1488
1494
  });
1489
1495
  column += "";
1490
1496
  }
@@ -10,6 +10,7 @@ var _locale = require("./locale");
10
10
  var _modules = require("./modules");
11
11
  var _utils = require("./utils");
12
12
  var _api = require("./api");
13
+ var _paste = require("./events/paste");
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
15
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
15
16
  var __assign = void 0 && (void 0).__assign || function () {
@@ -22,6 +23,14 @@ var __assign = void 0 && (void 0).__assign || function () {
22
23
  };
23
24
  return __assign.apply(this, arguments);
24
25
  };
26
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
27
+ var t = {};
28
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
30
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
31
+ }
32
+ return t;
33
+ };
25
34
  var DEFAULT_FONT_SIZE = exports.DEFAULT_FONT_SIZE = 12;
26
35
  var parseStylesheetPairs = function parseStylesheetPairs(styleInner) {
27
36
  var patternReg = /{([^}]*)}/g;
@@ -135,6 +144,28 @@ function brToNewline(str) {
135
144
  }
136
145
  var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
137
146
  var _a, _b, _c, _d;
147
+ var fortuneCellAttr = td.getAttribute("data-fortune-cell");
148
+ if (fortuneCellAttr) {
149
+ try {
150
+ var _e = JSON.parse(decodeURIComponent(fortuneCellAttr)),
151
+ _srcRow = _e._srcRow,
152
+ _srcCol = _e._srcCol,
153
+ parsed = __rest(_e, ["_srcRow", "_srcCol"]);
154
+ var cell_1 = parsed;
155
+ delete cell_1.mc;
156
+ delete cell_1.hl;
157
+ var rowspan_1 = parseInt(td.getAttribute("rowspan") || "1", 10);
158
+ var colspan_1 = parseInt(td.getAttribute("colspan") || "1", 10);
159
+ return {
160
+ cell: cell_1,
161
+ rowspan: Number.isNaN(rowspan_1) ? 1 : rowspan_1,
162
+ colspan: Number.isNaN(colspan_1) ? 1 : colspan_1,
163
+ hyperlink: detectHyperlink(td),
164
+ srcRow: _srcRow,
165
+ srcCol: _srcCol
166
+ };
167
+ } catch (_f) {}
168
+ }
138
169
  var cell = {};
139
170
  var rawText = (td.innerText || td.innerHTML || "").trim();
140
171
  var isLineBreak = rawText.includes("<br />");
@@ -285,10 +316,17 @@ function handlePastedTable(ctx, html, pasteHandler) {
285
316
  cell = _a.cell,
286
317
  rowspan = _a.rowspan,
287
318
  colspan = _a.colspan,
288
- hyperlink = _a.hyperlink;
319
+ hyperlink = _a.hyperlink,
320
+ srcRow = _a.srcRow,
321
+ srcCol = _a.srcCol;
289
322
  var anchorCol = ctx.luckysheet_select_save[0].column[0];
290
323
  var absoluteRow = anchorRow + localRowIndex;
291
324
  var absoluteCol = anchorCol + localColIndex;
325
+ if (cell.f && srcRow != null && srcCol != null) {
326
+ try {
327
+ cell.f = (0, _paste.adjustFormulaForPaste)(cell.f, srcCol, srcRow, absoluteCol, absoluteRow);
328
+ } catch (_b) {}
329
+ }
292
330
  pastedMatrix[localRowIndex][localColIndex] = cell;
293
331
  if (hyperlink) {
294
332
  (0, _modules.saveHyperlink)(ctx, absoluteRow, absoluteCol, hyperlink.href, "webpage", hyperlink.display);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/fortune-core",
3
- "version": "1.3.12-mixed-a",
3
+ "version": "1.3.13",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "typings": "lib/index.d.ts",