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