@fileverse-dev/fortune-core 1.2.64-linkPasteFix-patch-1 → 1.2.64-mergeFix-patch-1
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 -67
- package/es/locale/en.d.ts +1 -0
- package/es/locale/en.js +2 -1
- package/es/locale/index.d.ts +1 -0
- package/es/locale/zh.d.ts +1 -0
- package/es/locale/zh.js +2 -1
- package/es/modules/cell.js +6 -51
- package/es/modules/merge.js +89 -90
- package/lib/events/paste.js +18 -67
- package/lib/locale/en.d.ts +1 -0
- package/lib/locale/en.js +2 -1
- package/lib/locale/index.d.ts +1 -0
- package/lib/locale/zh.d.ts +1 -0
- package/lib/locale/zh.js +2 -1
- package/lib/modules/cell.js +6 -51
- package/lib/modules/merge.js +89 -90
- package/package.json +1 -1
package/es/events/paste.js
CHANGED
|
@@ -786,7 +786,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
786
786
|
}
|
|
787
787
|
}
|
|
788
788
|
function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
789
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
|
789
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
790
790
|
var allowEdit = isAllowEdit(ctx);
|
|
791
791
|
if (!allowEdit || ctx.isFlvReadOnly) return;
|
|
792
792
|
if (!copyRange) return;
|
|
@@ -1085,64 +1085,21 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1085
1085
|
file.luckysheet_conditionformat_save = cdformat;
|
|
1086
1086
|
file.dataVerification = __assign(__assign({}, file.dataVerification), dataVerification);
|
|
1087
1087
|
if (((_l = ctx.luckysheet_select_save) === null || _l === void 0 ? void 0 : _l.length) === 1 && ((_m = ctx.luckysheet_copy_save) === null || _m === void 0 ? void 0 : _m.copyRange.length) === 1) {
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
for (var th = 1; th <= timesH; th += 1) {
|
|
1101
|
-
for (var tc = 1; tc <= timesC; tc += 1) {
|
|
1102
|
-
var linkMth = minh + (th - 1) * copyh;
|
|
1103
|
-
var linkMtc = minc + (tc - 1) * copyc;
|
|
1104
|
-
var linkMaxRow = minh + th * copyh;
|
|
1105
|
-
var linkMaxCol = minc + tc * copyc;
|
|
1106
|
-
for (var h = linkMth; h < linkMaxRow; h += 1) {
|
|
1107
|
-
for (var c = linkMtc; c < linkMaxCol; c += 1) {
|
|
1108
|
-
var srcLink = void 0;
|
|
1109
|
-
if (isSingleCell && cachedSrcLink) {
|
|
1110
|
-
srcLink = cachedSrcLink;
|
|
1111
|
-
} else {
|
|
1112
|
-
var srcRow = c_r1 + (h - linkMth);
|
|
1113
|
-
var srcCol = c_c1 + (c - linkMtc);
|
|
1114
|
-
srcLink = srcHyperlinks === null || srcHyperlinks === void 0 ? void 0 : srcHyperlinks["".concat(srcRow, "_").concat(srcCol)];
|
|
1115
|
-
}
|
|
1116
|
-
if (!srcLink) continue;
|
|
1117
|
-
var targetKey = "".concat(h, "_").concat(c);
|
|
1118
|
-
targetHyperlinks[targetKey] = srcLink;
|
|
1119
|
-
var cell = (_q = d[h]) === null || _q === void 0 ? void 0 : _q[c];
|
|
1120
|
-
if (cell) {
|
|
1121
|
-
var srcCell = void 0;
|
|
1122
|
-
if (isSingleCell && cachedSrcCell) {
|
|
1123
|
-
srcCell = cachedSrcCell;
|
|
1124
|
-
} else {
|
|
1125
|
-
var srcRow = c_r1 + (h - linkMth);
|
|
1126
|
-
var srcCol = c_c1 + (c - linkMtc);
|
|
1127
|
-
srcCell = (_r = srcData === null || srcData === void 0 ? void 0 : srcData[srcRow]) === null || _r === void 0 ? void 0 : _r[srcCol];
|
|
1128
|
-
}
|
|
1129
|
-
cell.hl = {
|
|
1130
|
-
r: h,
|
|
1131
|
-
c: c,
|
|
1132
|
-
id: ctx.currentSheetId
|
|
1133
|
-
};
|
|
1134
|
-
if (srcCell) {
|
|
1135
|
-
if (srcCell.fc) cell.fc = srcCell.fc;
|
|
1136
|
-
if (srcCell.un !== undefined) cell.un = srcCell.un;
|
|
1137
|
-
} else {
|
|
1138
|
-
cell.fc = cell.fc || "rgb(0, 0, 255)";
|
|
1139
|
-
cell.un = cell.un !== undefined ? cell.un : 1;
|
|
1140
|
-
}
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
1088
|
+
_.forEach((_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.copyRange, function (range) {
|
|
1089
|
+
var _a, _b, _c;
|
|
1090
|
+
var srcIndex = getSheetIndex(ctx, (_a = ctx.luckysheet_copy_save) === null || _a === void 0 ? void 0 : _a.dataSheetId);
|
|
1091
|
+
for (var r = 0; r <= range.row[1] - range.row[0]; r += 1) {
|
|
1092
|
+
for (var c = 0; c <= range.column[1] - range.column[0]; c += 1) {
|
|
1093
|
+
var srcRow = r + range.row[0];
|
|
1094
|
+
var srcCol = c + range.column[0];
|
|
1095
|
+
var srcLink = (_b = ctx.luckysheetfile[srcIndex].hyperlink) === null || _b === void 0 ? void 0 : _b["".concat(srcRow, "_").concat(srcCol)];
|
|
1096
|
+
if (!srcLink) continue;
|
|
1097
|
+
var targetR = r + ctx.luckysheet_select_save[0].row[0];
|
|
1098
|
+
var targetC = c + ctx.luckysheet_select_save[0].column[0];
|
|
1099
|
+
setCellHyperlink(ctx, (_c = ctx.luckysheet_copy_save) === null || _c === void 0 ? void 0 : _c.dataSheetId, targetR, targetC, srcLink);
|
|
1143
1100
|
}
|
|
1144
1101
|
}
|
|
1145
|
-
}
|
|
1102
|
+
});
|
|
1146
1103
|
}
|
|
1147
1104
|
if (copyRowlChange || addr > 0 || addc > 0) {
|
|
1148
1105
|
jfrefreshgrid(ctx, d, ctx.luckysheet_select_save);
|
|
@@ -1179,17 +1136,11 @@ export function parseAsLinkIfUrl(txtdata, ctx) {
|
|
|
1179
1136
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
1180
1137
|
var urlRegex = /^(https?:\/\/[^\s]+)/;
|
|
1181
1138
|
if (urlRegex.test(txtdata)) {
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
var
|
|
1139
|
+
var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
|
|
1140
|
+
if (last) {
|
|
1141
|
+
var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
|
|
1142
|
+
var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
|
|
1185
1143
|
saveHyperlink(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
|
|
1186
|
-
} else {
|
|
1187
|
-
var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
|
|
1188
|
-
if (last) {
|
|
1189
|
-
var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
|
|
1190
|
-
var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
|
|
1191
|
-
saveHyperlink(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
|
|
1192
|
-
}
|
|
1193
1144
|
}
|
|
1194
1145
|
}
|
|
1195
1146
|
}
|
package/es/locale/en.d.ts
CHANGED
package/es/locale/en.js
CHANGED
|
@@ -9610,7 +9610,8 @@ export default {
|
|
|
9610
9610
|
noHide: "Can't hide, at least keep one sheet tag",
|
|
9611
9611
|
chartEditNoOpt: "This operation is not allowed in chart editing mode!",
|
|
9612
9612
|
sheetNameSpecCharError: "The name cannot contain:[ ] : ? * / ' \"",
|
|
9613
|
-
sheetNamecannotIsEmptyError: "Sheet name cannot be empty!"
|
|
9613
|
+
sheetNamecannotIsEmptyError: "Sheet name cannot be empty!",
|
|
9614
|
+
confirmMerge: "Merging cells will only preserve the top-leftmost value. Merge anyway?"
|
|
9614
9615
|
},
|
|
9615
9616
|
conditionformat: {
|
|
9616
9617
|
conditionformat_greaterThan: "Conditional format - Greater than",
|
package/es/locale/index.d.ts
CHANGED
package/es/locale/zh.d.ts
CHANGED
package/es/locale/zh.js
CHANGED
|
@@ -10083,7 +10083,8 @@ export default {
|
|
|
10083
10083
|
noHide: "不能隐藏, 至少保留一个sheet标签",
|
|
10084
10084
|
chartEditNoOpt: "图表编辑模式下不允许该操作!",
|
|
10085
10085
|
sheetNameSpecCharError: "名称不能超过31个字符,首尾不能是' 且名称不能包含:\r\n[ ] : \\ ? * /",
|
|
10086
|
-
sheetNamecannotIsEmptyError: "名称不能为空!"
|
|
10086
|
+
sheetNamecannotIsEmptyError: "名称不能为空!",
|
|
10087
|
+
confirmMerge: "合并单元格将仅保留左上角单元格的值。是否继续?"
|
|
10087
10088
|
},
|
|
10088
10089
|
conditionformat: {
|
|
10089
10090
|
conditionformat_greaterThan: "条件格式——大于",
|
package/es/modules/cell.js
CHANGED
|
@@ -538,32 +538,14 @@ export function cancelNormalSelected(ctx) {
|
|
|
538
538
|
ctx.formulaCache.rangedrag_row_start = false;
|
|
539
539
|
}
|
|
540
540
|
export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
541
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u
|
|
541
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
542
542
|
if (ctx.allowEdit === false || ctx.isFlvReadOnly) return;
|
|
543
543
|
var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
|
|
544
544
|
var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
|
|
545
|
-
var trimmedInputText = (inputText !== null && inputText !== void 0 ? inputText : "").trim();
|
|
546
|
-
var isSingleToken = trimmedInputText.length > 0 && !/[\s\r\n]/.test(trimmedInputText);
|
|
547
|
-
var isUrlPastedInEditor = isSingleToken && /^(https?:\/\/|www\.)\S+$/i.test(trimmedInputText);
|
|
548
|
-
var normalizedUrl = null;
|
|
549
|
-
if (isUrlPastedInEditor) {
|
|
550
|
-
if (trimmedInputText.startsWith("http")) {
|
|
551
|
-
normalizedUrl = trimmedInputText;
|
|
552
|
-
} else {
|
|
553
|
-
normalizedUrl = "https://".concat(trimmedInputText);
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
545
|
var flowdata = getFlowdata(ctx);
|
|
557
546
|
if (!flowdata) return;
|
|
558
547
|
var index = getSheetIndex(ctx, ctx.currentSheetId);
|
|
559
548
|
var dataVerification = ctx.luckysheetfile[index].dataVerification;
|
|
560
|
-
var sheetFile = ctx.luckysheetfile[index];
|
|
561
|
-
var getUrlFromText = function getUrlFromText(text) {
|
|
562
|
-
var t = (text !== null && text !== void 0 ? text : "").trim();
|
|
563
|
-
if (!t || /[\s\r\n]/.test(t)) return null;
|
|
564
|
-
if (!/^(https?:\/\/|www\.)\S+$/i.test(t)) return null;
|
|
565
|
-
return t.startsWith("http") ? t : "https://".concat(t);
|
|
566
|
-
};
|
|
567
549
|
if (!_.isNil(dataVerification)) {
|
|
568
550
|
var dvItem = dataVerification["".concat(r, "_").concat(c)];
|
|
569
551
|
if (!_.isNil(dvItem) && dvItem.prohibitInput && !validateCellData(ctx, dvItem, inputText)) {
|
|
@@ -576,7 +558,7 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
576
558
|
var curv = flowdata[r][c];
|
|
577
559
|
var oldValue = _.cloneDeep(curv);
|
|
578
560
|
var isPrevInline = isInlineStringCell(curv);
|
|
579
|
-
var isCurInline = (inputText === null || inputText === void 0 ? void 0 : inputText.slice(0, 1)) !== "=" && (
|
|
561
|
+
var isCurInline = (inputText === null || inputText === void 0 ? void 0 : inputText.slice(0, 1)) !== "=" && (inputHtml === null || inputHtml === void 0 ? void 0 : inputHtml.substring(0, 5)) === "<span";
|
|
580
562
|
var isCopyVal = false;
|
|
581
563
|
if (!isCurInline && inputText && inputText.length > 0) {
|
|
582
564
|
var splitArr = inputText.replace(/\r\n/g, "_x000D_").replace(/ /g, "_x000D_").replace(/\r/g, "_x000D_").replace(/\n/g, "_x000D_").split("_x000D_");
|
|
@@ -604,17 +586,7 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
604
586
|
curv.tb = "1";
|
|
605
587
|
}
|
|
606
588
|
curv.ct.t = "inlineStr";
|
|
607
|
-
|
|
608
|
-
curv.ct.s = [{
|
|
609
|
-
v: trimmedInputText,
|
|
610
|
-
fs: fontSize,
|
|
611
|
-
l: {
|
|
612
|
-
target: normalizedUrl
|
|
613
|
-
}
|
|
614
|
-
}];
|
|
615
|
-
} else {
|
|
616
|
-
curv.ct.s = convertSpanToShareString($input.querySelectorAll("span"), curv);
|
|
617
|
-
}
|
|
589
|
+
curv.ct.s = convertSpanToShareString($input.querySelectorAll("span"), curv);
|
|
618
590
|
delete curv.fs;
|
|
619
591
|
delete curv.f;
|
|
620
592
|
delete curv.v;
|
|
@@ -831,30 +803,13 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
831
803
|
} catch (e) {
|
|
832
804
|
console.log("[updateCell] spill failed; falling back", e);
|
|
833
805
|
}
|
|
834
|
-
var url = getUrlFromText($input === null || $input === void 0 ? void 0 : $input.innerText);
|
|
835
|
-
if (url && _typeof(value) === "object" && value) {
|
|
836
|
-
value.hl = 1;
|
|
837
|
-
if (!sheetFile.hyperlink) sheetFile.hyperlink = {};
|
|
838
|
-
sheetFile.hyperlink["".concat(r, "_").concat(c)] = {
|
|
839
|
-
linkType: "webpage",
|
|
840
|
-
linkAddress: url
|
|
841
|
-
};
|
|
842
|
-
if (typeof value.v !== "string") {
|
|
843
|
-
value.v = (_r = $input === null || $input === void 0 ? void 0 : $input.innerText) !== null && _r !== void 0 ? _r : url;
|
|
844
|
-
}
|
|
845
|
-
if (value.m == null) {
|
|
846
|
-
value.m = value.v;
|
|
847
|
-
}
|
|
848
|
-
if (value.fc == null) value.fc = "rgb(0, 0, 255)";
|
|
849
|
-
if (value.un == null) value.un = 1;
|
|
850
|
-
}
|
|
851
806
|
setCellValue(ctx, r, c, d, value);
|
|
852
807
|
cancelNormalSelected(ctx);
|
|
853
808
|
if ((curv === null || curv === void 0 ? void 0 : curv.tb) === "2" && curv.v || isInlineStringCell(d[r][c])) {
|
|
854
809
|
var defaultrowlen = ctx.defaultrowlen;
|
|
855
810
|
var cfg = ctx.luckysheetfile[getSheetIndex(ctx, ctx.currentSheetId)].config || {};
|
|
856
|
-
if (!(((
|
|
857
|
-
var cellWidth = ((
|
|
811
|
+
if (!(((_r = cfg.columnlen) === null || _r === void 0 ? void 0 : _r[c]) && ((_s = cfg.rowlen) === null || _s === void 0 ? void 0 : _s[r]))) {
|
|
812
|
+
var cellWidth = ((_t = cfg.columnlen) === null || _t === void 0 ? void 0 : _t[c]) || ctx.defaultcollen;
|
|
858
813
|
var textInfo = canvas ? getCellTextInfo(d[r][c], canvas, ctx, {
|
|
859
814
|
r: r,
|
|
860
815
|
c: c,
|
|
@@ -865,7 +820,7 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
865
820
|
currentRowLen = textInfo.textHeightAll + 2;
|
|
866
821
|
}
|
|
867
822
|
var previousRowHeight = getRowHeight(ctx, [r])[r];
|
|
868
|
-
if (currentRowLen > defaultrowlen && !((
|
|
823
|
+
if (currentRowLen > defaultrowlen && !((_u = cfg.customHeight) === null || _u === void 0 ? void 0 : _u[r]) && previousRowHeight < currentRowLen) {
|
|
869
824
|
if (_.isNil(cfg.rowlen)) cfg.rowlen = {};
|
|
870
825
|
cfg.rowlen[r] = currentRowLen;
|
|
871
826
|
}
|
package/es/modules/merge.js
CHANGED
|
@@ -97,115 +97,114 @@ export function mergeCells(ctx, sheetId, ranges, type) {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
100
|
+
}
|
|
101
|
+
for (var i = 0; i < ranges.length; i += 1) {
|
|
102
|
+
var range = ranges[i];
|
|
103
|
+
var r1 = range.row[0];
|
|
104
|
+
var r2 = range.row[1];
|
|
105
|
+
var c1 = range.column[0];
|
|
106
|
+
var c2 = range.column[1];
|
|
107
|
+
if (r1 === r2 && c1 === c2) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (type === "merge-all") {
|
|
111
|
+
var fv = {};
|
|
112
|
+
var isfirst = false;
|
|
113
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
114
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
115
|
+
var cell = d[r][c];
|
|
116
|
+
if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_a = cell.ct.s) === null || _a === void 0 ? void 0 : _a.length)) && !isfirst) {
|
|
117
|
+
fv = _.cloneDeep(cell);
|
|
118
|
+
isfirst = true;
|
|
119
|
+
}
|
|
120
|
+
d[r][c] = {
|
|
121
|
+
mc: {
|
|
122
|
+
r: r1,
|
|
123
|
+
c: c1
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
109
127
|
}
|
|
110
|
-
|
|
128
|
+
d[r1][c1] = fv;
|
|
129
|
+
var a = d[r1][c1];
|
|
130
|
+
if (!a) return;
|
|
131
|
+
a.mc = {
|
|
132
|
+
r: r1,
|
|
133
|
+
c: c1,
|
|
134
|
+
rs: r2 - r1 + 1,
|
|
135
|
+
cs: c2 - c1 + 1
|
|
136
|
+
};
|
|
137
|
+
cfg.merge["".concat(r1, "_").concat(c1)] = {
|
|
138
|
+
r: r1,
|
|
139
|
+
c: c1,
|
|
140
|
+
rs: r2 - r1 + 1,
|
|
141
|
+
cs: c2 - c1 + 1
|
|
142
|
+
};
|
|
143
|
+
} else if (type === "merge-vertical") {
|
|
144
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
111
145
|
var fv = {};
|
|
112
146
|
var isfirst = false;
|
|
113
147
|
for (var r = r1; r <= r2; r += 1) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
isfirst = true;
|
|
119
|
-
}
|
|
120
|
-
d[r][c] = {
|
|
121
|
-
mc: {
|
|
122
|
-
r: r1,
|
|
123
|
-
c: c1
|
|
124
|
-
}
|
|
125
|
-
};
|
|
148
|
+
var cell = d[r][c];
|
|
149
|
+
if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
|
|
150
|
+
fv = _.cloneDeep(cell);
|
|
151
|
+
isfirst = true;
|
|
126
152
|
}
|
|
153
|
+
d[r][c] = {
|
|
154
|
+
mc: {
|
|
155
|
+
r: r1,
|
|
156
|
+
c: c
|
|
157
|
+
}
|
|
158
|
+
};
|
|
127
159
|
}
|
|
128
|
-
d[r1][
|
|
129
|
-
var a = d[r1][
|
|
160
|
+
d[r1][c] = fv;
|
|
161
|
+
var a = d[r1][c];
|
|
130
162
|
if (!a) return;
|
|
131
163
|
a.mc = {
|
|
132
164
|
r: r1,
|
|
133
|
-
c:
|
|
165
|
+
c: c,
|
|
134
166
|
rs: r2 - r1 + 1,
|
|
135
|
-
cs:
|
|
167
|
+
cs: 1
|
|
136
168
|
};
|
|
137
|
-
cfg.merge["".concat(r1, "_").concat(
|
|
169
|
+
cfg.merge["".concat(r1, "_").concat(c)] = {
|
|
138
170
|
r: r1,
|
|
139
|
-
c:
|
|
171
|
+
c: c,
|
|
140
172
|
rs: r2 - r1 + 1,
|
|
141
|
-
cs:
|
|
173
|
+
cs: 1
|
|
142
174
|
};
|
|
143
|
-
}
|
|
175
|
+
}
|
|
176
|
+
} else if (type === "merge-horizontal") {
|
|
177
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
178
|
+
var fv = {};
|
|
179
|
+
var isfirst = false;
|
|
144
180
|
for (var c = c1; c <= c2; c += 1) {
|
|
145
|
-
var
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
|
|
150
|
-
fv = _.cloneDeep(cell);
|
|
151
|
-
isfirst = true;
|
|
152
|
-
}
|
|
153
|
-
d[r][c] = {
|
|
154
|
-
mc: {
|
|
155
|
-
r: r1,
|
|
156
|
-
c: c
|
|
157
|
-
}
|
|
158
|
-
};
|
|
181
|
+
var cell = d[r][c];
|
|
182
|
+
if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
|
|
183
|
+
fv = _.cloneDeep(cell);
|
|
184
|
+
isfirst = true;
|
|
159
185
|
}
|
|
160
|
-
d[
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
r: r1,
|
|
165
|
-
c: c,
|
|
166
|
-
rs: r2 - r1 + 1,
|
|
167
|
-
cs: 1
|
|
168
|
-
};
|
|
169
|
-
cfg.merge["".concat(r1, "_").concat(c)] = {
|
|
170
|
-
r: r1,
|
|
171
|
-
c: c,
|
|
172
|
-
rs: r2 - r1 + 1,
|
|
173
|
-
cs: 1
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
} else if (type === "merge-horizontal") {
|
|
177
|
-
for (var r = r1; r <= r2; r += 1) {
|
|
178
|
-
var fv = {};
|
|
179
|
-
var isfirst = false;
|
|
180
|
-
for (var c = c1; c <= c2; c += 1) {
|
|
181
|
-
var cell = d[r][c];
|
|
182
|
-
if (cell != null && (isInlineStringCT(cell.ct) || !_.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
|
|
183
|
-
fv = _.cloneDeep(cell);
|
|
184
|
-
isfirst = true;
|
|
186
|
+
d[r][c] = {
|
|
187
|
+
mc: {
|
|
188
|
+
r: r,
|
|
189
|
+
c: c1
|
|
185
190
|
}
|
|
186
|
-
d[r][c] = {
|
|
187
|
-
mc: {
|
|
188
|
-
r: r,
|
|
189
|
-
c: c1
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
d[r][c1] = fv;
|
|
194
|
-
var a = d[r][c1];
|
|
195
|
-
if (!a) return;
|
|
196
|
-
a.mc = {
|
|
197
|
-
r: r,
|
|
198
|
-
c: c1,
|
|
199
|
-
rs: 1,
|
|
200
|
-
cs: c2 - c1 + 1
|
|
201
|
-
};
|
|
202
|
-
cfg.merge["".concat(r, "_").concat(c1)] = {
|
|
203
|
-
r: r,
|
|
204
|
-
c: c1,
|
|
205
|
-
rs: 1,
|
|
206
|
-
cs: c2 - c1 + 1
|
|
207
191
|
};
|
|
208
192
|
}
|
|
193
|
+
d[r][c1] = fv;
|
|
194
|
+
var a = d[r][c1];
|
|
195
|
+
if (!a) return;
|
|
196
|
+
a.mc = {
|
|
197
|
+
r: r,
|
|
198
|
+
c: c1,
|
|
199
|
+
rs: 1,
|
|
200
|
+
cs: c2 - c1 + 1
|
|
201
|
+
};
|
|
202
|
+
cfg.merge["".concat(r, "_").concat(c1)] = {
|
|
203
|
+
r: r,
|
|
204
|
+
c: c1,
|
|
205
|
+
rs: 1,
|
|
206
|
+
cs: c2 - c1 + 1
|
|
207
|
+
};
|
|
209
208
|
}
|
|
210
209
|
}
|
|
211
210
|
}
|
package/lib/events/paste.js
CHANGED
|
@@ -799,7 +799,7 @@ function pasteHandlerOfCutPaste(ctx, copyRange) {
|
|
|
799
799
|
}
|
|
800
800
|
}
|
|
801
801
|
function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
802
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
|
802
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
803
803
|
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
804
804
|
if (!allowEdit || ctx.isFlvReadOnly) return;
|
|
805
805
|
if (!copyRange) return;
|
|
@@ -1098,64 +1098,21 @@ function pasteHandlerOfCopyPaste(ctx, copyRange) {
|
|
|
1098
1098
|
file.luckysheet_conditionformat_save = cdformat;
|
|
1099
1099
|
file.dataVerification = __assign(__assign({}, file.dataVerification), dataVerification);
|
|
1100
1100
|
if (((_l = ctx.luckysheet_select_save) === null || _l === void 0 ? void 0 : _l.length) === 1 && ((_m = ctx.luckysheet_copy_save) === null || _m === void 0 ? void 0 : _m.copyRange.length) === 1) {
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
for (var th = 1; th <= timesH; th += 1) {
|
|
1114
|
-
for (var tc = 1; tc <= timesC; tc += 1) {
|
|
1115
|
-
var linkMth = minh + (th - 1) * copyh;
|
|
1116
|
-
var linkMtc = minc + (tc - 1) * copyc;
|
|
1117
|
-
var linkMaxRow = minh + th * copyh;
|
|
1118
|
-
var linkMaxCol = minc + tc * copyc;
|
|
1119
|
-
for (var h = linkMth; h < linkMaxRow; h += 1) {
|
|
1120
|
-
for (var c = linkMtc; c < linkMaxCol; c += 1) {
|
|
1121
|
-
var srcLink = void 0;
|
|
1122
|
-
if (isSingleCell && cachedSrcLink) {
|
|
1123
|
-
srcLink = cachedSrcLink;
|
|
1124
|
-
} else {
|
|
1125
|
-
var srcRow = c_r1 + (h - linkMth);
|
|
1126
|
-
var srcCol = c_c1 + (c - linkMtc);
|
|
1127
|
-
srcLink = srcHyperlinks === null || srcHyperlinks === void 0 ? void 0 : srcHyperlinks["".concat(srcRow, "_").concat(srcCol)];
|
|
1128
|
-
}
|
|
1129
|
-
if (!srcLink) continue;
|
|
1130
|
-
var targetKey = "".concat(h, "_").concat(c);
|
|
1131
|
-
targetHyperlinks[targetKey] = srcLink;
|
|
1132
|
-
var cell = (_q = d[h]) === null || _q === void 0 ? void 0 : _q[c];
|
|
1133
|
-
if (cell) {
|
|
1134
|
-
var srcCell = void 0;
|
|
1135
|
-
if (isSingleCell && cachedSrcCell) {
|
|
1136
|
-
srcCell = cachedSrcCell;
|
|
1137
|
-
} else {
|
|
1138
|
-
var srcRow = c_r1 + (h - linkMth);
|
|
1139
|
-
var srcCol = c_c1 + (c - linkMtc);
|
|
1140
|
-
srcCell = (_r = srcData === null || srcData === void 0 ? void 0 : srcData[srcRow]) === null || _r === void 0 ? void 0 : _r[srcCol];
|
|
1141
|
-
}
|
|
1142
|
-
cell.hl = {
|
|
1143
|
-
r: h,
|
|
1144
|
-
c: c,
|
|
1145
|
-
id: ctx.currentSheetId
|
|
1146
|
-
};
|
|
1147
|
-
if (srcCell) {
|
|
1148
|
-
if (srcCell.fc) cell.fc = srcCell.fc;
|
|
1149
|
-
if (srcCell.un !== undefined) cell.un = srcCell.un;
|
|
1150
|
-
} else {
|
|
1151
|
-
cell.fc = cell.fc || "rgb(0, 0, 255)";
|
|
1152
|
-
cell.un = cell.un !== undefined ? cell.un : 1;
|
|
1153
|
-
}
|
|
1154
|
-
}
|
|
1155
|
-
}
|
|
1101
|
+
_lodash.default.forEach((_o = ctx.luckysheet_copy_save) === null || _o === void 0 ? void 0 : _o.copyRange, function (range) {
|
|
1102
|
+
var _a, _b, _c;
|
|
1103
|
+
var srcIndex = (0, _utils.getSheetIndex)(ctx, (_a = ctx.luckysheet_copy_save) === null || _a === void 0 ? void 0 : _a.dataSheetId);
|
|
1104
|
+
for (var r = 0; r <= range.row[1] - range.row[0]; r += 1) {
|
|
1105
|
+
for (var c = 0; c <= range.column[1] - range.column[0]; c += 1) {
|
|
1106
|
+
var srcRow = r + range.row[0];
|
|
1107
|
+
var srcCol = c + range.column[0];
|
|
1108
|
+
var srcLink = (_b = ctx.luckysheetfile[srcIndex].hyperlink) === null || _b === void 0 ? void 0 : _b["".concat(srcRow, "_").concat(srcCol)];
|
|
1109
|
+
if (!srcLink) continue;
|
|
1110
|
+
var targetR = r + ctx.luckysheet_select_save[0].row[0];
|
|
1111
|
+
var targetC = c + ctx.luckysheet_select_save[0].column[0];
|
|
1112
|
+
setCellHyperlink(ctx, (_c = ctx.luckysheet_copy_save) === null || _c === void 0 ? void 0 : _c.dataSheetId, targetR, targetC, srcLink);
|
|
1156
1113
|
}
|
|
1157
1114
|
}
|
|
1158
|
-
}
|
|
1115
|
+
});
|
|
1159
1116
|
}
|
|
1160
1117
|
if (copyRowlChange || addr > 0 || addc > 0) {
|
|
1161
1118
|
(0, _refresh.jfrefreshgrid)(ctx, d, ctx.luckysheet_select_save);
|
|
@@ -1192,17 +1149,11 @@ function parseAsLinkIfUrl(txtdata, ctx) {
|
|
|
1192
1149
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
1193
1150
|
var urlRegex = /^(https?:\/\/[^\s]+)/;
|
|
1194
1151
|
if (urlRegex.test(txtdata)) {
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
var
|
|
1152
|
+
var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
|
|
1153
|
+
if (last) {
|
|
1154
|
+
var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
|
|
1155
|
+
var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
|
|
1198
1156
|
(0, _modules.saveHyperlink)(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
|
|
1199
|
-
} else {
|
|
1200
|
-
var last = (_a = ctx.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[ctx.luckysheet_select_save.length - 1];
|
|
1201
|
-
if (last) {
|
|
1202
|
-
var rowIndex = (_d = (_b = last.row_focus) !== null && _b !== void 0 ? _b : (_c = last.row) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 0;
|
|
1203
|
-
var colIndex = (_g = (_e = last.column_focus) !== null && _e !== void 0 ? _e : (_f = last.column) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0;
|
|
1204
|
-
(0, _modules.saveHyperlink)(ctx, rowIndex, colIndex, txtdata, "webpage", txtdata);
|
|
1205
|
-
}
|
|
1206
1157
|
}
|
|
1207
1158
|
}
|
|
1208
1159
|
}
|
package/lib/locale/en.d.ts
CHANGED
package/lib/locale/en.js
CHANGED
|
@@ -9616,7 +9616,8 @@ var _default = exports.default = {
|
|
|
9616
9616
|
noHide: "Can't hide, at least keep one sheet tag",
|
|
9617
9617
|
chartEditNoOpt: "This operation is not allowed in chart editing mode!",
|
|
9618
9618
|
sheetNameSpecCharError: "The name cannot contain:[ ] : ? * / ' \"",
|
|
9619
|
-
sheetNamecannotIsEmptyError: "Sheet name cannot be empty!"
|
|
9619
|
+
sheetNamecannotIsEmptyError: "Sheet name cannot be empty!",
|
|
9620
|
+
confirmMerge: "Merging cells will only preserve the top-leftmost value. Merge anyway?"
|
|
9620
9621
|
},
|
|
9621
9622
|
conditionformat: {
|
|
9622
9623
|
conditionformat_greaterThan: "Conditional format - Greater than",
|
package/lib/locale/index.d.ts
CHANGED
package/lib/locale/zh.d.ts
CHANGED
package/lib/locale/zh.js
CHANGED
|
@@ -10089,7 +10089,8 @@ var _default = exports.default = {
|
|
|
10089
10089
|
noHide: "不能隐藏, 至少保留一个sheet标签",
|
|
10090
10090
|
chartEditNoOpt: "图表编辑模式下不允许该操作!",
|
|
10091
10091
|
sheetNameSpecCharError: "名称不能超过31个字符,首尾不能是' 且名称不能包含:\r\n[ ] : \\ ? * /",
|
|
10092
|
-
sheetNamecannotIsEmptyError: "名称不能为空!"
|
|
10092
|
+
sheetNamecannotIsEmptyError: "名称不能为空!",
|
|
10093
|
+
confirmMerge: "合并单元格将仅保留左上角单元格的值。是否继续?"
|
|
10093
10094
|
},
|
|
10094
10095
|
conditionformat: {
|
|
10095
10096
|
conditionformat_greaterThan: "条件格式——大于",
|
package/lib/modules/cell.js
CHANGED
|
@@ -571,32 +571,14 @@ function cancelNormalSelected(ctx) {
|
|
|
571
571
|
ctx.formulaCache.rangedrag_row_start = false;
|
|
572
572
|
}
|
|
573
573
|
function updateCell(ctx, r, c, $input, value, canvas) {
|
|
574
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u
|
|
574
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
575
575
|
if (ctx.allowEdit === false || ctx.isFlvReadOnly) return;
|
|
576
576
|
var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
|
|
577
577
|
var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
|
|
578
|
-
var trimmedInputText = (inputText !== null && inputText !== void 0 ? inputText : "").trim();
|
|
579
|
-
var isSingleToken = trimmedInputText.length > 0 && !/[\s\r\n]/.test(trimmedInputText);
|
|
580
|
-
var isUrlPastedInEditor = isSingleToken && /^(https?:\/\/|www\.)\S+$/i.test(trimmedInputText);
|
|
581
|
-
var normalizedUrl = null;
|
|
582
|
-
if (isUrlPastedInEditor) {
|
|
583
|
-
if (trimmedInputText.startsWith("http")) {
|
|
584
|
-
normalizedUrl = trimmedInputText;
|
|
585
|
-
} else {
|
|
586
|
-
normalizedUrl = "https://".concat(trimmedInputText);
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
578
|
var flowdata = (0, _context.getFlowdata)(ctx);
|
|
590
579
|
if (!flowdata) return;
|
|
591
580
|
var index = (0, _utils.getSheetIndex)(ctx, ctx.currentSheetId);
|
|
592
581
|
var dataVerification = ctx.luckysheetfile[index].dataVerification;
|
|
593
|
-
var sheetFile = ctx.luckysheetfile[index];
|
|
594
|
-
var getUrlFromText = function getUrlFromText(text) {
|
|
595
|
-
var t = (text !== null && text !== void 0 ? text : "").trim();
|
|
596
|
-
if (!t || /[\s\r\n]/.test(t)) return null;
|
|
597
|
-
if (!/^(https?:\/\/|www\.)\S+$/i.test(t)) return null;
|
|
598
|
-
return t.startsWith("http") ? t : "https://".concat(t);
|
|
599
|
-
};
|
|
600
582
|
if (!_lodash.default.isNil(dataVerification)) {
|
|
601
583
|
var dvItem = dataVerification["".concat(r, "_").concat(c)];
|
|
602
584
|
if (!_lodash.default.isNil(dvItem) && dvItem.prohibitInput && !(0, _dataVerification.validateCellData)(ctx, dvItem, inputText)) {
|
|
@@ -609,7 +591,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
609
591
|
var curv = flowdata[r][c];
|
|
610
592
|
var oldValue = _lodash.default.cloneDeep(curv);
|
|
611
593
|
var isPrevInline = (0, _inlineString.isInlineStringCell)(curv);
|
|
612
|
-
var isCurInline = (inputText === null || inputText === void 0 ? void 0 : inputText.slice(0, 1)) !== "=" && (
|
|
594
|
+
var isCurInline = (inputText === null || inputText === void 0 ? void 0 : inputText.slice(0, 1)) !== "=" && (inputHtml === null || inputHtml === void 0 ? void 0 : inputHtml.substring(0, 5)) === "<span";
|
|
613
595
|
var isCopyVal = false;
|
|
614
596
|
if (!isCurInline && inputText && inputText.length > 0) {
|
|
615
597
|
var splitArr = inputText.replace(/\r\n/g, "_x000D_").replace(/ /g, "_x000D_").replace(/\r/g, "_x000D_").replace(/\n/g, "_x000D_").split("_x000D_");
|
|
@@ -637,17 +619,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
637
619
|
curv.tb = "1";
|
|
638
620
|
}
|
|
639
621
|
curv.ct.t = "inlineStr";
|
|
640
|
-
|
|
641
|
-
curv.ct.s = [{
|
|
642
|
-
v: trimmedInputText,
|
|
643
|
-
fs: fontSize,
|
|
644
|
-
l: {
|
|
645
|
-
target: normalizedUrl
|
|
646
|
-
}
|
|
647
|
-
}];
|
|
648
|
-
} else {
|
|
649
|
-
curv.ct.s = (0, _inlineString.convertSpanToShareString)($input.querySelectorAll("span"), curv);
|
|
650
|
-
}
|
|
622
|
+
curv.ct.s = (0, _inlineString.convertSpanToShareString)($input.querySelectorAll("span"), curv);
|
|
651
623
|
delete curv.fs;
|
|
652
624
|
delete curv.f;
|
|
653
625
|
delete curv.v;
|
|
@@ -864,30 +836,13 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
864
836
|
} catch (e) {
|
|
865
837
|
console.log("[updateCell] spill failed; falling back", e);
|
|
866
838
|
}
|
|
867
|
-
var url = getUrlFromText($input === null || $input === void 0 ? void 0 : $input.innerText);
|
|
868
|
-
if (url && _typeof(value) === "object" && value) {
|
|
869
|
-
value.hl = 1;
|
|
870
|
-
if (!sheetFile.hyperlink) sheetFile.hyperlink = {};
|
|
871
|
-
sheetFile.hyperlink["".concat(r, "_").concat(c)] = {
|
|
872
|
-
linkType: "webpage",
|
|
873
|
-
linkAddress: url
|
|
874
|
-
};
|
|
875
|
-
if (typeof value.v !== "string") {
|
|
876
|
-
value.v = (_r = $input === null || $input === void 0 ? void 0 : $input.innerText) !== null && _r !== void 0 ? _r : url;
|
|
877
|
-
}
|
|
878
|
-
if (value.m == null) {
|
|
879
|
-
value.m = value.v;
|
|
880
|
-
}
|
|
881
|
-
if (value.fc == null) value.fc = "rgb(0, 0, 255)";
|
|
882
|
-
if (value.un == null) value.un = 1;
|
|
883
|
-
}
|
|
884
839
|
setCellValue(ctx, r, c, d, value);
|
|
885
840
|
cancelNormalSelected(ctx);
|
|
886
841
|
if ((curv === null || curv === void 0 ? void 0 : curv.tb) === "2" && curv.v || (0, _inlineString.isInlineStringCell)(d[r][c])) {
|
|
887
842
|
var defaultrowlen = ctx.defaultrowlen;
|
|
888
843
|
var cfg = ctx.luckysheetfile[(0, _utils.getSheetIndex)(ctx, ctx.currentSheetId)].config || {};
|
|
889
|
-
if (!(((
|
|
890
|
-
var cellWidth = ((
|
|
844
|
+
if (!(((_r = cfg.columnlen) === null || _r === void 0 ? void 0 : _r[c]) && ((_s = cfg.rowlen) === null || _s === void 0 ? void 0 : _s[r]))) {
|
|
845
|
+
var cellWidth = ((_t = cfg.columnlen) === null || _t === void 0 ? void 0 : _t[c]) || ctx.defaultcollen;
|
|
891
846
|
var textInfo = canvas ? (0, _text.getCellTextInfo)(d[r][c], canvas, ctx, {
|
|
892
847
|
r: r,
|
|
893
848
|
c: c,
|
|
@@ -898,7 +853,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
898
853
|
currentRowLen = textInfo.textHeightAll + 2;
|
|
899
854
|
}
|
|
900
855
|
var previousRowHeight = (0, _api.getRowHeight)(ctx, [r])[r];
|
|
901
|
-
if (currentRowLen > defaultrowlen && !((
|
|
856
|
+
if (currentRowLen > defaultrowlen && !((_u = cfg.customHeight) === null || _u === void 0 ? void 0 : _u[r]) && previousRowHeight < currentRowLen) {
|
|
902
857
|
if (_lodash.default.isNil(cfg.rowlen)) cfg.rowlen = {};
|
|
903
858
|
cfg.rowlen[r] = currentRowLen;
|
|
904
859
|
}
|
package/lib/modules/merge.js
CHANGED
|
@@ -104,115 +104,114 @@ function mergeCells(ctx, sheetId, ranges, type) {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
107
|
+
}
|
|
108
|
+
for (var i = 0; i < ranges.length; i += 1) {
|
|
109
|
+
var range = ranges[i];
|
|
110
|
+
var r1 = range.row[0];
|
|
111
|
+
var r2 = range.row[1];
|
|
112
|
+
var c1 = range.column[0];
|
|
113
|
+
var c2 = range.column[1];
|
|
114
|
+
if (r1 === r2 && c1 === c2) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
if (type === "merge-all") {
|
|
118
|
+
var fv = {};
|
|
119
|
+
var isfirst = false;
|
|
120
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
121
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
122
|
+
var cell = d[r][c];
|
|
123
|
+
if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_a = cell.ct.s) === null || _a === void 0 ? void 0 : _a.length)) && !isfirst) {
|
|
124
|
+
fv = _lodash.default.cloneDeep(cell);
|
|
125
|
+
isfirst = true;
|
|
126
|
+
}
|
|
127
|
+
d[r][c] = {
|
|
128
|
+
mc: {
|
|
129
|
+
r: r1,
|
|
130
|
+
c: c1
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
116
134
|
}
|
|
117
|
-
|
|
135
|
+
d[r1][c1] = fv;
|
|
136
|
+
var a = d[r1][c1];
|
|
137
|
+
if (!a) return;
|
|
138
|
+
a.mc = {
|
|
139
|
+
r: r1,
|
|
140
|
+
c: c1,
|
|
141
|
+
rs: r2 - r1 + 1,
|
|
142
|
+
cs: c2 - c1 + 1
|
|
143
|
+
};
|
|
144
|
+
cfg.merge["".concat(r1, "_").concat(c1)] = {
|
|
145
|
+
r: r1,
|
|
146
|
+
c: c1,
|
|
147
|
+
rs: r2 - r1 + 1,
|
|
148
|
+
cs: c2 - c1 + 1
|
|
149
|
+
};
|
|
150
|
+
} else if (type === "merge-vertical") {
|
|
151
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
118
152
|
var fv = {};
|
|
119
153
|
var isfirst = false;
|
|
120
154
|
for (var r = r1; r <= r2; r += 1) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
isfirst = true;
|
|
126
|
-
}
|
|
127
|
-
d[r][c] = {
|
|
128
|
-
mc: {
|
|
129
|
-
r: r1,
|
|
130
|
-
c: c1
|
|
131
|
-
}
|
|
132
|
-
};
|
|
155
|
+
var cell = d[r][c];
|
|
156
|
+
if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
|
|
157
|
+
fv = _lodash.default.cloneDeep(cell);
|
|
158
|
+
isfirst = true;
|
|
133
159
|
}
|
|
160
|
+
d[r][c] = {
|
|
161
|
+
mc: {
|
|
162
|
+
r: r1,
|
|
163
|
+
c: c
|
|
164
|
+
}
|
|
165
|
+
};
|
|
134
166
|
}
|
|
135
|
-
d[r1][
|
|
136
|
-
var a = d[r1][
|
|
167
|
+
d[r1][c] = fv;
|
|
168
|
+
var a = d[r1][c];
|
|
137
169
|
if (!a) return;
|
|
138
170
|
a.mc = {
|
|
139
171
|
r: r1,
|
|
140
|
-
c:
|
|
172
|
+
c: c,
|
|
141
173
|
rs: r2 - r1 + 1,
|
|
142
|
-
cs:
|
|
174
|
+
cs: 1
|
|
143
175
|
};
|
|
144
|
-
cfg.merge["".concat(r1, "_").concat(
|
|
176
|
+
cfg.merge["".concat(r1, "_").concat(c)] = {
|
|
145
177
|
r: r1,
|
|
146
|
-
c:
|
|
178
|
+
c: c,
|
|
147
179
|
rs: r2 - r1 + 1,
|
|
148
|
-
cs:
|
|
180
|
+
cs: 1
|
|
149
181
|
};
|
|
150
|
-
}
|
|
182
|
+
}
|
|
183
|
+
} else if (type === "merge-horizontal") {
|
|
184
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
185
|
+
var fv = {};
|
|
186
|
+
var isfirst = false;
|
|
151
187
|
for (var c = c1; c <= c2; c += 1) {
|
|
152
|
-
var
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_b = cell.ct.s) === null || _b === void 0 ? void 0 : _b.length)) && !isfirst) {
|
|
157
|
-
fv = _lodash.default.cloneDeep(cell);
|
|
158
|
-
isfirst = true;
|
|
159
|
-
}
|
|
160
|
-
d[r][c] = {
|
|
161
|
-
mc: {
|
|
162
|
-
r: r1,
|
|
163
|
-
c: c
|
|
164
|
-
}
|
|
165
|
-
};
|
|
188
|
+
var cell = d[r][c];
|
|
189
|
+
if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
|
|
190
|
+
fv = _lodash.default.cloneDeep(cell);
|
|
191
|
+
isfirst = true;
|
|
166
192
|
}
|
|
167
|
-
d[
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
r: r1,
|
|
172
|
-
c: c,
|
|
173
|
-
rs: r2 - r1 + 1,
|
|
174
|
-
cs: 1
|
|
175
|
-
};
|
|
176
|
-
cfg.merge["".concat(r1, "_").concat(c)] = {
|
|
177
|
-
r: r1,
|
|
178
|
-
c: c,
|
|
179
|
-
rs: r2 - r1 + 1,
|
|
180
|
-
cs: 1
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
} else if (type === "merge-horizontal") {
|
|
184
|
-
for (var r = r1; r <= r2; r += 1) {
|
|
185
|
-
var fv = {};
|
|
186
|
-
var isfirst = false;
|
|
187
|
-
for (var c = c1; c <= c2; c += 1) {
|
|
188
|
-
var cell = d[r][c];
|
|
189
|
-
if (cell != null && ((0, _inlineString.isInlineStringCT)(cell.ct) || !_lodash.default.isEmpty(cell.v) || cell.f != null || cell.s != null || cell.ct && ((_c = cell.ct.s) === null || _c === void 0 ? void 0 : _c.length)) && !isfirst) {
|
|
190
|
-
fv = _lodash.default.cloneDeep(cell);
|
|
191
|
-
isfirst = true;
|
|
193
|
+
d[r][c] = {
|
|
194
|
+
mc: {
|
|
195
|
+
r: r,
|
|
196
|
+
c: c1
|
|
192
197
|
}
|
|
193
|
-
d[r][c] = {
|
|
194
|
-
mc: {
|
|
195
|
-
r: r,
|
|
196
|
-
c: c1
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
d[r][c1] = fv;
|
|
201
|
-
var a = d[r][c1];
|
|
202
|
-
if (!a) return;
|
|
203
|
-
a.mc = {
|
|
204
|
-
r: r,
|
|
205
|
-
c: c1,
|
|
206
|
-
rs: 1,
|
|
207
|
-
cs: c2 - c1 + 1
|
|
208
|
-
};
|
|
209
|
-
cfg.merge["".concat(r, "_").concat(c1)] = {
|
|
210
|
-
r: r,
|
|
211
|
-
c: c1,
|
|
212
|
-
rs: 1,
|
|
213
|
-
cs: c2 - c1 + 1
|
|
214
198
|
};
|
|
215
199
|
}
|
|
200
|
+
d[r][c1] = fv;
|
|
201
|
+
var a = d[r][c1];
|
|
202
|
+
if (!a) return;
|
|
203
|
+
a.mc = {
|
|
204
|
+
r: r,
|
|
205
|
+
c: c1,
|
|
206
|
+
rs: 1,
|
|
207
|
+
cs: c2 - c1 + 1
|
|
208
|
+
};
|
|
209
|
+
cfg.merge["".concat(r, "_").concat(c1)] = {
|
|
210
|
+
r: r,
|
|
211
|
+
c: c1,
|
|
212
|
+
rs: 1,
|
|
213
|
+
cs: c2 - c1 + 1
|
|
214
|
+
};
|
|
216
215
|
}
|
|
217
216
|
}
|
|
218
217
|
}
|