@fileverse-dev/fortune-core 1.2.55 → 1.2.56-patch-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.
- package/es/events/paste.js +18 -15
- package/es/modules/cell.js +20 -1
- package/es/modules/selection.js +10 -5
- package/es/paste-table-helpers.js +34 -3
- package/lib/events/paste.js +18 -15
- package/lib/modules/cell.js +20 -1
- package/lib/modules/selection.js +10 -5
- package/lib/paste-table-helpers.js +34 -3
- package/package.json +1 -1
package/es/events/paste.js
CHANGED
|
@@ -1150,9 +1150,12 @@ function resizePastedCellsToContent(ctx) {
|
|
|
1150
1150
|
updateSheetCellSizes(ctx, sheetIdx, rangeCellSize);
|
|
1151
1151
|
}
|
|
1152
1152
|
export function handlePaste(ctx, e) {
|
|
1153
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
1153
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
1154
1154
|
var allowEdit = isAllowEdit(ctx);
|
|
1155
1155
|
if (!allowEdit || ctx.isFlvReadOnly) return;
|
|
1156
|
+
if (!selectionCache.isPasteAction) {
|
|
1157
|
+
return;
|
|
1158
|
+
}
|
|
1156
1159
|
if (selectionCache.isPasteAction) {
|
|
1157
1160
|
ctx.luckysheetCellUpdate = [];
|
|
1158
1161
|
selectionCache.isPasteAction = false;
|
|
@@ -1183,11 +1186,11 @@ export function handlePaste(ctx, e) {
|
|
|
1183
1186
|
}
|
|
1184
1187
|
cpDataArr.push(cpRowArr);
|
|
1185
1188
|
}
|
|
1186
|
-
var copy_r1 = ctx.luckysheet_copy_save.copyRange[0].row[0];
|
|
1187
|
-
var copy_r2 = ctx.luckysheet_copy_save.copyRange[0].row[1];
|
|
1188
|
-
var copy_c1 = ctx.luckysheet_copy_save.copyRange[0].column[0];
|
|
1189
|
-
var copy_c2 = ctx.luckysheet_copy_save.copyRange[0].column[1];
|
|
1190
|
-
var copy_index = ctx.luckysheet_copy_save.dataSheetId;
|
|
1189
|
+
var copy_r1 = (_c = (_b = ctx.luckysheet_copy_save) === null || _b === void 0 ? void 0 : _b.copyRange[0]) === null || _c === void 0 ? void 0 : _c.row[0];
|
|
1190
|
+
var copy_r2 = (_e = (_d = ctx.luckysheet_copy_save) === null || _d === void 0 ? void 0 : _d.copyRange[0]) === null || _e === void 0 ? void 0 : _e.row[1];
|
|
1191
|
+
var copy_c1 = (_g = (_f = ctx.luckysheet_copy_save) === null || _f === void 0 ? void 0 : _f.copyRange[0]) === null || _g === void 0 ? void 0 : _g.column[0];
|
|
1192
|
+
var copy_c2 = (_j = (_h = ctx.luckysheet_copy_save) === null || _h === void 0 ? void 0 : _h.copyRange[0]) === null || _j === void 0 ? void 0 : _j.column[1];
|
|
1193
|
+
var copy_index = ctx.luckysheet_copy_save.dataSheetId || ctx.currentSheetId;
|
|
1191
1194
|
var d = void 0;
|
|
1192
1195
|
if (copy_index === ctx.currentSheetId) {
|
|
1193
1196
|
d = getFlowdata(ctx);
|
|
@@ -1209,15 +1212,15 @@ export function handlePaste(ctx, e) {
|
|
|
1209
1212
|
}
|
|
1210
1213
|
var v = void 0;
|
|
1211
1214
|
if (!_.isNil(cell)) {
|
|
1212
|
-
if (((
|
|
1213
|
-
v = (
|
|
1215
|
+
if (((_m = (_l = (_k = cell.ct) === null || _k === void 0 ? void 0 : _k.fa) === null || _l === void 0 ? void 0 : _l.indexOf("w")) !== null && _m !== void 0 ? _m : -1) > -1) {
|
|
1216
|
+
v = (_p = (_o = d[r]) === null || _o === void 0 ? void 0 : _o[c]) === null || _p === void 0 ? void 0 : _p.v;
|
|
1214
1217
|
} else {
|
|
1215
|
-
v = (
|
|
1218
|
+
v = (_r = (_q = d[r]) === null || _q === void 0 ? void 0 : _q[c]) === null || _r === void 0 ? void 0 : _r.m;
|
|
1216
1219
|
}
|
|
1217
1220
|
} else {
|
|
1218
1221
|
v = "";
|
|
1219
1222
|
}
|
|
1220
|
-
if (_.isNil(v) && ((
|
|
1223
|
+
if (_.isNil(v) && ((_u = (_t = (_s = d[r]) === null || _s === void 0 ? void 0 : _s[c]) === null || _t === void 0 ? void 0 : _t.ct) === null || _u === void 0 ? void 0 : _u.t) === "inlineStr") {
|
|
1221
1224
|
v = d[r][c].ct.s.map(function (val) {
|
|
1222
1225
|
return val.v;
|
|
1223
1226
|
}).join("");
|
|
@@ -1235,10 +1238,10 @@ export function handlePaste(ctx, e) {
|
|
|
1235
1238
|
}
|
|
1236
1239
|
}
|
|
1237
1240
|
}
|
|
1238
|
-
if (((
|
|
1241
|
+
if (((_w = (_v = ctx.hooks).beforePaste) === null || _w === void 0 ? void 0 : _w.call(_v, ctx.luckysheet_select_save, txtdata)) === false) {
|
|
1239
1242
|
return;
|
|
1240
1243
|
}
|
|
1241
|
-
if (txtdata.indexOf("fortune-copy-action-table") > -1 && ((
|
|
1244
|
+
if (txtdata.indexOf("fortune-copy-action-table") > -1 && ((_x = ctx.luckysheet_copy_save) === null || _x === void 0 ? void 0 : _x.copyRange) != null && ctx.luckysheet_copy_save.copyRange.length > 0 && isEqual) {
|
|
1242
1245
|
if (ctx.luckysheet_paste_iscut) {
|
|
1243
1246
|
ctx.luckysheet_paste_iscut = false;
|
|
1244
1247
|
pasteHandlerOfCutPaste(ctx, ctx.luckysheet_copy_save);
|
|
@@ -1261,10 +1264,10 @@ export function handlePaste(ctx, e) {
|
|
|
1261
1264
|
var _txtdata = clipboardData.getData("text/html") || clipboardData.getData("text/plain");
|
|
1262
1265
|
var embedUrl = sanitizeDuneUrl(_txtdata);
|
|
1263
1266
|
if (embedUrl) {
|
|
1264
|
-
var last = (
|
|
1267
|
+
var last = (_y = ctx.luckysheet_select_save) === null || _y === void 0 ? void 0 : _y[ctx.luckysheet_select_save.length - 1];
|
|
1265
1268
|
if (last) {
|
|
1266
|
-
var rowIndex = (
|
|
1267
|
-
var colIndex = (
|
|
1269
|
+
var rowIndex = (_1 = (_z = last.row_focus) !== null && _z !== void 0 ? _z : (_0 = last.row) === null || _0 === void 0 ? void 0 : _0[0]) !== null && _1 !== void 0 ? _1 : 0;
|
|
1270
|
+
var colIndex = (_4 = (_2 = last.column_focus) !== null && _2 !== void 0 ? _2 : (_3 = last.column) === null || _3 === void 0 ? void 0 : _3[0]) !== null && _4 !== void 0 ? _4 : 0;
|
|
1268
1271
|
var left = colIndex === 0 ? 0 : ctx.visibledatacolumn[colIndex - 1];
|
|
1269
1272
|
var top_1 = rowIndex === 0 ? 0 : ctx.visibledatarow[rowIndex + 5];
|
|
1270
1273
|
ctx.showDunePreview = {
|
package/es/modules/cell.js
CHANGED
|
@@ -59,14 +59,18 @@ export function normalizedCellAttr(cell, attr, defaultFontSize) {
|
|
|
59
59
|
}
|
|
60
60
|
export function normalizedAttr(data, r, c, attr) {
|
|
61
61
|
if (!data || !data[r]) {
|
|
62
|
-
console.warn("cell (%d, %d) is null", r, c);
|
|
63
62
|
return null;
|
|
64
63
|
}
|
|
65
64
|
var cell = data[r][c];
|
|
66
65
|
if (!cell) return undefined;
|
|
67
66
|
return normalizedCellAttr(cell, attr);
|
|
68
67
|
}
|
|
68
|
+
function newlinesToBr(text) {
|
|
69
|
+
if (!text) return "";
|
|
70
|
+
return text.replace(/\r\n|\r|\n/g, "<br />");
|
|
71
|
+
}
|
|
69
72
|
export function getCellValue(r, c, data, attr) {
|
|
73
|
+
var _a;
|
|
70
74
|
if (!attr) {
|
|
71
75
|
attr = "v";
|
|
72
76
|
}
|
|
@@ -96,6 +100,9 @@ export function getCellValue(r, c, data, attr) {
|
|
|
96
100
|
} else if (d && d.ct && d.ct.t === "d") {
|
|
97
101
|
retv = d.m;
|
|
98
102
|
}
|
|
103
|
+
if ((d === null || d === void 0 ? void 0 : d.ct) && isInlineStringCT(d.ct) && (attr === "v" || attr === "m")) {
|
|
104
|
+
retv = newlinesToBr((_a = d.ct.s[0]) === null || _a === void 0 ? void 0 : _a.v);
|
|
105
|
+
}
|
|
99
106
|
}
|
|
100
107
|
if (retv === undefined) {
|
|
101
108
|
retv = null;
|
|
@@ -1039,6 +1046,8 @@ export function getStyleByCell(ctx, d, r, c) {
|
|
|
1039
1046
|
} else {
|
|
1040
1047
|
style.background = "".concat(value);
|
|
1041
1048
|
}
|
|
1049
|
+
} else {
|
|
1050
|
+
style.background = "".concat(value);
|
|
1042
1051
|
}
|
|
1043
1052
|
}
|
|
1044
1053
|
if ("ht" in cell) {
|
|
@@ -1047,8 +1056,18 @@ export function getStyleByCell(ctx, d, r, c) {
|
|
|
1047
1056
|
style.textAlign = "center";
|
|
1048
1057
|
} else if (Number(value) === 2) {
|
|
1049
1058
|
style.textAlign = "right";
|
|
1059
|
+
style.overflowWrap = "anywhere";
|
|
1050
1060
|
}
|
|
1051
1061
|
}
|
|
1062
|
+
if ("tb" in cell) {
|
|
1063
|
+
if (Number(cell.tb) === 2) {
|
|
1064
|
+
style.overflowWrap = "anywhere";
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
if ("ff" in cell) {
|
|
1068
|
+
var value = normalizedCellAttr(cell, "ff");
|
|
1069
|
+
style.fontFamily = value;
|
|
1070
|
+
}
|
|
1052
1071
|
if ("vt" in cell) {
|
|
1053
1072
|
var value = normalizedCellAttr(cell, "vt");
|
|
1054
1073
|
if (Number(value) === 0) {
|
package/es/modules/selection.js
CHANGED
|
@@ -1129,7 +1129,7 @@ function getHtmlBorderStyle(type, color) {
|
|
|
1129
1129
|
return "".concat(style + color, ";");
|
|
1130
1130
|
}
|
|
1131
1131
|
export function rangeValueToHtml(ctx, sheetId, ranges) {
|
|
1132
|
-
var _a, _b, _c;
|
|
1132
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1133
1133
|
var idx = getSheetIndex(ctx, sheetId);
|
|
1134
1134
|
if (idx == null) return "";
|
|
1135
1135
|
var sheet = ctx.luckysheetfile[idx];
|
|
@@ -1162,11 +1162,12 @@ export function rangeValueToHtml(ctx, sheetId, ranges) {
|
|
|
1162
1162
|
var colgroup = "";
|
|
1163
1163
|
for (var i = 0; i < rowIndexArr.length; i += 1) {
|
|
1164
1164
|
var r = rowIndexArr[i];
|
|
1165
|
-
|
|
1165
|
+
var rowLen = (_e = (_d = (_c = sheet.config) === null || _c === void 0 ? void 0 : _c.rowlen) === null || _d === void 0 ? void 0 : _d[r.toString()]) !== null && _e !== void 0 ? _e : sheet.defaultRowHeight;
|
|
1166
|
+
cpdata += "<tr height=".concat(rowLen, "px >");
|
|
1166
1167
|
var _loop_3 = function _loop_3(j) {
|
|
1167
1168
|
var c = colIndexArr[j];
|
|
1168
1169
|
var column = '<td ${span} style="${style}">';
|
|
1169
|
-
var cell = (
|
|
1170
|
+
var cell = (_f = d[r]) === null || _f === void 0 ? void 0 : _f[c];
|
|
1170
1171
|
if (cell != null) {
|
|
1171
1172
|
var style = "";
|
|
1172
1173
|
var span = "";
|
|
@@ -1178,11 +1179,14 @@ export function rangeValueToHtml(ctx, sheetId, ranges) {
|
|
|
1178
1179
|
}
|
|
1179
1180
|
}
|
|
1180
1181
|
if (c === colIndexArr[0]) {
|
|
1181
|
-
|
|
1182
|
+
var rowLenValue = (_h = (_g = sheet.config) === null || _g === void 0 ? void 0 : _g.rowlen) === null || _h === void 0 ? void 0 : _h[r.toString()];
|
|
1183
|
+
var colLen = (_k = (_j = sheet.config) === null || _j === void 0 ? void 0 : _j.columnlen) === null || _k === void 0 ? void 0 : _k[c.toString()];
|
|
1184
|
+
if (_.isNil(rowLenValue)) {
|
|
1182
1185
|
style += "height:19px;";
|
|
1183
1186
|
} else {
|
|
1184
|
-
style += "height:".concat(
|
|
1187
|
+
style += "height:".concat(rowLenValue, "px;");
|
|
1185
1188
|
}
|
|
1189
|
+
style += "width:".concat(colLen !== null && colLen !== void 0 ? colLen : sheet.defaultColWidth, "px;");
|
|
1186
1190
|
}
|
|
1187
1191
|
var reg = /^(w|W)((0?)|(0\.0+))$/;
|
|
1188
1192
|
var c_value = void 0;
|
|
@@ -1485,6 +1489,7 @@ export function copy(ctx) {
|
|
|
1485
1489
|
HasMC: HasMC
|
|
1486
1490
|
};
|
|
1487
1491
|
var cpdata = rangeValueToHtml(ctx, ctx.currentSheetId, ctx.luckysheet_select_save);
|
|
1492
|
+
cpdata = cpdata === null ? cpdata : cpdata.replace('<td style="', '<td style="white-space: pre-line;"');
|
|
1488
1493
|
if (cpdata) {
|
|
1489
1494
|
ctx.iscopyself = true;
|
|
1490
1495
|
clipboard.writeHtml(cpdata);
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
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); }
|
|
2
|
+
var __assign = this && this.__assign || function () {
|
|
3
|
+
__assign = Object.assign || function (t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
2
12
|
import _ from "lodash";
|
|
3
13
|
import { locale } from "./locale";
|
|
4
14
|
import { getQKBorder, saveHyperlink } from "./modules";
|
|
5
15
|
import { genarate } from "./modules/format";
|
|
6
16
|
import { getSheetIndex } from "./utils";
|
|
17
|
+
import { setRowHeight } from "./api";
|
|
7
18
|
export var DEFAULT_FONT_SIZE = 12;
|
|
8
19
|
var parseStylesheetPairs = function parseStylesheetPairs(styleInner) {
|
|
9
20
|
var patternReg = /{([^}]*)}/g;
|
|
@@ -112,14 +123,28 @@ var detectHyperlink = function detectHyperlink(td) {
|
|
|
112
123
|
}
|
|
113
124
|
return null;
|
|
114
125
|
};
|
|
126
|
+
function brToNewline(str) {
|
|
127
|
+
return str.replace(/<br\s*\/?>/gi, "\n");
|
|
128
|
+
}
|
|
115
129
|
var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
|
|
116
130
|
var _a;
|
|
117
|
-
var _b, _c;
|
|
131
|
+
var _b, _c, _d;
|
|
118
132
|
var cell = {};
|
|
119
133
|
var rawText = (td.innerText || td.innerHTML || "").trim();
|
|
134
|
+
var isLineBreak = rawText.includes("<br />");
|
|
120
135
|
if (!rawText) {
|
|
121
136
|
cell.v = undefined;
|
|
122
137
|
cell.m = "";
|
|
138
|
+
} else if (isLineBreak) {
|
|
139
|
+
var value = brToNewline(rawText);
|
|
140
|
+
cell = __assign(__assign({}, cell), {
|
|
141
|
+
ct: __assign(__assign({}, cell.ct), {
|
|
142
|
+
t: "inlineStr",
|
|
143
|
+
s: [{
|
|
144
|
+
v: value
|
|
145
|
+
}]
|
|
146
|
+
})
|
|
147
|
+
});
|
|
123
148
|
} else {
|
|
124
149
|
var mask = genarate(rawText);
|
|
125
150
|
_a = mask || [], cell.m = _a[0], cell.ct = _a[1], cell.v = _a[2];
|
|
@@ -166,7 +191,11 @@ var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
|
|
|
166
191
|
} else {
|
|
167
192
|
cell.vt = 2;
|
|
168
193
|
}
|
|
169
|
-
|
|
194
|
+
if (((_d = td === null || td === void 0 ? void 0 : td.style) === null || _d === void 0 ? void 0 : _d["overflow-wrap"]) === "anywhere") {
|
|
195
|
+
cell.tb = "2";
|
|
196
|
+
} else {
|
|
197
|
+
cell.tb = "2";
|
|
198
|
+
}
|
|
170
199
|
if ("mso-rotate" in styles) cell.rt = parseFloat(styles["mso-rotate"]);
|
|
171
200
|
var rowspan = parseInt(td.getAttribute("rowspan") || "1", 10);
|
|
172
201
|
var colspan = parseInt(td.getAttribute("colspan") || "1", 10);
|
|
@@ -218,17 +247,19 @@ export function handlePastedTable(ctx, html, pasteHandler) {
|
|
|
218
247
|
var localRowIndex = 0;
|
|
219
248
|
tableRows.forEach(function (tr) {
|
|
220
249
|
var _a;
|
|
250
|
+
var _b;
|
|
221
251
|
var localColIndex = 0;
|
|
222
252
|
var anchorRow = ctx.luckysheet_select_save[0].row[0];
|
|
223
253
|
var targetRowIndex = anchorRow + localRowIndex;
|
|
224
254
|
var explicitRowHeightAttr = tr.getAttribute("height");
|
|
225
255
|
if (!_.isNil(explicitRowHeightAttr)) {
|
|
226
256
|
var explicitRowHeight = parseInt(explicitRowHeightAttr, 10);
|
|
227
|
-
var hasCustomRowHeight = _.has((
|
|
257
|
+
var hasCustomRowHeight = _.has((_b = sheetFile.config) === null || _b === void 0 ? void 0 : _b.rowlen, targetRowIndex);
|
|
228
258
|
var currentRowHeight = hasCustomRowHeight ? sheetFile.config.rowlen[targetRowIndex] : sheetFile.defaultRowHeight;
|
|
229
259
|
if (currentRowHeight !== explicitRowHeight) {
|
|
230
260
|
rowHeightsConfig[targetRowIndex] = explicitRowHeight;
|
|
231
261
|
}
|
|
262
|
+
setRowHeight(ctx, (_a = {}, _a[String(targetRowIndex)] = explicitRowHeight, _a));
|
|
232
263
|
}
|
|
233
264
|
tr.querySelectorAll("td, th").forEach(function (node) {
|
|
234
265
|
var tdElement = node;
|
package/lib/events/paste.js
CHANGED
|
@@ -1163,9 +1163,12 @@ function resizePastedCellsToContent(ctx) {
|
|
|
1163
1163
|
(0, _calculateRangeCellSize.updateSheetCellSizes)(ctx, sheetIdx, rangeCellSize);
|
|
1164
1164
|
}
|
|
1165
1165
|
function handlePaste(ctx, e) {
|
|
1166
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
1166
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
1167
1167
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
1168
1168
|
if (!allowEdit || ctx.isFlvReadOnly) return;
|
|
1169
|
+
if (!_selection.selectionCache.isPasteAction) {
|
|
1170
|
+
return;
|
|
1171
|
+
}
|
|
1169
1172
|
if (_selection.selectionCache.isPasteAction) {
|
|
1170
1173
|
ctx.luckysheetCellUpdate = [];
|
|
1171
1174
|
_selection.selectionCache.isPasteAction = false;
|
|
@@ -1196,11 +1199,11 @@ function handlePaste(ctx, e) {
|
|
|
1196
1199
|
}
|
|
1197
1200
|
cpDataArr.push(cpRowArr);
|
|
1198
1201
|
}
|
|
1199
|
-
var copy_r1 = ctx.luckysheet_copy_save.copyRange[0].row[0];
|
|
1200
|
-
var copy_r2 = ctx.luckysheet_copy_save.copyRange[0].row[1];
|
|
1201
|
-
var copy_c1 = ctx.luckysheet_copy_save.copyRange[0].column[0];
|
|
1202
|
-
var copy_c2 = ctx.luckysheet_copy_save.copyRange[0].column[1];
|
|
1203
|
-
var copy_index = ctx.luckysheet_copy_save.dataSheetId;
|
|
1202
|
+
var copy_r1 = (_c = (_b = ctx.luckysheet_copy_save) === null || _b === void 0 ? void 0 : _b.copyRange[0]) === null || _c === void 0 ? void 0 : _c.row[0];
|
|
1203
|
+
var copy_r2 = (_e = (_d = ctx.luckysheet_copy_save) === null || _d === void 0 ? void 0 : _d.copyRange[0]) === null || _e === void 0 ? void 0 : _e.row[1];
|
|
1204
|
+
var copy_c1 = (_g = (_f = ctx.luckysheet_copy_save) === null || _f === void 0 ? void 0 : _f.copyRange[0]) === null || _g === void 0 ? void 0 : _g.column[0];
|
|
1205
|
+
var copy_c2 = (_j = (_h = ctx.luckysheet_copy_save) === null || _h === void 0 ? void 0 : _h.copyRange[0]) === null || _j === void 0 ? void 0 : _j.column[1];
|
|
1206
|
+
var copy_index = ctx.luckysheet_copy_save.dataSheetId || ctx.currentSheetId;
|
|
1204
1207
|
var d = void 0;
|
|
1205
1208
|
if (copy_index === ctx.currentSheetId) {
|
|
1206
1209
|
d = (0, _context.getFlowdata)(ctx);
|
|
@@ -1222,15 +1225,15 @@ function handlePaste(ctx, e) {
|
|
|
1222
1225
|
}
|
|
1223
1226
|
var v = void 0;
|
|
1224
1227
|
if (!_lodash.default.isNil(cell)) {
|
|
1225
|
-
if (((
|
|
1226
|
-
v = (
|
|
1228
|
+
if (((_m = (_l = (_k = cell.ct) === null || _k === void 0 ? void 0 : _k.fa) === null || _l === void 0 ? void 0 : _l.indexOf("w")) !== null && _m !== void 0 ? _m : -1) > -1) {
|
|
1229
|
+
v = (_p = (_o = d[r]) === null || _o === void 0 ? void 0 : _o[c]) === null || _p === void 0 ? void 0 : _p.v;
|
|
1227
1230
|
} else {
|
|
1228
|
-
v = (
|
|
1231
|
+
v = (_r = (_q = d[r]) === null || _q === void 0 ? void 0 : _q[c]) === null || _r === void 0 ? void 0 : _r.m;
|
|
1229
1232
|
}
|
|
1230
1233
|
} else {
|
|
1231
1234
|
v = "";
|
|
1232
1235
|
}
|
|
1233
|
-
if (_lodash.default.isNil(v) && ((
|
|
1236
|
+
if (_lodash.default.isNil(v) && ((_u = (_t = (_s = d[r]) === null || _s === void 0 ? void 0 : _s[c]) === null || _t === void 0 ? void 0 : _t.ct) === null || _u === void 0 ? void 0 : _u.t) === "inlineStr") {
|
|
1234
1237
|
v = d[r][c].ct.s.map(function (val) {
|
|
1235
1238
|
return val.v;
|
|
1236
1239
|
}).join("");
|
|
@@ -1248,10 +1251,10 @@ function handlePaste(ctx, e) {
|
|
|
1248
1251
|
}
|
|
1249
1252
|
}
|
|
1250
1253
|
}
|
|
1251
|
-
if (((
|
|
1254
|
+
if (((_w = (_v = ctx.hooks).beforePaste) === null || _w === void 0 ? void 0 : _w.call(_v, ctx.luckysheet_select_save, txtdata)) === false) {
|
|
1252
1255
|
return;
|
|
1253
1256
|
}
|
|
1254
|
-
if (txtdata.indexOf("fortune-copy-action-table") > -1 && ((
|
|
1257
|
+
if (txtdata.indexOf("fortune-copy-action-table") > -1 && ((_x = ctx.luckysheet_copy_save) === null || _x === void 0 ? void 0 : _x.copyRange) != null && ctx.luckysheet_copy_save.copyRange.length > 0 && isEqual) {
|
|
1255
1258
|
if (ctx.luckysheet_paste_iscut) {
|
|
1256
1259
|
ctx.luckysheet_paste_iscut = false;
|
|
1257
1260
|
pasteHandlerOfCutPaste(ctx, ctx.luckysheet_copy_save);
|
|
@@ -1274,10 +1277,10 @@ function handlePaste(ctx, e) {
|
|
|
1274
1277
|
var _txtdata = clipboardData.getData("text/html") || clipboardData.getData("text/plain");
|
|
1275
1278
|
var embedUrl = (0, _modules.sanitizeDuneUrl)(_txtdata);
|
|
1276
1279
|
if (embedUrl) {
|
|
1277
|
-
var last = (
|
|
1280
|
+
var last = (_y = ctx.luckysheet_select_save) === null || _y === void 0 ? void 0 : _y[ctx.luckysheet_select_save.length - 1];
|
|
1278
1281
|
if (last) {
|
|
1279
|
-
var rowIndex = (
|
|
1280
|
-
var colIndex = (
|
|
1282
|
+
var rowIndex = (_1 = (_z = last.row_focus) !== null && _z !== void 0 ? _z : (_0 = last.row) === null || _0 === void 0 ? void 0 : _0[0]) !== null && _1 !== void 0 ? _1 : 0;
|
|
1283
|
+
var colIndex = (_4 = (_2 = last.column_focus) !== null && _2 !== void 0 ? _2 : (_3 = last.column) === null || _3 === void 0 ? void 0 : _3[0]) !== null && _4 !== void 0 ? _4 : 0;
|
|
1281
1284
|
var left = colIndex === 0 ? 0 : ctx.visibledatacolumn[colIndex - 1];
|
|
1282
1285
|
var top_1 = rowIndex === 0 ? 0 : ctx.visibledatarow[rowIndex + 5];
|
|
1283
1286
|
ctx.showDunePreview = {
|
package/lib/modules/cell.js
CHANGED
|
@@ -92,14 +92,18 @@ function normalizedCellAttr(cell, attr, defaultFontSize) {
|
|
|
92
92
|
}
|
|
93
93
|
function normalizedAttr(data, r, c, attr) {
|
|
94
94
|
if (!data || !data[r]) {
|
|
95
|
-
console.warn("cell (%d, %d) is null", r, c);
|
|
96
95
|
return null;
|
|
97
96
|
}
|
|
98
97
|
var cell = data[r][c];
|
|
99
98
|
if (!cell) return undefined;
|
|
100
99
|
return normalizedCellAttr(cell, attr);
|
|
101
100
|
}
|
|
101
|
+
function newlinesToBr(text) {
|
|
102
|
+
if (!text) return "";
|
|
103
|
+
return text.replace(/\r\n|\r|\n/g, "<br />");
|
|
104
|
+
}
|
|
102
105
|
function getCellValue(r, c, data, attr) {
|
|
106
|
+
var _a;
|
|
103
107
|
if (!attr) {
|
|
104
108
|
attr = "v";
|
|
105
109
|
}
|
|
@@ -129,6 +133,9 @@ function getCellValue(r, c, data, attr) {
|
|
|
129
133
|
} else if (d && d.ct && d.ct.t === "d") {
|
|
130
134
|
retv = d.m;
|
|
131
135
|
}
|
|
136
|
+
if ((d === null || d === void 0 ? void 0 : d.ct) && (0, _inlineString.isInlineStringCT)(d.ct) && (attr === "v" || attr === "m")) {
|
|
137
|
+
retv = newlinesToBr((_a = d.ct.s[0]) === null || _a === void 0 ? void 0 : _a.v);
|
|
138
|
+
}
|
|
132
139
|
}
|
|
133
140
|
if (retv === undefined) {
|
|
134
141
|
retv = null;
|
|
@@ -1072,6 +1079,8 @@ function getStyleByCell(ctx, d, r, c) {
|
|
|
1072
1079
|
} else {
|
|
1073
1080
|
style.background = "".concat(value);
|
|
1074
1081
|
}
|
|
1082
|
+
} else {
|
|
1083
|
+
style.background = "".concat(value);
|
|
1075
1084
|
}
|
|
1076
1085
|
}
|
|
1077
1086
|
if ("ht" in cell) {
|
|
@@ -1080,8 +1089,18 @@ function getStyleByCell(ctx, d, r, c) {
|
|
|
1080
1089
|
style.textAlign = "center";
|
|
1081
1090
|
} else if (Number(value) === 2) {
|
|
1082
1091
|
style.textAlign = "right";
|
|
1092
|
+
style.overflowWrap = "anywhere";
|
|
1083
1093
|
}
|
|
1084
1094
|
}
|
|
1095
|
+
if ("tb" in cell) {
|
|
1096
|
+
if (Number(cell.tb) === 2) {
|
|
1097
|
+
style.overflowWrap = "anywhere";
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
if ("ff" in cell) {
|
|
1101
|
+
var value = normalizedCellAttr(cell, "ff");
|
|
1102
|
+
style.fontFamily = value;
|
|
1103
|
+
}
|
|
1085
1104
|
if ("vt" in cell) {
|
|
1086
1105
|
var value = normalizedCellAttr(cell, "vt");
|
|
1087
1106
|
if (Number(value) === 0) {
|
package/lib/modules/selection.js
CHANGED
|
@@ -1164,7 +1164,7 @@ function getHtmlBorderStyle(type, color) {
|
|
|
1164
1164
|
return "".concat(style + color, ";");
|
|
1165
1165
|
}
|
|
1166
1166
|
function rangeValueToHtml(ctx, sheetId, ranges) {
|
|
1167
|
-
var _a, _b, _c;
|
|
1167
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1168
1168
|
var idx = (0, _utils.getSheetIndex)(ctx, sheetId);
|
|
1169
1169
|
if (idx == null) return "";
|
|
1170
1170
|
var sheet = ctx.luckysheetfile[idx];
|
|
@@ -1197,11 +1197,12 @@ function rangeValueToHtml(ctx, sheetId, ranges) {
|
|
|
1197
1197
|
var colgroup = "";
|
|
1198
1198
|
for (var i = 0; i < rowIndexArr.length; i += 1) {
|
|
1199
1199
|
var r = rowIndexArr[i];
|
|
1200
|
-
|
|
1200
|
+
var rowLen = (_e = (_d = (_c = sheet.config) === null || _c === void 0 ? void 0 : _c.rowlen) === null || _d === void 0 ? void 0 : _d[r.toString()]) !== null && _e !== void 0 ? _e : sheet.defaultRowHeight;
|
|
1201
|
+
cpdata += "<tr height=".concat(rowLen, "px >");
|
|
1201
1202
|
var _loop_3 = function _loop_3(j) {
|
|
1202
1203
|
var c = colIndexArr[j];
|
|
1203
1204
|
var column = '<td ${span} style="${style}">';
|
|
1204
|
-
var cell = (
|
|
1205
|
+
var cell = (_f = d[r]) === null || _f === void 0 ? void 0 : _f[c];
|
|
1205
1206
|
if (cell != null) {
|
|
1206
1207
|
var style = "";
|
|
1207
1208
|
var span = "";
|
|
@@ -1213,11 +1214,14 @@ function rangeValueToHtml(ctx, sheetId, ranges) {
|
|
|
1213
1214
|
}
|
|
1214
1215
|
}
|
|
1215
1216
|
if (c === colIndexArr[0]) {
|
|
1216
|
-
|
|
1217
|
+
var rowLenValue = (_h = (_g = sheet.config) === null || _g === void 0 ? void 0 : _g.rowlen) === null || _h === void 0 ? void 0 : _h[r.toString()];
|
|
1218
|
+
var colLen = (_k = (_j = sheet.config) === null || _j === void 0 ? void 0 : _j.columnlen) === null || _k === void 0 ? void 0 : _k[c.toString()];
|
|
1219
|
+
if (_lodash.default.isNil(rowLenValue)) {
|
|
1217
1220
|
style += "height:19px;";
|
|
1218
1221
|
} else {
|
|
1219
|
-
style += "height:".concat(
|
|
1222
|
+
style += "height:".concat(rowLenValue, "px;");
|
|
1220
1223
|
}
|
|
1224
|
+
style += "width:".concat(colLen !== null && colLen !== void 0 ? colLen : sheet.defaultColWidth, "px;");
|
|
1221
1225
|
}
|
|
1222
1226
|
var reg = /^(w|W)((0?)|(0\.0+))$/;
|
|
1223
1227
|
var c_value = void 0;
|
|
@@ -1520,6 +1524,7 @@ function copy(ctx) {
|
|
|
1520
1524
|
HasMC: HasMC
|
|
1521
1525
|
};
|
|
1522
1526
|
var cpdata = rangeValueToHtml(ctx, ctx.currentSheetId, ctx.luckysheet_select_save);
|
|
1527
|
+
cpdata = cpdata === null ? cpdata : cpdata.replace('<td style="', '<td style="white-space: pre-line;"');
|
|
1523
1528
|
if (cpdata) {
|
|
1524
1529
|
ctx.iscopyself = true;
|
|
1525
1530
|
_clipboard.default.writeHtml(cpdata);
|
|
@@ -10,8 +10,19 @@ var _locale = require("./locale");
|
|
|
10
10
|
var _modules = require("./modules");
|
|
11
11
|
var _format = require("./modules/format");
|
|
12
12
|
var _utils = require("./utils");
|
|
13
|
+
var _api = require("./api");
|
|
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); }
|
|
16
|
+
var __assign = void 0 && (void 0).__assign || function () {
|
|
17
|
+
__assign = Object.assign || function (t) {
|
|
18
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
19
|
+
s = arguments[i];
|
|
20
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
return __assign.apply(this, arguments);
|
|
25
|
+
};
|
|
15
26
|
var DEFAULT_FONT_SIZE = exports.DEFAULT_FONT_SIZE = 12;
|
|
16
27
|
var parseStylesheetPairs = function parseStylesheetPairs(styleInner) {
|
|
17
28
|
var patternReg = /{([^}]*)}/g;
|
|
@@ -120,14 +131,28 @@ var detectHyperlink = function detectHyperlink(td) {
|
|
|
120
131
|
}
|
|
121
132
|
return null;
|
|
122
133
|
};
|
|
134
|
+
function brToNewline(str) {
|
|
135
|
+
return str.replace(/<br\s*\/?>/gi, "\n");
|
|
136
|
+
}
|
|
123
137
|
var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
|
|
124
138
|
var _a;
|
|
125
|
-
var _b, _c;
|
|
139
|
+
var _b, _c, _d;
|
|
126
140
|
var cell = {};
|
|
127
141
|
var rawText = (td.innerText || td.innerHTML || "").trim();
|
|
142
|
+
var isLineBreak = rawText.includes("<br />");
|
|
128
143
|
if (!rawText) {
|
|
129
144
|
cell.v = undefined;
|
|
130
145
|
cell.m = "";
|
|
146
|
+
} else if (isLineBreak) {
|
|
147
|
+
var value = brToNewline(rawText);
|
|
148
|
+
cell = __assign(__assign({}, cell), {
|
|
149
|
+
ct: __assign(__assign({}, cell.ct), {
|
|
150
|
+
t: "inlineStr",
|
|
151
|
+
s: [{
|
|
152
|
+
v: value
|
|
153
|
+
}]
|
|
154
|
+
})
|
|
155
|
+
});
|
|
131
156
|
} else {
|
|
132
157
|
var mask = (0, _format.genarate)(rawText);
|
|
133
158
|
_a = mask || [], cell.m = _a[0], cell.ct = _a[1], cell.v = _a[2];
|
|
@@ -174,7 +199,11 @@ var buildCellFromTd = function buildCellFromTd(td, classStyles, ctx) {
|
|
|
174
199
|
} else {
|
|
175
200
|
cell.vt = 2;
|
|
176
201
|
}
|
|
177
|
-
|
|
202
|
+
if (((_d = td === null || td === void 0 ? void 0 : td.style) === null || _d === void 0 ? void 0 : _d["overflow-wrap"]) === "anywhere") {
|
|
203
|
+
cell.tb = "2";
|
|
204
|
+
} else {
|
|
205
|
+
cell.tb = "2";
|
|
206
|
+
}
|
|
178
207
|
if ("mso-rotate" in styles) cell.rt = parseFloat(styles["mso-rotate"]);
|
|
179
208
|
var rowspan = parseInt(td.getAttribute("rowspan") || "1", 10);
|
|
180
209
|
var colspan = parseInt(td.getAttribute("colspan") || "1", 10);
|
|
@@ -226,17 +255,19 @@ function handlePastedTable(ctx, html, pasteHandler) {
|
|
|
226
255
|
var localRowIndex = 0;
|
|
227
256
|
tableRows.forEach(function (tr) {
|
|
228
257
|
var _a;
|
|
258
|
+
var _b;
|
|
229
259
|
var localColIndex = 0;
|
|
230
260
|
var anchorRow = ctx.luckysheet_select_save[0].row[0];
|
|
231
261
|
var targetRowIndex = anchorRow + localRowIndex;
|
|
232
262
|
var explicitRowHeightAttr = tr.getAttribute("height");
|
|
233
263
|
if (!_lodash.default.isNil(explicitRowHeightAttr)) {
|
|
234
264
|
var explicitRowHeight = parseInt(explicitRowHeightAttr, 10);
|
|
235
|
-
var hasCustomRowHeight = _lodash.default.has((
|
|
265
|
+
var hasCustomRowHeight = _lodash.default.has((_b = sheetFile.config) === null || _b === void 0 ? void 0 : _b.rowlen, targetRowIndex);
|
|
236
266
|
var currentRowHeight = hasCustomRowHeight ? sheetFile.config.rowlen[targetRowIndex] : sheetFile.defaultRowHeight;
|
|
237
267
|
if (currentRowHeight !== explicitRowHeight) {
|
|
238
268
|
rowHeightsConfig[targetRowIndex] = explicitRowHeight;
|
|
239
269
|
}
|
|
270
|
+
(0, _api.setRowHeight)(ctx, (_a = {}, _a[String(targetRowIndex)] = explicitRowHeight, _a));
|
|
240
271
|
}
|
|
241
272
|
tr.querySelectorAll("td, th").forEach(function (node) {
|
|
242
273
|
var tdElement = node;
|