@univerjs/sheets 1.0.0-beta.0 → 1.0.0-beta.2
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/lib/cjs/index.js +151 -106
- package/lib/cjs/locale/ar-SA.js +1 -2
- package/lib/cjs/locale/ca-ES.js +3 -4
- package/lib/cjs/locale/de-DE.js +1 -2
- package/lib/cjs/locale/en-US.js +1 -2
- package/lib/cjs/locale/es-ES.js +1 -2
- package/lib/cjs/locale/fa-IR.js +1 -2
- package/lib/cjs/locale/fr-FR.js +1 -2
- package/lib/cjs/locale/id-ID.js +1 -2
- package/lib/cjs/locale/it-IT.js +1 -2
- package/lib/cjs/locale/ja-JP.js +1 -2
- package/lib/cjs/locale/ko-KR.js +1 -2
- package/lib/cjs/locale/pl-PL.js +1 -2
- package/lib/cjs/locale/pt-BR.js +1 -2
- package/lib/cjs/locale/ru-RU.js +1 -2
- package/lib/cjs/locale/sk-SK.js +3 -4
- package/lib/cjs/locale/vi-VN.js +1 -2
- package/lib/cjs/locale/zh-CN.js +1 -2
- package/lib/cjs/locale/zh-HK.js +1 -2
- package/lib/cjs/locale/zh-TW.js +1 -2
- package/lib/es/index.js +152 -107
- package/lib/es/locale/ar-SA.js +1 -2
- package/lib/es/locale/ca-ES.js +3 -4
- package/lib/es/locale/de-DE.js +1 -2
- package/lib/es/locale/en-US.js +1 -2
- package/lib/es/locale/es-ES.js +1 -2
- package/lib/es/locale/fa-IR.js +1 -2
- package/lib/es/locale/fr-FR.js +1 -2
- package/lib/es/locale/id-ID.js +1 -2
- package/lib/es/locale/it-IT.js +1 -2
- package/lib/es/locale/ja-JP.js +1 -2
- package/lib/es/locale/ko-KR.js +1 -2
- package/lib/es/locale/pl-PL.js +1 -2
- package/lib/es/locale/pt-BR.js +1 -2
- package/lib/es/locale/ru-RU.js +1 -2
- package/lib/es/locale/sk-SK.js +3 -4
- package/lib/es/locale/vi-VN.js +1 -2
- package/lib/es/locale/zh-CN.js +1 -2
- package/lib/es/locale/zh-HK.js +1 -2
- package/lib/es/locale/zh-TW.js +1 -2
- package/lib/index.js +152 -107
- package/lib/locale/ar-SA.js +1 -2
- package/lib/locale/ca-ES.js +3 -4
- package/lib/locale/de-DE.js +1 -2
- package/lib/locale/en-US.js +1 -2
- package/lib/locale/es-ES.js +1 -2
- package/lib/locale/fa-IR.js +1 -2
- package/lib/locale/fr-FR.js +1 -2
- package/lib/locale/id-ID.js +1 -2
- package/lib/locale/it-IT.js +1 -2
- package/lib/locale/ja-JP.js +1 -2
- package/lib/locale/ko-KR.js +1 -2
- package/lib/locale/pl-PL.js +1 -2
- package/lib/locale/pt-BR.js +1 -2
- package/lib/locale/ru-RU.js +1 -2
- package/lib/locale/sk-SK.js +3 -4
- package/lib/locale/vi-VN.js +1 -2
- package/lib/locale/zh-CN.js +1 -2
- package/lib/locale/zh-HK.js +1 -2
- package/lib/locale/zh-TW.js +1 -2
- package/lib/types/locale/en-US.d.ts +0 -1
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ar-SA.js +1 -1
- package/lib/umd/locale/ca-ES.js +1 -1
- package/lib/umd/locale/de-DE.js +1 -1
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/es-ES.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/id-ID.js +1 -1
- package/lib/umd/locale/it-IT.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -1
- package/lib/umd/locale/ko-KR.js +1 -1
- package/lib/umd/locale/pl-PL.js +1 -1
- package/lib/umd/locale/pt-BR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/sk-SK.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-HK.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +8 -8
package/lib/cjs/index.js
CHANGED
|
@@ -6999,6 +6999,88 @@ const rotateRange = (range) => {
|
|
|
6999
6999
|
rangeType
|
|
7000
7000
|
};
|
|
7001
7001
|
};
|
|
7002
|
+
function mergeAndSortRanges(ranges) {
|
|
7003
|
+
return sortRanges(ranges.length > 1 ? _univerjs_core.Rectangle.mergeRanges(ranges) : ranges);
|
|
7004
|
+
}
|
|
7005
|
+
function sortRanges(ranges) {
|
|
7006
|
+
return ranges.sort((a, b) => a.startRow - b.startRow || a.startColumn - b.startColumn || a.endRow - b.endRow || a.endColumn - b.endColumn);
|
|
7007
|
+
}
|
|
7008
|
+
function translateRange(range, rowOffset, columnOffset) {
|
|
7009
|
+
return {
|
|
7010
|
+
startRow: range.startRow + rowOffset,
|
|
7011
|
+
endRow: range.endRow + rowOffset,
|
|
7012
|
+
startColumn: range.startColumn + columnOffset,
|
|
7013
|
+
endColumn: range.endColumn + columnOffset
|
|
7014
|
+
};
|
|
7015
|
+
}
|
|
7016
|
+
function moveRangeAlongAxis(targetRange, from, count, to, isRow) {
|
|
7017
|
+
let transforms;
|
|
7018
|
+
if (from > to) transforms = [
|
|
7019
|
+
{
|
|
7020
|
+
start: Number.NEGATIVE_INFINITY,
|
|
7021
|
+
end: to - 1,
|
|
7022
|
+
offset: 0
|
|
7023
|
+
},
|
|
7024
|
+
{
|
|
7025
|
+
start: to,
|
|
7026
|
+
end: from - 1,
|
|
7027
|
+
offset: count
|
|
7028
|
+
},
|
|
7029
|
+
{
|
|
7030
|
+
start: from,
|
|
7031
|
+
end: from + count - 1,
|
|
7032
|
+
offset: to - from
|
|
7033
|
+
},
|
|
7034
|
+
{
|
|
7035
|
+
start: from + count,
|
|
7036
|
+
end: Number.POSITIVE_INFINITY,
|
|
7037
|
+
offset: 0
|
|
7038
|
+
}
|
|
7039
|
+
];
|
|
7040
|
+
else {
|
|
7041
|
+
if (from + count > to) throw new Error("Invalid move operation");
|
|
7042
|
+
transforms = [
|
|
7043
|
+
{
|
|
7044
|
+
start: Number.NEGATIVE_INFINITY,
|
|
7045
|
+
end: from - 1,
|
|
7046
|
+
offset: 0
|
|
7047
|
+
},
|
|
7048
|
+
{
|
|
7049
|
+
start: from,
|
|
7050
|
+
end: from + count - 1,
|
|
7051
|
+
offset: to - from - count
|
|
7052
|
+
},
|
|
7053
|
+
{
|
|
7054
|
+
start: from + count,
|
|
7055
|
+
end: to - 1,
|
|
7056
|
+
offset: -count
|
|
7057
|
+
},
|
|
7058
|
+
{
|
|
7059
|
+
start: to,
|
|
7060
|
+
end: Number.POSITIVE_INFINITY,
|
|
7061
|
+
offset: 0
|
|
7062
|
+
}
|
|
7063
|
+
];
|
|
7064
|
+
}
|
|
7065
|
+
const rangeStart = isRow ? targetRange.startRow : targetRange.startColumn;
|
|
7066
|
+
const rangeEnd = isRow ? targetRange.endRow : targetRange.endColumn;
|
|
7067
|
+
return mergeAndSortRanges(transforms.flatMap(({ start, end, offset }) => {
|
|
7068
|
+
const intersectStart = Math.max(rangeStart, start);
|
|
7069
|
+
const intersectEnd = Math.min(rangeEnd, end);
|
|
7070
|
+
if (intersectStart > intersectEnd) return [];
|
|
7071
|
+
return [translateRange(isRow ? {
|
|
7072
|
+
startRow: intersectStart,
|
|
7073
|
+
endRow: intersectEnd,
|
|
7074
|
+
startColumn: targetRange.startColumn,
|
|
7075
|
+
endColumn: targetRange.endColumn
|
|
7076
|
+
} : {
|
|
7077
|
+
startRow: targetRange.startRow,
|
|
7078
|
+
endRow: targetRange.endRow,
|
|
7079
|
+
startColumn: intersectStart,
|
|
7080
|
+
endColumn: intersectEnd
|
|
7081
|
+
}, isRow ? offset : 0, isRow ? 0 : offset)];
|
|
7082
|
+
}));
|
|
7083
|
+
}
|
|
7002
7084
|
/**
|
|
7003
7085
|
* see docs/tldr/ref-range/move-rows-cols.tldr
|
|
7004
7086
|
*/
|
|
@@ -7104,32 +7186,33 @@ const handleMoveRowsCommon = (params, targetRange) => {
|
|
|
7104
7186
|
const fromRow = fromRange.startRow;
|
|
7105
7187
|
const count = fromRange.endRow - fromRange.startRow + 1;
|
|
7106
7188
|
const toRow = toRange.startRow;
|
|
7107
|
-
|
|
7108
|
-
_univerjs_core.Range.foreach(targetRange, (row, col) => {
|
|
7109
|
-
matrix.setValue(row, col, 1);
|
|
7110
|
-
});
|
|
7111
|
-
matrix.moveRows(fromRow, count, toRow);
|
|
7112
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (value) => value === 1);
|
|
7189
|
+
return moveRangeAlongAxis(targetRange, fromRow, count, toRow, true);
|
|
7113
7190
|
};
|
|
7114
7191
|
const handleReorderRangeCommon = (param, targetRange) => {
|
|
7115
7192
|
const { range, order } = param.params || {};
|
|
7116
7193
|
if (!range || !order) return [targetRange];
|
|
7117
|
-
const
|
|
7118
|
-
|
|
7119
|
-
|
|
7120
|
-
|
|
7121
|
-
|
|
7122
|
-
|
|
7123
|
-
if (
|
|
7124
|
-
|
|
7125
|
-
|
|
7126
|
-
|
|
7127
|
-
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
|
|
7194
|
+
const overwrittenRows = [];
|
|
7195
|
+
const additions = [];
|
|
7196
|
+
const startColumn = Math.max(range.startColumn, targetRange.startColumn);
|
|
7197
|
+
const endColumn = Math.min(range.endColumn, targetRange.endColumn);
|
|
7198
|
+
Object.keys(order).forEach((key) => {
|
|
7199
|
+
const row = Number(key);
|
|
7200
|
+
if (row < range.startRow || row > range.endRow) return;
|
|
7201
|
+
overwrittenRows.push({
|
|
7202
|
+
startRow: row,
|
|
7203
|
+
endRow: row,
|
|
7204
|
+
startColumn: range.startColumn,
|
|
7205
|
+
endColumn: range.endColumn
|
|
7206
|
+
});
|
|
7207
|
+
const sourceRow = order[row];
|
|
7208
|
+
if (sourceRow >= targetRange.startRow && sourceRow <= targetRange.endRow && startColumn <= endColumn) additions.push({
|
|
7209
|
+
startRow: row,
|
|
7210
|
+
endRow: row,
|
|
7211
|
+
startColumn,
|
|
7212
|
+
endColumn
|
|
7213
|
+
});
|
|
7131
7214
|
});
|
|
7132
|
-
return (
|
|
7215
|
+
return mergeAndSortRanges([..._univerjs_core.Rectangle.subtractMulti([targetRange], overwrittenRows), ...additions]);
|
|
7133
7216
|
};
|
|
7134
7217
|
const handleMoveCols = (params, targetRange) => {
|
|
7135
7218
|
const { fromRange, toRange } = params.params || {};
|
|
@@ -7160,12 +7243,7 @@ const handleMoveColsCommon = (params, targetRange) => {
|
|
|
7160
7243
|
const fromCol = fromRange.startColumn;
|
|
7161
7244
|
const count = fromRange.endColumn - fromRange.startColumn + 1;
|
|
7162
7245
|
const toCol = toRange.startColumn;
|
|
7163
|
-
|
|
7164
|
-
_univerjs_core.Range.foreach(targetRange, (row, col) => {
|
|
7165
|
-
matrix.setValue(row, col, 1);
|
|
7166
|
-
});
|
|
7167
|
-
matrix.moveColumns(fromCol, count, toCol);
|
|
7168
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (value) => value === 1);
|
|
7246
|
+
return moveRangeAlongAxis(targetRange, fromCol, count, toCol, false);
|
|
7169
7247
|
};
|
|
7170
7248
|
const handleMoveRange = (param, targetRange) => {
|
|
7171
7249
|
var _param$params, _param$params2;
|
|
@@ -7195,32 +7273,12 @@ const handleMoveRangeCommon = (param, targetRange) => {
|
|
|
7195
7273
|
const relativeRange = _univerjs_core.Rectangle.getRelativeRange(targetRange, fromRange);
|
|
7196
7274
|
return [_univerjs_core.Rectangle.getPositionRange(relativeRange, toRange)];
|
|
7197
7275
|
}
|
|
7198
|
-
const matrix = new _univerjs_core.ObjectMatrix();
|
|
7199
|
-
_univerjs_core.Range.foreach(targetRange, (row, col) => {
|
|
7200
|
-
matrix.setValue(row, col, 1);
|
|
7201
|
-
});
|
|
7202
|
-
const fromMatrix = new _univerjs_core.ObjectMatrix();
|
|
7203
|
-
const loopFromRange = (0, _univerjs_core.getIntersectRange)(fromRange, targetRange);
|
|
7204
|
-
loopFromRange && _univerjs_core.Range.foreach(loopFromRange, (row, col) => {
|
|
7205
|
-
if (matrix.getValue(row, col)) {
|
|
7206
|
-
matrix.setValue(row, col, void 0);
|
|
7207
|
-
fromMatrix.setValue(row, col, 1);
|
|
7208
|
-
}
|
|
7209
|
-
});
|
|
7210
7276
|
const columnOffset = toRange.startColumn - fromRange.startColumn;
|
|
7211
7277
|
const rowOffset = toRange.startRow - fromRange.startRow;
|
|
7212
|
-
const
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
endRow: toRange.endRow - rowOffset
|
|
7217
|
-
};
|
|
7218
|
-
loopToRange && _univerjs_core.Range.foreach(loopToRange, (row, col) => {
|
|
7219
|
-
const targetRow = row + rowOffset;
|
|
7220
|
-
const targetCol = col + columnOffset;
|
|
7221
|
-
matrix.setValue(targetRow, targetCol, fromMatrix.getValue(row, col) ?? 0);
|
|
7222
|
-
});
|
|
7223
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (value) => value === 1);
|
|
7278
|
+
const movedRange = (0, _univerjs_core.getIntersectRange)(fromRange, targetRange);
|
|
7279
|
+
const remainingRanges = _univerjs_core.Rectangle.subtractMulti([targetRange], [fromRange, toRange]);
|
|
7280
|
+
const translatedRanges = movedRange ? [translateRange(movedRange, rowOffset, columnOffset)] : [];
|
|
7281
|
+
return mergeAndSortRanges([...remainingRanges, ...translatedRanges]);
|
|
7224
7282
|
};
|
|
7225
7283
|
const handleBaseRemoveRange = (_removeRange, _targetRange) => {
|
|
7226
7284
|
const removeRange = handleRangeTypeInput(_removeRange);
|
|
@@ -7430,16 +7488,7 @@ const handleInsertRangeMoveDownCommon = (param, targetRange) => {
|
|
|
7430
7488
|
const noMoveRanges = _univerjs_core.Rectangle.subtract(targetRange, bottomRange);
|
|
7431
7489
|
const targetMoveRange = (0, _univerjs_core.getIntersectRange)(bottomRange, targetRange);
|
|
7432
7490
|
if (!targetMoveRange) return [targetRange];
|
|
7433
|
-
|
|
7434
|
-
noMoveRanges.forEach((noMoveRange) => {
|
|
7435
|
-
_univerjs_core.Range.foreach(noMoveRange, (row, col) => {
|
|
7436
|
-
matrix.setValue(row, col, 1);
|
|
7437
|
-
});
|
|
7438
|
-
});
|
|
7439
|
-
targetMoveRange && _univerjs_core.Range.foreach(targetMoveRange, (row, col) => {
|
|
7440
|
-
matrix.setValue(row + moveCount, col, 1);
|
|
7441
|
-
});
|
|
7442
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (v) => v === 1);
|
|
7491
|
+
return sortRanges([...noMoveRanges, translateRange(targetMoveRange, moveCount, 0)]);
|
|
7443
7492
|
};
|
|
7444
7493
|
const handleInsertRangeMoveRight = (param, targetRange) => {
|
|
7445
7494
|
var _param$params11;
|
|
@@ -7467,16 +7516,7 @@ const handleInsertRangeMoveRightCommon = (param, targetRange) => {
|
|
|
7467
7516
|
const noMoveRanges = _univerjs_core.Rectangle.subtract(targetRange, bottomRange);
|
|
7468
7517
|
const targetMoveRange = (0, _univerjs_core.getIntersectRange)(bottomRange, targetRange);
|
|
7469
7518
|
if (!targetMoveRange) return [targetRange];
|
|
7470
|
-
|
|
7471
|
-
noMoveRanges.forEach((noMoveRange) => {
|
|
7472
|
-
_univerjs_core.Range.foreach(noMoveRange, (row, col) => {
|
|
7473
|
-
matrix.setValue(row, col, 1);
|
|
7474
|
-
});
|
|
7475
|
-
});
|
|
7476
|
-
targetMoveRange && _univerjs_core.Range.foreach(targetMoveRange, (row, col) => {
|
|
7477
|
-
matrix.setValue(row, col + moveCount, 1);
|
|
7478
|
-
});
|
|
7479
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (v) => v === 1);
|
|
7519
|
+
return sortRanges([...noMoveRanges, translateRange(targetMoveRange, 0, moveCount)]);
|
|
7480
7520
|
};
|
|
7481
7521
|
const handleDeleteRangeMoveLeft = (param, targetRange) => {
|
|
7482
7522
|
var _param$params13;
|
|
@@ -7506,23 +7546,11 @@ const handleDeleteRangeMoveLeftCommon = (param, targetRange) => {
|
|
|
7506
7546
|
endColumn: Number.POSITIVE_INFINITY
|
|
7507
7547
|
};
|
|
7508
7548
|
const moveCount = range.endColumn - range.startColumn + 1;
|
|
7509
|
-
const targetDeleteRange = (0, _univerjs_core.getIntersectRange)(range, targetRange);
|
|
7510
7549
|
const noMoveRanges = _univerjs_core.Rectangle.subtract(targetRange, rightRange);
|
|
7511
7550
|
const targetMoveRange = (0, _univerjs_core.getIntersectRange)(rightRange, targetRange);
|
|
7512
|
-
if (!
|
|
7513
|
-
const
|
|
7514
|
-
|
|
7515
|
-
matrix.setValue(row, col - moveCount, 1);
|
|
7516
|
-
});
|
|
7517
|
-
targetDeleteRange && _univerjs_core.Range.foreach(targetDeleteRange, (row, col) => {
|
|
7518
|
-
matrix.setValue(row, col - moveCount, 0);
|
|
7519
|
-
});
|
|
7520
|
-
noMoveRanges.forEach((noMoveRange) => {
|
|
7521
|
-
_univerjs_core.Range.foreach(noMoveRange, (row, col) => {
|
|
7522
|
-
matrix.setValue(row, col, 1);
|
|
7523
|
-
});
|
|
7524
|
-
});
|
|
7525
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (v) => v === 1);
|
|
7551
|
+
if (!targetMoveRange) return [targetRange];
|
|
7552
|
+
const movedRanges = targetMoveRange ? _univerjs_core.Rectangle.subtract(targetMoveRange, range).map((target) => translateRange(target, 0, -moveCount)) : [];
|
|
7553
|
+
return mergeAndSortRanges([...noMoveRanges, ...movedRanges]);
|
|
7526
7554
|
};
|
|
7527
7555
|
const handleDeleteRangeMoveUp = (param, targetRange) => {
|
|
7528
7556
|
var _param$params15;
|
|
@@ -7551,23 +7579,11 @@ const handleDeleteRangeMoveUpCommon = (param, targetRange) => {
|
|
|
7551
7579
|
endRow: Number.POSITIVE_INFINITY
|
|
7552
7580
|
};
|
|
7553
7581
|
const moveCount = range.endRow - range.startRow + 1;
|
|
7554
|
-
const targetDeleteRange = (0, _univerjs_core.getIntersectRange)(range, targetRange);
|
|
7555
7582
|
const noMoveRanges = _univerjs_core.Rectangle.subtract(targetRange, bottomRange);
|
|
7556
7583
|
const targetMoveRange = (0, _univerjs_core.getIntersectRange)(bottomRange, targetRange);
|
|
7557
|
-
if (!
|
|
7558
|
-
const
|
|
7559
|
-
|
|
7560
|
-
matrix.setValue(row - moveCount, col, 1);
|
|
7561
|
-
});
|
|
7562
|
-
targetDeleteRange && _univerjs_core.Range.foreach(targetDeleteRange, (row, col) => {
|
|
7563
|
-
matrix.setValue(row - moveCount, col, 0);
|
|
7564
|
-
});
|
|
7565
|
-
noMoveRanges.forEach((noMoveRange) => {
|
|
7566
|
-
_univerjs_core.Range.foreach(noMoveRange, (row, col) => {
|
|
7567
|
-
matrix.setValue(row, col, 1);
|
|
7568
|
-
});
|
|
7569
|
-
});
|
|
7570
|
-
return (0, _univerjs_core.queryObjectMatrix)(matrix, (v) => v === 1);
|
|
7584
|
+
if (!targetMoveRange) return [targetRange];
|
|
7585
|
+
const movedRanges = targetMoveRange ? _univerjs_core.Rectangle.subtract(targetMoveRange, range).map((target) => translateRange(target, -moveCount, 0)) : [];
|
|
7586
|
+
return mergeAndSortRanges([...noMoveRanges, ...movedRanges]);
|
|
7571
7587
|
};
|
|
7572
7588
|
const handleRemoveRowCommon = (param, targetRange) => {
|
|
7573
7589
|
const mergedRemoved = (0, _univerjs_core.mergeIntervals)((param.ranges ?? [param.range]).map((range) => [range.startRow, range.endRow]));
|
|
@@ -13897,7 +13913,7 @@ const SetFrozenCommand = {
|
|
|
13897
13913
|
if (!target) return false;
|
|
13898
13914
|
const { unitId, subUnitId, worksheet } = target;
|
|
13899
13915
|
const { startColumn, startRow, xSplit, ySplit } = params;
|
|
13900
|
-
if (startRow >= worksheet.getRowCount() || startColumn >= worksheet.getColumnCount() || xSplit >= worksheet.getColumnCount() || ySplit >= worksheet.getRowCount()) return false;
|
|
13916
|
+
if (!Number.isInteger(startRow) || !Number.isInteger(startColumn) || !Number.isInteger(xSplit) || !Number.isInteger(ySplit) || xSplit < 0 || ySplit < 0 || startRow >= worksheet.getRowCount() || startColumn >= worksheet.getColumnCount() || xSplit >= worksheet.getColumnCount() || ySplit >= worksheet.getRowCount()) return false;
|
|
13901
13917
|
const redoMutationParams = {
|
|
13902
13918
|
unitId,
|
|
13903
13919
|
subUnitId,
|
|
@@ -16937,18 +16953,26 @@ const TextToNumberCommand = {
|
|
|
16937
16953
|
const undoRedoService = accessor.get(_univerjs_core.IUndoRedoService);
|
|
16938
16954
|
const { worksheet, unitId, subUnitId } = target;
|
|
16939
16955
|
const newCellValue = new _univerjs_core.ObjectMatrix();
|
|
16956
|
+
const setNumfmtCells = [];
|
|
16940
16957
|
const removeNumfmtRanges = [];
|
|
16941
16958
|
for (let i = 0; i < ranges.length; i++) for (let r = ranges[i].startRow; r <= ranges[i].endRow; r++) for (let c = ranges[i].startColumn; c <= ranges[i].endColumn; c++) {
|
|
16942
16959
|
var _worksheet$getStyleDa, _cell$s;
|
|
16943
16960
|
if (newCellValue.getValue(r, c)) continue;
|
|
16944
16961
|
const cell = worksheet.getCellRaw(r, c);
|
|
16945
16962
|
const pattern = typeof (cell === null || cell === void 0 ? void 0 : cell.s) === "string" ? (_worksheet$getStyleDa = worksheet.getStyleDataByHash(cell.s)) === null || _worksheet$getStyleDa === void 0 || (_worksheet$getStyleDa = _worksheet$getStyleDa.n) === null || _worksheet$getStyleDa === void 0 ? void 0 : _worksheet$getStyleDa.pattern : cell === null || cell === void 0 || (_cell$s = cell.s) === null || _cell$s === void 0 || (_cell$s = _cell$s.n) === null || _cell$s === void 0 ? void 0 : _cell$s.pattern;
|
|
16946
|
-
|
|
16963
|
+
const parsedValue = typeof (cell === null || cell === void 0 ? void 0 : cell.v) === "string" ? (0, _univerjs_core.getNumfmtParseValueFilter)(cell.v) : null;
|
|
16964
|
+
const numberValue = (0, _univerjs_core.isRealNum)(cell === null || cell === void 0 ? void 0 : cell.v) ? Number(cell === null || cell === void 0 ? void 0 : cell.v) : typeof (parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.v) === "number" ? parsedValue.v : null;
|
|
16965
|
+
if (cell && cell.v && (cell.t !== _univerjs_core.CellValueType.NUMBER || (0, _univerjs_core.isTextFormat)(pattern)) && numberValue !== null) {
|
|
16947
16966
|
newCellValue.setValue(r, c, {
|
|
16948
|
-
v:
|
|
16967
|
+
v: numberValue,
|
|
16949
16968
|
t: _univerjs_core.CellValueType.NUMBER
|
|
16950
16969
|
});
|
|
16951
|
-
if ((0, _univerjs_core.isTextFormat)(pattern))
|
|
16970
|
+
if ((parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.z) && (!pattern || (0, _univerjs_core.isTextFormat)(pattern))) setNumfmtCells.push({
|
|
16971
|
+
pattern: parsedValue.z,
|
|
16972
|
+
row: r,
|
|
16973
|
+
col: c
|
|
16974
|
+
});
|
|
16975
|
+
else if ((0, _univerjs_core.isTextFormat)(pattern)) removeNumfmtRanges.push({
|
|
16952
16976
|
startRow: r,
|
|
16953
16977
|
endRow: r,
|
|
16954
16978
|
startColumn: c,
|
|
@@ -16969,6 +16993,14 @@ const TextToNumberCommand = {
|
|
|
16969
16993
|
id: SetRangeValuesMutation.id,
|
|
16970
16994
|
params: SetRangeValuesUndoMutationFactory(accessor, setRangeValuesMutationParams)
|
|
16971
16995
|
}];
|
|
16996
|
+
if (setNumfmtCells.length) {
|
|
16997
|
+
const setNumfmtMutationParams = transformCellsToRange(unitId, subUnitId, setNumfmtCells);
|
|
16998
|
+
redos.push({
|
|
16999
|
+
id: SetNumfmtMutation.id,
|
|
17000
|
+
params: setNumfmtMutationParams
|
|
17001
|
+
});
|
|
17002
|
+
undos.push(...factorySetNumfmtUndoMutation(accessor, setNumfmtMutationParams));
|
|
17003
|
+
}
|
|
16972
17004
|
if (removeNumfmtRanges.length) {
|
|
16973
17005
|
const removeNumfmtMutationParams = {
|
|
16974
17006
|
unitId,
|
|
@@ -18186,6 +18218,19 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
|
|
|
18186
18218
|
}, params.unitId, params.localSheetId);
|
|
18187
18219
|
errorMsg = this._localeService.t("sheets.permission.dialog.editErr");
|
|
18188
18220
|
break;
|
|
18221
|
+
case TextToNumberCommand.id:
|
|
18222
|
+
params = commandInfo.params;
|
|
18223
|
+
permission = this.permissionCheckWithRanges({
|
|
18224
|
+
workbookTypes: [WorkbookEditablePermission],
|
|
18225
|
+
worksheetTypes: [
|
|
18226
|
+
WorksheetSetCellValuePermission,
|
|
18227
|
+
WorksheetSetCellStylePermission,
|
|
18228
|
+
WorksheetEditPermission
|
|
18229
|
+
],
|
|
18230
|
+
rangeTypes: [RangeProtectionPermissionEditPoint]
|
|
18231
|
+
}, params === null || params === void 0 ? void 0 : params.ranges, params === null || params === void 0 ? void 0 : params.unitId, params === null || params === void 0 ? void 0 : params.subUnitId);
|
|
18232
|
+
errorMsg = this._localeService.t("sheets.permission.dialog.editErr");
|
|
18233
|
+
break;
|
|
18189
18234
|
default: break;
|
|
18190
18235
|
}
|
|
18191
18236
|
if (!permission) this.blockExecuteWithoutPermission(errorMsg);
|
|
@@ -19325,7 +19370,7 @@ RangeProtectionCache = __decorate([
|
|
|
19325
19370
|
//#endregion
|
|
19326
19371
|
//#region package.json
|
|
19327
19372
|
var name = "@univerjs/sheets";
|
|
19328
|
-
var version = "1.0.0-beta.
|
|
19373
|
+
var version = "1.0.0-beta.2";
|
|
19329
19374
|
|
|
19330
19375
|
//#endregion
|
|
19331
19376
|
//#region src/controllers/active-worksheet.controller.ts
|
package/lib/cjs/locale/ar-SA.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "سيؤدي الاستمرار في الدمج إلى الاحتفاظ بقيمة الخلية العلوية اليسرى فقط، وسيتم تجاهل القيم الأخرى. هل أنت متأكد من الاستمرار؟",
|
|
44
44
|
cancel: "إلغاء الدمج",
|
|
45
45
|
confirm: "الاستمرار في الدمج",
|
|
46
|
-
warning: "تحذير"
|
|
47
|
-
dismantleMergeCellWarning: "سيؤدي هذا إلى تقسيم بعض الخلايا المدمجة. هل تريد الاستمرار؟"
|
|
46
|
+
warning: "تحذير"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/ca-ES.js
CHANGED
|
@@ -25,11 +25,11 @@ const locale = { sheets: {
|
|
|
25
25
|
editErr: "L'interval està protegit i no teniu permís d'edició. Per editar, contacteu amb el creador.",
|
|
26
26
|
formulaErr: "L'interval o l'interval referenciat està protegit, i no teniu permís d'edició. Per editar, contacteu amb el creador.",
|
|
27
27
|
insertOrDeleteMoveRangeErr: "L'interval inserit o suprimit s'interseca amb l'interval protegit, i aquesta operació no és compatible per ara.",
|
|
28
|
-
insertRowColErr: "L'interval
|
|
28
|
+
insertRowColErr: "L'interval està protegit i no teniu permís per inserir files i columnes. Per inserir files i columnes, contacteu amb el creador.",
|
|
29
29
|
moveRangeErr: "L'interval està protegit i no teniu permís per moure la selecció. Per moure la selecció, contacteu amb el creador.",
|
|
30
30
|
moveRowColErr: "L'interval està protegit i no teniu permís per moure files i columnes. Per moure files i columnes, contacteu amb el creador.",
|
|
31
31
|
operatorSheetErr: "El full de càlcul està protegit i no teniu permís per operar-hi. Per operar al full de càlcul, contacteu amb el creador.",
|
|
32
|
-
removeRowColErr: "L'interval
|
|
32
|
+
removeRowColErr: "L'interval està protegit i no teniu permís per suprimir files i columnes. Per suprimir files i columnes, contacteu amb el creador.",
|
|
33
33
|
setRowColStyleErr: "L'interval està protegit i no teniu permís per establir estils de fila i columna. Per establir estils de fila i columna, contacteu amb el creador.",
|
|
34
34
|
setStyleErr: "L'interval està protegit i no teniu permís per establir estils. Per establir estils, contacteu amb el creador."
|
|
35
35
|
} },
|
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Continuar la fusió només conservarà el valor de la cel·la superior esquerra, descartant els altres valors. Estàs segur de continuar?",
|
|
44
44
|
cancel: "Cancel·lar fusió",
|
|
45
45
|
confirm: "Continuar fusió",
|
|
46
|
-
warning: "Avís"
|
|
47
|
-
dismantleMergeCellWarning: "Això dividirà algunes cel·les fusionades. Vols continuar?"
|
|
46
|
+
warning: "Avís"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/de-DE.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Beim Fortfahren mit dem Zusammenführen bleibt nur der Wert der oberen linken Zelle erhalten, andere Werte werden verworfen. Möchten Sie wirklich fortfahren?",
|
|
44
44
|
cancel: "Zusammenführen abbrechen",
|
|
45
45
|
confirm: "Zusammenführen fortsetzen",
|
|
46
|
-
warning: "Warnung"
|
|
47
|
-
dismantleMergeCellWarning: "Dadurch werden einige verbundene Zellen aufgeteilt. Möchten Sie fortfahren?"
|
|
46
|
+
warning: "Warnung"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/en-US.js
CHANGED
|
@@ -58,8 +58,7 @@ const locale = { sheets: {
|
|
|
58
58
|
title: "Continue merging would only keep the upper-left cell value, discard other values. Are you sure to continue?",
|
|
59
59
|
cancel: "Cancel merging",
|
|
60
60
|
confirm: "Continue merging",
|
|
61
|
-
warning: "Warning"
|
|
62
|
-
dismantleMergeCellWarning: "This will cause some merged cells to be split. Do you want to continue?"
|
|
61
|
+
warning: "Warning"
|
|
63
62
|
} }
|
|
64
63
|
} };
|
|
65
64
|
|
package/lib/cjs/locale/es-ES.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Continuar la fusión solo conservará el valor de la celda superior izquierda, descartando los otros valores. ¿Estás seguro de continuar?",
|
|
44
44
|
cancel: "Cancelar fusión",
|
|
45
45
|
confirm: "Continuar fusión",
|
|
46
|
-
warning: "Advertencia"
|
|
47
|
-
dismantleMergeCellWarning: "Esto dividirá algunas celdas fusionadas. ¿Quieres continuar?"
|
|
46
|
+
warning: "Advertencia"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/fa-IR.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "ادغام ادامهدار فقط مقدار سلول بالا-چپ را حفظ میکند و سایر مقادیر را حذف میکند. آیا مطمئن هستید که ادامه میدهید؟",
|
|
44
44
|
cancel: "لغو ادغام",
|
|
45
45
|
confirm: "ادغام ادامهدار",
|
|
46
|
-
warning: "هشدار"
|
|
47
|
-
dismantleMergeCellWarning: "این باعث تقسیم برخی سلولهای ادغامشده میشود. آیا میخواهید ادامه دهید؟"
|
|
46
|
+
warning: "هشدار"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/fr-FR.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Continuer la fusion ne conservera que la valeur de la cellule en haut à gauche, en supprimant les autres valeurs. Êtes-vous sûr de vouloir continuer ?",
|
|
44
44
|
cancel: "Annuler la fusion",
|
|
45
45
|
confirm: "Continuer la fusion",
|
|
46
|
-
warning: "Avertissement"
|
|
47
|
-
dismantleMergeCellWarning: "Cela divisera certaines cellules fusionnées. Voulez-vous continuer ?"
|
|
46
|
+
warning: "Avertissement"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/id-ID.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Melanjutkan penggabungan hanya akan menyimpan nilai sel kiri atas, membuang nilai lainnya. Apakah Anda yakin ingin melanjutkan?",
|
|
44
44
|
cancel: "Batalkan penggabungan",
|
|
45
45
|
confirm: "Lanjutkan penggabungan",
|
|
46
|
-
warning: "Peringatan"
|
|
47
|
-
dismantleMergeCellWarning: "Ini akan menyebabkan beberapa sel gabungan terpisah. Apakah Anda ingin melanjutkan?"
|
|
46
|
+
warning: "Peringatan"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/it-IT.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Continuando l'unione verrà mantenuto solo il valore della cella in alto a sinistra, scartando gli altri valori. Continuare?",
|
|
44
44
|
cancel: "Annulla unione",
|
|
45
45
|
confirm: "Continua unione",
|
|
46
|
-
warning: "Avviso"
|
|
47
|
-
dismantleMergeCellWarning: "Questo comporterà la divisione di alcune celle unite. Continuare?"
|
|
46
|
+
warning: "Avviso"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/ja-JP.js
CHANGED
package/lib/cjs/locale/ko-KR.js
CHANGED
package/lib/cjs/locale/pl-PL.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Kontynuowanie scalania spowoduje zachowanie tylko wartości komórki w lewym górnym rogu, pozostałe wartości zostaną odrzucone. Czy na pewno chcesz kontynuować?",
|
|
44
44
|
cancel: "Anuluj scalanie",
|
|
45
45
|
confirm: "Kontynuuj scalanie",
|
|
46
|
-
warning: "Ostrzeżenie"
|
|
47
|
-
dismantleMergeCellWarning: "Spowoduje to rozdzielenie niektórych scalonych komórek. Czy chcesz kontynuować?"
|
|
46
|
+
warning: "Ostrzeżenie"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/pt-BR.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Continuar a mesclagem manterá apenas o valor da célula superior esquerda, descartando os outros valores. Tem certeza de que deseja continuar?",
|
|
44
44
|
cancel: "Cancelar mesclagem",
|
|
45
45
|
confirm: "Continuar mesclagem",
|
|
46
|
-
warning: "Aviso"
|
|
47
|
-
dismantleMergeCellWarning: "Isso fará com que algumas células mescladas sejam divididas. Deseja continuar?"
|
|
46
|
+
warning: "Aviso"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/ru-RU.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Продолжение объединения сохранит только значение верхней левой ячейки, остальные значения будут удалены. Вы уверены, что хотите продолжить?",
|
|
44
44
|
cancel: "Отменить объединение",
|
|
45
45
|
confirm: "Продолжить объединение",
|
|
46
|
-
warning: "Предупреждение"
|
|
47
|
-
dismantleMergeCellWarning: "Это приведет к разделению некоторых объединенных ячеек. Вы хотите продолжить?"
|
|
46
|
+
warning: "Предупреждение"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/sk-SK.js
CHANGED
|
@@ -25,11 +25,11 @@ const locale = { sheets: {
|
|
|
25
25
|
editErr: "Rozsah je chránený a nemáte oprávnenie na úpravy. Ak chcete upravovať, kontaktujte autora.",
|
|
26
26
|
formulaErr: "Rozsah alebo referenčný rozsah je chránený a nemáte oprávnenie na úpravu. Ak chcete upravovať, kontaktujte autora.",
|
|
27
27
|
insertOrDeleteMoveRangeErr: "Vložený alebo odstránený rozsah sa prekrýva s chráneným rozsahom a táto operácia zatiaľ nie je podporovaná.",
|
|
28
|
-
insertRowColErr: "Rozsah je chránený a nemáte
|
|
28
|
+
insertRowColErr: "Rozsah je chránený a nemáte oprávnenie vkladať riadky a stĺpce. Ak chcete vložiť riadky a stĺpce, kontaktujte autora.",
|
|
29
29
|
moveRangeErr: "Rozsah je chránený a nemáte oprávnenie presúvať výber. Ak chcete presúvať výber, kontaktujte autora.",
|
|
30
30
|
moveRowColErr: "Rozsah je chránený a nemáte oprávnenie presúvať riadky a stĺpce. Ak chcete presúvať riadky a stĺpce, kontaktujte autora.",
|
|
31
31
|
operatorSheetErr: "Hárok je chránený a nemáte oprávnenie pracovať s hárkom. Ak chcete pracovať s hárkom, kontaktujte autora.",
|
|
32
|
-
removeRowColErr: "Rozsah je chránený a nemáte
|
|
32
|
+
removeRowColErr: "Rozsah je chránený a nemáte oprávnenie odstraňovať riadky a stĺpce. Ak chcete odstrániť riadky a stĺpce, kontaktujte autora.",
|
|
33
33
|
setRowColStyleErr: "Rozsah je chránený a nemáte oprávnenie nastavovať štýly riadkov a stĺpcov. Ak chcete nastavovať štýly riadkov a stĺpcov, kontaktujte autora.",
|
|
34
34
|
setStyleErr: "Rozsah je chránený a nemáte oprávnenie nastavovať štýly. Ak chcete nastavovať štýly, kontaktujte autora."
|
|
35
35
|
} },
|
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Pokračovanie v zlúčení zachová iba hodnotu hornej ľavej bunky, ostatné hodnoty sa zahodia. Ste si istí, že chcete pokračovať?",
|
|
44
44
|
cancel: "Zrušiť zlúčenie",
|
|
45
45
|
confirm: "Pokračovať v zlúčení",
|
|
46
|
-
warning: "Varovanie"
|
|
47
|
-
dismantleMergeCellWarning: "To spôsobí rozdelenie niektorých zlúčených buniek. Chcete pokračovať?"
|
|
46
|
+
warning: "Varovanie"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/vi-VN.js
CHANGED
|
@@ -43,8 +43,7 @@ const locale = { sheets: {
|
|
|
43
43
|
title: "Tiếp tục hợp nhất chỉ giữ lại giá trị của ô trên cùng bên trái, loại bỏ các giá trị khác. Bạn có chắc chắn muốn tiếp tục không?",
|
|
44
44
|
cancel: "Hủy hợp nhất",
|
|
45
45
|
confirm: "Tiếp tục hợp nhất",
|
|
46
|
-
warning: "Cảnh báo"
|
|
47
|
-
dismantleMergeCellWarning: "Điều này sẽ khiến một số ô đã hợp nhất bị tách ra. Bạn có muốn tiếp tục không?"
|
|
46
|
+
warning: "Cảnh báo"
|
|
48
47
|
} }
|
|
49
48
|
} };
|
|
50
49
|
|
package/lib/cjs/locale/zh-CN.js
CHANGED
package/lib/cjs/locale/zh-HK.js
CHANGED