@univerjs/sheets 0.5.1 → 0.5.2
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/facade.js +1 -1
- package/lib/cjs/index.js +3 -3
- package/lib/es/facade.js +1959 -500
- package/lib/es/index.js +3640 -3263
- package/lib/types/basics/cell-position.d.ts +25 -0
- package/lib/types/basics/index.d.ts +1 -0
- package/lib/types/basics/selection.d.ts +1 -1
- package/lib/types/basics/split-range-text.d.ts +42 -0
- package/lib/types/commands/commands/__tests__/set-gridlines-command.spec.d.ts +16 -0
- package/lib/types/commands/commands/add-worksheet-merge.command.d.ts +1 -1
- package/lib/types/commands/commands/set-gridlines-color.command.d.ts +7 -0
- package/lib/types/commands/commands/set-worksheet-show.command.d.ts +0 -1
- package/lib/types/commands/commands/split-text-to-columns.command.d.ts +15 -0
- package/lib/types/commands/mutations/set-gridlines-color.mutation.d.ts +12 -0
- package/lib/types/controllers/defined-name-data.controller.d.ts +1 -0
- package/lib/types/facade/f-defined-name.d.ts +294 -0
- package/lib/types/facade/f-permission.d.ts +49 -1
- package/lib/types/facade/f-range.d.ts +96 -5
- package/lib/types/facade/f-selection.d.ts +71 -1
- package/lib/types/facade/f-univer.d.ts +17 -3
- package/lib/types/facade/f-workbook.d.ts +345 -7
- package/lib/types/facade/f-worksheet.d.ts +350 -11
- package/lib/types/index.d.ts +13 -2
- package/lib/types/services/__tests__/move-active-cell.spec.d.ts +16 -0
- package/lib/types/services/exclusive-range/exclusive-range-service.d.ts +12 -0
- package/lib/types/services/permission/permission-point/const.d.ts +82 -0
- package/lib/types/services/ref-range/util.d.ts +1 -1
- package/lib/types/services/selections/index.d.ts +1 -1
- package/lib/types/services/selections/move-active-cell-util.d.ts +10 -0
- package/lib/types/services/selections/selection-data-model.d.ts +5 -10
- package/lib/types/services/selections/selection.service.d.ts +21 -1
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +3 -3
- package/package.json +8 -8
|
@@ -77,7 +77,7 @@ export declare const handleDefaultRangeChangeWithEffectRefCommands: (range: IRan
|
|
|
77
77
|
export declare const handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests: (range: IRange, commandInfo: ICommandInfo, deps: {
|
|
78
78
|
selectionManagerService: SheetsSelectionsService;
|
|
79
79
|
}) => IRange | null;
|
|
80
|
-
type MutationsAffectRange = ISheetCommandSharedParams | IRemoveSheetMutationParams | IMoveRowsMutationParams | IMoveColumnsMutationParams | IRemoveRowsMutationParams | IRemoveColMutationParams | IInsertColMutationParams | IInsertRowMutationParams | IMoveRangeMutationParams;
|
|
80
|
+
export type MutationsAffectRange = ISheetCommandSharedParams | IRemoveSheetMutationParams | IMoveRowsMutationParams | IMoveColumnsMutationParams | IRemoveRowsMutationParams | IRemoveColMutationParams | IInsertColMutationParams | IInsertRowMutationParams | IMoveRangeMutationParams;
|
|
81
81
|
export declare const handleCommonDefaultRangeChangeWithEffectRefCommands: (range: IRange, commandInfo: ICommandInfo) => IRange[];
|
|
82
82
|
export declare const handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests: (range: IRange, commandInfo: ICommandInfo, deps: {
|
|
83
83
|
selectionManagerService: SheetsSelectionsService;
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export { IRefSelectionsService, RefSelectionsService } from './ref-selections.service';
|
|
17
17
|
export { WorkbookSelectionModel } from './selection-data-model';
|
|
18
|
-
export { DISABLE_NORMAL_SELECTIONS, SheetsSelectionsService } from './selection.service';
|
|
18
|
+
export { DISABLE_NORMAL_SELECTIONS, REF_SELECTIONS_ENABLED, SELECTIONS_ENABLED, SheetsSelectionsService } from './selection.service';
|
|
19
19
|
export { type ISelectionManagerSearchParam, SelectionMoveType } from './type';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IRange, Worksheet, Direction } from '@univerjs/core';
|
|
2
|
+
import { ISelectionWithStyle } from '../../basics';
|
|
3
|
+
/**
|
|
4
|
+
* Get the next primary cell in the specified direction. If the primary cell not exists in selections, return null.
|
|
5
|
+
* @param selections The current selections.
|
|
6
|
+
* @param {Direction} direction The direction to move the primary cell.The enum value is maybe one of the following: UP(0),RIGHT(1), DOWN(2), LEFT(3).
|
|
7
|
+
* @param {Worksheet} worksheet The worksheet instance.
|
|
8
|
+
* @returns {IRange | null} The next primary cell.
|
|
9
|
+
*/
|
|
10
|
+
export declare const getNextPrimaryCell: (selections: ISelectionWithStyle[], direction: Direction, worksheet: Worksheet) => IRange | null;
|
|
@@ -24,8 +24,6 @@ export declare class WorkbookSelectionModel extends Disposable {
|
|
|
24
24
|
readonly beforeSelectionMoveEnd$: import('rxjs').Observable<ISelectionWithStyle[]>;
|
|
25
25
|
constructor(_workbook: Workbook);
|
|
26
26
|
dispose(): void;
|
|
27
|
-
/** Clear all selections in this workbook. */
|
|
28
|
-
clear(): void;
|
|
29
27
|
addSelections(sheetId: string, selectionDatas: ISelectionWithStyle[]): void;
|
|
30
28
|
/**
|
|
31
29
|
* Set selectionDatas to _worksheetSelections, and emit selectionDatas by type.
|
|
@@ -42,16 +40,13 @@ export declare class WorkbookSelectionModel extends Disposable {
|
|
|
42
40
|
*/
|
|
43
41
|
getSelectionOfWorksheet(sheetId: string): ISelectionWithStyle[];
|
|
44
42
|
getSelectionsOfWorksheet(sheetId: string): ISelectionWithStyle[];
|
|
43
|
+
setSelectionsOfWorksheet(sheetId: string, selections: ISelectionWithStyle[]): void;
|
|
44
|
+
deleteSheetSelection(sheetId: string): void;
|
|
45
|
+
/** Clear all selections in this workbook. */
|
|
46
|
+
clear(): void;
|
|
45
47
|
private _getCurrentSelections;
|
|
46
48
|
getCurrentLastSelection(): Readonly<Nullable<ISelectionWithStyle & {
|
|
47
49
|
primary: ISelectionCell;
|
|
48
50
|
}>>;
|
|
49
|
-
|
|
50
|
-
* Same method as getSelectionsOfWorksheet.
|
|
51
|
-
* @param sheetId
|
|
52
|
-
* @returns this._worksheetSelections
|
|
53
|
-
*/
|
|
54
|
-
private _ensureSheetSelection;
|
|
55
|
-
deleteSheetSelection(sheetId: string): void;
|
|
56
|
-
private _emitOnEnd;
|
|
51
|
+
private _eventAfterSetSelections;
|
|
57
52
|
}
|
|
@@ -7,9 +7,22 @@ export declare class SheetsSelectionsService extends RxDisposable {
|
|
|
7
7
|
protected readonly _instanceSrv: IUniverInstanceService;
|
|
8
8
|
private get _currentSelectionPos();
|
|
9
9
|
get currentSelectionParam(): Nullable<ISelectionManagerSearchParam>;
|
|
10
|
+
/**
|
|
11
|
+
* Selection Events, usually triggered when pointerdown in spreadsheet by selection render service after selectionModel has updated.
|
|
12
|
+
*/
|
|
10
13
|
selectionMoveStart$: Observable<Nullable<ISelectionWithStyle[]>>;
|
|
14
|
+
/**
|
|
15
|
+
* Selection Events, usually triggered when pointermove in spreadsheet by selection render service after selectionModel has updated.
|
|
16
|
+
*/
|
|
11
17
|
selectionMoving$: Observable<Nullable<ISelectionWithStyle[]>>;
|
|
18
|
+
/**
|
|
19
|
+
* Selection Events, usually triggered when pointerup in spreadsheet by selection render service after selectionModel has updated.
|
|
20
|
+
*/
|
|
12
21
|
selectionMoveEnd$: Observable<ISelectionWithStyle[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Selection Events, usually triggered when changing unit.(focus in formula editor)
|
|
24
|
+
*/
|
|
25
|
+
selectionSet$: Observable<Nullable<ISelectionWithStyle[]>>;
|
|
13
26
|
constructor(_instanceSrv: IUniverInstanceService);
|
|
14
27
|
protected _init(): void;
|
|
15
28
|
/**
|
|
@@ -25,7 +38,7 @@ export declare class SheetsSelectionsService extends RxDisposable {
|
|
|
25
38
|
addSelections(unitId: string, worksheetId: string, selectionDatas: ISelectionWithStyle[]): void;
|
|
26
39
|
/**
|
|
27
40
|
* Set selection data to WorkbookSelectionModel.
|
|
28
|
-
*
|
|
41
|
+
*
|
|
29
42
|
* @param unitIdOrSelections
|
|
30
43
|
* @param worksheetIdOrType
|
|
31
44
|
* @param selectionDatas
|
|
@@ -48,3 +61,10 @@ export declare class SheetsSelectionsService extends RxDisposable {
|
|
|
48
61
|
}
|
|
49
62
|
/** An context key to disable normal selections if its value is set to `true`. */
|
|
50
63
|
export declare const DISABLE_NORMAL_SELECTIONS = "DISABLE_NORMAL_SELECTIONS";
|
|
64
|
+
export declare const SELECTIONS_ENABLED = "SELECTIONS_ENABLED";
|
|
65
|
+
export declare const REF_SELECTIONS_ENABLED = "REF_SELECTIONS_ENABLED";
|
|
66
|
+
export declare const SELECTION_MODE = "__SELECTION_MODE__";
|
|
67
|
+
export declare enum SelectionMode {
|
|
68
|
+
NORMAL = 0,
|
|
69
|
+
REF = 1
|
|
70
|
+
}
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(u,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/engine-formula"],r):(u=typeof globalThis<"u"?globalThis:u||self,r(u.UniverSheetsFacade={},u.UniverCore,u.UniverSheets,u.UniverEngineFormula))})(this,function(u,r,a,f){"use strict";var X=Object.defineProperty;var Z=(u,r,a)=>r in u?X(u,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):u[r]=a;var b=(u,r,a)=>Z(u,typeof r!="symbol"?r+"":r,a);var P=Object.defineProperty,p=Object.getOwnPropertyDescriptor,U=(c,o,e,t)=>{for(var n=t>1?void 0:t?p(o,e):o,i=c.length-1,s;i>=0;i--)(s=c[i])&&(n=(t?s(o,e,n):s(n))||n);return t&&n&&P(o,e,n),n},_=(c,o)=>(e,t)=>o(e,t,c);u.FPermission=class extends r.FBase{constructor(o,e,t,n,i,s,d){super(),this._injector=o,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=i,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d}setWorkbookPermissionPoint(o,e,t){const n=new e(o);this._permissionService.getPermissionPoint(n.id)||this._permissionService.addPermissionPoint(n),this._permissionService.updatePermissionPoint(n.id,t)}setWorkbookEditPermission(o,e){this.setWorkbookPermissionPoint(o,a.WorkbookEditablePermission,e)}async addWorksheetBasePermission(o,e){if(this._rangeProtectionRuleModel.getSubunitRuleList(o,e).length>0)throw new Error("sheet protection cannot intersect with range protection");const n=await this._authzIoService.create({objectType:a.UnitObject.Worksheet});if(this._commandService.syncExecuteCommand(a.AddWorksheetProtectionMutation.id,{unitId:o,subUnitId:e,rule:{permissionId:n,unitType:a.UnitObject.Worksheet,unitId:o,subUnitId:e}}))return n}removeWorksheetPermission(o,e){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:o,subUnitId:e}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(t=>{const n=new t(o,e);this._permissionService.updatePermissionPoint(n.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(o,e)}async setWorksheetPermissionPoint(o,e,t,n){const i=this._worksheetProtectionRuleModel.getRule(o,e);let s;if(t===a.WorksheetEditPermission||t===a.WorksheetViewPermission)if(i)s=i.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(o,e).length>0)throw new Error("sheet protection cannot intersect with range protection");s=await this.addWorksheetBasePermission(o,e)}else{const m=this._worksheetProtectionPointRuleModel.getRule(o,e);m?s=m.permissionId:(s=await this._authzIoService.create({objectType:a.UnitObject.Worksheet}),this._commandService.executeCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:o,subUnitId:e,permissionId:s}))}const h=new t(o,e);return this._permissionService.getPermissionPoint(h.id)||this._permissionService.addPermissionPoint(h),this._permissionService.updatePermissionPoint(h.id,n),s}async addRangeBaseProtection(o,e,t){const n=await this._authzIoService.create({objectType:a.UnitObject.SelectRange}),i=`ruleId_${r.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(o,e))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(o,e).some(m=>m.ranges.some(g=>t.some(R=>r.Rectangle.intersects(R,g)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:o,subUnitId:e,rules:[{permissionId:n,unitType:a.UnitObject.SelectRange,unitId:o,subUnitId:e,ranges:t,id:i}]}))return{permissionId:n,ruleId:i}}removeRangeProtection(o,e,t){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:o,subUnitId:e,ruleIds:t})&&this._rangeProtectionRuleModel.getSubunitRuleList(o,e).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(o,e),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(s=>{const d=new s(o,e);this._permissionService.updatePermissionPoint(d.id,d.value)}))}setRangeProtectionPermissionPoint(o,e,t,n,i){const s=new n(o,e,t);this._permissionService.getPermissionPoint(s.id)||this._permissionService.addPermissionPoint(s),this._permissionService.updatePermissionPoint(s.id,i)}setRangeProtectionRanges(o,e,t,n){const i=this._rangeProtectionRuleModel.getRule(o,e,t);if(i){if(this._rangeProtectionRuleModel.getSubunitRuleList(o,e).filter(h=>h.id!==t).some(h=>h.ranges.some(l=>n.some(m=>r.Rectangle.intersects(m,l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:o,subUnitId:e,ruleId:t,rule:{...i,ranges:n}})}}},u.FPermission=U([_(0,r.Inject(r.Injector)),_(1,r.ICommandService),_(2,r.IPermissionService),_(3,r.Inject(a.WorksheetProtectionRuleModel)),_(4,r.Inject(a.RangeProtectionRuleModel)),_(5,r.Inject(a.WorksheetProtectionPointModel)),_(6,r.Inject(r.IAuthzIoService))],u.FPermission);function E(c){switch(c){case"left":return r.HorizontalAlign.LEFT;case"center":return r.HorizontalAlign.CENTER;case"normal":return r.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function F(c){switch(c){case r.HorizontalAlign.LEFT:return"left";case r.HorizontalAlign.CENTER:return"center";case r.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function j(c){switch(c){case"top":return r.VerticalAlign.TOP;case"middle":return r.VerticalAlign.MIDDLE;case"bottom":return r.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${c}`)}}function M(c){switch(c){case r.VerticalAlign.TOP:return"top";case r.VerticalAlign.MIDDLE:return"middle";case r.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${c}`)}}function S(c){return r.isFormulaString(c)?{f:c}:r.isCellV(c)?{v:c}:(r.isICellData(c),c)}function A(c,o){const e=new r.ObjectMatrix,{startRow:t,startColumn:n,endRow:i,endColumn:s}=o;if(r.Tools.isArray(c))for(let d=0;d<=i-t;d++)for(let h=0;h<=s-n;h++)e.setValue(d+t,h+n,S(c[d][h]));else new r.ObjectMatrix(c).forValue((h,l,m)=>{e.setValue(h,l,S(m))});return e.getMatrix()}function k(c,o){return{startRow:c.startRow,endRow:c.endRow,startColumn:0,endColumn:o.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW}}function C(c,o){return{startRow:0,endRow:o.getRowCount()-1,startColumn:c.startColumn,endColumn:c.endColumn,rangeType:r.RANGE_TYPE.COLUMN}}var W=Object.defineProperty,T=Object.getOwnPropertyDescriptor,D=(c,o,e,t)=>{for(var n=t>1?void 0:t?T(o,e):o,i=c.length-1,s;i>=0;i--)(s=c[i])&&(n=(t?s(o,e,n):s(n))||n);return t&&n&&W(o,e,n),n},I=(c,o)=>(e,t)=>o(e,t,c);u.FRange=class extends r.FBase{constructor(o,e,t,n,i,s){super(),this._workbook=o,this._worksheet=e,this._range=t,this._injector=n,this._commandService=i,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getRange(){return this._range}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getCellData(){var o;return(o=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?o:null}isMerged(){const{startColumn:o,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,o,n,t).some(s=>r.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const o=this.getCellData(),e=this._workbook.getStyles();return o&&e&&(t=e.getStyleByCell(o))!=null?t:null}getValue(){var o,e;return(e=(o=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:o.v)!=null?e:null}getValues(){var s,d;const{startRow:o,endRow:e,startColumn:t,endColumn:n}=this._range,i=[];for(let h=o;h<=e;h++){const l=[];for(let m=t;m<=n;m++)l.push((d=(s=this._worksheet.getCell(h,m))==null?void 0:s.v)!=null?d:null);i.push(l)}return i}getCellDataGrid(){const{startRow:o,endRow:e,startColumn:t,endColumn:n}=this._range,i=[];for(let s=o;s<=e;s++){const d=[];for(let h=t;h<=n;h++)d.push(this._worksheet.getCellRaw(s,h));i.push(d)}return i}getFormulas(){const o=[],{startRow:e,endRow:t,startColumn:n,endColumn:i}=this._range,s=this._worksheet.getSheetId(),d=this._workbook.getUnitId();for(let h=e;h<=t;h++){const l=[];for(let m=n;m<=i;m++){const g=this._formulaDataModel.getFormulaStringByCell(h,m,s,d);l.push(g||"")}o.push(l)}return o}getWrap(){return this._worksheet.getRange(this._range).getWrap()===r.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return F(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return M(this._worksheet.getRange(this._range).getVerticalAlignment())}setBackgroundColor(o){return this._commandService.executeCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:o}}})}setValue(o){const e=S(o);if(!e)throw new Error("Invalid value");return this._commandService.executeCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e})}setWrap(o){return this._commandService.executeCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:o?r.WrapStrategy.WRAP:r.WrapStrategy.UNSPECIFIED})}setWrapStrategy(o){return this._commandService.executeCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:o})}setVerticalAlignment(o){return this._commandService.executeCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:j(o)})}setHorizontalAlignment(o){return this._commandService.executeCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:E(o)})}setValues(o){const e=A(o,this._range);return this._commandService.executeCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e})}setFontWeight(o){let e;if(o==="bold")e=r.BooleanNumber.TRUE;else if(o==="normal")e=r.BooleanNumber.FALSE;else if(o===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontStyle(o){let e;if(o==="italic")e=r.BooleanNumber.TRUE;else if(o==="normal")e=r.BooleanNumber.FALSE;else if(o===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontLine(o){if(o==="underline")this._setFontUnderline({s:r.BooleanNumber.TRUE});else if(o==="line-through")this._setFontStrikethrough({s:r.BooleanNumber.TRUE});else if(o==="none")this._setFontUnderline({s:r.BooleanNumber.FALSE}),this._setFontStrikethrough({s:r.BooleanNumber.FALSE});else if(o===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(o){const e={type:"ul",value:o},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(o){const e={type:"st",value:o},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}setFontFamily(o){const e={type:"ff",value:o},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontSize(o){const e={type:"fs",value:o},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontColor(o){const t={type:"cl",value:o===null?null:{rgb:o}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}async merge(){const o=this._workbook.getUnitId(),e=this._worksheet.getSheetId();return await a.addMergeCellsUtil(this._injector,o,e,[this._range]),this}async mergeAcross(){const o=a.getAddMergeMutationRangeByType([this._range],r.Dimension.ROWS),e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return await a.addMergeCellsUtil(this._injector,e,t,o),this}async mergeVertically(){const o=a.getAddMergeMutationRangeByType([this._range],r.Dimension.COLUMNS),e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return await a.addMergeCellsUtil(this._injector,e,t,o),this}isPartOfMerge(){const{startRow:o,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(o,e,t,n).length>0}breakApart(){return this._commandService.executeCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(o){const{startColumn:e,startRow:t,endColumn:n,endRow:i}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,i,n).forValue((s,d,h)=>{o(s,d,h)})}},u.FRange=D([I(3,r.Inject(r.Injector)),I(4,r.ICommandService),I(5,r.Inject(f.FormulaDataModel))],u.FRange);var O=Object.defineProperty,x=Object.getOwnPropertyDescriptor,B=(c,o,e,t)=>{for(var n=t>1?void 0:t?x(o,e):o,i=c.length-1,s;i>=0;i--)(s=c[i])&&(n=(t?s(o,e,n):s(n))||n);return t&&n&&O(o,e,n),n},N=(c,o)=>(e,t)=>o(e,t,c);u.FSelection=class{constructor(o,e,t,n){this._workbook=o,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const o=this._selections.find(e=>!!e.primary);return o?this._injector.createInstance(u.FRange,this._workbook,this._worksheet,o.range):null}},u.FSelection=B([N(3,r.Inject(r.Injector))],u.FSelection);var V=Object.defineProperty,z=Object.getOwnPropertyDescriptor,H=(c,o,e,t)=>{for(var n=t>1?void 0:t?z(o,e):o,i=c.length-1,s;i>=0;i--)(s=c[i])&&(n=(t?s(o,e,n):s(n))||n);return t&&n&&V(o,e,n),n},v=(c,o)=>(e,t)=>o(e,t,c);u.FWorksheet=class extends r.FBase{constructor(e,t,n,i,s,d){super();b(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=n,this._injector=i,this._selectionManagerService=s,this._commandService=d}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(u.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return this._worksheet.getRowStyle(e,t)}getColumnDefaultStyle(e,t=!1){return this._worksheet.getColumnStyle(e,t)}async setDefaultStyle(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return await this._commandService.executeCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:n,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}async setColumnDefaultStyle(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s={unitId:n,subUnitId:i,columnData:{[e]:{s:t}}};return await this._commandService.executeCommand(a.SetColDataCommand.id,s),this}async setRowDefaultStyle(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s={unitId:n,subUnitId:i,rowData:{[e]:{s:t}}};return await this._commandService.executeCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,n,i){let s,d;if(typeof e=="string"){const{range:h,sheetName:l}=f.deserializeRangeWithSheet(e),m=l?this._workbook.getSheetBySheetName(l):this._worksheet;if(!m)throw new Error("Range not found");d=m,s={...h,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:r.RANGE_TYPE.NORMAL,startRow:h.rangeType===r.RANGE_TYPE.COLUMN?0:h.startRow,endRow:h.rangeType===r.RANGE_TYPE.COLUMN?d.getMaxRows()-1:h.endRow,startColumn:h.rangeType===r.RANGE_TYPE.ROW?0:h.startColumn,endColumn:h.rangeType===r.RANGE_TYPE.ROW?d.getMaxColumns()-1:h.endColumn}}else if(typeof e=="number"&&t!==void 0)d=this._worksheet,s={startRow:e,endRow:e+(n!=null?n:1)-1,startColumn:t,endColumn:t+(i!=null?i:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(u.FRange,this._workbook,d,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}async insertRowAfter(e){return this.insertRowsAfter(e,1)}async insertRowBefore(e){return this.insertRowsBefore(e,1)}async insertRows(e,t=1){return this.insertRowsBefore(e,t)}async insertRowsAfter(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s=r.Direction.DOWN,d=e+1,h=e+t,l=0,m=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,h,l,m,!0,e);return await this._commandService.executeCommand(a.InsertRowCommand.id,{unitId:n,subUnitId:i,direction:s,range:{startRow:d,endRow:h,startColumn:l,endColumn:m},cellValue:g}),this}async insertRowsBefore(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s=r.Direction.UP,d=e,h=e+t-1,l=0,m=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,h,l,m,!0,e-1);return await this._commandService.executeCommand(a.InsertRowCommand.id,{unitId:n,subUnitId:i,direction:s,range:{startRow:d,endRow:h,startColumn:l,endColumn:m},cellValue:g}),this}async deleteRow(e){return this.deleteRows(e,1)}async deleteRows(e,t){const n={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return await this._commandService.executeCommand(a.RemoveRowCommand.id,{range:n}),this}async moveRows(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s=k(e.getRange(),this._worksheet),d=s,h={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return await this._commandService.executeCommand(a.MoveRowsCommand.id,{unitId:n,subUnitId:i,range:s,fromRange:d,toRange:h}),this}async hideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=k(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}async hideRows(e,t=1){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return await this._commandService.executeCommand(a.SetRowHiddenCommand.id,{unitId:n,subUnitId:i,ranges:[s]}),this}async unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=k(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}async showRows(e,t=1){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return await this._commandService.executeCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:i,ranges:[s]}),this}async setRowHeight(e,t){return this.setRowHeights(e,1,t)}async setRowHeights(e,t,n){var m;const i=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),h=[],l=[];for(let g=e;g<e+t;g++){const R=((m=d.getRow(g))==null?void 0:m.ah)||this._worksheet.getConfig().defaultRowHeight,y={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=R?h.push(y):l.push(y)}return l.length>0&&await this._commandService.executeCommand(a.SetRowHeightCommand.id,{unitId:i,subUnitId:s,ranges:l,value:n}),h.length>0&&await this._commandService.executeCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:i,subUnitId:s,ranges:h}),this}async setRowHeightsForced(e,t,n){const i=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return await this._commandService.executeCommand(a.SetRowHeightCommand.id,{unitId:i,subUnitId:s,ranges:d,value:n}),this}async setRowCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={};for(const[d,h]of Object.entries(e))i[Number(d)]={custom:h};const s={unitId:t,subUnitId:n,rowData:i};return await this._commandService.executeCommand(a.SetRowDataCommand.id,s),this}async insertColumnAfter(e){return this.insertColumnsAfter(e,1)}async insertColumnBefore(e){return this.insertColumnsBefore(e,1)}async insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}async insertColumnsAfter(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s=r.Direction.RIGHT,d=0,h=this._worksheet.getRowCount()-1,l=e+1,m=e+t,g=a.copyRangeStyles(this._worksheet,d,h,l,m,!1,e);return await this._commandService.executeCommand(a.InsertColCommand.id,{unitId:n,subUnitId:i,direction:s,range:{startRow:d,endRow:h,startColumn:l,endColumn:m},cellValue:g}),this}async insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s=r.Direction.LEFT,d=0,h=this._worksheet.getRowCount()-1,l=e,m=e+t-1,g=a.copyRangeStyles(this._worksheet,d,h,l,m,!1,e-1);return await this._commandService.executeCommand(a.InsertColCommand.id,{unitId:n,subUnitId:i,direction:s,range:{startRow:d,endRow:h,startColumn:l,endColumn:m},cellValue:g}),this}async deleteColumn(e){return this.deleteColumns(e,1)}async deleteColumns(e,t){const n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return await this._commandService.executeCommand(a.RemoveColCommand.id,{range:n}),this}async moveColumns(e,t){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s=C(e.getRange(),this._worksheet),d=s,h={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return await this._commandService.executeCommand(a.MoveColsCommand.id,{unitId:n,subUnitId:i,range:s,fromRange:d,toRange:h}),this}async hideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=C(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}async hideColumns(e,t=1){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return await this._commandService.executeCommand(a.SetColHiddenCommand.id,{unitId:n,subUnitId:i,ranges:[s]}),this}async unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=C(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}async showColumns(e,t=1){const n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return await this._commandService.executeCommand(a.SetSpecificColsVisibleCommand.id,{unitId:n,subUnitId:i,ranges:[s]}),this}async setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}async setColumnWidths(e,t,n){const i=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return await this._commandService.executeCommand(a.SetColWidthCommand.id,{unitId:i,subUnitId:s,ranges:d,value:n}),this}async setColumnCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={};for(const[d,h]of Object.entries(e))i[Number(d)]={custom:h};const s={unitId:t,subUnitId:n,columnData:i};return await this._commandService.executeCommand(a.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(u.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const i=this._worksheet.getMergedCell(e,t);if(i)return this._injector.createInstance(u.FRange,this._workbook,this._worksheet,i)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:n}=e.getRange();if(t!==this._workbook.getUnitId()||n!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");this._fWorkbook.setActiveRange(e)}setFreeze(e){return this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}cancelFreeze(){return this._commandService.syncExecuteCommand(a.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(e){const t=this.getFreeze();this.setFreeze({...t,startColumn:e>0?e:-1,xSplit:e})}setFrozenRows(e){const t=this.getFreeze();this.setFreeze({...t,startRow:e>0?e:-1,ySplit:e})}getFrozenColumns(){const e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){const e=this.getFreeze();return e.startRow===-1?0:e.startRow}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===r.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.executeCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE})}onCellDataChange(e){return this._injector.get(r.ICommandService).onCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const i=n.params;i.unitId===this._workbook.getUnitId()&&i.subUnitId===this._worksheet.getSheetId()&&i.cellValue&&e(new r.ObjectMatrix(i.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const i=n.params;i.unitId===this._workbook.getUnitId()&&i.subUnitId===this._worksheet.getSheetId()&&i.cellValue&&e(new r.ObjectMatrix(i.cellValue))}})}},u.FWorksheet=H([v(3,r.Inject(r.Injector)),v(4,r.Inject(a.SheetsSelectionsService)),v(5,r.ICommandService)],u.FWorksheet);var L=Object.defineProperty,$=Object.getOwnPropertyDescriptor,G=(c,o,e,t)=>{for(var n=t>1?void 0:t?$(o,e):o,i=c.length-1,s;i>=0;i--)(s=c[i])&&(n=(t?s(o,e,n):s(n))||n);return t&&n&&L(o,e,n),n},w=(c,o)=>(e,t)=>o(e,t,c);u.FWorkbook=class extends r.FBase{constructor(e,t,n,i,s,d,h,l){super();b(this,"id");this._workbook=e,this._injector=t,this._resourceLoaderService=n,this._selectionManagerService=i,this._univerInstanceService=s,this._commandService=d,this._permissionService=h,this._logService=l,this.id=this._workbook.getUnitId()}getId(){return this.id}getName(){return this._workbook.getName()}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(u.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(u.FWorksheet,this,this._workbook,e))}create(e,t,n){const i=r.mergeWorksheetSnapshotWithDefault({});i.rowCount=t,i.columnCount=n,i.name=e,i.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:i}),this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const s=this._workbook.getActiveSheet();if(!s)throw new Error("No active sheet found");return this._injector.createInstance(u.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(u.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(u.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:e.getSheetId()}),e}insertSheet(){this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const e=this.id,t=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:e,subUnitId:t});const n=this._workbook.getActiveSheet();if(!n)throw new Error("No active sheet found");return this._injector.createInstance(u.FWorksheet,this,this._workbook,n)}deleteSheet(e){const t=this.id,n=e.getSheetId();this._commandService.executeCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(r.UndoCommand.id)}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(r.RedoCommand.id)}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onSelectionChange(e){return r.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.range)):e([]))}))}setEditable(e){const t=new a.WorkbookEditablePermission(this._workbook.getUnitId());this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e)}setActiveRange(e){const t=this.getActiveSheet(),n=e.getRange().sheetId||t.getSheetId(),i=n?this._workbook.getSheetBySheetId(n):this._workbook.getActiveSheet(!0);if(!i)throw new Error("No active sheet found");i.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(u.FWorksheet,this,this._workbook,i));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:a.getPrimaryForRange(d.getRange(),i),style:null}))};this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s)}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(i=>!!i.primary);return n?this._injector.createInstance(u.FRange,this._workbook,e,n.range):null}},u.FWorkbook=G([w(1,r.Inject(r.Injector)),w(2,r.Inject(r.IResourceLoaderService)),w(3,r.Inject(a.SheetsSelectionsService)),w(4,r.IUniverInstanceService),w(5,r.ICommandService),w(6,r.IPermissionService),w(7,r.ILogService)],u.FWorkbook);class Y extends r.FUniver{createUniverSheet(o){const t=this._injector.get(r.IUniverInstanceService).createUnit(r.UniverInstanceType.UNIVER_SHEET,o);return this._injector.createInstance(u.FWorkbook,t)}getActiveWorkbook(){const o=this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET);return o?this._injector.createInstance(u.FWorkbook,o):null}getPermission(){return this._injector.createInstance(u.FPermission)}}r.FUniver.extend(Y);var q=Object.defineProperty,J=Object.getOwnPropertyDescriptor,K=(c,o,e,t)=>{for(var n=t>1?void 0:t?J(o,e):o,i=c.length-1,s;i>=0;i--)(s=c[i])&&(n=(t?s(o,e,n):s(n))||n);return t&&n&&q(o,e,n),n},Q=(c,o)=>(e,t)=>o(e,t,c);u.FSheetHooks=class extends r.FBase{constructor(o){super(),this._injector=o}},u.FSheetHooks=K([Q(0,r.Inject(r.Injector))],u.FSheetHooks),Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(m,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@univerjs/engine-formula"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-formula","@univerjs/sheets"],r):(m=typeof globalThis<"u"?globalThis:m||self,r(m.UniverSheetsFacade={},m.UniverCore,m.UniverEngineFormula,m.UniverSheets))})(this,function(m,r,_,a){"use strict";var re=Object.defineProperty;var se=(m,r,_)=>r in m?re(m,r,{enumerable:!0,configurable:!0,writable:!0,value:_}):m[r]=_;var C=(m,r,_)=>se(m,typeof r!="symbol"?r+"":r,_);var N=Object.defineProperty,E=Object.getOwnPropertyDescriptor,F=(h,i,e,t)=>{for(var n=t>1?void 0:t?E(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&N(i,e,n),n},w=(h,i)=>(e,t)=>i(e,t,h);function j(h,i,e){const t=e.getDefinedNameMap(h);if(t==null)return i.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=i.t("definedName.defaultName")+o;if(e.getValueByName(h,s)==null)return s;let d=o+1;for(;;){const c=i.t("definedName.defaultName")+d;if(e.getValueByName(h,c)==null)return c;d++}}class I{constructor(){C(this,"_definedNameParam");this._definedNameParam={id:r.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(i){return this._definedNameParam.name=i,this}setFormula(i){return this._definedNameParam.formulaOrRefString=`=${i}`,this}setRef(i){return this._definedNameParam.formulaOrRefString=i,this}setRefByRange(i,e,t,n){return this._definedNameParam.formulaOrRefString=_.serializeRange({startRow:i,endRow:i+(t!=null?t:1)-1,startColumn:e,endColumn:e+(n!=null?n:1)-1}),this}setComment(i){return this._definedNameParam.comment=i,this}setHidden(i){return this._definedNameParam.hidden=i,this}build(){return this._definedNameParam}load(i){return this._definedNameParam=i,this}}let f=class extends r.FBase{constructor(h,i,e,t,n,o,s,d,c,u){super(),this._definedNameParam=h,this._injector=i,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d,this._localeService=c,this._definedNamesService=u}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=j(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(h){this._definedNameParam.name=h,this._apply()}setFormula(h){this._definedNameParam.formulaOrRefString=`=${h}`,this._apply()}setRef(h){this._definedNameParam.formulaOrRefString=h,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(h,i,e,t){this._definedNameParam.formulaOrRefString=_.serializeRange({startRow:h,endRow:h+(e!=null?e:1)-1,startColumn:i,endColumn:i+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(h){this._definedNameParam.comment=h,this._apply()}setScopeToWorksheet(h){this._definedNameParam.localSheetId=h.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(h){this._definedNameParam.hidden=h,this._apply()}delete(){this._commandService.syncExecuteCommand(a.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const h=this._injector.createInstance(I);return h.load(this._definedNameParam),h}};f=F([w(1,r.Inject(r.Injector)),w(2,r.ICommandService),w(3,r.IPermissionService),w(4,r.Inject(a.WorksheetProtectionRuleModel)),w(5,r.Inject(a.RangeProtectionRuleModel)),w(6,r.Inject(a.WorksheetProtectionPointModel)),w(7,r.Inject(r.IAuthzIoService)),w(8,r.Inject(r.LocaleService)),w(9,_.IDefinedNamesService)],f);var W=Object.defineProperty,A=Object.getOwnPropertyDescriptor,D=(h,i,e,t)=>{for(var n=t>1?void 0:t?A(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&W(i,e,n),n},k=(h,i)=>(e,t)=>i(e,t,h);m.FPermission=class extends r.FBase{constructor(e,t,n,o,s,d,c){super();C(this,"permissionPointsDefinition",a.PermissionPointsDefinitions);this._injector=e,this._commandService=t,this._permissionService=n,this._worksheetProtectionRuleModel=o,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=d,this._authzIoService=c}setWorkbookPermissionPoint(e,t,n){const o=new t(e);this._permissionService.getPermissionPoint(o.id)||this._permissionService.addPermissionPoint(o),this._permissionService.updatePermissionPoint(o.id,n)}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,a.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:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(a.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:o,unitType:a.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(n=>{const o=new n(e,t);this._permissionService.updatePermissionPoint(o.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,n,o){const s=this._worksheetProtectionRuleModel.getRule(e,t);let d;if(n===a.WorksheetEditPermission||n===a.WorksheetViewPermission)if(s)d=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");d=await this.addWorksheetBasePermission(e,t)}else{const g=this._worksheetProtectionPointRuleModel.getRule(e,t);g?d=g.permissionId:(d=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.executeCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,permissionId:d}))}const u=new n(e,t);return this._permissionService.getPermissionPoint(u.id)||this._permissionService.addPermissionPoint(u),this._permissionService.updatePermissionPoint(u.id,o),d}async addRangeBaseProtection(e,t,n){const o=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${r.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(g=>g.ranges.some(U=>n.some(R=>r.Rectangle.intersects(R,U)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:a.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:n,id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,n){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:n})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(d=>{const c=new d(e,t);this._permissionService.updatePermissionPoint(c.id,c.value)}))}setRangeProtectionPermissionPoint(e,t,n,o,s){const d=new o(e,t,n);this._permissionService.getPermissionPoint(d.id)||this._permissionService.addPermissionPoint(d),this._permissionService.updatePermissionPoint(d.id,s)}setRangeProtectionRanges(e,t,n,o){const s=this._rangeProtectionRuleModel.getRule(e,t,n);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(u=>u.id!==n).some(u=>u.ranges.some(l=>o.some(g=>r.Rectangle.intersects(g,l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:n,rule:{...s,ranges:o}})}}setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}},m.FPermission=D([k(0,r.Inject(r.Injector)),k(1,r.ICommandService),k(2,r.IPermissionService),k(3,r.Inject(a.WorksheetProtectionRuleModel)),k(4,r.Inject(a.RangeProtectionRuleModel)),k(5,r.Inject(a.WorksheetProtectionPointModel)),k(6,r.Inject(r.IAuthzIoService))],m.FPermission);function O(h){switch(h){case"left":return r.HorizontalAlign.LEFT;case"center":return r.HorizontalAlign.CENTER;case"normal":return r.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function M(h){switch(h){case r.HorizontalAlign.LEFT:return"left";case r.HorizontalAlign.CENTER:return"center";case r.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function T(h){switch(h){case"top":return r.VerticalAlign.TOP;case"middle":return r.VerticalAlign.MIDDLE;case"bottom":return r.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${h}`)}}function x(h){switch(h){case r.VerticalAlign.TOP:return"top";case r.VerticalAlign.MIDDLE:return"middle";case r.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${h}`)}}function b(h){return r.isFormulaString(h)?{f:h}:r.isCellV(h)?{v:h}:(r.isICellData(h),h)}function B(h,i){const e=new r.ObjectMatrix,{startRow:t,startColumn:n,endRow:o,endColumn:s}=i;if(r.Tools.isArray(h))for(let d=0;d<=o-t;d++)for(let c=0;c<=s-n;c++)e.setValue(d+t,c+n,b(h[d][c]));else new r.ObjectMatrix(h).forValue((c,u,l)=>{e.setValue(c,u,b(l))});return e.getMatrix()}function P(h,i){return{startRow:h.startRow,endRow:h.endRow,startColumn:0,endColumn:i.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW}}function y(h,i){return{startRow:0,endRow:i.getRowCount()-1,startColumn:h.startColumn,endColumn:h.endColumn,rangeType:r.RANGE_TYPE.COLUMN}}var L=Object.defineProperty,V=Object.getOwnPropertyDescriptor,z=(h,i,e,t)=>{for(var n=t>1?void 0:t?V(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&L(i,e,n),n},p=(h,i)=>(e,t)=>i(e,t,h);m.FRange=class extends r.FBase{constructor(i,e,t,n,o,s){super(),this._workbook=i,this._worksheet=e,this._range=t,this._injector=n,this._commandService=o,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getRange(){return this._range}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getCellData(){var i;return(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?i:null}isMerged(){const{startColumn:i,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,i,n,t).some(s=>r.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const i=this.getCellData(),e=this._workbook.getStyles();return i&&e&&(t=e.getStyleByCell(i))!=null?t:null}getValue(){var i,e;return(e=(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:i.v)!=null?e:null}getValues(){var s,d;const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let c=i;c<=e;c++){const u=[];for(let l=t;l<=n;l++)u.push((d=(s=this._worksheet.getCell(c,l))==null?void 0:s.v)!=null?d:null);o.push(u)}return o}getCellDataGrid(){const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let s=i;s<=e;s++){const d=[];for(let c=t;c<=n;c++)d.push(this._worksheet.getCellRaw(s,c));o.push(d)}return o}getFormulas(){const i=[],{startRow:e,endRow:t,startColumn:n,endColumn:o}=this._range,s=this._worksheet.getSheetId(),d=this._workbook.getUnitId();for(let c=e;c<=t;c++){const u=[];for(let l=n;l<=o;l++){const g=this._formulaDataModel.getFormulaStringByCell(c,l,s,d);u.push(g||"")}i.push(u)}return i}getWrap(){return this._worksheet.getRange(this._range).getWrap()===r.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return M(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return x(this._worksheet.getRange(this._range).getVerticalAlignment())}setBackgroundColor(i){return this._commandService.executeCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:i}}})}setBackground(i){return this.setBackgroundColor(i)}setValue(i){const e=b(i);if(!e)throw new Error("Invalid value");return this._commandService.executeCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e})}setWrap(i){return this._commandService.executeCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i?r.WrapStrategy.WRAP:r.WrapStrategy.UNSPECIFIED})}setWrapStrategy(i){return this._commandService.executeCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i})}setVerticalAlignment(i){return this._commandService.executeCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:T(i)})}setHorizontalAlignment(i){return this._commandService.executeCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:O(i)})}setValues(i){const e=B(i,this._range);return this._commandService.executeCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e})}setFontWeight(i){let e;if(i==="bold")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontStyle(i){let e;if(i==="italic")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontLine(i){if(i==="underline")this._setFontUnderline({s:r.BooleanNumber.TRUE});else if(i==="line-through")this._setFontStrikethrough({s:r.BooleanNumber.TRUE});else if(i==="none")this._setFontUnderline({s:r.BooleanNumber.FALSE}),this._setFontStrikethrough({s:r.BooleanNumber.FALSE});else if(i===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(i){const e={type:"ul",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(i){const e={type:"st",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}setFontFamily(i){const e={type:"ff",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontSize(i){const e={type:"fs",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontColor(i){const t={type:"cl",value:i===null?null:{rgb:i}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}async merge(i=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return await a.addMergeCellsUtil(this._injector,e,t,[this._range],i),this}async mergeAcross(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.ROWS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return await a.addMergeCellsUtil(this._injector,t,n,e,i),this}async mergeVertically(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.COLUMNS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return await a.addMergeCellsUtil(this._injector,t,n,e,i),this}isPartOfMerge(){const{startRow:i,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(i,e,t,n).length>0}breakApart(){return this._commandService.executeCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(i){const{startColumn:e,startRow:t,endColumn:n,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,n).forValue((s,d,c)=>{i(s,d,c)})}getA1Notation(i){return i?_.serializeRangeWithSheet(this._worksheet.getName(),this._range):_.serializeRange(this._range)}activate(){return this._injector.createInstance(m.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const i=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(i&&r.Rectangle.equals(i,this._range)||!i&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn)return this.activate();throw new Error("The range is not a single cell")}splitTextToColumns(i,e,t){this._commandService.executeCommand(a.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:i})}},m.FRange=z([p(3,r.Inject(r.Injector)),p(4,r.ICommandService),p(5,r.Inject(_.FormulaDataModel))],m.FRange);var H=Object.defineProperty,$=Object.getOwnPropertyDescriptor,G=(h,i,e,t)=>{for(var n=t>1?void 0:t?$(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&H(i,e,n),n},Y=(h,i)=>(e,t)=>i(e,t,h);m.FSelection=class{constructor(i,e,t,n){this._workbook=i,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const i=this._selections.find(e=>!!e.primary);return i?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range):null}getActiveRangeList(){return this._selections.map(i=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range))}getCurrentCell(){const i=this._selections.find(e=>!!e.primary);return i?i.primary:null}getActiveSheet(){const i=this._injector.createInstance(m.FWorkbook,this._workbook);return this._injector.createInstance(m.FWorksheet,i,this._workbook,this._worksheet)}async updatePrimaryCell(i){const e=this._injector.get(r.ICommandService);let t=[],n=!1;for(const{range:s,style:d}of this._selections)r.Rectangle.contains(s,i.getRange())?(t.push({range:s,primary:a.getPrimaryForRange(i.getRange(),this._worksheet),style:d}),n=!0):t.push({range:s,primary:null,style:d});n||(t=[{range:i.getRange(),primary:a.getPrimaryForRange(i.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return await e.syncExecuteCommand(a.SetSelectionsOperation.id,o),new m.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(i){if(!this._selections.find(n=>!!n.primary))return null;const t=a.getNextPrimaryCell(this._selections.concat(),i,this._worksheet);return t?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t):null}},m.FSelection=G([Y(3,r.Inject(r.Injector))],m.FSelection);var q=Object.defineProperty,K=Object.getOwnPropertyDescriptor,J=(h,i,e,t)=>{for(var n=t>1?void 0:t?K(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&q(i,e,n),n},v=(h,i)=>(e,t)=>i(e,t,h);m.FWorksheet=class extends r.FBase{constructor(e,t,n,o,s,d,c){super();C(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=n,this._injector=o,this._selectionManagerService=s,this._logService=d,this._commandService=c}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(m.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return this._worksheet.getRowStyle(e,t)}getColumnDefaultStyle(e,t=!1){return this._worksheet.getColumnStyle(e,t)}async setDefaultStyle(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return await this._commandService.executeCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:n,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}async setColumnDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,columnData:{[e]:{s:t}}};return await this._commandService.executeCommand(a.SetColDataCommand.id,s),this}async setRowDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,rowData:{[e]:{s:t}}};return await this._commandService.executeCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,n,o){let s,d;if(typeof e=="string"){const{range:c,sheetName:u}=_.deserializeRangeWithSheet(e),l=u?this._workbook.getSheetBySheetName(u):this._worksheet;if(!l)throw new Error("Range not found");d=l,s={...c,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:r.RANGE_TYPE.NORMAL,startRow:c.rangeType===r.RANGE_TYPE.COLUMN?0:c.startRow,endRow:c.rangeType===r.RANGE_TYPE.COLUMN?d.getMaxRows()-1:c.endRow,startColumn:c.rangeType===r.RANGE_TYPE.ROW?0:c.startColumn,endColumn:c.rangeType===r.RANGE_TYPE.ROW?d.getMaxColumns()-1:c.endColumn}}else if(typeof e=="number"&&t!==void 0)d=this._worksheet,s={startRow:e,endRow:e+(n!=null?n: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(m.FRange,this._workbook,d,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}async insertRowAfter(e){return this.insertRowsAfter(e,1)}async insertRowBefore(e){return this.insertRowsBefore(e,1)}async insertRows(e,t=1){return this.insertRowsBefore(e,t)}async insertRowsAfter(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.DOWN,d=e+1,c=e+t,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e);return await this._commandService.executeCommand(a.InsertRowCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}async insertRowsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.UP,d=e,c=e+t-1,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e-1);return await this._commandService.executeCommand(a.InsertRowCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}async deleteRow(e){return this.deleteRows(e,1)}async deleteRows(e,t){const n={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return await this._commandService.executeCommand(a.RemoveRowCommand.id,{range:n}),this}async moveRows(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=P(e.getRange(),this._worksheet),d=s,c={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return await this._commandService.executeCommand(a.MoveRowsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}async hideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=P(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}async hideRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return await this._commandService.executeCommand(a.SetRowHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}async unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=P(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}async showRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return await this._commandService.executeCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}async setRowHeight(e,t){return this.setRowHeights(e,1,t)}async setRowHeights(e,t,n){var l;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),c=[],u=[];for(let g=e;g<e+t;g++){const U=((l=d.getRow(g))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,R={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=U?c.push(R):u.push(R)}return u.length>0&&await this._commandService.executeCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:u,value:n}),c.length>0&&await this._commandService.executeCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:c}),this}async setRowHeightsForced(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return await this._commandService.executeCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}async setRowCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,rowData:o};return await this._commandService.executeCommand(a.SetRowDataCommand.id,s),this}async insertColumnAfter(e){return this.insertColumnsAfter(e,1)}async insertColumnBefore(e){return this.insertColumnsBefore(e,1)}async insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}async insertColumnsAfter(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.RIGHT,d=0,c=this._worksheet.getRowCount()-1,u=e+1,l=e+t,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e);return await this._commandService.executeCommand(a.InsertColCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}async insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.LEFT,d=0,c=this._worksheet.getRowCount()-1,u=e,l=e+t-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e-1);return await this._commandService.executeCommand(a.InsertColCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}async deleteColumn(e){return this.deleteColumns(e,1)}async deleteColumns(e,t){const n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return await this._commandService.executeCommand(a.RemoveColCommand.id,{range:n}),this}async moveColumns(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=y(e.getRange(),this._worksheet),d=s,c={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return await this._commandService.executeCommand(a.MoveColsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}async hideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}async hideColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return await this._commandService.executeCommand(a.SetColHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}async unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return await this._commandService.executeCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}async showColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return await this._commandService.executeCommand(a.SetSpecificColsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}async setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}async setColumnWidths(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return await this._commandService.executeCommand(a.SetColWidthCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}async setColumnCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,columnData:o};return await this._commandService.executeCommand(a.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(m.FRange,this._workbook,this._worksheet,o)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:n}=e.getRange();if(t!==this._workbook.getUnitId()||n!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");this._fWorkbook.setActiveRange(e)}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}cancelFreeze(){return this._commandService.syncExecuteCommand(a.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){const t=this.getFreeze();if(arguments.length===1){const n=e[0];this.setFreeze({...t,startColumn:n>0?n:-1,xSplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startColumn:o+1,xSplit:o-n+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}}setFrozenRows(...e){const t=this.getFreeze();if(arguments.length===1){const n=e[0];this.setFreeze({...t,startRow:n>0?n:-1,ySplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand,this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startRow:o+1,ySplit:o-n+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}}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===r.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.executeCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?r.BooleanNumber.FALSE:r.BooleanNumber.TRUE})}setGridLinesColor(e){return this._commandService.executeCommand(a.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e})}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.executeCommand(a.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e})}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(r.ICommandService).onCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(r.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==r.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");e.executeCommand(a.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()})}showSheet(){return this._injector.get(r.ICommandService).executeCommand(a.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()})}isSheetHidden(){return this._worksheet.isSheetHidden()===r.BooleanNumber.TRUE}setName(e){return this._commandService.executeCommand(a.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e})}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(),n=this._worksheet.getSheetId(),o=this._injector.get(r.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.executeCommand(a.ClearSelectionAllCommand.id,{unitId:t,subUnitId:n,ranges:[s],options:e})}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.executeCommand(a.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]})}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.executeCommand(a.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[o]})}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 m.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const o=this._injector.createInstance(I).setName(e).setRef(t).build();o.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(o)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(t=>t.getLocalSheetId()===this.getSheetId())}},m.FWorksheet=J([v(3,r.Inject(r.Injector)),v(4,r.Inject(a.SheetsSelectionsService)),v(5,r.Inject(r.ILogService)),v(6,r.ICommandService)],m.FWorksheet);var Q=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Z=(h,i,e,t)=>{for(var n=t>1?void 0:t?X(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&Q(i,e,n),n},S=(h,i)=>(e,t)=>i(e,t,h);m.FWorkbook=class extends r.FBase{constructor(e,t,n,o,s,d,c,u,l,g){super();C(this,"id");this._workbook=e,this._injector=t,this._resourceLoaderService=n,this._selectionManagerService=o,this._univerInstanceService=s,this._commandService=d,this._permissionService=c,this._logService=u,this._localeService=l,this._definedNamesService=g,this.id=this._workbook.getUnitId()}getId(){return this.id}getName(){return this._workbook.name}setName(e){this._workbook.setName(e)}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(m.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(m.FWorksheet,this,this._workbook,e))}create(e,t,n){const o=r.mergeWorksheetSnapshotWithDefault({});o.rowCount=t,o.columnCount=n,o.name=e,o.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:o}),this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const s=this._workbook.getActiveSheet();if(!s)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:e.getSheetId()}),e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const t=this.id,n=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:n});const o=this._workbook.getActiveSheet();if(!o)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,o)}deleteSheet(e){const t=this.id,n=e.getSheetId();return this._commandService.executeCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(r.UndoCommand.id)}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(r.RedoCommand.id)}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onSelectionChange(e){return r.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.range)):e([]))}))}setEditable(e){const t=new a.WorkbookEditablePermission(this._workbook.getUnitId());this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e)}setActiveRange(e){const t=this.getActiveSheet(),n=e.getRange().sheetId||t.getSheetId(),o=n?this._workbook.getSheetBySheetId(n):this._workbook.getActiveSheet(!0);if(!o)throw new Error("No active sheet found");o.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(m.FWorksheet,this,this._workbook,o));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:a.getPrimaryForRange(d.getRange(),o),style:null}))};this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s)}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(o=>!!o.primary);return n?this._injector.createInstance(m.FRange,this._workbook,e,n.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.executeCommand(a.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()})}duplicateActiveSheet(){const e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}getUrl(){return location.href}moveSheet(e,t){let n=t;return n<0?n=0:n>this._workbook.getSheets().length-1&&(n=this._workbook.getSheets().length-1),this._commandService.executeCommand(a.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:n,subUnitId:e.getSheetId()})}moveActiveSheet(e){const t=this.getActiveSheet();return this.moveSheet(t,e)}getPermission(){return this._injector.createInstance(m.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(f,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(f,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const o=this._injector.createInstance(I).setName(e).setRef(t).build();o.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(o)}deleteDefinedName(e){const t=this.getDefinedName(e);return t?(t.delete(),!0):!1}insertDefinedNameBuilder(e){e.unitId=this.getId(),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}},m.FWorkbook=Z([S(1,r.Inject(r.Injector)),S(2,r.Inject(r.IResourceLoaderService)),S(3,r.Inject(a.SheetsSelectionsService)),S(4,r.IUniverInstanceService),S(5,r.ICommandService),S(6,r.IPermissionService),S(7,r.ILogService),S(8,r.Inject(r.LocaleService)),S(9,_.IDefinedNamesService)],m.FWorkbook);class ee extends r.FUniver{createUniverSheet(i){const t=this._injector.get(r.IUniverInstanceService).createUnit(r.UniverInstanceType.UNIVER_SHEET,i);return this._injector.createInstance(m.FWorkbook,t)}getActiveWorkbook(){const i=this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET);return i?this._injector.createInstance(m.FWorkbook,i):null}getUniverSheet(i){const e=this._univerInstanceService.getUnit(i,r.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(m.FWorkbook,e):null}getPermission(){return this._injector.createInstance(m.FPermission)}onUniverSheetCreated(i){const e=this._univerInstanceService.getTypeOfUnitAdded$(r.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const n=this._injector.createInstance(m.FWorkbook,t);i(n)});return r.toDisposable(e)}newDefinedName(){return this._injector.createInstance(I)}}r.FUniver.extend(ee);var te=Object.defineProperty,ne=Object.getOwnPropertyDescriptor,ie=(h,i,e,t)=>{for(var n=t>1?void 0:t?ne(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&te(i,e,n),n},oe=(h,i)=>(e,t)=>i(e,t,h);m.FSheetHooks=class extends r.FBase{constructor(i){super(),this._injector=i}},m.FSheetHooks=ie([oe(0,r.Inject(r.Injector))],m.FSheetHooks),Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
|