@fileverse-dev/fortune-core 1.1.11-patch-5 → 1.1.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.
- package/es/events/paste.js +311 -472
- package/lib/events/paste.js +311 -472
- package/package.json +1 -1
package/lib/events/paste.js
CHANGED
|
@@ -33,15 +33,6 @@ var __assign = void 0 && (void 0).__assign || function () {
|
|
|
33
33
|
};
|
|
34
34
|
return __assign.apply(this, arguments);
|
|
35
35
|
};
|
|
36
|
-
var __spreadArray = void 0 && (void 0).__spreadArray || function (to, from, pack) {
|
|
37
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
-
if (ar || !(i in from)) {
|
|
39
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
-
ar[i] = from[i];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
|
-
};
|
|
45
36
|
function postPasteCut(ctx, source, target, RowlChange) {
|
|
46
37
|
var execF_rc = {};
|
|
47
38
|
ctx.formulaCache.execFunctionExist = [];
|
|
@@ -321,11 +312,9 @@ function setCellHyperlink(ctx, id, r, c, link) {
|
|
|
321
312
|
}
|
|
322
313
|
function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
323
314
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
324
|
-
console.log("BRRAAA");
|
|
325
315
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
326
316
|
if (!allowEdit) return;
|
|
327
317
|
if (!copyRange) return;
|
|
328
|
-
console.log("pasteHandlerOfCutPaste");
|
|
329
318
|
var cfg = ctx.config || {};
|
|
330
319
|
if (cfg.merge == null) {
|
|
331
320
|
cfg.merge = {};
|
|
@@ -899,25 +888,15 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
899
888
|
}
|
|
900
889
|
var funcV = (0, _formula.execfunction)(ctx, func, h, c, undefined, undefined, true);
|
|
901
890
|
var afterUpdateCell = ctx.hooks.afterUpdateCell;
|
|
902
|
-
console.log("REACHED HERE FINALLY", afterUpdateCell, __assign(__assign({}, value), {
|
|
903
|
-
v: arr.length === 1 ? funcV[1] : value.v,
|
|
904
|
-
m: arr.length === 1 ? "[object Promise]" : funcV[1] instanceof Promise ? "[object Promise]" : funcV[1]
|
|
905
|
-
}));
|
|
906
891
|
if (afterUpdateCell) {
|
|
907
892
|
afterUpdateCell(h, c, null, __assign(__assign({}, value), {
|
|
908
893
|
v: arr.length === 1 ? funcV[1] : value.v,
|
|
909
|
-
m:
|
|
894
|
+
m: funcV[1] instanceof Promise ? "[object Promise]" : funcV[1]
|
|
910
895
|
}));
|
|
911
896
|
}
|
|
912
897
|
if (!_lodash.default.isNil(value.spl)) {}
|
|
913
898
|
}
|
|
914
899
|
x[c] = _lodash.default.cloneDeep(value);
|
|
915
|
-
console.log({
|
|
916
|
-
d: d,
|
|
917
|
-
c: c,
|
|
918
|
-
x: x,
|
|
919
|
-
h: h
|
|
920
|
-
});
|
|
921
900
|
if (value != null && copyHasMC && ((_g = x === null || x === void 0 ? void 0 : x[c]) === null || _g === void 0 ? void 0 : _g.mc)) {
|
|
922
901
|
if (((_j = (_h = x === null || x === void 0 ? void 0 : x[c]) === null || _h === void 0 ? void 0 : _h.mc) === null || _j === void 0 ? void 0 : _j.rs) != null) {
|
|
923
902
|
x[c].mc.r = h;
|
|
@@ -1004,7 +983,6 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1004
983
|
}
|
|
1005
984
|
}
|
|
1006
985
|
function handleFormulaStringPaste(ctx, formulaStr) {
|
|
1007
|
-
console.log("aaaaaa");
|
|
1008
986
|
var r = ctx.luckysheet_select_save[0].row[0];
|
|
1009
987
|
var c = ctx.luckysheet_select_save[0].column[0];
|
|
1010
988
|
var funcV = (0, _formula.execfunction)(ctx, formulaStr, r, c, undefined, undefined, true);
|
|
@@ -1024,7 +1002,6 @@ function handleFormulaStringPaste(ctx, formulaStr) {
|
|
|
1024
1002
|
cellTemp.m = isDataBlockRespose ? "Loading..." : val.toString();
|
|
1025
1003
|
cellTemp.v = val;
|
|
1026
1004
|
cellTemp.f = formulaStr;
|
|
1027
|
-
console.log("HERERERE");
|
|
1028
1005
|
var afterUpdateCell = ctx.hooks.afterUpdateCell;
|
|
1029
1006
|
if (afterUpdateCell && isDataBlockRespose) {
|
|
1030
1007
|
afterUpdateCell(r, c, null, cellTemp);
|
|
@@ -1042,517 +1019,379 @@ function parseAsLinkIfUrl(txtdata, ctx) {
|
|
|
1042
1019
|
}
|
|
1043
1020
|
}
|
|
1044
1021
|
}
|
|
1045
|
-
var ENABLE_PASTE_DEBUG = true;
|
|
1046
|
-
function dbg() {
|
|
1047
|
-
var args = [];
|
|
1048
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1049
|
-
args[_i] = arguments[_i];
|
|
1050
|
-
}
|
|
1051
|
-
if (!ENABLE_PASTE_DEBUG) return;
|
|
1052
|
-
console.log.apply(console, __spreadArray(['[Paste]'], args, false));
|
|
1053
|
-
}
|
|
1054
|
-
function dbgGroup(label) {
|
|
1055
|
-
if (!ENABLE_PASTE_DEBUG) return function () {};
|
|
1056
|
-
console.log("[Paste] ".concat(label));
|
|
1057
|
-
return function () {
|
|
1058
|
-
console.log("ended");
|
|
1059
|
-
};
|
|
1060
|
-
}
|
|
1061
1022
|
function handlePaste(ctx, e) {
|
|
1062
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x
|
|
1063
|
-
var _8, _9;
|
|
1064
|
-
var endAll = dbgGroup('handlePaste(root)');
|
|
1065
|
-
var t0 = performance.now();
|
|
1023
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
1066
1024
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
1067
|
-
|
|
1068
|
-
if (!allowEdit) {
|
|
1069
|
-
endAll();
|
|
1070
|
-
return;
|
|
1071
|
-
}
|
|
1072
|
-
dbg('selectionCache.isPasteAction?', _selection.selectionCache.isPasteAction);
|
|
1073
|
-
dbg('ctx.luckysheetCellUpdate.length', (_b = (_a = ctx.luckysheetCellUpdate) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
|
|
1025
|
+
if (!allowEdit) return;
|
|
1074
1026
|
if (_selection.selectionCache.isPasteAction) {
|
|
1075
|
-
var endGrid = dbgGroup('Grid paste branch');
|
|
1076
1027
|
ctx.luckysheetCellUpdate = [];
|
|
1077
1028
|
_selection.selectionCache.isPasteAction = false;
|
|
1078
1029
|
var clipboardData = e.clipboardData;
|
|
1079
1030
|
if (!clipboardData) {
|
|
1080
1031
|
clipboardData = window.clipboardData;
|
|
1081
|
-
dbg('Using IE clipboardData fallback?', !!clipboardData);
|
|
1082
1032
|
}
|
|
1083
|
-
if (!clipboardData)
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
return;
|
|
1088
|
-
}
|
|
1089
|
-
var textPlain = clipboardData.getData('text/plain') || '';
|
|
1090
|
-
var textHtml = clipboardData.getData('text/html') || '';
|
|
1091
|
-
dbg('clipboard text/plain length', textPlain.length);
|
|
1092
|
-
dbg('clipboard text/html length', textHtml.length);
|
|
1093
|
-
if (textPlain) {
|
|
1094
|
-
var endParseLink = dbgGroup('parseAsLinkIfUrl');
|
|
1095
|
-
try {
|
|
1096
|
-
parseAsLinkIfUrl(textPlain, ctx);
|
|
1097
|
-
} finally {
|
|
1098
|
-
endParseLink();
|
|
1099
|
-
}
|
|
1033
|
+
if (!clipboardData) return;
|
|
1034
|
+
var text = clipboardData.getData("text/plain");
|
|
1035
|
+
if (text) {
|
|
1036
|
+
parseAsLinkIfUrl(text, ctx);
|
|
1100
1037
|
}
|
|
1101
|
-
var txtdata =
|
|
1102
|
-
dbg('txtdata source', textHtml ? 'html' : 'plain');
|
|
1103
|
-
dbg('txtdata length', txtdata.length);
|
|
1038
|
+
var txtdata = clipboardData.getData("text/html") || clipboardData.getData("text/plain");
|
|
1104
1039
|
var isEqual = true;
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
var
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
dbg('rows found in html table', regArr.length);
|
|
1118
|
-
for (var i = 0; i < regArr.length; i += 1) {
|
|
1119
|
-
var cpRowArr = [];
|
|
1120
|
-
var reg2Arr = regArr[i].match(reg2);
|
|
1121
|
-
if (!_lodash.default.isNil(reg2Arr)) {
|
|
1122
|
-
for (var j = 0; j < reg2Arr.length; j += 1) {
|
|
1123
|
-
var cpValue = reg2Arr[j].replace(/<td.*?>/g, '').replace(/<\/td>/g, '');
|
|
1124
|
-
cpRowArr.push(cpValue);
|
|
1125
|
-
}
|
|
1126
|
-
}
|
|
1127
|
-
cpDataArr.push(cpRowArr);
|
|
1128
|
-
}
|
|
1129
|
-
dbg('cpDataArr shape', {
|
|
1130
|
-
rows: cpDataArr.length,
|
|
1131
|
-
cols: (_e = (_d = cpDataArr[0]) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0
|
|
1132
|
-
});
|
|
1133
|
-
var copy_r1 = ctx.luckysheet_copy_save.copyRange[0].row[0];
|
|
1134
|
-
var copy_r2 = ctx.luckysheet_copy_save.copyRange[0].row[1];
|
|
1135
|
-
var copy_c1 = ctx.luckysheet_copy_save.copyRange[0].column[0];
|
|
1136
|
-
var copy_c2 = ctx.luckysheet_copy_save.copyRange[0].column[1];
|
|
1137
|
-
var copy_index = ctx.luckysheet_copy_save.dataSheetId;
|
|
1138
|
-
dbg('copyRange', {
|
|
1139
|
-
copy_r1: copy_r1,
|
|
1140
|
-
copy_r2: copy_r2,
|
|
1141
|
-
copy_c1: copy_c1,
|
|
1142
|
-
copy_c2: copy_c2,
|
|
1143
|
-
copy_index: copy_index
|
|
1144
|
-
});
|
|
1145
|
-
var d = void 0;
|
|
1146
|
-
if (copy_index === ctx.currentSheetId) {
|
|
1147
|
-
d = (0, _context.getFlowdata)(ctx);
|
|
1148
|
-
dbg('flowdata from current sheet');
|
|
1149
|
-
} else {
|
|
1150
|
-
var index = (0, _utils.getSheetIndex)(ctx, copy_index);
|
|
1151
|
-
if (_lodash.default.isNil(index)) {
|
|
1152
|
-
dbg('copy sheet index not found → abort equality check');
|
|
1153
|
-
endInternal();
|
|
1154
|
-
endGrid();
|
|
1155
|
-
endAll();
|
|
1156
|
-
return;
|
|
1040
|
+
if (txtdata.indexOf("fortune-copy-action-table") > -1 && ((_a = ctx.luckysheet_copy_save) === null || _a === void 0 ? void 0 : _a.copyRange) != null && ctx.luckysheet_copy_save.copyRange.length > 0) {
|
|
1041
|
+
var cpDataArr = [];
|
|
1042
|
+
var reg = /<tr.*?>(.*?)<\/tr>/g;
|
|
1043
|
+
var reg2 = /<td.*?>(.*?)<\/td>/g;
|
|
1044
|
+
var regArr = txtdata.match(reg) || [];
|
|
1045
|
+
for (var i = 0; i < regArr.length; i += 1) {
|
|
1046
|
+
var cpRowArr = [];
|
|
1047
|
+
var reg2Arr = regArr[i].match(reg2);
|
|
1048
|
+
if (!_lodash.default.isNil(reg2Arr)) {
|
|
1049
|
+
for (var j = 0; j < reg2Arr.length; j += 1) {
|
|
1050
|
+
var cpValue = reg2Arr[j].replace(/<td.*?>/g, "").replace(/<\/td>/g, "");
|
|
1051
|
+
cpRowArr.push(cpValue);
|
|
1157
1052
|
}
|
|
1158
|
-
d = ctx.luckysheetfile[index].data;
|
|
1159
|
-
dbg('flowdata from other sheet index', index);
|
|
1160
1053
|
}
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1054
|
+
cpDataArr.push(cpRowArr);
|
|
1055
|
+
}
|
|
1056
|
+
var copy_r1 = ctx.luckysheet_copy_save.copyRange[0].row[0];
|
|
1057
|
+
var copy_r2 = ctx.luckysheet_copy_save.copyRange[0].row[1];
|
|
1058
|
+
var copy_c1 = ctx.luckysheet_copy_save.copyRange[0].column[0];
|
|
1059
|
+
var copy_c2 = ctx.luckysheet_copy_save.copyRange[0].column[1];
|
|
1060
|
+
var copy_index = ctx.luckysheet_copy_save.dataSheetId;
|
|
1061
|
+
var d = void 0;
|
|
1062
|
+
if (copy_index === ctx.currentSheetId) {
|
|
1063
|
+
d = (0, _context.getFlowdata)(ctx);
|
|
1064
|
+
} else {
|
|
1065
|
+
var index = (0, _utils.getSheetIndex)(ctx, copy_index);
|
|
1066
|
+
if (_lodash.default.isNil(index)) return;
|
|
1067
|
+
d = ctx.luckysheetfile[index].data;
|
|
1068
|
+
}
|
|
1069
|
+
if (!d) return;
|
|
1070
|
+
for (var r = copy_r1; r <= copy_r2; r += 1) {
|
|
1071
|
+
if (r - copy_r1 > cpDataArr.length - 1) {
|
|
1072
|
+
break;
|
|
1167
1073
|
}
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1074
|
+
for (var c = copy_c1; c <= copy_c2; c += 1) {
|
|
1075
|
+
var cell = d[r][c];
|
|
1076
|
+
var isInlineStr = false;
|
|
1077
|
+
if (!_lodash.default.isNil(cell) && !_lodash.default.isNil(cell.mc) && _lodash.default.isNil(cell.mc.rs)) {
|
|
1078
|
+
continue;
|
|
1172
1079
|
}
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
if (
|
|
1176
|
-
|
|
1177
|
-
r: r,
|
|
1178
|
-
c: c
|
|
1179
|
-
});
|
|
1180
|
-
continue;
|
|
1181
|
-
}
|
|
1182
|
-
var v = void 0;
|
|
1183
|
-
if (!_lodash.default.isNil(cell)) {
|
|
1184
|
-
if (((_j = (_h = (_g = cell.ct) === null || _g === void 0 ? void 0 : _g.fa) === null || _h === void 0 ? void 0 : _h.indexOf('w')) !== null && _j !== void 0 ? _j : -1) > -1) {
|
|
1185
|
-
v = (_l = (_k = d[r]) === null || _k === void 0 ? void 0 : _k[c]) === null || _l === void 0 ? void 0 : _l.v;
|
|
1186
|
-
} else {
|
|
1187
|
-
v = (_o = (_m = d[r]) === null || _m === void 0 ? void 0 : _m[c]) === null || _o === void 0 ? void 0 : _o.m;
|
|
1188
|
-
}
|
|
1080
|
+
var v = void 0;
|
|
1081
|
+
if (!_lodash.default.isNil(cell)) {
|
|
1082
|
+
if (((_d = (_c = (_b = cell.ct) === null || _b === void 0 ? void 0 : _b.fa) === null || _c === void 0 ? void 0 : _c.indexOf("w")) !== null && _d !== void 0 ? _d : -1) > -1) {
|
|
1083
|
+
v = (_f = (_e = d[r]) === null || _e === void 0 ? void 0 : _e[c]) === null || _f === void 0 ? void 0 : _f.v;
|
|
1189
1084
|
} else {
|
|
1190
|
-
v =
|
|
1191
|
-
}
|
|
1192
|
-
var isInlineStr = false;
|
|
1193
|
-
if (_lodash.default.isNil(v) && ((_r = (_q = (_p = d[r]) === null || _p === void 0 ? void 0 : _p[c]) === null || _q === void 0 ? void 0 : _q.ct) === null || _r === void 0 ? void 0 : _r.t) === 'inlineStr') {
|
|
1194
|
-
v = d[r][c].ct.s.map(function (val) {
|
|
1195
|
-
return val.v;
|
|
1196
|
-
}).join('');
|
|
1197
|
-
isInlineStr = true;
|
|
1085
|
+
v = (_h = (_g = d[r]) === null || _g === void 0 ? void 0 : _g[c]) === null || _h === void 0 ? void 0 : _h.m;
|
|
1198
1086
|
}
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
r: r,
|
|
1216
|
-
c: c,
|
|
1217
|
-
note: 'equality skipped'
|
|
1218
|
-
});
|
|
1087
|
+
} else {
|
|
1088
|
+
v = "";
|
|
1089
|
+
}
|
|
1090
|
+
if (_lodash.default.isNil(v) && ((_l = (_k = (_j = d[r]) === null || _j === void 0 ? void 0 : _j[c]) === null || _k === void 0 ? void 0 : _k.ct) === null || _l === void 0 ? void 0 : _l.t) === "inlineStr") {
|
|
1091
|
+
v = d[r][c].ct.s.map(function (val) {
|
|
1092
|
+
return val.v;
|
|
1093
|
+
}).join("");
|
|
1094
|
+
isInlineStr = true;
|
|
1095
|
+
}
|
|
1096
|
+
if (_lodash.default.isNil(v)) {
|
|
1097
|
+
v = "";
|
|
1098
|
+
}
|
|
1099
|
+
if (isInlineStr) {} else {
|
|
1100
|
+
if (_lodash.default.trim(cpDataArr[r - copy_r1][c - copy_c1]) !== _lodash.default.trim(v)) {
|
|
1101
|
+
isEqual = false;
|
|
1102
|
+
break;
|
|
1219
1103
|
}
|
|
1220
1104
|
}
|
|
1221
1105
|
}
|
|
1222
|
-
dbg('isEqual?', isEqual);
|
|
1223
|
-
} finally {
|
|
1224
|
-
dbg('internal equality time(ms)', Math.round(performance.now() - tInt0));
|
|
1225
|
-
endInternal();
|
|
1226
1106
|
}
|
|
1227
1107
|
}
|
|
1228
1108
|
var locale_fontjson_1 = (0, _locale.locale)(ctx).fontjson;
|
|
1229
|
-
|
|
1230
|
-
var hookResult = (_u = (_t = ctx.hooks).beforePaste) === null || _u === void 0 ? void 0 : _u.call(_t, ctx.luckysheet_select_save, txtdata);
|
|
1231
|
-
dbg('beforePaste hook returned', hookResult);
|
|
1232
|
-
if (hookResult === false) {
|
|
1233
|
-
dbg('beforePaste veto → abort');
|
|
1234
|
-
endGrid();
|
|
1235
|
-
endAll();
|
|
1109
|
+
if (((_o = (_m = ctx.hooks).beforePaste) === null || _o === void 0 ? void 0 : _o.call(_m, ctx.luckysheet_select_save, txtdata)) === false) {
|
|
1236
1110
|
return;
|
|
1237
1111
|
}
|
|
1238
|
-
if (
|
|
1239
|
-
var endInternalPaste = dbgGroup('Internal copy paste');
|
|
1240
|
-
dbg('ctx.luckysheet_paste_iscut?', ctx.luckysheet_paste_iscut);
|
|
1112
|
+
if (txtdata.indexOf("fortune-copy-action-table") > -1 && ((_p = ctx.luckysheet_copy_save) === null || _p === void 0 ? void 0 : _p.copyRange) != null && ctx.luckysheet_copy_save.copyRange.length > 0 && isEqual) {
|
|
1241
1113
|
if (ctx.luckysheet_paste_iscut) {
|
|
1242
1114
|
ctx.luckysheet_paste_iscut = false;
|
|
1243
|
-
dbg('→ pasteHandlerOfCutPaste');
|
|
1244
1115
|
pasteHandlerOfCutPaste(ctx, ctx.luckysheet_copy_save);
|
|
1245
1116
|
ctx.luckysheet_selection_range = [];
|
|
1246
1117
|
} else {
|
|
1247
|
-
dbg(' pasteHandlerOfCopyPaste');
|
|
1248
1118
|
pasteHandlerOfCopyPaste(ctx, ctx.luckysheet_copy_save);
|
|
1249
1119
|
}
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1120
|
+
} else if (txtdata.indexOf("fortune-copy-action-image") > -1) {} else {
|
|
1121
|
+
if (txtdata.indexOf("table") > -1) {
|
|
1122
|
+
var ele = document.createElement("div");
|
|
1123
|
+
ele.innerHTML = txtdata;
|
|
1124
|
+
var trList = ele.querySelectorAll("table tr");
|
|
1125
|
+
if (trList.length === 0) {
|
|
1126
|
+
ele.remove();
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
var data_1 = new Array(trList.length);
|
|
1130
|
+
var colLen_1 = 0;
|
|
1131
|
+
_lodash.default.forEach(trList[0].querySelectorAll("td"), function (td) {
|
|
1132
|
+
var colspan = td.colSpan;
|
|
1133
|
+
if (Number.isNaN(colspan)) {
|
|
1134
|
+
colspan = 1;
|
|
1135
|
+
}
|
|
1136
|
+
colLen_1 += colspan;
|
|
1258
1137
|
});
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1138
|
+
for (var i = 0; i < data_1.length; i += 1) {
|
|
1139
|
+
data_1[i] = new Array(colLen_1);
|
|
1140
|
+
}
|
|
1141
|
+
var r_1 = 0;
|
|
1142
|
+
var borderInfo_1 = {};
|
|
1143
|
+
var styleInner = ((_q = ele.querySelectorAll("style")[0]) === null || _q === void 0 ? void 0 : _q.innerHTML) || "";
|
|
1144
|
+
var patternReg = /{([^}]*)}/g;
|
|
1145
|
+
var patternStyle = styleInner.match(patternReg);
|
|
1146
|
+
var nameReg = /^[^\t].*/gm;
|
|
1147
|
+
var patternName = _lodash.default.initial(styleInner.match(nameReg));
|
|
1148
|
+
var allStyleList_1 = patternName.length === (patternStyle === null || patternStyle === void 0 ? void 0 : patternStyle.length) && _typeof(patternName) === _typeof(patternStyle) ? _lodash.default.fromPairs(_lodash.default.zip(patternName, patternStyle)) : {};
|
|
1149
|
+
var index_1 = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1150
|
+
if (!_lodash.default.isNil(index_1)) {
|
|
1151
|
+
if (_lodash.default.isNil(ctx.luckysheetfile[index_1].config)) {
|
|
1152
|
+
ctx.luckysheetfile[index_1].config = {};
|
|
1153
|
+
}
|
|
1154
|
+
if (_lodash.default.isNil(ctx.luckysheetfile[index_1].config.rowlen)) {
|
|
1155
|
+
ctx.luckysheetfile[index_1].config.rowlen = {};
|
|
1156
|
+
}
|
|
1157
|
+
var rowHeightList_1 = ctx.luckysheetfile[index_1].config.rowlen;
|
|
1158
|
+
_lodash.default.forEach(trList, function (tr) {
|
|
1159
|
+
var c = 0;
|
|
1160
|
+
var targetR = ctx.luckysheet_select_save[0].row[0] + r_1;
|
|
1161
|
+
var targetRowHeight = !_lodash.default.isNil(tr.getAttribute("height")) ? parseInt(tr.getAttribute("height"), 10) : null;
|
|
1162
|
+
if (_lodash.default.has(ctx.luckysheetfile[index_1].config.rowlen, targetR) && ctx.luckysheetfile[index_1].config.rowlen[targetR] !== targetRowHeight || !_lodash.default.has(ctx.luckysheetfile[index_1].config.rowlen, targetR) && ctx.luckysheetfile[index_1].defaultRowHeight !== targetRowHeight) {
|
|
1163
|
+
rowHeightList_1[targetR] = targetRowHeight;
|
|
1275
1164
|
}
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
var
|
|
1280
|
-
if (
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
dbg('allStyleList keys', Object.keys(allStyleList_1).length);
|
|
1294
|
-
var index_1 = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
1295
|
-
if (!_lodash.default.isNil(index_1)) {
|
|
1296
|
-
(_w = (_8 = ctx.luckysheetfile[index_1]).config) !== null && _w !== void 0 ? _w : _8.config = {};
|
|
1297
|
-
(_x = (_9 = ctx.luckysheetfile[index_1].config).rowlen) !== null && _x !== void 0 ? _x : _9.rowlen = {};
|
|
1298
|
-
var rowHeightList_1 = ctx.luckysheetfile[index_1].config.rowlen;
|
|
1299
|
-
_lodash.default.forEach(trList, function (tr) {
|
|
1300
|
-
var c = 0;
|
|
1301
|
-
var targetR = ctx.luckysheet_select_save[0].row[0] + r_1;
|
|
1302
|
-
var targetRowHeight = !_lodash.default.isNil(tr.getAttribute('height')) ? parseInt(tr.getAttribute('height'), 10) : null;
|
|
1303
|
-
var hasExisting = _lodash.default.has(ctx.luckysheetfile[index_1].config.rowlen, targetR);
|
|
1304
|
-
var existingVal = hasExisting ? ctx.luckysheetfile[index_1].config.rowlen[targetR] : ctx.luckysheetfile[index_1].defaultRowHeight;
|
|
1305
|
-
if (existingVal !== targetRowHeight) {
|
|
1306
|
-
rowHeightList_1[targetR] = targetRowHeight;
|
|
1307
|
-
dbg('set row height', {
|
|
1308
|
-
targetR: targetR,
|
|
1309
|
-
height: targetRowHeight
|
|
1310
|
-
});
|
|
1165
|
+
_lodash.default.forEach(tr.querySelectorAll("td"), function (td) {
|
|
1166
|
+
var className = td.className;
|
|
1167
|
+
var cell = {};
|
|
1168
|
+
var txt = td.innerText || td.innerHTML;
|
|
1169
|
+
if (_lodash.default.trim(txt).length === 0) {
|
|
1170
|
+
cell.v = undefined;
|
|
1171
|
+
cell.m = "";
|
|
1172
|
+
} else {
|
|
1173
|
+
var mask = (0, _format.genarate)(txt);
|
|
1174
|
+
cell.m = mask[0], cell.ct = mask[1], cell.v = mask[2];
|
|
1175
|
+
if (/^0x?[a-fA-F0-9]+$/.test(txt)) {
|
|
1176
|
+
cell.ct = {
|
|
1177
|
+
fa: "@",
|
|
1178
|
+
t: "s"
|
|
1179
|
+
};
|
|
1180
|
+
cell.m = txt;
|
|
1181
|
+
cell.v = txt;
|
|
1311
1182
|
}
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
};
|
|
1396
|
-
}
|
|
1183
|
+
}
|
|
1184
|
+
var styleString = typeof allStyleList_1[".".concat(className)] === "string" ? allStyleList_1[".".concat(className)].substring(1, allStyleList_1[".".concat(className)].length - 1).split("\n\t") : [];
|
|
1185
|
+
var styles = {};
|
|
1186
|
+
_lodash.default.forEach(styleString, function (s) {
|
|
1187
|
+
var styleList = s.split(":");
|
|
1188
|
+
styles[styleList[0]] = styleList === null || styleList === void 0 ? void 0 : styleList[1].replace(";", "");
|
|
1189
|
+
});
|
|
1190
|
+
if (!_lodash.default.isNil(styles.border)) td.style.border = styles.border;
|
|
1191
|
+
var bg = td.style.backgroundColor || styles.background;
|
|
1192
|
+
if (bg === "rgba(0, 0, 0, 0)" || _lodash.default.isEmpty(bg)) {
|
|
1193
|
+
bg = undefined;
|
|
1194
|
+
}
|
|
1195
|
+
cell.bg = bg;
|
|
1196
|
+
var fontWight = td.style.fontWeight;
|
|
1197
|
+
cell.bl = (fontWight.toString() === "400" || fontWight === "normal" || _lodash.default.isEmpty(fontWight)) && !_lodash.default.includes(styles["font-style"], "bold") && (!styles["font-weight"] || styles["font-weight"] === "400") ? 0 : 1;
|
|
1198
|
+
cell.it = (td.style.fontStyle === "normal" || _lodash.default.isEmpty(td.style.fontStyle)) && !_lodash.default.includes(styles["font-style"], "italic") ? 0 : 1;
|
|
1199
|
+
cell.un = !_lodash.default.includes(styles["text-decoration"], "underline") ? undefined : 1;
|
|
1200
|
+
cell.cl = !_lodash.default.includes(td.innerHTML, "<s>") ? undefined : 1;
|
|
1201
|
+
var ff = td.style.fontFamily || styles["font-family"] || "";
|
|
1202
|
+
var ffs = ff.split(",");
|
|
1203
|
+
for (var i = 0; i < ffs.length; i += 1) {
|
|
1204
|
+
var fa = _lodash.default.trim(ffs[i].toLowerCase());
|
|
1205
|
+
fa = locale_fontjson_1[fa];
|
|
1206
|
+
if (_lodash.default.isNil(fa)) {
|
|
1207
|
+
cell.ff = 0;
|
|
1208
|
+
} else {
|
|
1209
|
+
cell.ff = fa;
|
|
1210
|
+
break;
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
var fs = Math.round(styles["font-size"] ? parseInt(styles["font-size"].replace("pt", ""), 10) : parseInt(td.style.fontSize || "13", 10) * 72 / 96);
|
|
1214
|
+
cell.fs = fs;
|
|
1215
|
+
cell.fc = td.style.color || styles.color;
|
|
1216
|
+
var ht = td.style.textAlign || styles["text-align"] || "left";
|
|
1217
|
+
if (ht === "center") {
|
|
1218
|
+
cell.ht = 0;
|
|
1219
|
+
} else if (ht === "right") {
|
|
1220
|
+
cell.ht = 2;
|
|
1221
|
+
} else {
|
|
1222
|
+
cell.ht = 1;
|
|
1223
|
+
}
|
|
1224
|
+
var regex = /vertical-align:\s*(.*?);/;
|
|
1225
|
+
var vt = td.style.verticalAlign || styles["vertical-align"] || !_lodash.default.isNil(allStyleList_1.td) && allStyleList_1.td.match(regex).length > 0 && allStyleList_1.td.match(regex)[1] || "top";
|
|
1226
|
+
if (vt === "middle") {
|
|
1227
|
+
cell.vt = 0;
|
|
1228
|
+
} else if (vt === "top" || vt === "text-top") {
|
|
1229
|
+
cell.vt = 1;
|
|
1230
|
+
} else {
|
|
1231
|
+
cell.vt = 2;
|
|
1232
|
+
}
|
|
1233
|
+
if ("mso-rotate" in styles) {
|
|
1234
|
+
var rt = styles["mso-rotate"];
|
|
1235
|
+
cell.rt = parseFloat(rt);
|
|
1236
|
+
}
|
|
1237
|
+
while (c < colLen_1 && !_lodash.default.isNil(data_1[r_1][c])) {
|
|
1238
|
+
c += 1;
|
|
1239
|
+
}
|
|
1240
|
+
if (c === colLen_1) {
|
|
1241
|
+
return true;
|
|
1242
|
+
}
|
|
1243
|
+
if (_lodash.default.isNil(data_1[r_1][c])) {
|
|
1244
|
+
data_1[r_1][c] = cell;
|
|
1245
|
+
var rowspan = parseInt(td.getAttribute("rowspan"), 10);
|
|
1246
|
+
var colspan = parseInt(td.getAttribute("colspan"), 10);
|
|
1247
|
+
if (Number.isNaN(rowspan)) {
|
|
1248
|
+
rowspan = 1;
|
|
1249
|
+
}
|
|
1250
|
+
if (Number.isNaN(colspan)) {
|
|
1251
|
+
colspan = 1;
|
|
1252
|
+
}
|
|
1253
|
+
var r_ab = ctx.luckysheet_select_save[0].row[0] + r_1;
|
|
1254
|
+
var c_ab = ctx.luckysheet_select_save[0].column[0] + c;
|
|
1255
|
+
for (var rp = 0; rp < rowspan; rp += 1) {
|
|
1256
|
+
for (var cp = 0; cp < colspan; cp += 1) {
|
|
1257
|
+
if (rp === 0) {
|
|
1258
|
+
var bt = td.style.borderTop;
|
|
1259
|
+
if (!_lodash.default.isEmpty(bt) && bt.substring(0, 3).toLowerCase() !== "0px") {
|
|
1260
|
+
var width = td.style.borderTopWidth;
|
|
1261
|
+
var type = td.style.borderTopStyle;
|
|
1262
|
+
var color = td.style.borderTopColor;
|
|
1263
|
+
var borderconfig = (0, _cell.getQKBorder)(width, type, color);
|
|
1264
|
+
if (!borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)]) {
|
|
1265
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)] = {};
|
|
1397
1266
|
}
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1267
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)].t = {
|
|
1268
|
+
style: borderconfig[0],
|
|
1269
|
+
color: borderconfig[1]
|
|
1270
|
+
};
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
if (rp === rowspan - 1) {
|
|
1274
|
+
var bb = td.style.borderBottom;
|
|
1275
|
+
if (!_lodash.default.isEmpty(bb) && bb.substring(0, 3).toLowerCase() !== "0px") {
|
|
1276
|
+
var width = td.style.borderBottomWidth;
|
|
1277
|
+
var type = td.style.borderBottomStyle;
|
|
1278
|
+
var color = td.style.borderBottomColor;
|
|
1279
|
+
var borderconfig = (0, _cell.getQKBorder)(width, type, color);
|
|
1280
|
+
if (!borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)]) {
|
|
1281
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)] = {};
|
|
1411
1282
|
}
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1283
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)].b = {
|
|
1284
|
+
style: borderconfig[0],
|
|
1285
|
+
color: borderconfig[1]
|
|
1286
|
+
};
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
if (cp === 0) {
|
|
1290
|
+
var bl = td.style.borderLeft;
|
|
1291
|
+
if (!_lodash.default.isEmpty(bl) && bl.substring(0, 3).toLowerCase() !== "0px") {
|
|
1292
|
+
var width = td.style.borderLeftWidth;
|
|
1293
|
+
var type = td.style.borderLeftStyle;
|
|
1294
|
+
var color = td.style.borderLeftColor;
|
|
1295
|
+
var borderconfig = (0, _cell.getQKBorder)(width, type, color);
|
|
1296
|
+
if (!borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)]) {
|
|
1297
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)] = {};
|
|
1425
1298
|
}
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1299
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)].l = {
|
|
1300
|
+
style: borderconfig[0],
|
|
1301
|
+
color: borderconfig[1]
|
|
1302
|
+
};
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
if (cp === colspan - 1) {
|
|
1306
|
+
var br = td.style.borderLeft;
|
|
1307
|
+
if (!_lodash.default.isEmpty(br) && br.substring(0, 3).toLowerCase() !== "0px") {
|
|
1308
|
+
var width = td.style.borderRightWidth;
|
|
1309
|
+
var type = td.style.borderRightStyle;
|
|
1310
|
+
var color = td.style.borderRightColor;
|
|
1311
|
+
var borderconfig = (0, _cell.getQKBorder)(width, type, color);
|
|
1312
|
+
if (!borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)]) {
|
|
1313
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)] = {};
|
|
1439
1314
|
}
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
r: r_ab,
|
|
1444
|
-
c: c_ab
|
|
1445
|
-
}
|
|
1315
|
+
borderInfo_1["".concat(r_1 + rp, "_").concat(c + cp)].r = {
|
|
1316
|
+
style: borderconfig[0],
|
|
1317
|
+
color: borderconfig[1]
|
|
1446
1318
|
};
|
|
1447
1319
|
}
|
|
1448
1320
|
}
|
|
1449
|
-
if (
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1321
|
+
if (rp === 0 && cp === 0) {
|
|
1322
|
+
continue;
|
|
1323
|
+
}
|
|
1324
|
+
data_1[r_1 + rp][c + cp] = {
|
|
1325
|
+
mc: {
|
|
1453
1326
|
r: r_ab,
|
|
1454
1327
|
c: c_ab
|
|
1455
|
-
}
|
|
1456
|
-
|
|
1457
|
-
dbg('merged cell', {
|
|
1458
|
-
r: r_1,
|
|
1459
|
-
c: c,
|
|
1460
|
-
first: first
|
|
1461
|
-
});
|
|
1462
|
-
}
|
|
1328
|
+
}
|
|
1329
|
+
};
|
|
1463
1330
|
}
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
}
|
|
1472
|
-
ctx.luckysheet_selection_range = [];
|
|
1473
|
-
dbg('→ pasteHandler(ctx, data, borderInfo)', {
|
|
1474
|
-
rows: data_1.length,
|
|
1475
|
-
cols: (_z = (_y = data_1[0]) === null || _y === void 0 ? void 0 : _y.length) !== null && _z !== void 0 ? _z : 0,
|
|
1476
|
-
borders: Object.keys(borderInfo_1).length
|
|
1477
|
-
});
|
|
1478
|
-
pasteHandler(ctx, data_1, borderInfo_1);
|
|
1479
|
-
ele.remove();
|
|
1480
|
-
} finally {
|
|
1481
|
-
dbg('table paste time(ms)', Math.round(performance.now() - tTbl0));
|
|
1482
|
-
endTable();
|
|
1483
|
-
}
|
|
1484
|
-
} else if (clipboardData.files.length === 1 && clipboardData.files[0].type.indexOf('image') > -1) {
|
|
1485
|
-
dbg('Image file detected in clipboard – currently no-op');
|
|
1486
|
-
} else {
|
|
1487
|
-
var endPlain = dbgGroup('Plain text / Formula paste');
|
|
1488
|
-
try {
|
|
1489
|
-
txtdata = clipboardData.getData('text/plain');
|
|
1490
|
-
var isExcelFormula = txtdata.startsWith('=');
|
|
1491
|
-
dbg('isExcelFormula?', isExcelFormula, 'len', txtdata.length);
|
|
1492
|
-
if (isExcelFormula) {
|
|
1493
|
-
dbg('→ handleFormulaStringPaste');
|
|
1494
|
-
handleFormulaStringPaste(ctx, txtdata);
|
|
1495
|
-
} else {
|
|
1496
|
-
dbg('→ pasteHandler(ctx, txtdata)');
|
|
1497
|
-
pasteHandler(ctx, txtdata);
|
|
1498
|
-
var _txtdata = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
|
|
1499
|
-
var embedUrl = (0, _modules.sanitizeDuneUrl)(_txtdata);
|
|
1500
|
-
dbg('sanitizeDuneUrl found?', !!embedUrl);
|
|
1501
|
-
if (embedUrl) {
|
|
1502
|
-
var last = (_0 = ctx.luckysheet_select_save) === null || _0 === void 0 ? void 0 : _0[ctx.luckysheet_select_save.length - 1];
|
|
1503
|
-
if (last) {
|
|
1504
|
-
var rowIndex = (_3 = (_1 = last.row_focus) !== null && _1 !== void 0 ? _1 : (_2 = last.row) === null || _2 === void 0 ? void 0 : _2[0]) !== null && _3 !== void 0 ? _3 : 0;
|
|
1505
|
-
var colIndex = (_6 = (_4 = last.column_focus) !== null && _4 !== void 0 ? _4 : (_5 = last.column) === null || _5 === void 0 ? void 0 : _5[0]) !== null && _6 !== void 0 ? _6 : 0;
|
|
1506
|
-
var left = colIndex === 0 ? 0 : ctx.visibledatacolumn[colIndex - 1];
|
|
1507
|
-
var top_1 = rowIndex === 0 ? 0 : ctx.visibledatarow[rowIndex + 5];
|
|
1508
|
-
ctx.showDunePreview = {
|
|
1509
|
-
url: txtdata,
|
|
1510
|
-
position: {
|
|
1511
|
-
left: left,
|
|
1512
|
-
top: top_1
|
|
1513
|
-
}
|
|
1331
|
+
}
|
|
1332
|
+
if (rowspan > 1 || colspan > 1) {
|
|
1333
|
+
var first = {
|
|
1334
|
+
rs: rowspan,
|
|
1335
|
+
cs: colspan,
|
|
1336
|
+
r: r_ab,
|
|
1337
|
+
c: c_ab
|
|
1514
1338
|
};
|
|
1515
|
-
|
|
1516
|
-
rowIndex: rowIndex,
|
|
1517
|
-
colIndex: colIndex,
|
|
1518
|
-
left: left,
|
|
1519
|
-
top: top_1
|
|
1520
|
-
});
|
|
1521
|
-
} else {
|
|
1522
|
-
dbg('No selection to anchor Dune preview');
|
|
1339
|
+
data_1[r_1][c].mc = first;
|
|
1523
1340
|
}
|
|
1524
1341
|
}
|
|
1342
|
+
c += 1;
|
|
1343
|
+
if (c === colLen_1) {
|
|
1344
|
+
return true;
|
|
1345
|
+
}
|
|
1346
|
+
return true;
|
|
1347
|
+
});
|
|
1348
|
+
r_1 += 1;
|
|
1349
|
+
});
|
|
1350
|
+
(0, _api.setRowHeight)(ctx, rowHeightList_1);
|
|
1351
|
+
}
|
|
1352
|
+
ctx.luckysheet_selection_range = [];
|
|
1353
|
+
pasteHandler(ctx, data_1, borderInfo_1);
|
|
1354
|
+
ele.remove();
|
|
1355
|
+
} else if (clipboardData.files.length === 1 && clipboardData.files[0].type.indexOf("image") > -1) {} else {
|
|
1356
|
+
txtdata = clipboardData.getData("text/plain");
|
|
1357
|
+
var isExcelFormula = txtdata.startsWith("=");
|
|
1358
|
+
if (isExcelFormula) {
|
|
1359
|
+
handleFormulaStringPaste(ctx, txtdata);
|
|
1360
|
+
} else {
|
|
1361
|
+
pasteHandler(ctx, txtdata);
|
|
1362
|
+
var _txtdata = clipboardData.getData("text/html") || clipboardData.getData("text/plain");
|
|
1363
|
+
var embedUrl = (0, _modules.sanitizeDuneUrl)(_txtdata);
|
|
1364
|
+
if (embedUrl) {
|
|
1365
|
+
var last = (_r = ctx.luckysheet_select_save) === null || _r === void 0 ? void 0 : _r[ctx.luckysheet_select_save.length - 1];
|
|
1366
|
+
if (last) {
|
|
1367
|
+
var rowIndex = (_u = (_s = last.row_focus) !== null && _s !== void 0 ? _s : (_t = last.row) === null || _t === void 0 ? void 0 : _t[0]) !== null && _u !== void 0 ? _u : 0;
|
|
1368
|
+
var colIndex = (_x = (_v = last.column_focus) !== null && _v !== void 0 ? _v : (_w = last.column) === null || _w === void 0 ? void 0 : _w[0]) !== null && _x !== void 0 ? _x : 0;
|
|
1369
|
+
var left = colIndex === 0 ? 0 : ctx.visibledatacolumn[colIndex - 1];
|
|
1370
|
+
var top_1 = rowIndex === 0 ? 0 : ctx.visibledatarow[rowIndex + 5];
|
|
1371
|
+
ctx.showDunePreview = {
|
|
1372
|
+
url: txtdata,
|
|
1373
|
+
position: {
|
|
1374
|
+
left: left,
|
|
1375
|
+
top: top_1
|
|
1376
|
+
}
|
|
1377
|
+
};
|
|
1525
1378
|
}
|
|
1526
|
-
} finally {
|
|
1527
|
-
endPlain();
|
|
1528
1379
|
}
|
|
1529
1380
|
}
|
|
1530
|
-
} finally {
|
|
1531
|
-
endElse();
|
|
1532
1381
|
}
|
|
1533
1382
|
}
|
|
1534
|
-
endGrid();
|
|
1535
1383
|
} else if (ctx.luckysheetCellUpdate.length > 0) {
|
|
1536
|
-
var endInline = dbgGroup('Inline editor paste branch');
|
|
1537
1384
|
e.preventDefault();
|
|
1538
1385
|
var clipboardData = e.clipboardData;
|
|
1539
1386
|
if (!clipboardData) {
|
|
1540
1387
|
clipboardData = window.clipboardData;
|
|
1541
|
-
dbg('Using IE clipboardData fallback (inline)?', !!clipboardData);
|
|
1542
1388
|
}
|
|
1543
|
-
var text =
|
|
1544
|
-
dbg('inline paste text length', text.length);
|
|
1389
|
+
var text = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData("text/plain");
|
|
1545
1390
|
if (text) {
|
|
1546
|
-
document.execCommand(
|
|
1547
|
-
dbg('→ execCommand(insertText)');
|
|
1391
|
+
document.execCommand("insertText", false, text);
|
|
1548
1392
|
parseAsLinkIfUrl(text, ctx);
|
|
1549
1393
|
}
|
|
1550
|
-
endInline();
|
|
1551
|
-
} else {
|
|
1552
|
-
dbg('No grid paste, no inline editor → noop');
|
|
1553
1394
|
}
|
|
1554
|
-
dbg('handlePaste total time(ms)', Math.round(performance.now() - t0));
|
|
1555
|
-
endAll();
|
|
1556
1395
|
}
|
|
1557
1396
|
function handlePasteByClick(ctx, clipboardData, triggerType) {
|
|
1558
1397
|
var _a, _b, _c;
|