@univerjs/sheets-table 0.22.0 → 0.22.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/es/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +5 -5
package/lib/cjs/index.js
CHANGED
|
@@ -3084,7 +3084,7 @@ const SheetTableRemoveColCommand = {
|
|
|
3084
3084
|
//#endregion
|
|
3085
3085
|
//#region package.json
|
|
3086
3086
|
var name = "@univerjs/sheets-table";
|
|
3087
|
-
var version = "0.22.
|
|
3087
|
+
var version = "0.22.1";
|
|
3088
3088
|
|
|
3089
3089
|
//#endregion
|
|
3090
3090
|
//#region src/controllers/sheet-table-formula.controller.ts
|
package/lib/es/index.js
CHANGED
|
@@ -3083,7 +3083,7 @@ const SheetTableRemoveColCommand = {
|
|
|
3083
3083
|
//#endregion
|
|
3084
3084
|
//#region package.json
|
|
3085
3085
|
var name = "@univerjs/sheets-table";
|
|
3086
|
-
var version = "0.22.
|
|
3086
|
+
var version = "0.22.1";
|
|
3087
3087
|
|
|
3088
3088
|
//#endregion
|
|
3089
3089
|
//#region src/controllers/sheet-table-formula.controller.ts
|
package/lib/index.js
CHANGED
|
@@ -3083,7 +3083,7 @@ const SheetTableRemoveColCommand = {
|
|
|
3083
3083
|
//#endregion
|
|
3084
3084
|
//#region package.json
|
|
3085
3085
|
var name = "@univerjs/sheets-table";
|
|
3086
|
-
var version = "0.22.
|
|
3086
|
+
var version = "0.22.1";
|
|
3087
3087
|
|
|
3088
3088
|
//#endregion
|
|
3089
3089
|
//#region src/controllers/sheet-table-formula.controller.ts
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/engine-formula`),require(`@univerjs/sheets`),require(`rxjs`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-formula`,`@univerjs/sheets`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsTable={},e.UniverCore,e.UniverEngineFormula,e.UniverSheets,e.rxjs))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let a=function(e){return e.None=`none`,e.String=`string`,e.Number=`number`,e.Date=`date`,e.Bool=`bool`,e.Checkbox=`checkbox`,e.List=`list`,e}({}),o=function(e){return e.manual=`manual`,e.condition=`condition`,e}({}),s=function(e){return e.Date=`date`,e.Number=`number`,e.String=`string`,e.Logic=`logic`,e}({}),c=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.GreaterThan=`greaterThan`,e.GreaterThanOrEqual=`greaterThanOrEqual`,e.LessThan=`lessThan`,e.LessThanOrEqual=`lessThanOrEqual`,e.Between=`between`,e.NotBetween=`notBetween`,e.Above=`above`,e.Below=`below`,e.TopN=`topN`,e}({}),l=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.Contains=`contains`,e.NotContains=`notContains`,e.StartsWith=`startsWith`,e.EndsWith=`endsWith`,e}({}),u=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.After=`after`,e.AfterOrEqual=`afterOrEqual`,e.Before=`before`,e.BeforeOrEqual=`beforeOrEqual`,e.Between=`between`,e.NotBetween=`notBetween`,e.Today=`today`,e.Yesterday=`yesterday`,e.Tomorrow=`tomorrow`,e.ThisWeek=`thisWeek`,e.LastWeek=`lastWeek`,e.NextWeek=`nextWeek`,e.ThisMonth=`thisMonth`,e.LastMonth=`lastMonth`,e.NextMonth=`nextMonth`,e.ThisQuarter=`thisQuarter`,e.LastQuarter=`lastQuarter`,e.NextQuarter=`nextQuarter`,e.ThisYear=`thisYear`,e.LastYear=`lastYear`,e.NextYear=`nextYear`,e.YearToDate=`yearToDate`,e.Quarter=`quarter`,e.Month=`month`,e.M1=`m1`,e.M2=`m2`,e.M3=`m3`,e.M4=`m4`,e.M5=`m5`,e.M6=`m6`,e.M7=`m7`,e.M8=`m8`,e.M9=`m9`,e.M10=`m10`,e.M11=`m11`,e.M12=`m12`,e.Q1=`q1`,e.Q2=`q2`,e.Q3=`q3`,e.Q4=`q4`,e}({}),d=function(e){return e[e.FilteredSortNone=1]=`FilteredSortNone`,e[e.FilteredSortAsc=2]=`FilteredSortAsc`,e[e.FilteredSortDesc=3]=`FilteredSortDesc`,e[e.FilterNoneSortNone=4]=`FilterNoneSortNone`,e[e.FilterNoneSortAsc=5]=`FilterNoneSortAsc`,e[e.FilterNoneSortDesc=6]=`FilterNoneSortDesc`,e}({}),f=function(e){return e.Asc=`asc`,e.Desc=`desc`,e.None=`none`,e}({});function p(e,t){return`${t} ${e}`}let m=`TRUE`,h=`FALSE`,g=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function _(e){if(e){let{v:n,t:r,p:i}=e;return i?g(i):(r===t.CellValueType.FORCE_STRING||r===t.CellValueType.STRING)&&n!=null?String(n):r===t.CellValueType.BOOLEAN?n?m:h:r===t.CellValueType.NUMBER?String(n):typeof n==`boolean`?n?m:h:n==null?``:String(n)}return``}function v(e,t){if(e!=null)switch(t){case`asc`:return 2;case`desc`:return 3;default:return 1}else switch(t){case`asc`:return 5;case`desc`:return 6;default:return 4}}function y(e){return e?e.filterType===`condition`:!1}function ee(e){return e?e.filterType===`manual`:!1}function b(e,n){let{univerInstanceService:r,tableManager:i,definedNamesService:a}=n,o=new Set,s=r==null?void 0:r.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);s&&s.getSheets().forEach(e=>{o.add(e.getName().toLowerCase())});let c=i==null?void 0:i.getTableList(e);c&&c.length>0&&c.forEach(e=>{o.add(e.name.toLowerCase())});let l=a==null?void 0:a.getDefinedNameMap(e);return l&&Object.values(l).forEach(e=>{o.add(e.name.toLowerCase())}),o}let x={s:t.BorderStyleTypes.THIN,cl:{rgb:`rgb(95, 101, 116)`}},S=`sheets-table.config`;Symbol(S);let C={},te={headerRowStyle:{bd:{t:x}},headerColumnStyle:{bd:{l:x}},lastColumnStyle:{bd:{r:x}},lastRowStyle:{bd:{b:x}}},ne=(e,t)=>{if(e===`headerRowStyle`){if(!t.bd)return{...t,bd:{t:x}}}else if(e===`lastRowStyle`){if(!t.bd)return{...t,bd:{b:x}}}else if(e===`lastColumnStyle`){if(!t.bd)return{...t,bd:{r:x}}}else if(e===`headerColumnStyle`&&!t.bd)return{...t,bd:{l:x}};return t},w=[[[`#6280F9`,`#FFFFFF`,`#BAC6F8`,`#D2DAFA`],[`#fff`]],[[`#16BDCA`,`#FFFFFF`,`#EDFAFA`,`#AFECEF`],[`#000`]],[[`#31C48D`,`#FFFFFF`,`#F3FAF7`,`#BCF0DA`],[`#fff`]],[[`#AC94FA`,`#FFFFFF`,`#F6F5FF`,`#EDEBFE`],[`#fff`]],[[`#F17EBB`,`#FFFFFF`,`#FDF2F8`,`#FCE8F3`],[`#fff`]],[[`#F98080`,`#FFFFFF`,`#FDF2F2`,`#FDE8E8`],[`#fff`]]].map((e,t)=>{let[n,r]=e,[i,a,o,s]=n,[c]=r;return{name:`table-default-${t}`,style:{headerRowStyle:{bg:{rgb:i},cl:{rgb:c},bd:{t:x}},headerColumnStyle:{bd:{l:x}},firstRowStyle:{bg:{rgb:a}},secondRowStyle:{bg:{rgb:o}},lastRowStyle:{bg:{rgb:s},bd:{b:x}},lastColumnStyle:{bd:{r:x}}}}});function T(e){"@babel/helpers - typeof";return T=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},T(e)}function re(e,t){if(T(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(T(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ie(e){var t=re(e,`string`);return T(t)==`symbol`?t:t+``}function E(e,t,n){return(t=ie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var D=class{constructor(e,t){E(this,`dataType`,void 0),E(this,`id`,void 0),E(this,`displayName`,void 0),E(this,`formula`,void 0),E(this,`meta`,void 0),E(this,`style`,void 0),this.id=e,this.displayName=t,this.dataType=`string`,this.formula=``,this.meta={},this.style={}}getMeta(){return this.meta}setMeta(e){this.meta=e}getDisplayName(){return this.displayName}toJSON(){return{id:this.id,displayName:this.displayName,dataType:this.dataType,formula:this.formula,meta:this.meta,style:this.style}}fromJSON(e){this.id=e.id,this.displayName=e.displayName,this.dataType=e.dataType,this.formula=e.formula,this.meta=e.meta,this.style=e.style}};let ae=e=>e.getMonth()<=2,oe=e=>{let t=e.getMonth();return t>2&&t<=5},se=e=>{let t=e.getMonth();return t>5&&t<=8},ce=e=>{let t=e.getMonth();return t>8&&t<=11},le=e=>e.getMonth()===0,ue=e=>e.getMonth()===1,de=e=>e.getMonth()===2,fe=e=>e.getMonth()===3,pe=e=>e.getMonth()===4,me=e=>e.getMonth()===5,he=e=>e.getMonth()===6,ge=e=>e.getMonth()===7,_e=e=>e.getMonth()===8,ve=e=>e.getMonth()===9,ye=e=>e.getMonth()===10,be=e=>e.getMonth()===11,xe=(e,t=new Date)=>e.toDateString()===t.toDateString(),Se=(e,t=new Date)=>{let n=new Date(t);return n.setDate(n.getDate()+1),e.toDateString()===n.toDateString()},Ce=(e,t=new Date)=>{let n=new Date(t);return n.setDate(n.getDate()-1),e.toDateString()===n.toDateString()},O=e=>{let t=e.getDay(),n=e.getDate()-t+(t===0?-6:1),r=new Date(e);return r.setDate(n),r},k=10080*60*1e3,we=(e,t=new Date)=>{let n=O(e),r=O(t);return n.toDateString()===r.toDateString()},Te=(e,t=new Date)=>{let n=O(e),r=new Date(O(t).getTime()+k);return n.toDateString()===r.toDateString()},Ee=(e,t=new Date)=>{let n=O(e),r=new Date(O(t).getTime()-k);return n.toDateString()===r.toDateString()},De=(e,t=new Date)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth(),Oe=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.setDate(1),t},ke=(e,t=new Date)=>{let n=new Date(t);n.setHours(0,0,0,0),n.setMonth(n.getMonth()+1,1);let r=new Date(n);r.setMonth(r.getMonth()+1,0);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},Ae=(e,t=new Date)=>{let n=Oe(t),r=new Date(n);r.setMonth(r.getMonth()+1,0);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},A=e=>{let t=new Date(e);t.setHours(0,0,0,0),t.setDate(1);let n=t.getMonth();return t.setMonth(n-n%3),t},je=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()+3);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},Me=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()+3);let i=new Date(r);i.setMonth(i.getMonth()+3,0);let a=e.getTime();return a>=r.getTime()&&a<i.getTime()},Ne=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()-3);let i=new Date(n);i.setDate(0);let a=e.getTime();return a>=r.getTime()&&a<i.getTime()},Pe=(e,t=new Date)=>e.getFullYear()===t.getFullYear(),Fe=(e,t=new Date)=>e.getFullYear()===t.getFullYear()+1,Ie=(e,t=new Date)=>e.getFullYear()===t.getFullYear()-1,Le=(e,t=new Date)=>{let n=new Date(t);n.setHours(0,0,0,0),n.setMonth(0,1);let r=e.getTime();return r>=n.getTime()&&r<t.getTime()};function Re(e){switch(e.compareType){case`equal`:{let t=new Date(e.expectedValue);return e=>e.getTime()===t.getTime()}case`notEqual`:{let t=new Date(e.expectedValue);return e=>e.getTime()!==t.getTime()}case`after`:{let t=new Date(e.expectedValue);return e=>e.getTime()>t.getTime()}case`before`:{let t=new Date(e.expectedValue);return e=>e.getTime()<t.getTime()}case`afterOrEqual`:{let t=new Date(e.expectedValue);return e=>e.getTime()>=t.getTime()}case`beforeOrEqual`:{let t=new Date(e.expectedValue);return e=>e.getTime()<=t.getTime()}case`between`:return t=>{let[n,r]=e.expectedValue;return t.getTime()>=new Date(n).getTime()&&t.getTime()<=new Date(r).getTime()};case`notBetween`:return t=>{let[n,r]=e.expectedValue;return t.getTime()<new Date(n).getTime()||t.getTime()>new Date(r).getTime()};case`today`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>xe(e,t)}case`yesterday`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ce(e,t)}case`tomorrow`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Se(e,t)}case`thisWeek`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>we(e,t)}case`lastWeek`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ee(e,t)}case`nextWeek`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Te(e,t)}case`thisMonth`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>De(e,t)}case`lastMonth`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ae(e,t)}case`nextMonth`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>ke(e,t)}case`thisQuarter`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>je(e,t)}case`lastQuarter`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ne(e,t)}case`nextQuarter`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Me(e,t)}case`thisYear`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Pe(e,t)}case`lastYear`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ie(e,t)}case`nextYear`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Fe(e,t)}case`yearToDate`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Le(e,t)}case`m1`:return le;case`m2`:return ue;case`m3`:return de;case`m4`:return fe;case`m5`:return pe;case`m6`:return me;case`m7`:return he;case`m8`:return ge;case`m9`:return _e;case`m10`:return ve;case`m11`:return ye;case`m12`:return be;case`q1`:return ae;case`q2`:return oe;case`q3`:return se;case`q4`:return ce;default:throw Error(`Unsupported compare type`)}}var ze=class{constructor(){E(this,`heap`,void 0),this.heap=[]}swap(e,t){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n}getParentIndex(e){return Math.floor((e-1)/2)}getLeftIndex(e){return e*2+1}getRightIndex(e){return e*2+2}size(){return this.heap.length}peek(){return this.heap[0]}include(e){return this.heap.includes(e)}},Be=class extends ze{constructor(){super()}shiftUp(e){if(e===0)return;let t=this.getParentIndex(e);this.heap[t]>this.heap[e]&&(this.swap(t,e),this.shiftUp(t))}shiftDown(e){let t=this.getLeftIndex(e),n=this.getRightIndex(e);this.heap[t]<this.heap[e]&&(this.swap(t,e),this.shiftDown(t)),this.heap[n]<this.heap[e]&&(this.swap(n,e),this.shiftDown(n))}insert(e){this.heap.push(e),this.shiftUp(this.heap.length-1)}pop(){this.heap[0]=this.heap.pop(),this.shiftDown(0)}};let Ve=(e,t)=>{let n=new Be;for(let r of e)n.insert(r),n.size()>t&&n.pop();return n.heap},He=(e,t)=>e>t,Ue=(e,t)=>e<t,We=(e,t,n)=>Ve(e,t).includes(n);function Ge(e,t){switch(e.compareType){case`equal`:{let t=Number(e.expectedValue);return e=>e===t}case`notEqual`:{let t=Number(e.expectedValue);return e=>e!==t}case`greaterThan`:{let t=Number(e.expectedValue);return e=>e>t}case`greaterThanOrEqual`:{let t=Number(e.expectedValue);return e=>e>=t}case`lessThan`:{let t=Number(e.expectedValue);return e=>e<t}case`lessThanOrEqual`:{let t=Number(e.expectedValue);return e=>e<=t}case`between`:{let[t,n]=e.expectedValue,r=Number(t),i=Number(n);return r>i?e=>e>=i&&e<=r:e=>e>=r&&e<=i}case`notBetween`:{let[t,n]=e.expectedValue,r=Number(t),i=Number(n);return r>i?e=>e<i||e>r:e=>e<r||e>i}case`above`:{let e=t.average;return t=>He(t,e)}case`below`:{let e=t.average;return t=>Ue(t,e)}case`topN`:{let n=t.list,r=Number(e.expectedValue);return e=>We(n,r,e)}}}let Ke=(e,n)=>(0,t.createREGEXFromWildChar)(n).test(e),qe=(e,n)=>!(0,t.createREGEXFromWildChar)(n).test(e),Je=(e,n)=>(0,t.createREGEXFromWildChar)(`*${n}*`).test(e),Ye=(e,n)=>!(0,t.createREGEXFromWildChar)(`*${n}*`).test(e),Xe=(e,n)=>(0,t.createREGEXFromWildChar)(`${n}*`).test(e),Ze=(e,n)=>(0,t.createREGEXFromWildChar)(`*${n}`).test(e);function Qe(e){switch(e.compareType){case`equal`:return t=>Ke(t,e.expectedValue);case`notEqual`:return t=>qe(t,e.expectedValue);case`contains`:return t=>Je(t,e.expectedValue);case`notContains`:return t=>Ye(t,e.expectedValue);case`startsWith`:return t=>Xe(t,e.expectedValue);case`endsWith`:return t=>Ze(t,e.expectedValue);default:return console.error(`Unknown filter operator: ${e.compareType}`),e=>!0}}let $e=new Set([`above`,`below`,`topN`]);function j(e){return $e.has(e)}function et(e,t){if(j(e.filterInfo.compareType))return e=>!0;switch(e.filterInfo.conditionType){case`date`:return Re(e.filterInfo);case`number`:return Ge(e.filterInfo,t);case`string`:return Qe(e.filterInfo);default:return e=>!0}}function M(e,t,n,r){switch(r){case`date`:{let r=N(e,t,n);return r?rt(r):null}case`number`:return N(e,t,n);default:return nt(e,t,n)}}let tt=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function nt(e,n,r){let i=e.getCell(n,r);if(!i)return null;let{v:a,t:o,p:s}=i;if(s)return tt(s);if(typeof a==`string`)return o===t.CellValueType.BOOLEAN?a.toUpperCase():a;if(typeof a==`number`)return o===t.CellValueType.BOOLEAN?a?`TRUE`:`FALSE`:a;if(typeof a==`boolean`)return a?`TRUE`:`FALSE`;if(a!==void 0)return String(a)}function N(e,n,r){let i=e.getCell(n,r);if(!i)return null;let{v:a,t:o,p:s}=i;return s?null:typeof a==`string`&&o===t.CellValueType.NUMBER?Number(e.getCellRaw(n,r).v):Number(a)}function rt(e){let t=new Date(Date.UTC(1900,0,1,0,0,0)),n=new Date(Date.UTC(1900,1,28,0,0,0)),r=e-1;return r>(n.getTime()-t.getTime())/(1e3*3600*24)&&--r,r<0&&(r=e),new Date(t.getTime()+1e3*3600*24*r)}var P=class{constructor(){E(this,`_tableColumnFilterList`,void 0),E(this,`_tableSortInfo`,void 0),E(this,`_filterOutRows`,void 0),this._tableColumnFilterList=[]}setColumnFilter(e,t){t?this._tableColumnFilterList[e]=t:this._tableColumnFilterList[e]=void 0}setSortState(e,t){this._tableSortInfo={columnIndex:e,sortState:t}}getColumnFilter(e){return this._tableColumnFilterList[e]}getFilterState(e){var t;let n=((t=this._tableSortInfo)==null?void 0:t.columnIndex)===e?this._tableSortInfo.sortState:`none`;return v(this._tableColumnFilterList[e],n)}getSortState(){var e;return(e=this._tableSortInfo)==null?{}:e}getFilterStates(e){let t=[],{startColumn:n,endColumn:r}=e;for(let e=n;e<=r;e++)t.push(this.getFilterState(e-n));return t}getFilterOutRows(){return this._filterOutRows}doFilter(e,t){let n=new Set,r=this._tableColumnFilterList;for(let i=0;i<r.length;i++)r[i]&&this.doColumnFilter(e,t,i,n);return this._filterOutRows=n,n}doColumnFilter(e,t,n,r){let i=this._tableColumnFilterList[n];if(i&&e){let{startRow:a,endRow:o,startColumn:s}=t,c=s+n,l=this.getExecuteFunc(e,t,n,i);for(let t=a;t<=o;t++){let n=y(i)?i.filterInfo.conditionType:`string`;M(e,t,c,n)===null?r.add(t):l(M(e,t,c,n))||r.add(t)}}}_getNumberCalculatedOptions(e,t,n){let{startRow:r,endRow:i,startColumn:a}=t,o=a+n,s=[],c=0,l=0;for(let t=r;t<=i;t++){let n=M(e,t,o,`number`);n!==null&&(s.push(n),c++,l+=n)}return{list:s,average:c>0?l/c:0}}getExecuteFunc(e,t,n,r){if(r.filterType===`manual`){let e=new Set(r.values);return t=>e.has(t)}else if(r.filterType===`condition`)return et(r,j(r.filterInfo.compareType)?this._getNumberCalculatedOptions(e,t,n):void 0);else return e=>!0}toJSON(){return{tableColumnFilterList:this._tableColumnFilterList,tableSortInfo:this._tableSortInfo}}fromJSON(e){var t;this._tableColumnFilterList=(t=e.tableColumnFilterList)==null?[]:t,e.tableSortInfo&&(this._tableSortInfo=e.tableSortInfo)}dispose(){this._tableColumnFilterList=[]}},F=class{constructor(e,t,n,r,i={}){E(this,`_id`,void 0),E(this,`_name`,void 0),E(this,`_tableStyleId`,void 0),E(this,`_showHeader`,void 0),E(this,`_showFooter`,void 0),E(this,`_range`,void 0),E(this,`_columns`,new Map),E(this,`_columnOrder`,[]),E(this,`tableMeta`,void 0),E(this,`_tableFilters`,void 0),E(this,`_subUnitId`,void 0),this._id=e,this._range=n,this._name=t,this._tableFilters=new P,this._init(r,i)}_init(e,n){var r;this._tableStyleId=n==null?void 0:n.tableStyleId,this._showHeader=(r=n==null?void 0:n.showHeader)==null?!0:r,this._showFooter=!1;let i=this.getRange(),a=i.startColumn,o=i.endColumn;for(let r=a;r<=o;r++){var s;let i=r-a,o,c;(s=n.columns)!=null&&s[i]?(o=n.columns[i].id,c=n.columns[i].displayName):(o=(0,t.generateRandomId)(),c=e[r-a]);let l=new D(o,c);this._columns.set(o,l),this._columnOrder.push(o)}n.filters&&n.filters.forEach((e,t)=>{e&&this._tableFilters.setColumnFilter(t,e)})}setTableFilterColumn(e,t){this._tableFilters.setColumnFilter(e,t)}getTableFilterColumn(e){return this._tableFilters.getColumnFilter(e)}getTableFilters(){return this._tableFilters}getTableFilterRange(){let e=this.getRange(),t=this.isShowHeader(),n=this.isShowFooter(),{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return{startRow:t?r+1:r,startColumn:i,endRow:n?a-1:a,endColumn:o}}setColumns(e){this._columns.clear(),this._columnOrder=[],e.forEach(e=>{let t=new D(e.id,e.displayName);t.fromJSON(e),this._columns.set(e.id,t),this._columnOrder.push(e.id)})}getColumnsCount(){return this._columnOrder.length}insertColumn(e,t){let n=t.id;this._columns.set(n,t),this._columnOrder.splice(e,0,n)}removeColumn(e){let t=this._columnOrder[e];this._columns.delete(t),this._columnOrder.splice(e,1)}setTableMeta(e){this.tableMeta=e}getTableMeta(){return this.tableMeta}getColumn(e){return this._columns.get(e)}getTableColumnByIndex(e){let t=this._columnOrder[e];return this.getColumn(t)}getColumnNameByIndex(e){var t;let n=this._columnOrder[e];return((t=this.getColumn(n))==null?void 0:t.getDisplayName())||``}getId(){return this._id}getRangeInfo(){return{...this._range}}getRange(){return{...this._range}}setRange(e){this._range=e}setDisplayName(e){this._name=e}getDisplayName(){return this._name}getSubunitId(){return this._subUnitId}setSubunitId(e){this._subUnitId=e}getTableStyleId(){var e;return(e=this._tableStyleId)==null?w[0].name:e}setTableStyleId(e){this._tableStyleId=e}isShowHeader(){var e;return(e=this._showHeader)==null?!0:e}setShowHeader(e){this._showHeader=e}isShowFooter(){var e;return(e=this._showFooter)==null?!1:e}getTableInfo(){return{id:this._id,subUnitId:this._subUnitId,name:this._name,range:this.getRangeInfo(),meta:this.tableMeta,showHeader:this._showHeader,columns:this._columnOrder.map(e=>this._columns.get(e).toJSON())}}getTableConfig(){return{name:this.getDisplayName(),range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter},tableStyleId:this._tableStyleId}}getFilterStates(e){return this._tableFilters.getFilterStates(e)}toJSON(){let e=[];return this._columns.forEach(t=>{e.push(t.toJSON())}),{id:this._id,name:this._name,range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter,tableStyleId:this._tableStyleId},filters:this._tableFilters.toJSON(),columns:e,meta:this.tableMeta}}fromJSON(e){var t,n;this._id=e.id,this._name=e.name,this._range=e.range,this.tableMeta=e.meta,this._tableStyleId=e.options.tableStyleId||``,this._showHeader=(t=e.options.showHeader)==null?!0:t,this._showFooter=(n=e.options.showFooter)==null?!0:n,e.columns.forEach(e=>{let t=new D(e.id,e.displayName);t.fromJSON(e),this._columns.set(e.id,t),this._columnOrder.push(e.id)}),this._tableFilters=new P,this._tableFilters.fromJSON(e.filters)}dispose(){this._id=``,this._name=``,this._tableStyleId=``,this._showHeader=!0,this._showFooter=!0,delete this._range,this._columns.clear(),this._columnOrder=[]}};function I(e,t){return function(n,r){t(n,r,e)}}function L(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 R=class extends t.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._localeService=t,E(this,`_tableMap`,void 0),E(this,`_tableAdd$`,new i.Subject),E(this,`tableAdd$`,this._tableAdd$.asObservable()),E(this,`_tableDelete$`,new i.Subject),E(this,`tableDelete$`,this._tableDelete$.asObservable()),E(this,`_tableNameChanged$`,new i.Subject),E(this,`tableNameChanged$`,this._tableNameChanged$.asObservable()),E(this,`_tableRangeChanged$`,new i.Subject),E(this,`tableRangeChanged$`,this._tableRangeChanged$.asObservable()),E(this,`_tableThemeChanged$`,new i.Subject),E(this,`tableThemeChanged$`,this._tableThemeChanged$.asObservable()),E(this,`_tableFilterChanged$`,new i.Subject),E(this,`tableFilterChanged$`,this._tableFilterChanged$.asObservable()),E(this,`_tableInitStatus`,new i.BehaviorSubject(!1)),E(this,`tableInitStatus$`,this._tableInitStatus.asObservable()),this._tableMap=new Map}_ensureUnit(e){return this._tableMap.has(e)||this._tableMap.set(e,new Map),this._tableMap.get(e)}getColumnHeader(e,t,n,r){var i;let a=(i=this._univerInstanceService.getUnit(e))==null?void 0:i.getSheetBySheetId(t),{startRow:o,startColumn:s,endColumn:c}=n,l=[],u=r==null?`Column`:r;for(let e=s;e<=c;e++)l.push(_(a==null?void 0:a.getCell(o,e))||p(e-s+1,u));return l}addTable(e,n,r,i,a,o,s){let c=o==null?(0,t.generateRandomId)():o,l=new F(c,r,i,a||this.getColumnHeader(e,n,i),s);if(l.setSubunitId(n),this._ensureUnit(e).set(c,l),this._tableAdd$.next({unitId:e,subUnitId:n,range:i,tableName:r,tableId:c,tableStyleId:s==null?void 0:s.tableStyleId}),s!=null&&s.filters){var u;let t=(u=this._univerInstanceService.getUnit(e))==null?void 0:u.getSheetBySheetId(n);l.getTableFilters().doFilter(t,i),this._tableFilterChanged$.next({unitId:e,subUnitId:n,tableId:c})}return c}addFilter(e,t,n,r){let i=this.getTable(e,t);if(i){i.getTableFilters().setColumnFilter(n,r);let a=i.getSubunitId();this._tableFilterChanged$.next({unitId:e,subUnitId:a,tableId:t})}}getFilterRanges(e,t){let n=this._tableMap.get(e);if(!n)return[];let r=[];return n.forEach(e=>{e.getSubunitId()===t&&e.isShowHeader()&&r.push(e.getRange())}),r}getSheetFilterRangeWithState(e,t){let n=this._tableMap.get(e);if(!n)return[];let r=[];return n.forEach(e=>{e.getSubunitId()===t&&e.isShowHeader()&&r.push({tableId:e.getId(),range:e.getRange(),states:e.getFilterStates(e.getRange())})}),r}getTable(e,t){let n=this._tableMap.get(e);if(n)return n.get(t)}getUniqueTableName(e,t){let n=this._tableMap.get(e);if(!n)return t;let r=new Set(Array.from(n.values()).map(e=>e.getDisplayName())),i=t,a=1;for(;r.has(i);)i=`${t}-${a}`,a++;return i}getTableById(e,t){return this.getTable(e,t)}getTableList(e){let t=this._tableMap.get(e);return t?Array.from(t.values()).map(t=>({...t.getTableInfo(),unitId:e})):[]}getTablesBySubunitId(e,t){let n=this._tableMap.get(e);return n?Array.from(n.values()).filter(e=>e.getSubunitId()===t):[]}getTablesInfoBySubunitId(e,t){return this.getTablesBySubunitId(e,t).map(e=>({id:e.getId(),name:e.getDisplayName(),range:e.getRange()}))}deleteTable(e,t){let n=this._tableMap.get(e),r=n==null?void 0:n.get(t);if(r){let i=r.getTableInfo(),a=r.getTableStyleId();n==null||n.delete(t);let{subUnitId:o,range:s,name:c}=i;this._tableDelete$.next({unitId:e,subUnitId:o,tableId:t,range:s,tableName:c,tableStyleId:a})}}operationTableRowCol(e,n,r){let i=this.getTableById(e,n);if(!i)return;let{operationType:a,rowColType:o,index:s,count:c,columnsJson:l}=r,u=i.getRange(),d={...u};if(a===`insert`){if(o===`row`)d.endRow+=c;else if(o===`column`){d.endColumn+=c;for(let e=0;e<c;e++){let n=this._localeService.t(`sheets-table.columnPrefix`),r=new D((0,t.generateRandomId)(),p(i.getColumnsCount()+1+e,n));l!=null&&l[e]&&r.fromJSON(l[e]);let a=s+e-u.startColumn;i.insertColumn(a,r)}}}else if(o===`row`)d.endRow-=c;else if(o===`column`){d.endColumn-=c;for(let e=c-1;e>=0;e--){let t=s+e-u.startColumn;i.removeColumn(t)}}i.setRange(d),this._tableRangeChanged$.next({unitId:e,subUnitId:i.getSubunitId(),tableId:n,range:d,oldRange:u})}updateTableRange(e,n,r){let i=this.getTableById(e,n);if(!i)return;let a=i.getRange(),o=r.newRange;if(o.startColumn<a.startColumn){let e=a.startColumn-o.startColumn,n=this._localeService.t(`sheets-table.columnPrefix`);for(let r=0;r<e;r++)i.insertColumn(a.startColumn,new D((0,t.generateRandomId)(),p(i.getColumnsCount()+1,n)))}else if(o.startColumn>a.startColumn){let e=o.startColumn-a.startColumn;for(let t=e-1;t>=0;t--){let e=o.startColumn+t-a.startColumn;i.removeColumn(e)}}if(o.endColumn<a.endColumn){let e=a.endColumn-o.endColumn;for(let t=e-1;t>=0;t--){let e=o.endColumn+t-a.startColumn;i.removeColumn(e)}}else if(o.endColumn>a.endColumn){let e=o.endColumn-a.endColumn;for(let n=0;n<e;n++)i.insertColumn(a.endColumn,new D((0,t.generateRandomId)(),p(i.getColumnsCount()+1,`Column`)))}i.setRange(o),this._tableRangeChanged$.next({unitId:e,subUnitId:i.getSubunitId(),tableId:n,range:o,oldRange:a})}setTableByConfig(e,t,n){let r=this._tableMap.get(e),i=r==null?void 0:r.get(t);if(!i)return;let a=i.getSubunitId(),{name:o,updateRange:s,rowColOperation:c,theme:l,options:u}=n;if(o){let n=i.getDisplayName();i.setDisplayName(o),this._tableNameChanged$.next({unitId:e,subUnitId:a,tableId:t,tableName:o,oldTableName:n})}if(c&&this.operationTableRowCol(e,t,c),s&&this.updateTableRange(e,t,s),l){var d;let n=(d=i.getTableStyleId())==null?`default`:d;i.setTableStyleId(l),this._tableThemeChanged$.next({unitId:e,subUnitId:a,tableId:t,theme:l,oldTheme:n})}u&&u.showHeader!==void 0&&i.setShowHeader(u.showHeader)}toJSON(e){let t={},n=this._tableMap.get(e);return n&&n.forEach(n=>{let r=n.getSubunitId();if(!t[r]){let n=new Set;this.getTablesBySubunitId(e,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)n.add(e)}),t[r]={tables:[],tableFilteredOutRows:Array.from(n)}}t[r].tables.push(n.toJSON())}),t}fromJSON(e,t){let n=this._ensureUnit(e);Object.keys(t).forEach(i=>{let a=(0,r.getSheetCommandTarget)(this._univerInstanceService,{unitId:e,subUnitId:i});if(!a)return;let o=a.worksheet,s;t[i].tables?s=t[i].tables:Array.isArray(t[i])&&(s=t[i]),s&&s.forEach(t=>{let r=this.getColumnHeader(e,i,t.range),a=new F(t.id,t.name,t.range,r,t.options);if(a.setTableMeta(t.meta),t.columns.length&&a.setColumns(t.columns),t.filters){let e=a.getTableFilters();e.fromJSON(t.filters),e.doFilter(o,a.getTableFilterRange())}a.setSubunitId(i),n.set(t.id,a),this._tableAdd$.next({unitId:e,subUnitId:i,range:t.range,tableName:t.name,tableId:t.id})})}),this._tableInitStatus.next(!0)}deleteUnitId(e){let t=this._tableMap.get(e);t&&t.forEach(e=>e.dispose()),this._tableMap.delete(e)}dispose(){super.dispose(),this._tableAdd$.complete(),this._tableDelete$.complete(),this._tableNameChanged$.complete(),this._tableRangeChanged$.complete(),this._tableThemeChanged$.complete(),this._tableFilterChanged$.complete(),this._tableInitStatus.complete(),this._tableMap.forEach(e=>{e.forEach(e=>e.dispose()),e.clear()}),this._tableMap.clear()}};R=L([I(0,t.IUniverInstanceService),I(1,(0,t.Inject)(t.LocaleService))],R);let z=class extends t.Disposable{constructor(e){super(),this._tableManager=e}getTableInfo(e,t){let n=this._tableManager.getTable(e,t);if(n)return{unitId:e,...n.getTableInfo()}}getTableList(e){return this._tableManager.getTableList(e)}addTable(e,t,n,r,i,a,o){return this._tableManager.addTable(e,t,n,r,i,a,o)}deleteTable(e,t,n){this._tableManager.deleteTable(e,n)}getTableMeta(e,t){var n;return(n=this._tableManager.getTable(e,t))==null?void 0:n.getTableMeta()}setTableMeta(e,t,n){var r;(r=this._tableManager.getTable(e,t))==null||r.setTableMeta(n)}getTableColumnMeta(e,t,n){var r;return(r=this._tableManager.getTable(e,t))==null||(r=r.getTableColumnByIndex(n))==null?void 0:r.getMeta()}selTableColumnMeta(e,t,n,r){var i;(i=this._tableManager.getTable(e,t))==null||(i=i.getTableColumnByIndex(n))==null||i.setMeta(r)}addFilter(e,t,n,r){this._tableManager.addFilter(e,t,n,r)}getCellValueWithConditionType(e,t,n,r=`string`){return M(e,t,n,r)}};z=L([I(0,(0,t.Inject)(R))],z);let B={id:`sheet.mutation.add-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{tableId:n,unitId:r,subUnitId:i,name:a,range:o,header:s,options:c}=t;return e.get(z).addTable(r,i,a,o,s,n,c),!0}},V={id:`sheet.mutation.delete-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,tableId:i}=t;return e.get(z).deleteTable(n,r,i),!0}},H={id:`sheet.command.add-table`,type:t.CommandType.COMMAND,handler:(e,r)=>{var i;if(!r)return!1;let a=e.get(t.IUndoRedoService),o=e.get(t.ICommandService),s=e.get(t.LocaleService),c=e.get(R),l=(i=r.id)==null?(0,t.generateRandomId)():i,u=b(r.unitId,{univerInstanceService:e.get(t.IUniverInstanceService),tableManager:c,definedNamesService:e.get(n.IDefinedNamesService)}),d=r.name;if(!d||!(0,t.customNameCharacterCheck)(d.toLowerCase(),u)){let e=s.t(`sheets-table.tablePrefix`),t=c.getTableList(r.unitId).length+1;for(let n of u)if(n.startsWith(e.toLowerCase())){let r=Number(n.slice(e.length));Number.isInteger(r)&&r>=t&&(t=r+1)}d=`${e}${t}`}let f=[],p=[],{unitId:m,subUnitId:h,range:g}=r,_=c.getColumnHeader(m,h,g,s.t(`sheets-table.columnPrefix`));return f.push({id:B.id,params:{...r,tableId:l,name:d,header:_}}),p.push({id:V.id,params:{tableId:l,unitId:r.unitId}}),(0,t.sequenceExecute)(f,o).result?(a.pushUndoRedo({unitID:r.unitId,undoMutations:p,redoMutations:f}),!0):!1}},U={id:`sheet.mutation.set-sheet-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:n,tableId:r,config:i}=t;return e.get(R).setTableByConfig(n,r,i),!0}},W={id:`sheet.command.add-table-theme`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let i=e.get(R),{unitId:a,tableId:o,themeStyle:s}=n,c=[],l=[],u=i.getTableById(a,o);if(!u)return!1;let d=u.getSubunitId();return c.push({id:r.AddRangeThemeMutation.id,params:{unitId:a,subUnitId:d,styleJSON:s.toJson()}}),c.push({id:U.id,params:{unitId:a,subUnitId:d,tableId:o,config:{theme:s.getName()}}}),l.push({id:U.id,params:{unitId:a,subUnitId:d,tableId:o,config:{themeStyle:u.getTableStyleId()}}}),l.push({id:r.RemoveRangeThemeMutation.id,params:{unitId:a,subUnitId:d,styleName:s.getName()}}),(0,t.sequenceExecute)(c,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:l,redoMutations:c}),!0):!1}},it={id:`sheet.command.delete-table`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.IUndoRedoService),i=e.get(t.ICommandService),a=e.get(R),o=e.get(t.ILogService),s=[],c=[],l=a.getTable(n.unitId,n.tableId),u=l==null?void 0:l.toJSON();return u?(s.push({id:V.id,params:{...n}}),c.push({id:B.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,tableId:n.tableId,name:u.name,range:u.range,options:u.options}}),(0,t.sequenceExecute)(s,i).result?(r.pushUndoRedo({unitID:n.unitId,undoMutations:c,redoMutations:s}),!0):!1):(o.error(`[TableManager]: Table not found`),!1)}},at=`SHEET_TABLE_PLUGIN`,G=`SHEET_TABLE`,ot=`table-custom`,st={id:`sheet.command.remove-table-theme`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let{unitId:i,tableId:a,themeName:o}=n,s=e.get(R),c=e.get(r.SheetRangeThemeModel),l=s.getTableById(i,a);if(!l)return!1;let u=l.getSubunitId(),d=[],f=[],p=c.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(`table-default`)),m=c.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(ot)).find(e=>e!==o);m||(m=p[0]),d.push({id:U.id,params:{unitId:i,subUnitId:u,tableId:a,config:{theme:m}}}),d.push({id:r.RemoveRangeThemeMutation.id,params:{unitId:i,subUnitId:u,styleName:o}});let h=c.getDefaultRangeThemeStyle(o);return h&&(f.push({id:r.AddRangeThemeMutation.id,params:{unitId:i,subUnitId:u,styleJSON:h.toJson()}}),f.push({id:U.id,params:{unitId:i,subUnitId:u,tableId:a,config:{theme:o}}})),(0,t.sequenceExecute)(d,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:i,redoMutations:d,undoMutations:f}),!0):!1}},ct={id:`sheet.command.set-table-config`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let{unitId:i,tableId:a,name:o,updateRange:s,rowColOperation:c,theme:l}=r,u=e.get(R),d=u.getTableById(i,a);if(!d)return!1;let f={},p={},m=e.get(t.LocaleService),h=b(i,{univerInstanceService:e.get(t.IUniverInstanceService),tableManager:u,definedNamesService:e.get(n.IDefinedNamesService)});if(o){if(!(0,t.customNameCharacterCheck)(o.toLowerCase(),h))return e.get(t.ILogService).warn(m.t(`sheets-table.tableNameError`)),!1;f.name=d.getDisplayName(),p.name=o}c&&(f.rowColOperation={operationType:c.operationType===`insert`?`delete`:`insert`,rowColType:c.rowColType,index:c.index,count:c.count},p.rowColOperation=c),s&&(f.updateRange={newRange:d.getRange()},p.updateRange=s),l&&(f.theme=d.getTableStyleId(),p.theme=l);let g={unitId:i,subUnitId:d.getSubunitId(),tableId:a,config:p};return e.get(t.ICommandService).executeCommand(U.id,g),e.get(t.IUndoRedoService).pushUndoRedo({unitID:i,undoMutations:[{id:U.id,params:{unitId:i,subUnitId:d.getSubunitId(),tableId:a,config:f}}],redoMutations:[{id:U.id,params:g}]}),!0}},K={id:`sheet.mutation.set-table-filter`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{tableId:n,unitId:r,column:i,tableFilter:a}=t;return e.get(R).addFilter(r,n,i,a),!0}},lt={id:`sheet.command.set-table-filter`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.IUndoRedoService),i=e.get(t.ICommandService),a=n.tableId||(0,t.generateRandomId)(),o=[],s=[];return o.push({id:K.id,params:{...n,tableId:a}}),s.push({id:K.id,params:{...n,tableId:a,tableFilter:void 0}}),(0,t.sequenceExecute)(o,i).result?(r.pushUndoRedo({unitID:n.unitId,undoMutations:s,redoMutations:o}),!0):!1}},q=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetInterceptorService=t,this._tableManager=n,this._resourceManagerService=r,E(this,`_tableRangeRTree`,new Map),this._initSnapshot(),this._initSheetChange(),this.registerTableChangeEvent(),this.registerTableHeaderInterceptor()}getContainerTableWithRange(e,n,r){let i=this._ensureTableRangeRTree(e),a=Array.from(i.bulkSearch([{unitId:e,sheetId:n,range:r}])).find(n=>{let i=this._tableManager.getTable(e,String(n));return i?t.Rectangle.contains(i.getRange(),r):!1});if(a)return this._tableManager.getTable(e,String(a))}_ensureTableRangeRTree(e){return this._tableRangeRTree.has(e)||this._tableRangeRTree.set(e,new t.RTree),this._tableRangeRTree.get(e)}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i}=e;this._ensureTableRangeRTree(r).insert({unitId:r,sheetId:i,id:n,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i,oldRange:a}=e,o=this._ensureTableRangeRTree(r);o.remove({unitId:r,sheetId:i,id:n,range:{...a}}),o.insert({unitId:r,sheetId:i,id:n,range:{...t}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r,range:i}=e;this._ensureTableRangeRTree(n).remove({unitId:n,sheetId:r,id:t,range:{...i}})}))}registerTableHeaderInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(r.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Value,handler:(e,t,n)=>{let{row:r,col:i,unitId:a,subUnitId:o}=t,s=this._ensureTableRangeRTree(a);if((e==null?void 0:e.v)===void 0&&s){let c=Array.from(s.bulkSearch([{unitId:a,sheetId:o,range:{startColumn:i,endColumn:i,startRow:r,endRow:r}}]));if(c.length>0){let o=this._tableManager.getTable(a,c[0]);if(o){let a=o.getRange(),s=i-a.startColumn;if(a.startRow===r){let r=o.getColumnNameByIndex(s);return(!e||e===t.rawData)&&(e={...t.rawData}),e.v=r,n(e)}}}}return n(e)}}))}_toJson(e){return this._tableManager.toJSON(e)}_fromJSON(e,t){return this._tableManager.fromJSON(e,t)}_deleteUnitId(e){this._tableManager.deleteUnitId(e)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>JSON.stringify(this._toJson(e)),parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},businesses:[t.UniverInstanceType.UNIVER_SHEET],pluginName:at,onLoad:(e,t)=>{this._fromJSON(e,t)},onUnLoad:e=>{this._deleteUnitId(e)}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.RemoveSheetCommand.id){var n;let r=e.params,i=r.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),a=r.subUnitId||((n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:n.getSheetId());if(!i||!a)return{redos:[],undos:[]};let o=this._tableManager.getTablesBySubunitId(i,a);if(o.length===0)return{redos:[],undos:[]};let s=[],c=[];return o.forEach(e=>{let t=e.toJSON();s.push({id:V.id,params:{unitId:i,subUnitId:a,tableId:t.id}}),c.push({id:B.id,params:{unitId:i,subUnitId:a,name:t.name,range:t.range,tableId:t.id,options:{...t.options,columns:t.columns,filters:t.filters.tableColumnFilterList}}})}),{redos:s,undos:c}}else if(e.id===r.CopySheetCommand.id){let{unitId:n,subUnitId:r,targetSubUnitId:i}=e.params;if(!n||!r||!i)return{redos:[],undos:[]};let a=this._tableManager.getTablesBySubunitId(n,r);if(a.length===0)return{redos:[],undos:[]};let o=[],s=[];return a.forEach(e=>{let r=e.toJSON(),a=(0,t.generateRandomId)();o.push({id:B.id,params:{unitId:n,subUnitId:i,name:r.name,range:{...r.range,sheetId:i},tableId:a,options:{...r.options,columns:r.columns,filters:r.filters.tableColumnFilterList}}}),s.push({id:V.id,params:{unitId:n,subUnitId:i,tableId:a}})}),{redos:o,undos:s}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._tableRangeRTree.clear()}};q=L([I(0,(0,t.Inject)(t.IUniverInstanceService)),I(1,(0,t.Inject)(r.SheetInterceptorService)),I(2,(0,t.Inject)(R)),I(3,(0,t.Inject)(t.IResourceManagerService))],q);let ut={id:`sheet.command.table-insert-row`,type:t.CommandType.COMMAND,handler:e=>{let n=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!n)return!1;let{workbook:i,worksheet:a,unitId:o,subUnitId:s}=n,c=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;e.get(R);let l=c[0].range,u=e.get(q).getContainerTableWithRange(o,s,l);if(!u)return!1;let d=l.endRow-l.startRow+1,f=a.getRowCount()-1,p=a.getCellMatrix().getDataRange().endRow,m=[],h=[];if(f-p<d)m.push({id:r.InsertRowMutation.id,params:{unitId:o,subUnitId:s,range:{...l}}}),m.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...u.getRange(),endRow:u.getRange().endRow+d}}}}}),h.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:u.getRange()}}}}),h.push({id:r.RemoveRowMutation.id,params:{unitId:o,subUnitId:s,range:{...l}}});else{let t={...u.getRange()};m.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...t,endRow:t.endRow+d}}}}}),h.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...t}}}}});let n=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:o,subUnitId:s,range:{startRow:l.startRow,endRow:p,startColumn:t.startColumn,endColumn:t.endColumn}},{unitId:o,subUnitId:s,range:{startRow:l.startRow+d,endRow:p+d,startColumn:t.startColumn,endColumn:t.endColumn}});n&&(m.push(...n.redos),h.push(...n.undos))}return(0,t.sequenceExecute)(m,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:h,redoMutations:m}),!0):!1}},dt={id:`sheet.command.table-insert-col`,type:t.CommandType.COMMAND,handler:e=>{let n=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!n)return!1;let{worksheet:i,unitId:a,subUnitId:o}=n,s=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!s.length||s.length>1)return!1;let c=s[0].range,l=e.get(q).getContainerTableWithRange(a,o,c);if(!l)return!1;let u=c.endColumn-c.startColumn+1,d=i.getColumnCount()-1,f=i.getCellMatrix().getDataRange().endColumn,p=[],m=[];if(d-f<u)p.push({id:r.InsertColMutation.id,params:{unitId:a,subUnitId:o,range:{...c}}}),p.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:c.startColumn,count:u}}}}),m.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:c.startColumn,count:u}}}}),m.push({id:r.RemoveColMutation.id,params:{unitId:a,subUnitId:o,range:{...c}}});else{let t=l.getRange();p.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:c.startColumn,count:u}}}}),m.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:c.startColumn,count:u}}}});let n=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:a,subUnitId:o,range:{startRow:t.startRow,endRow:t.endRow,startColumn:c.startColumn,endColumn:f}},{unitId:a,subUnitId:o,range:{startRow:t.startRow,endRow:t.endRow,startColumn:c.startColumn+u,endColumn:f+u}});n&&(p.push(...n.redos),m.push(...n.undos))}return(0,t.sequenceExecute)(p,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:m,redoMutations:p}),!0):!1}},ft={id:`sheet.command.table-remove-row`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let i=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{unitId:a,subUnitId:o}=i,s=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!s.length||s.length>1)return!1;let c=s[0].range,l=e.get(q).getContainerTableWithRange(a,o,c);if(!l)return!1;let u=c.endRow-c.startRow+1,d=[],f=[],p=l.getRange();d.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{updateRange:{newRange:{...p,endRow:p.endRow-u}}}}}),f.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{updateRange:{newRange:{...p}}}}});let m=i.worksheet.getCellMatrix().getDataRange().endRow,h=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:a,subUnitId:o,range:{startRow:c.endRow+1,endRow:m,startColumn:p.startColumn,endColumn:p.endColumn}},{unitId:a,subUnitId:o,range:{startRow:c.startRow,endRow:m-u,startColumn:p.startColumn,endColumn:p.endColumn}});return h&&(d.push(...h.redos),f.push(...h.undos)),(0,t.sequenceExecute)(d,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:f,redoMutations:d}),!0):!1}},pt={id:`sheet.command.table-remove-col`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let i=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{workbook:a,unitId:o,subUnitId:s}=i;e.get(R);let c=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;let l=c[0].range,u=e.get(q).getContainerTableWithRange(o,s,l);if(!u)return!1;let d=l.endColumn-l.startColumn+1,f=[],p=[],m=u.getRange();f.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:l.startColumn,count:d}}}});let h=[],g=l.startColumn-m.startColumn;for(let e=0;e<d;e++){let t=u.getTableInfo().columns[g+e];t&&h.push(t)}p.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:l.startColumn,count:d,columnsJson:h}}}});let _=i.worksheet.getCellMatrix().getDataRange().endColumn,v=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:o,subUnitId:s,range:{startRow:m.startRow,endRow:m.endRow,startColumn:l.endColumn+1,endColumn:_}},{unitId:o,subUnitId:s,range:{startRow:m.startRow,endRow:m.endRow,startColumn:l.startColumn,endColumn:_-d}});return v&&(f.push(...v.redos),p.push(...v.undos)),(0,t.sequenceExecute)(f,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:p,redoMutations:f}),!0):!1}};var mt=`@univerjs/sheets-table`,ht=`0.22.0`;let J=class extends t.Disposable{constructor(e,t){super(),this._tableManager=e,this._commandService=t,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{tableId:t,unitId:n}=e,r=this._tableManager.getTableById(n,t);r&&this._updateSuperTable(n,r)})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{tableId:t,unitId:n}=e,r=this._tableManager.getTableById(n,t);r&&this._updateSuperTable(n,r)})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{unitId:t,tableName:r}=e;this._commandService.executeCommand(n.RemoveSuperTableMutation.id,{unitId:t,tableName:r})})),this.disposeWithMe(this._tableManager.tableNameChanged$.subscribe(e=>{let{tableId:t,unitId:r,oldTableName:i}=e;this._commandService.executeCommand(n.RemoveSuperTableMutation.id,{unitId:r,tableName:i});let a=this._tableManager.getTableById(r,t);a&&this._updateSuperTable(r,a)}))}_updateSuperTable(e,t){let r=t.getTableInfo(),i=r.name,a=r.columns,o=new Map;a.forEach((e,t)=>{o.set(e.displayName,t)}),this._commandService.executeCommand(n.SetSuperTableMutation.id,{unitId:e,tableName:i,reference:{range:r.range,sheetId:r.subUnitId,titleMap:o}})}};J=L([I(0,(0,t.Inject)(R)),I(1,t.ICommandService)],J);let Y=class extends t.Disposable{constructor(e,t){super(),this._tableManager=e,this._exclusiveRangeService=t,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i}=e;this._exclusiveRangeService.clearExclusiveRangesByGroupId(r,i,G,n),this._exclusiveRangeService.addExclusiveRange(r,i,G,[{range:{...t},groupId:n}])})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r,range:i}=e;this._exclusiveRangeService.addExclusiveRange(n,r,G,[{range:{...i},groupId:t}])})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r}=e;this._exclusiveRangeService.clearExclusiveRangesByGroupId(n,r,G,t)}))}};Y=L([I(0,(0,t.Inject)(R)),I(1,(0,t.Inject)(r.IExclusiveRangeService))],Y);let X=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._refRangeService=t,this._univerInstanceService=n,this._injector=r,this._sheetInterceptorService=i,this._tableManager=a,this._localeService=o,this._initCommandInterceptor(),this._initCommandListener()}_initCommandInterceptor(){let e=this;this._sheetInterceptorService.interceptCommand({getMutations(t){let n={redos:[],undos:[]},{id:i,params:a}=t;switch(i){case r.InsertRowCommand.id:return e._generateTableMutationWithInsertRow(a);case r.InsertColCommand.id:return e._generateTableMutationWithInsertCol(a);case r.RemoveRowCommand.id:return e._generateTableMutationWithRemoveRow(a);case r.RemoveColCommand.id:return e._generateTableMutationWithRemoveCol(a)}return n}})}_generateTableMutationWithInsertRow(e){let t=[],n=[],i=(0,r.getSheetCommandTarget)(this._univerInstanceService,e);if(!i)return{undos:t,redos:n};let{unitId:a,subUnitId:o}=i,s=this._tableManager.getTablesBySubunitId(a,o);if(!s.length)return{undos:t,redos:n};let{range:c}=e;return s.forEach(e=>{let r=e.getRange();if(c.startRow>r.startRow&&c.startRow<=r.endRow){let i=c.endRow-c.startRow+1;n.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{updateRange:{newRange:{...r,endRow:r.endRow+i}}}}}),t.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{updateRange:{newRange:{...r}}}}})}}),{undos:t,redos:n}}_generateTableMutationWithInsertCol(e){let t=[],n=[],i=(0,r.getSheetCommandTarget)(this._univerInstanceService,e);if(!i)return{undos:t,redos:n};let{unitId:a,subUnitId:o}=i,s=this._tableManager.getTablesBySubunitId(a,o);if(!s.length)return{undos:t,redos:n};let{range:c}=e;return s.forEach(e=>{let r=e.getRange();if(c.startColumn>r.startColumn&&c.startColumn<=r.endColumn){let r=c.endColumn-c.startColumn+1;n.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:c.startColumn,count:r}}}}),t.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:c.startColumn,count:r}}}})}}),{undos:t,redos:n}}_generateTableMutationWithRemoveRow(e){let n=[],i=[],a=[],o=[],s=(0,r.getSheetCommandTarget)(this._univerInstanceService);if(!s)return{undos:n,redos:i,preRedos:a,preUndos:o};let{unitId:c,subUnitId:l}=s,u=this._tableManager.getTablesBySubunitId(c,l);if(!u.length)return{undos:n,redos:i,preRedos:a,preUndos:o};let{range:d}=e,f=d.endRow-d.startRow+1;return u.forEach(e=>{let r=e.getRange();if(t.Rectangle.intersects(r,d))if(d.startRow<=r.startRow&&d.endRow>=r.startRow){a.push({id:V.id,params:{unitId:c,subUnitId:l,tableId:e.getId()}});let t=e.toJSON();n.push({id:B.id,params:{unitId:c,subUnitId:l,tableId:t.id,name:t.name,range:t.range,options:t.options}})}else d.startRow>r.startRow&&d.startRow<=r.endRow?(i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r,endRow:r.endRow-f}}}}}),n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r}}}}})):d.startRow<r.endRow&&d.endRow>=r.endRow&&(i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r,endRow:d.startRow-1}}}}}),n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r}}}}}))}),{undos:n,redos:i,preRedos:a,preUndos:o}}_generateTableMutationWithRemoveCol(e){let n=[],i=[],a=[],o=[],s=(0,r.getSheetCommandTarget)(this._univerInstanceService);if(!s)return{undos:n,redos:i,preRedos:a,preUndos:o};let{unitId:c,subUnitId:l}=s,u=this._tableManager.getTablesBySubunitId(c,l);if(!u.length)return{undos:n,redos:i,preRedos:a,preUndos:o};let{range:d}=e,f=d.endColumn-d.startColumn+1;return u.forEach(e=>{let r=e.getRange();if(t.Rectangle.intersects(r,d)){if(d.startColumn<=r.startColumn&&d.endColumn>=r.endColumn){a.push({id:V.id,params:{unitId:c,subUnitId:l,tableId:e.getId()}});let t=e.toJSON(),{startRow:r,startColumn:s,endColumn:u}=t.range,d=this._univerInstanceService.getUnit(c),f=d==null?void 0:d.getSheetBySheetId(l);if(!f)return{undos:n,redos:i,preRedos:a,preUndos:o};let m=[];for(let e=s;e<=u;e++)m.push(_(f==null?void 0:f.getCell(r,e))||p(e-s+1,this._localeService.t(`sheets-table.columnPrefix`)));n.push({id:B.id,params:{unitId:c,subUnitId:l,tableId:t.id,name:t.name,header:m,range:t.range,options:t.options}})}else if(d.startColumn<=r.startColumn&&d.endColumn>=r.startColumn){let t=d.endColumn-r.startColumn+1;i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:r.startColumn,count:t}}}});let a=[];for(let n=0;n<t;n++){let t=e.getTableColumnByIndex(n);t&&a.push(t.toJSON())}n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:r.startColumn,count:t,columnsJson:a}}}})}else if(d.startColumn>r.startColumn&&d.endColumn>r.endColumn){let t=r.endColumn-d.startColumn+1;i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:d.startColumn,count:t}}}});let a=[],o=d.startColumn-r.startColumn;for(let n=0;n<t;n++){let t=e.getTableColumnByIndex(n+o);t&&a.push(t.toJSON())}n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:d.startColumn,count:f,columnsJson:a}}}})}else if(d.startColumn>r.startColumn&&d.endColumn<=r.endColumn){i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:d.startColumn,count:f}}}});let t=[],a=d.startColumn-r.startColumn;for(let n=0;n<f;n++){let r=e.getTableColumnByIndex(n+a);r&&t.push(r.toJSON())}n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:d.startColumn,count:f,columnsJson:t}}}})}}}),{undos:n,redos:i,preRedos:a,preUndos:o}}_initCommandListener(){this._commandService.onCommandExecuted(e=>{if(e.id===r.InsertRowMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startRow<=n.startRow&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startRow:n.startRow+i,endRow:n.endRow+i}})})}else if(e.id===r.InsertColMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startColumn<=n.startColumn&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startColumn:n.startColumn+i,endColumn:n.endColumn+i}})})}else if(e.id===r.RemoveRowMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startRow<n.startRow&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startRow:n.startRow-i,endRow:n.endRow-i}})})}else if(e.id===r.RemoveColMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startColumn<n.startColumn&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startColumn:n.startColumn-i,endColumn:n.endColumn-i}})})}})}};X=L([I(0,(0,t.Inject)(t.ICommandService)),I(1,(0,t.Inject)(r.RefRangeService)),I(2,(0,t.Inject)(t.IUniverInstanceService)),I(3,(0,t.Inject)(t.Injector)),I(4,(0,t.Inject)(r.SheetInterceptorService)),I(5,(0,t.Inject)(R)),I(6,(0,t.Inject)(t.LocaleService))],X);let Z=class extends t.Disposable{constructor(e,t,n,r){super(),this._tableManager=e,this._sheetRangeThemeService=t,this._sheetRangeThemeModel=n,this._configService=r,E(this,`_defaultThemeIndex`,0),E(this,`_allThemes`,[]),this._initUserTableTheme(),this.registerTableChangeEvent(),this._initDefaultTableTheme()}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i,tableStyleId:a}=e,o=this._tableManager.getTable(r,n),s=a||this._allThemes[this._defaultThemeIndex].name;o.setTableStyleId(s),this._sheetRangeThemeService.registerRangeThemeStyle(s,{unitId:r,subUnitId:i,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,oldRange:n,tableId:r,unitId:i,subUnitId:a}=e,o=this._tableManager.getTable(i,r),s=o.getTableStyleId();s||(s=this._allThemes[this._defaultThemeIndex].name,o.setTableStyleId(s)),this._sheetRangeThemeService.removeRangeThemeRule(s,{unitId:i,subUnitId:a,range:{...n}}),this._sheetRangeThemeService.registerRangeThemeStyle(s,{unitId:i,subUnitId:a,range:{...t}})})),this.disposeWithMe(this._tableManager.tableThemeChanged$.subscribe(e=>{let{theme:t,oldTheme:n,tableId:r,unitId:i,subUnitId:a}=e,o=this._tableManager.getTable(i,r).getRange();this._sheetRangeThemeService.removeRangeThemeRule(n,{unitId:i,subUnitId:a,range:{...o}}),this._sheetRangeThemeService.registerRangeThemeStyle(t,{unitId:i,subUnitId:a,range:{...o}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{range:t,unitId:n,subUnitId:r,tableStyleId:i=this._allThemes[this._defaultThemeIndex].name}=e;this._sheetRangeThemeService.removeRangeThemeRule(i,{unitId:n,subUnitId:r,range:{...t}})}))}_initUserTableTheme(){let e=this._configService.getConfig(`sheets-table.config`)||{},t=e.defaultThemeIndex||0,n=e.userThemes||[];this._defaultThemeIndex=t,this._allThemes=n.concat(w)}_initDefaultTableTheme(){for(let e=0;e<this._allThemes.length;e++){let{name:t,style:n}=this._allThemes[e],i=new r.RangeThemeStyle(t,n);this._sheetRangeThemeModel.registerDefaultRangeTheme(i)}}dispose(){super.dispose(),this._allThemes=[],this._defaultThemeIndex=0}};Z=L([I(0,(0,t.Inject)(R)),I(1,(0,t.Inject)(r.SheetRangeThemeService)),I(2,(0,t.Inject)(r.SheetRangeThemeModel)),I(3,t.IConfigService)],Z);let Q=class extends t.Disposable{constructor(e,t,n,r){super(),this._tableManager=e,this._sheetInterceptorService=t,this._univerInstanceService=n,this._zebraCrossingCacheController=r,E(this,`_tableFilteredOutRows$`,new i.BehaviorSubject(new Set)),E(this,`tableFilteredOutRows$`,this._tableFilteredOutRows$.asObservable()),E(this,`_subscription`,null),this.registerFilterChangeEvent(),this.initTableHiddenRowIntercept(),this._initFilteredOutRows()}get tableFilteredOutRows(){return this._tableFilteredOutRows$.value}set tableFilteredOutRows(e){this._tableFilteredOutRows$.next(e)}initTableHiddenRowIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(r.INTERCEPTOR_POINT.ROW_FILTERED,{priority:100,handler:(e,t,n)=>{if(e)return!0;let r=this.tableFilteredOutRows.has(t.row);return r?!0:n(r)}}))}_initFilteredOutRows(){this._tableManager.tableInitStatus$.pipe((0,i.filter)(e=>e),(0,i.switchMap)(()=>this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET)),(0,i.filter)(e=>e!=null),(0,i.switchMap)(e=>e.activeSheet$),(0,i.filter)(e=>e!=null)).subscribe(()=>{let e=(0,r.getSheetCommandTarget)(this._univerInstanceService);if(!e)return;let{unitId:t,subUnitId:n}=e;this.tableFilteredOutRows.clear(),this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)this.tableFilteredOutRows.add(e)})})}registerFilterChangeEvent(){this.disposeWithMe(this._tableManager.tableFilterChanged$.subscribe(e=>{var t;let{unitId:n,subUnitId:r,tableId:i}=e,a=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r),o=this._tableManager.getTable(n,i);!a||!o||(this.tableFilteredOutRows.clear(),o.getTableFilters().doFilter(a,o.getTableFilterRange()),this._tableManager.getTablesBySubunitId(n,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)this.tableFilteredOutRows.add(e)}),this._zebraCrossingCacheController.updateZebraCrossingCache(n,r))}))}dispose(){var e;super.dispose(),(e=this._subscription)==null||e.unsubscribe()}};Q=L([I(0,(0,t.Inject)(R)),I(1,(0,t.Inject)(r.SheetInterceptorService)),I(2,(0,t.Inject)(t.IUniverInstanceService)),I(3,(0,t.Inject)(r.ZebraCrossingCacheController))],Q);let $=class extends t.Plugin{constructor(e=C,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._commandService=i;let{...a}=(0,t.merge)({},C,this._config);this._configService.setConfig(S,a),this._initRegisterCommand()}onStarting(){(0,t.registerDependencies)(this._injector,[[R],[Z],[q],[z],[Q],[Y],[X],[J]])}onReady(){(0,t.touchDependencies)(this._injector,[[J],[Y],[X],[Z],[q],[z],[Q]]),(0,t.touchDependencies)(this._injector,[[R]])}_initRegisterCommand(){[H,B,it,V,K,lt,ct,U,W,st,ut,dt,ft,pt].forEach(e=>this._commandService.registerCommand(e))}};E($,`pluginName`,at),E($,`packageName`,mt),E($,`version`,ht),E($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=L([I(1,(0,t.Inject)(t.Injector)),I(2,t.IConfigService),I(3,(0,t.Inject)(t.ICommandService))],$),e.AddSheetTableCommand=H,e.AddSheetTableMutation=B,e.AddTableThemeCommand=W,e.DeleteSheetTableCommand=it,e.DeleteSheetTableMutation=V,e.RemoveTableThemeCommand=st,e.SHEET_TABLE_CUSTOM_THEME_PREFIX=ot,e.SetSheetTableCommand=ct,e.SetSheetTableFilterCommand=lt,e.SetSheetTableFilterMutation=K,e.SetSheetTableMutation=U,e.SheetTableInsertColCommand=dt,e.SheetTableInsertRowCommand=ut,e.SheetTableRemoveColCommand=pt,e.SheetTableRemoveRowCommand=ft,Object.defineProperty(e,`SheetTableService`,{enumerable:!0,get:function(){return z}}),e.SheetsTableButtonStateEnum=d,Object.defineProperty(e,`SheetsTableController`,{enumerable:!0,get:function(){return q}}),e.SheetsTableSortStateEnum=f,e.TableColumnDataTypeEnum=a,e.TableColumnFilterTypeEnum=o,e.TableConditionTypeEnum=s,e.TableDateCompareTypeEnum=u,Object.defineProperty(e,`TableManager`,{enumerable:!0,get:function(){return R}}),e.TableNumberCompareTypeEnum=c,e.TableStringCompareTypeEnum=l,Object.defineProperty(e,`UniverSheetsTablePlugin`,{enumerable:!0,get:function(){return $}}),e.customEmptyThemeWithBorderStyle=te,e.isConditionFilter=y,e.isManualTableFilter=ee,e.processStyleWithBorderStyle=ne});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/engine-formula`),require(`@univerjs/sheets`),require(`rxjs`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-formula`,`@univerjs/sheets`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsTable={},e.UniverCore,e.UniverEngineFormula,e.UniverSheets,e.rxjs))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let a=function(e){return e.None=`none`,e.String=`string`,e.Number=`number`,e.Date=`date`,e.Bool=`bool`,e.Checkbox=`checkbox`,e.List=`list`,e}({}),o=function(e){return e.manual=`manual`,e.condition=`condition`,e}({}),s=function(e){return e.Date=`date`,e.Number=`number`,e.String=`string`,e.Logic=`logic`,e}({}),c=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.GreaterThan=`greaterThan`,e.GreaterThanOrEqual=`greaterThanOrEqual`,e.LessThan=`lessThan`,e.LessThanOrEqual=`lessThanOrEqual`,e.Between=`between`,e.NotBetween=`notBetween`,e.Above=`above`,e.Below=`below`,e.TopN=`topN`,e}({}),l=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.Contains=`contains`,e.NotContains=`notContains`,e.StartsWith=`startsWith`,e.EndsWith=`endsWith`,e}({}),u=function(e){return e.Equal=`equal`,e.NotEqual=`notEqual`,e.After=`after`,e.AfterOrEqual=`afterOrEqual`,e.Before=`before`,e.BeforeOrEqual=`beforeOrEqual`,e.Between=`between`,e.NotBetween=`notBetween`,e.Today=`today`,e.Yesterday=`yesterday`,e.Tomorrow=`tomorrow`,e.ThisWeek=`thisWeek`,e.LastWeek=`lastWeek`,e.NextWeek=`nextWeek`,e.ThisMonth=`thisMonth`,e.LastMonth=`lastMonth`,e.NextMonth=`nextMonth`,e.ThisQuarter=`thisQuarter`,e.LastQuarter=`lastQuarter`,e.NextQuarter=`nextQuarter`,e.ThisYear=`thisYear`,e.LastYear=`lastYear`,e.NextYear=`nextYear`,e.YearToDate=`yearToDate`,e.Quarter=`quarter`,e.Month=`month`,e.M1=`m1`,e.M2=`m2`,e.M3=`m3`,e.M4=`m4`,e.M5=`m5`,e.M6=`m6`,e.M7=`m7`,e.M8=`m8`,e.M9=`m9`,e.M10=`m10`,e.M11=`m11`,e.M12=`m12`,e.Q1=`q1`,e.Q2=`q2`,e.Q3=`q3`,e.Q4=`q4`,e}({}),d=function(e){return e[e.FilteredSortNone=1]=`FilteredSortNone`,e[e.FilteredSortAsc=2]=`FilteredSortAsc`,e[e.FilteredSortDesc=3]=`FilteredSortDesc`,e[e.FilterNoneSortNone=4]=`FilterNoneSortNone`,e[e.FilterNoneSortAsc=5]=`FilterNoneSortAsc`,e[e.FilterNoneSortDesc=6]=`FilterNoneSortDesc`,e}({}),f=function(e){return e.Asc=`asc`,e.Desc=`desc`,e.None=`none`,e}({});function p(e,t){return`${t} ${e}`}let m=`TRUE`,h=`FALSE`,g=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function _(e){if(e){let{v:n,t:r,p:i}=e;return i?g(i):(r===t.CellValueType.FORCE_STRING||r===t.CellValueType.STRING)&&n!=null?String(n):r===t.CellValueType.BOOLEAN?n?m:h:r===t.CellValueType.NUMBER?String(n):typeof n==`boolean`?n?m:h:n==null?``:String(n)}return``}function v(e,t){if(e!=null)switch(t){case`asc`:return 2;case`desc`:return 3;default:return 1}else switch(t){case`asc`:return 5;case`desc`:return 6;default:return 4}}function y(e){return e?e.filterType===`condition`:!1}function ee(e){return e?e.filterType===`manual`:!1}function b(e,n){let{univerInstanceService:r,tableManager:i,definedNamesService:a}=n,o=new Set,s=r==null?void 0:r.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);s&&s.getSheets().forEach(e=>{o.add(e.getName().toLowerCase())});let c=i==null?void 0:i.getTableList(e);c&&c.length>0&&c.forEach(e=>{o.add(e.name.toLowerCase())});let l=a==null?void 0:a.getDefinedNameMap(e);return l&&Object.values(l).forEach(e=>{o.add(e.name.toLowerCase())}),o}let x={s:t.BorderStyleTypes.THIN,cl:{rgb:`rgb(95, 101, 116)`}},S=`sheets-table.config`;Symbol(S);let C={},te={headerRowStyle:{bd:{t:x}},headerColumnStyle:{bd:{l:x}},lastColumnStyle:{bd:{r:x}},lastRowStyle:{bd:{b:x}}},ne=(e,t)=>{if(e===`headerRowStyle`){if(!t.bd)return{...t,bd:{t:x}}}else if(e===`lastRowStyle`){if(!t.bd)return{...t,bd:{b:x}}}else if(e===`lastColumnStyle`){if(!t.bd)return{...t,bd:{r:x}}}else if(e===`headerColumnStyle`&&!t.bd)return{...t,bd:{l:x}};return t},w=[[[`#6280F9`,`#FFFFFF`,`#BAC6F8`,`#D2DAFA`],[`#fff`]],[[`#16BDCA`,`#FFFFFF`,`#EDFAFA`,`#AFECEF`],[`#000`]],[[`#31C48D`,`#FFFFFF`,`#F3FAF7`,`#BCF0DA`],[`#fff`]],[[`#AC94FA`,`#FFFFFF`,`#F6F5FF`,`#EDEBFE`],[`#fff`]],[[`#F17EBB`,`#FFFFFF`,`#FDF2F8`,`#FCE8F3`],[`#fff`]],[[`#F98080`,`#FFFFFF`,`#FDF2F2`,`#FDE8E8`],[`#fff`]]].map((e,t)=>{let[n,r]=e,[i,a,o,s]=n,[c]=r;return{name:`table-default-${t}`,style:{headerRowStyle:{bg:{rgb:i},cl:{rgb:c},bd:{t:x}},headerColumnStyle:{bd:{l:x}},firstRowStyle:{bg:{rgb:a}},secondRowStyle:{bg:{rgb:o}},lastRowStyle:{bg:{rgb:s},bd:{b:x}},lastColumnStyle:{bd:{r:x}}}}});function T(e){"@babel/helpers - typeof";return T=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},T(e)}function re(e,t){if(T(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(T(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ie(e){var t=re(e,`string`);return T(t)==`symbol`?t:t+``}function E(e,t,n){return(t=ie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var D=class{constructor(e,t){E(this,`dataType`,void 0),E(this,`id`,void 0),E(this,`displayName`,void 0),E(this,`formula`,void 0),E(this,`meta`,void 0),E(this,`style`,void 0),this.id=e,this.displayName=t,this.dataType=`string`,this.formula=``,this.meta={},this.style={}}getMeta(){return this.meta}setMeta(e){this.meta=e}getDisplayName(){return this.displayName}toJSON(){return{id:this.id,displayName:this.displayName,dataType:this.dataType,formula:this.formula,meta:this.meta,style:this.style}}fromJSON(e){this.id=e.id,this.displayName=e.displayName,this.dataType=e.dataType,this.formula=e.formula,this.meta=e.meta,this.style=e.style}};let ae=e=>e.getMonth()<=2,oe=e=>{let t=e.getMonth();return t>2&&t<=5},se=e=>{let t=e.getMonth();return t>5&&t<=8},ce=e=>{let t=e.getMonth();return t>8&&t<=11},le=e=>e.getMonth()===0,ue=e=>e.getMonth()===1,de=e=>e.getMonth()===2,fe=e=>e.getMonth()===3,pe=e=>e.getMonth()===4,me=e=>e.getMonth()===5,he=e=>e.getMonth()===6,ge=e=>e.getMonth()===7,_e=e=>e.getMonth()===8,ve=e=>e.getMonth()===9,ye=e=>e.getMonth()===10,be=e=>e.getMonth()===11,xe=(e,t=new Date)=>e.toDateString()===t.toDateString(),Se=(e,t=new Date)=>{let n=new Date(t);return n.setDate(n.getDate()+1),e.toDateString()===n.toDateString()},Ce=(e,t=new Date)=>{let n=new Date(t);return n.setDate(n.getDate()-1),e.toDateString()===n.toDateString()},O=e=>{let t=e.getDay(),n=e.getDate()-t+(t===0?-6:1),r=new Date(e);return r.setDate(n),r},k=10080*60*1e3,we=(e,t=new Date)=>{let n=O(e),r=O(t);return n.toDateString()===r.toDateString()},Te=(e,t=new Date)=>{let n=O(e),r=new Date(O(t).getTime()+k);return n.toDateString()===r.toDateString()},Ee=(e,t=new Date)=>{let n=O(e),r=new Date(O(t).getTime()-k);return n.toDateString()===r.toDateString()},De=(e,t=new Date)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth(),Oe=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.setDate(1),t},ke=(e,t=new Date)=>{let n=new Date(t);n.setHours(0,0,0,0),n.setMonth(n.getMonth()+1,1);let r=new Date(n);r.setMonth(r.getMonth()+1,0);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},Ae=(e,t=new Date)=>{let n=Oe(t),r=new Date(n);r.setMonth(r.getMonth()+1,0);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},A=e=>{let t=new Date(e);t.setHours(0,0,0,0),t.setDate(1);let n=t.getMonth();return t.setMonth(n-n%3),t},je=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()+3);let i=e.getTime();return i>=n.getTime()&&i<r.getTime()},Me=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()+3);let i=new Date(r);i.setMonth(i.getMonth()+3,0);let a=e.getTime();return a>=r.getTime()&&a<i.getTime()},Ne=(e,t=new Date)=>{let n=A(t),r=new Date(n);r.setMonth(r.getMonth()-3);let i=new Date(n);i.setDate(0);let a=e.getTime();return a>=r.getTime()&&a<i.getTime()},Pe=(e,t=new Date)=>e.getFullYear()===t.getFullYear(),Fe=(e,t=new Date)=>e.getFullYear()===t.getFullYear()+1,Ie=(e,t=new Date)=>e.getFullYear()===t.getFullYear()-1,Le=(e,t=new Date)=>{let n=new Date(t);n.setHours(0,0,0,0),n.setMonth(0,1);let r=e.getTime();return r>=n.getTime()&&r<t.getTime()};function Re(e){switch(e.compareType){case`equal`:{let t=new Date(e.expectedValue);return e=>e.getTime()===t.getTime()}case`notEqual`:{let t=new Date(e.expectedValue);return e=>e.getTime()!==t.getTime()}case`after`:{let t=new Date(e.expectedValue);return e=>e.getTime()>t.getTime()}case`before`:{let t=new Date(e.expectedValue);return e=>e.getTime()<t.getTime()}case`afterOrEqual`:{let t=new Date(e.expectedValue);return e=>e.getTime()>=t.getTime()}case`beforeOrEqual`:{let t=new Date(e.expectedValue);return e=>e.getTime()<=t.getTime()}case`between`:return t=>{let[n,r]=e.expectedValue;return t.getTime()>=new Date(n).getTime()&&t.getTime()<=new Date(r).getTime()};case`notBetween`:return t=>{let[n,r]=e.expectedValue;return t.getTime()<new Date(n).getTime()||t.getTime()>new Date(r).getTime()};case`today`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>xe(e,t)}case`yesterday`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ce(e,t)}case`tomorrow`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Se(e,t)}case`thisWeek`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>we(e,t)}case`lastWeek`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ee(e,t)}case`nextWeek`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Te(e,t)}case`thisMonth`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>De(e,t)}case`lastMonth`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ae(e,t)}case`nextMonth`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>ke(e,t)}case`thisQuarter`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>je(e,t)}case`lastQuarter`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ne(e,t)}case`nextQuarter`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Me(e,t)}case`thisYear`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Pe(e,t)}case`lastYear`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Ie(e,t)}case`nextYear`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Fe(e,t)}case`yearToDate`:{let t=e.anchorTime?new Date(e.anchorTime):new Date;return e=>Le(e,t)}case`m1`:return le;case`m2`:return ue;case`m3`:return de;case`m4`:return fe;case`m5`:return pe;case`m6`:return me;case`m7`:return he;case`m8`:return ge;case`m9`:return _e;case`m10`:return ve;case`m11`:return ye;case`m12`:return be;case`q1`:return ae;case`q2`:return oe;case`q3`:return se;case`q4`:return ce;default:throw Error(`Unsupported compare type`)}}var ze=class{constructor(){E(this,`heap`,void 0),this.heap=[]}swap(e,t){let n=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=n}getParentIndex(e){return Math.floor((e-1)/2)}getLeftIndex(e){return e*2+1}getRightIndex(e){return e*2+2}size(){return this.heap.length}peek(){return this.heap[0]}include(e){return this.heap.includes(e)}},Be=class extends ze{constructor(){super()}shiftUp(e){if(e===0)return;let t=this.getParentIndex(e);this.heap[t]>this.heap[e]&&(this.swap(t,e),this.shiftUp(t))}shiftDown(e){let t=this.getLeftIndex(e),n=this.getRightIndex(e);this.heap[t]<this.heap[e]&&(this.swap(t,e),this.shiftDown(t)),this.heap[n]<this.heap[e]&&(this.swap(n,e),this.shiftDown(n))}insert(e){this.heap.push(e),this.shiftUp(this.heap.length-1)}pop(){this.heap[0]=this.heap.pop(),this.shiftDown(0)}};let Ve=(e,t)=>{let n=new Be;for(let r of e)n.insert(r),n.size()>t&&n.pop();return n.heap},He=(e,t)=>e>t,Ue=(e,t)=>e<t,We=(e,t,n)=>Ve(e,t).includes(n);function Ge(e,t){switch(e.compareType){case`equal`:{let t=Number(e.expectedValue);return e=>e===t}case`notEqual`:{let t=Number(e.expectedValue);return e=>e!==t}case`greaterThan`:{let t=Number(e.expectedValue);return e=>e>t}case`greaterThanOrEqual`:{let t=Number(e.expectedValue);return e=>e>=t}case`lessThan`:{let t=Number(e.expectedValue);return e=>e<t}case`lessThanOrEqual`:{let t=Number(e.expectedValue);return e=>e<=t}case`between`:{let[t,n]=e.expectedValue,r=Number(t),i=Number(n);return r>i?e=>e>=i&&e<=r:e=>e>=r&&e<=i}case`notBetween`:{let[t,n]=e.expectedValue,r=Number(t),i=Number(n);return r>i?e=>e<i||e>r:e=>e<r||e>i}case`above`:{let e=t.average;return t=>He(t,e)}case`below`:{let e=t.average;return t=>Ue(t,e)}case`topN`:{let n=t.list,r=Number(e.expectedValue);return e=>We(n,r,e)}}}let Ke=(e,n)=>(0,t.createREGEXFromWildChar)(n).test(e),qe=(e,n)=>!(0,t.createREGEXFromWildChar)(n).test(e),Je=(e,n)=>(0,t.createREGEXFromWildChar)(`*${n}*`).test(e),Ye=(e,n)=>!(0,t.createREGEXFromWildChar)(`*${n}*`).test(e),Xe=(e,n)=>(0,t.createREGEXFromWildChar)(`${n}*`).test(e),Ze=(e,n)=>(0,t.createREGEXFromWildChar)(`*${n}`).test(e);function Qe(e){switch(e.compareType){case`equal`:return t=>Ke(t,e.expectedValue);case`notEqual`:return t=>qe(t,e.expectedValue);case`contains`:return t=>Je(t,e.expectedValue);case`notContains`:return t=>Ye(t,e.expectedValue);case`startsWith`:return t=>Xe(t,e.expectedValue);case`endsWith`:return t=>Ze(t,e.expectedValue);default:return console.error(`Unknown filter operator: ${e.compareType}`),e=>!0}}let $e=new Set([`above`,`below`,`topN`]);function j(e){return $e.has(e)}function et(e,t){if(j(e.filterInfo.compareType))return e=>!0;switch(e.filterInfo.conditionType){case`date`:return Re(e.filterInfo);case`number`:return Ge(e.filterInfo,t);case`string`:return Qe(e.filterInfo);default:return e=>!0}}function M(e,t,n,r){switch(r){case`date`:{let r=N(e,t,n);return r?rt(r):null}case`number`:return N(e,t,n);default:return nt(e,t,n)}}let tt=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function nt(e,n,r){let i=e.getCell(n,r);if(!i)return null;let{v:a,t:o,p:s}=i;if(s)return tt(s);if(typeof a==`string`)return o===t.CellValueType.BOOLEAN?a.toUpperCase():a;if(typeof a==`number`)return o===t.CellValueType.BOOLEAN?a?`TRUE`:`FALSE`:a;if(typeof a==`boolean`)return a?`TRUE`:`FALSE`;if(a!==void 0)return String(a)}function N(e,n,r){let i=e.getCell(n,r);if(!i)return null;let{v:a,t:o,p:s}=i;return s?null:typeof a==`string`&&o===t.CellValueType.NUMBER?Number(e.getCellRaw(n,r).v):Number(a)}function rt(e){let t=new Date(Date.UTC(1900,0,1,0,0,0)),n=new Date(Date.UTC(1900,1,28,0,0,0)),r=e-1;return r>(n.getTime()-t.getTime())/(1e3*3600*24)&&--r,r<0&&(r=e),new Date(t.getTime()+1e3*3600*24*r)}var P=class{constructor(){E(this,`_tableColumnFilterList`,void 0),E(this,`_tableSortInfo`,void 0),E(this,`_filterOutRows`,void 0),this._tableColumnFilterList=[]}setColumnFilter(e,t){t?this._tableColumnFilterList[e]=t:this._tableColumnFilterList[e]=void 0}setSortState(e,t){this._tableSortInfo={columnIndex:e,sortState:t}}getColumnFilter(e){return this._tableColumnFilterList[e]}getFilterState(e){var t;let n=((t=this._tableSortInfo)==null?void 0:t.columnIndex)===e?this._tableSortInfo.sortState:`none`;return v(this._tableColumnFilterList[e],n)}getSortState(){var e;return(e=this._tableSortInfo)==null?{}:e}getFilterStates(e){let t=[],{startColumn:n,endColumn:r}=e;for(let e=n;e<=r;e++)t.push(this.getFilterState(e-n));return t}getFilterOutRows(){return this._filterOutRows}doFilter(e,t){let n=new Set,r=this._tableColumnFilterList;for(let i=0;i<r.length;i++)r[i]&&this.doColumnFilter(e,t,i,n);return this._filterOutRows=n,n}doColumnFilter(e,t,n,r){let i=this._tableColumnFilterList[n];if(i&&e){let{startRow:a,endRow:o,startColumn:s}=t,c=s+n,l=this.getExecuteFunc(e,t,n,i);for(let t=a;t<=o;t++){let n=y(i)?i.filterInfo.conditionType:`string`;M(e,t,c,n)===null?r.add(t):l(M(e,t,c,n))||r.add(t)}}}_getNumberCalculatedOptions(e,t,n){let{startRow:r,endRow:i,startColumn:a}=t,o=a+n,s=[],c=0,l=0;for(let t=r;t<=i;t++){let n=M(e,t,o,`number`);n!==null&&(s.push(n),c++,l+=n)}return{list:s,average:c>0?l/c:0}}getExecuteFunc(e,t,n,r){if(r.filterType===`manual`){let e=new Set(r.values);return t=>e.has(t)}else if(r.filterType===`condition`)return et(r,j(r.filterInfo.compareType)?this._getNumberCalculatedOptions(e,t,n):void 0);else return e=>!0}toJSON(){return{tableColumnFilterList:this._tableColumnFilterList,tableSortInfo:this._tableSortInfo}}fromJSON(e){var t;this._tableColumnFilterList=(t=e.tableColumnFilterList)==null?[]:t,e.tableSortInfo&&(this._tableSortInfo=e.tableSortInfo)}dispose(){this._tableColumnFilterList=[]}},F=class{constructor(e,t,n,r,i={}){E(this,`_id`,void 0),E(this,`_name`,void 0),E(this,`_tableStyleId`,void 0),E(this,`_showHeader`,void 0),E(this,`_showFooter`,void 0),E(this,`_range`,void 0),E(this,`_columns`,new Map),E(this,`_columnOrder`,[]),E(this,`tableMeta`,void 0),E(this,`_tableFilters`,void 0),E(this,`_subUnitId`,void 0),this._id=e,this._range=n,this._name=t,this._tableFilters=new P,this._init(r,i)}_init(e,n){var r;this._tableStyleId=n==null?void 0:n.tableStyleId,this._showHeader=(r=n==null?void 0:n.showHeader)==null?!0:r,this._showFooter=!1;let i=this.getRange(),a=i.startColumn,o=i.endColumn;for(let r=a;r<=o;r++){var s;let i=r-a,o,c;(s=n.columns)!=null&&s[i]?(o=n.columns[i].id,c=n.columns[i].displayName):(o=(0,t.generateRandomId)(),c=e[r-a]);let l=new D(o,c);this._columns.set(o,l),this._columnOrder.push(o)}n.filters&&n.filters.forEach((e,t)=>{e&&this._tableFilters.setColumnFilter(t,e)})}setTableFilterColumn(e,t){this._tableFilters.setColumnFilter(e,t)}getTableFilterColumn(e){return this._tableFilters.getColumnFilter(e)}getTableFilters(){return this._tableFilters}getTableFilterRange(){let e=this.getRange(),t=this.isShowHeader(),n=this.isShowFooter(),{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return{startRow:t?r+1:r,startColumn:i,endRow:n?a-1:a,endColumn:o}}setColumns(e){this._columns.clear(),this._columnOrder=[],e.forEach(e=>{let t=new D(e.id,e.displayName);t.fromJSON(e),this._columns.set(e.id,t),this._columnOrder.push(e.id)})}getColumnsCount(){return this._columnOrder.length}insertColumn(e,t){let n=t.id;this._columns.set(n,t),this._columnOrder.splice(e,0,n)}removeColumn(e){let t=this._columnOrder[e];this._columns.delete(t),this._columnOrder.splice(e,1)}setTableMeta(e){this.tableMeta=e}getTableMeta(){return this.tableMeta}getColumn(e){return this._columns.get(e)}getTableColumnByIndex(e){let t=this._columnOrder[e];return this.getColumn(t)}getColumnNameByIndex(e){var t;let n=this._columnOrder[e];return((t=this.getColumn(n))==null?void 0:t.getDisplayName())||``}getId(){return this._id}getRangeInfo(){return{...this._range}}getRange(){return{...this._range}}setRange(e){this._range=e}setDisplayName(e){this._name=e}getDisplayName(){return this._name}getSubunitId(){return this._subUnitId}setSubunitId(e){this._subUnitId=e}getTableStyleId(){var e;return(e=this._tableStyleId)==null?w[0].name:e}setTableStyleId(e){this._tableStyleId=e}isShowHeader(){var e;return(e=this._showHeader)==null?!0:e}setShowHeader(e){this._showHeader=e}isShowFooter(){var e;return(e=this._showFooter)==null?!1:e}getTableInfo(){return{id:this._id,subUnitId:this._subUnitId,name:this._name,range:this.getRangeInfo(),meta:this.tableMeta,showHeader:this._showHeader,columns:this._columnOrder.map(e=>this._columns.get(e).toJSON())}}getTableConfig(){return{name:this.getDisplayName(),range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter},tableStyleId:this._tableStyleId}}getFilterStates(e){return this._tableFilters.getFilterStates(e)}toJSON(){let e=[];return this._columns.forEach(t=>{e.push(t.toJSON())}),{id:this._id,name:this._name,range:this.getRangeInfo(),options:{showHeader:this._showHeader,showFooter:this._showFooter,tableStyleId:this._tableStyleId},filters:this._tableFilters.toJSON(),columns:e,meta:this.tableMeta}}fromJSON(e){var t,n;this._id=e.id,this._name=e.name,this._range=e.range,this.tableMeta=e.meta,this._tableStyleId=e.options.tableStyleId||``,this._showHeader=(t=e.options.showHeader)==null?!0:t,this._showFooter=(n=e.options.showFooter)==null?!0:n,e.columns.forEach(e=>{let t=new D(e.id,e.displayName);t.fromJSON(e),this._columns.set(e.id,t),this._columnOrder.push(e.id)}),this._tableFilters=new P,this._tableFilters.fromJSON(e.filters)}dispose(){this._id=``,this._name=``,this._tableStyleId=``,this._showHeader=!0,this._showFooter=!0,delete this._range,this._columns.clear(),this._columnOrder=[]}};function I(e,t){return function(n,r){t(n,r,e)}}function L(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 R=class extends t.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._localeService=t,E(this,`_tableMap`,void 0),E(this,`_tableAdd$`,new i.Subject),E(this,`tableAdd$`,this._tableAdd$.asObservable()),E(this,`_tableDelete$`,new i.Subject),E(this,`tableDelete$`,this._tableDelete$.asObservable()),E(this,`_tableNameChanged$`,new i.Subject),E(this,`tableNameChanged$`,this._tableNameChanged$.asObservable()),E(this,`_tableRangeChanged$`,new i.Subject),E(this,`tableRangeChanged$`,this._tableRangeChanged$.asObservable()),E(this,`_tableThemeChanged$`,new i.Subject),E(this,`tableThemeChanged$`,this._tableThemeChanged$.asObservable()),E(this,`_tableFilterChanged$`,new i.Subject),E(this,`tableFilterChanged$`,this._tableFilterChanged$.asObservable()),E(this,`_tableInitStatus`,new i.BehaviorSubject(!1)),E(this,`tableInitStatus$`,this._tableInitStatus.asObservable()),this._tableMap=new Map}_ensureUnit(e){return this._tableMap.has(e)||this._tableMap.set(e,new Map),this._tableMap.get(e)}getColumnHeader(e,t,n,r){var i;let a=(i=this._univerInstanceService.getUnit(e))==null?void 0:i.getSheetBySheetId(t),{startRow:o,startColumn:s,endColumn:c}=n,l=[],u=r==null?`Column`:r;for(let e=s;e<=c;e++)l.push(_(a==null?void 0:a.getCell(o,e))||p(e-s+1,u));return l}addTable(e,n,r,i,a,o,s){let c=o==null?(0,t.generateRandomId)():o,l=new F(c,r,i,a||this.getColumnHeader(e,n,i),s);if(l.setSubunitId(n),this._ensureUnit(e).set(c,l),this._tableAdd$.next({unitId:e,subUnitId:n,range:i,tableName:r,tableId:c,tableStyleId:s==null?void 0:s.tableStyleId}),s!=null&&s.filters){var u;let t=(u=this._univerInstanceService.getUnit(e))==null?void 0:u.getSheetBySheetId(n);l.getTableFilters().doFilter(t,i),this._tableFilterChanged$.next({unitId:e,subUnitId:n,tableId:c})}return c}addFilter(e,t,n,r){let i=this.getTable(e,t);if(i){i.getTableFilters().setColumnFilter(n,r);let a=i.getSubunitId();this._tableFilterChanged$.next({unitId:e,subUnitId:a,tableId:t})}}getFilterRanges(e,t){let n=this._tableMap.get(e);if(!n)return[];let r=[];return n.forEach(e=>{e.getSubunitId()===t&&e.isShowHeader()&&r.push(e.getRange())}),r}getSheetFilterRangeWithState(e,t){let n=this._tableMap.get(e);if(!n)return[];let r=[];return n.forEach(e=>{e.getSubunitId()===t&&e.isShowHeader()&&r.push({tableId:e.getId(),range:e.getRange(),states:e.getFilterStates(e.getRange())})}),r}getTable(e,t){let n=this._tableMap.get(e);if(n)return n.get(t)}getUniqueTableName(e,t){let n=this._tableMap.get(e);if(!n)return t;let r=new Set(Array.from(n.values()).map(e=>e.getDisplayName())),i=t,a=1;for(;r.has(i);)i=`${t}-${a}`,a++;return i}getTableById(e,t){return this.getTable(e,t)}getTableList(e){let t=this._tableMap.get(e);return t?Array.from(t.values()).map(t=>({...t.getTableInfo(),unitId:e})):[]}getTablesBySubunitId(e,t){let n=this._tableMap.get(e);return n?Array.from(n.values()).filter(e=>e.getSubunitId()===t):[]}getTablesInfoBySubunitId(e,t){return this.getTablesBySubunitId(e,t).map(e=>({id:e.getId(),name:e.getDisplayName(),range:e.getRange()}))}deleteTable(e,t){let n=this._tableMap.get(e),r=n==null?void 0:n.get(t);if(r){let i=r.getTableInfo(),a=r.getTableStyleId();n==null||n.delete(t);let{subUnitId:o,range:s,name:c}=i;this._tableDelete$.next({unitId:e,subUnitId:o,tableId:t,range:s,tableName:c,tableStyleId:a})}}operationTableRowCol(e,n,r){let i=this.getTableById(e,n);if(!i)return;let{operationType:a,rowColType:o,index:s,count:c,columnsJson:l}=r,u=i.getRange(),d={...u};if(a===`insert`){if(o===`row`)d.endRow+=c;else if(o===`column`){d.endColumn+=c;for(let e=0;e<c;e++){let n=this._localeService.t(`sheets-table.columnPrefix`),r=new D((0,t.generateRandomId)(),p(i.getColumnsCount()+1+e,n));l!=null&&l[e]&&r.fromJSON(l[e]);let a=s+e-u.startColumn;i.insertColumn(a,r)}}}else if(o===`row`)d.endRow-=c;else if(o===`column`){d.endColumn-=c;for(let e=c-1;e>=0;e--){let t=s+e-u.startColumn;i.removeColumn(t)}}i.setRange(d),this._tableRangeChanged$.next({unitId:e,subUnitId:i.getSubunitId(),tableId:n,range:d,oldRange:u})}updateTableRange(e,n,r){let i=this.getTableById(e,n);if(!i)return;let a=i.getRange(),o=r.newRange;if(o.startColumn<a.startColumn){let e=a.startColumn-o.startColumn,n=this._localeService.t(`sheets-table.columnPrefix`);for(let r=0;r<e;r++)i.insertColumn(a.startColumn,new D((0,t.generateRandomId)(),p(i.getColumnsCount()+1,n)))}else if(o.startColumn>a.startColumn){let e=o.startColumn-a.startColumn;for(let t=e-1;t>=0;t--){let e=o.startColumn+t-a.startColumn;i.removeColumn(e)}}if(o.endColumn<a.endColumn){let e=a.endColumn-o.endColumn;for(let t=e-1;t>=0;t--){let e=o.endColumn+t-a.startColumn;i.removeColumn(e)}}else if(o.endColumn>a.endColumn){let e=o.endColumn-a.endColumn;for(let n=0;n<e;n++)i.insertColumn(a.endColumn,new D((0,t.generateRandomId)(),p(i.getColumnsCount()+1,`Column`)))}i.setRange(o),this._tableRangeChanged$.next({unitId:e,subUnitId:i.getSubunitId(),tableId:n,range:o,oldRange:a})}setTableByConfig(e,t,n){let r=this._tableMap.get(e),i=r==null?void 0:r.get(t);if(!i)return;let a=i.getSubunitId(),{name:o,updateRange:s,rowColOperation:c,theme:l,options:u}=n;if(o){let n=i.getDisplayName();i.setDisplayName(o),this._tableNameChanged$.next({unitId:e,subUnitId:a,tableId:t,tableName:o,oldTableName:n})}if(c&&this.operationTableRowCol(e,t,c),s&&this.updateTableRange(e,t,s),l){var d;let n=(d=i.getTableStyleId())==null?`default`:d;i.setTableStyleId(l),this._tableThemeChanged$.next({unitId:e,subUnitId:a,tableId:t,theme:l,oldTheme:n})}u&&u.showHeader!==void 0&&i.setShowHeader(u.showHeader)}toJSON(e){let t={},n=this._tableMap.get(e);return n&&n.forEach(n=>{let r=n.getSubunitId();if(!t[r]){let n=new Set;this.getTablesBySubunitId(e,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)n.add(e)}),t[r]={tables:[],tableFilteredOutRows:Array.from(n)}}t[r].tables.push(n.toJSON())}),t}fromJSON(e,t){let n=this._ensureUnit(e);Object.keys(t).forEach(i=>{let a=(0,r.getSheetCommandTarget)(this._univerInstanceService,{unitId:e,subUnitId:i});if(!a)return;let o=a.worksheet,s;t[i].tables?s=t[i].tables:Array.isArray(t[i])&&(s=t[i]),s&&s.forEach(t=>{let r=this.getColumnHeader(e,i,t.range),a=new F(t.id,t.name,t.range,r,t.options);if(a.setTableMeta(t.meta),t.columns.length&&a.setColumns(t.columns),t.filters){let e=a.getTableFilters();e.fromJSON(t.filters),e.doFilter(o,a.getTableFilterRange())}a.setSubunitId(i),n.set(t.id,a),this._tableAdd$.next({unitId:e,subUnitId:i,range:t.range,tableName:t.name,tableId:t.id})})}),this._tableInitStatus.next(!0)}deleteUnitId(e){let t=this._tableMap.get(e);t&&t.forEach(e=>e.dispose()),this._tableMap.delete(e)}dispose(){super.dispose(),this._tableAdd$.complete(),this._tableDelete$.complete(),this._tableNameChanged$.complete(),this._tableRangeChanged$.complete(),this._tableThemeChanged$.complete(),this._tableFilterChanged$.complete(),this._tableInitStatus.complete(),this._tableMap.forEach(e=>{e.forEach(e=>e.dispose()),e.clear()}),this._tableMap.clear()}};R=L([I(0,t.IUniverInstanceService),I(1,(0,t.Inject)(t.LocaleService))],R);let z=class extends t.Disposable{constructor(e){super(),this._tableManager=e}getTableInfo(e,t){let n=this._tableManager.getTable(e,t);if(n)return{unitId:e,...n.getTableInfo()}}getTableList(e){return this._tableManager.getTableList(e)}addTable(e,t,n,r,i,a,o){return this._tableManager.addTable(e,t,n,r,i,a,o)}deleteTable(e,t,n){this._tableManager.deleteTable(e,n)}getTableMeta(e,t){var n;return(n=this._tableManager.getTable(e,t))==null?void 0:n.getTableMeta()}setTableMeta(e,t,n){var r;(r=this._tableManager.getTable(e,t))==null||r.setTableMeta(n)}getTableColumnMeta(e,t,n){var r;return(r=this._tableManager.getTable(e,t))==null||(r=r.getTableColumnByIndex(n))==null?void 0:r.getMeta()}selTableColumnMeta(e,t,n,r){var i;(i=this._tableManager.getTable(e,t))==null||(i=i.getTableColumnByIndex(n))==null||i.setMeta(r)}addFilter(e,t,n,r){this._tableManager.addFilter(e,t,n,r)}getCellValueWithConditionType(e,t,n,r=`string`){return M(e,t,n,r)}};z=L([I(0,(0,t.Inject)(R))],z);let B={id:`sheet.mutation.add-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{tableId:n,unitId:r,subUnitId:i,name:a,range:o,header:s,options:c}=t;return e.get(z).addTable(r,i,a,o,s,n,c),!0}},V={id:`sheet.mutation.delete-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,tableId:i}=t;return e.get(z).deleteTable(n,r,i),!0}},H={id:`sheet.command.add-table`,type:t.CommandType.COMMAND,handler:(e,r)=>{var i;if(!r)return!1;let a=e.get(t.IUndoRedoService),o=e.get(t.ICommandService),s=e.get(t.LocaleService),c=e.get(R),l=(i=r.id)==null?(0,t.generateRandomId)():i,u=b(r.unitId,{univerInstanceService:e.get(t.IUniverInstanceService),tableManager:c,definedNamesService:e.get(n.IDefinedNamesService)}),d=r.name;if(!d||!(0,t.customNameCharacterCheck)(d.toLowerCase(),u)){let e=s.t(`sheets-table.tablePrefix`),t=c.getTableList(r.unitId).length+1;for(let n of u)if(n.startsWith(e.toLowerCase())){let r=Number(n.slice(e.length));Number.isInteger(r)&&r>=t&&(t=r+1)}d=`${e}${t}`}let f=[],p=[],{unitId:m,subUnitId:h,range:g}=r,_=c.getColumnHeader(m,h,g,s.t(`sheets-table.columnPrefix`));return f.push({id:B.id,params:{...r,tableId:l,name:d,header:_}}),p.push({id:V.id,params:{tableId:l,unitId:r.unitId}}),(0,t.sequenceExecute)(f,o).result?(a.pushUndoRedo({unitID:r.unitId,undoMutations:p,redoMutations:f}),!0):!1}},U={id:`sheet.mutation.set-sheet-table`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:n,tableId:r,config:i}=t;return e.get(R).setTableByConfig(n,r,i),!0}},W={id:`sheet.command.add-table-theme`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let i=e.get(R),{unitId:a,tableId:o,themeStyle:s}=n,c=[],l=[],u=i.getTableById(a,o);if(!u)return!1;let d=u.getSubunitId();return c.push({id:r.AddRangeThemeMutation.id,params:{unitId:a,subUnitId:d,styleJSON:s.toJson()}}),c.push({id:U.id,params:{unitId:a,subUnitId:d,tableId:o,config:{theme:s.getName()}}}),l.push({id:U.id,params:{unitId:a,subUnitId:d,tableId:o,config:{themeStyle:u.getTableStyleId()}}}),l.push({id:r.RemoveRangeThemeMutation.id,params:{unitId:a,subUnitId:d,styleName:s.getName()}}),(0,t.sequenceExecute)(c,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:l,redoMutations:c}),!0):!1}},it={id:`sheet.command.delete-table`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.IUndoRedoService),i=e.get(t.ICommandService),a=e.get(R),o=e.get(t.ILogService),s=[],c=[],l=a.getTable(n.unitId,n.tableId),u=l==null?void 0:l.toJSON();return u?(s.push({id:V.id,params:{...n}}),c.push({id:B.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,tableId:n.tableId,name:u.name,range:u.range,options:u.options}}),(0,t.sequenceExecute)(s,i).result?(r.pushUndoRedo({unitID:n.unitId,undoMutations:c,redoMutations:s}),!0):!1):(o.error(`[TableManager]: Table not found`),!1)}},at=`SHEET_TABLE_PLUGIN`,G=`SHEET_TABLE`,ot=`table-custom`,st={id:`sheet.command.remove-table-theme`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let{unitId:i,tableId:a,themeName:o}=n,s=e.get(R),c=e.get(r.SheetRangeThemeModel),l=s.getTableById(i,a);if(!l)return!1;let u=l.getSubunitId(),d=[],f=[],p=c.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(`table-default`)),m=c.getRegisteredRangeThemes().filter(e=>e==null?void 0:e.startsWith(ot)).find(e=>e!==o);m||(m=p[0]),d.push({id:U.id,params:{unitId:i,subUnitId:u,tableId:a,config:{theme:m}}}),d.push({id:r.RemoveRangeThemeMutation.id,params:{unitId:i,subUnitId:u,styleName:o}});let h=c.getDefaultRangeThemeStyle(o);return h&&(f.push({id:r.AddRangeThemeMutation.id,params:{unitId:i,subUnitId:u,styleJSON:h.toJson()}}),f.push({id:U.id,params:{unitId:i,subUnitId:u,tableId:a,config:{theme:o}}})),(0,t.sequenceExecute)(d,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:i,redoMutations:d,undoMutations:f}),!0):!1}},ct={id:`sheet.command.set-table-config`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let{unitId:i,tableId:a,name:o,updateRange:s,rowColOperation:c,theme:l}=r,u=e.get(R),d=u.getTableById(i,a);if(!d)return!1;let f={},p={},m=e.get(t.LocaleService),h=b(i,{univerInstanceService:e.get(t.IUniverInstanceService),tableManager:u,definedNamesService:e.get(n.IDefinedNamesService)});if(o){if(!(0,t.customNameCharacterCheck)(o.toLowerCase(),h))return e.get(t.ILogService).warn(m.t(`sheets-table.tableNameError`)),!1;f.name=d.getDisplayName(),p.name=o}c&&(f.rowColOperation={operationType:c.operationType===`insert`?`delete`:`insert`,rowColType:c.rowColType,index:c.index,count:c.count},p.rowColOperation=c),s&&(f.updateRange={newRange:d.getRange()},p.updateRange=s),l&&(f.theme=d.getTableStyleId(),p.theme=l);let g={unitId:i,subUnitId:d.getSubunitId(),tableId:a,config:p};return e.get(t.ICommandService).executeCommand(U.id,g),e.get(t.IUndoRedoService).pushUndoRedo({unitID:i,undoMutations:[{id:U.id,params:{unitId:i,subUnitId:d.getSubunitId(),tableId:a,config:f}}],redoMutations:[{id:U.id,params:g}]}),!0}},K={id:`sheet.mutation.set-table-filter`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{tableId:n,unitId:r,column:i,tableFilter:a}=t;return e.get(R).addFilter(r,n,i,a),!0}},lt={id:`sheet.command.set-table-filter`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.IUndoRedoService),i=e.get(t.ICommandService),a=n.tableId||(0,t.generateRandomId)(),o=[],s=[];return o.push({id:K.id,params:{...n,tableId:a}}),s.push({id:K.id,params:{...n,tableId:a,tableFilter:void 0}}),(0,t.sequenceExecute)(o,i).result?(r.pushUndoRedo({unitID:n.unitId,undoMutations:s,redoMutations:o}),!0):!1}},q=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetInterceptorService=t,this._tableManager=n,this._resourceManagerService=r,E(this,`_tableRangeRTree`,new Map),this._initSnapshot(),this._initSheetChange(),this.registerTableChangeEvent(),this.registerTableHeaderInterceptor()}getContainerTableWithRange(e,n,r){let i=this._ensureTableRangeRTree(e),a=Array.from(i.bulkSearch([{unitId:e,sheetId:n,range:r}])).find(n=>{let i=this._tableManager.getTable(e,String(n));return i?t.Rectangle.contains(i.getRange(),r):!1});if(a)return this._tableManager.getTable(e,String(a))}_ensureTableRangeRTree(e){return this._tableRangeRTree.has(e)||this._tableRangeRTree.set(e,new t.RTree),this._tableRangeRTree.get(e)}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i}=e;this._ensureTableRangeRTree(r).insert({unitId:r,sheetId:i,id:n,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i,oldRange:a}=e,o=this._ensureTableRangeRTree(r);o.remove({unitId:r,sheetId:i,id:n,range:{...a}}),o.insert({unitId:r,sheetId:i,id:n,range:{...t}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r,range:i}=e;this._ensureTableRangeRTree(n).remove({unitId:n,sheetId:r,id:t,range:{...i}})}))}registerTableHeaderInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(r.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Value,handler:(e,t,n)=>{let{row:r,col:i,unitId:a,subUnitId:o}=t,s=this._ensureTableRangeRTree(a);if((e==null?void 0:e.v)===void 0&&s){let c=Array.from(s.bulkSearch([{unitId:a,sheetId:o,range:{startColumn:i,endColumn:i,startRow:r,endRow:r}}]));if(c.length>0){let o=this._tableManager.getTable(a,c[0]);if(o){let a=o.getRange(),s=i-a.startColumn;if(a.startRow===r){let r=o.getColumnNameByIndex(s);return(!e||e===t.rawData)&&(e={...t.rawData}),e.v=r,n(e)}}}}return n(e)}}))}_toJson(e){return this._tableManager.toJSON(e)}_fromJSON(e,t){return this._tableManager.fromJSON(e,t)}_deleteUnitId(e){this._tableManager.deleteUnitId(e)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>JSON.stringify(this._toJson(e)),parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},businesses:[t.UniverInstanceType.UNIVER_SHEET],pluginName:at,onLoad:(e,t)=>{this._fromJSON(e,t)},onUnLoad:e=>{this._deleteUnitId(e)}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.RemoveSheetCommand.id){var n;let r=e.params,i=r.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),a=r.subUnitId||((n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:n.getSheetId());if(!i||!a)return{redos:[],undos:[]};let o=this._tableManager.getTablesBySubunitId(i,a);if(o.length===0)return{redos:[],undos:[]};let s=[],c=[];return o.forEach(e=>{let t=e.toJSON();s.push({id:V.id,params:{unitId:i,subUnitId:a,tableId:t.id}}),c.push({id:B.id,params:{unitId:i,subUnitId:a,name:t.name,range:t.range,tableId:t.id,options:{...t.options,columns:t.columns,filters:t.filters.tableColumnFilterList}}})}),{redos:s,undos:c}}else if(e.id===r.CopySheetCommand.id){let{unitId:n,subUnitId:r,targetSubUnitId:i}=e.params;if(!n||!r||!i)return{redos:[],undos:[]};let a=this._tableManager.getTablesBySubunitId(n,r);if(a.length===0)return{redos:[],undos:[]};let o=[],s=[];return a.forEach(e=>{let r=e.toJSON(),a=(0,t.generateRandomId)();o.push({id:B.id,params:{unitId:n,subUnitId:i,name:r.name,range:{...r.range,sheetId:i},tableId:a,options:{...r.options,columns:r.columns,filters:r.filters.tableColumnFilterList}}}),s.push({id:V.id,params:{unitId:n,subUnitId:i,tableId:a}})}),{redos:o,undos:s}}return{redos:[],undos:[]}}}))}dispose(){super.dispose(),this._tableRangeRTree.clear()}};q=L([I(0,(0,t.Inject)(t.IUniverInstanceService)),I(1,(0,t.Inject)(r.SheetInterceptorService)),I(2,(0,t.Inject)(R)),I(3,(0,t.Inject)(t.IResourceManagerService))],q);let ut={id:`sheet.command.table-insert-row`,type:t.CommandType.COMMAND,handler:e=>{let n=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!n)return!1;let{workbook:i,worksheet:a,unitId:o,subUnitId:s}=n,c=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;e.get(R);let l=c[0].range,u=e.get(q).getContainerTableWithRange(o,s,l);if(!u)return!1;let d=l.endRow-l.startRow+1,f=a.getRowCount()-1,p=a.getCellMatrix().getDataRange().endRow,m=[],h=[];if(f-p<d)m.push({id:r.InsertRowMutation.id,params:{unitId:o,subUnitId:s,range:{...l}}}),m.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...u.getRange(),endRow:u.getRange().endRow+d}}}}}),h.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:u.getRange()}}}}),h.push({id:r.RemoveRowMutation.id,params:{unitId:o,subUnitId:s,range:{...l}}});else{let t={...u.getRange()};m.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...t,endRow:t.endRow+d}}}}}),h.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{updateRange:{newRange:{...t}}}}});let n=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:o,subUnitId:s,range:{startRow:l.startRow,endRow:p,startColumn:t.startColumn,endColumn:t.endColumn}},{unitId:o,subUnitId:s,range:{startRow:l.startRow+d,endRow:p+d,startColumn:t.startColumn,endColumn:t.endColumn}});n&&(m.push(...n.redos),h.push(...n.undos))}return(0,t.sequenceExecute)(m,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:h,redoMutations:m}),!0):!1}},dt={id:`sheet.command.table-insert-col`,type:t.CommandType.COMMAND,handler:e=>{let n=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!n)return!1;let{worksheet:i,unitId:a,subUnitId:o}=n,s=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!s.length||s.length>1)return!1;let c=s[0].range,l=e.get(q).getContainerTableWithRange(a,o,c);if(!l)return!1;let u=c.endColumn-c.startColumn+1,d=i.getColumnCount()-1,f=i.getCellMatrix().getDataRange().endColumn,p=[],m=[];if(d-f<u)p.push({id:r.InsertColMutation.id,params:{unitId:a,subUnitId:o,range:{...c}}}),p.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:c.startColumn,count:u}}}}),m.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:c.startColumn,count:u}}}}),m.push({id:r.RemoveColMutation.id,params:{unitId:a,subUnitId:o,range:{...c}}});else{let t=l.getRange();p.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:c.startColumn,count:u}}}}),m.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:c.startColumn,count:u}}}});let n=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:a,subUnitId:o,range:{startRow:t.startRow,endRow:t.endRow,startColumn:c.startColumn,endColumn:f}},{unitId:a,subUnitId:o,range:{startRow:t.startRow,endRow:t.endRow,startColumn:c.startColumn+u,endColumn:f+u}});n&&(p.push(...n.redos),m.push(...n.undos))}return(0,t.sequenceExecute)(p,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:m,redoMutations:p}),!0):!1}},ft={id:`sheet.command.table-remove-row`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let i=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{unitId:a,subUnitId:o}=i,s=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!s.length||s.length>1)return!1;let c=s[0].range,l=e.get(q).getContainerTableWithRange(a,o,c);if(!l)return!1;let u=c.endRow-c.startRow+1,d=[],f=[],p=l.getRange();d.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{updateRange:{newRange:{...p,endRow:p.endRow-u}}}}}),f.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:l.getId(),config:{updateRange:{newRange:{...p}}}}});let m=i.worksheet.getCellMatrix().getDataRange().endRow,h=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:a,subUnitId:o,range:{startRow:c.endRow+1,endRow:m,startColumn:p.startColumn,endColumn:p.endColumn}},{unitId:a,subUnitId:o,range:{startRow:c.startRow,endRow:m-u,startColumn:p.startColumn,endColumn:p.endColumn}});return h&&(d.push(...h.redos),f.push(...h.undos)),(0,t.sequenceExecute)(d,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:a,undoMutations:f,redoMutations:d}),!0):!1}},pt={id:`sheet.command.table-remove-col`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let i=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{workbook:a,unitId:o,subUnitId:s}=i;e.get(R);let c=e.get(r.SheetsSelectionsService).getCurrentSelections();if(!c.length||c.length>1)return!1;let l=c[0].range,u=e.get(q).getContainerTableWithRange(o,s,l);if(!u)return!1;let d=l.endColumn-l.startColumn+1,f=[],p=[],m=u.getRange();f.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:l.startColumn,count:d}}}});let h=[],g=l.startColumn-m.startColumn;for(let e=0;e<d;e++){let t=u.getTableInfo().columns[g+e];t&&h.push(t)}p.push({id:U.id,params:{unitId:o,subUnitId:s,tableId:u.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:l.startColumn,count:d,columnsJson:h}}}});let _=i.worksheet.getCellMatrix().getDataRange().endColumn,v=(0,r.getMoveRangeUndoRedoMutations)(e,{unitId:o,subUnitId:s,range:{startRow:m.startRow,endRow:m.endRow,startColumn:l.endColumn+1,endColumn:_}},{unitId:o,subUnitId:s,range:{startRow:m.startRow,endRow:m.endRow,startColumn:l.startColumn,endColumn:_-d}});return v&&(f.push(...v.redos),p.push(...v.undos)),(0,t.sequenceExecute)(f,e.get(t.ICommandService)).result?(e.get(t.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:p,redoMutations:f}),!0):!1}};var mt=`@univerjs/sheets-table`,ht=`0.22.1`;let J=class extends t.Disposable{constructor(e,t){super(),this._tableManager=e,this._commandService=t,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{tableId:t,unitId:n}=e,r=this._tableManager.getTableById(n,t);r&&this._updateSuperTable(n,r)})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{tableId:t,unitId:n}=e,r=this._tableManager.getTableById(n,t);r&&this._updateSuperTable(n,r)})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{unitId:t,tableName:r}=e;this._commandService.executeCommand(n.RemoveSuperTableMutation.id,{unitId:t,tableName:r})})),this.disposeWithMe(this._tableManager.tableNameChanged$.subscribe(e=>{let{tableId:t,unitId:r,oldTableName:i}=e;this._commandService.executeCommand(n.RemoveSuperTableMutation.id,{unitId:r,tableName:i});let a=this._tableManager.getTableById(r,t);a&&this._updateSuperTable(r,a)}))}_updateSuperTable(e,t){let r=t.getTableInfo(),i=r.name,a=r.columns,o=new Map;a.forEach((e,t)=>{o.set(e.displayName,t)}),this._commandService.executeCommand(n.SetSuperTableMutation.id,{unitId:e,tableName:i,reference:{range:r.range,sheetId:r.subUnitId,titleMap:o}})}};J=L([I(0,(0,t.Inject)(R)),I(1,t.ICommandService)],J);let Y=class extends t.Disposable{constructor(e,t){super(),this._tableManager=e,this._exclusiveRangeService=t,this._initRangeListener()}_initRangeListener(){this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i}=e;this._exclusiveRangeService.clearExclusiveRangesByGroupId(r,i,G,n),this._exclusiveRangeService.addExclusiveRange(r,i,G,[{range:{...t},groupId:n}])})),this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r,range:i}=e;this._exclusiveRangeService.addExclusiveRange(n,r,G,[{range:{...i},groupId:t}])})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{tableId:t,unitId:n,subUnitId:r}=e;this._exclusiveRangeService.clearExclusiveRangesByGroupId(n,r,G,t)}))}};Y=L([I(0,(0,t.Inject)(R)),I(1,(0,t.Inject)(r.IExclusiveRangeService))],Y);let X=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._refRangeService=t,this._univerInstanceService=n,this._injector=r,this._sheetInterceptorService=i,this._tableManager=a,this._localeService=o,this._initCommandInterceptor(),this._initCommandListener()}_initCommandInterceptor(){let e=this;this._sheetInterceptorService.interceptCommand({getMutations(t){let n={redos:[],undos:[]},{id:i,params:a}=t;switch(i){case r.InsertRowCommand.id:return e._generateTableMutationWithInsertRow(a);case r.InsertColCommand.id:return e._generateTableMutationWithInsertCol(a);case r.RemoveRowCommand.id:return e._generateTableMutationWithRemoveRow(a);case r.RemoveColCommand.id:return e._generateTableMutationWithRemoveCol(a)}return n}})}_generateTableMutationWithInsertRow(e){let t=[],n=[],i=(0,r.getSheetCommandTarget)(this._univerInstanceService,e);if(!i)return{undos:t,redos:n};let{unitId:a,subUnitId:o}=i,s=this._tableManager.getTablesBySubunitId(a,o);if(!s.length)return{undos:t,redos:n};let{range:c}=e;return s.forEach(e=>{let r=e.getRange();if(c.startRow>r.startRow&&c.startRow<=r.endRow){let i=c.endRow-c.startRow+1;n.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{updateRange:{newRange:{...r,endRow:r.endRow+i}}}}}),t.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{updateRange:{newRange:{...r}}}}})}}),{undos:t,redos:n}}_generateTableMutationWithInsertCol(e){let t=[],n=[],i=(0,r.getSheetCommandTarget)(this._univerInstanceService,e);if(!i)return{undos:t,redos:n};let{unitId:a,subUnitId:o}=i,s=this._tableManager.getTablesBySubunitId(a,o);if(!s.length)return{undos:t,redos:n};let{range:c}=e;return s.forEach(e=>{let r=e.getRange();if(c.startColumn>r.startColumn&&c.startColumn<=r.endColumn){let r=c.endColumn-c.startColumn+1;n.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:c.startColumn,count:r}}}}),t.push({id:U.id,params:{unitId:a,subUnitId:o,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:c.startColumn,count:r}}}})}}),{undos:t,redos:n}}_generateTableMutationWithRemoveRow(e){let n=[],i=[],a=[],o=[],s=(0,r.getSheetCommandTarget)(this._univerInstanceService);if(!s)return{undos:n,redos:i,preRedos:a,preUndos:o};let{unitId:c,subUnitId:l}=s,u=this._tableManager.getTablesBySubunitId(c,l);if(!u.length)return{undos:n,redos:i,preRedos:a,preUndos:o};let{range:d}=e,f=d.endRow-d.startRow+1;return u.forEach(e=>{let r=e.getRange();if(t.Rectangle.intersects(r,d))if(d.startRow<=r.startRow&&d.endRow>=r.startRow){a.push({id:V.id,params:{unitId:c,subUnitId:l,tableId:e.getId()}});let t=e.toJSON();n.push({id:B.id,params:{unitId:c,subUnitId:l,tableId:t.id,name:t.name,range:t.range,options:t.options}})}else d.startRow>r.startRow&&d.startRow<=r.endRow?(i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r,endRow:r.endRow-f}}}}}),n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r}}}}})):d.startRow<r.endRow&&d.endRow>=r.endRow&&(i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r,endRow:d.startRow-1}}}}}),n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{updateRange:{newRange:{...r}}}}}))}),{undos:n,redos:i,preRedos:a,preUndos:o}}_generateTableMutationWithRemoveCol(e){let n=[],i=[],a=[],o=[],s=(0,r.getSheetCommandTarget)(this._univerInstanceService);if(!s)return{undos:n,redos:i,preRedos:a,preUndos:o};let{unitId:c,subUnitId:l}=s,u=this._tableManager.getTablesBySubunitId(c,l);if(!u.length)return{undos:n,redos:i,preRedos:a,preUndos:o};let{range:d}=e,f=d.endColumn-d.startColumn+1;return u.forEach(e=>{let r=e.getRange();if(t.Rectangle.intersects(r,d)){if(d.startColumn<=r.startColumn&&d.endColumn>=r.endColumn){a.push({id:V.id,params:{unitId:c,subUnitId:l,tableId:e.getId()}});let t=e.toJSON(),{startRow:r,startColumn:s,endColumn:u}=t.range,d=this._univerInstanceService.getUnit(c),f=d==null?void 0:d.getSheetBySheetId(l);if(!f)return{undos:n,redos:i,preRedos:a,preUndos:o};let m=[];for(let e=s;e<=u;e++)m.push(_(f==null?void 0:f.getCell(r,e))||p(e-s+1,this._localeService.t(`sheets-table.columnPrefix`)));n.push({id:B.id,params:{unitId:c,subUnitId:l,tableId:t.id,name:t.name,header:m,range:t.range,options:t.options}})}else if(d.startColumn<=r.startColumn&&d.endColumn>=r.startColumn){let t=d.endColumn-r.startColumn+1;i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:r.startColumn,count:t}}}});let a=[];for(let n=0;n<t;n++){let t=e.getTableColumnByIndex(n);t&&a.push(t.toJSON())}n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:r.startColumn,count:t,columnsJson:a}}}})}else if(d.startColumn>r.startColumn&&d.endColumn>r.endColumn){let t=r.endColumn-d.startColumn+1;i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:d.startColumn,count:t}}}});let a=[],o=d.startColumn-r.startColumn;for(let n=0;n<t;n++){let t=e.getTableColumnByIndex(n+o);t&&a.push(t.toJSON())}n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:d.startColumn,count:f,columnsJson:a}}}})}else if(d.startColumn>r.startColumn&&d.endColumn<=r.endColumn){i.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`delete`,rowColType:`column`,index:d.startColumn,count:f}}}});let t=[],a=d.startColumn-r.startColumn;for(let n=0;n<f;n++){let r=e.getTableColumnByIndex(n+a);r&&t.push(r.toJSON())}n.push({id:U.id,params:{unitId:c,subUnitId:l,tableId:e.getId(),config:{rowColOperation:{operationType:`insert`,rowColType:`column`,index:d.startColumn,count:f,columnsJson:t}}}})}}}),{undos:n,redos:i,preRedos:a,preUndos:o}}_initCommandListener(){this._commandService.onCommandExecuted(e=>{if(e.id===r.InsertRowMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startRow<=n.startRow&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startRow:n.startRow+i,endRow:n.endRow+i}})})}else if(e.id===r.InsertColMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startColumn<=n.startColumn&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startColumn:n.startColumn+i,endColumn:n.endColumn+i}})})}else if(e.id===r.RemoveRowMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endRow-r.startRow+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startRow<n.startRow&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startRow:n.startRow-i,endRow:n.endRow-i}})})}else if(e.id===r.RemoveColMutation.id){let{unitId:t,subUnitId:n,range:r}=e.params,i=r.endColumn-r.startColumn+1;this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let n=e.getRange();r.startColumn<n.startColumn&&this._tableManager.updateTableRange(t,e.getId(),{newRange:{...n,startColumn:n.startColumn-i,endColumn:n.endColumn-i}})})}})}};X=L([I(0,(0,t.Inject)(t.ICommandService)),I(1,(0,t.Inject)(r.RefRangeService)),I(2,(0,t.Inject)(t.IUniverInstanceService)),I(3,(0,t.Inject)(t.Injector)),I(4,(0,t.Inject)(r.SheetInterceptorService)),I(5,(0,t.Inject)(R)),I(6,(0,t.Inject)(t.LocaleService))],X);let Z=class extends t.Disposable{constructor(e,t,n,r){super(),this._tableManager=e,this._sheetRangeThemeService=t,this._sheetRangeThemeModel=n,this._configService=r,E(this,`_defaultThemeIndex`,0),E(this,`_allThemes`,[]),this._initUserTableTheme(),this.registerTableChangeEvent(),this._initDefaultTableTheme()}registerTableChangeEvent(){this.disposeWithMe(this._tableManager.tableAdd$.subscribe(e=>{let{range:t,tableId:n,unitId:r,subUnitId:i,tableStyleId:a}=e,o=this._tableManager.getTable(r,n),s=a||this._allThemes[this._defaultThemeIndex].name;o.setTableStyleId(s),this._sheetRangeThemeService.registerRangeThemeStyle(s,{unitId:r,subUnitId:i,range:{...t}})})),this.disposeWithMe(this._tableManager.tableRangeChanged$.subscribe(e=>{let{range:t,oldRange:n,tableId:r,unitId:i,subUnitId:a}=e,o=this._tableManager.getTable(i,r),s=o.getTableStyleId();s||(s=this._allThemes[this._defaultThemeIndex].name,o.setTableStyleId(s)),this._sheetRangeThemeService.removeRangeThemeRule(s,{unitId:i,subUnitId:a,range:{...n}}),this._sheetRangeThemeService.registerRangeThemeStyle(s,{unitId:i,subUnitId:a,range:{...t}})})),this.disposeWithMe(this._tableManager.tableThemeChanged$.subscribe(e=>{let{theme:t,oldTheme:n,tableId:r,unitId:i,subUnitId:a}=e,o=this._tableManager.getTable(i,r).getRange();this._sheetRangeThemeService.removeRangeThemeRule(n,{unitId:i,subUnitId:a,range:{...o}}),this._sheetRangeThemeService.registerRangeThemeStyle(t,{unitId:i,subUnitId:a,range:{...o}})})),this.disposeWithMe(this._tableManager.tableDelete$.subscribe(e=>{let{range:t,unitId:n,subUnitId:r,tableStyleId:i=this._allThemes[this._defaultThemeIndex].name}=e;this._sheetRangeThemeService.removeRangeThemeRule(i,{unitId:n,subUnitId:r,range:{...t}})}))}_initUserTableTheme(){let e=this._configService.getConfig(`sheets-table.config`)||{},t=e.defaultThemeIndex||0,n=e.userThemes||[];this._defaultThemeIndex=t,this._allThemes=n.concat(w)}_initDefaultTableTheme(){for(let e=0;e<this._allThemes.length;e++){let{name:t,style:n}=this._allThemes[e],i=new r.RangeThemeStyle(t,n);this._sheetRangeThemeModel.registerDefaultRangeTheme(i)}}dispose(){super.dispose(),this._allThemes=[],this._defaultThemeIndex=0}};Z=L([I(0,(0,t.Inject)(R)),I(1,(0,t.Inject)(r.SheetRangeThemeService)),I(2,(0,t.Inject)(r.SheetRangeThemeModel)),I(3,t.IConfigService)],Z);let Q=class extends t.Disposable{constructor(e,t,n,r){super(),this._tableManager=e,this._sheetInterceptorService=t,this._univerInstanceService=n,this._zebraCrossingCacheController=r,E(this,`_tableFilteredOutRows$`,new i.BehaviorSubject(new Set)),E(this,`tableFilteredOutRows$`,this._tableFilteredOutRows$.asObservable()),E(this,`_subscription`,null),this.registerFilterChangeEvent(),this.initTableHiddenRowIntercept(),this._initFilteredOutRows()}get tableFilteredOutRows(){return this._tableFilteredOutRows$.value}set tableFilteredOutRows(e){this._tableFilteredOutRows$.next(e)}initTableHiddenRowIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(r.INTERCEPTOR_POINT.ROW_FILTERED,{priority:100,handler:(e,t,n)=>{if(e)return!0;let r=this.tableFilteredOutRows.has(t.row);return r?!0:n(r)}}))}_initFilteredOutRows(){this._tableManager.tableInitStatus$.pipe((0,i.filter)(e=>e),(0,i.switchMap)(()=>this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET)),(0,i.filter)(e=>e!=null),(0,i.switchMap)(e=>e.activeSheet$),(0,i.filter)(e=>e!=null)).subscribe(()=>{let e=(0,r.getSheetCommandTarget)(this._univerInstanceService);if(!e)return;let{unitId:t,subUnitId:n}=e;this.tableFilteredOutRows.clear(),this._tableManager.getTablesBySubunitId(t,n).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)this.tableFilteredOutRows.add(e)})})}registerFilterChangeEvent(){this.disposeWithMe(this._tableManager.tableFilterChanged$.subscribe(e=>{var t;let{unitId:n,subUnitId:r,tableId:i}=e,a=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r),o=this._tableManager.getTable(n,i);!a||!o||(this.tableFilteredOutRows.clear(),o.getTableFilters().doFilter(a,o.getTableFilterRange()),this._tableManager.getTablesBySubunitId(n,r).forEach(e=>{let t=e.getTableFilters().getFilterOutRows();if(t)for(let e of t)this.tableFilteredOutRows.add(e)}),this._zebraCrossingCacheController.updateZebraCrossingCache(n,r))}))}dispose(){var e;super.dispose(),(e=this._subscription)==null||e.unsubscribe()}};Q=L([I(0,(0,t.Inject)(R)),I(1,(0,t.Inject)(r.SheetInterceptorService)),I(2,(0,t.Inject)(t.IUniverInstanceService)),I(3,(0,t.Inject)(r.ZebraCrossingCacheController))],Q);let $=class extends t.Plugin{constructor(e=C,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._commandService=i;let{...a}=(0,t.merge)({},C,this._config);this._configService.setConfig(S,a),this._initRegisterCommand()}onStarting(){(0,t.registerDependencies)(this._injector,[[R],[Z],[q],[z],[Q],[Y],[X],[J]])}onReady(){(0,t.touchDependencies)(this._injector,[[J],[Y],[X],[Z],[q],[z],[Q]]),(0,t.touchDependencies)(this._injector,[[R]])}_initRegisterCommand(){[H,B,it,V,K,lt,ct,U,W,st,ut,dt,ft,pt].forEach(e=>this._commandService.registerCommand(e))}};E($,`pluginName`,at),E($,`packageName`,mt),E($,`version`,ht),E($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=L([I(1,(0,t.Inject)(t.Injector)),I(2,t.IConfigService),I(3,(0,t.Inject)(t.ICommandService))],$),e.AddSheetTableCommand=H,e.AddSheetTableMutation=B,e.AddTableThemeCommand=W,e.DeleteSheetTableCommand=it,e.DeleteSheetTableMutation=V,e.RemoveTableThemeCommand=st,e.SHEET_TABLE_CUSTOM_THEME_PREFIX=ot,e.SetSheetTableCommand=ct,e.SetSheetTableFilterCommand=lt,e.SetSheetTableFilterMutation=K,e.SetSheetTableMutation=U,e.SheetTableInsertColCommand=dt,e.SheetTableInsertRowCommand=ut,e.SheetTableRemoveColCommand=pt,e.SheetTableRemoveRowCommand=ft,Object.defineProperty(e,`SheetTableService`,{enumerable:!0,get:function(){return z}}),e.SheetsTableButtonStateEnum=d,Object.defineProperty(e,`SheetsTableController`,{enumerable:!0,get:function(){return q}}),e.SheetsTableSortStateEnum=f,e.TableColumnDataTypeEnum=a,e.TableColumnFilterTypeEnum=o,e.TableConditionTypeEnum=s,e.TableDateCompareTypeEnum=u,Object.defineProperty(e,`TableManager`,{enumerable:!0,get:function(){return R}}),e.TableNumberCompareTypeEnum=c,e.TableStringCompareTypeEnum=l,Object.defineProperty(e,`UniverSheetsTablePlugin`,{enumerable:!0,get:function(){return $}}),e.customEmptyThemeWithBorderStyle=te,e.isConditionFilter=y,e.isManualTableFilter=ee,e.processStyleWithBorderStyle=ne});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-table",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Structured table model and commands for Univer Sheets.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -62,15 +62,15 @@
|
|
|
62
62
|
"rxjs": ">=7.0.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@univerjs/core": "0.22.
|
|
66
|
-
"@univerjs/engine-formula": "0.22.
|
|
67
|
-
"@univerjs/sheets": "0.22.
|
|
65
|
+
"@univerjs/core": "0.22.1",
|
|
66
|
+
"@univerjs/engine-formula": "0.22.1",
|
|
67
|
+
"@univerjs/sheets": "0.22.1"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"rxjs": "^7.8.2",
|
|
71
71
|
"typescript": "^6.0.3",
|
|
72
72
|
"vitest": "^4.1.5",
|
|
73
|
-
"@univerjs-infra/shared": "0.22.
|
|
73
|
+
"@univerjs-infra/shared": "0.22.1"
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|
|
76
76
|
"test": "vitest run",
|