@univerjs/sheets-sort 0.5.0 → 0.5.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 +1 -1
- package/lib/cjs/locale/fr-FR.js +1 -0
- package/lib/es/index.js +22 -22
- package/lib/es/locale/fr-FR.js +18 -0
- package/lib/types/controllers/config.schema.d.ts +1 -1
- package/lib/types/locale/fr-FR.d.ts +3 -0
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -0
- package/package.json +8 -8
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var j=Object.defineProperty;var M=(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)=>M(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),R=require("@univerjs/sheets"),$=require("@univerjs/engine-formula"),V="sheets-sort.config",x={};var f=(e=>(e.DESC="desc",e.ASC="asc",e))(f||{});const A=e=>e.replace(/-/gi,"").replace(/'/gi,""),L=(e,r)=>{const t=e===null||e==="",o=r===null||r==="";return t&&o?0:t?1:o?-1:null},G=(e,r,t)=>{const o=typeof e=="number",n=typeof r=="number";return o&&n?e<r?t===f.ASC?-1:1:e>r?t===f.ASC?1:-1:0:o?t===f.ASC?1:-1:n?t===f.ASC?-1:1:null},q=(e,r,t)=>{const o=typeof e=="string",n=typeof r=="string";if(o&&(e=A(e.toLocaleLowerCase())),n&&(r=A(r.toLocaleLowerCase())),!o&&!n)return null;if(o&&n){const s=e,i=r;return s<i?t===f.ASC?-1:1:s>i?t===f.ASC?1:-1:0}return o?t===f.ASC?1:-1:n?t===f.ASC?-1:1:null},F=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var B=Object.defineProperty,H=Object.getOwnPropertyDescriptor,K=(e,r,t,o)=>{for(var n=o>1?void 0:o?H(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(n=(o?i(r,t,n):i(n))||n);return o&&n&&B(r,t,n),n},p=(e,r)=>(t,o)=>r(t,o,e);exports.SheetsSortService=class extends c.Disposable{constructor(t,o,n){super();d(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=o,this._formulaDataModel=n}mergeCheck(t){var u;const{unitId:o,subUnitId:n,range:s}=t,i=(u=this._univerInstanceService.getUnit(o))==null?void 0:u.getSheetBySheetId(n);if(!i)return!1;const l=i.getMergeData().filter(a=>c.Rectangle.contains(s,a));return l.length===0?!0:W(s,l)}emptyCheck(t){var l;const{unitId:o,subUnitId:n,range:s}=t,i=(l=this._univerInstanceService.getUnit(o))==null?void 0:l.getSheetBySheetId(n);if(!i)return!1;for(let u=s.startRow;u<=s.endRow;u++)for(let a=s.startColumn;a<=s.endColumn;a++)if(!F(i.getCellRaw(u,a)))return!0;return!1}singleCheck(t){return t.range.startRow!==t.range.endRow}formulaCheck(t){var l,u;const{unitId:o,subUnitId:n,range:s}=t,i=(u=(l=this._formulaDataModel.getArrayFormulaRange())==null?void 0:l[o])==null?void 0:u[n];for(const a in i){const g=i[Number(a)];for(const C in g){const S=g[Number(C)];if(S&&c.Rectangle.intersects(s,S))return!1}}return!0}registerCompareFn(t){this._compareFns.unshift(t)}getAllCompareFns(){return this._compareFns}applySort(t,o,n){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:o||s,subUnitId:n||i})}};exports.SheetsSortService=K([p(0,c.IUniverInstanceService),p(1,c.ICommandService),p(2,c.Inject($.FormulaDataModel))],exports.SheetsSortService);function W(e,r){const t=e.endRow-e.startRow+1,o=e.endColumn-e.startColumn+1;let n=null,s=null;const i=t*o;let l=0;for(const u of r)if(u.startRow>=e.startRow&&u.endRow<=e.endRow&&u.startColumn>=e.startColumn&&u.endColumn<=e.endColumn){const a=u.endRow-u.startRow+1,g=u.endColumn-u.startColumn+1;if(n===null&&s===null)n=a,s=g;else if(a!==n||g!==s)return!1;l+=a*g}return l===i}const I={id:"sheet.command.sort-range",type:c.CommandType.COMMAND,handler:(e,r)=>{const{range:t,orderRules:o,hasTitle:n,unitId:s,subUnitId:i}=r,l=e.get(exports.SheetsSortService),u=e.get(c.IUniverInstanceService),{worksheet:a}=R.getSheetCommandTarget(u,r)||{};if(!a)return!1;const g=a.getMergeData().filter(m=>c.Rectangle.contains(t,m)),C=g.map(m=>m.startRow),{startRow:S,endRow:D}=t,N=n?S+1:S,_=[],w=[];for(let m=N;m<=D;m++)a.getRowFiltered(m)||a.getRowRawVisible(m)!==!1&&(g.length&&!C.includes(m)||(_.push({index:m,value:Y(a,m,o)}),w.push(m)));const O=l.getAllCompareFns();_.sort(J(o,z(O)));const b={};_.forEach(({index:m,value:oe},E)=>{b[w[E]]=m});const
|
|
1
|
+
"use strict";var j=Object.defineProperty;var M=(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)=>M(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),R=require("@univerjs/sheets"),$=require("@univerjs/engine-formula"),V="sheets-sort.config",x={};var f=(e=>(e.DESC="desc",e.ASC="asc",e))(f||{});const A=e=>e.replace(/-/gi,"").replace(/'/gi,""),L=(e,r)=>{const t=e===null||e==="",o=r===null||r==="";return t&&o?0:t?1:o?-1:null},G=(e,r,t)=>{const o=typeof e=="number",n=typeof r=="number";return o&&n?e<r?t===f.ASC?-1:1:e>r?t===f.ASC?1:-1:0:o?t===f.ASC?1:-1:n?t===f.ASC?-1:1:null},q=(e,r,t)=>{const o=typeof e=="string",n=typeof r=="string";if(o&&(e=A(e.toLocaleLowerCase())),n&&(r=A(r.toLocaleLowerCase())),!o&&!n)return null;if(o&&n){const s=e,i=r;return s<i?t===f.ASC?-1:1:s>i?t===f.ASC?1:-1:0}return o?t===f.ASC?1:-1:n?t===f.ASC?-1:1:null},F=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var B=Object.defineProperty,H=Object.getOwnPropertyDescriptor,K=(e,r,t,o)=>{for(var n=o>1?void 0:o?H(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(n=(o?i(r,t,n):i(n))||n);return o&&n&&B(r,t,n),n},p=(e,r)=>(t,o)=>r(t,o,e);exports.SheetsSortService=class extends c.Disposable{constructor(t,o,n){super();d(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=o,this._formulaDataModel=n}mergeCheck(t){var u;const{unitId:o,subUnitId:n,range:s}=t,i=(u=this._univerInstanceService.getUnit(o))==null?void 0:u.getSheetBySheetId(n);if(!i)return!1;const l=i.getMergeData().filter(a=>c.Rectangle.contains(s,a));return l.length===0?!0:W(s,l)}emptyCheck(t){var l;const{unitId:o,subUnitId:n,range:s}=t,i=(l=this._univerInstanceService.getUnit(o))==null?void 0:l.getSheetBySheetId(n);if(!i)return!1;for(let u=s.startRow;u<=s.endRow;u++)for(let a=s.startColumn;a<=s.endColumn;a++)if(!F(i.getCellRaw(u,a)))return!0;return!1}singleCheck(t){return t.range.startRow!==t.range.endRow}formulaCheck(t){var l,u;const{unitId:o,subUnitId:n,range:s}=t,i=(u=(l=this._formulaDataModel.getArrayFormulaRange())==null?void 0:l[o])==null?void 0:u[n];for(const a in i){const g=i[Number(a)];for(const C in g){const S=g[Number(C)];if(S&&c.Rectangle.intersects(s,S))return!1}}return!0}registerCompareFn(t){this._compareFns.unshift(t)}getAllCompareFns(){return this._compareFns}applySort(t,o,n){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:o||s,subUnitId:n||i})}};exports.SheetsSortService=K([p(0,c.IUniverInstanceService),p(1,c.ICommandService),p(2,c.Inject($.FormulaDataModel))],exports.SheetsSortService);function W(e,r){const t=e.endRow-e.startRow+1,o=e.endColumn-e.startColumn+1;let n=null,s=null;const i=t*o;let l=0;for(const u of r)if(u.startRow>=e.startRow&&u.endRow<=e.endRow&&u.startColumn>=e.startColumn&&u.endColumn<=e.endColumn){const a=u.endRow-u.startRow+1,g=u.endColumn-u.startColumn+1;if(n===null&&s===null)n=a,s=g;else if(a!==n||g!==s)return!1;l+=a*g}return l===i}const I={id:"sheet.command.sort-range",type:c.CommandType.COMMAND,handler:(e,r)=>{const{range:t,orderRules:o,hasTitle:n,unitId:s,subUnitId:i}=r,l=e.get(exports.SheetsSortService),u=e.get(c.IUniverInstanceService),{worksheet:a}=R.getSheetCommandTarget(u,r)||{};if(!a)return!1;const g=a.getMergeData().filter(m=>c.Rectangle.contains(t,m)),C=g.map(m=>m.startRow),{startRow:S,endRow:D}=t,N=n?S+1:S,_=[],w=[];for(let m=N;m<=D;m++)a.getRowFiltered(m)||a.getRowRawVisible(m)!==!1&&(g.length&&!C.includes(m)||(_.push({index:m,value:Y(a,m,o)}),w.push(m)));const O=l.getAllCompareFns();_.sort(J(o,z(O)));const b={};_.forEach(({index:m,value:oe},E)=>{b[w[E]]=m});const T={id:R.ReorderRangeCommand.id,params:{unitId:s,subUnitId:i,range:t,order:b}},U=e.get(c.ICommandService);return c.sequenceExecute([T],U).result}};function Y(e,r,t){const o=[];return t.forEach(({colIndex:n})=>{o.push(e.getCellRaw(r,n))}),o}function z(e){return(r,t,o)=>{for(let n=0;n<e.length;n++){const s=e[n](r,t,o);if(s!=null)return s}return 0}}function J(e,r){return function(t,o){let n=null;for(let s=0;s<e.length;s++){const i=t.value[s],l=o.value[s];if(n=r(e[s].type,i,l),n!==0&&n!==null&&n!==void 0)return n}return 0}}var Q=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Z=(e,r,t,o)=>{for(var n=o>1?void 0:o?X(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(n=(o?i(r,t,n):i(n))||n);return o&&n&&Q(r,t,n),n},P=(e,r)=>(t,o)=>r(t,o,e);let h=class extends c.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,o)=>{const n=this._getCommonValue(t),s=this._getCommonValue(o),i=[L,q,G];for(let l=0;l<i.length;l++){const u=i[l](n,s,r);if(u!==null)return u}return null};this._sortService.registerCompareFn(e)}_getCommonValue(e){var t,o;if(F(e))return null;const r=(o=(t=e==null?void 0:e.p)==null?void 0:t.body)==null?void 0:o.dataStream;return r||((e==null?void 0:e.t)===c.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===c.CellValueType.STRING?typeof e.v=="number"?e.v:`${e.v}`:(e==null?void 0:e.t)===c.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===c.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};h=Z([P(0,c.ICommandService),P(1,c.Inject(exports.SheetsSortService))],h);var k=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,te=(e,r,t,o)=>{for(var n=o>1?void 0:o?ee(r,t):r,s=e.length-1,i;s>=0;s--)(i=e[s])&&(n=(o?i(r,t,n):i(n))||n);return o&&n&&k(r,t,n),n},y=(e,r)=>(t,o)=>r(t,o,e);const re="SHEET_SORT_PLUGIN";var v;exports.UniverSheetsSortPlugin=(v=class extends c.Plugin{constructor(r=x,t,o){super(),this._config=r,this._injector=t,this._configService=o;const{...n}=this._config;this._configService.setConfig(V,n)}onStarting(){[[h],[exports.SheetsSortService]].forEach(r=>this._injector.add(r))}onReady(){this._injector.get(h)}},d(v,"type",c.UniverInstanceType.UNIVER_SHEET),d(v,"pluginName",re),v);exports.UniverSheetsSortPlugin=te([y(1,c.Inject(c.Injector)),y(2,c.IConfigService)],exports.UniverSheetsSortPlugin);exports.SortRangeCommand=I;exports.SortType=f;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const r={sheetsSort:{title:"Trier",toolbar:{"sort-asc":"ordre croissant","sort-desc":"ordre décroissant","sort-custom":"ordre personnalisé"},"context-menu":{"sort-asc":"ordre croissant","sort-desc":"ordre décroissant","sort-custom":"ordre personnalisé"}}};module.exports=r;
|
package/lib/es/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var B = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var h = (e, t, r) =>
|
|
4
|
-
import { Inject as w, Disposable as
|
|
2
|
+
var H = (e, t, r) => t in e ? B(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 { Inject as w, Disposable as E, Rectangle as R, IUniverInstanceService as y, ICommandService as I, CommandType as q, sequenceExecute as K, CellValueType as v, Plugin as W, UniverInstanceType as Y, Injector as z, IConfigService as J } from "@univerjs/core";
|
|
5
5
|
import { getSheetCommandTarget as U, ReorderRangeCommand as Q } from "@univerjs/sheets";
|
|
6
6
|
import { FormulaDataModel as X } from "@univerjs/engine-formula";
|
|
7
7
|
const Z = "sheets-sort.config", k = {};
|
|
@@ -21,13 +21,13 @@ const N = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), ee = (e, t) => {
|
|
|
21
21
|
return s < i ? r === f.ASC ? -1 : 1 : s > i ? r === f.ASC ? 1 : -1 : 0;
|
|
22
22
|
}
|
|
23
23
|
return o ? r === f.ASC ? 1 : -1 : n ? r === f.ASC ? -1 : 1 : null;
|
|
24
|
-
},
|
|
24
|
+
}, T = (e) => !e || Object.keys(e).length === 0 || (e == null ? void 0 : e.v) == null && (e == null ? void 0 : e.p) == null;
|
|
25
25
|
var ne = Object.defineProperty, oe = Object.getOwnPropertyDescriptor, se = (e, t, r, o) => {
|
|
26
26
|
for (var n = o > 1 ? void 0 : o ? oe(t, r) : t, s = e.length - 1, i; s >= 0; s--)
|
|
27
27
|
(i = e[s]) && (n = (o ? i(t, r, n) : i(n)) || n);
|
|
28
28
|
return o && n && ne(t, r, n), n;
|
|
29
29
|
}, p = (e, t) => (r, o) => t(r, o, e);
|
|
30
|
-
let g = class extends
|
|
30
|
+
let g = class extends E {
|
|
31
31
|
constructor(t, r, o) {
|
|
32
32
|
super();
|
|
33
33
|
h(this, "_compareFns", []);
|
|
@@ -48,7 +48,7 @@ let g = class extends y {
|
|
|
48
48
|
return !1;
|
|
49
49
|
for (let c = n.startRow; c <= n.endRow; c++)
|
|
50
50
|
for (let u = n.startColumn; u <= n.endColumn; u++)
|
|
51
|
-
if (!
|
|
51
|
+
if (!T(s.getCellRaw(c, u)))
|
|
52
52
|
return !0;
|
|
53
53
|
return !1;
|
|
54
54
|
}
|
|
@@ -77,7 +77,7 @@ let g = class extends y {
|
|
|
77
77
|
applySort(t, r, o) {
|
|
78
78
|
var i;
|
|
79
79
|
const { unitId: n, subUnitId: s } = U(this._univerInstanceService) || {};
|
|
80
|
-
this._commandService.executeCommand(
|
|
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,
|
|
@@ -87,7 +87,7 @@ let g = class extends y {
|
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
g = se([
|
|
90
|
-
p(0,
|
|
90
|
+
p(0, y),
|
|
91
91
|
p(1, I),
|
|
92
92
|
p(2, w(X))
|
|
93
93
|
], g);
|
|
@@ -107,11 +107,11 @@ function ie(e, t) {
|
|
|
107
107
|
}
|
|
108
108
|
return c === i;
|
|
109
109
|
}
|
|
110
|
-
const
|
|
110
|
+
const M = {
|
|
111
111
|
id: "sheet.command.sort-range",
|
|
112
|
-
type:
|
|
112
|
+
type: q.COMMAND,
|
|
113
113
|
handler: (e, t) => {
|
|
114
|
-
const { range: r, orderRules: o, hasTitle: n, unitId: s, subUnitId: i } = t, c = e.get(g), u = e.get(
|
|
114
|
+
const { range: r, orderRules: o, hasTitle: n, unitId: s, subUnitId: i } = t, c = e.get(g), u = e.get(y), { worksheet: a } = U(u, t) || {};
|
|
115
115
|
if (!a)
|
|
116
116
|
return !1;
|
|
117
117
|
const m = a.getMergeData().filter((l) => R.contains(r, l)), d = m.map((l) => l.startRow), { startRow: b, endRow: $ } = r, j = n ? b + 1 : b, S = [], A = [];
|
|
@@ -170,13 +170,13 @@ var ae = Object.defineProperty, fe = Object.getOwnPropertyDescriptor, me = (e, t
|
|
|
170
170
|
(i = e[s]) && (n = (o ? i(t, r, n) : i(n)) || n);
|
|
171
171
|
return o && n && ae(t, r, n), n;
|
|
172
172
|
}, D = (e, t) => (r, o) => t(r, o, e);
|
|
173
|
-
let _ = class extends
|
|
173
|
+
let _ = class extends E {
|
|
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
|
-
|
|
179
|
+
M
|
|
180
180
|
].forEach((e) => this.disposeWithMe(this._commandService.registerCommand(e)));
|
|
181
181
|
}
|
|
182
182
|
_registerCompareFns() {
|
|
@@ -197,7 +197,7 @@ let _ = class extends y {
|
|
|
197
197
|
}
|
|
198
198
|
_getCommonValue(e) {
|
|
199
199
|
var r, o;
|
|
200
|
-
if (
|
|
200
|
+
if (T(e))
|
|
201
201
|
return null;
|
|
202
202
|
const t = (o = (r = e == null ? void 0 : e.p) == null ? void 0 : r.body) == null ? void 0 : o.dataStream;
|
|
203
203
|
return t || ((e == null ? void 0 : e.t) === v.NUMBER ? Number.parseFloat(`${e.v}`) : (e == null ? void 0 : e.t) === v.STRING ? typeof e.v == "number" ? e.v : `${e.v}` : (e == null ? void 0 : e.t) === v.BOOLEAN ? `${e.v}` : (e == null ? void 0 : e.t) === v.FORCE_STRING ? Number.parseFloat(`${e.v}`) : `${e == null ? void 0 : e.v}`);
|
|
@@ -211,10 +211,10 @@ var ge = Object.defineProperty, de = Object.getOwnPropertyDescriptor, he = (e, t
|
|
|
211
211
|
for (var n = o > 1 ? void 0 : o ? de(t, r) : t, s = e.length - 1, i; s >= 0; s--)
|
|
212
212
|
(i = e[s]) && (n = (o ? i(t, r, n) : i(n)) || n);
|
|
213
213
|
return o && n && ge(t, r, n), n;
|
|
214
|
-
},
|
|
214
|
+
}, O = (e, t) => (r, o) => t(r, o, e);
|
|
215
215
|
const ve = "SHEET_SORT_PLUGIN";
|
|
216
216
|
var C;
|
|
217
|
-
let
|
|
217
|
+
let P = (C = class extends W {
|
|
218
218
|
constructor(e = k, t, r) {
|
|
219
219
|
super(), this._config = e, this._injector = t, this._configService = r;
|
|
220
220
|
const { ...o } = this._config;
|
|
@@ -230,13 +230,13 @@ let O = (C = class extends W {
|
|
|
230
230
|
this._injector.get(_);
|
|
231
231
|
}
|
|
232
232
|
}, h(C, "type", Y.UNIVER_SHEET), h(C, "pluginName", ve), C);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
],
|
|
233
|
+
P = he([
|
|
234
|
+
O(1, w(z)),
|
|
235
|
+
O(2, J)
|
|
236
|
+
], P);
|
|
237
237
|
export {
|
|
238
238
|
g as SheetsSortService,
|
|
239
|
-
|
|
239
|
+
M as SortRangeCommand,
|
|
240
240
|
f as SortType,
|
|
241
|
-
|
|
241
|
+
P as UniverSheetsSortPlugin
|
|
242
242
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const r = {
|
|
2
|
+
sheetsSort: {
|
|
3
|
+
title: "Trier",
|
|
4
|
+
toolbar: {
|
|
5
|
+
"sort-asc": "ordre croissant",
|
|
6
|
+
"sort-desc": "ordre décroissant",
|
|
7
|
+
"sort-custom": "ordre personnalisé"
|
|
8
|
+
},
|
|
9
|
+
"context-menu": {
|
|
10
|
+
"sort-asc": "ordre croissant",
|
|
11
|
+
"sort-desc": "ordre décroissant",
|
|
12
|
+
"sort-custom": "ordre personnalisé"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
r as default
|
|
18
|
+
};
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const SHEETS_SORT_PLUGIN_CONFIG_KEY = "sheets-sort.config";
|
|
17
17
|
export declare const configSymbol: unique symbol;
|
|
18
18
|
export interface IUniverSheetsSortConfig {
|
|
19
19
|
}
|
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,
|
|
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,g,T){"use strict";var ne=Object.defineProperty;var re=(l,i,g)=>i in l?ne(l,i,{enumerable:!0,configurable:!0,writable:!0,value:g}):l[i]=g;var _=(l,i,g)=>re(l,typeof i!="symbol"?i+"":i,g);var C;const j="sheets-sort.config",D={};var S=(e=>(e.DESC="desc",e.ASC="asc",e))(S||{});const b=e=>e.replace(/-/gi,"").replace(/'/gi,""),N=(e,s)=>{const t=e===null||e==="",r=s===null||s==="";return t&&r?0:t?1:r?-1:null},O=(e,s,t)=>{const r=typeof e=="number",n=typeof s=="number";return r&&n?e<s?t===S.ASC?-1:1:e>s?t===S.ASC?1:-1:0:r?t===S.ASC?1:-1:n?t===S.ASC?-1:1:null},E=(e,s,t)=>{const r=typeof e=="string",n=typeof s=="string";if(r&&(e=b(e.toLocaleLowerCase())),n&&(s=b(s.toLocaleLowerCase())),!r&&!n)return null;if(r&&n){const o=e,u=s;return o<u?t===S.ASC?-1:1:o>u?t===S.ASC?1:-1:0}return r?t===S.ASC?1:-1:n?t===S.ASC?-1:1:null},A=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;var M=Object.defineProperty,$=Object.getOwnPropertyDescriptor,V=(e,s,t,r)=>{for(var n=r>1?void 0:r?$(s,t):s,o=e.length-1,u;o>=0;o--)(u=e[o])&&(n=(r?u(s,t,n):u(n))||n);return r&&n&&M(s,t,n),n},p=(e,s)=>(t,r)=>s(t,r,e);l.SheetsSortService=class extends i.Disposable{constructor(t,r,n){super();_(this,"_compareFns",[]);this._univerInstanceService=t,this._commandService=r,this._formulaDataModel=n}mergeCheck(t){var a;const{unitId:r,subUnitId:n,range:o}=t,u=(a=this._univerInstanceService.getUnit(r))==null?void 0:a.getSheetBySheetId(n);if(!u)return!1;const c=u.getMergeData().filter(f=>i.Rectangle.contains(o,f));return c.length===0?!0:L(o,c)}emptyCheck(t){var c;const{unitId:r,subUnitId:n,range:o}=t,u=(c=this._univerInstanceService.getUnit(r))==null?void 0:c.getSheetBySheetId(n);if(!u)return!1;for(let a=o.startRow;a<=o.endRow;a++)for(let f=o.startColumn;f<=o.endColumn;f++)if(!A(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:n,range:o}=t,u=(a=(c=this._formulaDataModel.getArrayFormulaRange())==null?void 0:c[r])==null?void 0:a[n];for(const f in u){const d=u[Number(f)];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,r,n){var c;const{unitId:o,subUnitId:u}=g.getSheetCommandTarget(this._univerInstanceService)||{};this._commandService.executeCommand(R.id,{orderRules:t.orderRules,range:t.range,hasTitle:(c=t.hasTitle)!=null?c:!1,unitId:r||o,subUnitId:n||u})}},l.SheetsSortService=V([p(0,i.IUniverInstanceService),p(1,i.ICommandService),p(2,i.Inject(T.FormulaDataModel))],l.SheetsSortService);function L(e,s){const t=e.endRow-e.startRow+1,r=e.endColumn-e.startColumn+1;let n=null,o=null;const u=t*r;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 f=a.endRow-a.startRow+1,d=a.endColumn-a.startColumn+1;if(n===null&&o===null)n=f,o=d;else if(f!==n||d!==o)return!1;c+=f*d}return c===u}const R={id:"sheet.command.sort-range",type:i.CommandType.COMMAND,handler:(e,s)=>{const{range:t,orderRules:r,hasTitle:n,unitId:o,subUnitId:u}=s,c=e.get(l.SheetsSortService),a=e.get(i.IUniverInstanceService),{worksheet:f}=g.getSheetCommandTarget(a,s)||{};if(!f)return!1;const d=f.getMergeData().filter(m=>i.Rectangle.contains(t,m)),I=d.map(m=>m.startRow),{startRow:v,endRow:Q}=t,X=n?v+1:v,w=[],U=[];for(let m=X;m<=Q;m++)f.getRowFiltered(m)||f.getRowRawVisible(m)!==!1&&(d.length&&!I.includes(m)||(w.push({index:m,value:G(f,m,r)}),U.push(m)));const Z=c.getAllCompareFns();w.sort(B(r,q(Z)));const F={};w.forEach(({index:m,value:oe},te)=>{F[U[te]]=m});const k={id:g.ReorderRangeCommand.id,params:{unitId:o,subUnitId:u,range:t,order:F}},ee=e.get(i.ICommandService);return i.sequenceExecute([k],ee).result}};function G(e,s,t){const r=[];return t.forEach(({colIndex:n})=>{r.push(e.getCellRaw(s,n))}),r}function q(e){return(s,t,r)=>{for(let n=0;n<e.length;n++){const o=e[n](s,t,r);if(o!=null)return o}return 0}}function B(e,s){return function(t,r){let n=null;for(let o=0;o<e.length;o++){const u=t.value[o],c=r.value[o];if(n=s(e[o].type,u,c),n!==0&&n!==null&&n!==void 0)return n}return 0}}var H=Object.defineProperty,x=Object.getOwnPropertyDescriptor,K=(e,s,t,r)=>{for(var n=r>1?void 0:r?x(s,t):s,o=e.length-1,u;o>=0;o--)(u=e[o])&&(n=(r?u(s,t,n):u(n))||n);return r&&n&&H(s,t,n),n},y=(e,s)=>(t,r)=>s(t,r,e);let h=class extends i.Disposable{constructor(e,s){super(),this._commandService=e,this._sortService=s,this._initCommands(),this._registerCompareFns()}_initCommands(){[R].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){const e=(s,t,r)=>{const n=this._getCommonValue(t),o=this._getCommonValue(r),u=[N,E,O];for(let c=0;c<u.length;c++){const a=u[c](n,o,s);if(a!==null)return a}return null};this._sortService.registerCompareFn(e)}_getCommonValue(e){var t,r;if(A(e))return null;const s=(r=(t=e==null?void 0:e.p)==null?void 0:t.body)==null?void 0:r.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([y(0,i.ICommandService),y(1,i.Inject(l.SheetsSortService))],h);var W=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,z=(e,s,t,r)=>{for(var n=r>1?void 0:r?Y(s,t):s,o=e.length-1,u;o>=0;o--)(u=e[o])&&(n=(r?u(s,t,n):u(n))||n);return r&&n&&W(s,t,n),n},P=(e,s)=>(t,r)=>s(t,r,e);const J="SHEET_SORT_PLUGIN";l.UniverSheetsSortPlugin=(C=class extends i.Plugin{constructor(s=D,t,r){super(),this._config=s,this._injector=t,this._configService=r;const{...n}=this._config;this._configService.setConfig(j,n)}onStarting(){[[h],[l.SheetsSortService]].forEach(s=>this._injector.add(s))}onReady(){this._injector.get(h)}},_(C,"type",i.UniverInstanceType.UNIVER_SHEET),_(C,"pluginName",J),C),l.UniverSheetsSortPlugin=z([P(1,i.Inject(i.Injector)),P(2,i.IConfigService)],l.UniverSheetsSortPlugin),l.SortRangeCommand=R,l.SortType=S,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,o){typeof exports=="object"&&typeof module<"u"?module.exports=o():typeof define=="function"&&define.amd?define(o):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverSheetsSortFrFR=o())})(this,function(){"use strict";return{sheetsSort:{title:"Trier",toolbar:{"sort-asc":"ordre croissant","sort-desc":"ordre décroissant","sort-custom":"ordre personnalisé"},"context-menu":{"sort-asc":"ordre croissant","sort-desc":"ordre décroissant","sort-custom":"ordre personnalisé"}}}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-sort",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A library for sorting data in Univer Sheet",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -48,15 +48,15 @@
|
|
|
48
48
|
"lib"
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@univerjs/core": "0.5.
|
|
52
|
-
"@univerjs/
|
|
53
|
-
"@univerjs/
|
|
51
|
+
"@univerjs/core": "0.5.1",
|
|
52
|
+
"@univerjs/sheets": "0.5.1",
|
|
53
|
+
"@univerjs/engine-formula": "0.5.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"typescript": "^5.
|
|
57
|
-
"vite": "^
|
|
58
|
-
"vitest": "^2.1.
|
|
59
|
-
"@univerjs-infra/shared": "0.5.
|
|
56
|
+
"typescript": "^5.7.2",
|
|
57
|
+
"vite": "^6.0.1",
|
|
58
|
+
"vitest": "^2.1.6",
|
|
59
|
+
"@univerjs-infra/shared": "0.5.1"
|
|
60
60
|
},
|
|
61
61
|
"space": {
|
|
62
62
|
".": {
|