@univerjs/sheets-filter 0.23.0 → 0.24.0-insiders.20260528-29f582d
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/facade.js +14 -7
- package/lib/cjs/index.js +19 -6
- package/lib/cjs/locale/ar-SA.js +9 -0
- package/lib/cjs/locale/ca-ES.js +9 -0
- package/lib/cjs/locale/de-DE.js +9 -0
- package/lib/cjs/locale/en-US.js +24 -0
- package/lib/cjs/locale/es-ES.js +9 -0
- package/lib/cjs/locale/fa-IR.js +9 -0
- package/lib/cjs/locale/fr-FR.js +9 -0
- package/lib/cjs/locale/id-ID.js +9 -0
- package/lib/cjs/locale/it-IT.js +9 -0
- package/lib/cjs/locale/ja-JP.js +9 -0
- package/lib/cjs/locale/ko-KR.js +9 -0
- package/lib/cjs/locale/pl-PL.js +9 -0
- package/lib/cjs/locale/pt-BR.js +9 -0
- package/lib/cjs/locale/ru-RU.js +9 -0
- package/lib/cjs/locale/sk-SK.js +9 -0
- package/lib/cjs/locale/vi-VN.js +9 -0
- package/lib/cjs/locale/zh-CN.js +9 -0
- package/lib/cjs/locale/zh-HK.js +9 -0
- package/lib/cjs/locale/zh-TW.js +9 -0
- package/lib/es/facade.js +14 -7
- package/lib/es/index.js +19 -6
- package/lib/es/locale/ar-SA.js +8 -0
- package/lib/es/locale/ca-ES.js +8 -0
- package/lib/es/locale/de-DE.js +8 -0
- package/lib/es/locale/en-US.js +23 -0
- package/lib/es/locale/es-ES.js +8 -0
- package/lib/es/locale/fa-IR.js +8 -0
- package/lib/es/locale/fr-FR.js +8 -0
- package/lib/es/locale/id-ID.js +8 -0
- package/lib/es/locale/it-IT.js +8 -0
- package/lib/es/locale/ja-JP.js +8 -0
- package/lib/es/locale/ko-KR.js +8 -0
- package/lib/es/locale/pl-PL.js +8 -0
- package/lib/es/locale/pt-BR.js +8 -0
- package/lib/es/locale/ru-RU.js +8 -0
- package/lib/es/locale/sk-SK.js +8 -0
- package/lib/es/locale/vi-VN.js +8 -0
- package/lib/es/locale/zh-CN.js +8 -0
- package/lib/es/locale/zh-HK.js +8 -0
- package/lib/es/locale/zh-TW.js +8 -0
- package/lib/facade.js +14 -7
- package/lib/index.js +19 -6
- package/lib/locale/ar-SA.js +8 -0
- package/lib/locale/ca-ES.js +8 -0
- package/lib/locale/de-DE.js +8 -0
- package/lib/locale/en-US.js +23 -0
- package/lib/locale/es-ES.js +8 -0
- package/lib/locale/fa-IR.js +8 -0
- package/lib/locale/fr-FR.js +8 -0
- package/lib/locale/id-ID.js +8 -0
- package/lib/locale/it-IT.js +8 -0
- package/lib/locale/ja-JP.js +8 -0
- package/lib/locale/ko-KR.js +8 -0
- package/lib/locale/pl-PL.js +8 -0
- package/lib/locale/pt-BR.js +8 -0
- package/lib/locale/ru-RU.js +8 -0
- package/lib/locale/sk-SK.js +8 -0
- package/lib/locale/vi-VN.js +8 -0
- package/lib/locale/zh-CN.js +8 -0
- package/lib/locale/zh-HK.js +8 -0
- package/lib/locale/zh-TW.js +8 -0
- package/lib/types/controllers/sheets-filter.controller.d.ts +1 -0
- package/lib/types/facade/f-filter.d.ts +14 -7
- package/lib/types/facade/f-range.d.ts +4 -2
- package/lib/types/facade/f-worksheet.d.ts +2 -1
- package/lib/types/locale/ar-SA.d.ts +18 -0
- package/lib/types/locale/ca-ES.d.ts +18 -0
- package/lib/types/locale/de-DE.d.ts +18 -0
- package/lib/types/locale/en-US.d.ts +26 -0
- package/lib/types/locale/es-ES.d.ts +18 -0
- package/lib/types/locale/fa-IR.d.ts +18 -0
- package/lib/types/locale/fr-FR.d.ts +18 -0
- package/lib/types/locale/id-ID.d.ts +18 -0
- package/lib/types/locale/it-IT.d.ts +18 -0
- package/lib/types/locale/ja-JP.d.ts +18 -0
- package/lib/types/locale/ko-KR.d.ts +18 -0
- package/lib/types/locale/pl-PL.d.ts +18 -0
- package/lib/types/locale/pt-BR.d.ts +18 -0
- package/lib/types/locale/ru-RU.d.ts +18 -0
- package/lib/types/locale/sk-SK.d.ts +18 -0
- package/lib/types/locale/vi-VN.d.ts +18 -0
- package/lib/types/locale/zh-CN.d.ts +18 -0
- package/lib/types/locale/zh-HK.d.ts +18 -0
- package/lib/types/locale/zh-TW.d.ts +18 -0
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ar-SA.js +1 -0
- package/lib/umd/locale/ca-ES.js +1 -0
- package/lib/umd/locale/de-DE.js +1 -0
- package/lib/umd/locale/en-US.js +1 -0
- package/lib/umd/locale/es-ES.js +1 -0
- package/lib/umd/locale/fa-IR.js +1 -0
- package/lib/umd/locale/fr-FR.js +1 -0
- package/lib/umd/locale/id-ID.js +1 -0
- package/lib/umd/locale/it-IT.js +1 -0
- package/lib/umd/locale/ja-JP.js +1 -0
- package/lib/umd/locale/ko-KR.js +1 -0
- package/lib/umd/locale/pl-PL.js +1 -0
- package/lib/umd/locale/pt-BR.js +1 -0
- package/lib/umd/locale/ru-RU.js +1 -0
- package/lib/umd/locale/sk-SK.js +1 -0
- package/lib/umd/locale/vi-VN.js +1 -0
- package/lib/umd/locale/zh-CN.js +1 -0
- package/lib/umd/locale/zh-HK.js +1 -0
- package/lib/umd/locale/zh-TW.js +1 -0
- package/package.json +12 -7
- package/LICENSE +0 -176
package/lib/cjs/facade.js
CHANGED
|
@@ -102,7 +102,8 @@ let FFilter = class FFilter {
|
|
|
102
102
|
* @example
|
|
103
103
|
* ```typescript
|
|
104
104
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
105
|
-
* const fWorksheet = fWorkbook.
|
|
105
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
106
|
+
* if (!fWorksheet) return;
|
|
106
107
|
*
|
|
107
108
|
* // Set some values of the range C1:F10
|
|
108
109
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -151,7 +152,8 @@ let FFilter = class FFilter {
|
|
|
151
152
|
* @example
|
|
152
153
|
* ```typescript
|
|
153
154
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
154
|
-
* const fWorksheet = fWorkbook.
|
|
155
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
156
|
+
* if (!fWorksheet) return;
|
|
155
157
|
*
|
|
156
158
|
* // Set some values of the range C1:F10
|
|
157
159
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -202,7 +204,8 @@ let FFilter = class FFilter {
|
|
|
202
204
|
* @example
|
|
203
205
|
* ```typescript
|
|
204
206
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
205
|
-
* const fWorksheet = fWorkbook.
|
|
207
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
208
|
+
* if (!fWorksheet) return;
|
|
206
209
|
*
|
|
207
210
|
* // Set some values of the range C1:F10
|
|
208
211
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -260,7 +263,8 @@ let FFilter = class FFilter {
|
|
|
260
263
|
* @example
|
|
261
264
|
* ```typescript
|
|
262
265
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
263
|
-
* const fWorksheet = fWorkbook.
|
|
266
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
267
|
+
* if (!fWorksheet) return;
|
|
264
268
|
*
|
|
265
269
|
* // Set some values of the range C1:F10
|
|
266
270
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -311,7 +315,8 @@ let FFilter = class FFilter {
|
|
|
311
315
|
* @example
|
|
312
316
|
* ```typescript
|
|
313
317
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
314
|
-
* const fWorksheet = fWorkbook.
|
|
318
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
319
|
+
* if (!fWorksheet) return;
|
|
315
320
|
* const fFilter = fWorksheet.getFilter();
|
|
316
321
|
* console.log(fFilter?.getRange().getA1Notation());
|
|
317
322
|
* ```
|
|
@@ -326,7 +331,8 @@ let FFilter = class FFilter {
|
|
|
326
331
|
* @example
|
|
327
332
|
* ```typescript
|
|
328
333
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
329
|
-
* const fWorksheet = fWorkbook.
|
|
334
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
335
|
+
* if (!fWorksheet) return;
|
|
330
336
|
*
|
|
331
337
|
* // Set some values of the range C1:F10
|
|
332
338
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -377,7 +383,8 @@ let FFilter = class FFilter {
|
|
|
377
383
|
* @example
|
|
378
384
|
* ```typescript
|
|
379
385
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
380
|
-
* const fWorksheet = fWorkbook.
|
|
386
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
387
|
+
* if (!fWorksheet) return;
|
|
381
388
|
* const fRange = fWorksheet.getRange('A1:D14');
|
|
382
389
|
* let fFilter = fRange.createFilter();
|
|
383
390
|
*
|
package/lib/cjs/index.js
CHANGED
|
@@ -670,7 +670,7 @@ let SheetsFilterService = class SheetsFilterService extends _univerjs_core.Dispo
|
|
|
670
670
|
_updateActiveFilterModel() {
|
|
671
671
|
let workbook;
|
|
672
672
|
try {
|
|
673
|
-
workbook = this._univerInstanceService.
|
|
673
|
+
workbook = this._univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_SHEET);
|
|
674
674
|
if (!workbook) {
|
|
675
675
|
this._activeFilterModel$.next(null);
|
|
676
676
|
return;
|
|
@@ -912,7 +912,7 @@ const SmartToggleSheetsFilterCommand = {
|
|
|
912
912
|
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
913
913
|
const sheetsFilterService = accessor.get(SheetsFilterService);
|
|
914
914
|
const commandService = accessor.get(_univerjs_core.ICommandService);
|
|
915
|
-
const currentWorkbook = univerInstanceService.
|
|
915
|
+
const currentWorkbook = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_SHEET);
|
|
916
916
|
const currentWorksheet = currentWorkbook === null || currentWorkbook === void 0 ? void 0 : currentWorkbook.getActiveSheet();
|
|
917
917
|
if (!currentWorksheet || !currentWorkbook) return false;
|
|
918
918
|
const unitId = currentWorkbook.getUnitId();
|
|
@@ -1202,6 +1202,15 @@ let SheetsFilterController = class SheetsFilterController extends _univerjs_core
|
|
|
1202
1202
|
}));
|
|
1203
1203
|
}
|
|
1204
1204
|
_initCommands() {
|
|
1205
|
+
[
|
|
1206
|
+
SetSheetFilterRangeCommand,
|
|
1207
|
+
RemoveSheetFilterCommand,
|
|
1208
|
+
SetSheetsFilterCriteriaCommand,
|
|
1209
|
+
ClearSheetsFilterCriteriaCommand,
|
|
1210
|
+
ReCalcSheetsFilterCommand
|
|
1211
|
+
].forEach((command) => {
|
|
1212
|
+
this.disposeWithMe(this._commandService.registerCommand(command));
|
|
1213
|
+
});
|
|
1205
1214
|
[
|
|
1206
1215
|
SetSheetsFilterCriteriaMutation,
|
|
1207
1216
|
SetSheetsFilterRangeMutation,
|
|
@@ -1565,10 +1574,9 @@ let SheetsFilterController = class SheetsFilterController extends _univerjs_core
|
|
|
1565
1574
|
var _this$_univerInstance;
|
|
1566
1575
|
const worksheet = (_this$_univerInstance = this._univerInstanceService.getUniverSheetInstance(unitId)) === null || _this$_univerInstance === void 0 ? void 0 : _this$_univerInstance.getSheetBySheetId(subUnitId);
|
|
1567
1576
|
if (!worksheet) return this._handleNull();
|
|
1568
|
-
const
|
|
1569
|
-
for (let r = removeStartRow; r <= removeEndRow; r++) if (worksheet.getRowFiltered(r)) hiddenRows.push(r);
|
|
1577
|
+
const hiddenRowCount = this._getFilteredRowCount(worksheet, removeStartRow, removeEndRow);
|
|
1570
1578
|
const afterStartRow = Math.min(startRow, removeStartRow);
|
|
1571
|
-
const afterEndRow = afterStartRow + (endRow - startRow) - count +
|
|
1579
|
+
const afterEndRow = afterStartRow + (endRow - startRow) - count + hiddenRowCount;
|
|
1572
1580
|
const setFilterRangeMutationParams = {
|
|
1573
1581
|
unitId,
|
|
1574
1582
|
subUnitId,
|
|
@@ -1588,6 +1596,11 @@ let SheetsFilterController = class SheetsFilterController extends _univerjs_core
|
|
|
1588
1596
|
redos: mergeSetFilterCriteria(redos)
|
|
1589
1597
|
};
|
|
1590
1598
|
}
|
|
1599
|
+
_getFilteredRowCount(worksheet, startRow, endRow) {
|
|
1600
|
+
let count = 0;
|
|
1601
|
+
for (let row = startRow; row <= endRow; row++) if (worksheet.getRowFiltered(row)) count++;
|
|
1602
|
+
return count;
|
|
1603
|
+
}
|
|
1591
1604
|
handleMoveColsCommand({ fromRange, toRange }, unitId, subUnitId) {
|
|
1592
1605
|
var _filterModel$getRange4;
|
|
1593
1606
|
const filterModel = this._sheetsFilterService.getFilterModel(unitId, subUnitId);
|
|
@@ -2216,7 +2229,7 @@ SheetsFilterSyncController = __decorate([
|
|
|
2216
2229
|
//#endregion
|
|
2217
2230
|
//#region package.json
|
|
2218
2231
|
var name = "@univerjs/sheets-filter";
|
|
2219
|
-
var version = "0.
|
|
2232
|
+
var version = "0.24.0-insiders.20260528-29f582d";
|
|
2220
2233
|
|
|
2221
2234
|
//#endregion
|
|
2222
2235
|
//#region src/services/sheet-filter-formula.service.ts
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/ar-SA.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "يحتوي النطاق المحدد على صف واحد فقط وهو غير صالح للتصفية." },
|
|
5
|
+
msg: { "filter-header-forbidden": "لا يمكنك نقل صف الرأس الخاص بالتصفية." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/ca-ES.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "L'interval seleccionat només té una fila i no és vàlid per filtrar." },
|
|
5
|
+
msg: { "filter-header-forbidden": "No pots moure la fila de capçalera d'un filtre." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/de-DE.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "Der ausgewählte Bereich hat nur eine Zeile und ist für den Filter ungültig." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Die Kopfzeile eines Filters kann nicht verschoben werden." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/en-US.ts
|
|
3
|
+
/**
|
|
4
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
const locale = { "sheets-filter": {
|
|
19
|
+
command: { "not-valid-filter-range": "The selected range only has one row and not valid for filter." },
|
|
20
|
+
msg: { "filter-header-forbidden": "You can't move the header row of a filter." }
|
|
21
|
+
} };
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/es-ES.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "El rango seleccionado solo tiene una fila y no es válido para filtrar." },
|
|
5
|
+
msg: { "filter-header-forbidden": "No puedes mover la fila de encabezado de un filtro." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/fa-IR.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "محدوده انتخاب شده فقط یک ردیف دارد و برای فیلتر معتبر نیست." },
|
|
5
|
+
msg: { "filter-header-forbidden": "شما نمیتوانید ردیف هدر یک فیلتر را جابهجا کنید." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/fr-FR.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "La plage sélectionnée n'a qu'une seule ligne et n'est pas valide pour le filtre." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Vous ne pouvez pas déplacer la ligne d'en-tête d'un filtre." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/id-ID.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "Rentang yang dipilih hanya memiliki satu baris dan tidak valid untuk filter." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Anda tidak dapat memindahkan baris header filter." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/it-IT.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "L'intervallo selezionato ha una sola riga e non è valido per il filtro." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Non è possibile spostare la riga di intestazione di un filtro." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/pl-PL.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "Wybrany zakres ma tylko jeden wiersz i nie jest prawidłowy do filtrowania." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Nie można przenieść wiersza nagłówka filtra." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/pt-BR.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "O intervalo selecionado possui apenas uma linha e não é válido para filtro." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Você não pode mover a linha de cabeçalho de um filtro." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/ru-RU.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "Выбранный диапазон содержит только одну строку и не подходит для фильтра." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Вы не можете переместить строку заголовка фильтра." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/sk-SK.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "Vybraný rozsah má iba jeden riadok a nie je vhodný na filtrovanie." },
|
|
5
|
+
msg: { "filter-header-forbidden": "Riadok hlavičky filtra sa nedá presunúť." }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/locale/vi-VN.ts
|
|
3
|
+
const locale = { "sheets-filter": {
|
|
4
|
+
command: { "not-valid-filter-range": "Khu vực được chọn chỉ có một hàng, không thể lọc" },
|
|
5
|
+
msg: { "filter-header-forbidden": "Không thể di chuyển hàng đầu lọc" }
|
|
6
|
+
} };
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
module.exports = locale;
|
package/lib/es/facade.js
CHANGED
|
@@ -101,7 +101,8 @@ let FFilter = class FFilter {
|
|
|
101
101
|
* @example
|
|
102
102
|
* ```typescript
|
|
103
103
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
104
|
-
* const fWorksheet = fWorkbook.
|
|
104
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
105
|
+
* if (!fWorksheet) return;
|
|
105
106
|
*
|
|
106
107
|
* // Set some values of the range C1:F10
|
|
107
108
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -150,7 +151,8 @@ let FFilter = class FFilter {
|
|
|
150
151
|
* @example
|
|
151
152
|
* ```typescript
|
|
152
153
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
153
|
-
* const fWorksheet = fWorkbook.
|
|
154
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
155
|
+
* if (!fWorksheet) return;
|
|
154
156
|
*
|
|
155
157
|
* // Set some values of the range C1:F10
|
|
156
158
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -201,7 +203,8 @@ let FFilter = class FFilter {
|
|
|
201
203
|
* @example
|
|
202
204
|
* ```typescript
|
|
203
205
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
204
|
-
* const fWorksheet = fWorkbook.
|
|
206
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
207
|
+
* if (!fWorksheet) return;
|
|
205
208
|
*
|
|
206
209
|
* // Set some values of the range C1:F10
|
|
207
210
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -259,7 +262,8 @@ let FFilter = class FFilter {
|
|
|
259
262
|
* @example
|
|
260
263
|
* ```typescript
|
|
261
264
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
262
|
-
* const fWorksheet = fWorkbook.
|
|
265
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
266
|
+
* if (!fWorksheet) return;
|
|
263
267
|
*
|
|
264
268
|
* // Set some values of the range C1:F10
|
|
265
269
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -310,7 +314,8 @@ let FFilter = class FFilter {
|
|
|
310
314
|
* @example
|
|
311
315
|
* ```typescript
|
|
312
316
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
313
|
-
* const fWorksheet = fWorkbook.
|
|
317
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
318
|
+
* if (!fWorksheet) return;
|
|
314
319
|
* const fFilter = fWorksheet.getFilter();
|
|
315
320
|
* console.log(fFilter?.getRange().getA1Notation());
|
|
316
321
|
* ```
|
|
@@ -325,7 +330,8 @@ let FFilter = class FFilter {
|
|
|
325
330
|
* @example
|
|
326
331
|
* ```typescript
|
|
327
332
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
328
|
-
* const fWorksheet = fWorkbook.
|
|
333
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
334
|
+
* if (!fWorksheet) return;
|
|
329
335
|
*
|
|
330
336
|
* // Set some values of the range C1:F10
|
|
331
337
|
* const fRange = fWorksheet.getRange('C1:F10');
|
|
@@ -376,7 +382,8 @@ let FFilter = class FFilter {
|
|
|
376
382
|
* @example
|
|
377
383
|
* ```typescript
|
|
378
384
|
* const fWorkbook = univerAPI.getActiveWorkbook();
|
|
379
|
-
* const fWorksheet = fWorkbook.
|
|
385
|
+
* const fWorksheet = fWorkbook.getSheetByName('Sheet1');
|
|
386
|
+
* if (!fWorksheet) return;
|
|
380
387
|
* const fRange = fWorksheet.getRange('A1:D14');
|
|
381
388
|
* let fFilter = fRange.createFilter();
|
|
382
389
|
*
|
package/lib/es/index.js
CHANGED
|
@@ -669,7 +669,7 @@ let SheetsFilterService = class SheetsFilterService extends Disposable {
|
|
|
669
669
|
_updateActiveFilterModel() {
|
|
670
670
|
let workbook;
|
|
671
671
|
try {
|
|
672
|
-
workbook = this._univerInstanceService.
|
|
672
|
+
workbook = this._univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET);
|
|
673
673
|
if (!workbook) {
|
|
674
674
|
this._activeFilterModel$.next(null);
|
|
675
675
|
return;
|
|
@@ -911,7 +911,7 @@ const SmartToggleSheetsFilterCommand = {
|
|
|
911
911
|
const univerInstanceService = accessor.get(IUniverInstanceService);
|
|
912
912
|
const sheetsFilterService = accessor.get(SheetsFilterService);
|
|
913
913
|
const commandService = accessor.get(ICommandService);
|
|
914
|
-
const currentWorkbook = univerInstanceService.
|
|
914
|
+
const currentWorkbook = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET);
|
|
915
915
|
const currentWorksheet = currentWorkbook === null || currentWorkbook === void 0 ? void 0 : currentWorkbook.getActiveSheet();
|
|
916
916
|
if (!currentWorksheet || !currentWorkbook) return false;
|
|
917
917
|
const unitId = currentWorkbook.getUnitId();
|
|
@@ -1201,6 +1201,15 @@ let SheetsFilterController = class SheetsFilterController extends Disposable {
|
|
|
1201
1201
|
}));
|
|
1202
1202
|
}
|
|
1203
1203
|
_initCommands() {
|
|
1204
|
+
[
|
|
1205
|
+
SetSheetFilterRangeCommand,
|
|
1206
|
+
RemoveSheetFilterCommand,
|
|
1207
|
+
SetSheetsFilterCriteriaCommand,
|
|
1208
|
+
ClearSheetsFilterCriteriaCommand,
|
|
1209
|
+
ReCalcSheetsFilterCommand
|
|
1210
|
+
].forEach((command) => {
|
|
1211
|
+
this.disposeWithMe(this._commandService.registerCommand(command));
|
|
1212
|
+
});
|
|
1204
1213
|
[
|
|
1205
1214
|
SetSheetsFilterCriteriaMutation,
|
|
1206
1215
|
SetSheetsFilterRangeMutation,
|
|
@@ -1564,10 +1573,9 @@ let SheetsFilterController = class SheetsFilterController extends Disposable {
|
|
|
1564
1573
|
var _this$_univerInstance;
|
|
1565
1574
|
const worksheet = (_this$_univerInstance = this._univerInstanceService.getUniverSheetInstance(unitId)) === null || _this$_univerInstance === void 0 ? void 0 : _this$_univerInstance.getSheetBySheetId(subUnitId);
|
|
1566
1575
|
if (!worksheet) return this._handleNull();
|
|
1567
|
-
const
|
|
1568
|
-
for (let r = removeStartRow; r <= removeEndRow; r++) if (worksheet.getRowFiltered(r)) hiddenRows.push(r);
|
|
1576
|
+
const hiddenRowCount = this._getFilteredRowCount(worksheet, removeStartRow, removeEndRow);
|
|
1569
1577
|
const afterStartRow = Math.min(startRow, removeStartRow);
|
|
1570
|
-
const afterEndRow = afterStartRow + (endRow - startRow) - count +
|
|
1578
|
+
const afterEndRow = afterStartRow + (endRow - startRow) - count + hiddenRowCount;
|
|
1571
1579
|
const setFilterRangeMutationParams = {
|
|
1572
1580
|
unitId,
|
|
1573
1581
|
subUnitId,
|
|
@@ -1587,6 +1595,11 @@ let SheetsFilterController = class SheetsFilterController extends Disposable {
|
|
|
1587
1595
|
redos: mergeSetFilterCriteria(redos)
|
|
1588
1596
|
};
|
|
1589
1597
|
}
|
|
1598
|
+
_getFilteredRowCount(worksheet, startRow, endRow) {
|
|
1599
|
+
let count = 0;
|
|
1600
|
+
for (let row = startRow; row <= endRow; row++) if (worksheet.getRowFiltered(row)) count++;
|
|
1601
|
+
return count;
|
|
1602
|
+
}
|
|
1590
1603
|
handleMoveColsCommand({ fromRange, toRange }, unitId, subUnitId) {
|
|
1591
1604
|
var _filterModel$getRange4;
|
|
1592
1605
|
const filterModel = this._sheetsFilterService.getFilterModel(unitId, subUnitId);
|
|
@@ -2215,7 +2228,7 @@ SheetsFilterSyncController = __decorate([
|
|
|
2215
2228
|
//#endregion
|
|
2216
2229
|
//#region package.json
|
|
2217
2230
|
var name = "@univerjs/sheets-filter";
|
|
2218
|
-
var version = "0.
|
|
2231
|
+
var version = "0.24.0-insiders.20260528-29f582d";
|
|
2219
2232
|
|
|
2220
2233
|
//#endregion
|
|
2221
2234
|
//#region src/services/sheet-filter-formula.service.ts
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/ar-SA.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "يحتوي النطاق المحدد على صف واحد فقط وهو غير صالح للتصفية." },
|
|
4
|
+
msg: { "filter-header-forbidden": "لا يمكنك نقل صف الرأس الخاص بالتصفية." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/ca-ES.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "L'interval seleccionat només té una fila i no és vàlid per filtrar." },
|
|
4
|
+
msg: { "filter-header-forbidden": "No pots moure la fila de capçalera d'un filtre." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/de-DE.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "Der ausgewählte Bereich hat nur eine Zeile und ist für den Filter ungültig." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Die Kopfzeile eines Filters kann nicht verschoben werden." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/locale/en-US.ts
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
const locale = { "sheets-filter": {
|
|
18
|
+
command: { "not-valid-filter-range": "The selected range only has one row and not valid for filter." },
|
|
19
|
+
msg: { "filter-header-forbidden": "You can't move the header row of a filter." }
|
|
20
|
+
} };
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/es-ES.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "El rango seleccionado solo tiene una fila y no es válido para filtrar." },
|
|
4
|
+
msg: { "filter-header-forbidden": "No puedes mover la fila de encabezado de un filtro." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/fa-IR.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "محدوده انتخاب شده فقط یک ردیف دارد و برای فیلتر معتبر نیست." },
|
|
4
|
+
msg: { "filter-header-forbidden": "شما نمیتوانید ردیف هدر یک فیلتر را جابهجا کنید." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/fr-FR.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "La plage sélectionnée n'a qu'une seule ligne et n'est pas valide pour le filtre." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Vous ne pouvez pas déplacer la ligne d'en-tête d'un filtre." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/id-ID.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "Rentang yang dipilih hanya memiliki satu baris dan tidak valid untuk filter." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Anda tidak dapat memindahkan baris header filter." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/it-IT.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "L'intervallo selezionato ha una sola riga e non è valido per il filtro." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Non è possibile spostare la riga di intestazione di un filtro." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/pl-PL.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "Wybrany zakres ma tylko jeden wiersz i nie jest prawidłowy do filtrowania." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Nie można przenieść wiersza nagłówka filtra." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/pt-BR.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "O intervalo selecionado possui apenas uma linha e não é válido para filtro." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Você não pode mover a linha de cabeçalho de um filtro." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/locale/ru-RU.ts
|
|
2
|
+
const locale = { "sheets-filter": {
|
|
3
|
+
command: { "not-valid-filter-range": "Выбранный диапазон содержит только одну строку и не подходит для фильтра." },
|
|
4
|
+
msg: { "filter-header-forbidden": "Вы не можете переместить строку заголовка фильтра." }
|
|
5
|
+
} };
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { locale as default };
|