@univerjs/engine-render 0.1.16 → 0.2.0
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 +10897 -10461
- package/lib/types/base-object.d.ts +19 -22
- package/lib/types/basics/const.d.ts +0 -12
- package/lib/types/basics/i-document-skeleton-cached.d.ts +7 -16
- package/lib/types/basics/interfaces.d.ts +8 -4
- package/lib/types/basics/range.d.ts +2 -0
- package/lib/types/basics/tools.d.ts +5 -5
- package/lib/types/components/docs/document.d.ts +5 -4
- package/lib/types/components/docs/layout/block/paragraph/language-ruler.d.ts +4 -4
- package/lib/types/components/docs/layout/block/paragraph/linebreaking.d.ts +2 -1
- package/lib/types/components/docs/layout/doc-skeleton.d.ts +11 -6
- package/lib/types/components/docs/layout/shaping-engine/text-shaping.d.ts +1 -2
- package/lib/types/components/docs/layout/style/custom-decoration.d.ts +3 -0
- package/lib/types/components/docs/layout/style/custom-range.d.ts +3 -0
- package/lib/types/components/docs/layout/tools.d.ts +1 -1
- package/lib/types/components/docs/liquid.d.ts +1 -1
- package/lib/types/components/docs/text-selection/text-range.d.ts +6 -0
- package/lib/types/components/docs/text-selection/text-selection-render-manager.d.ts +10 -3
- package/lib/types/components/docs/view-model/document-view-model.d.ts +21 -2
- package/lib/types/components/sheets/extensions/row-header-layout.d.ts +11 -0
- package/lib/types/components/sheets/extensions/sheet-extension.d.ts +1 -1
- package/lib/types/components/sheets/interfaces.d.ts +15 -2
- package/lib/types/components/sheets/row-header.d.ts +2 -1
- package/lib/types/components/sheets/sheet-skeleton.d.ts +13 -12
- package/lib/types/components/sheets/spreadsheet.d.ts +0 -1
- package/lib/types/components/slides/slide.d.ts +2 -2
- package/lib/types/engine.d.ts +6 -10
- package/lib/types/index.d.ts +3 -1
- package/lib/types/layer.d.ts +6 -0
- package/lib/types/render-manager/render-manager.service.d.ts +10 -6
- package/lib/types/render-manager/render-unit.d.ts +1 -1
- package/lib/types/scene-viewer.d.ts +1 -1
- package/lib/types/scene.d.ts +7 -3
- package/lib/types/scene.input-manager.d.ts +4 -2
- package/lib/types/scene.transformer.d.ts +15 -10
- package/lib/types/shape/dashedrect.d.ts +8 -0
- package/lib/types/shape/index.d.ts +1 -0
- package/lib/types/shape/scroll-bar.d.ts +5 -4
- package/lib/types/shape/shape.d.ts +2 -2
- package/lib/types/thin-engine.d.ts +3 -3
- package/lib/types/thin-scene.d.ts +23 -22
- package/lib/types/viewport.d.ts +42 -13
- package/lib/umd/index.js +2 -2
- package/package.json +8 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { IKeyValue, ITransformState, Nullable, Disposable, EventSubject } from '@univerjs/core';
|
|
2
|
+
import { CURSOR_TYPE, RENDER_CLASS_TYPE } from './basics/const';
|
|
3
3
|
import { IDragEvent, IMouseEvent, IPointerEvent, IWheelEvent } from './basics/i-events';
|
|
4
4
|
import { IObjectFullState, ITransformChangeState } from './basics/interfaces';
|
|
5
5
|
import { Transform } from './basics/transform';
|
|
@@ -12,23 +12,23 @@ export declare const BASE_OBJECT_ARRAY: string[];
|
|
|
12
12
|
export declare abstract class BaseObject extends Disposable {
|
|
13
13
|
groupKey?: string;
|
|
14
14
|
isInGroup: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
15
|
+
onTransformChange$: EventSubject<ITransformChangeState>;
|
|
16
|
+
onPointerDown$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
17
|
+
onPointerMove$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
18
|
+
onPointerUp$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
19
|
+
onPointerOut$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
20
|
+
onPointerOver$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
21
|
+
onPointerLeave$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
22
|
+
onPointerEnter$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
23
|
+
onDblclick$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
24
|
+
onTripleClick$: EventSubject<IMouseEvent | IPointerEvent>;
|
|
25
|
+
onMouseWheel$: EventSubject<IWheelEvent>;
|
|
26
|
+
onDragLeave$: EventSubject<IMouseEvent | IDragEvent>;
|
|
27
|
+
onDragOver$: EventSubject<IMouseEvent | IDragEvent>;
|
|
28
|
+
onDragEnter$: EventSubject<IMouseEvent | IDragEvent>;
|
|
29
|
+
onDrop$: EventSubject<IMouseEvent | IDragEvent>;
|
|
30
|
+
onIsAddedToParent$: EventSubject<any>;
|
|
31
|
+
onDispose$: EventSubject<BaseObject>;
|
|
32
32
|
protected _oKey: string;
|
|
33
33
|
protected _dirty: boolean;
|
|
34
34
|
protected _forceDirty: boolean;
|
|
@@ -133,9 +133,6 @@ export declare abstract class BaseObject extends Disposable {
|
|
|
133
133
|
show(): void;
|
|
134
134
|
render(ctx: UniverRenderingContext, bounds: IViewportInfo): void;
|
|
135
135
|
isHit(coord: Vector2): boolean;
|
|
136
|
-
on(eventType: EVENT_TYPE, func: (evt: unknown, state: EventState) => void): Nullable<Observer<unknown>>;
|
|
137
|
-
off(eventType: EVENT_TYPE, observer: Nullable<Observer<unknown>>): void;
|
|
138
|
-
clear(eventType: EVENT_TYPE): void;
|
|
139
136
|
triggerPointerMove(evt: IPointerEvent | IMouseEvent): boolean;
|
|
140
137
|
triggerPointerDown(evt: IPointerEvent | IMouseEvent): boolean;
|
|
141
138
|
triggerPointerUp(evt: IPointerEvent | IMouseEvent): boolean;
|
|
@@ -18,18 +18,6 @@ export declare enum SHAPE_TYPE {
|
|
|
18
18
|
CIRCLE = "circle",
|
|
19
19
|
PATH = "path"
|
|
20
20
|
}
|
|
21
|
-
export declare enum EVENT_TYPE {
|
|
22
|
-
PointerMove = "PointerMove",
|
|
23
|
-
PointerDown = "PointerDown",
|
|
24
|
-
PointerUp = "PointerUp",
|
|
25
|
-
PointerOut = "PointerOut",
|
|
26
|
-
PointerLeave = "PointerLeave",
|
|
27
|
-
PointerOver = "PointerOver",
|
|
28
|
-
PointerEnter = "PointerEnter",
|
|
29
|
-
wheel = "MouseWheel",
|
|
30
|
-
KeyDown = "KeyDown",
|
|
31
|
-
KeyUp = "KeyUp"
|
|
32
|
-
}
|
|
33
21
|
export declare enum LINK_VIEW_PORT_TYPE {
|
|
34
22
|
XY = 0,
|
|
35
23
|
X = 1,
|
|
@@ -9,8 +9,8 @@ export interface IDocumentSkeletonCached extends ISkeletonResourceReference {
|
|
|
9
9
|
ed?: number;
|
|
10
10
|
}
|
|
11
11
|
export interface ISkeletonResourceReference {
|
|
12
|
-
skeHeaders: Map<string, Map<number,
|
|
13
|
-
skeFooters: Map<string, Map<number,
|
|
12
|
+
skeHeaders: Map<string, Map<number, IDocumentSkeletonHeaderFooter>>;
|
|
13
|
+
skeFooters: Map<string, Map<number, IDocumentSkeletonHeaderFooter>>;
|
|
14
14
|
skeListLevel?: Map<string, IDocumentSkeletonBullet[]>;
|
|
15
15
|
drawingAnchor?: Map<number, IDocumentSkeletonDrawingAnchor>;
|
|
16
16
|
}
|
|
@@ -19,20 +19,6 @@ export interface IDocumentSkeletonDrawingAnchor {
|
|
|
19
19
|
paragraphIndex: number;
|
|
20
20
|
top: number;
|
|
21
21
|
}
|
|
22
|
-
export interface IDocumentSkeletonHeaderFooterBase {
|
|
23
|
-
lines: IDocumentSkeletonLine[];
|
|
24
|
-
skeDrawings: Map<string, IDocumentSkeletonDrawing>;
|
|
25
|
-
height: number;
|
|
26
|
-
st: number;
|
|
27
|
-
ed: number;
|
|
28
|
-
marginLeft: number;
|
|
29
|
-
}
|
|
30
|
-
export interface IDocumentSkeletonHeader extends IDocumentSkeletonHeaderFooterBase {
|
|
31
|
-
marginTop: number;
|
|
32
|
-
}
|
|
33
|
-
export interface IDocumentSkeletonFooter extends IDocumentSkeletonHeaderFooterBase {
|
|
34
|
-
marginBottom: number;
|
|
35
|
-
}
|
|
36
22
|
export interface IDocumentSkeletonPage {
|
|
37
23
|
sections: IDocumentSkeletonSection[];
|
|
38
24
|
headerId: string;
|
|
@@ -42,7 +28,9 @@ export interface IDocumentSkeletonPage {
|
|
|
42
28
|
pageOrient: PageOrientType;
|
|
43
29
|
marginLeft: number;
|
|
44
30
|
marginRight: number;
|
|
31
|
+
originMarginTop: number;
|
|
45
32
|
marginTop: number;
|
|
33
|
+
originMarginBottom: number;
|
|
46
34
|
marginBottom: number;
|
|
47
35
|
pageNumber: number;
|
|
48
36
|
pageNumberStart: number;
|
|
@@ -57,6 +45,8 @@ export interface IDocumentSkeletonPage {
|
|
|
57
45
|
renderConfig?: IDocumentRenderConfig;
|
|
58
46
|
parent?: IDocumentSkeletonCached;
|
|
59
47
|
}
|
|
48
|
+
export interface IDocumentSkeletonHeaderFooter extends IDocumentSkeletonPage {
|
|
49
|
+
}
|
|
60
50
|
export interface IDocumentSkeletonSection {
|
|
61
51
|
columns: IDocumentSkeletonColumn[];
|
|
62
52
|
colCount: number;
|
|
@@ -127,6 +117,7 @@ export interface IDocumentSkeletonGlyph {
|
|
|
127
117
|
left: number;
|
|
128
118
|
count: number;
|
|
129
119
|
content: string;
|
|
120
|
+
raw: string;
|
|
130
121
|
adjustability: IAdjustability;
|
|
131
122
|
isJustifiable: boolean;
|
|
132
123
|
ts?: ITextStyle;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BooleanNumber, GridType, IDocStyleBase, IDocumentLayout, IOffset, IParagraphStyle, IReferenceSource, IScale, ISectionBreakBase, ISize, ITextStyle, ITransformState, LocaleService } from '@univerjs/core';
|
|
2
2
|
import { DocumentViewModel } from '../components/docs/view-model/document-view-model';
|
|
3
|
-
import { IDocumentSkeletonBullet, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonFontStyle,
|
|
3
|
+
import { IDocumentSkeletonBullet, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonHeaderFooter } from './i-document-skeleton-cached';
|
|
4
4
|
import { Vector2 } from './vector2';
|
|
5
5
|
import { ITransformerConfig } from './transformer-config';
|
|
6
6
|
|
|
@@ -54,7 +54,7 @@ export interface ISectionBreakConfig extends IDocStyleBase, ISectionBreakBase, I
|
|
|
54
54
|
headerIds?: IHeaderIds;
|
|
55
55
|
footerIds?: IFooterIds;
|
|
56
56
|
useFirstPageHeaderFooter?: BooleanNumber;
|
|
57
|
-
|
|
57
|
+
evenAndOddHeaders?: BooleanNumber;
|
|
58
58
|
}
|
|
59
59
|
export interface IParagraphConfig {
|
|
60
60
|
paragraphIndex: number;
|
|
@@ -62,8 +62,8 @@ export interface IParagraphConfig {
|
|
|
62
62
|
paragraphInlineSkeDrawings?: Map<string, IDocumentSkeletonDrawing>;
|
|
63
63
|
bulletSkeleton?: IDocumentSkeletonBullet;
|
|
64
64
|
paragraphStyle?: IParagraphStyle;
|
|
65
|
-
skeHeaders: Map<string, Map<number,
|
|
66
|
-
skeFooters: Map<string, Map<number,
|
|
65
|
+
skeHeaders: Map<string, Map<number, IDocumentSkeletonHeaderFooter>>;
|
|
66
|
+
skeFooters: Map<string, Map<number, IDocumentSkeletonHeaderFooter>>;
|
|
67
67
|
drawingAnchor?: Map<number, IDocumentSkeletonDrawingAnchor>;
|
|
68
68
|
}
|
|
69
69
|
export interface IFontCreateConfig {
|
|
@@ -78,6 +78,8 @@ export interface INodeInfo {
|
|
|
78
78
|
node: IDocumentSkeletonGlyph;
|
|
79
79
|
ratioX: number;
|
|
80
80
|
ratioY: number;
|
|
81
|
+
segmentId: string;
|
|
82
|
+
segmentPage: number;
|
|
81
83
|
}
|
|
82
84
|
export interface INodeSearch {
|
|
83
85
|
glyph: number;
|
|
@@ -86,6 +88,8 @@ export interface INodeSearch {
|
|
|
86
88
|
column: number;
|
|
87
89
|
section: number;
|
|
88
90
|
page: number;
|
|
91
|
+
segmentPage: number;
|
|
92
|
+
isInBody: boolean;
|
|
89
93
|
}
|
|
90
94
|
export interface INodePosition extends INodeSearch {
|
|
91
95
|
isBack: boolean;
|
|
@@ -13,6 +13,8 @@ export interface ITextRangeWithStyle extends ITextRangeParam {
|
|
|
13
13
|
export interface ISuccinctTextRangeParam {
|
|
14
14
|
startOffset: number;
|
|
15
15
|
endOffset: number;
|
|
16
|
+
segmentId?: string;
|
|
17
|
+
segmentPage?: number;
|
|
16
18
|
style?: ITextSelectionStyle;
|
|
17
19
|
}
|
|
18
20
|
export declare enum RANGE_DIRECTION {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IRange, IRangeWithCoord, IScale,
|
|
1
|
+
import { IRange, IRangeWithCoord, IScale, ISelectionCellWithMergeInfo, IStyleBase, LocaleService, Nullable } from '@univerjs/core';
|
|
2
2
|
import { IBoundRectNoAngle } from './vector2';
|
|
3
3
|
import { IDocumentSkeletonFontStyle } from './i-document-skeleton-cached';
|
|
4
4
|
|
|
@@ -72,7 +72,7 @@ export declare function getCellPositionByIndex(row: number, column: number, rowH
|
|
|
72
72
|
startX: number;
|
|
73
73
|
endX: number;
|
|
74
74
|
};
|
|
75
|
-
export declare function getCellByIndex(row: number, column: number, rowHeightAccumulation: number[], columnWidthAccumulation: number[], mergeData: IRange[]):
|
|
75
|
+
export declare function getCellByIndex(row: number, column: number, rowHeightAccumulation: number[], columnWidthAccumulation: number[], mergeData: IRange[]): ISelectionCellWithMergeInfo;
|
|
76
76
|
/**
|
|
77
77
|
* Determine whether there are any cells in a row that are not in the merged cells, mainly used for the calculation of auto height
|
|
78
78
|
*/
|
|
@@ -84,9 +84,9 @@ export declare function mergeInfoOffset(mergeInfo: IRangeWithCoord, offsetX: num
|
|
|
84
84
|
endY: number;
|
|
85
85
|
startColumn: number;
|
|
86
86
|
endColumn: number;
|
|
87
|
-
rangeType?: import('@univerjs/core').RANGE_TYPE
|
|
88
|
-
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType
|
|
89
|
-
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType
|
|
87
|
+
rangeType?: import('@univerjs/core').RANGE_TYPE;
|
|
88
|
+
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
89
|
+
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
90
90
|
startRow: number;
|
|
91
91
|
endRow: number;
|
|
92
92
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Nullable
|
|
1
|
+
import { Nullable } from '@univerjs/core';
|
|
2
2
|
import { IDocumentSkeletonPage } from '../../basics/i-document-skeleton-cached';
|
|
3
3
|
import { Transform } from '../../basics/transform';
|
|
4
4
|
import { IViewportInfo } from '../../basics/vector2';
|
|
@@ -19,19 +19,20 @@ export interface IDocumentOffsetConfig extends IPageMarginLayout {
|
|
|
19
19
|
documentTransform: Transform;
|
|
20
20
|
}
|
|
21
21
|
export declare class Documents extends DocComponent {
|
|
22
|
-
|
|
22
|
+
private readonly _pageRender$;
|
|
23
|
+
readonly pageRender$: import('rxjs').Observable<IPageRenderConfig>;
|
|
23
24
|
docsLeft: number;
|
|
24
25
|
docsTop: number;
|
|
25
26
|
private _drawLiquid;
|
|
26
|
-
private _skeletonObserver;
|
|
27
27
|
constructor(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig);
|
|
28
28
|
static create(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig): Documents;
|
|
29
29
|
dispose(): void;
|
|
30
30
|
getOffsetConfig(): IDocumentOffsetConfig;
|
|
31
31
|
getEngine(): Nullable<import('../..').ThinEngine<Scene>>;
|
|
32
|
-
draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
33
32
|
changeSkeleton(newSkeleton: DocumentSkeleton): this;
|
|
34
33
|
protected _draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
34
|
+
draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
35
|
+
private _drawHeaderFooter;
|
|
35
36
|
private _horizontalHandler;
|
|
36
37
|
private _verticalHandler;
|
|
37
38
|
private _startRotation;
|
|
@@ -3,19 +3,19 @@ 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
5
|
|
|
6
|
-
export declare function otherHandler(index: number, charArray: string,
|
|
6
|
+
export declare function otherHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
|
|
7
7
|
step: number;
|
|
8
8
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
9
9
|
};
|
|
10
|
-
export declare function ArabicHandler(index: number, charArray: string,
|
|
10
|
+
export declare function ArabicHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
|
|
11
11
|
step: number;
|
|
12
12
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
13
13
|
};
|
|
14
|
-
export declare function emojiHandler(index: number, charArray: string,
|
|
14
|
+
export declare function emojiHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
|
|
15
15
|
step: number;
|
|
16
16
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
17
17
|
};
|
|
18
|
-
export declare function TibetanHandler(index: number, charArray: string,
|
|
18
|
+
export declare function TibetanHandler(index: number, charArray: string, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): {
|
|
19
19
|
step: number;
|
|
20
20
|
glyphGroup: import('../../../../..').IDocumentSkeletonGlyph[];
|
|
21
21
|
};
|
|
@@ -2,6 +2,7 @@ import { IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton
|
|
|
2
2
|
import { ILayoutContext } from '../../tools';
|
|
3
3
|
import { DataStreamTreeNode } from '../../../view-model/data-stream-tree-node';
|
|
4
4
|
import { ISectionBreakConfig } from '../../../../../basics/interfaces';
|
|
5
|
+
import { DocumentViewModel } from '../../../view-model/document-view-model';
|
|
5
6
|
import { IShapedText } from './shaping';
|
|
6
7
|
|
|
7
|
-
export declare function lineBreaking(ctx: ILayoutContext, shapedTextList: IShapedText[], curPage: IDocumentSkeletonPage, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig): IDocumentSkeletonPage[];
|
|
8
|
+
export declare function lineBreaking(ctx: ILayoutContext, viewModel: DocumentViewModel, shapedTextList: IShapedText[], curPage: IDocumentSkeletonPage, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig): IDocumentSkeletonPage[];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { LocaleService, Nullable } from '@univerjs/core';
|
|
2
|
-
import { IDocumentSkeletonCached, IDocumentSkeletonGlyph, PageLayoutType } from '../../../basics/i-document-skeleton-cached';
|
|
2
|
+
import { IDocumentSkeletonCached, IDocumentSkeletonGlyph, IDocumentSkeletonPage, PageLayoutType } from '../../../basics/i-document-skeleton-cached';
|
|
3
3
|
import { INodeInfo, INodePosition, INodeSearch } from '../../../basics/interfaces';
|
|
4
4
|
import { IViewportInfo, Vector2 } from '../../../basics/vector2';
|
|
5
5
|
import { Skeleton } from '../../skeleton';
|
|
6
|
-
import { DocumentViewModel } from '../view-model/document-view-model';
|
|
6
|
+
import { DocumentViewModel, DocumentEditArea } from '../view-model/document-view-model';
|
|
7
7
|
|
|
8
8
|
export declare enum DocumentSkeletonState {
|
|
9
9
|
PENDING = "pending",
|
|
@@ -30,10 +30,15 @@ export declare class DocumentSkeleton extends Skeleton {
|
|
|
30
30
|
};
|
|
31
31
|
private _getPageActualWidth;
|
|
32
32
|
getPageSize(): import('@univerjs/core').ISize | undefined;
|
|
33
|
-
findPositionByGlyph(glyph: IDocumentSkeletonGlyph): Nullable<INodeSearch>;
|
|
34
|
-
findNodePositionByCharIndex(charIndex: number, isBack?: boolean): Nullable<INodePosition>;
|
|
35
|
-
findNodeByCharIndex(charIndex: number): Nullable<IDocumentSkeletonGlyph>;
|
|
33
|
+
findPositionByGlyph(glyph: IDocumentSkeletonGlyph, segmentPage: number): Nullable<INodeSearch>;
|
|
34
|
+
findNodePositionByCharIndex(charIndex: number, isBack?: boolean, segmentId?: string, segmentPIndex?: number): Nullable<INodePosition>;
|
|
35
|
+
findNodeByCharIndex(charIndex: number, segmentId?: string, segmentPageIndex?: number): Nullable<IDocumentSkeletonGlyph>;
|
|
36
36
|
findGlyphByPosition(position: Nullable<INodePosition>): IDocumentSkeletonGlyph | undefined;
|
|
37
|
+
findEditAreaByCoord(coord: Vector2, pageLayoutType: PageLayoutType, pageMarginLeft: number, pageMarginTop: number): {
|
|
38
|
+
editArea: DocumentEditArea;
|
|
39
|
+
pageNumber: number;
|
|
40
|
+
page: Nullable<IDocumentSkeletonPage>;
|
|
41
|
+
};
|
|
37
42
|
findNodeByCoord(coord: Vector2, pageLayoutType: PageLayoutType, pageMarginLeft: number, pageMarginTop: number): Nullable<INodeInfo>;
|
|
38
43
|
private _getNearestNode;
|
|
39
44
|
private _getPageBoundingBox;
|
|
@@ -68,5 +73,5 @@ export declare class DocumentSkeleton extends Skeleton {
|
|
|
68
73
|
*/
|
|
69
74
|
private _createSkeleton;
|
|
70
75
|
private _addNewSectionByContinuous;
|
|
71
|
-
private
|
|
76
|
+
private _findNodeByIndex;
|
|
72
77
|
}
|
|
@@ -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,
|
|
75
|
+
export declare function getFontCreateConfig(index: number, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): IFontCreateConfig;
|
|
76
76
|
export declare function getNullSkeleton(): IDocumentSkeletonCached;
|
|
77
77
|
export declare function setPageParent(pages: IDocumentSkeletonPage[], parent: IDocumentSkeletonCached): void;
|
|
78
78
|
export interface ILayoutContext {
|
|
@@ -16,6 +16,12 @@ export declare function getAnchorBounding(pointsGroup: IPoint[][]): {
|
|
|
16
16
|
width: number;
|
|
17
17
|
height: number;
|
|
18
18
|
};
|
|
19
|
+
export declare function getLineBounding(pointsGroup: IPoint[][]): {
|
|
20
|
+
left: number;
|
|
21
|
+
right: number;
|
|
22
|
+
top: number;
|
|
23
|
+
bottom: number;
|
|
24
|
+
}[];
|
|
19
25
|
export declare class TextRange {
|
|
20
26
|
private _scene;
|
|
21
27
|
private _document;
|
|
@@ -19,6 +19,7 @@ export interface ITextSelectionInnerParam {
|
|
|
19
19
|
segmentId: string;
|
|
20
20
|
isEditing: boolean;
|
|
21
21
|
style: ITextSelectionStyle;
|
|
22
|
+
segmentPage: number;
|
|
22
23
|
}
|
|
23
24
|
export interface IActiveTextRange {
|
|
24
25
|
startOffset: number;
|
|
@@ -28,6 +29,7 @@ export interface IActiveTextRange {
|
|
|
28
29
|
endNodePosition: Nullable<INodePosition>;
|
|
29
30
|
direction: RANGE_DIRECTION;
|
|
30
31
|
segmentId: string;
|
|
32
|
+
segmentPage: number;
|
|
31
33
|
style: ITextSelectionStyle;
|
|
32
34
|
}
|
|
33
35
|
export interface ITextSelectionRenderManager {
|
|
@@ -47,6 +49,8 @@ export interface ITextSelectionRenderManager {
|
|
|
47
49
|
enableSelection(): void;
|
|
48
50
|
disableSelection(): void;
|
|
49
51
|
setSegment(id: string): void;
|
|
52
|
+
setSegmentPage(pageIndex: number): void;
|
|
53
|
+
getSegmentPage(): number;
|
|
50
54
|
setStyle(style: ITextSelectionStyle): void;
|
|
51
55
|
resetStyle(): void;
|
|
52
56
|
removeAllTextRanges(): void;
|
|
@@ -97,13 +101,12 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
97
101
|
private _container;
|
|
98
102
|
private _inputParent;
|
|
99
103
|
private _input;
|
|
100
|
-
private _moveObservers;
|
|
101
|
-
private _upObservers;
|
|
102
104
|
private _scrollTimers;
|
|
103
105
|
private _viewportScrollX;
|
|
104
106
|
private _viewportScrollY;
|
|
105
107
|
private _rangeList;
|
|
106
108
|
private _currentSegmentId;
|
|
109
|
+
private _currentSegmentPage;
|
|
107
110
|
private _selectionStyle;
|
|
108
111
|
private _isSelectionEnabled;
|
|
109
112
|
private _viewPortObserverMap;
|
|
@@ -112,15 +115,20 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
112
115
|
private _docSkeleton;
|
|
113
116
|
private _scene;
|
|
114
117
|
private _document;
|
|
118
|
+
private _scenePointerMoveSubs;
|
|
119
|
+
private _scenePointerUpSubs;
|
|
115
120
|
constructor(_logService: ILogService);
|
|
116
121
|
__getEditorContainer(): HTMLElement;
|
|
117
122
|
getViewPort(): Viewport;
|
|
118
123
|
setSegment(id: string): void;
|
|
124
|
+
setSegmentPage(pageIndex: number): void;
|
|
125
|
+
getSegmentPage(): number;
|
|
119
126
|
setStyle(style?: ITextSelectionStyle): void;
|
|
120
127
|
resetStyle(): void;
|
|
121
128
|
enableSelection(): void;
|
|
122
129
|
disableSelection(): void;
|
|
123
130
|
addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean): void;
|
|
131
|
+
setCursorManually(evtOffsetX: number, evtOffsetY: number): void;
|
|
124
132
|
sync(): void;
|
|
125
133
|
activate(x: number, y: number): void;
|
|
126
134
|
hasFocus(): boolean;
|
|
@@ -130,7 +138,6 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
|
|
|
130
138
|
changeRuntime(docSkeleton: DocumentSkeleton, scene: Scene, document: Documents): void;
|
|
131
139
|
handleDblClick(evt: IPointerEvent | IMouseEvent): void;
|
|
132
140
|
handleTripleClick(evt: IPointerEvent | IMouseEvent): void;
|
|
133
|
-
setCursorManually(evtOffsetX: number, evtOffsetY: number): void;
|
|
134
141
|
eventTrigger(evt: IPointerEvent | IMouseEvent): void;
|
|
135
142
|
removeAllTextRanges(): void;
|
|
136
143
|
private _setSystemHighlightColorToStyle;
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
import { IDocumentBody, ITextRun, DocumentDataModel } from '@univerjs/core';
|
|
1
|
+
import { ICustomDecorationForInterceptor, ICustomRangeForInterceptor, IDocumentBody, ITextRun, Nullable, DocumentDataModel } from '@univerjs/core';
|
|
2
2
|
import { IDisposable } from '@wendellhu/redi';
|
|
3
3
|
import { DataStreamTreeNode } from './data-stream-tree-node';
|
|
4
4
|
|
|
5
|
+
export interface ICustomRangeInterceptor {
|
|
6
|
+
getCustomRange: (index: number) => Nullable<ICustomRangeForInterceptor>;
|
|
7
|
+
getCustomDecoration: (index: number) => Nullable<ICustomDecorationForInterceptor>;
|
|
8
|
+
}
|
|
9
|
+
export declare enum DocumentEditArea {
|
|
10
|
+
BODY = "BODY",
|
|
11
|
+
HEADER = "HEADER",
|
|
12
|
+
FOOTER = "FOOTER"
|
|
13
|
+
}
|
|
5
14
|
export declare class DocumentViewModel implements IDisposable {
|
|
6
15
|
private _documentDataModel;
|
|
16
|
+
private _interceptor;
|
|
7
17
|
children: DataStreamTreeNode[];
|
|
8
18
|
private _sectionBreakCurrentIndex;
|
|
9
19
|
private _paragraphCurrentIndex;
|
|
@@ -11,11 +21,17 @@ export declare class DocumentViewModel implements IDisposable {
|
|
|
11
21
|
private _customBlockCurrentIndex;
|
|
12
22
|
private _tableBlockCurrentIndex;
|
|
13
23
|
private _customRangeCurrentIndex;
|
|
24
|
+
private _editArea;
|
|
25
|
+
private readonly _editAreaChange$;
|
|
26
|
+
readonly editAreaChange$: import('rxjs').Observable<Nullable<DocumentEditArea>>;
|
|
14
27
|
headerTreeMap: Map<string, DocumentViewModel>;
|
|
15
28
|
footerTreeMap: Map<string, DocumentViewModel>;
|
|
16
29
|
constructor(_documentDataModel: DocumentDataModel);
|
|
30
|
+
registerCustomRangeInterceptor(interceptor: ICustomRangeInterceptor): IDisposable;
|
|
17
31
|
dispose(): void;
|
|
18
32
|
selfPlus(len: number, index: number): void;
|
|
33
|
+
getEditArea(): DocumentEditArea;
|
|
34
|
+
setEditArea(editArea: DocumentEditArea): void;
|
|
19
35
|
getPositionInParent(): number;
|
|
20
36
|
getLastIndex(): number;
|
|
21
37
|
getBody(): IDocumentBody | undefined;
|
|
@@ -36,7 +52,10 @@ export declare class DocumentViewModel implements IDisposable {
|
|
|
36
52
|
getTextRun(index: number): ITextRun | undefined;
|
|
37
53
|
getCustomBlock(index: number): import('@univerjs/core').ICustomBlock | undefined;
|
|
38
54
|
getTable(index: number): import('@univerjs/core').ITable | undefined;
|
|
39
|
-
|
|
55
|
+
getCustomRangeRaw(index: number): import('@univerjs/core').ICustomRange | undefined;
|
|
56
|
+
getCustomRange(index: number): Nullable<ICustomRangeForInterceptor>;
|
|
57
|
+
getCustomDecorationRaw(index: number): import('@univerjs/core').ICustomDecoration | undefined;
|
|
58
|
+
getCustomDecoration(index: number): Nullable<ICustomDecorationForInterceptor>;
|
|
40
59
|
protected _transformToTree(dataStream: string): DataStreamTreeNode[];
|
|
41
60
|
private _processPreviousNodesUntil;
|
|
42
61
|
private _batchParent;
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { IScale } from '@univerjs/core';
|
|
2
2
|
import { UniverRenderingContext } from '../../../context';
|
|
3
3
|
import { SpreadsheetSkeleton } from '../sheet-skeleton';
|
|
4
|
+
import { IARowCfg, IARowCfgObj, IColumnStyleCfg, IRowStyleCfg } from '../interfaces.ts';
|
|
4
5
|
import { SheetExtension } from './sheet-extension';
|
|
5
6
|
|
|
7
|
+
export interface IRowsHeaderCfgParam {
|
|
8
|
+
headerStyle?: Partial<IRowStyleCfg>;
|
|
9
|
+
rowsCfg?: IARowCfg[];
|
|
10
|
+
}
|
|
6
11
|
export declare class RowHeaderLayout extends SheetExtension {
|
|
7
12
|
uKey: string;
|
|
8
13
|
Z_INDEX: number;
|
|
14
|
+
rowsCfg: IARowCfg[];
|
|
15
|
+
headerStyle: IRowStyleCfg;
|
|
16
|
+
constructor(cfg?: IRowsHeaderCfgParam);
|
|
17
|
+
configHeaderRow(cfg: IRowsHeaderCfgParam): void;
|
|
18
|
+
getCfgOfCurrentRow(rowIndex: number): [IARowCfgObj, boolean];
|
|
19
|
+
setStyleToCtx(ctx: UniverRenderingContext, rowStyle: Partial<IColumnStyleCfg>): void;
|
|
9
20
|
draw(ctx: UniverRenderingContext, parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): void;
|
|
10
21
|
}
|
|
@@ -7,7 +7,7 @@ export declare enum SHEET_EXTENSION_TYPE {
|
|
|
7
7
|
}
|
|
8
8
|
export declare class SheetExtension extends ComponentExtension<SpreadsheetSkeleton, SHEET_EXTENSION_TYPE, IRange[]> {
|
|
9
9
|
type: SHEET_EXTENSION_TYPE;
|
|
10
|
-
getCellIndex(rowIndex: number, columnIndex: number, rowHeightAccumulation: number[], columnWidthAccumulation: number[], dataMergeCache: IRange[]): import('@univerjs/core').
|
|
10
|
+
getCellIndex(rowIndex: number, columnIndex: number, rowHeightAccumulation: number[], columnWidthAccumulation: number[], dataMergeCache: IRange[]): import('@univerjs/core').ISelectionCellWithMergeInfo;
|
|
11
11
|
isRenderDiffRangesByCell(rangeP: IRange, diffRanges?: IRange[]): boolean;
|
|
12
12
|
isRenderDiffRangesByColumn(curStartColumn: number, curEndColumn: number, diffRanges?: IRange[]): boolean;
|
|
13
13
|
isRenderDiffRangesByRow(curStartRow: number, curEndRow: number, diffRanges?: IRange[]): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BorderStyleTypes, HorizontalAlign,
|
|
1
|
+
import { BorderStyleTypes, HorizontalAlign, ISelectionCellWithMergeInfo, ObjectMatrix, VerticalAlign, WrapStrategy } from '@univerjs/core';
|
|
2
2
|
import { BORDER_TYPE } from '../../basics/const';
|
|
3
3
|
import { DocumentSkeleton } from '../docs/layout/doc-skeleton';
|
|
4
4
|
import { Canvas } from '../../canvas';
|
|
@@ -28,7 +28,7 @@ interface fontCache {
|
|
|
28
28
|
}
|
|
29
29
|
export interface IStylesCache {
|
|
30
30
|
background?: backgroundCache;
|
|
31
|
-
backgroundPositions?: ObjectMatrix<
|
|
31
|
+
backgroundPositions?: ObjectMatrix<ISelectionCellWithMergeInfo>;
|
|
32
32
|
font?: fontCache;
|
|
33
33
|
border?: ObjectMatrix<BorderCache>;
|
|
34
34
|
}
|
|
@@ -82,4 +82,17 @@ export type IAColumnCfgObj = IColumnStyleCfg & {
|
|
|
82
82
|
text: string;
|
|
83
83
|
};
|
|
84
84
|
export type IAColumnCfg = undefined | null | string | Partial<IAColumnCfgObj>;
|
|
85
|
+
export interface IRowStyleCfg {
|
|
86
|
+
fontFamily: string;
|
|
87
|
+
fontColor: string;
|
|
88
|
+
fontSize: number;
|
|
89
|
+
borderColor: string;
|
|
90
|
+
textAlign: CanvasTextAlign;
|
|
91
|
+
textBaseline: CanvasTextBaseline;
|
|
92
|
+
backgroundColor: string;
|
|
93
|
+
}
|
|
94
|
+
export type IARowCfgObj = IColumnStyleCfg & {
|
|
95
|
+
text: string;
|
|
96
|
+
};
|
|
97
|
+
export type IARowCfg = undefined | null | string | Partial<IARowCfgObj>;
|
|
85
98
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Nullable } from '@univerjs/core';
|
|
2
2
|
import { IViewportInfo, Vector2 } from '../../basics/vector2';
|
|
3
3
|
import { UniverRenderingContext } from '../../context';
|
|
4
|
-
import { RowHeaderLayout } from './extensions/row-header-layout';
|
|
4
|
+
import { IRowsHeaderCfgParam, RowHeaderLayout } from './extensions/row-header-layout';
|
|
5
5
|
import { SpreadsheetHeader } from './sheet-component';
|
|
6
6
|
import { SpreadsheetSkeleton } from './sheet-skeleton';
|
|
7
7
|
|
|
@@ -25,4 +25,5 @@ export declare class SpreadsheetRowHeader extends SpreadsheetHeader {
|
|
|
25
25
|
draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
|
|
26
26
|
isHit(coord: Vector2): boolean;
|
|
27
27
|
private _initialDefaultExtension;
|
|
28
|
+
setCustomHeader(cfg: IRowsHeaderCfgParam): void;
|
|
28
29
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IPaddingData, IRange, IRowAutoHeightInfo,
|
|
1
|
+
import { BooleanNumber, DocumentDataModel, HorizontalAlign, IContextService, LocaleService, ObjectMatrix, VerticalAlign, WrapStrategy, ICellData, IPaddingData, IRange, IRowAutoHeightInfo, ISelectionCellWithMergeInfo, 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';
|
|
@@ -29,6 +29,12 @@ export interface IDocumentLayoutObject {
|
|
|
29
29
|
paddingData: IPaddingData;
|
|
30
30
|
fill?: Nullable<string>;
|
|
31
31
|
}
|
|
32
|
+
export declare const DEFAULT_PADDING_DATA: {
|
|
33
|
+
t: number;
|
|
34
|
+
b: number;
|
|
35
|
+
l: number;
|
|
36
|
+
r: number;
|
|
37
|
+
};
|
|
32
38
|
export declare const RENDER_RAW_FORMULA_KEY = "RENDER_RAW_FORMULA";
|
|
33
39
|
export declare class SpreadsheetSkeleton extends Skeleton {
|
|
34
40
|
private _worksheet;
|
|
@@ -159,7 +165,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
159
165
|
calculateCellIndexByPosition(offsetX: number, offsetY: number, scaleX: number, scaleY: number, scrollXY: {
|
|
160
166
|
x: number;
|
|
161
167
|
y: number;
|
|
162
|
-
}): Nullable<
|
|
168
|
+
}): Nullable<ISelectionCellWithMergeInfo>;
|
|
163
169
|
/**
|
|
164
170
|
*
|
|
165
171
|
* @param offsetX HTML coordinate system, mouse position x.
|
|
@@ -216,7 +222,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
216
222
|
* @param row Specified Row Coordinate
|
|
217
223
|
* @param column Specified Column Coordinate
|
|
218
224
|
*/
|
|
219
|
-
getCellByIndex(row: number, column: number):
|
|
225
|
+
getCellByIndex(row: number, column: number): ISelectionCellWithMergeInfo;
|
|
220
226
|
getCellByIndexWithNoHeader(row: number, column: number): {
|
|
221
227
|
actualRow: number;
|
|
222
228
|
actualColumn: number;
|
|
@@ -233,9 +239,9 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
233
239
|
endY: number;
|
|
234
240
|
startColumn: number;
|
|
235
241
|
endColumn: number;
|
|
236
|
-
rangeType?: import('@univerjs/core').RANGE_TYPE
|
|
237
|
-
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType
|
|
238
|
-
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType
|
|
242
|
+
rangeType?: import('@univerjs/core').RANGE_TYPE;
|
|
243
|
+
startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
244
|
+
endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType;
|
|
239
245
|
startRow: number;
|
|
240
246
|
endRow: number;
|
|
241
247
|
};
|
|
@@ -248,12 +254,7 @@ export declare class SpreadsheetSkeleton extends Skeleton {
|
|
|
248
254
|
x: number;
|
|
249
255
|
y: number;
|
|
250
256
|
}): number;
|
|
251
|
-
getSelectionBounding(startRow: number, startColumn: number, endRow: number, endColumn: number):
|
|
252
|
-
startRow: number;
|
|
253
|
-
startColumn: number;
|
|
254
|
-
endRow: number;
|
|
255
|
-
endColumn: number;
|
|
256
|
-
};
|
|
257
|
+
getSelectionBounding(startRow: number, startColumn: number, endRow: number, endColumn: number): IRange;
|
|
257
258
|
getBlankCellDocumentModel(cell: Nullable<ICellData>): IDocumentLayoutObject;
|
|
258
259
|
getCellDocumentModelWithFormula(cell: ICellData): Nullable<IDocumentLayoutObject>;
|
|
259
260
|
private _getCellDocumentModel;
|