@univerjs/engine-render 0.2.9 → 0.2.11
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 +2 -2
- package/lib/es/index.js +149 -95
- package/lib/types/components/docs/text-selection/text-selection-render-manager.d.ts +3 -5
- 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 +10 -54
- 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/scene.d.ts +30 -11
- package/lib/types/shape/shape.d.ts +5 -1
- package/lib/umd/index.js +2 -2
- package/package.json +5 -5
|
@@ -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';
|
|
@@ -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>;
|
|
@@ -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;
|
|
@@ -105,14 +102,13 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
105
102
|
setOverflowCache(value: ObjectMatrix<IRange>): void;
|
|
106
103
|
setMarginLeft(left: number): void;
|
|
107
104
|
setMarginTop(top: number): void;
|
|
108
|
-
calculateSegment(bounds?: IViewportInfo):
|
|
109
|
-
calculateWithoutClearingCache(bounds?: IViewportInfo):
|
|
110
|
-
calculate(bounds?: IViewportInfo):
|
|
105
|
+
calculateSegment(bounds?: IViewportInfo): boolean;
|
|
106
|
+
calculateWithoutClearingCache(bounds?: IViewportInfo): Nullable<SpreadsheetSkeleton>;
|
|
107
|
+
calculate(bounds?: IViewportInfo): Nullable<SpreadsheetSkeleton>;
|
|
111
108
|
calculateAutoHeightInRange(ranges: Nullable<IRange[]>): IRowAutoHeightInfo[];
|
|
112
109
|
private _calculateRowAutoHeight;
|
|
113
110
|
/**
|
|
114
111
|
* Calculate data for row col & cell position, then update position value to this._rowHeaderWidth & this._rowHeightAccumulation & this._columnHeaderHeight & this._columnWidthAccumulation.
|
|
115
|
-
* @returns this
|
|
116
112
|
*/
|
|
117
113
|
private _updateLayout;
|
|
118
114
|
private _dynamicallyUpdateRowHeaderWidth;
|
|
@@ -127,27 +123,11 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
127
123
|
appendToOverflowCache(row: number, column: number, startColumn: number, endColumn: number): void;
|
|
128
124
|
getColumnCount(): number;
|
|
129
125
|
getRowCount(): number;
|
|
130
|
-
getOverflowPosition(contentSize:
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}, horizontalAlign: HorizontalAlign, row: number, column: number, columnCount: number): {
|
|
134
|
-
startColumn: number;
|
|
135
|
-
endColumn: number;
|
|
136
|
-
};
|
|
137
|
-
getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): {
|
|
138
|
-
startY: number;
|
|
139
|
-
endY: number;
|
|
140
|
-
startX: number;
|
|
141
|
-
endX: number;
|
|
142
|
-
};
|
|
143
|
-
getNoMergeCellPositionByIndexWithNoHeader(rowIndex: number, columnIndex: number): {
|
|
144
|
-
startY: number;
|
|
145
|
-
endY: number;
|
|
146
|
-
startX: number;
|
|
147
|
-
endX: number;
|
|
148
|
-
};
|
|
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;
|
|
149
129
|
/**
|
|
150
|
-
*
|
|
130
|
+
* Get cell by pos(offsetX, offsetY).
|
|
151
131
|
* @param offsetX HTML coordinate system, mouse position x.
|
|
152
132
|
* @param offsetY HTML coordinate system, mouse position y.
|
|
153
133
|
* @param scaleX render scene scale x-axis, scene.getAncestorScale
|
|
@@ -218,31 +198,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
218
198
|
* @param column Specified Column Coordinate
|
|
219
199
|
*/
|
|
220
200
|
getCellByIndex(row: number, column: number): ISelectionCellWithMergeInfo;
|
|
221
|
-
getCellByIndexWithNoHeader(row: number, column: number):
|
|
222
|
-
actualRow: number;
|
|
223
|
-
actualColumn: number;
|
|
224
|
-
startY: number;
|
|
225
|
-
endY: number;
|
|
226
|
-
startX: number;
|
|
227
|
-
endX: number;
|
|
228
|
-
isMerged: boolean;
|
|
229
|
-
isMergedMainCell: boolean;
|
|
230
|
-
mergeInfo: {
|
|
231
|
-
startX: number;
|
|
232
|
-
startY: number;
|
|
233
|
-
endX: number;
|
|
234
|
-
endY: number;
|
|
235
|
-
rangeType?: import('@univerjs/core').RANGE_TYPE;
|
|
236
|
-
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
237
|
-
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
238
|
-
startRow: number;
|
|
239
|
-
endRow: number;
|
|
240
|
-
unitId?: string;
|
|
241
|
-
sheetId?: string;
|
|
242
|
-
startColumn: number;
|
|
243
|
-
endColumn: number;
|
|
244
|
-
};
|
|
245
|
-
};
|
|
201
|
+
getCellByIndexWithNoHeader(row: number, column: number): ISelectionCellWithMergeInfo;
|
|
246
202
|
convertTransformToOffsetX(offsetX: number, scaleX: number, scrollXY: {
|
|
247
203
|
x: number;
|
|
248
204
|
y: number;
|
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
|
package/lib/types/scene.d.ts
CHANGED
|
@@ -70,36 +70,55 @@ export declare class Scene extends ThinScene {
|
|
|
70
70
|
getLayer(zIndex?: number): Layer;
|
|
71
71
|
getLayerMaxZIndex(): number;
|
|
72
72
|
addLayer(...argument: Layer[]): void;
|
|
73
|
-
|
|
73
|
+
/**
|
|
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;
|
|
74
81
|
/**
|
|
75
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[].
|
|
76
84
|
* @param o
|
|
77
85
|
* @param zIndex layer index
|
|
78
|
-
* @returns scene
|
|
86
|
+
* @returns {Scene} scene
|
|
79
87
|
*/
|
|
80
|
-
addObject(o: BaseObject, zIndex?: number):
|
|
88
|
+
addObject(o: BaseObject, zIndex?: number): Scene;
|
|
81
89
|
/**
|
|
82
|
-
*
|
|
90
|
+
* Set Scene as object parent, if object has no parent.
|
|
83
91
|
* @param o
|
|
92
|
+
* @returns {void}
|
|
84
93
|
*/
|
|
85
94
|
setObjectBehavior(o: BaseObject): void;
|
|
86
|
-
removeObject(object?: BaseObject | string):
|
|
87
|
-
removeObjects(objects?: BaseObject[] | string[]):
|
|
95
|
+
removeObject(object?: BaseObject | string): Nullable<Scene>;
|
|
96
|
+
removeObjects(objects?: BaseObject[] | string[]): Nullable<Scene>;
|
|
88
97
|
getObjectsByLayer(zIndex: number): BaseObject[];
|
|
89
98
|
/**
|
|
90
|
-
*
|
|
91
|
-
* @returns BaseObject[]
|
|
99
|
+
* Get all objects of each Layer.
|
|
100
|
+
* @returns {BaseObject[]} objects
|
|
92
101
|
*/
|
|
93
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[];
|
|
94
108
|
/**
|
|
95
109
|
* get objects which is visible and not in a group.
|
|
96
110
|
* @param isDesc
|
|
97
111
|
* @returns BaseObject[]
|
|
98
112
|
*/
|
|
99
|
-
|
|
113
|
+
getAllObjectsByDescOrder(isDesc?: boolean): BaseObject[];
|
|
114
|
+
/**
|
|
115
|
+
* Get visible and evented objects.
|
|
116
|
+
* @param isDesc
|
|
117
|
+
* @returns {BaseObject[]} objects
|
|
118
|
+
*/
|
|
100
119
|
getAllObjectsByOrderForPick(isDesc?: boolean): BaseObject[];
|
|
101
|
-
getObject(oKey: string): BaseObject
|
|
102
|
-
getObjectIncludeInGroup(oKey: string): BaseObject
|
|
120
|
+
getObject(oKey: string): Nullable<BaseObject>;
|
|
121
|
+
getObjectIncludeInGroup(oKey: string): Nullable<BaseObject>;
|
|
103
122
|
fuzzyMathObjects(oKey: string, matchStart?: boolean): BaseObject[];
|
|
104
123
|
addViewport(...viewport: Viewport[]): this;
|
|
105
124
|
removeViewport(key: string): Viewport | undefined;
|
|
@@ -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
|
};
|