@univerjs/sheets-sort 1.0.0-rc.0 → 1.0.1
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 +9 -8
- package/lib/es/index.js +9 -8
- package/lib/index.js +9 -8
- package/lib/umd/index.js +1 -1
- package/package.json +6 -6
package/lib/cjs/index.js
CHANGED
|
@@ -60,7 +60,7 @@ const isNullValue = (cell) => {
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
//#endregion
|
|
63
|
-
//#region \0@oxc-project+runtime@0.
|
|
63
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
|
|
64
64
|
function _typeof(o) {
|
|
65
65
|
"@babel/helpers - typeof";
|
|
66
66
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -71,7 +71,7 @@ function _typeof(o) {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
//#endregion
|
|
74
|
-
//#region \0@oxc-project+runtime@0.
|
|
74
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
|
|
75
75
|
function toPrimitive(t, r) {
|
|
76
76
|
if ("object" != _typeof(t) || !t) return t;
|
|
77
77
|
var e = t[Symbol.toPrimitive];
|
|
@@ -84,14 +84,14 @@ function toPrimitive(t, r) {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
//#endregion
|
|
87
|
-
//#region \0@oxc-project+runtime@0.
|
|
87
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
|
|
88
88
|
function toPropertyKey(t) {
|
|
89
89
|
var i = toPrimitive(t, "string");
|
|
90
90
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
//#endregion
|
|
94
|
-
//#region \0@oxc-project+runtime@0.
|
|
94
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
|
|
95
95
|
function _defineProperty(e, r, t) {
|
|
96
96
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
97
97
|
value: t,
|
|
@@ -102,7 +102,7 @@ function _defineProperty(e, r, t) {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
//#endregion
|
|
105
|
-
//#region \0@oxc-project+runtime@0.
|
|
105
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
|
|
106
106
|
function __decorateParam(paramIndex, decorator) {
|
|
107
107
|
return function(target, key) {
|
|
108
108
|
decorator(target, key, paramIndex);
|
|
@@ -110,7 +110,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
//#endregion
|
|
113
|
-
//#region \0@oxc-project+runtime@0.
|
|
113
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
114
114
|
function __decorate(decorators, target, key, desc) {
|
|
115
115
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
116
116
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -211,7 +211,8 @@ const SortRangeCommand = {
|
|
|
211
211
|
handler: (accessor, params) => {
|
|
212
212
|
const { range, orderRules, hasTitle, unitId, subUnitId } = params;
|
|
213
213
|
const sortService = accessor.get(SheetsSortService);
|
|
214
|
-
const
|
|
214
|
+
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
215
|
+
const { worksheet } = (0, _univerjs_sheets.getSheetCommandTarget)(univerInstanceService, params) || {};
|
|
215
216
|
if (!worksheet) return false;
|
|
216
217
|
const mergeDataInRange = worksheet.getMergeData().filter((mergeData) => {
|
|
217
218
|
return _univerjs_core.Rectangle.contains(range, mergeData);
|
|
@@ -331,7 +332,7 @@ SheetsSortController = __decorate([__decorateParam(0, _univerjs_core.ICommandSer
|
|
|
331
332
|
//#endregion
|
|
332
333
|
//#region package.json
|
|
333
334
|
var name = "@univerjs/sheets-sort";
|
|
334
|
-
var version = "1.0.
|
|
335
|
+
var version = "1.0.1";
|
|
335
336
|
|
|
336
337
|
//#endregion
|
|
337
338
|
//#region src/config/config.ts
|
package/lib/es/index.js
CHANGED
|
@@ -59,7 +59,7 @@ const isNullValue = (cell) => {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
//#endregion
|
|
62
|
-
//#region \0@oxc-project+runtime@0.
|
|
62
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
|
|
63
63
|
function _typeof(o) {
|
|
64
64
|
"@babel/helpers - typeof";
|
|
65
65
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -70,7 +70,7 @@ function _typeof(o) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
//#endregion
|
|
73
|
-
//#region \0@oxc-project+runtime@0.
|
|
73
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
|
|
74
74
|
function toPrimitive(t, r) {
|
|
75
75
|
if ("object" != _typeof(t) || !t) return t;
|
|
76
76
|
var e = t[Symbol.toPrimitive];
|
|
@@ -83,14 +83,14 @@ function toPrimitive(t, r) {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
//#endregion
|
|
86
|
-
//#region \0@oxc-project+runtime@0.
|
|
86
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
|
|
87
87
|
function toPropertyKey(t) {
|
|
88
88
|
var i = toPrimitive(t, "string");
|
|
89
89
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
//#endregion
|
|
93
|
-
//#region \0@oxc-project+runtime@0.
|
|
93
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
|
|
94
94
|
function _defineProperty(e, r, t) {
|
|
95
95
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
96
96
|
value: t,
|
|
@@ -101,7 +101,7 @@ function _defineProperty(e, r, t) {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
//#endregion
|
|
104
|
-
//#region \0@oxc-project+runtime@0.
|
|
104
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
|
|
105
105
|
function __decorateParam(paramIndex, decorator) {
|
|
106
106
|
return function(target, key) {
|
|
107
107
|
decorator(target, key, paramIndex);
|
|
@@ -109,7 +109,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
//#endregion
|
|
112
|
-
//#region \0@oxc-project+runtime@0.
|
|
112
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
113
113
|
function __decorate(decorators, target, key, desc) {
|
|
114
114
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
115
115
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -210,7 +210,8 @@ const SortRangeCommand = {
|
|
|
210
210
|
handler: (accessor, params) => {
|
|
211
211
|
const { range, orderRules, hasTitle, unitId, subUnitId } = params;
|
|
212
212
|
const sortService = accessor.get(SheetsSortService);
|
|
213
|
-
const
|
|
213
|
+
const univerInstanceService = accessor.get(IUniverInstanceService);
|
|
214
|
+
const { worksheet } = getSheetCommandTarget(univerInstanceService, params) || {};
|
|
214
215
|
if (!worksheet) return false;
|
|
215
216
|
const mergeDataInRange = worksheet.getMergeData().filter((mergeData) => {
|
|
216
217
|
return Rectangle.contains(range, mergeData);
|
|
@@ -330,7 +331,7 @@ SheetsSortController = __decorate([__decorateParam(0, ICommandService), __decora
|
|
|
330
331
|
//#endregion
|
|
331
332
|
//#region package.json
|
|
332
333
|
var name = "@univerjs/sheets-sort";
|
|
333
|
-
var version = "1.0.
|
|
334
|
+
var version = "1.0.1";
|
|
334
335
|
|
|
335
336
|
//#endregion
|
|
336
337
|
//#region src/config/config.ts
|
package/lib/index.js
CHANGED
|
@@ -59,7 +59,7 @@ const isNullValue = (cell) => {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
//#endregion
|
|
62
|
-
//#region \0@oxc-project+runtime@0.
|
|
62
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
|
|
63
63
|
function _typeof(o) {
|
|
64
64
|
"@babel/helpers - typeof";
|
|
65
65
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -70,7 +70,7 @@ function _typeof(o) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
//#endregion
|
|
73
|
-
//#region \0@oxc-project+runtime@0.
|
|
73
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
|
|
74
74
|
function toPrimitive(t, r) {
|
|
75
75
|
if ("object" != _typeof(t) || !t) return t;
|
|
76
76
|
var e = t[Symbol.toPrimitive];
|
|
@@ -83,14 +83,14 @@ function toPrimitive(t, r) {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
//#endregion
|
|
86
|
-
//#region \0@oxc-project+runtime@0.
|
|
86
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
|
|
87
87
|
function toPropertyKey(t) {
|
|
88
88
|
var i = toPrimitive(t, "string");
|
|
89
89
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
//#endregion
|
|
93
|
-
//#region \0@oxc-project+runtime@0.
|
|
93
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
|
|
94
94
|
function _defineProperty(e, r, t) {
|
|
95
95
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
96
96
|
value: t,
|
|
@@ -101,7 +101,7 @@ function _defineProperty(e, r, t) {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
//#endregion
|
|
104
|
-
//#region \0@oxc-project+runtime@0.
|
|
104
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
|
|
105
105
|
function __decorateParam(paramIndex, decorator) {
|
|
106
106
|
return function(target, key) {
|
|
107
107
|
decorator(target, key, paramIndex);
|
|
@@ -109,7 +109,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
//#endregion
|
|
112
|
-
//#region \0@oxc-project+runtime@0.
|
|
112
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
113
113
|
function __decorate(decorators, target, key, desc) {
|
|
114
114
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
115
115
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -210,7 +210,8 @@ const SortRangeCommand = {
|
|
|
210
210
|
handler: (accessor, params) => {
|
|
211
211
|
const { range, orderRules, hasTitle, unitId, subUnitId } = params;
|
|
212
212
|
const sortService = accessor.get(SheetsSortService);
|
|
213
|
-
const
|
|
213
|
+
const univerInstanceService = accessor.get(IUniverInstanceService);
|
|
214
|
+
const { worksheet } = getSheetCommandTarget(univerInstanceService, params) || {};
|
|
214
215
|
if (!worksheet) return false;
|
|
215
216
|
const mergeDataInRange = worksheet.getMergeData().filter((mergeData) => {
|
|
216
217
|
return Rectangle.contains(range, mergeData);
|
|
@@ -330,7 +331,7 @@ SheetsSortController = __decorate([__decorateParam(0, ICommandService), __decora
|
|
|
330
331
|
//#endregion
|
|
331
332
|
//#region package.json
|
|
332
333
|
var name = "@univerjs/sheets-sort";
|
|
333
|
-
var version = "1.0.
|
|
334
|
+
var version = "1.0.1";
|
|
334
335
|
|
|
335
336
|
//#endregion
|
|
336
337
|
//#region src/config/config.ts
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(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`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsSort={},e.UniverCore,e.UniverSheets,e.UniverEngineFormula))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i=function(e){return e.DESC=`desc`,e.ASC=`asc`,e}({}),a=e=>e.replace(/-/gi,``).replace(/'/gi,``),o=(e,t)=>{let n=e===null||e===``,r=t===null||t===``;return n&&r?0:n?1:r?-1:null},s=(e,t,n)=>{let r=typeof e==`number`,i=typeof t==`number`;return r&&i?e<t?n===`asc`?-1:1:e>t?n===`asc`?1:-1:0:r?n===`asc`?1:-1:i?n===`asc`?-1:1:null},c=(e,t,n)=>{let r=typeof e==`string`,i=typeof t==`string`;if(r&&(e=a(e.toLocaleLowerCase())),i&&(t=a(t.toLocaleLowerCase())),!r&&!i)return null;if(r&&i){let r=e,i=t;return r<i?n===`asc`?-1:1:r>i?n===`asc`?1:-1:0}return r?n===`asc`?1:-1:i?n===`asc`?-1:1:null},l=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return function(n,r){t(n,r,e)}}function h(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let g=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._commandService=t,this._formulaDataModel=n,p(this,`_compareFns`,[])}mergeCheck(e){var n;let{unitId:r,subUnitId:i,range:a}=e,o=(n=this._univerInstanceService.getUnit(r))==null?void 0:n.getSheetBySheetId(i);if(!o)return!1;let s=o.getMergeData().filter(e=>t.Rectangle.contains(a,e));return s.length===0||_(a,s)}emptyCheck(e){var t;let{unitId:n,subUnitId:r,range:i}=e,a=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);if(!a)return!1;for(let e=i.startRow;e<=i.endRow;e++)for(let t=i.startColumn;t<=i.endColumn;t++)if(!l(a.getCellRaw(e,t)))return!0;return!1}singleCheck(e){return e.range.startRow!==e.range.endRow}formulaCheck(e){var n;let{unitId:r,subUnitId:i,range:a}=e,o=(n=this._formulaDataModel.getArrayFormulaRange())==null||(n=n[r])==null?void 0:n[i];for(let e in o){let n=o[Number(e)];for(let e in n){let r=n[Number(e)];if(r&&t.Rectangle.intersects(a,r))return!1}}return!0}registerCompareFn(e){this._compareFns.unshift(e)}getAllCompareFns(){return this._compareFns}applySort(e,t,r){let{unitId:i,subUnitId:a}=(0,n.getSheetCommandTarget)(this._univerInstanceService)||{};this._commandService.executeCommand(v.id,{orderRules:e.orderRules,range:e.range,hasTitle:e.hasTitle??!1,unitId:t||i,subUnitId:r||a})}};g=h([m(0,t.IUniverInstanceService),m(1,t.ICommandService),m(2,(0,t.Inject)(r.FormulaDataModel))],g);function _(e,t){let n=e.endRow-e.startRow+1,r=e.endColumn-e.startColumn+1,i=null,a=null,o=n*r,s=0;for(let n of t)if(n.startRow>=e.startRow&&n.endRow<=e.endRow&&n.startColumn>=e.startColumn&&n.endColumn<=e.endColumn){let e=n.endRow-n.startRow+1,t=n.endColumn-n.startColumn+1;if(i===null&&a===null)i=e,a=t;else if(e!==i||t!==a)return!1;s+=e*t}return s===o}let v={id:`sheet.command.sort-range`,type:t.CommandType.COMMAND,handler:(e,r)=>{let{range:i,orderRules:a,hasTitle:o,unitId:s,subUnitId:c}=r,l=e.get(g),{worksheet:
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(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`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsSort={},e.UniverCore,e.UniverSheets,e.UniverEngineFormula))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i=function(e){return e.DESC=`desc`,e.ASC=`asc`,e}({}),a=e=>e.replace(/-/gi,``).replace(/'/gi,``),o=(e,t)=>{let n=e===null||e===``,r=t===null||t===``;return n&&r?0:n?1:r?-1:null},s=(e,t,n)=>{let r=typeof e==`number`,i=typeof t==`number`;return r&&i?e<t?n===`asc`?-1:1:e>t?n===`asc`?1:-1:0:r?n===`asc`?1:-1:i?n===`asc`?-1:1:null},c=(e,t,n)=>{let r=typeof e==`string`,i=typeof t==`string`;if(r&&(e=a(e.toLocaleLowerCase())),i&&(t=a(t.toLocaleLowerCase())),!r&&!i)return null;if(r&&i){let r=e,i=t;return r<i?n===`asc`?-1:1:r>i?n===`asc`?1:-1:0}return r?n===`asc`?1:-1:i?n===`asc`?-1:1:null},l=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return function(n,r){t(n,r,e)}}function h(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let g=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._commandService=t,this._formulaDataModel=n,p(this,`_compareFns`,[])}mergeCheck(e){var n;let{unitId:r,subUnitId:i,range:a}=e,o=(n=this._univerInstanceService.getUnit(r))==null?void 0:n.getSheetBySheetId(i);if(!o)return!1;let s=o.getMergeData().filter(e=>t.Rectangle.contains(a,e));return s.length===0||_(a,s)}emptyCheck(e){var t;let{unitId:n,subUnitId:r,range:i}=e,a=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);if(!a)return!1;for(let e=i.startRow;e<=i.endRow;e++)for(let t=i.startColumn;t<=i.endColumn;t++)if(!l(a.getCellRaw(e,t)))return!0;return!1}singleCheck(e){return e.range.startRow!==e.range.endRow}formulaCheck(e){var n;let{unitId:r,subUnitId:i,range:a}=e,o=(n=this._formulaDataModel.getArrayFormulaRange())==null||(n=n[r])==null?void 0:n[i];for(let e in o){let n=o[Number(e)];for(let e in n){let r=n[Number(e)];if(r&&t.Rectangle.intersects(a,r))return!1}}return!0}registerCompareFn(e){this._compareFns.unshift(e)}getAllCompareFns(){return this._compareFns}applySort(e,t,r){let{unitId:i,subUnitId:a}=(0,n.getSheetCommandTarget)(this._univerInstanceService)||{};this._commandService.executeCommand(v.id,{orderRules:e.orderRules,range:e.range,hasTitle:e.hasTitle??!1,unitId:t||i,subUnitId:r||a})}};g=h([m(0,t.IUniverInstanceService),m(1,t.ICommandService),m(2,(0,t.Inject)(r.FormulaDataModel))],g);function _(e,t){let n=e.endRow-e.startRow+1,r=e.endColumn-e.startColumn+1,i=null,a=null,o=n*r,s=0;for(let n of t)if(n.startRow>=e.startRow&&n.endRow<=e.endRow&&n.startColumn>=e.startColumn&&n.endColumn<=e.endColumn){let e=n.endRow-n.startRow+1,t=n.endColumn-n.startColumn+1;if(i===null&&a===null)i=e,a=t;else if(e!==i||t!==a)return!1;s+=e*t}return s===o}let v={id:`sheet.command.sort-range`,type:t.CommandType.COMMAND,handler:(e,r)=>{let{range:i,orderRules:a,hasTitle:o,unitId:s,subUnitId:c}=r,l=e.get(g),u=e.get(t.IUniverInstanceService),{worksheet:d}=(0,n.getSheetCommandTarget)(u,r)||{};if(!d)return!1;let f=d.getMergeData().filter(e=>t.Rectangle.contains(i,e)),p=f.map(e=>e.startRow),{startRow:m,endRow:h}=i,_=o?m+1:m,v=[],S=[];for(let e=_;e<=h;e++)d.getRowFiltered(e)||d.getRowRawVisible(e)!==!1&&(!f.length||p.includes(e))&&(v.push({index:e,value:y(d,e,a)}),S.push(e));let C=l.getAllCompareFns();v.sort(x(a,b(C)));let w={};v.forEach(({index:e,value:t},n)=>{w[S[n]]=e});let T={id:n.ReorderRangeCommand.id,params:{unitId:s,subUnitId:c,range:i,order:w}},E=e.get(t.ICommandService);return(0,t.sequenceExecute)([T],E).result}};function y(e,t,n){let r=[];return n.forEach(({colIndex:n})=>{r.push(e.getCellRaw(t,n))}),r}function b(e){return(t,n,r)=>{for(let i=0;i<e.length;i++){let a=e[i](t,n,r);if(a!=null)return a}return 0}}function x(e,t){return function(n,r){let i=null;for(let a=0;a<e.length;a++){let o=n.value[a],s=r.value[a];if(i=t(e[a].type,o,s),i!==0&&i!=null)return i}return 0}}let S=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._sortService=t,this._initCommands(),this._registerCompareFns()}_initCommands(){[v].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){this._sortService.registerCompareFn((e,t,n)=>{let r=this._getCommonValue(t),i=this._getCommonValue(n),a=[o,c,s];for(let t=0;t<a.length;t++){let n=a[t](r,i,e);if(n!==null)return n}return null})}_getCommonValue(e){var n;return l(e)?null:(e==null||(n=e.p)==null||(n=n.body)==null?void 0:n.dataStream)||((e==null?void 0:e.t)===t.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===t.CellValueType.STRING?typeof e.v==`number`?e.v:`${e.v}`:(e==null?void 0:e.t)===t.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===t.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};S=h([m(0,t.ICommandService),m(1,(0,t.Inject)(g))],S);var C=`@univerjs/sheets-sort`,w=`1.0.1`;let T={},E=class extends t.Plugin{constructor(e=T,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},T,this._config);this._configService.setConfig(`sheets-sort.config`,i)}onStarting(){[[S],[g]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(S)}};p(E,`type`,t.UniverInstanceType.UNIVER_SHEET),p(E,`pluginName`,`SHEET_SORT_PLUGIN`),p(E,`packageName`,C),p(E,`version`,w),E=h([(0,t.DependentOn)(r.UniverFormulaEnginePlugin,n.UniverSheetsPlugin),m(1,(0,t.Inject)(t.Injector)),m(2,t.IConfigService)],E),Object.defineProperty(e,"SheetsSortController",{enumerable:!0,get:function(){return S}}),Object.defineProperty(e,"SheetsSortService",{enumerable:!0,get:function(){return g}}),e.SortRangeCommand=v,e.SortType=i,Object.defineProperty(e,"UniverSheetsSortPlugin",{enumerable:!0,get:function(){return E}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-sort",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Sorting model, commands, and services for Univer Sheets.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -59,14 +59,14 @@
|
|
|
59
59
|
"lib"
|
|
60
60
|
],
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@univerjs/
|
|
63
|
-
"@univerjs/
|
|
64
|
-
"@univerjs/sheets": "1.0.
|
|
62
|
+
"@univerjs/core": "1.0.1",
|
|
63
|
+
"@univerjs/engine-formula": "1.0.1",
|
|
64
|
+
"@univerjs/sheets": "1.0.1"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
+
"@univerjs-infra/shared": "1.0.1",
|
|
67
68
|
"typescript": "^6.0.3",
|
|
68
|
-
"vitest": "^5.0.0"
|
|
69
|
-
"@univerjs-infra/shared": "1.0.0-rc.0"
|
|
69
|
+
"vitest": "^5.0.0"
|
|
70
70
|
},
|
|
71
71
|
"scripts": {
|
|
72
72
|
"test": "vitest run",
|