UNPKG

@univerjs/sheets

Version:

UniverSheet normal base-sheets

1 lines • 67.2 kB
"use strict";var W=Object.defineProperty;var F=(c,n,e)=>n in c?W(c,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):c[n]=e;var f=(c,n,e)=>F(c,typeof n!="symbol"?n+"":n,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),_=require("@univerjs/core/facade"),i=require("@univerjs/sheets"),v=require("@univerjs/engine-formula");var M=Object.getOwnPropertyDescriptor,D=(c,n,e,t)=>{for(var r=t>1?void 0:t?M(n,e):n,o=c.length-1,s;o>=0;o--)(s=c[o])&&(r=s(r)||r);return r},w=(c,n)=>(e,t)=>n(e,t,c);function B(c,n,e){const t=e.getDefinedNameMap(c);if(t==null)return n.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=n.t("definedName.defaultName")+o;if(e.getValueByName(c,s)==null)return s;let h=o+1;for(;;){const d=n.t("definedName.defaultName")+h;if(e.getValueByName(c,d)==null)return d;h++}}class y{constructor(){f(this,"_definedNameParam");this._definedNameParam={id:a.generateRandomId(10),unitId:"",name:"",formulaOrRefString:"",localSheetId:i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}}setName(n){return this._definedNameParam.name=n,this}setFormula(n){return this._definedNameParam.formulaOrRefString=`=${n}`,this}setRef(n){return this._definedNameParam.formulaOrRefString=n,this}setRefByRange(n,e,t,r){return this._definedNameParam.formulaOrRefString=v.serializeRange({startRow:n,endRow:n+(t!=null?t:1)-1,startColumn:e,endColumn:e+(r!=null?r:1)-1}),this}setComment(n){return this._definedNameParam.comment=n,this}setScopeToWorksheet(n){return this._definedNameParam.localSheetId=n.getSheetId(),this}setScopeToWorkbook(){return this._definedNameParam.localSheetId=i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this}setHidden(n){return this._definedNameParam.hidden=n,this}build(){return this._definedNameParam}load(n){return this._definedNameParam=n,this}}let E=class extends _.FBase{constructor(c,n,e,t,r,o,s,h,d,l){super(),this._definedNameParam=c,this._injector=n,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=r,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=h,this._localeService=d,this._definedNamesService=l}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=B(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(i.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(c){this._definedNameParam.name=c,this._apply()}setFormula(c){this._definedNameParam.formulaOrRefString=`=${c}`,this._apply()}setRef(c){this._definedNameParam.formulaOrRefString=c,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(c,n,e,t){this._definedNameParam.formulaOrRefString=v.serializeRange({startRow:c,endRow:c+(e!=null?e:1)-1,startColumn:n,endColumn:n+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(c){this._definedNameParam.comment=c,this._apply()}setScopeToWorksheet(c){this._definedNameParam.localSheetId=c.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(c){this._definedNameParam.hidden=c,this._apply()}delete(){this._commandService.syncExecuteCommand(i.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===i.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const c=this._injector.createInstance(y);return c.load(this._definedNameParam),c}};E=D([w(1,a.Inject(a.Injector)),w(2,a.ICommandService),w(3,a.IPermissionService),w(4,a.Inject(i.WorksheetProtectionRuleModel)),w(5,a.Inject(i.RangeProtectionRuleModel)),w(6,a.Inject(i.WorksheetProtectionPointModel)),w(7,a.Inject(a.IAuthzIoService)),w(8,a.Inject(a.LocaleService)),w(9,v.IDefinedNamesService)],E);var V=Object.getOwnPropertyDescriptor,O=(c,n,e,t)=>{for(var r=t>1?void 0:t?V(n,e):n,o=c.length-1,s;o>=0;o--)(s=c[o])&&(r=s(r)||r);return r},R=(c,n)=>(e,t)=>n(e,t,c);exports.FPermission=class extends _.FBase{constructor(e,t,r,o,s,h,d){super();f(this,"permissionPointsDefinition",i.PermissionPointsDefinitions);f(this,"rangeRuleChangedAfterAuth$");f(this,"sheetRuleChangedAfterAuth$");this._injector=e,this._commandService=t,this._permissionService=r,this._worksheetProtectionRuleModel=o,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=h,this._authzIoService=d,this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$}setWorkbookPermissionPoint(e,t,r){const o=new t(e);this._permissionService.getPermissionPoint(o.id)||this._permissionService.addPermissionPoint(o),this._permissionService.updatePermissionPoint(o.id,r)}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,i.WorkbookEditablePermission,t)}async addWorksheetBasePermission(e,t){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");const o=await this._authzIoService.create({objectType:i.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(i.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:o,unitType:i.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(i.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...i.getAllWorksheetPermissionPoint(),...i.getAllWorksheetPermissionPointByPointPanel()].forEach(r=>{const o=new r(e,t);this._permissionService.updatePermissionPoint(o.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,r,o){const s=this._worksheetProtectionRuleModel.getRule(e,t);let h;if(r===i.WorksheetEditPermission||r===i.WorksheetViewPermission)if(s)h=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");h=await this.addWorksheetBasePermission(e,t)}else{const u=this._worksheetProtectionPointRuleModel.getRule(e,t);u?h=u.permissionId:(h=await this._authzIoService.create({objectType:i.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(i.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,rule:{unitId:e,subUnitId:t,permissionId:h}}))}const l=new r(e,t);return this._permissionService.getPermissionPoint(l.id)||this._permissionService.addPermissionPoint(l),this._permissionService.updatePermissionPoint(l.id,o),h}async addRangeBaseProtection(e,t,r){const o=await this._authzIoService.create({objectType:i.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${a.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(e,t))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).some(u=>u.ranges.some(S=>r.some(g=>a.Rectangle.intersects(g.getRange(),S)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(i.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:i.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:r.map(u=>u.getRange()),id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,r){this._commandService.syncExecuteCommand(i.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:r})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...i.getAllWorksheetPermissionPointByPointPanel()].forEach(h=>{const d=new h(e,t);this._permissionService.updatePermissionPoint(d.id,d.value)}))}setRangeProtectionPermissionPoint(e,t,r,o,s){const h=new o(e,t,r);this._permissionService.getPermissionPoint(h.id)||this._permissionService.addPermissionPoint(h),this._permissionService.updatePermissionPoint(h.id,s)}setRangeProtectionRanges(e,t,r,o){const s=this._rangeProtectionRuleModel.getRule(e,t,r);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(l=>l.id!==r).some(l=>l.ranges.some(m=>o.some(u=>a.Rectangle.intersects(u.getRange(),m)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(i.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:r,rule:{...s,ranges:o.map(l=>l.getRange())}})}}};exports.FPermission=O([R(0,a.Inject(a.Injector)),R(1,a.ICommandService),R(2,a.IPermissionService),R(3,a.Inject(i.WorksheetProtectionRuleModel)),R(4,a.Inject(i.RangeProtectionRuleModel)),R(5,a.Inject(i.WorksheetProtectionPointModel)),R(6,a.Inject(a.IAuthzIoService))],exports.FPermission);function j(c){switch(c){case"left":return a.HorizontalAlign.LEFT;case"center":return a.HorizontalAlign.CENTER;case"normal":return a.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function x(c){switch(c){case a.HorizontalAlign.LEFT:return"left";case a.HorizontalAlign.CENTER:return"center";case a.HorizontalAlign.RIGHT:return"normal";default:return"general"}}function H(c){switch(c){case"top":return a.VerticalAlign.TOP;case"middle":return a.VerticalAlign.MIDDLE;case"bottom":return a.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${c}`)}}function N(c){switch(c){case a.VerticalAlign.TOP:return"top";case a.VerticalAlign.MIDDLE:return"middle";case a.VerticalAlign.BOTTOM:return"bottom";default:return"general"}}function p(c,n){return{startRow:c.startRow,endRow:c.endRow,startColumn:0,endColumn:n.getColumnCount()-1,rangeType:a.RANGE_TYPE.ROW}}function U(c,n){return{startRow:0,endRow:n.getRowCount()-1,startColumn:c.startColumn,endColumn:c.endColumn,rangeType:a.RANGE_TYPE.COLUMN}}var L=Object.getOwnPropertyDescriptor,z=(c,n,e,t)=>{for(var r=t>1?void 0:t?L(n,e):n,o=c.length-1,s;o>=0;o--)(s=c[o])&&(r=s(r)||r);return r},P=(c,n)=>(e,t)=>n(e,t,c);exports.FRange=class extends _.FBaseInitialable{constructor(n,e,t,r,o,s){super(r),this._workbook=n,this._worksheet=e,this._range=t,this._injector=r,this._commandService=o,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getSheetId(){return this._worksheet.getSheetId()}getRange(){return this._range}getRow(){return this._range.startRow}getLastRow(){return this._range.endRow}getColumn(){return this._range.startColumn}getLastColumn(){return this._range.endColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}isMerged(){const{startColumn:n,startRow:e,endColumn:t,endRow:r}=this._range;return this._worksheet.getMergedCellRange(e,n,r,t).some(s=>a.Rectangle.equals(s,this._range))}getCellStyleData(n="row"){return n!=="cell"?this._worksheet.getComposedCellStyle(this._range.startRow,this._range.startColumn,n==="row"):this._worksheet.getCellStyle(this._range.startRow,this._range.startColumn)}getFontFamily(n="row"){var e,t;return(t=(e=this.getCellStyleData(n))==null?void 0:e.ff)!=null?t:null}getFontSize(n="row"){var e,t;return(t=(e=this.getCellStyleData(n))==null?void 0:e.fs)!=null?t:null}getCellStyle(n="row"){const e=this.getCellStyleData(n);return e?a.TextStyleValue.create(e):null}getCellStyles(n="row"){return this.getCellDatas().map((t,r)=>t.map((o,s)=>{if(!o)return null;const h=n!=="cell"?this._worksheet.getComposedCellStyle(r+this._range.startRow,s+this._range.startColumn,n==="row"):this._worksheet.getCellStyle(r+this._range.startRow,s+this._range.startColumn);return h?a.TextStyleValue.create(h):null}))}getValue(n){var e,t;return n?this.getValueAndRichTextValue():(t=(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:e.v)!=null?t:null}getRawValue(){var e;const n=this._worksheet.getCellMatrix().getValue(this._range.startRow,this._range.startColumn);return n!=null&&n.p&&((e=n.p.body)!=null&&e.dataStream)?n.p.body.dataStream:n!=null&&n.v?n.v:null}getDisplayValue(){var e;const n=this._worksheet.getCell(this._range.startRow,this._range.startColumn);return n!=null&&n.p&&((e=n.p.body)!=null&&e.dataStream)?n.p.body.dataStream:n!=null&&n.v?String(n.v):""}getValues(n){var h,d;if(n)return this.getValueAndRichTextValues();const{startRow:e,endRow:t,startColumn:r,endColumn:o}=this._range,s=[];for(let l=e;l<=t;l++){const m=[];for(let u=r;u<=o;u++)m.push((d=(h=this._worksheet.getCell(l,u))==null?void 0:h.v)!=null?d:null);s.push(m)}return s}getRawValues(){var h;const n=this._worksheet.getCellMatrix(),{startRow:e,endRow:t,startColumn:r,endColumn:o}=this._range,s=[];for(let d=e;d<=t;d++){const l=[];for(let m=r;m<=o;m++){const u=n.getValue(d,m);u!=null&&u.p&&((h=u.p.body)!=null&&h.dataStream)?l.push(u.p.body.dataStream):u!=null&&u.v?l.push(u.v):l.push(null)}s.push(l)}return s}getDisplayValues(){var s;const{startRow:n,endRow:e,startColumn:t,endColumn:r}=this._range,o=[];for(let h=n;h<=e;h++){const d=[];for(let l=t;l<=r;l++){const m=this._worksheet.getCell(h,l);m!=null&&m.p&&((s=m.p.body)!=null&&s.dataStream)?d.push(m.p.body.dataStream):m!=null&&m.v?d.push(String(m.v)):d.push("")}o.push(d)}return o}getCellData(){var n;return(n=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?n:null}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){const{startRow:n,endRow:e,startColumn:t,endColumn:r}=this._range,o=[];for(let s=n;s<=e;s++){const h=[];for(let d=t;d<=r;d++)h.push(this._worksheet.getCellRaw(s,d));o.push(h)}return o}getRichTextValue(){const n=this.getCellData();return n!=null&&n.p?new a.RichTextValue(n.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new a.RichTextValue(t.p):null))}getValueAndRichTextValue(){const n=this.getCellData();return n!=null&&n.p?new a.RichTextValue(n.p):n==null?void 0:n.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new a.RichTextValue(t.p):t==null?void 0:t.v))}getFormula(){var n;return(n=this._formulaDataModel.getFormulaStringByCell(this._range.startRow,this._range.startColumn,this._worksheet.getSheetId(),this._workbook.getUnitId()))!=null?n:""}getFormulas(){const n=[],{startRow:e,endRow:t,startColumn:r,endColumn:o}=this._range,s=this._worksheet.getSheetId(),h=this._workbook.getUnitId();for(let d=e;d<=t;d++){const l=[];for(let m=r;m<=o;m++){const u=this._formulaDataModel.getFormulaStringByCell(d,m,s,h);l.push(u||"")}n.push(l)}return n}getWrap(){return this._worksheet.getRange(this._range).getWrap()===a.BooleanNumber.TRUE}getWraps(){const n=this.getCellDatas(),e=this._workbook.getStyles();return n.map(t=>t.map(r=>{var o;return((o=e.getStyleByCell(r))==null?void 0:o.tb)===a.WrapStrategy.WRAP}))}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){const n=this._worksheet.getRange(this._range).getHorizontalAlignment();return x(n)}getHorizontalAlignments(){return this._worksheet.getRange(this._range).getHorizontalAlignments().map(e=>e.map(t=>x(t)))}getVerticalAlignment(){return N(this._worksheet.getRange(this._range).getVerticalAlignment())}getVerticalAlignments(){return this._worksheet.getRange(this._range).getVerticalAlignments().map(e=>e.map(t=>N(t)))}setCustomMetaData(n){return this.setValue({custom:n})}setCustomMetaDatas(n){return this.setValues(n.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const n=this.getCellData();return(e=n==null?void 0:n.custom)!=null?e:null}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(t=>{var r;return(r=t==null?void 0:t.custom)!=null?r:null}))}setBorder(n,e,t){return this._commandService.syncExecuteCommand(i.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],value:{type:n,style:e,color:t}}),this}getBackground(){var e,t;const n=this.getCellStyle();return(t=(e=n==null?void 0:n.background)==null?void 0:e.rgb)!=null?t:a.DEFAULT_STYLES.bg.rgb}getBackgrounds(){return this.getCellStyles().map(e=>e.map(t=>{var r,o;return(o=(r=t==null?void 0:t.background)==null?void 0:r.rgb)!=null?o:a.DEFAULT_STYLES.bg.rgb}))}setBackgroundColor(n){return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:n}}}),this}setBackground(n){return this.setBackgroundColor(n),this}setTextRotation(n){return this._commandService.syncExecuteCommand(i.SetTextRotationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n}),this}setValue(n){const e=a.covertCellValue(n);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValueForCell(n){const e=a.covertCellValue(n);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:e}),this}setRichTextValueForCell(n){const e=n instanceof a.RichTextValue?n.getData():n,t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:{p:e}};return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,t),this}setRichTextValues(n){const e=n.map(o=>o.map(s=>s&&{p:s instanceof a.RichTextValue?s.getData():s})),t=a.covertCellValues(e,this._range),r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,r),this}setWrap(n){return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n?a.WrapStrategy.WRAP:a.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(n){return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n}),this}setVerticalAlignment(n){return this._commandService.syncExecuteCommand(i.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:H(n)}),this}setHorizontalAlignment(n){return this._commandService.syncExecuteCommand(i.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:j(n)}),this}setValues(n){const e=a.covertCellValues(n,this._range);return this._commandService.syncExecuteCommand(i.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(n){let e;if(n==="bold")e=a.BooleanNumber.TRUE;else if(n==="normal")e=a.BooleanNumber.FALSE;else if(n===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,r),this}setFontStyle(n){let e;if(n==="italic")e=a.BooleanNumber.TRUE;else if(n==="normal")e=a.BooleanNumber.FALSE;else if(n===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,r),this}setFontLine(n){if(n==="underline")this._setFontUnderline({s:a.BooleanNumber.TRUE});else if(n==="line-through")this._setFontStrikethrough({s:a.BooleanNumber.TRUE});else if(n==="none")this._setFontUnderline({s:a.BooleanNumber.FALSE}),this._setFontStrikethrough({s:a.BooleanNumber.FALSE});else if(n===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(n){const e={type:"ul",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t)}_setFontStrikethrough(n){const e={type:"st",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t)}setFontFamily(n){const e={type:"ff",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t),this}setFontSize(n){const e={type:"fs",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,t),this}setFontColor(n){const t={type:"cl",value:n===null?null:{rgb:n}},r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(i.SetStyleCommand.id,r),this}merge(n=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,e,t,[this._range],n),this}mergeAcross(n=!0){const e=i.getAddMergeMutationRangeByType([this._range],a.Dimension.ROWS),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,t,r,e,n),this}mergeVertically(n=!0){const e=i.getAddMergeMutationRangeByType([this._range],a.Dimension.COLUMNS),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return i.addMergeCellsUtil(this._injector,t,r,e,n),this}isPartOfMerge(){const{startRow:n,startColumn:e,endRow:t,endColumn:r}=this._range;return this._worksheet.getMergedCellRange(n,e,t,r).length>0}breakApart(){return this._commandService.syncExecuteCommand(i.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(n){const{startColumn:e,startRow:t,endColumn:r,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,r).forValue((s,h,d)=>{n(s,h,d)})}getA1Notation(n,e,t){const r={...this._range,startAbsoluteRefType:e,endAbsoluteRefType:t};return n?v.serializeRangeWithSheet(this._worksheet.getName(),r):v.serializeRange(r)}activate(){return this._injector.createInstance(exports.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const n=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(n&&a.Rectangle.equals(n,this._range)||!n&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn){const r=this._injector.createInstance(exports.FWorkbook,this._workbook).getActiveRange();if(!r||r.getUnitId()!==this.getUnitId()||r.getSheetId()!==this.getSheetId())return this.activate();if(a.Rectangle.contains(r.getRange(),this._range)){const o={unitId:this.getUnitId(),subUnitId:this.getSheetId(),selections:[{range:r.getRange(),primary:i.getPrimaryForRange(this.getRange(),this._worksheet),style:null}]};return this._commandService.syncExecuteCommand(i.SetSelectionsOperation.id,o),this}return this.activate()}else throw new Error("The range is not a single cell")}splitTextToColumns(n,e,t){this._commandService.syncExecuteCommand(i.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:n})}useThemeStyle(n){if(n==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(i.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:n})}removeThemeStyle(n){this._commandService.syncExecuteCommand(i.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:n})}getUsedThemeStyle(){return this._injector.get(i.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}clear(n){return n&&n.contentsOnly&&!n.formatOnly?this.clearContent():n&&n.formatOnly&&!n.contentsOnly?this.clearFormat():(this._commandService.syncExecuteCommand(i.ClearSelectionAllCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],options:n}),this)}clearContent(){return this._commandService.syncExecuteCommand(i.ClearSelectionContentCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}clearFormat(){return this._commandService.syncExecuteCommand(i.ClearSelectionFormatCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}insertCells(n){n===a.Dimension.ROWS?this._commandService.executeCommand(i.InsertRangeMoveDownCommand.id,{range:this._range}):this._commandService.executeCommand(i.InsertRangeMoveRightCommand.id,{range:this._range})}deleteCells(n){n===a.Dimension.ROWS?this._commandService.executeCommand(i.DeleteRangeMoveUpCommand.id,{range:this._range}):this._commandService.executeCommand(i.DeleteRangeMoveLeftCommand.id,{range:this._range})}getDataRegion(n){const{startRow:e,startColumn:t,endRow:r,endColumn:o}=this._range,s=this._worksheet.getMaxRows(),h=this._worksheet.getMaxColumns(),d=this._worksheet.getCellMatrix();let l=e,m=t,u=r,S=o;if(n!==a.Dimension.COLUMNS){let g=!1,I=!1;for(let k=t;k<=o&&(e>0&&!a.isNullCell(d.getValue(e-1,k))&&(g=!0),r<s-1&&!a.isNullCell(d.getValue(r+1,k))&&(I=!0),!(g&&I));k++);g&&(l=e-1),I&&(u=r+1)}if(n!==a.Dimension.ROWS){let g=!1,I=!1;for(let k=e;k<=r&&(t>0&&!a.isNullCell(d.getValue(k,t-1))&&(g=!0),o<h-1&&!a.isNullCell(d.getValue(k,o+1))&&(I=!0),!(g&&I));k++);g&&(m=t-1),I&&(S=o+1)}return this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,{startRow:l,startColumn:m,endRow:u,endColumn:S})}isBlank(){const n=this._worksheet.getCellMatrix(),{startRow:e,startColumn:t,endRow:r,endColumn:o}=this._range;let s=!0;for(let h=e;h<=r;h++){for(let d=t;d<=o;d++)if(!a.isNullCell(n.getValue(h,d))){s=!1;break}if(!s)break}return s}offset(n,e,t,r){const{startRow:o,startColumn:s,endRow:h,endColumn:d}=this._range,l=o+n,m=s+e,u=t?l+t-1:h+n,S=r?m+r-1:d+e;if(l<0||m<0||u<0||S<0)throw new Error("The row or column index is out of range");return this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,{startRow:l,startColumn:m,endRow:u,endColumn:S})}setFormula(n){return this.setValue({f:n})}setFormulas(n){return this.setValues(n.map(e=>e.map(t=>({f:t}))))}};exports.FRange=z([P(3,a.Inject(a.Injector)),P(4,a.ICommandService),P(5,a.Inject(v.FormulaDataModel))],exports.FRange);var G=Object.getOwnPropertyDescriptor,$=(c,n,e,t)=>{for(var r=t>1?void 0:t?G(n,e):n,o=c.length-1,s;o>=0;o--)(s=c[o])&&(r=s(r)||r);return r},Y=(c,n)=>(e,t)=>n(e,t,c);exports.FSelection=class{constructor(n,e,t,r){this._workbook=n,this._worksheet=e,this._selections=t,this._injector=r}getActiveRange(){const n=this._selections.find(e=>!!e.primary);return n?this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,n.range):null}getActiveRangeList(){return this._selections.map(n=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,n.range))}getCurrentCell(){const n=this._selections.find(e=>!!e.primary);return n?n.primary:null}getActiveSheet(){const n=this._injector.createInstance(exports.FWorkbook,this._workbook);return this._injector.createInstance(exports.FWorksheet,n,this._workbook,this._worksheet)}updatePrimaryCell(n){const e=this._injector.get(a.ICommandService);let t=[],r=!1;for(const{range:s,style:h}of this._selections)a.Rectangle.contains(s,n.getRange())?(t.push({range:s,primary:i.getPrimaryForRange(n.getRange(),this._worksheet),style:h}),r=!0):t.push({range:s,primary:null,style:h});r||(t=[{range:n.getRange(),primary:i.getPrimaryForRange(n.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(i.SetSelectionsOperation.id,o),new exports.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(n){if(!this._selections.find(r=>!!r.primary))return null;const t=i.getNextPrimaryCell(this._selections.concat(),n,this._worksheet);return t?this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,t):null}};exports.FSelection=$([Y(3,a.Inject(a.Injector))],exports.FSelection);var K=Object.getOwnPropertyDescriptor,q=(c,n,e,t)=>{for(var r=t>1?void 0:t?K(n,e):n,o=c.length-1,s;o>=0;o--)(s=c[o])&&(r=s(r)||r);return r},b=(c,n)=>(e,t)=>n(e,t,c);exports.FWorksheet=class extends _.FBaseInitialable{constructor(e,t,r,o,s,h,d){super(o);f(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=r,this._injector=o,this._selectionManagerService=s,this._logService=h,this._commandService=d}getSheet(){return this._worksheet}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){const e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(exports.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return t?this._worksheet.getRowStyle(e,t):this._worksheet.getRowStyle(e)}getColumnDefaultStyle(e,t=!1){return t?this._worksheet.getColumnStyle(e,t):this._worksheet.getColumnStyle(e)}setDefaultStyle(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(i.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:r,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:r,subUnitId:o,columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(i.SetColDataCommand.id,s),this}setRowDefaultStyle(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:r,subUnitId:o,rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(i.SetRowDataCommand.id,s),this}getRange(e,t,r,o){let s,h;if(typeof e=="object")s=e,h=this._worksheet;else if(typeof e=="string"){const{range:d,sheetName:l}=v.deserializeRangeWithSheet(e),m=l?this._workbook.getSheetBySheetName(l):this._worksheet;if(!m)throw new Error("Range not found");h=m,s={...d,unitId:this._workbook.getUnitId(),sheetId:h.getSheetId(),rangeType:a.RANGE_TYPE.NORMAL,startRow:d.rangeType===a.RANGE_TYPE.COLUMN?0:d.startRow,endRow:d.rangeType===a.RANGE_TYPE.COLUMN?h.getMaxRows()-1:d.endRow,startColumn:d.rangeType===a.RANGE_TYPE.ROW?0:d.startColumn,endColumn:d.rangeType===a.RANGE_TYPE.ROW?h.getMaxColumns()-1:d.endColumn}}else if(typeof e=="number"&&t!==void 0)h=this._worksheet,s={startRow:e,endRow:e+(r!=null?r:1)-1,startColumn:t,endColumn:t+(o!=null?o:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(exports.FRange,this._workbook,h,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.DOWN,h=e+1,d=e+t,l=0,m=this._worksheet.getColumnCount()-1,u=i.copyRangeStyles(this._worksheet,h,d,l,m,!0,e);return this._commandService.syncExecuteCommand(i.InsertRowByRangeCommand.id,{unitId:r,subUnitId:o,direction:s,range:{startRow:h,endRow:d,startColumn:l,endColumn:m},cellValue:u}),this}insertRowsBefore(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.UP,h=e,d=e+t-1,l=0,m=this._worksheet.getColumnCount()-1,u=i.copyRangeStyles(this._worksheet,h,d,l,m,!0,e-1);return this._commandService.syncExecuteCommand(i.InsertRowByRangeCommand.id,{unitId:r,subUnitId:o,direction:s,range:{startRow:h,endRow:d,startColumn:l,endColumn:m},cellValue:u}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){const r={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(i.RemoveRowByRangeCommand.id,{range:r,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=p(e.getRange(),this._worksheet),h=s,d={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(i.MoveRowsCommand.id,{unitId:r,subUnitId:o,range:s,fromRange:h,toRange:d}),this}hideRow(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.SetRowHiddenCommand.id,{unitId:t,subUnitId:r,ranges:[o]}),this}hideRows(e,t=1){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:a.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(i.SetRowHiddenCommand.id,{unitId:r,subUnitId:o,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:r,ranges:[o]}),this}showRows(e,t=1){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:a.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(i.SetSpecificRowsVisibleCommand.id,{unitId:r,subUnitId:o,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,t=a.BooleanNumber.TRUE){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:s[0],value:a.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightMutation.id,{unitId:r,subUnitId:o,ranges:s,autoHeightInfo:t}),this}setRowHeights(e,t,r){var m;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=this._worksheet.getRowManager(),d=[],l=[];for(let u=e;u<e+t;u++){const S=((m=h.getRow(u))==null?void 0:m.ah)||this._worksheet.getConfig().defaultRowHeight,g={startRow:u,endRow:u,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};r<=S?d.push(g):l.push(g)}return l.length>0&&this._commandService.syncExecuteCommand(i.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:l,value:r}),d.length>0&&this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:d}),this}getRowHeight(e){return this._worksheet.getRowHeight(e)}setRowAutoHeight(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:r,subUnitId:o,ranges:s}),this}setRangesAutoHeight(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(i.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:r,ranges:e}),this}setRowHeightsForced(e,t,r){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(i.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:h,value:r}),this}setRowCustom(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o={};for(const[h,d]of Object.entries(e))o[Number(h)]={custom:d};const s={unitId:t,subUnitId:r,rowData:o};return this._commandService.syncExecuteCommand(i.SetRowDataCommand.id,s),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.RIGHT,h=0,d=this._worksheet.getRowCount()-1,l=e+1,m=e+t,u=i.copyRangeStyles(this._worksheet,h,d,l,m,!1,e);return this._commandService.syncExecuteCommand(i.InsertColByRangeCommand.id,{unitId:r,subUnitId:o,direction:s,range:{startRow:h,endRow:d,startColumn:l,endColumn:m},cellValue:u}),this}insertColumnsBefore(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=a.Direction.LEFT,h=0,d=this._worksheet.getRowCount()-1,l=e,m=e+t-1,u=i.copyRangeStyles(this._worksheet,h,d,l,m,!1,e-1);return this._commandService.syncExecuteCommand(i.InsertColByRangeCommand.id,{unitId:r,subUnitId:o,direction:s,range:{startRow:h,endRow:d,startColumn:l,endColumn:m},cellValue:u}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){const r={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(i.RemoveColByRangeCommand.id,{range:r,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(e,t){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=U(e.getRange(),this._worksheet),h=s,d={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(i.MoveColsCommand.id,{unitId:r,subUnitId:o,range:s,fromRange:h,toRange:d}),this}hideColumn(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=U(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.SetColHiddenCommand.id,{unitId:t,subUnitId:r,ranges:[o]}),this}hideColumns(e,t=1){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:a.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(i.SetColHiddenCommand.id,{unitId:r,subUnitId:o,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=U(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(i.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:r,ranges:[o]}),this}showColumns(e,t=1){const r=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:a.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(i.SetSpecificColsVisibleCommand.id,{unitId:r,subUnitId:o,ranges:[s]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,r){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(i.SetColWidthCommand.id,{unitId:o,subUnitId:s,ranges:h,value:r}),this}getColumnWidth(e){return this._worksheet.getColumnWidth(e)}setColumnCustom(e){const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o={};for(const[h,d]of Object.entries(e))o[Number(h)]={custom:d};const s={unitId:t,subUnitId:r,columnData:o};return this._commandService.syncExecuteCommand(i.SetColDataCommand.id,s),this}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,e))}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(exports.FRange,this._workbook,this._worksheet,o)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:r}=e.getRange();if(t!==this._workbook.getUnitId()||r!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");return this._fWorkbook.setActiveRange(e),this}getActiveCell(){return this._fWorkbook.getActiveCell()}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(i.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(i.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){const t=this.getFreeze();if(arguments.length===1){const r=e[0];this.setFreeze({...t,startColumn:r>0?r:-1,xSplit:r})}else if(arguments.length===2){let[r=0,o=0]=e;r>o&&([r,o]=[o,r]),this._commandService.syncExecuteCommand(i.SetFrozenCommand.id,{startColumn:o+1,xSplit:o-r+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){const t=this.getFreeze();if(arguments.length===1){const r=e[0];this.setFreeze({...t,startRow:r>0?r:-1,ySplit:r})}else if(arguments.length===2){let[r=0,o=0]=e;r>o&&([r,o]=[o,r]),this._commandService.syncExecuteCommand(i.SetFrozenCommand.id,{startRow:o+1,ySplit:o-r+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){const e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){const e=this.getFreeze();return e.startRow===-1?0:e.startRow}getFrozenRowRange(){const e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){const e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===a.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(i.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?a.BooleanNumber.FALSE:a.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(i.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(i.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(a.ICommandService).onCommandExecuted(r=>{if(r.id===i.SetRangeValuesMutation.id){const o=r.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new a.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(a.ICommandService).beforeCommandExecuted(r=>{if(r.id===i.SetRangeValuesMutation.id){const o=r.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new a.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(a.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==a.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(i.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(a.ICommandService).syncExecuteCommand(i.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===a.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(i.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){if(e&&e.contentsOnly&&!e.formatOnly)return this.clearContents();if(e&&e.formatOnly&&!e.contentsOnly)return this.clearFormats();const t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),o=this._injector.get(a.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.syncExecuteCommand(i.ClearSelectionAllCommand.id,{unitId:t,subUnitId:r,ranges:[s],options:e}),this}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),r=this._injector.get(a.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return r.syncExecuteCommand(i.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),r=this._injector.get(a.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return r.syncExecuteCommand(i.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}getDataRange(){const e=this.getLastRows(),t=this.getLastColumns();return this.getRange(0,0,e+1,t+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof exports.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const o=this._injector.createInstance(y).setName(e).setRef(t).build();o.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(o)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(t=>t.getLocalSheetId()===this.getSheetId())}setCustomMetadata(e){return this._worksheet.setCustomMetadata(e),this}getCustomMetadata(){return this._worksheet.getCustomMetadata()}setRowCustomMetadata(e,t){return this._worksheet.getRowManager().setCustomMetadata(e,t),this}setColumnCustomMetadata(e,t){return this._worksheet.getColumnManager().setCustomMetadata(e,t),this}getRowCustomMetadata(e){return this._worksheet.getRowManager().getCustomMetadata(e)}getColumnCustomMetadata(e){return this._worksheet.getColumnManager().getCustomMetadata(e)}appendRow(e){const t=this._worksheet.getCellMatrix().hasValue(),r=this._worksheet.getLastRowWithContent(),o=this._worksheet.getRowCount(),s=this._worksheet.getColumnCount(),h=t?r+1:r,d=new a.ObjectMatrix;for(let l=0;l<e.length;l++)d.setValue(h,l,a.covertCellValue(e[l]));return this._commandService.syncExecuteCommand(i.AppendRowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cellValue:d.getMatrix(),insertRowNums:h>o-1?1:0,insertColumnNums:e.length>s?e.length-s:0,maxRows:o,maxColumns:s}),this}setRowCount(e){return this._commandService.syncExecuteCommand(i.SetWorksheetRowCountCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rowCount:e}),this}setColumnCount(e){return this._commandService.syncExecuteCommand(i.SetWorksheetColumnCountCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),columnCount:e}),this}};exports.FWorksheet=q([b(3,a.Inject(a.Injector)),b(4,a.Inject(i.SheetsSelectionsService)),b(5,a.Inject(a.ILogService)),b(6,a.ICommandService)],exports.FWorksheet);var J=Object.getOwnPropertyDescriptor,Q=(c,n,e,t)=>{for(var r=t>1?void 0:t?J(n,e):n,o=c.length-1,s;o>=0;o--)(s=c[o])&&(r=s(r)||r);return r},C=(c,n)=>(e,t)=>n(e,t,c);exports.FWorkbook=class extends _.FBaseInitialable{constructor(e,t,r,o,s,h,d,l,m,u){super(t);f(this,"id");this._workbook=e,this._injector=t,this._resourceLoaderService=r,this._selectionManagerService=o,this._univerInstanceService=s,this._commandService=h,this._permissionService=d,this._logService=l,this._localeService=m,this._definedNamesService=u,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}getId(){return this.id}getName(){return this._workbook.name}setName(e){return this._commandService.syncExecuteCommand(i.SetWorkbookNameCommand.id,{unitId:this._workbook.getUnitId(),name:e}),this}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){const e=this._workbook.getActiveSheet();return this._injector.createInstance(exports.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(exports.FWorksheet,this,this._workbook,e))}create(e,t,r,o){var l,m,u;const s=a.mergeWorksheetSnapshotWithDefault(a.Tools.deepClone((l=o==null?void 0:o.sheet)!=null?l:{}));s.name=e,s.rowCount=t,s.columnCount=r,s.id=(m=o==null?void 0:o.sheet)==null?void 0:m.id;const h=(u=o==null?void 0:o.index)!=null?u:this._workbook.getSheets().length;this._commandService.syncExecuteCommand(i.InsertSheetCommand.id,{u