@univerjs/sheets-table 0.21.1 → 0.22.0
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/README.md +30 -9
- package/lib/cjs/index.js +216 -202
- package/lib/es/index.js +216 -202
- package/lib/index.js +216 -202
- package/lib/umd/index.js +1 -1
- package/package.json +12 -10
- package/lib/types/model/filter-util/manual.d.ts +0 -22
package/lib/es/index.js
CHANGED
|
@@ -3,19 +3,6 @@ import { IDefinedNamesService, RemoveSuperTableMutation, SetSuperTableMutation }
|
|
|
3
3
|
import { AddRangeThemeMutation, CopySheetCommand, IExclusiveRangeService, INTERCEPTOR_POINT, InsertColCommand, InsertColMutation, InsertRowCommand, InsertRowMutation, RangeThemeStyle, RefRangeService, RemoveColCommand, RemoveColMutation, RemoveRangeThemeMutation, RemoveRowCommand, RemoveRowMutation, RemoveSheetCommand, SheetInterceptorService, SheetRangeThemeModel, SheetRangeThemeService, SheetsSelectionsService, ZebraCrossingCacheController, getMoveRangeUndoRedoMutations, getSheetCommandTarget } from "@univerjs/sheets";
|
|
4
4
|
import { BehaviorSubject, Subject, filter, switchMap } from "rxjs";
|
|
5
5
|
|
|
6
|
-
//#region src/types/type.ts
|
|
7
|
-
let IRangeOperationTypeEnum = /* @__PURE__ */ function(IRangeOperationTypeEnum) {
|
|
8
|
-
IRangeOperationTypeEnum["Insert"] = "insert";
|
|
9
|
-
IRangeOperationTypeEnum["Delete"] = "delete";
|
|
10
|
-
return IRangeOperationTypeEnum;
|
|
11
|
-
}({});
|
|
12
|
-
let IRowColTypeEnum = /* @__PURE__ */ function(IRowColTypeEnum) {
|
|
13
|
-
IRowColTypeEnum["Row"] = "row";
|
|
14
|
-
IRowColTypeEnum["Col"] = "column";
|
|
15
|
-
return IRowColTypeEnum;
|
|
16
|
-
}({});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
6
|
//#region src/types/enum.ts
|
|
20
7
|
/**
|
|
21
8
|
* Copyright 2023-present DreamNum Co., Ltd.
|
|
@@ -175,23 +162,23 @@ function convertCellDataToString(cellData) {
|
|
|
175
162
|
}
|
|
176
163
|
function getTableFilterState(tableFilter, sortState) {
|
|
177
164
|
if (tableFilter !== void 0 && tableFilter !== null) switch (sortState) {
|
|
178
|
-
case
|
|
179
|
-
case
|
|
180
|
-
default: return
|
|
165
|
+
case "asc": return 2;
|
|
166
|
+
case "desc": return 3;
|
|
167
|
+
default: return 1;
|
|
181
168
|
}
|
|
182
169
|
else switch (sortState) {
|
|
183
|
-
case
|
|
184
|
-
case
|
|
185
|
-
default: return
|
|
170
|
+
case "asc": return 5;
|
|
171
|
+
case "desc": return 6;
|
|
172
|
+
default: return 4;
|
|
186
173
|
}
|
|
187
174
|
}
|
|
188
175
|
function isConditionFilter(filter) {
|
|
189
176
|
if (!filter) return false;
|
|
190
|
-
return filter.filterType ===
|
|
177
|
+
return filter.filterType === "condition";
|
|
191
178
|
}
|
|
192
179
|
function isManualTableFilter(filter) {
|
|
193
180
|
if (!filter) return false;
|
|
194
|
-
return filter.filterType ===
|
|
181
|
+
return filter.filterType === "manual";
|
|
195
182
|
}
|
|
196
183
|
/**
|
|
197
184
|
* Get existing names including sheet names, table names and defined names to check for duplicates table name.
|
|
@@ -319,7 +306,7 @@ const tableThemeConfig = tableDefaultThemeStyleArr.map((item, index) => {
|
|
|
319
306
|
});
|
|
320
307
|
|
|
321
308
|
//#endregion
|
|
322
|
-
//#region \0@oxc-project+runtime@0.
|
|
309
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/typeof.js
|
|
323
310
|
function _typeof(o) {
|
|
324
311
|
"@babel/helpers - typeof";
|
|
325
312
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -330,7 +317,7 @@ function _typeof(o) {
|
|
|
330
317
|
}
|
|
331
318
|
|
|
332
319
|
//#endregion
|
|
333
|
-
//#region \0@oxc-project+runtime@0.
|
|
320
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/toPrimitive.js
|
|
334
321
|
function toPrimitive(t, r) {
|
|
335
322
|
if ("object" != _typeof(t) || !t) return t;
|
|
336
323
|
var e = t[Symbol.toPrimitive];
|
|
@@ -343,14 +330,14 @@ function toPrimitive(t, r) {
|
|
|
343
330
|
}
|
|
344
331
|
|
|
345
332
|
//#endregion
|
|
346
|
-
//#region \0@oxc-project+runtime@0.
|
|
333
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/toPropertyKey.js
|
|
347
334
|
function toPropertyKey(t) {
|
|
348
335
|
var i = toPrimitive(t, "string");
|
|
349
336
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
350
337
|
}
|
|
351
338
|
|
|
352
339
|
//#endregion
|
|
353
|
-
//#region \0@oxc-project+runtime@0.
|
|
340
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/defineProperty.js
|
|
354
341
|
function _defineProperty(e, r, t) {
|
|
355
342
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
356
343
|
value: t,
|
|
@@ -372,7 +359,7 @@ var TableColumn = class {
|
|
|
372
359
|
_defineProperty(this, "style", void 0);
|
|
373
360
|
this.id = id;
|
|
374
361
|
this.displayName = name;
|
|
375
|
-
this.dataType =
|
|
362
|
+
this.dataType = "string";
|
|
376
363
|
this.formula = "";
|
|
377
364
|
this.meta = {};
|
|
378
365
|
this.style = {};
|
|
@@ -762,118 +749,118 @@ const yearToDate = (date, anchorTime = /* @__PURE__ */ new Date()) => {
|
|
|
762
749
|
};
|
|
763
750
|
function getDateFilterExecuteFunc(filterInfo) {
|
|
764
751
|
switch (filterInfo.compareType) {
|
|
765
|
-
case
|
|
752
|
+
case "equal": {
|
|
766
753
|
const expected = new Date(filterInfo.expectedValue);
|
|
767
754
|
return (date) => date.getTime() === expected.getTime();
|
|
768
755
|
}
|
|
769
|
-
case
|
|
756
|
+
case "notEqual": {
|
|
770
757
|
const expected = new Date(filterInfo.expectedValue);
|
|
771
758
|
return (date) => date.getTime() !== expected.getTime();
|
|
772
759
|
}
|
|
773
|
-
case
|
|
760
|
+
case "after": {
|
|
774
761
|
const expected = new Date(filterInfo.expectedValue);
|
|
775
762
|
return (date) => date.getTime() > expected.getTime();
|
|
776
763
|
}
|
|
777
|
-
case
|
|
764
|
+
case "before": {
|
|
778
765
|
const expected = new Date(filterInfo.expectedValue);
|
|
779
766
|
return (date) => date.getTime() < expected.getTime();
|
|
780
767
|
}
|
|
781
|
-
case
|
|
768
|
+
case "afterOrEqual": {
|
|
782
769
|
const expected = new Date(filterInfo.expectedValue);
|
|
783
770
|
return (date) => date.getTime() >= expected.getTime();
|
|
784
771
|
}
|
|
785
|
-
case
|
|
772
|
+
case "beforeOrEqual": {
|
|
786
773
|
const expected = new Date(filterInfo.expectedValue);
|
|
787
774
|
return (date) => date.getTime() <= expected.getTime();
|
|
788
775
|
}
|
|
789
|
-
case
|
|
776
|
+
case "between": return (date) => {
|
|
790
777
|
const [start, end] = filterInfo.expectedValue;
|
|
791
778
|
return date.getTime() >= new Date(start).getTime() && date.getTime() <= new Date(end).getTime();
|
|
792
779
|
};
|
|
793
|
-
case
|
|
780
|
+
case "notBetween": return (date) => {
|
|
794
781
|
const [start, end] = filterInfo.expectedValue;
|
|
795
782
|
return date.getTime() < new Date(start).getTime() || date.getTime() > new Date(end).getTime();
|
|
796
783
|
};
|
|
797
|
-
case
|
|
784
|
+
case "today": {
|
|
798
785
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
799
786
|
return (date) => today(date, anchorTime);
|
|
800
787
|
}
|
|
801
|
-
case
|
|
788
|
+
case "yesterday": {
|
|
802
789
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
803
790
|
return (date) => yesterday(date, anchorTime);
|
|
804
791
|
}
|
|
805
|
-
case
|
|
792
|
+
case "tomorrow": {
|
|
806
793
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
807
794
|
return (date) => tomorrow(date, anchorTime);
|
|
808
795
|
}
|
|
809
|
-
case
|
|
796
|
+
case "thisWeek": {
|
|
810
797
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
811
798
|
return (date) => thisWeek(date, anchorTime);
|
|
812
799
|
}
|
|
813
|
-
case
|
|
800
|
+
case "lastWeek": {
|
|
814
801
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
815
802
|
return (date) => lastWeek(date, anchorTime);
|
|
816
803
|
}
|
|
817
|
-
case
|
|
804
|
+
case "nextWeek": {
|
|
818
805
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
819
806
|
return (date) => nextWeek(date, anchorTime);
|
|
820
807
|
}
|
|
821
|
-
case
|
|
808
|
+
case "thisMonth": {
|
|
822
809
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
823
810
|
return (date) => thisMonth(date, anchorTime);
|
|
824
811
|
}
|
|
825
|
-
case
|
|
812
|
+
case "lastMonth": {
|
|
826
813
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
827
814
|
return (date) => lastMonth(date, anchorTime);
|
|
828
815
|
}
|
|
829
|
-
case
|
|
816
|
+
case "nextMonth": {
|
|
830
817
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
831
818
|
return (date) => nextMonth(date, anchorTime);
|
|
832
819
|
}
|
|
833
|
-
case
|
|
820
|
+
case "thisQuarter": {
|
|
834
821
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
835
822
|
return (date) => thisQuarter(date, anchorTime);
|
|
836
823
|
}
|
|
837
|
-
case
|
|
824
|
+
case "lastQuarter": {
|
|
838
825
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
839
826
|
return (date) => lastQuarter(date, anchorTime);
|
|
840
827
|
}
|
|
841
|
-
case
|
|
828
|
+
case "nextQuarter": {
|
|
842
829
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
843
830
|
return (date) => nextQuarter(date, anchorTime);
|
|
844
831
|
}
|
|
845
|
-
case
|
|
832
|
+
case "thisYear": {
|
|
846
833
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
847
834
|
return (date) => thisYear(date, anchorTime);
|
|
848
835
|
}
|
|
849
|
-
case
|
|
836
|
+
case "lastYear": {
|
|
850
837
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
851
838
|
return (date) => lastYear(date, anchorTime);
|
|
852
839
|
}
|
|
853
|
-
case
|
|
840
|
+
case "nextYear": {
|
|
854
841
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
855
842
|
return (date) => nextYear(date, anchorTime);
|
|
856
843
|
}
|
|
857
|
-
case
|
|
844
|
+
case "yearToDate": {
|
|
858
845
|
const anchorTime = filterInfo.anchorTime ? new Date(filterInfo.anchorTime) : /* @__PURE__ */ new Date();
|
|
859
846
|
return (date) => yearToDate(date, anchorTime);
|
|
860
847
|
}
|
|
861
|
-
case
|
|
862
|
-
case
|
|
863
|
-
case
|
|
864
|
-
case
|
|
865
|
-
case
|
|
866
|
-
case
|
|
867
|
-
case
|
|
868
|
-
case
|
|
869
|
-
case
|
|
870
|
-
case
|
|
871
|
-
case
|
|
872
|
-
case
|
|
873
|
-
case
|
|
874
|
-
case
|
|
875
|
-
case
|
|
876
|
-
case
|
|
848
|
+
case "m1": return dateM1;
|
|
849
|
+
case "m2": return dateM2;
|
|
850
|
+
case "m3": return dateM3;
|
|
851
|
+
case "m4": return dateM4;
|
|
852
|
+
case "m5": return dateM5;
|
|
853
|
+
case "m6": return dateM6;
|
|
854
|
+
case "m7": return dateM7;
|
|
855
|
+
case "m8": return dateM8;
|
|
856
|
+
case "m9": return dateM9;
|
|
857
|
+
case "m10": return dateM10;
|
|
858
|
+
case "m11": return dateM11;
|
|
859
|
+
case "m12": return dateM12;
|
|
860
|
+
case "q1": return dateQ1;
|
|
861
|
+
case "q2": return dateQ2;
|
|
862
|
+
case "q3": return dateQ3;
|
|
863
|
+
case "q4": return dateQ4;
|
|
877
864
|
default: throw new Error("Unsupported compare type");
|
|
878
865
|
}
|
|
879
866
|
}
|
|
@@ -1080,53 +1067,53 @@ const getTopN = (list, top, expectedValue) => {
|
|
|
1080
1067
|
};
|
|
1081
1068
|
function getNumberFilterExecuteFunc(filter, calculatedOptions) {
|
|
1082
1069
|
switch (filter.compareType) {
|
|
1083
|
-
case
|
|
1070
|
+
case "equal": {
|
|
1084
1071
|
const expectedValue = Number(filter.expectedValue);
|
|
1085
1072
|
return (value) => value === expectedValue;
|
|
1086
1073
|
}
|
|
1087
|
-
case
|
|
1074
|
+
case "notEqual": {
|
|
1088
1075
|
const expectedValue = Number(filter.expectedValue);
|
|
1089
1076
|
return (value) => value !== expectedValue;
|
|
1090
1077
|
}
|
|
1091
|
-
case
|
|
1078
|
+
case "greaterThan": {
|
|
1092
1079
|
const expectedValue = Number(filter.expectedValue);
|
|
1093
1080
|
return (value) => value > expectedValue;
|
|
1094
1081
|
}
|
|
1095
|
-
case
|
|
1082
|
+
case "greaterThanOrEqual": {
|
|
1096
1083
|
const expectedValue = Number(filter.expectedValue);
|
|
1097
1084
|
return (value) => value >= expectedValue;
|
|
1098
1085
|
}
|
|
1099
|
-
case
|
|
1086
|
+
case "lessThan": {
|
|
1100
1087
|
const expectedValue = Number(filter.expectedValue);
|
|
1101
1088
|
return (value) => value < expectedValue;
|
|
1102
1089
|
}
|
|
1103
|
-
case
|
|
1090
|
+
case "lessThanOrEqual": {
|
|
1104
1091
|
const expectedValue = Number(filter.expectedValue);
|
|
1105
1092
|
return (value) => value <= expectedValue;
|
|
1106
1093
|
}
|
|
1107
|
-
case
|
|
1094
|
+
case "between": {
|
|
1108
1095
|
const [min, max] = filter.expectedValue;
|
|
1109
1096
|
const minValue = Number(min);
|
|
1110
1097
|
const maxValue = Number(max);
|
|
1111
1098
|
if (minValue > maxValue) return (value) => value >= maxValue && value <= minValue;
|
|
1112
1099
|
return (value) => value >= minValue && value <= maxValue;
|
|
1113
1100
|
}
|
|
1114
|
-
case
|
|
1101
|
+
case "notBetween": {
|
|
1115
1102
|
const [min, max] = filter.expectedValue;
|
|
1116
1103
|
const minValue = Number(min);
|
|
1117
1104
|
const maxValue = Number(max);
|
|
1118
1105
|
if (minValue > maxValue) return (value) => value < maxValue || value > minValue;
|
|
1119
1106
|
return (value) => value < minValue || value > maxValue;
|
|
1120
1107
|
}
|
|
1121
|
-
case
|
|
1108
|
+
case "above": {
|
|
1122
1109
|
const average = calculatedOptions.average;
|
|
1123
1110
|
return (value) => above(value, average);
|
|
1124
1111
|
}
|
|
1125
|
-
case
|
|
1112
|
+
case "below": {
|
|
1126
1113
|
const average = calculatedOptions.average;
|
|
1127
1114
|
return (value) => below(value, average);
|
|
1128
1115
|
}
|
|
1129
|
-
case
|
|
1116
|
+
case "topN": {
|
|
1130
1117
|
const list = calculatedOptions.list;
|
|
1131
1118
|
const top = Number(filter.expectedValue);
|
|
1132
1119
|
return (value) => getTopN(list, top, value);
|
|
@@ -1156,12 +1143,12 @@ const textEndWith = (compareValue, expectedValue) => {
|
|
|
1156
1143
|
};
|
|
1157
1144
|
function getTextFilterExecuteFunc(filter) {
|
|
1158
1145
|
switch (filter.compareType) {
|
|
1159
|
-
case
|
|
1160
|
-
case
|
|
1161
|
-
case
|
|
1162
|
-
case
|
|
1163
|
-
case
|
|
1164
|
-
case
|
|
1146
|
+
case "equal": return (value) => textEqual(value, filter.expectedValue);
|
|
1147
|
+
case "notEqual": return (value) => textNotEqual(value, filter.expectedValue);
|
|
1148
|
+
case "contains": return (value) => textContain(value, filter.expectedValue);
|
|
1149
|
+
case "notContains": return (value) => textNotContain(value, filter.expectedValue);
|
|
1150
|
+
case "startsWith": return (value) => textStartWith(value, filter.expectedValue);
|
|
1151
|
+
case "endsWith": return (value) => textEndWith(value, filter.expectedValue);
|
|
1165
1152
|
default:
|
|
1166
1153
|
console.error(`Unknown filter operator: ${filter.compareType}`);
|
|
1167
1154
|
return (value) => true;
|
|
@@ -1171,27 +1158,27 @@ function getTextFilterExecuteFunc(filter) {
|
|
|
1171
1158
|
//#endregion
|
|
1172
1159
|
//#region src/model/filter-util/condition.ts
|
|
1173
1160
|
const NumberDynamicFilterCompareTypeSet = new Set([
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1161
|
+
"above",
|
|
1162
|
+
"below",
|
|
1163
|
+
"topN"
|
|
1177
1164
|
]);
|
|
1178
1165
|
const DateDynamicFilterCompareTypeSet = new Set([
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1166
|
+
"today",
|
|
1167
|
+
"yesterday",
|
|
1168
|
+
"tomorrow",
|
|
1169
|
+
"thisWeek",
|
|
1170
|
+
"lastWeek",
|
|
1171
|
+
"nextWeek",
|
|
1172
|
+
"thisMonth",
|
|
1173
|
+
"lastMonth",
|
|
1174
|
+
"nextMonth",
|
|
1175
|
+
"thisQuarter",
|
|
1176
|
+
"lastQuarter",
|
|
1177
|
+
"nextQuarter",
|
|
1178
|
+
"nextYear",
|
|
1179
|
+
"thisYear",
|
|
1180
|
+
"lastYear",
|
|
1181
|
+
"yearToDate"
|
|
1195
1182
|
]);
|
|
1196
1183
|
function isNumberDynamicFilter(compareType) {
|
|
1197
1184
|
return NumberDynamicFilterCompareTypeSet.has(compareType);
|
|
@@ -1199,21 +1186,21 @@ function isNumberDynamicFilter(compareType) {
|
|
|
1199
1186
|
function getConditionExecuteFunc(filter, calculatedOptions) {
|
|
1200
1187
|
if (isNumberDynamicFilter(filter.filterInfo.compareType)) return (value) => true;
|
|
1201
1188
|
else switch (filter.filterInfo.conditionType) {
|
|
1202
|
-
case
|
|
1203
|
-
case
|
|
1204
|
-
case
|
|
1205
|
-
case
|
|
1189
|
+
case "date": return getDateFilterExecuteFunc(filter.filterInfo);
|
|
1190
|
+
case "number": return getNumberFilterExecuteFunc(filter.filterInfo, calculatedOptions);
|
|
1191
|
+
case "string": return getTextFilterExecuteFunc(filter.filterInfo);
|
|
1192
|
+
case "logic":
|
|
1206
1193
|
default: return (value) => true;
|
|
1207
1194
|
}
|
|
1208
1195
|
}
|
|
1209
1196
|
function getCellValueWithConditionType(sheet, row, col, conditionType) {
|
|
1210
1197
|
switch (conditionType) {
|
|
1211
|
-
case
|
|
1198
|
+
case "date": {
|
|
1212
1199
|
const dateNumber = getNumberCellValue(sheet, row, col);
|
|
1213
1200
|
return dateNumber ? excelSerialToDateTime(dateNumber) : null;
|
|
1214
1201
|
}
|
|
1215
|
-
case
|
|
1216
|
-
case
|
|
1202
|
+
case "number": return getNumberCellValue(sheet, row, col);
|
|
1203
|
+
case "string":
|
|
1217
1204
|
default: return getStringCellValue(sheet, row, col);
|
|
1218
1205
|
}
|
|
1219
1206
|
}
|
|
@@ -1279,7 +1266,7 @@ var TableFilters = class {
|
|
|
1279
1266
|
}
|
|
1280
1267
|
getFilterState(columnIndex) {
|
|
1281
1268
|
var _this$_tableSortInfo;
|
|
1282
|
-
const sortState = ((_this$_tableSortInfo = this._tableSortInfo) === null || _this$_tableSortInfo === void 0 ? void 0 : _this$_tableSortInfo.columnIndex) === columnIndex ? this._tableSortInfo.sortState :
|
|
1269
|
+
const sortState = ((_this$_tableSortInfo = this._tableSortInfo) === null || _this$_tableSortInfo === void 0 ? void 0 : _this$_tableSortInfo.columnIndex) === columnIndex ? this._tableSortInfo.sortState : "none";
|
|
1283
1270
|
return getTableFilterState(this._tableColumnFilterList[columnIndex], sortState);
|
|
1284
1271
|
}
|
|
1285
1272
|
getSortState() {
|
|
@@ -1309,7 +1296,7 @@ var TableFilters = class {
|
|
|
1309
1296
|
const column = startColumn + columnIndex;
|
|
1310
1297
|
const executeFunc = this.getExecuteFunc(sheet, range, columnIndex, filter);
|
|
1311
1298
|
for (let row = startRow; row <= endRow; row++) {
|
|
1312
|
-
const conditionType = isConditionFilter(filter) ? filter.filterInfo.conditionType :
|
|
1299
|
+
const conditionType = isConditionFilter(filter) ? filter.filterInfo.conditionType : "string";
|
|
1313
1300
|
if (getCellValueWithConditionType(sheet, row, column, conditionType) === null) filterOutRows.add(row);
|
|
1314
1301
|
else if (!executeFunc(getCellValueWithConditionType(sheet, row, column, conditionType))) filterOutRows.add(row);
|
|
1315
1302
|
}
|
|
@@ -1322,7 +1309,7 @@ var TableFilters = class {
|
|
|
1322
1309
|
let count = 0;
|
|
1323
1310
|
let sum = 0;
|
|
1324
1311
|
for (let row = startRow; row <= endRow; row++) {
|
|
1325
|
-
const val = getCellValueWithConditionType(sheet, row, column,
|
|
1312
|
+
const val = getCellValueWithConditionType(sheet, row, column, "number");
|
|
1326
1313
|
if (val !== null) {
|
|
1327
1314
|
list.push(val);
|
|
1328
1315
|
count++;
|
|
@@ -1335,12 +1322,12 @@ var TableFilters = class {
|
|
|
1335
1322
|
};
|
|
1336
1323
|
}
|
|
1337
1324
|
getExecuteFunc(sheet, range, columnIndex, filter) {
|
|
1338
|
-
if (filter.filterType ===
|
|
1325
|
+
if (filter.filterType === "manual") {
|
|
1339
1326
|
const valuesSet = new Set(filter.values);
|
|
1340
1327
|
return (value) => {
|
|
1341
1328
|
return valuesSet.has(value);
|
|
1342
1329
|
};
|
|
1343
|
-
} else if (filter.filterType ===
|
|
1330
|
+
} else if (filter.filterType === "condition") return getConditionExecuteFunc(filter, isNumberDynamicFilter(filter.filterInfo.compareType) ? this._getNumberCalculatedOptions(sheet, range, columnIndex) : void 0);
|
|
1344
1331
|
else return (value) => {
|
|
1345
1332
|
return true;
|
|
1346
1333
|
};
|
|
@@ -1589,7 +1576,7 @@ var Table = class {
|
|
|
1589
1576
|
};
|
|
1590
1577
|
|
|
1591
1578
|
//#endregion
|
|
1592
|
-
//#region \0@oxc-project+runtime@0.
|
|
1579
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/decorateParam.js
|
|
1593
1580
|
function __decorateParam(paramIndex, decorator) {
|
|
1594
1581
|
return function(target, key) {
|
|
1595
1582
|
decorator(target, key, paramIndex);
|
|
@@ -1597,7 +1584,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
1597
1584
|
}
|
|
1598
1585
|
|
|
1599
1586
|
//#endregion
|
|
1600
|
-
//#region \0@oxc-project+runtime@0.
|
|
1587
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/decorate.js
|
|
1601
1588
|
function __decorate(decorators, target, key, desc) {
|
|
1602
1589
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1603
1590
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -1798,7 +1785,7 @@ let TableManager = class TableManager extends Disposable {
|
|
|
1798
1785
|
const { operationType, rowColType, index, count, columnsJson } = config;
|
|
1799
1786
|
const oldRange = table.getRange();
|
|
1800
1787
|
const newRange = { ...oldRange };
|
|
1801
|
-
if (operationType ===
|
|
1788
|
+
if (operationType === "insert") {
|
|
1802
1789
|
if (rowColType === "row") newRange.endRow += count;
|
|
1803
1790
|
else if (rowColType === "column") {
|
|
1804
1791
|
newRange.endColumn += count;
|
|
@@ -2020,7 +2007,7 @@ let SheetTableService = class SheetTableService extends Disposable {
|
|
|
2020
2007
|
addFilter(unitId, tableId, column, filter) {
|
|
2021
2008
|
this._tableManager.addFilter(unitId, tableId, column, filter);
|
|
2022
2009
|
}
|
|
2023
|
-
getCellValueWithConditionType(sheet, row, col, conditionType =
|
|
2010
|
+
getCellValueWithConditionType(sheet, row, col, conditionType = "string") {
|
|
2024
2011
|
return getCellValueWithConditionType(sheet, row, col, conditionType);
|
|
2025
2012
|
}
|
|
2026
2013
|
};
|
|
@@ -2098,12 +2085,15 @@ const AddSheetTableCommand = {
|
|
|
2098
2085
|
unitId: params.unitId
|
|
2099
2086
|
}
|
|
2100
2087
|
});
|
|
2101
|
-
if (sequenceExecute(redos, commandService))
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2088
|
+
if (sequenceExecute(redos, commandService).result) {
|
|
2089
|
+
undoRedoService.pushUndoRedo({
|
|
2090
|
+
unitID: params.unitId,
|
|
2091
|
+
undoMutations: undos,
|
|
2092
|
+
redoMutations: redos
|
|
2093
|
+
});
|
|
2094
|
+
return true;
|
|
2095
|
+
}
|
|
2096
|
+
return false;
|
|
2107
2097
|
}
|
|
2108
2098
|
};
|
|
2109
2099
|
|
|
@@ -2168,12 +2158,15 @@ const AddTableThemeCommand = {
|
|
|
2168
2158
|
styleName: themeStyle.getName()
|
|
2169
2159
|
}
|
|
2170
2160
|
});
|
|
2171
|
-
if (sequenceExecute(redos, accessor.get(ICommandService)))
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2161
|
+
if (sequenceExecute(redos, accessor.get(ICommandService)).result) {
|
|
2162
|
+
accessor.get(IUndoRedoService).pushUndoRedo({
|
|
2163
|
+
unitID: unitId,
|
|
2164
|
+
undoMutations: undos,
|
|
2165
|
+
redoMutations: redos
|
|
2166
|
+
});
|
|
2167
|
+
return true;
|
|
2168
|
+
}
|
|
2169
|
+
return false;
|
|
2177
2170
|
}
|
|
2178
2171
|
};
|
|
2179
2172
|
|
|
@@ -2211,12 +2204,15 @@ const DeleteSheetTableCommand = {
|
|
|
2211
2204
|
options: tableConfig.options
|
|
2212
2205
|
}
|
|
2213
2206
|
});
|
|
2214
|
-
if (sequenceExecute(redos, commandService))
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2207
|
+
if (sequenceExecute(redos, commandService).result) {
|
|
2208
|
+
undoRedoService.pushUndoRedo({
|
|
2209
|
+
unitID: params.unitId,
|
|
2210
|
+
undoMutations: undos,
|
|
2211
|
+
redoMutations: redos
|
|
2212
|
+
});
|
|
2213
|
+
return true;
|
|
2214
|
+
}
|
|
2215
|
+
return false;
|
|
2220
2216
|
}
|
|
2221
2217
|
};
|
|
2222
2218
|
|
|
@@ -2296,12 +2292,15 @@ const RemoveTableThemeCommand = {
|
|
|
2296
2292
|
}
|
|
2297
2293
|
});
|
|
2298
2294
|
}
|
|
2299
|
-
if (sequenceExecute(redos, accessor.get(ICommandService)))
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2295
|
+
if (sequenceExecute(redos, accessor.get(ICommandService)).result) {
|
|
2296
|
+
accessor.get(IUndoRedoService).pushUndoRedo({
|
|
2297
|
+
unitID: unitId,
|
|
2298
|
+
redoMutations: redos,
|
|
2299
|
+
undoMutations: undos
|
|
2300
|
+
});
|
|
2301
|
+
return true;
|
|
2302
|
+
}
|
|
2303
|
+
return false;
|
|
2305
2304
|
}
|
|
2306
2305
|
};
|
|
2307
2306
|
|
|
@@ -2334,7 +2333,7 @@ const SetSheetTableCommand = {
|
|
|
2334
2333
|
}
|
|
2335
2334
|
if (rowColOperation) {
|
|
2336
2335
|
oldTableConfig.rowColOperation = {
|
|
2337
|
-
operationType: rowColOperation.operationType ===
|
|
2336
|
+
operationType: rowColOperation.operationType === "insert" ? "delete" : "insert",
|
|
2338
2337
|
rowColType: rowColOperation.rowColType,
|
|
2339
2338
|
index: rowColOperation.index,
|
|
2340
2339
|
count: rowColOperation.count
|
|
@@ -2415,12 +2414,15 @@ const SetSheetTableFilterCommand = {
|
|
|
2415
2414
|
tableFilter: void 0
|
|
2416
2415
|
}
|
|
2417
2416
|
});
|
|
2418
|
-
if (sequenceExecute(redos, commandService))
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2417
|
+
if (sequenceExecute(redos, commandService).result) {
|
|
2418
|
+
undoRedoService.pushUndoRedo({
|
|
2419
|
+
unitID: params.unitId,
|
|
2420
|
+
undoMutations: undos,
|
|
2421
|
+
redoMutations: redos
|
|
2422
|
+
});
|
|
2423
|
+
return true;
|
|
2424
|
+
}
|
|
2425
|
+
return false;
|
|
2424
2426
|
}
|
|
2425
2427
|
};
|
|
2426
2428
|
|
|
@@ -2778,12 +2780,15 @@ const SheetTableInsertRowCommand = {
|
|
|
2778
2780
|
undos.push(...moveRangeMutations.undos);
|
|
2779
2781
|
}
|
|
2780
2782
|
}
|
|
2781
|
-
if (sequenceExecute(redos, accessor.get(ICommandService)))
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2783
|
+
if (sequenceExecute(redos, accessor.get(ICommandService)).result) {
|
|
2784
|
+
accessor.get(IUndoRedoService).pushUndoRedo({
|
|
2785
|
+
unitID: unitId,
|
|
2786
|
+
undoMutations: undos,
|
|
2787
|
+
redoMutations: redos
|
|
2788
|
+
});
|
|
2789
|
+
return true;
|
|
2790
|
+
}
|
|
2791
|
+
return false;
|
|
2787
2792
|
}
|
|
2788
2793
|
};
|
|
2789
2794
|
const SheetTableInsertColCommand = {
|
|
@@ -2819,8 +2824,8 @@ const SheetTableInsertColCommand = {
|
|
|
2819
2824
|
subUnitId,
|
|
2820
2825
|
tableId: table.getId(),
|
|
2821
2826
|
config: { rowColOperation: {
|
|
2822
|
-
operationType:
|
|
2823
|
-
rowColType:
|
|
2827
|
+
operationType: "insert",
|
|
2828
|
+
rowColType: "column",
|
|
2824
2829
|
index: range.startColumn,
|
|
2825
2830
|
count: insertColCount
|
|
2826
2831
|
} }
|
|
@@ -2833,8 +2838,8 @@ const SheetTableInsertColCommand = {
|
|
|
2833
2838
|
subUnitId,
|
|
2834
2839
|
tableId: table.getId(),
|
|
2835
2840
|
config: { rowColOperation: {
|
|
2836
|
-
operationType:
|
|
2837
|
-
rowColType:
|
|
2841
|
+
operationType: "delete",
|
|
2842
|
+
rowColType: "column",
|
|
2838
2843
|
index: range.startColumn,
|
|
2839
2844
|
count: insertColCount
|
|
2840
2845
|
} }
|
|
@@ -2857,8 +2862,8 @@ const SheetTableInsertColCommand = {
|
|
|
2857
2862
|
subUnitId,
|
|
2858
2863
|
tableId: table.getId(),
|
|
2859
2864
|
config: { rowColOperation: {
|
|
2860
|
-
operationType:
|
|
2861
|
-
rowColType:
|
|
2865
|
+
operationType: "insert",
|
|
2866
|
+
rowColType: "column",
|
|
2862
2867
|
index: range.startColumn,
|
|
2863
2868
|
count: insertColCount
|
|
2864
2869
|
} }
|
|
@@ -2871,8 +2876,8 @@ const SheetTableInsertColCommand = {
|
|
|
2871
2876
|
subUnitId,
|
|
2872
2877
|
tableId: table.getId(),
|
|
2873
2878
|
config: { rowColOperation: {
|
|
2874
|
-
operationType:
|
|
2875
|
-
rowColType:
|
|
2879
|
+
operationType: "delete",
|
|
2880
|
+
rowColType: "column",
|
|
2876
2881
|
index: range.startColumn,
|
|
2877
2882
|
count: insertColCount
|
|
2878
2883
|
} }
|
|
@@ -2902,12 +2907,15 @@ const SheetTableInsertColCommand = {
|
|
|
2902
2907
|
undos.push(...moveRangeMutations.undos);
|
|
2903
2908
|
}
|
|
2904
2909
|
}
|
|
2905
|
-
if (sequenceExecute(redos, accessor.get(ICommandService)))
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2910
|
+
if (sequenceExecute(redos, accessor.get(ICommandService)).result) {
|
|
2911
|
+
accessor.get(IUndoRedoService).pushUndoRedo({
|
|
2912
|
+
unitID: unitId,
|
|
2913
|
+
undoMutations: undos,
|
|
2914
|
+
redoMutations: redos
|
|
2915
|
+
});
|
|
2916
|
+
return true;
|
|
2917
|
+
}
|
|
2918
|
+
return false;
|
|
2911
2919
|
}
|
|
2912
2920
|
};
|
|
2913
2921
|
const SheetTableRemoveRowCommand = {
|
|
@@ -2972,12 +2980,15 @@ const SheetTableRemoveRowCommand = {
|
|
|
2972
2980
|
redos.push(...moveRangeMutations.redos);
|
|
2973
2981
|
undos.push(...moveRangeMutations.undos);
|
|
2974
2982
|
}
|
|
2975
|
-
if (sequenceExecute(redos, accessor.get(ICommandService)))
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2983
|
+
if (sequenceExecute(redos, accessor.get(ICommandService)).result) {
|
|
2984
|
+
accessor.get(IUndoRedoService).pushUndoRedo({
|
|
2985
|
+
unitID: unitId,
|
|
2986
|
+
undoMutations: undos,
|
|
2987
|
+
redoMutations: redos
|
|
2988
|
+
});
|
|
2989
|
+
return true;
|
|
2990
|
+
}
|
|
2991
|
+
return false;
|
|
2981
2992
|
}
|
|
2982
2993
|
};
|
|
2983
2994
|
const SheetTableRemoveColCommand = {
|
|
@@ -3005,8 +3016,8 @@ const SheetTableRemoveColCommand = {
|
|
|
3005
3016
|
subUnitId,
|
|
3006
3017
|
tableId: table.getId(),
|
|
3007
3018
|
config: { rowColOperation: {
|
|
3008
|
-
operationType:
|
|
3009
|
-
rowColType:
|
|
3019
|
+
operationType: "delete",
|
|
3020
|
+
rowColType: "column",
|
|
3010
3021
|
index: range.startColumn,
|
|
3011
3022
|
count: removeColCount
|
|
3012
3023
|
} }
|
|
@@ -3025,8 +3036,8 @@ const SheetTableRemoveColCommand = {
|
|
|
3025
3036
|
subUnitId,
|
|
3026
3037
|
tableId: table.getId(),
|
|
3027
3038
|
config: { rowColOperation: {
|
|
3028
|
-
operationType:
|
|
3029
|
-
rowColType:
|
|
3039
|
+
operationType: "insert",
|
|
3040
|
+
rowColType: "column",
|
|
3030
3041
|
index: range.startColumn,
|
|
3031
3042
|
count: removeColCount,
|
|
3032
3043
|
columnsJson: columns
|
|
@@ -3057,19 +3068,22 @@ const SheetTableRemoveColCommand = {
|
|
|
3057
3068
|
redos.push(...moveRangeMutations.redos);
|
|
3058
3069
|
undos.push(...moveRangeMutations.undos);
|
|
3059
3070
|
}
|
|
3060
|
-
if (sequenceExecute(redos, accessor.get(ICommandService)))
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3071
|
+
if (sequenceExecute(redos, accessor.get(ICommandService)).result) {
|
|
3072
|
+
accessor.get(IUndoRedoService).pushUndoRedo({
|
|
3073
|
+
unitID: unitId,
|
|
3074
|
+
undoMutations: undos,
|
|
3075
|
+
redoMutations: redos
|
|
3076
|
+
});
|
|
3077
|
+
return true;
|
|
3078
|
+
}
|
|
3079
|
+
return false;
|
|
3066
3080
|
}
|
|
3067
3081
|
};
|
|
3068
3082
|
|
|
3069
3083
|
//#endregion
|
|
3070
3084
|
//#region package.json
|
|
3071
3085
|
var name = "@univerjs/sheets-table";
|
|
3072
|
-
var version = "0.
|
|
3086
|
+
var version = "0.22.0";
|
|
3073
3087
|
|
|
3074
3088
|
//#endregion
|
|
3075
3089
|
//#region src/controllers/sheet-table-formula.controller.ts
|
|
@@ -3285,8 +3299,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3285
3299
|
subUnitId,
|
|
3286
3300
|
tableId: table.getId(),
|
|
3287
3301
|
config: { rowColOperation: {
|
|
3288
|
-
operationType:
|
|
3289
|
-
rowColType:
|
|
3302
|
+
operationType: "insert",
|
|
3303
|
+
rowColType: "column",
|
|
3290
3304
|
index: range.startColumn,
|
|
3291
3305
|
count: insertColCount
|
|
3292
3306
|
} }
|
|
@@ -3299,8 +3313,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3299
3313
|
subUnitId,
|
|
3300
3314
|
tableId: table.getId(),
|
|
3301
3315
|
config: { rowColOperation: {
|
|
3302
|
-
operationType:
|
|
3303
|
-
rowColType:
|
|
3316
|
+
operationType: "delete",
|
|
3317
|
+
rowColType: "column",
|
|
3304
3318
|
index: range.startColumn,
|
|
3305
3319
|
count: insertColCount
|
|
3306
3320
|
} }
|
|
@@ -3480,8 +3494,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3480
3494
|
subUnitId,
|
|
3481
3495
|
tableId: table.getId(),
|
|
3482
3496
|
config: { rowColOperation: {
|
|
3483
|
-
operationType:
|
|
3484
|
-
rowColType:
|
|
3497
|
+
operationType: "delete",
|
|
3498
|
+
rowColType: "column",
|
|
3485
3499
|
index: tableRange.startColumn,
|
|
3486
3500
|
count: removeColumnCount
|
|
3487
3501
|
} }
|
|
@@ -3499,8 +3513,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3499
3513
|
subUnitId,
|
|
3500
3514
|
tableId: table.getId(),
|
|
3501
3515
|
config: { rowColOperation: {
|
|
3502
|
-
operationType:
|
|
3503
|
-
rowColType:
|
|
3516
|
+
operationType: "insert",
|
|
3517
|
+
rowColType: "column",
|
|
3504
3518
|
index: tableRange.startColumn,
|
|
3505
3519
|
count: removeColumnCount,
|
|
3506
3520
|
columnsJson: columns
|
|
@@ -3516,8 +3530,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3516
3530
|
subUnitId,
|
|
3517
3531
|
tableId: table.getId(),
|
|
3518
3532
|
config: { rowColOperation: {
|
|
3519
|
-
operationType:
|
|
3520
|
-
rowColType:
|
|
3533
|
+
operationType: "delete",
|
|
3534
|
+
rowColType: "column",
|
|
3521
3535
|
index: range.startColumn,
|
|
3522
3536
|
count: removeColumnCount
|
|
3523
3537
|
} }
|
|
@@ -3536,8 +3550,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3536
3550
|
subUnitId,
|
|
3537
3551
|
tableId: table.getId(),
|
|
3538
3552
|
config: { rowColOperation: {
|
|
3539
|
-
operationType:
|
|
3540
|
-
rowColType:
|
|
3553
|
+
operationType: "insert",
|
|
3554
|
+
rowColType: "column",
|
|
3541
3555
|
index: range.startColumn,
|
|
3542
3556
|
count: removeColCount,
|
|
3543
3557
|
columnsJson: columns
|
|
@@ -3552,8 +3566,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3552
3566
|
subUnitId,
|
|
3553
3567
|
tableId: table.getId(),
|
|
3554
3568
|
config: { rowColOperation: {
|
|
3555
|
-
operationType:
|
|
3556
|
-
rowColType:
|
|
3569
|
+
operationType: "delete",
|
|
3570
|
+
rowColType: "column",
|
|
3557
3571
|
index: range.startColumn,
|
|
3558
3572
|
count: removeColCount
|
|
3559
3573
|
} }
|
|
@@ -3572,8 +3586,8 @@ let SheetTableRefRangeController = class SheetTableRefRangeController extends Di
|
|
|
3572
3586
|
subUnitId,
|
|
3573
3587
|
tableId: table.getId(),
|
|
3574
3588
|
config: { rowColOperation: {
|
|
3575
|
-
operationType:
|
|
3576
|
-
rowColType:
|
|
3589
|
+
operationType: "insert",
|
|
3590
|
+
rowColType: "column",
|
|
3577
3591
|
index: range.startColumn,
|
|
3578
3592
|
count: removeColCount,
|
|
3579
3593
|
columnsJson: columns
|