@univerjs/sheets-filter-ui 1.0.0-alpha.7 → 1.0.0-beta.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/lib/cjs/index.js +23 -28
- package/lib/es/index.js +27 -32
- package/lib/index.js +27 -32
- package/lib/umd/index.js +2 -2
- package/package.json +12 -13
package/lib/cjs/index.js
CHANGED
|
@@ -599,7 +599,7 @@ function statisticFilterByValueItems(items) {
|
|
|
599
599
|
}
|
|
600
600
|
|
|
601
601
|
//#endregion
|
|
602
|
-
//#region \0@oxc-project+runtime@0.
|
|
602
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
|
|
603
603
|
function __decorateParam(paramIndex, decorator) {
|
|
604
604
|
return function(target, key) {
|
|
605
605
|
decorator(target, key, paramIndex);
|
|
@@ -607,7 +607,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
607
607
|
}
|
|
608
608
|
|
|
609
609
|
//#endregion
|
|
610
|
-
//#region \0@oxc-project+runtime@0.
|
|
610
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
|
|
611
611
|
function __decorate(decorators, target, key, desc) {
|
|
612
612
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
613
613
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -837,7 +837,7 @@ function searchTree(items, searchKeywords) {
|
|
|
837
837
|
}
|
|
838
838
|
|
|
839
839
|
//#endregion
|
|
840
|
-
//#region \0@oxc-project+runtime@0.
|
|
840
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
|
|
841
841
|
function _typeof(o) {
|
|
842
842
|
"@babel/helpers - typeof";
|
|
843
843
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -848,7 +848,7 @@ function _typeof(o) {
|
|
|
848
848
|
}
|
|
849
849
|
|
|
850
850
|
//#endregion
|
|
851
|
-
//#region \0@oxc-project+runtime@0.
|
|
851
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
|
|
852
852
|
function toPrimitive(t, r) {
|
|
853
853
|
if ("object" != _typeof(t) || !t) return t;
|
|
854
854
|
var e = t[Symbol.toPrimitive];
|
|
@@ -861,14 +861,14 @@ function toPrimitive(t, r) {
|
|
|
861
861
|
}
|
|
862
862
|
|
|
863
863
|
//#endregion
|
|
864
|
-
//#region \0@oxc-project+runtime@0.
|
|
864
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
|
|
865
865
|
function toPropertyKey(t) {
|
|
866
866
|
var i = toPrimitive(t, "string");
|
|
867
867
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
868
868
|
}
|
|
869
869
|
|
|
870
870
|
//#endregion
|
|
871
|
-
//#region \0@oxc-project+runtime@0.
|
|
871
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
|
|
872
872
|
function _defineProperty(e, r, t) {
|
|
873
873
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
874
874
|
value: t,
|
|
@@ -880,7 +880,9 @@ function _defineProperty(e, r, t) {
|
|
|
880
880
|
|
|
881
881
|
//#endregion
|
|
882
882
|
//#region src/services/sheets-filter-panel.service.ts
|
|
883
|
-
var _ByConditionsModel
|
|
883
|
+
var _ByConditionsModel;
|
|
884
|
+
var _ByValuesModel;
|
|
885
|
+
var _ByColorsModel;
|
|
884
886
|
const ISheetsFilterPanelService = (0, _univerjs_core.createIdentifier)("sheets-filter-ui.sheets-filter-panel.service");
|
|
885
887
|
let SheetsFilterPanelService = class SheetsFilterPanelService extends _univerjs_core.Disposable {
|
|
886
888
|
get filterBy() {
|
|
@@ -1146,7 +1148,7 @@ let ByValuesModel = _ByValuesModel = class ByValuesModel extends _univerjs_core.
|
|
|
1146
1148
|
const localeService = injector.get(_univerjs_core.LocaleService);
|
|
1147
1149
|
const generateFilterValuesService = injector.get(ISheetsGenerateFilterValuesService, _univerjs_core.Quantity.OPTIONAL);
|
|
1148
1150
|
const { unitId, subUnitId } = filterModel;
|
|
1149
|
-
const workbook = univerInstanceService.
|
|
1151
|
+
const workbook = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_SHEET);
|
|
1150
1152
|
if (!workbook) throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);
|
|
1151
1153
|
const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
|
|
1152
1154
|
if (!worksheet) throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
|
|
@@ -1322,10 +1324,10 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends _univerjs_core.
|
|
|
1322
1324
|
* @returns the model to control the panel's state
|
|
1323
1325
|
*/
|
|
1324
1326
|
static async fromFilterColumn(injector, filterModel, col) {
|
|
1325
|
-
var _filterModel$getFilte
|
|
1327
|
+
var _filterModel$getFilte;
|
|
1326
1328
|
const univerInstanceService = injector.get(_univerjs_core.IUniverInstanceService);
|
|
1327
1329
|
const { unitId, subUnitId } = filterModel;
|
|
1328
|
-
const workbook = univerInstanceService.
|
|
1330
|
+
const workbook = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_SHEET);
|
|
1329
1331
|
if (!workbook) throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${unitId}!`);
|
|
1330
1332
|
const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
|
|
1331
1333
|
if (!worksheet) throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
|
|
@@ -1340,9 +1342,9 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends _univerjs_core.
|
|
|
1340
1342
|
endColumn: column
|
|
1341
1343
|
};
|
|
1342
1344
|
const cellFillColors = /* @__PURE__ */ new Map();
|
|
1343
|
-
const cellFillColorsChecked = new Set((
|
|
1345
|
+
const cellFillColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) ?? []);
|
|
1344
1346
|
const cellTextColors = /* @__PURE__ */ new Map();
|
|
1345
|
-
const cellTextColorsChecked = new Set((
|
|
1347
|
+
const cellTextColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) ?? []);
|
|
1346
1348
|
for (const cell of worksheet.iterateByColumn(iterateRange, false, true)) {
|
|
1347
1349
|
const { row, col, value } = cell;
|
|
1348
1350
|
if (filteredOutRowsByOtherColumns.has(row)) continue;
|
|
@@ -1539,10 +1541,7 @@ function ClearFilterCriteriaMenuItemFactory(accessor) {
|
|
|
1539
1541
|
type: _univerjs_ui.MenuItemType.BUTTON,
|
|
1540
1542
|
title: "sheets-filter-ui.toolbar.clear-filter-criteria",
|
|
1541
1543
|
hidden$: (0, _univerjs_ui.getMenuHiddenObservable)(accessor, _univerjs_core.UniverInstanceType.UNIVER_SHEET),
|
|
1542
|
-
disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) =>
|
|
1543
|
-
var _model$hasCriteria$$p;
|
|
1544
|
-
return (_model$hasCriteria$$p = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) !== null && _model$hasCriteria$$p !== void 0 ? _model$hasCriteria$$p : (0, rxjs.of)(true);
|
|
1545
|
-
}))
|
|
1544
|
+
disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) ?? (0, rxjs.of)(true)))
|
|
1546
1545
|
};
|
|
1547
1546
|
}
|
|
1548
1547
|
function ReCalcFilterMenuItemFactory(accessor) {
|
|
@@ -1552,10 +1551,7 @@ function ReCalcFilterMenuItemFactory(accessor) {
|
|
|
1552
1551
|
type: _univerjs_ui.MenuItemType.BUTTON,
|
|
1553
1552
|
title: "sheets-filter-ui.toolbar.re-calc-filter-conditions",
|
|
1554
1553
|
hidden$: (0, _univerjs_ui.getMenuHiddenObservable)(accessor, _univerjs_core.UniverInstanceType.UNIVER_SHEET),
|
|
1555
|
-
disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) =>
|
|
1556
|
-
var _model$hasCriteria$$p2;
|
|
1557
|
-
return (_model$hasCriteria$$p2 = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) !== null && _model$hasCriteria$$p2 !== void 0 ? _model$hasCriteria$$p2 : (0, rxjs.of)(true);
|
|
1558
|
-
}))
|
|
1554
|
+
disabled$: sheetsFilterService.activeFilterModel$.pipe((0, rxjs.switchMap)((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe((0, rxjs.map)((m) => !m))) ?? (0, rxjs.of)(true)))
|
|
1559
1555
|
};
|
|
1560
1556
|
}
|
|
1561
1557
|
|
|
@@ -1581,7 +1577,7 @@ const menuSchema = { [_univerjs_ui.RibbonDataGroup.ORGANIZATION]: { [_univerjs_s
|
|
|
1581
1577
|
//#endregion
|
|
1582
1578
|
//#region package.json
|
|
1583
1579
|
var name = "@univerjs/sheets-filter-ui";
|
|
1584
|
-
var version = "1.0.0-
|
|
1580
|
+
var version = "1.0.0-beta.0";
|
|
1585
1581
|
|
|
1586
1582
|
//#endregion
|
|
1587
1583
|
//#region src/config/config.ts
|
|
@@ -1684,7 +1680,6 @@ const PRIMARY_CONDITION_GROUPS = [
|
|
|
1684
1680
|
* Filter by conditions.
|
|
1685
1681
|
*/
|
|
1686
1682
|
function FilterByCondition(props) {
|
|
1687
|
-
var _formParams$val, _formParams$val2;
|
|
1688
1683
|
const { model } = props;
|
|
1689
1684
|
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
1690
1685
|
const condition = (0, _univerjs_ui.useObservable)(model.conditionItem$, void 0);
|
|
@@ -1746,8 +1741,8 @@ function FilterByCondition(props) {
|
|
|
1746
1741
|
"data-u-comp": "sheets-filter-panel-conditions-container-inner",
|
|
1747
1742
|
className: (0, _univerjs_design.clsx)("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2", _univerjs_design.borderClassName),
|
|
1748
1743
|
children: [
|
|
1749
|
-
condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1,
|
|
1750
|
-
condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2,
|
|
1744
|
+
condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, formParams.val1 ?? "", "operator1"),
|
|
1745
|
+
condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, formParams.val2 ?? "", "operator2"),
|
|
1751
1746
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1752
1747
|
"data-u-comp": "sheets-filter-panel-conditions-desc",
|
|
1753
1748
|
className: "univer-mt-2 univer-text-xs univer-text-gray-500",
|
|
@@ -2272,11 +2267,11 @@ let SheetsFilterRenderController = class SheetsFilterRenderController extends _u
|
|
|
2272
2267
|
this._refreshRendering(this._currentRenderParams);
|
|
2273
2268
|
}));
|
|
2274
2269
|
this._sheetSkeletonManagerService.currentSkeleton$.pipe((0, rxjs.switchMap)((skeletonParams) => {
|
|
2275
|
-
var _workbook$getActiveSh
|
|
2270
|
+
var _workbook$getActiveSh;
|
|
2276
2271
|
if (!skeletonParams) return (0, rxjs.of)(null);
|
|
2277
2272
|
const { unit: workbook, unitId } = this._context;
|
|
2278
2273
|
const worksheetId = ((_workbook$getActiveSh = workbook.getActiveSheet()) === null || _workbook$getActiveSh === void 0 ? void 0 : _workbook$getActiveSh.getSheetId()) || "";
|
|
2279
|
-
const filterModel =
|
|
2274
|
+
const filterModel = this._sheetsFilterService.getFilterModel(unitId, worksheetId) ?? void 0;
|
|
2280
2275
|
const getParams = () => ({
|
|
2281
2276
|
unitId,
|
|
2282
2277
|
worksheetId,
|
|
@@ -2442,7 +2437,7 @@ _defineProperty(UniverSheetsFilterMobileUIPlugin, "pluginName", "SHEET_FILTER_UI
|
|
|
2442
2437
|
_defineProperty(UniverSheetsFilterMobileUIPlugin, "packageName", name);
|
|
2443
2438
|
_defineProperty(UniverSheetsFilterMobileUIPlugin, "version", version);
|
|
2444
2439
|
UniverSheetsFilterMobileUIPlugin = __decorate([
|
|
2445
|
-
(0, _univerjs_core.DependentOn)(_univerjs_sheets_filter.UniverSheetsFilterPlugin),
|
|
2440
|
+
(0, _univerjs_core.DependentOn)(_univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_ui.UniverMobileUIPlugin, _univerjs_sheets_filter.UniverSheetsFilterPlugin, _univerjs_sheets_ui.UniverSheetsMobileUIPlugin),
|
|
2446
2441
|
__decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
|
|
2447
2442
|
__decorateParam(2, _univerjs_core.IConfigService)
|
|
2448
2443
|
], UniverSheetsFilterMobileUIPlugin);
|
|
@@ -2582,7 +2577,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
|
|
|
2582
2577
|
_defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
|
|
2583
2578
|
_defineProperty(UniverSheetsFilterUIPlugin, "version", version);
|
|
2584
2579
|
UniverSheetsFilterUIPlugin = __decorate([
|
|
2585
|
-
(0, _univerjs_core.DependentOn)(_univerjs_sheets_filter.UniverSheetsFilterPlugin),
|
|
2580
|
+
(0, _univerjs_core.DependentOn)(_univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_sheets.UniverSheetsPlugin, _univerjs_sheets_filter.UniverSheetsFilterPlugin, _univerjs_sheets_ui.UniverSheetsUIPlugin),
|
|
2586
2581
|
__decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
|
|
2587
2582
|
__decorateParam(2, _univerjs_core.IConfigService),
|
|
2588
2583
|
__decorateParam(3, (0, _univerjs_core.Optional)(_univerjs_rpc.IRPCChannelService))
|
package/lib/es/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BooleanNumber, ColorKit, CommandType, DependentOn, Disposable, ICommandService, IConfigService, IContextService, ILogService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, Optional, Plugin, Quantity, RxDisposable, ThemeService, Tools, UniverInstanceType, VerticalAlign, createIdentifier, extractPureTextFromCell, fromCallback, isNumeric, merge, numfmt, registerDependencies, touchDependencies } from "@univerjs/core";
|
|
2
2
|
import { ClearSheetsFilterCriteriaCommand, CustomFilterOperator, FILTER_MUTATIONS, FilterBy, ReCalcSheetsFilterCommand, ReCalcSheetsFilterMutation, RemoveSheetsFilterMutation, SetSheetsFilterCriteriaCommand, SetSheetsFilterCriteriaMutation, SetSheetsFilterRangeMutation, SheetsFilterService, SheetsFilterSyncController, SmartToggleSheetsFilterCommand, UniverSheetsFilterPlugin } from "@univerjs/sheets-filter";
|
|
3
|
-
import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
|
|
4
|
-
import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
|
|
5
|
-
import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape } from "@univerjs/engine-render";
|
|
6
|
-
import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
|
|
3
|
+
import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, UniverSheetsMobileUIPlugin, UniverSheetsUIPlugin, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
|
|
4
|
+
import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, UniverMobileUIPlugin, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
|
|
5
|
+
import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape, UniverRenderEnginePlugin } from "@univerjs/engine-render";
|
|
6
|
+
import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, UniverSheetsPlugin, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
|
|
7
7
|
import { BehaviorSubject, ReplaySubject, Subject, combineLatest, distinctUntilChanged, filter, map, merge as merge$1, of, shareReplay, startWith, switchMap, takeUntil, throttleTime } from "rxjs";
|
|
8
8
|
import { AIcon, BanIcon, FilterIcon, InfoIcon, SuccessIcon } from "@univerjs/icons";
|
|
9
9
|
import { Button, Checkbox, Input, MessageType, Radio, RadioGroup, Segmented, Select, Switch, Tooltip, Tree, borderClassName, clsx } from "@univerjs/design";
|
|
@@ -598,7 +598,7 @@ function statisticFilterByValueItems(items) {
|
|
|
598
598
|
}
|
|
599
599
|
|
|
600
600
|
//#endregion
|
|
601
|
-
//#region \0@oxc-project+runtime@0.
|
|
601
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
|
|
602
602
|
function __decorateParam(paramIndex, decorator) {
|
|
603
603
|
return function(target, key) {
|
|
604
604
|
decorator(target, key, paramIndex);
|
|
@@ -606,7 +606,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
606
606
|
}
|
|
607
607
|
|
|
608
608
|
//#endregion
|
|
609
|
-
//#region \0@oxc-project+runtime@0.
|
|
609
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
|
|
610
610
|
function __decorate(decorators, target, key, desc) {
|
|
611
611
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
612
612
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -836,7 +836,7 @@ function searchTree(items, searchKeywords) {
|
|
|
836
836
|
}
|
|
837
837
|
|
|
838
838
|
//#endregion
|
|
839
|
-
//#region \0@oxc-project+runtime@0.
|
|
839
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
|
|
840
840
|
function _typeof(o) {
|
|
841
841
|
"@babel/helpers - typeof";
|
|
842
842
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -847,7 +847,7 @@ function _typeof(o) {
|
|
|
847
847
|
}
|
|
848
848
|
|
|
849
849
|
//#endregion
|
|
850
|
-
//#region \0@oxc-project+runtime@0.
|
|
850
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
|
|
851
851
|
function toPrimitive(t, r) {
|
|
852
852
|
if ("object" != _typeof(t) || !t) return t;
|
|
853
853
|
var e = t[Symbol.toPrimitive];
|
|
@@ -860,14 +860,14 @@ function toPrimitive(t, r) {
|
|
|
860
860
|
}
|
|
861
861
|
|
|
862
862
|
//#endregion
|
|
863
|
-
//#region \0@oxc-project+runtime@0.
|
|
863
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
|
|
864
864
|
function toPropertyKey(t) {
|
|
865
865
|
var i = toPrimitive(t, "string");
|
|
866
866
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
867
867
|
}
|
|
868
868
|
|
|
869
869
|
//#endregion
|
|
870
|
-
//#region \0@oxc-project+runtime@0.
|
|
870
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
|
|
871
871
|
function _defineProperty(e, r, t) {
|
|
872
872
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
873
873
|
value: t,
|
|
@@ -879,7 +879,9 @@ function _defineProperty(e, r, t) {
|
|
|
879
879
|
|
|
880
880
|
//#endregion
|
|
881
881
|
//#region src/services/sheets-filter-panel.service.ts
|
|
882
|
-
var _ByConditionsModel
|
|
882
|
+
var _ByConditionsModel;
|
|
883
|
+
var _ByValuesModel;
|
|
884
|
+
var _ByColorsModel;
|
|
883
885
|
const ISheetsFilterPanelService = createIdentifier("sheets-filter-ui.sheets-filter-panel.service");
|
|
884
886
|
let SheetsFilterPanelService = class SheetsFilterPanelService extends Disposable {
|
|
885
887
|
get filterBy() {
|
|
@@ -1145,7 +1147,7 @@ let ByValuesModel = _ByValuesModel = class ByValuesModel extends Disposable {
|
|
|
1145
1147
|
const localeService = injector.get(LocaleService);
|
|
1146
1148
|
const generateFilterValuesService = injector.get(ISheetsGenerateFilterValuesService, Quantity.OPTIONAL);
|
|
1147
1149
|
const { unitId, subUnitId } = filterModel;
|
|
1148
|
-
const workbook = univerInstanceService.
|
|
1150
|
+
const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
|
|
1149
1151
|
if (!workbook) throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);
|
|
1150
1152
|
const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
|
|
1151
1153
|
if (!worksheet) throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
|
|
@@ -1321,10 +1323,10 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
|
|
|
1321
1323
|
* @returns the model to control the panel's state
|
|
1322
1324
|
*/
|
|
1323
1325
|
static async fromFilterColumn(injector, filterModel, col) {
|
|
1324
|
-
var _filterModel$getFilte
|
|
1326
|
+
var _filterModel$getFilte;
|
|
1325
1327
|
const univerInstanceService = injector.get(IUniverInstanceService);
|
|
1326
1328
|
const { unitId, subUnitId } = filterModel;
|
|
1327
|
-
const workbook = univerInstanceService.
|
|
1329
|
+
const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
|
|
1328
1330
|
if (!workbook) throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${unitId}!`);
|
|
1329
1331
|
const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
|
|
1330
1332
|
if (!worksheet) throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
|
|
@@ -1339,9 +1341,9 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
|
|
|
1339
1341
|
endColumn: column
|
|
1340
1342
|
};
|
|
1341
1343
|
const cellFillColors = /* @__PURE__ */ new Map();
|
|
1342
|
-
const cellFillColorsChecked = new Set((
|
|
1344
|
+
const cellFillColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) ?? []);
|
|
1343
1345
|
const cellTextColors = /* @__PURE__ */ new Map();
|
|
1344
|
-
const cellTextColorsChecked = new Set((
|
|
1346
|
+
const cellTextColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) ?? []);
|
|
1345
1347
|
for (const cell of worksheet.iterateByColumn(iterateRange, false, true)) {
|
|
1346
1348
|
const { row, col, value } = cell;
|
|
1347
1349
|
if (filteredOutRowsByOtherColumns.has(row)) continue;
|
|
@@ -1538,10 +1540,7 @@ function ClearFilterCriteriaMenuItemFactory(accessor) {
|
|
|
1538
1540
|
type: MenuItemType.BUTTON,
|
|
1539
1541
|
title: "sheets-filter-ui.toolbar.clear-filter-criteria",
|
|
1540
1542
|
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
|
1541
|
-
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) =>
|
|
1542
|
-
var _model$hasCriteria$$p;
|
|
1543
|
-
return (_model$hasCriteria$$p = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p !== void 0 ? _model$hasCriteria$$p : of(true);
|
|
1544
|
-
}))
|
|
1543
|
+
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
|
|
1545
1544
|
};
|
|
1546
1545
|
}
|
|
1547
1546
|
function ReCalcFilterMenuItemFactory(accessor) {
|
|
@@ -1551,10 +1550,7 @@ function ReCalcFilterMenuItemFactory(accessor) {
|
|
|
1551
1550
|
type: MenuItemType.BUTTON,
|
|
1552
1551
|
title: "sheets-filter-ui.toolbar.re-calc-filter-conditions",
|
|
1553
1552
|
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
|
1554
|
-
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) =>
|
|
1555
|
-
var _model$hasCriteria$$p2;
|
|
1556
|
-
return (_model$hasCriteria$$p2 = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p2 !== void 0 ? _model$hasCriteria$$p2 : of(true);
|
|
1557
|
-
}))
|
|
1553
|
+
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
|
|
1558
1554
|
};
|
|
1559
1555
|
}
|
|
1560
1556
|
|
|
@@ -1580,7 +1576,7 @@ const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterC
|
|
|
1580
1576
|
//#endregion
|
|
1581
1577
|
//#region package.json
|
|
1582
1578
|
var name = "@univerjs/sheets-filter-ui";
|
|
1583
|
-
var version = "1.0.0-
|
|
1579
|
+
var version = "1.0.0-beta.0";
|
|
1584
1580
|
|
|
1585
1581
|
//#endregion
|
|
1586
1582
|
//#region src/config/config.ts
|
|
@@ -1683,7 +1679,6 @@ const PRIMARY_CONDITION_GROUPS = [
|
|
|
1683
1679
|
* Filter by conditions.
|
|
1684
1680
|
*/
|
|
1685
1681
|
function FilterByCondition(props) {
|
|
1686
|
-
var _formParams$val, _formParams$val2;
|
|
1687
1682
|
const { model } = props;
|
|
1688
1683
|
const localeService = useDependency(LocaleService);
|
|
1689
1684
|
const condition = useObservable(model.conditionItem$, void 0);
|
|
@@ -1745,8 +1740,8 @@ function FilterByCondition(props) {
|
|
|
1745
1740
|
"data-u-comp": "sheets-filter-panel-conditions-container-inner",
|
|
1746
1741
|
className: clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2", borderClassName),
|
|
1747
1742
|
children: [
|
|
1748
|
-
condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1,
|
|
1749
|
-
condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2,
|
|
1743
|
+
condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, formParams.val1 ?? "", "operator1"),
|
|
1744
|
+
condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, formParams.val2 ?? "", "operator2"),
|
|
1750
1745
|
/* @__PURE__ */ jsxs("div", {
|
|
1751
1746
|
"data-u-comp": "sheets-filter-panel-conditions-desc",
|
|
1752
1747
|
className: "univer-mt-2 univer-text-xs univer-text-gray-500",
|
|
@@ -2271,11 +2266,11 @@ let SheetsFilterRenderController = class SheetsFilterRenderController extends Rx
|
|
|
2271
2266
|
this._refreshRendering(this._currentRenderParams);
|
|
2272
2267
|
}));
|
|
2273
2268
|
this._sheetSkeletonManagerService.currentSkeleton$.pipe(switchMap((skeletonParams) => {
|
|
2274
|
-
var _workbook$getActiveSh
|
|
2269
|
+
var _workbook$getActiveSh;
|
|
2275
2270
|
if (!skeletonParams) return of(null);
|
|
2276
2271
|
const { unit: workbook, unitId } = this._context;
|
|
2277
2272
|
const worksheetId = ((_workbook$getActiveSh = workbook.getActiveSheet()) === null || _workbook$getActiveSh === void 0 ? void 0 : _workbook$getActiveSh.getSheetId()) || "";
|
|
2278
|
-
const filterModel =
|
|
2273
|
+
const filterModel = this._sheetsFilterService.getFilterModel(unitId, worksheetId) ?? void 0;
|
|
2279
2274
|
const getParams = () => ({
|
|
2280
2275
|
unitId,
|
|
2281
2276
|
worksheetId,
|
|
@@ -2441,7 +2436,7 @@ _defineProperty(UniverSheetsFilterMobileUIPlugin, "pluginName", "SHEET_FILTER_UI
|
|
|
2441
2436
|
_defineProperty(UniverSheetsFilterMobileUIPlugin, "packageName", name);
|
|
2442
2437
|
_defineProperty(UniverSheetsFilterMobileUIPlugin, "version", version);
|
|
2443
2438
|
UniverSheetsFilterMobileUIPlugin = __decorate([
|
|
2444
|
-
DependentOn(UniverSheetsFilterPlugin),
|
|
2439
|
+
DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverMobileUIPlugin, UniverSheetsFilterPlugin, UniverSheetsMobileUIPlugin),
|
|
2445
2440
|
__decorateParam(1, Inject(Injector)),
|
|
2446
2441
|
__decorateParam(2, IConfigService)
|
|
2447
2442
|
], UniverSheetsFilterMobileUIPlugin);
|
|
@@ -2581,7 +2576,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
|
|
|
2581
2576
|
_defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
|
|
2582
2577
|
_defineProperty(UniverSheetsFilterUIPlugin, "version", version);
|
|
2583
2578
|
UniverSheetsFilterUIPlugin = __decorate([
|
|
2584
|
-
DependentOn(UniverSheetsFilterPlugin),
|
|
2579
|
+
DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
|
|
2585
2580
|
__decorateParam(1, Inject(Injector)),
|
|
2586
2581
|
__decorateParam(2, IConfigService),
|
|
2587
2582
|
__decorateParam(3, Optional(IRPCChannelService))
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BooleanNumber, ColorKit, CommandType, DependentOn, Disposable, ICommandService, IConfigService, IContextService, ILogService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, LocaleService, Optional, Plugin, Quantity, RxDisposable, ThemeService, Tools, UniverInstanceType, VerticalAlign, createIdentifier, extractPureTextFromCell, fromCallback, isNumeric, merge, numfmt, registerDependencies, touchDependencies } from "@univerjs/core";
|
|
2
2
|
import { ClearSheetsFilterCriteriaCommand, CustomFilterOperator, FILTER_MUTATIONS, FilterBy, ReCalcSheetsFilterCommand, ReCalcSheetsFilterMutation, RemoveSheetsFilterMutation, SetSheetsFilterCriteriaCommand, SetSheetsFilterCriteriaMutation, SetSheetsFilterRangeMutation, SheetsFilterService, SheetsFilterSyncController, SmartToggleSheetsFilterCommand, UniverSheetsFilterPlugin } from "@univerjs/sheets-filter";
|
|
3
|
-
import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
|
|
4
|
-
import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
|
|
5
|
-
import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape } from "@univerjs/engine-render";
|
|
6
|
-
import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
|
|
3
|
+
import { IEditorBridgeService, ISheetSelectionRenderService, SelectionControl, SetCellEditVisibleOperation, SheetCanvasPopManagerService, SheetSkeletonManagerService, SheetsRenderService, SheetsUIPart, UniverSheetsMobileUIPlugin, UniverSheetsUIPlugin, getCoordByCell, getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from "@univerjs/sheets-ui";
|
|
4
|
+
import { ComponentContainer, ComponentManager, ILayoutService, IMenuManagerService, IMessageService, IShortcutService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonDataGroup, UniverMobileUIPlugin, getMenuHiddenObservable, useComponentsOfPart, useDependency, useObservable } from "@univerjs/ui";
|
|
5
|
+
import { COLOR_BLACK_RGB, IRenderManagerService, Rect, Shape, UniverRenderEnginePlugin } from "@univerjs/engine-render";
|
|
6
|
+
import { INTERCEPTOR_POINT, RangeProtectionPermissionViewPoint, RefRangeService, SetRangeValuesMutation, SheetInterceptorService, SheetPermissionCheckController, SheetsSelectionsService, UniverSheetsPlugin, WorksheetFilterPermission, WorksheetViewPermission, attachSelectionWithCoord, expandToContinuousRange, getSheetCommandTarget } from "@univerjs/sheets";
|
|
7
7
|
import { BehaviorSubject, ReplaySubject, Subject, combineLatest, distinctUntilChanged, filter, map, merge as merge$1, of, shareReplay, startWith, switchMap, takeUntil, throttleTime } from "rxjs";
|
|
8
8
|
import { AIcon, BanIcon, FilterIcon, InfoIcon, SuccessIcon } from "@univerjs/icons";
|
|
9
9
|
import { Button, Checkbox, Input, MessageType, Radio, RadioGroup, Segmented, Select, Switch, Tooltip, Tree, borderClassName, clsx } from "@univerjs/design";
|
|
@@ -598,7 +598,7 @@ function statisticFilterByValueItems(items) {
|
|
|
598
598
|
}
|
|
599
599
|
|
|
600
600
|
//#endregion
|
|
601
|
-
//#region \0@oxc-project+runtime@0.
|
|
601
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
|
|
602
602
|
function __decorateParam(paramIndex, decorator) {
|
|
603
603
|
return function(target, key) {
|
|
604
604
|
decorator(target, key, paramIndex);
|
|
@@ -606,7 +606,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
606
606
|
}
|
|
607
607
|
|
|
608
608
|
//#endregion
|
|
609
|
-
//#region \0@oxc-project+runtime@0.
|
|
609
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
|
|
610
610
|
function __decorate(decorators, target, key, desc) {
|
|
611
611
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
612
612
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -836,7 +836,7 @@ function searchTree(items, searchKeywords) {
|
|
|
836
836
|
}
|
|
837
837
|
|
|
838
838
|
//#endregion
|
|
839
|
-
//#region \0@oxc-project+runtime@0.
|
|
839
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
|
|
840
840
|
function _typeof(o) {
|
|
841
841
|
"@babel/helpers - typeof";
|
|
842
842
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -847,7 +847,7 @@ function _typeof(o) {
|
|
|
847
847
|
}
|
|
848
848
|
|
|
849
849
|
//#endregion
|
|
850
|
-
//#region \0@oxc-project+runtime@0.
|
|
850
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
|
|
851
851
|
function toPrimitive(t, r) {
|
|
852
852
|
if ("object" != _typeof(t) || !t) return t;
|
|
853
853
|
var e = t[Symbol.toPrimitive];
|
|
@@ -860,14 +860,14 @@ function toPrimitive(t, r) {
|
|
|
860
860
|
}
|
|
861
861
|
|
|
862
862
|
//#endregion
|
|
863
|
-
//#region \0@oxc-project+runtime@0.
|
|
863
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
|
|
864
864
|
function toPropertyKey(t) {
|
|
865
865
|
var i = toPrimitive(t, "string");
|
|
866
866
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
867
867
|
}
|
|
868
868
|
|
|
869
869
|
//#endregion
|
|
870
|
-
//#region \0@oxc-project+runtime@0.
|
|
870
|
+
//#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
|
|
871
871
|
function _defineProperty(e, r, t) {
|
|
872
872
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
873
873
|
value: t,
|
|
@@ -879,7 +879,9 @@ function _defineProperty(e, r, t) {
|
|
|
879
879
|
|
|
880
880
|
//#endregion
|
|
881
881
|
//#region src/services/sheets-filter-panel.service.ts
|
|
882
|
-
var _ByConditionsModel
|
|
882
|
+
var _ByConditionsModel;
|
|
883
|
+
var _ByValuesModel;
|
|
884
|
+
var _ByColorsModel;
|
|
883
885
|
const ISheetsFilterPanelService = createIdentifier("sheets-filter-ui.sheets-filter-panel.service");
|
|
884
886
|
let SheetsFilterPanelService = class SheetsFilterPanelService extends Disposable {
|
|
885
887
|
get filterBy() {
|
|
@@ -1145,7 +1147,7 @@ let ByValuesModel = _ByValuesModel = class ByValuesModel extends Disposable {
|
|
|
1145
1147
|
const localeService = injector.get(LocaleService);
|
|
1146
1148
|
const generateFilterValuesService = injector.get(ISheetsGenerateFilterValuesService, Quantity.OPTIONAL);
|
|
1147
1149
|
const { unitId, subUnitId } = filterModel;
|
|
1148
|
-
const workbook = univerInstanceService.
|
|
1150
|
+
const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
|
|
1149
1151
|
if (!workbook) throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);
|
|
1150
1152
|
const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
|
|
1151
1153
|
if (!worksheet) throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
|
|
@@ -1321,10 +1323,10 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
|
|
|
1321
1323
|
* @returns the model to control the panel's state
|
|
1322
1324
|
*/
|
|
1323
1325
|
static async fromFilterColumn(injector, filterModel, col) {
|
|
1324
|
-
var _filterModel$getFilte
|
|
1326
|
+
var _filterModel$getFilte;
|
|
1325
1327
|
const univerInstanceService = injector.get(IUniverInstanceService);
|
|
1326
1328
|
const { unitId, subUnitId } = filterModel;
|
|
1327
|
-
const workbook = univerInstanceService.
|
|
1329
|
+
const workbook = univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
|
|
1328
1330
|
if (!workbook) throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${unitId}!`);
|
|
1329
1331
|
const worksheet = workbook === null || workbook === void 0 ? void 0 : workbook.getSheetBySheetId(subUnitId);
|
|
1330
1332
|
if (!worksheet) throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);
|
|
@@ -1339,9 +1341,9 @@ let ByColorsModel = _ByColorsModel = class ByColorsModel extends Disposable {
|
|
|
1339
1341
|
endColumn: column
|
|
1340
1342
|
};
|
|
1341
1343
|
const cellFillColors = /* @__PURE__ */ new Map();
|
|
1342
|
-
const cellFillColorsChecked = new Set((
|
|
1344
|
+
const cellFillColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) ?? []);
|
|
1343
1345
|
const cellTextColors = /* @__PURE__ */ new Map();
|
|
1344
|
-
const cellTextColorsChecked = new Set((
|
|
1346
|
+
const cellTextColorsChecked = new Set((colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) ?? []);
|
|
1345
1347
|
for (const cell of worksheet.iterateByColumn(iterateRange, false, true)) {
|
|
1346
1348
|
const { row, col, value } = cell;
|
|
1347
1349
|
if (filteredOutRowsByOtherColumns.has(row)) continue;
|
|
@@ -1538,10 +1540,7 @@ function ClearFilterCriteriaMenuItemFactory(accessor) {
|
|
|
1538
1540
|
type: MenuItemType.BUTTON,
|
|
1539
1541
|
title: "sheets-filter-ui.toolbar.clear-filter-criteria",
|
|
1540
1542
|
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
|
1541
|
-
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) =>
|
|
1542
|
-
var _model$hasCriteria$$p;
|
|
1543
|
-
return (_model$hasCriteria$$p = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p !== void 0 ? _model$hasCriteria$$p : of(true);
|
|
1544
|
-
}))
|
|
1543
|
+
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
|
|
1545
1544
|
};
|
|
1546
1545
|
}
|
|
1547
1546
|
function ReCalcFilterMenuItemFactory(accessor) {
|
|
@@ -1551,10 +1550,7 @@ function ReCalcFilterMenuItemFactory(accessor) {
|
|
|
1551
1550
|
type: MenuItemType.BUTTON,
|
|
1552
1551
|
title: "sheets-filter-ui.toolbar.re-calc-filter-conditions",
|
|
1553
1552
|
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
|
1554
|
-
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) =>
|
|
1555
|
-
var _model$hasCriteria$$p2;
|
|
1556
|
-
return (_model$hasCriteria$$p2 = model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) !== null && _model$hasCriteria$$p2 !== void 0 ? _model$hasCriteria$$p2 : of(true);
|
|
1557
|
-
}))
|
|
1553
|
+
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => (model === null || model === void 0 ? void 0 : model.hasCriteria$.pipe(map((m) => !m))) ?? of(true)))
|
|
1558
1554
|
};
|
|
1559
1555
|
}
|
|
1560
1556
|
|
|
@@ -1580,7 +1576,7 @@ const menuSchema = { [RibbonDataGroup.ORGANIZATION]: { [SmartToggleSheetsFilterC
|
|
|
1580
1576
|
//#endregion
|
|
1581
1577
|
//#region package.json
|
|
1582
1578
|
var name = "@univerjs/sheets-filter-ui";
|
|
1583
|
-
var version = "1.0.0-
|
|
1579
|
+
var version = "1.0.0-beta.0";
|
|
1584
1580
|
|
|
1585
1581
|
//#endregion
|
|
1586
1582
|
//#region src/config/config.ts
|
|
@@ -1683,7 +1679,6 @@ const PRIMARY_CONDITION_GROUPS = [
|
|
|
1683
1679
|
* Filter by conditions.
|
|
1684
1680
|
*/
|
|
1685
1681
|
function FilterByCondition(props) {
|
|
1686
|
-
var _formParams$val, _formParams$val2;
|
|
1687
1682
|
const { model } = props;
|
|
1688
1683
|
const localeService = useDependency(LocaleService);
|
|
1689
1684
|
const condition = useObservable(model.conditionItem$, void 0);
|
|
@@ -1745,8 +1740,8 @@ function FilterByCondition(props) {
|
|
|
1745
1740
|
"data-u-comp": "sheets-filter-panel-conditions-container-inner",
|
|
1746
1741
|
className: clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2", borderClassName),
|
|
1747
1742
|
children: [
|
|
1748
|
-
condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1,
|
|
1749
|
-
condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2,
|
|
1743
|
+
condition.numOfParameters >= 1 && renderSecondaryCondition(formParams.operator1, formParams.val1 ?? "", "operator1"),
|
|
1744
|
+
condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, formParams.val2 ?? "", "operator2"),
|
|
1750
1745
|
/* @__PURE__ */ jsxs("div", {
|
|
1751
1746
|
"data-u-comp": "sheets-filter-panel-conditions-desc",
|
|
1752
1747
|
className: "univer-mt-2 univer-text-xs univer-text-gray-500",
|
|
@@ -2271,11 +2266,11 @@ let SheetsFilterRenderController = class SheetsFilterRenderController extends Rx
|
|
|
2271
2266
|
this._refreshRendering(this._currentRenderParams);
|
|
2272
2267
|
}));
|
|
2273
2268
|
this._sheetSkeletonManagerService.currentSkeleton$.pipe(switchMap((skeletonParams) => {
|
|
2274
|
-
var _workbook$getActiveSh
|
|
2269
|
+
var _workbook$getActiveSh;
|
|
2275
2270
|
if (!skeletonParams) return of(null);
|
|
2276
2271
|
const { unit: workbook, unitId } = this._context;
|
|
2277
2272
|
const worksheetId = ((_workbook$getActiveSh = workbook.getActiveSheet()) === null || _workbook$getActiveSh === void 0 ? void 0 : _workbook$getActiveSh.getSheetId()) || "";
|
|
2278
|
-
const filterModel =
|
|
2273
|
+
const filterModel = this._sheetsFilterService.getFilterModel(unitId, worksheetId) ?? void 0;
|
|
2279
2274
|
const getParams = () => ({
|
|
2280
2275
|
unitId,
|
|
2281
2276
|
worksheetId,
|
|
@@ -2441,7 +2436,7 @@ _defineProperty(UniverSheetsFilterMobileUIPlugin, "pluginName", "SHEET_FILTER_UI
|
|
|
2441
2436
|
_defineProperty(UniverSheetsFilterMobileUIPlugin, "packageName", name);
|
|
2442
2437
|
_defineProperty(UniverSheetsFilterMobileUIPlugin, "version", version);
|
|
2443
2438
|
UniverSheetsFilterMobileUIPlugin = __decorate([
|
|
2444
|
-
DependentOn(UniverSheetsFilterPlugin),
|
|
2439
|
+
DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverMobileUIPlugin, UniverSheetsFilterPlugin, UniverSheetsMobileUIPlugin),
|
|
2445
2440
|
__decorateParam(1, Inject(Injector)),
|
|
2446
2441
|
__decorateParam(2, IConfigService)
|
|
2447
2442
|
], UniverSheetsFilterMobileUIPlugin);
|
|
@@ -2581,7 +2576,7 @@ _defineProperty(UniverSheetsFilterUIPlugin, "pluginName", "SHEET_FILTER_UI_PLUGI
|
|
|
2581
2576
|
_defineProperty(UniverSheetsFilterUIPlugin, "packageName", name);
|
|
2582
2577
|
_defineProperty(UniverSheetsFilterUIPlugin, "version", version);
|
|
2583
2578
|
UniverSheetsFilterUIPlugin = __decorate([
|
|
2584
|
-
DependentOn(UniverSheetsFilterPlugin),
|
|
2579
|
+
DependentOn(UniverRenderEnginePlugin, UniverSheetsPlugin, UniverSheetsFilterPlugin, UniverSheetsUIPlugin),
|
|
2585
2580
|
__decorateParam(1, Inject(Injector)),
|
|
2586
2581
|
__decorateParam(2, IConfigService),
|
|
2587
2582
|
__decorateParam(3, Optional(IRPCChannelService))
|
package/lib/umd/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("react"),require("@univerjs/design"),require("react/jsx-runtime"),require("@univerjs/rpc")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-filter`,`@univerjs/sheets-ui`,`@univerjs/ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`rxjs`,`react`,`@univerjs/design`,`react/jsx-runtime`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFilterUi={},e.UniverCore,e.UniverSheetsFilter,e.UniverSheetsUi,e.UniverUi,e.UniverEngineRender,e.UniverSheets,e.rxjs,e.React,e.UniverDesign,e.React,e.UniverRpc))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let f;(function(e){let r=e.NONE={label:`sheets-filter-ui.conditions.none`,operator:`none`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NONE]: should not have initial form params!`)},testMappingParams:e=>e.operator1===`none`,mapToFilterColumn:()=>null,testMappingFilterColumn:e=>!e.customFilters&&!e.filters?{}:!1},i=e.ALL_CONDITIONS=[r,e.EMPTY={label:`sheets-filter-ui.conditions.empty`,operator:`empty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`empty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0];return n.val===``&&n.operator===void 0?{operator1:`empty`}:!1}},e.NOT_EMPTY={label:`sheets-filter-ui.conditions.not-empty`,operator:`notEmpty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NOT_EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`notEmpty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.val===` `&&r.operator===n.CustomFilterOperator.NOT_EQUALS?{operator1:`notEmpty`}:!1}},e.TEXT_CONTAINS={label:`sheets-filter-ui.conditions.text-contains`,operator:`contains`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`contains`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`contains`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:`*${t}*`}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&r.endsWith(`*`)?{operator1:`contains`,val1:r.slice(1,-1)}:!1}},e.DOES_NOT_CONTAIN={label:`sheets-filter-ui.conditions.does-not-contain`,operator:`doesNotContain`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`doesNotContain`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}*`,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:e=>{let[t]=p(e);return t===`doesNotContain`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0],i=r.val.toString();return r.operator===n.CustomFilterOperator.NOT_EQUALS&&i.startsWith(`*`)&&i.endsWith(`*`)?{operator1:`doesNotContain`,val1:i.slice(1,-1)}:!1}},e.STARTS_WITH={label:`sheets-filter-ui.conditions.starts-with`,operator:`startsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`startsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`${e.val1}*`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`startsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.endsWith(`*`)&&!r.startsWith(`*`)?{operator1:`startsWith`,val1:r.slice(0,-1)}:!1}},e.ENDS_WITH={label:`sheets-filter-ui.conditions.ends-with`,operator:`endsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`endsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`endsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&!r.endsWith(`*`)?{operator1:`endsWith`,val1:r.slice(1)}:!1}},e.EQUALS={label:`sheets-filter-ui.conditions.equals`,operator:`equals`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`equals`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`equals`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:t}]}}},testMappingFilterColumn:e=>{var t,n;return((t=e.filters)==null||(t=t.filters)==null?void 0:t.length)===1?{operator1:`equals`,val1:``}:((n=e.customFilters)==null?void 0:n.customFilters.length)===1&&!e.customFilters.customFilters[0].operator?{operator1:`equals`,val1:e.customFilters.customFilters[0].val.toString()}:!1}},e.GREATER_THAN={label:`sheets-filter-ui.conditions.greater-than`,operator:n.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN?{operator1:n.CustomFilterOperator.GREATER_THAN,val1:r.val.toString()}:!1}},e.GREATER_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.greater-than-or-equal`,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL?{operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString()}:!1}},e.LESS_THAN={label:`sheets-filter-ui.conditions.less-than`,operator:n.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN?{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString()}:!1}},e.LESS_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.less-than-or-equal`,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL?{operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:r.val.toString()}:!1}},e.EQUAL={label:`sheets-filter-ui.conditions.equal`,operator:n.CustomFilterOperator.EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.EQUAL?{operator1:n.CustomFilterOperator.EQUAL,val1:r.val.toString()}:!1}},e.NOT_EQUAL={label:`sheets-filter-ui.conditions.not-equal`,operator:n.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.NOT_EQUALS,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.NOT_EQUALS?{operator1:n.CustomFilterOperator.NOT_EQUALS,val1:r.val.toString()}:!1}},e.BETWEEN={label:`sheets-filter-ui.conditions.between`,operator:`between`,order:1,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``,operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(!t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&a.includes(n.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:e=>{let{val1:r,val2:i,operator1:a}=e,o=a===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:t.BooleanNumber.TRUE,customFilters:[{val:o?r:i,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:o?i:r,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&i.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:r.val.toLocaleString()}:!1}},e.NOT_BETWEEN={label:`sheets-filter-ui.conditions.not-between`,operator:`notBetween`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``,operator2:n.CustomFilterOperator.GREATER_THAN,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN)&&a.includes(n.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:e=>{let{val1:t,val2:r,operator1:i}=e,a=i===n.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:a?t:r,operator:n.CustomFilterOperator.GREATER_THAN},{val:a?r:t,operator:n.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.LESS_THAN&&i.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and?{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString(),operator2:n.CustomFilterOperator.GREATER_THAN,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.LESS_THAN&&r.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and?{operator1:n.CustomFilterOperator.GREATER_THAN,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN,val2:r.val.toLocaleString()}:!1}},e.CUSTOM={label:`sheets-filter-ui.conditions.custom`,operator:`custom`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:`none`,val1:``,operator2:`none`,val2:``}),testMappingParams:()=>!0,mapToFilterColumn:e=>{let{and:n,val1:a,val2:o,operator1:s,operator2:c}=e;function l(e,t){for(let n of i)if(n.operator===e)return n.mapToFilterColumn({val1:t,operator1:e})}let u=!s||s===f.NONE.operator,d=!c||c===f.NONE.operator;if(u&&d)return r.mapToFilterColumn({});if(u)return l(c,o);if(d)return l(s,a);let p=l(s,a),m=l(c,o),h={customFilters:[p.customFilters.customFilters[0],m.customFilters.customFilters[0]]};return n&&(h.and=t.BooleanNumber.TRUE),{customFilters:h}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let n=e.customFilters.customFilters.map(e=>l({customFilters:{customFilters:[e]}})),r={operator1:n[0][0].operator,val1:n[0][1].val1,operator2:n[1][0].operator,val2:n[1][1].val1};return e.customFilters.and&&(r.and=!0),r}}];function a(e){let t=i.find(t=>t.operator===e);if(!t)throw Error(`[SheetsFilter]: no condition item found for operator: ${e}`);return t}e.getItemByOperator=a;function o(e,t){for(let n of i.filter(e=>e.numOfParameters===t))if(n.numOfParameters!==0&&n.testMappingParams(e))return n;for(let t of i)if(t.testMappingParams(e))return t;throw Error(`[SheetsFilter]: no condition item can be mapped from the filter map params!`)}e.testMappingParams=o;function s(e){let t=i.find(t=>t.operator===e);return(t==null?void 0:t.numOfParameters)===0?{operator1:t.operator}:t.getDefaultFormParams()}e.getInitialFormParams=s;function c(e,t){return e.mapToFilterColumn(t)}e.mapToFilterColumn=c;function l(e){if(!e)return[r,{}];for(let t of i){let n=t.testMappingFilterColumn(e);if(n)return[t,n]}return[r,{}]}e.testMappingFilterColumn=l})(f||(f={}));function p(e){let{operator1:t,operator2:n,val1:r,val2:i}=e;if(t&&n)throw Error(`Both operator1 and operator2 are set!`);if(!t&&!n)throw Error(`Neither operator1 and operator2 and both not set!`);return t?[t,r]:[n,i]}function m(e){let t=[],n=[],r=0,i=0;function a(e){e.leaf&&(e.checked?(t.push(e),r+=e.count):(n.push(e),i+=e.count)),e.children&&e.children.forEach(a)}return e.forEach(a),{checkedItems:t,uncheckedItems:n,checked:r,unchecked:i}}function h(e,t){return function(n,r){t(n,r,e)}}function g(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let _=`sheets-filter.generate-filter-values.service`,v=(0,t.createIdentifier)(_),y=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._univerInstanceService=t,this._logService=n}async getFilterValues(e){var t;let{unitId:n,subUnitId:r,filteredOutRowsByOtherColumns:i,filterColumn:a,filters:o,blankChecked:s,iterateRange:c,alreadyChecked:l}=e,u=this._univerInstanceService.getUnit(n),d=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);return!u||!d?[]:(this._logService.debug(`[SheetsGenerateFilterValuesService]`,`getFilterValues for`,{unitId:n,subUnitId:r}),b(o,this._localeService,c,d,new Set(i),a,new Set(l.map(String)),s,u.getStyles()))}};y=g([h(0,(0,t.Inject)(t.LocaleService)),h(1,t.IUniverInstanceService),h(2,t.ILogService)],y);function b(e,r,i,a,o,s,c,l,u){var d;let f=new Map,p=new Map,m=`empty`,h=!e&&((s==null?void 0:s.filterBy)===n.FilterBy.COLORS||(s==null?void 0:s.filterBy)===n.FilterBy.CONDITIONS)&&((d=s.filteredOutRows)==null?void 0:d.size),g=0;for(let e of a.iterateByColumn(i,!1,!1)){let{row:n,rowSpan:i=1}=e,s=0;for(;s<i;){var _,v,y;let d=n+s;if(o.has(d)){s++;continue}let m=e!=null&&e.value?(0,t.extractPureTextFromCell)(e.value):``;if(!m){g+=1,s+=i;continue}let x=(_=e.value)!=null&&_.v&&!e.value.p?(v=u.get((y=e.value)==null?void 0:y.s))==null||(v=v.n)==null?void 0:v.pattern:``,E=x&&t.numfmt.getFormatInfo(x).isDate,D=!1;if(E){let{year:e,month:n,day:r}=t.numfmt.getFormatDateInfo(x);D=e||n||r}if(x&&E&&D){var b,S,C;let n=(b=a.getCellRaw(e.row,e.col))==null?void 0:b.v;if(!n){s++;continue}let[i,o,u]=t.numfmt.format(`yyyy-mm-dd`,Number(n)).split(`-`).map(Number),d=f.get(`${i}`);d||(d={title:`${i}`,key:`${i}`,children:[],count:0,leaf:!1,checked:!1},f.set(`${i}`,d),p.set(`${i}`,[`${i}`]));let g=(S=d.children)==null?void 0:S.find(e=>e.key===`${i}-${o}`);if(!g){var w;g={title:r.t(`sheets-filter-ui.date.${o}`),key:`${i}-${o}`,children:[],count:0,leaf:!1,checked:!1},(w=d.children)==null||w.push(g),p.set(`${i}-${o}`,[`${i}`,`${i}-${o}`])}let _=g==null||(C=g.children)==null?void 0:C.find(e=>e.key===`${i}-${o}-${u}`);if(_)_.originValues.add(m),_.count++,g.count++,d.count++;else{var T;(T=g.children)==null||T.push({title:`${u}`,key:`${i}-${o}-${u}`,count:1,originValues:new Set([m]),leaf:!0,checked:h?!1:c.size?c.has(m):!l}),g.count++,d.count++,p.set(`${i}-${o}-${u}`,[`${i}`,`${i}-${o}`,`${i}-${o}-${u}`])}}else{let e=m,t=f.get(e);t?t.count++:(t={title:m,leaf:!0,checked:h?!1:c.size?c.has(m):!l,key:e,count:1},f.set(e,t),p.set(e,[e]))}s++}}let E=h?!1:e?l:!0;if(g>0){let e={title:r.t(`sheets-filter-ui.panel.empty`),count:g,leaf:!0,checked:E,key:m};f.set(`empty`,e),p.set(`empty`,[m])}return{filterTreeItems:x(Array.from(f.values())),filterTreeMapCache:p}}function x(e){return Array.from(e).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:S(e.title,t.title)).map(e=>(e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[1],10)-Number.parseInt(t.key.split(`-`)[1],10)).forEach(e=>{e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[2],10)-Number.parseInt(t.key.split(`-`)[2],10))}),e))}function S(e,n){let r=(0,t.isNumeric)(e),i=(0,t.isNumeric)(n);return r&&i?Number.parseFloat(e)-Number.parseFloat(n):r&&!i?-1:!r&&i?1:e.localeCompare(n)}function C(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let e=C(n.children,t);if(e)return e}}return null}function w(e){return e.leaf?e.checked:e.children?e.children.every(e=>w(e)):!0}function T(e,t){e.leaf&&(t===void 0?e.checked=!e.checked:e.checked=t),e.children&&e.children.forEach(e=>T(e,t))}function E(e,t){let n=[];return e.forEach(e=>{let r=e.originValues?t.some(t=>Array.from(e.originValues).some(e=>e.toLowerCase().includes(t.toLowerCase()))):!1,i=!r&&t.some(t=>e.title.toLowerCase().includes(t.toLowerCase()));if(r||i)n.push({...e});else if(e.children){let r=E(e.children,t);if(r.length>0){let t=r.reduce((e,t)=>e+t.count,0);n.push({...e,count:t,children:r})}}}),n}function D(e){"@babel/helpers - typeof";return D=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},D(e)}function ee(e,t){if(D(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(D(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return D(t)==`symbol`?t:t+``}function O(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k,A,j;let M=(0,t.createIdentifier)(`sheets-filter-ui.sheets-filter-panel.service`),N=class extends t.Disposable{get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}constructor(e,t){super(),this._injector=e,this._refRangeService=t,O(this,`_filterBy$`,new s.BehaviorSubject(n.FilterBy.VALUES)),O(this,`filterBy$`,this._filterBy$.asObservable()),O(this,`_filterByModel$`,new s.ReplaySubject(1)),O(this,`filterByModel$`,this._filterByModel$.asObservable()),O(this,`_filterByModel`,null),O(this,`_hasCriteria$`,new s.BehaviorSubject(!1)),O(this,`hasCriteria$`,this._hasCriteria$.asObservable()),O(this,`_filterModel`,null),O(this,`_col$`,new s.BehaviorSubject(-1)),O(this,`col$`,this._col$.asObservable()),O(this,`_filterHeaderListener`,null)}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);let n=e.getFilterColumn(t);if(n){let r=n.getColumnData();if(r.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(r.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(r.filters){this._hasCriteria$.next(!0),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case n.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case n.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case n.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();let n=e.unitId,r=e.subUnitId,i=e.getRange(),a={startColumn:t,startRow:i.startRow,endRow:i.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(n,r,a,(e,t)=>{if(!t)this.terminate();else{let n=t.startColumn-e.startColumn;n!==0&&this._filterByModel.deltaCol(n)}})}async _setupByValues(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await F.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await I.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=P.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=i,this._filterBy$.next(n.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};N=g([h(0,(0,t.Inject)(t.Injector)),h(1,(0,t.Inject)(o.RefRangeService))],N);let P=k=class extends t.Disposable{static fromFilterColumn(e,t,n,r){let[i,a]=f.testMappingFilterColumn(r==null?void 0:r.getColumnData());return e.createInstance(k,t,n,i,a)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_conditionItem$`,void 0),O(this,`conditionItem$`,void 0),O(this,`_filterConditionFormParams$`,void 0),O(this,`filterConditionFormParams$`,void 0),this._conditionItem$=new s.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new s.BehaviorSubject(r),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=f.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){let t=f.ALL_CONDITIONS.find(t=>t.operator===e);if(!t)throw Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){let t={...this.filterConditionFormParams,...e};if(t.and!==!0&&delete t.and,e.and!==void 0||e.operator1!==void 0||e.operator2!==void 0){let e=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(e)}this._filterConditionFormParams$.next(t)}};P=k=g([h(4,t.ICommandService)],P);let F=A=class extends t.Disposable{static async fromFilterColumn(e,n,r){let i=e.get(t.IUniverInstanceService),a=e.get(t.LocaleService),o=e.get(v,t.Quantity.OPTIONAL),{unitId:s,subUnitId:c}=n,l=i.getUniverSheetInstance(s);if(!l)throw Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${s}!`);let u=l==null?void 0:l.getSheetBySheetId(c);if(!u)throw Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${c}!`);let d=n.getRange(),f=r,p=n.getFilterColumn(r),m=p==null?void 0:p.getColumnData().filters,h=new Set(m==null?void 0:m.filters),g=!!(m&&m.blank),_=n.getFilteredOutRowsExceptCol(r),y={...d,startRow:d.startRow+1,startColumn:f,endColumn:f},x,S;if(o){let e=await o.getFilterValues({unitId:s,subUnitId:c,filteredOutRowsByOtherColumns:Array.from(_),filterColumn:p,filters:!!m,blankChecked:g,iterateRange:y,alreadyChecked:Array.from(h)});x=e.filterTreeItems,S=e.filterTreeMapCache}else{let e=b(!!m,a,y,u,_,p,h,g,l.getStyles());x=e.filterTreeItems,S=e.filterTreeMapCache}return e.createInstance(A,n,r,x,S)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`_rawFilterItems$`,void 0),O(this,`rawFilterItems$`,void 0),O(this,`filterItems$`,void 0),O(this,`_filterItems`,[]),O(this,`_treeMapCache`,void 0),O(this,`canApply$`,void 0),O(this,`_manuallyUpdateFilterItems$`,void 0),O(this,`_searchString$`,void 0),O(this,`searchString$`,void 0),this._treeMapCache=r,this._searchString$=new s.BehaviorSubject(``),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new s.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new s.Subject,this.filterItems$=(0,s.merge)((0,s.combineLatest)([this._searchString$.pipe((0,s.throttleTime)(500,void 0,{leading:!0,trailing:!0}),(0,s.startWith)(void 0)),this._rawFilterItems$]).pipe((0,s.map)(([e,t])=>e?E(t,e.toLowerCase().split(/\s+/).filter(e=>!!e)):t)),this._manuallyUpdateFilterItems$).pipe((0,s.shareReplay)({bufferSize:1,refCount:!0})),this.canApply$=this.filterItems$.pipe((0,s.map)(e=>m(e).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(e=>this._filterItems=e))}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(t=>T(t,e)),this._manuallyUpdateFilterItems(n)}onFilterCheckToggled(e){let n=t.Tools.deepClone(this._filterItems),r=C(n,e.key);r&&(T(r,!w(r)),this._manuallyUpdateFilterItems(n))}onFilterOnly(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(e=>T(e,!1)),e.forEach(e=>{let t=C(n,e);t&&T(t,!0)}),this._manuallyUpdateFilterItems(n)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=m(this._filterItems),{checked:t,checkedItems:r}=e,i=this.rawFilterItems,a=0;for(let e of i)a+=e.count;let o=t===0,s=e.checked===a,c={colId:this.col};if(o)throw Error(`[ByValuesModel]: no checked items!`);if(s)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{c.filters={};let e=r.filter(e=>e.key!==`empty`);e.length>0&&(c.filters={filters:e.flatMap(e=>e.originValues?Array.from(e.originValues):[e.title])}),e.length!==r.length&&(c.filters.blank=!0)}return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:c})}};F=A=g([h(4,t.ICommandService)],F);let I=j=class extends t.Disposable{static async fromFilterColumn(e,n,r){var i,o,s;let c=e.get(t.IUniverInstanceService),{unitId:l,subUnitId:u}=n,d=c.getUniverSheetInstance(l);if(!d)throw Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${l}!`);let f=d==null?void 0:d.getSheetBySheetId(u);if(!f)throw Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${l} and subUnitId: ${u}!`);let p=n.getRange(),m=r,h=(i=n.getFilterColumn(r))==null?void 0:i.getColumnData().colorFilters,g=n.getFilteredOutRowsExceptCol(r),_={...p,startRow:p.startRow+1,startColumn:m,endColumn:m},v=new Map,y=new Set((o=h==null?void 0:h.cellFillColors)==null?[]:o),b=new Map,x=new Set((s=h==null?void 0:h.cellTextColors)==null?[]:s);for(let e of f.iterateByColumn(_,!1,!0)){let{row:n,col:r,value:i}=e;if(g.has(n))continue;let o=f.getComposedCellStyleByCellData(n,r,i);if(o.bg&&o.bg.rgb){let e=new t.ColorKit(o.bg.rgb).toRgbString();v.has(e)||v.set(e,{color:e,checked:y.has(e)})}else v.set(`default-fill-color`,{color:null,checked:y.has(null)});if(o.cl&&o.cl.rgb){let e=new t.ColorKit(o.cl.rgb).toRgbString();b.has(e)||b.set(e,{color:e,checked:x.has(e)})}else b.set(`default-font-color`,{color:a.COLOR_BLACK_RGB,checked:x.has(a.COLOR_BLACK_RGB)})}return e.createInstance(j,n,r,v,b)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_cellFillColors$`,void 0),O(this,`cellFillColors$`,void 0),O(this,`_cellTextColors$`,void 0),O(this,`cellTextColors$`,void 0),this._cellFillColors$=new s.BehaviorSubject(Array.from(n.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new s.BehaviorSubject(Array.from(r.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){let n=t?this.cellFillColors:this.cellTextColors,r=[],i=!1;for(let t=0;t<n.length;t++){let a=n[t];if(a.color===e.color){i=!0,r.push({color:a.color,checked:!a.checked});continue}r.push({color:a.color,checked:a.checked})}i&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...r]):this._cellTextColors$.next([...r]))}_resetColorsCheckedStatus(e=!0){let t=e?this.cellFillColors:this.cellTextColors,n=[];for(let e=0;e<t.length;e++)n.push({color:t[e].color,checked:!1});e?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n])}async apply(){if(this._disposed)return!1;let e=this.cellFillColors.filter(e=>e.checked).map(e=>e.color),t=this.cellTextColors.filter(e=>e.checked).map(e=>e.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});let r={colId:this.col};return e.length>0?r.colorFilters={cellFillColors:e}:t.length>0&&(r.colorFilters={cellTextColors:t}),this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:r})}};I=j=g([h(4,t.ICommandService)],I);let ne=`FILTER_PANEL_OPENED`,L={id:`sheet.operation.open-filter-panel`,type:t.CommandType.OPERATION,handler:(e,i)=>{let a=e.get(t.IContextService),o=e.get(n.SheetsFilterService),s=e.get(M),c=e.get(t.ICommandService),l=e.has(r.IEditorBridgeService)?e.get(r.IEditorBridgeService):null;l!=null&&l.isVisible().visible&&c.syncExecuteCommand(r.SetCellEditVisibleOperation.id,{visible:!1});let{unitId:u,subUnitId:d,col:f}=i,p=o.getFilterModel(u,d);return p?(s.setupCol(p,f),a.getContextValue(`FILTER_PANEL_OPENED`)||a.setContextValue(ne,!0),!0):!1}},R={id:`sheet.operation.close-filter-panel`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(t.IContextService),r=e.get(M),a=e.get(i.ILayoutService,t.Quantity.OPTIONAL);return n.getContextValue(`FILTER_PANEL_OPENED`)?(n.setContextValue(ne,!1),a==null||a.focus(),r.terminate()):!1}},z={id:`sheet.operation.apply-filter`,type:t.CommandType.OPERATION,handler:(e,t)=>{let{filterBy:n}=t;return e.get(M).changeFilterBy(n)}};function re(e){let a=e.get(n.SheetsFilterService);return{id:n.SmartToggleSheetsFilterCommand.id,type:i.MenuItemType.BUTTON_SELECTOR,icon:`FilterIcon`,tooltip:`sheets-filter-ui.toolbar.smart-toggle-filter-tooltip`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),activated$:a.activeFilterModel$.pipe((0,s.map)(e=>!!e)),disabled$:(0,r.getObservableWithExclusiveRange$)(e,(0,r.getCurrentRangeDisable$)(e,{worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission],rangeTypes:[o.RangeProtectionPermissionViewPoint]}))}}function ie(e){let r=e.get(n.SheetsFilterService);return{id:n.ClearSheetsFilterCriteriaCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.clear-filter-criteria`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>{var t;return(t=e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))==null?(0,s.of)(!0):t}))}}function ae(e){let r=e.get(n.SheetsFilterService);return{id:n.ReCalcSheetsFilterCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.re-calc-filter-conditions`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>{var t;return(t=e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))==null?(0,s.of)(!0):t}))}}let oe={[i.RibbonDataGroup.ORGANIZATION]:{[n.SmartToggleSheetsFilterCommand.id]:{order:2,gridLayout:{row:1,column:2},menuItemFactory:re,[n.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ie},[n.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ae}}}};var B=`@univerjs/sheets-filter-ui`,V=`1.0.0-alpha.7`;let H=`sheets-filter-ui.config`,U={};function W({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),l=(0,c.useRef)(`_${ue()}`);return se(n,`${r}`,{defIds:n.defIds,idSuffix:l.current},{ref:e,className:s,...o},a)}function se(e,t,n,r,i){return(0,c.createElement)(e.tag,{key:t,...ce(e,n,i),...r},(le(e,n).children||[]).map((r,a)=>se(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function ce(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function le(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function ue(){return Math.random().toString(36).substring(2,8)}W.displayName=`UniverIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z`}}]},fe=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`a-icon`,ref:t,icon:de}))});fe.displayName=`AIcon`;let pe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z`}}]},me=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`ban-icon`,ref:t,icon:pe}))});me.displayName=`BanIcon`;let he={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ge=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`filter-icon`,ref:t,icon:he}))});ge.displayName=`FilterIcon`;let _e={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},ve=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`info-icon`,ref:t,icon:_e}))});ve.displayName=`InfoIcon`;let ye={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},be=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`success-icon`,ref:t,icon:ye}))});be.displayName=`SuccessIcon`;function xe(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.cellFillColors$,[],!0),o=(0,i.useObservable)(n.cellTextColors$,[],!0),s=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e)},[n]),d=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e,!1)},[n]);return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-colors-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[a.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-fill-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:a.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>s(e),children:[e.color?(0,u.jsx)(`button`,{type:`button`,className:(0,l.clsx)(`univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`),style:{backgroundColor:e.color}}):(0,u.jsx)(me,{className:`univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-fill-color-${t}`))})]}),o.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-text-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:o.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>d(e),children:[(0,u.jsx)(`div`,{className:`univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]`,children:(0,u.jsx)(fe,{style:{color:e.color}})}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-text-color-${t}`))})]}),a.length<=1&&o.length<=1&&(0,u.jsx)(`div`,{className:`univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:r.t(`sheets-filter-ui.panel.filter-by-color-none`)})]})})}function Se(){return(0,u.jsx)(`div`,{className:`univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white`,children:(0,u.jsx)(be,{className:`univer-size-full univer-font-bold univer-text-[#418F1F]`})})}let Ce=[[f.NONE],[f.EMPTY,f.NOT_EMPTY],[f.TEXT_CONTAINS,f.DOES_NOT_CONTAIN,f.STARTS_WITH,f.ENDS_WITH,f.EQUALS],[f.GREATER_THAN,f.GREATER_THAN_OR_EQUAL,f.LESS_THAN,f.LESS_THAN_OR_EQUAL,f.EQUAL,f.NOT_EQUAL,f.BETWEEN,f.NOT_BETWEEN],[f.CUSTOM]];function we(e){var n,r;let{model:a}=e,o=(0,i.useDependency)(t.LocaleService),s=(0,i.useObservable)(a.conditionItem$,void 0),d=(0,i.useObservable)(a.filterConditionFormParams$,void 0),p=d!=null&&d.and?`AND`:`OR`,m=(0,c.useCallback)(e=>{a.onConditionFormChange({and:e===`AND`})},[a]),h=Ce.map(e=>({options:e.map(e=>({label:o.t(e.label),value:e.operator}))})),g=(0,c.useCallback)(e=>{a.onPrimaryConditionChange(e)},[a]),_=f.ALL_CONDITIONS.filter(e=>e.numOfParameters!==2).map(e=>({label:o.t(e.label),value:e.operator})),v=(0,c.useCallback)(e=>{a.onConditionFormChange(e)},[a]),y=o.t(`sheets-filter-ui.panel.input-values-placeholder`);function b(e,t,n){let r=f.getItemByOperator(e).numOfParameters===1;return(0,u.jsxs)(u.Fragment,{children:[n===`operator2`&&(0,u.jsxs)(l.RadioGroup,{value:p,onChange:m,children:[(0,u.jsx)(l.Radio,{value:`AND`,children:o.t(`sheets-filter-ui.panel.and`)}),(0,u.jsx)(l.Radio,{value:`OR`,children:o.t(`sheets-filter-ui.panel.or`)})]}),(0,u.jsx)(l.Select,{value:e,options:_,onChange:e=>v({[n]:e})}),r&&(0,u.jsx)(`div`,{children:(0,u.jsx)(l.Input,{className:`univer-mt-2`,value:t,placeholder:y,onChange:e=>v({[n===`operator1`?`val1`:`val2`]:e})})})]})}return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:s&&d&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Select,{value:s.operator,options:h,onChange:g}),f.getItemByOperator(s.operator).numOfParameters===0?null:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container-inner`,className:(0,l.clsx)(`univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2`,l.borderClassName),children:[s.numOfParameters>=1&&b(d.operator1,(n=d.val1)==null?``:n,`operator1`),s.numOfParameters>=2&&b(d.operator2,(r=d.val2)==null?``:r,`operator2`),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-desc`,className:`univer-mt-2 univer-text-xs univer-text-gray-500`,children:[o.t(`sheets-filter-ui.panel.?`),(0,u.jsx)(`br`,{}),o.t(`sheets-filter-ui.panel.*`)]})]})]})})}function Te(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.searchString$,``,!0),o=(0,i.useObservable)(n.filterItems$,void 0,!0),s=r.t(`sheets-filter-ui.panel.filter-only`),d=m(o),f=d.checked>0&&d.unchecked===0,p=d.checked>0&&d.unchecked>0,h=n.treeMapCache,g=(0,c.useCallback)(()=>{n.onCheckAllToggled(!f)},[n,f]),_=(0,c.useCallback)(e=>{n.setSearchString(e)},[n]);function v(e){let t=[];return e.forEach(e=>{e.checked&&t.push(e.key),e.children&&(t=t.concat(v(e.children)))}),t}return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:[(0,u.jsx)(l.Input,{autoFocus:!0,value:a,placeholder:r.t(`sheets-filter-ui.panel.search-placeholder`),onChange:_}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-item`,className:`univer-box-border univer-h-8 univer-w-full univer-py-0.5`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-item-inner`,className:`univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm`,children:[(0,u.jsx)(l.Checkbox,{indeterminate:p,disabled:o.length===0,checked:f,onChange:g}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-text`,className:`univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white`,children:`${r.t(`sheets-filter-ui.panel.select-all`)}`}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${d.checked}/${d.checked+d.unchecked})`})]})}),(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-virtual`,className:`univer-flex-grow`,children:(0,u.jsx)(l.Tree,{data:o,defaultExpandAll:!1,valueGroup:v(o),onChange:e=>{n.onFilterCheckToggled(e)},defaultCache:h,itemHeight:28,treeNodeClassName:`
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("rxjs"),require("react"),require("@univerjs/design"),require("react/jsx-runtime"),require("@univerjs/rpc")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-filter`,`@univerjs/sheets-ui`,`@univerjs/ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`rxjs`,`react`,`@univerjs/design`,`react/jsx-runtime`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFilterUi={},e.UniverCore,e.UniverSheetsFilter,e.UniverSheetsUi,e.UniverUi,e.UniverEngineRender,e.UniverSheets,e.rxjs,e.React,e.UniverDesign,e.React,e.UniverRpc))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let f;(function(e){let r=e.NONE={label:`sheets-filter-ui.conditions.none`,operator:`none`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NONE]: should not have initial form params!`)},testMappingParams:e=>e.operator1===`none`,mapToFilterColumn:()=>null,testMappingFilterColumn:e=>!e.customFilters&&!e.filters&&{}},i=e.ALL_CONDITIONS=[r,e.EMPTY={label:`sheets-filter-ui.conditions.empty`,operator:`empty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`empty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0];return n.val!==``||n.operator!==void 0?!1:{operator1:`empty`}}},e.NOT_EMPTY={label:`sheets-filter-ui.conditions.not-empty`,operator:`notEmpty`,order:1,numOfParameters:0,getDefaultFormParams:()=>{throw Error(`[FilterConditionItems.NOT_EMPTY]: should not have initial form params!`)},testMappingParams:({operator1:e})=>e===`notEmpty`,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:``,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.val!==` `||r.operator!==n.CustomFilterOperator.NOT_EQUALS?!1:{operator1:`notEmpty`}}},e.TEXT_CONTAINS={label:`sheets-filter-ui.conditions.text-contains`,operator:`contains`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`contains`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`contains`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:`*${t}*`}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&r.endsWith(`*`)?{operator1:`contains`,val1:r.slice(1,-1)}:!1}},e.DOES_NOT_CONTAIN={label:`sheets-filter-ui.conditions.does-not-contain`,operator:`doesNotContain`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`doesNotContain`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}*`,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:e=>{let[t]=p(e);return t===`doesNotContain`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0],i=r.val.toString();return r.operator===n.CustomFilterOperator.NOT_EQUALS&&i.startsWith(`*`)&&i.endsWith(`*`)?{operator1:`doesNotContain`,val1:i.slice(1,-1)}:!1}},e.STARTS_WITH={label:`sheets-filter-ui.conditions.starts-with`,operator:`startsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`startsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`${e.val1}*`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`startsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.endsWith(`*`)&&!r.startsWith(`*`)?{operator1:`startsWith`,val1:r.slice(0,-1)}:!1}},e.ENDS_WITH={label:`sheets-filter-ui.conditions.ends-with`,operator:`endsWith`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`endsWith`,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:`*${e.val1}`}]}}),testMappingParams:e=>{let[t]=p(e);return t===`endsWith`},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let n=e.customFilters.customFilters[0],r=n.val.toString();return!n.operator&&r.startsWith(`*`)&&!r.endsWith(`*`)?{operator1:`endsWith`,val1:r.slice(1)}:!1}},e.EQUALS={label:`sheets-filter-ui.conditions.equals`,operator:`equals`,order:0,numOfParameters:1,getDefaultFormParams:()=>({operator1:`equals`,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===`equals`},mapToFilterColumn:e=>{let{val1:t}=e;return t===``?null:{customFilters:{customFilters:[{val:t}]}}},testMappingFilterColumn:e=>{var t,n;return((t=e.filters)==null||(t=t.filters)==null?void 0:t.length)===1?{operator1:`equals`,val1:``}:((n=e.customFilters)==null?void 0:n.customFilters.length)===1&&!e.customFilters.customFilters[0].operator&&{operator1:`equals`,val1:e.customFilters.customFilters[0].val.toString()}}},e.GREATER_THAN={label:`sheets-filter-ui.conditions.greater-than`,operator:n.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN,val1:``}),mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN&&{operator1:n.CustomFilterOperator.GREATER_THAN,val1:r.val.toString()}}},e.GREATER_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.greater-than-or-equal`,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&{operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString()}}},e.LESS_THAN={label:`sheets-filter-ui.conditions.less-than`,operator:n.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN&&{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString()}}},e.LESS_THAN_OR_EQUAL={label:`sheets-filter-ui.conditions.less-than-or-equal`,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&{operator1:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:r.val.toString()}}},e.EQUAL={label:`sheets-filter-ui.conditions.equal`,operator:n.CustomFilterOperator.EQUAL,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.EQUAL,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.EQUAL},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.EQUAL&&{operator1:n.CustomFilterOperator.EQUAL,val1:r.val.toString()}}},e.NOT_EQUAL={label:`sheets-filter-ui.conditions.not-equal`,operator:n.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:0,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.NOT_EQUALS,val1:``}),testMappingParams:e=>{let[t]=p(e);return t===n.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:e=>({customFilters:{customFilters:[{val:e.val1,operator:n.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==1)return!1;let r=e.customFilters.customFilters[0];return r.operator===n.CustomFilterOperator.NOT_EQUALS&&{operator1:n.CustomFilterOperator.NOT_EQUALS,val1:r.val.toString()}}},e.BETWEEN={label:`sheets-filter-ui.conditions.between`,operator:`between`,order:1,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:``,operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(!t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&a.includes(n.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:e=>{let{val1:r,val2:i,operator1:a}=e,o=a===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:t.BooleanNumber.TRUE,customFilters:[{val:o?r:i,operator:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:o?i:r,operator:n.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&i.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:r.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&r.operator===n.CustomFilterOperator.LESS_THAN_OR_EQUAL&&e.customFilters.and?{and:!0,operator1:n.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:r.val.toLocaleString()}:!1}},e.NOT_BETWEEN={label:`sheets-filter-ui.conditions.not-between`,operator:`notBetween`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:n.CustomFilterOperator.LESS_THAN,val1:``,operator2:n.CustomFilterOperator.GREATER_THAN,val2:``}),testMappingParams:e=>{let{and:t,operator1:r,operator2:i}=e;if(t)return!1;let a=[r,i];return a.includes(n.CustomFilterOperator.GREATER_THAN)&&a.includes(n.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:e=>{let{val1:t,val2:r,operator1:i}=e,a=i===n.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:a?t:r,operator:n.CustomFilterOperator.GREATER_THAN},{val:a?r:t,operator:n.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let[r,i]=e.customFilters.customFilters;return r.operator===n.CustomFilterOperator.LESS_THAN&&i.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and?{operator1:n.CustomFilterOperator.LESS_THAN,val1:r.val.toString(),operator2:n.CustomFilterOperator.GREATER_THAN,val2:i.val.toString()}:i.operator===n.CustomFilterOperator.LESS_THAN&&r.operator===n.CustomFilterOperator.GREATER_THAN&&!e.customFilters.and&&{operator1:n.CustomFilterOperator.GREATER_THAN,val1:i.val.toString(),operator2:n.CustomFilterOperator.LESS_THAN,val2:r.val.toLocaleString()}}},e.CUSTOM={label:`sheets-filter-ui.conditions.custom`,operator:`custom`,order:1,numOfParameters:2,getDefaultFormParams:()=>({operator1:`none`,val1:``,operator2:`none`,val2:``}),testMappingParams:()=>!0,mapToFilterColumn:e=>{let{and:n,val1:a,val2:o,operator1:s,operator2:c}=e;function l(e,t){for(let n of i)if(n.operator===e)return n.mapToFilterColumn({val1:t,operator1:e})}let u=!s||s===f.NONE.operator,d=!c||c===f.NONE.operator;if(u&&d)return r.mapToFilterColumn({});if(u)return l(c,o);if(d)return l(s,a);let p=l(s,a),m=l(c,o),h={customFilters:[p.customFilters.customFilters[0],m.customFilters.customFilters[0]]};return n&&(h.and=t.BooleanNumber.TRUE),{customFilters:h}},testMappingFilterColumn:e=>{var t;if(((t=e.customFilters)==null?void 0:t.customFilters.length)!==2)return!1;let n=e.customFilters.customFilters.map(e=>l({customFilters:{customFilters:[e]}})),r={operator1:n[0][0].operator,val1:n[0][1].val1,operator2:n[1][0].operator,val2:n[1][1].val1};return e.customFilters.and&&(r.and=!0),r}}];function a(e){let t=i.find(t=>t.operator===e);if(!t)throw Error(`[SheetsFilter]: no condition item found for operator: ${e}`);return t}e.getItemByOperator=a;function o(e,t){for(let n of i.filter(e=>e.numOfParameters===t))if(n.numOfParameters!==0&&n.testMappingParams(e))return n;for(let t of i)if(t.testMappingParams(e))return t;throw Error(`[SheetsFilter]: no condition item can be mapped from the filter map params!`)}e.testMappingParams=o;function s(e){let t=i.find(t=>t.operator===e);return(t==null?void 0:t.numOfParameters)===0?{operator1:t.operator}:t.getDefaultFormParams()}e.getInitialFormParams=s;function c(e,t){return e.mapToFilterColumn(t)}e.mapToFilterColumn=c;function l(e){if(!e)return[r,{}];for(let t of i){let n=t.testMappingFilterColumn(e);if(n)return[t,n]}return[r,{}]}e.testMappingFilterColumn=l})(f||={});function p(e){let{operator1:t,operator2:n,val1:r,val2:i}=e;if(t&&n)throw Error(`Both operator1 and operator2 are set!`);if(!t&&!n)throw Error(`Neither operator1 and operator2 and both not set!`);return t?[t,r]:[n,i]}function m(e){let t=[],n=[],r=0,i=0;function a(e){e.leaf&&(e.checked?(t.push(e),r+=e.count):(n.push(e),i+=e.count)),e.children&&e.children.forEach(a)}return e.forEach(a),{checkedItems:t,uncheckedItems:n,checked:r,unchecked:i}}function h(e,t){return function(n,r){t(n,r,e)}}function g(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let _=`sheets-filter.generate-filter-values.service`,v=(0,t.createIdentifier)(_),y=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._univerInstanceService=t,this._logService=n}async getFilterValues(e){var t;let{unitId:n,subUnitId:r,filteredOutRowsByOtherColumns:i,filterColumn:a,filters:o,blankChecked:s,iterateRange:c,alreadyChecked:l}=e,u=this._univerInstanceService.getUnit(n),d=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);return!u||!d?[]:(this._logService.debug(`[SheetsGenerateFilterValuesService]`,`getFilterValues for`,{unitId:n,subUnitId:r}),b(o,this._localeService,c,d,new Set(i),a,new Set(l.map(String)),s,u.getStyles()))}};y=g([h(0,(0,t.Inject)(t.LocaleService)),h(1,t.IUniverInstanceService),h(2,t.ILogService)],y);function b(e,r,i,a,o,s,c,l,u){var d;let f=new Map,p=new Map,m=`empty`,h=!e&&((s==null?void 0:s.filterBy)===n.FilterBy.COLORS||(s==null?void 0:s.filterBy)===n.FilterBy.CONDITIONS)&&((d=s.filteredOutRows)==null?void 0:d.size),g=0;for(let e of a.iterateByColumn(i,!1,!1)){let{row:n,rowSpan:i=1}=e,s=0;for(;s<i;){var _,v,y;let d=n+s;if(o.has(d)){s++;continue}let m=e!=null&&e.value?(0,t.extractPureTextFromCell)(e.value):``;if(!m){g+=1,s+=i;continue}let x=(_=e.value)!=null&&_.v&&!e.value.p?(v=u.get((y=e.value)==null?void 0:y.s))==null||(v=v.n)==null?void 0:v.pattern:``,E=x&&t.numfmt.getFormatInfo(x).isDate,D=!1;if(E){let{year:e,month:n,day:r}=t.numfmt.getFormatDateInfo(x);D=e||n||r}if(x&&E&&D){var b,S,C;let n=(b=a.getCellRaw(e.row,e.col))==null?void 0:b.v;if(!n){s++;continue}let[i,o,u]=t.numfmt.format(`yyyy-mm-dd`,Number(n)).split(`-`).map(Number),d=f.get(`${i}`);d||(d={title:`${i}`,key:`${i}`,children:[],count:0,leaf:!1,checked:!1},f.set(`${i}`,d),p.set(`${i}`,[`${i}`]));let g=(S=d.children)==null?void 0:S.find(e=>e.key===`${i}-${o}`);if(!g){var w;g={title:r.t(`sheets-filter-ui.date.${o}`),key:`${i}-${o}`,children:[],count:0,leaf:!1,checked:!1},(w=d.children)==null||w.push(g),p.set(`${i}-${o}`,[`${i}`,`${i}-${o}`])}let _=g==null||(C=g.children)==null?void 0:C.find(e=>e.key===`${i}-${o}-${u}`);if(_)_.originValues.add(m),_.count++,g.count++,d.count++;else{var T;(T=g.children)==null||T.push({title:`${u}`,key:`${i}-${o}-${u}`,count:1,originValues:new Set([m]),leaf:!0,checked:h?!1:c.size?c.has(m):!l}),g.count++,d.count++,p.set(`${i}-${o}-${u}`,[`${i}`,`${i}-${o}`,`${i}-${o}-${u}`])}}else{let e=m,t=f.get(e);t?t.count++:(t={title:m,leaf:!0,checked:h?!1:c.size?c.has(m):!l,key:e,count:1},f.set(e,t),p.set(e,[e]))}s++}}let E=h?!1:!e||l;if(g>0){let e={title:r.t(`sheets-filter-ui.panel.empty`),count:g,leaf:!0,checked:E,key:m};f.set(`empty`,e),p.set(`empty`,[m])}return{filterTreeItems:x(Array.from(f.values())),filterTreeMapCache:p}}function x(e){return Array.from(e).sort((e,t)=>e.children&&!t.children?-1:!e.children&&t.children?1:S(e.title,t.title)).map(e=>(e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[1],10)-Number.parseInt(t.key.split(`-`)[1],10)).forEach(e=>{e.children&&e.children.sort((e,t)=>Number.parseInt(e.key.split(`-`)[2],10)-Number.parseInt(t.key.split(`-`)[2],10))}),e))}function S(e,n){let r=(0,t.isNumeric)(e),i=(0,t.isNumeric)(n);return r&&i?Number.parseFloat(e)-Number.parseFloat(n):r&&!i?-1:!r&&i?1:e.localeCompare(n)}function C(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let e=C(n.children,t);if(e)return e}}return null}function w(e){return e.leaf?e.checked:!e.children||e.children.every(e=>w(e))}function T(e,t){e.leaf&&(t===void 0?e.checked=!e.checked:e.checked=t),e.children&&e.children.forEach(e=>T(e,t))}function E(e,t){let n=[];return e.forEach(e=>{let r=e.originValues?t.some(t=>Array.from(e.originValues).some(e=>e.toLowerCase().includes(t.toLowerCase()))):!1,i=!r&&t.some(t=>e.title.toLowerCase().includes(t.toLowerCase()));if(r||i)n.push({...e});else if(e.children){let r=E(e.children,t);if(r.length>0){let t=r.reduce((e,t)=>e+t.count,0);n.push({...e,count:t,children:r})}}}),n}function D(e){"@babel/helpers - typeof";return D=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},D(e)}function ee(e,t){if(D(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(D(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return D(t)==`symbol`?t:t+``}function O(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k,A,j;let M=(0,t.createIdentifier)(`sheets-filter-ui.sheets-filter-panel.service`),N=class extends t.Disposable{get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(e){this._filterByModel=e,this._filterByModel$.next(e)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}constructor(e,t){super(),this._injector=e,this._refRangeService=t,O(this,`_filterBy$`,new s.BehaviorSubject(n.FilterBy.VALUES)),O(this,`filterBy$`,this._filterBy$.asObservable()),O(this,`_filterByModel$`,new s.ReplaySubject(1)),O(this,`filterByModel$`,this._filterByModel$.asObservable()),O(this,`_filterByModel`,null),O(this,`_hasCriteria$`,new s.BehaviorSubject(!1)),O(this,`hasCriteria$`,this._hasCriteria$.asObservable()),O(this,`_filterModel`,null),O(this,`_col$`,new s.BehaviorSubject(-1)),O(this,`col$`,this._col$.asObservable()),O(this,`_filterHeaderListener`,null)}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,t){this.terminate(),this._filterModel=e,this._col$.next(t);let n=e.getFilterColumn(t);if(n){let r=n.getColumnData();if(r.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,t);return}if(r.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,t);return}if(r.filters){this._hasCriteria$.next(!0),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t);return}this._hasCriteria$.next(!1),this._setupByValues(e,t)}changeFilterBy(e){if(!this._filterModel||this.col===-1)return!1;switch(e){case n.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case n.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case n.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,t){this._disposeFilterHeaderChangeListener();let n=e.unitId,r=e.subUnitId,i=e.getRange(),a={startColumn:t,startRow:i.startRow,endRow:i.startRow,endColumn:t};this._filterHeaderListener=this._refRangeService.watchRange(n,r,a,(e,t)=>{if(!t)this.terminate();else{let n=t.startColumn-e.startColumn;n!==0&&this._filterByModel.deltaCol(n)}})}async _setupByValues(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await F.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.VALUES),this._listenToFilterHeaderChange(e,t),!0}async _setupByColors(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=await I.fromFilterColumn(this._injector,e,t);return this.filterByModel=i,this._filterBy$.next(n.FilterBy.COLORS),this._listenToFilterHeaderChange(e,t),!0}_setupByConditions(e,t){this._disposePreviousModel();let r=e.getRange();if(r.startRow===r.endRow)return!1;let i=P.fromFilterColumn(this._injector,e,t,e.getFilterColumn(t));return this.filterByModel=i,this._filterBy$.next(n.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,t),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};N=g([h(0,(0,t.Inject)(t.Injector)),h(1,(0,t.Inject)(o.RefRangeService))],N);let P=k=class extends t.Disposable{static fromFilterColumn(e,t,n,r){let[i,a]=f.testMappingFilterColumn(r==null?void 0:r.getColumnData());return e.createInstance(k,t,n,i,a)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_conditionItem$`,void 0),O(this,`conditionItem$`,void 0),O(this,`_filterConditionFormParams$`,void 0),O(this,`filterConditionFormParams$`,void 0),this._conditionItem$=new s.BehaviorSubject(n),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new s.BehaviorSubject(r),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=f.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){let t=f.ALL_CONDITIONS.find(t=>t.operator===e);if(!t)throw Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(t),this._filterConditionFormParams$.next(f.getInitialFormParams(e))}onConditionFormChange(e){let t={...this.filterConditionFormParams,...e};if(t.and!==!0&&delete t.and,e.and!==void 0||e.operator1!==void 0||e.operator2!==void 0){let e=f.testMappingParams(t,this.conditionItem.numOfParameters);this._conditionItem$.next(e)}this._filterConditionFormParams$.next(t)}};P=k=g([h(4,t.ICommandService)],P);let F=A=class extends t.Disposable{static async fromFilterColumn(e,n,r){let i=e.get(t.IUniverInstanceService),a=e.get(t.LocaleService),o=e.get(v,t.Quantity.OPTIONAL),{unitId:s,subUnitId:c}=n,l=i.getUnit(s,t.UniverInstanceType.UNIVER_SHEET);if(!l)throw Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${s}!`);let u=l==null?void 0:l.getSheetBySheetId(c);if(!u)throw Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${c}!`);let d=n.getRange(),f=r,p=n.getFilterColumn(r),m=p==null?void 0:p.getColumnData().filters,h=new Set(m==null?void 0:m.filters),g=!!(m&&m.blank),_=n.getFilteredOutRowsExceptCol(r),y={...d,startRow:d.startRow+1,startColumn:f,endColumn:f},x,S;if(o){let e=await o.getFilterValues({unitId:s,subUnitId:c,filteredOutRowsByOtherColumns:Array.from(_),filterColumn:p,filters:!!m,blankChecked:g,iterateRange:y,alreadyChecked:Array.from(h)});x=e.filterTreeItems,S=e.filterTreeMapCache}else{let e=b(!!m,a,y,u,_,p,h,g,l.getStyles());x=e.filterTreeItems,S=e.filterTreeMapCache}return e.createInstance(A,n,r,x,S)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`_rawFilterItems$`,void 0),O(this,`rawFilterItems$`,void 0),O(this,`filterItems$`,void 0),O(this,`_filterItems`,[]),O(this,`_treeMapCache`,void 0),O(this,`canApply$`,void 0),O(this,`_manuallyUpdateFilterItems$`,void 0),O(this,`_searchString$`,void 0),O(this,`searchString$`,void 0),this._treeMapCache=r,this._searchString$=new s.BehaviorSubject(``),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new s.BehaviorSubject(n),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new s.Subject,this.filterItems$=(0,s.merge)((0,s.combineLatest)([this._searchString$.pipe((0,s.throttleTime)(500,void 0,{leading:!0,trailing:!0}),(0,s.startWith)(void 0)),this._rawFilterItems$]).pipe((0,s.map)(([e,t])=>e?E(t,e.toLowerCase().split(/\s+/).filter(e=>!!e)):t)),this._manuallyUpdateFilterItems$).pipe((0,s.shareReplay)({bufferSize:1,refCount:!0})),this.canApply$=this.filterItems$.pipe((0,s.map)(e=>m(e).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(e=>this._filterItems=e))}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(t=>T(t,e)),this._manuallyUpdateFilterItems(n)}onFilterCheckToggled(e){let n=t.Tools.deepClone(this._filterItems),r=C(n,e.key);r&&(T(r,!w(r)),this._manuallyUpdateFilterItems(n))}onFilterOnly(e){let n=t.Tools.deepClone(this._filterItems);n.forEach(e=>T(e,!1)),e.forEach(e=>{let t=C(n,e);t&&T(t,!0)}),this._manuallyUpdateFilterItems(n)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;let e=m(this._filterItems),{checked:t,checkedItems:r}=e,i=this.rawFilterItems,a=0;for(let e of i)a+=e.count;let o=t===0,s=e.checked===a,c={colId:this.col};if(o)throw Error(`[ByValuesModel]: no checked items!`);if(s)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{c.filters={};let e=r.filter(e=>e.key!==`empty`);e.length>0&&(c.filters={filters:e.flatMap(e=>e.originValues?Array.from(e.originValues):[e.title])}),e.length!==r.length&&(c.filters.blank=!0)}return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:c})}};F=A=g([h(4,t.ICommandService)],F);let I=j=class extends t.Disposable{static async fromFilterColumn(e,n,r){var i;let o=e.get(t.IUniverInstanceService),{unitId:s,subUnitId:c}=n,l=o.getUnit(s,t.UniverInstanceType.UNIVER_SHEET);if(!l)throw Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${s}!`);let u=l==null?void 0:l.getSheetBySheetId(c);if(!u)throw Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${s} and subUnitId: ${c}!`);let d=n.getRange(),f=r,p=(i=n.getFilterColumn(r))==null?void 0:i.getColumnData().colorFilters,m=n.getFilteredOutRowsExceptCol(r),h={...d,startRow:d.startRow+1,startColumn:f,endColumn:f},g=new Map,_=new Set((p==null?void 0:p.cellFillColors)??[]),v=new Map,y=new Set((p==null?void 0:p.cellTextColors)??[]);for(let e of u.iterateByColumn(h,!1,!0)){let{row:n,col:r,value:i}=e;if(m.has(n))continue;let o=u.getComposedCellStyleByCellData(n,r,i);if(o.bg&&o.bg.rgb){let e=new t.ColorKit(o.bg.rgb).toRgbString();g.has(e)||g.set(e,{color:e,checked:_.has(e)})}else g.set(`default-fill-color`,{color:null,checked:_.has(null)});if(o.cl&&o.cl.rgb){let e=new t.ColorKit(o.cl.rgb).toRgbString();v.has(e)||v.set(e,{color:e,checked:y.has(e)})}else v.set(`default-font-color`,{color:a.COLOR_BLACK_RGB,checked:y.has(a.COLOR_BLACK_RGB)})}return e.createInstance(j,n,r,g,v)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}constructor(e,t,n,r,i){super(),this._filterModel=e,this.col=t,this._commandService=i,O(this,`canApply$`,(0,s.of)(!0)),O(this,`_cellFillColors$`,void 0),O(this,`cellFillColors$`,void 0),O(this,`_cellTextColors$`,void 0),O(this,`cellTextColors$`,void 0),this._cellFillColors$=new s.BehaviorSubject(Array.from(n.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new s.BehaviorSubject(Array.from(r.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}dispose(){super.dispose(),this._cellFillColors$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}onFilterCheckToggled(e,t=!0){let n=t?this.cellFillColors:this.cellTextColors,r=[],i=!1;for(let t=0;t<n.length;t++){let a=n[t];if(a.color===e.color){i=!0,r.push({color:a.color,checked:!a.checked});continue}r.push({color:a.color,checked:a.checked})}i&&(this._resetColorsCheckedStatus(!t),t?this._cellFillColors$.next([...r]):this._cellTextColors$.next([...r]))}_resetColorsCheckedStatus(e=!0){let t=e?this.cellFillColors:this.cellTextColors,n=[];for(let e=0;e<t.length;e++)n.push({color:t[e].color,checked:!1});e?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n])}async apply(){if(this._disposed)return!1;let e=this.cellFillColors.filter(e=>e.checked).map(e=>e.color),t=this.cellTextColors.filter(e=>e.checked).map(e=>e.color);if(e.length===0&&t.length===0)return this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});let r={colId:this.col};return e.length>0?r.colorFilters={cellFillColors:e}:t.length>0&&(r.colorFilters={cellTextColors:t}),this._commandService.executeCommand(n.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:r})}};I=j=g([h(4,t.ICommandService)],I);let ne=`FILTER_PANEL_OPENED`,L={id:`sheet.operation.open-filter-panel`,type:t.CommandType.OPERATION,handler:(e,i)=>{let a=e.get(t.IContextService),o=e.get(n.SheetsFilterService),s=e.get(M),c=e.get(t.ICommandService),l=e.has(r.IEditorBridgeService)?e.get(r.IEditorBridgeService):null;l!=null&&l.isVisible().visible&&c.syncExecuteCommand(r.SetCellEditVisibleOperation.id,{visible:!1});let{unitId:u,subUnitId:d,col:f}=i,p=o.getFilterModel(u,d);return p?(s.setupCol(p,f),a.getContextValue(`FILTER_PANEL_OPENED`)||a.setContextValue(ne,!0),!0):!1}},R={id:`sheet.operation.close-filter-panel`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(t.IContextService),r=e.get(M),a=e.get(i.ILayoutService,t.Quantity.OPTIONAL);return n.getContextValue(`FILTER_PANEL_OPENED`)?(n.setContextValue(ne,!1),a==null||a.focus(),r.terminate()):!1}},z={id:`sheet.operation.apply-filter`,type:t.CommandType.OPERATION,handler:(e,t)=>{let{filterBy:n}=t;return e.get(M).changeFilterBy(n)}};function re(e){let a=e.get(n.SheetsFilterService);return{id:n.SmartToggleSheetsFilterCommand.id,type:i.MenuItemType.BUTTON_SELECTOR,icon:`FilterIcon`,tooltip:`sheets-filter-ui.toolbar.smart-toggle-filter-tooltip`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),activated$:a.activeFilterModel$.pipe((0,s.map)(e=>!!e)),disabled$:(0,r.getObservableWithExclusiveRange$)(e,(0,r.getCurrentRangeDisable$)(e,{worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission],rangeTypes:[o.RangeProtectionPermissionViewPoint]}))}}function ie(e){let r=e.get(n.SheetsFilterService);return{id:n.ClearSheetsFilterCriteriaCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.clear-filter-criteria`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>(e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))??(0,s.of)(!0)))}}function ae(e){let r=e.get(n.SheetsFilterService);return{id:n.ReCalcSheetsFilterCommand.id,type:i.MenuItemType.BUTTON,title:`sheets-filter-ui.toolbar.re-calc-filter-conditions`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:r.activeFilterModel$.pipe((0,s.switchMap)(e=>(e==null?void 0:e.hasCriteria$.pipe((0,s.map)(e=>!e)))??(0,s.of)(!0)))}}let oe={[i.RibbonDataGroup.ORGANIZATION]:{[n.SmartToggleSheetsFilterCommand.id]:{order:2,gridLayout:{row:1,column:2},menuItemFactory:re,[n.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ie},[n.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ae}}}};var B=`@univerjs/sheets-filter-ui`,V=`1.0.0-beta.0`;let H=`sheets-filter-ui.config`,U={};function W({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),l=(0,c.useRef)(`_${ue()}`);return se(n,`${r}`,{defIds:n.defIds,idSuffix:l.current},{ref:e,className:s,...o},a)}function se(e,t,n,r,i){return(0,c.createElement)(e.tag,{key:t,...ce(e,n,i),...r},(le(e,n).children||[]).map((r,a)=>se(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function ce(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function le(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function ue(){return Math.random().toString(36).substring(2,8)}W.displayName=`UniverIcon`;let de={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z`}}]},fe=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`a-icon`,ref:t,icon:de}))});fe.displayName=`AIcon`;let pe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 20 20`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z`}}]},me=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`ban-icon`,ref:t,icon:pe}))});me.displayName=`BanIcon`;let he={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ge=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`filter-icon`,ref:t,icon:he}))});ge.displayName=`FilterIcon`;let _e={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},ve=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`info-icon`,ref:t,icon:_e}))});ve.displayName=`InfoIcon`;let ye={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},be=(0,c.forwardRef)(function(e,t){return(0,c.createElement)(W,Object.assign({},e,{id:`success-icon`,ref:t,icon:ye}))});be.displayName=`SuccessIcon`;function xe(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.cellFillColors$,[],!0),o=(0,i.useObservable)(n.cellTextColors$,[],!0),s=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e)},[n]),d=(0,c.useCallback)(e=>{n.onFilterCheckToggled(e,!1)},[n]);return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-colors-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[a.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-fill-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:a.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>s(e),children:[e.color?(0,u.jsx)(`button`,{type:`button`,className:(0,l.clsx)(`univer-box-border univer-size-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`),style:{backgroundColor:e.color}}):(0,u.jsx)(me,{className:`univer-size-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white`}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-fill-color-${t}`))})]}),o.length>1&&(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`div`,{className:`univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:r.t(`sheets-filter-ui.panel.filter-by-cell-text-color`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2`,children:o.map((e,t)=>(0,u.jsxs)(`div`,{className:`univer-relative univer-size-6`,onClick:()=>d(e),children:[(0,u.jsx)(`div`,{className:`univer-box-border univer-flex univer-size-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]`,children:(0,u.jsx)(fe,{style:{color:e.color}})}),e.checked&&(0,u.jsx)(Se,{})]},`sheets-filter-cell-text-color-${t}`))})]}),a.length<=1&&o.length<=1&&(0,u.jsx)(`div`,{className:`univer-flex univer-size-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:r.t(`sheets-filter-ui.panel.filter-by-color-none`)})]})})}function Se(){return(0,u.jsx)(`div`,{className:`univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white`,children:(0,u.jsx)(be,{className:`univer-size-full univer-font-bold univer-text-[#418F1F]`})})}let Ce=[[f.NONE],[f.EMPTY,f.NOT_EMPTY],[f.TEXT_CONTAINS,f.DOES_NOT_CONTAIN,f.STARTS_WITH,f.ENDS_WITH,f.EQUALS],[f.GREATER_THAN,f.GREATER_THAN_OR_EQUAL,f.LESS_THAN,f.LESS_THAN_OR_EQUAL,f.EQUAL,f.NOT_EQUAL,f.BETWEEN,f.NOT_BETWEEN],[f.CUSTOM]];function we(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.conditionItem$,void 0),o=(0,i.useObservable)(n.filterConditionFormParams$,void 0),s=o!=null&&o.and?`AND`:`OR`,d=(0,c.useCallback)(e=>{n.onConditionFormChange({and:e===`AND`})},[n]),p=Ce.map(e=>({options:e.map(e=>({label:r.t(e.label),value:e.operator}))})),m=(0,c.useCallback)(e=>{n.onPrimaryConditionChange(e)},[n]),h=f.ALL_CONDITIONS.filter(e=>e.numOfParameters!==2).map(e=>({label:r.t(e.label),value:e.operator})),g=(0,c.useCallback)(e=>{n.onConditionFormChange(e)},[n]),_=r.t(`sheets-filter-ui.panel.input-values-placeholder`);function v(e,t,n){let i=f.getItemByOperator(e).numOfParameters===1;return(0,u.jsxs)(u.Fragment,{children:[n===`operator2`&&(0,u.jsxs)(l.RadioGroup,{value:s,onChange:d,children:[(0,u.jsx)(l.Radio,{value:`AND`,children:r.t(`sheets-filter-ui.panel.and`)}),(0,u.jsx)(l.Radio,{value:`OR`,children:r.t(`sheets-filter-ui.panel.or`)})]}),(0,u.jsx)(l.Select,{value:e,options:h,onChange:e=>g({[n]:e})}),i&&(0,u.jsx)(`div`,{children:(0,u.jsx)(l.Input,{className:`univer-mt-2`,value:t,placeholder:_,onChange:e=>g({[n===`operator1`?`val1`:`val2`]:e})})})]})}return(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:a&&o&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.Select,{value:a.operator,options:p,onChange:m}),f.getItemByOperator(a.operator).numOfParameters===0?null:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-container-inner`,className:(0,l.clsx)(`univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2`,l.borderClassName),children:[a.numOfParameters>=1&&v(o.operator1,o.val1??``,`operator1`),a.numOfParameters>=2&&v(o.operator2,o.val2??``,`operator2`),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-conditions-desc`,className:`univer-mt-2 univer-text-xs univer-text-gray-500`,children:[r.t(`sheets-filter-ui.panel.?`),(0,u.jsx)(`br`,{}),r.t(`sheets-filter-ui.panel.*`)]})]})]})})}function Te(e){let{model:n}=e,r=(0,i.useDependency)(t.LocaleService),a=(0,i.useObservable)(n.searchString$,``,!0),o=(0,i.useObservable)(n.filterItems$,void 0,!0),s=r.t(`sheets-filter-ui.panel.filter-only`),d=m(o),f=d.checked>0&&d.unchecked===0,p=d.checked>0&&d.unchecked>0,h=n.treeMapCache,g=(0,c.useCallback)(()=>{n.onCheckAllToggled(!f)},[n,f]),_=(0,c.useCallback)(e=>{n.setSearchString(e)},[n]);function v(e){let t=[];return e.forEach(e=>{e.checked&&t.push(e.key),e.children&&(t=t.concat(v(e.children)))}),t}return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-container`,className:`univer-flex univer-h-full univer-min-h-[300px] univer-flex-col`,children:[(0,u.jsx)(l.Input,{autoFocus:!0,value:a,placeholder:r.t(`sheets-filter-ui.panel.search-placeholder`),onChange:_}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:(0,l.clsx)(`univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5`,l.borderClassName),children:[(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-item`,className:`univer-box-border univer-h-8 univer-w-full univer-py-0.5`,children:(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-values-item-inner`,className:`univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-py-0 univer-pl-5 univer-pr-0.5 univer-text-sm`,children:[(0,u.jsx)(l.Checkbox,{indeterminate:p,disabled:o.length===0,checked:f,onChange:g}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-text`,className:`univer-mx-1 univer-inline-block univer-flex-shrink univer-truncate univer-text-gray-900 dark:!univer-text-white`,children:`${r.t(`sheets-filter-ui.panel.select-all`)}`}),(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${d.checked}/${d.checked+d.unchecked})`})]})}),(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-values-virtual`,className:`univer-flex-grow`,children:(0,u.jsx)(l.Tree,{data:o,defaultExpandAll:!1,valueGroup:v(o),onChange:e=>{n.onFilterCheckToggled(e)},defaultCache:h,itemHeight:28,treeNodeClassName:`
|
|
2
2
|
univer-pr-2 univer-border-box univer-rounded-md
|
|
3
3
|
[&:hover_a]:univer-inline-block
|
|
4
4
|
hover:univer-bg-gray-50 univer-h-full
|
|
5
5
|
univer-text-gray-900 dark:hover:!univer-bg-gray-900
|
|
6
6
|
dark:!univer-text-white
|
|
7
|
-
`,attachRender:e=>(0,u.jsxs)(`div`,{className:`univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500`,children:[(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${e.count})`}),(0,u.jsx)(`a`,{className:`univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5`,onClick:()=>{let t=[];e.children?e.children.forEach(e=>{e.children?e.children.forEach(e=>{t.push(e.key)}):t.push(e.key)}):t.push(e.key),n.onFilterOnly(t)},children:s})]})})})]})]})}function Ee(){let e=(0,i.useDependency)(n.SheetsFilterSyncController),r=(0,i.useObservable)(e.visible$,void 0,!0),a=(0,i.useDependency)(t.LocaleService),o=(0,i.useDependency)(i.IMessageService),s=(0,i.useObservable)(e.enabled$,void 0,!0);return r?(0,u.jsxs)(`div`,{className:`univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-1`,children:[(0,u.jsx)(`span`,{children:a.t(`sheets-filter-ui.sync.title`)}),(0,u.jsx)(l.Tooltip,{title:s?a.t(`sheets-filter-ui.sync.statusTips.off`):a.t(`sheets-filter-ui.sync.statusTips.on`),asChild:!0,children:(0,u.jsx)(ve,{className:`univer-block`})})]}),(0,u.jsx)(l.Switch,{defaultChecked:s,onChange:t=>{let n=t?a.t(`sheets-filter-ui.sync.switchTips.on`):a.t(`sheets-filter-ui.sync.switchTips.off`);e.setEnabled(t),o.show({content:n,type:l.MessageType.Success,duration:2e3})}})]}):null}let De=[{label:`sheets-filter-ui.panel.by-values`,value:n.FilterBy.VALUES},{label:`sheets-filter-ui.panel.by-colors`,value:n.FilterBy.COLORS},{label:`sheets-filter-ui.panel.by-conditions`,value:n.FilterBy.CONDITIONS}];function Oe(){var e;let a=(0,i.useDependency)(M),o=(0,i.useDependency)(t.LocaleService),d=(0,i.useDependency)(t.ICommandService),f=(0,i.useObservable)(a.filterBy$,void 0,!0),p=(0,i.useObservable)(a.filterByModel$,void 0,!1),m=(0,i.useObservable)(()=>(p==null?void 0:p.canApply$)||(0,s.of)(!1),void 0,!1,[p]),h=De.map(e=>({...e,label:o.t(e.label)})),g=!(0,i.useObservable)(a.hasCriteria$),_=(0,c.useCallback)(e=>{d.executeCommand(z.id,{filterBy:e})},[d]),v=(0,c.useCallback)(async()=>{await(p==null?void 0:p.clear()),d.executeCommand(R.id)},[p,d]),y=(0,c.useCallback)(()=>{d.executeCommand(R.id)},[d]),b=(0,c.useCallback)(async()=>{await(p==null?void 0:p.apply()),d.executeCommand(R.id)},[p,d]),x=(e=(0,i.useDependency)(n.SheetsFilterService).activeFilterModel)==null?void 0:e.getRange(),S=a.col;return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:`univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700`,children:[(0,u.jsx)(i.ComponentContainer,{components:(0,i.useComponentsOfPart)(r.SheetsUIPart.FILTER_PANEL_EMBED_POINT),sharedProps:{range:x,colIndex:S,onClose:y}}),(0,u.jsx)(`div`,{className:`univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0`,children:(0,u.jsx)(l.Segmented,{value:f,items:h,onChange:e=>_(e)})}),p?(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-content`,className:`univer-flex-shrink univer-flex-grow univer-pt-2`,children:f===n.FilterBy.VALUES?(0,u.jsx)(Te,{model:p}):f===n.FilterBy.COLORS?(0,u.jsx)(xe,{model:p}):(0,u.jsx)(we,{model:p})}):(0,u.jsx)(`div`,{className:`univer-flex-1`}),(0,u.jsx)(Ee,{}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-footer`,className:`univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden`,children:[(0,u.jsx)(l.Button,{variant:`link`,onClick:v,disabled:g,children:o.t(`sheets-filter-ui.panel.clear-filter`)}),(0,u.jsxs)(`span`,{className:`univer-flex univer-gap-2`,children:[(0,u.jsx)(l.Button,{variant:`default`,onClick:y,children:o.t(`sheets-filter-ui.panel.cancel`)}),(0,u.jsx)(l.Button,{disabled:!m,variant:`primary`,onClick:b,children:o.t(`sheets-filter-ui.panel.confirm`)})]})]})]})}let ke=`FILTER_PANEL_POPUP`,G=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({FilterIcon:ge}))}_registerComponents(){[[ke,Oe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};G=g([h(0,(0,t.Inject)(i.ComponentManager)),h(1,(0,t.Inject)(i.IconManager))],G);let K=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=n,this._sheetPermissionCheckPermission=r,this._injector=i,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===n.SmartToggleSheetsFilterCommand.id){var r;let e=(0,o.getSheetCommandTarget)(this._injector.get(t.IUniverInstanceService));if(!e)return;let{unitId:n,subUnitId:a,worksheet:s}=e,c=(r=this._sheetsFilterService.getFilterModel(n,a))==null?void 0:r.getRange(),l;if(c)l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],n,a);else{var i;let e=(i=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:i.range;if(e){let t={...e};t=e.startColumn===e.endColumn&&e.startRow===e.endRow?(0,o.expandToContinuousRange)(t,{left:!0,right:!0,up:!0,down:!0},s):t,l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]},[t],n,a)}else l=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]})}l||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`))}if(e.id===L.id){var a;let n=e.params,{unitId:r,subUnitId:i}=n,s=(a=this._sheetsFilterService.getFilterModel(r,i))==null?void 0:a.getRange(),c=t.Tools.deepClone(s);c&&(c.startColumn=n.col,c.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],r,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`)))}}))}};K=g([h(0,(0,t.Inject)(n.SheetsFilterService)),h(1,(0,t.Inject)(t.LocaleService)),h(2,t.ICommandService),h(3,(0,t.Inject)(o.SheetPermissionCheckController)),h(4,(0,t.Inject)(t.Injector)),h(5,(0,t.Inject)(o.SheetsSelectionsService))],K);let Ae=new Path2D(`M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z`);var je=class{static drawNoCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.lineCap=`square`,e.strokeStyle=n,e.scale(t/16,t/16),e.beginPath(),e.lineWidth=1,e.lineCap=`round`,e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawHasCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.scale(t/16,t/16),e.fillStyle=n,e.fill(Ae),e.restore()}};let q=class extends a.Shape{constructor(e,t,n,r,i){super(e,t),this._contextService=n,this._commandService=r,this._themeService=i,O(this,`_cellWidth`,0),O(this,`_cellHeight`,0),O(this,`_filterParams`,void 0),O(this,`_hovered`,!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){e.cellHeight!==void 0&&(this._cellHeight=e.cellHeight),e.cellWidth!==void 0&&(this._cellWidth=e.cellWidth),e.filterParams!==void 0&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,n=this._cellWidth,r=16-n,i=16-t;e.save();let a=new Path2D;a.rect(r,i,n,t),e.clip(a);let{hasCriteria:o}=this._filterParams,s=this._themeService.getColorFromTheme(`primary.600`),c=this._hovered?this._themeService.getColorFromTheme(`gray.50`):`rgba(255, 255, 255, 1.0)`;o?je.drawHasCriteria(e,16,s,c):je.drawNoCriteria(e,16,s,c),e.restore()}onPointerDown(e){if(e.button===2)return;let{col:t,unitId:n,subUnitId:r}=this._filterParams;this._contextService.getContextValue(`FILTER_PANEL_OPENED`)||!this._commandService.hasCommand(L.id)||setTimeout(()=>{this._commandService.executeCommand(L.id,{unitId:n,subUnitId:r,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};q=g([h(2,t.IContextService),h(3,t.ICommandService),h(4,(0,t.Inject)(t.ThemeService))],q);function Me(e,n,r,i){switch(i){case t.VerticalAlign.TOP:return e+1;case t.VerticalAlign.MIDDLE:return e+Math.max(0,(r-16)/2);case t.VerticalAlign.BOTTOM:default:return n-16-1}}let J=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetsFilterService=r,this._themeService=i,this._sheetInterceptorService=a,this._commandService=o,this._selectionRenderService=s,O(this,`_currentRenderParams`,null),O(this,`_filterRangeShape`,null),O(this,`_buttonRenderDisposable`,null),O(this,`_filterButtonShapes`,[]),this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._refreshRendering(this._currentRenderParams)})),this._sheetSkeletonManagerService.currentSkeleton$.pipe((0,s.switchMap)(e=>{var r,i;if(!e)return(0,s.of)(null);let{unit:a,unitId:c}=this._context,l=((r=a.getActiveSheet())==null?void 0:r.getSheetId())||``,u=(i=this._sheetsFilterService.getFilterModel(c,l))==null?void 0:i,d=()=>({unitId:c,worksheetId:l,filterModel:u,range:u==null?void 0:u.getRange(),skeleton:e.skeleton});return(0,t.fromCallback)(this._commandService.onCommandExecuted.bind(this._commandService)).pipe((0,s.filter)(([e])=>{var r;return e.type===t.CommandType.MUTATION&&((r=e.params)==null?void 0:r.unitId)===a.getUnitId()&&(n.FILTER_MUTATIONS.has(e.id)||e.id===o.SetRangeValuesMutation.id)}),(0,s.throttleTime)(20,void 0,{leading:!1,trailing:!0}),(0,s.map)(d),(0,s.startWith)(d()))}),(0,s.takeUntil)(this.dispose$)).subscribe(e=>{this._currentRenderParams=e,this._refreshRendering(e)})}_refreshRendering(e){this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))}_renderRange(e,t){let{scene:n}=this._context,{rowHeaderWidth:i,columnHeaderHeight:a}=t,s=this._filterRangeShape=new r.SelectionControl(n,1e3,this._themeService,{rowHeaderWidth:i,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),c=(0,o.attachSelectionWithCoord)({range:e,primary:null,style:{fill:`rgba(0, 0, 0, 0.0)`}},t);s.updateRangeBySelectionWithCoord(c),s.setEvent(!1),n.makeDirty(!0)}_renderButtons(e){let{range:n,filterModel:i,unitId:a,skeleton:o,worksheetId:s}=e,{unit:c,scene:l}=this._context,u=c.getSheetBySheetId(s);if(!u)return;this._interceptCellContent(a,s,e.range);let{startColumn:d,endColumn:f,startRow:p}=n;for(let e=d;e<=f;e++){let n=`sheets-filter-button-${e}`,c=(0,r.getCoordByCell)(p,e,l,o),d=u.getComposedCellStyle(p,e),f=(d==null?void 0:d.vt)||t.VerticalAlign.BOTTOM,{startX:m,startY:h,endX:g,endY:_}=c,v=g-m,y=_-h;if(y<=1||v<=1)continue;let b=!!i.getFilterColumn(e),x={left:g-16-1,top:Me(h,_,y,f),height:16,width:16,zIndex:5e3,cellHeight:y,cellWidth:v,filterParams:{unitId:a,subUnitId:s,col:e,hasCriteria:b}},S=this._injector.createInstance(q,n,x);this._filterButtonShapes.push(S)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,n,r){let{startRow:i,startColumn:a,endColumn:s}=r;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(o.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(t,r,o)=>{let{row:c,col:l,unitId:u,subUnitId:d}=r;return u!==e||d!==n||c!==i||l<a||l>s?o(t):((!t||t===r.rawData)&&(t={...r.rawData}),t.fontRenderExtension={...t==null?void 0:t.fontRenderExtension,rightOffset:16},o(t))},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(e=>e.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};J=g([h(1,(0,t.Inject)(t.Injector)),h(2,(0,t.Inject)(r.SheetSkeletonManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.ThemeService)),h(5,(0,t.Inject)(o.SheetInterceptorService)),h(6,t.ICommandService),h(7,r.ISheetSelectionRenderService)],J);let Y=class extends t.RxDisposable{constructor(e,r){super(),this._renderManagerService=e,this._sheetsRenderService=r,[n.SetSheetsFilterRangeMutation,n.SetSheetsFilterCriteriaMutation,n.RemoveSheetsFilterMutation,n.ReCalcSheetsFilterMutation].forEach(e=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(e.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[J]))}};Y=g([h(0,a.IRenderManagerService),h(1,(0,t.Inject)(r.SheetsRenderService))],Y);let X=class extends t.Plugin{constructor(e=U,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},U,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(H,a)}onStarting(){this._injector.add([G]),this._injector.get(G),[[K],[Y]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(K)}onRendered(){this._injector.get(Y)}};O(X,`type`,t.UniverInstanceType.UNIVER_SHEET),O(X,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(X,`packageName`,B),O(X,`version`,V),X=g([(0,t.DependentOn)(n.UniverSheetsFilterPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService)],X);let Ne={id:n.SmartToggleSheetsFilterCommand.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,description:`sheets-filter-ui.shortcut.smart-toggle-filter`,preconditions:r.whenSheetEditorFocused,group:`4_sheet-edit`,groupTitle:`sheets-ui.shortcut.sheet-edit`},Z=class extends Y{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(d,u),this._injector=e,this._sheetsFilterPanelService=t,this._sheetCanvasPopupService=n,this._sheetsFilterService=r,this._localeService=i,this._shortcutService=a,this._commandService=o,this._menuManagerService=s,this._contextService=c,this._messageService=l,O(this,`_popupDisposable`,void 0),this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Ne].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[n.SmartToggleSheetsFilterCommand,z,L,R].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(oe)}_initUI(){this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe((0,s.distinctUntilChanged)()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:l.MessageType.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){let e=this._sheetsFilterPanelService.filterModel;if(!e)throw Error(`[SheetsFilterUIController]: no filter model when opening filter popup!`);let t=e.getRange(),n=this._sheetsFilterPanelService.col,{startRow:r}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(r,n,{componentKey:ke,direction:`horizontal`,onClickOutside:()=>this._commandService.syncExecuteCommand(R.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Z=g([h(0,(0,t.Inject)(t.Injector)),h(1,M),h(2,(0,t.Inject)(r.SheetCanvasPopManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.LocaleService)),h(5,i.IShortcutService),h(6,t.ICommandService),h(7,i.IMenuManagerService),h(8,t.IContextService),h(9,i.IMessageService),h(10,(0,t.Inject)(r.SheetsRenderService)),h(11,a.IRenderManagerService)],Z);let Q=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{menu:a,...o}=(0,t.merge)({},U,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(H,o)}onStarting(){this._injector.add([G]),this._injector.get(G),(0,t.registerDependencies)(this._injector,[[M,{useClass:N}],[K],[Z]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([v,{useFactory:()=>(0,d.toModule)(this._rpcChannelService.requestChannel(_))}])}onReady(){(0,t.touchDependencies)(this._injector,[[K]])}onRendered(){(0,t.touchDependencies)(this._injector,[[Z]])}};O(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),O(Q,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(Q,`packageName`,B),O(Q,`version`,V),Q=g([(0,t.DependentOn)(n.UniverSheetsFilterPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,(0,t.Optional)(d.IRPCChannelService))],Q);let $=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{...a}=(0,t.merge)({},U,this._config);this._configService.setConfig(H,a)}onStarting(){[[v,{useClass:y}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(_,(0,d.fromModule)(this._injector.get(v)))}};O($,`type`,t.UniverInstanceType.UNIVER_SHEET),O($,`pluginName`,`SHEET_FILTER_UI_WORKER_PLUGIN`),O($,`packageName`,B),O($,`version`,V),$=g([h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,d.IRPCChannelService)],$),e.ChangeFilterByOperation=z,e.CloseFilterPanelOperation=R,e.OpenFilterPanelOperation=L,e.SheetsFilterUIMenuSchema=oe,Object.defineProperty(e,"UniverSheetsFilterMobileUIPlugin",{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,"UniverSheetsFilterUIPlugin",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverSheetsFilterUIWorkerPlugin",{enumerable:!0,get:function(){return $}})});
|
|
7
|
+
`,attachRender:e=>(0,u.jsxs)(`div`,{className:`univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500`,children:[(0,u.jsx)(`span`,{"data-u-comp":`sheets-filter-panel-values-item-count`,className:`univer-text-gray-400 dark:!univer-text-gray-500`,children:`(${e.count})`}),(0,u.jsx)(`a`,{className:`univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5`,onClick:()=>{let t=[];e.children?e.children.forEach(e=>{e.children?e.children.forEach(e=>{t.push(e.key)}):t.push(e.key)}):t.push(e.key),n.onFilterOnly(t)},children:s})]})})})]})]})}function Ee(){let e=(0,i.useDependency)(n.SheetsFilterSyncController),r=(0,i.useObservable)(e.visible$,void 0,!0),a=(0,i.useDependency)(t.LocaleService),o=(0,i.useDependency)(i.IMessageService),s=(0,i.useObservable)(e.enabled$,void 0,!0);return r?(0,u.jsxs)(`div`,{className:`univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-1`,children:[(0,u.jsx)(`span`,{children:a.t(`sheets-filter-ui.sync.title`)}),(0,u.jsx)(l.Tooltip,{title:s?a.t(`sheets-filter-ui.sync.statusTips.off`):a.t(`sheets-filter-ui.sync.statusTips.on`),asChild:!0,children:(0,u.jsx)(ve,{className:`univer-block`})})]}),(0,u.jsx)(l.Switch,{defaultChecked:s,onChange:t=>{let n=t?a.t(`sheets-filter-ui.sync.switchTips.on`):a.t(`sheets-filter-ui.sync.switchTips.off`);e.setEnabled(t),o.show({content:n,type:l.MessageType.Success,duration:2e3})}})]}):null}let De=[{label:`sheets-filter-ui.panel.by-values`,value:n.FilterBy.VALUES},{label:`sheets-filter-ui.panel.by-colors`,value:n.FilterBy.COLORS},{label:`sheets-filter-ui.panel.by-conditions`,value:n.FilterBy.CONDITIONS}];function Oe(){var e;let a=(0,i.useDependency)(M),o=(0,i.useDependency)(t.LocaleService),d=(0,i.useDependency)(t.ICommandService),f=(0,i.useObservable)(a.filterBy$,void 0,!0),p=(0,i.useObservable)(a.filterByModel$,void 0,!1),m=(0,i.useObservable)(()=>(p==null?void 0:p.canApply$)||(0,s.of)(!1),void 0,!1,[p]),h=De.map(e=>({...e,label:o.t(e.label)})),g=!(0,i.useObservable)(a.hasCriteria$),_=(0,c.useCallback)(e=>{d.executeCommand(z.id,{filterBy:e})},[d]),v=(0,c.useCallback)(async()=>{await(p==null?void 0:p.clear()),d.executeCommand(R.id)},[p,d]),y=(0,c.useCallback)(()=>{d.executeCommand(R.id)},[d]),b=(0,c.useCallback)(async()=>{await(p==null?void 0:p.apply()),d.executeCommand(R.id)},[p,d]),x=(e=(0,i.useDependency)(n.SheetsFilterService).activeFilterModel)==null?void 0:e.getRange(),S=a.col;return(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel`,className:`univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700`,children:[(0,u.jsx)(i.ComponentContainer,{components:(0,i.useComponentsOfPart)(r.SheetsUIPart.FILTER_PANEL_EMBED_POINT),sharedProps:{range:x,colIndex:S,onClose:y}}),(0,u.jsx)(`div`,{className:`univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0`,children:(0,u.jsx)(l.Segmented,{value:f,items:h,onChange:e=>_(e)})}),p?(0,u.jsx)(`div`,{"data-u-comp":`sheets-filter-panel-content`,className:`univer-flex-shrink univer-flex-grow univer-pt-2`,children:f===n.FilterBy.VALUES?(0,u.jsx)(Te,{model:p}):f===n.FilterBy.COLORS?(0,u.jsx)(xe,{model:p}):(0,u.jsx)(we,{model:p})}):(0,u.jsx)(`div`,{className:`univer-flex-1`}),(0,u.jsx)(Ee,{}),(0,u.jsxs)(`div`,{"data-u-comp":`sheets-filter-panel-footer`,className:`univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden`,children:[(0,u.jsx)(l.Button,{variant:`link`,onClick:v,disabled:g,children:o.t(`sheets-filter-ui.panel.clear-filter`)}),(0,u.jsxs)(`span`,{className:`univer-flex univer-gap-2`,children:[(0,u.jsx)(l.Button,{variant:`default`,onClick:y,children:o.t(`sheets-filter-ui.panel.cancel`)}),(0,u.jsx)(l.Button,{disabled:!m,variant:`primary`,onClick:b,children:o.t(`sheets-filter-ui.panel.confirm`)})]})]})]})}let ke=`FILTER_PANEL_POPUP`,G=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({FilterIcon:ge}))}_registerComponents(){[[ke,Oe]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};G=g([h(0,(0,t.Inject)(i.ComponentManager)),h(1,(0,t.Inject)(i.IconManager))],G);let K=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetsFilterService=e,this._localeService=t,this._commandService=n,this._sheetPermissionCheckPermission=r,this._injector=i,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===n.SmartToggleSheetsFilterCommand.id){var r;let e=(0,o.getSheetCommandTarget)(this._injector.get(t.IUniverInstanceService));if(!e)return;let{unitId:n,subUnitId:a,worksheet:s}=e,c=(r=this._sheetsFilterService.getFilterModel(n,a))==null?void 0:r.getRange(),l;if(c)l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],n,a);else{var i;let e=(i=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:i.range;if(e){let t={...e};t=e.startColumn===e.endColumn&&e.startRow===e.endRow?(0,o.expandToContinuousRange)(t,{left:!0,right:!0,up:!0,down:!0},s):t,l=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]},[t],n,a)}else l=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetViewPermission,o.WorksheetFilterPermission]})}l||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`))}if(e.id===L.id){var a;let n=e.params,{unitId:r,subUnitId:i}=n,s=(a=this._sheetsFilterService.getFilterModel(r,i))==null?void 0:a.getRange(),c=t.Tools.deepClone(s);c&&(c.startColumn=n.col,c.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[o.RangeProtectionPermissionViewPoint],worksheetTypes:[o.WorksheetFilterPermission,o.WorksheetViewPermission]},[c],r,i)||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t(`sheets-filter-ui.permission.filterErr`)))}}))}};K=g([h(0,(0,t.Inject)(n.SheetsFilterService)),h(1,(0,t.Inject)(t.LocaleService)),h(2,t.ICommandService),h(3,(0,t.Inject)(o.SheetPermissionCheckController)),h(4,(0,t.Inject)(t.Injector)),h(5,(0,t.Inject)(o.SheetsSelectionsService))],K);let Ae=new Path2D(`M3.30363 3C2.79117 3 2.51457 3.60097 2.84788 3.99024L6.8 8.60593V12.5662C6.8 12.7184 6.8864 12.8575 7.02289 12.9249L8.76717 13.7863C8.96655 13.8847 9.2 13.7396 9.2 13.5173V8.60593L13.1521 3.99024C13.4854 3.60097 13.2088 3 12.6964 3H3.30363Z`);var je=class{static drawNoCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.lineCap=`square`,e.strokeStyle=n,e.scale(t/16,t/16),e.beginPath(),e.lineWidth=1,e.lineCap=`round`,e.moveTo(3,4),e.lineTo(13,4),e.moveTo(4.5,8),e.lineTo(11.5,8),e.moveTo(6,12),e.lineTo(10,12),e.stroke(),e.restore()}static drawHasCriteria(e,t,n,r){e.save(),a.Rect.drawWith(e,{radius:2,width:16,height:16,fill:r}),e.scale(t/16,t/16),e.fillStyle=n,e.fill(Ae),e.restore()}};let q=class extends a.Shape{constructor(e,t,n,r,i){super(e,t),this._contextService=n,this._commandService=r,this._themeService=i,O(this,`_cellWidth`,0),O(this,`_cellHeight`,0),O(this,`_filterParams`,void 0),O(this,`_hovered`,!1),this.setShapeProps(t),this.onPointerDown$.subscribeEvent(e=>this.onPointerDown(e)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){e.cellHeight!==void 0&&(this._cellHeight=e.cellHeight),e.cellWidth!==void 0&&(this._cellWidth=e.cellWidth),e.filterParams!==void 0&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){let t=this._cellHeight,n=this._cellWidth,r=16-n,i=16-t;e.save();let a=new Path2D;a.rect(r,i,n,t),e.clip(a);let{hasCriteria:o}=this._filterParams,s=this._themeService.getColorFromTheme(`primary.600`),c=this._hovered?this._themeService.getColorFromTheme(`gray.50`):`rgba(255, 255, 255, 1.0)`;o?je.drawHasCriteria(e,16,s,c):je.drawNoCriteria(e,16,s,c),e.restore()}onPointerDown(e){if(e.button===2)return;let{col:t,unitId:n,subUnitId:r}=this._filterParams;this._contextService.getContextValue(`FILTER_PANEL_OPENED`)||!this._commandService.hasCommand(L.id)||setTimeout(()=>{this._commandService.executeCommand(L.id,{unitId:n,subUnitId:r,col:t})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};q=g([h(2,t.IContextService),h(3,t.ICommandService),h(4,(0,t.Inject)(t.ThemeService))],q);function Me(e,n,r,i){switch(i){case t.VerticalAlign.TOP:return e+1;case t.VerticalAlign.MIDDLE:return e+Math.max(0,(r-16)/2);case t.VerticalAlign.BOTTOM:default:return n-16-1}}let J=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._injector=t,this._sheetSkeletonManagerService=n,this._sheetsFilterService=r,this._themeService=i,this._sheetInterceptorService=a,this._commandService=o,this._selectionRenderService=s,O(this,`_currentRenderParams`,null),O(this,`_filterRangeShape`,null),O(this,`_buttonRenderDisposable`,null),O(this,`_filterButtonShapes`,[]),this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>{this._refreshRendering(this._currentRenderParams)})),this._sheetSkeletonManagerService.currentSkeleton$.pipe((0,s.switchMap)(e=>{var r;if(!e)return(0,s.of)(null);let{unit:i,unitId:a}=this._context,c=((r=i.getActiveSheet())==null?void 0:r.getSheetId())||``,l=this._sheetsFilterService.getFilterModel(a,c)??void 0,u=()=>({unitId:a,worksheetId:c,filterModel:l,range:l==null?void 0:l.getRange(),skeleton:e.skeleton});return(0,t.fromCallback)(this._commandService.onCommandExecuted.bind(this._commandService)).pipe((0,s.filter)(([e])=>{var r;return e.type===t.CommandType.MUTATION&&((r=e.params)==null?void 0:r.unitId)===i.getUnitId()&&(n.FILTER_MUTATIONS.has(e.id)||e.id===o.SetRangeValuesMutation.id)}),(0,s.throttleTime)(20,void 0,{leading:!1,trailing:!0}),(0,s.map)(u),(0,s.startWith)(u()))}),(0,s.takeUntil)(this.dispose$)).subscribe(e=>{this._currentRenderParams=e,this._refreshRendering(e)})}_refreshRendering(e){this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))}_renderRange(e,t){let{scene:n}=this._context,{rowHeaderWidth:i,columnHeaderHeight:a}=t,s=this._filterRangeShape=new r.SelectionControl(n,1e3,this._themeService,{rowHeaderWidth:i,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),c=(0,o.attachSelectionWithCoord)({range:e,primary:null,style:{fill:`rgba(0, 0, 0, 0.0)`}},t);s.updateRangeBySelectionWithCoord(c),s.setEvent(!1),n.makeDirty(!0)}_renderButtons(e){let{range:n,filterModel:i,unitId:a,skeleton:o,worksheetId:s}=e,{unit:c,scene:l}=this._context,u=c.getSheetBySheetId(s);if(!u)return;this._interceptCellContent(a,s,e.range);let{startColumn:d,endColumn:f,startRow:p}=n;for(let e=d;e<=f;e++){let n=`sheets-filter-button-${e}`,c=(0,r.getCoordByCell)(p,e,l,o),d=u.getComposedCellStyle(p,e),f=(d==null?void 0:d.vt)||t.VerticalAlign.BOTTOM,{startX:m,startY:h,endX:g,endY:_}=c,v=g-m,y=_-h;if(y<=1||v<=1)continue;let b=!!i.getFilterColumn(e),x={left:g-16-1,top:Me(h,_,y,f),height:16,width:16,zIndex:5e3,cellHeight:y,cellWidth:v,filterParams:{unitId:a,subUnitId:s,col:e,hasCriteria:b}},S=this._injector.createInstance(q,n,x);this._filterButtonShapes.push(S)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,n,r){let{startRow:i,startColumn:a,endColumn:s}=r;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(o.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(t,r,o)=>{let{row:c,col:l,unitId:u,subUnitId:d}=r;return u!==e||d!==n||c!==i||l<a||l>s?o(t):((!t||t===r.rawData)&&(t={...r.rawData}),t.fontRenderExtension={...t==null?void 0:t.fontRenderExtension,rightOffset:16},o(t))},priority:10})}_disposeRendering(){var e,t;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(e=>e.dispose()),(t=this._buttonRenderDisposable)==null||t.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};J=g([h(1,(0,t.Inject)(t.Injector)),h(2,(0,t.Inject)(r.SheetSkeletonManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.ThemeService)),h(5,(0,t.Inject)(o.SheetInterceptorService)),h(6,t.ICommandService),h(7,r.ISheetSelectionRenderService)],J);let Y=class extends t.RxDisposable{constructor(e,r){super(),this._renderManagerService=e,this._sheetsRenderService=r,[n.SetSheetsFilterRangeMutation,n.SetSheetsFilterCriteriaMutation,n.RemoveSheetsFilterMutation,n.ReCalcSheetsFilterMutation].forEach(e=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(e.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[J]))}};Y=g([h(0,a.IRenderManagerService),h(1,(0,t.Inject)(r.SheetsRenderService))],Y);let X=class extends t.Plugin{constructor(e=U,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},U,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(H,a)}onStarting(){this._injector.add([G]),this._injector.get(G),[[K],[Y]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(K)}onRendered(){this._injector.get(Y)}};O(X,`type`,t.UniverInstanceType.UNIVER_SHEET),O(X,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(X,`packageName`,B),O(X,`version`,V),X=g([(0,t.DependentOn)(a.UniverRenderEnginePlugin,o.UniverSheetsPlugin,i.UniverMobileUIPlugin,n.UniverSheetsFilterPlugin,r.UniverSheetsMobileUIPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService)],X);let Ne={id:n.SmartToggleSheetsFilterCommand.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,description:`sheets-filter-ui.shortcut.smart-toggle-filter`,preconditions:r.whenSheetEditorFocused,group:`4_sheet-edit`,groupTitle:`sheets-ui.shortcut.sheet-edit`},Z=class extends Y{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(d,u),this._injector=e,this._sheetsFilterPanelService=t,this._sheetCanvasPopupService=n,this._sheetsFilterService=r,this._localeService=i,this._shortcutService=a,this._commandService=o,this._menuManagerService=s,this._contextService=c,this._messageService=l,O(this,`_popupDisposable`,void 0),this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Ne].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[n.SmartToggleSheetsFilterCommand,z,L,R].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(oe)}_initUI(){this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe((0,s.distinctUntilChanged)()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:l.MessageType.Error,content:this._localeService.t(e)})}))}_openFilterPopup(){let e=this._sheetsFilterPanelService.filterModel;if(!e)throw Error(`[SheetsFilterUIController]: no filter model when opening filter popup!`);let t=e.getRange(),n=this._sheetsFilterPanelService.col,{startRow:r}=t;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(r,n,{componentKey:ke,direction:`horizontal`,onClickOutside:()=>this._commandService.syncExecuteCommand(R.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Z=g([h(0,(0,t.Inject)(t.Injector)),h(1,M),h(2,(0,t.Inject)(r.SheetCanvasPopManagerService)),h(3,(0,t.Inject)(n.SheetsFilterService)),h(4,(0,t.Inject)(t.LocaleService)),h(5,i.IShortcutService),h(6,t.ICommandService),h(7,i.IMenuManagerService),h(8,t.IContextService),h(9,i.IMessageService),h(10,(0,t.Inject)(r.SheetsRenderService)),h(11,a.IRenderManagerService)],Z);let Q=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{menu:a,...o}=(0,t.merge)({},U,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(H,o)}onStarting(){this._injector.add([G]),this._injector.get(G),(0,t.registerDependencies)(this._injector,[[M,{useClass:N}],[K],[Z]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([v,{useFactory:()=>(0,d.toModule)(this._rpcChannelService.requestChannel(_))}])}onReady(){(0,t.touchDependencies)(this._injector,[[K]])}onRendered(){(0,t.touchDependencies)(this._injector,[[Z]])}};O(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),O(Q,`pluginName`,`SHEET_FILTER_UI_PLUGIN`),O(Q,`packageName`,B),O(Q,`version`,V),Q=g([(0,t.DependentOn)(a.UniverRenderEnginePlugin,o.UniverSheetsPlugin,n.UniverSheetsFilterPlugin,r.UniverSheetsUIPlugin),h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,(0,t.Optional)(d.IRPCChannelService))],Q);let $=class extends t.Plugin{constructor(e=U,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._rpcChannelService=i;let{...a}=(0,t.merge)({},U,this._config);this._configService.setConfig(H,a)}onStarting(){[[v,{useClass:y}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(_,(0,d.fromModule)(this._injector.get(v)))}};O($,`type`,t.UniverInstanceType.UNIVER_SHEET),O($,`pluginName`,`SHEET_FILTER_UI_WORKER_PLUGIN`),O($,`packageName`,B),O($,`version`,V),$=g([h(1,(0,t.Inject)(t.Injector)),h(2,t.IConfigService),h(3,d.IRPCChannelService)],$),e.ChangeFilterByOperation=z,e.CloseFilterPanelOperation=R,e.OpenFilterPanelOperation=L,e.SheetsFilterUIMenuSchema=oe,Object.defineProperty(e,"UniverSheetsFilterMobileUIPlugin",{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,"UniverSheetsFilterUIPlugin",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverSheetsFilterUIWorkerPlugin",{enumerable:!0,get:function(){return $}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-filter-ui",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-beta.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Filtering menus and panels for Univer Sheets.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -58,25 +58,24 @@
|
|
|
58
58
|
"rxjs": ">=7.0.0"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@univerjs/icons": "1.
|
|
62
|
-
"@univerjs/
|
|
63
|
-
"@univerjs/
|
|
64
|
-
"@univerjs/design": "1.0.0-
|
|
65
|
-
"@univerjs/
|
|
66
|
-
"@univerjs/sheets-
|
|
67
|
-
"@univerjs/sheets-
|
|
68
|
-
"@univerjs/
|
|
69
|
-
"@univerjs/ui": "1.0.0-
|
|
61
|
+
"@univerjs/icons": "1.35.0",
|
|
62
|
+
"@univerjs/core": "1.0.0-beta.0",
|
|
63
|
+
"@univerjs/rpc": "1.0.0-beta.0",
|
|
64
|
+
"@univerjs/design": "1.0.0-beta.0",
|
|
65
|
+
"@univerjs/sheets": "1.0.0-beta.0",
|
|
66
|
+
"@univerjs/sheets-ui": "1.0.0-beta.0",
|
|
67
|
+
"@univerjs/sheets-filter": "1.0.0-beta.0",
|
|
68
|
+
"@univerjs/engine-render": "1.0.0-beta.0",
|
|
69
|
+
"@univerjs/ui": "1.0.0-beta.0"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"postcss": "^8.5.
|
|
72
|
+
"postcss": "^8.5.25",
|
|
73
73
|
"react": "18.3.1",
|
|
74
74
|
"rxjs": "^7.8.2",
|
|
75
75
|
"tailwindcss": "3.4.18",
|
|
76
76
|
"typescript": "^6.0.3",
|
|
77
77
|
"vitest": "^4.1.10",
|
|
78
|
-
"@univerjs-infra/shared": "1.0.0-
|
|
79
|
-
"@univerjs/engine-formula": "1.0.0-alpha.7"
|
|
78
|
+
"@univerjs-infra/shared": "1.0.0-beta.0"
|
|
80
79
|
},
|
|
81
80
|
"scripts": {
|
|
82
81
|
"test": "vitest run",
|