@fileverse-dev/fortune-core 1.2.65 → 1.2.67-smart-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/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 +4 -1
- package/es/modules/formula.d.ts +1 -1
- package/es/modules/formula.js +3 -5
- package/es/modules/merge.js +89 -90
- package/es/paste-table-helpers.js +8 -0
- 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 +4 -1
- package/lib/modules/formula.d.ts +1 -1
- package/lib/modules/formula.js +3 -5
- package/lib/modules/merge.js +89 -90
- package/lib/paste-table-helpers.js +8 -0
- package/package.json +1 -1
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
|
@@ -541,6 +541,9 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
541
541
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
542
542
|
if (ctx.allowEdit === false || ctx.isFlvReadOnly) return;
|
|
543
543
|
var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
|
|
544
|
+
if (inputText === null || inputText === void 0 ? void 0 : inputText.startsWith("=")) {
|
|
545
|
+
inputText = inputText === null || inputText === void 0 ? void 0 : inputText.replace(/[\r\n]/g, "");
|
|
546
|
+
}
|
|
544
547
|
var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
|
|
545
548
|
var flowdata = getFlowdata(ctx);
|
|
546
549
|
if (!flowdata) return;
|
|
@@ -606,7 +609,7 @@ export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
606
609
|
}];
|
|
607
610
|
}
|
|
608
611
|
}
|
|
609
|
-
value = value ||
|
|
612
|
+
value = value || inputText;
|
|
610
613
|
var shouldClearError = (oldValue === null || oldValue === void 0 ? void 0 : oldValue.f) ? oldValue.f !== value : (oldValue === null || oldValue === void 0 ? void 0 : oldValue.v) !== value;
|
|
611
614
|
if (shouldClearError) {
|
|
612
615
|
clearCellError(ctx, r, c);
|
package/es/modules/formula.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare function createFormulaRangeSelect(ctx: Context, select: {
|
|
|
40
40
|
} & Rect): void;
|
|
41
41
|
export declare function createRangeHightlight(ctx: Context, inputInnerHtmlStr: string, ignoreRangeIndex?: number): void;
|
|
42
42
|
export declare function moveCursorToEnd(editableDiv: HTMLDivElement): void;
|
|
43
|
-
export declare function setCaretPosition(ctx: Context, textDom: HTMLElement, children: number, pos: number): void;
|
|
43
|
+
export declare function setCaretPosition(ctx: Context, textDom: HTMLElement, children: number, pos: number, parentTextDom?: HTMLElement): void;
|
|
44
44
|
export declare function getrangeseleciton(): ParentNode | ChildNode | null | undefined;
|
|
45
45
|
export declare function rangeHightlightselected(ctx: Context, $editor: HTMLDivElement): void;
|
|
46
46
|
export declare function functionHTMLGenerate(txt: string): string;
|
package/es/modules/formula.js
CHANGED
|
@@ -1254,7 +1254,7 @@ export function moveCursorToEnd(editableDiv) {
|
|
|
1254
1254
|
selection.addRange(range);
|
|
1255
1255
|
}
|
|
1256
1256
|
}
|
|
1257
|
-
export function setCaretPosition(ctx, textDom, children, pos) {
|
|
1257
|
+
export function setCaretPosition(ctx, textDom, children, pos, parentTextDom) {
|
|
1258
1258
|
var _a, _b;
|
|
1259
1259
|
try {
|
|
1260
1260
|
var el = textDom;
|
|
@@ -1274,9 +1274,7 @@ export function setCaretPosition(ctx, textDom, children, pos) {
|
|
|
1274
1274
|
el.focus();
|
|
1275
1275
|
} catch (err) {
|
|
1276
1276
|
console.error(err);
|
|
1277
|
-
|
|
1278
|
-
moveCursorToEnd(textDom);
|
|
1279
|
-
}, 10);
|
|
1277
|
+
moveCursorToEnd(parentTextDom);
|
|
1280
1278
|
}
|
|
1281
1279
|
}
|
|
1282
1280
|
function functionRange(ctx, obj, v, vp) {
|
|
@@ -1288,7 +1286,7 @@ function functionRange(ctx, obj, v, vp) {
|
|
|
1288
1286
|
currSelection.selectAllChildren(obj);
|
|
1289
1287
|
currSelection.collapseToEnd();
|
|
1290
1288
|
} else {
|
|
1291
|
-
setCaretPosition(ctx, obj.querySelectorAll("span")[fri[0]], 0, fri[1]);
|
|
1289
|
+
setCaretPosition(ctx, obj.querySelectorAll("span")[fri[0]], 0, fri[1], obj);
|
|
1292
1290
|
}
|
|
1293
1291
|
} else if (document.selection) {
|
|
1294
1292
|
ctx.formulaCache.functionRangeIndex.moveToElementText(obj);
|
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
|
}
|
|
@@ -284,6 +284,14 @@ export function handlePastedTable(ctx, html, pasteHandler) {
|
|
|
284
284
|
pastedMatrix[localRowIndex][localColIndex] = cell;
|
|
285
285
|
if (hyperlink) {
|
|
286
286
|
saveHyperlink(ctx, absoluteRow, absoluteCol, hyperlink.href, "webpage", hyperlink.display);
|
|
287
|
+
cell.hl = {
|
|
288
|
+
r: absoluteRow,
|
|
289
|
+
c: absoluteCol,
|
|
290
|
+
id: ctx.currentSheetId
|
|
291
|
+
};
|
|
292
|
+
cell.fc = "rgb(0, 0, 255)";
|
|
293
|
+
cell.un = 1;
|
|
294
|
+
pastedMatrix[localRowIndex][localColIndex] = cell;
|
|
287
295
|
}
|
|
288
296
|
applyBordersAndMerges(tdElement, localRowIndex, localColIndex, absoluteRow, absoluteCol, rowspan, colspan, pasteBorderInfo, pastedMatrix);
|
|
289
297
|
if (rowspan > 1 || colspan > 1) {
|
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
|
@@ -574,6 +574,9 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
574
574
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
575
575
|
if (ctx.allowEdit === false || ctx.isFlvReadOnly) return;
|
|
576
576
|
var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
|
|
577
|
+
if (inputText === null || inputText === void 0 ? void 0 : inputText.startsWith("=")) {
|
|
578
|
+
inputText = inputText === null || inputText === void 0 ? void 0 : inputText.replace(/[\r\n]/g, "");
|
|
579
|
+
}
|
|
577
580
|
var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
|
|
578
581
|
var flowdata = (0, _context.getFlowdata)(ctx);
|
|
579
582
|
if (!flowdata) return;
|
|
@@ -639,7 +642,7 @@ function updateCell(ctx, r, c, $input, value, canvas) {
|
|
|
639
642
|
}];
|
|
640
643
|
}
|
|
641
644
|
}
|
|
642
|
-
value = value ||
|
|
645
|
+
value = value || inputText;
|
|
643
646
|
var shouldClearError = (oldValue === null || oldValue === void 0 ? void 0 : oldValue.f) ? oldValue.f !== value : (oldValue === null || oldValue === void 0 ? void 0 : oldValue.v) !== value;
|
|
644
647
|
if (shouldClearError) {
|
|
645
648
|
(0, _api.clearCellError)(ctx, r, c);
|
package/lib/modules/formula.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare function createFormulaRangeSelect(ctx: Context, select: {
|
|
|
40
40
|
} & Rect): void;
|
|
41
41
|
export declare function createRangeHightlight(ctx: Context, inputInnerHtmlStr: string, ignoreRangeIndex?: number): void;
|
|
42
42
|
export declare function moveCursorToEnd(editableDiv: HTMLDivElement): void;
|
|
43
|
-
export declare function setCaretPosition(ctx: Context, textDom: HTMLElement, children: number, pos: number): void;
|
|
43
|
+
export declare function setCaretPosition(ctx: Context, textDom: HTMLElement, children: number, pos: number, parentTextDom?: HTMLElement): void;
|
|
44
44
|
export declare function getrangeseleciton(): ParentNode | ChildNode | null | undefined;
|
|
45
45
|
export declare function rangeHightlightselected(ctx: Context, $editor: HTMLDivElement): void;
|
|
46
46
|
export declare function functionHTMLGenerate(txt: string): string;
|
package/lib/modules/formula.js
CHANGED
|
@@ -1284,7 +1284,7 @@ function moveCursorToEnd(editableDiv) {
|
|
|
1284
1284
|
selection.addRange(range);
|
|
1285
1285
|
}
|
|
1286
1286
|
}
|
|
1287
|
-
function setCaretPosition(ctx, textDom, children, pos) {
|
|
1287
|
+
function setCaretPosition(ctx, textDom, children, pos, parentTextDom) {
|
|
1288
1288
|
var _a, _b;
|
|
1289
1289
|
try {
|
|
1290
1290
|
var el = textDom;
|
|
@@ -1304,9 +1304,7 @@ function setCaretPosition(ctx, textDom, children, pos) {
|
|
|
1304
1304
|
el.focus();
|
|
1305
1305
|
} catch (err) {
|
|
1306
1306
|
console.error(err);
|
|
1307
|
-
|
|
1308
|
-
moveCursorToEnd(textDom);
|
|
1309
|
-
}, 10);
|
|
1307
|
+
moveCursorToEnd(parentTextDom);
|
|
1310
1308
|
}
|
|
1311
1309
|
}
|
|
1312
1310
|
function functionRange(ctx, obj, v, vp) {
|
|
@@ -1318,7 +1316,7 @@ function functionRange(ctx, obj, v, vp) {
|
|
|
1318
1316
|
currSelection.selectAllChildren(obj);
|
|
1319
1317
|
currSelection.collapseToEnd();
|
|
1320
1318
|
} else {
|
|
1321
|
-
setCaretPosition(ctx, obj.querySelectorAll("span")[fri[0]], 0, fri[1]);
|
|
1319
|
+
setCaretPosition(ctx, obj.querySelectorAll("span")[fri[0]], 0, fri[1], obj);
|
|
1322
1320
|
}
|
|
1323
1321
|
} else if (document.selection) {
|
|
1324
1322
|
ctx.formulaCache.functionRangeIndex.moveToElementText(obj);
|
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
|
}
|
|
@@ -292,6 +292,14 @@ function handlePastedTable(ctx, html, pasteHandler) {
|
|
|
292
292
|
pastedMatrix[localRowIndex][localColIndex] = cell;
|
|
293
293
|
if (hyperlink) {
|
|
294
294
|
(0, _modules.saveHyperlink)(ctx, absoluteRow, absoluteCol, hyperlink.href, "webpage", hyperlink.display);
|
|
295
|
+
cell.hl = {
|
|
296
|
+
r: absoluteRow,
|
|
297
|
+
c: absoluteCol,
|
|
298
|
+
id: ctx.currentSheetId
|
|
299
|
+
};
|
|
300
|
+
cell.fc = "rgb(0, 0, 255)";
|
|
301
|
+
cell.un = 1;
|
|
302
|
+
pastedMatrix[localRowIndex][localColIndex] = cell;
|
|
295
303
|
}
|
|
296
304
|
applyBordersAndMerges(tdElement, localRowIndex, localColIndex, absoluteRow, absoluteCol, rowspan, colspan, pasteBorderInfo, pastedMatrix);
|
|
297
305
|
if (rowspan > 1 || colspan > 1) {
|