@leankylin-sheet/core 5.2.32 → 5.2.34
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/dist/api/cell.d.ts +6 -0
- package/dist/api/sheet.d.ts +2 -1
- package/dist/index.esm.js +350 -69
- package/dist/index.js +350 -69
- package/dist/modules/formula.d.ts +1 -1
- package/package.json +2 -2
package/dist/api/cell.d.ts
CHANGED
|
@@ -5,6 +5,12 @@ export declare function getCellValue(ctx: Context, row: number, column: number,
|
|
|
5
5
|
type?: keyof Cell;
|
|
6
6
|
}): any;
|
|
7
7
|
export declare function setCellValue(ctx: Context, row: number, column: number, value: any, cellInput: HTMLDivElement | null, options?: CommonOptions): void;
|
|
8
|
+
export declare function setCellValueInBatch(ctx: Context, sheet: any, row: number, column: number, value: any, cellInput: HTMLDivElement | null, formulaCells: Array<{
|
|
9
|
+
r: number;
|
|
10
|
+
c: number;
|
|
11
|
+
f: string;
|
|
12
|
+
ct?: any;
|
|
13
|
+
}>): void;
|
|
8
14
|
export declare function clearCell(ctx: Context, row: number, column: number, options?: CommonOptions): void;
|
|
9
15
|
export declare function setCellFormat(ctx: Context, row: number, column: number, attr: keyof Cell, value: any, options?: CommonOptions): void;
|
|
10
16
|
export declare function autoFillCell(ctx: Context, copyRange: SingleRange, applyRange: SingleRange, direction: "up" | "down" | "left" | "right"): void;
|
package/dist/api/sheet.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export declare function hideSheet(ctx: Context, sheetId: string): void;
|
|
|
9
9
|
export declare function showSheet(ctx: Context, sheetId: string): void;
|
|
10
10
|
export declare function copySheet(ctx: Context, sheetId: string, hooks: Hooks): void;
|
|
11
11
|
export declare function calculateSheetFromula(ctx: Context, id: string, isrefresh: boolean): void;
|
|
12
|
-
export declare function
|
|
12
|
+
export declare function updateFunctionGroupBySheetId(ctx: Context, id: string): void;
|
|
13
|
+
export declare function updateFunctionGroup(ctx: Context, id?: string): void;
|
|
13
14
|
export declare function calculateSheetByCells(ctx: Context, cells: {
|
|
14
15
|
r: number;
|
|
15
16
|
c: number;
|
package/dist/index.esm.js
CHANGED
|
@@ -36162,7 +36162,7 @@ function execfunction(ctx, txt, r, c, id, isrefresh, notInsertFunc) {
|
|
|
36162
36162
|
f: txt
|
|
36163
36163
|
};else data[r][c].f = txt;
|
|
36164
36164
|
}
|
|
36165
|
-
execFunctionGroup(ctx, r, c, _.isNil(formulaError) ? result : formulaError, id);
|
|
36165
|
+
execFunctionGroup(ctx, r, c, _.isNil(formulaError) ? result : formulaError, id, false, notInsertFunc);
|
|
36166
36166
|
if (!hadFormulaField && data && data[r] && data[r][c]) {
|
|
36167
36167
|
delete data[r][c].f;
|
|
36168
36168
|
}
|
|
@@ -36226,6 +36226,8 @@ function groupValuesRefresh(ctx) {
|
|
|
36226
36226
|
}
|
|
36227
36227
|
function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
36228
36228
|
var isForce = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
36229
|
+
var notInsertFunc = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : true;
|
|
36230
|
+
console.time('execFunctionGroup-before');
|
|
36229
36231
|
if (_.isNil(data)) {
|
|
36230
36232
|
data = getFlowdata(ctx);
|
|
36231
36233
|
}
|
|
@@ -36263,6 +36265,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36263
36265
|
updateValueOjects[_key] = 1;
|
|
36264
36266
|
}
|
|
36265
36267
|
}
|
|
36268
|
+
console.time('arrayMatchCache');
|
|
36266
36269
|
var arrayMatchCache = {};
|
|
36267
36270
|
var arrayMatch = function arrayMatch(formulaArray, _formulaObjects, _updateValueOjects, func) {
|
|
36268
36271
|
for (var a = 0; a < formulaArray.length; a += 1) {
|
|
@@ -36295,6 +36298,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36295
36298
|
}
|
|
36296
36299
|
}
|
|
36297
36300
|
};
|
|
36301
|
+
console.timeEnd('arrayMatchCache');
|
|
36302
|
+
console.time('cache1');
|
|
36298
36303
|
var _loop = function _loop() {
|
|
36299
36304
|
var formulaCell = calcChains[_i12];
|
|
36300
36305
|
var key = "r".concat(formulaCell.r, "c").concat(formulaCell.c, "i").concat(formulaCell.id);
|
|
@@ -36397,6 +36402,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36397
36402
|
for (var _i12 = 0; _i12 < calcChains.length; _i12 += 1) {
|
|
36398
36403
|
if (_loop()) continue;
|
|
36399
36404
|
}
|
|
36405
|
+
console.timeEnd('cache1');
|
|
36406
|
+
console.time('cache2');
|
|
36400
36407
|
Object.keys(formulaObjects).forEach(function (key) {
|
|
36401
36408
|
var formulaObject = formulaObjects[key];
|
|
36402
36409
|
arrayMatch(formulaObject.formulaArray, formulaObjects, updateValueOjects, function (childKey) {
|
|
@@ -36413,6 +36420,8 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36413
36420
|
updateValueArray.push(formulaObject);
|
|
36414
36421
|
}
|
|
36415
36422
|
});
|
|
36423
|
+
console.timeEnd('cache2');
|
|
36424
|
+
console.time('dev');
|
|
36416
36425
|
var visited = {};
|
|
36417
36426
|
var inStack = {};
|
|
36418
36427
|
var circularNodes = {};
|
|
@@ -36475,6 +36484,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36475
36484
|
}
|
|
36476
36485
|
});
|
|
36477
36486
|
}
|
|
36487
|
+
console.timeEnd('dev');
|
|
36478
36488
|
var formulaRunList = [];
|
|
36479
36489
|
var stack = updateValueArray;
|
|
36480
36490
|
var existsFormulaRunList = {};
|
|
@@ -36510,13 +36520,16 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36510
36520
|
if (_ret === 0) continue;
|
|
36511
36521
|
}
|
|
36512
36522
|
formulaRunList.reverse();
|
|
36523
|
+
console.timeEnd('execFunctionGroup-before');
|
|
36524
|
+
console.time('formulaRunList');
|
|
36525
|
+
console.log('formulaRunList', formulaRunList);
|
|
36513
36526
|
for (var _i14 = 0; _i14 < formulaRunList.length; _i14 += 1) {
|
|
36514
36527
|
var formulaCell = formulaRunList[_i14];
|
|
36515
36528
|
if (formulaCell.level === Math.max) {
|
|
36516
36529
|
continue;
|
|
36517
36530
|
}
|
|
36518
36531
|
var calc_funcStr = formulaCell.calc_funcStr;
|
|
36519
|
-
var v = execfunction(ctx, calc_funcStr, formulaCell.r, formulaCell.c, formulaCell.id);
|
|
36532
|
+
var v = execfunction(ctx, calc_funcStr, formulaCell.r, formulaCell.c, formulaCell.id, false, notInsertFunc);
|
|
36520
36533
|
ctx.groupValuesRefreshData.push({
|
|
36521
36534
|
r: formulaCell.r,
|
|
36522
36535
|
c: formulaCell.c,
|
|
@@ -36530,6 +36543,7 @@ function execFunctionGroup(ctx, origin_r, origin_c, value, id, data) {
|
|
|
36530
36543
|
f: v[2]
|
|
36531
36544
|
};
|
|
36532
36545
|
}
|
|
36546
|
+
console.timeEnd('formulaRunList');
|
|
36533
36547
|
ctx.formulaCache.execFunctionExist = undefined;
|
|
36534
36548
|
}
|
|
36535
36549
|
function findrangeindex(ctx, v, vp) {
|
|
@@ -40495,7 +40509,7 @@ function updateCell(ctx, r, c, $input, value, canvas, sheetId) {
|
|
|
40495
40509
|
} else {
|
|
40496
40510
|
var _d$r3;
|
|
40497
40511
|
delFunctionGroup(ctx, r, c);
|
|
40498
|
-
execFunctionGroup(ctx, r, c, value);
|
|
40512
|
+
execFunctionGroup(ctx, r, c, value, undefined, undefined, false, false);
|
|
40499
40513
|
curv = _.cloneDeep((d === null || d === void 0 ? void 0 : (_d$r3 = d[r]) === null || _d$r3 === void 0 ? void 0 : _d$r3[c]) || {});
|
|
40500
40514
|
curv.v = value;
|
|
40501
40515
|
delete curv.f;
|
|
@@ -40554,7 +40568,7 @@ function updateCell(ctx, r, c, $input, value, canvas, sheetId) {
|
|
|
40554
40568
|
}
|
|
40555
40569
|
} else {
|
|
40556
40570
|
delFunctionGroup(ctx, r, c);
|
|
40557
|
-
execFunctionGroup(ctx, r, c, value);
|
|
40571
|
+
execFunctionGroup(ctx, r, c, value, undefined, undefined, false, false);
|
|
40558
40572
|
}
|
|
40559
40573
|
}
|
|
40560
40574
|
setCellValue(ctx, r, c, d, value);
|
|
@@ -42536,7 +42550,7 @@ function copy(ctx) {
|
|
|
42536
42550
|
}
|
|
42537
42551
|
cpString += "</tr>";
|
|
42538
42552
|
}
|
|
42539
|
-
var result = "<table border=\"1\" style=\"border-collapse:collapse\" data-type=\"leankylin-copy-action-table\">".concat(cpString, "</table>");
|
|
42553
|
+
var result = "<table border=\"1\" style=\"border-collapse:collapse; font-size: 13px\" data-type=\"leankylin-copy-action-table\">".concat(cpString, "</table>");
|
|
42540
42554
|
clipboard.writeHtml(result);
|
|
42541
42555
|
}
|
|
42542
42556
|
function copy2(ctx) {
|
|
@@ -42610,9 +42624,7 @@ function deepClear(ctx) {
|
|
|
42610
42624
|
var _d$r2;
|
|
42611
42625
|
var cell = d === null || d === void 0 ? void 0 : (_d$r2 = d[r]) === null || _d$r2 === void 0 ? void 0 : _d$r2[c];
|
|
42612
42626
|
d[r][c] = null;
|
|
42613
|
-
if ((cell === null || cell === void 0 ? void 0 : cell.f) != null)
|
|
42614
|
-
delFunctionGroup(ctx, r, c, ctx.currentSheetId);
|
|
42615
|
-
}
|
|
42627
|
+
if ((cell === null || cell === void 0 ? void 0 : cell.f) != null) ;
|
|
42616
42628
|
if (hyperlinkMap && hyperlinkMap["".concat(r, "_").concat(c)]) {
|
|
42617
42629
|
delete hyperlinkMap["".concat(r, "_").concat(c)];
|
|
42618
42630
|
}
|
|
@@ -42620,6 +42632,7 @@ function deepClear(ctx) {
|
|
|
42620
42632
|
}
|
|
42621
42633
|
}
|
|
42622
42634
|
}
|
|
42635
|
+
updateFunctionGroup(ctx);
|
|
42623
42636
|
return "success";
|
|
42624
42637
|
}
|
|
42625
42638
|
function deleteSelectedCellText(ctx, deep) {
|
|
@@ -42662,7 +42675,6 @@ function deleteSelectedCellText(ctx, deep) {
|
|
|
42662
42675
|
delete cell.v;
|
|
42663
42676
|
if (cell.f != null) {
|
|
42664
42677
|
delete cell.f;
|
|
42665
|
-
delFunctionGroup(ctx, r, c, ctx.currentSheetId);
|
|
42666
42678
|
delete cell.spl;
|
|
42667
42679
|
}
|
|
42668
42680
|
if (cell.ct != null && cell.ct.t === "inlineStr") {
|
|
@@ -42677,6 +42689,9 @@ function deleteSelectedCellText(ctx, deep) {
|
|
|
42677
42689
|
}
|
|
42678
42690
|
}
|
|
42679
42691
|
}
|
|
42692
|
+
console.time('deleteSelectedCellText');
|
|
42693
|
+
updateFunctionGroup(ctx);
|
|
42694
|
+
console.timeEnd('deleteSelectedCellText');
|
|
42680
42695
|
}
|
|
42681
42696
|
return "success";
|
|
42682
42697
|
}
|
|
@@ -46733,29 +46748,39 @@ function calculateSheetFromula(ctx, id, isrefresh) {
|
|
|
46733
46748
|
}
|
|
46734
46749
|
console.timeEnd("calcTime:".concat(id));
|
|
46735
46750
|
}
|
|
46736
|
-
function
|
|
46751
|
+
function updateFunctionGroupBySheetId(ctx, id) {
|
|
46752
|
+
var _ctx$luckysheetfile$i, _ctx$luckysheetfile$i2, _ctx$luckysheetfile$i3;
|
|
46737
46753
|
var luckysheetfile = ctx.luckysheetfile;
|
|
46738
|
-
|
|
46739
|
-
|
|
46740
|
-
|
|
46741
|
-
|
|
46742
|
-
|
|
46743
|
-
for (var
|
|
46744
|
-
|
|
46745
|
-
|
|
46746
|
-
|
|
46747
|
-
continue;
|
|
46748
|
-
}
|
|
46749
|
-
var cc = {
|
|
46750
|
-
r: r,
|
|
46751
|
-
c: c,
|
|
46752
|
-
id: file.id,
|
|
46753
|
-
f: cell === null || cell === void 0 ? void 0 : cell.f
|
|
46754
|
-
};
|
|
46755
|
-
calcChain.push(cc);
|
|
46754
|
+
var index = getSheetIndex(ctx, id);
|
|
46755
|
+
var file = luckysheetfile[index];
|
|
46756
|
+
var calcChain = [];
|
|
46757
|
+
var rows = (_ctx$luckysheetfile$i = (_ctx$luckysheetfile$i2 = ctx.luckysheetfile[index]) === null || _ctx$luckysheetfile$i2 === void 0 ? void 0 : (_ctx$luckysheetfile$i3 = _ctx$luckysheetfile$i2.data) === null || _ctx$luckysheetfile$i3 === void 0 ? void 0 : _ctx$luckysheetfile$i3.length) !== null && _ctx$luckysheetfile$i !== void 0 ? _ctx$luckysheetfile$i : 0;
|
|
46758
|
+
for (var r = 0; r < rows; r += 1) {
|
|
46759
|
+
for (var c = 0; c < ctx.luckysheetfile[index].data[r].length; c += 1) {
|
|
46760
|
+
var cell = ctx.luckysheetfile[index].data[r][c];
|
|
46761
|
+
if (!(cell === null || cell === void 0 ? void 0 : cell.f)) {
|
|
46762
|
+
continue;
|
|
46756
46763
|
}
|
|
46764
|
+
var cc = {
|
|
46765
|
+
r: r,
|
|
46766
|
+
c: c,
|
|
46767
|
+
id: file.id,
|
|
46768
|
+
f: cell === null || cell === void 0 ? void 0 : cell.f
|
|
46769
|
+
};
|
|
46770
|
+
calcChain.push(cc);
|
|
46757
46771
|
}
|
|
46758
|
-
|
|
46772
|
+
}
|
|
46773
|
+
file.calcChain = calcChain;
|
|
46774
|
+
}
|
|
46775
|
+
function updateFunctionGroup(ctx, id) {
|
|
46776
|
+
if (id) {
|
|
46777
|
+
updateFunctionGroupBySheetId(ctx, id);
|
|
46778
|
+
return;
|
|
46779
|
+
}
|
|
46780
|
+
var luckysheetfile = ctx.luckysheetfile;
|
|
46781
|
+
for (var index = 0; index < luckysheetfile.length; index++) {
|
|
46782
|
+
var file = luckysheetfile[index];
|
|
46783
|
+
updateFunctionGroupBySheetId(ctx, file.id);
|
|
46759
46784
|
}
|
|
46760
46785
|
}
|
|
46761
46786
|
function parseCellReferences(expression) {
|
|
@@ -47617,8 +47642,11 @@ function runExecFunction(ctx, range, index, data) {
|
|
|
47617
47642
|
}
|
|
47618
47643
|
}
|
|
47619
47644
|
ctx.formulaCache.execFunctionExist.reverse();
|
|
47645
|
+
console.time('execFunctionGroup');
|
|
47620
47646
|
execFunctionGroup(ctx, null, null, null, null, data);
|
|
47647
|
+
console.timeEnd('execFunctionGroup');
|
|
47621
47648
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
47649
|
+
updateFunctionGroup(ctx);
|
|
47622
47650
|
}
|
|
47623
47651
|
function jfrefreshgrid(ctx, data, range) {
|
|
47624
47652
|
var isRunExecFunction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
@@ -47629,6 +47657,7 @@ function jfrefreshgrid(ctx, data, range) {
|
|
|
47629
47657
|
range = ctx.luckysheet_select_save;
|
|
47630
47658
|
if (range == null) return;
|
|
47631
47659
|
}
|
|
47660
|
+
console.log('isRunExecFunction', isRunExecFunction);
|
|
47632
47661
|
if (isRunExecFunction) {
|
|
47633
47662
|
runExecFunction(ctx, range, ctx.currentSheetId, data);
|
|
47634
47663
|
}
|
|
@@ -48894,8 +48923,9 @@ function autoSelectionFormula(ctx, cellInput, fxInput, formula, cache) {
|
|
|
48894
48923
|
});
|
|
48895
48924
|
if (!isfalse) {
|
|
48896
48925
|
ctx.formulaCache.execFunctionExist.reverse();
|
|
48897
|
-
execFunctionGroup(ctx, null, null, null, null, flowdata);
|
|
48926
|
+
execFunctionGroup(ctx, null, null, null, null, flowdata, false, false);
|
|
48898
48927
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
48928
|
+
updateFunctionGroup(ctx);
|
|
48899
48929
|
}
|
|
48900
48930
|
}
|
|
48901
48931
|
function cancelPaintModel(ctx) {
|
|
@@ -55926,6 +55956,23 @@ function getSheetWithLatestCelldata(ctx) {
|
|
|
55926
55956
|
});
|
|
55927
55957
|
}
|
|
55928
55958
|
|
|
55959
|
+
var FORMAT_LIST = {
|
|
55960
|
+
bg: 1,
|
|
55961
|
+
ff: 1,
|
|
55962
|
+
fc: 1,
|
|
55963
|
+
bl: 1,
|
|
55964
|
+
it: 1,
|
|
55965
|
+
fs: 1,
|
|
55966
|
+
cl: 1,
|
|
55967
|
+
un: 1,
|
|
55968
|
+
vt: 1,
|
|
55969
|
+
ht: 1,
|
|
55970
|
+
mc: 1,
|
|
55971
|
+
tr: 1,
|
|
55972
|
+
tb: 1,
|
|
55973
|
+
rt: 1,
|
|
55974
|
+
qp: 1
|
|
55975
|
+
};
|
|
55929
55976
|
function getCellValue$1(ctx, row, column) {
|
|
55930
55977
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
55931
55978
|
if (!_.isNumber(row) || !_.isNumber(column)) {
|
|
@@ -55965,23 +56012,7 @@ function setCellValue$1(ctx, row, column, value, cellInput) {
|
|
|
55965
56012
|
}
|
|
55966
56013
|
var sheet = getSheet(ctx, options);
|
|
55967
56014
|
var data = sheet.data;
|
|
55968
|
-
var formatList =
|
|
55969
|
-
bg: 1,
|
|
55970
|
-
ff: 1,
|
|
55971
|
-
fc: 1,
|
|
55972
|
-
bl: 1,
|
|
55973
|
-
it: 1,
|
|
55974
|
-
fs: 1,
|
|
55975
|
-
cl: 1,
|
|
55976
|
-
un: 1,
|
|
55977
|
-
vt: 1,
|
|
55978
|
-
ht: 1,
|
|
55979
|
-
mc: 1,
|
|
55980
|
-
tr: 1,
|
|
55981
|
-
tb: 1,
|
|
55982
|
-
rt: 1,
|
|
55983
|
-
qp: 1
|
|
55984
|
-
};
|
|
56015
|
+
var formatList = FORMAT_LIST;
|
|
55985
56016
|
if (value == null || value.toString().length === 0) {
|
|
55986
56017
|
delFunctionGroup(ctx, row, column);
|
|
55987
56018
|
setCellValue(ctx, row, column, data, value);
|
|
@@ -56058,6 +56089,165 @@ function setCellValue$1(ctx, row, column, value, cellInput) {
|
|
|
56058
56089
|
}
|
|
56059
56090
|
}
|
|
56060
56091
|
}
|
|
56092
|
+
function setCellValueInBatch(ctx, sheet, row, column, value, cellInput, formulaCells) {
|
|
56093
|
+
var data = sheet.data;
|
|
56094
|
+
var sheetId = sheet.id;
|
|
56095
|
+
if (value == null || value.toString().length === 0) {
|
|
56096
|
+
delFunctionGroup(ctx, row, column, sheetId);
|
|
56097
|
+
setCellValue(ctx, row, column, data, value);
|
|
56098
|
+
return;
|
|
56099
|
+
}
|
|
56100
|
+
if (value instanceof Object) {
|
|
56101
|
+
var _data$row2;
|
|
56102
|
+
var curv = {};
|
|
56103
|
+
if (!(data === null || data === void 0 ? void 0 : data[row])) {
|
|
56104
|
+
var needAddRow = row - ((data === null || data === void 0 ? void 0 : data.length) || 0) + 1;
|
|
56105
|
+
data === null || data === void 0 ? void 0 : data.push.apply(data, _toConsumableArray(Array.from({
|
|
56106
|
+
length: needAddRow
|
|
56107
|
+
}).map(function () {
|
|
56108
|
+
return [];
|
|
56109
|
+
})));
|
|
56110
|
+
}
|
|
56111
|
+
if ((data === null || data === void 0 ? void 0 : (_data$row2 = data[row]) === null || _data$row2 === void 0 ? void 0 : _data$row2[column]) == null) {
|
|
56112
|
+
data[row][column] = {};
|
|
56113
|
+
}
|
|
56114
|
+
var cell = data[row][column];
|
|
56115
|
+
if (value.f != null && value.v == null) {
|
|
56116
|
+
curv.f = value.f;
|
|
56117
|
+
if (value.ct != null) {
|
|
56118
|
+
curv.ct = value.ct;
|
|
56119
|
+
}
|
|
56120
|
+
Object.assign(cell, curv);
|
|
56121
|
+
if (_.isString(value.f)) {
|
|
56122
|
+
formulaCells.push({
|
|
56123
|
+
r: row,
|
|
56124
|
+
c: column,
|
|
56125
|
+
f: value.f,
|
|
56126
|
+
ct: value.ct
|
|
56127
|
+
});
|
|
56128
|
+
} else {
|
|
56129
|
+
updateCell(ctx, row, column, cellInput, curv);
|
|
56130
|
+
}
|
|
56131
|
+
} else {
|
|
56132
|
+
var needupdateFdev = false;
|
|
56133
|
+
var needUpdateM = false;
|
|
56134
|
+
var oldF = cell.f;
|
|
56135
|
+
var nf = value.f;
|
|
56136
|
+
var oldV = cell.v;
|
|
56137
|
+
var nv = value.v;
|
|
56138
|
+
if (value.ct != null) {
|
|
56139
|
+
curv.ct = value.ct;
|
|
56140
|
+
}
|
|
56141
|
+
if (value.f != null) {
|
|
56142
|
+
curv.f = value.f;
|
|
56143
|
+
}
|
|
56144
|
+
if (value.v != null) {
|
|
56145
|
+
curv.v = value.v;
|
|
56146
|
+
} else {
|
|
56147
|
+
curv.v = cell.v;
|
|
56148
|
+
}
|
|
56149
|
+
if (value.m != null) {
|
|
56150
|
+
curv.m = value.m;
|
|
56151
|
+
}
|
|
56152
|
+
if (nf !== undefined && nf !== oldF) {
|
|
56153
|
+
needupdateFdev = true;
|
|
56154
|
+
needUpdateM = true;
|
|
56155
|
+
}
|
|
56156
|
+
if (nv !== undefined && String(nv) !== String(oldV)) {
|
|
56157
|
+
needUpdateM = true;
|
|
56158
|
+
}
|
|
56159
|
+
if (needupdateFdev) {
|
|
56160
|
+
delFunctionGroup(ctx, row, column, sheetId);
|
|
56161
|
+
}
|
|
56162
|
+
if (needUpdateM) {
|
|
56163
|
+
setCellValue(ctx, row, column, data, curv);
|
|
56164
|
+
}
|
|
56165
|
+
}
|
|
56166
|
+
_.forEach(value, function (v, attr) {
|
|
56167
|
+
if (attr in FORMAT_LIST) {
|
|
56168
|
+
var foucsStatus = v;
|
|
56169
|
+
if (attr === "ht") {
|
|
56170
|
+
if (foucsStatus === "left") {
|
|
56171
|
+
foucsStatus = "1";
|
|
56172
|
+
} else if (foucsStatus === "center") {
|
|
56173
|
+
foucsStatus = "0";
|
|
56174
|
+
} else if (foucsStatus === "right") {
|
|
56175
|
+
foucsStatus = "2";
|
|
56176
|
+
}
|
|
56177
|
+
} else if (attr === "vt") {
|
|
56178
|
+
if (foucsStatus === "top") {
|
|
56179
|
+
foucsStatus = "1";
|
|
56180
|
+
} else if (foucsStatus === "middle") {
|
|
56181
|
+
foucsStatus = "0";
|
|
56182
|
+
} else if (foucsStatus === "bottom") {
|
|
56183
|
+
foucsStatus = "2";
|
|
56184
|
+
}
|
|
56185
|
+
} else if (attr === "tb") {
|
|
56186
|
+
if (foucsStatus === "overflow") {
|
|
56187
|
+
foucsStatus = "1";
|
|
56188
|
+
} else if (foucsStatus === "clip") {
|
|
56189
|
+
foucsStatus = "0";
|
|
56190
|
+
} else if (foucsStatus === "wrap") {
|
|
56191
|
+
foucsStatus = "2";
|
|
56192
|
+
}
|
|
56193
|
+
} else if (attr === "tr") {
|
|
56194
|
+
if (foucsStatus === "none") {
|
|
56195
|
+
foucsStatus = "0";
|
|
56196
|
+
} else if (foucsStatus === "angleup") {
|
|
56197
|
+
foucsStatus = "1";
|
|
56198
|
+
} else if (foucsStatus === "angledown") {
|
|
56199
|
+
foucsStatus = "2";
|
|
56200
|
+
} else if (foucsStatus === "vertical") {
|
|
56201
|
+
foucsStatus = "3";
|
|
56202
|
+
} else if (foucsStatus === "rotation-up") {
|
|
56203
|
+
foucsStatus = "4";
|
|
56204
|
+
} else if (foucsStatus === "rotation-down") {
|
|
56205
|
+
foucsStatus = "5";
|
|
56206
|
+
}
|
|
56207
|
+
}
|
|
56208
|
+
if (cell && _.isPlainObject(cell)) {
|
|
56209
|
+
if (cell.ct != null && Array.isArray(cell.ct.s) && _.isPlainObject(cell.ct.s[0])) {
|
|
56210
|
+
cell.ct.s.forEach(function (item) {
|
|
56211
|
+
item[attr] = foucsStatus;
|
|
56212
|
+
});
|
|
56213
|
+
}
|
|
56214
|
+
cell[attr] = foucsStatus;
|
|
56215
|
+
}
|
|
56216
|
+
} else {
|
|
56217
|
+
cell[attr] = v;
|
|
56218
|
+
}
|
|
56219
|
+
});
|
|
56220
|
+
data[row][column] = cell;
|
|
56221
|
+
} else {
|
|
56222
|
+
var text = value.toString();
|
|
56223
|
+
if (text.substr(0, 1) === "=" && text.length > 1) {
|
|
56224
|
+
var _data$row3;
|
|
56225
|
+
if (!(data === null || data === void 0 ? void 0 : data[row])) {
|
|
56226
|
+
var _needAddRow = row - ((data === null || data === void 0 ? void 0 : data.length) || 0) + 1;
|
|
56227
|
+
data === null || data === void 0 ? void 0 : data.push.apply(data, _toConsumableArray(Array.from({
|
|
56228
|
+
length: _needAddRow
|
|
56229
|
+
}).map(function () {
|
|
56230
|
+
return [];
|
|
56231
|
+
})));
|
|
56232
|
+
}
|
|
56233
|
+
if ((data === null || data === void 0 ? void 0 : (_data$row3 = data[row]) === null || _data$row3 === void 0 ? void 0 : _data$row3[column]) == null) {
|
|
56234
|
+
data[row][column] = {};
|
|
56235
|
+
}
|
|
56236
|
+
var _cell = data[row][column];
|
|
56237
|
+
_cell.f = text;
|
|
56238
|
+
formulaCells.push({
|
|
56239
|
+
r: row,
|
|
56240
|
+
c: column,
|
|
56241
|
+
f: text
|
|
56242
|
+
});
|
|
56243
|
+
} else if (text.substr(0, 5) === "<span") {
|
|
56244
|
+
updateCell(ctx, row, column, cellInput, value);
|
|
56245
|
+
} else {
|
|
56246
|
+
delFunctionGroup(ctx, row, column, sheetId);
|
|
56247
|
+
setCellValue(ctx, row, column, data, value);
|
|
56248
|
+
}
|
|
56249
|
+
}
|
|
56250
|
+
}
|
|
56061
56251
|
function clearCell(ctx, row, column) {
|
|
56062
56252
|
var _sheet$data, _sheet$data$row;
|
|
56063
56253
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
@@ -56378,7 +56568,7 @@ function setSelection(ctx, range, options) {
|
|
|
56378
56568
|
function setCellValuesByRange(ctx, data, range, cellInput) {
|
|
56379
56569
|
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
56380
56570
|
var setMerge = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
56381
|
-
if (data == null) {
|
|
56571
|
+
if (data == null || !Array.isArray(data)) {
|
|
56382
56572
|
throw INVALID_PARAMS;
|
|
56383
56573
|
}
|
|
56384
56574
|
if (range instanceof Array) {
|
|
@@ -56387,27 +56577,45 @@ function setCellValuesByRange(ctx, data, range, cellInput) {
|
|
|
56387
56577
|
if (!_.isPlainObject(range)) {
|
|
56388
56578
|
throw INVALID_PARAMS;
|
|
56389
56579
|
}
|
|
56390
|
-
var
|
|
56391
|
-
var
|
|
56392
|
-
if (
|
|
56580
|
+
var rangeRow = range.row;
|
|
56581
|
+
var rangeColumn = range.column;
|
|
56582
|
+
if (!Array.isArray(rangeRow) || !Array.isArray(rangeColumn) || rangeRow.length < 2 || rangeColumn.length < 2 || !_.isNumber(rangeRow[0]) || !_.isNumber(rangeRow[1]) || !_.isNumber(rangeColumn[0]) || !_.isNumber(rangeColumn[1])) {
|
|
56583
|
+
throw INVALID_PARAMS;
|
|
56584
|
+
}
|
|
56585
|
+
var rowStart = rangeRow[0];
|
|
56586
|
+
var rowEnd = rangeRow[1];
|
|
56587
|
+
var colStart = rangeColumn[0];
|
|
56588
|
+
var colEnd = rangeColumn[1];
|
|
56589
|
+
if (rowStart < 0 || colStart < 0 || rowEnd < rowStart || colEnd < colStart) {
|
|
56590
|
+
throw INVALID_PARAMS;
|
|
56591
|
+
}
|
|
56592
|
+
var rowCount = rowEnd - rowStart + 1;
|
|
56593
|
+
var columnCount = colEnd - colStart + 1;
|
|
56594
|
+
if (!Array.isArray(data[0]) || data.length !== rowCount || data[0].length !== columnCount) {
|
|
56393
56595
|
throw new Error("data size does not match range");
|
|
56394
56596
|
}
|
|
56395
56597
|
var sheet = getSheet(ctx, options);
|
|
56598
|
+
var flowdata = sheet.data;
|
|
56599
|
+
if (!Array.isArray(flowdata)) {
|
|
56600
|
+
throw SHEET_NOT_FOUND;
|
|
56601
|
+
}
|
|
56396
56602
|
var cfg = sheet.config || {};
|
|
56397
56603
|
if (cfg.merge == null) {
|
|
56398
56604
|
cfg.merge = {};
|
|
56399
56605
|
}
|
|
56606
|
+
var formulaCells = [];
|
|
56400
56607
|
for (var i = 0; i < rowCount; i += 1) {
|
|
56401
56608
|
for (var j = 0; j < columnCount; j += 1) {
|
|
56402
|
-
var row =
|
|
56403
|
-
var column =
|
|
56404
|
-
|
|
56609
|
+
var row = rowStart + i;
|
|
56610
|
+
var column = colStart + j;
|
|
56611
|
+
var value = data[i][j];
|
|
56612
|
+
setCellValueInBatch(ctx, sheet, row, column, value, cellInput, formulaCells);
|
|
56405
56613
|
if (setMerge) {
|
|
56406
|
-
var
|
|
56407
|
-
var r1 =
|
|
56408
|
-
var c1 =
|
|
56409
|
-
var rs =
|
|
56410
|
-
var cs =
|
|
56614
|
+
var _value$mc, _value$mc2, _value$mc3, _value$mc4;
|
|
56615
|
+
var r1 = value === null || value === void 0 ? void 0 : (_value$mc = value.mc) === null || _value$mc === void 0 ? void 0 : _value$mc.r;
|
|
56616
|
+
var c1 = value === null || value === void 0 ? void 0 : (_value$mc2 = value.mc) === null || _value$mc2 === void 0 ? void 0 : _value$mc2.c;
|
|
56617
|
+
var rs = value === null || value === void 0 ? void 0 : (_value$mc3 = value.mc) === null || _value$mc3 === void 0 ? void 0 : _value$mc3.rs;
|
|
56618
|
+
var cs = value === null || value === void 0 ? void 0 : (_value$mc4 = value.mc) === null || _value$mc4 === void 0 ? void 0 : _value$mc4.cs;
|
|
56411
56619
|
if (rs > 1 || cs > 1) {
|
|
56412
56620
|
cfg.merge["".concat(r1, "_").concat(c1)] = {
|
|
56413
56621
|
r: r1,
|
|
@@ -56422,18 +56630,84 @@ function setCellValuesByRange(ctx, data, range, cellInput) {
|
|
|
56422
56630
|
if (setMerge) {
|
|
56423
56631
|
sheet.config = cfg;
|
|
56424
56632
|
}
|
|
56633
|
+
if (formulaCells.length > 0) {
|
|
56634
|
+
ctx.formulaCache.execFunctionExist = [];
|
|
56635
|
+
for (var k = 0; k < formulaCells.length; k += 1) {
|
|
56636
|
+
var fc = formulaCells[k];
|
|
56637
|
+
var v = execfunction(ctx, fc.f, fc.r, fc.c, sheet.id, false, true);
|
|
56638
|
+
setCellValue(ctx, fc.r, fc.c, flowdata, {
|
|
56639
|
+
v: v[1],
|
|
56640
|
+
f: v[2]
|
|
56641
|
+
});
|
|
56642
|
+
ctx.formulaCache.execFunctionExist.push({
|
|
56643
|
+
r: fc.r,
|
|
56644
|
+
c: fc.c,
|
|
56645
|
+
i: sheet.id
|
|
56646
|
+
});
|
|
56647
|
+
}
|
|
56648
|
+
ctx.formulaCache.execFunctionExist.reverse();
|
|
56649
|
+
execFunctionGroup(ctx, null, null, null, null, flowdata, false, true);
|
|
56650
|
+
groupValuesRefresh(ctx);
|
|
56651
|
+
updateFunctionGroup(ctx);
|
|
56652
|
+
}
|
|
56425
56653
|
}
|
|
56426
56654
|
function setCellValues(ctx, data, cellInput) {
|
|
56655
|
+
var _data$, _data$2;
|
|
56427
56656
|
if (data == null) {
|
|
56428
56657
|
throw INVALID_PARAMS;
|
|
56429
56658
|
}
|
|
56430
|
-
|
|
56431
|
-
var
|
|
56432
|
-
|
|
56433
|
-
|
|
56434
|
-
|
|
56435
|
-
|
|
56436
|
-
|
|
56659
|
+
var pickSheet = function pickSheet(ops) {
|
|
56660
|
+
var _ops$index, _ops$id;
|
|
56661
|
+
return [(_ops$index = ops === null || ops === void 0 ? void 0 : ops.index) !== null && _ops$index !== void 0 ? _ops$index : null, (_ops$id = ops === null || ops === void 0 ? void 0 : ops.id) !== null && _ops$id !== void 0 ? _ops$id : null];
|
|
56662
|
+
};
|
|
56663
|
+
var first = pickSheet((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.ops);
|
|
56664
|
+
var canBatch = data.every(function (item) {
|
|
56665
|
+
var _pickSheet = pickSheet(item === null || item === void 0 ? void 0 : item.ops),
|
|
56666
|
+
_pickSheet2 = _slicedToArray(_pickSheet, 2),
|
|
56667
|
+
index = _pickSheet2[0],
|
|
56668
|
+
id = _pickSheet2[1];
|
|
56669
|
+
return index === first[0] && id === first[1];
|
|
56670
|
+
});
|
|
56671
|
+
if (!canBatch) {
|
|
56672
|
+
for (var j = 0; j < data.length; j += 1) {
|
|
56673
|
+
var _data$j = data[j],
|
|
56674
|
+
r = _data$j.r,
|
|
56675
|
+
c = _data$j.c,
|
|
56676
|
+
v = _data$j.v,
|
|
56677
|
+
ops = _data$j.ops;
|
|
56678
|
+
setCellValue$1(ctx, r, c, v, cellInput, ops);
|
|
56679
|
+
}
|
|
56680
|
+
return;
|
|
56681
|
+
}
|
|
56682
|
+
var sheet = getSheet(ctx, ((_data$2 = data[0]) === null || _data$2 === void 0 ? void 0 : _data$2.ops) || {});
|
|
56683
|
+
var flowdata = sheet.data;
|
|
56684
|
+
if (!Array.isArray(flowdata)) {
|
|
56685
|
+
throw SHEET_NOT_FOUND;
|
|
56686
|
+
}
|
|
56687
|
+
var formulaCells = [];
|
|
56688
|
+
for (var _j = 0; _j < data.length; _j += 1) {
|
|
56689
|
+
var _data$_j = data[_j],
|
|
56690
|
+
_r = _data$_j.r,
|
|
56691
|
+
_c = _data$_j.c,
|
|
56692
|
+
_v = _data$_j.v;
|
|
56693
|
+
setCellValueInBatch(ctx, sheet, _r, _c, _v, cellInput, formulaCells);
|
|
56694
|
+
}
|
|
56695
|
+
if (formulaCells.length > 0) {
|
|
56696
|
+
ctx.formulaCache.execFunctionExist = [];
|
|
56697
|
+
for (var k = 0; k < formulaCells.length; k += 1) {
|
|
56698
|
+
var fc = formulaCells[k];
|
|
56699
|
+
var val = execfunction(ctx, fc.f, fc.r, fc.c, sheet.id, false, false);
|
|
56700
|
+
setCellValue(ctx, fc.r, fc.c, flowdata, {
|
|
56701
|
+
v: val[1],
|
|
56702
|
+
f: val[2]
|
|
56703
|
+
});
|
|
56704
|
+
ctx.formulaCache.execFunctionExist.push({
|
|
56705
|
+
r: fc.r,
|
|
56706
|
+
c: fc.c,
|
|
56707
|
+
i: sheet.id
|
|
56708
|
+
});
|
|
56709
|
+
}
|
|
56710
|
+
ctx.formulaCache.execFunctionExist.reverse();
|
|
56437
56711
|
}
|
|
56438
56712
|
}
|
|
56439
56713
|
function setCellFormatByRange(ctx, attr, value, range) {
|
|
@@ -56540,6 +56814,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
56540
56814
|
celldataToData: celldataToData,
|
|
56541
56815
|
getCellValue: getCellValue$1,
|
|
56542
56816
|
setCellValue: setCellValue$1,
|
|
56817
|
+
setCellValueInBatch: setCellValueInBatch,
|
|
56543
56818
|
clearCell: clearCell,
|
|
56544
56819
|
setCellFormat: setCellFormat,
|
|
56545
56820
|
autoFillCell: autoFillCell,
|
|
@@ -56571,6 +56846,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
56571
56846
|
showSheet: showSheet,
|
|
56572
56847
|
copySheet: copySheet,
|
|
56573
56848
|
calculateSheetFromula: calculateSheetFromula,
|
|
56849
|
+
updateFunctionGroupBySheetId: updateFunctionGroupBySheetId,
|
|
56574
56850
|
updateFunctionGroup: updateFunctionGroup,
|
|
56575
56851
|
calculateSheetByCells: calculateSheetByCells,
|
|
56576
56852
|
addSheet: addSheet$1,
|
|
@@ -58944,6 +59220,7 @@ function postPasteCut(ctx, source, target, RowlChange) {
|
|
|
58944
59220
|
ctx.luckysheetfile[getSheetIndex(ctx, target.sheetId)].dataVerification = target.curDataVerification;
|
|
58945
59221
|
ctx.formulaCache.execFunctionExist.reverse();
|
|
58946
59222
|
execFunctionGroup(ctx, null, null, null, null, target.curData);
|
|
59223
|
+
updateFunctionGroup(ctx);
|
|
58947
59224
|
ctx.formulaCache.execFunctionGlobalData = null;
|
|
58948
59225
|
storeSheetParamALL(ctx);
|
|
58949
59226
|
}
|
|
@@ -60438,6 +60715,7 @@ function _handlePasteByLeanklin() {
|
|
|
60438
60715
|
}
|
|
60439
60716
|
return _context2.abrupt("return");
|
|
60440
60717
|
case 6:
|
|
60718
|
+
console.time('handlePasteByLeanklin');
|
|
60441
60719
|
rows = selectRange.row;
|
|
60442
60720
|
columns = selectRange.column;
|
|
60443
60721
|
_getClipboardData = getClipboardData(ctx, e, copyRich, rows[0], columns[0]), copyData = _getClipboardData.data, borderInfo = _getClipboardData.borderInfo, merge = _getClipboardData.merge;
|
|
@@ -60474,14 +60752,17 @@ function _handlePasteByLeanklin() {
|
|
|
60474
60752
|
column: column
|
|
60475
60753
|
};
|
|
60476
60754
|
if (isAllowEdit(ctx, [range])) {
|
|
60477
|
-
_context2.next =
|
|
60755
|
+
_context2.next = 25;
|
|
60478
60756
|
break;
|
|
60479
60757
|
}
|
|
60480
60758
|
return _context2.abrupt("return");
|
|
60481
|
-
case
|
|
60759
|
+
case 25:
|
|
60760
|
+
console.time('setCellValuesByRange');
|
|
60482
60761
|
setCellValuesByRange(ctx, pasteData, range, null);
|
|
60762
|
+
console.timeEnd('setCellValuesByRange');
|
|
60483
60763
|
ctx.luckysheet_select_save = [range];
|
|
60484
|
-
|
|
60764
|
+
console.timeEnd('handlePasteByLeanklin');
|
|
60765
|
+
case 30:
|
|
60485
60766
|
case "end":
|
|
60486
60767
|
return _context2.stop();
|
|
60487
60768
|
}
|