@fileverse-dev/fortune-core 1.3.10-copyPaste-1 → 1.3.10-copyPaste-2

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.
@@ -1382,7 +1382,10 @@ export function rangeValueToHtml(ctx, sheetId, ranges) {
1382
1382
  }
1383
1383
  }
1384
1384
  }
1385
- var cellData = encodeURIComponent(JSON.stringify(cell));
1385
+ var cellData = encodeURIComponent(JSON.stringify(__assign(__assign({}, cell), {
1386
+ _srcRow: r,
1387
+ _srcCol: c
1388
+ })));
1386
1389
  column = replaceHtml(column, {
1387
1390
  style: style,
1388
1391
  span: span,
@@ -1506,7 +1509,7 @@ export function copy(ctx) {
1506
1509
  export function deleteSelectedCellText(ctx) {
1507
1510
  var _a, _b, _c, _d;
1508
1511
  var allowEdit = isAllowEdit(ctx);
1509
- if (allowEdit === false || ctx.isFlvReadOnly) {
1512
+ if (allowEdit === false) {
1510
1513
  return "allowEdit";
1511
1514
  }
1512
1515
  var selection = ctx.luckysheet_select_save;
@@ -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;
@@ -130,7 +139,11 @@ var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
130
139
  var fortuneCellAttr = td.getAttribute("data-fortune-cell");
131
140
  if (fortuneCellAttr) {
132
141
  try {
133
- var cell_1 = JSON.parse(decodeURIComponent(fortuneCellAttr));
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;
134
147
  delete cell_1.mc;
135
148
  delete cell_1.hl;
136
149
  var rowspan_1 = parseInt(td.getAttribute("rowspan") || "1", 10);
@@ -139,9 +152,11 @@ var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
139
152
  cell: cell_1,
140
153
  rowspan: Number.isNaN(rowspan_1) ? 1 : rowspan_1,
141
154
  colspan: Number.isNaN(colspan_1) ? 1 : colspan_1,
142
- hyperlink: detectHyperlink(td)
155
+ hyperlink: detectHyperlink(td),
156
+ srcRow: _srcRow,
157
+ srcCol: _srcCol
143
158
  };
144
- } catch (_e) {}
159
+ } catch (_f) {}
145
160
  }
146
161
  var cell = {};
147
162
  var rawText = (td.innerText || td.innerHTML || "").trim();
@@ -293,10 +308,17 @@ export function handlePastedTable(ctx, html, pasteHandler) {
293
308
  cell = _a.cell,
294
309
  rowspan = _a.rowspan,
295
310
  colspan = _a.colspan,
296
- hyperlink = _a.hyperlink;
311
+ hyperlink = _a.hyperlink,
312
+ srcRow = _a.srcRow,
313
+ srcCol = _a.srcCol;
297
314
  var anchorCol = ctx.luckysheet_select_save[0].column[0];
298
315
  var absoluteRow = anchorRow + localRowIndex;
299
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
+ }
300
322
  pastedMatrix[localRowIndex][localColIndex] = cell;
301
323
  if (hyperlink) {
302
324
  saveHyperlink(ctx, absoluteRow, absoluteCol, hyperlink.href, "webpage", hyperlink.display);
@@ -1417,7 +1417,10 @@ function rangeValueToHtml(ctx, sheetId, ranges) {
1417
1417
  }
1418
1418
  }
1419
1419
  }
1420
- var cellData = encodeURIComponent(JSON.stringify(cell));
1420
+ var cellData = encodeURIComponent(JSON.stringify(__assign(__assign({}, cell), {
1421
+ _srcRow: r,
1422
+ _srcCol: c
1423
+ })));
1421
1424
  column = (0, _utils.replaceHtml)(column, {
1422
1425
  style: style,
1423
1426
  span: span,
@@ -1541,7 +1544,7 @@ function copy(ctx) {
1541
1544
  function deleteSelectedCellText(ctx) {
1542
1545
  var _a, _b, _c, _d;
1543
1546
  var allowEdit = (0, _utils.isAllowEdit)(ctx);
1544
- if (allowEdit === false || ctx.isFlvReadOnly) {
1547
+ if (allowEdit === false) {
1545
1548
  return "allowEdit";
1546
1549
  }
1547
1550
  var selection = ctx.luckysheet_select_save;
@@ -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;
@@ -138,7 +147,11 @@ var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
138
147
  var fortuneCellAttr = td.getAttribute("data-fortune-cell");
139
148
  if (fortuneCellAttr) {
140
149
  try {
141
- var cell_1 = JSON.parse(decodeURIComponent(fortuneCellAttr));
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;
142
155
  delete cell_1.mc;
143
156
  delete cell_1.hl;
144
157
  var rowspan_1 = parseInt(td.getAttribute("rowspan") || "1", 10);
@@ -147,9 +160,11 @@ var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
147
160
  cell: cell_1,
148
161
  rowspan: Number.isNaN(rowspan_1) ? 1 : rowspan_1,
149
162
  colspan: Number.isNaN(colspan_1) ? 1 : colspan_1,
150
- hyperlink: detectHyperlink(td)
163
+ hyperlink: detectHyperlink(td),
164
+ srcRow: _srcRow,
165
+ srcCol: _srcCol
151
166
  };
152
- } catch (_e) {}
167
+ } catch (_f) {}
153
168
  }
154
169
  var cell = {};
155
170
  var rawText = (td.innerText || td.innerHTML || "").trim();
@@ -301,10 +316,17 @@ function handlePastedTable(ctx, html, pasteHandler) {
301
316
  cell = _a.cell,
302
317
  rowspan = _a.rowspan,
303
318
  colspan = _a.colspan,
304
- hyperlink = _a.hyperlink;
319
+ hyperlink = _a.hyperlink,
320
+ srcRow = _a.srcRow,
321
+ srcCol = _a.srcCol;
305
322
  var anchorCol = ctx.luckysheet_select_save[0].column[0];
306
323
  var absoluteRow = anchorRow + localRowIndex;
307
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
+ }
308
330
  pastedMatrix[localRowIndex][localColIndex] = cell;
309
331
  if (hyperlink) {
310
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.10-copyPaste-1",
3
+ "version": "1.3.10-copyPaste-2",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "typings": "lib/index.d.ts",