@univerjs/sheets-filter-ui 0.5.4 → 0.5.5-experimental.20250123-34738ff

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.
Files changed (35) hide show
  1. package/lib/cjs/index.js +1 -9
  2. package/lib/cjs/locale/en-US.js +1 -1
  3. package/lib/cjs/locale/fa-IR.js +1 -1
  4. package/lib/cjs/locale/fr-FR.js +1 -1
  5. package/lib/cjs/locale/ru-RU.js +1 -1
  6. package/lib/cjs/locale/vi-VN.js +1 -1
  7. package/lib/cjs/locale/zh-CN.js +1 -1
  8. package/lib/cjs/locale/zh-TW.js +1 -1
  9. package/lib/es/index.js +1344 -1338
  10. package/lib/es/locale/en-US.js +2 -2
  11. package/lib/es/locale/fa-IR.js +2 -2
  12. package/lib/es/locale/fr-FR.js +2 -2
  13. package/lib/es/locale/ru-RU.js +2 -2
  14. package/lib/es/locale/vi-VN.js +2 -2
  15. package/lib/es/locale/zh-CN.js +2 -2
  16. package/lib/es/locale/zh-TW.js +2 -2
  17. package/lib/types/views/components/SheetsFilterByConditionsPanel.d.ts +1 -2
  18. package/lib/types/views/components/SheetsFilterByValuesPanel.d.ts +1 -2
  19. package/lib/types/views/components/SheetsFilterPanel.d.ts +16 -2
  20. package/lib/types/views/components/SheetsFilterPanel.stories.d.ts +3 -4
  21. package/lib/umd/index.js +1 -9
  22. package/lib/umd/locale/en-US.js +1 -1
  23. package/lib/umd/locale/fa-IR.js +1 -1
  24. package/lib/umd/locale/fr-FR.js +1 -1
  25. package/lib/umd/locale/ru-RU.js +1 -1
  26. package/lib/umd/locale/vi-VN.js +1 -1
  27. package/lib/umd/locale/zh-CN.js +1 -1
  28. package/lib/umd/locale/zh-TW.js +1 -1
  29. package/package.json +13 -13
  30. package/LICENSE +0 -176
  31. package/lib/types/commands/commands/__tests__/sheets-filter.command.spec.d.ts +0 -16
  32. package/lib/types/commands/operations/__tests__/sheets-filter.operation.spec.d.ts +0 -16
  33. package/lib/types/controllers/__tests__/sheets-filter.menu.spec.d.ts +0 -16
  34. package/lib/types/models/__tests__/conditions.spec.d.ts +0 -16
  35. package/lib/types/services/__tests__/sheets-filter-panel.service.spec.d.ts +0 -16
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "Toggle Filter",
@@ -66,5 +66,5 @@ const e = {
66
66
  }
67
67
  };
68
68
  export {
69
- e as default
69
+ locale as default
70
70
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "تغییر حالت فیلتر",
@@ -66,5 +66,5 @@ const e = {
66
66
  }
67
67
  };
68
68
  export {
69
- e as default
69
+ locale as default
70
70
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "Inverser le filtre",
@@ -66,5 +66,5 @@ const e = {
66
66
  }
67
67
  };
68
68
  export {
69
- e as default
69
+ locale as default
70
70
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "Переключить фильтр",
@@ -66,5 +66,5 @@ const e = {
66
66
  }
67
67
  };
68
68
  export {
69
- e as default
69
+ locale as default
70
70
  };
@@ -1,4 +1,4 @@
1
- const n = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "Lọc",
@@ -66,5 +66,5 @@ const n = {
66
66
  }
67
67
  };
68
68
  export {
69
- n as default
69
+ locale as default
70
70
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "筛选",
@@ -66,5 +66,5 @@ const e = {
66
66
  }
67
67
  };
68
68
  export {
69
- e as default
69
+ locale as default
70
70
  };
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const locale = {
2
2
  "sheets-filter": {
3
3
  toolbar: {
4
4
  "smart-toggle-filter-tooltip": "篩選",
@@ -66,5 +66,5 @@ const e = {
66
66
  }
67
67
  };
68
68
  export {
69
- e as default
69
+ locale as default
70
70
  };
@@ -1,8 +1,7 @@
1
1
  import { ByConditionsModel } from '../../services/sheets-filter-panel.service';
2
- import { default as React } from 'react';
3
2
  /**
4
3
  * Filter by conditions.
5
4
  */
6
5
  export declare function FilterByCondition(props: {
7
6
  model: ByConditionsModel;
8
- }): React.JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,7 @@
1
1
  import { ByValuesModel } from '../../services/sheets-filter-panel.service';
2
- import { default as React } from 'react';
3
2
  /**
4
3
  * Filter by values.
5
4
  */
6
5
  export declare function FilterByValue(props: {
7
6
  model: ByValuesModel;
8
- }): React.JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,21 @@
1
- import { default as React } from 'react';
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
2
16
  /**
3
17
  * This Filter Panel component is used to filter the data in the sheet.
4
18
  *
5
19
  * @returns React element
6
20
  */
7
- export declare function FilterPanel(): React.JSX.Element;
21
+ export declare function FilterPanel(): import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,13 @@
1
1
  import { Meta } from '@storybook/react';
2
- import { default as React } from 'react';
3
2
  import { FilterPanel } from './SheetsFilterPanel';
4
3
  declare const meta: Meta<typeof FilterPanel>;
5
4
  export default meta;
6
5
  export declare const FilterWithConditions: {
7
- render(): React.JSX.Element;
6
+ render(): import("react/jsx-runtime").JSX.Element;
8
7
  };
9
8
  export declare const FilterWithValues: {
10
- render(): React.JSX.Element;
9
+ render(): import("react/jsx-runtime").JSX.Element;
11
10
  };
12
11
  export declare const FilterWithChinese: {
13
- render(): React.JSX.Element;
12
+ render(): import("react/jsx-runtime").JSX.Element;
14
13
  };
package/lib/umd/index.js CHANGED
@@ -1,9 +1 @@
1
- (function(S,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@univerjs/core"),require("@univerjs/rpc"),require("@univerjs/sheets-filter"),require("@univerjs/sheets"),require("@univerjs/ui"),require("@univerjs/sheets-ui"),require("rxjs"),require("@univerjs/design"),require("@univerjs/engine-render"),require("react")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/rpc","@univerjs/sheets-filter","@univerjs/sheets","@univerjs/ui","@univerjs/sheets-ui","rxjs","@univerjs/design","@univerjs/engine-render","react"],u):(S=typeof globalThis<"u"?globalThis:S||self,u(S.UniverSheetsFilterUi={},S.UniverCore,S.UniverRpc,S.UniverSheetsFilter,S.UniverSheets,S.UniverUi,S.UniverSheetsUi,S.rxjs,S.UniverDesign,S.UniverEngineRender,S.React))})(this,function(S,u,k,c,P,F,$,C,L,ie,y){"use strict";var ir=Object.defineProperty;var sr=(S,u,k)=>u in S?ir(S,u,{enumerable:!0,configurable:!0,writable:!0,value:k}):S[u]=k;var v=(S,u,k)=>sr(S,typeof u!="symbol"?u+"":u,k);var ve;const $e="sheets-filter-ui.config",ce={};var R=(t=>(t[t.FIRST=0]="FIRST",t[t.SECOND=1]="SECOND",t))(R||{}),g=(t=>(t.NONE="none",t.STARTS_WITH="startsWith",t.DOES_NOT_START_WITH="doesNotStartWith",t.ENDS_WITH="endsWith",t.DOES_NOT_END_WITH="doesNotEndWith",t.CONTAINS="contains",t.DOES_NOT_CONTAIN="doesNotContain",t.EQUALS="equals",t.NOT_EQUALS="notEquals",t.EMPTY="empty",t.NOT_EMPTY="notEmpty",t.BETWEEN="between",t.NOT_BETWEEN="notBetween",t.CUSTOM="custom",t))(g||{}),d;(t=>{t.NONE={label:"sheets-filter.conditions.none",operator:g.NONE,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:n=>n.operator1===g.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:n=>!n.customFilters&&!n.filters?{}:!1},t.EMPTY={label:"sheets-filter.conditions.empty",operator:g.EMPTY,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:n})=>n===g.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.val===""&&o.operator===void 0?{operator1:g.EMPTY}:!1}},t.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:g.NOT_EMPTY,order:R.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:n})=>n===g.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.val===" "&&o.operator===c.CustomFilterOperator.NOT_EQUALS?{operator1:g.NOT_EMPTY}:!1}},t.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:g.CONTAINS,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:g.CONTAINS,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===g.CONTAINS},mapToFilterColumn:n=>{const{val1:o}=n;return o===""?null:{customFilters:{customFilters:[{val:`*${o}*`}]}}},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0],a=o.val.toString();return!o.operator&&a.startsWith("*")&&a.endsWith("*")?{operator1:g.CONTAINS,val1:a.slice(1,-1)}:!1}},t.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:g.DOES_NOT_CONTAIN,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:g.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:n=>({customFilters:{customFilters:[{val:`*${n.val1}*`,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:n=>{const[o]=j(n);return o===g.DOES_NOT_CONTAIN},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0],a=o.val.toString();return o.operator===c.CustomFilterOperator.NOT_EQUALS&&a.startsWith("*")&&a.endsWith("*")?{operator1:g.DOES_NOT_CONTAIN,val1:a.slice(1,-1)}:!1}},t.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:g.STARTS_WITH,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:g.STARTS_WITH,val1:""}),mapToFilterColumn:n=>({customFilters:{customFilters:[{val:`${n.val1}*`}]}}),testMappingParams:n=>{const[o]=j(n);return o===g.STARTS_WITH},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0],a=o.val.toString();return!o.operator&&a.endsWith("*")&&!a.startsWith("*")?{operator1:g.STARTS_WITH,val1:a.slice(0,-1)}:!1}},t.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:g.ENDS_WITH,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:g.ENDS_WITH,val1:""}),mapToFilterColumn:n=>({customFilters:{customFilters:[{val:`*${n.val1}`}]}}),testMappingParams:n=>{const[o]=j(n);return o===g.ENDS_WITH},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0],a=o.val.toString();return!o.operator&&a.startsWith("*")&&!a.endsWith("*")?{operator1:g.ENDS_WITH,val1:a.slice(1)}:!1}},t.EQUALS={label:"sheets-filter.conditions.equals",operator:g.EQUALS,order:R.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:g.EQUALS,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===g.EQUALS},mapToFilterColumn:n=>{const{val1:o}=n;return o===""?null:{customFilters:{customFilters:[{val:o}]}}},testMappingFilterColumn:n=>{var o,a,h;return((a=(o=n.filters)==null?void 0:o.filters)==null?void 0:a.length)===1?{operator1:g.EQUALS,val1:""}:((h=n.customFilters)==null?void 0:h.customFilters.length)===1&&!n.customFilters.customFilters[0].operator?{operator1:g.EQUALS,val1:n.customFilters.customFilters[0].val.toString()}:!1}},t.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:c.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:n=>({customFilters:{customFilters:[{val:n.val1,operator:c.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:n=>{const[o]=j(n);return o===c.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:n=>{var a;if(((a=n.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.GREATER_THAN?!1:{operator1:c.CustomFilterOperator.GREATER_THAN,val1:o.val.toString()}}},t.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:n=>({customFilters:{customFilters:[{val:n.val1,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:n=>{var a;if(((a=n.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString()}}},t.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:c.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===c.CustomFilterOperator.LESS_THAN},mapToFilterColumn:n=>({customFilters:{customFilters:[{val:n.val1,operator:c.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:n=>{var a;if(((a=n.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.LESS_THAN?!1:{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString()}}},t.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===c.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:n=>({customFilters:{customFilters:[{val:n.val1,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:n=>{var a;if(((a=n.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:o.val.toString()}}},t.EQUAL={label:"sheets-filter.conditions.equal",operator:c.CustomFilterOperator.EQUAL,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===c.CustomFilterOperator.EQUAL},mapToFilterColumn:n=>({customFilters:{customFilters:[{val:n.val1,operator:c.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:n=>{var a;if(((a=n.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.EQUAL?!1:{operator1:c.CustomFilterOperator.EQUAL,val1:o.val.toString()}}},t.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:c.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:R.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:n=>{const[o]=j(n);return o===c.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:n=>({customFilters:{customFilters:[{val:n.val1,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:n=>{var a;if(((a=n.customFilters)==null?void 0:a.customFilters.length)!==1)return!1;const o=n.customFilters.customFilters[0];return o.operator!==c.CustomFilterOperator.NOT_EQUALS?!1:{operator1:c.CustomFilterOperator.NOT_EQUALS,val1:o.val.toString()}}},t.BETWEEN={label:"sheets-filter.conditions.between",operator:g.BETWEEN,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:n=>{const{and:o,operator1:a,operator2:h}=n;if(!o)return!1;const m=[a,h];return m.includes(c.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(c.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:n=>{const{val1:o,val2:a,operator1:h}=n,m=h===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:u.BooleanNumber.TRUE,customFilters:[{val:m?o:a,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?a:o,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,a]=n.customFilters.customFilters;return o.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&a.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&n.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:a.val.toString()}:a.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&o.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&n.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:a.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:o.val.toLocaleString()}:!1}},t.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:g.NOT_BETWEEN,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:"",operator2:c.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:n=>{const{and:o,operator1:a,operator2:h}=n;if(o)return!1;const m=[a,h];return m.includes(c.CustomFilterOperator.GREATER_THAN)&&m.includes(c.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:n=>{const{val1:o,val2:a,operator1:h}=n,m=h===c.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?o:a,operator:c.CustomFilterOperator.GREATER_THAN},{val:m?a:o,operator:c.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,a]=n.customFilters.customFilters;return o.operator===c.CustomFilterOperator.LESS_THAN&&a.operator===c.CustomFilterOperator.GREATER_THAN&&!n.customFilters.and?{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString(),operator2:c.CustomFilterOperator.GREATER_THAN,val2:a.val.toString()}:a.operator===c.CustomFilterOperator.LESS_THAN&&o.operator===c.CustomFilterOperator.GREATER_THAN&&!n.customFilters.and?{operator1:c.CustomFilterOperator.GREATER_THAN,val1:a.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN,val2:o.val.toLocaleString()}:!1}},t.CUSTOM={label:"sheets-filter.conditions.custom",operator:g.CUSTOM,order:R.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:g.NONE,val1:"",operator2:g.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:n=>{const{and:o,val1:a,val2:h,operator1:m,operator2:p}=n;function T(U,M){for(const B of t.ALL_CONDITIONS)if(B.operator===U)return B.mapToFilterColumn({val1:M,operator1:U})}const _=!m||m===t.NONE.operator,O=!p||p===t.NONE.operator;if(_&&O)return t.NONE.mapToFilterColumn({});if(_)return T(p,h);if(O)return T(m,a);const E=T(m,a),A=T(p,h),N={customFilters:[E.customFilters.customFilters[0],A.customFilters.customFilters[0]]};return o&&(N.and=u.BooleanNumber.TRUE),{customFilters:N}},testMappingFilterColumn:n=>{var h;if(((h=n.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const o=n.customFilters.customFilters.map(m=>l({customFilters:{customFilters:[m]}})),a={operator1:o[0][0].operator,val1:o[0][1].val1,operator2:o[1][0].operator,val2:o[1][1].val1};return n.customFilters.and&&(a.and=!0),a}},t.ALL_CONDITIONS=[t.NONE,t.EMPTY,t.NOT_EMPTY,t.TEXT_CONTAINS,t.DOES_NOT_CONTAIN,t.STARTS_WITH,t.ENDS_WITH,t.EQUALS,t.GREATER_THAN,t.GREATER_THAN_OR_EQUAL,t.LESS_THAN,t.LESS_THAN_OR_EQUAL,t.EQUAL,t.NOT_EQUAL,t.BETWEEN,t.NOT_BETWEEN,t.CUSTOM];function e(n){const o=t.ALL_CONDITIONS.find(a=>a.operator===n);if(!o)throw new Error(`[SheetsFilter]: no condition item found for operator: ${n}`);return o}t.getItemByOperator=e;function r(n,o){for(const a of t.ALL_CONDITIONS.filter(h=>h.numOfParameters===o))if(a.numOfParameters!==0&&a.testMappingParams(n))return a;for(const a of t.ALL_CONDITIONS)if(a.testMappingParams(n))return a;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}t.testMappingParams=r;function i(n){const o=t.ALL_CONDITIONS.find(a=>a.operator===n);return(o==null?void 0:o.numOfParameters)===0?{operator1:o.operator}:o.getDefaultFormParams()}t.getInitialFormParams=i;function s(n,o){return n.mapToFilterColumn(o)}t.mapToFilterColumn=s;function l(n){if(!n)return[t.NONE,{}];for(const o of t.ALL_CONDITIONS){const a=o.testMappingFilterColumn(n);if(a)return[o,a]}return[t.NONE,{}]}t.testMappingFilterColumn=l})(d||(d={}));function j(t){const{operator1:e,operator2:r,val1:i,val2:s}=t;if(e&&r)throw new Error("Both operator1 and operator2 are set!");if(!e&&!r)throw new Error("Neither operator1 and operator2 and both not set!");return e?[e,i]:[r,s]}function Ee(t){const e=[],r=[];let i=0,s=0;function l(n){n.leaf&&(n.checked?(e.push(n),i+=n.count):(r.push(n),s+=n.count)),n.children&&n.children.forEach(l)}return t.forEach(l),{checkedItems:e,uncheckedItems:r,checked:i,unchecked:s}}var tt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,nt=(t,e,r,i)=>{for(var s=i>1?void 0:i?rt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&tt(e,r,s),s},Fe=(t,e)=>(r,i)=>e(r,i,t);const Oe="sheets-filter.generate-filter-values.service",he=u.createIdentifier(Oe),it=["yyyy-mm-dd","yyyy-mm-dd;@","yyyy/mm/dd;@","yyyy/mm/dd hh:mm","yyyy-m-d am/pm h:mm","yyyy-MM-dd","yyyy/MM/dd","yyyy/mm/dd",'yyyy"年"MM"月"dd"日"',"MM-dd",'M"月"d"日"',"MM-dd A/P hh:mm"];let Pe=class extends u.Disposable{constructor(t,e,r){super(),this._localeService=t,this._univerInstanceService=e,this._logService=r}async getFilterValues(t){var m;const{unitId:e,subUnitId:r,filteredOutRowsByOtherColumns:i,filters:s,blankChecked:l,iterateRange:n,alreadyChecked:o}=t,a=this._univerInstanceService.getUnit(e),h=(m=this._univerInstanceService.getUnit(e))==null?void 0:m.getSheetBySheetId(r);return!a||!h?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:e,subUnitId:r}),De(s,this._localeService,n,h,new Set(i),new Set(o.map(String)),l,a.getStyles()))}};Pe=nt([Fe(0,u.Inject(u.LocaleService)),Fe(1,u.IUniverInstanceService),Fe(2,u.ILogService)],Pe);function De(t,e,r,i,s,l,n,o){var E,A,N,U,M,B,V,ge,Ce;const a=new Map,h=new Map,m="yyyy-mm-dd",p=new Set(it),T="empty";let _=0;for(const w of i.iterateByColumn(r,!1,!1)){const{row:tr,rowSpan:et=1}=w;let re=0;for(;re<et;){const rr=tr+re;if(s.has(rr)){re++;continue}const q=w!=null&&w.value?u.extractPureTextFromCell(w.value):"";if(!q){_+=1,re+=et;continue}const Te=(E=w.value)!=null&&E.v&&!w.value.p?(U=(N=o.get((A=w.value)==null?void 0:A.s))==null?void 0:N.n)==null?void 0:U.pattern:"",nr=Te&&u.numfmt.isDate(Te);if(Te&&nr&&p.has(Te)){const K=(M=i.getCellRaw(w.row,w.col))==null?void 0:M.v;if(!K){re++;continue}const ne=u.numfmt.format(m,K),[b,W,ue]=ne.split("-").map(Number);let Z=a.get(`${b}`);Z||(Z={title:`${b}`,key:`${b}`,children:[],count:0,leaf:!1,checked:!1},a.set(`${b}`,Z),h.set(`${b}`,[`${b}`]));let Q=(B=Z.children)==null?void 0:B.find(we=>we.key===`${b}-${W}`);Q||(Q={title:e.t(`sheets-filter.date.${W}`),key:`${b}-${W}`,children:[],count:0,leaf:!1,checked:!1},(V=Z.children)==null||V.push(Q),h.set(`${b}-${W}`,[`${b}`,`${b}-${W}`]));const Ue=(ge=Q==null?void 0:Q.children)==null?void 0:ge.find(we=>we.key===`${b}-${W}-${ue}`);Ue?(Ue.originValues.add(q),Ue.count++,Q.count++,Z.count++):((Ce=Q.children)==null||Ce.push({title:`${ue}`,key:`${b}-${W}-${ue}`,count:1,originValues:new Set([q]),leaf:!0,checked:l.size?l.has(q):!n}),Q.count++,Z.count++,h.set(`${b}-${W}-${ue}`,[`${b}`,`${b}-${W}`,`${b}-${W}-${ue}`]))}else{const K=q;let ne=a.get(K);ne?ne.count++:(ne={title:q,leaf:!0,checked:l.size?l.has(q):!n,key:K,count:1},a.set(K,ne),h.set(K,[K]))}re++}}const O=t?n:!0;if(_>0){const w={title:e.t("sheets-filter.panel.empty"),count:_,leaf:!0,checked:O,key:T};a.set("empty",w),h.set("empty",[T])}return{filterTreeItems:st(Array.from(a.values())),filterTreeMapCache:h}}function st(t){return Array.from(t).sort((e,r)=>e.children&&!r.children?-1:!e.children&&r.children?1:r.title.localeCompare(e.title)).map(e=>(e.children&&e.children.sort((r,i)=>{const s=Number.parseInt(r.key.split("-")[1],10),l=Number.parseInt(i.key.split("-")[1],10);return s-l}).forEach(r=>{r.children&&r.children.sort((i,s)=>{const l=Number.parseInt(i.key.split("-")[2],10),n=Number.parseInt(s.key.split("-")[2],10);return l-n})}),e))}function Ie(t,e){for(const r of t){if(r.key===e)return r;if(r.children){const i=Ie(r.children,e);if(i)return i}}return null}function He(t){return t.leaf?t.checked:t.children?t.children.every(e=>He(e)):!0}function se(t,e){t.leaf&&(e!==void 0?t.checked=e:t.checked=!t.checked),t.children&&t.children.forEach(r=>se(r,e))}function je(t,e){const r=[];return t.forEach(i=>{const s=i.originValues?e.some(o=>Array.from(i.originValues).some(a=>a.toLowerCase().includes(o.toLowerCase()))):!1,l=!s&&e.some(o=>i.title.toLowerCase().includes(o.toLowerCase()));if(s||l)r.push({...i});else if(i.children){const o=je(i.children,e);if(o.length>0){const a=o.reduce((h,m)=>h+m.count,0);r.push({...i,count:a,children:o})}}}),r}var ot=Object.defineProperty,at=Object.getOwnPropertyDescriptor,Ne=(t,e,r,i)=>{for(var s=i>1?void 0:i?at(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&ot(e,r,s),s},me=(t,e)=>(r,i)=>e(r,i,t),pe=(t=>(t[t.VALUES=0]="VALUES",t[t.CONDITIONS=1]="CONDITIONS",t))(pe||{});u.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let G=class extends u.Disposable{constructor(e,r){super();v(this,"_filterBy$",new C.BehaviorSubject(0));v(this,"filterBy$",this._filterBy$.asObservable());v(this,"_filterByModel$",new C.ReplaySubject(1));v(this,"filterByModel$",this._filterByModel$.asObservable());v(this,"_filterByModel",null);v(this,"_hasCriteria$",new C.BehaviorSubject(!1));v(this,"hasCriteria$",this._hasCriteria$.asObservable());v(this,"_filterModel",null);v(this,"_col$",new C.BehaviorSubject(-1));v(this,"col$",this._col$.asObservable());v(this,"_filterHeaderListener",null);this._injector=e,this._refRangeService=r}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()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(e,r){this.terminate(),this._filterModel=e,this._col$.next(r);const i=e.getFilterColumn(r);if(i){const s=i.getColumnData();if(s.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,r);return}if(s.filters){this._hasCriteria$.next(!0),this._setupByValues(e,r);return}this._hasCriteria$.next(!1),this._setupByValues(e,r);return}this._hasCriteria$.next(!1),this._setupByValues(e,r)}changeFilterBy(e){return!this._filterModel||this.col===-1?!1:(e===0?this._setupByValues(this._filterModel,this.col):this._setupByConditions(this._filterModel,this.col),!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,r){this._disposeFilterHeaderChangeListener();const i=e.unitId,s=e.subUnitId,l=e.getRange(),n={startColumn:r,startRow:l.startRow,endRow:l.startRow,endColumn:r};this._filterHeaderListener=this._refRangeService.watchRange(i,s,n,(o,a)=>{if(!a)this.terminate();else{const h=a.startColumn-o.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,r){this._disposePreviousModel();const i=e.getRange();if(i.startRow===i.endRow)return!1;const s=await fe.fromFilterColumn(this._injector,e,r);return this.filterByModel=s,this._filterBy$.next(0),this._listenToFilterHeaderChange(e,r),!0}_setupByConditions(e,r){this._disposePreviousModel();const i=e.getRange();if(i.startRow===i.endRow)return!1;const s=de.fromFilterColumn(this._injector,e,r,e.getFilterColumn(r));return this.filterByModel=s,this._filterBy$.next(1),this._listenToFilterHeaderChange(e,r),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};G=Ne([me(0,u.Inject(u.Injector)),me(1,u.Inject(P.RefRangeService))],G);let de=class extends u.Disposable{constructor(e,r,i,s,l){super();v(this,"canApply$",C.of(!0));v(this,"_conditionItem$");v(this,"conditionItem$");v(this,"_filterConditionFormParams$");v(this,"filterConditionFormParams$");this._filterModel=e,this.col=r,this._commandService=l,this._conditionItem$=new C.BehaviorSubject(i),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new C.BehaviorSubject(s),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,r,i,s){const[l,n]=d.testMappingFilterColumn(s==null?void 0:s.getColumnData());return e.createInstance(de,r,i,l,n)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(e){this.col+=e}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=d.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:e})}onPrimaryConditionChange(e){const r=d.ALL_CONDITIONS.find(i=>i.operator===e);if(!r)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(r),this._filterConditionFormParams$.next(d.getInitialFormParams(e))}onConditionFormChange(e){const r={...this.filterConditionFormParams,...e};if(r.and!==!0&&delete r.and,typeof e.and<"u"||typeof e.operator1<"u"||typeof e.operator2<"u"){const i=d.testMappingParams(r,this.conditionItem.numOfParameters);this._conditionItem$.next(i)}this._filterConditionFormParams$.next(r)}};de=Ne([me(4,u.ICommandService)],de);let fe=class extends u.Disposable{constructor(e,r,i,s,l){super();v(this,"_rawFilterItems$");v(this,"rawFilterItems$");v(this,"filterItems$");v(this,"_filterItems",[]);v(this,"_treeMapCache");v(this,"canApply$");v(this,"_manuallyUpdateFilterItems$");v(this,"_searchString$");v(this,"searchString$");this._filterModel=e,this.col=r,this._commandService=l,this._treeMapCache=s,this._searchString$=new C.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new C.BehaviorSubject(i),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new C.Subject,this.filterItems$=C.merge(C.combineLatest([this._searchString$.pipe(C.throttleTime(500,void 0,{leading:!0,trailing:!0}),C.startWith(void 0)),this._rawFilterItems$]).pipe(C.map(([n,o])=>{if(!n)return o;const h=n.toLowerCase().split(/\s+/).filter(m=>!!m);return je(o,h)})),this._manuallyUpdateFilterItems$).pipe(C.shareReplay(1)),this.canApply$=this.filterItems$.pipe(C.map(n=>Ee(n).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(n=>this._filterItems=n))}static async fromFilterColumn(e,r,i){var B;const s=e.get(u.IUniverInstanceService),l=e.get(u.LocaleService),n=e.get(he,u.Quantity.OPTIONAL),{unitId:o,subUnitId:a}=r,h=s.getUniverSheetInstance(o);if(!h)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${o}!`);const m=h==null?void 0:h.getSheetBySheetId(a);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${o} and subUnitId: ${a}!`);const p=r.getRange(),T=i,_=(B=r.getFilterColumn(i))==null?void 0:B.getColumnData().filters,O=new Set(_==null?void 0:_.filters),E=!!(_&&_.blank),A=r.getFilteredOutRowsExceptCol(i),N={...p,startRow:p.startRow+1,startColumn:T,endColumn:T};let U,M;if(n){const V=await n.getFilterValues({unitId:o,subUnitId:a,filteredOutRowsByOtherColumns:Array.from(A),filters:!!_,blankChecked:E,iterateRange:N,alreadyChecked:Array.from(O)});U=V.filterTreeItems,M=V.filterTreeMapCache}else{const V=De(!!_,l,N,m,A,O,E,h.getStyles());U=V.filterTreeItems,M=V.filterTreeMapCache}return e.createInstance(fe,r,i,U,M)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(e){this.col+=e}setSearchString(e){this._searchString$.next(e)}onCheckAllToggled(e){const r=u.Tools.deepClone(this._filterItems);r.forEach(i=>se(i,e)),this._manuallyUpdateFilterItems(r)}onFilterCheckToggled(e){const r=u.Tools.deepClone(this._filterItems),i=Ie(r,e.key);if(!i)return;const s=He(i);se(i,!s),this._manuallyUpdateFilterItems(r)}onFilterOnly(e){const r=u.Tools.deepClone(this._filterItems);r.forEach(i=>se(i,!1)),e.forEach(i=>{const s=Ie(r,i);s&&se(s,!0)}),this._manuallyUpdateFilterItems(r)}_manuallyUpdateFilterItems(e){this._manuallyUpdateFilterItems$.next(e)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const e=Ee(this._filterItems),{checked:r,checkedItems:i}=e,s=this.rawFilterItems;let l=0;for(const h of s)l+=h.count;const n=r===0,o=e.checked===l,a={colId:this.col};if(n)throw new Error("[ByValuesModel]: no checked items!");if(o)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{a.filters={};const h=i.filter(p=>p.key!=="empty");h.length>0&&(a.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==i.length&&(a.filters.blank=!0)}return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:a})}};fe=Ne([me(4,u.ICommandService)],fe);const J="FILTER_PANEL_OPENED",oe={id:"sheet.operation.open-filter-panel",type:u.CommandType.OPERATION,handler:(t,e)=>{const r=t.get(u.IContextService),i=t.get(c.SheetsFilterService),s=t.get(G);t.get(u.ICommandService).syncExecuteCommand($.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:n,subUnitId:o,col:a}=e,h=i.getFilterModel(n,o);return h?(s.setupCol(h,a),r.getContextValue(J)||r.setContextValue(J,!0),!0):!1}},z={id:"sheet.operation.close-filter-panel",type:u.CommandType.OPERATION,handler:t=>{const e=t.get(u.IContextService),r=t.get(G),i=t.get(F.ILayoutService,u.Quantity.OPTIONAL);return e.getContextValue(J)?(e.setContextValue(J,!1),i==null||i.focus(),r.terminate()):!1}},ye={id:"sheet.operation.apply-filter",type:u.CommandType.OPERATION,handler:(t,e)=>{const{filterBy:r}=e;return t.get(G).changeFilterBy(r)}};var lt=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,ct=(t,e,r,i)=>{for(var s=i>1?void 0:i?ut(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&lt(e,r,s),s},ee=(t,e)=>(r,i)=>e(r,i,t);let te=class extends u.Disposable{constructor(t,e,r,i,s,l){super(),this._sheetsFilterService=t,this._localeService=e,this._commandService=r,this._sheetPermissionCheckPermission=i,this._injector=s,this._sheetsSelectionService=l,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{var e,r,i;if(t.id===c.SmartToggleSheetsFilterCommand.id){const s=this._injector.get(u.IUniverInstanceService),l=P.getSheetCommandTarget(s);if(!l)return;const{unitId:n,subUnitId:o,worksheet:a}=l,h=(e=this._sheetsFilterService.getFilterModel(n,o))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[P.RangeProtectionPermissionViewPoint],worksheetTypes:[P.WorksheetFilterPermission,P.WorksheetViewPermission]},[h]);else{const p=(r=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:r.range;if(p){let T={...p};T=p.startColumn===p.endColumn&&p.startRow===p.endRow?P.expandToContinuousRange(T,{left:!0,right:!0,up:!0,down:!0},a):T,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[P.RangeProtectionPermissionViewPoint],worksheetTypes:[P.WorksheetViewPermission,P.WorksheetFilterPermission]},[T],n,o)}else m=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[P.RangeProtectionPermissionViewPoint],worksheetTypes:[P.WorksheetViewPermission,P.WorksheetFilterPermission]})}m||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(t.id===oe.id){const s=t.params,{unitId:l,subUnitId:n}=s,o=(i=this._sheetsFilterService.getFilterModel(l,n))==null?void 0:i.getRange(),a=u.Tools.deepClone(o);a&&(a.startColumn=s.col,a.endColumn=s.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[P.RangeProtectionPermissionViewPoint],worksheetTypes:[P.WorksheetFilterPermission,P.WorksheetViewPermission]},[a])||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};te=ct([ee(0,u.Inject(c.SheetsFilterService)),ee(1,u.Inject(u.LocaleService)),ee(2,u.ICommandService),ee(3,u.Inject(P.SheetPermissionCheckController)),ee(4,u.Inject(u.Injector)),ee(5,u.Inject(P.SheetsSelectionsService))],te);var H=function(){return H=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++){e=arguments[r];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},H.apply(this,arguments)},ht=function(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(t);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(t,i[s])&&(r[i[s]]=t[i[s]]);return r},Be=y.forwardRef(function(t,e){var r=t.icon,i=t.id,s=t.className,l=t.extend,n=ht(t,["icon","id","className","extend"]),o="univerjs-icon univerjs-icon-".concat(i," ").concat(s||"").trim(),a=y.useRef("_".concat(dt()));return Ve(r,"".concat(i),{defIds:r.defIds,idSuffix:a.current},H({ref:e,className:o},n),l)});function Ve(t,e,r,i,s){return y.createElement(t.tag,H(H({key:e},mt(t,r,s)),i),(pt(t,r).children||[]).map(function(l,n){return Ve(l,"".concat(e,"-").concat(t.tag,"-").concat(n),r,void 0,s)}))}function mt(t,e,r){var i=H({},t.attrs);r!=null&&r.colorChannel1&&i.fill==="colorChannel1"&&(i.fill=r.colorChannel1);var s=e.defIds;return!s||s.length===0||(t.tag==="use"&&i["xlink:href"]&&(i["xlink:href"]=i["xlink:href"]+e.idSuffix),Object.entries(i).forEach(function(l){var n=l[0],o=l[1];typeof o=="string"&&(i[n]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),i}function pt(t,e){var r,i=e.defIds;return!i||i.length===0?t:t.tag==="defs"&&(!((r=t.children)===null||r===void 0)&&r.length)?H(H({},t),{children:t.children.map(function(s){return typeof s.attrs.id=="string"&&i&&i.indexOf(s.attrs.id)>-1?H(H({},s),{attrs:H(H({},s.attrs),{id:s.attrs.id+e.idSuffix})}):s})}):t}function dt(){return Math.random().toString(36).substring(2,8)}Be.displayName="UniverIcon";var ft={tag:"svg",attrs:{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"}}]},We=y.forwardRef(function(t,e){return y.createElement(Be,Object.assign({},t,{id:"filter-single",ref:e,icon:ft}))});We.displayName="FilterSingle";var Re={exports:{}},ae={};/**
2
- * @license React
3
- * react-jsx-runtime.production.min.js
4
- *
5
- * Copyright (c) Facebook, Inc. and its affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */var ke;function _t(){if(ke)return ae;ke=1;var t=y,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function n(o,a,h){var m,p={},T=null,_=null;h!==void 0&&(T=""+h),a.key!==void 0&&(T=""+a.key),a.ref!==void 0&&(_=a.ref);for(m in a)i.call(a,m)&&!l.hasOwnProperty(m)&&(p[m]=a[m]);if(o&&o.defaultProps)for(m in a=o.defaultProps,a)p[m]===void 0&&(p[m]=a[m]);return{$$typeof:e,type:o,key:T,ref:_,props:p,_owner:s.current}}return ae.Fragment=r,ae.jsx=n,ae.jsxs=n,ae}var xe;function St(){return xe||(xe=1,Re.exports=_t()),Re.exports}var f=St();const I={sheetsFilterPanel:"univer-sheets-filter-panel",sheetsFilterPanelHeader:"univer-sheets-filter-panel-header",sheetsFilterPanelContent:"univer-sheets-filter-panel-content",sheetsFilterPanelSelectAll:"univer-sheets-filter-panel-select-all",sheetsFilterPanelSelectAllCount:"univer-sheets-filter-panel-select-all-count",sheetsFilterPanelValuesContainer:"univer-sheets-filter-panel-values-container",inputAffixWrapper:"univer-input-affix-wrapper",select:"univer-select",radioGroup:"univer-radio-group",sheetsFilterPanelValuesFind:"univer-sheets-filter-panel-values-find",sheetsFilterPanelValuesList:"univer-sheets-filter-panel-values-list",sheetsFilterPanelValuesListInnerContainer:"univer-sheets-filter-panel-values-list-inner-container",sheetsFilterPanelValuesVirtual:"univer-sheets-filter-panel-values-virtual",sheetsFilterPanelValuesItem:"univer-sheets-filter-panel-values-item",sheetsFilterPanelValuesItemInner:"univer-sheets-filter-panel-values-item-inner",sheetsFilterPanelValuesItemCount:"univer-sheets-filter-panel-values-item-count",sheetsFilterPanelValuesItemExcludeButton:"univer-sheets-filter-panel-values-item-exclude-button",sheetsFilterPanelValuesItemText:"univer-sheets-filter-panel-values-item-text",sheetsFilterPanelConditionsContainer:"univer-sheets-filter-panel-conditions-container",sheetsFilterPanelConditionsContainerInner:"univer-sheets-filter-panel-conditions-container-inner",sheetsFilterPanelConditionsDesc:"univer-sheets-filter-panel-conditions-desc",sheetsFilterPanelFooter:"univer-sheets-filter-panel-footer",sheetsFilterPanelFooterPrimaryButtons:"univer-sheets-filter-panel-footer-primary-buttons",button:"univer-button",input:"univer-input",formDualColumnLayout:"univer-form-dual-column-layout",sheetsFilterTreeNode:"univer-sheets-filter-tree-node",sheetsFilterTreeNodeFilterOnly:"univer-sheets-filter-tree-node-filter-only",sheetsFilterTreeNodeAttach:"univer-sheets-filter-tree-node-attach"};function vt(t){var _,O;const{model:e}=t,r=u.useDependency(u.LocaleService),i=F.useObservable(e.conditionItem$,void 0),s=F.useObservable(e.filterConditionFormParams$,void 0),l=s!=null&&s.and?"AND":"OR",n=y.useCallback(E=>{e.onConditionFormChange({and:E==="AND"})},[e]),o=gt(r),a=y.useCallback(E=>{e.onPrimaryConditionChange(E)},[e]),h=Ct(r),m=y.useCallback(E=>{e.onConditionFormChange(E)},[e]),p=r.t("sheets-filter.panel.input-values-placeholder");function T(E,A,N){const U=d.getItemByOperator(E).numOfParameters===1;return f.jsxs(f.Fragment,{children:[N==="operator2"&&f.jsxs(L.RadioGroup,{value:l,onChange:n,children:[f.jsx(L.Radio,{value:"AND",children:r.t("sheets-filter.panel.and")}),f.jsx(L.Radio,{value:"OR",children:r.t("sheets-filter.panel.or")})]}),f.jsx(L.Select,{value:E,options:h,onChange:M=>m({[N]:M})}),U&&f.jsx("div",{children:f.jsx(L.Input,{value:A,placeholder:p,onChange:M=>m({[N==="operator1"?"val1":"val2"]:M})})})]})}return f.jsx("div",{className:I.sheetsFilterPanelConditionsContainer,children:i&&s&&f.jsxs(f.Fragment,{children:[f.jsx(L.Select,{value:i.operator,options:o,onChange:a}),d.getItemByOperator(i.operator).numOfParameters!==0?f.jsxs("div",{className:I.sheetsFilterPanelConditionsContainerInner,children:[i.numOfParameters>=1&&T(s.operator1,(_=s.val1)!=null?_:"","operator1"),i.numOfParameters>=2&&T(s.operator2,(O=s.val2)!=null?O:"","operator2"),f.jsxs("div",{className:I.sheetsFilterPanelConditionsDesc,children:[r.t("sheets-filter.panel.?"),f.jsx("br",{}),r.t("sheets-filter.panel.*")]})]}):null]})})}function gt(t){const e=t.getCurrentLocale();return y.useMemo(()=>[{options:[{label:t.t(d.NONE.label),value:d.NONE.operator}]},{options:[{label:t.t(d.EMPTY.label),value:d.EMPTY.operator},{label:t.t(d.NOT_EMPTY.label),value:d.NOT_EMPTY.operator}]},{options:[{label:t.t(d.TEXT_CONTAINS.label),value:d.TEXT_CONTAINS.operator},{label:t.t(d.DOES_NOT_CONTAIN.label),value:d.DOES_NOT_CONTAIN.operator},{label:t.t(d.STARTS_WITH.label),value:d.STARTS_WITH.operator},{label:t.t(d.ENDS_WITH.label),value:d.ENDS_WITH.operator},{label:t.t(d.EQUALS.label),value:d.EQUALS.operator}]},{options:[{label:t.t(d.GREATER_THAN.label),value:d.GREATER_THAN.operator},{label:t.t(d.GREATER_THAN_OR_EQUAL.label),value:d.GREATER_THAN_OR_EQUAL.operator},{label:t.t(d.LESS_THAN.label),value:d.LESS_THAN.operator},{label:t.t(d.LESS_THAN_OR_EQUAL.label),value:d.LESS_THAN_OR_EQUAL.operator},{label:t.t(d.EQUAL.label),value:d.EQUAL.operator},{label:t.t(d.NOT_EQUAL.label),value:d.NOT_EQUAL.operator},{label:t.t(d.BETWEEN.label),value:d.BETWEEN.operator},{label:t.t(d.NOT_BETWEEN.label),value:d.NOT_BETWEEN.operator}]},{options:[{label:t.t(d.CUSTOM.label),value:d.CUSTOM.operator}]}],[e,t])}function Ct(t){const e=t.getCurrentLocale();return y.useMemo(()=>d.ALL_CONDITIONS.filter(r=>r.numOfParameters!==2).map(r=>({label:t.t(r.label),value:r.operator})),[e,t])}function Tt(t){const{model:e}=t,r=u.useDependency(u.LocaleService),i=F.useObservable(e.searchString$,"",!0),s=F.useObservable(e.filterItems$,void 0,!0),l=r.t("sheets-filter.panel.filter-only"),n=Ee(s),o=n.checked>0&&n.unchecked===0,a=n.checked>0&&n.unchecked>0,h=e.treeMapCache,m=y.useCallback(()=>{e.onCheckAllToggled(!o)},[e,o]),p=y.useCallback(_=>{e.setSearchString(_)},[e]);function T(_){let O=[];return _.forEach(E=>{E.checked&&O.push(E.key),E.children&&(O=O.concat(T(E.children)))}),O}return f.jsxs("div",{className:I.sheetsFilterPanelValuesContainer,children:[f.jsx(L.Input,{autoFocus:!0,value:i,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:p}),f.jsxs("div",{className:I.sheetsFilterPanelValuesList,children:[f.jsx("div",{className:I.sheetsFilterPanelValuesItem,children:f.jsxs("div",{className:I.sheetsFilterPanelValuesItemInner,children:[f.jsx(L.Checkbox,{indeterminate:a,disabled:s.length===0,checked:o,onChange:m}),f.jsx("span",{className:I.sheetsFilterPanelValuesItemText,children:`${r.t("sheets-filter.panel.select-all")}`}),f.jsx("span",{className:I.sheetsFilterPanelValuesItemCount,children:`(${n.checked}/${n.checked+n.unchecked})`})]})}),f.jsx("div",{className:I.sheetsFilterPanelValuesVirtual,children:f.jsx(L.Tree,{data:s,defaultExpandAll:!1,valueGroup:T(s),height:180,onChange:_=>{e.onFilterCheckToggled(_)},defaultCache:h,itemHeight:28,treeNodeClassName:I.sheetsFilterTreeNode,attachRender:_=>f.jsxs("div",{className:I.sheetsFilterTreeNodeAttach,children:[f.jsx("span",{className:I.sheetsFilterPanelValuesItemCount,children:`(${_.count})`}),f.jsx(L.Button,{className:I.sheetsFilterTreeNodeFilterOnly,size:"small",type:"link",onClick:()=>{const O=[];_.children?_.children.forEach(E=>{E.children?E.children.forEach(A=>{O.push(A.key)}):O.push(E.key)}):O.push(_.key),e.onFilterOnly(O)},children:l})]})})})]})]})}function Et(){var A;const t=u.useDependency(G),e=u.useDependency(u.LocaleService),r=u.useDependency(u.ICommandService),i=F.useObservable(t.filterBy$,void 0,!0),s=F.useObservable(t.filterByModel$,void 0,!1),l=F.useObservable(()=>(s==null?void 0:s.canApply$)||C.of(!1),void 0,!1,[s]),n=Ft(e),o=!F.useObservable(t.hasCriteria$),a=y.useCallback(N=>{r.executeCommand(ye.id,{filterBy:N})},[r]),h=y.useCallback(async()=>{await(s==null?void 0:s.clear()),r.executeCommand(z.id)},[s,r]),m=y.useCallback(()=>{r.executeCommand(z.id)},[r]),p=y.useCallback(async()=>{await(s==null?void 0:s.apply()),r.executeCommand(z.id)},[s,r]),_=(A=u.useDependency(c.SheetsFilterService).activeFilterModel)==null?void 0:A.getRange(),O=t.col,E=F.useComponentsOfPart($.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return f.jsxs("div",{className:I.sheetsFilterPanel,children:[f.jsx(F.ComponentContainer,{components:E,sharedProps:{range:_,colIndex:O,onClose:m}}),f.jsx("div",{className:I.sheetsFilterPanelHeader,children:f.jsx(L.Segmented,{value:i,options:n,onChange:N=>a(N)})}),s?f.jsx("div",{className:I.sheetsFilterPanelContent,children:i===pe.VALUES?f.jsx(Tt,{model:s}):f.jsx(vt,{model:s})}):f.jsx("div",{style:{flex:1}}),f.jsxs("div",{className:I.sheetsFilterPanelFooter,children:[f.jsx(L.Button,{type:"link",onClick:h,disabled:o,children:e.t("sheets-filter.panel.clear-filter")}),f.jsxs("span",{className:I.sheetsFilterPanelFooterPrimaryButtons,children:[f.jsx(L.Button,{type:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),f.jsx(L.Button,{disabled:!l,type:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function Ft(t){const e=t.getCurrentLocale();return y.useMemo(()=>[{label:t.t("sheets-filter.panel.by-values"),value:pe.VALUES},{label:t.t("sheets-filter.panel.by-conditions"),value:pe.CONDITIONS}],[e,t])}function Ot(t){const e=t.get(c.SheetsFilterService);return{id:c.SmartToggleSheetsFilterCommand.id,type:F.MenuItemType.BUTTON_SELECTOR,icon:"FilterSingle",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:F.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(C.map(r=>!!r)),disabled$:$.getObservableWithExclusiveRange$(t,$.getCurrentRangeDisable$(t,{worksheetTypes:[P.WorksheetFilterPermission,P.WorksheetViewPermission],rangeTypes:[P.RangeProtectionPermissionViewPoint]}))}}function Pt(t){const e=t.get(c.SheetsFilterService);return{id:c.ClearSheetsFilterCriteriaCommand.id,type:F.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:F.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(C.switchMap(r=>{var i;return(i=r==null?void 0:r.hasCriteria$.pipe(C.map(s=>!s)))!=null?i:C.of(!0)}))}}function It(t){const e=t.get(c.SheetsFilterService);return{id:c.ReCalcSheetsFilterCommand.id,type:F.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:F.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(C.switchMap(r=>{var i;return(i=r==null?void 0:r.hasCriteria$.pipe(C.map(s=>!s)))!=null?i:C.of(!0)}))}}const Nt={[F.RibbonStartGroup.FORMULAS_INSERT]:{[c.SmartToggleSheetsFilterCommand.id]:{order:10,menuItemFactory:Ot,[c.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:Pt},[c.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:It}}}},yt={id:c.SmartToggleSheetsFilterCommand.id,binding:F.KeyCode.L|F.MetaKeys.CTRL_COMMAND|F.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:$.whenSheetEditorFocused,group:"4_sheet-edit"},Y=16,Rt=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");class Qe{static drawNoCriteria(e,r,i,s){e.save(),ie.Rect.drawWith(e,{radius:2,width:Y,height:Y,fill:s}),e.lineCap="square",e.strokeStyle=i,e.scale(r/Y,r/Y),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,r,i,s){e.save(),ie.Rect.drawWith(e,{radius:2,width:Y,height:Y,fill:s}),e.scale(r/Y,r/Y),e.fillStyle=i,e.fill(Rt),e.restore()}}var At=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,Lt=(t,e,r,i)=>{for(var s=i>1?void 0:i?bt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&At(e,r,s),s},Ae=(t,e)=>(r,i)=>e(r,i,t);const x=16,_e=1;let be=class extends ie.Shape{constructor(e,r,i,s,l){super(e,r);v(this,"_cellWidth",0);v(this,"_cellHeight",0);v(this,"_filterParams");v(this,"_hovered",!1);this._contextService=i,this._commandService=s,this._themeService=l,this.setShapeProps(r),this.onPointerDown$.subscribeEvent(n=>this.onPointerDown(n)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(e){typeof e.cellHeight<"u"&&(this._cellHeight=e.cellHeight),typeof e.cellWidth<"u"&&(this._cellWidth=e.cellWidth),typeof e.filterParams<"u"&&(this._filterParams=e.filterParams),this.transformByState({width:e.width,height:e.height})}_draw(e){const r=this._cellHeight,i=this._cellWidth,s=x-i,l=x-r;e.save();const n=new Path2D;n.rect(s,l,i,r),e.clip(n);const{hasCriteria:o}=this._filterParams,a=this._themeService.getCurrentTheme().primaryColor,h=this._hovered?this._themeService.getCurrentTheme().grey50:"rgba(255, 255, 255, 1.0)";o?Qe.drawHasCriteria(e,x,a,h):Qe.drawNoCriteria(e,x,a,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:r,unitId:i,subUnitId:s}=this._filterParams;this._contextService.getContextValue(J)||!this._commandService.hasCommand(oe.id)||setTimeout(()=>{this._commandService.executeCommand(oe.id,{unitId:i,subUnitId:s,col:r})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};be=Lt([Ae(2,u.IContextService),Ae(3,u.ICommandService),Ae(4,u.Inject(u.ThemeService))],be);var Mt=Object.defineProperty,Ut=Object.getOwnPropertyDescriptor,wt=(t,e,r,i)=>{for(var s=i>1?void 0:i?Ut(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&Mt(e,r,s),s},X=(t,e)=>(r,i)=>e(r,i,t);const $t=1e3,Dt=5e3;let Le=class extends u.RxDisposable{constructor(e,r,i,s,l,n,o,a){super();v(this,"_filterRangeShape",null);v(this,"_buttonRenderDisposable",null);v(this,"_filterButtonShapes",[]);this._context=e,this._injector=r,this._sheetSkeletonManagerService=i,this._sheetsFilterService=s,this._themeService=l,this._sheetInterceptorService=n,this._commandService=o,this._selectionRenderService=a,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(C.switchMap(e=>{var o,a;if(!e)return C.of(null);const{unit:r,unitId:i}=this._context,s=((o=r.getActiveSheet())==null?void 0:o.getSheetId())||"",l=(a=this._sheetsFilterService.getFilterModel(i,s))!=null?a:void 0,n=()=>({unitId:i,worksheetId:s,filterModel:l,range:l==null?void 0:l.getRange(),skeleton:e.skeleton});return u.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(C.filter(([h])=>{var m;return h.type===u.CommandType.MUTATION&&((m=h.params)==null?void 0:m.unitId)===r.getUnitId()&&(c.FILTER_MUTATIONS.has(h.id)||h.id===P.SetRangeValuesMutation.id)}),C.throttleTime(20,void 0,{leading:!1,trailing:!0}),C.map(n),C.startWith(n()))}),C.takeUntil(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))})}_renderRange(e,r){const{scene:i}=this._context,{rowHeaderWidth:s,columnHeaderHeight:l}=r,n=this._filterRangeShape=new $.SelectionControl(i,$t,this._themeService,{rowHeaderWidth:s,columnHeaderHeight:l,enableAutoFill:!1,highlightHeader:!1}),o={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},a=$.attachSelectionWithCoord(o,r);n.updateRangeBySelectionWithCoord(a),n.setEvent(!1),i.makeDirty(!0)}_renderButtons(e){const{range:r,filterModel:i,unitId:s,skeleton:l,worksheetId:n}=e,{scene:o}=this._context;this._interceptCellContent(s,n,e.range);const{startColumn:a,endColumn:h,startRow:m}=r;for(let p=a;p<=h;p++){const T=`sheets-filter-button-${p}`,_=$.getCoordByCell(m,p,o,l),{startX:O,startY:E,endX:A,endY:N}=_,U=A-O,M=N-E;if(M<=_e||U<=_e)continue;const B=!!i.getFilterColumn(p),V=A-x-_e,ge=N-x-_e,Ce={left:V,top:ge,height:x,width:x,zIndex:Dt,cellHeight:M,cellWidth:U,filterParams:{unitId:s,subUnitId:n,col:p,hasCriteria:B}},w=this._injector.createInstance(be,T,Ce);this._filterButtonShapes.push(w)}o.addObjects(this._filterButtonShapes),o.makeDirty()}_interceptCellContent(e,r,i){const{startRow:s,startColumn:l,endColumn:n}=i;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(P.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Style,handler:(o,a,h)=>{const{row:m,col:p,unitId:T,subUnitId:_}=a;return T!==e||_!==r||m!==s||p<l||p>n?h(o):h({...o,fontRenderExtension:{...o==null?void 0:o.fontRenderExtension,rightOffset:x}})},priority:10})}_disposeRendering(){var e,r;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(i=>i.dispose()),(r=this._buttonRenderDisposable)==null||r.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};Le=wt([X(1,u.Inject(u.Injector)),X(2,u.Inject($.SheetSkeletonManagerService)),X(3,u.Inject(c.SheetsFilterService)),X(4,u.Inject(u.ThemeService)),X(5,u.Inject(P.SheetInterceptorService)),X(6,u.ICommandService),X(7,$.ISheetSelectionRenderService)],Le);var Ht=Object.defineProperty,jt=Object.getOwnPropertyDescriptor,Bt=(t,e,r,i)=>{for(var s=i>1?void 0:i?jt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&Ht(e,r,s),s},Ge=(t,e)=>(r,i)=>e(r,i,t);let le=class extends u.RxDisposable{constructor(t,e){super(),this._renderManagerService=t,this._sheetsRenderService=e,[c.SetSheetsFilterRangeMutation,c.SetSheetsFilterCriteriaMutation,c.RemoveSheetsFilterMutation,c.ReCalcSheetsFilterMutation].forEach(r=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(r.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(u.UniverInstanceType.UNIVER_SHEET,[Le]))}};le=Bt([Ge(0,ie.IRenderManagerService),Ge(1,u.Inject($.SheetsRenderService))],le);var Vt=Object.defineProperty,Wt=Object.getOwnPropertyDescriptor,kt=(t,e,r,i)=>{for(var s=i>1?void 0:i?Wt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&Vt(e,r,s),s},D=(t,e)=>(r,i)=>e(r,i,t);const Ye="FILTER_PANEL_POPUP";let Se=class extends le{constructor(e,r,i,s,l,n,o,a,h,m,p,T,_){super(_,T);v(this,"_popupDisposable");this._injector=e,this._componentManager=r,this._sheetsFilterPanelService=i,this._sheetCanvasPopupService=s,this._sheetsFilterService=l,this._localeService=n,this._shortcutService=o,this._commandService=a,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[yt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[c.SmartToggleSheetsFilterCommand,c.RemoveSheetFilterCommand,c.SetSheetFilterRangeCommand,c.SetSheetsFilterCriteriaCommand,c.ClearSheetsFilterCriteriaCommand,c.ReCalcSheetsFilterCommand,ye,oe,z].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(Nt)}_initUI(){this.disposeWithMe(this._componentManager.register(Ye,Et)),this.disposeWithMe(this._componentManager.register("FilterSingle",We)),this.disposeWithMe(this._contextService.subscribeContextValue$(J).pipe(C.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(){const e=this._sheetsFilterPanelService.filterModel;if(!e)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const r=e.getRange(),i=this._sheetsFilterPanelService.col,{startRow:s}=r;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(s,i,{componentKey:Ye,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(z.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Se=kt([D(0,u.Inject(u.Injector)),D(1,u.Inject(F.ComponentManager)),D(2,u.Inject(G)),D(3,u.Inject($.SheetCanvasPopManagerService)),D(4,u.Inject(c.SheetsFilterService)),D(5,u.Inject(u.LocaleService)),D(6,F.IShortcutService),D(7,u.ICommandService),D(8,F.IMenuManagerService),D(9,u.IContextService),D(10,F.IMessageService),D(11,u.Inject($.SheetsRenderService)),D(12,ie.IRenderManagerService)],Se);var Ke=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,Qt=(t,e,r)=>e in t?Ke(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Gt=(t,e,r,i)=>{for(var s=i>1?void 0:i?xt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&Ke(e,r,s),s},Me=(t,e)=>(r,i)=>e(r,i,t),Xe=(t,e,r)=>Qt(t,typeof e!="symbol"?e+"":e,r);const Yt="SHEET_FILTER_UI_PLUGIN";S.UniverSheetsFilterUIPlugin=class extends u.Plugin{constructor(e=ce,r,i,s){super(),this._config=e,this._injector=r,this._configService=i,this._rpcChannelService=s;const{menu:l,...n}=u.merge({},ce,this._config);l&&this._configService.setConfig("menu",l,{merge:!0}),this._configService.setConfig($e,n)}onStarting(){[[G],[te],[Se]].forEach(e=>this._injector.add(e)),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([he,{useFactory:()=>k.toModule(this._rpcChannelService.requestChannel(Oe))}])}onReady(){this._injector.get(te)}onRendered(){this._injector.get(Se)}},Xe(S.UniverSheetsFilterUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET),Xe(S.UniverSheetsFilterUIPlugin,"pluginName",Yt),S.UniverSheetsFilterUIPlugin=Gt([u.DependentOn(c.UniverSheetsFilterPlugin),Me(1,u.Inject(u.Injector)),Me(2,u.IConfigService),Me(3,u.Optional(k.IRPCChannelService))],S.UniverSheetsFilterUIPlugin);var qe=Object.defineProperty,Kt=Object.getOwnPropertyDescriptor,Xt=(t,e,r)=>e in t?qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,qt=(t,e,r,i)=>{for(var s=i>1?void 0:i?Kt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&qe(e,r,s),s},Ze=(t,e)=>(r,i)=>e(r,i,t),Je=(t,e,r)=>Xt(t,typeof e!="symbol"?e+"":e,r);const Zt="SHEET_FILTER_UI_PLUGIN";S.UniverSheetsFilterMobileUIPlugin=class extends u.Plugin{constructor(e=ce,r,i){super(),this._config=e,this._injector=r,this._configService=i;const{menu:s,...l}=u.merge({},ce,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig($e,l)}onStarting(){[[te],[le]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(te)}onRendered(){this._injector.get(le)}},Je(S.UniverSheetsFilterMobileUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET),Je(S.UniverSheetsFilterMobileUIPlugin,"pluginName",Zt),S.UniverSheetsFilterMobileUIPlugin=qt([u.DependentOn(c.UniverSheetsFilterPlugin),Ze(1,u.Inject(u.Injector)),Ze(2,u.IConfigService)],S.UniverSheetsFilterMobileUIPlugin);var Jt=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,er=(t,e,r,i)=>{for(var s=i>1?void 0:i?zt(e,r):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(s=(i?n(e,r,s):n(s))||s);return i&&s&&Jt(e,r,s),s},ze=(t,e)=>(r,i)=>e(r,i,t);S.UniverSheetsFilterUIWorkerPlugin=(ve=class extends u.Plugin{constructor(e,r,i){super(),this._config=e,this._injector=r,this._rpcChannelService=i}onStarting(){[[he,{useClass:Pe}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Oe,k.fromModule(this._injector.get(he)))}},v(ve,"type",u.UniverInstanceType.UNIVER_SHEET),v(ve,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),ve),S.UniverSheetsFilterUIWorkerPlugin=er([ze(1,u.Inject(u.Injector)),ze(2,k.IRPCChannelService)],S.UniverSheetsFilterUIWorkerPlugin),S.ChangeFilterByOperation=ye,S.CloseFilterPanelOperation=z,S.OpenFilterPanelOperation=oe,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),require("@univerjs/rpc"),require("@univerjs/sheets-filter"),require("@univerjs/sheets"),require("@univerjs/ui"),require("@univerjs/sheets-ui"),require("rxjs"),require("@univerjs/design"),require("@univerjs/engine-render"),require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/rpc","@univerjs/sheets-filter","@univerjs/sheets","@univerjs/ui","@univerjs/sheets-ui","rxjs","@univerjs/design","@univerjs/engine-render","react/jsx-runtime","react"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSheetsFilterUi={},global.UniverCore,global.UniverRpc,global.UniverSheetsFilter,global.UniverSheets,global.UniverUi,global.UniverSheetsUi,global.rxjs,global.UniverDesign,global.UniverEngineRender,global.React,global.React))})(this,function(exports2,core,rpc,sheetsFilter,sheets,ui,sheetsUi,rxjs,design,engineRender,jsxRuntime,react){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l;const SHEETS_FILTER_UI_PLUGIN_CONFIG_KEY="sheets-filter-ui.config",defaultPluginConfig={};var OperatorOrder=(OperatorOrder2=>(OperatorOrder2[OperatorOrder2.FIRST=0]="FIRST",OperatorOrder2[OperatorOrder2.SECOND=1]="SECOND",OperatorOrder2))(OperatorOrder||{}),ExtendCustomFilterOperator=(ExtendCustomFilterOperator2=>(ExtendCustomFilterOperator2.NONE="none",ExtendCustomFilterOperator2.STARTS_WITH="startsWith",ExtendCustomFilterOperator2.DOES_NOT_START_WITH="doesNotStartWith",ExtendCustomFilterOperator2.ENDS_WITH="endsWith",ExtendCustomFilterOperator2.DOES_NOT_END_WITH="doesNotEndWith",ExtendCustomFilterOperator2.CONTAINS="contains",ExtendCustomFilterOperator2.DOES_NOT_CONTAIN="doesNotContain",ExtendCustomFilterOperator2.EQUALS="equals",ExtendCustomFilterOperator2.NOT_EQUALS="notEquals",ExtendCustomFilterOperator2.EMPTY="empty",ExtendCustomFilterOperator2.NOT_EMPTY="notEmpty",ExtendCustomFilterOperator2.BETWEEN="between",ExtendCustomFilterOperator2.NOT_BETWEEN="notBetween",ExtendCustomFilterOperator2.CUSTOM="custom",ExtendCustomFilterOperator2))(ExtendCustomFilterOperator||{}),FilterConditionItems;(FilterConditionItems2=>{FilterConditionItems2.NONE={label:"sheets-filter.conditions.none",operator:ExtendCustomFilterOperator.NONE,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(params=>params.operator1===ExtendCustomFilterOperator.NONE,"testMappingParams"),mapToFilterColumn:__name(()=>null,"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>!filterColumn.customFilters&&!filterColumn.filters?{}:!1,"testMappingFilterColumn")},FilterConditionItems2.EMPTY={label:"sheets-filter.conditions.empty",operator:ExtendCustomFilterOperator.EMPTY,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(({operator1})=>operator1===ExtendCustomFilterOperator.EMPTY,"testMappingParams"),mapToFilterColumn:__name(()=>({customFilters:{customFilters:[{val:""}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.val===""&&firstCustomFilter.operator===void 0?{operator1:ExtendCustomFilterOperator.EMPTY}:!1},"testMappingFilterColumn")},FilterConditionItems2.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:ExtendCustomFilterOperator.NOT_EMPTY,order:OperatorOrder.SECOND,numOfParameters:0,getDefaultFormParams:__name(()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},"getDefaultFormParams"),testMappingParams:__name(({operator1})=>operator1===ExtendCustomFilterOperator.NOT_EMPTY,"testMappingParams"),mapToFilterColumn:__name(()=>({customFilters:{customFilters:[{val:"",operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.val===" "&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.NOT_EQUALS?{operator1:ExtendCustomFilterOperator.NOT_EMPTY}:!1},"testMappingFilterColumn")},FilterConditionItems2.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:ExtendCustomFilterOperator.CONTAINS,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.CONTAINS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.CONTAINS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1}=mapParams;return val1===""?null:{customFilters:{customFilters:[{val:`*${val1}*`}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.startsWith("*")&&valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.CONTAINS,val1:valAsString.slice(1,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`*${mapParams.val1}*`,operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.DOES_NOT_CONTAIN},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.NOT_EQUALS&&valAsString.startsWith("*")&&valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.DOES_NOT_CONTAIN,val1:valAsString.slice(1,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:ExtendCustomFilterOperator.STARTS_WITH,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.STARTS_WITH,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`${mapParams.val1}*`}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.STARTS_WITH},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.endsWith("*")&&!valAsString.startsWith("*")?{operator1:ExtendCustomFilterOperator.STARTS_WITH,val1:valAsString.slice(0,-1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:ExtendCustomFilterOperator.ENDS_WITH,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.ENDS_WITH,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:`*${mapParams.val1}`}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.ENDS_WITH},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0],valAsString=firstCustomFilter.val.toString();return!firstCustomFilter.operator&&valAsString.startsWith("*")&&!valAsString.endsWith("*")?{operator1:ExtendCustomFilterOperator.ENDS_WITH,val1:valAsString.slice(1)}:!1},"testMappingFilterColumn")},FilterConditionItems2.EQUALS={label:"sheets-filter.conditions.equals",operator:ExtendCustomFilterOperator.EQUALS,order:OperatorOrder.FIRST,numOfParameters:1,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.EQUALS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===ExtendCustomFilterOperator.EQUALS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1}=mapParams;return val1===""?null:{customFilters:{customFilters:[{val:val1}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2,_b2,_c2;return((_b2=(_a2=filterColumn.filters)==null?void 0:_a2.filters)==null?void 0:_b2.length)===1?{operator1:ExtendCustomFilterOperator.EQUALS,val1:""}:((_c2=filterColumn.customFilters)==null?void 0:_c2.customFilters.length)===1&&!filterColumn.customFilters.customFilters[0].operator?{operator1:ExtendCustomFilterOperator.EQUALS,val1:filterColumn.customFilters.customFilters[0].val.toString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:sheetsFilter.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:""}),"getDefaultFormParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN}]}}),"mapToFilterColumn"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.GREATER_THAN},"testMappingParams"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.GREATER_THAN?!1:{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.GREATER_THAN_OR_EQUAL={label:"sheets-filter.conditions.greater-than-or-equal",operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.LESS_THAN={label:"sheets-filter.conditions.less-than",operator:sheetsFilter.CustomFilterOperator.LESS_THAN,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.LESS_THAN},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.LESS_THAN?!1:{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.LESS_THAN_OR_EQUAL={label:"sheets-filter.conditions.less-than-or-equal",operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.EQUAL={label:"sheets-filter.conditions.equal",operator:sheetsFilter.CustomFilterOperator.EQUAL,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.EQUAL,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.EQUAL},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.EQUAL}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.EQUAL?!1:{operator1:sheetsFilter.CustomFilterOperator.EQUAL,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.NOT_EQUAL={label:"sheets-filter.conditions.not-equal",operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS,numOfParameters:1,order:OperatorOrder.FIRST,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.NOT_EQUALS,val1:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const[op]=getOnlyOperatorAndVal(params);return op===sheetsFilter.CustomFilterOperator.NOT_EQUALS},"testMappingParams"),mapToFilterColumn:__name(mapParams=>({customFilters:{customFilters:[{val:mapParams.val1,operator:sheetsFilter.CustomFilterOperator.NOT_EQUALS}]}}),"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==1)return!1;const firstCustomFilter=filterColumn.customFilters.customFilters[0];return firstCustomFilter.operator!==sheetsFilter.CustomFilterOperator.NOT_EQUALS?!1:{operator1:sheetsFilter.CustomFilterOperator.NOT_EQUALS,val1:firstCustomFilter.val.toString()}},"testMappingFilterColumn")},FilterConditionItems2.BETWEEN={label:"sheets-filter.conditions.between",operator:ExtendCustomFilterOperator.BETWEEN,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const{and,operator1,operator2}=params;if(!and)return!1;const operators=[operator1,operator2];return operators.includes(sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&operators.includes(sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL)},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1,val2,operator1}=mapParams,operator1IsGreater=operator1===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:core.BooleanNumber.TRUE,customFilters:[{val:operator1IsGreater?val1:val2,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:operator1IsGreater?val2:val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==2)return!1;const[firstCustomFilter,secondCustomFilter]=filterColumn.customFilters.customFilters;return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL&&filterColumn.customFilters.and?{and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:firstCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:secondCustomFilter.val.toString()}:secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL&&filterColumn.customFilters.and?{and:!0,operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:secondCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:firstCustomFilter.val.toLocaleString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:ExtendCustomFilterOperator.NOT_BETWEEN,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:"",operator2:sheetsFilter.CustomFilterOperator.GREATER_THAN,val2:""}),"getDefaultFormParams"),testMappingParams:__name(params=>{const{and,operator1,operator2}=params;if(and)return!1;const operators=[operator1,operator2];return operators.includes(sheetsFilter.CustomFilterOperator.GREATER_THAN)&&operators.includes(sheetsFilter.CustomFilterOperator.LESS_THAN)},"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{val1,val2,operator1}=mapParams,operator1IsGreater=operator1===sheetsFilter.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:operator1IsGreater?val1:val2,operator:sheetsFilter.CustomFilterOperator.GREATER_THAN},{val:operator1IsGreater?val2:val1,operator:sheetsFilter.CustomFilterOperator.LESS_THAN}]}}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==2)return!1;const[firstCustomFilter,secondCustomFilter]=filterColumn.customFilters.customFilters;return firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN&&secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN&&!filterColumn.customFilters.and?{operator1:sheetsFilter.CustomFilterOperator.LESS_THAN,val1:firstCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.GREATER_THAN,val2:secondCustomFilter.val.toString()}:secondCustomFilter.operator===sheetsFilter.CustomFilterOperator.LESS_THAN&&firstCustomFilter.operator===sheetsFilter.CustomFilterOperator.GREATER_THAN&&!filterColumn.customFilters.and?{operator1:sheetsFilter.CustomFilterOperator.GREATER_THAN,val1:secondCustomFilter.val.toString(),operator2:sheetsFilter.CustomFilterOperator.LESS_THAN,val2:firstCustomFilter.val.toLocaleString()}:!1},"testMappingFilterColumn")},FilterConditionItems2.CUSTOM={label:"sheets-filter.conditions.custom",operator:ExtendCustomFilterOperator.CUSTOM,order:OperatorOrder.SECOND,numOfParameters:2,getDefaultFormParams:__name(()=>({operator1:ExtendCustomFilterOperator.NONE,val1:"",operator2:ExtendCustomFilterOperator.NONE,val2:""}),"getDefaultFormParams"),testMappingParams:__name(()=>!0,"testMappingParams"),mapToFilterColumn:__name(mapParams=>{const{and,val1,val2,operator1,operator2}=mapParams;function mapOperator(operator,val){for(const condition of FilterConditionItems2.ALL_CONDITIONS)if(condition.operator===operator)return condition.mapToFilterColumn({val1:val,operator1:operator})}__name(mapOperator,"mapOperator");const operator1IsNone=!operator1||operator1===FilterConditionItems2.NONE.operator,operator2IsNone=!operator2||operator2===FilterConditionItems2.NONE.operator;if(operator1IsNone&&operator2IsNone)return FilterConditionItems2.NONE.mapToFilterColumn({});if(operator1IsNone)return mapOperator(operator2,val2);if(operator2IsNone)return mapOperator(operator1,val1);const mappedCustomFilter1=mapOperator(operator1,val1),mappedCustomFilter2=mapOperator(operator2,val2),customFilters={customFilters:[mappedCustomFilter1.customFilters.customFilters[0],mappedCustomFilter2.customFilters.customFilters[0]]};return and&&(customFilters.and=core.BooleanNumber.TRUE),{customFilters}},"mapToFilterColumn"),testMappingFilterColumn:__name(filterColumn=>{var _a2;if(((_a2=filterColumn.customFilters)==null?void 0:_a2.customFilters.length)!==2)return!1;const params=filterColumn.customFilters.customFilters.map(customFilter=>testMappingFilterColumn({customFilters:{customFilters:[customFilter]}})),result={operator1:params[0][0].operator,val1:params[0][1].val1,operator2:params[1][0].operator,val2:params[1][1].val1};return filterColumn.customFilters.and&&(result.and=!0),result},"testMappingFilterColumn")},FilterConditionItems2.ALL_CONDITIONS=[FilterConditionItems2.NONE,FilterConditionItems2.EMPTY,FilterConditionItems2.NOT_EMPTY,FilterConditionItems2.TEXT_CONTAINS,FilterConditionItems2.DOES_NOT_CONTAIN,FilterConditionItems2.STARTS_WITH,FilterConditionItems2.ENDS_WITH,FilterConditionItems2.EQUALS,FilterConditionItems2.GREATER_THAN,FilterConditionItems2.GREATER_THAN_OR_EQUAL,FilterConditionItems2.LESS_THAN,FilterConditionItems2.LESS_THAN_OR_EQUAL,FilterConditionItems2.EQUAL,FilterConditionItems2.NOT_EQUAL,FilterConditionItems2.BETWEEN,FilterConditionItems2.NOT_BETWEEN,FilterConditionItems2.CUSTOM];function getItemByOperator(operator){const item=FilterConditionItems2.ALL_CONDITIONS.find(condition=>condition.operator===operator);if(!item)throw new Error(`[SheetsFilter]: no condition item found for operator: ${operator}`);return item}__name(getItemByOperator,"getItemByOperator"),FilterConditionItems2.getItemByOperator=getItemByOperator;function testMappingParams(mapParams,numOfParameters){for(const condition of FilterConditionItems2.ALL_CONDITIONS.filter(condition2=>condition2.numOfParameters===numOfParameters))if(condition.numOfParameters!==0&&condition.testMappingParams(mapParams))return condition;for(const condition of FilterConditionItems2.ALL_CONDITIONS)if(condition.testMappingParams(mapParams))return condition;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}__name(testMappingParams,"testMappingParams"),FilterConditionItems2.testMappingParams=testMappingParams;function getInitialFormParams(operator){const condition=FilterConditionItems2.ALL_CONDITIONS.find(condition2=>condition2.operator===operator);return(condition==null?void 0:condition.numOfParameters)===0?{operator1:condition.operator}:condition.getDefaultFormParams()}__name(getInitialFormParams,"getInitialFormParams"),FilterConditionItems2.getInitialFormParams=getInitialFormParams;function mapToFilterColumn(condition,mapParams){return condition.mapToFilterColumn(mapParams)}__name(mapToFilterColumn,"mapToFilterColumn"),FilterConditionItems2.mapToFilterColumn=mapToFilterColumn;function testMappingFilterColumn(filterColumn){if(!filterColumn)return[FilterConditionItems2.NONE,{}];for(const condition of FilterConditionItems2.ALL_CONDITIONS){const mapParams=condition.testMappingFilterColumn(filterColumn);if(mapParams)return[condition,mapParams]}return[FilterConditionItems2.NONE,{}]}__name(testMappingFilterColumn,"testMappingFilterColumn"),FilterConditionItems2.testMappingFilterColumn=testMappingFilterColumn})(FilterConditionItems||(FilterConditionItems={}));function getOnlyOperatorAndVal(mapParams){const{operator1,operator2,val1,val2}=mapParams;if(operator1&&operator2)throw new Error("Both operator1 and operator2 are set!");if(!operator1&&!operator2)throw new Error("Neither operator1 and operator2 and both not set!");return operator1?[operator1,val1]:[operator2,val2]}__name(getOnlyOperatorAndVal,"getOnlyOperatorAndVal");function statisticFilterByValueItems(items){const checkedItems=[],uncheckedItems=[];let checked=0,unchecked=0;function traverse(node){node.leaf&&(node.checked?(checkedItems.push(node),checked+=node.count):(uncheckedItems.push(node),unchecked+=node.count)),node.children&&node.children.forEach(traverse)}return __name(traverse,"traverse"),items.forEach(traverse),{checkedItems,uncheckedItems,checked,unchecked}}__name(statisticFilterByValueItems,"statisticFilterByValueItems");var __defProp$9=Object.defineProperty,__getOwnPropDesc$9=Object.getOwnPropertyDescriptor,__decorateClass$9=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$9(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$9(target,key,result),result},"__decorateClass$9"),__decorateParam$9=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$9");const SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME="sheets-filter.generate-filter-values.service",ISheetsGenerateFilterValuesService=core.createIdentifier(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME),CAN_PARSE_DATE_FORMAT=["yyyy-mm-dd","yyyy-mm-dd;@","yyyy/mm/dd;@","yyyy/mm/dd hh:mm","yyyy-m-d am/pm h:mm","yyyy-MM-dd","yyyy/MM/dd","yyyy/mm/dd",'yyyy"年"MM"月"dd"日"',"MM-dd",'M"月"d"日"',"MM-dd A/P hh:mm"];let SheetsGenerateFilterValuesService=(_a=class extends core.Disposable{constructor(_localeService,_univerInstanceService,_logService){super(),this._localeService=_localeService,this._univerInstanceService=_univerInstanceService,this._logService=_logService}async getFilterValues(params){var _a2;const{unitId,subUnitId,filteredOutRowsByOtherColumns,filters,blankChecked,iterateRange,alreadyChecked}=params,workbook=this._univerInstanceService.getUnit(unitId),worksheet=(_a2=this._univerInstanceService.getUnit(unitId))==null?void 0:_a2.getSheetBySheetId(subUnitId);return!workbook||!worksheet?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId,subUnitId}),getFilterTreeByValueItems(filters,this._localeService,iterateRange,worksheet,new Set(filteredOutRowsByOtherColumns),new Set(alreadyChecked.map(String)),blankChecked,workbook.getStyles()))}},__name(_a,"SheetsGenerateFilterValuesService"),_a);SheetsGenerateFilterValuesService=__decorateClass$9([__decorateParam$9(0,core.Inject(core.LocaleService)),__decorateParam$9(1,core.IUniverInstanceService),__decorateParam$9(2,core.ILogService)],SheetsGenerateFilterValuesService);function getFilterTreeByValueItems(filters,localeService,iterateRange,worksheet,filteredOutRowsByOtherColumns,alreadyChecked,blankChecked,styles2){var _a2,_b2,_c2,_d2,_e2,_f2,_g2,_h2,_i2;const items=new Map,treeMap=new Map,DefaultPattern="yyyy-mm-dd",canSplitPatternSet=new Set(CAN_PARSE_DATE_FORMAT),EmptyKey="empty";let emptyCount=0;for(const cell of worksheet.iterateByColumn(iterateRange,!1,!1)){const{row,rowSpan=1}=cell;let rowIndex=0;for(;rowIndex<rowSpan;){const targetRow=row+rowIndex;if(filteredOutRowsByOtherColumns.has(targetRow)){rowIndex++;continue}const value=cell!=null&&cell.value?core.extractPureTextFromCell(cell.value):"";if(!value){emptyCount+=1,rowIndex+=rowSpan;continue}const fmtStr=(_a2=cell.value)!=null&&_a2.v&&!cell.value.p?(_d2=(_c2=styles2.get((_b2=cell.value)==null?void 0:_b2.s))==null?void 0:_c2.n)==null?void 0:_d2.pattern:"",isDateValue=fmtStr&&core.numfmt.isDate(fmtStr);if(fmtStr&&isDateValue&&canSplitPatternSet.has(fmtStr)){const originValue=(_e2=worksheet.getCellRaw(cell.row,cell.col))==null?void 0:_e2.v;if(!originValue){rowIndex++;continue}const valueParsedByDefaultPattern=core.numfmt.format(DefaultPattern,originValue),[year,month,day]=valueParsedByDefaultPattern.split("-").map(Number);let yearItem=items.get(`${year}`);yearItem||(yearItem={title:`${year}`,key:`${year}`,children:[],count:0,leaf:!1,checked:!1},items.set(`${year}`,yearItem),treeMap.set(`${year}`,[`${year}`]));let monthItem=(_f2=yearItem.children)==null?void 0:_f2.find(item=>item.key===`${year}-${month}`);monthItem||(monthItem={title:localeService.t(`sheets-filter.date.${month}`),key:`${year}-${month}`,children:[],count:0,leaf:!1,checked:!1},(_g2=yearItem.children)==null||_g2.push(monthItem),treeMap.set(`${year}-${month}`,[`${year}`,`${year}-${month}`]));const dayItem=(_h2=monthItem==null?void 0:monthItem.children)==null?void 0:_h2.find(item=>item.key===`${year}-${month}-${day}`);dayItem?(dayItem.originValues.add(value),dayItem.count++,monthItem.count++,yearItem.count++):((_i2=monthItem.children)==null||_i2.push({title:`${day}`,key:`${year}-${month}-${day}`,count:1,originValues:new Set([value]),leaf:!0,checked:alreadyChecked.size?alreadyChecked.has(value):!blankChecked}),monthItem.count++,yearItem.count++,treeMap.set(`${year}-${month}-${day}`,[`${year}`,`${year}-${month}`,`${year}-${month}-${day}`]))}else{const key=value;let item=items.get(key);item?item.count++:(item={title:value,leaf:!0,checked:alreadyChecked.size?alreadyChecked.has(value):!blankChecked,key,count:1},items.set(key,item),treeMap.set(key,[key]))}rowIndex++}}const initialBlankChecked=filters?blankChecked:!0;if(emptyCount>0){const item={title:localeService.t("sheets-filter.panel.empty"),count:emptyCount,leaf:!0,checked:initialBlankChecked,key:EmptyKey};items.set("empty",item),treeMap.set("empty",[EmptyKey])}return{filterTreeItems:generateFilterTreeBySort(Array.from(items.values())),filterTreeMapCache:treeMap}}__name(getFilterTreeByValueItems,"getFilterTreeByValueItems");function generateFilterTreeBySort(tree){return Array.from(tree).sort((a,b)=>a.children&&!b.children?-1:!a.children&&b.children?1:b.title.localeCompare(a.title)).map(yearItem=>(yearItem.children&&yearItem.children.sort((a,b)=>{const monthA=Number.parseInt(a.key.split("-")[1],10),monthB=Number.parseInt(b.key.split("-")[1],10);return monthA-monthB}).forEach(monthItem=>{monthItem.children&&monthItem.children.sort((a,b)=>{const dayA=Number.parseInt(a.key.split("-")[2],10),dayB=Number.parseInt(b.key.split("-")[2],10);return dayA-dayB})}),yearItem))}__name(generateFilterTreeBySort,"generateFilterTreeBySort");function findObjectByKey(data,targetKey){for(const node of data){if(node.key===targetKey)return node;if(node.children){const result=findObjectByKey(node.children,targetKey);if(result)return result}}return null}__name(findObjectByKey,"findObjectByKey");function areAllLeafNodesChecked(node){return node.leaf?node.checked:node.children?node.children.every(child=>areAllLeafNodesChecked(child)):!0}__name(areAllLeafNodesChecked,"areAllLeafNodesChecked");function updateLeafNodesCheckedStatus(node,status){node.leaf&&(status!==void 0?node.checked=status:node.checked=!node.checked),node.children&&node.children.forEach(child=>updateLeafNodesCheckedStatus(child,status))}__name(updateLeafNodesCheckedStatus,"updateLeafNodesCheckedStatus");function searchTree(items,searchKeywords){const result=[];return items.forEach(item=>{const originMatches=item.originValues?searchKeywords.some(keyword=>Array.from(item.originValues).some(value=>value.toLowerCase().includes(keyword.toLowerCase()))):!1,titleMatches=!originMatches&&searchKeywords.some(keyword=>item.title.toLowerCase().includes(keyword.toLowerCase()));if(originMatches||titleMatches)result.push({...item});else if(item.children){const filteredChildren=searchTree(item.children,searchKeywords);if(filteredChildren.length>0){const aggregatedCount=filteredChildren.reduce((sum,child)=>sum+child.count,0);result.push({...item,count:aggregatedCount,children:filteredChildren})}}}),result}__name(searchTree,"searchTree");var __defProp$8=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$8=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$8(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$8(target,key,result),result},"__decorateClass$8"),__decorateParam$8=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$8"),FilterBy=(FilterBy2=>(FilterBy2[FilterBy2.VALUES=0]="VALUES",FilterBy2[FilterBy2.CONDITIONS=1]="CONDITIONS",FilterBy2))(FilterBy||{});core.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let SheetsFilterPanelService=(_b=class extends core.Disposable{constructor(_injector,_refRangeService){super();__publicField(this,"_filterBy$",new rxjs.BehaviorSubject(0));__publicField(this,"filterBy$",this._filterBy$.asObservable());__publicField(this,"_filterByModel$",new rxjs.ReplaySubject(1));__publicField(this,"filterByModel$",this._filterByModel$.asObservable());__publicField(this,"_filterByModel",null);__publicField(this,"_hasCriteria$",new rxjs.BehaviorSubject(!1));__publicField(this,"hasCriteria$",this._hasCriteria$.asObservable());__publicField(this,"_filterModel",null);__publicField(this,"_col$",new rxjs.BehaviorSubject(-1));__publicField(this,"col$",this._col$.asObservable());__publicField(this,"_filterHeaderListener",null);this._injector=_injector,this._refRangeService=_refRangeService}get filterBy(){return this._filterBy$.getValue()}get filterByModel(){return this._filterByModel}set filterByModel(model){this._filterByModel=model,this._filterByModel$.next(model)}get filterModel(){return this._filterModel}get col(){return this._col$.getValue()}dispose(){this._filterBy$.complete(),this._filterByModel$.complete(),this._hasCriteria$.complete()}setupCol(filterModel,col){this.terminate(),this._filterModel=filterModel,this._col$.next(col);const filterColumn=filterModel.getFilterColumn(col);if(filterColumn){const info=filterColumn.getColumnData();if(info.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(filterModel,col);return}if(info.filters){this._hasCriteria$.next(!0),this._setupByValues(filterModel,col);return}this._hasCriteria$.next(!1),this._setupByValues(filterModel,col);return}this._hasCriteria$.next(!1),this._setupByValues(filterModel,col)}changeFilterBy(filterBy){return!this._filterModel||this.col===-1?!1:(filterBy===0?this._setupByValues(this._filterModel,this.col):this._setupByConditions(this._filterModel,this.col),!0)}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var _a2;(_a2=this._filterHeaderListener)==null||_a2.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(filterModel,col){this._disposeFilterHeaderChangeListener();const unitId=filterModel.unitId,subUnitId=filterModel.subUnitId,filterRange=filterModel.getRange(),columnHeaderRange={startColumn:col,startRow:filterRange.startRow,endRow:filterRange.startRow,endColumn:col};this._filterHeaderListener=this._refRangeService.watchRange(unitId,subUnitId,columnHeaderRange,(before,after)=>{if(!after)this.terminate();else{const offset=after.startColumn-before.startColumn;offset!==0&&this._filterByModel.deltaCol(offset)}})}async _setupByValues(filterModel,col){this._disposePreviousModel();const range=filterModel.getRange();if(range.startRow===range.endRow)return!1;const filterByModel=await ByValuesModel.fromFilterColumn(this._injector,filterModel,col);return this.filterByModel=filterByModel,this._filterBy$.next(0),this._listenToFilterHeaderChange(filterModel,col),!0}_setupByConditions(filterModel,col){this._disposePreviousModel();const range=filterModel.getRange();if(range.startRow===range.endRow)return!1;const model=ByConditionsModel.fromFilterColumn(this._injector,filterModel,col,filterModel.getFilterColumn(col));return this.filterByModel=model,this._filterBy$.next(1),this._listenToFilterHeaderChange(filterModel,col),!0}_disposePreviousModel(){var _a2;(_a2=this._filterByModel)==null||_a2.dispose(),this.filterByModel=null}},__name(_b,"SheetsFilterPanelService"),_b);SheetsFilterPanelService=__decorateClass$8([__decorateParam$8(0,core.Inject(core.Injector)),__decorateParam$8(1,core.Inject(sheets.RefRangeService))],SheetsFilterPanelService);let ByConditionsModel=(_c=class extends core.Disposable{constructor(_filterModel,col,conditionItem,conditionParams,_commandService){super();__publicField(this,"canApply$",rxjs.of(!0));__publicField(this,"_conditionItem$");__publicField(this,"conditionItem$");__publicField(this,"_filterConditionFormParams$");__publicField(this,"filterConditionFormParams$");this._filterModel=_filterModel,this.col=col,this._commandService=_commandService,this._conditionItem$=new rxjs.BehaviorSubject(conditionItem),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new rxjs.BehaviorSubject(conditionParams),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(injector,filterModel,col,filterColumn){const[conditionItem,conditionParams]=FilterConditionItems.testMappingFilterColumn(filterColumn==null?void 0:filterColumn.getColumnData());return injector.createInstance(ByConditionsModel,filterModel,col,conditionItem,conditionParams)}get conditionItem(){return this._conditionItem$.getValue()}get filterConditionFormParams(){return this._filterConditionFormParams$.getValue()}dispose(){super.dispose(),this._conditionItem$.complete(),this._filterConditionFormParams$.complete()}deltaCol(offset){this.col+=offset}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(sheetsFilter.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const filterColumn=FilterConditionItems.mapToFilterColumn(this.conditionItem,this.filterConditionFormParams);return this._commandService.executeCommand(sheetsFilter.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:filterColumn})}onPrimaryConditionChange(operator){const conditionItem=FilterConditionItems.ALL_CONDITIONS.find(item=>item.operator===operator);if(!conditionItem)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${operator}!`);this._conditionItem$.next(conditionItem),this._filterConditionFormParams$.next(FilterConditionItems.getInitialFormParams(operator))}onConditionFormChange(params){const newParams={...this.filterConditionFormParams,...params};if(newParams.and!==!0&&delete newParams.and,typeof params.and<"u"||typeof params.operator1<"u"||typeof params.operator2<"u"){const conditionItem=FilterConditionItems.testMappingParams(newParams,this.conditionItem.numOfParameters);this._conditionItem$.next(conditionItem)}this._filterConditionFormParams$.next(newParams)}},__name(_c,"ByConditionsModel"),_c);ByConditionsModel=__decorateClass$8([__decorateParam$8(4,core.ICommandService)],ByConditionsModel);let ByValuesModel=(_d=class extends core.Disposable{constructor(_filterModel,col,items,cache,_commandService){super();__publicField(this,"_rawFilterItems$");__publicField(this,"rawFilterItems$");__publicField(this,"filterItems$");__publicField(this,"_filterItems",[]);__publicField(this,"_treeMapCache");__publicField(this,"canApply$");__publicField(this,"_manuallyUpdateFilterItems$");__publicField(this,"_searchString$");__publicField(this,"searchString$");this._filterModel=_filterModel,this.col=col,this._commandService=_commandService,this._treeMapCache=cache,this._searchString$=new rxjs.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new rxjs.BehaviorSubject(items),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new rxjs.Subject,this.filterItems$=rxjs.merge(rxjs.combineLatest([this._searchString$.pipe(rxjs.throttleTime(500,void 0,{leading:!0,trailing:!0}),rxjs.startWith(void 0)),this._rawFilterItems$]).pipe(rxjs.map(([searchString,items2])=>{if(!searchString)return items2;const searchKeyWords=searchString.toLowerCase().split(/\s+/).filter(s=>!!s);return searchTree(items2,searchKeyWords)})),this._manuallyUpdateFilterItems$).pipe(rxjs.shareReplay(1)),this.canApply$=this.filterItems$.pipe(rxjs.map(items2=>statisticFilterByValueItems(items2).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(items2=>this._filterItems=items2))}static async fromFilterColumn(injector,filterModel,col){var _a2;const univerInstanceService=injector.get(core.IUniverInstanceService),localeService=injector.get(core.LocaleService),generateFilterValuesService=injector.get(ISheetsGenerateFilterValuesService,core.Quantity.OPTIONAL),{unitId,subUnitId}=filterModel,workbook=univerInstanceService.getUniverSheetInstance(unitId);if(!workbook)throw new Error(`[ByValuesModel]: Workbook not found for filter model with unitId: ${unitId}!`);const worksheet=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId);if(!worksheet)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${unitId} and subUnitId: ${subUnitId}!`);const range=filterModel.getRange(),column=col,filters=(_a2=filterModel.getFilterColumn(col))==null?void 0:_a2.getColumnData().filters,alreadyChecked=new Set(filters==null?void 0:filters.filters),blankChecked=!!(filters&&filters.blank),filteredOutRowsByOtherColumns=filterModel.getFilteredOutRowsExceptCol(col),iterateRange={...range,startRow:range.startRow+1,startColumn:column,endColumn:column};let items,cache;if(generateFilterValuesService){const res=await generateFilterValuesService.getFilterValues({unitId,subUnitId,filteredOutRowsByOtherColumns:Array.from(filteredOutRowsByOtherColumns),filters:!!filters,blankChecked,iterateRange,alreadyChecked:Array.from(alreadyChecked)});items=res.filterTreeItems,cache=res.filterTreeMapCache}else{const res=getFilterTreeByValueItems(!!filters,localeService,iterateRange,worksheet,filteredOutRowsByOtherColumns,alreadyChecked,blankChecked,workbook.getStyles());items=res.filterTreeItems,cache=res.filterTreeMapCache}return injector.createInstance(ByValuesModel,filterModel,col,items,cache)}get rawFilterItems(){return this._rawFilterItems$.getValue()}get filterItems(){return this._filterItems}get treeMapCache(){return this._treeMapCache}dispose(){this._rawFilterItems$.complete(),this._searchString$.complete()}deltaCol(offset){this.col+=offset}setSearchString(str){this._searchString$.next(str)}onCheckAllToggled(checked){const items=core.Tools.deepClone(this._filterItems);items.forEach(item=>updateLeafNodesCheckedStatus(item,checked)),this._manuallyUpdateFilterItems(items)}onFilterCheckToggled(item){const items=core.Tools.deepClone(this._filterItems),changedItem=findObjectByKey(items,item.key);if(!changedItem)return;const allLeafChecked=areAllLeafNodesChecked(changedItem);updateLeafNodesCheckedStatus(changedItem,!allLeafChecked),this._manuallyUpdateFilterItems(items)}onFilterOnly(itemKeys){const items=core.Tools.deepClone(this._filterItems);items.forEach(item=>updateLeafNodesCheckedStatus(item,!1)),itemKeys.forEach(key=>{const changedItem=findObjectByKey(items,key);changedItem&&updateLeafNodesCheckedStatus(changedItem,!0)}),this._manuallyUpdateFilterItems(items)}_manuallyUpdateFilterItems(items){this._manuallyUpdateFilterItems$.next(items)}clear(){return this._disposed?Promise.resolve(!1):this._commandService.executeCommand(sheetsFilter.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null})}async apply(){if(this._disposed)return!1;const statistics=statisticFilterByValueItems(this._filterItems),{checked,checkedItems}=statistics,rawFilterItems=this.rawFilterItems;let rawFilterCount=0;for(const item of rawFilterItems)rawFilterCount+=item.count;const noChecked=checked===0,allChecked=statistics.checked===rawFilterCount,criteria={colId:this.col};if(noChecked)throw new Error("[ByValuesModel]: no checked items!");if(allChecked)return this._commandService.executeCommand(sheetsFilter.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});{criteria.filters={};const nonEmptyItems=checkedItems.filter(item=>item.key!=="empty");nonEmptyItems.length>0&&(criteria.filters={filters:nonEmptyItems.flatMap(item=>item.originValues?Array.from(item.originValues):[item.title])}),nonEmptyItems.length!==checkedItems.length&&(criteria.filters.blank=!0)}return this._commandService.executeCommand(sheetsFilter.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria})}},__name(_d,"ByValuesModel"),_d);ByValuesModel=__decorateClass$8([__decorateParam$8(4,core.ICommandService)],ByValuesModel);const FILTER_PANEL_OPENED_KEY="FILTER_PANEL_OPENED",OpenFilterPanelOperation={id:"sheet.operation.open-filter-panel",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const contextService=accessor.get(core.IContextService),sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService),sheetsFilterPanelService=accessor.get(SheetsFilterPanelService);accessor.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{visible:!1});const{unitId,subUnitId,col}=params,filterModel=sheetsFilterService.getFilterModel(unitId,subUnitId);return filterModel?(sheetsFilterPanelService.setupCol(filterModel,col),contextService.getContextValue(FILTER_PANEL_OPENED_KEY)||contextService.setContextValue(FILTER_PANEL_OPENED_KEY,!0),!0):!1},"handler")},CloseFilterPanelOperation={id:"sheet.operation.close-filter-panel",type:core.CommandType.OPERATION,handler:__name(accessor=>{const contextService=accessor.get(core.IContextService),sheetsFilterPanelService=accessor.get(SheetsFilterPanelService),layoutService=accessor.get(ui.ILayoutService,core.Quantity.OPTIONAL);return contextService.getContextValue(FILTER_PANEL_OPENED_KEY)?(contextService.setContextValue(FILTER_PANEL_OPENED_KEY,!1),layoutService==null||layoutService.focus(),sheetsFilterPanelService.terminate()):!1},"handler")},ChangeFilterByOperation={id:"sheet.operation.apply-filter",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{filterBy}=params;return accessor.get(SheetsFilterPanelService).changeFilterBy(filterBy)},"handler")};var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$7");let SheetsFilterPermissionController=(_e=class extends core.Disposable{constructor(_sheetsFilterService,_localeService,_commandService,_sheetPermissionCheckPermission,_injector,_sheetsSelectionService){super(),this._sheetsFilterService=_sheetsFilterService,this._localeService=_localeService,this._commandService=_commandService,this._sheetPermissionCheckPermission=_sheetPermissionCheckPermission,this._injector=_injector,this._sheetsSelectionService=_sheetsSelectionService,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(command=>{var _a2,_b2,_c2;if(command.id===sheetsFilter.SmartToggleSheetsFilterCommand.id){const univerInstanceService=this._injector.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService);if(!target)return;const{unitId,subUnitId,worksheet}=target,filterRange=(_a2=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_a2.getRange();let permission;if(filterRange)permission=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission]},[filterRange]);else{const range=(_b2=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:_b2.range;if(range){let newRange={...range};newRange=range.startColumn===range.endColumn&&range.startRow===range.endRow?sheets.expandToContinuousRange(newRange,{left:!0,right:!0,up:!0,down:!0},worksheet):newRange,permission=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetViewPermission,sheets.WorksheetFilterPermission]},[newRange],unitId,subUnitId)}else permission=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetViewPermission,sheets.WorksheetFilterPermission]})}permission||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(command.id===OpenFilterPanelOperation.id){const params=command.params,{unitId,subUnitId}=params,filterRange=(_c2=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_c2.getRange(),colRange=core.Tools.deepClone(filterRange);colRange&&(colRange.startColumn=params.col,colRange.endColumn=params.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[sheets.RangeProtectionPermissionViewPoint],worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission]},[colRange])||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}},__name(_e,"SheetsFilterPermissionController"),_e);SheetsFilterPermissionController=__decorateClass$7([__decorateParam$7(0,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$7(1,core.Inject(core.LocaleService)),__decorateParam$7(2,core.ICommandService),__decorateParam$7(3,core.Inject(sheets.SheetPermissionCheckController)),__decorateParam$7(4,core.Inject(core.Injector)),__decorateParam$7(5,core.Inject(sheets.SheetsSelectionsService))],SheetsFilterPermissionController);var __assign=function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},__assign.apply(this,arguments)},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++)e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i])&&(t[p[i]]=s[p[i]]);return t},IconBase=react.forwardRef(function(props,ref){var icon=props.icon,id=props.id,className=props.className,extend=props.extend,restProps=__rest(props,["icon","id","className","extend"]),cls="univerjs-icon univerjs-icon-".concat(id," ").concat(className||"").trim(),idSuffix=react.useRef("_".concat(generateShortUuid()));return render(icon,"".concat(id),{defIds:icon.defIds,idSuffix:idSuffix.current},__assign({ref,className:cls},restProps),extend)});function render(node,id,runtimeProps,rootProps,extend){return react.createElement(node.tag,__assign(__assign({key:id},replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend)),rootProps),(replaceRuntimeIdsInDefs(node,runtimeProps).children||[]).map(function(child,index){return render(child,"".concat(id,"-").concat(node.tag,"-").concat(index),runtimeProps,void 0,extend)}))}__name(render,"render");function replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend){var attrs=__assign({},node.attrs);extend!=null&&extend.colorChannel1&&attrs.fill==="colorChannel1"&&(attrs.fill=extend.colorChannel1);var defIds=runtimeProps.defIds;return!defIds||defIds.length===0||(node.tag==="use"&&attrs["xlink:href"]&&(attrs["xlink:href"]=attrs["xlink:href"]+runtimeProps.idSuffix),Object.entries(attrs).forEach(function(_a2){var key=_a2[0],value=_a2[1];typeof value=="string"&&(attrs[key]=value.replace(/url\(#(.*)\)/,"url(#$1".concat(runtimeProps.idSuffix,")")))})),attrs}__name(replaceRuntimeIdsAndExtInAttrs,"replaceRuntimeIdsAndExtInAttrs");function replaceRuntimeIdsInDefs(node,runtimeProps){var _a2,defIds=runtimeProps.defIds;return!defIds||defIds.length===0?node:node.tag==="defs"&&(!((_a2=node.children)===null||_a2===void 0)&&_a2.length)?__assign(__assign({},node),{children:node.children.map(function(child){return typeof child.attrs.id=="string"&&defIds&&defIds.indexOf(child.attrs.id)>-1?__assign(__assign({},child),{attrs:__assign(__assign({},child.attrs),{id:child.attrs.id+runtimeProps.idSuffix})}):child})}):node}__name(replaceRuntimeIdsInDefs,"replaceRuntimeIdsInDefs");function generateShortUuid(){return Math.random().toString(36).substring(2,8)}__name(generateShortUuid,"generateShortUuid"),IconBase.displayName="UniverIcon";var element={tag:"svg",attrs:{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"}}]},FilterSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"filter-single",ref,icon:element}))});FilterSingle.displayName="FilterSingle";const styles={sheetsFilterPanel:"univer-sheets-filter-panel",sheetsFilterPanelHeader:"univer-sheets-filter-panel-header",sheetsFilterPanelContent:"univer-sheets-filter-panel-content",sheetsFilterPanelSelectAll:"univer-sheets-filter-panel-select-all",sheetsFilterPanelSelectAllCount:"univer-sheets-filter-panel-select-all-count",sheetsFilterPanelValuesContainer:"univer-sheets-filter-panel-values-container",inputAffixWrapper:"univer-input-affix-wrapper",select:"univer-select",radioGroup:"univer-radio-group",sheetsFilterPanelValuesFind:"univer-sheets-filter-panel-values-find",sheetsFilterPanelValuesList:"univer-sheets-filter-panel-values-list",sheetsFilterPanelValuesListInnerContainer:"univer-sheets-filter-panel-values-list-inner-container",sheetsFilterPanelValuesVirtual:"univer-sheets-filter-panel-values-virtual",sheetsFilterPanelValuesItem:"univer-sheets-filter-panel-values-item",sheetsFilterPanelValuesItemInner:"univer-sheets-filter-panel-values-item-inner",sheetsFilterPanelValuesItemCount:"univer-sheets-filter-panel-values-item-count",sheetsFilterPanelValuesItemExcludeButton:"univer-sheets-filter-panel-values-item-exclude-button",sheetsFilterPanelValuesItemText:"univer-sheets-filter-panel-values-item-text",sheetsFilterPanelConditionsContainer:"univer-sheets-filter-panel-conditions-container",sheetsFilterPanelConditionsContainerInner:"univer-sheets-filter-panel-conditions-container-inner",sheetsFilterPanelConditionsDesc:"univer-sheets-filter-panel-conditions-desc",sheetsFilterPanelFooter:"univer-sheets-filter-panel-footer",sheetsFilterPanelFooterPrimaryButtons:"univer-sheets-filter-panel-footer-primary-buttons",button:"univer-button",input:"univer-input",formDualColumnLayout:"univer-form-dual-column-layout",sheetsFilterTreeNode:"univer-sheets-filter-tree-node",sheetsFilterTreeNodeFilterOnly:"univer-sheets-filter-tree-node-filter-only",sheetsFilterTreeNodeAttach:"univer-sheets-filter-tree-node-attach"};function FilterByCondition(props){var _a2,_b2;const{model}=props,localeService=core.useDependency(core.LocaleService),condition=ui.useObservable(model.conditionItem$,void 0),formParams=ui.useObservable(model.filterConditionFormParams$,void 0),radioValue=formParams!=null&&formParams.and?"AND":"OR",onRadioChange=react.useCallback(key=>{model.onConditionFormChange({and:key==="AND"})},[model]),primaryOptions=usePrimaryOptions(localeService),onPrimaryConditionChange=react.useCallback(value=>{model.onPrimaryConditionChange(value)},[model]),secondaryOptions=useSecondaryOptions(localeService),onFormParamsChange=react.useCallback(diffParams=>{model.onConditionFormChange(diffParams)},[model]),placeholder=localeService.t("sheets-filter.panel.input-values-placeholder");function renderSecondaryCondition(operator,val,name){const shouldRenderInput=FilterConditionItems.getItemByOperator(operator).numOfParameters===1;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[name==="operator2"&&jsxRuntime.jsxs(design.RadioGroup,{value:radioValue,onChange:onRadioChange,children:[jsxRuntime.jsx(design.Radio,{value:"AND",children:localeService.t("sheets-filter.panel.and")}),jsxRuntime.jsx(design.Radio,{value:"OR",children:localeService.t("sheets-filter.panel.or")})]}),jsxRuntime.jsx(design.Select,{value:operator,options:secondaryOptions,onChange:__name(operator2=>onFormParamsChange({[name]:operator2}),"onChange")}),shouldRenderInput&&jsxRuntime.jsx("div",{children:jsxRuntime.jsx(design.Input,{value:val,placeholder,onChange:__name(value=>onFormParamsChange({[name==="operator1"?"val1":"val2"]:value}),"onChange")})})]})}return __name(renderSecondaryCondition,"renderSecondaryCondition"),jsxRuntime.jsx("div",{className:styles.sheetsFilterPanelConditionsContainer,children:condition&&formParams&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(design.Select,{value:condition.operator,options:primaryOptions,onChange:onPrimaryConditionChange}),FilterConditionItems.getItemByOperator(condition.operator).numOfParameters!==0?jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanelConditionsContainerInner,children:[condition.numOfParameters>=1&&renderSecondaryCondition(formParams.operator1,(_a2=formParams.val1)!=null?_a2:"","operator1"),condition.numOfParameters>=2&&renderSecondaryCondition(formParams.operator2,(_b2=formParams.val2)!=null?_b2:"","operator2"),jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanelConditionsDesc,children:[localeService.t("sheets-filter.panel.?"),jsxRuntime.jsx("br",{}),localeService.t("sheets-filter.panel.*")]})]}):null]})})}__name(FilterByCondition,"FilterByCondition");function usePrimaryOptions(localeService){const locale=localeService.getCurrentLocale();return react.useMemo(()=>[{options:[{label:localeService.t(FilterConditionItems.NONE.label),value:FilterConditionItems.NONE.operator}]},{options:[{label:localeService.t(FilterConditionItems.EMPTY.label),value:FilterConditionItems.EMPTY.operator},{label:localeService.t(FilterConditionItems.NOT_EMPTY.label),value:FilterConditionItems.NOT_EMPTY.operator}]},{options:[{label:localeService.t(FilterConditionItems.TEXT_CONTAINS.label),value:FilterConditionItems.TEXT_CONTAINS.operator},{label:localeService.t(FilterConditionItems.DOES_NOT_CONTAIN.label),value:FilterConditionItems.DOES_NOT_CONTAIN.operator},{label:localeService.t(FilterConditionItems.STARTS_WITH.label),value:FilterConditionItems.STARTS_WITH.operator},{label:localeService.t(FilterConditionItems.ENDS_WITH.label),value:FilterConditionItems.ENDS_WITH.operator},{label:localeService.t(FilterConditionItems.EQUALS.label),value:FilterConditionItems.EQUALS.operator}]},{options:[{label:localeService.t(FilterConditionItems.GREATER_THAN.label),value:FilterConditionItems.GREATER_THAN.operator},{label:localeService.t(FilterConditionItems.GREATER_THAN_OR_EQUAL.label),value:FilterConditionItems.GREATER_THAN_OR_EQUAL.operator},{label:localeService.t(FilterConditionItems.LESS_THAN.label),value:FilterConditionItems.LESS_THAN.operator},{label:localeService.t(FilterConditionItems.LESS_THAN_OR_EQUAL.label),value:FilterConditionItems.LESS_THAN_OR_EQUAL.operator},{label:localeService.t(FilterConditionItems.EQUAL.label),value:FilterConditionItems.EQUAL.operator},{label:localeService.t(FilterConditionItems.NOT_EQUAL.label),value:FilterConditionItems.NOT_EQUAL.operator},{label:localeService.t(FilterConditionItems.BETWEEN.label),value:FilterConditionItems.BETWEEN.operator},{label:localeService.t(FilterConditionItems.NOT_BETWEEN.label),value:FilterConditionItems.NOT_BETWEEN.operator}]},{options:[{label:localeService.t(FilterConditionItems.CUSTOM.label),value:FilterConditionItems.CUSTOM.operator}]}],[locale,localeService])}__name(usePrimaryOptions,"usePrimaryOptions");function useSecondaryOptions(localeService){const locale=localeService.getCurrentLocale();return react.useMemo(()=>FilterConditionItems.ALL_CONDITIONS.filter(c=>c.numOfParameters!==2).map(c=>({label:localeService.t(c.label),value:c.operator})),[locale,localeService])}__name(useSecondaryOptions,"useSecondaryOptions");function FilterByValue(props){const{model}=props,localeService=core.useDependency(core.LocaleService),searchText=ui.useObservable(model.searchString$,"",!0),items=ui.useObservable(model.filterItems$,void 0,!0),filterOnly=localeService.t("sheets-filter.panel.filter-only"),stat=statisticFilterByValueItems(items),allChecked=stat.checked>0&&stat.unchecked===0,indeterminate=stat.checked>0&&stat.unchecked>0,treeMap=model.treeMapCache,onCheckAllToggled=react.useCallback(()=>{model.onCheckAllToggled(!allChecked)},[model,allChecked]),onSearchValueChange=react.useCallback(str=>{model.setSearchString(str)},[model]);function extractCheckedKeys(items2){let checkedKeys=[];return items2.forEach(item=>{item.checked&&checkedKeys.push(item.key),item.children&&(checkedKeys=checkedKeys.concat(extractCheckedKeys(item.children)))}),checkedKeys}return __name(extractCheckedKeys,"extractCheckedKeys"),jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanelValuesContainer,children:[jsxRuntime.jsx(design.Input,{autoFocus:!0,value:searchText,placeholder:localeService.t("sheets-filter.panel.search-placeholder"),onChange:onSearchValueChange}),jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanelValuesList,children:[jsxRuntime.jsx("div",{className:styles.sheetsFilterPanelValuesItem,children:jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanelValuesItemInner,children:[jsxRuntime.jsx(design.Checkbox,{indeterminate,disabled:items.length===0,checked:allChecked,onChange:onCheckAllToggled}),jsxRuntime.jsx("span",{className:styles.sheetsFilterPanelValuesItemText,children:`${localeService.t("sheets-filter.panel.select-all")}`}),jsxRuntime.jsx("span",{className:styles.sheetsFilterPanelValuesItemCount,children:`(${stat.checked}/${stat.checked+stat.unchecked})`})]})}),jsxRuntime.jsx("div",{className:styles.sheetsFilterPanelValuesVirtual,children:jsxRuntime.jsx(design.Tree,{data:items,defaultExpandAll:!1,valueGroup:extractCheckedKeys(items),height:180,onChange:__name(node=>{model.onFilterCheckToggled(node)},"onChange"),defaultCache:treeMap,itemHeight:28,treeNodeClassName:styles.sheetsFilterTreeNode,attachRender:__name(item=>jsxRuntime.jsxs("div",{className:styles.sheetsFilterTreeNodeAttach,children:[jsxRuntime.jsx("span",{className:styles.sheetsFilterPanelValuesItemCount,children:`(${item.count})`}),jsxRuntime.jsx(design.Button,{className:styles.sheetsFilterTreeNodeFilterOnly,size:"small",type:"link",onClick:__name(()=>{const filterValues=[];item.children?item.children.forEach(child=>{child.children?child.children.forEach(subChild=>{filterValues.push(subChild.key)}):filterValues.push(child.key)}):filterValues.push(item.key),model.onFilterOnly(filterValues)},"onClick"),children:filterOnly})]}),"attachRender")})})]})]})}__name(FilterByValue,"FilterByValue");function FilterPanel(){var _a2;const sheetsFilterPanelService=core.useDependency(SheetsFilterPanelService),localeService=core.useDependency(core.LocaleService),commandService=core.useDependency(core.ICommandService),filterBy=ui.useObservable(sheetsFilterPanelService.filterBy$,void 0,!0),filterByModel=ui.useObservable(sheetsFilterPanelService.filterByModel$,void 0,!1),canApply=ui.useObservable(()=>(filterByModel==null?void 0:filterByModel.canApply$)||rxjs.of(!1),void 0,!1,[filterByModel]),options=useFilterByOptions(localeService),clearFilterDisabled=!ui.useObservable(sheetsFilterPanelService.hasCriteria$),onFilterByTypeChange=react.useCallback(value=>{commandService.executeCommand(ChangeFilterByOperation.id,{filterBy:value})},[commandService]),onClearCriteria=react.useCallback(async()=>{await(filterByModel==null?void 0:filterByModel.clear()),commandService.executeCommand(CloseFilterPanelOperation.id)},[filterByModel,commandService]),onCancel=react.useCallback(()=>{commandService.executeCommand(CloseFilterPanelOperation.id)},[commandService]),onApply=react.useCallback(async()=>{await(filterByModel==null?void 0:filterByModel.apply()),commandService.executeCommand(CloseFilterPanelOperation.id)},[filterByModel,commandService]),range=(_a2=core.useDependency(sheetsFilter.SheetsFilterService).activeFilterModel)==null?void 0:_a2.getRange(),colIndex=sheetsFilterPanelService.col,FilterPanelEmbedPointPart=ui.useComponentsOfPart(sheetsUi.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanel,children:[jsxRuntime.jsx(ui.ComponentContainer,{components:FilterPanelEmbedPointPart,sharedProps:{range,colIndex,onClose:onCancel}}),jsxRuntime.jsx("div",{className:styles.sheetsFilterPanelHeader,children:jsxRuntime.jsx(design.Segmented,{value:filterBy,options,onChange:__name(value=>onFilterByTypeChange(value),"onChange")})}),filterByModel?jsxRuntime.jsx("div",{className:styles.sheetsFilterPanelContent,children:filterBy===FilterBy.VALUES?jsxRuntime.jsx(FilterByValue,{model:filterByModel}):jsxRuntime.jsx(FilterByCondition,{model:filterByModel})}):jsxRuntime.jsx("div",{style:{flex:1}}),jsxRuntime.jsxs("div",{className:styles.sheetsFilterPanelFooter,children:[jsxRuntime.jsx(design.Button,{type:"link",onClick:onClearCriteria,disabled:clearFilterDisabled,children:localeService.t("sheets-filter.panel.clear-filter")}),jsxRuntime.jsxs("span",{className:styles.sheetsFilterPanelFooterPrimaryButtons,children:[jsxRuntime.jsx(design.Button,{type:"default",onClick:onCancel,children:localeService.t("sheets-filter.panel.cancel")}),jsxRuntime.jsx(design.Button,{disabled:!canApply,type:"primary",onClick:onApply,children:localeService.t("sheets-filter.panel.confirm")})]})]})]})}__name(FilterPanel,"FilterPanel");function useFilterByOptions(localeService){const locale=localeService.getCurrentLocale();return react.useMemo(()=>[{label:localeService.t("sheets-filter.panel.by-values"),value:FilterBy.VALUES},{label:localeService.t("sheets-filter.panel.by-conditions"),value:FilterBy.CONDITIONS}],[locale,localeService])}__name(useFilterByOptions,"useFilterByOptions");function SmartToggleFilterMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:sheetsFilter.SmartToggleSheetsFilterCommand.id,type:ui.MenuItemType.BUTTON_SELECTOR,icon:"FilterSingle",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),activated$:sheetsFilterService.activeFilterModel$.pipe(rxjs.map(model=>!!model)),disabled$:sheetsUi.getObservableWithExclusiveRange$(accessor,sheetsUi.getCurrentRangeDisable$(accessor,{worksheetTypes:[sheets.WorksheetFilterPermission,sheets.WorksheetViewPermission],rangeTypes:[sheets.RangeProtectionPermissionViewPoint]}))}}__name(SmartToggleFilterMenuItemFactory,"SmartToggleFilterMenuItemFactory");function ClearFilterCriteriaMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:sheetsFilter.ClearSheetsFilterCriteriaCommand.id,type:ui.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsFilterService.activeFilterModel$.pipe(rxjs.switchMap(model=>{var _a2;return(_a2=model==null?void 0:model.hasCriteria$.pipe(rxjs.map(m=>!m)))!=null?_a2:rxjs.of(!0)}))}}__name(ClearFilterCriteriaMenuItemFactory,"ClearFilterCriteriaMenuItemFactory");function ReCalcFilterMenuItemFactory(accessor){const sheetsFilterService=accessor.get(sheetsFilter.SheetsFilterService);return{id:sheetsFilter.ReCalcSheetsFilterCommand.id,type:ui.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsFilterService.activeFilterModel$.pipe(rxjs.switchMap(model=>{var _a2;return(_a2=model==null?void 0:model.hasCriteria$.pipe(rxjs.map(m=>!m)))!=null?_a2:rxjs.of(!0)}))}}__name(ReCalcFilterMenuItemFactory,"ReCalcFilterMenuItemFactory");const menuSchema={[ui.RibbonStartGroup.FORMULAS_INSERT]:{[sheetsFilter.SmartToggleSheetsFilterCommand.id]:{order:10,menuItemFactory:SmartToggleFilterMenuItemFactory,[sheetsFilter.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:ClearFilterCriteriaMenuItemFactory},[sheetsFilter.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:ReCalcFilterMenuItemFactory}}}},BUTTON_VIEWPORT=16,FILTER_BUTTON_EMPTY=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"),_FilterButton=class _FilterButton{static drawNoCriteria(ctx,size,fgColor,bgColor){ctx.save(),engineRender.Rect.drawWith(ctx,{radius:2,width:BUTTON_VIEWPORT,height:BUTTON_VIEWPORT,fill:bgColor}),ctx.lineCap="square",ctx.strokeStyle=fgColor,ctx.scale(size/BUTTON_VIEWPORT,size/BUTTON_VIEWPORT),ctx.beginPath(),ctx.lineWidth=1,ctx.lineCap="round",ctx.moveTo(3,4),ctx.lineTo(13,4),ctx.moveTo(4.5,8),ctx.lineTo(11.5,8),ctx.moveTo(6,12),ctx.lineTo(10,12),ctx.stroke(),ctx.restore()}static drawHasCriteria(ctx,size,fgColor,bgColor){ctx.save(),engineRender.Rect.drawWith(ctx,{radius:2,width:BUTTON_VIEWPORT,height:BUTTON_VIEWPORT,fill:bgColor}),ctx.scale(size/BUTTON_VIEWPORT,size/BUTTON_VIEWPORT),ctx.fillStyle=fgColor,ctx.fill(FILTER_BUTTON_EMPTY),ctx.restore()}};__name(_FilterButton,"FilterButton");let FilterButton=_FilterButton;var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");const FILTER_ICON_SIZE=16,FILTER_ICON_PADDING=1;let SheetsFilterButtonShape=(_f=class extends engineRender.Shape{constructor(key,props,_contextService,_commandService,_themeService){super(key,props);__publicField(this,"_cellWidth",0);__publicField(this,"_cellHeight",0);__publicField(this,"_filterParams");__publicField(this,"_hovered",!1);this._contextService=_contextService,this._commandService=_commandService,this._themeService=_themeService,this.setShapeProps(props),this.onPointerDown$.subscribeEvent(evt=>this.onPointerDown(evt)),this.onPointerEnter$.subscribeEvent(()=>this.onPointerEnter()),this.onPointerLeave$.subscribeEvent(()=>this.onPointerLeave())}setShapeProps(props){typeof props.cellHeight<"u"&&(this._cellHeight=props.cellHeight),typeof props.cellWidth<"u"&&(this._cellWidth=props.cellWidth),typeof props.filterParams<"u"&&(this._filterParams=props.filterParams),this.transformByState({width:props.width,height:props.height})}_draw(ctx){const cellHeight=this._cellHeight,cellWidth=this._cellWidth,left=FILTER_ICON_SIZE-cellWidth,top=FILTER_ICON_SIZE-cellHeight;ctx.save();const cellRegion=new Path2D;cellRegion.rect(left,top,cellWidth,cellHeight),ctx.clip(cellRegion);const{hasCriteria}=this._filterParams,fgColor=this._themeService.getCurrentTheme().primaryColor,bgColor=this._hovered?this._themeService.getCurrentTheme().grey50:"rgba(255, 255, 255, 1.0)";hasCriteria?FilterButton.drawHasCriteria(ctx,FILTER_ICON_SIZE,fgColor,bgColor):FilterButton.drawNoCriteria(ctx,FILTER_ICON_SIZE,fgColor,bgColor),ctx.restore()}onPointerDown(evt){if(evt.button===2)return;const{col,unitId,subUnitId}=this._filterParams;this._contextService.getContextValue(FILTER_PANEL_OPENED_KEY)||!this._commandService.hasCommand(OpenFilterPanelOperation.id)||setTimeout(()=>{this._commandService.executeCommand(OpenFilterPanelOperation.id,{unitId,subUnitId,col})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}},__name(_f,"SheetsFilterButtonShape"),_f);SheetsFilterButtonShape=__decorateClass$6([__decorateParam$6(2,core.IContextService),__decorateParam$6(3,core.ICommandService),__decorateParam$6(4,core.Inject(core.ThemeService))],SheetsFilterButtonShape);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");const DEFAULT_Z_INDEX=1e3,SHEETS_FILTER_BUTTON_Z_INDEX=5e3;let SheetsFilterRenderController=(_g=class extends core.RxDisposable{constructor(_context,_injector,_sheetSkeletonManagerService,_sheetsFilterService,_themeService,_sheetInterceptorService,_commandService,_selectionRenderService){super();__publicField(this,"_filterRangeShape",null);__publicField(this,"_buttonRenderDisposable",null);__publicField(this,"_filterButtonShapes",[]);this._context=_context,this._injector=_injector,this._sheetSkeletonManagerService=_sheetSkeletonManagerService,this._sheetsFilterService=_sheetsFilterService,this._themeService=_themeService,this._sheetInterceptorService=_sheetInterceptorService,this._commandService=_commandService,this._selectionRenderService=_selectionRenderService,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(rxjs.switchMap(skeletonParams=>{var _a2,_b2;if(!skeletonParams)return rxjs.of(null);const{unit:workbook,unitId}=this._context,worksheetId=((_a2=workbook.getActiveSheet())==null?void 0:_a2.getSheetId())||"",filterModel=(_b2=this._sheetsFilterService.getFilterModel(unitId,worksheetId))!=null?_b2:void 0,getParams=__name(()=>({unitId,worksheetId,filterModel,range:filterModel==null?void 0:filterModel.getRange(),skeleton:skeletonParams.skeleton}),"getParams");return core.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(rxjs.filter(([command])=>{var _a3;return command.type===core.CommandType.MUTATION&&((_a3=command.params)==null?void 0:_a3.unitId)===workbook.getUnitId()&&(sheetsFilter.FILTER_MUTATIONS.has(command.id)||command.id===sheets.SetRangeValuesMutation.id)}),rxjs.throttleTime(20,void 0,{leading:!1,trailing:!0}),rxjs.map(getParams),rxjs.startWith(getParams()))}),rxjs.takeUntil(this.dispose$)).subscribe(renderParams=>{this._disposeRendering(),!(!renderParams||!renderParams.range)&&(this._renderRange(renderParams.range,renderParams.skeleton),this._renderButtons(renderParams))})}_renderRange(range,skeleton){const{scene}=this._context,{rowHeaderWidth,columnHeaderHeight}=skeleton,filterRangeShape=this._filterRangeShape=new sheetsUi.SelectionControl(scene,DEFAULT_Z_INDEX,this._themeService,{rowHeaderWidth,columnHeaderHeight,enableAutoFill:!1,highlightHeader:!1}),selectionWithStyle={range,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},selectionWithCoord=sheetsUi.attachSelectionWithCoord(selectionWithStyle,skeleton);filterRangeShape.updateRangeBySelectionWithCoord(selectionWithCoord),filterRangeShape.setEvent(!1),scene.makeDirty(!0)}_renderButtons(params){const{range,filterModel,unitId,skeleton,worksheetId}=params,{scene}=this._context;this._interceptCellContent(unitId,worksheetId,params.range);const{startColumn,endColumn,startRow}=range;for(let col=startColumn;col<=endColumn;col++){const key=`sheets-filter-button-${col}`,startPosition=sheetsUi.getCoordByCell(startRow,col,scene,skeleton),{startX,startY,endX,endY}=startPosition,cellWidth=endX-startX,cellHeight=endY-startY;if(cellHeight<=FILTER_ICON_PADDING||cellWidth<=FILTER_ICON_PADDING)continue;const hasCriteria=!!filterModel.getFilterColumn(col),iconStartX=endX-FILTER_ICON_SIZE-FILTER_ICON_PADDING,iconStartY=endY-FILTER_ICON_SIZE-FILTER_ICON_PADDING,props={left:iconStartX,top:iconStartY,height:FILTER_ICON_SIZE,width:FILTER_ICON_SIZE,zIndex:SHEETS_FILTER_BUTTON_Z_INDEX,cellHeight,cellWidth,filterParams:{unitId,subUnitId:worksheetId,col,hasCriteria}},buttonShape=this._injector.createInstance(SheetsFilterButtonShape,key,props);this._filterButtonShapes.push(buttonShape)}scene.addObjects(this._filterButtonShapes),scene.makeDirty()}_interceptCellContent(workbookId,worksheetId,range){const{startRow,startColumn,endColumn}=range;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect:core.InterceptorEffectEnum.Style,handler:__name((cell,pos,next)=>{const{row,col,unitId,subUnitId}=pos;return unitId!==workbookId||subUnitId!==worksheetId||row!==startRow||col<startColumn||col>endColumn?next(cell):next({...cell,fontRenderExtension:{...cell==null?void 0:cell.fontRenderExtension,rightOffset:FILTER_ICON_SIZE}})},"handler"),priority:10})}_disposeRendering(){var _a2,_b2;(_a2=this._filterRangeShape)==null||_a2.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(_b2=this._buttonRenderDisposable)==null||_b2.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}},__name(_g,"SheetsFilterRenderController"),_g);SheetsFilterRenderController=__decorateClass$5([__decorateParam$5(1,core.Inject(core.Injector)),__decorateParam$5(2,core.Inject(sheetsUi.SheetSkeletonManagerService)),__decorateParam$5(3,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$5(4,core.Inject(core.ThemeService)),__decorateParam$5(5,core.Inject(sheets.SheetInterceptorService)),__decorateParam$5(6,core.ICommandService),__decorateParam$5(7,sheetsUi.ISheetSelectionRenderService)],SheetsFilterRenderController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");let SheetsFilterUIMobileController=(_h=class extends core.RxDisposable{constructor(_renderManagerService,_sheetsRenderService){super(),this._renderManagerService=_renderManagerService,this._sheetsRenderService=_sheetsRenderService,[sheetsFilter.SetSheetsFilterRangeMutation,sheetsFilter.SetSheetsFilterCriteriaMutation,sheetsFilter.RemoveSheetsFilterMutation,sheetsFilter.ReCalcSheetsFilterMutation].forEach(m=>this.disposeWithMe(this._sheetsRenderService.registerSkeletonChangingMutations(m.id))),this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SHEET,[SheetsFilterRenderController]))}},__name(_h,"SheetsFilterUIMobileController"),_h);SheetsFilterUIMobileController=__decorateClass$4([__decorateParam$4(0,engineRender.IRenderManagerService),__decorateParam$4(1,core.Inject(sheetsUi.SheetsRenderService))],SheetsFilterUIMobileController);const SmartToggleFilterShortcut={id:sheetsFilter.SmartToggleSheetsFilterCommand.id,binding:ui.KeyCode.L|ui.MetaKeys.CTRL_COMMAND|ui.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:sheetsUi.whenSheetEditorFocused,group:"4_sheet-edit"};var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");const FILTER_PANEL_POPUP_KEY="FILTER_PANEL_POPUP";let SheetsFilterUIDesktopController=(_i=class extends SheetsFilterUIMobileController{constructor(_injector,_componentManager,_sheetsFilterPanelService,_sheetCanvasPopupService,_sheetsFilterService,_localeService,_shortcutService,_commandService,_menuManagerService,_contextService,_messageService,sheetsRenderService,renderManagerService){super(renderManagerService,sheetsRenderService);__publicField(this,"_popupDisposable");this._injector=_injector,this._componentManager=_componentManager,this._sheetsFilterPanelService=_sheetsFilterPanelService,this._sheetCanvasPopupService=_sheetCanvasPopupService,this._sheetsFilterService=_sheetsFilterService,this._localeService=_localeService,this._shortcutService=_shortcutService,this._commandService=_commandService,this._menuManagerService=_menuManagerService,this._contextService=_contextService,this._messageService=_messageService,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[SmartToggleFilterShortcut].forEach(shortcut=>{this.disposeWithMe(this._shortcutService.registerShortcut(shortcut))})}_initCommands(){[sheetsFilter.SmartToggleSheetsFilterCommand,sheetsFilter.RemoveSheetFilterCommand,sheetsFilter.SetSheetFilterRangeCommand,sheetsFilter.SetSheetsFilterCriteriaCommand,sheetsFilter.ClearSheetsFilterCriteriaCommand,sheetsFilter.ReCalcSheetsFilterCommand,ChangeFilterByOperation,OpenFilterPanelOperation,CloseFilterPanelOperation].forEach(c=>{this.disposeWithMe(this._commandService.registerCommand(c))})}_initMenuItems(){this._menuManagerService.mergeMenu(menuSchema)}_initUI(){this.disposeWithMe(this._componentManager.register(FILTER_PANEL_POPUP_KEY,FilterPanel)),this.disposeWithMe(this._componentManager.register("FilterSingle",FilterSingle)),this.disposeWithMe(this._contextService.subscribeContextValue$(FILTER_PANEL_OPENED_KEY).pipe(rxjs.distinctUntilChanged()).subscribe(open=>{open?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(content=>{content&&this._messageService.show({type:design.MessageType.Error,content:this._localeService.t(content)})}))}_openFilterPopup(){const currentFilterModel=this._sheetsFilterPanelService.filterModel;if(!currentFilterModel)throw new Error("[SheetsFilterUIController]: no filter model when opening filter popup!");const range=currentFilterModel.getRange(),col=this._sheetsFilterPanelService.col,{startRow}=range;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(startRow,col,{componentKey:FILTER_PANEL_POPUP_KEY,direction:"horizontal",onClickOutside:__name(()=>this._commandService.syncExecuteCommand(CloseFilterPanelOperation.id),"onClickOutside"),offset:[5,0]})}_closeFilterPopup(){var _a2;(_a2=this._popupDisposable)==null||_a2.dispose(),this._popupDisposable=null}},__name(_i,"SheetsFilterUIDesktopController"),_i);SheetsFilterUIDesktopController=__decorateClass$3([__decorateParam$3(0,core.Inject(core.Injector)),__decorateParam$3(1,core.Inject(ui.ComponentManager)),__decorateParam$3(2,core.Inject(SheetsFilterPanelService)),__decorateParam$3(3,core.Inject(sheetsUi.SheetCanvasPopManagerService)),__decorateParam$3(4,core.Inject(sheetsFilter.SheetsFilterService)),__decorateParam$3(5,core.Inject(core.LocaleService)),__decorateParam$3(6,ui.IShortcutService),__decorateParam$3(7,core.ICommandService),__decorateParam$3(8,ui.IMenuManagerService),__decorateParam$3(9,core.IContextService),__decorateParam$3(10,ui.IMessageService),__decorateParam$3(11,core.Inject(sheetsUi.SheetsRenderService)),__decorateParam$3(12,engineRender.IRenderManagerService)],SheetsFilterUIDesktopController);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__defNormalProp$1=__name((obj,key,value)=>key in obj?__defProp$2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp$1"),__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2"),__publicField$1=__name((obj,key,value)=>__defNormalProp$1(obj,typeof key!="symbol"?key+"":key,value),"__publicField$1");const NAME$1="SHEET_FILTER_UI_PLUGIN";exports2.UniverSheetsFilterUIPlugin=(_j=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService,_rpcChannelService){super(),this._config=_config,this._injector=_injector,this._configService=_configService,this._rpcChannelService=_rpcChannelService;const{menu,...rest}=core.merge({},defaultPluginConfig,this._config);menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(SHEETS_FILTER_UI_PLUGIN_CONFIG_KEY,rest)}onStarting(){[[SheetsFilterPanelService],[SheetsFilterPermissionController],[SheetsFilterUIDesktopController]].forEach(d=>this._injector.add(d)),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ISheetsGenerateFilterValuesService,{useFactory:__name(()=>rpc.toModule(this._rpcChannelService.requestChannel(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME)),"useFactory")}])}onReady(){this._injector.get(SheetsFilterPermissionController)}onRendered(){this._injector.get(SheetsFilterUIDesktopController)}},__name(_j,"UniverSheetsFilterUIPlugin"),_j),__publicField$1(exports2.UniverSheetsFilterUIPlugin,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField$1(exports2.UniverSheetsFilterUIPlugin,"pluginName",NAME$1),exports2.UniverSheetsFilterUIPlugin=__decorateClass$2([core.DependentOn(sheetsFilter.UniverSheetsFilterPlugin),__decorateParam$2(1,core.Inject(core.Injector)),__decorateParam$2(2,core.IConfigService),__decorateParam$2(3,core.Optional(rpc.IRPCChannelService))],exports2.UniverSheetsFilterUIPlugin);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp$1(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField");const NAME="SHEET_FILTER_UI_PLUGIN";exports2.UniverSheetsFilterMobileUIPlugin=(_k=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService){super(),this._config=_config,this._injector=_injector,this._configService=_configService;const{menu,...rest}=core.merge({},defaultPluginConfig,this._config);menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(SHEETS_FILTER_UI_PLUGIN_CONFIG_KEY,rest)}onStarting(){[[SheetsFilterPermissionController],[SheetsFilterUIMobileController]].forEach(d=>this._injector.add(d))}onReady(){this._injector.get(SheetsFilterPermissionController)}onRendered(){this._injector.get(SheetsFilterUIMobileController)}},__name(_k,"UniverSheetsFilterMobileUIPlugin"),_k),__publicField2(exports2.UniverSheetsFilterMobileUIPlugin,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField2(exports2.UniverSheetsFilterMobileUIPlugin,"pluginName",NAME),exports2.UniverSheetsFilterMobileUIPlugin=__decorateClass$1([core.DependentOn(sheetsFilter.UniverSheetsFilterPlugin),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,core.IConfigService)],exports2.UniverSheetsFilterMobileUIPlugin);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");exports2.UniverSheetsFilterUIWorkerPlugin=(_l=class extends core.Plugin{constructor(_config,_injector,_rpcChannelService){super(),this._config=_config,this._injector=_injector,this._rpcChannelService=_rpcChannelService}onStarting(){[[ISheetsGenerateFilterValuesService,{useClass:SheetsGenerateFilterValuesService}]].forEach(d=>this._injector.add(d))}onReady(){this._rpcChannelService.registerChannel(SHEETS_GENERATE_FILTER_VALUES_SERVICE_NAME,rpc.fromModule(this._injector.get(ISheetsGenerateFilterValuesService)))}},__name(_l,"UniverSheetsFilterUIWorkerPlugin"),__publicField(_l,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField(_l,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),_l),exports2.UniverSheetsFilterUIWorkerPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,rpc.IRPCChannelService)],exports2.UniverSheetsFilterUIWorkerPlugin),exports2.ChangeFilterByOperation=ChangeFilterByOperation,exports2.CloseFilterPanelOperation=CloseFilterPanelOperation,exports2.OpenFilterPanelOperation=OpenFilterPanelOperation,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
@@ -1 +1 @@
1
- (function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverSheetsFilterUiEnUS=t())})(this,function(){"use strict";return{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"Toggle Filter","clear-filter-criteria":"Clear Filter Conditions","re-calc-filter-conditions":"Re-calc Filter Conditions"},command:{"not-valid-filter-range":"The selected range only has one row and not valid for filter."},shortcut:{"smart-toggle-filter":"Toggle Filter"},panel:{"clear-filter":"Clear Filter",cancel:"Cancel",confirm:"Confirm","by-values":"By Values","by-conditions":"By Conditions","filter-only":"Filter Only","search-placeholder":"Use space to separate keywords","select-all":"Select All","input-values-placeholder":"Input Values",and:"AND",or:"OR",empty:"(empty)","?":"Use “?” to represent a single character.","*":"Use “*” to represent multiple characters."},conditions:{none:"None",empty:"Is Empty","not-empty":"Is Not Empty","text-contains":"Text Contains","does-not-contain":"Text Does Not Contain","starts-with":"Text Starts With","ends-with":"Text Ends With",equals:"Text Equals","greater-than":"Greater Than","greater-than-or-equal":"Greater Than Or Equal To","less-than":"Less Than","less-than-or-equal":"Less Than Or Equal To",equal:"Equal","not-equal":"Not Equal",between:"Between","not-between":"Not Between",custom:"Custom"},msg:{"filter-header-forbidden":"You can't move the header row of a filter."},date:{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"}}}});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?module.exports=factory():typeof define=="function"&&define.amd?define(factory):(global=typeof globalThis<"u"?globalThis:global||self,global.UniverSheetsFilterUiEnUS=factory())})(this,function(){"use strict";return{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"Toggle Filter","clear-filter-criteria":"Clear Filter Conditions","re-calc-filter-conditions":"Re-calc Filter Conditions"},command:{"not-valid-filter-range":"The selected range only has one row and not valid for filter."},shortcut:{"smart-toggle-filter":"Toggle Filter"},panel:{"clear-filter":"Clear Filter",cancel:"Cancel",confirm:"Confirm","by-values":"By Values","by-conditions":"By Conditions","filter-only":"Filter Only","search-placeholder":"Use space to separate keywords","select-all":"Select All","input-values-placeholder":"Input Values",and:"AND",or:"OR",empty:"(empty)","?":"Use “?” to represent a single character.","*":"Use “*” to represent multiple characters."},conditions:{none:"None",empty:"Is Empty","not-empty":"Is Not Empty","text-contains":"Text Contains","does-not-contain":"Text Does Not Contain","starts-with":"Text Starts With","ends-with":"Text Ends With",equals:"Text Equals","greater-than":"Greater Than","greater-than-or-equal":"Greater Than Or Equal To","less-than":"Less Than","less-than-or-equal":"Less Than Or Equal To",equal:"Equal","not-equal":"Not Equal",between:"Between","not-between":"Not Between",custom:"Custom"},msg:{"filter-header-forbidden":"You can't move the header row of a filter."},date:{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"}}}});
@@ -1 +1 @@
1
- (function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverSheetsFilterUiFaIR=t())})(this,function(){"use strict";return{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"تغییر حالت فیلتر","clear-filter-criteria":"پاک کردن شرایط فیلتر","re-calc-filter-conditions":"بازمحاسبه شرایط فیلتر"},command:{"not-valid-filter-range":"محدوده انتخاب شده فقط یک ردیف دارد و برای فیلتر معتبر نیست."},shortcut:{"smart-toggle-filter":"تغییر حالت فیلتر"},panel:{"clear-filter":"پاک کردن فیلتر",cancel:"انصراف",confirm:"تایید","by-values":"بر اساس مقادیر","by-conditions":"بر اساس شرایط","filter-only":"فقط فیلتر","search-placeholder":"برای جداسازی کلیدواژه‌ها از فاصله استفاده کنید","select-all":"انتخاب همه","input-values-placeholder":"ورود مقادیر",and:"و",or:"یا",empty:"(خالی)","?":"برای نمایش یک کاراکتر از “?” استفاده کنید.","*":"برای نمایش چندین کاراکتر از “*” استفاده کنید."},conditions:{none:"هیچ کدام",empty:"خالی است","not-empty":"خالی نیست","text-contains":"شامل متن است","does-not-contain":"شامل متن نیست","starts-with":"با متن شروع می‌شود","ends-with":"با متن پایان می‌یابد",equals:"برابر است با","greater-than":"بزرگتر از","greater-than-or-equal":"بزرگتر از یا برابر با","less-than":"کوچکتر از","less-than-or-equal":"کوچکتر از یا برابر با",equal:"برابر است با","not-equal":"برابر نیست با",between:"بین","not-between":"بین نیست",custom:"سفارشی"},msg:{"filter-header-forbidden":"شما نمی‌توانید ردیف هدر یک فیلتر را جابه‌جا کنید."},date:{1:"ژانویه",2:"فوریه",3:"مارس",4:"آوریل",5:"مه",6:"ژوئن",7:"جولای",8:"آگوست",9:"سپتامبر",10:"اکتبر",11:"نوامبر",12:"دسامبر"}}}});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?module.exports=factory():typeof define=="function"&&define.amd?define(factory):(global=typeof globalThis<"u"?globalThis:global||self,global.UniverSheetsFilterUiFaIR=factory())})(this,function(){"use strict";return{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"تغییر حالت فیلتر","clear-filter-criteria":"پاک کردن شرایط فیلتر","re-calc-filter-conditions":"بازمحاسبه شرایط فیلتر"},command:{"not-valid-filter-range":"محدوده انتخاب شده فقط یک ردیف دارد و برای فیلتر معتبر نیست."},shortcut:{"smart-toggle-filter":"تغییر حالت فیلتر"},panel:{"clear-filter":"پاک کردن فیلتر",cancel:"انصراف",confirm:"تایید","by-values":"بر اساس مقادیر","by-conditions":"بر اساس شرایط","filter-only":"فقط فیلتر","search-placeholder":"برای جداسازی کلیدواژه‌ها از فاصله استفاده کنید","select-all":"انتخاب همه","input-values-placeholder":"ورود مقادیر",and:"و",or:"یا",empty:"(خالی)","?":"برای نمایش یک کاراکتر از “?” استفاده کنید.","*":"برای نمایش چندین کاراکتر از “*” استفاده کنید."},conditions:{none:"هیچ کدام",empty:"خالی است","not-empty":"خالی نیست","text-contains":"شامل متن است","does-not-contain":"شامل متن نیست","starts-with":"با متن شروع می‌شود","ends-with":"با متن پایان می‌یابد",equals:"برابر است با","greater-than":"بزرگتر از","greater-than-or-equal":"بزرگتر از یا برابر با","less-than":"کوچکتر از","less-than-or-equal":"کوچکتر از یا برابر با",equal:"برابر است با","not-equal":"برابر نیست با",between:"بین","not-between":"بین نیست",custom:"سفارشی"},msg:{"filter-header-forbidden":"شما نمی‌توانید ردیف هدر یک فیلتر را جابه‌جا کنید."},date:{1:"ژانویه",2:"فوریه",3:"مارس",4:"آوریل",5:"مه",6:"ژوئن",7:"جولای",8:"آگوست",9:"سپتامبر",10:"اکتبر",11:"نوامبر",12:"دسامبر"}}}});
@@ -1 +1 @@
1
- (function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverSheetsFilterUiFrFR=t())})(this,function(){"use strict";return{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"Inverser le filtre","clear-filter-criteria":"Effacer les conditions de filtre","re-calc-filter-conditions":"Recalculer les conditions de filtre"},command:{"not-valid-filter-range":"La plage sélectionnée n'a qu'une seule ligne et n'est pas valide pour le filtre."},shortcut:{"smart-toggle-filter":"Inverser le filtre"},panel:{"clear-filter":"Effacer le filtre",cancel:"Annuler",confirm:"Confirmer","by-values":"Par valeurs","by-conditions":"Par conditions","filter-only":"Filtrer uniquement","search-placeholder":"Utilisez un espace pour séparer les mots-clés","select-all":"Tout sélectionner","input-values-placeholder":"Saisir des valeurs",and:"ET",or:"OU",empty:"(vide)","?":"Utilisez “?” pour représenter un seul caractère.","*":"Utilisez “*” pour représenter plusieurs caractères."},conditions:{none:"Aucun",empty:"Est vide","not-empty":"N'est pas vide","text-contains":"Le texte contient","does-not-contain":"Le texte ne contient pas","starts-with":"Le texte commence par","ends-with":"Le texte se termine par",equals:"Le texte est égal à","greater-than":"Supérieur à","greater-than-or-equal":"Supérieur ou égal à","less-than":"Inférieur à","less-than-or-equal":"Inférieur ou égal à",equal:"Égal à","not-equal":"Différent de",between:"Entre","not-between":"Pas entre",custom:"Personnalisé"},msg:{"filter-header-forbidden":"Vous ne pouvez pas déplacer la ligne d'en-tête d'un filtre."},date:{1:"Jan",2:"Fév",3:"Mar",4:"Avr",5:"Mai",6:"Juin",7:"Juil",8:"Août",9:"Sept",10:"Oct",11:"Nov",12:"Déc"}}}});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?module.exports=factory():typeof define=="function"&&define.amd?define(factory):(global=typeof globalThis<"u"?globalThis:global||self,global.UniverSheetsFilterUiFrFR=factory())})(this,function(){"use strict";return{"sheets-filter":{toolbar:{"smart-toggle-filter-tooltip":"Inverser le filtre","clear-filter-criteria":"Effacer les conditions de filtre","re-calc-filter-conditions":"Recalculer les conditions de filtre"},command:{"not-valid-filter-range":"La plage sélectionnée n'a qu'une seule ligne et n'est pas valide pour le filtre."},shortcut:{"smart-toggle-filter":"Inverser le filtre"},panel:{"clear-filter":"Effacer le filtre",cancel:"Annuler",confirm:"Confirmer","by-values":"Par valeurs","by-conditions":"Par conditions","filter-only":"Filtrer uniquement","search-placeholder":"Utilisez un espace pour séparer les mots-clés","select-all":"Tout sélectionner","input-values-placeholder":"Saisir des valeurs",and:"ET",or:"OU",empty:"(vide)","?":"Utilisez “?” pour représenter un seul caractère.","*":"Utilisez “*” pour représenter plusieurs caractères."},conditions:{none:"Aucun",empty:"Est vide","not-empty":"N'est pas vide","text-contains":"Le texte contient","does-not-contain":"Le texte ne contient pas","starts-with":"Le texte commence par","ends-with":"Le texte se termine par",equals:"Le texte est égal à","greater-than":"Supérieur à","greater-than-or-equal":"Supérieur ou égal à","less-than":"Inférieur à","less-than-or-equal":"Inférieur ou égal à",equal:"Égal à","not-equal":"Différent de",between:"Entre","not-between":"Pas entre",custom:"Personnalisé"},msg:{"filter-header-forbidden":"Vous ne pouvez pas déplacer la ligne d'en-tête d'un filtre."},date:{1:"Jan",2:"Fév",3:"Mar",4:"Avr",5:"Mai",6:"Juin",7:"Juil",8:"Août",9:"Sept",10:"Oct",11:"Nov",12:"Déc"}}}});