@univerjs/sheets-sort 0.6.10 → 0.7.0-beta.0

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 j=Object.defineProperty;var V=(e,r,t)=>r in e?j(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var d=(e,r,t)=>V(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),R=require("@univerjs/sheets"),$=require("@univerjs/engine-formula"),x="sheets-sort.config",A={};var g=(e=>(e.DESC="desc",e.ASC="asc",e))(g||{});const y=e=>e.replace(/-/gi,"").replace(/'/gi,""),L=(e,r)=>{const t=e===null||e==="",n=r===null||r==="";return t&&n?0:t?1:n?-1:null},G=(e,r,t)=>{const n=typeof e=="number",o=typeof r=="number";return n&&o?e<r?t===g.ASC?-1:1:e>r?t===g.ASC?1:-1:0:n?t===g.ASC?1:-1:o?t===g.ASC?-1:1:null},q=(e,r,t)=>{const n=typeof e=="string",o=typeof r=="string";if(n&&(e=y(e.toLocaleLowerCase())),o&&(r=y(r.toLocaleLowerCase())),!n&&!o)return null;if(n&&o){const s=e,i=r;return s<i?t===g.ASC?-1:1:s>i?t===g.ASC?1:-1:0}return n?t===g.ASC?1:-1:o?t===g.ASC?-1:1:null},N=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var B=Object.getOwnPropertyDescriptor,k=(e,r,t,n)=>{for(var o=n>1?void 0:n?B(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=i(o)||o);return o},p=(e,r)=>(t,n)=>r(t,n,e);exports.SheetsSortService=class extends u.Disposable{constructor(t,n,o){super();d(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=n,this._formulaDataModel=o}mergeCheck(t){var c;const{unitId:n,subUnitId:o,range:s}=t,i=(c=this._univerInstanceService.getUnit(n))==null?void 0:c.getSheetBySheetId(o);if(!i)return!1;const l=i.getMergeData().filter(a=>u.Rectangle.contains(s,a));return l.length===0?!0:H(s,l)}emptyCheck(t){var l;const{unitId:n,subUnitId:o,range:s}=t,i=(l=this._univerInstanceService.getUnit(n))==null?void 0:l.getSheetBySheetId(o);if(!i)return!1;for(let c=s.startRow;c<=s.endRow;c++)for(let a=s.startColumn;a<=s.endColumn;a++)if(!N(i.getCellRaw(c,a)))return!0;return!1}singleCheck(t){return t.range.startRow!==t.range.endRow}formulaCheck(t){var l,c;const{unitId:n,subUnitId:o,range:s}=t,i=(c=(l=this._formulaDataModel.getArrayFormulaRange())==null?void 0:l[n])==null?void 0:c[o];for(const a in i){const f=i[Number(a)];for(const C in f){const S=f[Number(C)];if(S&&u.Rectangle.intersects(s,S))return!1}}return!0}registerCompareFn(t){this._compareFns.unshift(t)}getAllCompareFns(){return this._compareFns}applySort(t,n,o){var l;const{unitId:s,subUnitId:i}=R.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(I.id,{orderRules:t.orderRules,range:t.range,hasTitle:(l=t.hasTitle)!=null?l:!1,unitId:n||s,subUnitId:o||i})}};exports.SheetsSortService=k([p(0,u.IUniverInstanceService),p(1,u.ICommandService),p(2,u.Inject($.FormulaDataModel))],exports.SheetsSortService);function H(e,r){const t=e.endRow-e.startRow+1,n=e.endColumn-e.startColumn+1;let o=null,s=null;const i=t*n;let l=0;for(const c of r)if(c.startRow>=e.startRow&&c.endRow<=e.endRow&&c.startColumn>=e.startColumn&&c.endColumn<=e.endColumn){const a=c.endRow-c.startRow+1,f=c.endColumn-c.startColumn+1;if(o===null&&s===null)o=a,s=f;else if(a!==o||f!==s)return!1;l+=a*f}return l===i}const I={id:"sheet.command.sort-range",type:u.CommandType.COMMAND,handler:(e,r)=>{const{range:t,orderRules:n,hasTitle:o,unitId:s,subUnitId:i}=r,l=e.get(exports.SheetsSortService),c=e.get(u.IUniverInstanceService),{worksheet:a}=R.getSheetCommandTarget(c,r)||{};if(!a)return!1;const f=a.getMergeData().filter(m=>u.Rectangle.contains(t,m)),C=f.map(m=>m.startRow),{startRow:S,endRow:T}=t,U=o?S+1:S,_=[],w=[];for(let m=U;m<=T;m++)a.getRowFiltered(m)||a.getRowRawVisible(m)!==!1&&(f.length&&!C.includes(m)||(_.push({index:m,value:K(a,m,n)}),w.push(m)));const E=l.getAllCompareFns();_.sort(Y(n,W(E)));const b={};_.forEach(({index:m,value:te},M)=>{b[w[M]]=m});const O={id:R.ReorderRangeCommand.id,params:{unitId:s,subUnitId:i,range:t,order:b}},P=e.get(u.ICommandService);return u.sequenceExecute([O],P).result}};function K(e,r,t){const n=[];return t.forEach(({colIndex:o})=>{n.push(e.getCellRaw(r,o))}),n}function W(e){return(r,t,n)=>{for(let o=0;o<e.length;o++){const s=e[o](r,t,n);if(s!=null)return s}return 0}}function Y(e,r){return function(t,n){let o=null;for(let s=0;s<e.length;s++){const i=t.value[s],l=n.value[s];if(o=r(e[s].type,i,l),o!==0&&o!==null&&o!==void 0)return o}return 0}}var z=Object.getOwnPropertyDescriptor,J=(e,r,t,n)=>{for(var o=n>1?void 0:n?z(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=i(o)||o);return o},F=(e,r)=>(t,n)=>r(t,n,e);let v=class extends u.Disposable{constructor(e,r){super(),this._commandService=e,this._sortService=r,this._initCommands(),this._registerCompareFns()}_initCommands(){[I].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){const e=(r,t,n)=>{const o=this._getCommonValue(t),s=this._getCommonValue(n),i=[L,q,G];for(let l=0;l<i.length;l++){const c=i[l](o,s,r);if(c!==null)return c}return null};this._sortService.registerCompareFn(e)}_getCommonValue(e){var t,n;if(N(e))return null;const r=(n=(t=e==null?void 0:e.p)==null?void 0:t.body)==null?void 0:n.dataStream;return r||((e==null?void 0:e.t)===u.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===u.CellValueType.STRING?typeof e.v=="number"?e.v:`${e.v}`:(e==null?void 0:e.t)===u.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===u.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};v=J([F(0,u.ICommandService),F(1,u.Inject(exports.SheetsSortService))],v);var Q=Object.getOwnPropertyDescriptor,X=(e,r,t,n)=>{for(var o=n>1?void 0:n?Q(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=i(o)||o);return o},D=(e,r)=>(t,n)=>r(t,n,e);const Z="SHEET_SORT_PLUGIN";var h;exports.UniverSheetsSortPlugin=(h=class extends u.Plugin{constructor(r=A,t,n){super(),this._config=r,this._injector=t,this._configService=n;const{...o}=u.merge({},A,this._config);this._configService.setConfig(x,o)}onStarting(){[[v],[exports.SheetsSortService]].forEach(r=>this._injector.add(r))}onReady(){this._injector.get(v)}},d(h,"type",u.UniverInstanceType.UNIVER_SHEET),d(h,"pluginName",Z),h);exports.UniverSheetsSortPlugin=X([D(1,u.Inject(u.Injector)),D(2,u.IConfigService)],exports.UniverSheetsSortPlugin);exports.SortRangeCommand=I;exports.SortType=g;
1
+ "use strict";var V=Object.defineProperty;var $=(e,r,t)=>r in e?V(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var w=(e,r,t)=>$(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),P=require("@univerjs/engine-formula"),d=require("@univerjs/sheets"),x="sheets-sort.config",b={};var g=(e=>(e.DESC="desc",e.ASC="asc",e))(g||{});const A=e=>e.replace(/-/gi,"").replace(/'/gi,""),L=(e,r)=>{const t=e===null||e==="",n=r===null||r==="";return t&&n?0:t?1:n?-1:null},G=(e,r,t)=>{const n=typeof e=="number",o=typeof r=="number";return n&&o?e<r?t===g.ASC?-1:1:e>r?t===g.ASC?1:-1:0:n?t===g.ASC?1:-1:o?t===g.ASC?-1:1:null},q=(e,r,t)=>{const n=typeof e=="string",o=typeof r=="string";if(n&&(e=A(e.toLocaleLowerCase())),o&&(r=A(r.toLocaleLowerCase())),!n&&!o)return null;if(n&&o){const s=e,i=r;return s<i?t===g.ASC?-1:1:s>i?t===g.ASC?1:-1:0}return n?t===g.ASC?1:-1:o?t===g.ASC?-1:1:null},U=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var B=Object.getOwnPropertyDescriptor,H=(e,r,t,n)=>{for(var o=n>1?void 0:n?B(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=i(o)||o);return o},_=(e,r)=>(t,n)=>r(t,n,e);exports.SheetsSortService=class extends u.Disposable{constructor(t,n,o){super();w(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=n,this._formulaDataModel=o}mergeCheck(t){var l;const{unitId:n,subUnitId:o,range:s}=t,i=(l=this._univerInstanceService.getUnit(n))==null?void 0:l.getSheetBySheetId(o);if(!i)return!1;const c=i.getMergeData().filter(a=>u.Rectangle.contains(s,a));return c.length===0?!0:K(s,c)}emptyCheck(t){var c;const{unitId:n,subUnitId:o,range:s}=t,i=(c=this._univerInstanceService.getUnit(n))==null?void 0:c.getSheetBySheetId(o);if(!i)return!1;for(let l=s.startRow;l<=s.endRow;l++)for(let a=s.startColumn;a<=s.endColumn;a++)if(!U(i.getCellRaw(l,a)))return!0;return!1}singleCheck(t){return t.range.startRow!==t.range.endRow}formulaCheck(t){var c,l;const{unitId:n,subUnitId:o,range:s}=t,i=(l=(c=this._formulaDataModel.getArrayFormulaRange())==null?void 0:c[n])==null?void 0:l[o];for(const a in i){const f=i[Number(a)];for(const h in f){const S=f[Number(h)];if(S&&u.Rectangle.intersects(s,S))return!1}}return!0}registerCompareFn(t){this._compareFns.unshift(t)}getAllCompareFns(){return this._compareFns}applySort(t,n,o){var c;const{unitId:s,subUnitId:i}=d.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(p.id,{orderRules:t.orderRules,range:t.range,hasTitle:(c=t.hasTitle)!=null?c:!1,unitId:n||s,subUnitId:o||i})}};exports.SheetsSortService=H([_(0,u.IUniverInstanceService),_(1,u.ICommandService),_(2,u.Inject(P.FormulaDataModel))],exports.SheetsSortService);function K(e,r){const t=e.endRow-e.startRow+1,n=e.endColumn-e.startColumn+1;let o=null,s=null;const i=t*n;let c=0;for(const l of r)if(l.startRow>=e.startRow&&l.endRow<=e.endRow&&l.startColumn>=e.startColumn&&l.endColumn<=e.endColumn){const a=l.endRow-l.startRow+1,f=l.endColumn-l.startColumn+1;if(o===null&&s===null)o=a,s=f;else if(a!==o||f!==s)return!1;c+=a*f}return c===i}const p={id:"sheet.command.sort-range",type:u.CommandType.COMMAND,handler:(e,r)=>{const{range:t,orderRules:n,hasTitle:o,unitId:s,subUnitId:i}=r,c=e.get(exports.SheetsSortService),l=e.get(u.IUniverInstanceService),{worksheet:a}=d.getSheetCommandTarget(l,r)||{};if(!a)return!1;const f=a.getMergeData().filter(m=>u.Rectangle.contains(t,m)),h=f.map(m=>m.startRow),{startRow:S,endRow:N}=t,T=o?S+1:S,C=[],R=[];for(let m=T;m<=N;m++)a.getRowFiltered(m)||a.getRowRawVisible(m)!==!1&&(f.length&&!h.includes(m)||(C.push({index:m,value:W(a,m,n)}),R.push(m)));const E=c.getAllCompareFns();C.sort(z(n,Y(E)));const I={};C.forEach(({index:m,value:ne},j)=>{I[R[j]]=m});const O={id:d.ReorderRangeCommand.id,params:{unitId:s,subUnitId:i,range:t,order:I}},M=e.get(u.ICommandService);return u.sequenceExecute([O],M).result}};function W(e,r,t){const n=[];return t.forEach(({colIndex:o})=>{n.push(e.getCellRaw(r,o))}),n}function Y(e){return(r,t,n)=>{for(let o=0;o<e.length;o++){const s=e[o](r,t,n);if(s!=null)return s}return 0}}function z(e,r){return function(t,n){let o=null;for(let s=0;s<e.length;s++){const i=t.value[s],c=n.value[s];if(o=r(e[s].type,i,c),o!==0&&o!==null&&o!==void 0)return o}return 0}}var J=Object.getOwnPropertyDescriptor,Q=(e,r,t,n)=>{for(var o=n>1?void 0:n?J(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=i(o)||o);return o},y=(e,r)=>(t,n)=>r(t,n,e);let v=class extends u.Disposable{constructor(e,r){super(),this._commandService=e,this._sortService=r,this._initCommands(),this._registerCompareFns()}_initCommands(){[p].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){const e=(r,t,n)=>{const o=this._getCommonValue(t),s=this._getCommonValue(n),i=[L,q,G];for(let c=0;c<i.length;c++){const l=i[c](o,s,r);if(l!==null)return l}return null};this._sortService.registerCompareFn(e)}_getCommonValue(e){var t,n;if(U(e))return null;const r=(n=(t=e==null?void 0:e.p)==null?void 0:t.body)==null?void 0:n.dataStream;return r||((e==null?void 0:e.t)===u.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===u.CellValueType.STRING?typeof e.v=="number"?e.v:`${e.v}`:(e==null?void 0:e.t)===u.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===u.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};v=Q([y(0,u.ICommandService),y(1,u.Inject(exports.SheetsSortService))],v);var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,k=(e,r,t)=>r in e?X(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,ee=(e,r,t,n)=>{for(var o=n>1?void 0:n?Z(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(o=i(o)||o);return o},F=(e,r)=>(t,n)=>r(t,n,e),D=(e,r,t)=>k(e,typeof r!="symbol"?r+"":r,t);const te="SHEET_SORT_PLUGIN";exports.UniverSheetsSortPlugin=class extends u.Plugin{constructor(r=b,t,n){super(),this._config=r,this._injector=t,this._configService=n;const{...o}=u.merge({},b,this._config);this._configService.setConfig(x,o)}onStarting(){[[v],[exports.SheetsSortService]].forEach(r=>this._injector.add(r))}onReady(){this._injector.get(v)}};D(exports.UniverSheetsSortPlugin,"type",u.UniverInstanceType.UNIVER_SHEET);D(exports.UniverSheetsSortPlugin,"pluginName",te);exports.UniverSheetsSortPlugin=ee([u.DependentOn(d.UniverSheetsPlugin,P.UniverFormulaEnginePlugin),F(1,u.Inject(u.Injector)),F(2,u.IConfigService)],exports.UniverSheetsSortPlugin);exports.SortRangeCommand=p;exports.SortType=g;
package/lib/es/index.js CHANGED
@@ -1,18 +1,18 @@
1
- var k = Object.defineProperty;
2
- var H = (e, t, r) => t in e ? k(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var h = (e, t, r) => H(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { IUniverInstanceService as U, ICommandService as w, Inject as I, Disposable as T, Rectangle as R, CommandType as q, sequenceExecute as K, CellValueType as C, Plugin as W, merge as Y, UniverInstanceType as z, Injector as J, IConfigService as Q } from "@univerjs/core";
5
- import { getSheetCommandTarget as M, ReorderRangeCommand as X } from "@univerjs/sheets";
6
- import { FormulaDataModel as Z } from "@univerjs/engine-formula";
7
- const ee = "sheets-sort.config", N = {};
1
+ var H = Object.defineProperty;
2
+ var q = (e, t, r) => t in e ? H(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
+ var F = (e, t, r) => q(e, typeof t != "symbol" ? t + "" : t, r);
4
+ import { IUniverInstanceService as O, ICommandService as R, Inject as w, Disposable as P, Rectangle as p, CommandType as K, sequenceExecute as W, CellValueType as h, UniverInstanceType as Y, DependentOn as z, Injector as J, IConfigService as Q, Plugin as X, merge as Z } from "@univerjs/core";
5
+ import { FormulaDataModel as k, UniverFormulaEnginePlugin as ee } from "@univerjs/engine-formula";
6
+ import { getSheetCommandTarget as U, ReorderRangeCommand as te, UniverSheetsPlugin as re } from "@univerjs/sheets";
7
+ const ne = "sheets-sort.config", N = {};
8
8
  var m = /* @__PURE__ */ ((e) => (e.DESC = "desc", e.ASC = "asc", e))(m || {});
9
- const D = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), te = (e, t) => {
9
+ const D = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), oe = (e, t) => {
10
10
  const r = e === null || e === "", n = t === null || t === "";
11
11
  return r && n ? 0 : r ? 1 : n ? -1 : null;
12
- }, re = (e, t, r) => {
12
+ }, se = (e, t, r) => {
13
13
  const n = typeof e == "number", o = typeof t == "number";
14
14
  return n && o ? e < t ? r === m.ASC ? -1 : 1 : e > t ? r === m.ASC ? 1 : -1 : 0 : n ? r === m.ASC ? 1 : -1 : o ? r === m.ASC ? -1 : 1 : null;
15
- }, ne = (e, t, r) => {
15
+ }, ie = (e, t, r) => {
16
16
  const n = typeof e == "string", o = typeof t == "string";
17
17
  if (n && (e = D(e.toLocaleLowerCase())), o && (t = D(t.toLocaleLowerCase())), !n && !o)
18
18
  return null;
@@ -21,34 +21,34 @@ const D = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), te = (e, t) => {
21
21
  return s < i ? r === m.ASC ? -1 : 1 : s > i ? r === m.ASC ? 1 : -1 : 0;
22
22
  }
23
23
  return n ? r === m.ASC ? 1 : -1 : o ? r === m.ASC ? -1 : 1 : null;
24
- }, P = (e) => !e || Object.keys(e).length === 0 || (e == null ? void 0 : e.v) == null && (e == null ? void 0 : e.p) == null;
25
- var oe = Object.getOwnPropertyDescriptor, se = (e, t, r, n) => {
26
- for (var o = n > 1 ? void 0 : n ? oe(t, r) : t, s = e.length - 1, i; s >= 0; s--)
24
+ }, T = (e) => !e || Object.keys(e).length === 0 || (e == null ? void 0 : e.v) == null && (e == null ? void 0 : e.p) == null;
25
+ var ue = Object.getOwnPropertyDescriptor, le = (e, t, r, n) => {
26
+ for (var o = n > 1 ? void 0 : n ? ue(t, r) : t, s = e.length - 1, i; s >= 0; s--)
27
27
  (i = e[s]) && (o = i(o) || o);
28
28
  return o;
29
- }, p = (e, t) => (r, n) => t(r, n, e);
30
- let g = class extends T {
29
+ }, S = (e, t) => (r, n) => t(r, n, e);
30
+ let g = class extends P {
31
31
  constructor(t, r, n) {
32
32
  super();
33
- h(this, "_compareFns", []);
33
+ F(this, "_compareFns", []);
34
34
  this._univerInstanceService = t, this._commandService = r, this._formulaDataModel = n;
35
35
  }
36
36
  mergeCheck(t) {
37
- var c;
38
- const { unitId: r, subUnitId: n, range: o } = t, s = (c = this._univerInstanceService.getUnit(r)) == null ? void 0 : c.getSheetBySheetId(n);
37
+ var l;
38
+ const { unitId: r, subUnitId: n, range: o } = t, s = (l = this._univerInstanceService.getUnit(r)) == null ? void 0 : l.getSheetBySheetId(n);
39
39
  if (!s)
40
40
  return !1;
41
- const i = s.getMergeData().filter((u) => R.contains(o, u));
42
- return i.length === 0 ? !0 : ie(o, i);
41
+ const i = s.getMergeData().filter((u) => p.contains(o, u));
42
+ return i.length === 0 ? !0 : ce(o, i);
43
43
  }
44
44
  emptyCheck(t) {
45
45
  var i;
46
46
  const { unitId: r, subUnitId: n, range: o } = t, s = (i = this._univerInstanceService.getUnit(r)) == null ? void 0 : i.getSheetBySheetId(n);
47
47
  if (!s)
48
48
  return !1;
49
- for (let c = o.startRow; c <= o.endRow; c++)
49
+ for (let l = o.startRow; l <= o.endRow; l++)
50
50
  for (let u = o.startColumn; u <= o.endColumn; u++)
51
- if (!P(s.getCellRaw(c, u)))
51
+ if (!T(s.getCellRaw(l, u)))
52
52
  return !0;
53
53
  return !1;
54
54
  }
@@ -56,13 +56,13 @@ let g = class extends T {
56
56
  return t.range.startRow !== t.range.endRow;
57
57
  }
58
58
  formulaCheck(t) {
59
- var i, c;
60
- const { unitId: r, subUnitId: n, range: o } = t, s = (c = (i = this._formulaDataModel.getArrayFormulaRange()) == null ? void 0 : i[r]) == null ? void 0 : c[n];
59
+ var i, l;
60
+ const { unitId: r, subUnitId: n, range: o } = t, s = (l = (i = this._formulaDataModel.getArrayFormulaRange()) == null ? void 0 : i[r]) == null ? void 0 : l[n];
61
61
  for (const u in s) {
62
62
  const a = s[Number(u)];
63
63
  for (const f in a) {
64
64
  const d = a[Number(f)];
65
- if (d && R.intersects(o, d))
65
+ if (d && p.intersects(o, d))
66
66
  return !1;
67
67
  }
68
68
  }
@@ -76,8 +76,8 @@ let g = class extends T {
76
76
  }
77
77
  applySort(t, r, n) {
78
78
  var i;
79
- const { unitId: o, subUnitId: s } = M(this._univerInstanceService) || {};
80
- this._commandService.executeCommand(x.id, {
79
+ const { unitId: o, subUnitId: s } = U(this._univerInstanceService) || {};
80
+ this._commandService.executeCommand(M.id, {
81
81
  orderRules: t.orderRules,
82
82
  range: t.range,
83
83
  hasTitle: (i = t.hasTitle) != null ? i : !1,
@@ -86,16 +86,16 @@ let g = class extends T {
86
86
  });
87
87
  }
88
88
  };
89
- g = se([
90
- p(0, U),
91
- p(1, w),
92
- p(2, I(Z))
89
+ g = le([
90
+ S(0, O),
91
+ S(1, R),
92
+ S(2, w(k))
93
93
  ], g);
94
- function ie(e, t) {
94
+ function ce(e, t) {
95
95
  const r = e.endRow - e.startRow + 1, n = e.endColumn - e.startColumn + 1;
96
96
  let o = null, s = null;
97
97
  const i = r * n;
98
- let c = 0;
98
+ let l = 0;
99
99
  for (const u of t)
100
100
  if (u.startRow >= e.startRow && u.endRow <= e.endRow && u.startColumn >= e.startColumn && u.endColumn <= e.endColumn) {
101
101
  const a = u.endRow - u.startRow + 1, f = u.endColumn - u.startColumn + 1;
@@ -103,48 +103,48 @@ function ie(e, t) {
103
103
  o = a, s = f;
104
104
  else if (a !== o || f !== s)
105
105
  return !1;
106
- c += a * f;
106
+ l += a * f;
107
107
  }
108
- return c === i;
108
+ return l === i;
109
109
  }
110
- const x = {
110
+ const M = {
111
111
  id: "sheet.command.sort-range",
112
- type: q.COMMAND,
112
+ type: K.COMMAND,
113
113
  handler: (e, t) => {
114
- const { range: r, orderRules: n, hasTitle: o, unitId: s, subUnitId: i } = t, c = e.get(g), u = e.get(U), { worksheet: a } = M(u, t) || {};
114
+ const { range: r, orderRules: n, hasTitle: o, unitId: s, subUnitId: i } = t, l = e.get(g), u = e.get(O), { worksheet: a } = U(u, t) || {};
115
115
  if (!a)
116
116
  return !1;
117
- const f = a.getMergeData().filter((l) => R.contains(r, l)), d = f.map((l) => l.startRow), { startRow: A, endRow: $ } = r, j = o ? A + 1 : A, _ = [], b = [];
118
- for (let l = j; l <= $; l++)
119
- a.getRowFiltered(l) || a.getRowRawVisible(l) !== !1 && (f.length && !d.includes(l) || (_.push({
120
- index: l,
121
- value: ue(a, l, n)
122
- }), b.push(l)));
123
- const V = c.getAllCompareFns();
124
- _.sort(le(n, ce(V)));
125
- const F = {};
126
- _.forEach(({ index: l, value: Ce }, B) => {
127
- F[b[B]] = l;
117
+ const f = a.getMergeData().filter((c) => p.contains(r, c)), d = f.map((c) => c.startRow), { startRow: I, endRow: $ } = r, j = o ? I + 1 : I, _ = [], b = [];
118
+ for (let c = j; c <= $; c++)
119
+ a.getRowFiltered(c) || a.getRowRawVisible(c) !== !1 && (f.length && !d.includes(c) || (_.push({
120
+ index: c,
121
+ value: ae(a, c, n)
122
+ }), b.push(c)));
123
+ const V = l.getAllCompareFns();
124
+ _.sort(fe(n, me(V)));
125
+ const A = {};
126
+ _.forEach(({ index: c, value: Re }, B) => {
127
+ A[b[B]] = c;
128
128
  });
129
129
  const L = {
130
- id: X.id,
130
+ id: te.id,
131
131
  params: {
132
132
  unitId: s,
133
133
  subUnitId: i,
134
134
  range: r,
135
- order: F
135
+ order: A
136
136
  }
137
- }, G = e.get(w);
138
- return K([L], G).result;
137
+ }, G = e.get(R);
138
+ return W([L], G).result;
139
139
  }
140
140
  };
141
- function ue(e, t, r) {
141
+ function ae(e, t, r) {
142
142
  const n = [];
143
143
  return r.forEach(({ colIndex: o }) => {
144
144
  n.push(e.getCellRaw(t, o));
145
145
  }), n;
146
146
  }
147
- function ce(e) {
147
+ function me(e) {
148
148
  return (t, r, n) => {
149
149
  for (let o = 0; o < e.length; o++) {
150
150
  const s = e[o](t, r, n);
@@ -154,40 +154,40 @@ function ce(e) {
154
154
  return 0;
155
155
  };
156
156
  }
157
- function le(e, t) {
157
+ function fe(e, t) {
158
158
  return function(r, n) {
159
159
  let o = null;
160
160
  for (let s = 0; s < e.length; s++) {
161
- const i = r.value[s], c = n.value[s];
162
- if (o = t(e[s].type, i, c), o !== 0 && o !== null && o !== void 0)
161
+ const i = r.value[s], l = n.value[s];
162
+ if (o = t(e[s].type, i, l), o !== 0 && o !== null && o !== void 0)
163
163
  return o;
164
164
  }
165
165
  return 0;
166
166
  };
167
167
  }
168
- var ae = Object.getOwnPropertyDescriptor, me = (e, t, r, n) => {
169
- for (var o = n > 1 ? void 0 : n ? ae(t, r) : t, s = e.length - 1, i; s >= 0; s--)
168
+ var ge = Object.getOwnPropertyDescriptor, de = (e, t, r, n) => {
169
+ for (var o = n > 1 ? void 0 : n ? ge(t, r) : t, s = e.length - 1, i; s >= 0; s--)
170
170
  (i = e[s]) && (o = i(o) || o);
171
171
  return o;
172
- }, y = (e, t) => (r, n) => t(r, n, e);
173
- let S = class extends T {
172
+ }, E = (e, t) => (r, n) => t(r, n, e);
173
+ let v = class extends P {
174
174
  constructor(e, t) {
175
175
  super(), this._commandService = e, this._sortService = t, this._initCommands(), this._registerCompareFns();
176
176
  }
177
177
  _initCommands() {
178
178
  [
179
- x
179
+ M
180
180
  ].forEach((e) => this.disposeWithMe(this._commandService.registerCommand(e)));
181
181
  }
182
182
  _registerCompareFns() {
183
183
  const e = (t, r, n) => {
184
184
  const o = this._getCommonValue(r), s = this._getCommonValue(n), i = [
185
- te,
186
- ne,
187
- re
185
+ oe,
186
+ ie,
187
+ se
188
188
  ];
189
- for (let c = 0; c < i.length; c++) {
190
- const u = i[c](o, s, t);
189
+ for (let l = 0; l < i.length; l++) {
190
+ const u = i[l](o, s, t);
191
191
  if (u !== null)
192
192
  return u;
193
193
  }
@@ -197,50 +197,52 @@ let S = class extends T {
197
197
  }
198
198
  _getCommonValue(e) {
199
199
  var r, n;
200
- if (P(e))
200
+ if (T(e))
201
201
  return null;
202
202
  const t = (n = (r = e == null ? void 0 : e.p) == null ? void 0 : r.body) == null ? void 0 : n.dataStream;
203
- return t || ((e == null ? void 0 : e.t) === C.NUMBER ? Number.parseFloat(`${e.v}`) : (e == null ? void 0 : e.t) === C.STRING ? typeof e.v == "number" ? e.v : `${e.v}` : (e == null ? void 0 : e.t) === C.BOOLEAN ? `${e.v}` : (e == null ? void 0 : e.t) === C.FORCE_STRING ? Number.parseFloat(`${e.v}`) : `${e == null ? void 0 : e.v}`);
203
+ return t || ((e == null ? void 0 : e.t) === h.NUMBER ? Number.parseFloat(`${e.v}`) : (e == null ? void 0 : e.t) === h.STRING ? typeof e.v == "number" ? e.v : `${e.v}` : (e == null ? void 0 : e.t) === h.BOOLEAN ? `${e.v}` : (e == null ? void 0 : e.t) === h.FORCE_STRING ? Number.parseFloat(`${e.v}`) : `${e == null ? void 0 : e.v}`);
204
204
  }
205
205
  };
206
- S = me([
207
- y(0, w),
208
- y(1, I(g))
209
- ], S);
210
- var fe = Object.getOwnPropertyDescriptor, ge = (e, t, r, n) => {
211
- for (var o = n > 1 ? void 0 : n ? fe(t, r) : t, s = e.length - 1, i; s >= 0; s--)
206
+ v = de([
207
+ E(0, R),
208
+ E(1, w(g))
209
+ ], v);
210
+ var he = Object.defineProperty, ve = Object.getOwnPropertyDescriptor, Ce = (e, t, r) => t in e ? he(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, _e = (e, t, r, n) => {
211
+ for (var o = n > 1 ? void 0 : n ? ve(t, r) : t, s = e.length - 1, i; s >= 0; s--)
212
212
  (i = e[s]) && (o = i(o) || o);
213
213
  return o;
214
- }, E = (e, t) => (r, n) => t(r, n, e);
215
- const de = "SHEET_SORT_PLUGIN";
216
- var v;
217
- let O = (v = class extends W {
214
+ }, y = (e, t) => (r, n) => t(r, n, e), x = (e, t, r) => Ce(e, typeof t != "symbol" ? t + "" : t, r);
215
+ const Se = "SHEET_SORT_PLUGIN";
216
+ let C = class extends X {
218
217
  constructor(e = N, t, r) {
219
218
  super(), this._config = e, this._injector = t, this._configService = r;
220
- const { ...n } = Y(
219
+ const { ...n } = Z(
221
220
  {},
222
221
  N,
223
222
  this._config
224
223
  );
225
- this._configService.setConfig(ee, n);
224
+ this._configService.setConfig(ne, n);
226
225
  }
227
226
  onStarting() {
228
227
  [
229
- [S],
228
+ [v],
230
229
  [g]
231
230
  ].forEach((e) => this._injector.add(e));
232
231
  }
233
232
  onReady() {
234
- this._injector.get(S);
233
+ this._injector.get(v);
235
234
  }
236
- }, h(v, "type", z.UNIVER_SHEET), h(v, "pluginName", de), v);
237
- O = ge([
238
- E(1, I(J)),
239
- E(2, Q)
240
- ], O);
235
+ };
236
+ x(C, "type", Y.UNIVER_SHEET);
237
+ x(C, "pluginName", Se);
238
+ C = _e([
239
+ z(re, ee),
240
+ y(1, w(J)),
241
+ y(2, Q)
242
+ ], C);
241
243
  export {
242
244
  g as SheetsSortService,
243
- x as SortRangeCommand,
245
+ M as SortRangeCommand,
244
246
  m as SortType,
245
- O as UniverSheetsSortPlugin
247
+ C as UniverSheetsSortPlugin
246
248
  };
package/lib/index.js CHANGED
@@ -1,18 +1,18 @@
1
- var k = Object.defineProperty;
2
- var H = (e, t, r) => t in e ? k(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var h = (e, t, r) => H(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { IUniverInstanceService as U, ICommandService as w, Inject as I, Disposable as T, Rectangle as R, CommandType as q, sequenceExecute as K, CellValueType as C, Plugin as W, merge as Y, UniverInstanceType as z, Injector as J, IConfigService as Q } from "@univerjs/core";
5
- import { getSheetCommandTarget as M, ReorderRangeCommand as X } from "@univerjs/sheets";
6
- import { FormulaDataModel as Z } from "@univerjs/engine-formula";
7
- const ee = "sheets-sort.config", N = {};
1
+ var H = Object.defineProperty;
2
+ var q = (e, t, r) => t in e ? H(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
+ var F = (e, t, r) => q(e, typeof t != "symbol" ? t + "" : t, r);
4
+ import { IUniverInstanceService as O, ICommandService as R, Inject as w, Disposable as P, Rectangle as p, CommandType as K, sequenceExecute as W, CellValueType as h, UniverInstanceType as Y, DependentOn as z, Injector as J, IConfigService as Q, Plugin as X, merge as Z } from "@univerjs/core";
5
+ import { FormulaDataModel as k, UniverFormulaEnginePlugin as ee } from "@univerjs/engine-formula";
6
+ import { getSheetCommandTarget as U, ReorderRangeCommand as te, UniverSheetsPlugin as re } from "@univerjs/sheets";
7
+ const ne = "sheets-sort.config", N = {};
8
8
  var m = /* @__PURE__ */ ((e) => (e.DESC = "desc", e.ASC = "asc", e))(m || {});
9
- const D = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), te = (e, t) => {
9
+ const D = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), oe = (e, t) => {
10
10
  const r = e === null || e === "", n = t === null || t === "";
11
11
  return r && n ? 0 : r ? 1 : n ? -1 : null;
12
- }, re = (e, t, r) => {
12
+ }, se = (e, t, r) => {
13
13
  const n = typeof e == "number", o = typeof t == "number";
14
14
  return n && o ? e < t ? r === m.ASC ? -1 : 1 : e > t ? r === m.ASC ? 1 : -1 : 0 : n ? r === m.ASC ? 1 : -1 : o ? r === m.ASC ? -1 : 1 : null;
15
- }, ne = (e, t, r) => {
15
+ }, ie = (e, t, r) => {
16
16
  const n = typeof e == "string", o = typeof t == "string";
17
17
  if (n && (e = D(e.toLocaleLowerCase())), o && (t = D(t.toLocaleLowerCase())), !n && !o)
18
18
  return null;
@@ -21,34 +21,34 @@ const D = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), te = (e, t) => {
21
21
  return s < i ? r === m.ASC ? -1 : 1 : s > i ? r === m.ASC ? 1 : -1 : 0;
22
22
  }
23
23
  return n ? r === m.ASC ? 1 : -1 : o ? r === m.ASC ? -1 : 1 : null;
24
- }, P = (e) => !e || Object.keys(e).length === 0 || (e == null ? void 0 : e.v) == null && (e == null ? void 0 : e.p) == null;
25
- var oe = Object.getOwnPropertyDescriptor, se = (e, t, r, n) => {
26
- for (var o = n > 1 ? void 0 : n ? oe(t, r) : t, s = e.length - 1, i; s >= 0; s--)
24
+ }, T = (e) => !e || Object.keys(e).length === 0 || (e == null ? void 0 : e.v) == null && (e == null ? void 0 : e.p) == null;
25
+ var ue = Object.getOwnPropertyDescriptor, le = (e, t, r, n) => {
26
+ for (var o = n > 1 ? void 0 : n ? ue(t, r) : t, s = e.length - 1, i; s >= 0; s--)
27
27
  (i = e[s]) && (o = i(o) || o);
28
28
  return o;
29
- }, p = (e, t) => (r, n) => t(r, n, e);
30
- let g = class extends T {
29
+ }, S = (e, t) => (r, n) => t(r, n, e);
30
+ let g = class extends P {
31
31
  constructor(t, r, n) {
32
32
  super();
33
- h(this, "_compareFns", []);
33
+ F(this, "_compareFns", []);
34
34
  this._univerInstanceService = t, this._commandService = r, this._formulaDataModel = n;
35
35
  }
36
36
  mergeCheck(t) {
37
- var c;
38
- const { unitId: r, subUnitId: n, range: o } = t, s = (c = this._univerInstanceService.getUnit(r)) == null ? void 0 : c.getSheetBySheetId(n);
37
+ var l;
38
+ const { unitId: r, subUnitId: n, range: o } = t, s = (l = this._univerInstanceService.getUnit(r)) == null ? void 0 : l.getSheetBySheetId(n);
39
39
  if (!s)
40
40
  return !1;
41
- const i = s.getMergeData().filter((u) => R.contains(o, u));
42
- return i.length === 0 ? !0 : ie(o, i);
41
+ const i = s.getMergeData().filter((u) => p.contains(o, u));
42
+ return i.length === 0 ? !0 : ce(o, i);
43
43
  }
44
44
  emptyCheck(t) {
45
45
  var i;
46
46
  const { unitId: r, subUnitId: n, range: o } = t, s = (i = this._univerInstanceService.getUnit(r)) == null ? void 0 : i.getSheetBySheetId(n);
47
47
  if (!s)
48
48
  return !1;
49
- for (let c = o.startRow; c <= o.endRow; c++)
49
+ for (let l = o.startRow; l <= o.endRow; l++)
50
50
  for (let u = o.startColumn; u <= o.endColumn; u++)
51
- if (!P(s.getCellRaw(c, u)))
51
+ if (!T(s.getCellRaw(l, u)))
52
52
  return !0;
53
53
  return !1;
54
54
  }
@@ -56,13 +56,13 @@ let g = class extends T {
56
56
  return t.range.startRow !== t.range.endRow;
57
57
  }
58
58
  formulaCheck(t) {
59
- var i, c;
60
- const { unitId: r, subUnitId: n, range: o } = t, s = (c = (i = this._formulaDataModel.getArrayFormulaRange()) == null ? void 0 : i[r]) == null ? void 0 : c[n];
59
+ var i, l;
60
+ const { unitId: r, subUnitId: n, range: o } = t, s = (l = (i = this._formulaDataModel.getArrayFormulaRange()) == null ? void 0 : i[r]) == null ? void 0 : l[n];
61
61
  for (const u in s) {
62
62
  const a = s[Number(u)];
63
63
  for (const f in a) {
64
64
  const d = a[Number(f)];
65
- if (d && R.intersects(o, d))
65
+ if (d && p.intersects(o, d))
66
66
  return !1;
67
67
  }
68
68
  }
@@ -76,8 +76,8 @@ let g = class extends T {
76
76
  }
77
77
  applySort(t, r, n) {
78
78
  var i;
79
- const { unitId: o, subUnitId: s } = M(this._univerInstanceService) || {};
80
- this._commandService.executeCommand(x.id, {
79
+ const { unitId: o, subUnitId: s } = U(this._univerInstanceService) || {};
80
+ this._commandService.executeCommand(M.id, {
81
81
  orderRules: t.orderRules,
82
82
  range: t.range,
83
83
  hasTitle: (i = t.hasTitle) != null ? i : !1,
@@ -86,16 +86,16 @@ let g = class extends T {
86
86
  });
87
87
  }
88
88
  };
89
- g = se([
90
- p(0, U),
91
- p(1, w),
92
- p(2, I(Z))
89
+ g = le([
90
+ S(0, O),
91
+ S(1, R),
92
+ S(2, w(k))
93
93
  ], g);
94
- function ie(e, t) {
94
+ function ce(e, t) {
95
95
  const r = e.endRow - e.startRow + 1, n = e.endColumn - e.startColumn + 1;
96
96
  let o = null, s = null;
97
97
  const i = r * n;
98
- let c = 0;
98
+ let l = 0;
99
99
  for (const u of t)
100
100
  if (u.startRow >= e.startRow && u.endRow <= e.endRow && u.startColumn >= e.startColumn && u.endColumn <= e.endColumn) {
101
101
  const a = u.endRow - u.startRow + 1, f = u.endColumn - u.startColumn + 1;
@@ -103,48 +103,48 @@ function ie(e, t) {
103
103
  o = a, s = f;
104
104
  else if (a !== o || f !== s)
105
105
  return !1;
106
- c += a * f;
106
+ l += a * f;
107
107
  }
108
- return c === i;
108
+ return l === i;
109
109
  }
110
- const x = {
110
+ const M = {
111
111
  id: "sheet.command.sort-range",
112
- type: q.COMMAND,
112
+ type: K.COMMAND,
113
113
  handler: (e, t) => {
114
- const { range: r, orderRules: n, hasTitle: o, unitId: s, subUnitId: i } = t, c = e.get(g), u = e.get(U), { worksheet: a } = M(u, t) || {};
114
+ const { range: r, orderRules: n, hasTitle: o, unitId: s, subUnitId: i } = t, l = e.get(g), u = e.get(O), { worksheet: a } = U(u, t) || {};
115
115
  if (!a)
116
116
  return !1;
117
- const f = a.getMergeData().filter((l) => R.contains(r, l)), d = f.map((l) => l.startRow), { startRow: A, endRow: $ } = r, j = o ? A + 1 : A, _ = [], b = [];
118
- for (let l = j; l <= $; l++)
119
- a.getRowFiltered(l) || a.getRowRawVisible(l) !== !1 && (f.length && !d.includes(l) || (_.push({
120
- index: l,
121
- value: ue(a, l, n)
122
- }), b.push(l)));
123
- const V = c.getAllCompareFns();
124
- _.sort(le(n, ce(V)));
125
- const F = {};
126
- _.forEach(({ index: l, value: Ce }, B) => {
127
- F[b[B]] = l;
117
+ const f = a.getMergeData().filter((c) => p.contains(r, c)), d = f.map((c) => c.startRow), { startRow: I, endRow: $ } = r, j = o ? I + 1 : I, _ = [], b = [];
118
+ for (let c = j; c <= $; c++)
119
+ a.getRowFiltered(c) || a.getRowRawVisible(c) !== !1 && (f.length && !d.includes(c) || (_.push({
120
+ index: c,
121
+ value: ae(a, c, n)
122
+ }), b.push(c)));
123
+ const V = l.getAllCompareFns();
124
+ _.sort(fe(n, me(V)));
125
+ const A = {};
126
+ _.forEach(({ index: c, value: Re }, B) => {
127
+ A[b[B]] = c;
128
128
  });
129
129
  const L = {
130
- id: X.id,
130
+ id: te.id,
131
131
  params: {
132
132
  unitId: s,
133
133
  subUnitId: i,
134
134
  range: r,
135
- order: F
135
+ order: A
136
136
  }
137
- }, G = e.get(w);
138
- return K([L], G).result;
137
+ }, G = e.get(R);
138
+ return W([L], G).result;
139
139
  }
140
140
  };
141
- function ue(e, t, r) {
141
+ function ae(e, t, r) {
142
142
  const n = [];
143
143
  return r.forEach(({ colIndex: o }) => {
144
144
  n.push(e.getCellRaw(t, o));
145
145
  }), n;
146
146
  }
147
- function ce(e) {
147
+ function me(e) {
148
148
  return (t, r, n) => {
149
149
  for (let o = 0; o < e.length; o++) {
150
150
  const s = e[o](t, r, n);
@@ -154,40 +154,40 @@ function ce(e) {
154
154
  return 0;
155
155
  };
156
156
  }
157
- function le(e, t) {
157
+ function fe(e, t) {
158
158
  return function(r, n) {
159
159
  let o = null;
160
160
  for (let s = 0; s < e.length; s++) {
161
- const i = r.value[s], c = n.value[s];
162
- if (o = t(e[s].type, i, c), o !== 0 && o !== null && o !== void 0)
161
+ const i = r.value[s], l = n.value[s];
162
+ if (o = t(e[s].type, i, l), o !== 0 && o !== null && o !== void 0)
163
163
  return o;
164
164
  }
165
165
  return 0;
166
166
  };
167
167
  }
168
- var ae = Object.getOwnPropertyDescriptor, me = (e, t, r, n) => {
169
- for (var o = n > 1 ? void 0 : n ? ae(t, r) : t, s = e.length - 1, i; s >= 0; s--)
168
+ var ge = Object.getOwnPropertyDescriptor, de = (e, t, r, n) => {
169
+ for (var o = n > 1 ? void 0 : n ? ge(t, r) : t, s = e.length - 1, i; s >= 0; s--)
170
170
  (i = e[s]) && (o = i(o) || o);
171
171
  return o;
172
- }, y = (e, t) => (r, n) => t(r, n, e);
173
- let S = class extends T {
172
+ }, E = (e, t) => (r, n) => t(r, n, e);
173
+ let v = class extends P {
174
174
  constructor(e, t) {
175
175
  super(), this._commandService = e, this._sortService = t, this._initCommands(), this._registerCompareFns();
176
176
  }
177
177
  _initCommands() {
178
178
  [
179
- x
179
+ M
180
180
  ].forEach((e) => this.disposeWithMe(this._commandService.registerCommand(e)));
181
181
  }
182
182
  _registerCompareFns() {
183
183
  const e = (t, r, n) => {
184
184
  const o = this._getCommonValue(r), s = this._getCommonValue(n), i = [
185
- te,
186
- ne,
187
- re
185
+ oe,
186
+ ie,
187
+ se
188
188
  ];
189
- for (let c = 0; c < i.length; c++) {
190
- const u = i[c](o, s, t);
189
+ for (let l = 0; l < i.length; l++) {
190
+ const u = i[l](o, s, t);
191
191
  if (u !== null)
192
192
  return u;
193
193
  }
@@ -197,50 +197,52 @@ let S = class extends T {
197
197
  }
198
198
  _getCommonValue(e) {
199
199
  var r, n;
200
- if (P(e))
200
+ if (T(e))
201
201
  return null;
202
202
  const t = (n = (r = e == null ? void 0 : e.p) == null ? void 0 : r.body) == null ? void 0 : n.dataStream;
203
- return t || ((e == null ? void 0 : e.t) === C.NUMBER ? Number.parseFloat(`${e.v}`) : (e == null ? void 0 : e.t) === C.STRING ? typeof e.v == "number" ? e.v : `${e.v}` : (e == null ? void 0 : e.t) === C.BOOLEAN ? `${e.v}` : (e == null ? void 0 : e.t) === C.FORCE_STRING ? Number.parseFloat(`${e.v}`) : `${e == null ? void 0 : e.v}`);
203
+ return t || ((e == null ? void 0 : e.t) === h.NUMBER ? Number.parseFloat(`${e.v}`) : (e == null ? void 0 : e.t) === h.STRING ? typeof e.v == "number" ? e.v : `${e.v}` : (e == null ? void 0 : e.t) === h.BOOLEAN ? `${e.v}` : (e == null ? void 0 : e.t) === h.FORCE_STRING ? Number.parseFloat(`${e.v}`) : `${e == null ? void 0 : e.v}`);
204
204
  }
205
205
  };
206
- S = me([
207
- y(0, w),
208
- y(1, I(g))
209
- ], S);
210
- var fe = Object.getOwnPropertyDescriptor, ge = (e, t, r, n) => {
211
- for (var o = n > 1 ? void 0 : n ? fe(t, r) : t, s = e.length - 1, i; s >= 0; s--)
206
+ v = de([
207
+ E(0, R),
208
+ E(1, w(g))
209
+ ], v);
210
+ var he = Object.defineProperty, ve = Object.getOwnPropertyDescriptor, Ce = (e, t, r) => t in e ? he(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, _e = (e, t, r, n) => {
211
+ for (var o = n > 1 ? void 0 : n ? ve(t, r) : t, s = e.length - 1, i; s >= 0; s--)
212
212
  (i = e[s]) && (o = i(o) || o);
213
213
  return o;
214
- }, E = (e, t) => (r, n) => t(r, n, e);
215
- const de = "SHEET_SORT_PLUGIN";
216
- var v;
217
- let O = (v = class extends W {
214
+ }, y = (e, t) => (r, n) => t(r, n, e), x = (e, t, r) => Ce(e, typeof t != "symbol" ? t + "" : t, r);
215
+ const Se = "SHEET_SORT_PLUGIN";
216
+ let C = class extends X {
218
217
  constructor(e = N, t, r) {
219
218
  super(), this._config = e, this._injector = t, this._configService = r;
220
- const { ...n } = Y(
219
+ const { ...n } = Z(
221
220
  {},
222
221
  N,
223
222
  this._config
224
223
  );
225
- this._configService.setConfig(ee, n);
224
+ this._configService.setConfig(ne, n);
226
225
  }
227
226
  onStarting() {
228
227
  [
229
- [S],
228
+ [v],
230
229
  [g]
231
230
  ].forEach((e) => this._injector.add(e));
232
231
  }
233
232
  onReady() {
234
- this._injector.get(S);
233
+ this._injector.get(v);
235
234
  }
236
- }, h(v, "type", z.UNIVER_SHEET), h(v, "pluginName", de), v);
237
- O = ge([
238
- E(1, I(J)),
239
- E(2, Q)
240
- ], O);
235
+ };
236
+ x(C, "type", Y.UNIVER_SHEET);
237
+ x(C, "pluginName", Se);
238
+ C = _e([
239
+ z(re, ee),
240
+ y(1, w(J)),
241
+ y(2, Q)
242
+ ], C);
241
243
  export {
242
244
  g as SheetsSortService,
243
- x as SortRangeCommand,
245
+ M as SortRangeCommand,
244
246
  m as SortType,
245
- O as UniverSheetsSortPlugin
247
+ C as UniverSheetsSortPlugin
246
248
  };
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(l,i){typeof exports=="object"&&typeof module<"u"?i(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"],i):(l=typeof globalThis<"u"?globalThis:l||self,i(l.UniverSheetsSort={},l.UniverCore,l.UniverSheets,l.UniverEngineFormula))})(this,function(l,i,S,N){"use strict";var Z=Object.defineProperty;var ee=(l,i,S)=>i in l?Z(l,i,{enumerable:!0,configurable:!0,writable:!0,value:S}):l[i]=S;var _=(l,i,S)=>ee(l,typeof i!="symbol"?i+"":i,S);var C;const E="sheets-sort.config",y={};var g=(e=>(e.DESC="desc",e.ASC="asc",e))(g||{});const A=e=>e.replace(/-/gi,"").replace(/'/gi,""),j=(e,s)=>{const t=e===null||e==="",n=s===null||s==="";return t&&n?0:t?1:n?-1:null},O=(e,s,t)=>{const n=typeof e=="number",r=typeof s=="number";return n&&r?e<s?t===g.ASC?-1:1:e>s?t===g.ASC?1:-1:0:n?t===g.ASC?1:-1:r?t===g.ASC?-1:1:null},P=(e,s,t)=>{const n=typeof e=="string",r=typeof s=="string";if(n&&(e=A(e.toLocaleLowerCase())),r&&(s=A(s.toLocaleLowerCase())),!n&&!r)return null;if(n&&r){const o=e,u=s;return o<u?t===g.ASC?-1:1:o>u?t===g.ASC?1:-1:0}return n?t===g.ASC?1:-1:r?t===g.ASC?-1:1:null},b=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var M=Object.getOwnPropertyDescriptor,V=(e,s,t,n)=>{for(var r=n>1?void 0:n?M(s,t):s,o=e.length-1,u;o>=0;o--)(u=e[o])&&(r=u(r)||r);return r},R=(e,s)=>(t,n)=>s(t,n,e);l.SheetsSortService=class extends i.Disposable{constructor(t,n,r){super();_(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=n,this._formulaDataModel=r}mergeCheck(t){var a;const{unitId:n,subUnitId:r,range:o}=t,u=(a=this._univerInstanceService.getUnit(n))==null?void 0:a.getSheetBySheetId(r);if(!u)return!1;const c=u.getMergeData().filter(m=>i.Rectangle.contains(o,m));return c.length===0?!0:$(o,c)}emptyCheck(t){var c;const{unitId:n,subUnitId:r,range:o}=t,u=(c=this._univerInstanceService.getUnit(n))==null?void 0:c.getSheetBySheetId(r);if(!u)return!1;for(let a=o.startRow;a<=o.endRow;a++)for(let m=o.startColumn;m<=o.endColumn;m++)if(!b(u.getCellRaw(a,m)))return!0;return!1}singleCheck(t){return t.range.startRow!==t.range.endRow}formulaCheck(t){var c,a;const{unitId:n,subUnitId:r,range:o}=t,u=(a=(c=this._formulaDataModel.getArrayFormulaRange())==null?void 0:c[n])==null?void 0:a[r];for(const m in u){const d=u[Number(m)];for(const I in d){const v=d[Number(I)];if(v&&i.Rectangle.intersects(o,v))return!1}}return!0}registerCompareFn(t){this._compareFns.unshift(t)}getAllCompareFns(){return this._compareFns}applySort(t,n,r){var c;const{unitId:o,subUnitId:u}=S.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(p.id,{orderRules:t.orderRules,range:t.range,hasTitle:(c=t.hasTitle)!=null?c:!1,unitId:n||o,subUnitId:r||u})}},l.SheetsSortService=V([R(0,i.IUniverInstanceService),R(1,i.ICommandService),R(2,i.Inject(N.FormulaDataModel))],l.SheetsSortService);function $(e,s){const t=e.endRow-e.startRow+1,n=e.endColumn-e.startColumn+1;let r=null,o=null;const u=t*n;let c=0;for(const a of s)if(a.startRow>=e.startRow&&a.endRow<=e.endRow&&a.startColumn>=e.startColumn&&a.endColumn<=e.endColumn){const m=a.endRow-a.startRow+1,d=a.endColumn-a.startColumn+1;if(r===null&&o===null)r=m,o=d;else if(m!==r||d!==o)return!1;c+=m*d}return c===u}const p={id:"sheet.command.sort-range",type:i.CommandType.COMMAND,handler:(e,s)=>{const{range:t,orderRules:n,hasTitle:r,unitId:o,subUnitId:u}=s,c=e.get(l.SheetsSortService),a=e.get(i.IUniverInstanceService),{worksheet:m}=S.getSheetCommandTarget(a,s)||{};if(!m)return!1;const d=m.getMergeData().filter(f=>i.Rectangle.contains(t,f)),I=d.map(f=>f.startRow),{startRow:v,endRow:W}=t,Y=r?v+1:v,w=[],T=[];for(let f=Y;f<=W;f++)m.getRowFiltered(f)||m.getRowRawVisible(f)!==!1&&(d.length&&!I.includes(f)||(w.push({index:f,value:L(m,f,n)}),T.push(f)));const z=c.getAllCompareFns();w.sort(q(n,G(z)));const D={};w.forEach(({index:f,value:ne},X)=>{D[T[X]]=f});const J={id:S.ReorderRangeCommand.id,params:{unitId:o,subUnitId:u,range:t,order:D}},Q=e.get(i.ICommandService);return i.sequenceExecute([J],Q).result}};function L(e,s,t){const n=[];return t.forEach(({colIndex:r})=>{n.push(e.getCellRaw(s,r))}),n}function G(e){return(s,t,n)=>{for(let r=0;r<e.length;r++){const o=e[r](s,t,n);if(o!=null)return o}return 0}}function q(e,s){return function(t,n){let r=null;for(let o=0;o<e.length;o++){const u=t.value[o],c=n.value[o];if(r=s(e[o].type,u,c),r!==0&&r!==null&&r!==void 0)return r}return 0}}var B=Object.getOwnPropertyDescriptor,k=(e,s,t,n)=>{for(var r=n>1?void 0:n?B(s,t):s,o=e.length-1,u;o>=0;o--)(u=e[o])&&(r=u(r)||r);return r},U=(e,s)=>(t,n)=>s(t,n,e);let h=class extends i.Disposable{constructor(e,s){super(),this._commandService=e,this._sortService=s,this._initCommands(),this._registerCompareFns()}_initCommands(){[p].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){const e=(s,t,n)=>{const r=this._getCommonValue(t),o=this._getCommonValue(n),u=[j,P,O];for(let c=0;c<u.length;c++){const a=u[c](r,o,s);if(a!==null)return a}return null};this._sortService.registerCompareFn(e)}_getCommonValue(e){var t,n;if(b(e))return null;const s=(n=(t=e==null?void 0:e.p)==null?void 0:t.body)==null?void 0:n.dataStream;return s||((e==null?void 0:e.t)===i.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===i.CellValueType.STRING?typeof e.v=="number"?e.v:`${e.v}`:(e==null?void 0:e.t)===i.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===i.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};h=k([U(0,i.ICommandService),U(1,i.Inject(l.SheetsSortService))],h);var H=Object.getOwnPropertyDescriptor,x=(e,s,t,n)=>{for(var r=n>1?void 0:n?H(s,t):s,o=e.length-1,u;o>=0;o--)(u=e[o])&&(r=u(r)||r);return r},F=(e,s)=>(t,n)=>s(t,n,e);const K="SHEET_SORT_PLUGIN";l.UniverSheetsSortPlugin=(C=class extends i.Plugin{constructor(s=y,t,n){super(),this._config=s,this._injector=t,this._configService=n;const{...r}=i.merge({},y,this._config);this._configService.setConfig(E,r)}onStarting(){[[h],[l.SheetsSortService]].forEach(s=>this._injector.add(s))}onReady(){this._injector.get(h)}},_(C,"type",i.UniverInstanceType.UNIVER_SHEET),_(C,"pluginName",K),C),l.UniverSheetsSortPlugin=x([F(1,i.Inject(i.Injector)),F(2,i.IConfigService)],l.UniverSheetsSortPlugin),l.SortRangeCommand=p,l.SortType=g,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
1
+ (function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-formula"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-formula","@univerjs/sheets"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l.UniverSheetsSort={},l.UniverCore,l.UniverEngineFormula,l.UniverSheets))})(this,function(l,o,S,h){"use strict";var te=Object.defineProperty;var ne=(l,o,S)=>o in l?te(l,o,{enumerable:!0,configurable:!0,writable:!0,value:S}):l[o]=S;var N=(l,o,S)=>ne(l,typeof o!="symbol"?o+"":o,S);const T="sheets-sort.config",w={};var g=(e=>(e.DESC="desc",e.ASC="asc",e))(g||{});const b=e=>e.replace(/-/gi,"").replace(/'/gi,""),E=(e,n)=>{const t=e===null||e==="",r=n===null||n==="";return t&&r?0:t?1:r?-1:null},O=(e,n,t)=>{const r=typeof e=="number",s=typeof n=="number";return r&&s?e<n?t===g.ASC?-1:1:e>n?t===g.ASC?1:-1:0:r?t===g.ASC?1:-1:s?t===g.ASC?-1:1:null},j=(e,n,t)=>{const r=typeof e=="string",s=typeof n=="string";if(r&&(e=b(e.toLocaleLowerCase())),s&&(n=b(n.toLocaleLowerCase())),!r&&!s)return null;if(r&&s){const i=e,u=n;return i<u?t===g.ASC?-1:1:i>u?t===g.ASC?1:-1:0}return r?t===g.ASC?1:-1:s?t===g.ASC?-1:1:null},U=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var M=Object.getOwnPropertyDescriptor,V=(e,n,t,r)=>{for(var s=r>1?void 0:r?M(n,t):n,i=e.length-1,u;i>=0;i--)(u=e[i])&&(s=u(s)||s);return s},_=(e,n)=>(t,r)=>n(t,r,e);l.SheetsSortService=class extends o.Disposable{constructor(t,r,s){super();N(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=r,this._formulaDataModel=s}mergeCheck(t){var a;const{unitId:r,subUnitId:s,range:i}=t,u=(a=this._univerInstanceService.getUnit(r))==null?void 0:a.getSheetBySheetId(s);if(!u)return!1;const c=u.getMergeData().filter(f=>o.Rectangle.contains(i,f));return c.length===0?!0:$(i,c)}emptyCheck(t){var c;const{unitId:r,subUnitId:s,range:i}=t,u=(c=this._univerInstanceService.getUnit(r))==null?void 0:c.getSheetBySheetId(s);if(!u)return!1;for(let a=i.startRow;a<=i.endRow;a++)for(let f=i.startColumn;f<=i.endColumn;f++)if(!U(u.getCellRaw(a,f)))return!0;return!1}singleCheck(t){return t.range.startRow!==t.range.endRow}formulaCheck(t){var c,a;const{unitId:r,subUnitId:s,range:i}=t,u=(a=(c=this._formulaDataModel.getArrayFormulaRange())==null?void 0:c[r])==null?void 0:a[s];for(const f in u){const d=u[Number(f)];for(const R in d){const v=d[Number(R)];if(v&&o.Rectangle.intersects(i,v))return!1}}return!0}registerCompareFn(t){this._compareFns.unshift(t)}getAllCompareFns(){return this._compareFns}applySort(t,r,s){var c;const{unitId:i,subUnitId:u}=h.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(p.id,{orderRules:t.orderRules,range:t.range,hasTitle:(c=t.hasTitle)!=null?c:!1,unitId:r||i,subUnitId:s||u})}},l.SheetsSortService=V([_(0,o.IUniverInstanceService),_(1,o.ICommandService),_(2,o.Inject(S.FormulaDataModel))],l.SheetsSortService);function $(e,n){const t=e.endRow-e.startRow+1,r=e.endColumn-e.startColumn+1;let s=null,i=null;const u=t*r;let c=0;for(const a of n)if(a.startRow>=e.startRow&&a.endRow<=e.endRow&&a.startColumn>=e.startColumn&&a.endColumn<=e.endColumn){const f=a.endRow-a.startRow+1,d=a.endColumn-a.startColumn+1;if(s===null&&i===null)s=f,i=d;else if(f!==s||d!==i)return!1;c+=f*d}return c===u}const p={id:"sheet.command.sort-range",type:o.CommandType.COMMAND,handler:(e,n)=>{const{range:t,orderRules:r,hasTitle:s,unitId:i,subUnitId:u}=n,c=e.get(l.SheetsSortService),a=e.get(o.IUniverInstanceService),{worksheet:f}=h.getSheetCommandTarget(a,n)||{};if(!f)return!1;const d=f.getMergeData().filter(m=>o.Rectangle.contains(t,m)),R=d.map(m=>m.startRow),{startRow:v,endRow:J}=t,Q=s?v+1:v,I=[],F=[];for(let m=Q;m<=J;m++)f.getRowFiltered(m)||f.getRowRawVisible(m)!==!1&&(d.length&&!R.includes(m)||(I.push({index:m,value:L(f,m,r)}),F.push(m)));const X=c.getAllCompareFns();I.sort(q(r,G(X)));const D={};I.forEach(({index:m,value:se},ee)=>{D[F[ee]]=m});const Z={id:h.ReorderRangeCommand.id,params:{unitId:i,subUnitId:u,range:t,order:D}},k=e.get(o.ICommandService);return o.sequenceExecute([Z],k).result}};function L(e,n,t){const r=[];return t.forEach(({colIndex:s})=>{r.push(e.getCellRaw(n,s))}),r}function G(e){return(n,t,r)=>{for(let s=0;s<e.length;s++){const i=e[s](n,t,r);if(i!=null)return i}return 0}}function q(e,n){return function(t,r){let s=null;for(let i=0;i<e.length;i++){const u=t.value[i],c=r.value[i];if(s=n(e[i].type,u,c),s!==0&&s!==null&&s!==void 0)return s}return 0}}var B=Object.getOwnPropertyDescriptor,H=(e,n,t,r)=>{for(var s=r>1?void 0:r?B(n,t):n,i=e.length-1,u;i>=0;i--)(u=e[i])&&(s=u(s)||s);return s},y=(e,n)=>(t,r)=>n(t,r,e);let C=class extends o.Disposable{constructor(e,n){super(),this._commandService=e,this._sortService=n,this._initCommands(),this._registerCompareFns()}_initCommands(){[p].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){const e=(n,t,r)=>{const s=this._getCommonValue(t),i=this._getCommonValue(r),u=[E,j,O];for(let c=0;c<u.length;c++){const a=u[c](s,i,n);if(a!==null)return a}return null};this._sortService.registerCompareFn(e)}_getCommonValue(e){var t,r;if(U(e))return null;const n=(r=(t=e==null?void 0:e.p)==null?void 0:t.body)==null?void 0:r.dataStream;return n||((e==null?void 0:e.t)===o.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===o.CellValueType.STRING?typeof e.v=="number"?e.v:`${e.v}`:(e==null?void 0:e.t)===o.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===o.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};C=H([y(0,o.ICommandService),y(1,o.Inject(l.SheetsSortService))],C);var K=Object.defineProperty,W=Object.getOwnPropertyDescriptor,Y=(e,n,t)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,x=(e,n,t,r)=>{for(var s=r>1?void 0:r?W(n,t):n,i=e.length-1,u;i>=0;i--)(u=e[i])&&(s=u(s)||s);return s},A=(e,n)=>(t,r)=>n(t,r,e),P=(e,n,t)=>Y(e,typeof n!="symbol"?n+"":n,t);const z="SHEET_SORT_PLUGIN";l.UniverSheetsSortPlugin=class extends o.Plugin{constructor(n=w,t,r){super(),this._config=n,this._injector=t,this._configService=r;const{...s}=o.merge({},w,this._config);this._configService.setConfig(T,s)}onStarting(){[[C],[l.SheetsSortService]].forEach(n=>this._injector.add(n))}onReady(){this._injector.get(C)}},P(l.UniverSheetsSortPlugin,"type",o.UniverInstanceType.UNIVER_SHEET),P(l.UniverSheetsSortPlugin,"pluginName",z),l.UniverSheetsSortPlugin=x([o.DependentOn(h.UniverSheetsPlugin,S.UniverFormulaEnginePlugin),A(1,o.Inject(o.Injector)),A(2,o.IConfigService)],l.UniverSheetsSortPlugin),l.SortRangeCommand=p,l.SortType=g,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-sort",
3
- "version": "0.6.10",
3
+ "version": "0.7.0-beta.0",
4
4
  "private": false,
5
5
  "description": "A library for sorting data in Univer Sheet",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -58,15 +58,15 @@
58
58
  "lib"
59
59
  ],
60
60
  "dependencies": {
61
- "@univerjs/engine-formula": "0.6.10",
62
- "@univerjs/core": "0.6.10",
63
- "@univerjs/sheets": "0.6.10"
61
+ "@univerjs/sheets": "0.7.0-beta.0",
62
+ "@univerjs/engine-formula": "0.7.0-beta.0",
63
+ "@univerjs/core": "0.7.0-beta.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "typescript": "^5.8.3",
67
- "vite": "^6.3.0",
68
- "vitest": "^3.1.1",
69
- "@univerjs-infra/shared": "0.6.10"
67
+ "vite": "^6.3.3",
68
+ "vitest": "^3.1.2",
69
+ "@univerjs-infra/shared": "0.7.0-beta.0"
70
70
  },
71
71
  "scripts": {
72
72
  "test": "vitest run",