@univerjs/engine-render 0.2.8 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +3 -3
- package/lib/es/index.js +437 -282
- package/lib/types/base-object.d.ts +4 -2
- package/lib/types/components/docs/document.d.ts +1 -2
- package/lib/types/components/docs/layout/block/paragraph/language-ruler.d.ts +5 -5
- package/lib/types/components/docs/layout/block/paragraph/layout-ruler.d.ts +1 -1
- package/lib/types/components/docs/layout/doc-skeleton.d.ts +2 -0
- package/lib/types/components/docs/layout/tools.d.ts +2 -2
- package/lib/types/components/docs/liquid.d.ts +1 -1
- package/lib/types/components/docs/text-selection/text-selection-render-manager.d.ts +4 -6
- package/lib/types/components/docs/view-model/document-view-model.d.ts +2 -0
- package/lib/types/components/sheets/column-header.d.ts +4 -0
- package/lib/types/components/sheets/extensions/column-header-layout.d.ts +3 -0
- package/lib/types/components/sheets/extensions/sheet-extension.d.ts +10 -0
- package/lib/types/components/sheets/sheet-skeleton.d.ts +18 -54
- package/lib/types/components/sheets/spreadsheet.d.ts +0 -2
- package/lib/types/engine.d.ts +1 -1
- package/lib/types/layer.d.ts +15 -7
- package/lib/types/render-manager/render-manager.service.d.ts +4 -4
- package/lib/types/render-manager/render-unit.d.ts +17 -3
- package/lib/types/scene.d.ts +42 -16
- package/lib/types/shape/rich-text.d.ts +1 -5
- package/lib/types/shape/shape.d.ts +5 -1
- package/lib/types/viewport.d.ts +15 -33
- package/lib/umd/index.js +3 -3
- package/package.json +7 -7
|
@@ -7,6 +7,8 @@ import { IViewportInfo, Vector2 } from './basics/vector2';
|
|
|
7
7
|
import { UniverRenderingContext } from './context';
|
|
8
8
|
import { Layer } from './layer';
|
|
9
9
|
import { ITransformerConfig } from './basics/transformer-config';
|
|
10
|
+
import { Scene } from './scene';
|
|
11
|
+
import { Engine } from './engine';
|
|
10
12
|
export declare const BASE_OBJECT_ARRAY: string[];
|
|
11
13
|
export declare enum ObjectType {
|
|
12
14
|
UNKNOWN = 0,
|
|
@@ -161,10 +163,10 @@ export declare abstract class BaseObject extends Disposable {
|
|
|
161
163
|
triggerDrop(evt: IDragEvent | IMouseEvent): boolean;
|
|
162
164
|
dispose(): void;
|
|
163
165
|
toJson(): IKeyValue;
|
|
164
|
-
getScene():
|
|
166
|
+
getScene(): Nullable<Scene>;
|
|
165
167
|
resetCursor(): void;
|
|
166
168
|
setCursor(val: CURSOR_TYPE): void;
|
|
167
|
-
getEngine():
|
|
169
|
+
getEngine(): Nullable<Engine>;
|
|
168
170
|
getObjects(): BaseObject[];
|
|
169
171
|
getLayerIndex(): number;
|
|
170
172
|
applyTransform(): void;
|
|
@@ -3,7 +3,6 @@ import { IDocumentSkeletonPage } from '../../basics/i-document-skeleton-cached';
|
|
|
3
3
|
import { Transform } from '../../basics/transform';
|
|
4
4
|
import { IViewportInfo } from '../../basics/vector2';
|
|
5
5
|
import { UniverRenderingContext } from '../../context';
|
|
6
|
-
import { Scene } from '../../scene';
|
|
7
6
|
import { IDocumentsConfig, IPageMarginLayout, DocComponent } from './doc-component';
|
|
8
7
|
import { DocumentSkeleton } from './layout/doc-skeleton';
|
|
9
8
|
export interface IPageRenderConfig {
|
|
@@ -27,7 +26,7 @@ export declare class Documents extends DocComponent {
|
|
|
27
26
|
static create(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig): Documents;
|
|
28
27
|
dispose(): void;
|
|
29
28
|
getOffsetConfig(): IDocumentOffsetConfig;
|
|
30
|
-
getEngine(): Nullable<import('../..').
|
|
29
|
+
getEngine(): Nullable<import('../..').Engine>;
|
|
31
30
|
changeSkeleton(newSkeleton: DocumentSkeleton): this;
|
|
32
31
|
protected _draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
33
32
|
draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IParagraph } from '@univerjs/core';
|
|
2
2
|
import { ISectionBreakConfig } from '../../../../../basics/interfaces';
|
|
3
3
|
import { DataStreamTreeNode } from '../../../view-model/data-stream-tree-node';
|
|
4
4
|
import { DocumentViewModel } from '../../../view-model/document-view-model';
|
|
5
|
-
export declare function otherHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig,
|
|
5
|
+
export declare function otherHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
|
|
6
6
|
step: number;
|
|
7
7
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
8
8
|
};
|
|
9
|
-
export declare function ArabicHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig,
|
|
9
|
+
export declare function ArabicHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
|
|
10
10
|
step: number;
|
|
11
11
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
12
12
|
};
|
|
13
|
-
export declare function emojiHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig,
|
|
13
|
+
export declare function emojiHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
|
|
14
14
|
step: number;
|
|
15
15
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
16
16
|
};
|
|
17
|
-
export declare function TibetanHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig,
|
|
17
|
+
export declare function TibetanHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): {
|
|
18
18
|
step: number;
|
|
19
19
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
20
20
|
};
|
|
@@ -2,5 +2,5 @@ import { IDocumentSkeletonDrawing, IDocumentSkeletonGlyph, IDocumentSkeletonLine
|
|
|
2
2
|
import { IParagraphConfig, ISectionBreakConfig } from '../../../../../basics/interfaces';
|
|
3
3
|
import { ILayoutContext } from '../../tools';
|
|
4
4
|
import { BreakPointType } from '../../line-breaker/break';
|
|
5
|
-
export declare function layoutParagraph(ctx: ILayoutContext, glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig,
|
|
5
|
+
export declare function layoutParagraph(ctx: ILayoutContext, glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig, isParagraphFirstShapedText: boolean, breakPointType?: BreakPointType): IDocumentSkeletonPage[];
|
|
6
6
|
export declare function updateInlineDrawingPosition(line: IDocumentSkeletonLine, paragraphInlineSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, blockAnchorTop?: number): void;
|
|
@@ -17,6 +17,8 @@ export interface IFindNodeRestrictions {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class DocumentSkeleton extends Skeleton {
|
|
19
19
|
private _docViewModel;
|
|
20
|
+
private _dirty$;
|
|
21
|
+
readonly dirty$: import('rxjs').Observable<boolean>;
|
|
20
22
|
private _skeletonData;
|
|
21
23
|
private _findLiquid;
|
|
22
24
|
private _hyphen;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocumentDataModel, INumberUnit, IObjectPositionH, IObjectPositionV, IParagraphStyle, ITextStyle, Nullable, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
|
|
1
|
+
import { DocumentDataModel, INumberUnit, IObjectPositionH, IObjectPositionV, IParagraph, IParagraphStyle, ITextStyle, Nullable, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
|
|
2
2
|
import { IDocumentSkeletonCached, IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonDrawing, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, IDocumentSkeletonSection, ISkeletonResourceReference } from '../../../basics/i-document-skeleton-cached';
|
|
3
3
|
import { IDocsConfig, IParagraphConfig, ISectionBreakConfig } from '../../../basics/interfaces';
|
|
4
4
|
import { DataStreamTreeNode } from '../view-model/data-stream-tree-node';
|
|
@@ -72,7 +72,7 @@ export declare function getFontConfigFromLastGlyph(glyph: IDocumentSkeletonGlyph
|
|
|
72
72
|
snapToGrid: BooleanNumber;
|
|
73
73
|
pageWidth: number;
|
|
74
74
|
};
|
|
75
|
-
export declare function getFontCreateConfig(index: number, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig,
|
|
75
|
+
export declare function getFontCreateConfig(index: number, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraph: IParagraph): IFontCreateConfig;
|
|
76
76
|
export declare function getNullSkeleton(): IDocumentSkeletonCached;
|
|
77
77
|
export declare function setPageParent(pages: IDocumentSkeletonPage[], parent: IDocumentSkeletonCached): void;
|
|
78
78
|
export interface ILayoutContext {
|
|
@@ -24,7 +24,7 @@ export declare class Liquid {
|
|
|
24
24
|
x: number;
|
|
25
25
|
y: number;
|
|
26
26
|
};
|
|
27
|
-
translateLine(line: IDocumentSkeletonLine,
|
|
27
|
+
translateLine(line: IDocumentSkeletonLine, includeMarginTop?: boolean, includePaddingTop?: boolean): {
|
|
28
28
|
x: number;
|
|
29
29
|
y: number;
|
|
30
30
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Nullable, ILogService, RxDisposable } from '@univerjs/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { IMouseEvent, IPointerEvent } from '../../../basics/i-events';
|
|
4
|
-
import {
|
|
4
|
+
import { INodePosition } from '../../../basics/interfaces';
|
|
5
5
|
import { ISuccinctDocRangeParam, ITextRangeWithStyle, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics/range';
|
|
6
6
|
import { Scene } from '../../../scene';
|
|
7
7
|
import { Viewport } from '../../../viewport';
|
|
8
|
-
import { DocumentSkeleton
|
|
8
|
+
import { DocumentSkeleton } from '../layout/doc-skeleton';
|
|
9
9
|
import { Documents } from '../document';
|
|
10
10
|
import { TextRange } from './text-range';
|
|
11
11
|
import { RectRange } from './rect-range';
|
|
@@ -177,7 +177,7 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
177
177
|
private _addTextRange;
|
|
178
178
|
private _addRectRangesToCache;
|
|
179
179
|
private _addRectRanges;
|
|
180
|
-
private
|
|
180
|
+
private _createTextRangeByAnchorPosition;
|
|
181
181
|
private _updateActiveRangePosition;
|
|
182
182
|
private _isEmpty;
|
|
183
183
|
private _getCanvasOffset;
|
|
@@ -187,9 +187,7 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
187
187
|
private _initInputEvents;
|
|
188
188
|
private _eventHandle;
|
|
189
189
|
private _getTransformCoordForDocumentOffset;
|
|
190
|
-
|
|
191
|
-
private _getNodeIndex;
|
|
190
|
+
private _findNodeByCoord;
|
|
192
191
|
private _detachEvent;
|
|
193
|
-
private _activeSelectionRefresh;
|
|
194
192
|
}
|
|
195
193
|
export declare const ITextSelectionRenderManager: import('@univerjs/core').IdentifierDecorator<TextSelectionRenderManager>;
|
|
@@ -25,6 +25,8 @@ export declare class DocumentViewModel implements IDisposable {
|
|
|
25
25
|
readonly editAreaChange$: import('rxjs').Observable<Nullable<DocumentEditArea>>;
|
|
26
26
|
headerTreeMap: Map<string, DocumentViewModel>;
|
|
27
27
|
footerTreeMap: Map<string, DocumentViewModel>;
|
|
28
|
+
private readonly _segmentViewModels$;
|
|
29
|
+
readonly segmentViewModels$: import('rxjs').Observable<DocumentViewModel[]>;
|
|
28
30
|
constructor(_documentDataModel: DocumentDataModel);
|
|
29
31
|
registerCustomRangeInterceptor(interceptor: ICustomRangeInterceptor): IDisposable;
|
|
30
32
|
dispose(): void;
|
|
@@ -24,5 +24,9 @@ export declare class SpreadsheetColumnHeader extends SpreadsheetHeader {
|
|
|
24
24
|
draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
25
25
|
isHit(coord: Vector2): boolean;
|
|
26
26
|
private _initialDefaultExtension;
|
|
27
|
+
/**
|
|
28
|
+
* Custimize column header, such as custom header text and background.
|
|
29
|
+
* @param cfg
|
|
30
|
+
*/
|
|
27
31
|
setCustomHeader(cfg: IColumnsHeaderCfgParam): void;
|
|
28
32
|
}
|
|
@@ -7,6 +7,9 @@ export interface IColumnsHeaderCfgParam {
|
|
|
7
7
|
headerStyle?: Partial<IColumnStyleCfg>;
|
|
8
8
|
columnsCfg?: IAColumnCfg[];
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Column Header Bar, include a lot of columns header
|
|
12
|
+
*/
|
|
10
13
|
export declare class ColumnHeaderLayout extends SheetExtension {
|
|
11
14
|
uKey: string;
|
|
12
15
|
Z_INDEX: number;
|
|
@@ -6,6 +6,16 @@ export declare enum SHEET_EXTENSION_TYPE {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class SheetExtension extends ComponentExtension<SpreadsheetSkeleton, SHEET_EXTENSION_TYPE, IRange[]> {
|
|
8
8
|
type: SHEET_EXTENSION_TYPE;
|
|
9
|
+
/**
|
|
10
|
+
* Get ISelectionCellWithMergeInfo by cell rowIndex and cell columnIndex.
|
|
11
|
+
* The startXY in return value does not include rowHeader and columnHeader.
|
|
12
|
+
* @param rowIndex
|
|
13
|
+
* @param columnIndex
|
|
14
|
+
* @param rowHeightAccumulation
|
|
15
|
+
* @param columnWidthAccumulation
|
|
16
|
+
* @param dataMergeCache
|
|
17
|
+
* @returns ISelectionCellWithMergeInfo
|
|
18
|
+
*/
|
|
9
19
|
getCellIndex(rowIndex: number, columnIndex: number, rowHeightAccumulation: number[], columnWidthAccumulation: number[], dataMergeCache: IRange[]): import('@univerjs/core').ISelectionCellWithMergeInfo;
|
|
10
20
|
isRenderDiffRangesByCell(rangeP: IRange, diffRanges?: IRange[]): boolean;
|
|
11
21
|
isRenderDiffRangesByColumn(curStartColumn: number, curEndColumn: number, diffRanges?: IRange[]): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IPaddingData, IRange, IRowAutoHeightInfo, ISelectionCellWithMergeInfo, ITextRotation, IWorksheetData, Nullable, Styles, Worksheet } from '@univerjs/core';
|
|
1
|
+
import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IColumnRange, IPaddingData, IPosition, IRange, IRowAutoHeightInfo, ISelectionCellWithMergeInfo, ISize, ITextRotation, IWorksheetData, Nullable, Styles, Worksheet } from '@univerjs/core';
|
|
2
2
|
import { IBoundRectNoAngle, IViewportInfo } from '../../basics/vector2';
|
|
3
3
|
import { DocumentSkeleton } from '../docs/layout/doc-skeleton';
|
|
4
4
|
import { Skeleton } from '../skeleton';
|
|
@@ -8,10 +8,7 @@ import { IStylesCache } from './interfaces';
|
|
|
8
8
|
* @param documentSkeleton Data of the document's ViewModel
|
|
9
9
|
* @param angleInDegree The rotation angle of an Excel cell, it's **degree**
|
|
10
10
|
*/
|
|
11
|
-
export declare function getDocsSkeletonPageSize(documentSkeleton: DocumentSkeleton, angleInDegree?: number):
|
|
12
|
-
width: number;
|
|
13
|
-
height: number;
|
|
14
|
-
} | undefined;
|
|
11
|
+
export declare function getDocsSkeletonPageSize(documentSkeleton: DocumentSkeleton, angleInDegree?: number): Nullable<Required<ISize>>;
|
|
15
12
|
interface IRowColumnSegment {
|
|
16
13
|
startRow: number;
|
|
17
14
|
endRow: number;
|
|
@@ -35,6 +32,10 @@ export declare const DEFAULT_PADDING_DATA: {
|
|
|
35
32
|
r: number;
|
|
36
33
|
};
|
|
37
34
|
export declare const RENDER_RAW_FORMULA_KEY = "RENDER_RAW_FORMULA";
|
|
35
|
+
export interface ICacheItem {
|
|
36
|
+
bg: boolean;
|
|
37
|
+
border: boolean;
|
|
38
|
+
}
|
|
38
39
|
export declare class SpreadsheetSkeleton extends Skeleton {
|
|
39
40
|
readonly worksheet: Worksheet;
|
|
40
41
|
/**
|
|
@@ -101,11 +102,14 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
101
102
|
setOverflowCache(value: ObjectMatrix<IRange>): void;
|
|
102
103
|
setMarginLeft(left: number): void;
|
|
103
104
|
setMarginTop(top: number): void;
|
|
104
|
-
calculateSegment(bounds?: IViewportInfo):
|
|
105
|
-
calculateWithoutClearingCache(bounds?: IViewportInfo):
|
|
106
|
-
calculate(bounds?: IViewportInfo):
|
|
105
|
+
calculateSegment(bounds?: IViewportInfo): boolean;
|
|
106
|
+
calculateWithoutClearingCache(bounds?: IViewportInfo): Nullable<SpreadsheetSkeleton>;
|
|
107
|
+
calculate(bounds?: IViewportInfo): Nullable<SpreadsheetSkeleton>;
|
|
107
108
|
calculateAutoHeightInRange(ranges: Nullable<IRange[]>): IRowAutoHeightInfo[];
|
|
108
109
|
private _calculateRowAutoHeight;
|
|
110
|
+
/**
|
|
111
|
+
* Calculate data for row col & cell position, then update position value to this._rowHeaderWidth & this._rowHeightAccumulation & this._columnHeaderHeight & this._columnWidthAccumulation.
|
|
112
|
+
*/
|
|
109
113
|
private _updateLayout;
|
|
110
114
|
private _dynamicallyUpdateRowHeaderWidth;
|
|
111
115
|
getRowColumnSegment(bounds?: IViewportInfo): IRange;
|
|
@@ -119,27 +123,11 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
119
123
|
appendToOverflowCache(row: number, column: number, startColumn: number, endColumn: number): void;
|
|
120
124
|
getColumnCount(): number;
|
|
121
125
|
getRowCount(): number;
|
|
122
|
-
getOverflowPosition(contentSize:
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}, horizontalAlign: HorizontalAlign, row: number, column: number, columnCount: number): {
|
|
126
|
-
startColumn: number;
|
|
127
|
-
endColumn: number;
|
|
128
|
-
};
|
|
129
|
-
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): {
|
|
130
|
-
startY: number;
|
|
131
|
-
endY: number;
|
|
132
|
-
startX: number;
|
|
133
|
-
endX: number;
|
|
134
|
-
};
|
|
135
|
-
getNoMergeCellPositionByIndexWithNoHeader(rowIndex: number, columnIndex: number): {
|
|
136
|
-
startY: number;
|
|
137
|
-
endY: number;
|
|
138
|
-
startX: number;
|
|
139
|
-
endX: number;
|
|
140
|
-
};
|
|
126
|
+
getOverflowPosition(contentSize: Required<ISize>, horizontalAlign: HorizontalAlign, row: number, column: number, columnCount: number): IColumnRange;
|
|
127
|
+
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): IPosition;
|
|
128
|
+
getNoMergeCellPositionByIndexWithNoHeader(rowIndex: number, columnIndex: number): IPosition;
|
|
141
129
|
/**
|
|
142
|
-
*
|
|
130
|
+
* Get cell by pos(offsetX, offsetY).
|
|
143
131
|
* @param offsetX HTML coordinate system, mouse position x.
|
|
144
132
|
* @param offsetY HTML coordinate system, mouse position y.
|
|
145
133
|
* @param scaleX render scene scale x-axis, scene.getAncestorScale
|
|
@@ -210,31 +198,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
210
198
|
* @param column Specified Column Coordinate
|
|
211
199
|
*/
|
|
212
200
|
getCellByIndex(row: number, column: number): ISelectionCellWithMergeInfo;
|
|
213
|
-
getCellByIndexWithNoHeader(row: number, column: number):
|
|
214
|
-
actualRow: number;
|
|
215
|
-
actualColumn: number;
|
|
216
|
-
startY: number;
|
|
217
|
-
endY: number;
|
|
218
|
-
startX: number;
|
|
219
|
-
endX: number;
|
|
220
|
-
isMerged: boolean;
|
|
221
|
-
isMergedMainCell: boolean;
|
|
222
|
-
mergeInfo: {
|
|
223
|
-
startX: number;
|
|
224
|
-
startY: number;
|
|
225
|
-
endX: number;
|
|
226
|
-
endY: number;
|
|
227
|
-
rangeType?: import('@univerjs/core').RANGE_TYPE;
|
|
228
|
-
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
229
|
-
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
230
|
-
startRow: number;
|
|
231
|
-
endRow: number;
|
|
232
|
-
unitId?: string;
|
|
233
|
-
sheetId?: string;
|
|
234
|
-
startColumn: number;
|
|
235
|
-
endColumn: number;
|
|
236
|
-
};
|
|
237
|
-
};
|
|
201
|
+
getCellByIndexWithNoHeader(row: number, column: number): ISelectionCellWithMergeInfo;
|
|
238
202
|
convertTransformToOffsetX(offsetX: number, scaleX: number, scrollXY: {
|
|
239
203
|
x: number;
|
|
240
204
|
y: number;
|
|
@@ -275,7 +239,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
275
239
|
private _resetCache;
|
|
276
240
|
resetCache(): void;
|
|
277
241
|
private _makeDocumentSkeletonDirty;
|
|
278
|
-
private
|
|
242
|
+
private _setCellStylesCache;
|
|
279
243
|
private _updateConfigAndGetDocumentModel;
|
|
280
244
|
private _getDocumentDataByStyle;
|
|
281
245
|
/**
|
package/lib/types/engine.d.ts
CHANGED
package/lib/types/layer.d.ts
CHANGED
|
@@ -17,21 +17,29 @@ export declare class Layer extends Disposable {
|
|
|
17
17
|
disableCache(): void;
|
|
18
18
|
isAllowCache(): boolean;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @returns BaseObject[]
|
|
20
|
+
* Get direct visible children in order. (direct means object is not in group), default order is ascending by z-index.
|
|
21
|
+
* @returns {BaseObject[]} objects
|
|
22
22
|
*/
|
|
23
23
|
getObjectsByOrder(): BaseObject[];
|
|
24
|
+
/**
|
|
25
|
+
* Get visible and evented objects.
|
|
26
|
+
* @returns {BaseObject[]} objects
|
|
27
|
+
*/
|
|
24
28
|
getObjectsByOrderForPick(): BaseObject[];
|
|
25
29
|
getObjects(): BaseObject[];
|
|
26
30
|
/**
|
|
27
|
-
* insert
|
|
28
|
-
* if o is a group, insert all its children and group itself to _objects[]
|
|
31
|
+
* Insert object to this._objects, if object is a group, insert all its children and group itself to _objects[]
|
|
29
32
|
* @param o
|
|
30
|
-
* @returns this
|
|
33
|
+
* @returns {Layer} this
|
|
31
34
|
*/
|
|
32
|
-
addObject(o: BaseObject):
|
|
35
|
+
addObject(o: BaseObject): Layer;
|
|
33
36
|
removeObject(object: BaseObject | string): void;
|
|
34
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Insert objects to this._objects, if object is a group, insert all its children and group itself to _objects[]
|
|
39
|
+
* @param objects
|
|
40
|
+
* @returns {Layer} this
|
|
41
|
+
*/
|
|
42
|
+
addObjects(objects: BaseObject[]): Layer;
|
|
35
43
|
removeObjects(objects: BaseObject[] | string[]): void;
|
|
36
44
|
makeDirty(state?: boolean): this;
|
|
37
45
|
makeDirtyWithDebounce(state?: boolean): void;
|
|
@@ -43,7 +43,7 @@ export interface IRenderManagerService extends IDisposable {
|
|
|
43
43
|
/**
|
|
44
44
|
* add dep to _renderDependencies(type, dep)
|
|
45
45
|
* @param type
|
|
46
|
-
* @param
|
|
46
|
+
* @param dep
|
|
47
47
|
*/
|
|
48
48
|
registerRenderModule<T extends UnitModel>(type: UnitType, dep: Dependency<T>): IDisposable;
|
|
49
49
|
}
|
|
@@ -103,13 +103,13 @@ export declare class RenderManagerService extends Disposable implements IRenderM
|
|
|
103
103
|
* @returns renderUnit:IRender
|
|
104
104
|
*/
|
|
105
105
|
private _createRender;
|
|
106
|
-
addRender(unitId: string,
|
|
106
|
+
addRender(unitId: string, renderUnit: IRender): void;
|
|
107
107
|
private _addRenderUnit;
|
|
108
108
|
removeRender(unitId: string): void;
|
|
109
109
|
has(unitId: string): boolean;
|
|
110
110
|
setCurrent(unitId: string): void;
|
|
111
|
-
getCurrent(): IRender
|
|
112
|
-
getFirst(): IRender
|
|
111
|
+
getCurrent(): Nullable<IRender>;
|
|
112
|
+
getFirst(): Nullable<IRender>;
|
|
113
113
|
/**
|
|
114
114
|
* get RenderUnit from this._renderMap
|
|
115
115
|
* @param unitId
|
|
@@ -2,6 +2,11 @@ import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, Uni
|
|
|
2
2
|
import { Engine } from '../engine';
|
|
3
3
|
import { Scene } from '../scene';
|
|
4
4
|
import { RenderComponentType } from './render-manager.service';
|
|
5
|
+
/**
|
|
6
|
+
* Public interface of a {@link RenderUnit}.
|
|
7
|
+
*
|
|
8
|
+
* @property {string} unitId - The id of the RenderUnit.
|
|
9
|
+
*/
|
|
5
10
|
export interface IRender {
|
|
6
11
|
unitId: string;
|
|
7
12
|
type: UniverInstanceType;
|
|
@@ -13,17 +18,22 @@ export interface IRender {
|
|
|
13
18
|
isThumbNail?: boolean;
|
|
14
19
|
with<T>(dependency: DependencyIdentifier<T>): T;
|
|
15
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Every render module should implement this interface.
|
|
23
|
+
*/
|
|
16
24
|
export interface IRenderModule extends IDisposable {
|
|
17
25
|
}
|
|
18
26
|
/**
|
|
19
|
-
* This
|
|
27
|
+
* Necessary context for a render module.This interface would be the first argument of render modules' constructor
|
|
28
|
+
* functions.
|
|
20
29
|
*/
|
|
21
30
|
export interface IRenderContext<T extends UnitModel = UnitModel> extends Omit<IRender, 'with'> {
|
|
22
31
|
unit: T;
|
|
23
32
|
type: UnitType;
|
|
24
33
|
}
|
|
25
34
|
/**
|
|
26
|
-
*
|
|
35
|
+
* This class is necessary for Univer to render several units in the same webpage. It encapsulates the rendering
|
|
36
|
+
* context and rendering modules for a specific unit.
|
|
27
37
|
*/
|
|
28
38
|
export declare class RenderUnit extends Disposable implements IRender {
|
|
29
39
|
readonly isRenderUnit: boolean;
|
|
@@ -43,9 +53,13 @@ export declare class RenderUnit extends Disposable implements IRender {
|
|
|
43
53
|
constructor(init: Pick<IRenderContext, 'engine' | 'scene' | 'isMainScene' | 'unit'>, parentInjector: Injector);
|
|
44
54
|
dispose(): void;
|
|
45
55
|
/**
|
|
46
|
-
* Get
|
|
56
|
+
* Get a dependency from the RenderUnit's injector.
|
|
47
57
|
*/
|
|
48
58
|
with<T>(dependency: DependencyIdentifier<T>): T;
|
|
59
|
+
/**
|
|
60
|
+
* Add render dependencies to the RenderUnit's injector. Note that the dependencies would be initialized immediately
|
|
61
|
+
* after being added.
|
|
62
|
+
*/
|
|
49
63
|
addRenderDependencies(dependencies: Dependency[]): void;
|
|
50
64
|
private _initDependencies;
|
|
51
65
|
}
|
package/lib/types/scene.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { ThinEngine } from './thin-engine';
|
|
|
12
12
|
import { ThinScene } from './thin-scene';
|
|
13
13
|
import { Viewport } from './viewport';
|
|
14
14
|
import { ITransformerConfig } from './basics/transformer-config';
|
|
15
|
+
import { Engine } from './engine';
|
|
15
16
|
export declare class Scene extends ThinScene {
|
|
16
17
|
private _parent;
|
|
17
18
|
private _layers;
|
|
@@ -48,8 +49,10 @@ export declare class Scene extends ThinScene {
|
|
|
48
49
|
resize(width?: number, height?: number): this;
|
|
49
50
|
setScaleValue(scaleX: number, scaleY: number): void;
|
|
50
51
|
/**
|
|
51
|
-
* scale to
|
|
52
|
-
*
|
|
52
|
+
* Set scale, and then emit event to update Viewport scroll state.
|
|
53
|
+
* @param scaleX
|
|
54
|
+
* @param scaleY
|
|
55
|
+
* @returns Scene
|
|
53
56
|
*/
|
|
54
57
|
scale(scaleX?: number, scaleY?: number): this;
|
|
55
58
|
/**
|
|
@@ -57,42 +60,65 @@ export declare class Scene extends ThinScene {
|
|
|
57
60
|
*/
|
|
58
61
|
scaleBy(scaleX?: number, scaleY?: number): this;
|
|
59
62
|
/**
|
|
60
|
-
*
|
|
61
|
-
* scene._setTransForm --> viewport@resetCanvasSizeAndUpdateScrollBar ---> scrollTo ---> limitedScroll ---> onScrollBeforeObserver ---> setScrollInfo
|
|
62
|
-
* scrollInfo needs accurate scene width & height, limitedScroll depends on scene & engine's width & height
|
|
63
|
+
* Reset canvas size and update scroll
|
|
63
64
|
* @param state
|
|
64
65
|
*/
|
|
65
66
|
transformByState(state: ISceneTransformState): void;
|
|
66
67
|
getParent(): ThinEngine<Scene> | SceneViewer;
|
|
67
|
-
getEngine(): Nullable<
|
|
68
|
+
getEngine(): Nullable<Engine>;
|
|
68
69
|
getLayers(): Layer[];
|
|
69
70
|
getLayer(zIndex?: number): Layer;
|
|
70
71
|
getLayerMaxZIndex(): number;
|
|
71
72
|
addLayer(...argument: Layer[]): void;
|
|
72
|
-
addObjects(objects: BaseObject[], zIndex?: number): this;
|
|
73
|
-
addObject(o: BaseObject, zIndex?: number): this;
|
|
74
73
|
/**
|
|
75
|
-
*
|
|
74
|
+
* Add objects to Layer( Layer is specfied by zIndex)
|
|
75
|
+
* If object is a group, insert all its children and group itself to _objects[].
|
|
76
|
+
* @param objects
|
|
77
|
+
* @param zIndex
|
|
78
|
+
* @returns {Scene} this
|
|
79
|
+
*/
|
|
80
|
+
addObjects(objects: BaseObject[], zIndex?: number): Scene;
|
|
81
|
+
/**
|
|
82
|
+
* Add object to Layer (Layer is specified by zIndex).
|
|
83
|
+
* If object is a group, insert all its children and group itself to _objects[].
|
|
84
|
+
* @param o
|
|
85
|
+
* @param zIndex layer index
|
|
86
|
+
* @returns {Scene} scene
|
|
87
|
+
*/
|
|
88
|
+
addObject(o: BaseObject, zIndex?: number): Scene;
|
|
89
|
+
/**
|
|
90
|
+
* Set Scene as object parent, if object has no parent.
|
|
76
91
|
* @param o
|
|
92
|
+
* @returns {void}
|
|
77
93
|
*/
|
|
78
94
|
setObjectBehavior(o: BaseObject): void;
|
|
79
|
-
removeObject(object?: BaseObject | string):
|
|
80
|
-
removeObjects(objects?: BaseObject[] | string[]):
|
|
95
|
+
removeObject(object?: BaseObject | string): Nullable<Scene>;
|
|
96
|
+
removeObjects(objects?: BaseObject[] | string[]): Nullable<Scene>;
|
|
81
97
|
getObjectsByLayer(zIndex: number): BaseObject[];
|
|
82
98
|
/**
|
|
83
|
-
*
|
|
84
|
-
* @returns BaseObject[]
|
|
99
|
+
* Get all objects of each Layer.
|
|
100
|
+
* @returns {BaseObject[]} objects
|
|
85
101
|
*/
|
|
86
102
|
getAllObjects(): BaseObject[];
|
|
103
|
+
/**
|
|
104
|
+
* Get objects which is visible and not in a group in each layer.
|
|
105
|
+
* @returns BaseObject[]
|
|
106
|
+
*/
|
|
107
|
+
getAllObjectsByOrder(): BaseObject[];
|
|
87
108
|
/**
|
|
88
109
|
* get objects which is visible and not in a group.
|
|
89
110
|
* @param isDesc
|
|
90
111
|
* @returns BaseObject[]
|
|
91
112
|
*/
|
|
92
|
-
|
|
113
|
+
getAllObjectsByDescOrder(isDesc?: boolean): BaseObject[];
|
|
114
|
+
/**
|
|
115
|
+
* Get visible and evented objects.
|
|
116
|
+
* @param isDesc
|
|
117
|
+
* @returns {BaseObject[]} objects
|
|
118
|
+
*/
|
|
93
119
|
getAllObjectsByOrderForPick(isDesc?: boolean): BaseObject[];
|
|
94
|
-
getObject(oKey: string): BaseObject
|
|
95
|
-
getObjectIncludeInGroup(oKey: string): BaseObject
|
|
120
|
+
getObject(oKey: string): Nullable<BaseObject>;
|
|
121
|
+
getObjectIncludeInGroup(oKey: string): Nullable<BaseObject>;
|
|
96
122
|
fuzzyMathObjects(oKey: string, matchStart?: boolean): BaseObject[];
|
|
97
123
|
addViewport(...viewport: Viewport[]): this;
|
|
98
124
|
removeViewport(key: string): Viewport | undefined;
|
|
@@ -90,11 +90,7 @@ export declare class RichText extends BaseObject {
|
|
|
90
90
|
private _convertToDocumentData;
|
|
91
91
|
private _initialProps;
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
94
|
-
* it should be invoked when _documentData changed.
|
|
95
|
-
* _documentData changed ---> update _documentSkeleton & _documentSkeleton
|
|
96
|
-
*
|
|
97
|
-
* now it is invoked when transformByState(change editor size) & end of editing
|
|
93
|
+
* After changing editor size & end of editing, update skeleton of doc.
|
|
98
94
|
*/
|
|
99
95
|
refreshDocumentByDocData(): void;
|
|
100
96
|
/**
|
|
@@ -102,7 +102,11 @@ export declare abstract class Shape<T extends IShapeProps> extends BaseObject {
|
|
|
102
102
|
private static _setFillStyles;
|
|
103
103
|
private static _setStrokeStyles;
|
|
104
104
|
render(mainCtx: UniverRenderingContext, bounds?: IViewportInfo): this;
|
|
105
|
-
|
|
105
|
+
/**
|
|
106
|
+
* this[_key] = props[key]
|
|
107
|
+
* @param props
|
|
108
|
+
*/
|
|
109
|
+
setProps(props?: T): Shape<T>;
|
|
106
110
|
toJson(): {
|
|
107
111
|
[x: string]: any;
|
|
108
112
|
};
|