@univerjs/sheets-sort 0.3.0-alpha.0 → 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"),sheets=require("@univerjs/sheets"),engineFormula=require("@univerjs/engine-formula");var SortType=(SortType2=>(SortType2.DESC="desc",SortType2.ASC="asc",SortType2))(SortType||{});const removeStringSymbol=__name(str=>str.replace(/-/gi,"").replace(/'/gi,""),"removeStringSymbol"),compareNull=__name((a1,a2)=>{const isA1Null=a1===null||a1==="",isA2Null=a2===null||a2==="";return isA1Null&&isA2Null?0:isA1Null?1:isA2Null?-1:null},"compareNull"),compareNumber=__name((a1,a2,type)=>{const isA1Num=typeof a1=="number",isA2Num=typeof a2=="number";return isA1Num&&isA2Num?a1<a2?type===SortType.ASC?-1:1:a1>a2?type===SortType.ASC?1:-1:0:isA1Num?type===SortType.ASC?1:-1:isA2Num?type===SortType.ASC?-1:1:null},"compareNumber"),compareString=__name((a1,a2,type)=>{const isA1Str=typeof a1=="string",isA2Str=typeof a2=="string";if(isA1Str&&(a1=removeStringSymbol(a1.toLocaleLowerCase())),isA2Str&&(a2=removeStringSymbol(a2.toLocaleLowerCase())),!isA1Str&&!isA2Str)return null;if(isA1Str&&isA2Str){const a1AsString=a1,a2AsString=a2;return a1AsString<a2AsString?type===SortType.ASC?-1:1:a1AsString>a2AsString?type===SortType.ASC?1:-1:0}return isA1Str?type===SortType.ASC?1:-1:isA2Str?type===SortType.ASC?-1:1:null},"compareString"),isNullValue=__name(cell=>!cell||Object.keys(cell).length===0||(cell==null?void 0:cell.v)==null&&(cell==null?void 0:cell.p)==null,"isNullValue");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"),_a;exports.SheetsSortService=(_a=class extends core.Disposable{constructor(_univerInstanceService,_commandService,_formulaDataModel){super();__publicField(this,"_compareFns",[]);this._univerInstanceService=_univerInstanceService,this._commandService=_commandService,this._formulaDataModel=_formulaDataModel}mergeCheck(location){var _a4;const{unitId,subUnitId,range}=location,sheet=(_a4=this._univerInstanceService.getUnit(unitId))==null?void 0:_a4.getSheetBySheetId(subUnitId);if(!sheet)return!1;const mergeDataInRange=sheet.getMergeData().filter(merge=>core.Rectangle.contains(range,merge));return mergeDataInRange.length===0?!0:isRangeDividedEqually(range,mergeDataInRange)}emptyCheck(location){var _a4;const{unitId,subUnitId,range}=location,sheet=(_a4=this._univerInstanceService.getUnit(unitId))==null?void 0:_a4.getSheetBySheetId(subUnitId);if(!sheet)return!1;for(let row=range.startRow;row<=range.endRow;row++)for(let col=range.startColumn;col<=range.endColumn;col++)if(!isNullValue(sheet.getCellRaw(row,col)))return!0;return!1}singleCheck(location){return location.range.startRow!==location.range.endRow}formulaCheck(location){var _a4,_b;const{unitId,subUnitId,range}=location,arrayFormulaRange=(_b=(_a4=this._formulaDataModel.getArrayFormulaRange())==null?void 0:_a4[unitId])==null?void 0:_b[subUnitId];for(const row in arrayFormulaRange){const rowData=arrayFormulaRange[Number(row)];for(const col in rowData){const arrayFormula=rowData[Number(col)];if(arrayFormula&&core.Rectangle.intersects(range,arrayFormula))return!1}}return!0}registerCompareFn(fn){this._compareFns.unshift(fn)}getAllCompareFns(){return this._compareFns}applySort(sortOption,unitId,subUnitId){var _a4;const{unitId:_unitId,subUnitId:_subUnitId}=sheets.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(SortRangeCommand.id,{orderRules:sortOption.orderRules,range:sortOption.range,hasTitle:(_a4=sortOption.hasTitle)!=null?_a4:!1,unitId:unitId||_unitId,subUnitId:subUnitId||_subUnitId})}},__name(_a,"SheetsSortService"),_a);exports.SheetsSortService=__decorateClass$2([core.OnLifecycle(core.LifecycleStages.Ready,exports.SheetsSortService),__decorateParam$2(0,core.IUniverInstanceService),__decorateParam$2(1,core.ICommandService),__decorateParam$2(2,core.Inject(engineFormula.FormulaDataModel))],exports.SheetsSortService);function isRangeDividedEqually(range,merges){const rangeRows=range.endRow-range.startRow+1,rangeCols=range.endColumn-range.startColumn+1;let mergeRows=null,mergeCols=null;const totalArea=rangeRows*rangeCols;let totalMergeArea=0;for(const merge of merges)if(merge.startRow>=range.startRow&&merge.endRow<=range.endRow&&merge.startColumn>=range.startColumn&&merge.endColumn<=range.endColumn){const currentMergeRows=merge.endRow-merge.startRow+1,currentMergeCols=merge.endColumn-merge.startColumn+1;if(mergeRows===null&&mergeCols===null)mergeRows=currentMergeRows,mergeCols=currentMergeCols;else if(currentMergeRows!==mergeRows||currentMergeCols!==mergeCols)return!1;totalMergeArea+=currentMergeRows*currentMergeCols}return totalMergeArea===totalArea}__name(isRangeDividedEqually,"isRangeDividedEqually");const SortRangeCommand={id:"sheet.command.sort-range",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const{range,orderRules,hasTitle,unitId,subUnitId}=params,sortService=accessor.get(exports.SheetsSortService),univerInstanceService=accessor.get(core.IUniverInstanceService),{worksheet}=sheets.getSheetCommandTarget(univerInstanceService,params)||{};if(!worksheet)return!1;const mergeDataInRange=worksheet.getMergeData().filter(mergeData=>core.Rectangle.contains(range,mergeData)),mergeMainRowIndexes=mergeDataInRange.map(mergeData=>mergeData.startRow),{startRow:rangeStartRow,endRow}=range,startRow=hasTitle?rangeStartRow+1:rangeStartRow,toReorder=[],oldOrder=[];for(let rowIndex=startRow;rowIndex<=endRow;rowIndex++)worksheet.getRowFiltered(rowIndex)||worksheet.getRowRawVisible(rowIndex)!==!1&&(mergeDataInRange.length&&!mergeMainRowIndexes.includes(rowIndex)||(toReorder.push({index:rowIndex,value:getRowCellData(worksheet,rowIndex,orderRules)}),oldOrder.push(rowIndex)));const compareFns=sortService.getAllCompareFns();toReorder.sort(reorderFnGenerator(orderRules,combineCompareFnsAsOne(compareFns)));const order={};toReorder.forEach(({index,value},oldIndex)=>{order[oldOrder[oldIndex]]=index});const reorderRangeCommand={id:sheets.ReorderRangeCommand.id,params:{unitId,subUnitId,range,order}},commandService=accessor.get(core.ICommandService);return core.sequenceExecute([reorderRangeCommand],commandService).result},"handler")};function getRowCellData(worksheet,rowIndex,orderRules){const result=[];return orderRules.forEach(({colIndex})=>{result.push(worksheet.getCellRaw(rowIndex,colIndex))}),result}__name(getRowCellData,"getRowCellData");function combineCompareFnsAsOne(compareFns){return(type,a,b)=>{for(let i=0;i<compareFns.length;i++){const res=compareFns[i](type,a,b);if(res!=null)return res}return 0}}__name(combineCompareFnsAsOne,"combineCompareFnsAsOne");function reorderFnGenerator(orderRules,valueCompare){return function(a,b){let ret=null;for(let index=0;index<orderRules.length;index++){const aCellData=a.value[index],bCellData=b.value[index];if(ret=valueCompare(orderRules[index].type,aCellData,bCellData),ret!==0&&ret!==null&&ret!==void 0)return ret}return 0}}__name(reorderFnGenerator,"reorderFnGenerator");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 SheetsSortController=(_a2=class extends core.Disposable{constructor(_commandService,_sortService){super(),this._commandService=_commandService,this._sortService=_sortService,this._initCommands(),this._registerCompareFns()}_initCommands(){[SortRangeCommand].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_registerCompareFns(){const commonFn=__name((type,a,b)=>{const valueA=this._getCommonValue(a),valueB=this._getCommonValue(b),compareTypeFns=[compareNull,compareString,compareNumber];for(let i=0;i<compareTypeFns.length;i++){const res=compareTypeFns[i](valueA,valueB,type);if(res!==null)return res}return null},"commonFn");this._sortService.registerCompareFn(commonFn)}_getCommonValue(a){var _a4,_b;if(isNullValue(a))return null;const richTextValue=(_b=(_a4=a==null?void 0:a.p)==null?void 0:_a4.body)==null?void 0:_b.dataStream;return richTextValue||((a==null?void 0:a.t)===core.CellValueType.NUMBER?Number.parseFloat(`${a.v}`):(a==null?void 0:a.t)===core.CellValueType.STRING?typeof a.v=="number"?a.v:`${a.v}`:(a==null?void 0:a.t)===core.CellValueType.BOOLEAN?`${a.v}`:(a==null?void 0:a.t)===core.CellValueType.FORCE_STRING?Number.parseFloat(`${a.v}`):`${a==null?void 0:a.v}`)}},__name(_a2,"SheetsSortController"),_a2);SheetsSortController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SheetsSortController),__decorateParam$1(0,core.ICommandService),__decorateParam$1(1,core.Inject(exports.SheetsSortService))],SheetsSortController);const PLUGIN_CONFIG_KEY="sheets-sort.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");const NAME="SHEET_SORT_PLUGIN";var _a3;exports.UniverSheetsSortPlugin=(_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(){[[SheetsSortController],[exports.SheetsSortService]].forEach(d=>this._injector.add(d))}},__name(_a3,"UniverSheetsSortPlugin"),__publicField(_a3,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField(_a3,"pluginName",NAME),_a3);exports.UniverSheetsSortPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService)],exports.UniverSheetsSortPlugin);exports.SortRangeCommand=SortRangeCommand;exports.SortType=SortType;
1
+ 'use strict';const _0x2e71ea=_0x41fd;(function(_0x455a64,_0x56203e){const _0x2b8dd9=_0x41fd,_0x160e64=_0x455a64();while(!![]){try{const _0x16af8e=parseInt(_0x2b8dd9(0x1ad))/0x1+-parseInt(_0x2b8dd9(0x184))/0x2*(-parseInt(_0x2b8dd9(0x190))/0x3)+-parseInt(_0x2b8dd9(0x1b3))/0x4*(parseInt(_0x2b8dd9(0x1a9))/0x5)+-parseInt(_0x2b8dd9(0x171))/0x6*(parseInt(_0x2b8dd9(0x16d))/0x7)+-parseInt(_0x2b8dd9(0x1c0))/0x8+-parseInt(_0x2b8dd9(0x1bf))/0x9+parseInt(_0x2b8dd9(0x1ba))/0xa*(parseInt(_0x2b8dd9(0x1a3))/0xb);if(_0x16af8e===_0x56203e)break;else _0x160e64['push'](_0x160e64['shift']());}catch(_0x22b5de){_0x160e64['push'](_0x160e64['shift']());}}}(_0x5f4a,0x36a37));var __defProp=Object['defineProperty'],__defNormalProp=(_0xd2b57f,_0x157880,_0x43db78)=>_0x157880 in _0xd2b57f?__defProp(_0xd2b57f,_0x157880,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x43db78}):_0xd2b57f[_0x157880]=_0x43db78,__name=(_0x4b7840,_0xd1d524)=>__defProp(_0x4b7840,_0x2e71ea(0x155),{'value':_0xd1d524,'configurable':!0x0}),__publicField=(_0x47a2e6,_0x57f994,_0x49f612)=>__defNormalProp(_0x47a2e6,typeof _0x57f994!='symbol'?_0x57f994+'':_0x57f994,_0x49f612);Object['defineProperty'](exports,Symbol[_0x2e71ea(0x159)],{'value':'Module'});const core=require('@univerjs/core'),sheets=require(_0x2e71ea(0x175)),engineFormula=require(_0x2e71ea(0x15a)),PLUGIN_CONFIG_KEY=_0x2e71ea(0x1a4),defaultPluginConfig={};var SortType=(_0x2526c2=>(_0x2526c2['DESC']=_0x2e71ea(0x1a2),_0x2526c2['ASC']=_0x2e71ea(0x17d),_0x2526c2))(SortType||{});const removeStringSymbol=__name(_0x8cbb4a=>_0x8cbb4a['replace'](/-/gi,'')[_0x2e71ea(0x1b4)](/'/gi,''),_0x2e71ea(0x188)),compareNull=__name((_0x3aa5f2,_0x555b39)=>{const _0x1c2d52=_0x3aa5f2===null||_0x3aa5f2==='',_0x3e680a=_0x555b39===null||_0x555b39==='';return _0x1c2d52&&_0x3e680a?0x0:_0x1c2d52?0x1:_0x3e680a?-0x1:null;},_0x2e71ea(0x17e)),compareNumber=__name((_0x171613,_0x15d152,_0x43f605)=>{const _0x48bb17=_0x2e71ea,_0xa095db=typeof _0x171613==_0x48bb17(0x1b5),_0x41f993=typeof _0x15d152==_0x48bb17(0x1b5);return _0xa095db&&_0x41f993?_0x171613<_0x15d152?_0x43f605===SortType[_0x48bb17(0x18b)]?-0x1:0x1:_0x171613>_0x15d152?_0x43f605===SortType[_0x48bb17(0x18b)]?0x1:-0x1:0x0:_0xa095db?_0x43f605===SortType[_0x48bb17(0x18b)]?0x1:-0x1:_0x41f993?_0x43f605===SortType[_0x48bb17(0x18b)]?-0x1:0x1:null;},_0x2e71ea(0x16c)),compareString=__name((_0x3838da,_0x6a7527,_0xc09173)=>{const _0x55cedd=_0x2e71ea,_0x5e8f59=typeof _0x3838da==_0x55cedd(0x15e),_0x550484=typeof _0x6a7527=='string';if(_0x5e8f59&&(_0x3838da=removeStringSymbol(_0x3838da[_0x55cedd(0x17c)]())),_0x550484&&(_0x6a7527=removeStringSymbol(_0x6a7527[_0x55cedd(0x17c)]())),!_0x5e8f59&&!_0x550484)return null;if(_0x5e8f59&&_0x550484){const _0x2f6fbf=_0x3838da,_0x193c8c=_0x6a7527;return _0x2f6fbf<_0x193c8c?_0xc09173===SortType[_0x55cedd(0x18b)]?-0x1:0x1:_0x2f6fbf>_0x193c8c?_0xc09173===SortType[_0x55cedd(0x18b)]?0x1:-0x1:0x0;}return _0x5e8f59?_0xc09173===SortType['ASC']?0x1:-0x1:_0x550484?_0xc09173===SortType[_0x55cedd(0x18b)]?-0x1:0x1:null;},_0x2e71ea(0x18a)),isNullValue=__name(_0x2ad335=>!_0x2ad335||Object[_0x2e71ea(0x15d)](_0x2ad335)[_0x2e71ea(0x198)]===0x0||(_0x2ad335==null?void 0x0:_0x2ad335['v'])==null&&(_0x2ad335==null?void 0x0:_0x2ad335['p'])==null,_0x2e71ea(0x15b));var __defProp$2=Object[_0x2e71ea(0x197)],__getOwnPropDesc$2=Object['getOwnPropertyDescriptor'],__decorateClass$2=__name((_0x56e03c,_0x22cdd7,_0x44a071,_0x482cfd)=>{for(var _0x533abb=_0x482cfd>0x1?void 0x0:_0x482cfd?__getOwnPropDesc$2(_0x22cdd7,_0x44a071):_0x22cdd7,_0x10f41a=_0x56e03c['length']-0x1,_0x111665;_0x10f41a>=0x0;_0x10f41a--)(_0x111665=_0x56e03c[_0x10f41a])&&(_0x533abb=(_0x482cfd?_0x111665(_0x22cdd7,_0x44a071,_0x533abb):_0x111665(_0x533abb))||_0x533abb);return _0x482cfd&&_0x533abb&&__defProp$2(_0x22cdd7,_0x44a071,_0x533abb),_0x533abb;},'__decorateClass$2'),__decorateParam$2=__name((_0x15680d,_0x4e235e)=>(_0x804297,_0x4b063a)=>_0x4e235e(_0x804297,_0x4b063a,_0x15680d),'__decorateParam$2'),_a;exports['SheetsSortService']=(_a=class extends core[_0x2e71ea(0x158)]{constructor(_0x5c79d0,_0x3bcda7,_0x644d85){const _0x562101=_0x2e71ea;super(),__publicField(this,_0x562101(0x1b2),[]),(this[_0x562101(0x191)]=_0x5c79d0,this['_commandService']=_0x3bcda7,this[_0x562101(0x174)]=_0x644d85);}[_0x2e71ea(0x1b8)](_0x2d926e){const _0x3325a9=_0x2e71ea;var _0x2cd37a;const {unitId:_0x1c903a,subUnitId:_0x2ce422,range:_0x4ce967}=_0x2d926e,_0x29fa57=(_0x2cd37a=this[_0x3325a9(0x191)][_0x3325a9(0x195)](_0x1c903a))==null?void 0x0:_0x2cd37a[_0x3325a9(0x153)](_0x2ce422);if(!_0x29fa57)return!0x1;const _0x324928=_0x29fa57[_0x3325a9(0x187)]()['filter'](_0x3ee13e=>core[_0x3325a9(0x1a7)]['contains'](_0x4ce967,_0x3ee13e));return _0x324928['length']===0x0?!0x0:isRangeDividedEqually(_0x4ce967,_0x324928);}[_0x2e71ea(0x183)](_0x551734){const _0x5d11f4=_0x2e71ea;var _0x58e446;const {unitId:_0x3644a9,subUnitId:_0x1ec342,range:_0x6c1df5}=_0x551734,_0x5f4ee4=(_0x58e446=this[_0x5d11f4(0x191)][_0x5d11f4(0x195)](_0x3644a9))==null?void 0x0:_0x58e446['getSheetBySheetId'](_0x1ec342);if(!_0x5f4ee4)return!0x1;for(let _0x59fb32=_0x6c1df5['startRow'];_0x59fb32<=_0x6c1df5[_0x5d11f4(0x172)];_0x59fb32++)for(let _0xfe0ce4=_0x6c1df5[_0x5d11f4(0x189)];_0xfe0ce4<=_0x6c1df5[_0x5d11f4(0x18d)];_0xfe0ce4++)if(!isNullValue(_0x5f4ee4[_0x5d11f4(0x165)](_0x59fb32,_0xfe0ce4)))return!0x0;return!0x1;}[_0x2e71ea(0x169)](_0x3474a5){const _0x171807=_0x2e71ea;return _0x3474a5['range'][_0x171807(0x186)]!==_0x3474a5[_0x171807(0x15c)]['endRow'];}[_0x2e71ea(0x1bc)](_0x252b0e){const _0x5e6845=_0x2e71ea;var _0x1bc957,_0x144455;const {unitId:_0x28f900,subUnitId:_0x214eb4,range:_0x368f36}=_0x252b0e,_0x36bbd2=(_0x144455=(_0x1bc957=this[_0x5e6845(0x174)][_0x5e6845(0x157)]())==null?void 0x0:_0x1bc957[_0x28f900])==null?void 0x0:_0x144455[_0x214eb4];for(const _0x40f5bd in _0x36bbd2){const _0x410389=_0x36bbd2[Number(_0x40f5bd)];for(const _0x591cf2 in _0x410389){const _0x1fbf13=_0x410389[Number(_0x591cf2)];if(_0x1fbf13&&core[_0x5e6845(0x1a7)][_0x5e6845(0x1bd)](_0x368f36,_0x1fbf13))return!0x1;}}return!0x0;}[_0x2e71ea(0x16b)](_0x1731e1){const _0x806160=_0x2e71ea;this[_0x806160(0x1b2)][_0x806160(0x1b1)](_0x1731e1);}['getAllCompareFns'](){const _0x529b68=_0x2e71ea;return this[_0x529b68(0x1b2)];}[_0x2e71ea(0x196)](_0x503f4a,_0x4848d5,_0x53ffe2){const _0x3b9780=_0x2e71ea;var _0x3d4db8;const {unitId:_0x46ef03,subUnitId:_0x3ccea7}=sheets[_0x3b9780(0x1b0)](this[_0x3b9780(0x191)])||{};this[_0x3b9780(0x156)][_0x3b9780(0x17b)](SortRangeCommand['id'],{'orderRules':_0x503f4a[_0x3b9780(0x17f)],'range':_0x503f4a[_0x3b9780(0x15c)],'hasTitle':(_0x3d4db8=_0x503f4a[_0x3b9780(0x164)])!=null?_0x3d4db8:!0x1,'unitId':_0x4848d5||_0x46ef03,'subUnitId':_0x53ffe2||_0x3ccea7});}},__name(_a,_0x2e71ea(0x1b7)),_a),exports[_0x2e71ea(0x1b7)]=__decorateClass$2([__decorateParam$2(0x0,core['IUniverInstanceService']),__decorateParam$2(0x1,core['ICommandService']),__decorateParam$2(0x2,core[_0x2e71ea(0x19d)](engineFormula[_0x2e71ea(0x194)]))],exports['SheetsSortService']);function isRangeDividedEqually(_0x8df8a5,_0x3ca179){const _0x4096c7=_0x2e71ea,_0x89a225=_0x8df8a5[_0x4096c7(0x172)]-_0x8df8a5[_0x4096c7(0x186)]+0x1,_0x5eccdc=_0x8df8a5[_0x4096c7(0x18d)]-_0x8df8a5[_0x4096c7(0x189)]+0x1;let _0x3cd07d=null,_0x47060f=null;const _0x1ba2d5=_0x89a225*_0x5eccdc;let _0x10d078=0x0;for(const _0x6eac14 of _0x3ca179)if(_0x6eac14[_0x4096c7(0x186)]>=_0x8df8a5['startRow']&&_0x6eac14[_0x4096c7(0x172)]<=_0x8df8a5['endRow']&&_0x6eac14[_0x4096c7(0x189)]>=_0x8df8a5['startColumn']&&_0x6eac14[_0x4096c7(0x18d)]<=_0x8df8a5[_0x4096c7(0x18d)]){const _0x51ddf=_0x6eac14[_0x4096c7(0x172)]-_0x6eac14[_0x4096c7(0x186)]+0x1,_0xdd79bf=_0x6eac14['endColumn']-_0x6eac14['startColumn']+0x1;if(_0x3cd07d===null&&_0x47060f===null)_0x3cd07d=_0x51ddf,_0x47060f=_0xdd79bf;else{if(_0x51ddf!==_0x3cd07d||_0xdd79bf!==_0x47060f)return!0x1;}_0x10d078+=_0x51ddf*_0xdd79bf;}return _0x10d078===_0x1ba2d5;}__name(isRangeDividedEqually,_0x2e71ea(0x1aa));const SortRangeCommand={'id':_0x2e71ea(0x154),'type':core['CommandType'][_0x2e71ea(0x177)],'handler':__name((_0xf1741f,_0x50e46a)=>{const _0x4dc3dd=_0x2e71ea,{range:_0x161785,orderRules:_0x2017ab,hasTitle:_0x10a71c,unitId:_0xea3b8c,subUnitId:_0x3a964b}=_0x50e46a,_0x473157=_0xf1741f[_0x4dc3dd(0x185)](exports[_0x4dc3dd(0x1b7)]),_0xd3e3dc=_0xf1741f[_0x4dc3dd(0x185)](core['IUniverInstanceService']),{worksheet:_0x2766ae}=sheets[_0x4dc3dd(0x1b0)](_0xd3e3dc,_0x50e46a)||{};if(!_0x2766ae)return!0x1;const _0x199b74=_0x2766ae[_0x4dc3dd(0x187)]()[_0x4dc3dd(0x176)](_0x535bac=>core[_0x4dc3dd(0x1a7)][_0x4dc3dd(0x1a5)](_0x161785,_0x535bac)),_0x5f2fb1=_0x199b74['map'](_0x15110f=>_0x15110f[_0x4dc3dd(0x186)]),{startRow:_0x14dde3,endRow:_0xfbab29}=_0x161785,_0x414e96=_0x10a71c?_0x14dde3+0x1:_0x14dde3,_0x52d62c=[],_0x2114ad=[];for(let _0xb4699a=_0x414e96;_0xb4699a<=_0xfbab29;_0xb4699a++)_0x2766ae[_0x4dc3dd(0x1b9)](_0xb4699a)||_0x2766ae[_0x4dc3dd(0x1a6)](_0xb4699a)!==!0x1&&(_0x199b74['length']&&!_0x5f2fb1[_0x4dc3dd(0x1a0)](_0xb4699a)||(_0x52d62c[_0x4dc3dd(0x19e)]({'index':_0xb4699a,'value':getRowCellData(_0x2766ae,_0xb4699a,_0x2017ab)}),_0x2114ad[_0x4dc3dd(0x19e)](_0xb4699a)));const _0x384a16=_0x473157[_0x4dc3dd(0x1be)]();_0x52d62c[_0x4dc3dd(0x18e)](reorderFnGenerator(_0x2017ab,combineCompareFnsAsOne(_0x384a16)));const _0x1b2c73={};_0x52d62c[_0x4dc3dd(0x19f)](({index:_0x22d8e6,value:_0x291225},_0x2478e1)=>{_0x1b2c73[_0x2114ad[_0x2478e1]]=_0x22d8e6;});const _0x12bf47={'id':sheets[_0x4dc3dd(0x16e)]['id'],'params':{'unitId':_0xea3b8c,'subUnitId':_0x3a964b,'range':_0x161785,'order':_0x1b2c73}},_0x1f6428=_0xf1741f[_0x4dc3dd(0x185)](core[_0x4dc3dd(0x161)]);return core[_0x4dc3dd(0x1ae)]([_0x12bf47],_0x1f6428)[_0x4dc3dd(0x19b)];},'handler')};function _0x5f4a(){const _0x507064=['desc','4206719aWWfQU','sheets-sort.config','contains','getRowRawVisible','Rectangle','onReady','64385qTdbAR','isRangeDividedEqually','Plugin','NUMBER','214906VyLgcE','sequenceExecute','commonFn','getSheetCommandTarget','unshift','_compareFns','64GBUjCX','replace','number','_getCommonValue','SheetsSortService','mergeCheck','getRowFiltered','10oOoQVI','getOwnPropertyDescriptor','formulaCheck','intersects','getAllCompareFns','1064538LihAVH','1553776TJwtic','getSheetBySheetId','sheet.command.sort-range','name','_commandService','getArrayFormulaRange','Disposable','toStringTag','@univerjs/engine-formula','isNullValue','range','keys','string','body','_registerCompareFns','ICommandService','disposeWithMe','combineCompareFnsAsOne','hasTitle','getCellRaw','CellValueType','_injector','__decorateClass$1','singleCheck','UNIVER_SHEET','registerCompareFn','compareNumber','63tloJbv','ReorderRangeCommand','_config','parseFloat','42678kEUcQN','endRow','registerCommand','_formulaDataModel','@univerjs/sheets','filter','COMMAND','UniverInstanceType','BOOLEAN','__decorateParam','executeCommand','toLocaleLowerCase','asc','compareNull','orderRules','_initCommands','STRING','value','emptyCheck','394lWrqXQ','get','startRow','getMergeData','removeStringSymbol','startColumn','compareString','ASC','SortRangeCommand','endColumn','sort','_configService','3183bJHBHV','_univerInstanceService','UniverSheetsSortPlugin','SortType','FormulaDataModel','getUnit','applySort','defineProperty','length','FORCE_STRING','type','result','Injector','Inject','push','forEach','includes','SheetsSortController'];_0x5f4a=function(){return _0x507064;};return _0x5f4a();}function getRowCellData(_0x5e74f6,_0x18e5a3,_0x3001a5){const _0xafcd60=_0x2e71ea,_0x25ec93=[];return _0x3001a5[_0xafcd60(0x19f)](({colIndex:_0x47f7a1})=>{const _0x296974=_0xafcd60;_0x25ec93['push'](_0x5e74f6[_0x296974(0x165)](_0x18e5a3,_0x47f7a1));}),_0x25ec93;}__name(getRowCellData,'getRowCellData');function combineCompareFnsAsOne(_0x18512f){return(_0x4d1994,_0x49b00c,_0x594a8e)=>{const _0x290633=_0x41fd;for(let _0x128440=0x0;_0x128440<_0x18512f[_0x290633(0x198)];_0x128440++){const _0x14dc0d=_0x18512f[_0x128440](_0x4d1994,_0x49b00c,_0x594a8e);if(_0x14dc0d!=null)return _0x14dc0d;}return 0x0;};}__name(combineCompareFnsAsOne,_0x2e71ea(0x163));function reorderFnGenerator(_0x2e3274,_0x571110){return function(_0x26c106,_0x4d4bb0){const _0x28a78c=_0x41fd;let _0x5029e2=null;for(let _0x3e37aa=0x0;_0x3e37aa<_0x2e3274[_0x28a78c(0x198)];_0x3e37aa++){const _0x1b9981=_0x26c106[_0x28a78c(0x182)][_0x3e37aa],_0x5ce86=_0x4d4bb0['value'][_0x3e37aa];if(_0x5029e2=_0x571110(_0x2e3274[_0x3e37aa][_0x28a78c(0x19a)],_0x1b9981,_0x5ce86),_0x5029e2!==0x0&&_0x5029e2!==null&&_0x5029e2!==void 0x0)return _0x5029e2;}return 0x0;};}__name(reorderFnGenerator,'reorderFnGenerator');function _0x41fd(_0x52fef6,_0x50b742){const _0x5f4a55=_0x5f4a();return _0x41fd=function(_0x41fdab,_0x1b2b24){_0x41fdab=_0x41fdab-0x153;let _0x55f322=_0x5f4a55[_0x41fdab];return _0x55f322;},_0x41fd(_0x52fef6,_0x50b742);}var __defProp$1=Object[_0x2e71ea(0x197)],__getOwnPropDesc$1=Object[_0x2e71ea(0x1bb)],__decorateClass$1=__name((_0x637561,_0x2a43b7,_0x44be3f,_0x42778b)=>{const _0x22544d=_0x2e71ea;for(var _0x3ad545=_0x42778b>0x1?void 0x0:_0x42778b?__getOwnPropDesc$1(_0x2a43b7,_0x44be3f):_0x2a43b7,_0x364f48=_0x637561[_0x22544d(0x198)]-0x1,_0x37ba8a;_0x364f48>=0x0;_0x364f48--)(_0x37ba8a=_0x637561[_0x364f48])&&(_0x3ad545=(_0x42778b?_0x37ba8a(_0x2a43b7,_0x44be3f,_0x3ad545):_0x37ba8a(_0x3ad545))||_0x3ad545);return _0x42778b&&_0x3ad545&&__defProp$1(_0x2a43b7,_0x44be3f,_0x3ad545),_0x3ad545;},_0x2e71ea(0x168)),__decorateParam$1=__name((_0x248374,_0x55b294)=>(_0x10ff11,_0x594c34)=>_0x55b294(_0x10ff11,_0x594c34,_0x248374),'__decorateParam$1'),_a2;let SheetsSortController=(_a2=class extends core[_0x2e71ea(0x158)]{constructor(_0x2cf49b,_0x370e56){const _0x4c3b86=_0x2e71ea;super(),this[_0x4c3b86(0x156)]=_0x2cf49b,this['_sortService']=_0x370e56,this['_initCommands'](),this[_0x4c3b86(0x160)]();}[_0x2e71ea(0x180)](){const _0x516dd2=_0x2e71ea;[SortRangeCommand][_0x516dd2(0x19f)](_0x566ae1=>this[_0x516dd2(0x162)](this[_0x516dd2(0x156)][_0x516dd2(0x173)](_0x566ae1)));}[_0x2e71ea(0x160)](){const _0x4a7e6f=_0x2e71ea,_0x77dd2e=__name((_0xfb42ee,_0x47b1a0,_0x434955)=>{const _0x4f6241=this['_getCommonValue'](_0x47b1a0),_0x3bedc2=this['_getCommonValue'](_0x434955),_0x17112f=[compareNull,compareString,compareNumber];for(let _0x2b831e=0x0;_0x2b831e<_0x17112f['length'];_0x2b831e++){const _0xd0b161=_0x17112f[_0x2b831e](_0x4f6241,_0x3bedc2,_0xfb42ee);if(_0xd0b161!==null)return _0xd0b161;}return null;},_0x4a7e6f(0x1af));this['_sortService'][_0x4a7e6f(0x16b)](_0x77dd2e);}[_0x2e71ea(0x1b6)](_0x41df94){const _0x57ee04=_0x2e71ea;var _0x49832d,_0x1033fe;if(isNullValue(_0x41df94))return null;const _0x4db031=(_0x1033fe=(_0x49832d=_0x41df94==null?void 0x0:_0x41df94['p'])==null?void 0x0:_0x49832d[_0x57ee04(0x15f)])==null?void 0x0:_0x1033fe['dataStream'];return _0x4db031||((_0x41df94==null?void 0x0:_0x41df94['t'])===core[_0x57ee04(0x166)][_0x57ee04(0x1ac)]?Number[_0x57ee04(0x170)](''+_0x41df94['v']):(_0x41df94==null?void 0x0:_0x41df94['t'])===core['CellValueType'][_0x57ee04(0x181)]?typeof _0x41df94['v']=='number'?_0x41df94['v']:''+_0x41df94['v']:(_0x41df94==null?void 0x0:_0x41df94['t'])===core[_0x57ee04(0x166)][_0x57ee04(0x179)]?''+_0x41df94['v']:(_0x41df94==null?void 0x0:_0x41df94['t'])===core[_0x57ee04(0x166)][_0x57ee04(0x199)]?Number[_0x57ee04(0x170)](''+_0x41df94['v']):''+(_0x41df94==null?void 0x0:_0x41df94['v']));}},__name(_a2,_0x2e71ea(0x1a1)),_a2);SheetsSortController=__decorateClass$1([__decorateParam$1(0x0,core[_0x2e71ea(0x161)]),__decorateParam$1(0x1,core[_0x2e71ea(0x19d)](exports[_0x2e71ea(0x1b7)]))],SheetsSortController);var __defProp2=Object[_0x2e71ea(0x197)],__getOwnPropDesc=Object['getOwnPropertyDescriptor'],__decorateClass=__name((_0x44d353,_0x118481,_0xcc9269,_0x207def)=>{const _0x35bfd5=_0x2e71ea;for(var _0x42e9cd=_0x207def>0x1?void 0x0:_0x207def?__getOwnPropDesc(_0x118481,_0xcc9269):_0x118481,_0x44cb2d=_0x44d353[_0x35bfd5(0x198)]-0x1,_0x2d3e6e;_0x44cb2d>=0x0;_0x44cb2d--)(_0x2d3e6e=_0x44d353[_0x44cb2d])&&(_0x42e9cd=(_0x207def?_0x2d3e6e(_0x118481,_0xcc9269,_0x42e9cd):_0x2d3e6e(_0x42e9cd))||_0x42e9cd);return _0x207def&&_0x42e9cd&&__defProp2(_0x118481,_0xcc9269,_0x42e9cd),_0x42e9cd;},'__decorateClass'),__decorateParam=__name((_0x48a353,_0x33af85)=>(_0x31b50d,_0x4af651)=>_0x33af85(_0x31b50d,_0x4af651,_0x48a353),_0x2e71ea(0x17a));const NAME='SHEET_SORT_PLUGIN';var _a3;exports[_0x2e71ea(0x192)]=(_a3=class extends core[_0x2e71ea(0x1ab)]{constructor(_0x3746ca=defaultPluginConfig,_0x30e8ed,_0x24663f){const _0x55dbf8=_0x2e71ea;super(),this['_config']=_0x3746ca,this[_0x55dbf8(0x167)]=_0x30e8ed,this[_0x55dbf8(0x18f)]=_0x24663f;const {..._0x3e4def}=this[_0x55dbf8(0x16f)];this[_0x55dbf8(0x18f)]['setConfig'](PLUGIN_CONFIG_KEY,_0x3e4def);}['onStarting'](){const _0x3e5b33=_0x2e71ea;[[SheetsSortController],[exports[_0x3e5b33(0x1b7)]]][_0x3e5b33(0x19f)](_0x62dae1=>this[_0x3e5b33(0x167)]['add'](_0x62dae1));}[_0x2e71ea(0x1a8)](){const _0x544d99=_0x2e71ea;this[_0x544d99(0x167)]['get'](SheetsSortController);}},__name(_a3,'UniverSheetsSortPlugin'),__publicField(_a3,_0x2e71ea(0x19a),core[_0x2e71ea(0x178)][_0x2e71ea(0x16a)]),__publicField(_a3,'pluginName',NAME),_a3),exports[_0x2e71ea(0x192)]=__decorateClass([__decorateParam(0x1,core['Inject'](core[_0x2e71ea(0x19c)])),__decorateParam(0x2,core['IConfigService'])],exports[_0x2e71ea(0x192)]),exports[_0x2e71ea(0x18c)]=SortRangeCommand,exports[_0x2e71ea(0x193)]=SortType;
package/lib/es/index.js CHANGED
@@ -1,246 +1 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
- var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
- import { OnLifecycle, LifecycleStages, Inject, Disposable, Rectangle, IUniverInstanceService, ICommandService, CommandType, sequenceExecute, CellValueType, Plugin, UniverInstanceType, Injector, IConfigService } from "@univerjs/core";
6
- import { getSheetCommandTarget, ReorderRangeCommand } from "@univerjs/sheets";
7
- import { FormulaDataModel } from "@univerjs/engine-formula";
8
- var SortType = /* @__PURE__ */ ((SortType2) => (SortType2.DESC = "desc", SortType2.ASC = "asc", SortType2))(SortType || {});
9
- const removeStringSymbol = /* @__PURE__ */ __name((str) => str.replace(/-/gi, "").replace(/'/gi, ""), "removeStringSymbol"), compareNull = /* @__PURE__ */ __name((a1, a2) => {
10
- const isA1Null = a1 === null || a1 === "", isA2Null = a2 === null || a2 === "";
11
- return isA1Null && isA2Null ? 0 : isA1Null ? 1 : isA2Null ? -1 : null;
12
- }, "compareNull"), compareNumber = /* @__PURE__ */ __name((a1, a2, type) => {
13
- const isA1Num = typeof a1 == "number", isA2Num = typeof a2 == "number";
14
- return isA1Num && isA2Num ? a1 < a2 ? type === SortType.ASC ? -1 : 1 : a1 > a2 ? type === SortType.ASC ? 1 : -1 : 0 : isA1Num ? type === SortType.ASC ? 1 : -1 : isA2Num ? type === SortType.ASC ? -1 : 1 : null;
15
- }, "compareNumber"), compareString = /* @__PURE__ */ __name((a1, a2, type) => {
16
- const isA1Str = typeof a1 == "string", isA2Str = typeof a2 == "string";
17
- if (isA1Str && (a1 = removeStringSymbol(a1.toLocaleLowerCase())), isA2Str && (a2 = removeStringSymbol(a2.toLocaleLowerCase())), !isA1Str && !isA2Str)
18
- return null;
19
- if (isA1Str && isA2Str) {
20
- const a1AsString = a1, a2AsString = a2;
21
- return a1AsString < a2AsString ? type === SortType.ASC ? -1 : 1 : a1AsString > a2AsString ? type === SortType.ASC ? 1 : -1 : 0;
22
- }
23
- return isA1Str ? type === SortType.ASC ? 1 : -1 : isA2Str ? type === SortType.ASC ? -1 : 1 : null;
24
- }, "compareString"), isNullValue = /* @__PURE__ */ __name((cell) => !cell || Object.keys(cell).length === 0 || (cell == null ? void 0 : cell.v) == null && (cell == null ? void 0 : cell.p) == null, "isNullValue");
25
- var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
26
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
27
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
28
- return kind && result && __defProp$2(target, key, result), result;
29
- }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a;
30
- let SheetsSortService = (_a = class extends Disposable {
31
- constructor(_univerInstanceService, _commandService, _formulaDataModel) {
32
- super();
33
- __publicField(this, "_compareFns", []);
34
- this._univerInstanceService = _univerInstanceService, this._commandService = _commandService, this._formulaDataModel = _formulaDataModel;
35
- }
36
- mergeCheck(location) {
37
- var _a4;
38
- const { unitId, subUnitId, range } = location, sheet = (_a4 = this._univerInstanceService.getUnit(unitId)) == null ? void 0 : _a4.getSheetBySheetId(subUnitId);
39
- if (!sheet)
40
- return !1;
41
- const mergeDataInRange = sheet.getMergeData().filter((merge) => Rectangle.contains(range, merge));
42
- return mergeDataInRange.length === 0 ? !0 : isRangeDividedEqually(range, mergeDataInRange);
43
- }
44
- emptyCheck(location) {
45
- var _a4;
46
- const { unitId, subUnitId, range } = location, sheet = (_a4 = this._univerInstanceService.getUnit(unitId)) == null ? void 0 : _a4.getSheetBySheetId(subUnitId);
47
- if (!sheet)
48
- return !1;
49
- for (let row = range.startRow; row <= range.endRow; row++)
50
- for (let col = range.startColumn; col <= range.endColumn; col++)
51
- if (!isNullValue(sheet.getCellRaw(row, col)))
52
- return !0;
53
- return !1;
54
- }
55
- singleCheck(location) {
56
- return location.range.startRow !== location.range.endRow;
57
- }
58
- formulaCheck(location) {
59
- var _a4, _b;
60
- const { unitId, subUnitId, range } = location, arrayFormulaRange = (_b = (_a4 = this._formulaDataModel.getArrayFormulaRange()) == null ? void 0 : _a4[unitId]) == null ? void 0 : _b[subUnitId];
61
- for (const row in arrayFormulaRange) {
62
- const rowData = arrayFormulaRange[Number(row)];
63
- for (const col in rowData) {
64
- const arrayFormula = rowData[Number(col)];
65
- if (arrayFormula && Rectangle.intersects(range, arrayFormula))
66
- return !1;
67
- }
68
- }
69
- return !0;
70
- }
71
- registerCompareFn(fn) {
72
- this._compareFns.unshift(fn);
73
- }
74
- getAllCompareFns() {
75
- return this._compareFns;
76
- }
77
- applySort(sortOption, unitId, subUnitId) {
78
- var _a4;
79
- const { unitId: _unitId, subUnitId: _subUnitId } = getSheetCommandTarget(this._univerInstanceService) || {};
80
- this._commandService.executeCommand(SortRangeCommand.id, {
81
- orderRules: sortOption.orderRules,
82
- range: sortOption.range,
83
- hasTitle: (_a4 = sortOption.hasTitle) != null ? _a4 : !1,
84
- unitId: unitId || _unitId,
85
- subUnitId: subUnitId || _subUnitId
86
- });
87
- }
88
- }, __name(_a, "SheetsSortService"), _a);
89
- SheetsSortService = __decorateClass$2([
90
- OnLifecycle(LifecycleStages.Ready, SheetsSortService),
91
- __decorateParam$2(0, IUniverInstanceService),
92
- __decorateParam$2(1, ICommandService),
93
- __decorateParam$2(2, Inject(FormulaDataModel))
94
- ], SheetsSortService);
95
- function isRangeDividedEqually(range, merges) {
96
- const rangeRows = range.endRow - range.startRow + 1, rangeCols = range.endColumn - range.startColumn + 1;
97
- let mergeRows = null, mergeCols = null;
98
- const totalArea = rangeRows * rangeCols;
99
- let totalMergeArea = 0;
100
- for (const merge of merges)
101
- if (merge.startRow >= range.startRow && merge.endRow <= range.endRow && merge.startColumn >= range.startColumn && merge.endColumn <= range.endColumn) {
102
- const currentMergeRows = merge.endRow - merge.startRow + 1, currentMergeCols = merge.endColumn - merge.startColumn + 1;
103
- if (mergeRows === null && mergeCols === null)
104
- mergeRows = currentMergeRows, mergeCols = currentMergeCols;
105
- else if (currentMergeRows !== mergeRows || currentMergeCols !== mergeCols)
106
- return !1;
107
- totalMergeArea += currentMergeRows * currentMergeCols;
108
- }
109
- return totalMergeArea === totalArea;
110
- }
111
- __name(isRangeDividedEqually, "isRangeDividedEqually");
112
- const SortRangeCommand = {
113
- id: "sheet.command.sort-range",
114
- type: CommandType.COMMAND,
115
- handler: /* @__PURE__ */ __name((accessor, params) => {
116
- const { range, orderRules, hasTitle, unitId, subUnitId } = params, sortService = accessor.get(SheetsSortService), univerInstanceService = accessor.get(IUniverInstanceService), { worksheet } = getSheetCommandTarget(univerInstanceService, params) || {};
117
- if (!worksheet)
118
- return !1;
119
- const mergeDataInRange = worksheet.getMergeData().filter((mergeData) => Rectangle.contains(range, mergeData)), mergeMainRowIndexes = mergeDataInRange.map((mergeData) => mergeData.startRow), { startRow: rangeStartRow, endRow } = range, startRow = hasTitle ? rangeStartRow + 1 : rangeStartRow, toReorder = [], oldOrder = [];
120
- for (let rowIndex = startRow; rowIndex <= endRow; rowIndex++)
121
- worksheet.getRowFiltered(rowIndex) || worksheet.getRowRawVisible(rowIndex) !== !1 && (mergeDataInRange.length && !mergeMainRowIndexes.includes(rowIndex) || (toReorder.push({
122
- index: rowIndex,
123
- value: getRowCellData(worksheet, rowIndex, orderRules)
124
- }), oldOrder.push(rowIndex)));
125
- const compareFns = sortService.getAllCompareFns();
126
- toReorder.sort(reorderFnGenerator(orderRules, combineCompareFnsAsOne(compareFns)));
127
- const order = {};
128
- toReorder.forEach(({ index, value }, oldIndex) => {
129
- order[oldOrder[oldIndex]] = index;
130
- });
131
- const reorderRangeCommand = {
132
- id: ReorderRangeCommand.id,
133
- params: {
134
- unitId,
135
- subUnitId,
136
- range,
137
- order
138
- }
139
- }, commandService = accessor.get(ICommandService);
140
- return sequenceExecute([reorderRangeCommand], commandService).result;
141
- }, "handler")
142
- };
143
- function getRowCellData(worksheet, rowIndex, orderRules) {
144
- const result = [];
145
- return orderRules.forEach(({ colIndex }) => {
146
- result.push(worksheet.getCellRaw(rowIndex, colIndex));
147
- }), result;
148
- }
149
- __name(getRowCellData, "getRowCellData");
150
- function combineCompareFnsAsOne(compareFns) {
151
- return (type, a, b) => {
152
- for (let i = 0; i < compareFns.length; i++) {
153
- const res = compareFns[i](type, a, b);
154
- if (res != null)
155
- return res;
156
- }
157
- return 0;
158
- };
159
- }
160
- __name(combineCompareFnsAsOne, "combineCompareFnsAsOne");
161
- function reorderFnGenerator(orderRules, valueCompare) {
162
- return function(a, b) {
163
- let ret = null;
164
- for (let index = 0; index < orderRules.length; index++) {
165
- const aCellData = a.value[index], bCellData = b.value[index];
166
- if (ret = valueCompare(orderRules[index].type, aCellData, bCellData), ret !== 0 && ret !== null && ret !== void 0)
167
- return ret;
168
- }
169
- return 0;
170
- };
171
- }
172
- __name(reorderFnGenerator, "reorderFnGenerator");
173
- var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
174
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
175
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
176
- return kind && result && __defProp$1(target, key, result), result;
177
- }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), _a2;
178
- let SheetsSortController = (_a2 = class extends Disposable {
179
- constructor(_commandService, _sortService) {
180
- super(), this._commandService = _commandService, this._sortService = _sortService, this._initCommands(), this._registerCompareFns();
181
- }
182
- _initCommands() {
183
- [
184
- SortRangeCommand
185
- ].forEach((command) => this.disposeWithMe(this._commandService.registerCommand(command)));
186
- }
187
- _registerCompareFns() {
188
- const commonFn = /* @__PURE__ */ __name((type, a, b) => {
189
- const valueA = this._getCommonValue(a), valueB = this._getCommonValue(b), compareTypeFns = [
190
- compareNull,
191
- compareString,
192
- compareNumber
193
- ];
194
- for (let i = 0; i < compareTypeFns.length; i++) {
195
- const res = compareTypeFns[i](valueA, valueB, type);
196
- if (res !== null)
197
- return res;
198
- }
199
- return null;
200
- }, "commonFn");
201
- this._sortService.registerCompareFn(commonFn);
202
- }
203
- _getCommonValue(a) {
204
- var _a4, _b;
205
- if (isNullValue(a))
206
- return null;
207
- const richTextValue = (_b = (_a4 = a == null ? void 0 : a.p) == null ? void 0 : _a4.body) == null ? void 0 : _b.dataStream;
208
- return richTextValue || ((a == null ? void 0 : a.t) === CellValueType.NUMBER ? Number.parseFloat(`${a.v}`) : (a == null ? void 0 : a.t) === CellValueType.STRING ? typeof a.v == "number" ? a.v : `${a.v}` : (a == null ? void 0 : a.t) === CellValueType.BOOLEAN ? `${a.v}` : (a == null ? void 0 : a.t) === CellValueType.FORCE_STRING ? Number.parseFloat(`${a.v}`) : `${a == null ? void 0 : a.v}`);
209
- }
210
- }, __name(_a2, "SheetsSortController"), _a2);
211
- SheetsSortController = __decorateClass$1([
212
- OnLifecycle(LifecycleStages.Ready, SheetsSortController),
213
- __decorateParam$1(0, ICommandService),
214
- __decorateParam$1(1, Inject(SheetsSortService))
215
- ], SheetsSortController);
216
- const PLUGIN_CONFIG_KEY = "sheets-sort.config", defaultPluginConfig = {};
217
- var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
218
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
219
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
220
- return kind && result && __defProp2(target, key, result), result;
221
- }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
222
- const NAME = "SHEET_SORT_PLUGIN";
223
- var _a3;
224
- let UniverSheetsSortPlugin = (_a3 = class extends Plugin {
225
- constructor(_config = defaultPluginConfig, _injector, _configService) {
226
- super(), this._config = _config, this._injector = _injector, this._configService = _configService;
227
- const { ...rest } = this._config;
228
- this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
229
- }
230
- onStarting() {
231
- [
232
- [SheetsSortController],
233
- [SheetsSortService]
234
- ].forEach((d) => this._injector.add(d));
235
- }
236
- }, __name(_a3, "UniverSheetsSortPlugin"), __publicField(_a3, "type", UniverInstanceType.UNIVER_SHEET), __publicField(_a3, "pluginName", NAME), _a3);
237
- UniverSheetsSortPlugin = __decorateClass([
238
- __decorateParam(1, Inject(Injector)),
239
- __decorateParam(2, IConfigService)
240
- ], UniverSheetsSortPlugin);
241
- export {
242
- SheetsSortService,
243
- SortRangeCommand,
244
- SortType,
245
- UniverSheetsSortPlugin
246
- };
1
+ const _0x5d99a5=_0x2ad4;function _0x2ad4(_0x2d0df5,_0xa7fa5d){const _0x246a39=_0x246a();return _0x2ad4=function(_0x2ad4b5,_0x5d74a9){_0x2ad4b5=_0x2ad4b5-0x141;let _0x357e7a=_0x246a39[_0x2ad4b5];return _0x357e7a;},_0x2ad4(_0x2d0df5,_0xa7fa5d);}(function(_0x1cd7d2,_0x4192c5){const _0x47110d=_0x2ad4,_0x186ccd=_0x1cd7d2();while(!![]){try{const _0x2616a4=-parseInt(_0x47110d(0x161))/0x1+parseInt(_0x47110d(0x189))/0x2*(-parseInt(_0x47110d(0x149))/0x3)+parseInt(_0x47110d(0x179))/0x4+parseInt(_0x47110d(0x188))/0x5+parseInt(_0x47110d(0x193))/0x6+parseInt(_0x47110d(0x159))/0x7*(-parseInt(_0x47110d(0x14a))/0x8)+parseInt(_0x47110d(0x186))/0x9;if(_0x2616a4===_0x4192c5)break;else _0x186ccd['push'](_0x186ccd['shift']());}catch(_0x2ebcd3){_0x186ccd['push'](_0x186ccd['shift']());}}}(_0x246a,0x8430c));var __defProp=Object[_0x5d99a5(0x146)],__defNormalProp=(_0x44c87d,_0x2510db,_0x4bb66a)=>_0x2510db in _0x44c87d?__defProp(_0x44c87d,_0x2510db,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x4bb66a}):_0x44c87d[_0x2510db]=_0x4bb66a,__name=(_0x53bd9a,_0x562a11)=>__defProp(_0x53bd9a,_0x5d99a5(0x156),{'value':_0x562a11,'configurable':!0x0}),__publicField=(_0x16b2d5,_0x3d8f56,_0x30b92e)=>__defNormalProp(_0x16b2d5,typeof _0x3d8f56!='symbol'?_0x3d8f56+'':_0x3d8f56,_0x30b92e);import{Inject,Disposable,Rectangle,IUniverInstanceService,ICommandService,CommandType,sequenceExecute,CellValueType,Plugin,UniverInstanceType,Injector,IConfigService}from'@univerjs/core';import{getSheetCommandTarget,ReorderRangeCommand}from'@univerjs/sheets';import{FormulaDataModel}from'@univerjs/engine-formula';const PLUGIN_CONFIG_KEY=_0x5d99a5(0x18b),defaultPluginConfig={};var SortType=(_0x1e2834=>(_0x1e2834[_0x5d99a5(0x18f)]=_0x5d99a5(0x141),_0x1e2834[_0x5d99a5(0x151)]=_0x5d99a5(0x17e),_0x1e2834))(SortType||{});const removeStringSymbol=__name(_0x1d2599=>_0x1d2599[_0x5d99a5(0x192)](/-/gi,'')[_0x5d99a5(0x192)](/'/gi,''),'removeStringSymbol'),compareNull=__name((_0x515ab9,_0x52e07c)=>{const _0x40eb22=_0x515ab9===null||_0x515ab9==='',_0xafb00c=_0x52e07c===null||_0x52e07c==='';return _0x40eb22&&_0xafb00c?0x0:_0x40eb22?0x1:_0xafb00c?-0x1:null;},_0x5d99a5(0x170)),compareNumber=__name((_0x2da125,_0x197675,_0x4f6a7a)=>{const _0x20acac=_0x5d99a5,_0xe201eb=typeof _0x2da125==_0x20acac(0x16d),_0x5bddc3=typeof _0x197675==_0x20acac(0x16d);return _0xe201eb&&_0x5bddc3?_0x2da125<_0x197675?_0x4f6a7a===SortType[_0x20acac(0x151)]?-0x1:0x1:_0x2da125>_0x197675?_0x4f6a7a===SortType[_0x20acac(0x151)]?0x1:-0x1:0x0:_0xe201eb?_0x4f6a7a===SortType[_0x20acac(0x151)]?0x1:-0x1:_0x5bddc3?_0x4f6a7a===SortType[_0x20acac(0x151)]?-0x1:0x1:null;},_0x5d99a5(0x154)),compareString=__name((_0x5dbc03,_0x2c8895,_0x2ec223)=>{const _0xa97bf6=_0x5d99a5,_0x1b14df=typeof _0x5dbc03==_0xa97bf6(0x18c),_0x5d7e19=typeof _0x2c8895==_0xa97bf6(0x18c);if(_0x1b14df&&(_0x5dbc03=removeStringSymbol(_0x5dbc03[_0xa97bf6(0x171)]())),_0x5d7e19&&(_0x2c8895=removeStringSymbol(_0x2c8895[_0xa97bf6(0x171)]())),!_0x1b14df&&!_0x5d7e19)return null;if(_0x1b14df&&_0x5d7e19){const _0x413652=_0x5dbc03,_0xe5d835=_0x2c8895;return _0x413652<_0xe5d835?_0x2ec223===SortType[_0xa97bf6(0x151)]?-0x1:0x1:_0x413652>_0xe5d835?_0x2ec223===SortType[_0xa97bf6(0x151)]?0x1:-0x1:0x0;}return _0x1b14df?_0x2ec223===SortType[_0xa97bf6(0x151)]?0x1:-0x1:_0x5d7e19?_0x2ec223===SortType[_0xa97bf6(0x151)]?-0x1:0x1:null;},'compareString'),isNullValue=__name(_0x3f31e7=>!_0x3f31e7||Object['keys'](_0x3f31e7)[_0x5d99a5(0x14b)]===0x0||(_0x3f31e7==null?void 0x0:_0x3f31e7['v'])==null&&(_0x3f31e7==null?void 0x0:_0x3f31e7['p'])==null,_0x5d99a5(0x18d));var __defProp$2=Object[_0x5d99a5(0x146)],__getOwnPropDesc$2=Object['getOwnPropertyDescriptor'],__decorateClass$2=__name((_0x4abdad,_0x308b02,_0x5a5ca7,_0x411b52)=>{const _0x4261e1=_0x5d99a5;for(var _0x4f82fe=_0x411b52>0x1?void 0x0:_0x411b52?__getOwnPropDesc$2(_0x308b02,_0x5a5ca7):_0x308b02,_0x15a2ed=_0x4abdad[_0x4261e1(0x14b)]-0x1,_0x1d49ba;_0x15a2ed>=0x0;_0x15a2ed--)(_0x1d49ba=_0x4abdad[_0x15a2ed])&&(_0x4f82fe=(_0x411b52?_0x1d49ba(_0x308b02,_0x5a5ca7,_0x4f82fe):_0x1d49ba(_0x4f82fe))||_0x4f82fe);return _0x411b52&&_0x4f82fe&&__defProp$2(_0x308b02,_0x5a5ca7,_0x4f82fe),_0x4f82fe;},_0x5d99a5(0x176)),__decorateParam$2=__name((_0x5e6e33,_0x691770)=>(_0x353226,_0x480377)=>_0x691770(_0x353226,_0x480377,_0x5e6e33),'__decorateParam$2'),_a;let SheetsSortService=(_a=class extends Disposable{constructor(_0x421028,_0x5b5c6b,_0x348edf){const _0x3081ff=_0x5d99a5;super(),__publicField(this,_0x3081ff(0x17a),[]),(this[_0x3081ff(0x15b)]=_0x421028,this['_commandService']=_0x5b5c6b,this[_0x3081ff(0x14c)]=_0x348edf);}[_0x5d99a5(0x173)](_0x1a2ce8){const _0x265049=_0x5d99a5;var _0x56d0d6;const {unitId:_0x487277,subUnitId:_0x525092,range:_0xdc6360}=_0x1a2ce8,_0x52e134=(_0x56d0d6=this[_0x265049(0x15b)][_0x265049(0x144)](_0x487277))==null?void 0x0:_0x56d0d6['getSheetBySheetId'](_0x525092);if(!_0x52e134)return!0x1;const _0x1ee0c4=_0x52e134[_0x265049(0x181)]()[_0x265049(0x182)](_0x196165=>Rectangle[_0x265049(0x168)](_0xdc6360,_0x196165));return _0x1ee0c4[_0x265049(0x14b)]===0x0?!0x0:isRangeDividedEqually(_0xdc6360,_0x1ee0c4);}[_0x5d99a5(0x15f)](_0x45a75d){const _0x56c165=_0x5d99a5;var _0x40887a;const {unitId:_0x516739,subUnitId:_0x20074b,range:_0x58203c}=_0x45a75d,_0x58fede=(_0x40887a=this[_0x56c165(0x15b)][_0x56c165(0x144)](_0x516739))==null?void 0x0:_0x40887a[_0x56c165(0x196)](_0x20074b);if(!_0x58fede)return!0x1;for(let _0x36794a=_0x58203c[_0x56c165(0x15c)];_0x36794a<=_0x58203c[_0x56c165(0x190)];_0x36794a++)for(let _0x5d9f5a=_0x58203c[_0x56c165(0x157)];_0x5d9f5a<=_0x58203c['endColumn'];_0x5d9f5a++)if(!isNullValue(_0x58fede[_0x56c165(0x166)](_0x36794a,_0x5d9f5a)))return!0x0;return!0x1;}[_0x5d99a5(0x191)](_0x3ea73f){const _0x2342d7=_0x5d99a5;return _0x3ea73f['range'][_0x2342d7(0x15c)]!==_0x3ea73f['range'][_0x2342d7(0x190)];}[_0x5d99a5(0x16c)](_0x3108d9){const _0x45ed94=_0x5d99a5;var _0x4f28f3,_0x4a1316;const {unitId:_0x26c7c0,subUnitId:_0x47ee2d,range:_0x1a163c}=_0x3108d9,_0x31bcc0=(_0x4a1316=(_0x4f28f3=this['_formulaDataModel'][_0x45ed94(0x155)]())==null?void 0x0:_0x4f28f3[_0x26c7c0])==null?void 0x0:_0x4a1316[_0x47ee2d];for(const _0x39325f in _0x31bcc0){const _0x2a80a0=_0x31bcc0[Number(_0x39325f)];for(const _0x16c556 in _0x2a80a0){const _0x35d0a3=_0x2a80a0[Number(_0x16c556)];if(_0x35d0a3&&Rectangle[_0x45ed94(0x17d)](_0x1a163c,_0x35d0a3))return!0x1;}}return!0x0;}[_0x5d99a5(0x16b)](_0x11ddcb){const _0x1f6836=_0x5d99a5;this[_0x1f6836(0x17a)]['unshift'](_0x11ddcb);}['getAllCompareFns'](){return this['_compareFns'];}[_0x5d99a5(0x175)](_0x585c73,_0x2f6cf1,_0x5acb75){const _0x374184=_0x5d99a5;var _0x7a0427;const {unitId:_0x1df248,subUnitId:_0x4cc7a3}=getSheetCommandTarget(this[_0x374184(0x15b)])||{};this[_0x374184(0x195)][_0x374184(0x148)](SortRangeCommand['id'],{'orderRules':_0x585c73[_0x374184(0x143)],'range':_0x585c73[_0x374184(0x16f)],'hasTitle':(_0x7a0427=_0x585c73['hasTitle'])!=null?_0x7a0427:!0x1,'unitId':_0x2f6cf1||_0x1df248,'subUnitId':_0x5acb75||_0x4cc7a3});}},__name(_a,_0x5d99a5(0x167)),_a);SheetsSortService=__decorateClass$2([__decorateParam$2(0x0,IUniverInstanceService),__decorateParam$2(0x1,ICommandService),__decorateParam$2(0x2,Inject(FormulaDataModel))],SheetsSortService);function isRangeDividedEqually(_0x317fe9,_0x4bcbbb){const _0x4a3434=_0x5d99a5,_0x5a6fa6=_0x317fe9[_0x4a3434(0x190)]-_0x317fe9[_0x4a3434(0x15c)]+0x1,_0x368284=_0x317fe9[_0x4a3434(0x169)]-_0x317fe9[_0x4a3434(0x157)]+0x1;let _0x2fefee=null,_0x4214f0=null;const _0x8c5033=_0x5a6fa6*_0x368284;let _0x1e920e=0x0;for(const _0x4de25a of _0x4bcbbb)if(_0x4de25a['startRow']>=_0x317fe9[_0x4a3434(0x15c)]&&_0x4de25a[_0x4a3434(0x190)]<=_0x317fe9[_0x4a3434(0x190)]&&_0x4de25a[_0x4a3434(0x157)]>=_0x317fe9[_0x4a3434(0x157)]&&_0x4de25a['endColumn']<=_0x317fe9[_0x4a3434(0x169)]){const _0x5bd627=_0x4de25a[_0x4a3434(0x190)]-_0x4de25a[_0x4a3434(0x15c)]+0x1,_0x174d0d=_0x4de25a[_0x4a3434(0x169)]-_0x4de25a[_0x4a3434(0x157)]+0x1;if(_0x2fefee===null&&_0x4214f0===null)_0x2fefee=_0x5bd627,_0x4214f0=_0x174d0d;else{if(_0x5bd627!==_0x2fefee||_0x174d0d!==_0x4214f0)return!0x1;}_0x1e920e+=_0x5bd627*_0x174d0d;}return _0x1e920e===_0x8c5033;}__name(isRangeDividedEqually,'isRangeDividedEqually');const SortRangeCommand={'id':'sheet.command.sort-range','type':CommandType[_0x5d99a5(0x15a)],'handler':__name((_0xc8bde0,_0x40bc1e)=>{const _0x2bb69a=_0x5d99a5,{range:_0x2b88b2,orderRules:_0x7646b,hasTitle:_0x5f3897,unitId:_0x212b89,subUnitId:_0x5e7a51}=_0x40bc1e,_0x50382c=_0xc8bde0[_0x2bb69a(0x16e)](SheetsSortService),_0x48cb55=_0xc8bde0[_0x2bb69a(0x16e)](IUniverInstanceService),{worksheet:_0x1c3085}=getSheetCommandTarget(_0x48cb55,_0x40bc1e)||{};if(!_0x1c3085)return!0x1;const _0x194be3=_0x1c3085[_0x2bb69a(0x181)]()[_0x2bb69a(0x182)](_0x2ffbee=>Rectangle[_0x2bb69a(0x168)](_0x2b88b2,_0x2ffbee)),_0x309118=_0x194be3['map'](_0xf1f1c=>_0xf1f1c[_0x2bb69a(0x15c)]),{startRow:_0x526f40,endRow:_0x5c62dd}=_0x2b88b2,_0x57e653=_0x5f3897?_0x526f40+0x1:_0x526f40,_0x4e9acb=[],_0x10ab97=[];for(let _0x1fbdf7=_0x57e653;_0x1fbdf7<=_0x5c62dd;_0x1fbdf7++)_0x1c3085['getRowFiltered'](_0x1fbdf7)||_0x1c3085['getRowRawVisible'](_0x1fbdf7)!==!0x1&&(_0x194be3['length']&&!_0x309118[_0x2bb69a(0x183)](_0x1fbdf7)||(_0x4e9acb[_0x2bb69a(0x194)]({'index':_0x1fbdf7,'value':getRowCellData(_0x1c3085,_0x1fbdf7,_0x7646b)}),_0x10ab97[_0x2bb69a(0x194)](_0x1fbdf7)));const _0x13eeb2=_0x50382c['getAllCompareFns']();_0x4e9acb[_0x2bb69a(0x172)](reorderFnGenerator(_0x7646b,combineCompareFnsAsOne(_0x13eeb2)));const _0x7b2351={};_0x4e9acb[_0x2bb69a(0x142)](({index:_0x274619,value:_0x5ac31a},_0x3c2fb4)=>{_0x7b2351[_0x10ab97[_0x3c2fb4]]=_0x274619;});const _0x456e1a={'id':ReorderRangeCommand['id'],'params':{'unitId':_0x212b89,'subUnitId':_0x5e7a51,'range':_0x2b88b2,'order':_0x7b2351}},_0x5794c2=_0xc8bde0[_0x2bb69a(0x16e)](ICommandService);return sequenceExecute([_0x456e1a],_0x5794c2)[_0x2bb69a(0x178)];},_0x5d99a5(0x14d))};function getRowCellData(_0x2f0d76,_0x192012,_0x510f63){const _0x465316=_0x5d99a5,_0x40c4a6=[];return _0x510f63[_0x465316(0x142)](({colIndex:_0x4cd361})=>{const _0x4d3688=_0x465316;_0x40c4a6[_0x4d3688(0x194)](_0x2f0d76[_0x4d3688(0x166)](_0x192012,_0x4cd361));}),_0x40c4a6;}__name(getRowCellData,'getRowCellData');function combineCompareFnsAsOne(_0x274931){return(_0x5bb7d5,_0x4a7fc2,_0x50d0ff)=>{const _0x36ba8f=_0x2ad4;for(let _0xf05352=0x0;_0xf05352<_0x274931[_0x36ba8f(0x14b)];_0xf05352++){const _0x367d31=_0x274931[_0xf05352](_0x5bb7d5,_0x4a7fc2,_0x50d0ff);if(_0x367d31!=null)return _0x367d31;}return 0x0;};}__name(combineCompareFnsAsOne,_0x5d99a5(0x163));function reorderFnGenerator(_0x28a03f,_0x368e8e){return function(_0x32c38b,_0x36f8f4){const _0x571ae0=_0x2ad4;let _0xe2c606=null;for(let _0x43a216=0x0;_0x43a216<_0x28a03f[_0x571ae0(0x14b)];_0x43a216++){const _0x469b58=_0x32c38b[_0x571ae0(0x177)][_0x43a216],_0x46eaa3=_0x36f8f4[_0x571ae0(0x177)][_0x43a216];if(_0xe2c606=_0x368e8e(_0x28a03f[_0x43a216]['type'],_0x469b58,_0x46eaa3),_0xe2c606!==0x0&&_0xe2c606!==null&&_0xe2c606!==void 0x0)return _0xe2c606;}return 0x0;};}__name(reorderFnGenerator,'reorderFnGenerator');var __defProp$1=Object['defineProperty'],__getOwnPropDesc$1=Object[_0x5d99a5(0x150)],__decorateClass$1=__name((_0x4a3166,_0xc13cf2,_0x45a032,_0x3666c4)=>{const _0x17021d=_0x5d99a5;for(var _0x5d1b0e=_0x3666c4>0x1?void 0x0:_0x3666c4?__getOwnPropDesc$1(_0xc13cf2,_0x45a032):_0xc13cf2,_0x2919a4=_0x4a3166[_0x17021d(0x14b)]-0x1,_0x5c37e0;_0x2919a4>=0x0;_0x2919a4--)(_0x5c37e0=_0x4a3166[_0x2919a4])&&(_0x5d1b0e=(_0x3666c4?_0x5c37e0(_0xc13cf2,_0x45a032,_0x5d1b0e):_0x5c37e0(_0x5d1b0e))||_0x5d1b0e);return _0x3666c4&&_0x5d1b0e&&__defProp$1(_0xc13cf2,_0x45a032,_0x5d1b0e),_0x5d1b0e;},_0x5d99a5(0x153)),__decorateParam$1=__name((_0x11b5c0,_0x412e83)=>(_0x254726,_0x389580)=>_0x412e83(_0x254726,_0x389580,_0x11b5c0),'__decorateParam$1'),_a2;let SheetsSortController=(_a2=class extends Disposable{constructor(_0x48c31b,_0x13385f){const _0x12b9aa=_0x5d99a5;super(),this[_0x12b9aa(0x195)]=_0x48c31b,this[_0x12b9aa(0x152)]=_0x13385f,this[_0x12b9aa(0x17c)](),this[_0x12b9aa(0x14f)]();}[_0x5d99a5(0x17c)](){const _0xa657c3=_0x5d99a5;[SortRangeCommand][_0xa657c3(0x142)](_0x28063f=>this[_0xa657c3(0x160)](this[_0xa657c3(0x195)]['registerCommand'](_0x28063f)));}[_0x5d99a5(0x14f)](){const _0x5047aa=_0x5d99a5,_0x5c3115=__name((_0x103a99,_0xcae00c,_0x537f8a)=>{const _0x4bbb3b=_0x2ad4,_0x37be31=this['_getCommonValue'](_0xcae00c),_0x30c277=this[_0x4bbb3b(0x174)](_0x537f8a),_0x25957d=[compareNull,compareString,compareNumber];for(let _0x31250f=0x0;_0x31250f<_0x25957d[_0x4bbb3b(0x14b)];_0x31250f++){const _0x9dd208=_0x25957d[_0x31250f](_0x37be31,_0x30c277,_0x103a99);if(_0x9dd208!==null)return _0x9dd208;}return null;},_0x5047aa(0x164));this[_0x5047aa(0x152)][_0x5047aa(0x16b)](_0x5c3115);}[_0x5d99a5(0x174)](_0x53fe42){const _0x16d301=_0x5d99a5;var _0x50346e,_0xc7a126;if(isNullValue(_0x53fe42))return null;const _0x49cf5e=(_0xc7a126=(_0x50346e=_0x53fe42==null?void 0x0:_0x53fe42['p'])==null?void 0x0:_0x50346e[_0x16d301(0x17f)])==null?void 0x0:_0xc7a126[_0x16d301(0x18a)];return _0x49cf5e||((_0x53fe42==null?void 0x0:_0x53fe42['t'])===CellValueType[_0x16d301(0x17b)]?Number[_0x16d301(0x180)](''+_0x53fe42['v']):(_0x53fe42==null?void 0x0:_0x53fe42['t'])===CellValueType[_0x16d301(0x15d)]?typeof _0x53fe42['v']=='number'?_0x53fe42['v']:''+_0x53fe42['v']:(_0x53fe42==null?void 0x0:_0x53fe42['t'])===CellValueType[_0x16d301(0x14e)]?''+_0x53fe42['v']:(_0x53fe42==null?void 0x0:_0x53fe42['t'])===CellValueType[_0x16d301(0x158)]?Number[_0x16d301(0x180)](''+_0x53fe42['v']):''+(_0x53fe42==null?void 0x0:_0x53fe42['v']));}},__name(_a2,_0x5d99a5(0x165)),_a2);SheetsSortController=__decorateClass$1([__decorateParam$1(0x0,ICommandService),__decorateParam$1(0x1,Inject(SheetsSortService))],SheetsSortController);var __defProp2=Object[_0x5d99a5(0x146)],__getOwnPropDesc=Object[_0x5d99a5(0x150)],__decorateClass=__name((_0x3e025c,_0x4e3910,_0x3e79b9,_0x5c7924)=>{const _0x4a265f=_0x5d99a5;for(var _0x4d4017=_0x5c7924>0x1?void 0x0:_0x5c7924?__getOwnPropDesc(_0x4e3910,_0x3e79b9):_0x4e3910,_0x28b9ae=_0x3e025c[_0x4a265f(0x14b)]-0x1,_0x4498bb;_0x28b9ae>=0x0;_0x28b9ae--)(_0x4498bb=_0x3e025c[_0x28b9ae])&&(_0x4d4017=(_0x5c7924?_0x4498bb(_0x4e3910,_0x3e79b9,_0x4d4017):_0x4498bb(_0x4d4017))||_0x4d4017);return _0x5c7924&&_0x4d4017&&__defProp2(_0x4e3910,_0x3e79b9,_0x4d4017),_0x4d4017;},_0x5d99a5(0x18e)),__decorateParam=__name((_0x204754,_0x4c0e1c)=>(_0x529bcb,_0x3bf2e0)=>_0x4c0e1c(_0x529bcb,_0x3bf2e0,_0x204754),_0x5d99a5(0x15e));const NAME=_0x5d99a5(0x184);var _a3;let UniverSheetsSortPlugin=(_a3=class extends Plugin{constructor(_0x1b177f=defaultPluginConfig,_0x151a1f,_0x1b03f1){const _0x1eaf0f=_0x5d99a5;super(),this['_config']=_0x1b177f,this[_0x1eaf0f(0x16a)]=_0x151a1f,this[_0x1eaf0f(0x162)]=_0x1b03f1;const {..._0x3cbb05}=this['_config'];this[_0x1eaf0f(0x162)]['setConfig'](PLUGIN_CONFIG_KEY,_0x3cbb05);}['onStarting'](){const _0x1c6a0d=_0x5d99a5;[[SheetsSortController],[SheetsSortService]][_0x1c6a0d(0x142)](_0x4d67b7=>this[_0x1c6a0d(0x16a)][_0x1c6a0d(0x147)](_0x4d67b7));}[_0x5d99a5(0x185)](){const _0x2e64e3=_0x5d99a5;this['_injector'][_0x2e64e3(0x16e)](SheetsSortController);}},__name(_a3,'UniverSheetsSortPlugin'),__publicField(_a3,'type',UniverInstanceType[_0x5d99a5(0x187)]),__publicField(_a3,_0x5d99a5(0x145),NAME),_a3);UniverSheetsSortPlugin=__decorateClass([__decorateParam(0x1,Inject(Injector)),__decorateParam(0x2,IConfigService)],UniverSheetsSortPlugin);function _0x246a(){const _0x2e4b2c=['endColumn','_injector','registerCompareFn','formulaCheck','number','get','range','compareNull','toLocaleLowerCase','sort','mergeCheck','_getCommonValue','applySort','__decorateClass$2','value','result','2599476pBIKPy','_compareFns','NUMBER','_initCommands','intersects','asc','body','parseFloat','getMergeData','filter','includes','SHEET_SORT_PLUGIN','onReady','3650742duBDXi','UNIVER_SHEET','3122185OxMrBA','7034crpDnu','dataStream','sheets-sort.config','string','isNullValue','__decorateClass','DESC','endRow','singleCheck','replace','3144108peWfqr','push','_commandService','getSheetBySheetId','desc','forEach','orderRules','getUnit','pluginName','defineProperty','add','executeCommand','702ckzGro','24QDTdao','length','_formulaDataModel','handler','BOOLEAN','_registerCompareFns','getOwnPropertyDescriptor','ASC','_sortService','__decorateClass$1','compareNumber','getArrayFormulaRange','name','startColumn','FORCE_STRING','1366141dGkGmW','COMMAND','_univerInstanceService','startRow','STRING','__decorateParam','emptyCheck','disposeWithMe','254043HraUrp','_configService','combineCompareFnsAsOne','commonFn','SheetsSortController','getCellRaw','SheetsSortService','contains'];_0x246a=function(){return _0x2e4b2c;};return _0x246a();}export{SheetsSortService,SortRangeCommand,SortType,UniverSheetsSortPlugin};
@@ -1,5 +1,5 @@
1
- import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
2
1
  import { IUniverSheetsSortConfig } from './controllers/config.schema';
2
+ import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
3
3
  export declare class UniverSheetsSortPlugin extends Plugin {
4
4
  private readonly _config;
5
5
  protected readonly _injector: Injector;
@@ -8,4 +8,5 @@ export declare class UniverSheetsSortPlugin extends Plugin {
8
8
  static pluginName: string;
9
9
  constructor(_config: Partial<IUniverSheetsSortConfig> | undefined, _injector: Injector, _configService: IConfigService);
10
10
  onStarting(): void;
11
+ onReady(): void;
11
12
  }
@@ -1,8 +1,8 @@
1
- import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
2
1
  import { ISheetRangeLocation } from '@univerjs/sheets';
2
+ import { ISortOption } from './interface';
3
+ import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
3
4
  import { FormulaDataModel } from '@univerjs/engine-formula';
4
5
  import { ICellValueCompareFn } from '../commands/commands/sheets-sort.command';
5
- import { ISortOption } from './interface';
6
6
  export declare class SheetsSortService extends Disposable {
7
7
  private readonly _univerInstanceService;
8
8
  private readonly _commandService;
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/engine-formula"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSheetsSort={},global.UniverCore,global.UniverSheets,global.UniverEngineFormula))})(this,function(exports2,core,sheets,engineFormula){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c;var SortType=(SortType2=>(SortType2.DESC="desc",SortType2.ASC="asc",SortType2))(SortType||{});const removeStringSymbol=__name(str=>str.replace(/-/gi,"").replace(/'/gi,""),"removeStringSymbol"),compareNull=__name((a1,a2)=>{const isA1Null=a1===null||a1==="",isA2Null=a2===null||a2==="";return isA1Null&&isA2Null?0:isA1Null?1:isA2Null?-1:null},"compareNull"),compareNumber=__name((a1,a2,type)=>{const isA1Num=typeof a1=="number",isA2Num=typeof a2=="number";return isA1Num&&isA2Num?a1<a2?type===SortType.ASC?-1:1:a1>a2?type===SortType.ASC?1:-1:0:isA1Num?type===SortType.ASC?1:-1:isA2Num?type===SortType.ASC?-1:1:null},"compareNumber"),compareString=__name((a1,a2,type)=>{const isA1Str=typeof a1=="string",isA2Str=typeof a2=="string";if(isA1Str&&(a1=removeStringSymbol(a1.toLocaleLowerCase())),isA2Str&&(a2=removeStringSymbol(a2.toLocaleLowerCase())),!isA1Str&&!isA2Str)return null;if(isA1Str&&isA2Str){const a1AsString=a1,a2AsString=a2;return a1AsString<a2AsString?type===SortType.ASC?-1:1:a1AsString>a2AsString?type===SortType.ASC?1:-1:0}return isA1Str?type===SortType.ASC?1:-1:isA2Str?type===SortType.ASC?-1:1:null},"compareString"),isNullValue=__name(cell=>!cell||Object.keys(cell).length===0||(cell==null?void 0:cell.v)==null&&(cell==null?void 0:cell.p)==null,"isNullValue");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");exports2.SheetsSortService=(_a=class extends core.Disposable{constructor(_univerInstanceService,_commandService,_formulaDataModel){super();__publicField(this,"_compareFns",[]);this._univerInstanceService=_univerInstanceService,this._commandService=_commandService,this._formulaDataModel=_formulaDataModel}mergeCheck(location){var _a2;const{unitId,subUnitId,range}=location,sheet=(_a2=this._univerInstanceService.getUnit(unitId))==null?void 0:_a2.getSheetBySheetId(subUnitId);if(!sheet)return!1;const mergeDataInRange=sheet.getMergeData().filter(merge=>core.Rectangle.contains(range,merge));return mergeDataInRange.length===0?!0:isRangeDividedEqually(range,mergeDataInRange)}emptyCheck(location){var _a2;const{unitId,subUnitId,range}=location,sheet=(_a2=this._univerInstanceService.getUnit(unitId))==null?void 0:_a2.getSheetBySheetId(subUnitId);if(!sheet)return!1;for(let row=range.startRow;row<=range.endRow;row++)for(let col=range.startColumn;col<=range.endColumn;col++)if(!isNullValue(sheet.getCellRaw(row,col)))return!0;return!1}singleCheck(location){return location.range.startRow!==location.range.endRow}formulaCheck(location){var _a2,_b2;const{unitId,subUnitId,range}=location,arrayFormulaRange=(_b2=(_a2=this._formulaDataModel.getArrayFormulaRange())==null?void 0:_a2[unitId])==null?void 0:_b2[subUnitId];for(const row in arrayFormulaRange){const rowData=arrayFormulaRange[Number(row)];for(const col in rowData){const arrayFormula=rowData[Number(col)];if(arrayFormula&&core.Rectangle.intersects(range,arrayFormula))return!1}}return!0}registerCompareFn(fn){this._compareFns.unshift(fn)}getAllCompareFns(){return this._compareFns}applySort(sortOption,unitId,subUnitId){var _a2;const{unitId:_unitId,subUnitId:_subUnitId}=sheets.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(SortRangeCommand.id,{orderRules:sortOption.orderRules,range:sortOption.range,hasTitle:(_a2=sortOption.hasTitle)!=null?_a2:!1,unitId:unitId||_unitId,subUnitId:subUnitId||_subUnitId})}},__name(_a,"SheetsSortService"),_a),exports2.SheetsSortService=__decorateClass$2([core.OnLifecycle(core.LifecycleStages.Ready,exports2.SheetsSortService),__decorateParam$2(0,core.IUniverInstanceService),__decorateParam$2(1,core.ICommandService),__decorateParam$2(2,core.Inject(engineFormula.FormulaDataModel))],exports2.SheetsSortService);function isRangeDividedEqually(range,merges){const rangeRows=range.endRow-range.startRow+1,rangeCols=range.endColumn-range.startColumn+1;let mergeRows=null,mergeCols=null;const totalArea=rangeRows*rangeCols;let totalMergeArea=0;for(const merge of merges)if(merge.startRow>=range.startRow&&merge.endRow<=range.endRow&&merge.startColumn>=range.startColumn&&merge.endColumn<=range.endColumn){const currentMergeRows=merge.endRow-merge.startRow+1,currentMergeCols=merge.endColumn-merge.startColumn+1;if(mergeRows===null&&mergeCols===null)mergeRows=currentMergeRows,mergeCols=currentMergeCols;else if(currentMergeRows!==mergeRows||currentMergeCols!==mergeCols)return!1;totalMergeArea+=currentMergeRows*currentMergeCols}return totalMergeArea===totalArea}__name(isRangeDividedEqually,"isRangeDividedEqually");const SortRangeCommand={id:"sheet.command.sort-range",type:core.CommandType.COMMAND,handler:__name((accessor,params)=>{const{range,orderRules,hasTitle,unitId,subUnitId}=params,sortService=accessor.get(exports2.SheetsSortService),univerInstanceService=accessor.get(core.IUniverInstanceService),{worksheet}=sheets.getSheetCommandTarget(univerInstanceService,params)||{};if(!worksheet)return!1;const mergeDataInRange=worksheet.getMergeData().filter(mergeData=>core.Rectangle.contains(range,mergeData)),mergeMainRowIndexes=mergeDataInRange.map(mergeData=>mergeData.startRow),{startRow:rangeStartRow,endRow}=range,startRow=hasTitle?rangeStartRow+1:rangeStartRow,toReorder=[],oldOrder=[];for(let rowIndex=startRow;rowIndex<=endRow;rowIndex++)worksheet.getRowFiltered(rowIndex)||worksheet.getRowRawVisible(rowIndex)!==!1&&(mergeDataInRange.length&&!mergeMainRowIndexes.includes(rowIndex)||(toReorder.push({index:rowIndex,value:getRowCellData(worksheet,rowIndex,orderRules)}),oldOrder.push(rowIndex)));const compareFns=sortService.getAllCompareFns();toReorder.sort(reorderFnGenerator(orderRules,combineCompareFnsAsOne(compareFns)));const order={};toReorder.forEach(({index,value},oldIndex)=>{order[oldOrder[oldIndex]]=index});const reorderRangeCommand={id:sheets.ReorderRangeCommand.id,params:{unitId,subUnitId,range,order}},commandService=accessor.get(core.ICommandService);return core.sequenceExecute([reorderRangeCommand],commandService).result},"handler")};function getRowCellData(worksheet,rowIndex,orderRules){const result=[];return orderRules.forEach(({colIndex})=>{result.push(worksheet.getCellRaw(rowIndex,colIndex))}),result}__name(getRowCellData,"getRowCellData");function combineCompareFnsAsOne(compareFns){return(type,a,b)=>{for(let i=0;i<compareFns.length;i++){const res=compareFns[i](type,a,b);if(res!=null)return res}return 0}}__name(combineCompareFnsAsOne,"combineCompareFnsAsOne");function reorderFnGenerator(orderRules,valueCompare){return function(a,b){let ret=null;for(let index=0;index<orderRules.length;index++){const aCellData=a.value[index],bCellData=b.value[index];if(ret=valueCompare(orderRules[index].type,aCellData,bCellData),ret!==0&&ret!==null&&ret!==void 0)return ret}return 0}}__name(reorderFnGenerator,"reorderFnGenerator");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");let SheetsSortController=(_b=class extends core.Disposable{constructor(_commandService,_sortService){super(),this._commandService=_commandService,this._sortService=_sortService,this._initCommands(),this._registerCompareFns()}_initCommands(){[SortRangeCommand].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_registerCompareFns(){const commonFn=__name((type,a,b)=>{const valueA=this._getCommonValue(a),valueB=this._getCommonValue(b),compareTypeFns=[compareNull,compareString,compareNumber];for(let i=0;i<compareTypeFns.length;i++){const res=compareTypeFns[i](valueA,valueB,type);if(res!==null)return res}return null},"commonFn");this._sortService.registerCompareFn(commonFn)}_getCommonValue(a){var _a2,_b2;if(isNullValue(a))return null;const richTextValue=(_b2=(_a2=a==null?void 0:a.p)==null?void 0:_a2.body)==null?void 0:_b2.dataStream;return richTextValue||((a==null?void 0:a.t)===core.CellValueType.NUMBER?Number.parseFloat(`${a.v}`):(a==null?void 0:a.t)===core.CellValueType.STRING?typeof a.v=="number"?a.v:`${a.v}`:(a==null?void 0:a.t)===core.CellValueType.BOOLEAN?`${a.v}`:(a==null?void 0:a.t)===core.CellValueType.FORCE_STRING?Number.parseFloat(`${a.v}`):`${a==null?void 0:a.v}`)}},__name(_b,"SheetsSortController"),_b);SheetsSortController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SheetsSortController),__decorateParam$1(0,core.ICommandService),__decorateParam$1(1,core.Inject(exports2.SheetsSortService))],SheetsSortController);const PLUGIN_CONFIG_KEY="sheets-sort.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");const NAME="SHEET_SORT_PLUGIN";exports2.UniverSheetsSortPlugin=(_c=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(){[[SheetsSortController],[exports2.SheetsSortService]].forEach(d=>this._injector.add(d))}},__name(_c,"UniverSheetsSortPlugin"),__publicField(_c,"type",core.UniverInstanceType.UNIVER_SHEET),__publicField(_c,"pluginName",NAME),_c),exports2.UniverSheetsSortPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService)],exports2.UniverSheetsSortPlugin),exports2.SortRangeCommand=SortRangeCommand,exports2.SortType=SortType,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
1
+ function _0x1760(_0x193fb6,_0x26c01b){const _0x3c2b89=_0x3c2b();return _0x1760=function(_0x17600a,_0x135960){_0x17600a=_0x17600a-0x72;let _0x78ca3d=_0x3c2b89[_0x17600a];return _0x78ca3d;},_0x1760(_0x193fb6,_0x26c01b);}function _0x3c2b(){const _0x1aba45=['_univerInstanceService','_injector','sheet.command.sort-range','sequenceExecute','@univerjs/engine-formula','_sortService','NUMBER','push','sheets-sort.config','orderRules','251524gWexSG','parseFloat','amd','Rectangle','SortType','_getCommonValue','defineProperty','getSheetCommandTarget','5CcOhhk','@univerjs/core','9efhNgu','getRowFiltered','mergeCheck','registerCompareFn','unshift','endColumn','hasTitle','handler','_configService','startRow','function','_commandService','__decorateParam','UniverEngineFormula','243218ATLAXH','getOwnPropertyDescriptor','5YDaVgD','isNullValue','contains','3204904Vdvbrw','ICommandService','UniverSheetsSort','Injector','range','map','number','_compareFns','CellValueType','removeStringSymbol','body','result','type','reorderFnGenerator','BOOLEAN','endRow','dataStream','UniverSheetsSortPlugin','_config','replace','length','getRowRawVisible','Plugin','getSheetBySheetId','getCellRaw','toStringTag','@univerjs/sheets','getMergeData','SheetsSortService','UniverSheets','filter','Disposable','__decorateClass$1','intersects','keys','registerCommand','getUnit','STRING','_initCommands','toLocaleLowerCase','42KiVcpy','getRowCellData','SortRangeCommand','string','__decorateParam$2','getArrayFormulaRange','pluginName','get','5401596THtXEs','getAllCompareFns','applySort','name','640955PhzxEm','compareNumber','singleCheck','value','onReady','29880LVmTDH','SheetsSortController','emptyCheck','7381nwwmZR','add','executeCommand','COMMAND','_registerCompareFns','DESC','9561470gCKdsI','SHEET_SORT_PLUGIN','UNIVER_SHEET','__decorateParam$1','_formulaDataModel','desc','IUniverInstanceService','ASC','symbol','startColumn','object','Module','forEach','__decorateClass$2','ReorderRangeCommand'];_0x3c2b=function(){return _0x1aba45;};return _0x3c2b();}(function(_0x1d59d8,_0x2c35eb){const _0x344758=_0x1760,_0x172a7e=_0x1d59d8();while(!![]){try{const _0x50d093=-parseInt(_0x344758(0xca))/0x1*(parseInt(_0x344758(0xda))/0x2)+-parseInt(_0x344758(0x8f))/0x3*(parseInt(_0x344758(0xc2))/0x4)+parseInt(_0x344758(0xdc))/0x5*(-parseInt(_0x344758(0x97))/0x6)+parseInt(_0x344758(0x9b))/0x7+parseInt(_0x344758(0xdf))/0x8*(parseInt(_0x344758(0xcc))/0x9)+parseInt(_0x344758(0xa9))/0xa+-parseInt(_0x344758(0xa3))/0xb*(-parseInt(_0x344758(0xa0))/0xc);if(_0x50d093===_0x2c35eb)break;else _0x172a7e['push'](_0x172a7e['shift']());}catch(_0x507113){_0x172a7e['push'](_0x172a7e['shift']());}}}(_0x3c2b,0xb2566),function(_0x5f5980,_0x8786d0){const _0x1d5662=_0x1760;typeof exports==_0x1d5662(0xb3)&&typeof module<'u'?_0x8786d0(exports,require('@univerjs/core'),require(_0x1d5662(0x81)),require(_0x1d5662(0xbc))):typeof define==_0x1d5662(0xd6)&&define[_0x1d5662(0xc4)]?define(['exports',_0x1d5662(0xcb),_0x1d5662(0x81),_0x1d5662(0xbc)],_0x8786d0):(_0x5f5980=typeof globalThis<'u'?globalThis:_0x5f5980||self,_0x8786d0(_0x5f5980[_0x1d5662(0xe1)]={},_0x5f5980['UniverCore'],_0x5f5980[_0x1d5662(0x84)],_0x5f5980[_0x1d5662(0xd9)]));}(this,function(_0x178558,_0x3e891e,_0x509153,_0x218950){'use strict';const _0xc32a8d=_0x1760;var _0x596c49=Object[_0xc32a8d(0xc8)],_0x1ee783=(_0x58982c,_0x5d0ff7,_0x56995d)=>_0x5d0ff7 in _0x58982c?_0x596c49(_0x58982c,_0x5d0ff7,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x56995d}):_0x58982c[_0x5d0ff7]=_0x56995d,_0x30465b=(_0x5dd644,_0x18a42a)=>_0x596c49(_0x5dd644,_0xc32a8d(0x9a),{'value':_0x18a42a,'configurable':!0x0}),_0x267bfd=(_0x4ae467,_0x3ca78f,_0x1f306d)=>_0x1ee783(_0x4ae467,typeof _0x3ca78f!=_0xc32a8d(0xb1)?_0x3ca78f+'':_0x3ca78f,_0x1f306d),_0x44be4f,_0x32d3fc,_0x37eca3;const _0x12e3e4=_0xc32a8d(0xc0),_0xab6692={};var _0x3f6c55=(_0x184525=>(_0x184525[_0xc32a8d(0xa8)]=_0xc32a8d(0xae),_0x184525['ASC']='asc',_0x184525))(_0x3f6c55||{});const _0x3815eb=_0x30465b(_0x32b1ed=>_0x32b1ed[_0xc32a8d(0x7a)](/-/gi,'')[_0xc32a8d(0x7a)](/'/gi,''),_0xc32a8d(0xe8)),_0xd38f65=_0x30465b((_0x24cab8,_0x468379)=>{const _0x40df34=_0x24cab8===null||_0x24cab8==='',_0x3e25dc=_0x468379===null||_0x468379==='';return _0x40df34&&_0x3e25dc?0x0:_0x40df34?0x1:_0x3e25dc?-0x1:null;},'compareNull'),_0x11fdaf=_0x30465b((_0xe8d0f3,_0x19e42c,_0x4e39a3)=>{const _0xfff76e=_0xc32a8d,_0x344e24=typeof _0xe8d0f3==_0xfff76e(0xe5),_0x2ee129=typeof _0x19e42c==_0xfff76e(0xe5);return _0x344e24&&_0x2ee129?_0xe8d0f3<_0x19e42c?_0x4e39a3===_0x3f6c55[_0xfff76e(0xb0)]?-0x1:0x1:_0xe8d0f3>_0x19e42c?_0x4e39a3===_0x3f6c55['ASC']?0x1:-0x1:0x0:_0x344e24?_0x4e39a3===_0x3f6c55[_0xfff76e(0xb0)]?0x1:-0x1:_0x2ee129?_0x4e39a3===_0x3f6c55[_0xfff76e(0xb0)]?-0x1:0x1:null;},_0xc32a8d(0x9c)),_0x25324f=_0x30465b((_0x55c016,_0x30b720,_0x32fb1f)=>{const _0x292197=_0xc32a8d,_0x29b80f=typeof _0x55c016==_0x292197(0x92),_0x47147d=typeof _0x30b720==_0x292197(0x92);if(_0x29b80f&&(_0x55c016=_0x3815eb(_0x55c016[_0x292197(0x8e)]())),_0x47147d&&(_0x30b720=_0x3815eb(_0x30b720[_0x292197(0x8e)]())),!_0x29b80f&&!_0x47147d)return null;if(_0x29b80f&&_0x47147d){const _0x307708=_0x55c016,_0x26bf55=_0x30b720;return _0x307708<_0x26bf55?_0x32fb1f===_0x3f6c55[_0x292197(0xb0)]?-0x1:0x1:_0x307708>_0x26bf55?_0x32fb1f===_0x3f6c55[_0x292197(0xb0)]?0x1:-0x1:0x0;}return _0x29b80f?_0x32fb1f===_0x3f6c55['ASC']?0x1:-0x1:_0x47147d?_0x32fb1f===_0x3f6c55[_0x292197(0xb0)]?-0x1:0x1:null;},'compareString'),_0x2d8ed1=_0x30465b(_0x855d37=>!_0x855d37||Object[_0xc32a8d(0x89)](_0x855d37)[_0xc32a8d(0x7b)]===0x0||(_0x855d37==null?void 0x0:_0x855d37['v'])==null&&(_0x855d37==null?void 0x0:_0x855d37['p'])==null,_0xc32a8d(0xdd));var _0x4c8401=Object[_0xc32a8d(0xc8)],_0x36751e=Object[_0xc32a8d(0xdb)],_0x277b90=_0x30465b((_0x5906cb,_0x438396,_0xc68966,_0x464ad6)=>{const _0x3039b5=_0xc32a8d;for(var _0x32d881=_0x464ad6>0x1?void 0x0:_0x464ad6?_0x36751e(_0x438396,_0xc68966):_0x438396,_0x4a424d=_0x5906cb[_0x3039b5(0x7b)]-0x1,_0x480b73;_0x4a424d>=0x0;_0x4a424d--)(_0x480b73=_0x5906cb[_0x4a424d])&&(_0x32d881=(_0x464ad6?_0x480b73(_0x438396,_0xc68966,_0x32d881):_0x480b73(_0x32d881))||_0x32d881);return _0x464ad6&&_0x32d881&&_0x4c8401(_0x438396,_0xc68966,_0x32d881),_0x32d881;},_0xc32a8d(0xb6)),_0x28784f=_0x30465b((_0x22dcdd,_0x2f43dc)=>(_0x4624e3,_0x18a04b)=>_0x2f43dc(_0x4624e3,_0x18a04b,_0x22dcdd),_0xc32a8d(0x93));_0x178558[_0xc32a8d(0x83)]=(_0x44be4f=class extends _0x3e891e[_0xc32a8d(0x86)]{constructor(_0x31c4f9,_0xe89ec5,_0x34b4e5){const _0x12b698=_0xc32a8d;super(),_0x267bfd(this,'_compareFns',[]),(this[_0x12b698(0xb8)]=_0x31c4f9,this[_0x12b698(0xd7)]=_0xe89ec5,this[_0x12b698(0xad)]=_0x34b4e5);}[_0xc32a8d(0xce)](_0x4c2402){const _0x39030d=_0xc32a8d;var _0x39267b;const {unitId:_0x993bd6,subUnitId:_0xe20f1e,range:_0x3bfa66}=_0x4c2402,_0x434972=(_0x39267b=this[_0x39030d(0xb8)][_0x39030d(0x8b)](_0x993bd6))==null?void 0x0:_0x39267b['getSheetBySheetId'](_0xe20f1e);if(!_0x434972)return!0x1;const _0x47ad9c=_0x434972[_0x39030d(0x82)]()[_0x39030d(0x85)](_0x3f45bd=>_0x3e891e['Rectangle'][_0x39030d(0xde)](_0x3bfa66,_0x3f45bd));return _0x47ad9c['length']===0x0?!0x0:_0x51bbee(_0x3bfa66,_0x47ad9c);}[_0xc32a8d(0xa2)](_0x17333c){const _0x5e1cf0=_0xc32a8d;var _0x203c15;const {unitId:_0x2ec998,subUnitId:_0x139f8b,range:_0x45d0d6}=_0x17333c,_0x1d0c1f=(_0x203c15=this[_0x5e1cf0(0xb8)]['getUnit'](_0x2ec998))==null?void 0x0:_0x203c15[_0x5e1cf0(0x7e)](_0x139f8b);if(!_0x1d0c1f)return!0x1;for(let _0x449e1b=_0x45d0d6[_0x5e1cf0(0xd5)];_0x449e1b<=_0x45d0d6[_0x5e1cf0(0x76)];_0x449e1b++)for(let _0x413e99=_0x45d0d6[_0x5e1cf0(0xb2)];_0x413e99<=_0x45d0d6[_0x5e1cf0(0xd1)];_0x413e99++)if(!_0x2d8ed1(_0x1d0c1f[_0x5e1cf0(0x7f)](_0x449e1b,_0x413e99)))return!0x0;return!0x1;}[_0xc32a8d(0x9d)](_0x201382){const _0x264095=_0xc32a8d;return _0x201382[_0x264095(0xe3)][_0x264095(0xd5)]!==_0x201382[_0x264095(0xe3)]['endRow'];}['formulaCheck'](_0xc15f4a){const _0x3eefb8=_0xc32a8d;var _0x4e5a26,_0x154443;const {unitId:_0x273f57,subUnitId:_0x3efc03,range:_0xa37dde}=_0xc15f4a,_0x54ab93=(_0x154443=(_0x4e5a26=this['_formulaDataModel'][_0x3eefb8(0x94)]())==null?void 0x0:_0x4e5a26[_0x273f57])==null?void 0x0:_0x154443[_0x3efc03];for(const _0x4daefb in _0x54ab93){const _0x338cc2=_0x54ab93[Number(_0x4daefb)];for(const _0xd8ba77 in _0x338cc2){const _0x193f66=_0x338cc2[Number(_0xd8ba77)];if(_0x193f66&&_0x3e891e['Rectangle'][_0x3eefb8(0x88)](_0xa37dde,_0x193f66))return!0x1;}}return!0x0;}[_0xc32a8d(0xcf)](_0x23f405){const _0x250eb1=_0xc32a8d;this[_0x250eb1(0xe6)][_0x250eb1(0xd0)](_0x23f405);}[_0xc32a8d(0x98)](){const _0x52296f=_0xc32a8d;return this[_0x52296f(0xe6)];}[_0xc32a8d(0x99)](_0x536a01,_0x36860d,_0x55792f){const _0x498c93=_0xc32a8d;var _0x47a25a;const {unitId:_0xa6ce2a,subUnitId:_0xcf047d}=_0x509153['getSheetCommandTarget'](this['_univerInstanceService'])||{};this[_0x498c93(0xd7)][_0x498c93(0xa5)](_0x4d6b05['id'],{'orderRules':_0x536a01[_0x498c93(0xc1)],'range':_0x536a01['range'],'hasTitle':(_0x47a25a=_0x536a01[_0x498c93(0xd2)])!=null?_0x47a25a:!0x1,'unitId':_0x36860d||_0xa6ce2a,'subUnitId':_0x55792f||_0xcf047d});}},_0x30465b(_0x44be4f,_0xc32a8d(0x83)),_0x44be4f),_0x178558[_0xc32a8d(0x83)]=_0x277b90([_0x28784f(0x0,_0x3e891e[_0xc32a8d(0xaf)]),_0x28784f(0x1,_0x3e891e['ICommandService']),_0x28784f(0x2,_0x3e891e['Inject'](_0x218950['FormulaDataModel']))],_0x178558['SheetsSortService']);function _0x51bbee(_0x44ff23,_0x1eaa64){const _0x3dc345=_0xc32a8d,_0x34f8fa=_0x44ff23['endRow']-_0x44ff23['startRow']+0x1,_0x340514=_0x44ff23[_0x3dc345(0xd1)]-_0x44ff23[_0x3dc345(0xb2)]+0x1;let _0xd54130=null,_0xec3dda=null;const _0x4d0770=_0x34f8fa*_0x340514;let _0x109761=0x0;for(const _0x5e48aa of _0x1eaa64)if(_0x5e48aa[_0x3dc345(0xd5)]>=_0x44ff23['startRow']&&_0x5e48aa['endRow']<=_0x44ff23['endRow']&&_0x5e48aa[_0x3dc345(0xb2)]>=_0x44ff23[_0x3dc345(0xb2)]&&_0x5e48aa[_0x3dc345(0xd1)]<=_0x44ff23['endColumn']){const _0x48d147=_0x5e48aa['endRow']-_0x5e48aa[_0x3dc345(0xd5)]+0x1,_0x43cc08=_0x5e48aa['endColumn']-_0x5e48aa[_0x3dc345(0xb2)]+0x1;if(_0xd54130===null&&_0xec3dda===null)_0xd54130=_0x48d147,_0xec3dda=_0x43cc08;else{if(_0x48d147!==_0xd54130||_0x43cc08!==_0xec3dda)return!0x1;}_0x109761+=_0x48d147*_0x43cc08;}return _0x109761===_0x4d0770;}_0x30465b(_0x51bbee,'isRangeDividedEqually');const _0x4d6b05={'id':_0xc32a8d(0xba),'type':_0x3e891e['CommandType'][_0xc32a8d(0xa6)],'handler':_0x30465b((_0x2853ae,_0x36b527)=>{const _0x523595=_0xc32a8d,{range:_0xddb2bf,orderRules:_0xd7d6b4,hasTitle:_0x129afb,unitId:_0x1563d1,subUnitId:_0x2ab415}=_0x36b527,_0x5bc730=_0x2853ae[_0x523595(0x96)](_0x178558[_0x523595(0x83)]),_0x13c67a=_0x2853ae[_0x523595(0x96)](_0x3e891e[_0x523595(0xaf)]),{worksheet:_0x1a7d18}=_0x509153[_0x523595(0xc9)](_0x13c67a,_0x36b527)||{};if(!_0x1a7d18)return!0x1;const _0x49b708=_0x1a7d18[_0x523595(0x82)]()[_0x523595(0x85)](_0x1dc2f6=>_0x3e891e[_0x523595(0xc5)]['contains'](_0xddb2bf,_0x1dc2f6)),_0x39179b=_0x49b708[_0x523595(0xe4)](_0x2a7104=>_0x2a7104[_0x523595(0xd5)]),{startRow:_0x2294ea,endRow:_0x409246}=_0xddb2bf,_0x253daa=_0x129afb?_0x2294ea+0x1:_0x2294ea,_0x14b0ff=[],_0x45f96d=[];for(let _0x1ba1fd=_0x253daa;_0x1ba1fd<=_0x409246;_0x1ba1fd++)_0x1a7d18[_0x523595(0xcd)](_0x1ba1fd)||_0x1a7d18[_0x523595(0x7c)](_0x1ba1fd)!==!0x1&&(_0x49b708[_0x523595(0x7b)]&&!_0x39179b['includes'](_0x1ba1fd)||(_0x14b0ff['push']({'index':_0x1ba1fd,'value':_0x2034ec(_0x1a7d18,_0x1ba1fd,_0xd7d6b4)}),_0x45f96d[_0x523595(0xbf)](_0x1ba1fd)));const _0x4e0e66=_0x5bc730[_0x523595(0x98)]();_0x14b0ff['sort'](_0x4d3dd8(_0xd7d6b4,_0xf02778(_0x4e0e66)));const _0x527c98={};_0x14b0ff[_0x523595(0xb5)](({index:_0x5a94e9,value:_0x3d5c1b},_0x9a5dbb)=>{_0x527c98[_0x45f96d[_0x9a5dbb]]=_0x5a94e9;});const _0x4a2ae9={'id':_0x509153[_0x523595(0xb7)]['id'],'params':{'unitId':_0x1563d1,'subUnitId':_0x2ab415,'range':_0xddb2bf,'order':_0x527c98}},_0xb421d8=_0x2853ae['get'](_0x3e891e[_0x523595(0xe0)]);return _0x3e891e[_0x523595(0xbb)]([_0x4a2ae9],_0xb421d8)[_0x523595(0x72)];},_0xc32a8d(0xd3))};function _0x2034ec(_0x519848,_0x559c77,_0x495826){const _0x349056=[];return _0x495826['forEach'](({colIndex:_0x3beecb})=>{const _0x195d8c=_0x1760;_0x349056[_0x195d8c(0xbf)](_0x519848[_0x195d8c(0x7f)](_0x559c77,_0x3beecb));}),_0x349056;}_0x30465b(_0x2034ec,_0xc32a8d(0x90));function _0xf02778(_0x1c7a88){return(_0x1b3427,_0xb9727c,_0x369a1b)=>{const _0x298224=_0x1760;for(let _0x269db4=0x0;_0x269db4<_0x1c7a88[_0x298224(0x7b)];_0x269db4++){const _0x4e294e=_0x1c7a88[_0x269db4](_0x1b3427,_0xb9727c,_0x369a1b);if(_0x4e294e!=null)return _0x4e294e;}return 0x0;};}_0x30465b(_0xf02778,'combineCompareFnsAsOne');function _0x4d3dd8(_0x17e791,_0x1daf6e){return function(_0x17cacd,_0x3cd95f){const _0x3ce633=_0x1760;let _0x3f9263=null;for(let _0x3c9f73=0x0;_0x3c9f73<_0x17e791[_0x3ce633(0x7b)];_0x3c9f73++){const _0x272a9f=_0x17cacd[_0x3ce633(0x9e)][_0x3c9f73],_0x47d42c=_0x3cd95f[_0x3ce633(0x9e)][_0x3c9f73];if(_0x3f9263=_0x1daf6e(_0x17e791[_0x3c9f73][_0x3ce633(0x73)],_0x272a9f,_0x47d42c),_0x3f9263!==0x0&&_0x3f9263!==null&&_0x3f9263!==void 0x0)return _0x3f9263;}return 0x0;};}_0x30465b(_0x4d3dd8,_0xc32a8d(0x74));var _0x36d22b=Object[_0xc32a8d(0xc8)],_0x44a7da=Object['getOwnPropertyDescriptor'],_0x225265=_0x30465b((_0x42e433,_0x59c3c3,_0x22cd84,_0x13260d)=>{const _0x24539d=_0xc32a8d;for(var _0x4024a8=_0x13260d>0x1?void 0x0:_0x13260d?_0x44a7da(_0x59c3c3,_0x22cd84):_0x59c3c3,_0x5f1a1f=_0x42e433[_0x24539d(0x7b)]-0x1,_0x1daebe;_0x5f1a1f>=0x0;_0x5f1a1f--)(_0x1daebe=_0x42e433[_0x5f1a1f])&&(_0x4024a8=(_0x13260d?_0x1daebe(_0x59c3c3,_0x22cd84,_0x4024a8):_0x1daebe(_0x4024a8))||_0x4024a8);return _0x13260d&&_0x4024a8&&_0x36d22b(_0x59c3c3,_0x22cd84,_0x4024a8),_0x4024a8;},_0xc32a8d(0x87)),_0x194a28=_0x30465b((_0x494235,_0x4fb17a)=>(_0x1d93bd,_0x3f5cbe)=>_0x4fb17a(_0x1d93bd,_0x3f5cbe,_0x494235),_0xc32a8d(0xac));let _0x193f6c=(_0x32d3fc=class extends _0x3e891e['Disposable']{constructor(_0x1dd8d9,_0x5a33cb){const _0x2b4449=_0xc32a8d;super(),this['_commandService']=_0x1dd8d9,this[_0x2b4449(0xbd)]=_0x5a33cb,this[_0x2b4449(0x8d)](),this[_0x2b4449(0xa7)]();}[_0xc32a8d(0x8d)](){const _0x2da060=_0xc32a8d;[_0x4d6b05][_0x2da060(0xb5)](_0x4e8fc1=>this['disposeWithMe'](this[_0x2da060(0xd7)][_0x2da060(0x8a)](_0x4e8fc1)));}[_0xc32a8d(0xa7)](){const _0x2b520e=_0xc32a8d,_0x4d52f6=_0x30465b((_0x289103,_0x1a67b0,_0xeef9dd)=>{const _0x254af8=_0x1760,_0x5a20f1=this[_0x254af8(0xc7)](_0x1a67b0),_0x46d44e=this[_0x254af8(0xc7)](_0xeef9dd),_0x477f14=[_0xd38f65,_0x25324f,_0x11fdaf];for(let _0x11206f=0x0;_0x11206f<_0x477f14['length'];_0x11206f++){const _0x2394a5=_0x477f14[_0x11206f](_0x5a20f1,_0x46d44e,_0x289103);if(_0x2394a5!==null)return _0x2394a5;}return null;},'commonFn');this[_0x2b520e(0xbd)]['registerCompareFn'](_0x4d52f6);}[_0xc32a8d(0xc7)](_0x2315b3){const _0x2ece1f=_0xc32a8d;var _0x7876c2,_0x325aab;if(_0x2d8ed1(_0x2315b3))return null;const _0x52a27b=(_0x325aab=(_0x7876c2=_0x2315b3==null?void 0x0:_0x2315b3['p'])==null?void 0x0:_0x7876c2[_0x2ece1f(0xe9)])==null?void 0x0:_0x325aab[_0x2ece1f(0x77)];return _0x52a27b||((_0x2315b3==null?void 0x0:_0x2315b3['t'])===_0x3e891e[_0x2ece1f(0xe7)][_0x2ece1f(0xbe)]?Number[_0x2ece1f(0xc3)](''+_0x2315b3['v']):(_0x2315b3==null?void 0x0:_0x2315b3['t'])===_0x3e891e[_0x2ece1f(0xe7)][_0x2ece1f(0x8c)]?typeof _0x2315b3['v']==_0x2ece1f(0xe5)?_0x2315b3['v']:''+_0x2315b3['v']:(_0x2315b3==null?void 0x0:_0x2315b3['t'])===_0x3e891e['CellValueType'][_0x2ece1f(0x75)]?''+_0x2315b3['v']:(_0x2315b3==null?void 0x0:_0x2315b3['t'])===_0x3e891e[_0x2ece1f(0xe7)]['FORCE_STRING']?Number[_0x2ece1f(0xc3)](''+_0x2315b3['v']):''+(_0x2315b3==null?void 0x0:_0x2315b3['v']));}},_0x30465b(_0x32d3fc,_0xc32a8d(0xa1)),_0x32d3fc);_0x193f6c=_0x225265([_0x194a28(0x0,_0x3e891e[_0xc32a8d(0xe0)]),_0x194a28(0x1,_0x3e891e['Inject'](_0x178558[_0xc32a8d(0x83)]))],_0x193f6c);var _0x20b4fd=Object[_0xc32a8d(0xc8)],_0x1aebf8=Object['getOwnPropertyDescriptor'],_0x325496=_0x30465b((_0x24d263,_0x45d1aa,_0x56424f,_0x4df2b0)=>{for(var _0x647b98=_0x4df2b0>0x1?void 0x0:_0x4df2b0?_0x1aebf8(_0x45d1aa,_0x56424f):_0x45d1aa,_0x1f0ee4=_0x24d263['length']-0x1,_0x265082;_0x1f0ee4>=0x0;_0x1f0ee4--)(_0x265082=_0x24d263[_0x1f0ee4])&&(_0x647b98=(_0x4df2b0?_0x265082(_0x45d1aa,_0x56424f,_0x647b98):_0x265082(_0x647b98))||_0x647b98);return _0x4df2b0&&_0x647b98&&_0x20b4fd(_0x45d1aa,_0x56424f,_0x647b98),_0x647b98;},'__decorateClass'),_0x294232=_0x30465b((_0x611c98,_0xbd3793)=>(_0x4cc87a,_0xdb5f6b)=>_0xbd3793(_0x4cc87a,_0xdb5f6b,_0x611c98),_0xc32a8d(0xd8));const _0x34a310=_0xc32a8d(0xaa);_0x178558[_0xc32a8d(0x78)]=(_0x37eca3=class extends _0x3e891e[_0xc32a8d(0x7d)]{constructor(_0x29b63f=_0xab6692,_0x51e252,_0x4e0c5a){const _0x10092a=_0xc32a8d;super(),this['_config']=_0x29b63f,this[_0x10092a(0xb9)]=_0x51e252,this[_0x10092a(0xd4)]=_0x4e0c5a;const {..._0x17dad9}=this[_0x10092a(0x79)];this[_0x10092a(0xd4)]['setConfig'](_0x12e3e4,_0x17dad9);}['onStarting'](){const _0x7e938c=_0xc32a8d;[[_0x193f6c],[_0x178558[_0x7e938c(0x83)]]][_0x7e938c(0xb5)](_0x70f501=>this[_0x7e938c(0xb9)][_0x7e938c(0xa4)](_0x70f501));}[_0xc32a8d(0x9f)](){const _0x5008a3=_0xc32a8d;this[_0x5008a3(0xb9)][_0x5008a3(0x96)](_0x193f6c);}},_0x30465b(_0x37eca3,_0xc32a8d(0x78)),_0x267bfd(_0x37eca3,_0xc32a8d(0x73),_0x3e891e['UniverInstanceType'][_0xc32a8d(0xab)]),_0x267bfd(_0x37eca3,_0xc32a8d(0x95),_0x34a310),_0x37eca3),_0x178558[_0xc32a8d(0x78)]=_0x325496([_0x294232(0x1,_0x3e891e['Inject'](_0x3e891e[_0xc32a8d(0xe2)])),_0x294232(0x2,_0x3e891e['IConfigService'])],_0x178558[_0xc32a8d(0x78)]),_0x178558[_0xc32a8d(0x91)]=_0x4d6b05,_0x178558[_0xc32a8d(0xc6)]=_0x3f6c55,Object['defineProperty'](_0x178558,Symbol[_0xc32a8d(0x80)],{'value':_0xc32a8d(0xb4)});}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-sort",
3
- "version": "0.3.0-alpha.0",
3
+ "version": "0.3.0-nightly.202410101606",
4
4
  "private": false,
5
5
  "description": "A library for sorting data in Univer Sheet",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -45,21 +45,21 @@
45
45
  "lib"
46
46
  ],
47
47
  "peerDependencies": {
48
- "@univerjs/core": "0.3.0-alpha.0",
49
- "@univerjs/sheets": "0.3.0-alpha.0",
50
- "@univerjs/engine-formula": "0.3.0-alpha.0"
48
+ "@univerjs/core": "0.3.0-nightly.202410101606",
49
+ "@univerjs/sheets": "0.3.0-nightly.202410101606",
50
+ "@univerjs/engine-formula": "0.3.0-nightly.202410101606"
51
51
  },
52
52
  "dependencies": {
53
- "@univerjs/core": "0.3.0-alpha.0",
54
- "@univerjs/engine-formula": "0.3.0-alpha.0",
55
- "@univerjs/sheets": "0.3.0-alpha.0"
53
+ "@univerjs/core": "0.3.0-nightly.202410101606",
54
+ "@univerjs/engine-formula": "0.3.0-nightly.202410101606",
55
+ "@univerjs/sheets": "0.3.0-nightly.202410101606"
56
56
  },
57
57
  "devDependencies": {
58
58
  "rxjs": "^7.8.1",
59
59
  "typescript": "^5.6.2",
60
60
  "vite": "^5.4.8",
61
61
  "vitest": "^2.1.1",
62
- "@univerjs-infra/shared": "0.3.0-alpha.0"
62
+ "@univerjs-infra/shared": "0.3.0"
63
63
  },
64
64
  "univerSpace": {
65
65
  ".": {
package/LICENSE DELETED
@@ -1,176 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS