@univerjs/sheets-sort 0.16.1 → 0.17.0-insiders.20260318-d69dc16

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.
Files changed (80) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +1 -1
  3. package/lib/cjs/locale/ca-ES.js +1 -1
  4. package/lib/cjs/locale/en-US.js +1 -1
  5. package/lib/cjs/locale/es-ES.js +1 -1
  6. package/lib/cjs/locale/fa-IR.js +1 -1
  7. package/lib/cjs/locale/fr-FR.js +1 -1
  8. package/lib/cjs/locale/ja-JP.js +1 -1
  9. package/lib/cjs/locale/ko-KR.js +1 -1
  10. package/lib/cjs/locale/ru-RU.js +1 -1
  11. package/lib/cjs/locale/sk-SK.js +1 -1
  12. package/lib/cjs/locale/vi-VN.js +1 -1
  13. package/lib/cjs/locale/zh-CN.js +1 -1
  14. package/lib/cjs/locale/zh-TW.js +1 -1
  15. package/lib/es/facade.js +1 -102
  16. package/lib/es/index.js +1 -248
  17. package/lib/es/locale/ca-ES.js +1 -18
  18. package/lib/es/locale/en-US.js +1 -18
  19. package/lib/es/locale/es-ES.js +1 -18
  20. package/lib/es/locale/fa-IR.js +1 -18
  21. package/lib/es/locale/fr-FR.js +1 -18
  22. package/lib/es/locale/ja-JP.js +1 -18
  23. package/lib/es/locale/ko-KR.js +1 -18
  24. package/lib/es/locale/ru-RU.js +1 -18
  25. package/lib/es/locale/sk-SK.js +1 -18
  26. package/lib/es/locale/vi-VN.js +1 -18
  27. package/lib/es/locale/zh-CN.js +1 -18
  28. package/lib/es/locale/zh-TW.js +1 -18
  29. package/lib/facade.js +1 -102
  30. package/lib/index.js +1 -248
  31. package/lib/locale/ca-ES.js +1 -18
  32. package/lib/locale/en-US.js +1 -18
  33. package/lib/locale/es-ES.js +1 -18
  34. package/lib/locale/fa-IR.js +1 -18
  35. package/lib/locale/fr-FR.js +1 -18
  36. package/lib/locale/ja-JP.js +1 -18
  37. package/lib/locale/ko-KR.js +1 -18
  38. package/lib/locale/ru-RU.js +1 -18
  39. package/lib/locale/sk-SK.js +1 -18
  40. package/lib/locale/vi-VN.js +1 -18
  41. package/lib/locale/zh-CN.js +1 -18
  42. package/lib/locale/zh-TW.js +1 -18
  43. package/lib/types/commands/commands/sheets-sort.command.d.ts +18 -3
  44. package/lib/types/controllers/sheets-sort.controller.d.ts +15 -0
  45. package/lib/types/controllers/utils.d.ts +17 -2
  46. package/lib/types/facade/f-event.d.ts +17 -2
  47. package/lib/types/facade/f-range.d.ts +15 -0
  48. package/lib/types/facade/f-worksheet.d.ts +15 -0
  49. package/lib/types/index.d.ts +1 -1
  50. package/lib/types/locale/ca-ES.d.ts +16 -1
  51. package/lib/types/locale/es-ES.d.ts +16 -1
  52. package/lib/types/locale/fa-IR.d.ts +16 -1
  53. package/lib/types/locale/fr-FR.d.ts +16 -1
  54. package/lib/types/locale/ja-JP.d.ts +16 -1
  55. package/lib/types/locale/ko-KR.d.ts +16 -1
  56. package/lib/types/locale/ru-RU.d.ts +16 -1
  57. package/lib/types/locale/sk-SK.d.ts +16 -1
  58. package/lib/types/locale/vi-VN.d.ts +16 -1
  59. package/lib/types/locale/zh-CN.d.ts +16 -1
  60. package/lib/types/locale/zh-TW.d.ts +16 -1
  61. package/lib/types/plugin.d.ts +18 -1
  62. package/lib/types/services/interface.d.ts +16 -1
  63. package/lib/types/services/sheets-sort.service.d.ts +18 -3
  64. package/lib/umd/facade.js +1 -1
  65. package/lib/umd/index.js +1 -1
  66. package/lib/umd/locale/ca-ES.js +1 -1
  67. package/lib/umd/locale/en-US.js +1 -1
  68. package/lib/umd/locale/es-ES.js +1 -1
  69. package/lib/umd/locale/fa-IR.js +1 -1
  70. package/lib/umd/locale/fr-FR.js +1 -1
  71. package/lib/umd/locale/ja-JP.js +1 -1
  72. package/lib/umd/locale/ko-KR.js +1 -1
  73. package/lib/umd/locale/ru-RU.js +1 -1
  74. package/lib/umd/locale/sk-SK.js +1 -1
  75. package/lib/umd/locale/vi-VN.js +1 -1
  76. package/lib/umd/locale/zh-CN.js +1 -1
  77. package/lib/umd/locale/zh-TW.js +1 -1
  78. package/package.json +9 -8
  79. package/LICENSE +0 -176
  80. /package/lib/types/{controllers/config.schema.d.ts → config/config.d.ts} +0 -0
package/lib/cjs/facade.js CHANGED
@@ -1 +1 @@
1
- "use strict";const r=require("@univerjs/sheets-sort"),h=require("@univerjs/sheets/facade"),R=require("@univerjs/core"),S=require("@univerjs/core/facade");class l extends h.FRange{sort(o){const e=this._range.startColumn,s=(Array.isArray(o)?o:[o]).map(n=>typeof n=="number"?{colIndex:n+e,type:r.SortType.ASC}:{colIndex:n.column+e,type:n.ascending?r.SortType.ASC:r.SortType.DESC});return this._commandService.syncExecuteCommand(r.SortRangeCommand.id,{orderRules:s,range:this._range,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}}h.FRange.extend(l);class C extends h.FWorksheet{sort(o,e=!0){const t=[{colIndex:o,type:e?r.SortType.ASC:r.SortType.DESC}],s={startRow:0,startColumn:0,endRow:this._worksheet.getRowCount()-1,endColumn:this._worksheet.getColumnCount()-1,rangeType:R.RANGE_TYPE.ALL};return this._commandService.syncExecuteCommand(r.SortRangeCommand.id,{orderRules:t,range:s,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}}h.FWorksheet.extend(C);class v{get SheetRangeSorted(){return"SheetRangeSorted"}get SheetBeforeRangeSort(){return"SheetBeforeRangeSort"}}S.FEventName.extend(h.FSheetEventName);class f extends S.FUniver{_initialize(o){const e=o.get(R.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeSort,()=>e.beforeCommandExecuted(t=>{t.id===r.SortRangeCommand.id&&this._beforeRangeSort(t)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeSorted,()=>e.onCommandExecuted(t=>{t.id===r.SortRangeCommand.id&&this._onRangeSorted(t)})))}_beforeRangeSort(o){const e=o.params,t=this.getUniverSheet(e.unitId),s=t.getSheetBySheetId(e.subUnitId),{startColumn:n,endColumn:g,startRow:a,endRow:m}=e.range,u=s.getRange(a,n,m-a+1,g-n+1),i={workbook:t,worksheet:s,range:u,sortColumn:e.orderRules.map(d=>({column:d.colIndex-n,ascending:d.type===r.SortType.ASC}))};if(this.fireEvent(this.Event.SheetBeforeRangeSort,i),i.cancel)throw new Error("SortRangeCommand canceled.")}_onRangeSorted(o){const e=o.params,t=this.getUniverSheet(e.unitId),s=t.getSheetBySheetId(e.subUnitId),{startColumn:n,endColumn:g,startRow:a,endRow:m}=e.range,u=s.getRange(a,n,m-a+1,g-n+1),i={workbook:t,worksheet:s,range:u,sortColumn:e.orderRules.map(d=>({column:d.colIndex-n,ascending:d.type===r.SortType.ASC}))};if(this.fireEvent(this.Event.SheetRangeSorted,i),i.cancel)throw new Error("SortRangeCommand canceled.")}}S.FUniver.extend(f);S.FEventName.extend(v);
1
+ let e=require(`@univerjs/sheets-sort`),t=require(`@univerjs/sheets/facade`),n=require(`@univerjs/core`),r=require(`@univerjs/core/facade`);var i=class extends t.FRange{sort(t){let n=this._range.startColumn,r=(Array.isArray(t)?t:[t]).map(t=>typeof t==`number`?{colIndex:t+n,type:e.SortType.ASC}:{colIndex:t.column+n,type:t.ascending?e.SortType.ASC:e.SortType.DESC});return this._commandService.syncExecuteCommand(e.SortRangeCommand.id,{orderRules:r,range:this._range,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}};t.FRange.extend(i);var a=class extends t.FWorksheet{sort(t,r=!0){let i=[{colIndex:t,type:r?e.SortType.ASC:e.SortType.DESC}],a={startRow:0,startColumn:0,endRow:this._worksheet.getRowCount()-1,endColumn:this._worksheet.getColumnCount()-1,rangeType:n.RANGE_TYPE.ALL};return this._commandService.syncExecuteCommand(e.SortRangeCommand.id,{orderRules:i,range:a,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}};t.FWorksheet.extend(a);var o=class{get SheetRangeSorted(){return`SheetRangeSorted`}get SheetBeforeRangeSort(){return`SheetBeforeRangeSort`}};r.FEventName.extend(t.FSheetEventName);var s=class extends r.FUniver{_initialize(t){let r=t.get(n.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeSort,()=>r.beforeCommandExecuted(t=>{t.id===e.SortRangeCommand.id&&this._beforeRangeSort(t)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeSorted,()=>r.onCommandExecuted(t=>{t.id===e.SortRangeCommand.id&&this._onRangeSorted(t)})))}_beforeRangeSort(t){let n=t.params,r=this.getUniverSheet(n.unitId),i=r.getSheetBySheetId(n.subUnitId),{startColumn:a,endColumn:o,startRow:s,endRow:c}=n.range,l={workbook:r,worksheet:i,range:i.getRange(s,a,c-s+1,o-a+1),sortColumn:n.orderRules.map(t=>({column:t.colIndex-a,ascending:t.type===e.SortType.ASC}))};if(this.fireEvent(this.Event.SheetBeforeRangeSort,l),l.cancel)throw Error(`SortRangeCommand canceled.`)}_onRangeSorted(t){let n=t.params,r=this.getUniverSheet(n.unitId),i=r.getSheetBySheetId(n.subUnitId),{startColumn:a,endColumn:o,startRow:s,endRow:c}=n.range,l={workbook:r,worksheet:i,range:i.getRange(s,a,c-s+1,o-a+1),sortColumn:n.orderRules.map(t=>({column:t.colIndex-a,ascending:t.type===e.SortType.ASC}))};if(this.fireEvent(this.Event.SheetRangeSorted,l),l.cancel)throw Error(`SortRangeCommand canceled.`)}};r.FUniver.extend(s),r.FEventName.extend(o);
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
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"),d=require("@univerjs/sheets"),P=require("@univerjs/engine-formula");var g=(e=>(e.DESC="desc",e.ASC="asc",e))(g||{});const b=e=>e.replace(/-/gi,"").replace(/'/gi,""),x=(e,r)=>{const t=e===null||e==="",n=r===null||r==="";return t&&n?0:t?1:n?-1:null},L=(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},G=(e,r,t)=>{const n=typeof e=="string",o=typeof r=="string";if(n&&(e=b(e.toLocaleLowerCase())),o&&(r=b(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 q=Object.getOwnPropertyDescriptor,B=(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},_=(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:H(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=B([_(0,u.IUniverInstanceService),_(1,u.ICommandService),_(2,u.Inject(P.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 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:K(a,m,n)}),R.push(m)));const E=c.getAllCompareFns();C.sort(Y(n,W(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 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],c=n.value[s];if(o=r(e[s].type,i,c),o!==0&&o!==null&&o!==void 0)return o}return 0}}const z="sheets-sort.config",A={};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=[x,G,L];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=A,t,n){super(),this._config=r,this._injector=t,this._configService=n;const{...o}=u.merge({},A,this._config);this._configService.setConfig(z,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;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@univerjs/core`),t=require(`@univerjs/sheets`),n=require(`@univerjs/engine-formula`),r=function(e){return e.DESC=`desc`,e.ASC=`asc`,e}({}),i=function(e){return e[e.POSITIVE=1]=`POSITIVE`,e[e.NEGATIVE=-1]=`NEGATIVE`,e[e.ZERO=0]=`ZERO`,e}({});const a=e=>e.replace(/-/gi,``).replace(/'/gi,``),o=(e,t)=>{let n=e===null||e===``,r=t===null||t===``;return n&&r?i.ZERO:n?i.POSITIVE:r?i.NEGATIVE:null},s=(e,t,n)=>{let a=typeof e==`number`,o=typeof t==`number`;return a&&o?e<t?n===r.ASC?i.NEGATIVE:i.POSITIVE:e>t?n===r.ASC?i.POSITIVE:i.NEGATIVE:i.ZERO:a?n===r.ASC?i.POSITIVE:i.NEGATIVE:o?n===r.ASC?i.NEGATIVE:i.POSITIVE:null},c=(e,t,n)=>{let o=typeof e==`string`,s=typeof t==`string`;if(o&&(e=a(e.toLocaleLowerCase())),s&&(t=a(t.toLocaleLowerCase())),!o&&!s)return null;if(o&&s){let a=e,o=t;return a<o?n===r.ASC?i.NEGATIVE:i.POSITIVE:a>o?n===r.ASC?i.POSITIVE:i.NEGATIVE:i.ZERO}return o?n===r.ASC?i.POSITIVE:i.NEGATIVE:s?n===r.ASC?i.NEGATIVE:i.POSITIVE: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 e.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._commandService=t,this._formulaDataModel=n,p(this,`_compareFns`,[])}mergeCheck(t){var n;let{unitId:r,subUnitId:i,range:a}=t,o=(n=this._univerInstanceService.getUnit(r))==null?void 0:n.getSheetBySheetId(i);if(!o)return!1;let s=o.getMergeData().filter(t=>e.Rectangle.contains(a,t));return s.length===0?!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(t){var n;let{unitId:r,subUnitId:i,range:a}=t,o=(n=this._formulaDataModel.getArrayFormulaRange())==null||(n=n[r])==null?void 0:n[i];for(let t in o){let n=o[Number(t)];for(let t in n){let r=n[Number(t)];if(r&&e.Rectangle.intersects(a,r))return!1}}return!0}registerCompareFn(e){this._compareFns.unshift(e)}getAllCompareFns(){return this._compareFns}applySort(e,n,r){var i;let{unitId:a,subUnitId:o}=(0,t.getSheetCommandTarget)(this._univerInstanceService)||{};this._commandService.executeCommand(v.id,{orderRules:e.orderRules,range:e.range,hasTitle:(i=e.hasTitle)==null?!1:i,unitId:n||a,subUnitId:r||o})}};g=h([m(0,e.IUniverInstanceService),m(1,e.ICommandService),m(2,(0,e.Inject)(n.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}const v={id:`sheet.command.sort-range`,type:e.CommandType.COMMAND,handler:(n,r)=>{let{range:i,orderRules:a,hasTitle:o,unitId:s,subUnitId:c}=r,l=n.get(g),{worksheet:u}=(0,t.getSheetCommandTarget)(n.get(e.IUniverInstanceService),r)||{};if(!u)return!1;let d=u.getMergeData().filter(t=>e.Rectangle.contains(i,t)),f=d.map(e=>e.startRow),{startRow:p,endRow:m}=i,h=o?p+1:p,_=[],v=[];for(let e=h;e<=m;e++)u.getRowFiltered(e)||u.getRowRawVisible(e)!==!1&&(d.length&&!f.includes(e)||(_.push({index:e,value:y(u,e,a)}),v.push(e)));let S=l.getAllCompareFns();_.sort(x(a,b(S)));let C={};_.forEach(({index:e,value:t},n)=>{C[v[n]]=e});let w={id:t.ReorderRangeCommand.id,params:{unitId:s,subUnitId:c,range:i,order:C}},T=n.get(e.ICommandService);return(0,e.sequenceExecute)([w],T).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}}var S=`@univerjs/sheets-sort`,C=`0.17.0-insiders.20260318-d69dc16`;const w=`sheets-sort.config`;Symbol(w);const T={};let E=class extends e.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(t){var n;return l(t)?null:(t==null||(n=t.p)==null||(n=n.body)==null?void 0:n.dataStream)||((t==null?void 0:t.t)===e.CellValueType.NUMBER?Number.parseFloat(`${t.v}`):(t==null?void 0:t.t)===e.CellValueType.STRING?typeof t.v==`number`?t.v:`${t.v}`:(t==null?void 0:t.t)===e.CellValueType.BOOLEAN?`${t.v}`:(t==null?void 0:t.t)===e.CellValueType.FORCE_STRING?Number.parseFloat(`${t.v}`):`${t==null?void 0:t.v}`)}};E=h([m(0,e.ICommandService),m(1,(0,e.Inject)(g))],E);let D=class extends e.Plugin{constructor(t=T,n,r){super(),this._config=t,this._injector=n,this._configService=r;let{...i}=(0,e.merge)({},T,this._config);this._configService.setConfig(w,i)}onStarting(){[[E],[g]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(E)}};p(D,`type`,e.UniverInstanceType.UNIVER_SHEET),p(D,`pluginName`,`SHEET_SORT_PLUGIN`),p(D,`packageName`,S),p(D,`version`,C),D=h([(0,e.DependentOn)(t.UniverSheetsPlugin,n.UniverFormulaEnginePlugin),m(1,(0,e.Inject)(e.Injector)),m(2,e.IConfigService)],D),Object.defineProperty(exports,`SheetsSortService`,{enumerable:!0,get:function(){return g}}),exports.SortRangeCommand=v,exports.SortType=r,Object.defineProperty(exports,`UniverSheetsSortPlugin`,{enumerable:!0,get:function(){return D}});
@@ -1 +1 @@
1
- "use strict";const e={sheetsSort:{title:"Ordena",toolbar:{"sort-asc":"ordre ascendent","sort-desc":"ordre descendent","sort-custom":"ordre personalitzat"},"context-menu":{"sort-asc":"ordre ascendent","sort-desc":"ordre descendent","sort-custom":"ordre personalitzat"}}};module.exports=e;
1
+ const e={sheetsSort:{title:`Ordena`,toolbar:{"sort-asc":`ordre ascendent`,"sort-desc":`ordre descendent`,"sort-custom":`ordre personalitzat`},"context-menu":{"sort-asc":`ordre ascendent`,"sort-desc":`ordre descendent`,"sort-custom":`ordre personalitzat`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const o={sheetsSort:{title:"Sort",toolbar:{"sort-asc":"ascending order","sort-desc":"descending order","sort-custom":"custom order"},"context-menu":{"sort-asc":"ascending order","sort-desc":"descending order","sort-custom":"custom order"}}};module.exports=o;
1
+ const e={sheetsSort:{title:`Sort`,toolbar:{"sort-asc":`ascending order`,"sort-desc":`descending order`,"sort-custom":`custom order`},"context-menu":{"sort-asc":`ascending order`,"sort-desc":`descending order`,"sort-custom":`custom order`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const e={sheetsSort:{title:"Ordenar",toolbar:{"sort-asc":"orden ascendente","sort-desc":"orden descendente","sort-custom":"orden personalizado"},"context-menu":{"sort-asc":"orden ascendente","sort-desc":"orden descendente","sort-custom":"orden personalizado"}}};module.exports=e;
1
+ const e={sheetsSort:{title:`Ordenar`,toolbar:{"sort-asc":`orden ascendente`,"sort-desc":`orden descendente`,"sort-custom":`orden personalizado`},"context-menu":{"sort-asc":`orden ascendente`,"sort-desc":`orden descendente`,"sort-custom":`orden personalizado`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const t={sheetsSort:{title:"مرتب‌سازی",toolbar:{"sort-asc":"ترتیب صعودی","sort-desc":"ترتیب نزولی","sort-custom":"ترتیب سفارشی"},"context-menu":{"sort-asc":"ترتیب صعودی","sort-desc":"ترتیب نزولی","sort-custom":"ترتیب سفارشی"}}};module.exports=t;
1
+ const e={sheetsSort:{title:`مرتب‌سازی`,toolbar:{"sort-asc":`ترتیب صعودی`,"sort-desc":`ترتیب نزولی`,"sort-custom":`ترتیب سفارشی`},"context-menu":{"sort-asc":`ترتیب صعودی`,"sort-desc":`ترتیب نزولی`,"sort-custom":`ترتیب سفارشی`}}};module.exports=e;
@@ -1 +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;
1
+ const e={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=e;
@@ -1 +1 @@
1
- "use strict";const t={sheetsSort:{title:"並べ替え",toolbar:{"sort-asc":"昇順","sort-desc":"降順","sort-custom":"カスタム順序"},"context-menu":{"sort-asc":"昇順","sort-desc":"降順","sort-custom":"カスタム順序"}}};module.exports=t;
1
+ const e={sheetsSort:{title:`並べ替え`,toolbar:{"sort-asc":`昇順`,"sort-desc":`降順`,"sort-custom":`カスタム順序`},"context-menu":{"sort-asc":`昇順`,"sort-desc":`降順`,"sort-custom":`カスタム順序`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const t={sheetsSort:{title:"정렬",toolbar:{"sort-asc":"오름차순","sort-desc":"내림차순","sort-custom":"사용자 정의 순서"},"context-menu":{"sort-asc":"오름차순","sort-desc":"내림차순","sort-custom":"사용자 정의 순서"}}};module.exports=t;
1
+ const e={sheetsSort:{title:`정렬`,toolbar:{"sort-asc":`오름차순`,"sort-desc":`내림차순`,"sort-custom":`사용자 정의 순서`},"context-menu":{"sort-asc":`오름차순`,"sort-desc":`내림차순`,"sort-custom":`사용자 정의 순서`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const t={sheetsSort:{title:"Sort",toolbar:{"sort-asc":"по возрастанию","sort-desc":"по убыванию","sort-custom":"пользовательский выбор"},"context-menu":{"sort-asc":"по возрастанию","sort-desc":"по убыванию","sort-custom":"пользовательский выбор"}}};module.exports=t;
1
+ const e={sheetsSort:{title:`Sort`,toolbar:{"sort-asc":`по возрастанию`,"sort-desc":`по убыванию`,"sort-custom":`пользовательский выбор`},"context-menu":{"sort-asc":`по возрастанию`,"sort-desc":`по убыванию`,"sort-custom":`пользовательский выбор`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const o={sheetsSort:{title:"Triedenie",toolbar:{"sort-asc":"vzostupné poradie","sort-desc":"zostupné poradie","sort-custom":"vlastné poradie"},"context-menu":{"sort-asc":"vzostupné poradie","sort-desc":"zostupné poradie","sort-custom":"vlastné poradie"}}};module.exports=o;
1
+ const e={sheetsSort:{title:`Triedenie`,toolbar:{"sort-asc":`vzostupné poradie`,"sort-desc":`zostupné poradie`,"sort-custom":`vlastné poradie`},"context-menu":{"sort-asc":`vzostupné poradie`,"sort-desc":`zostupné poradie`,"sort-custom":`vlastné poradie`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const o={sheetsSort:{title:"Sort",toolbar:{"sort-asc":"ascending order","sort-desc":"descending order","sort-custom":"custom order"},"context-menu":{"sort-asc":"ascending order","sort-desc":"descending order","sort-custom":"custom order"}}};module.exports=o;
1
+ const e={sheetsSort:{title:`Sort`,toolbar:{"sort-asc":`ascending order`,"sort-desc":`descending order`,"sort-custom":`custom order`},"context-menu":{"sort-asc":`ascending order`,"sort-desc":`descending order`,"sort-custom":`custom order`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const t={sheetsSort:{title:"排序",toolbar:{"sort-asc":"升序","sort-desc":"降序","sort-custom":"自定义排序"},"context-menu":{"sort-asc":"升序","sort-desc":"降序","sort-custom":"自定义排序"}}};module.exports=t;
1
+ const e={sheetsSort:{title:`排序`,toolbar:{"sort-asc":`升序`,"sort-desc":`降序`,"sort-custom":`自定义排序`},"context-menu":{"sort-asc":`升序`,"sort-desc":`降序`,"sort-custom":`自定义排序`}}};module.exports=e;
@@ -1 +1 @@
1
- "use strict";const t={sheetsSort:{title:"Sắp xếp",toolbar:{"sort-asc":"Tăng dần","sort-desc":"Giảm dần","sort-custom":"Sắp xếp tùy chỉnh"},"context-menu":{"sort-asc":"Tăng dần","sort-desc":"Giảm dần","sort-custom":"Sắp xếp tùy chỉnh"}}};module.exports=t;
1
+ const e={sheetsSort:{title:`Sắp xếp`,toolbar:{"sort-asc":`Tăng dần`,"sort-desc":`Giảm dần`,"sort-custom":`Sắp xếp tùy chỉnh`},"context-menu":{"sort-asc":`Tăng dần`,"sort-desc":`Giảm dần`,"sort-custom":`Sắp xếp tùy chỉnh`}}};module.exports=e;
package/lib/es/facade.js CHANGED
@@ -1,102 +1 @@
1
- import { SortType as s, SortRangeCommand as h } from "@univerjs/sheets-sort";
2
- import { FRange as u, FWorksheet as l, FSheetEventName as f } from "@univerjs/sheets/facade";
3
- import { RANGE_TYPE as k, ICommandService as v } from "@univerjs/core";
4
- import { FEventName as R, FUniver as C } from "@univerjs/core/facade";
5
- class E extends u {
6
- sort(o) {
7
- const e = this._range.startColumn, r = (Array.isArray(o) ? o : [o]).map((n) => typeof n == "number" ? { colIndex: n + e, type: s.ASC } : {
8
- colIndex: n.column + e,
9
- type: n.ascending ? s.ASC : s.DESC
10
- });
11
- return this._commandService.syncExecuteCommand(h.id, {
12
- orderRules: r,
13
- range: this._range,
14
- hasTitle: !1,
15
- unitId: this._workbook.getUnitId(),
16
- subUnitId: this._worksheet.getSheetId()
17
- }), this;
18
- }
19
- }
20
- u.extend(E);
21
- class p extends l {
22
- sort(o, e = !0) {
23
- const t = [{
24
- colIndex: o,
25
- type: e ? s.ASC : s.DESC
26
- }], r = {
27
- startRow: 0,
28
- startColumn: 0,
29
- endRow: this._worksheet.getRowCount() - 1,
30
- endColumn: this._worksheet.getColumnCount() - 1,
31
- rangeType: k.ALL
32
- };
33
- return this._commandService.syncExecuteCommand(h.id, {
34
- orderRules: t,
35
- range: r,
36
- hasTitle: !1,
37
- unitId: this._workbook.getUnitId(),
38
- subUnitId: this._worksheet.getSheetId()
39
- }), this;
40
- }
41
- }
42
- l.extend(p);
43
- class w {
44
- get SheetRangeSorted() {
45
- return "SheetRangeSorted";
46
- }
47
- get SheetBeforeRangeSort() {
48
- return "SheetBeforeRangeSort";
49
- }
50
- }
51
- R.extend(f);
52
- class x extends C {
53
- /**
54
- * @ignore
55
- */
56
- _initialize(o) {
57
- const e = o.get(v);
58
- this.disposeWithMe(
59
- this.registerEventHandler(
60
- this.Event.SheetBeforeRangeSort,
61
- () => e.beforeCommandExecuted((t) => {
62
- t.id === h.id && this._beforeRangeSort(t);
63
- })
64
- )
65
- ), this.disposeWithMe(
66
- this.registerEventHandler(
67
- this.Event.SheetRangeSorted,
68
- () => e.onCommandExecuted((t) => {
69
- t.id === h.id && this._onRangeSorted(t);
70
- })
71
- )
72
- );
73
- }
74
- _beforeRangeSort(o) {
75
- const e = o.params, t = this.getUniverSheet(e.unitId), r = t.getSheetBySheetId(e.subUnitId), { startColumn: n, endColumn: g, startRow: a, endRow: S } = e.range, c = r.getRange(a, n, S - a + 1, g - n + 1), i = {
76
- workbook: t,
77
- worksheet: r,
78
- range: c,
79
- sortColumn: e.orderRules.map((d) => ({
80
- column: d.colIndex - n,
81
- ascending: d.type === s.ASC
82
- }))
83
- };
84
- if (this.fireEvent(this.Event.SheetBeforeRangeSort, i), i.cancel)
85
- throw new Error("SortRangeCommand canceled.");
86
- }
87
- _onRangeSorted(o) {
88
- const e = o.params, t = this.getUniverSheet(e.unitId), r = t.getSheetBySheetId(e.subUnitId), { startColumn: n, endColumn: g, startRow: a, endRow: S } = e.range, c = r.getRange(a, n, S - a + 1, g - n + 1), i = {
89
- workbook: t,
90
- worksheet: r,
91
- range: c,
92
- sortColumn: e.orderRules.map((d) => ({
93
- column: d.colIndex - n,
94
- ascending: d.type === s.ASC
95
- }))
96
- };
97
- if (this.fireEvent(this.Event.SheetRangeSorted, i), i.cancel)
98
- throw new Error("SortRangeCommand canceled.");
99
- }
100
- }
101
- C.extend(x);
102
- R.extend(w);
1
+ import{SortRangeCommand as e,SortType as t}from"@univerjs/sheets-sort";import{FRange as n,FSheetEventName as r,FWorksheet as i}from"@univerjs/sheets/facade";import{ICommandService as a,RANGE_TYPE as o}from"@univerjs/core";import{FEventName as s,FUniver as c}from"@univerjs/core/facade";var l=class extends n{sort(n){let r=this._range.startColumn,i=(Array.isArray(n)?n:[n]).map(e=>typeof e==`number`?{colIndex:e+r,type:t.ASC}:{colIndex:e.column+r,type:e.ascending?t.ASC:t.DESC});return this._commandService.syncExecuteCommand(e.id,{orderRules:i,range:this._range,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}};n.extend(l);var u=class extends i{sort(n,r=!0){let i=[{colIndex:n,type:r?t.ASC:t.DESC}],a={startRow:0,startColumn:0,endRow:this._worksheet.getRowCount()-1,endColumn:this._worksheet.getColumnCount()-1,rangeType:o.ALL};return this._commandService.syncExecuteCommand(e.id,{orderRules:i,range:a,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}};i.extend(u);var d=class{get SheetRangeSorted(){return`SheetRangeSorted`}get SheetBeforeRangeSort(){return`SheetBeforeRangeSort`}};s.extend(r);var f=class extends c{_initialize(t){let n=t.get(a);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeSort,()=>n.beforeCommandExecuted(t=>{t.id===e.id&&this._beforeRangeSort(t)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeSorted,()=>n.onCommandExecuted(t=>{t.id===e.id&&this._onRangeSorted(t)})))}_beforeRangeSort(e){let n=e.params,r=this.getUniverSheet(n.unitId),i=r.getSheetBySheetId(n.subUnitId),{startColumn:a,endColumn:o,startRow:s,endRow:c}=n.range,l={workbook:r,worksheet:i,range:i.getRange(s,a,c-s+1,o-a+1),sortColumn:n.orderRules.map(e=>({column:e.colIndex-a,ascending:e.type===t.ASC}))};if(this.fireEvent(this.Event.SheetBeforeRangeSort,l),l.cancel)throw Error(`SortRangeCommand canceled.`)}_onRangeSorted(e){let n=e.params,r=this.getUniverSheet(n.unitId),i=r.getSheetBySheetId(n.subUnitId),{startColumn:a,endColumn:o,startRow:s,endRow:c}=n.range,l={workbook:r,worksheet:i,range:i.getRange(s,a,c-s+1,o-a+1),sortColumn:n.orderRules.map(e=>({column:e.colIndex-a,ascending:e.type===t.ASC}))};if(this.fireEvent(this.Event.SheetRangeSorted,l),l.cancel)throw Error(`SortRangeCommand canceled.`)}};c.extend(f),s.extend(d);export{};
package/lib/es/index.js CHANGED
@@ -1,248 +1 @@
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 { getSheetCommandTarget as U, ReorderRangeCommand as k, UniverSheetsPlugin as ee } from "@univerjs/sheets";
6
- import { FormulaDataModel as te, UniverFormulaEnginePlugin as re } from "@univerjs/engine-formula";
7
- var m = /* @__PURE__ */ ((e) => (e.DESC = "desc", e.ASC = "asc", e))(m || {});
8
- const N = (e) => e.replace(/-/gi, "").replace(/'/gi, ""), ne = (e, t) => {
9
- const r = e === null || e === "", n = t === null || t === "";
10
- return r && n ? 0 : r ? 1 : n ? -1 : null;
11
- }, oe = (e, t, r) => {
12
- const n = typeof e == "number", o = typeof t == "number";
13
- 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;
14
- }, se = (e, t, r) => {
15
- const n = typeof e == "string", o = typeof t == "string";
16
- if (n && (e = N(e.toLocaleLowerCase())), o && (t = N(t.toLocaleLowerCase())), !n && !o)
17
- return null;
18
- if (n && o) {
19
- const s = e, i = t;
20
- return s < i ? r === m.ASC ? -1 : 1 : s > i ? r === m.ASC ? 1 : -1 : 0;
21
- }
22
- return n ? r === m.ASC ? 1 : -1 : o ? r === m.ASC ? -1 : 1 : null;
23
- }, T = (e) => !e || Object.keys(e).length === 0 || (e == null ? void 0 : e.v) == null && (e == null ? void 0 : e.p) == null;
24
- var ie = Object.getOwnPropertyDescriptor, ue = (e, t, r, n) => {
25
- for (var o = n > 1 ? void 0 : n ? ie(t, r) : t, s = e.length - 1, i; s >= 0; s--)
26
- (i = e[s]) && (o = i(o) || o);
27
- return o;
28
- }, S = (e, t) => (r, n) => t(r, n, e);
29
- let g = class extends P {
30
- constructor(t, r, n) {
31
- super();
32
- F(this, "_compareFns", []);
33
- this._univerInstanceService = t, this._commandService = r, this._formulaDataModel = n;
34
- }
35
- mergeCheck(t) {
36
- var l;
37
- const { unitId: r, subUnitId: n, range: o } = t, s = (l = this._univerInstanceService.getUnit(r)) == null ? void 0 : l.getSheetBySheetId(n);
38
- if (!s)
39
- return !1;
40
- const i = s.getMergeData().filter((u) => p.contains(o, u));
41
- return i.length === 0 ? !0 : le(o, i);
42
- }
43
- emptyCheck(t) {
44
- var i;
45
- const { unitId: r, subUnitId: n, range: o } = t, s = (i = this._univerInstanceService.getUnit(r)) == null ? void 0 : i.getSheetBySheetId(n);
46
- if (!s)
47
- return !1;
48
- for (let l = o.startRow; l <= o.endRow; l++)
49
- for (let u = o.startColumn; u <= o.endColumn; u++)
50
- if (!T(s.getCellRaw(l, u)))
51
- return !0;
52
- return !1;
53
- }
54
- singleCheck(t) {
55
- return t.range.startRow !== t.range.endRow;
56
- }
57
- formulaCheck(t) {
58
- var i, l;
59
- const { unitId: r, subUnitId: n, range: o } = t, s = (l = (i = this._formulaDataModel.getArrayFormulaRange()) == null ? void 0 : i[r]) == null ? void 0 : l[n];
60
- for (const u in s) {
61
- const a = s[Number(u)];
62
- for (const f in a) {
63
- const d = a[Number(f)];
64
- if (d && p.intersects(o, d))
65
- return !1;
66
- }
67
- }
68
- return !0;
69
- }
70
- registerCompareFn(t) {
71
- this._compareFns.unshift(t);
72
- }
73
- getAllCompareFns() {
74
- return this._compareFns;
75
- }
76
- applySort(t, r, n) {
77
- var i;
78
- const { unitId: o, subUnitId: s } = U(this._univerInstanceService) || {};
79
- this._commandService.executeCommand(M.id, {
80
- orderRules: t.orderRules,
81
- range: t.range,
82
- hasTitle: (i = t.hasTitle) != null ? i : !1,
83
- unitId: r || o,
84
- subUnitId: n || s
85
- });
86
- }
87
- };
88
- g = ue([
89
- S(0, O),
90
- S(1, R),
91
- S(2, w(te))
92
- ], g);
93
- function le(e, t) {
94
- const r = e.endRow - e.startRow + 1, n = e.endColumn - e.startColumn + 1;
95
- let o = null, s = null;
96
- const i = r * n;
97
- let l = 0;
98
- for (const u of t)
99
- if (u.startRow >= e.startRow && u.endRow <= e.endRow && u.startColumn >= e.startColumn && u.endColumn <= e.endColumn) {
100
- const a = u.endRow - u.startRow + 1, f = u.endColumn - u.startColumn + 1;
101
- if (o === null && s === null)
102
- o = a, s = f;
103
- else if (a !== o || f !== s)
104
- return !1;
105
- l += a * f;
106
- }
107
- return l === i;
108
- }
109
- const M = {
110
- id: "sheet.command.sort-range",
111
- type: K.COMMAND,
112
- handler: (e, t) => {
113
- 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) || {};
114
- if (!a)
115
- return !1;
116
- 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 = [];
117
- for (let c = j; c <= $; c++)
118
- a.getRowFiltered(c) || a.getRowRawVisible(c) !== !1 && (f.length && !d.includes(c) || (_.push({
119
- index: c,
120
- value: ce(a, c, n)
121
- }), b.push(c)));
122
- const V = l.getAllCompareFns();
123
- _.sort(me(n, ae(V)));
124
- const A = {};
125
- _.forEach(({ index: c, value: Re }, B) => {
126
- A[b[B]] = c;
127
- });
128
- const L = {
129
- id: k.id,
130
- params: {
131
- unitId: s,
132
- subUnitId: i,
133
- range: r,
134
- order: A
135
- }
136
- }, G = e.get(R);
137
- return W([L], G).result;
138
- }
139
- };
140
- function ce(e, t, r) {
141
- const n = [];
142
- return r.forEach(({ colIndex: o }) => {
143
- n.push(e.getCellRaw(t, o));
144
- }), n;
145
- }
146
- function ae(e) {
147
- return (t, r, n) => {
148
- for (let o = 0; o < e.length; o++) {
149
- const s = e[o](t, r, n);
150
- if (s != null)
151
- return s;
152
- }
153
- return 0;
154
- };
155
- }
156
- function me(e, t) {
157
- return function(r, n) {
158
- let o = null;
159
- for (let s = 0; s < e.length; s++) {
160
- const i = r.value[s], l = n.value[s];
161
- if (o = t(e[s].type, i, l), o !== 0 && o !== null && o !== void 0)
162
- return o;
163
- }
164
- return 0;
165
- };
166
- }
167
- const fe = "sheets-sort.config", D = {};
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
- (i = e[s]) && (o = i(o) || o);
171
- return o;
172
- }, E = (e, t) => (r, n) => t(r, n, e);
173
- let v = class extends P {
174
- constructor(e, t) {
175
- super(), this._commandService = e, this._sortService = t, this._initCommands(), this._registerCompareFns();
176
- }
177
- _initCommands() {
178
- [
179
- M
180
- ].forEach((e) => this.disposeWithMe(this._commandService.registerCommand(e)));
181
- }
182
- _registerCompareFns() {
183
- const e = (t, r, n) => {
184
- const o = this._getCommonValue(r), s = this._getCommonValue(n), i = [
185
- ne,
186
- se,
187
- oe
188
- ];
189
- for (let l = 0; l < i.length; l++) {
190
- const u = i[l](o, s, t);
191
- if (u !== null)
192
- return u;
193
- }
194
- return null;
195
- };
196
- this._sortService.registerCompareFn(e);
197
- }
198
- _getCommonValue(e) {
199
- var r, n;
200
- if (T(e))
201
- return null;
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) === 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
- }
205
- };
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
- (i = e[s]) && (o = i(o) || o);
213
- return o;
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 {
217
- constructor(e = D, t, r) {
218
- super(), this._config = e, this._injector = t, this._configService = r;
219
- const { ...n } = Z(
220
- {},
221
- D,
222
- this._config
223
- );
224
- this._configService.setConfig(fe, n);
225
- }
226
- onStarting() {
227
- [
228
- [v],
229
- [g]
230
- ].forEach((e) => this._injector.add(e));
231
- }
232
- onReady() {
233
- this._injector.get(v);
234
- }
235
- };
236
- x(C, "type", Y.UNIVER_SHEET);
237
- x(C, "pluginName", Se);
238
- C = _e([
239
- z(ee, re),
240
- y(1, w(J)),
241
- y(2, Q)
242
- ], C);
243
- export {
244
- g as SheetsSortService,
245
- M as SortRangeCommand,
246
- m as SortType,
247
- C as UniverSheetsSortPlugin
248
- };
1
+ import{CellValueType as e,CommandType as t,DependentOn as n,Disposable as r,ICommandService as i,IConfigService as a,IUniverInstanceService as o,Inject as s,Injector as c,Plugin as l,Rectangle as u,UniverInstanceType as d,merge as f,sequenceExecute as p}from"@univerjs/core";import{ReorderRangeCommand as m,UniverSheetsPlugin as h,getSheetCommandTarget as g}from"@univerjs/sheets";import{FormulaDataModel as _,UniverFormulaEnginePlugin as v}from"@univerjs/engine-formula";let y=function(e){return e.DESC=`desc`,e.ASC=`asc`,e}({}),b=function(e){return e[e.POSITIVE=1]=`POSITIVE`,e[e.NEGATIVE=-1]=`NEGATIVE`,e[e.ZERO=0]=`ZERO`,e}({});const x=e=>e.replace(/-/gi,``).replace(/'/gi,``),S=(e,t)=>{let n=e===null||e===``,r=t===null||t===``;return n&&r?b.ZERO:n?b.POSITIVE:r?b.NEGATIVE:null},C=(e,t,n)=>{let r=typeof e==`number`,i=typeof t==`number`;return r&&i?e<t?n===y.ASC?b.NEGATIVE:b.POSITIVE:e>t?n===y.ASC?b.POSITIVE:b.NEGATIVE:b.ZERO:r?n===y.ASC?b.POSITIVE:b.NEGATIVE:i?n===y.ASC?b.NEGATIVE:b.POSITIVE:null},w=(e,t,n)=>{let r=typeof e==`string`,i=typeof t==`string`;if(r&&(e=x(e.toLocaleLowerCase())),i&&(t=x(t.toLocaleLowerCase())),!r&&!i)return null;if(r&&i){let r=e,i=t;return r<i?n===y.ASC?b.NEGATIVE:b.POSITIVE:r>i?n===y.ASC?b.POSITIVE:b.NEGATIVE:b.ZERO}return r?n===y.ASC?b.POSITIVE:b.NEGATIVE:i?n===y.ASC?b.NEGATIVE:b.POSITIVE:null},T=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;function E(e){"@babel/helpers - typeof";return E=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},E(e)}function D(e,t){if(E(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(E(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function O(e){var t=D(e,`string`);return E(t)==`symbol`?t:t+``}function k(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(e,t){return function(n,r){t(n,r,e)}}function j(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 M=class extends r{constructor(e,t,n){super(),this._univerInstanceService=e,this._commandService=t,this._formulaDataModel=n,k(this,`_compareFns`,[])}mergeCheck(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;let o=a.getMergeData().filter(e=>u.contains(i,e));return o.length===0?!0:N(i,o)}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(!T(a.getCellRaw(e,t)))return!0;return!1}singleCheck(e){return e.range.startRow!==e.range.endRow}formulaCheck(e){var t;let{unitId:n,subUnitId:r,range:i}=e,a=(t=this._formulaDataModel.getArrayFormulaRange())==null||(t=t[n])==null?void 0:t[r];for(let e in a){let t=a[Number(e)];for(let e in t){let n=t[Number(e)];if(n&&u.intersects(i,n))return!1}}return!0}registerCompareFn(e){this._compareFns.unshift(e)}getAllCompareFns(){return this._compareFns}applySort(e,t,n){var r;let{unitId:i,subUnitId:a}=g(this._univerInstanceService)||{};this._commandService.executeCommand(P.id,{orderRules:e.orderRules,range:e.range,hasTitle:(r=e.hasTitle)==null?!1:r,unitId:t||i,subUnitId:n||a})}};M=j([A(0,o),A(1,i),A(2,s(_))],M);function N(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}const P={id:`sheet.command.sort-range`,type:t.COMMAND,handler:(e,t)=>{let{range:n,orderRules:r,hasTitle:a,unitId:s,subUnitId:c}=t,l=e.get(M),{worksheet:d}=g(e.get(o),t)||{};if(!d)return!1;let f=d.getMergeData().filter(e=>u.contains(n,e)),h=f.map(e=>e.startRow),{startRow:_,endRow:v}=n,y=a?_+1:_,b=[],x=[];for(let e=y;e<=v;e++)d.getRowFiltered(e)||d.getRowRawVisible(e)!==!1&&(f.length&&!h.includes(e)||(b.push({index:e,value:F(d,e,r)}),x.push(e)));let S=l.getAllCompareFns();b.sort(L(r,I(S)));let C={};b.forEach(({index:e,value:t},n)=>{C[x[n]]=e});let w={id:m.id,params:{unitId:s,subUnitId:c,range:n,order:C}},T=e.get(i);return p([w],T).result}};function F(e,t,n){let r=[];return n.forEach(({colIndex:n})=>{r.push(e.getCellRaw(t,n))}),r}function I(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 L(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}}var R=`@univerjs/sheets-sort`,z=`0.17.0-insiders.20260318-d69dc16`;const B=`sheets-sort.config`;Symbol(B);const V={};let H=class extends r{constructor(e,t){super(),this._commandService=e,this._sortService=t,this._initCommands(),this._registerCompareFns()}_initCommands(){[P].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=[S,w,C];for(let t=0;t<a.length;t++){let n=a[t](r,i,e);if(n!==null)return n}return null})}_getCommonValue(t){var n;return T(t)?null:(t==null||(n=t.p)==null||(n=n.body)==null?void 0:n.dataStream)||((t==null?void 0:t.t)===e.NUMBER?Number.parseFloat(`${t.v}`):(t==null?void 0:t.t)===e.STRING?typeof t.v==`number`?t.v:`${t.v}`:(t==null?void 0:t.t)===e.BOOLEAN?`${t.v}`:(t==null?void 0:t.t)===e.FORCE_STRING?Number.parseFloat(`${t.v}`):`${t==null?void 0:t.v}`)}};H=j([A(0,i),A(1,s(M))],H);let U=class extends l{constructor(e=V,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=f({},V,this._config);this._configService.setConfig(B,r)}onStarting(){[[H],[M]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(H)}};k(U,`type`,d.UNIVER_SHEET),k(U,`pluginName`,`SHEET_SORT_PLUGIN`),k(U,`packageName`,R),k(U,`version`,z),U=j([n(h,v),A(1,s(c)),A(2,a)],U);export{M as SheetsSortService,P as SortRangeCommand,y as SortType,U as UniverSheetsSortPlugin};
@@ -1,18 +1 @@
1
- const e = {
2
- sheetsSort: {
3
- title: "Ordena",
4
- toolbar: {
5
- "sort-asc": "ordre ascendent",
6
- "sort-desc": "ordre descendent",
7
- "sort-custom": "ordre personalitzat"
8
- },
9
- "context-menu": {
10
- "sort-asc": "ordre ascendent",
11
- "sort-desc": "ordre descendent",
12
- "sort-custom": "ordre personalitzat"
13
- }
14
- }
15
- };
16
- export {
17
- e as default
18
- };
1
+ const e={sheetsSort:{title:`Ordena`,toolbar:{"sort-asc":`ordre ascendent`,"sort-desc":`ordre descendent`,"sort-custom":`ordre personalitzat`},"context-menu":{"sort-asc":`ordre ascendent`,"sort-desc":`ordre descendent`,"sort-custom":`ordre personalitzat`}}};export{e as default};
@@ -1,18 +1 @@
1
- const o = {
2
- sheetsSort: {
3
- title: "Sort",
4
- toolbar: {
5
- "sort-asc": "ascending order",
6
- "sort-desc": "descending order",
7
- "sort-custom": "custom order"
8
- },
9
- "context-menu": {
10
- "sort-asc": "ascending order",
11
- "sort-desc": "descending order",
12
- "sort-custom": "custom order"
13
- }
14
- }
15
- };
16
- export {
17
- o as default
18
- };
1
+ const e={sheetsSort:{title:`Sort`,toolbar:{"sort-asc":`ascending order`,"sort-desc":`descending order`,"sort-custom":`custom order`},"context-menu":{"sort-asc":`ascending order`,"sort-desc":`descending order`,"sort-custom":`custom order`}}};export{e as default};
@@ -1,18 +1 @@
1
- const e = {
2
- sheetsSort: {
3
- title: "Ordenar",
4
- toolbar: {
5
- "sort-asc": "orden ascendente",
6
- "sort-desc": "orden descendente",
7
- "sort-custom": "orden personalizado"
8
- },
9
- "context-menu": {
10
- "sort-asc": "orden ascendente",
11
- "sort-desc": "orden descendente",
12
- "sort-custom": "orden personalizado"
13
- }
14
- }
15
- };
16
- export {
17
- e as default
18
- };
1
+ const e={sheetsSort:{title:`Ordenar`,toolbar:{"sort-asc":`orden ascendente`,"sort-desc":`orden descendente`,"sort-custom":`orden personalizado`},"context-menu":{"sort-asc":`orden ascendente`,"sort-desc":`orden descendente`,"sort-custom":`orden personalizado`}}};export{e as default};
@@ -1,18 +1 @@
1
- const t = {
2
- sheetsSort: {
3
- title: "مرتب‌سازی",
4
- toolbar: {
5
- "sort-asc": "ترتیب صعودی",
6
- "sort-desc": "ترتیب نزولی",
7
- "sort-custom": "ترتیب سفارشی"
8
- },
9
- "context-menu": {
10
- "sort-asc": "ترتیب صعودی",
11
- "sort-desc": "ترتیب نزولی",
12
- "sort-custom": "ترتیب سفارشی"
13
- }
14
- }
15
- };
16
- export {
17
- t as default
18
- };
1
+ const e={sheetsSort:{title:`مرتب‌سازی`,toolbar:{"sort-asc":`ترتیب صعودی`,"sort-desc":`ترتیب نزولی`,"sort-custom":`ترتیب سفارشی`},"context-menu":{"sort-asc":`ترتیب صعودی`,"sort-desc":`ترتیب نزولی`,"sort-custom":`ترتیب سفارشی`}}};export{e as default};
@@ -1,18 +1 @@
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
- };
1
+ const e={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é`}}};export{e as default};