@univerjs/sheets-filter 0.3.0-alpha.1 → 0.3.0-nightly.202410101606

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),rxjs=require("rxjs"),sheets=require("@univerjs/sheets"),SetSheetsFilterRangeMutation={id:"sheet.mutation.set-filter-range",type:core.CommandType.MUTATION,handler:__name((accessor,params)=>{const{subUnitId,unitId,range}=params;return accessor.get(exports.SheetsFilterService).ensureFilterModel(unitId,subUnitId).setRange(range),!0},"handler")},SetSheetsFilterCriteriaMutation={id:"sheet.mutation.set-filter-criteria",type:core.CommandType.MUTATION,handler:__name((accessor,params)=>{const{subUnitId,unitId,criteria,col,reCalc=!0}=params,filterModel=accessor.get(exports.SheetsFilterService).getFilterModel(unitId,subUnitId);return filterModel?(filterModel.setCriteria(col,criteria,reCalc),!0):!1},"handler")},RemoveSheetsFilterMutation={id:"sheet.mutation.remove-filter",type:core.CommandType.MUTATION,handler:__name((accessor,params)=>{const{unitId,subUnitId}=params;return accessor.get(exports.SheetsFilterService).removeFilterModel(unitId,subUnitId)},"handler")},ReCalcSheetsFilterMutation={id:"sheet.mutation.re-calc-filter",type:core.CommandType.MUTATION,handler:__name((accessor,params)=>{const{unitId,subUnitId}=params,filterModel=accessor.get(exports.SheetsFilterService).getFilterModel(unitId,subUnitId);return filterModel?(filterModel.reCalc(),!0):!1},"handler")};var CustomFilterOperator=(CustomFilterOperator2=>(CustomFilterOperator2.EQUAL="equal",CustomFilterOperator2.GREATER_THAN="greaterThan",CustomFilterOperator2.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",CustomFilterOperator2.LESS_THAN="lessThan",CustomFilterOperator2.LESS_THAN_OR_EQUAL="lessThanOrEqual",CustomFilterOperator2.NOT_EQUALS="notEqual",CustomFilterOperator2))(CustomFilterOperator||{});const greaterThan={operator:CustomFilterOperator.GREATER_THAN,fn:__name((value,compare)=>ensureNumber(value)?value>compare:!1,"fn")},greaterThanOrEqualTo={operator:CustomFilterOperator.GREATER_THAN_OR_EQUAL,fn:__name((value,compare)=>ensureNumber(value)?value>=compare:!1,"fn")},lessThan={operator:CustomFilterOperator.LESS_THAN,fn:__name((value,compare)=>ensureNumber(value)?value<compare:!1,"fn")},lessThanOrEqualTo={operator:CustomFilterOperator.LESS_THAN_OR_EQUAL,fn:__name((value,compare)=>ensureNumber(value)?value<=compare:!1,"fn")},equals={operator:CustomFilterOperator.EQUAL,fn:__name((value,compare)=>ensureNumber(value)?value===compare:!1,"fn")},notEquals={operator:CustomFilterOperator.NOT_EQUALS,fn:__name((value,compare)=>{if(typeof compare=="string"){if(compare===" ")return value!=null;const ensuredString=ensureString(value);return ensuredString&&isWildCardString(compare)?!createREGEXFromWildChar(compare).test(ensuredString):ensuredString!==compare}return ensureNumber(value)?value!==compare:!0},"fn")},CustomFilterFnRegistry=new Map([]),ALL_CUSTOM_FILTER_FUNCTIONS=[greaterThan,greaterThanOrEqualTo,lessThan,lessThanOrEqualTo,equals,notEquals];ALL_CUSTOM_FILTER_FUNCTIONS.forEach(fn=>{CustomFilterFnRegistry.set(fn.operator,fn)});function isNumericFilterFn(operator){return!!operator}__name(isNumericFilterFn,"isNumericFilterFn");const textMatch={fn:__name((value,compare)=>{const ensured=ensureString(value);return ensured===null?compare==="":createREGEXFromWildChar(compare).test(ensured)},"fn")};function getCustomFilterFn(operator){return operator?CustomFilterFnRegistry.get(operator):textMatch}__name(getCustomFilterFn,"getCustomFilterFn");function ensureNumber(value){return typeof value=="number"}__name(ensureNumber,"ensureNumber");function ensureNumeric(value){return!!(typeof value=="number"||typeof value=="string"&&core.isNumeric(value))}__name(ensureNumeric,"ensureNumeric");function ensureString(value){return typeof value=="boolean"||value==null?null:typeof value=="string"?value:value.toString()}__name(ensureString,"ensureString");function isWildCardString(str){return typeof str=="number"?!1:str.indexOf("*")!==-1||str.indexOf("?")!==-1}__name(isWildCardString,"isWildCardString");function createREGEXFromWildChar(wildChar){const regexpStr=wildChar.replace(/[.+^${}()|[\]\\]/g,"\\$&").replaceAll("?",".").replace(/[*]/g,".$&");return new RegExp(`^${regexpStr}$`)}__name(createREGEXFromWildChar,"createREGEXFromWildChar");const EMPTY=__name(()=>new Set,"EMPTY"),_FilterModel=class _FilterModel extends core.Disposable{constructor(unitId,subUnitId,_worksheet){super();__publicField(this,"_filteredOutRows$",new rxjs.BehaviorSubject(EMPTY()));__publicField(this,"filteredOutRows$",this._filteredOutRows$.asObservable());__publicField(this,"_hasCriteria$",new rxjs.BehaviorSubject(!1));__publicField(this,"hasCriteria$",this._hasCriteria$.asObservable());__publicField(this,"_filterColumnByIndex",new Map);__publicField(this,"_alreadyFilteredOutRows",EMPTY());__publicField(this,"_range");this.unitId=unitId,this.subUnitId=subUnitId,this._worksheet=_worksheet}get filteredOutRows(){return this._filteredOutRows$.getValue()}set filteredOutRows(rows){this._alreadyFilteredOutRows=rows,this._filteredOutRows$.next(rows)}dispose(){super.dispose(),this._filteredOutRows$.complete(),this._hasCriteria$.complete()}serialize(){const result={ref:core.Rectangle.clone(this._range),filterColumns:this._getAllFilterColumns(!0).sort(([offset1],[offset2])=>offset1-offset2).map(([_,filterColumn])=>filterColumn.serialize())};return this._alreadyFilteredOutRows&&(result.cachedFilteredOut=Array.from(this._alreadyFilteredOutRows).sort()),result}static deserialize(unitId,subUnitId,worksheet,autoFilter){const filterModel=new _FilterModel(unitId,subUnitId,worksheet);return filterModel._dump(autoFilter),filterModel}_dump(autoFilter){var _a4;this.setRange(autoFilter.ref),(_a4=autoFilter.filterColumns)==null||_a4.forEach(filterColumn=>this._setCriteriaWithoutReCalc(filterColumn.colId,filterColumn)),autoFilter.cachedFilteredOut&&(this._alreadyFilteredOutRows=new Set(autoFilter.cachedFilteredOut),this._emit()),this._emitHasCriteria()}isRowFiltered(row){return this._alreadyFilteredOutRows.has(row)}getRange(){if(!this._range)throw new Error("[FilterModel] could not get range before a range is set!");return this._range}getFilteredOutRowsExceptCol(col){return this._getAllFilterColumns(!0).filter(([colOffset])=>colOffset!==col).reduce((acc,[,filterColumn])=>{const newResult=filterColumn.calc({getAlreadyFilteredOutRows:__name(()=>acc,"getAlreadyFilteredOutRows")});return newResult?core.mergeSets(acc,newResult):acc},new Set)}setRange(range){this._range=range,this._getAllFilterColumns(!0).forEach(([col,filterColumn])=>{filterColumn.setRangeAndColumn({startRow:range.startRow,endRow:range.endRow,startColumn:col,endColumn:col},col)})}setCriteria(col,criteria,reCalc=!1){if(!this._range)throw new Error("[FilterModel] could not set criteria before a range is set!");if(!criteria){this._removeCriteria(col),this._rebuildAlreadyFilteredOutRowsWithCache(),reCalc&&this._reCalcAllColumns(),this._emit(),this._emitHasCriteria();return}this._setCriteriaWithoutReCalc(col,criteria),reCalc&&(this._rebuildAlreadyFilteredOutRowsWithCache(),this._reCalcWithNoCacheColumns(),this._emit(),this._emitHasCriteria())}getAllFilterColumns(){return this._getAllFilterColumns(!0)}getFilterColumn(index){var _a4;return(_a4=this._filterColumnByIndex.get(index))!=null?_a4:null}reCalc(){this._reCalcAllColumns(),this._emit()}_getAllFilterColumns(withCol=!1){const columns=Array.from(this._filterColumnByIndex.entries());return withCol?columns:columns.map(([_,filterColumn])=>filterColumn)}_reCalcAllColumns(){this._alreadyFilteredOutRows=EMPTY(),this._getAllFilterColumns().forEach(filterColumn=>filterColumn.__clearCache()),this._reCalcWithNoCacheColumns()}_setCriteriaWithoutReCalc(col,criteria){const range=this._range;if(!range)throw new Error("[FilterModel] could not set criteria before a range is set!");const{startColumn,endColumn}=range;if(col>endColumn||col<startColumn)throw new Error(`[FilterModel] could not set criteria on column ${col} which is out of range!`);let filterColumn;this._filterColumnByIndex.has(col)?filterColumn=this._filterColumnByIndex.get(col):(filterColumn=new FilterColumn(this.unitId,this.subUnitId,this._worksheet,criteria,{getAlreadyFilteredOutRows:__name(()=>this._alreadyFilteredOutRows,"getAlreadyFilteredOutRows")}),filterColumn.setRangeAndColumn(range,col),this._filterColumnByIndex.set(col,filterColumn)),filterColumn.setCriteria(criteria)}_removeCriteria(col){const filterColumn=this._filterColumnByIndex.get(col);filterColumn&&(filterColumn.dispose(),this._filterColumnByIndex.delete(col))}_emit(){this._filteredOutRows$.next(this._alreadyFilteredOutRows)}_emitHasCriteria(){this._hasCriteria$.next(this._filterColumnByIndex.size>0)}_rebuildAlreadyFilteredOutRowsWithCache(){const newFilteredOutRows=this._getAllFilterColumns().filter(filterColumn=>filterColumn.hasCache()).reduce((acc,filterColumn)=>core.mergeSets(acc,filterColumn.filteredOutRows),new Set);this._alreadyFilteredOutRows=newFilteredOutRows}_reCalcWithNoCacheColumns(){const noCacheFilteredOutRows=this._getAllFilterColumns().filter(filterColumn=>!filterColumn.hasCache());for(const filterColumn of noCacheFilteredOutRows){const filteredRows=filterColumn.reCalc();filteredRows&&(this._alreadyFilteredOutRows=core.mergeSets(this._alreadyFilteredOutRows,filteredRows))}}};__name(_FilterModel,"FilterModel");let FilterModel=_FilterModel;const _FilterColumn=class _FilterColumn extends core.Disposable{constructor(unitId,subUnitId,_worksheet,_criteria,_filterColumnContext){super();__publicField(this,"_filteredOutRows",null);__publicField(this,"_filterFn",null);__publicField(this,"_range",null);__publicField(this,"_column",0);__publicField(this,"_filterByValues",!1);this.unitId=unitId,this.subUnitId=subUnitId,this._worksheet=_worksheet,this._criteria=_criteria,this._filterColumnContext=_filterColumnContext}get filteredOutRows(){return this._filteredOutRows}dispose(){super.dispose(),this._filteredOutRows=null}__clearCache(){this._filteredOutRows=null}serialize(){if(!this._criteria)throw new Error("[FilterColumn]: could not serialize without a filter column!");return core.Tools.deepClone({...this._criteria,colId:this._column})}hasCache(){return this._filteredOutRows!==null}setRangeAndColumn(range,column){this._range=range,this._column=column}setCriteria(criteria){this._criteria=criteria,this._generateFilterFn(),this._filteredOutRows=null}getColumnData(){return core.Tools.deepClone(this._criteria)}reCalc(){return this._filteredOutRows=this.calc(this._filterColumnContext),this._filteredOutRows}calc(context){if(!this._filterFn)throw new Error("[FilterColumn] cannot calculate without a filter fn!");if(!this._range)throw new Error("[FilterColumn] cannot calculate without a range!");if(typeof this._column!="number")throw new TypeError("[FilterColumn] cannot calculate without a column offset!");const column=this._column,iterateRange={startColumn:column,endColumn:column,startRow:this._range.startRow+1,endRow:this._range.endRow},filteredOutRows=new Set,filteredOutByOthers=context.getAlreadyFilteredOutRows();for(const range of this._worksheet.iterateByColumn(iterateRange,!1,!1)){const{row,rowSpan,col}=range;if(filteredOutByOthers.has(row)&&(!rowSpan||rowSpan===1))continue;const value=this._filterByValues?core.extractPureTextFromCell(this._worksheet.getCell(row,col)):getFilterValueForConditionalFiltering(this._worksheet,row,col);if(!this._filterFn(value)&&(filteredOutRows.add(row),rowSpan))for(let i=1;i<rowSpan;i++)filteredOutRows.add(row+i)}return filteredOutRows}_generateFilterFn(){this._criteria&&(this._filterFn=generateFilterFn(this._criteria),this._filterByValues=!!this._criteria.filters)}};__name(_FilterColumn,"FilterColumn");let FilterColumn=_FilterColumn;function generateFilterFn(column){if(column.filters)return filterByValuesFnFactory(column.filters);if(column.customFilters)return customFilterFnFactory(column.customFilters);throw new Error("[FilterModel]: other types of filters are not supported yet.")}__name(generateFilterFn,"generateFilterFn");function filterByValuesFnFactory(values){const includeBlank=!!values.blank,valuesSet=new Set(values.filters);return value=>value===void 0||value===""?includeBlank:valuesSet.has(typeof value=="string"?value:`${value}`)}__name(filterByValuesFnFactory,"filterByValuesFnFactory");function customFilterFnFactory(customFilters){const customFilterFns=customFilters.customFilters.map(filter=>generateCustomFilterFn(filter));return isCompoundCustomFilter(customFilterFns)?customFilters.and?AND(customFilterFns):OR(customFilterFns):customFilterFns[0]}__name(customFilterFnFactory,"customFilterFnFactory");function AND(filterFns){const[fn1,fn2]=filterFns;return value=>fn1(value)&&fn2(value)}__name(AND,"AND");function OR(filterFns){const[fn1,fn2]=filterFns;return value=>fn1(value)||fn2(value)}__name(OR,"OR");function isCompoundCustomFilter(filter){return filter.length===2}__name(isCompoundCustomFilter,"isCompoundCustomFilter");function generateCustomFilterFn(filter){const compare=filter.val;if(filter.operator===CustomFilterOperator.NOT_EQUALS&&!ensureNumeric(compare))return value=>notEquals.fn(value,compare);if(isNumericFilterFn(filter.operator)){if(!ensureNumeric(compare))return()=>!1;const customFilterFn2=getCustomFilterFn(filter.operator),ensuredNumber=Number(compare);return value=>customFilterFn2.fn(value,ensuredNumber)}const customFilterFn=getCustomFilterFn(filter.operator);return value=>customFilterFn.fn(value,compare)}__name(generateCustomFilterFn,"generateCustomFilterFn");function getFilterValueForConditionalFiltering(worksheet,row,col){const interceptedCell=worksheet.getCell(row,col);if(!interceptedCell)return null;const rawCell=worksheet.getCellRaw(row,col);return interceptedCell&&!rawCell?extractFilterValueFromCell(interceptedCell):rawCell?interceptedCell.t===core.CellValueType.NUMBER&&typeof interceptedCell.v=="string"?rawCell.v:extractFilterValueFromCell(rawCell):null}__name(getFilterValueForConditionalFiltering,"getFilterValueForConditionalFiltering");function extractFilterValueFromCell(cell){var _a4,_b;const richTextValue=(_b=(_a4=cell.p)==null?void 0:_a4.body)==null?void 0:_b.dataStream;if(richTextValue)return richTextValue.trimEnd();const rawValue=cell.v;return typeof rawValue=="string"?cell.t===core.CellValueType.BOOLEAN?rawValue.toUpperCase():rawValue:typeof rawValue=="number"?cell.t===core.CellValueType.BOOLEAN?rawValue?"TRUE":"FALSE":rawValue:typeof rawValue=="boolean"?rawValue?"TRUE":"FALSE":""}__name(extractFilterValueFromCell,"extractFilterValueFromCell");var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const FILTER_MUTATIONS=new Set([SetSheetsFilterRangeMutation.id,SetSheetsFilterCriteriaMutation.id,RemoveSheetsFilterMutation.id,ReCalcSheetsFilterMutation.id]),SHEET_FILTER_SNAPSHOT_ID="SHEET_FILTER_PLUGIN";var _a;exports.SheetsFilterService=(_a=class extends core.Disposable{constructor(_resourcesManagerService,_univerInstanceService,_commandService){super();__publicField(this,"_filterModels",new Map);__publicField(this,"_loadedUnitId$",new rxjs.BehaviorSubject(null));__publicField(this,"loadedUnitId$",this._loadedUnitId$.asObservable());__publicField(this,"_errorMsg$",new rxjs.BehaviorSubject(null));__publicField(this,"errorMsg$",this._errorMsg$.asObservable());__publicField(this,"_activeFilterModel$",new rxjs.BehaviorSubject(null));__publicField(this,"activeFilterModel$",this._activeFilterModel$.asObservable());this._resourcesManagerService=_resourcesManagerService,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService,this._initModel(),this._initActiveFilterModel()}get activeFilterModel(){return this._activeFilterModel$.getValue()}ensureFilterModel(unitId,subUnitId){const already=this.getFilterModel(unitId,subUnitId);if(already)return already;const workbook=this._univerInstanceService.getUniverSheetInstance(unitId);if(!workbook)throw new Error(`[SheetsFilterService]: could not create "FilterModel" on a non-existing workbook ${unitId}!`);const worksheet=workbook.getSheetBySheetId(subUnitId);if(!worksheet)throw new Error(`[SheetsFilterService]: could not create "FilterModel" on a non-existing worksheet ${subUnitId}!`);const filterModel=new FilterModel(unitId,subUnitId,worksheet);return this._cacheFilterModel(unitId,subUnitId,filterModel),filterModel}getFilterModel(unitId,subUnitId){var _a4,_b;return(_b=(_a4=this._filterModels.get(unitId))==null?void 0:_a4.get(subUnitId))!=null?_b:null}removeFilterModel(unitId,subUnitId){const already=this.getFilterModel(unitId,subUnitId);return already?(already.dispose(),this._filterModels.get(unitId).delete(subUnitId),!0):!1}setFilterErrorMsg(content){this._errorMsg$.next(content)}_updateActiveFilterModel(){let workbook;try{if(workbook=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET),!workbook){this._activeFilterModel$.next(null);return}}catch(err){console.error("[SheetsFilterService]: could not get active workbook!",err);return}const activeSheet=workbook.getActiveSheet(!0);if(!activeSheet){this._activeFilterModel$.next(null);return}const unitId=activeSheet.getUnitId(),subUnitId=activeSheet.getSheetId(),filterModel=this.getFilterModel(unitId,subUnitId);this._activeFilterModel$.next(filterModel)}_initActiveFilterModel(){this.disposeWithMe(rxjs.merge(core.fromCallback(this._commandService.onCommandExecuted.bind(this._commandService)).pipe(rxjs.filter(([command])=>command.type===core.CommandType.MUTATION&&FILTER_MUTATIONS.has(command.id))),this._univerInstanceService.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SHEET).pipe(rxjs.switchMap(workbook=>{var _a4;return(_a4=workbook==null?void 0:workbook.activeSheet$)!=null?_a4:rxjs.of(null)}))).subscribe(()=>this._updateActiveFilterModel()))}_serializeAutoFiltersForUnit(unitId){const allFilterModels=this._filterModels.get(unitId);if(!allFilterModels)return"{}";const json={};return allFilterModels.forEach((model,worksheetId)=>{json[worksheetId]=model.serialize()}),JSON.stringify(json)}_deserializeAutoFiltersForUnit(unitId,json){const workbook=this._univerInstanceService.getUniverSheetInstance(unitId);Object.keys(json).forEach(worksheetId=>{const autoFilter=json[worksheetId],filterModel=FilterModel.deserialize(unitId,worksheetId,workbook.getSheetBySheetId(worksheetId),autoFilter);this._cacheFilterModel(unitId,worksheetId,filterModel)})}_initModel(){this._resourcesManagerService.registerPluginResource({pluginName:SHEET_FILTER_SNAPSHOT_ID,businesses:[core.UniverInstanceType.UNIVER_SHEET],toJson:__name(id=>this._serializeAutoFiltersForUnit(id),"toJson"),parseJson:__name(json=>JSON.parse(json),"parseJson"),onLoad:__name((unitId,value)=>{this._deserializeAutoFiltersForUnit(unitId,value),this._loadedUnitId$.next(unitId),this._updateActiveFilterModel()},"onLoad"),onUnLoad:__name(unitId=>{const allFilterModels=this._filterModels.get(unitId);allFilterModels&&(allFilterModels.forEach(model=>model.dispose()),this._filterModels.delete(unitId))},"onUnLoad")})}_cacheFilterModel(unitId,subUnitId,filterModel){this._filterModels.has(unitId)||this._filterModels.set(unitId,new Map),this._filterModels.get(unitId).set(subUnitId,filterModel)}},__name(_a,"SheetsFilterService"),_a);exports.SheetsFilterService=__decorateClass$2([__decorateParam$2(0,core.IResourceManagerService),__decorateParam$2(1,core.IUniverInstanceService),__decorateParam$2(2,core.ICommandService)],exports.SheetsFilterService);function objectsShaker(target,isEqual){for(let i=0;i<target.length;i++){let cur=i;if(target[i])for(let j=i+1;j<target.length;j++)target[cur]&&target[j]&&isEqual(target[cur],target[j])&&(target[cur]=null,cur=j)}return target.filter(o=>o!==null)}__name(objectsShaker,"objectsShaker");function mergeSetFilterCriteria(mutations){return objectsShaker(mutations,(o1,o2)=>o1.id===SetSheetsFilterCriteriaMutation.id&&o2.id===SetSheetsFilterCriteriaMutation.id&&o1.params.unitId===o2.params.unitId&&o1.params.subUnitId===o2.params.subUnitId&&o1.params.col===o2.params.col)}__name(mergeSetFilterCriteria,"mergeSetFilterCriteria");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),_a2;let SheetsFilterController=(_a2=class extends core.Disposable{constructor(_commandService,_sheetInterceptorService,_sheetsFilterService,_univerInstanceService,_refRangeService){super();__publicField(this,"_disposableCollection",new core.DisposableCollection);this._commandService=_commandService,this._sheetInterceptorService=_sheetInterceptorService,this._sheetsFilterService=_sheetsFilterService,this._univerInstanceService=_univerInstanceService,this._refRangeService=_refRangeService,this._initCommands(),this._initRowFilteredInterceptor(),this._initInterceptors(),this._commandExecutedListener(),this._initErrorHandling()}_initCommands(){[SetSheetsFilterCriteriaMutation,SetSheetsFilterRangeMutation,ReCalcSheetsFilterMutation,RemoveSheetsFilterMutation].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_initInterceptors(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:__name(command=>this._getUpdateFilter(command),"getMutations")})),this.disposeWithMe(this._commandService.onCommandExecuted(commandInfo=>{if(commandInfo.id===sheets.SetWorksheetActiveOperation.id){const params=commandInfo.params,sheetId=params.subUnitId,unitId=params.unitId;if(!sheetId||!unitId)return;this._registerRefRange(unitId,sheetId)}if(commandInfo.id===SetSheetsFilterRangeMutation.id){const params=commandInfo.params,sheetId=params.subUnitId,unitId=params.unitId;if(!sheetId||!unitId)return;this._registerRefRange(params.unitId,params.subUnitId)}})),this.disposeWithMe(this._sheetsFilterService.loadedUnitId$.subscribe(unitId=>{if(unitId){const workbook=this._univerInstanceService.getUniverSheetInstance(unitId),sheet=workbook==null?void 0:workbook.getActiveSheet();sheet&&this._registerRefRange(unitId,sheet.getSheetId())}}))}_registerRefRange(unitId,subUnitId){var _a4;this._disposableCollection.dispose();const workbook=this._univerInstanceService.getUniverSheetInstance(unitId),workSheet=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId);if(!workbook||!workSheet)return;const range=(_a4=this._sheetsFilterService.getFilterModel(unitId,subUnitId))==null?void 0:_a4.getRange(),handler=__name(config=>{switch(config.id){case sheets.InsertRowCommand.id:{const params=config.params,_unitId=params.unitId||unitId,_subUnitId=params.subUnitId||subUnitId;return this._handleInsertRowCommand(params,_unitId,_subUnitId)}case sheets.InsertColCommand.id:{const params=config.params,_unitId=params.unitId||unitId,_subUnitId=params.subUnitId||subUnitId;return this._handleInsertColCommand(params,_unitId,_subUnitId)}case sheets.RemoveColCommand.id:{const params=config.params;return this._handleRemoveColCommand(params,unitId,subUnitId)}case sheets.RemoveRowCommand.id:{const params=config.params;return this._handleRemoveRowCommand(params,unitId,subUnitId)}case sheets.EffectRefRangId.MoveColsCommandId:{const params=config.params;return this._handleMoveColsCommand(params,unitId,subUnitId)}case sheets.EffectRefRangId.MoveRowsCommandId:{const params=config.params;return this._handleMoveRowsCommand(params,unitId,subUnitId)}case sheets.MoveRangeCommand.id:{const params=config.params;return this._handleMoveRangeCommand(params,unitId,subUnitId)}}return{redos:[],undos:[]}},"handler");range&&this._disposableCollection.add(this._refRangeService.registerRefRange(range,handler,unitId,subUnitId))}_getUpdateFilter(command){const{id}=command;switch(id){case sheets.RemoveSheetCommand.id:{const params=command.params;return this._handleRemoveSheetCommand(params,params.unitId,params.subUnitId)}case sheets.CopySheetCommand.id:{const params=command.params,{targetSubUnitId,unitId,subUnitId}=params;return!unitId||!subUnitId||!targetSubUnitId?this._handleNull():this._handleCopySheetCommand(unitId,subUnitId,targetSubUnitId)}}return{redos:[],undos:[]}}_handleInsertColCommand(config,unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId),filterRange=(_a4=filterModel==null?void 0:filterModel.getRange())!=null?_a4:null;if(!filterModel||!filterRange)return this._handleNull();const{startColumn,endColumn}=filterRange,{startColumn:insertStartColumn,endColumn:insertEndColumn}=config.range,count=insertEndColumn-insertStartColumn+1;if(insertEndColumn>endColumn)return this._handleNull();const redos=[],undos=[],anchor=insertStartColumn,setFilterRangeMutationParams={unitId,subUnitId,range:{...filterRange,startColumn:insertStartColumn<=startColumn?startColumn+count:startColumn,endColumn:endColumn+count}},undoSetFilterRangeMutationParams={unitId,subUnitId,range:filterRange};redos.push({id:SetSheetsFilterRangeMutation.id,params:setFilterRangeMutationParams}),undos.push({id:SetSheetsFilterRangeMutation.id,params:undoSetFilterRangeMutationParams});const effected=filterModel.getAllFilterColumns().filter(column=>column[0]>=anchor);if(effected.length!==0){const{newRange,oldRange}=this.moveCriteria(unitId,subUnitId,effected,count);redos.push(...newRange.redos,...oldRange.redos),undos.push(...newRange.undos,...oldRange.undos)}return{redos:mergeSetFilterCriteria(redos),undos:mergeSetFilterCriteria(undos)}}_handleInsertRowCommand(config,unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId),filterRange=(_a4=filterModel==null?void 0:filterModel.getRange())!=null?_a4:null;if(!filterModel||!filterRange)return this._handleNull();const{startRow,endRow}=filterRange,{startRow:insertStartRow,endRow:insertEndRow}=config.range,rowCount=insertEndRow-insertStartRow+1;if(insertEndRow>endRow)return this._handleNull();const redos=[],undos=[],setFilterRangeParams={unitId,subUnitId,range:{...filterRange,startRow:insertStartRow<=startRow?startRow+rowCount:startRow,endRow:endRow+rowCount}},undoSetFilterRangeMutationParams={unitId,subUnitId,range:filterRange};return redos.push({id:SetSheetsFilterRangeMutation.id,params:setFilterRangeParams}),undos.push({id:SetSheetsFilterRangeMutation.id,params:undoSetFilterRangeMutationParams}),{redos:mergeSetFilterCriteria(redos),undos:mergeSetFilterCriteria(undos)}}_handleRemoveColCommand(config,unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId),filterRange=(_a4=filterModel==null?void 0:filterModel.getRange())!=null?_a4:null;if(!filterModel||!filterRange)return this._handleNull();const{startColumn,endColumn}=filterRange,{startColumn:removeStartColumn,endColumn:removeEndColumn}=config.range;if(removeStartColumn>endColumn)return this._handleNull();const redos=[],undos=[],rangeRemoveCount=removeEndColumn<startColumn?0:Math.min(removeEndColumn,endColumn)-Math.max(removeStartColumn,startColumn)+1,removeCount=removeEndColumn-removeStartColumn+1,filterColumn=filterModel.getAllFilterColumns();filterColumn.forEach(column=>{const[col,filter]=column;col<=removeEndColumn&&col>=removeStartColumn&&(redos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col,criteria:null}}),undos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col,criteria:{...filter.serialize(),colId:col}}}))});const shifted=filterColumn.filter(column=>{const[col,_]=column;return col>removeEndColumn});let newRangeCriteria={undos:[],redos:[]};if(shifted.length>0){const{oldRange,newRange}=this.moveCriteria(unitId,subUnitId,shifted,-removeCount);newRangeCriteria=newRange,redos.push(...oldRange.redos),undos.unshift(...oldRange.undos)}if(rangeRemoveCount===endColumn-startColumn+1){const removeFilterRangeMutationParams={unitId,subUnitId};redos.push({id:RemoveSheetsFilterMutation.id,params:removeFilterRangeMutationParams}),undos.unshift({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}})}else{const newStartColumn=startColumn<=removeStartColumn?startColumn:rangeRemoveCount===0?startColumn-removeCount:removeStartColumn,newEndColumn=startColumn<=removeStartColumn?endColumn-rangeRemoveCount:endColumn-removeCount,setFilterRangeMutationParams={unitId,subUnitId,range:{...filterRange,startColumn:newStartColumn,endColumn:newEndColumn}};redos.push({id:SetSheetsFilterRangeMutation.id,params:setFilterRangeMutationParams}),undos.unshift({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}}),redos.push(...newRangeCriteria.redos),undos.unshift(...newRangeCriteria.undos)}return{undos,redos}}_handleRemoveRowCommand(config,unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return this._handleNull();const filterRange=filterModel.getRange(),{startRow,endRow}=filterRange,{startRow:removeStartRow,endRow:removeEndRow}=config.range;if(removeStartRow>endRow)return this._handleNull();if(removeEndRow<startRow)return{undos:[{id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}}],redos:[{id:SetSheetsFilterRangeMutation.id,params:{range:{...filterRange,startRow:startRow-(removeEndRow-removeStartRow+1),endRow:endRow-(removeEndRow-removeStartRow+1)},unitId,subUnitId}}]};const redos=[],undos=[],filterColumn=filterModel.getAllFilterColumns(),filterHeaderIsRemoved=startRow<=removeEndRow&&startRow>=removeStartRow;undos.push({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}});const count=Math.min(removeEndRow,endRow)-Math.max(removeStartRow,startRow)+1;if(count===endRow-startRow+1||filterHeaderIsRemoved){const removeFilterRangeMutationParams={unitId,subUnitId};redos.push({id:RemoveSheetsFilterMutation.id,params:removeFilterRangeMutationParams}),filterColumn.forEach(column=>{const[offset,filter]=column,setCriteriaMutationParams={unitId,subUnitId,col:offset,criteria:{...filter.serialize(),colId:offset}};undos.push({id:SetSheetsFilterCriteriaMutation.id,params:setCriteriaMutationParams})})}else{const worksheet=(_a4=this._univerInstanceService.getUniverSheetInstance(unitId))==null?void 0:_a4.getSheetBySheetId(subUnitId);if(!worksheet)return this._handleNull();const hiddenRows=[];for(let r=removeStartRow;r<=removeEndRow;r++)worksheet.getRowFiltered(r)&&hiddenRows.push(r);const afterStartRow=Math.min(startRow,removeStartRow),afterEndRow=afterStartRow+(endRow-startRow)-count+hiddenRows.length,setFilterRangeMutationParams={unitId,subUnitId,range:{...filterRange,startRow:afterStartRow,endRow:afterEndRow}};redos.push({id:SetSheetsFilterRangeMutation.id,params:setFilterRangeMutationParams})}return{undos:mergeSetFilterCriteria(undos),redos:mergeSetFilterCriteria(redos)}}_handleMoveColsCommand(config,unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId),filterRange=(_a4=filterModel==null?void 0:filterModel.getRange())!=null?_a4:null;if(!filterModel||!filterRange)return this._handleNull();const{startColumn,endColumn}=filterRange,{fromRange,toRange}=config;if(fromRange.endColumn<startColumn&&toRange.startColumn<=startColumn||fromRange.startColumn>endColumn&&toRange.endColumn>endColumn)return this._handleNull();const redos=[],undos=[],filterCol={};for(let col=startColumn;col<=endColumn;col++)filterCol[col]={colIndex:col,filter:filterModel.getFilterColumn(col)};core.moveMatrixArray(fromRange.startColumn,fromRange.endColumn-fromRange.startColumn+1,toRange.startColumn,filterCol);let startBorder=filterRange.startColumn,endBorder=filterRange.endColumn;startColumn>=fromRange.startColumn&&startColumn<=fromRange.endColumn&&toRange.startColumn>fromRange.startColumn&&fromRange.endColumn<endColumn&&(startBorder=fromRange.endColumn+1),endColumn>=fromRange.startColumn&&endColumn<=fromRange.endColumn&&toRange.startColumn<fromRange.startColumn&&fromRange.startColumn>startColumn&&(endBorder=fromRange.startColumn-1);const numberCols=Object.keys(filterCol).map(col=>Number(col)),newEnd=numberCols.find(col=>filterCol[col].colIndex===endBorder),newStart=numberCols.find(col=>filterCol[col].colIndex===startBorder);if(numberCols.forEach(col=>{var _a5,_b;const{colIndex:oldColIndex,filter}=filterCol[col],newColIndex=col;if(filter){if(newColIndex>=newStart&&newColIndex<=newEnd){const setCriteriaMutationParams={unitId,subUnitId,col:newColIndex,criteria:{...filter.serialize(),colId:newColIndex}},undoSetCriteriaMutationParams={unitId,subUnitId,col:newColIndex,criteria:filterModel.getFilterColumn(newColIndex)?{...(_a5=filterModel.getFilterColumn(newColIndex))==null?void 0:_a5.serialize(),colId:newColIndex}:null};redos.push({id:SetSheetsFilterCriteriaMutation.id,params:setCriteriaMutationParams}),undos.push({id:SetSheetsFilterCriteriaMutation.id,params:undoSetCriteriaMutationParams})}if(!((_b=filterCol[oldColIndex])!=null&&_b.filter)){const setCriteriaMutationParams={unitId,subUnitId,col:oldColIndex,criteria:null};redos.push({id:SetSheetsFilterCriteriaMutation.id,params:setCriteriaMutationParams}),undos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:oldColIndex,criteria:{...filter.serialize(),colId:oldColIndex}}})}}}),startColumn!==newStart||endColumn!==newEnd){const setFilterRangeMutationParams={unitId,subUnitId,range:{...filterRange,startColumn:newStart,endColumn:newEnd}};redos.unshift({id:SetSheetsFilterRangeMutation.id,params:setFilterRangeMutationParams}),undos.unshift({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}})}return{undos,redos}}_handleMoveRowsCommand(config,unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId),filterRange=(_a4=filterModel==null?void 0:filterModel.getRange())!=null?_a4:null;if(!filterModel||!filterRange)return this._handleNull();const{startRow,endRow}=filterRange,{fromRange,toRange}=config;if(fromRange.endRow<startRow&&toRange.startRow<=startRow||fromRange.startRow>endRow&&toRange.endRow>endRow)return this._handleNull();const redos=[],undos=[],filterRow={};for(let row=startRow;row<=endRow;row++)filterRow[row]={oldIndex:row};const startBorder=startRow;let endBorder=endRow;endRow>=fromRange.startRow&&endRow<=fromRange.endRow&&toRange.startRow<fromRange.startRow&&fromRange.startRow>startRow&&(endBorder=fromRange.startRow-1),core.moveMatrixArray(fromRange.startRow,fromRange.endRow-fromRange.startRow+1,toRange.startRow,filterRow);const numberRows=Object.keys(filterRow).map(row=>Number(row)),newEnd=numberRows.find(row=>filterRow[row].oldIndex===endBorder),newStart=numberRows.find(row=>filterRow[row].oldIndex===startBorder);if(startRow!==newStart||endRow!==newEnd){const setFilterRangeMutationParams={unitId,subUnitId,range:{...filterRange,startRow:newStart,endRow:newEnd}};redos.push({id:SetSheetsFilterRangeMutation.id,params:setFilterRangeMutationParams},{id:ReCalcSheetsFilterMutation.id,params:{unitId,subUnitId}}),undos.push({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}},{id:ReCalcSheetsFilterMutation.id,params:{unitId,subUnitId}})}return{redos,undos}}_handleMoveRangeCommand(config,unitId,subUnitId){const{fromRange,toRange}=config,filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return this._handleNull();const filterRange=filterModel.getRange();if(!filterRange)return this._handleNull();const redos=[],undos=[];if(core.Rectangle.contains(fromRange,filterRange)){const rowOffset=filterRange.startRow-fromRange.startRow,colOffset=filterRange.startColumn-fromRange.startColumn,newFilterRange={startRow:toRange.startRow+rowOffset,startColumn:toRange.startColumn+colOffset,endRow:toRange.startRow+rowOffset+(filterRange.endRow-filterRange.startRow),endColumn:toRange.startColumn+colOffset+(filterRange.endColumn-filterRange.startColumn)},removeFilter={id:RemoveSheetsFilterMutation.id,params:{unitId,subUnitId}},setNewFilterRange={id:SetSheetsFilterRangeMutation.id,params:{unitId,subUnitId,range:newFilterRange}},setOldFilterRange={id:SetSheetsFilterRangeMutation.id,params:{unitId,subUnitId,range:filterRange}};redos.push(removeFilter,setNewFilterRange),undos.push(removeFilter,setOldFilterRange);const filterColumn=filterModel.getAllFilterColumns(),moveColDelta=toRange.startColumn-fromRange.startColumn;filterColumn.forEach(column=>{const[col,criteria]=column;criteria&&(redos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col:col+moveColDelta,criteria:{...criteria.serialize(),colId:col+moveColDelta}}}),undos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col,criteria:{...criteria.serialize(),colId:col}}}))})}return{redos,undos}}_handleRemoveSheetCommand(config,unitId,subUnitId){const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return this._handleNull();const filterRange=filterModel.getRange();if(!filterRange)return this._handleNull();const redos=[],undos=[];return filterModel.getAllFilterColumns().forEach(([col,filter])=>{undos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId,col,criteria:{...filter.serialize(),colId:col}}})}),redos.push({id:RemoveSheetsFilterMutation.id,params:{unitId,subUnitId,range:filterRange}}),undos.unshift({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId}}),{undos,redos}}_handleCopySheetCommand(unitId,subUnitId,targetSubUnitId){const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return this._handleNull();const filterRange=filterModel.getRange();if(!filterRange)return this._handleNull();const redos=[],undos=[],preUndos=[],preRedos=[];return filterModel.getAllFilterColumns().forEach(([col,filter])=>{redos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId:targetSubUnitId,col,criteria:{...filter.serialize(),colId:col}}}),preUndos.push({id:SetSheetsFilterCriteriaMutation.id,params:{unitId,subUnitId:targetSubUnitId,col,criteria:null}})}),preUndos.push({id:RemoveSheetsFilterMutation.id,params:{unitId,subUnitId:targetSubUnitId,range:filterRange}}),redos.unshift({id:SetSheetsFilterRangeMutation.id,params:{range:filterRange,unitId,subUnitId:targetSubUnitId}}),{undos,redos,preUndos,preRedos}}_handleNull(){return{redos:[],undos:[]}}_initRowFilteredInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(sheets.INTERCEPTOR_POINT.ROW_FILTERED,{handler:__name((filtered,rowLocation)=>{var _a4,_b;return filtered?!0:(_b=(_a4=this._sheetsFilterService.getFilterModel(rowLocation.unitId,rowLocation.subUnitId))==null?void 0:_a4.isRowFiltered(rowLocation.row))!=null?_b:!1},"handler")}))}moveCriteria(unitId,subUnitId,target,step){const defaultSetCriteriaMutationParams={unitId,subUnitId,criteria:null,col:-1},oldUndos=[],oldRedos=[],newUndos=[],newRedos=[];return target.forEach(column=>{const[offset,filter]=column;oldRedos.push({id:SetSheetsFilterCriteriaMutation.id,params:{...defaultSetCriteriaMutationParams,col:offset}}),oldUndos.push({id:SetSheetsFilterCriteriaMutation.id,params:{...defaultSetCriteriaMutationParams,col:offset,criteria:{...filter.serialize(),colId:offset}}})}),target.forEach(column=>{const[offset,filter]=column;newRedos.push({id:SetSheetsFilterCriteriaMutation.id,params:{...defaultSetCriteriaMutationParams,col:offset+step,criteria:{...filter.serialize(),colId:offset+step}}}),newUndos.push({id:SetSheetsFilterCriteriaMutation.id,params:{...defaultSetCriteriaMutationParams,col:offset+step,criteria:null}})}),{newRange:{redos:newRedos,undos:newUndos},oldRange:{redos:oldRedos,undos:oldUndos}}}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((command,options)=>{var _a4,_b;const{unitId,subUnitId}=command.params||{},filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return;const filteredOutRows=Array.from(filterModel.filteredOutRows).sort((a,b)=>a-b),newFilteredOutRows=[];let changed=!1;if(command.id===sheets.RemoveRowMutation.id){const{startRow,endRow}=command.params.range,filterOutInRemove=filteredOutRows.filter(row=>row>=startRow&&row<=endRow);filteredOutRows.forEach(row=>{if(row<startRow)newFilteredOutRows.push(row);else if(changed=!0,row<=endRow){const newIndex=Math.max(startRow,newFilteredOutRows.length?newFilteredOutRows[newFilteredOutRows.length-1]+1:startRow);newFilteredOutRows.push(newIndex)}else newFilteredOutRows.push(row-(endRow-startRow+1-filterOutInRemove.length))})}if(command.id===sheets.InsertRowMutation.id){const{startRow,endRow}=command.params.range;filteredOutRows.forEach(row=>{row>=startRow?(changed=!0,newFilteredOutRows.push(row+(endRow-startRow+1))):newFilteredOutRows.push(row)})}if(changed&&(filterModel.filteredOutRows=new Set(newFilteredOutRows)),command.id===sheets.SetRangeValuesMutation.id&&!(options!=null&&options.onlyLocal)){const extendRegion=this._getExtendRegion(unitId,subUnitId);if(extendRegion){const cellValue=command.params.cellValue;if(cellValue)for(let col=extendRegion.startColumn;col<=extendRegion.endColumn;col++){const cell=(_a4=cellValue==null?void 0:cellValue[extendRegion.startRow])==null?void 0:_a4[col];if(cell&&this._cellHasValue(cell)){const worksheet=(_b=this._univerInstanceService.getUnit(unitId))==null?void 0:_b.getSheetBySheetId(subUnitId);if(worksheet){const extendedRange=sheets.expandToContinuousRange(extendRegion,{down:!0},worksheet),filterModel2=this._sheetsFilterService.getFilterModel(unitId,subUnitId),filterRange=filterModel2.getRange();filterModel2.setRange({...filterRange,endRow:extendedRange.endRow}),this._registerRefRange(unitId,subUnitId)}}}}}}))}_getExtendRegion(unitId,subUnitId){var _a4;const filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return null;const worksheet=(_a4=this._univerInstanceService.getUnit(unitId))==null?void 0:_a4.getSheetBySheetId(subUnitId);if(!worksheet)return null;const filterRange=filterModel.getRange();if(!filterRange)return null;const maxRowIndex=worksheet.getRowCount()-1,rowManager=worksheet.getRowManager();for(let row=filterRange.endRow+1;row<=maxRowIndex;row++)if(rowManager.getRowRawVisible(row))return{startRow:row,endRow:row,startColumn:filterRange.startColumn,endColumn:filterRange.endColumn};return null}_initErrorHandling(){this.disposeWithMe(this._commandService.beforeCommandExecuted(command=>{const params=command.params,target=sheets.getSheetCommandTarget(this._univerInstanceService);if(!target)return;const{subUnitId,unitId}=target,filterModel=this._sheetsFilterService.getFilterModel(unitId,subUnitId);if(!filterModel)return;const filterRange=filterModel.getRange();if(command.id===sheets.MoveRowsCommand.id&&params.fromRange.startRow<=filterRange.startRow&&params.fromRange.endRow<filterRange.endRow&&params.fromRange.endRow>=filterRange.startRow)throw this._sheetsFilterService.setFilterErrorMsg("sheets-filter.msg.filter-header-forbidden"),new Error("[SheetsFilterController]: Cannot move header row of filter")}))}_cellHasValue(cell){const values=Object.values(cell);return!(values.length===0||values.every(v=>v==null))}},__name(_a2,"SheetsFilterController"),_a2);SheetsFilterController=__decorateClass$1([__decorateParam$1(0,core.ICommandService),__decorateParam$1(1,core.Inject(sheets.SheetInterceptorService)),__decorateParam$1(2,core.Inject(exports.SheetsFilterService)),__decorateParam$1(3,core.IUniverInstanceService),__decorateParam$1(4,core.Inject(sheets.RefRangeService))],SheetsFilterController);const PLUGIN_CONFIG_KEY="sheets-filter.config",defaultPluginConfig={};var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam"),_a3;exports.UniverSheetsFilterPlugin=(_a3=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService){super(),this._config=_config,this._injector=_injector,this._configService=_configService;const{...rest}=this._config;this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[exports.SheetsFilterService],[SheetsFilterController]].forEach(d=>this._injector.add(d))}onReady(){this._injector.get(SheetsFilterController)}},__name(_a3,"UniverSheetsFilterPlugin"),__publicField(_a3,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField(_a3,"pluginName",SHEET_FILTER_SNAPSHOT_ID),_a3);exports.UniverSheetsFilterPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService)],exports.UniverSheetsFilterPlugin);exports.CustomFilterOperator=CustomFilterOperator;exports.FILTER_MUTATIONS=FILTER_MUTATIONS;exports.FilterColumn=FilterColumn;exports.FilterModel=FilterModel;exports.ReCalcSheetsFilterMutation=ReCalcSheetsFilterMutation;exports.RemoveSheetsFilterMutation=RemoveSheetsFilterMutation;exports.SHEET_FILTER_SNAPSHOT_ID=SHEET_FILTER_SNAPSHOT_ID;exports.SetSheetsFilterCriteriaMutation=SetSheetsFilterCriteriaMutation;exports.SetSheetsFilterRangeMutation=SetSheetsFilterRangeMutation;exports.equals=equals;exports.getCustomFilterFn=getCustomFilterFn;exports.greaterThan=greaterThan;exports.greaterThanOrEqualTo=greaterThanOrEqualTo;exports.lessThan=lessThan;exports.lessThanOrEqualTo=lessThanOrEqualTo;exports.notEquals=notEquals;
1
+ 'use strict';const _0x5d8379=_0x9133;(function(_0x3cd692,_0x8df33d){const _0x46f94f=_0x9133,_0x1d720a=_0x3cd692();while(!![]){try{const _0x2b560d=parseInt(_0x46f94f(0x138))/0x1+-parseInt(_0x46f94f(0x101))/0x2+parseInt(_0x46f94f(0x198))/0x3*(-parseInt(_0x46f94f(0x109))/0x4)+parseInt(_0x46f94f(0x189))/0x5*(parseInt(_0x46f94f(0x122))/0x6)+-parseInt(_0x46f94f(0x1ff))/0x7*(parseInt(_0x46f94f(0x1c5))/0x8)+parseInt(_0x46f94f(0x159))/0x9*(-parseInt(_0x46f94f(0x1ed))/0xa)+-parseInt(_0x46f94f(0x15f))/0xb*(-parseInt(_0x46f94f(0x1c3))/0xc);if(_0x2b560d===_0x8df33d)break;else _0x1d720a['push'](_0x1d720a['shift']());}catch(_0x30ef0e){_0x1d720a['push'](_0x1d720a['shift']());}}}(_0x1552,0x75dd8));var __defProp=Object[_0x5d8379(0x185)],__defNormalProp=(_0x23c66a,_0x175f6c,_0x50cbab)=>_0x175f6c in _0x23c66a?__defProp(_0x23c66a,_0x175f6c,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x50cbab}):_0x23c66a[_0x175f6c]=_0x50cbab,__name=(_0x569b91,_0x17882b)=>__defProp(_0x569b91,_0x5d8379(0xf7),{'value':_0x17882b,'configurable':!0x0}),__publicField=(_0x4e6ff5,_0x5c7d43,_0x2d9bcb)=>__defNormalProp(_0x4e6ff5,typeof _0x5c7d43!=_0x5d8379(0x14a)?_0x5c7d43+'':_0x5c7d43,_0x2d9bcb);Object[_0x5d8379(0x185)](exports,Symbol[_0x5d8379(0x1d7)],{'value':_0x5d8379(0x120)});const core=require('@univerjs/core'),rxjs=require(_0x5d8379(0x1c0)),sheets=require('@univerjs/sheets'),SetSheetsFilterRangeMutation={'id':_0x5d8379(0x13d),'type':core[_0x5d8379(0x1e0)][_0x5d8379(0x1db)],'handler':__name((_0x1a48a8,_0x2db403)=>{const _0x400166=_0x5d8379,{subUnitId:_0x31bffc,unitId:_0x4404b1,range:_0x2e4b77}=_0x2db403;return _0x1a48a8['get'](exports['SheetsFilterService'])[_0x400166(0x1ae)](_0x4404b1,_0x31bffc)[_0x400166(0x1b2)](_0x2e4b77),!0x0;},'handler')},SetSheetsFilterCriteriaMutation={'id':_0x5d8379(0x187),'type':core['CommandType']['MUTATION'],'handler':__name((_0x115045,_0x30ca7e)=>{const _0x2876=_0x5d8379,{subUnitId:_0x40f825,unitId:_0x1a6e8b,criteria:_0xddb08a,col:_0x1af67a,reCalc:reCalc=!0x0}=_0x30ca7e,_0x387561=_0x115045[_0x2876(0x171)](exports[_0x2876(0x1a1)])[_0x2876(0x1bc)](_0x1a6e8b,_0x40f825);return _0x387561?(_0x387561[_0x2876(0x1f9)](_0x1af67a,_0xddb08a,reCalc),!0x0):!0x1;},_0x5d8379(0x1ee))},RemoveSheetsFilterMutation={'id':_0x5d8379(0x1b8),'type':core['CommandType']['MUTATION'],'handler':__name((_0x405e3a,_0x551bc5)=>{const _0x532df2=_0x5d8379,{unitId:_0x5d2854,subUnitId:_0x5c6aad}=_0x551bc5;return _0x405e3a[_0x532df2(0x171)](exports['SheetsFilterService'])['removeFilterModel'](_0x5d2854,_0x5c6aad);},_0x5d8379(0x1ee))},ReCalcSheetsFilterMutation={'id':_0x5d8379(0x1ec),'type':core[_0x5d8379(0x1e0)]['MUTATION'],'handler':__name((_0x38634a,_0x115c87)=>{const _0x41ce88=_0x5d8379,{unitId:_0x41b985,subUnitId:_0x3d5346}=_0x115c87,_0x1da58f=_0x38634a['get'](exports[_0x41ce88(0x1a1)])[_0x41ce88(0x1bc)](_0x41b985,_0x3d5346);return _0x1da58f?(_0x1da58f[_0x41ce88(0x19a)](),!0x0):!0x1;},_0x5d8379(0x1ee))};var CustomFilterOperator=(_0x2e3589=>(_0x2e3589['EQUAL']=_0x5d8379(0x199),_0x2e3589[_0x5d8379(0x1fe)]=_0x5d8379(0x184),_0x2e3589[_0x5d8379(0x158)]='greaterThanOrEqual',_0x2e3589[_0x5d8379(0x12b)]=_0x5d8379(0xff),_0x2e3589[_0x5d8379(0x169)]=_0x5d8379(0x11d),_0x2e3589[_0x5d8379(0x190)]='notEqual',_0x2e3589))(CustomFilterOperator||{});const greaterThan={'operator':CustomFilterOperator[_0x5d8379(0x1fe)],'fn':__name((_0x1830d6,_0x5d5cf7)=>ensureNumber(_0x1830d6)?_0x1830d6>_0x5d5cf7:!0x1,'fn')},greaterThanOrEqualTo={'operator':CustomFilterOperator['GREATER_THAN_OR_EQUAL'],'fn':__name((_0x537cba,_0x1556df)=>ensureNumber(_0x537cba)?_0x537cba>=_0x1556df:!0x1,'fn')},lessThan={'operator':CustomFilterOperator[_0x5d8379(0x12b)],'fn':__name((_0xf30b99,_0x3df6a8)=>ensureNumber(_0xf30b99)?_0xf30b99<_0x3df6a8:!0x1,'fn')},lessThanOrEqualTo={'operator':CustomFilterOperator['LESS_THAN_OR_EQUAL'],'fn':__name((_0x5bc99b,_0x3d38ac)=>ensureNumber(_0x5bc99b)?_0x5bc99b<=_0x3d38ac:!0x1,'fn')},equals={'operator':CustomFilterOperator[_0x5d8379(0x1fc)],'fn':__name((_0x1cadbc,_0x166a1f)=>ensureNumber(_0x1cadbc)?_0x1cadbc===_0x166a1f:!0x1,'fn')},notEquals={'operator':CustomFilterOperator['NOT_EQUALS'],'fn':__name((_0x247d08,_0x3bf3f1)=>{if(typeof _0x3bf3f1=='string'){if(_0x3bf3f1==='\x20')return _0x247d08!=null;const _0x82acb3=ensureString(_0x247d08);return _0x82acb3&&isWildCardString(_0x3bf3f1)?!createREGEXFromWildChar(_0x3bf3f1)['test'](_0x82acb3):_0x82acb3!==_0x3bf3f1;}return ensureNumber(_0x247d08)?_0x247d08!==_0x3bf3f1:!0x0;},'fn')},CustomFilterFnRegistry=new Map([]),ALL_CUSTOM_FILTER_FUNCTIONS=[greaterThan,greaterThanOrEqualTo,lessThan,lessThanOrEqualTo,equals,notEquals];ALL_CUSTOM_FILTER_FUNCTIONS[_0x5d8379(0x1a5)](_0x56e6d3=>{const _0x33b230=_0x5d8379;CustomFilterFnRegistry[_0x33b230(0x194)](_0x56e6d3['operator'],_0x56e6d3);});function isNumericFilterFn(_0x5a1d2b){return!!_0x5a1d2b;}__name(isNumericFilterFn,'isNumericFilterFn');function _0x9133(_0x4f283f,_0x1f249e){const _0x15521a=_0x1552();return _0x9133=function(_0x913358,_0x2c0066){_0x913358=_0x913358-0xe1;let _0x43903b=_0x15521a[_0x913358];return _0x43903b;},_0x9133(_0x4f283f,_0x1f249e);}const textMatch={'fn':__name((_0x376662,_0x553dc2)=>{const _0x18752a=_0x5d8379,_0x367398=ensureString(_0x376662);return _0x367398===null?_0x553dc2==='':createREGEXFromWildChar(_0x553dc2)[_0x18752a(0x10f)](_0x367398);},'fn')};function getCustomFilterFn(_0x426bb2){const _0x2b92de=_0x5d8379;return _0x426bb2?CustomFilterFnRegistry[_0x2b92de(0x171)](_0x426bb2):textMatch;}__name(getCustomFilterFn,_0x5d8379(0x115));function ensureNumber(_0x1c36f4){const _0x5694bb=_0x5d8379;return typeof _0x1c36f4==_0x5694bb(0xe7);}__name(ensureNumber,_0x5d8379(0x1ac));function ensureNumeric(_0x5010d1){const _0x386fbd=_0x5d8379;return!!(typeof _0x5010d1==_0x386fbd(0xe7)||typeof _0x5010d1=='string'&&core[_0x386fbd(0x123)](_0x5010d1));}__name(ensureNumeric,_0x5d8379(0x1a7));function ensureString(_0x42fb3a){const _0xa031f8=_0x5d8379;return typeof _0x42fb3a=='boolean'||_0x42fb3a==null?null:typeof _0x42fb3a==_0xa031f8(0x1e2)?_0x42fb3a:_0x42fb3a[_0xa031f8(0x1d6)]();}__name(ensureString,_0x5d8379(0x1c2));function isWildCardString(_0x5e4945){const _0xc2e596=_0x5d8379;return typeof _0x5e4945==_0xc2e596(0xe7)?!0x1:_0x5e4945[_0xc2e596(0x14e)]('*')!==-0x1||_0x5e4945[_0xc2e596(0x14e)]('?')!==-0x1;}__name(isWildCardString,'isWildCardString');function createREGEXFromWildChar(_0x1df375){const _0x2ee96a=_0x5d8379,_0x248c33=_0x1df375[_0x2ee96a(0x1fd)](/[.+^${}()|[\]\\]/g,_0x2ee96a(0x1d2))['replaceAll']('?','.')[_0x2ee96a(0x1fd)](/[*]/g,_0x2ee96a(0x179));return new RegExp('^'+_0x248c33+'$');}__name(createREGEXFromWildChar,_0x5d8379(0x145));const EMPTY=__name(()=>new Set(),_0x5d8379(0x1fa)),_FilterModel=class _FilterModel extends core['Disposable']{constructor(_0x568900,_0x36b3d3,_0x56eb22){const _0x593aed=_0x5d8379;super(),__publicField(this,'_filteredOutRows$',new rxjs['BehaviorSubject'](EMPTY())),__publicField(this,'filteredOutRows$',this[_0x593aed(0x1cb)][_0x593aed(0x1f3)]()),__publicField(this,_0x593aed(0x154),new rxjs[(_0x593aed(0xef))](!0x1)),__publicField(this,_0x593aed(0x1e9),this[_0x593aed(0x154)][_0x593aed(0x1f3)]()),__publicField(this,_0x593aed(0x1a3),new Map()),__publicField(this,'_alreadyFilteredOutRows',EMPTY()),__publicField(this,'_range'),(this['unitId']=_0x568900,this[_0x593aed(0x1a0)]=_0x36b3d3,this['_worksheet']=_0x56eb22);}get[_0x5d8379(0x130)](){const _0x483d4f=_0x5d8379;return this['_filteredOutRows$'][_0x483d4f(0x127)]();}set[_0x5d8379(0x130)](_0x4b4847){const _0x3612eb=_0x5d8379;this[_0x3612eb(0x107)]=_0x4b4847,this[_0x3612eb(0x1cb)][_0x3612eb(0x12a)](_0x4b4847);}['dispose'](){const _0x21d236=_0x5d8379;super['dispose'](),this['_filteredOutRows$'][_0x21d236(0x105)](),this['_hasCriteria$']['complete']();}[_0x5d8379(0x1bd)](){const _0x291fa6=_0x5d8379,_0x2ca8bc={'ref':core[_0x291fa6(0x11b)]['clone'](this[_0x291fa6(0x1b7)]),'filterColumns':this[_0x291fa6(0x19b)](!0x0)[_0x291fa6(0x160)](([_0x24970b],[_0x3b1ec])=>_0x24970b-_0x3b1ec)[_0x291fa6(0x1a2)](([_0x3dcf63,_0x896719])=>_0x896719[_0x291fa6(0x1bd)]())};return this[_0x291fa6(0x107)]&&(_0x2ca8bc[_0x291fa6(0x161)]=Array[_0x291fa6(0x19d)](this[_0x291fa6(0x107)])[_0x291fa6(0x160)]()),_0x2ca8bc;}static[_0x5d8379(0x204)](_0x28903a,_0x2888cf,_0x3b9bae,_0x37125a){const _0x224967=_0x5d8379,_0x282ea8=new _FilterModel(_0x28903a,_0x2888cf,_0x3b9bae);return _0x282ea8[_0x224967(0x19c)](_0x37125a),_0x282ea8;}[_0x5d8379(0x19c)](_0xc18e35){const _0x552692=_0x5d8379;var _0x4d4731;this[_0x552692(0x1b2)](_0xc18e35['ref']),(_0x4d4731=_0xc18e35[_0x552692(0x11c)])==null||_0x4d4731[_0x552692(0x1a5)](_0x2362bc=>this[_0x552692(0x178)](_0x2362bc[_0x552692(0x201)],_0x2362bc)),_0xc18e35[_0x552692(0x161)]&&(this[_0x552692(0x107)]=new Set(_0xc18e35[_0x552692(0x161)]),this[_0x552692(0x1dd)]()),this[_0x552692(0x1e6)]();}[_0x5d8379(0x176)](_0x24e314){const _0x47e70a=_0x5d8379;return this[_0x47e70a(0x107)][_0x47e70a(0x139)](_0x24e314);}['getRange'](){const _0x3a5138=_0x5d8379;if(!this[_0x3a5138(0x1b7)])throw new Error('[FilterModel]\x20could\x20not\x20get\x20range\x20before\x20a\x20range\x20is\x20set!');return this[_0x3a5138(0x1b7)];}[_0x5d8379(0x146)](_0x105075){const _0x56fd22=_0x5d8379;return this[_0x56fd22(0x19b)](!0x0)[_0x56fd22(0xfa)](([_0x2d3c6d])=>_0x2d3c6d!==_0x105075)[_0x56fd22(0x17c)]((_0x3627de,[,_0x23c591])=>{const _0x3ed89a=_0x56fd22,_0x4563d2=_0x23c591[_0x3ed89a(0x108)]({'getAlreadyFilteredOutRows':__name(()=>_0x3627de,_0x3ed89a(0x1e4))});return _0x4563d2?core[_0x3ed89a(0x151)](_0x3627de,_0x4563d2):_0x3627de;},new Set());}['setRange'](_0x13dba1){const _0x3679c9=_0x5d8379;this[_0x3679c9(0x1b7)]=_0x13dba1,this[_0x3679c9(0x19b)](!0x0)[_0x3679c9(0x1a5)](([_0x2e79c8,_0x11c421])=>{const _0x1b1926=_0x3679c9;_0x11c421['setRangeAndColumn']({'startRow':_0x13dba1[_0x1b1926(0xec)],'endRow':_0x13dba1[_0x1b1926(0x195)],'startColumn':_0x2e79c8,'endColumn':_0x2e79c8},_0x2e79c8);});}[_0x5d8379(0x1f9)](_0x46612d,_0x269cf0,_0x5f118a=!0x1){const _0x320935=_0x5d8379;if(!this['_range'])throw new Error(_0x320935(0x16e));if(!_0x269cf0){this[_0x320935(0xf4)](_0x46612d),this['_rebuildAlreadyFilteredOutRowsWithCache'](),_0x5f118a&&this[_0x320935(0x11f)](),this[_0x320935(0x1dd)](),this[_0x320935(0x1e6)]();return;}this[_0x320935(0x178)](_0x46612d,_0x269cf0),_0x5f118a&&(this[_0x320935(0x119)](),this[_0x320935(0x134)](),this['_emit'](),this['_emitHasCriteria']());}['getAllFilterColumns'](){const _0x3edf00=_0x5d8379;return this[_0x3edf00(0x19b)](!0x0);}['getFilterColumn'](_0x161e1c){const _0x39f75d=_0x5d8379;var _0x567ff6;return(_0x567ff6=this[_0x39f75d(0x1a3)]['get'](_0x161e1c))!=null?_0x567ff6:null;}[_0x5d8379(0x19a)](){this['_reCalcAllColumns'](),this['_emit']();}[_0x5d8379(0x19b)](_0x290226=!0x1){const _0x255770=_0x5d8379,_0x1d418c=Array['from'](this[_0x255770(0x1a3)]['entries']());return _0x290226?_0x1d418c:_0x1d418c[_0x255770(0x1a2)](([_0x5d58d1,_0x124e2c])=>_0x124e2c);}[_0x5d8379(0x11f)](){const _0x5565c2=_0x5d8379;this['_alreadyFilteredOutRows']=EMPTY(),this[_0x5565c2(0x19b)]()[_0x5565c2(0x1a5)](_0x5e9a03=>_0x5e9a03[_0x5565c2(0x142)]()),this[_0x5565c2(0x134)]();}[_0x5d8379(0x178)](_0xd2dc1c,_0x403d58){const _0x85b11f=_0x5d8379,_0x559bce=this[_0x85b11f(0x1b7)];if(!_0x559bce)throw new Error(_0x85b11f(0x16e));const {startColumn:_0x3e5ba8,endColumn:_0x41e689}=_0x559bce;if(_0xd2dc1c>_0x41e689||_0xd2dc1c<_0x3e5ba8)throw new Error('[FilterModel]\x20could\x20not\x20set\x20criteria\x20on\x20column\x20'+_0xd2dc1c+_0x85b11f(0x1f1));let _0x6517de;this[_0x85b11f(0x1a3)]['has'](_0xd2dc1c)?_0x6517de=this[_0x85b11f(0x1a3)][_0x85b11f(0x171)](_0xd2dc1c):(_0x6517de=new FilterColumn(this[_0x85b11f(0x1ce)],this['subUnitId'],this[_0x85b11f(0x17f)],_0x403d58,{'getAlreadyFilteredOutRows':__name(()=>this[_0x85b11f(0x107)],_0x85b11f(0x1e4))}),_0x6517de[_0x85b11f(0x1c8)](_0x559bce,_0xd2dc1c),this[_0x85b11f(0x1a3)]['set'](_0xd2dc1c,_0x6517de)),_0x6517de[_0x85b11f(0x1f9)](_0x403d58);}[_0x5d8379(0xf4)](_0x2385cb){const _0xdea41c=_0x5d8379,_0x5f3515=this[_0xdea41c(0x1a3)][_0xdea41c(0x171)](_0x2385cb);_0x5f3515&&(_0x5f3515[_0xdea41c(0x174)](),this['_filterColumnByIndex'][_0xdea41c(0x106)](_0x2385cb));}[_0x5d8379(0x1dd)](){const _0xede84=_0x5d8379;this[_0xede84(0x1cb)][_0xede84(0x12a)](this['_alreadyFilteredOutRows']);}[_0x5d8379(0x1e6)](){const _0x573bcf=_0x5d8379;this[_0x573bcf(0x154)][_0x573bcf(0x12a)](this['_filterColumnByIndex']['size']>0x0);}[_0x5d8379(0x119)](){const _0x4d12fc=_0x5d8379,_0x131941=this[_0x4d12fc(0x19b)]()[_0x4d12fc(0xfa)](_0x462edb=>_0x462edb[_0x4d12fc(0x10e)]())[_0x4d12fc(0x17c)]((_0x264564,_0x491230)=>core[_0x4d12fc(0x151)](_0x264564,_0x491230[_0x4d12fc(0x130)]),new Set());this['_alreadyFilteredOutRows']=_0x131941;}[_0x5d8379(0x134)](){const _0x18c5a4=_0x5d8379,_0x408df3=this[_0x18c5a4(0x19b)]()['filter'](_0xca8e0f=>!_0xca8e0f[_0x18c5a4(0x10e)]());for(const _0x7dc797 of _0x408df3){const _0x26d72b=_0x7dc797[_0x18c5a4(0x19a)]();_0x26d72b&&(this['_alreadyFilteredOutRows']=core[_0x18c5a4(0x151)](this['_alreadyFilteredOutRows'],_0x26d72b));}}};__name(_FilterModel,_0x5d8379(0x17a));let FilterModel=_FilterModel;const _FilterColumn=class _FilterColumn extends core[_0x5d8379(0x1f0)]{constructor(_0x197a82,_0x1598d6,_0x502415,_0x2ce211,_0x296468){const _0x51b912=_0x5d8379;super(),__publicField(this,_0x51b912(0x206),null),__publicField(this,_0x51b912(0x150),null),__publicField(this,_0x51b912(0x1b7),null),__publicField(this,'_column',0x0),__publicField(this,'_filterByValues',!0x1),(this['unitId']=_0x197a82,this[_0x51b912(0x1a0)]=_0x1598d6,this[_0x51b912(0x17f)]=_0x502415,this[_0x51b912(0x205)]=_0x2ce211,this[_0x51b912(0x19e)]=_0x296468);}get[_0x5d8379(0x130)](){const _0x3cdabf=_0x5d8379;return this[_0x3cdabf(0x206)];}[_0x5d8379(0x174)](){const _0x44026e=_0x5d8379;super[_0x44026e(0x174)](),this[_0x44026e(0x206)]=null;}['__clearCache'](){this['_filteredOutRows']=null;}[_0x5d8379(0x1bd)](){const _0x614029=_0x5d8379;if(!this[_0x614029(0x205)])throw new Error(_0x614029(0x1b3));return core['Tools'][_0x614029(0x1fb)]({...this['_criteria'],'colId':this['_column']});}['hasCache'](){const _0x1a7a8a=_0x5d8379;return this[_0x1a7a8a(0x206)]!==null;}['setRangeAndColumn'](_0x169398,_0xc693d){const _0x2d33e4=_0x5d8379;this[_0x2d33e4(0x1b7)]=_0x169398,this[_0x2d33e4(0x1b4)]=_0xc693d;}['setCriteria'](_0x2287b0){const _0x3b73fc=_0x5d8379;this[_0x3b73fc(0x205)]=_0x2287b0,this[_0x3b73fc(0x1ea)](),this['_filteredOutRows']=null;}['getColumnData'](){const _0x9270c3=_0x5d8379;return core['Tools'][_0x9270c3(0x1fb)](this['_criteria']);}[_0x5d8379(0x19a)](){const _0x251276=_0x5d8379;return this['_filteredOutRows']=this[_0x251276(0x108)](this['_filterColumnContext']),this[_0x251276(0x206)];}['calc'](_0x10b31c){const _0x42c9b1=_0x5d8379;if(!this[_0x42c9b1(0x150)])throw new Error(_0x42c9b1(0x173));if(!this[_0x42c9b1(0x1b7)])throw new Error(_0x42c9b1(0x100));if(typeof this[_0x42c9b1(0x1b4)]!=_0x42c9b1(0xe7))throw new TypeError(_0x42c9b1(0xea));const _0x246bf7=this['_column'],_0x336646={'startColumn':_0x246bf7,'endColumn':_0x246bf7,'startRow':this[_0x42c9b1(0x1b7)][_0x42c9b1(0xec)]+0x1,'endRow':this[_0x42c9b1(0x1b7)][_0x42c9b1(0x195)]},_0x3e39b2=new Set(),_0x1882a8=_0x10b31c['getAlreadyFilteredOutRows']();for(const _0x136c91 of this['_worksheet']['iterateByColumn'](_0x336646,!0x1,!0x1)){const {row:_0x549b65,rowSpan:_0x698f9d,col:_0x2272d5}=_0x136c91;if(_0x1882a8[_0x42c9b1(0x139)](_0x549b65)&&(!_0x698f9d||_0x698f9d===0x1))continue;const _0x5d1140=this['_filterByValues']?core[_0x42c9b1(0x18c)](this[_0x42c9b1(0x17f)][_0x42c9b1(0xfc)](_0x549b65,_0x2272d5)):getFilterValueForConditionalFiltering(this[_0x42c9b1(0x17f)],_0x549b65,_0x2272d5);if(!this[_0x42c9b1(0x150)](_0x5d1140)&&(_0x3e39b2[_0x42c9b1(0x153)](_0x549b65),_0x698f9d)){for(let _0x14622d=0x1;_0x14622d<_0x698f9d;_0x14622d++)_0x3e39b2['add'](_0x549b65+_0x14622d);}}return _0x3e39b2;}['_generateFilterFn'](){const _0x15f84c=_0x5d8379;this[_0x15f84c(0x205)]&&(this[_0x15f84c(0x150)]=generateFilterFn(this['_criteria']),this[_0x15f84c(0x16b)]=!!this[_0x15f84c(0x205)][_0x15f84c(0x15c)]);}};__name(_FilterColumn,'FilterColumn');let FilterColumn=_FilterColumn;function generateFilterFn(_0xc75e1){const _0x56123a=_0x5d8379;if(_0xc75e1[_0x56123a(0x15c)])return filterByValuesFnFactory(_0xc75e1[_0x56123a(0x15c)]);if(_0xc75e1['customFilters'])return customFilterFnFactory(_0xc75e1[_0x56123a(0xee)]);throw new Error(_0x56123a(0x196));}__name(generateFilterFn,'generateFilterFn');function filterByValuesFnFactory(_0x1a78d0){const _0x356d0a=_0x5d8379,_0x4befa0=!!_0x1a78d0[_0x356d0a(0x15a)],_0x5732f9=new Set(_0x1a78d0[_0x356d0a(0x15c)]);return _0x31d007=>_0x31d007===void 0x0||_0x31d007===''?_0x4befa0:_0x5732f9['has'](typeof _0x31d007==_0x356d0a(0x1e2)?_0x31d007:''+_0x31d007);}__name(filterByValuesFnFactory,'filterByValuesFnFactory');function _0x1552(){const _0x514479=['InsertColCommand','_filterFn','mergeSets','boolean','add','_hasCriteria$','disposeWithMe','getFilterColumn','operator','GREATER_THAN_OR_EQUAL','83871YRUDyA','blank','intercept','filters','EffectRefRangId','fromRange','4242205lYwDEa','sort','cachedFilteredOut','_initErrorHandling','activeSheet$','UNIVER_SHEET','getRowManager','activeFilterModel','_errorMsg$','redos','LESS_THAN_OR_EQUAL','_handleCopySheetCommand','_filterByValues','_handleMoveColsCommand','MoveRowsCommand','[FilterModel]\x20could\x20not\x20set\x20criteria\x20before\x20a\x20range\x20is\x20set!','INTERCEPTOR_POINT','objectsShaker','get','_handleInsertRowCommand','[FilterColumn]\x20cannot\x20calculate\x20without\x20a\x20filter\x20fn!','dispose','FilterColumn','isRowFiltered','startColumn','_setCriteriaWithoutReCalc','.$&','FilterModel','parseJson','reduce','SetRangeValuesMutation','getMutations','_worksheet','getUnitId','getOwnPropertyDescriptor','registerPluginResource','_filterModels','greaterThan','defineProperty','getCellRaw','sheet.mutation.set-filter-criteria','find','665XcXsef','getRowCount','_univerInstanceService','extractPureTextFromCell','_registerRefRange','_initActiveFilterModel','max','NOT_EQUALS','loadedUnitId$','values','toJson','set','endRow','[FilterModel]:\x20other\x20types\x20of\x20filters\x20are\x20not\x20supported\x20yet.','_handleMoveRowsCommand','312MOSeev','equal','reCalc','_getAllFilterColumns','_dump','from','_filterColumnContext','MoveColsCommandId','subUnitId','SheetsFilterService','map','_filterColumnByIndex','SetSheetsFilterCriteriaMutation','forEach','mergeSetFilterCriteria','ensureNumeric','Inject','_disposableCollection','length','onCommandExecuted','ensureNumber','onLoad','ensureFilterModel','val','col','CellValueType','setRange','[FilterColumn]:\x20could\x20not\x20serialize\x20without\x20a\x20filter\x20column!','_column','getFilterValueForConditionalFiltering','NUMBER','_range','sheet.mutation.remove-filter','_serializeAutoFiltersForUnit','merge','contains','getFilterModel','serialize','moveMatrixArray','_initInterceptors','rxjs','moveCriteria','ensureString','60iRRiIr','RemoveSheetsFilterMutation','43760fDbXKK','TRUE','switchMap','setRangeAndColumn','equals','range','_filteredOutRows$','getAllFilterColumns','RemoveRowCommand','unitId','getRange','extractFilterValueFromCell','body','\x5c$&','getSheetBySheetId','_cellHasValue','SheetInterceptorService','toString','toStringTag','_initModel','_getExtendRegion','trimEnd','MUTATION','SetWorksheetActiveOperation','_emit','IConfigService','_deserializeAutoFiltersForUnit','CommandType','bind','string','_configService','getAlreadyFilteredOutRows','onlyLocal','_emitHasCriteria','IUniverInstanceService','every','hasCriteria$','_generateFilterFn','type','sheet.mutation.re-calc-filter','260fRGsaE','handler','setConfig','Disposable','\x20which\x20is\x20out\x20of\x20range!','__decorateClass$1','asObservable','_updateActiveFilterModel','getUnit','SetSheetsFilterRangeMutation','getActiveSheet','parse','setCriteria','EMPTY','deepClone','EQUAL','replace','GREATER_THAN','574QukKmv','_initCommands','colId','undos','_handleRemoveRowCommand','deserialize','_criteria','_filteredOutRows','getRowRawVisible','_resourcesManagerService','Injector','IResourceManagerService','[SheetsFilterService]:\x20could\x20not\x20create\x20\x22FilterModel\x22\x20on\x20a\x20non-existing\x20workbook\x20','isCompoundCustomFilter','lessThanOrEqualTo','number','_refRangeService','InsertRowMutation','[FilterColumn]\x20cannot\x20calculate\x20without\x20a\x20column\x20offset!','_handleNull','startRow','CustomFilterOperator','customFilters','BehaviorSubject','ICommandService','InsertRowCommand','RefRangeService','FALSE','_removeCriteria','cellValue','_initRowFilteredInterceptor','name','FILTER_MUTATIONS','RemoveSheetCommand','filter','and','getCell','BOOLEAN','getUniverSheetInstance','lessThan','[FilterColumn]\x20cannot\x20calculate\x20without\x20a\x20range!','1837120yvSJcK','toUpperCase','[SheetsFilterController]:\x20Cannot\x20move\x20header\x20row\x20of\x20filter','unshift','complete','delete','_alreadyFilteredOutRows','calc','28752aWzzWi','AND','_cacheFilterModel','DisposableCollection','registerRefRange','hasCache','test','getCurrentUnitForType','oldIndex','fromCallback','_handleRemoveSheetCommand','setFilterErrorMsg','getCustomFilterFn','__decorateClass','subscribe','dataStream','_rebuildAlreadyFilteredOutRowsWithCache','keys','Rectangle','filterColumns','lessThanOrEqual','endColumn','_reCalcAllColumns','Module','getRowFiltered','1356uesAQV','isNumeric','_injector','_sheetsFilterService','generateCustomFilterFn','getValue','_activeFilterModel$','_handleInsertColCommand','next','LESS_THAN','__decorateClass$2','_getUpdateFilter','push','params','filteredOutRows','getSheetId','SHEET_FILTER_SNAPSHOT_ID','beforeCommandExecuted','_reCalcWithNoCacheColumns','_sheetInterceptorService','_commandExecutedListener','notEquals','881389bgzfEz','has','UniverInstanceType','onStarting','Plugin','sheet.mutation.set-filter-range','min','_commandService','_handleRemoveColCommand','RemoveRowMutation','__clearCache','pluginName','_config','createREGEXFromWildChar','getFilteredOutRowsExceptCol','ReCalcSheetsFilterMutation','_loadedUnitId$','activeFilterModel$','symbol','pipe','UniverSheetsFilterPlugin','_handleMoveRangeCommand','indexOf'];_0x1552=function(){return _0x514479;};return _0x1552();}function customFilterFnFactory(_0x4c817c){const _0x13b95e=_0x5d8379,_0x55c93b=_0x4c817c[_0x13b95e(0xee)][_0x13b95e(0x1a2)](_0x19e74f=>generateCustomFilterFn(_0x19e74f));return isCompoundCustomFilter(_0x55c93b)?_0x4c817c[_0x13b95e(0xfb)]?AND(_0x55c93b):OR(_0x55c93b):_0x55c93b[0x0];}__name(customFilterFnFactory,'customFilterFnFactory');function AND(_0x19a060){const [_0x1ea9f9,_0x57a640]=_0x19a060;return _0x1bc4d8=>_0x1ea9f9(_0x1bc4d8)&&_0x57a640(_0x1bc4d8);}__name(AND,_0x5d8379(0x10a));function OR(_0x1d8b84){const [_0x1411e5,_0x3c9ccc]=_0x1d8b84;return _0x4717d8=>_0x1411e5(_0x4717d8)||_0x3c9ccc(_0x4717d8);}__name(OR,'OR');function isCompoundCustomFilter(_0xe1eb81){return _0xe1eb81['length']===0x2;}__name(isCompoundCustomFilter,_0x5d8379(0xe5));function generateCustomFilterFn(_0x26d001){const _0x204709=_0x5d8379,_0x1362d0=_0x26d001[_0x204709(0x1af)];if(_0x26d001[_0x204709(0x157)]===CustomFilterOperator[_0x204709(0x190)]&&!ensureNumeric(_0x1362d0))return _0xaa4bad=>notEquals['fn'](_0xaa4bad,_0x1362d0);if(isNumericFilterFn(_0x26d001[_0x204709(0x157)])){if(!ensureNumeric(_0x1362d0))return()=>!0x1;const _0x55acd8=getCustomFilterFn(_0x26d001[_0x204709(0x157)]),_0x15ef7c=Number(_0x1362d0);return _0x198765=>_0x55acd8['fn'](_0x198765,_0x15ef7c);}const _0x4f568c=getCustomFilterFn(_0x26d001['operator']);return _0x15e176=>_0x4f568c['fn'](_0x15e176,_0x1362d0);}__name(generateCustomFilterFn,_0x5d8379(0x126));function getFilterValueForConditionalFiltering(_0x3c8e0c,_0x2f8e12,_0x5a5595){const _0x309677=_0x5d8379,_0xdf2a9b=_0x3c8e0c[_0x309677(0xfc)](_0x2f8e12,_0x5a5595);if(!_0xdf2a9b)return null;const _0x1afa94=_0x3c8e0c[_0x309677(0x186)](_0x2f8e12,_0x5a5595);return _0xdf2a9b&&!_0x1afa94?extractFilterValueFromCell(_0xdf2a9b):_0x1afa94?_0xdf2a9b['t']===core[_0x309677(0x1b1)][_0x309677(0x1b6)]&&typeof _0xdf2a9b['v']=='string'?_0x1afa94['v']:extractFilterValueFromCell(_0x1afa94):null;}__name(getFilterValueForConditionalFiltering,_0x5d8379(0x1b5));function extractFilterValueFromCell(_0x2cc2b5){const _0x1155e6=_0x5d8379;var _0x37f132,_0x2b16d0;const _0x3dfb7c=(_0x2b16d0=(_0x37f132=_0x2cc2b5['p'])==null?void 0x0:_0x37f132[_0x1155e6(0x1d1)])==null?void 0x0:_0x2b16d0[_0x1155e6(0x118)];if(_0x3dfb7c)return _0x3dfb7c[_0x1155e6(0x1da)]();const _0x4292c5=_0x2cc2b5['v'];return typeof _0x4292c5=='string'?_0x2cc2b5['t']===core[_0x1155e6(0x1b1)][_0x1155e6(0xfd)]?_0x4292c5[_0x1155e6(0x102)]():_0x4292c5:typeof _0x4292c5==_0x1155e6(0xe7)?_0x2cc2b5['t']===core[_0x1155e6(0x1b1)]['BOOLEAN']?_0x4292c5?_0x1155e6(0x1c6):_0x1155e6(0xf3):_0x4292c5:typeof _0x4292c5==_0x1155e6(0x152)?_0x4292c5?_0x1155e6(0x1c6):_0x1155e6(0xf3):'';}__name(extractFilterValueFromCell,_0x5d8379(0x1d0));var __defProp$2=Object[_0x5d8379(0x185)],__getOwnPropDesc$2=Object['getOwnPropertyDescriptor'],__decorateClass$2=__name((_0x277726,_0x2a0cef,_0x423037,_0x39edc5)=>{const _0x4937de=_0x5d8379;for(var _0x145faf=_0x39edc5>0x1?void 0x0:_0x39edc5?__getOwnPropDesc$2(_0x2a0cef,_0x423037):_0x2a0cef,_0x5e4a8f=_0x277726[_0x4937de(0x1aa)]-0x1,_0x264e92;_0x5e4a8f>=0x0;_0x5e4a8f--)(_0x264e92=_0x277726[_0x5e4a8f])&&(_0x145faf=(_0x39edc5?_0x264e92(_0x2a0cef,_0x423037,_0x145faf):_0x264e92(_0x145faf))||_0x145faf);return _0x39edc5&&_0x145faf&&__defProp$2(_0x2a0cef,_0x423037,_0x145faf),_0x145faf;},_0x5d8379(0x12c)),__decorateParam$2=__name((_0x3e32f1,_0x108a34)=>(_0x1b5683,_0x4ca0a3)=>_0x108a34(_0x1b5683,_0x4ca0a3,_0x3e32f1),'__decorateParam$2');const FILTER_MUTATIONS=new Set([SetSheetsFilterRangeMutation['id'],SetSheetsFilterCriteriaMutation['id'],RemoveSheetsFilterMutation['id'],ReCalcSheetsFilterMutation['id']]),SHEET_FILTER_SNAPSHOT_ID='SHEET_FILTER_PLUGIN';var _a;exports[_0x5d8379(0x1a1)]=(_a=class extends core[_0x5d8379(0x1f0)]{constructor(_0x4dd7e9,_0x734311,_0x57fb21){const _0x46b230=_0x5d8379;super(),__publicField(this,_0x46b230(0x183),new Map()),__publicField(this,_0x46b230(0x148),new rxjs[(_0x46b230(0xef))](null)),__publicField(this,_0x46b230(0x191),this['_loadedUnitId$'][_0x46b230(0x1f3)]()),__publicField(this,_0x46b230(0x167),new rxjs[(_0x46b230(0xef))](null)),__publicField(this,'errorMsg$',this[_0x46b230(0x167)][_0x46b230(0x1f3)]()),__publicField(this,_0x46b230(0x128),new rxjs[(_0x46b230(0xef))](null)),__publicField(this,_0x46b230(0x149),this['_activeFilterModel$'][_0x46b230(0x1f3)]()),(this['_resourcesManagerService']=_0x4dd7e9,this['_univerInstanceService']=_0x734311,this['_commandService']=_0x57fb21,this[_0x46b230(0x1d8)](),this[_0x46b230(0x18e)]());}get[_0x5d8379(0x166)](){const _0x173dbc=_0x5d8379;return this[_0x173dbc(0x128)]['getValue']();}['ensureFilterModel'](_0x1b9e67,_0x876278){const _0x3068da=_0x5d8379,_0x1ec058=this[_0x3068da(0x1bc)](_0x1b9e67,_0x876278);if(_0x1ec058)return _0x1ec058;const _0x4662cd=this['_univerInstanceService'][_0x3068da(0xfe)](_0x1b9e67);if(!_0x4662cd)throw new Error(_0x3068da(0xe4)+_0x1b9e67+'!');const _0x1e1fbe=_0x4662cd['getSheetBySheetId'](_0x876278);if(!_0x1e1fbe)throw new Error('[SheetsFilterService]:\x20could\x20not\x20create\x20\x22FilterModel\x22\x20on\x20a\x20non-existing\x20worksheet\x20'+_0x876278+'!');const _0x564684=new FilterModel(_0x1b9e67,_0x876278,_0x1e1fbe);return this['_cacheFilterModel'](_0x1b9e67,_0x876278,_0x564684),_0x564684;}[_0x5d8379(0x1bc)](_0x2ad43b,_0x1efea8){const _0x118c73=_0x5d8379;var _0x11c126,_0xf0483;return(_0xf0483=(_0x11c126=this[_0x118c73(0x183)]['get'](_0x2ad43b))==null?void 0x0:_0x11c126[_0x118c73(0x171)](_0x1efea8))!=null?_0xf0483:null;}['removeFilterModel'](_0x42e8de,_0x467892){const _0x5a67cc=_0x5d8379,_0x24f90c=this['getFilterModel'](_0x42e8de,_0x467892);return _0x24f90c?(_0x24f90c[_0x5a67cc(0x174)](),this[_0x5a67cc(0x183)][_0x5a67cc(0x171)](_0x42e8de)['delete'](_0x467892),!0x0):!0x1;}[_0x5d8379(0x114)](_0x5bce2c){this['_errorMsg$']['next'](_0x5bce2c);}['_updateActiveFilterModel'](){const _0x23bee5=_0x5d8379;let _0x2627ba;try{if(_0x2627ba=this['_univerInstanceService'][_0x23bee5(0x110)](core[_0x23bee5(0x13a)][_0x23bee5(0x164)]),!_0x2627ba){this[_0x23bee5(0x128)][_0x23bee5(0x12a)](null);return;}}catch(_0x271cfc){console['error']('[SheetsFilterService]:\x20could\x20not\x20get\x20active\x20workbook!',_0x271cfc);return;}const _0xd05c52=_0x2627ba[_0x23bee5(0x1f7)](!0x0);if(!_0xd05c52){this[_0x23bee5(0x128)][_0x23bee5(0x12a)](null);return;}const _0x70e62f=_0xd05c52[_0x23bee5(0x180)](),_0x4ba321=_0xd05c52[_0x23bee5(0x131)](),_0xe00c8d=this[_0x23bee5(0x1bc)](_0x70e62f,_0x4ba321);this[_0x23bee5(0x128)][_0x23bee5(0x12a)](_0xe00c8d);}[_0x5d8379(0x18e)](){const _0x298a46=_0x5d8379;this[_0x298a46(0x155)](rxjs[_0x298a46(0x1ba)](core[_0x298a46(0x112)](this['_commandService']['onCommandExecuted'][_0x298a46(0x1e1)](this['_commandService']))[_0x298a46(0x14b)](rxjs[_0x298a46(0xfa)](([_0x46e00f])=>_0x46e00f[_0x298a46(0x1eb)]===core['CommandType']['MUTATION']&&FILTER_MUTATIONS[_0x298a46(0x139)](_0x46e00f['id']))),this[_0x298a46(0x18b)]['getCurrentTypeOfUnit$'](core[_0x298a46(0x13a)][_0x298a46(0x164)])[_0x298a46(0x14b)](rxjs[_0x298a46(0x1c7)](_0x33b61d=>{const _0xf300cf=_0x298a46;var _0x2d07a6;return(_0x2d07a6=_0x33b61d==null?void 0x0:_0x33b61d[_0xf300cf(0x163)])!=null?_0x2d07a6:rxjs['of'](null);})))['subscribe'](()=>this[_0x298a46(0x1f4)]()));}['_serializeAutoFiltersForUnit'](_0x517441){const _0x38ba34=_0x5d8379,_0x3f942a=this['_filterModels'][_0x38ba34(0x171)](_0x517441);if(!_0x3f942a)return'{}';const _0x5af044={};return _0x3f942a[_0x38ba34(0x1a5)]((_0x1b05e8,_0x5537f5)=>{_0x5af044[_0x5537f5]=_0x1b05e8['serialize']();}),JSON['stringify'](_0x5af044);}['_deserializeAutoFiltersForUnit'](_0x860c6,_0x40ec02){const _0x4f2fdc=_0x5d8379,_0x2225cf=this['_univerInstanceService'][_0x4f2fdc(0xfe)](_0x860c6);Object[_0x4f2fdc(0x11a)](_0x40ec02)['forEach'](_0x2e8c24=>{const _0x1b6d2f=_0x4f2fdc,_0x570304=_0x40ec02[_0x2e8c24],_0x58b5f9=FilterModel[_0x1b6d2f(0x204)](_0x860c6,_0x2e8c24,_0x2225cf['getSheetBySheetId'](_0x2e8c24),_0x570304);this[_0x1b6d2f(0x10b)](_0x860c6,_0x2e8c24,_0x58b5f9);});}[_0x5d8379(0x1d8)](){const _0x5f0ef1=_0x5d8379;this[_0x5f0ef1(0xe1)][_0x5f0ef1(0x182)]({'pluginName':SHEET_FILTER_SNAPSHOT_ID,'businesses':[core['UniverInstanceType'][_0x5f0ef1(0x164)]],'toJson':__name(_0x2aad36=>this[_0x5f0ef1(0x1b9)](_0x2aad36),_0x5f0ef1(0x193)),'parseJson':__name(_0x5a2779=>JSON[_0x5f0ef1(0x1f8)](_0x5a2779),_0x5f0ef1(0x17b)),'onLoad':__name((_0x4527d1,_0x2c1229)=>{const _0x377fcd=_0x5f0ef1;this[_0x377fcd(0x1df)](_0x4527d1,_0x2c1229),this['_loadedUnitId$']['next'](_0x4527d1),this[_0x377fcd(0x1f4)]();},_0x5f0ef1(0x1ad)),'onUnLoad':__name(_0x13c01c=>{const _0x5a0ffc=_0x5f0ef1,_0x3d92fc=this[_0x5a0ffc(0x183)][_0x5a0ffc(0x171)](_0x13c01c);_0x3d92fc&&(_0x3d92fc[_0x5a0ffc(0x1a5)](_0x24f7fd=>_0x24f7fd[_0x5a0ffc(0x174)]()),this[_0x5a0ffc(0x183)]['delete'](_0x13c01c));},'onUnLoad')});}[_0x5d8379(0x10b)](_0x271861,_0x72992b,_0x3aa667){const _0x5e8e94=_0x5d8379;this[_0x5e8e94(0x183)][_0x5e8e94(0x139)](_0x271861)||this[_0x5e8e94(0x183)][_0x5e8e94(0x194)](_0x271861,new Map()),this[_0x5e8e94(0x183)][_0x5e8e94(0x171)](_0x271861)[_0x5e8e94(0x194)](_0x72992b,_0x3aa667);}},__name(_a,_0x5d8379(0x1a1)),_a),exports[_0x5d8379(0x1a1)]=__decorateClass$2([__decorateParam$2(0x0,core[_0x5d8379(0xe3)]),__decorateParam$2(0x1,core['IUniverInstanceService']),__decorateParam$2(0x2,core['ICommandService'])],exports['SheetsFilterService']);function objectsShaker(_0x5f2c64,_0x544ef2){const _0x53fea2=_0x5d8379;for(let _0x34500f=0x0;_0x34500f<_0x5f2c64[_0x53fea2(0x1aa)];_0x34500f++){let _0x521f59=_0x34500f;if(_0x5f2c64[_0x34500f]){for(let _0x31e59e=_0x34500f+0x1;_0x31e59e<_0x5f2c64[_0x53fea2(0x1aa)];_0x31e59e++)_0x5f2c64[_0x521f59]&&_0x5f2c64[_0x31e59e]&&_0x544ef2(_0x5f2c64[_0x521f59],_0x5f2c64[_0x31e59e])&&(_0x5f2c64[_0x521f59]=null,_0x521f59=_0x31e59e);}}return _0x5f2c64[_0x53fea2(0xfa)](_0x4123b7=>_0x4123b7!==null);}__name(objectsShaker,_0x5d8379(0x170));function mergeSetFilterCriteria(_0x10c899){const _0x47c463=_0x5d8379;return objectsShaker(_0x10c899,(_0x5dafbe,_0x26440c)=>_0x5dafbe['id']===SetSheetsFilterCriteriaMutation['id']&&_0x26440c['id']===SetSheetsFilterCriteriaMutation['id']&&_0x5dafbe[_0x47c463(0x12f)][_0x47c463(0x1ce)]===_0x26440c[_0x47c463(0x12f)][_0x47c463(0x1ce)]&&_0x5dafbe['params'][_0x47c463(0x1a0)]===_0x26440c[_0x47c463(0x12f)][_0x47c463(0x1a0)]&&_0x5dafbe[_0x47c463(0x12f)]['col']===_0x26440c[_0x47c463(0x12f)][_0x47c463(0x1b0)]);}__name(mergeSetFilterCriteria,_0x5d8379(0x1a6));var __defProp$1=Object[_0x5d8379(0x185)],__getOwnPropDesc$1=Object['getOwnPropertyDescriptor'],__decorateClass$1=__name((_0x3c69b5,_0x21e1bb,_0x2c9c44,_0x4c39b6)=>{const _0x3077ae=_0x5d8379;for(var _0xecb691=_0x4c39b6>0x1?void 0x0:_0x4c39b6?__getOwnPropDesc$1(_0x21e1bb,_0x2c9c44):_0x21e1bb,_0x892521=_0x3c69b5[_0x3077ae(0x1aa)]-0x1,_0x2c3c23;_0x892521>=0x0;_0x892521--)(_0x2c3c23=_0x3c69b5[_0x892521])&&(_0xecb691=(_0x4c39b6?_0x2c3c23(_0x21e1bb,_0x2c9c44,_0xecb691):_0x2c3c23(_0xecb691))||_0xecb691);return _0x4c39b6&&_0xecb691&&__defProp$1(_0x21e1bb,_0x2c9c44,_0xecb691),_0xecb691;},_0x5d8379(0x1f2)),__decorateParam$1=__name((_0x4db04b,_0x38e83e)=>(_0x4c902,_0x29ffca)=>_0x38e83e(_0x4c902,_0x29ffca,_0x4db04b),'__decorateParam$1'),_a2;let SheetsFilterController=(_a2=class extends core[_0x5d8379(0x1f0)]{constructor(_0x29a054,_0x1ed844,_0x4c0e7b,_0x19d414,_0x1e713a){const _0x4abe2c=_0x5d8379;super(),__publicField(this,_0x4abe2c(0x1a9),new core[(_0x4abe2c(0x10c))]()),(this[_0x4abe2c(0x13f)]=_0x29a054,this[_0x4abe2c(0x135)]=_0x1ed844,this['_sheetsFilterService']=_0x4c0e7b,this[_0x4abe2c(0x18b)]=_0x19d414,this[_0x4abe2c(0xe8)]=_0x1e713a,this[_0x4abe2c(0x200)](),this['_initRowFilteredInterceptor'](),this[_0x4abe2c(0x1bf)](),this[_0x4abe2c(0x136)](),this['_initErrorHandling']());}['_initCommands'](){const _0x17d808=_0x5d8379;[SetSheetsFilterCriteriaMutation,SetSheetsFilterRangeMutation,ReCalcSheetsFilterMutation,RemoveSheetsFilterMutation][_0x17d808(0x1a5)](_0x3b304e=>this[_0x17d808(0x155)](this[_0x17d808(0x13f)]['registerCommand'](_0x3b304e)));}[_0x5d8379(0x1bf)](){const _0x53d015=_0x5d8379;this[_0x53d015(0x155)](this[_0x53d015(0x135)]['interceptCommand']({'getMutations':__name(_0x4b4e06=>this[_0x53d015(0x12d)](_0x4b4e06),_0x53d015(0x17e))})),this['disposeWithMe'](this['_commandService'][_0x53d015(0x1ab)](_0x380f5e=>{const _0x37e6d7=_0x53d015;if(_0x380f5e['id']===sheets[_0x37e6d7(0x1dc)]['id']){const _0x3ed9b8=_0x380f5e[_0x37e6d7(0x12f)],_0x53dc8e=_0x3ed9b8['subUnitId'],_0x18eae9=_0x3ed9b8[_0x37e6d7(0x1ce)];if(!_0x53dc8e||!_0x18eae9)return;this['_registerRefRange'](_0x18eae9,_0x53dc8e);}if(_0x380f5e['id']===SetSheetsFilterRangeMutation['id']){const _0x3b27ec=_0x380f5e[_0x37e6d7(0x12f)],_0xc6fd9d=_0x3b27ec['subUnitId'],_0x5bb362=_0x3b27ec[_0x37e6d7(0x1ce)];if(!_0xc6fd9d||!_0x5bb362)return;this[_0x37e6d7(0x18d)](_0x3b27ec['unitId'],_0x3b27ec['subUnitId']);}})),this['disposeWithMe'](this['_sheetsFilterService'][_0x53d015(0x191)][_0x53d015(0x117)](_0x26a630=>{const _0x5d2864=_0x53d015;if(_0x26a630){const _0x2589b5=this[_0x5d2864(0x18b)]['getUniverSheetInstance'](_0x26a630),_0x249830=_0x2589b5==null?void 0x0:_0x2589b5[_0x5d2864(0x1f7)]();_0x249830&&this[_0x5d2864(0x18d)](_0x26a630,_0x249830[_0x5d2864(0x131)]());}}));}[_0x5d8379(0x18d)](_0x5bc118,_0x3b9bf5){const _0x9dae12=_0x5d8379;var _0x10a9ec;this[_0x9dae12(0x1a9)]['dispose']();const _0xa18810=this[_0x9dae12(0x18b)][_0x9dae12(0xfe)](_0x5bc118),_0x2acc83=_0xa18810==null?void 0x0:_0xa18810[_0x9dae12(0x1d3)](_0x3b9bf5);if(!_0xa18810||!_0x2acc83)return;const _0x2fc6a4=(_0x10a9ec=this[_0x9dae12(0x125)][_0x9dae12(0x1bc)](_0x5bc118,_0x3b9bf5))==null?void 0x0:_0x10a9ec[_0x9dae12(0x1cf)](),_0xcd4afd=__name(_0x2fd5e3=>{const _0x325ec6=_0x9dae12;switch(_0x2fd5e3['id']){case sheets[_0x325ec6(0xf1)]['id']:{const _0x3326cd=_0x2fd5e3[_0x325ec6(0x12f)],_0x5411ac=_0x3326cd['unitId']||_0x5bc118,_0x570b0a=_0x3326cd[_0x325ec6(0x1a0)]||_0x3b9bf5;return this[_0x325ec6(0x172)](_0x3326cd,_0x5411ac,_0x570b0a);}case sheets[_0x325ec6(0x14f)]['id']:{const _0x1ea05d=_0x2fd5e3[_0x325ec6(0x12f)],_0xa90f1b=_0x1ea05d['unitId']||_0x5bc118,_0x19d4a0=_0x1ea05d['subUnitId']||_0x3b9bf5;return this[_0x325ec6(0x129)](_0x1ea05d,_0xa90f1b,_0x19d4a0);}case sheets['RemoveColCommand']['id']:{const _0x421760=_0x2fd5e3['params'];return this[_0x325ec6(0x140)](_0x421760,_0x5bc118,_0x3b9bf5);}case sheets[_0x325ec6(0x1cd)]['id']:{const _0x97bd9b=_0x2fd5e3['params'];return this[_0x325ec6(0x203)](_0x97bd9b,_0x5bc118,_0x3b9bf5);}case sheets[_0x325ec6(0x15d)][_0x325ec6(0x19f)]:{const _0xcf3670=_0x2fd5e3[_0x325ec6(0x12f)];return this[_0x325ec6(0x16c)](_0xcf3670,_0x5bc118,_0x3b9bf5);}case sheets['EffectRefRangId']['MoveRowsCommandId']:{const _0x58bfbf=_0x2fd5e3[_0x325ec6(0x12f)];return this[_0x325ec6(0x197)](_0x58bfbf,_0x5bc118,_0x3b9bf5);}case sheets['MoveRangeCommand']['id']:{const _0x191fc9=_0x2fd5e3[_0x325ec6(0x12f)];return this[_0x325ec6(0x14d)](_0x191fc9,_0x5bc118,_0x3b9bf5);}}return{'redos':[],'undos':[]};},_0x9dae12(0x1ee));_0x2fc6a4&&this['_disposableCollection']['add'](this[_0x9dae12(0xe8)][_0x9dae12(0x10d)](_0x2fc6a4,_0xcd4afd,_0x5bc118,_0x3b9bf5));}[_0x5d8379(0x12d)](_0x504ab8){const _0x35fb37=_0x5d8379,{id:_0x2491a4}=_0x504ab8;switch(_0x2491a4){case sheets[_0x35fb37(0xf9)]['id']:{const _0x48122f=_0x504ab8['params'];return this[_0x35fb37(0x113)](_0x48122f,_0x48122f[_0x35fb37(0x1ce)],_0x48122f[_0x35fb37(0x1a0)]);}case sheets['CopySheetCommand']['id']:{const _0x513587=_0x504ab8[_0x35fb37(0x12f)],{targetSubUnitId:_0x12cb35,unitId:_0x511c3f,subUnitId:_0x1f52a4}=_0x513587;return!_0x511c3f||!_0x1f52a4||!_0x12cb35?this[_0x35fb37(0xeb)]():this[_0x35fb37(0x16a)](_0x511c3f,_0x1f52a4,_0x12cb35);}}return{'redos':[],'undos':[]};}[_0x5d8379(0x129)](_0x3d3d96,_0x288ec3,_0x1e6f23){const _0x534a67=_0x5d8379;var _0x458480;const _0x3358f3=this[_0x534a67(0x125)]['getFilterModel'](_0x288ec3,_0x1e6f23),_0x48d455=(_0x458480=_0x3358f3==null?void 0x0:_0x3358f3['getRange']())!=null?_0x458480:null;if(!_0x3358f3||!_0x48d455)return this[_0x534a67(0xeb)]();const {startColumn:_0x32ba49,endColumn:_0x3b283a}=_0x48d455,{startColumn:_0x2f5f57,endColumn:_0x54140e}=_0x3d3d96[_0x534a67(0x1ca)],_0x472a1c=_0x54140e-_0x2f5f57+0x1;if(_0x54140e>_0x3b283a)return this[_0x534a67(0xeb)]();const _0x50bcf0=[],_0x28bad4=[],_0x45f586=_0x2f5f57,_0x4eb041={'unitId':_0x288ec3,'subUnitId':_0x1e6f23,'range':{..._0x48d455,'startColumn':_0x2f5f57<=_0x32ba49?_0x32ba49+_0x472a1c:_0x32ba49,'endColumn':_0x3b283a+_0x472a1c}},_0xf8ea91={'unitId':_0x288ec3,'subUnitId':_0x1e6f23,'range':_0x48d455};_0x50bcf0[_0x534a67(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':_0x4eb041}),_0x28bad4['push']({'id':SetSheetsFilterRangeMutation['id'],'params':_0xf8ea91});const _0x21eedd=_0x3358f3['getAllFilterColumns']()['filter'](_0x4d505a=>_0x4d505a[0x0]>=_0x45f586);if(_0x21eedd[_0x534a67(0x1aa)]!==0x0){const {newRange:_0xdbef49,oldRange:_0x2b9078}=this[_0x534a67(0x1c1)](_0x288ec3,_0x1e6f23,_0x21eedd,_0x472a1c);_0x50bcf0[_0x534a67(0x12e)](..._0xdbef49[_0x534a67(0x168)],..._0x2b9078[_0x534a67(0x168)]),_0x28bad4['push'](..._0xdbef49['undos'],..._0x2b9078[_0x534a67(0x202)]);}return{'redos':mergeSetFilterCriteria(_0x50bcf0),'undos':mergeSetFilterCriteria(_0x28bad4)};}[_0x5d8379(0x172)](_0x44b242,_0x4eaacf,_0x26907d){const _0xeb57e4=_0x5d8379;var _0x1fe15e;const _0x171086=this['_sheetsFilterService']['getFilterModel'](_0x4eaacf,_0x26907d),_0x49e76a=(_0x1fe15e=_0x171086==null?void 0x0:_0x171086[_0xeb57e4(0x1cf)]())!=null?_0x1fe15e:null;if(!_0x171086||!_0x49e76a)return this[_0xeb57e4(0xeb)]();const {startRow:_0x236285,endRow:_0x40edd2}=_0x49e76a,{startRow:_0x3d2624,endRow:_0x292e53}=_0x44b242['range'],_0x1b0a98=_0x292e53-_0x3d2624+0x1;if(_0x292e53>_0x40edd2)return this[_0xeb57e4(0xeb)]();const _0x4d3914=[],_0x167c4d=[],_0x425de8={'unitId':_0x4eaacf,'subUnitId':_0x26907d,'range':{..._0x49e76a,'startRow':_0x3d2624<=_0x236285?_0x236285+_0x1b0a98:_0x236285,'endRow':_0x40edd2+_0x1b0a98}},_0x92e4d5={'unitId':_0x4eaacf,'subUnitId':_0x26907d,'range':_0x49e76a};return _0x4d3914[_0xeb57e4(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':_0x425de8}),_0x167c4d[_0xeb57e4(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':_0x92e4d5}),{'redos':mergeSetFilterCriteria(_0x4d3914),'undos':mergeSetFilterCriteria(_0x167c4d)};}['_handleRemoveColCommand'](_0x1d027f,_0xbb5dc7,_0x1d527e){const _0x53868c=_0x5d8379;var _0x66e849;const _0x4467c6=this['_sheetsFilterService'][_0x53868c(0x1bc)](_0xbb5dc7,_0x1d527e),_0x2dc8c0=(_0x66e849=_0x4467c6==null?void 0x0:_0x4467c6['getRange']())!=null?_0x66e849:null;if(!_0x4467c6||!_0x2dc8c0)return this[_0x53868c(0xeb)]();const {startColumn:_0x3aa672,endColumn:_0x9b3933}=_0x2dc8c0,{startColumn:_0x5d75d4,endColumn:_0x13c978}=_0x1d027f['range'];if(_0x5d75d4>_0x9b3933)return this[_0x53868c(0xeb)]();const _0x1477d5=[],_0xd3a1cf=[],_0x34252c=_0x13c978<_0x3aa672?0x0:Math['min'](_0x13c978,_0x9b3933)-Math['max'](_0x5d75d4,_0x3aa672)+0x1,_0x372ad0=_0x13c978-_0x5d75d4+0x1,_0x43c036=_0x4467c6[_0x53868c(0x1cc)]();_0x43c036[_0x53868c(0x1a5)](_0x2d7394=>{const _0x11cbb7=_0x53868c,[_0x474589,_0xb6632c]=_0x2d7394;_0x474589<=_0x13c978&&_0x474589>=_0x5d75d4&&(_0x1477d5[_0x11cbb7(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0xbb5dc7,'subUnitId':_0x1d527e,'col':_0x474589,'criteria':null}}),_0xd3a1cf['push']({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0xbb5dc7,'subUnitId':_0x1d527e,'col':_0x474589,'criteria':{..._0xb6632c[_0x11cbb7(0x1bd)](),'colId':_0x474589}}}));});const _0xf79a9f=_0x43c036['filter'](_0x29b88a=>{const [_0x20cf9f,_0x2b76bb]=_0x29b88a;return _0x20cf9f>_0x13c978;});let _0x158604={'undos':[],'redos':[]};if(_0xf79a9f['length']>0x0){const {oldRange:_0x2ec4f3,newRange:_0x24b7b7}=this[_0x53868c(0x1c1)](_0xbb5dc7,_0x1d527e,_0xf79a9f,-_0x372ad0);_0x158604=_0x24b7b7,_0x1477d5[_0x53868c(0x12e)](..._0x2ec4f3[_0x53868c(0x168)]),_0xd3a1cf['unshift'](..._0x2ec4f3['undos']);}if(_0x34252c===_0x9b3933-_0x3aa672+0x1){const _0x5d8f78={'unitId':_0xbb5dc7,'subUnitId':_0x1d527e};_0x1477d5[_0x53868c(0x12e)]({'id':RemoveSheetsFilterMutation['id'],'params':_0x5d8f78}),_0xd3a1cf['unshift']({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x2dc8c0,'unitId':_0xbb5dc7,'subUnitId':_0x1d527e}});}else{const _0x2950f8=_0x3aa672<=_0x5d75d4?_0x3aa672:_0x34252c===0x0?_0x3aa672-_0x372ad0:_0x5d75d4,_0x19468d=_0x3aa672<=_0x5d75d4?_0x9b3933-_0x34252c:_0x9b3933-_0x372ad0,_0x164c35={'unitId':_0xbb5dc7,'subUnitId':_0x1d527e,'range':{..._0x2dc8c0,'startColumn':_0x2950f8,'endColumn':_0x19468d}};_0x1477d5[_0x53868c(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':_0x164c35}),_0xd3a1cf[_0x53868c(0x104)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x2dc8c0,'unitId':_0xbb5dc7,'subUnitId':_0x1d527e}}),_0x1477d5[_0x53868c(0x12e)](..._0x158604[_0x53868c(0x168)]),_0xd3a1cf[_0x53868c(0x104)](..._0x158604[_0x53868c(0x202)]);}return{'undos':_0xd3a1cf,'redos':_0x1477d5};}[_0x5d8379(0x203)](_0x1049dd,_0x18e2f6,_0x582943){const _0x1f3c2e=_0x5d8379;var _0x520285;const _0x36bd3c=this[_0x1f3c2e(0x125)][_0x1f3c2e(0x1bc)](_0x18e2f6,_0x582943);if(!_0x36bd3c)return this[_0x1f3c2e(0xeb)]();const _0x56f1f8=_0x36bd3c[_0x1f3c2e(0x1cf)](),{startRow:_0x3d639c,endRow:_0x4ab19b}=_0x56f1f8,{startRow:_0x33219c,endRow:_0x16cead}=_0x1049dd['range'];if(_0x33219c>_0x4ab19b)return this[_0x1f3c2e(0xeb)]();if(_0x16cead<_0x3d639c)return{'undos':[{'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x56f1f8,'unitId':_0x18e2f6,'subUnitId':_0x582943}}],'redos':[{'id':SetSheetsFilterRangeMutation['id'],'params':{'range':{..._0x56f1f8,'startRow':_0x3d639c-(_0x16cead-_0x33219c+0x1),'endRow':_0x4ab19b-(_0x16cead-_0x33219c+0x1)},'unitId':_0x18e2f6,'subUnitId':_0x582943}}]};const _0x251c28=[],_0x517728=[],_0x3f1d39=_0x36bd3c[_0x1f3c2e(0x1cc)](),_0x2ca9b0=_0x3d639c<=_0x16cead&&_0x3d639c>=_0x33219c;_0x517728[_0x1f3c2e(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x56f1f8,'unitId':_0x18e2f6,'subUnitId':_0x582943}});const _0x589e02=Math['min'](_0x16cead,_0x4ab19b)-Math[_0x1f3c2e(0x18f)](_0x33219c,_0x3d639c)+0x1;if(_0x589e02===_0x4ab19b-_0x3d639c+0x1||_0x2ca9b0){const _0x27e7f5={'unitId':_0x18e2f6,'subUnitId':_0x582943};_0x251c28[_0x1f3c2e(0x12e)]({'id':RemoveSheetsFilterMutation['id'],'params':_0x27e7f5}),_0x3f1d39[_0x1f3c2e(0x1a5)](_0xb56c0b=>{const [_0x5b1b9d,_0xc50eb]=_0xb56c0b,_0x354617={'unitId':_0x18e2f6,'subUnitId':_0x582943,'col':_0x5b1b9d,'criteria':{..._0xc50eb['serialize'](),'colId':_0x5b1b9d}};_0x517728['push']({'id':SetSheetsFilterCriteriaMutation['id'],'params':_0x354617});});}else{const _0x1a6e95=(_0x520285=this[_0x1f3c2e(0x18b)][_0x1f3c2e(0xfe)](_0x18e2f6))==null?void 0x0:_0x520285[_0x1f3c2e(0x1d3)](_0x582943);if(!_0x1a6e95)return this[_0x1f3c2e(0xeb)]();const _0x226bb7=[];for(let _0xff6eb5=_0x33219c;_0xff6eb5<=_0x16cead;_0xff6eb5++)_0x1a6e95[_0x1f3c2e(0x121)](_0xff6eb5)&&_0x226bb7[_0x1f3c2e(0x12e)](_0xff6eb5);const _0xb4e85b=Math[_0x1f3c2e(0x13e)](_0x3d639c,_0x33219c),_0x288763=_0xb4e85b+(_0x4ab19b-_0x3d639c)-_0x589e02+_0x226bb7[_0x1f3c2e(0x1aa)],_0x5bc2d4={'unitId':_0x18e2f6,'subUnitId':_0x582943,'range':{..._0x56f1f8,'startRow':_0xb4e85b,'endRow':_0x288763}};_0x251c28['push']({'id':SetSheetsFilterRangeMutation['id'],'params':_0x5bc2d4});}return{'undos':mergeSetFilterCriteria(_0x517728),'redos':mergeSetFilterCriteria(_0x251c28)};}[_0x5d8379(0x16c)](_0xaf4d9c,_0x4299f2,_0xce6ad0){const _0x21aa2e=_0x5d8379;var _0x3e244f;const _0x44056e=this[_0x21aa2e(0x125)][_0x21aa2e(0x1bc)](_0x4299f2,_0xce6ad0),_0x2d0dc0=(_0x3e244f=_0x44056e==null?void 0x0:_0x44056e[_0x21aa2e(0x1cf)]())!=null?_0x3e244f:null;if(!_0x44056e||!_0x2d0dc0)return this['_handleNull']();const {startColumn:_0x577076,endColumn:_0x317bbd}=_0x2d0dc0,{fromRange:_0x43c907,toRange:_0x49c5b6}=_0xaf4d9c;if(_0x43c907[_0x21aa2e(0x11e)]<_0x577076&&_0x49c5b6['startColumn']<=_0x577076||_0x43c907[_0x21aa2e(0x177)]>_0x317bbd&&_0x49c5b6['endColumn']>_0x317bbd)return this[_0x21aa2e(0xeb)]();const _0x5ed02f=[],_0x2c7b08=[],_0x3258b6={};for(let _0x388e39=_0x577076;_0x388e39<=_0x317bbd;_0x388e39++)_0x3258b6[_0x388e39]={'colIndex':_0x388e39,'filter':_0x44056e['getFilterColumn'](_0x388e39)};core['moveMatrixArray'](_0x43c907['startColumn'],_0x43c907[_0x21aa2e(0x11e)]-_0x43c907[_0x21aa2e(0x177)]+0x1,_0x49c5b6[_0x21aa2e(0x177)],_0x3258b6);let _0xb315de=_0x2d0dc0[_0x21aa2e(0x177)],_0x51c7db=_0x2d0dc0[_0x21aa2e(0x11e)];_0x577076>=_0x43c907['startColumn']&&_0x577076<=_0x43c907[_0x21aa2e(0x11e)]&&_0x49c5b6[_0x21aa2e(0x177)]>_0x43c907[_0x21aa2e(0x177)]&&_0x43c907[_0x21aa2e(0x11e)]<_0x317bbd&&(_0xb315de=_0x43c907[_0x21aa2e(0x11e)]+0x1),_0x317bbd>=_0x43c907[_0x21aa2e(0x177)]&&_0x317bbd<=_0x43c907[_0x21aa2e(0x11e)]&&_0x49c5b6[_0x21aa2e(0x177)]<_0x43c907[_0x21aa2e(0x177)]&&_0x43c907['startColumn']>_0x577076&&(_0x51c7db=_0x43c907[_0x21aa2e(0x177)]-0x1);const _0x38ec3e=Object['keys'](_0x3258b6)['map'](_0x3bf3c9=>Number(_0x3bf3c9)),_0x4c93c8=_0x38ec3e[_0x21aa2e(0x188)](_0x4edbb5=>_0x3258b6[_0x4edbb5]['colIndex']===_0x51c7db),_0x4f0ad6=_0x38ec3e[_0x21aa2e(0x188)](_0x1be802=>_0x3258b6[_0x1be802]['colIndex']===_0xb315de);if(_0x38ec3e[_0x21aa2e(0x1a5)](_0xb69c6e=>{const _0x56b390=_0x21aa2e;var _0x2ba586,_0x54ed7c;const {colIndex:_0xf84287,filter:_0x136caa}=_0x3258b6[_0xb69c6e],_0x3deb0e=_0xb69c6e;if(_0x136caa){if(_0x3deb0e>=_0x4f0ad6&&_0x3deb0e<=_0x4c93c8){const _0x12e719={'unitId':_0x4299f2,'subUnitId':_0xce6ad0,'col':_0x3deb0e,'criteria':{..._0x136caa[_0x56b390(0x1bd)](),'colId':_0x3deb0e}},_0xa24655={'unitId':_0x4299f2,'subUnitId':_0xce6ad0,'col':_0x3deb0e,'criteria':_0x44056e[_0x56b390(0x156)](_0x3deb0e)?{...(_0x2ba586=_0x44056e[_0x56b390(0x156)](_0x3deb0e))==null?void 0x0:_0x2ba586[_0x56b390(0x1bd)](),'colId':_0x3deb0e}:null};_0x5ed02f[_0x56b390(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':_0x12e719}),_0x2c7b08[_0x56b390(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':_0xa24655});}if(!((_0x54ed7c=_0x3258b6[_0xf84287])!=null&&_0x54ed7c[_0x56b390(0xfa)])){const _0x10698c={'unitId':_0x4299f2,'subUnitId':_0xce6ad0,'col':_0xf84287,'criteria':null};_0x5ed02f[_0x56b390(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':_0x10698c}),_0x2c7b08[_0x56b390(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0x4299f2,'subUnitId':_0xce6ad0,'col':_0xf84287,'criteria':{..._0x136caa[_0x56b390(0x1bd)](),'colId':_0xf84287}}});}}}),_0x577076!==_0x4f0ad6||_0x317bbd!==_0x4c93c8){const _0x2d48f5={'unitId':_0x4299f2,'subUnitId':_0xce6ad0,'range':{..._0x2d0dc0,'startColumn':_0x4f0ad6,'endColumn':_0x4c93c8}};_0x5ed02f['unshift']({'id':SetSheetsFilterRangeMutation['id'],'params':_0x2d48f5}),_0x2c7b08[_0x21aa2e(0x104)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x2d0dc0,'unitId':_0x4299f2,'subUnitId':_0xce6ad0}});}return{'undos':_0x2c7b08,'redos':_0x5ed02f};}[_0x5d8379(0x197)](_0x6916f5,_0x30069c,_0x425dc8){const _0x217fb3=_0x5d8379;var _0x1a83bc;const _0x4c6b38=this['_sheetsFilterService'][_0x217fb3(0x1bc)](_0x30069c,_0x425dc8),_0x55a777=(_0x1a83bc=_0x4c6b38==null?void 0x0:_0x4c6b38['getRange']())!=null?_0x1a83bc:null;if(!_0x4c6b38||!_0x55a777)return this[_0x217fb3(0xeb)]();const {startRow:_0x416cbd,endRow:_0x17e687}=_0x55a777,{fromRange:_0x2d2e34,toRange:_0x273de3}=_0x6916f5;if(_0x2d2e34['endRow']<_0x416cbd&&_0x273de3[_0x217fb3(0xec)]<=_0x416cbd||_0x2d2e34['startRow']>_0x17e687&&_0x273de3[_0x217fb3(0x195)]>_0x17e687)return this[_0x217fb3(0xeb)]();const _0x3c9415=[],_0x487154=[],_0x3fea8b={};for(let _0x5308e2=_0x416cbd;_0x5308e2<=_0x17e687;_0x5308e2++)_0x3fea8b[_0x5308e2]={'oldIndex':_0x5308e2};const _0x4734b2=_0x416cbd;let _0xc3072a=_0x17e687;_0x17e687>=_0x2d2e34[_0x217fb3(0xec)]&&_0x17e687<=_0x2d2e34['endRow']&&_0x273de3[_0x217fb3(0xec)]<_0x2d2e34[_0x217fb3(0xec)]&&_0x2d2e34[_0x217fb3(0xec)]>_0x416cbd&&(_0xc3072a=_0x2d2e34[_0x217fb3(0xec)]-0x1),core[_0x217fb3(0x1be)](_0x2d2e34[_0x217fb3(0xec)],_0x2d2e34['endRow']-_0x2d2e34[_0x217fb3(0xec)]+0x1,_0x273de3[_0x217fb3(0xec)],_0x3fea8b);const _0x1aa4fb=Object[_0x217fb3(0x11a)](_0x3fea8b)['map'](_0xd49c64=>Number(_0xd49c64)),_0x32e9eb=_0x1aa4fb[_0x217fb3(0x188)](_0x587f01=>_0x3fea8b[_0x587f01][_0x217fb3(0x111)]===_0xc3072a),_0x359d6b=_0x1aa4fb[_0x217fb3(0x188)](_0x1f57b4=>_0x3fea8b[_0x1f57b4][_0x217fb3(0x111)]===_0x4734b2);if(_0x416cbd!==_0x359d6b||_0x17e687!==_0x32e9eb){const _0x54ae12={'unitId':_0x30069c,'subUnitId':_0x425dc8,'range':{..._0x55a777,'startRow':_0x359d6b,'endRow':_0x32e9eb}};_0x3c9415[_0x217fb3(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':_0x54ae12},{'id':ReCalcSheetsFilterMutation['id'],'params':{'unitId':_0x30069c,'subUnitId':_0x425dc8}}),_0x487154[_0x217fb3(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x55a777,'unitId':_0x30069c,'subUnitId':_0x425dc8}},{'id':ReCalcSheetsFilterMutation['id'],'params':{'unitId':_0x30069c,'subUnitId':_0x425dc8}});}return{'redos':_0x3c9415,'undos':_0x487154};}['_handleMoveRangeCommand'](_0x13ad3b,_0x4654f9,_0x43fd6d){const _0x1554aa=_0x5d8379,{fromRange:_0x28c72f,toRange:_0x29fa83}=_0x13ad3b,_0x4aa841=this[_0x1554aa(0x125)][_0x1554aa(0x1bc)](_0x4654f9,_0x43fd6d);if(!_0x4aa841)return this[_0x1554aa(0xeb)]();const _0x5dea4c=_0x4aa841[_0x1554aa(0x1cf)]();if(!_0x5dea4c)return this[_0x1554aa(0xeb)]();const _0x32fde7=[],_0x19dcfa=[];if(core[_0x1554aa(0x11b)][_0x1554aa(0x1bb)](_0x28c72f,_0x5dea4c)){const _0x24b57a=_0x5dea4c['startRow']-_0x28c72f[_0x1554aa(0xec)],_0x447833=_0x5dea4c[_0x1554aa(0x177)]-_0x28c72f[_0x1554aa(0x177)],_0x38c75b={'startRow':_0x29fa83[_0x1554aa(0xec)]+_0x24b57a,'startColumn':_0x29fa83[_0x1554aa(0x177)]+_0x447833,'endRow':_0x29fa83[_0x1554aa(0xec)]+_0x24b57a+(_0x5dea4c[_0x1554aa(0x195)]-_0x5dea4c[_0x1554aa(0xec)]),'endColumn':_0x29fa83[_0x1554aa(0x177)]+_0x447833+(_0x5dea4c['endColumn']-_0x5dea4c[_0x1554aa(0x177)])},_0x21a111={'id':RemoveSheetsFilterMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d}},_0x52e24f={'id':SetSheetsFilterRangeMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d,'range':_0x38c75b}},_0x24e2f3={'id':SetSheetsFilterRangeMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d,'range':_0x5dea4c}};_0x32fde7['push'](_0x21a111,_0x52e24f),_0x19dcfa[_0x1554aa(0x12e)](_0x21a111,_0x24e2f3);const _0x206204=_0x4aa841['getAllFilterColumns'](),_0x448893=_0x29fa83[_0x1554aa(0x177)]-_0x28c72f[_0x1554aa(0x177)];_0x206204[_0x1554aa(0x1a5)](_0x2bfaa8=>{const _0x3f1a3c=_0x1554aa,[_0x3e18af,_0x20233e]=_0x2bfaa8;_0x20233e&&(_0x32fde7[_0x3f1a3c(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d,'col':_0x3e18af+_0x448893,'criteria':{..._0x20233e[_0x3f1a3c(0x1bd)](),'colId':_0x3e18af+_0x448893}}}),_0x19dcfa[_0x3f1a3c(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d,'col':_0x3e18af,'criteria':{..._0x20233e[_0x3f1a3c(0x1bd)](),'colId':_0x3e18af}}}));});}else{if(core['Rectangle']['intersects'](_0x29fa83,_0x5dea4c)){const _0x4811b9={..._0x5dea4c,'endRow':Math[_0x1554aa(0x18f)](_0x5dea4c[_0x1554aa(0x195)],_0x29fa83[_0x1554aa(0x195)])};_0x32fde7[_0x1554aa(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d,'range':_0x4811b9}}),_0x19dcfa[_0x1554aa(0x12e)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'unitId':_0x4654f9,'subUnitId':_0x43fd6d,'range':_0x5dea4c}});}}return{'redos':_0x32fde7,'undos':_0x19dcfa};}['_handleRemoveSheetCommand'](_0x1af048,_0x38516a,_0x119daf){const _0x19ddcb=_0x5d8379,_0x5114a4=this[_0x19ddcb(0x125)][_0x19ddcb(0x1bc)](_0x38516a,_0x119daf);if(!_0x5114a4)return this[_0x19ddcb(0xeb)]();const _0x168d83=_0x5114a4[_0x19ddcb(0x1cf)]();if(!_0x168d83)return this[_0x19ddcb(0xeb)]();const _0x6c9c40=[],_0x19541b=[];return _0x5114a4[_0x19ddcb(0x1cc)]()[_0x19ddcb(0x1a5)](([_0x485b25,_0x4a33ad])=>{const _0x32fbcd=_0x19ddcb;_0x19541b[_0x32fbcd(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0x38516a,'subUnitId':_0x119daf,'col':_0x485b25,'criteria':{..._0x4a33ad['serialize'](),'colId':_0x485b25}}});}),_0x6c9c40[_0x19ddcb(0x12e)]({'id':RemoveSheetsFilterMutation['id'],'params':{'unitId':_0x38516a,'subUnitId':_0x119daf,'range':_0x168d83}}),_0x19541b[_0x19ddcb(0x104)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0x168d83,'unitId':_0x38516a,'subUnitId':_0x119daf}}),{'undos':_0x19541b,'redos':_0x6c9c40};}['_handleCopySheetCommand'](_0x514fe0,_0x32dc06,_0x382791){const _0x14fa4c=_0x5d8379,_0x2819b8=this[_0x14fa4c(0x125)][_0x14fa4c(0x1bc)](_0x514fe0,_0x32dc06);if(!_0x2819b8)return this[_0x14fa4c(0xeb)]();const _0xba4aed=_0x2819b8['getRange']();if(!_0xba4aed)return this[_0x14fa4c(0xeb)]();const _0x43d1da=[],_0x56b773=[],_0xe3deff=[],_0x442959=[];return _0x2819b8[_0x14fa4c(0x1cc)]()[_0x14fa4c(0x1a5)](([_0x310d1a,_0xd84ed0])=>{const _0x51c0d7=_0x14fa4c;_0x43d1da[_0x51c0d7(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0x514fe0,'subUnitId':_0x382791,'col':_0x310d1a,'criteria':{..._0xd84ed0[_0x51c0d7(0x1bd)](),'colId':_0x310d1a}}}),_0xe3deff[_0x51c0d7(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{'unitId':_0x514fe0,'subUnitId':_0x382791,'col':_0x310d1a,'criteria':null}});}),_0xe3deff[_0x14fa4c(0x12e)]({'id':RemoveSheetsFilterMutation['id'],'params':{'unitId':_0x514fe0,'subUnitId':_0x382791,'range':_0xba4aed}}),_0x43d1da[_0x14fa4c(0x104)]({'id':SetSheetsFilterRangeMutation['id'],'params':{'range':_0xba4aed,'unitId':_0x514fe0,'subUnitId':_0x382791}}),{'undos':_0x56b773,'redos':_0x43d1da,'preUndos':_0xe3deff,'preRedos':_0x442959};}['_handleNull'](){return{'redos':[],'undos':[]};}[_0x5d8379(0xf6)](){const _0x5f2d9f=_0x5d8379;this[_0x5f2d9f(0x155)](this['_sheetInterceptorService'][_0x5f2d9f(0x15b)](sheets[_0x5f2d9f(0x16f)]['ROW_FILTERED'],{'handler':__name((_0x2c7266,_0x45dd4b)=>{const _0x563b0a=_0x5f2d9f;var _0x347487,_0x2d0eb7;return _0x2c7266?!0x0:(_0x2d0eb7=(_0x347487=this[_0x563b0a(0x125)][_0x563b0a(0x1bc)](_0x45dd4b['unitId'],_0x45dd4b[_0x563b0a(0x1a0)]))==null?void 0x0:_0x347487[_0x563b0a(0x176)](_0x45dd4b['row']))!=null?_0x2d0eb7:!0x1;},_0x5f2d9f(0x1ee))}));}['moveCriteria'](_0x111724,_0x19b907,_0xd118d9,_0x3d6da8){const _0x46ccad=_0x5d8379,_0x49d541={'unitId':_0x111724,'subUnitId':_0x19b907,'criteria':null,'col':-0x1},_0x27dfbb=[],_0x378875=[],_0x1fb8ca=[],_0x8119c6=[];return _0xd118d9[_0x46ccad(0x1a5)](_0x2a8bba=>{const _0x3423b8=_0x46ccad,[_0xd50bdd,_0x1c80da]=_0x2a8bba;_0x378875[_0x3423b8(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{..._0x49d541,'col':_0xd50bdd}}),_0x27dfbb[_0x3423b8(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{..._0x49d541,'col':_0xd50bdd,'criteria':{..._0x1c80da[_0x3423b8(0x1bd)](),'colId':_0xd50bdd}}});}),_0xd118d9['forEach'](_0x45bd72=>{const _0x4c751b=_0x46ccad,[_0x4485e9,_0x208f02]=_0x45bd72;_0x8119c6[_0x4c751b(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{..._0x49d541,'col':_0x4485e9+_0x3d6da8,'criteria':{..._0x208f02[_0x4c751b(0x1bd)](),'colId':_0x4485e9+_0x3d6da8}}}),_0x1fb8ca[_0x4c751b(0x12e)]({'id':SetSheetsFilterCriteriaMutation['id'],'params':{..._0x49d541,'col':_0x4485e9+_0x3d6da8,'criteria':null}});}),{'newRange':{'redos':_0x8119c6,'undos':_0x1fb8ca},'oldRange':{'redos':_0x378875,'undos':_0x27dfbb}};}[_0x5d8379(0x136)](){const _0x137477=_0x5d8379;this[_0x137477(0x155)](this['_commandService'][_0x137477(0x1ab)]((_0x11ebe0,_0x2f181b)=>{const _0x24597b=_0x137477;var _0x4f687e,_0x5ce42d;const {unitId:_0x1ed06b,subUnitId:_0x21b840}=_0x11ebe0['params']||{},_0x31fd69=this['_sheetsFilterService'][_0x24597b(0x1bc)](_0x1ed06b,_0x21b840);if(!_0x31fd69)return;const _0x17dc79=Array[_0x24597b(0x19d)](_0x31fd69[_0x24597b(0x130)])['sort']((_0xc39b1f,_0x1ee31)=>_0xc39b1f-_0x1ee31),_0x5de0e8=[];let _0x577174=!0x1;if(_0x11ebe0['id']===sheets[_0x24597b(0x141)]['id']){const {startRow:_0x2d8d0e,endRow:_0xd83ad2}=_0x11ebe0[_0x24597b(0x12f)][_0x24597b(0x1ca)],_0x3313b6=_0x17dc79[_0x24597b(0xfa)](_0x381e46=>_0x381e46>=_0x2d8d0e&&_0x381e46<=_0xd83ad2);_0x17dc79['forEach'](_0x34094d=>{const _0x3d20e1=_0x24597b;if(_0x34094d<_0x2d8d0e)_0x5de0e8['push'](_0x34094d);else{if(_0x577174=!0x0,_0x34094d<=_0xd83ad2){const _0x45e1f7=Math[_0x3d20e1(0x18f)](_0x2d8d0e,_0x5de0e8['length']?_0x5de0e8[_0x5de0e8[_0x3d20e1(0x1aa)]-0x1]+0x1:_0x2d8d0e);_0x5de0e8['push'](_0x45e1f7);}else _0x5de0e8[_0x3d20e1(0x12e)](_0x34094d-(_0xd83ad2-_0x2d8d0e+0x1-_0x3313b6[_0x3d20e1(0x1aa)]));}});}if(_0x11ebe0['id']===sheets[_0x24597b(0xe9)]['id']){const {startRow:_0x5d1ece,endRow:_0x237114}=_0x11ebe0['params'][_0x24597b(0x1ca)];_0x17dc79[_0x24597b(0x1a5)](_0x3bd45e=>{const _0x34d04b=_0x24597b;_0x3bd45e>=_0x5d1ece?(_0x577174=!0x0,_0x5de0e8[_0x34d04b(0x12e)](_0x3bd45e+(_0x237114-_0x5d1ece+0x1))):_0x5de0e8[_0x34d04b(0x12e)](_0x3bd45e);});}if(_0x577174&&(_0x31fd69['filteredOutRows']=new Set(_0x5de0e8)),_0x11ebe0['id']===sheets[_0x24597b(0x17d)]['id']&&!(_0x2f181b!=null&&_0x2f181b[_0x24597b(0x1e5)])){const _0x38d732=this['_getExtendRegion'](_0x1ed06b,_0x21b840);if(_0x38d732){const _0x42770e=_0x11ebe0[_0x24597b(0x12f)][_0x24597b(0xf5)];if(_0x42770e)for(let _0x2de2b0=_0x38d732['startColumn'];_0x2de2b0<=_0x38d732['endColumn'];_0x2de2b0++){const _0x119396=(_0x4f687e=_0x42770e==null?void 0x0:_0x42770e[_0x38d732[_0x24597b(0xec)]])==null?void 0x0:_0x4f687e[_0x2de2b0];if(_0x119396&&this['_cellHasValue'](_0x119396)){const _0x487430=(_0x5ce42d=this[_0x24597b(0x18b)][_0x24597b(0x1f5)](_0x1ed06b))==null?void 0x0:_0x5ce42d['getSheetBySheetId'](_0x21b840);if(_0x487430){const _0x24f831=sheets['expandToContinuousRange'](_0x38d732,{'down':!0x0},_0x487430),_0x4549c9=this['_sheetsFilterService'][_0x24597b(0x1bc)](_0x1ed06b,_0x21b840),_0x32b4e5=_0x4549c9[_0x24597b(0x1cf)]();_0x4549c9['setRange']({..._0x32b4e5,'endRow':_0x24f831['endRow']}),this[_0x24597b(0x18d)](_0x1ed06b,_0x21b840);}}}}}}));}[_0x5d8379(0x1d9)](_0x4d8778,_0xd74d90){const _0x360c6e=_0x5d8379;var _0x9a5f10;const _0x12dc45=this[_0x360c6e(0x125)][_0x360c6e(0x1bc)](_0x4d8778,_0xd74d90);if(!_0x12dc45)return null;const _0x17f72d=(_0x9a5f10=this['_univerInstanceService'][_0x360c6e(0x1f5)](_0x4d8778))==null?void 0x0:_0x9a5f10[_0x360c6e(0x1d3)](_0xd74d90);if(!_0x17f72d)return null;const _0x58d44d=_0x12dc45[_0x360c6e(0x1cf)]();if(!_0x58d44d)return null;const _0x5bd889=_0x17f72d[_0x360c6e(0x18a)]()-0x1,_0x45ec99=_0x17f72d[_0x360c6e(0x165)]();for(let _0x3dea7c=_0x58d44d[_0x360c6e(0x195)]+0x1;_0x3dea7c<=_0x5bd889;_0x3dea7c++)if(_0x45ec99[_0x360c6e(0x207)](_0x3dea7c))return{'startRow':_0x3dea7c,'endRow':_0x3dea7c,'startColumn':_0x58d44d[_0x360c6e(0x177)],'endColumn':_0x58d44d[_0x360c6e(0x11e)]};return null;}[_0x5d8379(0x162)](){const _0x415883=_0x5d8379;this[_0x415883(0x155)](this['_commandService'][_0x415883(0x133)](_0x1089df=>{const _0x107c81=_0x415883,_0x139f9f=_0x1089df['params'],_0x1bab2e=sheets['getSheetCommandTarget'](this[_0x107c81(0x18b)]);if(!_0x1bab2e)return;const {subUnitId:_0x351a91,unitId:_0x16f103}=_0x1bab2e,_0x207bea=this[_0x107c81(0x125)][_0x107c81(0x1bc)](_0x16f103,_0x351a91);if(!_0x207bea)return;const _0x424c87=_0x207bea[_0x107c81(0x1cf)]();if(_0x1089df['id']===sheets[_0x107c81(0x16d)]['id']&&_0x139f9f['fromRange'][_0x107c81(0xec)]<=_0x424c87[_0x107c81(0xec)]&&_0x139f9f[_0x107c81(0x15e)]['endRow']<_0x424c87[_0x107c81(0x195)]&&_0x139f9f[_0x107c81(0x15e)][_0x107c81(0x195)]>=_0x424c87[_0x107c81(0xec)])throw this[_0x107c81(0x125)][_0x107c81(0x114)]('sheets-filter.msg.filter-header-forbidden'),new Error(_0x107c81(0x103));}));}[_0x5d8379(0x1d4)](_0x4f6c8b){const _0x4fa33c=_0x5d8379,_0x42b3a8=Object[_0x4fa33c(0x192)](_0x4f6c8b);return!(_0x42b3a8[_0x4fa33c(0x1aa)]===0x0||_0x42b3a8[_0x4fa33c(0x1e8)](_0x1772d6=>_0x1772d6==null));}},__name(_a2,'SheetsFilterController'),_a2);SheetsFilterController=__decorateClass$1([__decorateParam$1(0x0,core[_0x5d8379(0xf0)]),__decorateParam$1(0x1,core[_0x5d8379(0x1a8)](sheets[_0x5d8379(0x1d5)])),__decorateParam$1(0x2,core['Inject'](exports['SheetsFilterService'])),__decorateParam$1(0x3,core[_0x5d8379(0x1e7)]),__decorateParam$1(0x4,core[_0x5d8379(0x1a8)](sheets[_0x5d8379(0xf2)]))],SheetsFilterController);const PLUGIN_CONFIG_KEY='sheets-filter.config',defaultPluginConfig={};var __defProp2=Object[_0x5d8379(0x185)],__getOwnPropDesc=Object[_0x5d8379(0x181)],__decorateClass=__name((_0x4ccc02,_0x1b21e0,_0x34271e,_0x3e6b9a)=>{for(var _0x2a6380=_0x3e6b9a>0x1?void 0x0:_0x3e6b9a?__getOwnPropDesc(_0x1b21e0,_0x34271e):_0x1b21e0,_0xf4b615=_0x4ccc02['length']-0x1,_0x5ea7ee;_0xf4b615>=0x0;_0xf4b615--)(_0x5ea7ee=_0x4ccc02[_0xf4b615])&&(_0x2a6380=(_0x3e6b9a?_0x5ea7ee(_0x1b21e0,_0x34271e,_0x2a6380):_0x5ea7ee(_0x2a6380))||_0x2a6380);return _0x3e6b9a&&_0x2a6380&&__defProp2(_0x1b21e0,_0x34271e,_0x2a6380),_0x2a6380;},_0x5d8379(0x116)),__decorateParam=__name((_0x4d8501,_0x597b88)=>(_0x9646fe,_0x44aa0b)=>_0x597b88(_0x9646fe,_0x44aa0b,_0x4d8501),'__decorateParam'),_a3;exports['UniverSheetsFilterPlugin']=(_a3=class extends core[_0x5d8379(0x13c)]{constructor(_0x5cadb0=defaultPluginConfig,_0x42586b,_0x5bd96e){const _0x3b73bb=_0x5d8379;super(),this[_0x3b73bb(0x144)]=_0x5cadb0,this[_0x3b73bb(0x124)]=_0x42586b,this[_0x3b73bb(0x1e3)]=_0x5bd96e;const {..._0x2987c8}=this[_0x3b73bb(0x144)];this[_0x3b73bb(0x1e3)][_0x3b73bb(0x1ef)](PLUGIN_CONFIG_KEY,_0x2987c8);}[_0x5d8379(0x13b)](){const _0x11d475=_0x5d8379;[[exports[_0x11d475(0x1a1)]],[SheetsFilterController]]['forEach'](_0x1dcde9=>this[_0x11d475(0x124)]['add'](_0x1dcde9));}['onReady'](){const _0x90d977=_0x5d8379;this[_0x90d977(0x124)][_0x90d977(0x171)](SheetsFilterController);}},__name(_a3,_0x5d8379(0x14c)),__publicField(_a3,_0x5d8379(0x1eb),core[_0x5d8379(0x13a)][_0x5d8379(0x164)]),__publicField(_a3,_0x5d8379(0x143),SHEET_FILTER_SNAPSHOT_ID),_a3),exports[_0x5d8379(0x14c)]=__decorateClass([__decorateParam(0x1,core[_0x5d8379(0x1a8)](core[_0x5d8379(0xe2)])),__decorateParam(0x2,core[_0x5d8379(0x1de)])],exports[_0x5d8379(0x14c)]),exports[_0x5d8379(0xed)]=CustomFilterOperator,exports[_0x5d8379(0xf8)]=FILTER_MUTATIONS,exports[_0x5d8379(0x175)]=FilterColumn,exports['FilterModel']=FilterModel,exports[_0x5d8379(0x147)]=ReCalcSheetsFilterMutation,exports[_0x5d8379(0x1c4)]=RemoveSheetsFilterMutation,exports[_0x5d8379(0x132)]=SHEET_FILTER_SNAPSHOT_ID,exports[_0x5d8379(0x1a4)]=SetSheetsFilterCriteriaMutation,exports[_0x5d8379(0x1f6)]=SetSheetsFilterRangeMutation,exports[_0x5d8379(0x1c9)]=equals,exports[_0x5d8379(0x115)]=getCustomFilterFn,exports[_0x5d8379(0x184)]=greaterThan,exports['greaterThanOrEqualTo']=greaterThanOrEqualTo,exports[_0x5d8379(0xff)]=lessThan,exports[_0x5d8379(0xe6)]=lessThanOrEqualTo,exports[_0x5d8379(0x137)]=notEquals;