@hailin-zheng/editor-core 1.0.7 → 1.0.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/package.json +3 -4
- package/{lib/doc-ruler.js → src/med_editor/doc-ruler.ts} +101 -74
- package/src/med_editor/framework/common-util.ts +200 -0
- package/{lib/framework/document-change.js → src/med_editor/framework/document-change.ts} +308 -259
- package/{lib/framework/document-combine.js → src/med_editor/framework/document-combine.ts} +15 -11
- package/{lib/framework/document-comment.js → src/med_editor/framework/document-comment.ts} +52 -37
- package/{lib/framework/document-context.js → src/med_editor/framework/document-context.ts} +181 -101
- package/{lib/framework/document-eval-func.js → src/med_editor/framework/document-eval-func.ts} +16 -11
- package/{lib/framework/document-event.js → src/med_editor/framework/document-event.ts} +244 -216
- package/{lib/framework/document-history.js → src/med_editor/framework/document-history.ts} +25 -14
- package/{lib/framework/document-images-loader.js → src/med_editor/framework/document-images-loader.ts} +25 -17
- package/{lib/framework/document-input-cursor.js → src/med_editor/framework/document-input-cursor.ts} +76 -71
- package/{lib/framework/document-paint.js → src/med_editor/framework/document-paint.ts} +35 -28
- package/{lib/framework/document-print-offscreen.js → src/med_editor/framework/document-print-offscreen.ts} +25 -19
- package/{lib/framework/document-print.js → src/med_editor/framework/document-print.ts} +57 -41
- package/src/med_editor/framework/document-segmenter.ts +211 -0
- package/{lib/framework/document-selection.js → src/med_editor/framework/document-selection.ts} +116 -85
- package/{lib/framework/document-template.js → src/med_editor/framework/document-template.ts} +3 -3
- package/src/med_editor/framework/document-textline-mode.ts +34 -0
- package/{lib/framework/element-define.js → src/med_editor/framework/element-define.ts} +301 -206
- package/src/med_editor/framework/element-event-define.ts +141 -0
- package/{lib/framework/element-measure.js → src/med_editor/framework/element-measure.ts} +143 -121
- package/{lib/framework/element-paint.js → src/med_editor/framework/element-paint.ts} +44 -38
- package/{lib/framework/element-props.js → src/med_editor/framework/element-props.ts} +331 -202
- package/{lib/framework/element-reader.js → src/med_editor/framework/element-reader.ts} +39 -31
- package/{lib/framework/element-render-cut.js → src/med_editor/framework/element-render-cut.ts} +113 -106
- package/{lib/framework/element-serialize.js → src/med_editor/framework/element-serialize.ts} +37 -24
- package/{lib/framework/element-util.js → src/med_editor/framework/element-util.ts} +317 -216
- package/{lib/framework/impl/checkbox/checkbox-impl.js → src/med_editor/framework/impl/checkbox/checkbox-impl.ts} +27 -20
- package/{lib/framework/impl/comments/comment-content-impl.js → src/med_editor/framework/impl/comments/comment-content-impl.ts} +45 -31
- package/{lib/framework/impl/comments/comment-element-impl.js → src/med_editor/framework/impl/comments/comment-element-impl.ts} +23 -20
- package/{lib/framework/impl/comments/comments-container-impl.js → src/med_editor/framework/impl/comments/comments-container-impl.ts} +22 -16
- package/{lib/framework/impl/comments/comments-util.js → src/med_editor/framework/impl/comments/comments-util.ts} +34 -17
- package/{lib/framework/impl/comments/validate-msg-impl.js → src/med_editor/framework/impl/comments/validate-msg-impl.ts} +28 -17
- package/{lib/framework/impl/data-element/data-decorate-impl.js → src/med_editor/framework/impl/data-element/data-decorate-impl.ts} +26 -22
- package/{lib/framework/impl/data-element/data-element-barcode.js → src/med_editor/framework/impl/data-element/data-element-barcode.ts} +41 -29
- package/{lib/framework/impl/data-element/data-element-base-impl.js → src/med_editor/framework/impl/data-element/data-element-base-impl.ts} +73 -44
- package/{lib/framework/impl/data-element/data-element-check-impl.js → src/med_editor/framework/impl/data-element/data-element-check-impl.ts} +48 -35
- package/{lib/framework/impl/data-element/data-element-date-impl.js → src/med_editor/framework/impl/data-element/data-element-date-impl.ts} +41 -24
- package/{lib/framework/impl/data-element/data-element-group-impl.js → src/med_editor/framework/impl/data-element/data-element-group-impl.ts} +52 -32
- package/{lib/framework/impl/data-element/data-element-image-impl.js → src/med_editor/framework/impl/data-element/data-element-image-impl.ts} +38 -28
- package/{lib/framework/impl/data-element/data-element-list-impl.js → src/med_editor/framework/impl/data-element/data-element-list-impl.ts} +42 -31
- package/{lib/framework/impl/data-element/data-element-text-impl.js → src/med_editor/framework/impl/data-element/data-element-text-impl.ts} +36 -22
- package/{lib/framework/impl/decorate/fill-null-space-imple.js → src/med_editor/framework/impl/decorate/fill-null-space-imple.ts} +15 -10
- package/{lib/framework/impl/document/doc-body-impl.js → src/med_editor/framework/impl/document/doc-body-impl.ts} +32 -16
- package/{lib/framework/impl/document/doc-body-part-impl.js → src/med_editor/framework/impl/document/doc-body-part-impl.ts} +27 -17
- package/src/med_editor/framework/impl/document/doc-container-impl.ts +24 -0
- package/{lib/framework/impl/document/doc-footer-impl.js → src/med_editor/framework/impl/document/doc-footer-impl.ts} +30 -19
- package/{lib/framework/impl/document/doc-header-impl.js → src/med_editor/framework/impl/document/doc-header-impl.ts} +34 -17
- package/{lib/framework/impl/document/doc-impl.js → src/med_editor/framework/impl/document/doc-impl.ts} +62 -45
- package/{lib/framework/impl/media-formula/menstrual-history.js → src/med_editor/framework/impl/media-formula/menstrual-history.ts} +58 -36
- package/{lib/framework/impl/paragraph/p-impl.js → src/med_editor/framework/impl/paragraph/p-impl.ts} +64 -30
- package/{lib/framework/impl/picture/image-impl.js → src/med_editor/framework/impl/picture/image-impl.ts} +37 -25
- package/{lib/framework/impl/radio/radio-impl.js → src/med_editor/framework/impl/radio/radio-impl.ts} +28 -21
- package/{lib/framework/impl/symbol/br-symbol-impl.js → src/med_editor/framework/impl/symbol/br-symbol-impl.ts} +21 -15
- package/{lib/framework/impl/symbol/p-symbol-impl.js → src/med_editor/framework/impl/symbol/p-symbol-impl.ts} +15 -12
- package/{lib/framework/impl/table/table-cell-impl.js → src/med_editor/framework/impl/table/table-cell-impl.ts} +41 -30
- package/{lib/framework/impl/table/table-impl.js → src/med_editor/framework/impl/table/table-impl.ts} +122 -84
- package/{lib/framework/impl/table/table-row-impl.js → src/med_editor/framework/impl/table/table-row-impl.ts} +26 -18
- package/{lib/framework/impl/table/table-split-cell-patch.js → src/med_editor/framework/impl/table/table-split-cell-patch.ts} +31 -22
- package/{lib/framework/impl/table/table-split-cell.js → src/med_editor/framework/impl/table/table-split-cell.ts} +105 -94
- package/{lib/framework/impl/table/table-util.js → src/med_editor/framework/impl/table/table-util.ts} +197 -159
- package/{lib/framework/impl/text/text-impl.js → src/med_editor/framework/impl/text/text-impl.ts} +49 -35
- package/{lib/framework/impl/text/track-run-impl.js → src/med_editor/framework/impl/text/track-run-impl.ts} +53 -30
- package/{lib/framework/notify.js → src/med_editor/framework/notify.ts} +50 -36
- package/{lib/framework/range-util.js → src/med_editor/framework/range-util.ts} +80 -71
- package/{lib/framework/render-context.js → src/med_editor/framework/render-context.ts} +111 -64
- package/{lib/framework/render-define.js → src/med_editor/framework/render-define.ts} +90 -61
- package/{lib/framework/selection-overlays.js → src/med_editor/framework/selection-overlays.ts} +25 -16
- package/{lib/texteditor.js → src/med_editor/texteditor.ts} +288 -191
- package/src/med_editor/util/subject.ts +118 -0
- package/{lib/util/table-bind.js → src/med_editor/util/table-bind.ts} +2 -2
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +3573 -0
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +3573 -0
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +315 -0
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +122 -0
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +3599 -0
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +24586 -0
- package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +2874 -0
- package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +341 -0
- package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +2201 -0
- package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +1069 -0
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +125 -0
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +86 -0
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +115 -0
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +108 -0
- package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +272 -0
- package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +1070 -0
- package/lib/doc-ruler.d.ts +0 -51
- package/lib/doc-ruler.js.map +0 -1
- package/lib/framework/common-util.d.ts +0 -63
- package/lib/framework/common-util.js +0 -178
- package/lib/framework/common-util.js.map +0 -1
- package/lib/framework/document-change.d.ts +0 -265
- package/lib/framework/document-change.js.map +0 -1
- package/lib/framework/document-combine.d.ts +0 -24
- package/lib/framework/document-combine.js.map +0 -1
- package/lib/framework/document-comment.d.ts +0 -46
- package/lib/framework/document-comment.js.map +0 -1
- package/lib/framework/document-context.d.ts +0 -149
- package/lib/framework/document-context.js.map +0 -1
- package/lib/framework/document-eval-func.d.ts +0 -18
- package/lib/framework/document-eval-func.js.map +0 -1
- package/lib/framework/document-event.d.ts +0 -213
- package/lib/framework/document-event.js.map +0 -1
- package/lib/framework/document-history.d.ts +0 -26
- package/lib/framework/document-history.js.map +0 -1
- package/lib/framework/document-images-loader.d.ts +0 -16
- package/lib/framework/document-images-loader.js.map +0 -1
- package/lib/framework/document-input-cursor.d.ts +0 -78
- package/lib/framework/document-input-cursor.js.map +0 -1
- package/lib/framework/document-paint.d.ts +0 -34
- package/lib/framework/document-paint.js.map +0 -1
- package/lib/framework/document-print-offscreen.d.ts +0 -38
- package/lib/framework/document-print-offscreen.js.map +0 -1
- package/lib/framework/document-print.d.ts +0 -60
- package/lib/framework/document-print.js.map +0 -1
- package/lib/framework/document-segmenter.d.ts +0 -2
- package/lib/framework/document-segmenter.js +0 -106
- package/lib/framework/document-segmenter.js.map +0 -1
- package/lib/framework/document-selection.d.ts +0 -89
- package/lib/framework/document-selection.js.map +0 -1
- package/lib/framework/document-template.d.ts +0 -4
- package/lib/framework/document-template.js.map +0 -1
- package/lib/framework/document-textline-mode.d.ts +0 -7
- package/lib/framework/document-textline-mode.js +0 -30
- package/lib/framework/document-textline-mode.js.map +0 -1
- package/lib/framework/element-define.d.ts +0 -319
- package/lib/framework/element-define.js.map +0 -1
- package/lib/framework/element-event-define.d.ts +0 -99
- package/lib/framework/element-event-define.js +0 -108
- package/lib/framework/element-event-define.js.map +0 -1
- package/lib/framework/element-measure.d.ts +0 -97
- package/lib/framework/element-measure.js.map +0 -1
- package/lib/framework/element-paint.d.ts +0 -42
- package/lib/framework/element-paint.js.map +0 -1
- package/lib/framework/element-props.d.ts +0 -301
- package/lib/framework/element-props.js.map +0 -1
- package/lib/framework/element-reader.d.ts +0 -19
- package/lib/framework/element-reader.js.map +0 -1
- package/lib/framework/element-render-cut.d.ts +0 -55
- package/lib/framework/element-render-cut.js.map +0 -1
- package/lib/framework/element-serialize.d.ts +0 -30
- package/lib/framework/element-serialize.js.map +0 -1
- package/lib/framework/element-util.d.ts +0 -369
- package/lib/framework/element-util.js.map +0 -1
- package/lib/framework/impl/checkbox/checkbox-impl.d.ts +0 -24
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +0 -1
- package/lib/framework/impl/comments/comment-content-impl.d.ts +0 -40
- package/lib/framework/impl/comments/comment-content-impl.js.map +0 -1
- package/lib/framework/impl/comments/comment-element-impl.d.ts +0 -21
- package/lib/framework/impl/comments/comment-element-impl.js.map +0 -1
- package/lib/framework/impl/comments/comments-container-impl.d.ts +0 -22
- package/lib/framework/impl/comments/comments-container-impl.js.map +0 -1
- package/lib/framework/impl/comments/comments-util.d.ts +0 -12
- package/lib/framework/impl/comments/comments-util.js.map +0 -1
- package/lib/framework/impl/comments/validate-msg-impl.d.ts +0 -21
- package/lib/framework/impl/comments/validate-msg-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-decorate-impl.d.ts +0 -30
- package/lib/framework/impl/data-element/data-decorate-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-barcode.d.ts +0 -31
- package/lib/framework/impl/data-element/data-element-barcode.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-base-impl.d.ts +0 -68
- package/lib/framework/impl/data-element/data-element-base-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-check-impl.d.ts +0 -35
- package/lib/framework/impl/data-element/data-element-check-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-date-impl.d.ts +0 -23
- package/lib/framework/impl/data-element/data-element-date-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-group-impl.d.ts +0 -23
- package/lib/framework/impl/data-element/data-element-group-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-image-impl.d.ts +0 -30
- package/lib/framework/impl/data-element/data-element-image-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-list-impl.d.ts +0 -22
- package/lib/framework/impl/data-element/data-element-list-impl.js.map +0 -1
- package/lib/framework/impl/data-element/data-element-text-impl.d.ts +0 -23
- package/lib/framework/impl/data-element/data-element-text-impl.js.map +0 -1
- package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +0 -21
- package/lib/framework/impl/decorate/fill-null-space-imple.js.map +0 -1
- package/lib/framework/impl/document/doc-body-impl.d.ts +0 -27
- package/lib/framework/impl/document/doc-body-impl.js.map +0 -1
- package/lib/framework/impl/document/doc-body-part-impl.d.ts +0 -30
- package/lib/framework/impl/document/doc-body-part-impl.js.map +0 -1
- package/lib/framework/impl/document/doc-container-impl.d.ts +0 -16
- package/lib/framework/impl/document/doc-container-impl.js +0 -21
- package/lib/framework/impl/document/doc-container-impl.js.map +0 -1
- package/lib/framework/impl/document/doc-footer-impl.d.ts +0 -26
- package/lib/framework/impl/document/doc-footer-impl.js.map +0 -1
- package/lib/framework/impl/document/doc-header-impl.d.ts +0 -26
- package/lib/framework/impl/document/doc-header-impl.js.map +0 -1
- package/lib/framework/impl/document/doc-impl.d.ts +0 -61
- package/lib/framework/impl/document/doc-impl.js.map +0 -1
- package/lib/framework/impl/media-formula/menstrual-history.d.ts +0 -35
- package/lib/framework/impl/media-formula/menstrual-history.js.map +0 -1
- package/lib/framework/impl/paragraph/p-impl.d.ts +0 -45
- package/lib/framework/impl/paragraph/p-impl.js.map +0 -1
- package/lib/framework/impl/picture/image-impl.d.ts +0 -31
- package/lib/framework/impl/picture/image-impl.js.map +0 -1
- package/lib/framework/impl/radio/radio-impl.d.ts +0 -22
- package/lib/framework/impl/radio/radio-impl.js.map +0 -1
- package/lib/framework/impl/symbol/br-symbol-impl.d.ts +0 -22
- package/lib/framework/impl/symbol/br-symbol-impl.js.map +0 -1
- package/lib/framework/impl/symbol/p-symbol-impl.d.ts +0 -19
- package/lib/framework/impl/symbol/p-symbol-impl.js.map +0 -1
- package/lib/framework/impl/table/table-cell-impl.d.ts +0 -37
- package/lib/framework/impl/table/table-cell-impl.js.map +0 -1
- package/lib/framework/impl/table/table-impl.d.ts +0 -55
- package/lib/framework/impl/table/table-impl.js.map +0 -1
- package/lib/framework/impl/table/table-row-impl.d.ts +0 -26
- package/lib/framework/impl/table/table-row-impl.js.map +0 -1
- package/lib/framework/impl/table/table-split-cell-patch.d.ts +0 -20
- package/lib/framework/impl/table/table-split-cell-patch.js.map +0 -1
- package/lib/framework/impl/table/table-split-cell.d.ts +0 -90
- package/lib/framework/impl/table/table-split-cell.js.map +0 -1
- package/lib/framework/impl/table/table-util.d.ts +0 -150
- package/lib/framework/impl/table/table-util.js.map +0 -1
- package/lib/framework/impl/text/text-impl.d.ts +0 -32
- package/lib/framework/impl/text/text-impl.js.map +0 -1
- package/lib/framework/impl/text/track-run-impl.d.ts +0 -27
- package/lib/framework/impl/text/track-run-impl.js.map +0 -1
- package/lib/framework/notify.d.ts +0 -13
- package/lib/framework/notify.js.map +0 -1
- package/lib/framework/range-util.d.ts +0 -40
- package/lib/framework/range-util.js.map +0 -1
- package/lib/framework/render-context.d.ts +0 -91
- package/lib/framework/render-context.js.map +0 -1
- package/lib/framework/render-define.d.ts +0 -109
- package/lib/framework/render-define.js.map +0 -1
- package/lib/framework/selection-overlays.d.ts +0 -30
- package/lib/framework/selection-overlays.js.map +0 -1
- package/lib/texteditor.d.ts +0 -318
- package/lib/texteditor.js.map +0 -1
- package/lib/util/subject.d.ts +0 -34
- package/lib/util/subject.js +0 -88
- package/lib/util/subject.js.map +0 -1
- package/lib/util/table-bind.d.ts +0 -5
- package/lib/util/table-bind.js.map +0 -1
- package/tsconfig.json +0 -25
@@ -1,26 +1,29 @@
|
|
1
|
-
import {
|
1
|
+
import { RenderContenxtType } from "./render-context";
|
2
|
+
import { Element, LeafElement, Position, SelectionContentRange, ViewOptions } from "./element-define";
|
3
|
+
import { BranchRenderObject, LeafRenderObject, RenderObject } from "./render-define";
|
4
|
+
import { DocumentContainerRender } from "./impl/document/doc-container-impl";
|
2
5
|
import { ElementUtil } from "./element-util";
|
6
|
+
import { CommentElement } from "./impl/comments/comment-element-impl";
|
3
7
|
import { CommsContainerRenderObject } from "./impl/comments/comments-container-impl";
|
4
8
|
import { CommentsUtil } from "./impl/comments/comments-util";
|
5
|
-
import { TextGroupElement } from "./impl/text/text-impl";
|
9
|
+
import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
|
6
10
|
import { RangeUtil } from "./range-util";
|
7
|
-
import { DataElementRenderObject } from "
|
11
|
+
import { DataElementRenderObject } from "./impl/data-element/data-element-base-impl";
|
12
|
+
export interface PrintOptions {
|
13
|
+
beforePrintPage: (pageIndex: number, pageCount: number) => void;
|
14
|
+
afterPrintPage: (pageIndex: number, pageCount: number) => void;
|
15
|
+
}
|
8
16
|
export class ElementPaint {
|
9
|
-
viewOptions;
|
10
|
-
renderCtx;
|
11
17
|
//存储元素和绘制元素的映射关系
|
12
18
|
//paintElementMap: Map<Element, Array<RenderObject>> = new Map();
|
13
|
-
selectedSets
|
14
|
-
measureCommContainer;
|
15
|
-
rePaint;
|
16
|
-
constructor(viewOptions, renderCtx) {
|
17
|
-
this.viewOptions = viewOptions;
|
18
|
-
this.renderCtx = renderCtx;
|
19
|
-
}
|
19
|
+
private selectedSets!: Map<Element, SelectionContentRange>;
|
20
|
+
private measureCommContainer!: CommsContainerRenderObject;
|
21
|
+
private rePaint!: boolean;
|
22
|
+
constructor(private viewOptions: ViewOptions, private renderCtx: RenderContenxtType) { }
|
20
23
|
//审阅标记的位置对应关系
|
21
|
-
paintCommMap
|
22
|
-
paintPagePos;
|
23
|
-
drawPages(docContainer, selectedSets, measureCommContainer, rePaint) {
|
24
|
+
paintCommMap!: Array<{ ele: CommentElement, render: RenderObject, pos: Position }>;
|
25
|
+
paintPagePos!: Position;
|
26
|
+
drawPages(docContainer: DocumentContainerRender, selectedSets: Map<Element, SelectionContentRange>, measureCommContainer: CommsContainerRenderObject, rePaint: boolean): void {
|
24
27
|
this.rePaint = rePaint;
|
25
28
|
this.measureCommContainer = measureCommContainer;
|
26
29
|
const { viewSettings, docPageSettings, viewBackcolor } = this.viewOptions;
|
@@ -34,7 +37,7 @@ export class ElementPaint {
|
|
34
37
|
const doc = docContainer.getChild(i);
|
35
38
|
const { x: rx, y: ry, width: rw, height: rh } = doc.rect;
|
36
39
|
const currPosition = { x: rx + containerPos.x, y: ry + containerPos.y };
|
37
|
-
let inViewPort = (currPosition.y >= 0 && currPosition.y <= this.viewOptions.viewPaintHeight) || (currPosition.y < 0 && currPosition.y + rh > 0);
|
40
|
+
let inViewPort: boolean | undefined = (currPosition.y >= 0 && currPosition.y <= this.viewOptions.viewPaintHeight) || (currPosition.y < 0 && currPosition.y + rh > 0);
|
38
41
|
if (this.viewOptions.fullPageView) {
|
39
42
|
//inViewPort = undefined;
|
40
43
|
}
|
@@ -44,11 +47,13 @@ export class ElementPaint {
|
|
44
47
|
if (inViewPort) {
|
45
48
|
this.invokedPagePaintCompleted(doc, containerPos);
|
46
49
|
}
|
50
|
+
|
47
51
|
}
|
48
|
-
docContainer.endRender(this.renderCtx, containerPos)
|
52
|
+
docContainer.endRender(this.renderCtx, containerPos)
|
49
53
|
this.renderCtx.commit(null);
|
50
54
|
}
|
51
|
-
|
55
|
+
|
56
|
+
drawRenderObject(renderObject: RenderObject<any>, parent: { x: number, y: number }, parentInViewPort: boolean | undefined = false): void {
|
52
57
|
const element = renderObject.element;
|
53
58
|
if (this.rePaint && element) {
|
54
59
|
element.paintRenders.push(renderObject);
|
@@ -56,7 +61,7 @@ export class ElementPaint {
|
|
56
61
|
const { x: rx, y: ry, width: rw, height: rh } = renderObject.rect;
|
57
62
|
const currPosition = { x: rx + parent.x, y: ry + parent.y };
|
58
63
|
//判断当前绘制元素是否在视窗内
|
59
|
-
let inViewPort = parentInViewPort;
|
64
|
+
let inViewPort: boolean = parentInViewPort;
|
60
65
|
if (parentInViewPort === undefined || this.viewOptions.fullPageView) {
|
61
66
|
inViewPort = (currPosition.y >= 0 && currPosition.y <= this.viewOptions.viewPaintHeight) || (currPosition.y < 0 && currPosition.y + rh > 0);
|
62
67
|
}
|
@@ -72,18 +77,17 @@ export class ElementPaint {
|
|
72
77
|
renderObject.beginRender(this.renderCtx, currPosition);
|
73
78
|
for (let i = 0; i < renderObject.length; i++) {
|
74
79
|
const child = renderObject.getChild(i);
|
75
|
-
this.drawRenderObject(child, currPosition, inViewPort)
|
80
|
+
this.drawRenderObject(child, currPosition, inViewPort)
|
76
81
|
}
|
77
82
|
renderObject.endRender(this.renderCtx, currPosition);
|
78
83
|
}
|
79
|
-
}
|
80
|
-
else if (renderObject instanceof LeafRenderObject) {
|
84
|
+
} else if (renderObject instanceof LeafRenderObject) {
|
81
85
|
if (inViewPort) {
|
82
86
|
renderObject.render(this.renderCtx, currPosition);
|
83
87
|
}
|
84
88
|
//审阅信息
|
85
89
|
if (this.viewOptions.showReviewWindow && element && element.type === 'comm') {
|
86
|
-
const commElement = element;
|
90
|
+
const commElement = element as CommentElement;
|
87
91
|
if (commElement.props.markType === 'start') {
|
88
92
|
//获取当前绘制元素相对于当前页的坐标
|
89
93
|
this.paintCommMap.push({ ele: commElement, render: renderObject, pos: { x: currPosition.x - this.paintPagePos.x, y: currPosition.y - this.paintPagePos.y } });
|
@@ -92,29 +96,27 @@ export class ElementPaint {
|
|
92
96
|
}
|
93
97
|
//处理选中拖蓝
|
94
98
|
if (inViewPort && this.selectedSets.has(element)) {
|
95
|
-
const range = this.selectedSets.get(element);
|
99
|
+
const range = this.selectedSets.get(element) as SelectionContentRange;
|
96
100
|
if (renderObject instanceof LeafRenderObject) {
|
97
101
|
const overlayRect = { x: currPosition.x, y: currPosition.y, width: rw, height: rh };
|
98
102
|
const paraLinePos = ElementUtil.getParaLinePos(renderObject, { x: currPosition.x, y: currPosition.y });
|
99
103
|
if (range.isFullSelected) {
|
100
104
|
this.renderCtx.overlaysContext.fillRect(overlayRect.x, paraLinePos.y, overlayRect.width, paraLinePos.height, this.viewOptions.selectionOverlaysColor);
|
101
|
-
}
|
102
|
-
else {
|
105
|
+
} else {
|
103
106
|
if (element instanceof TextGroupElement && range.endOffset > range.startOffset) {
|
104
|
-
const { startX, endX } = ElementUtil.getTextRenderHorX(renderObject, range.startOffset, range.endOffset);
|
107
|
+
const { startX, endX } = ElementUtil.getTextRenderHorX(<TextGroupRenderObject>renderObject, range.startOffset, range.endOffset);
|
105
108
|
overlayRect.width = endX - startX;
|
106
109
|
overlayRect.x += startX;
|
107
110
|
this.renderCtx.overlaysContext.fillRect(overlayRect.x, paraLinePos.y, overlayRect.width, paraLinePos.height, this.viewOptions.selectionOverlaysColor);
|
108
111
|
}
|
109
112
|
}
|
110
|
-
}
|
111
|
-
else if (range.isFullSelected && element.type === 'tbc') {
|
113
|
+
} else if (range.isFullSelected && element.type === 'tbc') {
|
112
114
|
this.renderCtx.overlaysContext.fillRect(currPosition.x, currPosition.y, renderObject.rect.width, renderObject.rect.height, this.viewOptions.selectionOverlaysColor);
|
113
115
|
}
|
114
116
|
}
|
115
117
|
if (inViewPort && this.viewOptions.showReviewWindow && this.measureCommContainer.selectedSet.has(element)) {
|
116
118
|
if (renderObject instanceof LeafRenderObject || renderObject instanceof DataElementRenderObject) {
|
117
|
-
const range = this.measureCommContainer.selectedSet.get(element);
|
119
|
+
const range = this.measureCommContainer.selectedSet.get(element) as SelectionContentRange;
|
118
120
|
if (range.isFullSelected) {
|
119
121
|
let commentRangePaintColor = '#ffd591';
|
120
122
|
for (let i = 0; i < this.measureCommContainer.commentRangeStatus.length; i++) {
|
@@ -130,12 +132,14 @@ export class ElementPaint {
|
|
130
132
|
this.renderCtx.overlaysContext.fillRect(overlayRect.x, paraLinePos.y, overlayRect.width, paraLinePos.height, commentRangePaintColor);
|
131
133
|
}
|
132
134
|
}
|
135
|
+
|
133
136
|
}
|
134
137
|
}
|
138
|
+
|
135
139
|
/**
|
136
140
|
* 触发页面绘制结束事件
|
137
141
|
*/
|
138
|
-
invokedPagePaintCompleted(renderObject, parent) {
|
142
|
+
invokedPagePaintCompleted(renderObject: RenderObject, parent: { x: number, y: number }): void {
|
139
143
|
const { x: rx, y: ry, width: rw, height: rh } = renderObject.rect;
|
140
144
|
const currPosition = { x: rx + parent.x, y: ry + parent.y };
|
141
145
|
renderObject.pagePaintCompleted(this.renderCtx, currPosition);
|
@@ -145,7 +149,8 @@ export class ElementPaint {
|
|
145
149
|
}
|
146
150
|
}
|
147
151
|
}
|
148
|
-
|
152
|
+
|
153
|
+
static drawPage(renderCtx: RenderContenxtType, renderObject: RenderObject, parent: { x: number, y: number }): void {
|
149
154
|
const { x: rx, y: ry } = renderObject.rect;
|
150
155
|
const currPosition = { x: rx + parent.x, y: ry + parent.y };
|
151
156
|
if (renderObject instanceof BranchRenderObject) {
|
@@ -155,16 +160,17 @@ export class ElementPaint {
|
|
155
160
|
this.drawPage(renderCtx, child, currPosition);
|
156
161
|
}
|
157
162
|
renderObject.endRender(renderCtx, currPosition);
|
158
|
-
}
|
159
|
-
else if (renderObject instanceof LeafRenderObject) {
|
163
|
+
} else if (renderObject instanceof LeafRenderObject) {
|
160
164
|
renderObject.render(renderCtx, currPosition);
|
161
165
|
}
|
162
166
|
}
|
163
|
-
|
164
|
-
|
167
|
+
|
168
|
+
|
169
|
+
getLeafElementPaintMap(element: LeafElement, shadowRenderIndex = 0): LeafRenderObject {
|
170
|
+
return element.paintRenders[shadowRenderIndex] as LeafRenderObject;
|
165
171
|
}
|
166
|
-
|
172
|
+
|
173
|
+
getShadowRenderIndex(element: LeafElement, render: LeafRenderObject): number {
|
167
174
|
return element.paintRenders.indexOf(render);
|
168
175
|
}
|
169
176
|
}
|
170
|
-
//# sourceMappingURL=element-paint.js.map
|