@univerjs/engine-render 0.2.9 → 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.
@@ -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 { INodeInfo, INodePosition } from '../../../basics/interfaces';
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, IFindNodeRestrictions } from '../layout/doc-skeleton';
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
- findNodeByCoord(evtOffsetX: number, evtOffsetY: number, restrictions: IFindNodeRestrictions): Nullable<INodeInfo>;
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): true | undefined;
109
- calculateWithoutClearingCache(bounds?: IViewportInfo): this | undefined;
110
- calculate(bounds?: IViewportInfo): this;
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
- width: number;
132
- height: number;
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;
@@ -38,7 +38,7 @@ export declare class Engine extends ThinEngine<Scene> {
38
38
  private _dropEvent;
39
39
  private _remainCapture;
40
40
  /** previous pointer position */
41
- private pointer;
41
+ private _pointer;
42
42
  private _mouseId;
43
43
  private _isUsingFirefox;
44
44
  private _previousWidth;
@@ -17,21 +17,29 @@ export declare class Layer extends Disposable {
17
17
  disableCache(): void;
18
18
  isAllowCache(): boolean;
19
19
  /**
20
- * get objects which is visible and not in a group.
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 o to _objects[]
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): this;
35
+ addObject(o: BaseObject): Layer;
33
36
  removeObject(object: BaseObject | string): void;
34
- addObjects(objects: BaseObject[]): this;
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 depCtor
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, item: IRender): void;
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 | undefined;
112
- getFirst(): IRender;
111
+ getCurrent(): Nullable<IRender>;
112
+ getFirst(): Nullable<IRender>;
113
113
  /**
114
114
  * get RenderUnit from this._renderMap
115
115
  * @param unitId
@@ -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
- addObjects(objects: BaseObject[], zIndex?: number): this;
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): this;
88
+ addObject(o: BaseObject, zIndex?: number): Scene;
81
89
  /**
82
- * make object parent to scene
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): this | undefined;
87
- removeObjects(objects?: BaseObject[] | string[]): this | undefined;
95
+ removeObject(object?: BaseObject | string): Nullable<Scene>;
96
+ removeObjects(objects?: BaseObject[] | string[]): Nullable<Scene>;
88
97
  getObjectsByLayer(zIndex: number): BaseObject[];
89
98
  /**
90
- * get objects which is visible and not in a group in each layer.
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
- getAllObjectsByOrder(isDesc?: boolean): BaseObject[];
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 | undefined;
102
- getObjectIncludeInGroup(oKey: string): BaseObject | undefined;
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
- setProps(props?: T): this | undefined;
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
  };