@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 CHANGED
@@ -599,7 +599,7 @@ function statisticFilterByValueItems(items) {
599
599
  }
600
600
 
601
601
  //#endregion
602
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
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.137.0/helpers/esm/decorate.js
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.137.0/helpers/esm/typeof.js
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.137.0/helpers/esm/toPrimitive.js
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.137.0/helpers/esm/toPropertyKey.js
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.137.0/helpers/esm/defineProperty.js
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, _ByValuesModel, _ByColorsModel;
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.getUniverSheetInstance(unitId);
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, _colorFilters$cellFil, _colorFilters$cellTex;
1327
+ var _filterModel$getFilte;
1326
1328
  const univerInstanceService = injector.get(_univerjs_core.IUniverInstanceService);
1327
1329
  const { unitId, subUnitId } = filterModel;
1328
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
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((_colorFilters$cellFil = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) !== null && _colorFilters$cellFil !== void 0 ? _colorFilters$cellFil : []);
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((_colorFilters$cellTex = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) !== null && _colorFilters$cellTex !== void 0 ? _colorFilters$cellTex : []);
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-alpha.7";
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, (_formParams$val = formParams.val1) !== null && _formParams$val !== void 0 ? _formParams$val : "", "operator1"),
1750
- condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, (_formParams$val2 = formParams.val2) !== null && _formParams$val2 !== void 0 ? _formParams$val2 : "", "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, _this$_sheetsFilterSe;
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 = (_this$_sheetsFilterSe = this._sheetsFilterService.getFilterModel(unitId, worksheetId)) !== null && _this$_sheetsFilterSe !== void 0 ? _this$_sheetsFilterSe : void 0;
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.137.0/helpers/esm/decorateParam.js
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.137.0/helpers/esm/decorate.js
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.137.0/helpers/esm/typeof.js
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.137.0/helpers/esm/toPrimitive.js
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.137.0/helpers/esm/toPropertyKey.js
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.137.0/helpers/esm/defineProperty.js
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, _ByValuesModel, _ByColorsModel;
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.getUniverSheetInstance(unitId);
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, _colorFilters$cellFil, _colorFilters$cellTex;
1326
+ var _filterModel$getFilte;
1325
1327
  const univerInstanceService = injector.get(IUniverInstanceService);
1326
1328
  const { unitId, subUnitId } = filterModel;
1327
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
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((_colorFilters$cellFil = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) !== null && _colorFilters$cellFil !== void 0 ? _colorFilters$cellFil : []);
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((_colorFilters$cellTex = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) !== null && _colorFilters$cellTex !== void 0 ? _colorFilters$cellTex : []);
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-alpha.7";
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, (_formParams$val = formParams.val1) !== null && _formParams$val !== void 0 ? _formParams$val : "", "operator1"),
1749
- condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, (_formParams$val2 = formParams.val2) !== null && _formParams$val2 !== void 0 ? _formParams$val2 : "", "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, _this$_sheetsFilterSe;
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 = (_this$_sheetsFilterSe = this._sheetsFilterService.getFilterModel(unitId, worksheetId)) !== null && _this$_sheetsFilterSe !== void 0 ? _this$_sheetsFilterSe : void 0;
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.137.0/helpers/esm/decorateParam.js
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.137.0/helpers/esm/decorate.js
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.137.0/helpers/esm/typeof.js
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.137.0/helpers/esm/toPrimitive.js
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.137.0/helpers/esm/toPropertyKey.js
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.137.0/helpers/esm/defineProperty.js
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, _ByValuesModel, _ByColorsModel;
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.getUniverSheetInstance(unitId);
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, _colorFilters$cellFil, _colorFilters$cellTex;
1326
+ var _filterModel$getFilte;
1325
1327
  const univerInstanceService = injector.get(IUniverInstanceService);
1326
1328
  const { unitId, subUnitId } = filterModel;
1327
- const workbook = univerInstanceService.getUniverSheetInstance(unitId);
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((_colorFilters$cellFil = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellFillColors) !== null && _colorFilters$cellFil !== void 0 ? _colorFilters$cellFil : []);
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((_colorFilters$cellTex = colorFilters === null || colorFilters === void 0 ? void 0 : colorFilters.cellTextColors) !== null && _colorFilters$cellTex !== void 0 ? _colorFilters$cellTex : []);
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-alpha.7";
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, (_formParams$val = formParams.val1) !== null && _formParams$val !== void 0 ? _formParams$val : "", "operator1"),
1749
- condition.numOfParameters >= 2 && renderSecondaryCondition(formParams.operator2, (_formParams$val2 = formParams.val2) !== null && _formParams$val2 !== void 0 ? _formParams$val2 : "", "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, _this$_sheetsFilterSe;
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 = (_this$_sheetsFilterSe = this._sheetsFilterService.getFilterModel(unitId, worksheetId)) !== null && _this$_sheetsFilterSe !== void 0 ? _this$_sheetsFilterSe : void 0;
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-alpha.7",
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.34.0",
62
- "@univerjs/engine-render": "1.0.0-alpha.7",
63
- "@univerjs/core": "1.0.0-alpha.7",
64
- "@univerjs/design": "1.0.0-alpha.7",
65
- "@univerjs/rpc": "1.0.0-alpha.7",
66
- "@univerjs/sheets-filter": "1.0.0-alpha.7",
67
- "@univerjs/sheets-ui": "1.0.0-alpha.7",
68
- "@univerjs/sheets": "1.0.0-alpha.7",
69
- "@univerjs/ui": "1.0.0-alpha.7"
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.19",
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-alpha.7",
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",