@univerjs/sheets-filter-ui 0.10.10 → 0.10.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +2 -2
- package/lib/es/index.js +245 -245
- package/lib/index.css +1 -1
- package/lib/index.js +245 -245
- package/lib/umd/index.js +2 -2
- package/package.json +14 -14
package/lib/cjs/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var nt=Object.defineProperty;var ot=(t,e,r)=>e in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var _=(t,e,r)=>ot(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),c=require("@univerjs/sheets-filter"),k=require("@univerjs/sheets-ui"),g=require("@univerjs/ui"),J=require("@univerjs/engine-render"),I=require("@univerjs/sheets"),S=require("rxjs"),Te=require("@univerjs/rpc"),y=require("@univerjs/design"),d=require("react/jsx-runtime"),O=require("react");var P=(t=>(t[t.FIRST=0]="FIRST",t[t.SECOND=1]="SECOND",t))(P||{}),F=(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))(F||{}),f;(t=>{t.NONE={label:"sheets-filter.conditions.none",operator:F.NONE,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===F.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},t.EMPTY={label:"sheets-filter.conditions.empty",operator:F.EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===""&&o.operator===void 0?{operator1:F.EMPTY}:!1}},t.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:F.NOT_EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===" "&&o.operator===c.CustomFilterOperator.NOT_EQUALS?{operator1:F.NOT_EMPTY}:!1}},t.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:F.CONTAINS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.CONTAINS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===F.CONTAINS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:`*${o}*`}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.CONTAINS,val1:l.slice(1,-1)}:!1}},t.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:F.DOES_NOT_CONTAIN,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return o.operator===c.CustomFilterOperator.NOT_EQUALS&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.DOES_NOT_CONTAIN,val1:l.slice(1,-1)}:!1}},t.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:F.STARTS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.STARTS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.endsWith("*")&&!l.startsWith("*")?{operator1:F.STARTS_WITH,val1:l.slice(0,-1)}:!1}},t.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:F.ENDS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.ENDS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&!l.endsWith("*")?{operator1:F.ENDS_WITH,val1:l.slice(1)}:!1}},t.EQUALS={label:"sheets-filter.conditions.equals",operator:F.EQUALS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.EQUALS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===F.EQUALS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:o}]}}},testMappingFilterColumn:i=>{var o,l,h;return((l=(o=i.filters)==null?void 0:o.filters)==null?void 0:l.length)===1?{operator1:F.EQUALS,val1:""}:((h=i.customFilters)==null?void 0:h.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:F.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},t.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:c.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:F.BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(!o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(c.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:u.BooleanNumber.TRUE,customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&l.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&o.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:o.val.toLocaleString()}:!1}},t.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:F.NOT_BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:"",operator2:c.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN)&&m.includes(c.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.LESS_THAN&&l.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString(),operator2:c.CustomFilterOperator.GREATER_THAN,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.LESS_THAN&&o.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.GREATER_THAN,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN,val2:o.val.toLocaleString()}:!1}},t.CUSTOM={label:"sheets-filter.conditions.custom",operator:F.CUSTOM,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:F.NONE,val1:"",operator2:F.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:o,val1:l,val2:h,operator1:m,operator2:p}=i;function E(w,R){for(const x of t.ALL_CONDITIONS)if(x.operator===w)return x.mapToFilterColumn({val1:R,operator1:w})}const v=!m||m===t.NONE.operator,C=!p||p===t.NONE.operator;if(v&&C)return t.NONE.mapToFilterColumn({});if(v)return E(p,h);if(C)return E(m,l);const T=E(m,l),b=E(p,h),N={customFilters:[T.customFilters.customFilters[0],b.customFilters.customFilters[0]]};return o&&(N.and=u.BooleanNumber.TRUE),{customFilters:N}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const o=i.customFilters.customFilters.map(m=>a({customFilters:{customFilters:[m]}})),l={operator1:o[0][0].operator,val1:o[0][1].val1,operator2:o[1][0].operator,val2:o[1][1].val1};return i.customFilters.and&&(l.and=!0),l}},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(i){const o=t.ALL_CONDITIONS.find(l=>l.operator===i);if(!o)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return o}t.getItemByOperator=e;function r(i,o){for(const l of t.ALL_CONDITIONS.filter(h=>h.numOfParameters===o))if(l.numOfParameters!==0&&l.testMappingParams(i))return l;for(const l of t.ALL_CONDITIONS)if(l.testMappingParams(i))return l;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}t.testMappingParams=r;function s(i){const o=t.ALL_CONDITIONS.find(l=>l.operator===i);return(o==null?void 0:o.numOfParameters)===0?{operator1:o.operator}:o.getDefaultFormParams()}t.getInitialFormParams=s;function n(i,o){return i.mapToFilterColumn(o)}t.mapToFilterColumn=n;function a(i){if(!i)return[t.NONE,{}];for(const o of t.ALL_CONDITIONS){const l=o.testMappingFilterColumn(i);if(l)return[o,l]}return[t.NONE,{}]}t.testMappingFilterColumn=a})(f||(f={}));function D(t){const{operator1:e,operator2:r,val1:s,val2:n}=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,s]:[r,n]}function Pe(t){const e=[],r=[];let s=0,n=0;function a(i){i.leaf&&(i.checked?(e.push(i),s+=i.count):(r.push(i),n+=i.count)),i.children&&i.children.forEach(a)}return t.forEach(a),{checkedItems:e,uncheckedItems:r,checked:s,unchecked:n}}var lt=Object.getOwnPropertyDescriptor,at=(t,e,r,s)=>{for(var n=s>1?void 0:s?lt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},be=(t,e)=>(r,s)=>e(r,s,t);const Le="sheets-filter.generate-filter-values.service",ve=u.createIdentifier(Le),ct=["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 Ae=class extends u.Disposable{constructor(t,e,r){super(),this._localeService=t,this._univerInstanceService=e,this._logService=r}async getFilterValues(t){var p;const{unitId:e,subUnitId:r,filteredOutRowsByOtherColumns:s,filterColumn:n,filters:a,blankChecked:i,iterateRange:o,alreadyChecked:l}=t,h=this._univerInstanceService.getUnit(e),m=(p=this._univerInstanceService.getUnit(e))==null?void 0:p.getSheetBySheetId(r);return!h||!m?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:e,subUnitId:r}),Qe(a,this._localeService,o,m,new Set(s),n,new Set(l.map(String)),i,h.getStyles()))}};Ae=at([be(0,u.Inject(u.LocaleService)),be(1,u.IUniverInstanceService),be(2,u.ILogService)],Ae);function Qe(t,e,r,s,n,a,i,o,l){var N,w,R,x,$,Q,G,ee,B,M;const h=new Map,m=new Map,p="yyyy-mm-dd",E=new Set(ct),v="empty",C=!t&&((a==null?void 0:a.filterBy)===c.FilterBy.COLORS||(a==null?void 0:a.filterBy)===c.FilterBy.CONDITIONS)&&((N=a.filteredOutRows)==null?void 0:N.size);let T=0;for(const L of s.iterateByColumn(r,!1,!1)){const{row:Oe,rowSpan:Ue=1}=L;let te=0;for(;te<Ue;){const it=Oe+te;if(n.has(it)){te++;continue}const K=L!=null&&L.value?u.extractPureTextFromCell(L.value):"";if(!K){T+=1,te+=Ue;continue}const pe=(w=L.value)!=null&&w.v&&!L.value.p?($=(x=l.get((R=L.value)==null?void 0:R.s))==null?void 0:x.n)==null?void 0:$.pattern:"",st=pe&&u.numfmt.getFormatInfo(pe).isDate;if(pe&&st&&E.has(pe)){const Y=(Q=s.getCellRaw(L.row,L.col))==null?void 0:Q.v;if(!Y){te++;continue}const re=u.numfmt.format(p,Y),[A,H,ae]=re.split("-").map(Number);let X=h.get(`${A}`);X||(X={title:`${A}`,key:`${A}`,children:[],count:0,leaf:!1,checked:!1},h.set(`${A}`,X),m.set(`${A}`,[`${A}`]));let V=(G=X.children)==null?void 0:G.find(Ie=>Ie.key===`${A}-${H}`);V||(V={title:e.t(`sheets-filter.date.${H}`),key:`${A}-${H}`,children:[],count:0,leaf:!1,checked:!1},(ee=X.children)==null||ee.push(V),m.set(`${A}-${H}`,[`${A}`,`${A}-${H}`]));const ye=(B=V==null?void 0:V.children)==null?void 0:B.find(Ie=>Ie.key===`${A}-${H}-${ae}`);ye?(ye.originValues.add(K),ye.count++,V.count++,X.count++):((M=V.children)==null||M.push({title:`${ae}`,key:`${A}-${H}-${ae}`,count:1,originValues:new Set([K]),leaf:!0,checked:C?!1:i.size?i.has(K):!o}),V.count++,X.count++,m.set(`${A}-${H}-${ae}`,[`${A}`,`${A}-${H}`,`${A}-${H}-${ae}`]))}else{const Y=K;let re=h.get(Y);re?re.count++:(re={title:K,leaf:!0,checked:C?!1:i.size?i.has(K):!o,key:Y,count:1},h.set(Y,re),m.set(Y,[Y]))}te++}}const b=C?!1:t?o:!0;if(T>0){const L={title:e.t("sheets-filter.panel.empty"),count:T,leaf:!0,checked:b,key:v};h.set("empty",L),m.set("empty",[v])}return{filterTreeItems:ut(Array.from(h.values())),filterTreeMapCache:m}}function ut(t){return Array.from(t).sort((e,r)=>e.children&&!r.children?-1:!e.children&&r.children?1:ht(e.title,r.title)).map(e=>(e.children&&e.children.sort((r,s)=>{const n=Number.parseInt(r.key.split("-")[1],10),a=Number.parseInt(s.key.split("-")[1],10);return n-a}).forEach(r=>{r.children&&r.children.sort((s,n)=>{const a=Number.parseInt(s.key.split("-")[2],10),i=Number.parseInt(n.key.split("-")[2],10);return a-i})}),e))}const ke=t=>!Number.isNaN(Number(t))&&!Number.isNaN(Number.parseFloat(t));function ht(t,e){const r=ke(t),s=ke(e);return r&&s?Number.parseFloat(t)-Number.parseFloat(e):r&&!s?-1:!r&&s?1:t.localeCompare(e)}function we(t,e){for(const r of t){if(r.key===e)return r;if(r.children){const s=we(r.children,e);if(s)return s}}return null}function Ge(t){return t.leaf?t.checked:t.children?t.children.every(e=>Ge(e)):!0}function ce(t,e){t.leaf&&(e!==void 0?t.checked=e:t.checked=!t.checked),t.children&&t.children.forEach(r=>ce(r,e))}function Ye(t,e){const r=[];return t.forEach(s=>{const n=s.originValues?e.some(o=>Array.from(s.originValues).some(l=>l.toLowerCase().includes(o.toLowerCase()))):!1,a=!n&&e.some(o=>s.title.toLowerCase().includes(o.toLowerCase()));if(n||a)r.push({...s});else if(s.children){const o=Ye(s.children,e);if(o.length>0){const l=o.reduce((h,m)=>h+m.count,0);r.push({...s,count:l,children:o})}}}),r}var dt=Object.getOwnPropertyDescriptor,Ee=(t,e,r,s)=>{for(var n=s>1?void 0:s?dt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},he=(t,e)=>(r,s)=>e(r,s,t);u.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Z=class extends u.Disposable{constructor(e,r){super();_(this,"_filterBy$",new S.BehaviorSubject(c.FilterBy.VALUES));_(this,"filterBy$",this._filterBy$.asObservable());_(this,"_filterByModel$",new S.ReplaySubject(1));_(this,"filterByModel$",this._filterByModel$.asObservable());_(this,"_filterByModel",null);_(this,"_hasCriteria$",new S.BehaviorSubject(!1));_(this,"hasCriteria$",this._hasCriteria$.asObservable());_(this,"_filterModel",null);_(this,"_col$",new S.BehaviorSubject(-1));_(this,"col$",this._col$.asObservable());_(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 s=e.getFilterColumn(r);if(s){const n=s.getColumnData();if(n.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,r);return}if(n.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,r);return}if(n.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){if(!this._filterModel||this.col===-1)return!1;switch(e){case c.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case c.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case c.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,r){this._disposeFilterHeaderChangeListener();const s=e.unitId,n=e.subUnitId,a=e.getRange(),i={startColumn:r,startRow:a.startRow,endRow:a.startRow,endColumn:r};this._filterHeaderListener=this._refRangeService.watchRange(s,n,i,(o,l)=>{if(!l)this.terminate();else{const h=l.startColumn-o.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await ge.fromFilterColumn(this._injector,e,r);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.VALUES),this._listenToFilterHeaderChange(e,r),!0}async _setupByColors(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await Ce.fromFilterColumn(this._injector,e,r);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.COLORS),this._listenToFilterHeaderChange(e,r),!0}_setupByConditions(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=_e.fromFilterColumn(this._injector,e,r,e.getFilterColumn(r));return this.filterByModel=n,this._filterBy$.next(c.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,r),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};Z=Ee([he(0,u.Inject(u.Injector)),he(1,u.Inject(I.RefRangeService))],Z);let _e=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_conditionItem$");_(this,"conditionItem$");_(this,"_filterConditionFormParams$");_(this,"filterConditionFormParams$");this._filterModel=e,this.col=r,this._commandService=a,this._conditionItem$=new S.BehaviorSubject(s),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new S.BehaviorSubject(n),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,r,s,n){const[a,i]=f.testMappingFilterColumn(n==null?void 0:n.getColumnData());return e.createInstance(_e,r,s,a,i)}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=f.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=f.ALL_CONDITIONS.find(s=>s.operator===e);if(!r)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(r),this._filterConditionFormParams$.next(f.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 s=f.testMappingParams(r,this.conditionItem.numOfParameters);this._conditionItem$.next(s)}this._filterConditionFormParams$.next(r)}};_e=Ee([he(4,u.ICommandService)],_e);let ge=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"_rawFilterItems$");_(this,"rawFilterItems$");_(this,"filterItems$");_(this,"_filterItems",[]);_(this,"_treeMapCache");_(this,"canApply$");_(this,"_manuallyUpdateFilterItems$");_(this,"_searchString$");_(this,"searchString$");this._filterModel=e,this.col=r,this._commandService=a,this._treeMapCache=n,this._searchString$=new S.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new S.BehaviorSubject(s),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new S.Subject,this.filterItems$=S.merge(S.combineLatest([this._searchString$.pipe(S.throttleTime(500,void 0,{leading:!0,trailing:!0}),S.startWith(void 0)),this._rawFilterItems$]).pipe(S.map(([i,o])=>{if(!i)return o;const h=i.toLowerCase().split(/\s+/).filter(m=>!!m);return Ye(o,h)})),this._manuallyUpdateFilterItems$).pipe(S.shareReplay(1)),this.canApply$=this.filterItems$.pipe(S.map(i=>Pe(i).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(i=>this._filterItems=i))}static async fromFilterColumn(e,r,s){const n=e.get(u.IUniverInstanceService),a=e.get(u.LocaleService),i=e.get(ve,u.Quantity.OPTIONAL),{unitId:o,subUnitId:l}=r,h=n.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(l);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${o} and subUnitId: ${l}!`);const p=r.getRange(),E=s,v=r.getFilterColumn(s),C=v==null?void 0:v.getColumnData().filters,T=new Set(C==null?void 0:C.filters),b=!!(C&&C.blank),N=r.getFilteredOutRowsExceptCol(s),w={...p,startRow:p.startRow+1,startColumn:E,endColumn:E};let R,x;if(i){const $=await i.getFilterValues({unitId:o,subUnitId:l,filteredOutRowsByOtherColumns:Array.from(N),filterColumn:v,filters:!!C,blankChecked:b,iterateRange:w,alreadyChecked:Array.from(T)});R=$.filterTreeItems,x=$.filterTreeMapCache}else{const $=Qe(!!C,a,w,m,N,v,T,b,h.getStyles());R=$.filterTreeItems,x=$.filterTreeMapCache}return e.createInstance(ge,r,s,R,x)}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(s=>ce(s,e)),this._manuallyUpdateFilterItems(r)}onFilterCheckToggled(e){const r=u.Tools.deepClone(this._filterItems),s=we(r,e.key);if(!s)return;const n=Ge(s);ce(s,!n),this._manuallyUpdateFilterItems(r)}onFilterOnly(e){const r=u.Tools.deepClone(this._filterItems);r.forEach(s=>ce(s,!1)),e.forEach(s=>{const n=we(r,s);n&&ce(n,!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=Pe(this._filterItems),{checked:r,checkedItems:s}=e,n=this.rawFilterItems;let a=0;for(const h of n)a+=h.count;const i=r===0,o=e.checked===a,l={colId:this.col};if(i)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});{l.filters={};const h=s.filter(p=>p.key!=="empty");h.length>0&&(l.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==s.length&&(l.filters.blank=!0)}return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:l})}};ge=Ee([he(4,u.ICommandService)],ge);let Ce=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_cellFillColors$");_(this,"cellFillColors$");_(this,"_cellTextColors$");_(this,"cellTextColors$");this._filterModel=e,this.col=r,this._commandService=a,this._cellFillColors$=new S.BehaviorSubject(Array.from(s.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new S.BehaviorSubject(Array.from(n.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}static async fromFilterColumn(e,r,s){var w,R,x;const n=e.get(u.IUniverInstanceService),{unitId:a,subUnitId:i}=r,o=n.getUniverSheetInstance(a);if(!o)throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${a}!`);const l=o==null?void 0:o.getSheetBySheetId(i);if(!l)throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${a} and subUnitId: ${i}!`);const h=r.getRange(),m=s,p=(w=r.getFilterColumn(s))==null?void 0:w.getColumnData().colorFilters,E=r.getFilteredOutRowsExceptCol(s),v={...h,startRow:h.startRow+1,startColumn:m,endColumn:m},C=new Map,T=new Set((R=p==null?void 0:p.cellFillColors)!=null?R:[]),b=new Map,N=new Set((x=p==null?void 0:p.cellTextColors)!=null?x:[]);for(const $ of l.iterateByColumn(v,!1,!0)){const{row:Q,col:G,value:ee}=$;if(E.has(Q))continue;const B=l.getComposedCellStyleByCellData(Q,G,ee);if(B.bg&&B.bg.rgb){const M=new u.ColorKit(B.bg.rgb).toRgbString();C.has(M)||C.set(M,{color:M,checked:T.has(M)})}else C.set("default-fill-color",{color:null,checked:T.has(null)});if(B.cl&&B.cl.rgb){const M=new u.ColorKit(B.cl.rgb).toRgbString();b.has(M)||b.set(M,{color:M,checked:N.has(M)})}else b.set("default-font-color",{color:J.COLOR_BLACK_RGB,checked:N.has(J.COLOR_BLACK_RGB)})}return e.createInstance(Ce,r,s,C,b)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}dispose(){super.dispose(),this._cellFillColors$.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})}onFilterCheckToggled(e,r=!0){const s=r?this.cellFillColors:this.cellTextColors,n=[];let a=!1;for(let i=0;i<s.length;i++){const o=s[i];if(o.color===e.color){a=!0,n.push({color:o.color,checked:!o.checked});continue}n.push({color:o.color,checked:o.checked})}a&&(this._resetColorsCheckedStatus(!r),r?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n]))}_resetColorsCheckedStatus(e=!0){const r=e?this.cellFillColors:this.cellTextColors,s=[];for(let n=0;n<r.length;n++)s.push({color:r[n].color,checked:!1});e?this._cellFillColors$.next([...s]):this._cellTextColors$.next([...s])}async apply(){if(this._disposed)return!1;const e=this.cellFillColors.filter(n=>n.checked).map(n=>n.color),r=this.cellTextColors.filter(n=>n.checked).map(n=>n.color);if(e.length===0&&r.length===0)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});const s={colId:this.col};return e.length>0?s.colorFilters={cellFillColors:e}:r.length>0&&(s.colorFilters={cellTextColors:r}),this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:s})}};Ce=Ee([he(4,u.ICommandService)],Ce);const ne="FILTER_PANEL_OPENED",de={id:"sheet.operation.open-filter-panel",type:u.CommandType.OPERATION,handler:(t,e)=>{const r=t.get(u.IContextService),s=t.get(c.SheetsFilterService),n=t.get(Z);t.get(u.ICommandService).syncExecuteCommand(k.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:i,subUnitId:o,col:l}=e,h=s.getFilterModel(i,o);return h?(n.setupCol(h,l),r.getContextValue(ne)||r.setContextValue(ne,!0),!0):!1}},se={id:"sheet.operation.close-filter-panel",type:u.CommandType.OPERATION,handler:t=>{const e=t.get(u.IContextService),r=t.get(Z),s=t.get(g.ILayoutService,u.Quantity.OPTIONAL);return e.getContextValue(ne)?(e.setContextValue(ne,!1),s==null||s.focus(),r.terminate()):!1}},$e={id:"sheet.operation.apply-filter",type:u.CommandType.OPERATION,handler:(t,e)=>{const{filterBy:r}=e;return t.get(Z).changeFilterBy(r)}},qe="sheets-filter-ui.config",Se={};var mt=Object.getOwnPropertyDescriptor,pt=(t,e,r,s)=>{for(var n=s>1?void 0:s?mt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},ie=(t,e)=>(r,s)=>e(r,s,t);let oe=class extends u.Disposable{constructor(t,e,r,s,n,a){super(),this._sheetsFilterService=t,this._localeService=e,this._commandService=r,this._sheetPermissionCheckPermission=s,this._injector=n,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{var e,r,s;if(t.id===c.SmartToggleSheetsFilterCommand.id){const n=this._injector.get(u.IUniverInstanceService),a=I.getSheetCommandTarget(n);if(!a)return;const{unitId:i,subUnitId:o,worksheet:l}=a,h=(e=this._sheetsFilterService.getFilterModel(i,o))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission]},[h]);else{const p=(r=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:r.range;if(p){let E={...p};E=p.startColumn===p.endColumn&&p.startRow===p.endRow?I.expandToContinuousRange(E,{left:!0,right:!0,up:!0,down:!0},l):E,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetViewPermission,I.WorksheetFilterPermission]},[E],i,o)}else m=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetViewPermission,I.WorksheetFilterPermission]})}m||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(t.id===de.id){const n=t.params,{unitId:a,subUnitId:i}=n,o=(s=this._sheetsFilterService.getFilterModel(a,i))==null?void 0:s.getRange(),l=u.Tools.deepClone(o);l&&(l.startColumn=n.col,l.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission]},[l])||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};oe=pt([ie(0,u.Inject(c.SheetsFilterService)),ie(1,u.Inject(u.LocaleService)),ie(2,u.ICommandService),ie(3,u.Inject(I.SheetPermissionCheckController)),ie(4,u.Inject(u.Injector)),ie(5,u.Inject(I.SheetsSelectionsService))],oe);const q=16,ft=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 je{static drawNoCriteria(e,r,s,n){e.save(),J.Rect.drawWith(e,{radius:2,width:q,height:q,fill:n}),e.lineCap="square",e.strokeStyle=s,e.scale(r/q,r/q),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,s,n){e.save(),J.Rect.drawWith(e,{radius:2,width:q,height:q,fill:n}),e.scale(r/q,r/q),e.fillStyle=s,e.fill(ft),e.restore()}}var vt=Object.getOwnPropertyDescriptor,_t=(t,e,r,s)=>{for(var n=s>1?void 0:s?vt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Ne=(t,e)=>(r,s)=>e(r,s,t);const W=16,ue=1;let xe=class extends J.Shape{constructor(e,r,s,n,a){super(e,r);_(this,"_cellWidth",0);_(this,"_cellHeight",0);_(this,"_filterParams");_(this,"_hovered",!1);this._contextService=s,this._commandService=n,this._themeService=a,this.setShapeProps(r),this.onPointerDown$.subscribeEvent(i=>this.onPointerDown(i)),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,s=this._cellWidth,n=W-s,a=W-r;e.save();const i=new Path2D;i.rect(n,a,s,r),e.clip(i);const{hasCriteria:o}=this._filterParams,l=this._themeService.getColorFromTheme("primary.600"),h=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";o?je.drawHasCriteria(e,W,l,h):je.drawNoCriteria(e,W,l,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:r,unitId:s,subUnitId:n}=this._filterParams;this._contextService.getContextValue(ne)||!this._commandService.hasCommand(de.id)||setTimeout(()=>{this._commandService.executeCommand(de.id,{unitId:s,subUnitId:n,col:r})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};xe=_t([Ne(2,u.IContextService),Ne(3,u.ICommandService),Ne(4,u.Inject(u.ThemeService))],xe);var gt=Object.getOwnPropertyDescriptor,Ct=(t,e,r,s)=>{for(var n=s>1?void 0:s?gt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},z=(t,e)=>(r,s)=>e(r,s,t);const St=1e3,Ft=5e3;function Tt(t,e,r,s){switch(s){case u.VerticalAlign.TOP:return t+ue;case u.VerticalAlign.MIDDLE:return t+Math.max(0,(r-W)/2);case u.VerticalAlign.BOTTOM:default:return e-W-ue}}let Me=class extends u.RxDisposable{constructor(e,r,s,n,a,i,o,l){super();_(this,"_filterRangeShape",null);_(this,"_buttonRenderDisposable",null);_(this,"_filterButtonShapes",[]);this._context=e,this._injector=r,this._sheetSkeletonManagerService=s,this._sheetsFilterService=n,this._themeService=a,this._sheetInterceptorService=i,this._commandService=o,this._selectionRenderService=l,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(S.switchMap(e=>{var o,l;if(!e)return S.of(null);const{unit:r,unitId:s}=this._context,n=((o=r.getActiveSheet())==null?void 0:o.getSheetId())||"",a=(l=this._sheetsFilterService.getFilterModel(s,n))!=null?l:void 0,i=()=>({unitId:s,worksheetId:n,filterModel:a,range:a==null?void 0:a.getRange(),skeleton:e.skeleton});return u.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(S.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===I.SetRangeValuesMutation.id)}),S.throttleTime(20,void 0,{leading:!1,trailing:!0}),S.map(i),S.startWith(i()))}),S.takeUntil(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))})}_renderRange(e,r){const{scene:s}=this._context,{rowHeaderWidth:n,columnHeaderHeight:a}=r,i=this._filterRangeShape=new k.SelectionControl(s,St,this._themeService,{rowHeaderWidth:n,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),o={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},l=k.attachSelectionWithCoord(o,r);i.updateRangeBySelectionWithCoord(l),i.setEvent(!1),s.makeDirty(!0)}_renderButtons(e){const{range:r,filterModel:s,unitId:n,skeleton:a,worksheetId:i}=e,{unit:o,scene:l}=this._context,h=o.getSheetBySheetId(i);if(!h)return;this._interceptCellContent(n,i,e.range);const{startColumn:m,endColumn:p,startRow:E}=r;for(let v=m;v<=p;v++){const C=`sheets-filter-button-${v}`,T=k.getCoordByCell(E,v,l,a),b=h.getComposedCellStyle(E,v),N=(b==null?void 0:b.vt)||u.VerticalAlign.BOTTOM,{startX:w,startY:R,endX:x,endY:$}=T,Q=x-w,G=$-R;if(G<=ue||Q<=ue)continue;const ee=!!s.getFilterColumn(v),B=x-W-ue,M=Tt(R,$,G,N),L={left:B,top:M,height:W,width:W,zIndex:Ft,cellHeight:G,cellWidth:Q,filterParams:{unitId:n,subUnitId:i,col:v,hasCriteria:ee}},Oe=this._injector.createInstance(xe,C,L);this._filterButtonShapes.push(Oe)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,r,s){const{startRow:n,startColumn:a,endColumn:i}=s;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Style,handler:(o,l,h)=>{const{row:m,col:p,unitId:E,subUnitId:v}=l;return E!==e||v!==r||m!==n||p<a||p>i||((!o||o===l.rawData)&&(o={...l.rawData}),o.fontRenderExtension={...o==null?void 0:o.fontRenderExtension,rightOffset:W}),h(o)},priority:10})}_disposeRendering(){var e,r;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(r=this._buttonRenderDisposable)==null||r.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};Me=Ct([z(1,u.Inject(u.Injector)),z(2,u.Inject(k.SheetSkeletonManagerService)),z(3,u.Inject(c.SheetsFilterService)),z(4,u.Inject(u.ThemeService)),z(5,u.Inject(I.SheetInterceptorService)),z(6,u.ICommandService),z(7,k.ISheetSelectionRenderService)],Me);var Et=Object.getOwnPropertyDescriptor,Ot=(t,e,r,s)=>{for(var n=s>1?void 0:s?Et(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Be=(t,e)=>(r,s)=>e(r,s,t);let me=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,[Me]))}};me=Ot([Be(0,J.IRenderManagerService),Be(1,u.Inject(k.SheetsRenderService))],me);var yt=Object.defineProperty,It=Object.getOwnPropertyDescriptor,bt=(t,e,r)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nt=(t,e,r,s)=>{for(var n=s>1?void 0:s?It(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},De=(t,e)=>(r,s)=>e(r,s,t),Ze=(t,e,r)=>bt(t,typeof e!="symbol"?e+"":e,r);const Rt="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterMobileUIPlugin=class extends u.Plugin{constructor(e=Se,r,s){super(),this._config=e,this._injector=r,this._configService=s;const{menu:n,...a}=u.merge({},Se,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(qe,a)}onStarting(){[[oe],[me]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(oe)}onRendered(){this._injector.get(me)}};Ze(exports.UniverSheetsFilterMobileUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);Ze(exports.UniverSheetsFilterMobileUIPlugin,"pluginName",Rt);exports.UniverSheetsFilterMobileUIPlugin=Nt([u.DependentOn(c.UniverSheetsFilterPlugin),De(1,u.Inject(u.Injector)),De(2,u.IConfigService)],exports.UniverSheetsFilterMobileUIPlugin);var j=function(){return j=Object.assign||function(t){for(var e,r=1,s=arguments.length;r<s;r++){e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},j.apply(this,arguments)},Pt=function(t,e){var r={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(r[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,s=Object.getOwnPropertySymbols(t);n<s.length;n++)e.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(t,s[n])&&(r[s[n]]=t[s[n]]);return r},le=O.forwardRef(function(t,e){var r=t.icon,s=t.id,n=t.className,a=t.extend,i=Pt(t,["icon","id","className","extend"]),o="univerjs-icon univerjs-icon-".concat(s," ").concat(n||"").trim(),l=O.useRef("_".concat(xt()));return Ke(r,"".concat(s),{defIds:r.defIds,idSuffix:l.current},j({ref:e,className:o},i),a)});function Ke(t,e,r,s,n){return O.createElement(t.tag,j(j({key:e},At(t,r,n)),s),(wt(t,r).children||[]).map(function(a,i){return Ke(a,"".concat(e,"-").concat(t.tag,"-").concat(i),r,void 0,n)}))}function At(t,e,r){var s=j({},t.attrs);r!=null&&r.colorChannel1&&s.fill==="colorChannel1"&&(s.fill=r.colorChannel1),t.tag==="mask"&&s.id&&(s.id=s.id+e.idSuffix),Object.entries(s).forEach(function(a){var i=a[0],o=a[1];i==="mask"&&typeof o=="string"&&(s[i]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var n=e.defIds;return!n||n.length===0||(t.tag==="use"&&s["xlink:href"]&&(s["xlink:href"]=s["xlink:href"]+e.idSuffix),Object.entries(s).forEach(function(a){var i=a[0],o=a[1];typeof o=="string"&&(s[i]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),s}function wt(t,e){var r,s=e.defIds;return!s||s.length===0?t:t.tag==="defs"&&(!((r=t.children)===null||r===void 0)&&r.length)?j(j({},t),{children:t.children.map(function(n){return typeof n.attrs.id=="string"&&s&&s.includes(n.attrs.id)?j(j({},n),{attrs:j(j({},n.attrs),{id:n.attrs.id+e.idSuffix})}):n})}):t}function xt(){return Math.random().toString(36).substring(2,8)}le.displayName="UniverIcon";var Mt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z"}}]},Xe=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"a-icon",ref:e,icon:Mt}))});Xe.displayName="AIcon";var Lt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z"}}]},ze=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"ban-icon",ref:e,icon:Lt}))});ze.displayName="BanIcon";var $t={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Je=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"filter-icon",ref:e,icon:$t}))});Je.displayName="FilterIcon";var Ut={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z"}}]},et=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"info-icon",ref:e,icon:Ut}))});et.displayName="InfoIcon";var kt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z",fillRule:"evenodd",clipRule:"evenodd"}}]},tt=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"success-icon",ref:e,icon:kt}))});tt.displayName="SuccessIcon";function jt(t){const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.cellFillColors$,[],!0),n=g.useObservable(e.cellTextColors$,[],!0),a=O.useCallback(o=>{e.onFilterCheckToggled(o)},[e]),i=O.useCallback(o=>{e.onFilterCheckToggled(o,!1)},[e]);return d.jsx("div",{"data-u-comp":"sheets-filter-panel-colors-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:y.clsx("univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5",y.borderClassName),children:[s.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:r.t("sheets-filter.panel.filter-by-cell-fill-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:s.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>a(o),children:[o.color?d.jsx("button",{type:"button",className:y.clsx("univer-box-border univer-h-6 univer-w-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"),style:{backgroundColor:o.color}}):d.jsx(ze,{className:"univer-h-6 univer-w-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),o.checked&&d.jsx(He,{})]},`sheets-filter-cell-fill-color-${l}`))})]}),n.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:r.t("sheets-filter.panel.filter-by-cell-text-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:n.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>i(o),children:[d.jsx("div",{className:"univer-box-border univer-flex univer-h-full univer-w-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]",children:d.jsx(Xe,{style:{color:o.color}})}),o.checked&&d.jsx(He,{})]},`sheets-filter-cell-text-color-${l}`))})]}),s.length<=1&&n.length<=1&&d.jsx("div",{className:"univer-flex univer-h-full univer-w-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:r.t("sheets-filter.panel.filter-by-color-none")})]})})}function He(){return d.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-h-3 univer-w-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:d.jsx(tt,{className:"univer-h-full univer-w-full univer-font-bold univer-text-[#418F1F]"})})}function Bt(t){var v,C;const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.conditionItem$,void 0),n=g.useObservable(e.filterConditionFormParams$,void 0),a=n!=null&&n.and?"AND":"OR",i=O.useCallback(T=>{e.onConditionFormChange({and:T==="AND"})},[e]),o=Dt(r),l=O.useCallback(T=>{e.onPrimaryConditionChange(T)},[e]),h=Ht(r),m=O.useCallback(T=>{e.onConditionFormChange(T)},[e]),p=r.t("sheets-filter.panel.input-values-placeholder");function E(T,b,N){const w=f.getItemByOperator(T).numOfParameters===1;return d.jsxs(d.Fragment,{children:[N==="operator2"&&d.jsxs(y.RadioGroup,{value:a,onChange:i,children:[d.jsx(y.Radio,{value:"AND",children:r.t("sheets-filter.panel.and")}),d.jsx(y.Radio,{value:"OR",children:r.t("sheets-filter.panel.or")})]}),d.jsx(y.Select,{value:T,options:h,onChange:R=>m({[N]:R})}),w&&d.jsx("div",{children:d.jsx(y.Input,{className:"univer-mt-2",value:b,placeholder:p,onChange:R=>m({[N==="operator1"?"val1":"val2"]:R})})})]})}return d.jsx("div",{"data-u-comp":"sheets-filter-panel-conditions-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:s&&n&&d.jsxs(d.Fragment,{children:[d.jsx(y.Select,{value:s.operator,options:o,onChange:l}),f.getItemByOperator(s.operator).numOfParameters!==0?d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:y.clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",y.borderClassName),children:[s.numOfParameters>=1&&E(n.operator1,(v=n.val1)!=null?v:"","operator1"),s.numOfParameters>=2&&E(n.operator2,(C=n.val2)!=null?C:"","operator2"),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-desc",className:"univer-mt-2 univer-text-xs univer-text-gray-500",children:[r.t("sheets-filter.panel.?"),d.jsx("br",{}),r.t("sheets-filter.panel.*")]})]}):null]})})}function Dt(t){const e=t.getCurrentLocale();return O.useMemo(()=>[{options:[{label:t.t(f.NONE.label),value:f.NONE.operator}]},{options:[{label:t.t(f.EMPTY.label),value:f.EMPTY.operator},{label:t.t(f.NOT_EMPTY.label),value:f.NOT_EMPTY.operator}]},{options:[{label:t.t(f.TEXT_CONTAINS.label),value:f.TEXT_CONTAINS.operator},{label:t.t(f.DOES_NOT_CONTAIN.label),value:f.DOES_NOT_CONTAIN.operator},{label:t.t(f.STARTS_WITH.label),value:f.STARTS_WITH.operator},{label:t.t(f.ENDS_WITH.label),value:f.ENDS_WITH.operator},{label:t.t(f.EQUALS.label),value:f.EQUALS.operator}]},{options:[{label:t.t(f.GREATER_THAN.label),value:f.GREATER_THAN.operator},{label:t.t(f.GREATER_THAN_OR_EQUAL.label),value:f.GREATER_THAN_OR_EQUAL.operator},{label:t.t(f.LESS_THAN.label),value:f.LESS_THAN.operator},{label:t.t(f.LESS_THAN_OR_EQUAL.label),value:f.LESS_THAN_OR_EQUAL.operator},{label:t.t(f.EQUAL.label),value:f.EQUAL.operator},{label:t.t(f.NOT_EQUAL.label),value:f.NOT_EQUAL.operator},{label:t.t(f.BETWEEN.label),value:f.BETWEEN.operator},{label:t.t(f.NOT_BETWEEN.label),value:f.NOT_BETWEEN.operator}]},{options:[{label:t.t(f.CUSTOM.label),value:f.CUSTOM.operator}]}],[e,t])}function Ht(t){const e=t.getCurrentLocale();return O.useMemo(()=>f.ALL_CONDITIONS.filter(r=>r.numOfParameters!==2).map(r=>({label:t.t(r.label),value:r.operator})),[e,t])}function Wt(t){const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.searchString$,"",!0),n=g.useObservable(e.filterItems$,void 0,!0),a=r.t("sheets-filter.panel.filter-only"),i=Pe(n),o=i.checked>0&&i.unchecked===0,l=i.checked>0&&i.unchecked>0,h=e.treeMapCache,m=O.useCallback(()=>{e.onCheckAllToggled(!o)},[e,o]),p=O.useCallback(v=>{e.setSearchString(v)},[e]);function E(v){let C=[];return v.forEach(T=>{T.checked&&C.push(T.key),T.children&&(C=C.concat(E(T.children)))}),C}return d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:[d.jsx(y.Input,{autoFocus:!0,value:s,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:p}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:y.clsx("univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5",y.borderClassName),children:[d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-item",className:"univer-box-border univer-h-8 univer-w-full univer-py-0.5",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-item-inner",className:"univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-pb-0 univer-pl-5 univer-pr-0.5 univer-pt-0 univer-text-sm",children:[d.jsx(y.Checkbox,{indeterminate:l,disabled:n.length===0,checked:o,onChange:m}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-text",className:"univer-mx-1 univer-inline-block univer-flex-shrink univer-overflow-hidden univer-text-ellipsis univer-whitespace-nowrap univer-text-gray-900 dark:!univer-text-white",children:`${r.t("sheets-filter.panel.select-all")}`}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${i.checked}/${i.checked+i.unchecked})`})]})}),d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-virtual",className:"univer-flex-grow",children:d.jsx(y.Tree,{data:n,defaultExpandAll:!1,valueGroup:E(n),onChange:v=>{e.onFilterCheckToggled(v)},defaultCache:h,itemHeight:28,treeNodeClassName:`
|
|
1
|
+
"use strict";var nt=Object.defineProperty;var ot=(t,e,r)=>e in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var _=(t,e,r)=>ot(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),c=require("@univerjs/sheets-filter"),M=require("@univerjs/sheets-ui"),g=require("@univerjs/ui"),J=require("@univerjs/engine-render"),I=require("@univerjs/sheets"),S=require("rxjs"),Te=require("@univerjs/rpc"),y=require("@univerjs/design"),d=require("react/jsx-runtime"),O=require("react");var P=(t=>(t[t.FIRST=0]="FIRST",t[t.SECOND=1]="SECOND",t))(P||{}),F=(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))(F||{}),f;(t=>{t.NONE={label:"sheets-filter.conditions.none",operator:F.NONE,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NONE]: should not have initial form params!")},testMappingParams:i=>i.operator1===F.NONE,mapToFilterColumn:()=>null,testMappingFilterColumn:i=>!i.customFilters&&!i.filters?{}:!1},t.EMPTY={label:"sheets-filter.conditions.empty",operator:F.EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:""}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===""&&o.operator===void 0?{operator1:F.EMPTY}:!1}},t.NOT_EMPTY={label:"sheets-filter.conditions.not-empty",operator:F.NOT_EMPTY,order:P.SECOND,numOfParameters:0,getDefaultFormParams:()=>{throw new Error("[FilterConditionItems.NOT_EMPTY]: should not have initial form params!")},testMappingParams:({operator1:i})=>i===F.NOT_EMPTY,mapToFilterColumn:()=>({customFilters:{customFilters:[{val:"",operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0];return o.val===" "&&o.operator===c.CustomFilterOperator.NOT_EQUALS?{operator1:F.NOT_EMPTY}:!1}},t.TEXT_CONTAINS={label:"sheets-filter.conditions.text-contains",operator:F.CONTAINS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.CONTAINS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===F.CONTAINS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:`*${o}*`}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.CONTAINS,val1:l.slice(1,-1)}:!1}},t.DOES_NOT_CONTAIN={label:"sheets-filter.conditions.does-not-contain",operator:F.DOES_NOT_CONTAIN,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.DOES_NOT_CONTAIN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}*`,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.DOES_NOT_CONTAIN},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return o.operator===c.CustomFilterOperator.NOT_EQUALS&&l.startsWith("*")&&l.endsWith("*")?{operator1:F.DOES_NOT_CONTAIN,val1:l.slice(1,-1)}:!1}},t.STARTS_WITH={label:"sheets-filter.conditions.starts-with",operator:F.STARTS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.STARTS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`${i.val1}*`}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.STARTS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.endsWith("*")&&!l.startsWith("*")?{operator1:F.STARTS_WITH,val1:l.slice(0,-1)}:!1}},t.ENDS_WITH={label:"sheets-filter.conditions.ends-with",operator:F.ENDS_WITH,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.ENDS_WITH,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:`*${i.val1}`}]}}),testMappingParams:i=>{const[o]=D(i);return o===F.ENDS_WITH},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==1)return!1;const o=i.customFilters.customFilters[0],l=o.val.toString();return!o.operator&&l.startsWith("*")&&!l.endsWith("*")?{operator1:F.ENDS_WITH,val1:l.slice(1)}:!1}},t.EQUALS={label:"sheets-filter.conditions.equals",operator:F.EQUALS,order:P.FIRST,numOfParameters:1,getDefaultFormParams:()=>({operator1:F.EQUALS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===F.EQUALS},mapToFilterColumn:i=>{const{val1:o}=i;return o===""?null:{customFilters:{customFilters:[{val:o}]}}},testMappingFilterColumn:i=>{var o,l,h;return((l=(o=i.filters)==null?void 0:o.filters)==null?void 0:l.length)===1?{operator1:F.EQUALS,val1:""}:((h=i.customFilters)==null?void 0:h.customFilters.length)===1&&!i.customFilters.customFilters[0].operator?{operator1:F.EQUALS,val1:i.customFilters.customFilters[0].val.toString()}:!1}},t.GREATER_THAN={label:"sheets-filter.conditions.greater-than",operator:c.CustomFilterOperator.GREATER_THAN,numOfParameters:1,order:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN,val1:""}),mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN}]}}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.GREATER_THAN},testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.LESS_THAN},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.LESS_THAN_OR_EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.EQUAL,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.EQUAL},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.EQUAL}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:P.FIRST,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.NOT_EQUALS,val1:""}),testMappingParams:i=>{const[o]=D(i);return o===c.CustomFilterOperator.NOT_EQUALS},mapToFilterColumn:i=>({customFilters:{customFilters:[{val:i.val1,operator:c.CustomFilterOperator.NOT_EQUALS}]}}),testMappingFilterColumn:i=>{var l;if(((l=i.customFilters)==null?void 0:l.customFilters.length)!==1)return!1;const o=i.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:F.BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:"",operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(!o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN_OR_EQUAL)&&m.includes(c.CustomFilterOperator.LESS_THAN_OR_EQUAL)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL;return{customFilters:{and:u.BooleanNumber.TRUE,customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN_OR_EQUAL}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&l.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:o.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.GREATER_THAN_OR_EQUAL&&o.operator===c.CustomFilterOperator.LESS_THAN_OR_EQUAL&&i.customFilters.and?{and:!0,operator1:c.CustomFilterOperator.GREATER_THAN_OR_EQUAL,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN_OR_EQUAL,val2:o.val.toLocaleString()}:!1}},t.NOT_BETWEEN={label:"sheets-filter.conditions.not-between",operator:F.NOT_BETWEEN,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:c.CustomFilterOperator.LESS_THAN,val1:"",operator2:c.CustomFilterOperator.GREATER_THAN,val2:""}),testMappingParams:i=>{const{and:o,operator1:l,operator2:h}=i;if(o)return!1;const m=[l,h];return m.includes(c.CustomFilterOperator.GREATER_THAN)&&m.includes(c.CustomFilterOperator.LESS_THAN)},mapToFilterColumn:i=>{const{val1:o,val2:l,operator1:h}=i,m=h===c.CustomFilterOperator.GREATER_THAN;return{customFilters:{customFilters:[{val:m?o:l,operator:c.CustomFilterOperator.GREATER_THAN},{val:m?l:o,operator:c.CustomFilterOperator.LESS_THAN}]}}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const[o,l]=i.customFilters.customFilters;return o.operator===c.CustomFilterOperator.LESS_THAN&&l.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.LESS_THAN,val1:o.val.toString(),operator2:c.CustomFilterOperator.GREATER_THAN,val2:l.val.toString()}:l.operator===c.CustomFilterOperator.LESS_THAN&&o.operator===c.CustomFilterOperator.GREATER_THAN&&!i.customFilters.and?{operator1:c.CustomFilterOperator.GREATER_THAN,val1:l.val.toString(),operator2:c.CustomFilterOperator.LESS_THAN,val2:o.val.toLocaleString()}:!1}},t.CUSTOM={label:"sheets-filter.conditions.custom",operator:F.CUSTOM,order:P.SECOND,numOfParameters:2,getDefaultFormParams:()=>({operator1:F.NONE,val1:"",operator2:F.NONE,val2:""}),testMappingParams:()=>!0,mapToFilterColumn:i=>{const{and:o,val1:l,val2:h,operator1:m,operator2:p}=i;function E(w,R){for(const x of t.ALL_CONDITIONS)if(x.operator===w)return x.mapToFilterColumn({val1:R,operator1:w})}const v=!m||m===t.NONE.operator,C=!p||p===t.NONE.operator;if(v&&C)return t.NONE.mapToFilterColumn({});if(v)return E(p,h);if(C)return E(m,l);const T=E(m,l),b=E(p,h),N={customFilters:[T.customFilters.customFilters[0],b.customFilters.customFilters[0]]};return o&&(N.and=u.BooleanNumber.TRUE),{customFilters:N}},testMappingFilterColumn:i=>{var h;if(((h=i.customFilters)==null?void 0:h.customFilters.length)!==2)return!1;const o=i.customFilters.customFilters.map(m=>a({customFilters:{customFilters:[m]}})),l={operator1:o[0][0].operator,val1:o[0][1].val1,operator2:o[1][0].operator,val2:o[1][1].val1};return i.customFilters.and&&(l.and=!0),l}},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(i){const o=t.ALL_CONDITIONS.find(l=>l.operator===i);if(!o)throw new Error(`[SheetsFilter]: no condition item found for operator: ${i}`);return o}t.getItemByOperator=e;function r(i,o){for(const l of t.ALL_CONDITIONS.filter(h=>h.numOfParameters===o))if(l.numOfParameters!==0&&l.testMappingParams(i))return l;for(const l of t.ALL_CONDITIONS)if(l.testMappingParams(i))return l;throw new Error("[SheetsFilter]: no condition item can be mapped from the filter map params!")}t.testMappingParams=r;function s(i){const o=t.ALL_CONDITIONS.find(l=>l.operator===i);return(o==null?void 0:o.numOfParameters)===0?{operator1:o.operator}:o.getDefaultFormParams()}t.getInitialFormParams=s;function n(i,o){return i.mapToFilterColumn(o)}t.mapToFilterColumn=n;function a(i){if(!i)return[t.NONE,{}];for(const o of t.ALL_CONDITIONS){const l=o.testMappingFilterColumn(i);if(l)return[o,l]}return[t.NONE,{}]}t.testMappingFilterColumn=a})(f||(f={}));function D(t){const{operator1:e,operator2:r,val1:s,val2:n}=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,s]:[r,n]}function Pe(t){const e=[],r=[];let s=0,n=0;function a(i){i.leaf&&(i.checked?(e.push(i),s+=i.count):(r.push(i),n+=i.count)),i.children&&i.children.forEach(a)}return t.forEach(a),{checkedItems:e,uncheckedItems:r,checked:s,unchecked:n}}var lt=Object.getOwnPropertyDescriptor,at=(t,e,r,s)=>{for(var n=s>1?void 0:s?lt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},be=(t,e)=>(r,s)=>e(r,s,t);const Le="sheets-filter.generate-filter-values.service",ve=u.createIdentifier(Le),ct=["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 Ae=class extends u.Disposable{constructor(t,e,r){super(),this._localeService=t,this._univerInstanceService=e,this._logService=r}async getFilterValues(t){var p;const{unitId:e,subUnitId:r,filteredOutRowsByOtherColumns:s,filterColumn:n,filters:a,blankChecked:i,iterateRange:o,alreadyChecked:l}=t,h=this._univerInstanceService.getUnit(e),m=(p=this._univerInstanceService.getUnit(e))==null?void 0:p.getSheetBySheetId(r);return!h||!m?[]:(this._logService.debug("[SheetsGenerateFilterValuesService]","getFilterValues for",{unitId:e,subUnitId:r}),Qe(a,this._localeService,o,m,new Set(s),n,new Set(l.map(String)),i,h.getStyles()))}};Ae=at([be(0,u.Inject(u.LocaleService)),be(1,u.IUniverInstanceService),be(2,u.ILogService)],Ae);function Qe(t,e,r,s,n,a,i,o,l){var N,w,R,x,U,Q,G,ee,B,L;const h=new Map,m=new Map,p="yyyy-mm-dd",E=new Set(ct),v="empty",C=!t&&((a==null?void 0:a.filterBy)===c.FilterBy.COLORS||(a==null?void 0:a.filterBy)===c.FilterBy.CONDITIONS)&&((N=a.filteredOutRows)==null?void 0:N.size);let T=0;for(const $ of s.iterateByColumn(r,!1,!1)){const{row:Oe,rowSpan:Ue=1}=$;let te=0;for(;te<Ue;){const it=Oe+te;if(n.has(it)){te++;continue}const K=$!=null&&$.value?u.extractPureTextFromCell($.value):"";if(!K){T+=1,te+=Ue;continue}const pe=(w=$.value)!=null&&w.v&&!$.value.p?(U=(x=l.get((R=$.value)==null?void 0:R.s))==null?void 0:x.n)==null?void 0:U.pattern:"",st=pe&&u.numfmt.getFormatInfo(pe).isDate;if(pe&&st&&E.has(pe)){const Y=(Q=s.getCellRaw($.row,$.col))==null?void 0:Q.v;if(!Y){te++;continue}const re=u.numfmt.format(p,Y),[A,H,ae]=re.split("-").map(Number);let X=h.get(`${A}`);X||(X={title:`${A}`,key:`${A}`,children:[],count:0,leaf:!1,checked:!1},h.set(`${A}`,X),m.set(`${A}`,[`${A}`]));let V=(G=X.children)==null?void 0:G.find(Ie=>Ie.key===`${A}-${H}`);V||(V={title:e.t(`sheets-filter.date.${H}`),key:`${A}-${H}`,children:[],count:0,leaf:!1,checked:!1},(ee=X.children)==null||ee.push(V),m.set(`${A}-${H}`,[`${A}`,`${A}-${H}`]));const ye=(B=V==null?void 0:V.children)==null?void 0:B.find(Ie=>Ie.key===`${A}-${H}-${ae}`);ye?(ye.originValues.add(K),ye.count++,V.count++,X.count++):((L=V.children)==null||L.push({title:`${ae}`,key:`${A}-${H}-${ae}`,count:1,originValues:new Set([K]),leaf:!0,checked:C?!1:i.size?i.has(K):!o}),V.count++,X.count++,m.set(`${A}-${H}-${ae}`,[`${A}`,`${A}-${H}`,`${A}-${H}-${ae}`]))}else{const Y=K;let re=h.get(Y);re?re.count++:(re={title:K,leaf:!0,checked:C?!1:i.size?i.has(K):!o,key:Y,count:1},h.set(Y,re),m.set(Y,[Y]))}te++}}const b=C?!1:t?o:!0;if(T>0){const $={title:e.t("sheets-filter.panel.empty"),count:T,leaf:!0,checked:b,key:v};h.set("empty",$),m.set("empty",[v])}return{filterTreeItems:ut(Array.from(h.values())),filterTreeMapCache:m}}function ut(t){return Array.from(t).sort((e,r)=>e.children&&!r.children?-1:!e.children&&r.children?1:ht(e.title,r.title)).map(e=>(e.children&&e.children.sort((r,s)=>{const n=Number.parseInt(r.key.split("-")[1],10),a=Number.parseInt(s.key.split("-")[1],10);return n-a}).forEach(r=>{r.children&&r.children.sort((s,n)=>{const a=Number.parseInt(s.key.split("-")[2],10),i=Number.parseInt(n.key.split("-")[2],10);return a-i})}),e))}const ke=t=>!Number.isNaN(Number(t))&&!Number.isNaN(Number.parseFloat(t));function ht(t,e){const r=ke(t),s=ke(e);return r&&s?Number.parseFloat(t)-Number.parseFloat(e):r&&!s?-1:!r&&s?1:t.localeCompare(e)}function we(t,e){for(const r of t){if(r.key===e)return r;if(r.children){const s=we(r.children,e);if(s)return s}}return null}function Ge(t){return t.leaf?t.checked:t.children?t.children.every(e=>Ge(e)):!0}function ce(t,e){t.leaf&&(e!==void 0?t.checked=e:t.checked=!t.checked),t.children&&t.children.forEach(r=>ce(r,e))}function Ye(t,e){const r=[];return t.forEach(s=>{const n=s.originValues?e.some(o=>Array.from(s.originValues).some(l=>l.toLowerCase().includes(o.toLowerCase()))):!1,a=!n&&e.some(o=>s.title.toLowerCase().includes(o.toLowerCase()));if(n||a)r.push({...s});else if(s.children){const o=Ye(s.children,e);if(o.length>0){const l=o.reduce((h,m)=>h+m.count,0);r.push({...s,count:l,children:o})}}}),r}var dt=Object.getOwnPropertyDescriptor,Ee=(t,e,r,s)=>{for(var n=s>1?void 0:s?dt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},he=(t,e)=>(r,s)=>e(r,s,t);u.createIdentifier("sheets-filter-ui.sheets-filter-panel.service");let Z=class extends u.Disposable{constructor(e,r){super();_(this,"_filterBy$",new S.BehaviorSubject(c.FilterBy.VALUES));_(this,"filterBy$",this._filterBy$.asObservable());_(this,"_filterByModel$",new S.ReplaySubject(1));_(this,"filterByModel$",this._filterByModel$.asObservable());_(this,"_filterByModel",null);_(this,"_hasCriteria$",new S.BehaviorSubject(!1));_(this,"hasCriteria$",this._hasCriteria$.asObservable());_(this,"_filterModel",null);_(this,"_col$",new S.BehaviorSubject(-1));_(this,"col$",this._col$.asObservable());_(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 s=e.getFilterColumn(r);if(s){const n=s.getColumnData();if(n.customFilters){this._hasCriteria$.next(!0),this._setupByConditions(e,r);return}if(n.colorFilters){this._hasCriteria$.next(!0),this._setupByColors(e,r);return}if(n.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){if(!this._filterModel||this.col===-1)return!1;switch(e){case c.FilterBy.VALUES:this._setupByValues(this._filterModel,this.col);break;case c.FilterBy.COLORS:this._setupByColors(this._filterModel,this.col);break;case c.FilterBy.CONDITIONS:this._setupByConditions(this._filterModel,this.col);break}return!0}terminate(){return this._filterModel=null,this._col$.next(-1),this._disposeFilterHeaderChangeListener(),!0}_disposeFilterHeaderChangeListener(){var e;(e=this._filterHeaderListener)==null||e.dispose(),this._filterHeaderListener=null}_listenToFilterHeaderChange(e,r){this._disposeFilterHeaderChangeListener();const s=e.unitId,n=e.subUnitId,a=e.getRange(),i={startColumn:r,startRow:a.startRow,endRow:a.startRow,endColumn:r};this._filterHeaderListener=this._refRangeService.watchRange(s,n,i,(o,l)=>{if(!l)this.terminate();else{const h=l.startColumn-o.startColumn;h!==0&&this._filterByModel.deltaCol(h)}})}async _setupByValues(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await ge.fromFilterColumn(this._injector,e,r);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.VALUES),this._listenToFilterHeaderChange(e,r),!0}async _setupByColors(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=await Ce.fromFilterColumn(this._injector,e,r);return this.filterByModel=n,this._filterBy$.next(c.FilterBy.COLORS),this._listenToFilterHeaderChange(e,r),!0}_setupByConditions(e,r){this._disposePreviousModel();const s=e.getRange();if(s.startRow===s.endRow)return!1;const n=_e.fromFilterColumn(this._injector,e,r,e.getFilterColumn(r));return this.filterByModel=n,this._filterBy$.next(c.FilterBy.CONDITIONS),this._listenToFilterHeaderChange(e,r),!0}_disposePreviousModel(){var e;(e=this._filterByModel)==null||e.dispose(),this.filterByModel=null}};Z=Ee([he(0,u.Inject(u.Injector)),he(1,u.Inject(I.RefRangeService))],Z);let _e=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_conditionItem$");_(this,"conditionItem$");_(this,"_filterConditionFormParams$");_(this,"filterConditionFormParams$");this._filterModel=e,this.col=r,this._commandService=a,this._conditionItem$=new S.BehaviorSubject(s),this.conditionItem$=this._conditionItem$.asObservable(),this._filterConditionFormParams$=new S.BehaviorSubject(n),this.filterConditionFormParams$=this._filterConditionFormParams$.asObservable()}static fromFilterColumn(e,r,s,n){const[a,i]=f.testMappingFilterColumn(n==null?void 0:n.getColumnData());return e.createInstance(_e,r,s,a,i)}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=f.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=f.ALL_CONDITIONS.find(s=>s.operator===e);if(!r)throw new Error(`[ByConditionsModel]: condition item not found for operator: ${e}!`);this._conditionItem$.next(r),this._filterConditionFormParams$.next(f.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 s=f.testMappingParams(r,this.conditionItem.numOfParameters);this._conditionItem$.next(s)}this._filterConditionFormParams$.next(r)}};_e=Ee([he(4,u.ICommandService)],_e);let ge=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"_rawFilterItems$");_(this,"rawFilterItems$");_(this,"filterItems$");_(this,"_filterItems",[]);_(this,"_treeMapCache");_(this,"canApply$");_(this,"_manuallyUpdateFilterItems$");_(this,"_searchString$");_(this,"searchString$");this._filterModel=e,this.col=r,this._commandService=a,this._treeMapCache=n,this._searchString$=new S.BehaviorSubject(""),this.searchString$=this._searchString$.asObservable(),this._rawFilterItems$=new S.BehaviorSubject(s),this.rawFilterItems$=this._rawFilterItems$.asObservable(),this._manuallyUpdateFilterItems$=new S.Subject,this.filterItems$=S.merge(S.combineLatest([this._searchString$.pipe(S.throttleTime(500,void 0,{leading:!0,trailing:!0}),S.startWith(void 0)),this._rawFilterItems$]).pipe(S.map(([i,o])=>{if(!i)return o;const h=i.toLowerCase().split(/\s+/).filter(m=>!!m);return Ye(o,h)})),this._manuallyUpdateFilterItems$).pipe(S.shareReplay(1)),this.canApply$=this.filterItems$.pipe(S.map(i=>Pe(i).checked>0)),this.disposeWithMe(this.filterItems$.subscribe(i=>this._filterItems=i))}static async fromFilterColumn(e,r,s){const n=e.get(u.IUniverInstanceService),a=e.get(u.LocaleService),i=e.get(ve,u.Quantity.OPTIONAL),{unitId:o,subUnitId:l}=r,h=n.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(l);if(!m)throw new Error(`[ByValuesModel]: Worksheet not found for filter model with unitId: ${o} and subUnitId: ${l}!`);const p=r.getRange(),E=s,v=r.getFilterColumn(s),C=v==null?void 0:v.getColumnData().filters,T=new Set(C==null?void 0:C.filters),b=!!(C&&C.blank),N=r.getFilteredOutRowsExceptCol(s),w={...p,startRow:p.startRow+1,startColumn:E,endColumn:E};let R,x;if(i){const U=await i.getFilterValues({unitId:o,subUnitId:l,filteredOutRowsByOtherColumns:Array.from(N),filterColumn:v,filters:!!C,blankChecked:b,iterateRange:w,alreadyChecked:Array.from(T)});R=U.filterTreeItems,x=U.filterTreeMapCache}else{const U=Qe(!!C,a,w,m,N,v,T,b,h.getStyles());R=U.filterTreeItems,x=U.filterTreeMapCache}return e.createInstance(ge,r,s,R,x)}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(s=>ce(s,e)),this._manuallyUpdateFilterItems(r)}onFilterCheckToggled(e){const r=u.Tools.deepClone(this._filterItems),s=we(r,e.key);if(!s)return;const n=Ge(s);ce(s,!n),this._manuallyUpdateFilterItems(r)}onFilterOnly(e){const r=u.Tools.deepClone(this._filterItems);r.forEach(s=>ce(s,!1)),e.forEach(s=>{const n=we(r,s);n&&ce(n,!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=Pe(this._filterItems),{checked:r,checkedItems:s}=e,n=this.rawFilterItems;let a=0;for(const h of n)a+=h.count;const i=r===0,o=e.checked===a,l={colId:this.col};if(i)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});{l.filters={};const h=s.filter(p=>p.key!=="empty");h.length>0&&(l.filters={filters:h.flatMap(p=>p.originValues?Array.from(p.originValues):[p.title])}),h.length!==s.length&&(l.filters.blank=!0)}return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:l})}};ge=Ee([he(4,u.ICommandService)],ge);let Ce=class extends u.Disposable{constructor(e,r,s,n,a){super();_(this,"canApply$",S.of(!0));_(this,"_cellFillColors$");_(this,"cellFillColors$");_(this,"_cellTextColors$");_(this,"cellTextColors$");this._filterModel=e,this.col=r,this._commandService=a,this._cellFillColors$=new S.BehaviorSubject(Array.from(s.values())),this.cellFillColors$=this._cellFillColors$.asObservable(),this._cellTextColors$=new S.BehaviorSubject(Array.from(n.values())),this.cellTextColors$=this._cellTextColors$.asObservable()}static async fromFilterColumn(e,r,s){var w,R,x;const n=e.get(u.IUniverInstanceService),{unitId:a,subUnitId:i}=r,o=n.getUniverSheetInstance(a);if(!o)throw new Error(`[ByColorsModel]: Workbook not found for filter model with unitId: ${a}!`);const l=o==null?void 0:o.getSheetBySheetId(i);if(!l)throw new Error(`[ByColorsModel]: Worksheet not found for filter model with unitId: ${a} and subUnitId: ${i}!`);const h=r.getRange(),m=s,p=(w=r.getFilterColumn(s))==null?void 0:w.getColumnData().colorFilters,E=r.getFilteredOutRowsExceptCol(s),v={...h,startRow:h.startRow+1,startColumn:m,endColumn:m},C=new Map,T=new Set((R=p==null?void 0:p.cellFillColors)!=null?R:[]),b=new Map,N=new Set((x=p==null?void 0:p.cellTextColors)!=null?x:[]);for(const U of l.iterateByColumn(v,!1,!0)){const{row:Q,col:G,value:ee}=U;if(E.has(Q))continue;const B=l.getComposedCellStyleByCellData(Q,G,ee);if(B.bg&&B.bg.rgb){const L=new u.ColorKit(B.bg.rgb).toRgbString();C.has(L)||C.set(L,{color:L,checked:T.has(L)})}else C.set("default-fill-color",{color:null,checked:T.has(null)});if(B.cl&&B.cl.rgb){const L=new u.ColorKit(B.cl.rgb).toRgbString();b.has(L)||b.set(L,{color:L,checked:N.has(L)})}else b.set("default-font-color",{color:J.COLOR_BLACK_RGB,checked:N.has(J.COLOR_BLACK_RGB)})}return e.createInstance(Ce,r,s,C,b)}get cellFillColors(){return this._cellFillColors$.getValue()}get cellTextColors(){return this._cellTextColors$.getValue()}dispose(){super.dispose(),this._cellFillColors$.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})}onFilterCheckToggled(e,r=!0){const s=r?this.cellFillColors:this.cellTextColors,n=[];let a=!1;for(let i=0;i<s.length;i++){const o=s[i];if(o.color===e.color){a=!0,n.push({color:o.color,checked:!o.checked});continue}n.push({color:o.color,checked:o.checked})}a&&(this._resetColorsCheckedStatus(!r),r?this._cellFillColors$.next([...n]):this._cellTextColors$.next([...n]))}_resetColorsCheckedStatus(e=!0){const r=e?this.cellFillColors:this.cellTextColors,s=[];for(let n=0;n<r.length;n++)s.push({color:r[n].color,checked:!1});e?this._cellFillColors$.next([...s]):this._cellTextColors$.next([...s])}async apply(){if(this._disposed)return!1;const e=this.cellFillColors.filter(n=>n.checked).map(n=>n.color),r=this.cellTextColors.filter(n=>n.checked).map(n=>n.color);if(e.length===0&&r.length===0)return this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:null});const s={colId:this.col};return e.length>0?s.colorFilters={cellFillColors:e}:r.length>0&&(s.colorFilters={cellTextColors:r}),this._commandService.executeCommand(c.SetSheetsFilterCriteriaCommand.id,{unitId:this._filterModel.unitId,subUnitId:this._filterModel.subUnitId,col:this.col,criteria:s})}};Ce=Ee([he(4,u.ICommandService)],Ce);const ne="FILTER_PANEL_OPENED",de={id:"sheet.operation.open-filter-panel",type:u.CommandType.OPERATION,handler:(t,e)=>{const r=t.get(u.IContextService),s=t.get(c.SheetsFilterService),n=t.get(Z),a=t.get(u.ICommandService),i=t.has(M.IEditorBridgeService)?t.get(M.IEditorBridgeService):null;i!=null&&i.isVisible().visible&&a.syncExecuteCommand(M.SetCellEditVisibleOperation.id,{visible:!1});const{unitId:o,subUnitId:l,col:h}=e,m=s.getFilterModel(o,l);return m?(n.setupCol(m,h),r.getContextValue(ne)||r.setContextValue(ne,!0),!0):!1}},se={id:"sheet.operation.close-filter-panel",type:u.CommandType.OPERATION,handler:t=>{const e=t.get(u.IContextService),r=t.get(Z),s=t.get(g.ILayoutService,u.Quantity.OPTIONAL);return e.getContextValue(ne)?(e.setContextValue(ne,!1),s==null||s.focus(),r.terminate()):!1}},$e={id:"sheet.operation.apply-filter",type:u.CommandType.OPERATION,handler:(t,e)=>{const{filterBy:r}=e;return t.get(Z).changeFilterBy(r)}},qe="sheets-filter-ui.config",Se={};var mt=Object.getOwnPropertyDescriptor,pt=(t,e,r,s)=>{for(var n=s>1?void 0:s?mt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},ie=(t,e)=>(r,s)=>e(r,s,t);let oe=class extends u.Disposable{constructor(t,e,r,s,n,a){super(),this._sheetsFilterService=t,this._localeService=e,this._commandService=r,this._sheetPermissionCheckPermission=s,this._injector=n,this._sheetsSelectionService=a,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{var e,r,s;if(t.id===c.SmartToggleSheetsFilterCommand.id){const n=this._injector.get(u.IUniverInstanceService),a=I.getSheetCommandTarget(n);if(!a)return;const{unitId:i,subUnitId:o,worksheet:l}=a,h=(e=this._sheetsFilterService.getFilterModel(i,o))==null?void 0:e.getRange();let m;if(h)m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission]},[h]);else{const p=(r=this._sheetsSelectionService.getCurrentLastSelection())==null?void 0:r.range;if(p){let E={...p};E=p.startColumn===p.endColumn&&p.startRow===p.endRow?I.expandToContinuousRange(E,{left:!0,right:!0,up:!0,down:!0},l):E,m=this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetViewPermission,I.WorksheetFilterPermission]},[E],i,o)}else m=this._sheetPermissionCheckPermission.permissionCheckWithoutRange({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetViewPermission,I.WorksheetFilterPermission]})}m||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr"))}if(t.id===de.id){const n=t.params,{unitId:a,subUnitId:i}=n,o=(s=this._sheetsFilterService.getFilterModel(a,i))==null?void 0:s.getRange(),l=u.Tools.deepClone(o);l&&(l.startColumn=n.col,l.endColumn=n.col,this._sheetPermissionCheckPermission.permissionCheckWithRanges({rangeTypes:[I.RangeProtectionPermissionViewPoint],worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission]},[l])||this._sheetPermissionCheckPermission.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.filterErr")))}}))}};oe=pt([ie(0,u.Inject(c.SheetsFilterService)),ie(1,u.Inject(u.LocaleService)),ie(2,u.ICommandService),ie(3,u.Inject(I.SheetPermissionCheckController)),ie(4,u.Inject(u.Injector)),ie(5,u.Inject(I.SheetsSelectionsService))],oe);const q=16,ft=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 je{static drawNoCriteria(e,r,s,n){e.save(),J.Rect.drawWith(e,{radius:2,width:q,height:q,fill:n}),e.lineCap="square",e.strokeStyle=s,e.scale(r/q,r/q),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,s,n){e.save(),J.Rect.drawWith(e,{radius:2,width:q,height:q,fill:n}),e.scale(r/q,r/q),e.fillStyle=s,e.fill(ft),e.restore()}}var vt=Object.getOwnPropertyDescriptor,_t=(t,e,r,s)=>{for(var n=s>1?void 0:s?vt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Ne=(t,e)=>(r,s)=>e(r,s,t);const W=16,ue=1;let xe=class extends J.Shape{constructor(e,r,s,n,a){super(e,r);_(this,"_cellWidth",0);_(this,"_cellHeight",0);_(this,"_filterParams");_(this,"_hovered",!1);this._contextService=s,this._commandService=n,this._themeService=a,this.setShapeProps(r),this.onPointerDown$.subscribeEvent(i=>this.onPointerDown(i)),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,s=this._cellWidth,n=W-s,a=W-r;e.save();const i=new Path2D;i.rect(n,a,s,r),e.clip(i);const{hasCriteria:o}=this._filterParams,l=this._themeService.getColorFromTheme("primary.600"),h=this._hovered?this._themeService.getColorFromTheme("gray.50"):"rgba(255, 255, 255, 1.0)";o?je.drawHasCriteria(e,W,l,h):je.drawNoCriteria(e,W,l,h),e.restore()}onPointerDown(e){if(e.button===2)return;const{col:r,unitId:s,subUnitId:n}=this._filterParams;this._contextService.getContextValue(ne)||!this._commandService.hasCommand(de.id)||setTimeout(()=>{this._commandService.executeCommand(de.id,{unitId:s,subUnitId:n,col:r})},200)}onPointerEnter(){this._hovered=!0,this.makeDirty(!0)}onPointerLeave(){this._hovered=!1,this.makeDirty(!0)}};xe=_t([Ne(2,u.IContextService),Ne(3,u.ICommandService),Ne(4,u.Inject(u.ThemeService))],xe);var gt=Object.getOwnPropertyDescriptor,Ct=(t,e,r,s)=>{for(var n=s>1?void 0:s?gt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},z=(t,e)=>(r,s)=>e(r,s,t);const St=1e3,Ft=5e3;function Tt(t,e,r,s){switch(s){case u.VerticalAlign.TOP:return t+ue;case u.VerticalAlign.MIDDLE:return t+Math.max(0,(r-W)/2);case u.VerticalAlign.BOTTOM:default:return e-W-ue}}let Me=class extends u.RxDisposable{constructor(e,r,s,n,a,i,o,l){super();_(this,"_filterRangeShape",null);_(this,"_buttonRenderDisposable",null);_(this,"_filterButtonShapes",[]);this._context=e,this._injector=r,this._sheetSkeletonManagerService=s,this._sheetsFilterService=n,this._themeService=a,this._sheetInterceptorService=i,this._commandService=o,this._selectionRenderService=l,this._initRenderer()}dispose(){super.dispose(),this._disposeRendering()}_initRenderer(){this._sheetSkeletonManagerService.currentSkeleton$.pipe(S.switchMap(e=>{var o,l;if(!e)return S.of(null);const{unit:r,unitId:s}=this._context,n=((o=r.getActiveSheet())==null?void 0:o.getSheetId())||"",a=(l=this._sheetsFilterService.getFilterModel(s,n))!=null?l:void 0,i=()=>({unitId:s,worksheetId:n,filterModel:a,range:a==null?void 0:a.getRange(),skeleton:e.skeleton});return u.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(S.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===I.SetRangeValuesMutation.id)}),S.throttleTime(20,void 0,{leading:!1,trailing:!0}),S.map(i),S.startWith(i()))}),S.takeUntil(this.dispose$)).subscribe(e=>{this._disposeRendering(),!(!e||!e.range)&&(this._renderRange(e.range,e.skeleton),this._renderButtons(e))})}_renderRange(e,r){const{scene:s}=this._context,{rowHeaderWidth:n,columnHeaderHeight:a}=r,i=this._filterRangeShape=new M.SelectionControl(s,St,this._themeService,{rowHeaderWidth:n,columnHeaderHeight:a,enableAutoFill:!1,highlightHeader:!1}),o={range:e,primary:null,style:{fill:"rgba(0, 0, 0, 0.0)"}},l=M.attachSelectionWithCoord(o,r);i.updateRangeBySelectionWithCoord(l),i.setEvent(!1),s.makeDirty(!0)}_renderButtons(e){const{range:r,filterModel:s,unitId:n,skeleton:a,worksheetId:i}=e,{unit:o,scene:l}=this._context,h=o.getSheetBySheetId(i);if(!h)return;this._interceptCellContent(n,i,e.range);const{startColumn:m,endColumn:p,startRow:E}=r;for(let v=m;v<=p;v++){const C=`sheets-filter-button-${v}`,T=M.getCoordByCell(E,v,l,a),b=h.getComposedCellStyle(E,v),N=(b==null?void 0:b.vt)||u.VerticalAlign.BOTTOM,{startX:w,startY:R,endX:x,endY:U}=T,Q=x-w,G=U-R;if(G<=ue||Q<=ue)continue;const ee=!!s.getFilterColumn(v),B=x-W-ue,L=Tt(R,U,G,N),$={left:B,top:L,height:W,width:W,zIndex:Ft,cellHeight:G,cellWidth:Q,filterParams:{unitId:n,subUnitId:i,col:v,hasCriteria:ee}},Oe=this._injector.createInstance(xe,C,$);this._filterButtonShapes.push(Oe)}l.addObjects(this._filterButtonShapes),l.makeDirty()}_interceptCellContent(e,r,s){const{startRow:n,startColumn:a,endColumn:i}=s;this._buttonRenderDisposable=this._sheetInterceptorService.intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:u.InterceptorEffectEnum.Style,handler:(o,l,h)=>{const{row:m,col:p,unitId:E,subUnitId:v}=l;return E!==e||v!==r||m!==n||p<a||p>i||((!o||o===l.rawData)&&(o={...l.rawData}),o.fontRenderExtension={...o==null?void 0:o.fontRenderExtension,rightOffset:W}),h(o)},priority:10})}_disposeRendering(){var e,r;(e=this._filterRangeShape)==null||e.dispose(),this._filterButtonShapes.forEach(s=>s.dispose()),(r=this._buttonRenderDisposable)==null||r.dispose(),this._filterRangeShape=null,this._buttonRenderDisposable=null,this._filterButtonShapes=[]}};Me=Ct([z(1,u.Inject(u.Injector)),z(2,u.Inject(M.SheetSkeletonManagerService)),z(3,u.Inject(c.SheetsFilterService)),z(4,u.Inject(u.ThemeService)),z(5,u.Inject(I.SheetInterceptorService)),z(6,u.ICommandService),z(7,M.ISheetSelectionRenderService)],Me);var Et=Object.getOwnPropertyDescriptor,Ot=(t,e,r,s)=>{for(var n=s>1?void 0:s?Et(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Be=(t,e)=>(r,s)=>e(r,s,t);let me=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,[Me]))}};me=Ot([Be(0,J.IRenderManagerService),Be(1,u.Inject(M.SheetsRenderService))],me);var yt=Object.defineProperty,It=Object.getOwnPropertyDescriptor,bt=(t,e,r)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nt=(t,e,r,s)=>{for(var n=s>1?void 0:s?It(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},De=(t,e)=>(r,s)=>e(r,s,t),Ze=(t,e,r)=>bt(t,typeof e!="symbol"?e+"":e,r);const Rt="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterMobileUIPlugin=class extends u.Plugin{constructor(e=Se,r,s){super(),this._config=e,this._injector=r,this._configService=s;const{menu:n,...a}=u.merge({},Se,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(qe,a)}onStarting(){[[oe],[me]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(oe)}onRendered(){this._injector.get(me)}};Ze(exports.UniverSheetsFilterMobileUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);Ze(exports.UniverSheetsFilterMobileUIPlugin,"pluginName",Rt);exports.UniverSheetsFilterMobileUIPlugin=Nt([u.DependentOn(c.UniverSheetsFilterPlugin),De(1,u.Inject(u.Injector)),De(2,u.IConfigService)],exports.UniverSheetsFilterMobileUIPlugin);var j=function(){return j=Object.assign||function(t){for(var e,r=1,s=arguments.length;r<s;r++){e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},j.apply(this,arguments)},Pt=function(t,e){var r={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(r[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,s=Object.getOwnPropertySymbols(t);n<s.length;n++)e.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(t,s[n])&&(r[s[n]]=t[s[n]]);return r},le=O.forwardRef(function(t,e){var r=t.icon,s=t.id,n=t.className,a=t.extend,i=Pt(t,["icon","id","className","extend"]),o="univerjs-icon univerjs-icon-".concat(s," ").concat(n||"").trim(),l=O.useRef("_".concat(xt()));return Ke(r,"".concat(s),{defIds:r.defIds,idSuffix:l.current},j({ref:e,className:o},i),a)});function Ke(t,e,r,s,n){return O.createElement(t.tag,j(j({key:e},At(t,r,n)),s),(wt(t,r).children||[]).map(function(a,i){return Ke(a,"".concat(e,"-").concat(t.tag,"-").concat(i),r,void 0,n)}))}function At(t,e,r){var s=j({},t.attrs);r!=null&&r.colorChannel1&&s.fill==="colorChannel1"&&(s.fill=r.colorChannel1),t.tag==="mask"&&s.id&&(s.id=s.id+e.idSuffix),Object.entries(s).forEach(function(a){var i=a[0],o=a[1];i==="mask"&&typeof o=="string"&&(s[i]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var n=e.defIds;return!n||n.length===0||(t.tag==="use"&&s["xlink:href"]&&(s["xlink:href"]=s["xlink:href"]+e.idSuffix),Object.entries(s).forEach(function(a){var i=a[0],o=a[1];typeof o=="string"&&(s[i]=o.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),s}function wt(t,e){var r,s=e.defIds;return!s||s.length===0?t:t.tag==="defs"&&(!((r=t.children)===null||r===void 0)&&r.length)?j(j({},t),{children:t.children.map(function(n){return typeof n.attrs.id=="string"&&s&&s.includes(n.attrs.id)?j(j({},n),{attrs:j(j({},n.attrs),{id:n.attrs.id+e.idSuffix})}):n})}):t}function xt(){return Math.random().toString(36).substring(2,8)}le.displayName="UniverIcon";var Mt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10 1.05957C10.356 1.05957 10.6816 1.26162 10.8408 1.58008L18.8408 17.5801L18.8799 17.668C19.0486 18.1134 18.8551 18.6232 18.4199 18.8408C17.9557 19.0727 17.3913 18.8841 17.1592 18.4199L10 4.10156L2.84082 18.4199C2.60871 18.8841 2.04434 19.0727 1.58008 18.8408C1.11587 18.6087 0.92731 18.0443 1.15918 17.5801L9.15918 1.58008C9.31841 1.26162 9.64395 1.05957 10 1.05957Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M15.3337 11.7261L15.4294 11.731C15.9035 11.779 16.2732 12.1798 16.2732 12.6665C16.2732 13.1532 15.9035 13.554 15.4294 13.602L15.3337 13.6069H4.66675C4.1476 13.6069 3.72632 13.1856 3.72632 12.6665C3.72632 12.1474 4.1476 11.7261 4.66675 11.7261H15.3337Z"}}]},Xe=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"a-icon",ref:e,icon:Mt}))});Xe.displayName="AIcon";var Lt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M17.0596 10C17.0596 6.10087 13.8992 2.94043 10 2.94043C6.10087 2.94043 2.94043 6.10087 2.94043 10C2.94043 13.8992 6.10087 17.0596 10 17.0596C13.8992 17.0596 17.0596 13.8992 17.0596 10ZM18.9404 10C18.9404 14.9374 14.9374 18.9404 10 18.9404C5.06257 18.9404 1.05957 14.9374 1.05957 10C1.05957 5.06257 5.06257 1.05957 10 1.05957C14.9374 1.05957 18.9404 5.06257 18.9404 10Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.29492 4.13476C4.63911 3.79057 5.1845 3.76906 5.55371 4.07031L5.625 4.13476L16.0244 14.5352L16.0889 14.6064C16.3902 14.9757 16.3686 15.52 16.0244 15.8643C15.6573 16.2313 15.0624 16.2313 14.6953 15.8643L4.29492 5.46484L4.23047 5.39355C3.92922 5.02434 3.95073 4.47895 4.29492 4.13476Z"}}]},ze=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"ban-icon",ref:e,icon:Lt}))});ze.displayName="BanIcon";var $t={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.32182 2.60967C2.98161 2.60967 2.79671 3.0074 3.01601 3.2675L6.85819 7.8246C6.94943 7.93282 6.99947 8.06981 6.99947 8.21136V12.7338C6.99947 12.898 7.0998 13.0455 7.2525 13.1058L8.73833 13.6928C9.00085 13.7965 9.28531 13.6031 9.28531 13.3208V8.21136C9.28531 8.06981 9.33535 7.93282 9.42659 7.8246L13.2688 3.2675C13.4881 3.0074 13.3032 2.60967 12.963 2.60967H3.32182ZM2.09858 4.04101C1.22139 3.0006 1.96097 1.40967 3.32182 1.40967H12.963C14.3238 1.40967 15.0634 3.0006 14.1862 4.04101L10.4853 8.43054V13.3208C10.4853 14.4498 9.34747 15.2237 8.29742 14.8089L6.81158 14.2219C6.20078 13.9806 5.79947 13.3905 5.79947 12.7338V8.43054L2.09858 4.04101Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Je=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"filter-icon",ref:e,icon:$t}))});Je.displayName="FilterIcon";var Ut={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z"}}]},et=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"info-icon",ref:e,icon:Ut}))});et.displayName="InfoIcon";var kt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM11.7245 6.42417C11.9588 6.18985 11.9588 5.80995 11.7245 5.57564C11.4901 5.34132 11.1102 5.34132 10.8759 5.57564L7.3002 9.15137L5.72446 7.57564C5.49014 7.34132 5.11025 7.34132 4.87593 7.57564C4.64162 7.80995 4.64162 8.18985 4.87593 8.42417L6.87593 10.4242C7.11025 10.6585 7.49014 10.6585 7.72446 10.4242L11.7245 6.42417Z",fillRule:"evenodd",clipRule:"evenodd"}}]},tt=O.forwardRef(function(t,e){return O.createElement(le,Object.assign({},t,{id:"success-icon",ref:e,icon:kt}))});tt.displayName="SuccessIcon";function jt(t){const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.cellFillColors$,[],!0),n=g.useObservable(e.cellTextColors$,[],!0),a=O.useCallback(o=>{e.onFilterCheckToggled(o)},[e]),i=O.useCallback(o=>{e.onFilterCheckToggled(o,!1)},[e]);return d.jsx("div",{"data-u-comp":"sheets-filter-panel-colors-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:y.clsx("univer-mt-2 univer-box-border univer-flex univer-h-[300px] univer-flex-grow univer-flex-col univer-gap-4 univer-overflow-auto univer-rounded-md univer-px-2 univer-py-2.5",y.borderClassName),children:[s.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:r.t("sheets-filter.panel.filter-by-cell-fill-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:s.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>a(o),children:[o.color?d.jsx("button",{type:"button",className:y.clsx("univer-box-border univer-h-6 univer-w-6 univer-cursor-pointer univer-rounded-full univer-border univer-border-solid univer-border-transparent univer-bg-gray-300 univer-transition-shadow hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"),style:{backgroundColor:o.color}}):d.jsx(ze,{className:"univer-h-6 univer-w-6 univer-cursor-pointer univer-rounded-full hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white"}),o.checked&&d.jsx(He,{})]},`sheets-filter-cell-fill-color-${l}`))})]}),n.length>1&&d.jsxs("div",{children:[d.jsx("div",{className:"univer-mb-2 univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:r.t("sheets-filter.panel.filter-by-cell-text-color")}),d.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-items-center univer-justify-start univer-gap-2",children:n.map((o,l)=>d.jsxs("div",{className:"univer-relative univer-h-6 univer-w-6",onClick:()=>i(o),children:[d.jsx("div",{className:"univer-box-border univer-flex univer-h-full univer-w-full univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-border univer-border-solid univer-border-[rgba(13,13,13,0.06)] univer-p-0.5 hover:univer-ring-2 hover:univer-ring-offset-2 hover:univer-ring-offset-white dark:!univer-border-[rgba(255,255,255,0.06)]",children:d.jsx(Xe,{style:{color:o.color}})}),o.checked&&d.jsx(He,{})]},`sheets-filter-cell-text-color-${l}`))})]}),s.length<=1&&n.length<=1&&d.jsx("div",{className:"univer-flex univer-h-full univer-w-full univer-items-center univer-justify-center univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:r.t("sheets-filter.panel.filter-by-color-none")})]})})}function He(){return d.jsx("div",{className:"univer-absolute -univer-bottom-0.5 -univer-right-0.5 univer-flex univer-h-3 univer-w-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white",children:d.jsx(tt,{className:"univer-h-full univer-w-full univer-font-bold univer-text-[#418F1F]"})})}function Bt(t){var v,C;const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.conditionItem$,void 0),n=g.useObservable(e.filterConditionFormParams$,void 0),a=n!=null&&n.and?"AND":"OR",i=O.useCallback(T=>{e.onConditionFormChange({and:T==="AND"})},[e]),o=Dt(r),l=O.useCallback(T=>{e.onPrimaryConditionChange(T)},[e]),h=Ht(r),m=O.useCallback(T=>{e.onConditionFormChange(T)},[e]),p=r.t("sheets-filter.panel.input-values-placeholder");function E(T,b,N){const w=f.getItemByOperator(T).numOfParameters===1;return d.jsxs(d.Fragment,{children:[N==="operator2"&&d.jsxs(y.RadioGroup,{value:a,onChange:i,children:[d.jsx(y.Radio,{value:"AND",children:r.t("sheets-filter.panel.and")}),d.jsx(y.Radio,{value:"OR",children:r.t("sheets-filter.panel.or")})]}),d.jsx(y.Select,{value:T,options:h,onChange:R=>m({[N]:R})}),w&&d.jsx("div",{children:d.jsx(y.Input,{className:"univer-mt-2",value:b,placeholder:p,onChange:R=>m({[N==="operator1"?"val1":"val2"]:R})})})]})}return d.jsx("div",{"data-u-comp":"sheets-filter-panel-conditions-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:s&&n&&d.jsxs(d.Fragment,{children:[d.jsx(y.Select,{value:s.operator,options:o,onChange:l}),f.getItemByOperator(s.operator).numOfParameters!==0?d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-container-inner",className:y.clsx("univer-mt-2 univer-flex-grow univer-overflow-hidden univer-rounded-md univer-p-2",y.borderClassName),children:[s.numOfParameters>=1&&E(n.operator1,(v=n.val1)!=null?v:"","operator1"),s.numOfParameters>=2&&E(n.operator2,(C=n.val2)!=null?C:"","operator2"),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-conditions-desc",className:"univer-mt-2 univer-text-xs univer-text-gray-500",children:[r.t("sheets-filter.panel.?"),d.jsx("br",{}),r.t("sheets-filter.panel.*")]})]}):null]})})}function Dt(t){const e=t.getCurrentLocale();return O.useMemo(()=>[{options:[{label:t.t(f.NONE.label),value:f.NONE.operator}]},{options:[{label:t.t(f.EMPTY.label),value:f.EMPTY.operator},{label:t.t(f.NOT_EMPTY.label),value:f.NOT_EMPTY.operator}]},{options:[{label:t.t(f.TEXT_CONTAINS.label),value:f.TEXT_CONTAINS.operator},{label:t.t(f.DOES_NOT_CONTAIN.label),value:f.DOES_NOT_CONTAIN.operator},{label:t.t(f.STARTS_WITH.label),value:f.STARTS_WITH.operator},{label:t.t(f.ENDS_WITH.label),value:f.ENDS_WITH.operator},{label:t.t(f.EQUALS.label),value:f.EQUALS.operator}]},{options:[{label:t.t(f.GREATER_THAN.label),value:f.GREATER_THAN.operator},{label:t.t(f.GREATER_THAN_OR_EQUAL.label),value:f.GREATER_THAN_OR_EQUAL.operator},{label:t.t(f.LESS_THAN.label),value:f.LESS_THAN.operator},{label:t.t(f.LESS_THAN_OR_EQUAL.label),value:f.LESS_THAN_OR_EQUAL.operator},{label:t.t(f.EQUAL.label),value:f.EQUAL.operator},{label:t.t(f.NOT_EQUAL.label),value:f.NOT_EQUAL.operator},{label:t.t(f.BETWEEN.label),value:f.BETWEEN.operator},{label:t.t(f.NOT_BETWEEN.label),value:f.NOT_BETWEEN.operator}]},{options:[{label:t.t(f.CUSTOM.label),value:f.CUSTOM.operator}]}],[e,t])}function Ht(t){const e=t.getCurrentLocale();return O.useMemo(()=>f.ALL_CONDITIONS.filter(r=>r.numOfParameters!==2).map(r=>({label:t.t(r.label),value:r.operator})),[e,t])}function Wt(t){const{model:e}=t,r=g.useDependency(u.LocaleService),s=g.useObservable(e.searchString$,"",!0),n=g.useObservable(e.filterItems$,void 0,!0),a=r.t("sheets-filter.panel.filter-only"),i=Pe(n),o=i.checked>0&&i.unchecked===0,l=i.checked>0&&i.unchecked>0,h=e.treeMapCache,m=O.useCallback(()=>{e.onCheckAllToggled(!o)},[e,o]),p=O.useCallback(v=>{e.setSearchString(v)},[e]);function E(v){let C=[];return v.forEach(T=>{T.checked&&C.push(T.key),T.children&&(C=C.concat(E(T.children)))}),C}return d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-container",className:"univer-flex univer-h-full univer-min-h-[300px] univer-flex-col",children:[d.jsx(y.Input,{autoFocus:!0,value:s,placeholder:r.t("sheets-filter.panel.search-placeholder"),onChange:p}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:y.clsx("univer-mt-2 univer-box-border univer-flex univer-flex-grow univer-flex-col univer-overflow-hidden univer-rounded-md univer-px-2 univer-py-2.5",y.borderClassName),children:[d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-item",className:"univer-box-border univer-h-8 univer-w-full univer-py-0.5",children:d.jsxs("div",{"data-u-comp":"sheets-filter-panel-values-item-inner",className:"univer-box-border univer-flex univer-h-7 univer-items-center univer-rounded-md univer-pb-0 univer-pl-5 univer-pr-0.5 univer-pt-0 univer-text-sm",children:[d.jsx(y.Checkbox,{indeterminate:l,disabled:n.length===0,checked:o,onChange:m}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-text",className:"univer-mx-1 univer-inline-block univer-flex-shrink univer-overflow-hidden univer-text-ellipsis univer-whitespace-nowrap univer-text-gray-900 dark:!univer-text-white",children:`${r.t("sheets-filter.panel.select-all")}`}),d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${i.checked}/${i.checked+i.unchecked})`})]})}),d.jsx("div",{"data-u-comp":"sheets-filter-panel-values-virtual",className:"univer-flex-grow",children:d.jsx(y.Tree,{data:n,defaultExpandAll:!1,valueGroup:E(n),onChange:v=>{e.onFilterCheckToggled(v)},defaultCache:h,itemHeight:28,treeNodeClassName:`
|
|
2
2
|
univer-pr-2 univer-border-box univer-rounded-md
|
|
3
3
|
[&:hover_a]:univer-inline-block
|
|
4
4
|
hover:univer-bg-gray-50 univer-h-full
|
|
5
5
|
univer-text-gray-900 dark:hover:!univer-bg-gray-900
|
|
6
6
|
dark:!univer-text-white
|
|
7
|
-
`,attachRender:v=>d.jsxs("div",{className:"univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500",children:[d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${v.count})`}),d.jsx("a",{className:"univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5",onClick:()=>{const C=[];v.children?v.children.forEach(T=>{T.children?T.children.forEach(b=>{C.push(b.key)}):C.push(T.key)}):C.push(v.key),e.onFilterOnly(C)},children:a})]})})})]})]})}function Vt(){const t=g.useDependency(c.SheetsFilterSyncController);if(!g.useObservable(t.visible$,void 0,!0))return null;const r=g.useDependency(u.LocaleService),s=g.useDependency(g.IMessageService),n=g.useObservable(t.enabled$,void 0,!0);return d.jsxs("div",{className:"univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:univer-text-gray-200",children:[d.jsxs("div",{className:"univer-flex univer-items-center univer-gap-1",children:[d.jsx("span",{children:r.t("sheets-filter.sync.title")}),d.jsx(y.Tooltip,{title:n?r.t("sheets-filter.sync.statusTips.off"):r.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:d.jsx(et,{className:"univer-block"})})]}),d.jsx(y.Switch,{defaultChecked:n,onChange:a=>{const i=a?r.t("sheets-filter.sync.switchTips.on"):r.t("sheets-filter.sync.switchTips.off");t.setEnabled(a),s.show({content:i,type:y.MessageType.Success,duration:2e3})}})]})}function Qt(){var b;const t=g.useDependency(Z),e=g.useDependency(u.LocaleService),r=g.useDependency(u.ICommandService),s=g.useObservable(t.filterBy$,void 0,!0),n=g.useObservable(t.filterByModel$,void 0,!1),a=g.useObservable(()=>(n==null?void 0:n.canApply$)||S.of(!1),void 0,!1,[n]),i=Gt(e),o=!g.useObservable(t.hasCriteria$),l=O.useCallback(N=>{r.executeCommand($e.id,{filterBy:N})},[r]),h=O.useCallback(async()=>{await(n==null?void 0:n.clear()),r.executeCommand(se.id)},[n,r]),m=O.useCallback(()=>{r.executeCommand(se.id)},[r]),p=O.useCallback(async()=>{await(n==null?void 0:n.apply()),r.executeCommand(se.id)},[n,r]),v=(b=g.useDependency(c.SheetsFilterService).activeFilterModel)==null?void 0:b.getRange(),C=t.col,T=g.useComponentsOfPart(k.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:"univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[d.jsx(g.ComponentContainer,{components:T,sharedProps:{range:v,colIndex:C,onClose:m}}),d.jsx("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:d.jsx(y.Segmented,{value:s,items:i,onChange:N=>l(N)})}),n?d.jsx("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:s===c.FilterBy.VALUES?d.jsx(Wt,{model:n}):s===c.FilterBy.COLORS?d.jsx(jt,{model:n}):d.jsx(Bt,{model:n})}):d.jsx("div",{className:"univer-flex-1"}),d.jsx(Vt,{}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-footer",className:"univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden",children:[d.jsx(y.Button,{variant:"link",onClick:h,disabled:o,children:e.t("sheets-filter.panel.clear-filter")}),d.jsxs("span",{className:"univer-flex univer-gap-2",children:[d.jsx(y.Button,{variant:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),d.jsx(y.Button,{disabled:!a,variant:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function Gt(t){const e=t.getCurrentLocale();return O.useMemo(()=>[{label:t.t("sheets-filter.panel.by-values"),value:c.FilterBy.VALUES},{label:t.t("sheets-filter.panel.by-colors"),value:c.FilterBy.COLORS},{label:t.t("sheets-filter.panel.by-conditions"),value:c.FilterBy.CONDITIONS}],[e,t])}function Yt(t){const e=t.get(c.SheetsFilterService);return{id:c.SmartToggleSheetsFilterCommand.id,type:g.MenuItemType.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(S.map(r=>!!r)),disabled$:k.getObservableWithExclusiveRange$(t,k.getCurrentRangeDisable$(t,{worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission],rangeTypes:[I.RangeProtectionPermissionViewPoint]}))}}function qt(t){const e=t.get(c.SheetsFilterService);return{id:c.ClearSheetsFilterCriteriaCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(r=>{var s;return(s=r==null?void 0:r.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}function Zt(t){const e=t.get(c.SheetsFilterService);return{id:c.ReCalcSheetsFilterCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(r=>{var s;return(s=r==null?void 0:r.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}const Kt={[g.RibbonDataGroup.ORGANIZATION]:{[c.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:Yt,[c.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:qt},[c.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:Zt}}}},Xt={id:c.SmartToggleSheetsFilterCommand.id,binding:g.KeyCode.L|g.MetaKeys.CTRL_COMMAND|g.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:k.whenSheetEditorFocused,group:"4_sheet-edit"};var zt=Object.getOwnPropertyDescriptor,Jt=(t,e,r,s)=>{for(var n=s>1?void 0:s?zt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},U=(t,e)=>(r,s)=>e(r,s,t);const We="FILTER_PANEL_POPUP";let Fe=class extends me{constructor(e,r,s,n,a,i,o,l,h,m,p,E,v){super(v,E);_(this,"_popupDisposable");this._injector=e,this._componentManager=r,this._sheetsFilterPanelService=s,this._sheetCanvasPopupService=n,this._sheetsFilterService=a,this._localeService=i,this._shortcutService=o,this._commandService=l,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Xt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[c.SmartToggleSheetsFilterCommand,c.RemoveSheetFilterCommand,c.SetSheetFilterRangeCommand,c.SetSheetsFilterCriteriaCommand,c.ClearSheetsFilterCriteriaCommand,c.ReCalcSheetsFilterCommand,$e,de,se].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(Kt)}_initUI(){[[We,Qt],["FilterIcon",Je]].forEach(([e,r])=>{this.disposeWithMe(this._componentManager.register(e,r))}),this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe(S.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:y.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(),s=this._sheetsFilterPanelService.col,{startRow:n}=r;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(n,s,{componentKey:We,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(se.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Fe=Jt([U(0,u.Inject(u.Injector)),U(1,u.Inject(g.ComponentManager)),U(2,u.Inject(Z)),U(3,u.Inject(k.SheetCanvasPopManagerService)),U(4,u.Inject(c.SheetsFilterService)),U(5,u.Inject(u.LocaleService)),U(6,g.IShortcutService),U(7,u.ICommandService),U(8,g.IMenuManagerService),U(9,u.IContextService),U(10,g.IMessageService),U(11,u.Inject(k.SheetsRenderService)),U(12,J.IRenderManagerService)],Fe);var er=Object.defineProperty,tr=Object.getOwnPropertyDescriptor,rr=(t,e,r)=>e in t?er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e,r,s)=>{for(var n=s>1?void 0:s?tr(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Re=(t,e)=>(r,s)=>e(r,s,t),rt=(t,e,r)=>rr(t,typeof e!="symbol"?e+"":e,r);const sr="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterUIPlugin=class extends u.Plugin{constructor(e=Se,r,s,n){super(),this._config=e,this._injector=r,this._configService=s,this._rpcChannelService=n;const{menu:a,...i}=u.merge({},Se,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(qe,i)}onStarting(){u.registerDependencies(this._injector,[[Z],[oe],[Fe]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ve,{useFactory:()=>Te.toModule(this._rpcChannelService.requestChannel(Le))}])}onReady(){u.touchDependencies(this._injector,[[oe]])}onRendered(){u.touchDependencies(this._injector,[[Fe]])}};rt(exports.UniverSheetsFilterUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);rt(exports.UniverSheetsFilterUIPlugin,"pluginName",sr);exports.UniverSheetsFilterUIPlugin=ir([u.DependentOn(c.UniverSheetsFilterPlugin),Re(1,u.Inject(u.Injector)),Re(2,u.IConfigService),Re(3,u.Optional(Te.IRPCChannelService))],exports.UniverSheetsFilterUIPlugin);var nr=Object.getOwnPropertyDescriptor,or=(t,e,r,s)=>{for(var n=s>1?void 0:s?nr(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Ve=(t,e)=>(r,s)=>e(r,s,t),fe;exports.UniverSheetsFilterUIWorkerPlugin=(fe=class extends u.Plugin{constructor(e,r,s){super(),this._config=e,this._injector=r,this._rpcChannelService=s}onStarting(){[[ve,{useClass:Ae}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Le,Te.fromModule(this._injector.get(ve)))}},_(fe,"type",u.UniverInstanceType.UNIVER_SHEET),_(fe,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),fe);exports.UniverSheetsFilterUIWorkerPlugin=or([Ve(1,u.Inject(u.Injector)),Ve(2,Te.IRPCChannelService)],exports.UniverSheetsFilterUIWorkerPlugin);exports.ChangeFilterByOperation=$e;exports.CloseFilterPanelOperation=se;exports.OpenFilterPanelOperation=de;
|
|
7
|
+
`,attachRender:v=>d.jsxs("div",{className:"univer-ml-1 univer-flex univer-h-5 univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-between univer-text-sm univer-text-primary-500",children:[d.jsx("span",{"data-u-comp":"sheets-filter-panel-values-item-count",className:"univer-text-gray-400 dark:!univer-text-gray-500",children:`(${v.count})`}),d.jsx("a",{className:"univer-box-border univer-hidden univer-h-4 univer-whitespace-nowrap univer-px-1.5",onClick:()=>{const C=[];v.children?v.children.forEach(T=>{T.children?T.children.forEach(b=>{C.push(b.key)}):C.push(T.key)}):C.push(v.key),e.onFilterOnly(C)},children:a})]})})})]})]})}function Vt(){const t=g.useDependency(c.SheetsFilterSyncController);if(!g.useObservable(t.visible$,void 0,!0))return null;const r=g.useDependency(u.LocaleService),s=g.useDependency(g.IMessageService),n=g.useObservable(t.enabled$,void 0,!0);return d.jsxs("div",{className:"univer-mt-2 univer-flex univer-items-center univer-justify-between univer-text-sm univer-text-gray-900 dark:!univer-text-gray-200",children:[d.jsxs("div",{className:"univer-flex univer-items-center univer-gap-1",children:[d.jsx("span",{children:r.t("sheets-filter.sync.title")}),d.jsx(y.Tooltip,{title:n?r.t("sheets-filter.sync.statusTips.off"):r.t("sheets-filter.sync.statusTips.on"),asChild:!0,children:d.jsx(et,{className:"univer-block"})})]}),d.jsx(y.Switch,{defaultChecked:n,onChange:a=>{const i=a?r.t("sheets-filter.sync.switchTips.on"):r.t("sheets-filter.sync.switchTips.off");t.setEnabled(a),s.show({content:i,type:y.MessageType.Success,duration:2e3})}})]})}function Qt(){var b;const t=g.useDependency(Z),e=g.useDependency(u.LocaleService),r=g.useDependency(u.ICommandService),s=g.useObservable(t.filterBy$,void 0,!0),n=g.useObservable(t.filterByModel$,void 0,!1),a=g.useObservable(()=>(n==null?void 0:n.canApply$)||S.of(!1),void 0,!1,[n]),i=Gt(e),o=!g.useObservable(t.hasCriteria$),l=O.useCallback(N=>{r.executeCommand($e.id,{filterBy:N})},[r]),h=O.useCallback(async()=>{await(n==null?void 0:n.clear()),r.executeCommand(se.id)},[n,r]),m=O.useCallback(()=>{r.executeCommand(se.id)},[r]),p=O.useCallback(async()=>{await(n==null?void 0:n.apply()),r.executeCommand(se.id)},[n,r]),v=(b=g.useDependency(c.SheetsFilterService).activeFilterModel)==null?void 0:b.getRange(),C=t.col,T=g.useComponentsOfPart(M.SheetsUIPart.FILTER_PANEL_EMBED_POINT);return d.jsxs("div",{"data-u-comp":"sheets-filter-panel",className:"univer-box-border univer-flex univer-max-h-[500px] univer-w-[400px] univer-flex-col univer-rounded-lg univer-bg-white univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-700",children:[d.jsx(g.ComponentContainer,{components:T,sharedProps:{range:v,colIndex:C,onClose:m}}),d.jsx("div",{className:"univer-mb-1 univer-flex-shrink-0 univer-flex-grow-0",children:d.jsx(y.Segmented,{value:s,items:i,onChange:N=>l(N)})}),n?d.jsx("div",{"data-u-comp":"sheets-filter-panel-content",className:"univer-flex-shrink univer-flex-grow univer-pt-2",children:s===c.FilterBy.VALUES?d.jsx(Wt,{model:n}):s===c.FilterBy.COLORS?d.jsx(jt,{model:n}):d.jsx(Bt,{model:n})}):d.jsx("div",{className:"univer-flex-1"}),d.jsx(Vt,{}),d.jsxs("div",{"data-u-comp":"sheets-filter-panel-footer",className:"univer-mt-4 univer-inline-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-nowrap univer-justify-between univer-overflow-hidden",children:[d.jsx(y.Button,{variant:"link",onClick:h,disabled:o,children:e.t("sheets-filter.panel.clear-filter")}),d.jsxs("span",{className:"univer-flex univer-gap-2",children:[d.jsx(y.Button,{variant:"default",onClick:m,children:e.t("sheets-filter.panel.cancel")}),d.jsx(y.Button,{disabled:!a,variant:"primary",onClick:p,children:e.t("sheets-filter.panel.confirm")})]})]})]})}function Gt(t){const e=t.getCurrentLocale();return O.useMemo(()=>[{label:t.t("sheets-filter.panel.by-values"),value:c.FilterBy.VALUES},{label:t.t("sheets-filter.panel.by-colors"),value:c.FilterBy.COLORS},{label:t.t("sheets-filter.panel.by-conditions"),value:c.FilterBy.CONDITIONS}],[e,t])}function Yt(t){const e=t.get(c.SheetsFilterService);return{id:c.SmartToggleSheetsFilterCommand.id,type:g.MenuItemType.BUTTON_SELECTOR,icon:"FilterIcon",tooltip:"sheets-filter.toolbar.smart-toggle-filter-tooltip",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),activated$:e.activeFilterModel$.pipe(S.map(r=>!!r)),disabled$:M.getObservableWithExclusiveRange$(t,M.getCurrentRangeDisable$(t,{worksheetTypes:[I.WorksheetFilterPermission,I.WorksheetViewPermission],rangeTypes:[I.RangeProtectionPermissionViewPoint]}))}}function qt(t){const e=t.get(c.SheetsFilterService);return{id:c.ClearSheetsFilterCriteriaCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.clear-filter-criteria",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(r=>{var s;return(s=r==null?void 0:r.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}function Zt(t){const e=t.get(c.SheetsFilterService);return{id:c.ReCalcSheetsFilterCommand.id,type:g.MenuItemType.BUTTON,title:"sheets-filter.toolbar.re-calc-filter-conditions",hidden$:g.getMenuHiddenObservable(t,u.UniverInstanceType.UNIVER_SHEET),disabled$:e.activeFilterModel$.pipe(S.switchMap(r=>{var s;return(s=r==null?void 0:r.hasCriteria$.pipe(S.map(n=>!n)))!=null?s:S.of(!0)}))}}const Kt={[g.RibbonDataGroup.ORGANIZATION]:{[c.SmartToggleSheetsFilterCommand.id]:{order:2,menuItemFactory:Yt,[c.ClearSheetsFilterCriteriaCommand.id]:{order:0,menuItemFactory:qt},[c.ReCalcSheetsFilterCommand.id]:{order:1,menuItemFactory:Zt}}}},Xt={id:c.SmartToggleSheetsFilterCommand.id,binding:g.KeyCode.L|g.MetaKeys.CTRL_COMMAND|g.MetaKeys.SHIFT,description:"sheets-filter.shortcut.smart-toggle-filter",preconditions:M.whenSheetEditorFocused,group:"4_sheet-edit"};var zt=Object.getOwnPropertyDescriptor,Jt=(t,e,r,s)=>{for(var n=s>1?void 0:s?zt(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},k=(t,e)=>(r,s)=>e(r,s,t);const We="FILTER_PANEL_POPUP";let Fe=class extends me{constructor(e,r,s,n,a,i,o,l,h,m,p,E,v){super(v,E);_(this,"_popupDisposable");this._injector=e,this._componentManager=r,this._sheetsFilterPanelService=s,this._sheetCanvasPopupService=n,this._sheetsFilterService=a,this._localeService=i,this._shortcutService=o,this._commandService=l,this._menuManagerService=h,this._contextService=m,this._messageService=p,this._initCommands(),this._initShortcuts(),this._initMenuItems(),this._initUI()}dispose(){super.dispose(),this._closeFilterPopup()}_initShortcuts(){[Xt].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initCommands(){[c.SmartToggleSheetsFilterCommand,c.RemoveSheetFilterCommand,c.SetSheetFilterRangeCommand,c.SetSheetsFilterCriteriaCommand,c.ClearSheetsFilterCriteriaCommand,c.ReCalcSheetsFilterCommand,$e,de,se].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenuItems(){this._menuManagerService.mergeMenu(Kt)}_initUI(){[[We,Qt],["FilterIcon",Je]].forEach(([e,r])=>{this.disposeWithMe(this._componentManager.register(e,r))}),this.disposeWithMe(this._contextService.subscribeContextValue$(ne).pipe(S.distinctUntilChanged()).subscribe(e=>{e?this._openFilterPopup():this._closeFilterPopup()})),this.disposeWithMe(this._sheetsFilterService.errorMsg$.subscribe(e=>{e&&this._messageService.show({type:y.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(),s=this._sheetsFilterPanelService.col,{startRow:n}=r;this._popupDisposable=this._sheetCanvasPopupService.attachPopupToCell(n,s,{componentKey:We,direction:"horizontal",onClickOutside:()=>this._commandService.syncExecuteCommand(se.id),offset:[5,0]})}_closeFilterPopup(){var e;(e=this._popupDisposable)==null||e.dispose(),this._popupDisposable=null}};Fe=Jt([k(0,u.Inject(u.Injector)),k(1,u.Inject(g.ComponentManager)),k(2,u.Inject(Z)),k(3,u.Inject(M.SheetCanvasPopManagerService)),k(4,u.Inject(c.SheetsFilterService)),k(5,u.Inject(u.LocaleService)),k(6,g.IShortcutService),k(7,u.ICommandService),k(8,g.IMenuManagerService),k(9,u.IContextService),k(10,g.IMessageService),k(11,u.Inject(M.SheetsRenderService)),k(12,J.IRenderManagerService)],Fe);var er=Object.defineProperty,tr=Object.getOwnPropertyDescriptor,rr=(t,e,r)=>e in t?er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e,r,s)=>{for(var n=s>1?void 0:s?tr(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Re=(t,e)=>(r,s)=>e(r,s,t),rt=(t,e,r)=>rr(t,typeof e!="symbol"?e+"":e,r);const sr="SHEET_FILTER_UI_PLUGIN";exports.UniverSheetsFilterUIPlugin=class extends u.Plugin{constructor(e=Se,r,s,n){super(),this._config=e,this._injector=r,this._configService=s,this._rpcChannelService=n;const{menu:a,...i}=u.merge({},Se,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(qe,i)}onStarting(){u.registerDependencies(this._injector,[[Z],[oe],[Fe]]),this._config.useRemoteFilterValuesGenerator&&this._rpcChannelService&&this._injector.add([ve,{useFactory:()=>Te.toModule(this._rpcChannelService.requestChannel(Le))}])}onReady(){u.touchDependencies(this._injector,[[oe]])}onRendered(){u.touchDependencies(this._injector,[[Fe]])}};rt(exports.UniverSheetsFilterUIPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);rt(exports.UniverSheetsFilterUIPlugin,"pluginName",sr);exports.UniverSheetsFilterUIPlugin=ir([u.DependentOn(c.UniverSheetsFilterPlugin),Re(1,u.Inject(u.Injector)),Re(2,u.IConfigService),Re(3,u.Optional(Te.IRPCChannelService))],exports.UniverSheetsFilterUIPlugin);var nr=Object.getOwnPropertyDescriptor,or=(t,e,r,s)=>{for(var n=s>1?void 0:s?nr(e,r):e,a=t.length-1,i;a>=0;a--)(i=t[a])&&(n=i(n)||n);return n},Ve=(t,e)=>(r,s)=>e(r,s,t),fe;exports.UniverSheetsFilterUIWorkerPlugin=(fe=class extends u.Plugin{constructor(e,r,s){super(),this._config=e,this._injector=r,this._rpcChannelService=s}onStarting(){[[ve,{useClass:Ae}]].forEach(e=>this._injector.add(e))}onReady(){this._rpcChannelService.registerChannel(Le,Te.fromModule(this._injector.get(ve)))}},_(fe,"type",u.UniverInstanceType.UNIVER_SHEET),_(fe,"pluginName","SHEET_FILTER_UI_WORKER_PLUGIN"),fe);exports.UniverSheetsFilterUIWorkerPlugin=or([Ve(1,u.Inject(u.Injector)),Ve(2,Te.IRPCChannelService)],exports.UniverSheetsFilterUIWorkerPlugin);exports.ChangeFilterByOperation=$e;exports.CloseFilterPanelOperation=se;exports.OpenFilterPanelOperation=de;
|