@hailin-zheng/editor-core 1.0.14 → 1.0.20

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.
Files changed (290) hide show
  1. package/lib/doc-ruler.d.ts +1 -0
  2. package/lib/doc-ruler.d.ts.map +1 -0
  3. package/lib/framework/common-util.d.ts +1 -0
  4. package/lib/framework/common-util.d.ts.map +1 -0
  5. package/lib/framework/document-change.d.ts +1 -0
  6. package/lib/framework/document-change.d.ts.map +1 -0
  7. package/lib/framework/document-combine.d.ts +1 -0
  8. package/lib/framework/document-combine.d.ts.map +1 -0
  9. package/lib/framework/document-comment.d.ts +1 -0
  10. package/lib/framework/document-comment.d.ts.map +1 -0
  11. package/lib/framework/document-context.d.ts +1 -0
  12. package/lib/framework/document-context.d.ts.map +1 -0
  13. package/lib/framework/document-eval-func.d.ts +1 -0
  14. package/lib/framework/document-eval-func.d.ts.map +1 -0
  15. package/lib/framework/document-event.d.ts +1 -0
  16. package/lib/framework/document-event.d.ts.map +1 -0
  17. package/lib/framework/document-history.d.ts +1 -0
  18. package/lib/framework/document-history.d.ts.map +1 -0
  19. package/lib/framework/document-images-loader.d.ts +1 -0
  20. package/lib/framework/document-images-loader.d.ts.map +1 -0
  21. package/lib/framework/document-input-cursor.d.ts +1 -0
  22. package/lib/framework/document-input-cursor.d.ts.map +1 -0
  23. package/lib/framework/document-paint.d.ts +1 -0
  24. package/lib/framework/document-paint.d.ts.map +1 -0
  25. package/lib/framework/document-print-offscreen.d.ts +1 -0
  26. package/lib/framework/document-print-offscreen.d.ts.map +1 -0
  27. package/lib/framework/document-print.d.ts +1 -0
  28. package/lib/framework/document-print.d.ts.map +1 -0
  29. package/lib/framework/document-segmenter.d.ts +1 -0
  30. package/lib/framework/document-segmenter.d.ts.map +1 -0
  31. package/lib/framework/document-selection.d.ts +1 -0
  32. package/lib/framework/document-selection.d.ts.map +1 -0
  33. package/lib/framework/document-template.d.ts +1 -0
  34. package/lib/framework/document-template.d.ts.map +1 -0
  35. package/lib/framework/document-textline-mode.d.ts +1 -0
  36. package/lib/framework/document-textline-mode.d.ts.map +1 -0
  37. package/lib/framework/element-define.d.ts +1 -0
  38. package/lib/framework/element-define.d.ts.map +1 -0
  39. package/lib/framework/element-event-define.d.ts +1 -0
  40. package/lib/framework/element-event-define.d.ts.map +1 -0
  41. package/lib/framework/element-measure.d.ts +1 -0
  42. package/lib/framework/element-measure.d.ts.map +1 -0
  43. package/lib/framework/element-paint.d.ts +1 -0
  44. package/lib/framework/element-paint.d.ts.map +1 -0
  45. package/lib/framework/element-props.d.ts +2 -1
  46. package/lib/framework/element-props.d.ts.map +1 -0
  47. package/lib/framework/element-reader.d.ts +1 -0
  48. package/lib/framework/element-reader.d.ts.map +1 -0
  49. package/lib/framework/element-render-cut.d.ts +1 -0
  50. package/lib/framework/element-render-cut.d.ts.map +1 -0
  51. package/lib/framework/element-serialize.d.ts +1 -0
  52. package/lib/framework/element-serialize.d.ts.map +1 -0
  53. package/lib/framework/element-util.d.ts +1 -0
  54. package/lib/framework/element-util.d.ts.map +1 -0
  55. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +1 -0
  56. package/lib/framework/impl/checkbox/checkbox-impl.d.ts.map +1 -0
  57. package/lib/framework/impl/comments/comment-content-impl.d.ts +1 -0
  58. package/lib/framework/impl/comments/comment-content-impl.d.ts.map +1 -0
  59. package/lib/framework/impl/comments/comment-element-impl.d.ts +1 -0
  60. package/lib/framework/impl/comments/comment-element-impl.d.ts.map +1 -0
  61. package/lib/framework/impl/comments/comments-container-impl.d.ts +1 -0
  62. package/lib/framework/impl/comments/comments-container-impl.d.ts.map +1 -0
  63. package/lib/framework/impl/comments/comments-util.d.ts +1 -0
  64. package/lib/framework/impl/comments/comments-util.d.ts.map +1 -0
  65. package/lib/framework/impl/comments/validate-msg-impl.d.ts +1 -0
  66. package/lib/framework/impl/comments/validate-msg-impl.d.ts.map +1 -0
  67. package/lib/framework/impl/data-element/data-decorate-impl.d.ts +1 -0
  68. package/lib/framework/impl/data-element/data-decorate-impl.d.ts.map +1 -0
  69. package/lib/framework/impl/data-element/data-element-barcode.d.ts +1 -0
  70. package/lib/framework/impl/data-element/data-element-barcode.d.ts.map +1 -0
  71. package/lib/framework/impl/data-element/data-element-base-impl.d.ts +1 -0
  72. package/lib/framework/impl/data-element/data-element-base-impl.d.ts.map +1 -0
  73. package/lib/framework/impl/data-element/data-element-check-impl.d.ts +1 -0
  74. package/lib/framework/impl/data-element/data-element-check-impl.d.ts.map +1 -0
  75. package/lib/framework/impl/data-element/data-element-date-impl.d.ts +1 -0
  76. package/lib/framework/impl/data-element/data-element-date-impl.d.ts.map +1 -0
  77. package/lib/framework/impl/data-element/data-element-group-impl.d.ts +1 -0
  78. package/lib/framework/impl/data-element/data-element-group-impl.d.ts.map +1 -0
  79. package/lib/framework/impl/data-element/data-element-image-impl.d.ts +1 -0
  80. package/lib/framework/impl/data-element/data-element-image-impl.d.ts.map +1 -0
  81. package/lib/framework/impl/data-element/data-element-list-impl.d.ts +1 -0
  82. package/lib/framework/impl/data-element/data-element-list-impl.d.ts.map +1 -0
  83. package/lib/framework/impl/data-element/data-element-text-impl.d.ts +1 -0
  84. package/lib/framework/impl/data-element/data-element-text-impl.d.ts.map +1 -0
  85. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +1 -0
  86. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts.map +1 -0
  87. package/lib/framework/impl/document/doc-body-impl.d.ts +1 -0
  88. package/lib/framework/impl/document/doc-body-impl.d.ts.map +1 -0
  89. package/lib/framework/impl/document/doc-body-part-impl.d.ts +1 -0
  90. package/lib/framework/impl/document/doc-body-part-impl.d.ts.map +1 -0
  91. package/lib/framework/impl/document/doc-container-impl.d.ts +1 -0
  92. package/lib/framework/impl/document/doc-container-impl.d.ts.map +1 -0
  93. package/lib/framework/impl/document/doc-footer-impl.d.ts +1 -0
  94. package/lib/framework/impl/document/doc-footer-impl.d.ts.map +1 -0
  95. package/lib/framework/impl/document/doc-header-impl.d.ts +1 -0
  96. package/lib/framework/impl/document/doc-header-impl.d.ts.map +1 -0
  97. package/lib/framework/impl/document/doc-impl.d.ts +1 -0
  98. package/lib/framework/impl/document/doc-impl.d.ts.map +1 -0
  99. package/lib/framework/impl/index.d.ts +37 -0
  100. package/lib/framework/impl/index.d.ts.map +1 -0
  101. package/lib/framework/impl/media-formula/menstrual-history.d.ts +1 -0
  102. package/lib/framework/impl/media-formula/menstrual-history.d.ts.map +1 -0
  103. package/lib/framework/impl/paragraph/p-impl.d.ts +1 -0
  104. package/lib/framework/impl/paragraph/p-impl.d.ts.map +1 -0
  105. package/lib/framework/impl/picture/image-impl.d.ts +1 -0
  106. package/lib/framework/impl/picture/image-impl.d.ts.map +1 -0
  107. package/lib/framework/impl/radio/radio-impl.d.ts +1 -0
  108. package/lib/framework/impl/radio/radio-impl.d.ts.map +1 -0
  109. package/lib/framework/impl/symbol/br-symbol-impl.d.ts +1 -0
  110. package/lib/framework/impl/symbol/br-symbol-impl.d.ts.map +1 -0
  111. package/lib/framework/impl/symbol/p-symbol-impl.d.ts +1 -0
  112. package/lib/framework/impl/symbol/p-symbol-impl.d.ts.map +1 -0
  113. package/lib/framework/impl/table/table-cell-impl.d.ts +1 -0
  114. package/lib/framework/impl/table/table-cell-impl.d.ts.map +1 -0
  115. package/lib/framework/impl/table/table-impl.d.ts +1 -0
  116. package/lib/framework/impl/table/table-impl.d.ts.map +1 -0
  117. package/lib/framework/impl/table/table-row-impl.d.ts +1 -0
  118. package/lib/framework/impl/table/table-row-impl.d.ts.map +1 -0
  119. package/lib/framework/impl/table/table-split-cell-patch.d.ts +1 -0
  120. package/lib/framework/impl/table/table-split-cell-patch.d.ts.map +1 -0
  121. package/lib/framework/impl/table/table-split-cell.d.ts +1 -0
  122. package/lib/framework/impl/table/table-split-cell.d.ts.map +1 -0
  123. package/lib/framework/impl/table/table-util.d.ts +1 -0
  124. package/lib/framework/impl/table/table-util.d.ts.map +1 -0
  125. package/lib/framework/impl/text/text-impl.d.ts +1 -0
  126. package/lib/framework/impl/text/text-impl.d.ts.map +1 -0
  127. package/lib/framework/impl/text/track-run-impl.d.ts +1 -0
  128. package/lib/framework/impl/text/track-run-impl.d.ts.map +1 -0
  129. package/lib/framework/notify.d.ts +1 -0
  130. package/lib/framework/notify.d.ts.map +1 -0
  131. package/lib/framework/range-util.d.ts +1 -0
  132. package/lib/framework/range-util.d.ts.map +1 -0
  133. package/lib/framework/render-context.d.ts +1 -0
  134. package/lib/framework/render-context.d.ts.map +1 -0
  135. package/lib/framework/render-define.d.ts +1 -0
  136. package/lib/framework/render-define.d.ts.map +1 -0
  137. package/lib/framework/selection-overlays.d.ts +1 -0
  138. package/lib/framework/selection-overlays.d.ts.map +1 -0
  139. package/lib/index.d.ts +35 -0
  140. package/lib/index.d.ts.map +1 -0
  141. package/lib/index.js +15671 -0
  142. package/lib/texteditor.d.ts +3 -2
  143. package/lib/texteditor.d.ts.map +1 -0
  144. package/lib/util/subject.d.ts +1 -0
  145. package/lib/util/subject.d.ts.map +1 -0
  146. package/lib/util/table-bind.d.ts +1 -0
  147. package/lib/util/table-bind.d.ts.map +1 -0
  148. package/package.json +14 -8
  149. package/lib/doc-ruler.js +0 -313
  150. package/lib/doc-ruler.js.map +0 -1
  151. package/lib/framework/common-util.js +0 -178
  152. package/lib/framework/common-util.js.map +0 -1
  153. package/lib/framework/document-change.js +0 -1342
  154. package/lib/framework/document-change.js.map +0 -1
  155. package/lib/framework/document-combine.js +0 -40
  156. package/lib/framework/document-combine.js.map +0 -1
  157. package/lib/framework/document-comment.js +0 -148
  158. package/lib/framework/document-comment.js.map +0 -1
  159. package/lib/framework/document-context.js +0 -330
  160. package/lib/framework/document-context.js.map +0 -1
  161. package/lib/framework/document-eval-func.js +0 -48
  162. package/lib/framework/document-eval-func.js.map +0 -1
  163. package/lib/framework/document-event.js +0 -1054
  164. package/lib/framework/document-event.js.map +0 -1
  165. package/lib/framework/document-history.js +0 -65
  166. package/lib/framework/document-history.js.map +0 -1
  167. package/lib/framework/document-images-loader.js +0 -66
  168. package/lib/framework/document-images-loader.js.map +0 -1
  169. package/lib/framework/document-input-cursor.js +0 -239
  170. package/lib/framework/document-input-cursor.js.map +0 -1
  171. package/lib/framework/document-paint.js +0 -103
  172. package/lib/framework/document-paint.js.map +0 -1
  173. package/lib/framework/document-print-offscreen.js +0 -128
  174. package/lib/framework/document-print-offscreen.js.map +0 -1
  175. package/lib/framework/document-print.js +0 -203
  176. package/lib/framework/document-print.js.map +0 -1
  177. package/lib/framework/document-segmenter.js +0 -106
  178. package/lib/framework/document-segmenter.js.map +0 -1
  179. package/lib/framework/document-selection.js +0 -358
  180. package/lib/framework/document-selection.js.map +0 -1
  181. package/lib/framework/document-template.js +0 -20
  182. package/lib/framework/document-template.js.map +0 -1
  183. package/lib/framework/document-textline-mode.js +0 -30
  184. package/lib/framework/document-textline-mode.js.map +0 -1
  185. package/lib/framework/element-define.js +0 -579
  186. package/lib/framework/element-define.js.map +0 -1
  187. package/lib/framework/element-event-define.js +0 -108
  188. package/lib/framework/element-event-define.js.map +0 -1
  189. package/lib/framework/element-measure.js +0 -551
  190. package/lib/framework/element-measure.js.map +0 -1
  191. package/lib/framework/element-paint.js +0 -170
  192. package/lib/framework/element-paint.js.map +0 -1
  193. package/lib/framework/element-props.js +0 -809
  194. package/lib/framework/element-props.js.map +0 -1
  195. package/lib/framework/element-reader.js +0 -151
  196. package/lib/framework/element-reader.js.map +0 -1
  197. package/lib/framework/element-render-cut.js +0 -449
  198. package/lib/framework/element-render-cut.js.map +0 -1
  199. package/lib/framework/element-serialize.js +0 -113
  200. package/lib/framework/element-serialize.js.map +0 -1
  201. package/lib/framework/element-util.js +0 -1463
  202. package/lib/framework/element-util.js.map +0 -1
  203. package/lib/framework/impl/checkbox/checkbox-impl.js +0 -64
  204. package/lib/framework/impl/checkbox/checkbox-impl.js.map +0 -1
  205. package/lib/framework/impl/comments/comment-content-impl.js +0 -105
  206. package/lib/framework/impl/comments/comment-content-impl.js.map +0 -1
  207. package/lib/framework/impl/comments/comment-element-impl.js +0 -62
  208. package/lib/framework/impl/comments/comment-element-impl.js.map +0 -1
  209. package/lib/framework/impl/comments/comments-container-impl.js +0 -62
  210. package/lib/framework/impl/comments/comments-container-impl.js.map +0 -1
  211. package/lib/framework/impl/comments/comments-util.js +0 -67
  212. package/lib/framework/impl/comments/comments-util.js.map +0 -1
  213. package/lib/framework/impl/comments/validate-msg-impl.js +0 -83
  214. package/lib/framework/impl/comments/validate-msg-impl.js.map +0 -1
  215. package/lib/framework/impl/data-element/data-decorate-impl.js +0 -91
  216. package/lib/framework/impl/data-element/data-decorate-impl.js.map +0 -1
  217. package/lib/framework/impl/data-element/data-element-barcode.js +0 -115
  218. package/lib/framework/impl/data-element/data-element-barcode.js.map +0 -1
  219. package/lib/framework/impl/data-element/data-element-base-impl.js +0 -205
  220. package/lib/framework/impl/data-element/data-element-base-impl.js.map +0 -1
  221. package/lib/framework/impl/data-element/data-element-check-impl.js +0 -133
  222. package/lib/framework/impl/data-element/data-element-check-impl.js.map +0 -1
  223. package/lib/framework/impl/data-element/data-element-date-impl.js +0 -111
  224. package/lib/framework/impl/data-element/data-element-date-impl.js.map +0 -1
  225. package/lib/framework/impl/data-element/data-element-group-impl.js +0 -130
  226. package/lib/framework/impl/data-element/data-element-group-impl.js.map +0 -1
  227. package/lib/framework/impl/data-element/data-element-image-impl.js +0 -137
  228. package/lib/framework/impl/data-element/data-element-image-impl.js.map +0 -1
  229. package/lib/framework/impl/data-element/data-element-list-impl.js +0 -131
  230. package/lib/framework/impl/data-element/data-element-list-impl.js.map +0 -1
  231. package/lib/framework/impl/data-element/data-element-text-impl.js +0 -103
  232. package/lib/framework/impl/data-element/data-element-text-impl.js.map +0 -1
  233. package/lib/framework/impl/decorate/fill-null-space-imple.js +0 -43
  234. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +0 -1
  235. package/lib/framework/impl/document/doc-body-impl.js +0 -79
  236. package/lib/framework/impl/document/doc-body-impl.js.map +0 -1
  237. package/lib/framework/impl/document/doc-body-part-impl.js +0 -94
  238. package/lib/framework/impl/document/doc-body-part-impl.js.map +0 -1
  239. package/lib/framework/impl/document/doc-container-impl.js +0 -21
  240. package/lib/framework/impl/document/doc-container-impl.js.map +0 -1
  241. package/lib/framework/impl/document/doc-footer-impl.js +0 -77
  242. package/lib/framework/impl/document/doc-footer-impl.js.map +0 -1
  243. package/lib/framework/impl/document/doc-header-impl.js +0 -83
  244. package/lib/framework/impl/document/doc-header-impl.js.map +0 -1
  245. package/lib/framework/impl/document/doc-impl.js +0 -209
  246. package/lib/framework/impl/document/doc-impl.js.map +0 -1
  247. package/lib/framework/impl/media-formula/menstrual-history.js +0 -153
  248. package/lib/framework/impl/media-formula/menstrual-history.js.map +0 -1
  249. package/lib/framework/impl/paragraph/p-impl.js +0 -156
  250. package/lib/framework/impl/paragraph/p-impl.js.map +0 -1
  251. package/lib/framework/impl/picture/image-impl.js +0 -124
  252. package/lib/framework/impl/picture/image-impl.js.map +0 -1
  253. package/lib/framework/impl/radio/radio-impl.js +0 -72
  254. package/lib/framework/impl/radio/radio-impl.js.map +0 -1
  255. package/lib/framework/impl/symbol/br-symbol-impl.js +0 -54
  256. package/lib/framework/impl/symbol/br-symbol-impl.js.map +0 -1
  257. package/lib/framework/impl/symbol/p-symbol-impl.js +0 -54
  258. package/lib/framework/impl/symbol/p-symbol-impl.js.map +0 -1
  259. package/lib/framework/impl/table/table-cell-impl.js +0 -145
  260. package/lib/framework/impl/table/table-cell-impl.js.map +0 -1
  261. package/lib/framework/impl/table/table-impl.js +0 -363
  262. package/lib/framework/impl/table/table-impl.js.map +0 -1
  263. package/lib/framework/impl/table/table-row-impl.js +0 -75
  264. package/lib/framework/impl/table/table-row-impl.js.map +0 -1
  265. package/lib/framework/impl/table/table-split-cell-patch.js +0 -89
  266. package/lib/framework/impl/table/table-split-cell-patch.js.map +0 -1
  267. package/lib/framework/impl/table/table-split-cell.js +0 -464
  268. package/lib/framework/impl/table/table-split-cell.js.map +0 -1
  269. package/lib/framework/impl/table/table-util.js +0 -678
  270. package/lib/framework/impl/table/table-util.js.map +0 -1
  271. package/lib/framework/impl/text/text-impl.js +0 -149
  272. package/lib/framework/impl/text/text-impl.js.map +0 -1
  273. package/lib/framework/impl/text/track-run-impl.js +0 -112
  274. package/lib/framework/impl/text/track-run-impl.js.map +0 -1
  275. package/lib/framework/notify.js +0 -116
  276. package/lib/framework/notify.js.map +0 -1
  277. package/lib/framework/range-util.js +0 -312
  278. package/lib/framework/range-util.js.map +0 -1
  279. package/lib/framework/render-context.js +0 -384
  280. package/lib/framework/render-context.js.map +0 -1
  281. package/lib/framework/render-define.js +0 -195
  282. package/lib/framework/render-define.js.map +0 -1
  283. package/lib/framework/selection-overlays.js +0 -124
  284. package/lib/framework/selection-overlays.js.map +0 -1
  285. package/lib/texteditor.js +0 -913
  286. package/lib/texteditor.js.map +0 -1
  287. package/lib/util/subject.js +0 -88
  288. package/lib/util/subject.js.map +0 -1
  289. package/lib/util/table-bind.js +0 -6
  290. package/lib/util/table-bind.js.map +0 -1
@@ -1,170 +0,0 @@
1
- import { BranchRenderObject, LeafRenderObject } from "./render-define";
2
- import { ElementUtil } from "./element-util";
3
- import { CommsContainerRenderObject } from "./impl/comments/comments-container-impl";
4
- import { CommentsUtil } from "./impl/comments/comments-util";
5
- import { TextGroupElement } from "./impl/text/text-impl";
6
- import { RangeUtil } from "./range-util";
7
- import { DataElementRenderObject } from "./impl/data-element/data-element-base-impl";
8
- export class ElementPaint {
9
- viewOptions;
10
- renderCtx;
11
- //存储元素和绘制元素的映射关系
12
- //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
- }
20
- //审阅标记的位置对应关系
21
- paintCommMap;
22
- paintPagePos;
23
- drawPages(docContainer, selectedSets, measureCommContainer, rePaint) {
24
- this.rePaint = rePaint;
25
- this.measureCommContainer = measureCommContainer;
26
- const { viewSettings, docPageSettings, viewBackcolor } = this.viewOptions;
27
- this.renderCtx.clear();
28
- this.selectedSets = selectedSets;
29
- docContainer.rect.x = Math.floor((viewSettings.width - docPageSettings.width) / 2);
30
- this.renderCtx.overlaysContext.fillRect(0, 0, viewSettings.width, viewSettings.height, viewBackcolor);
31
- const pageCount = docContainer.length;
32
- const containerPos = { x: docContainer.rect.x, y: docContainer.rect.y - this.viewOptions.translateY };
33
- for (let i = 0; i < pageCount; i++) {
34
- const doc = docContainer.getChild(i);
35
- const { x: rx, y: ry, width: rw, height: rh } = doc.rect;
36
- 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);
38
- if (this.viewOptions.fullPageView) {
39
- //inViewPort = undefined;
40
- }
41
- this.paintCommMap = [];
42
- this.paintPagePos = currPosition;
43
- this.drawRenderObject(doc, containerPos, inViewPort);
44
- if (inViewPort) {
45
- this.invokedPagePaintCompleted(doc, containerPos);
46
- }
47
- }
48
- docContainer.endRender(this.renderCtx, containerPos);
49
- this.renderCtx.commit(null);
50
- }
51
- drawRenderObject(renderObject, parent, parentInViewPort = false) {
52
- const element = renderObject.element;
53
- if (this.rePaint && element) {
54
- element.paintRenders.push(renderObject);
55
- }
56
- const { x: rx, y: ry, width: rw, height: rh } = renderObject.rect;
57
- const currPosition = { x: rx + parent.x, y: ry + parent.y };
58
- //判断当前绘制元素是否在视窗内
59
- let inViewPort = parentInViewPort;
60
- if (parentInViewPort === undefined || this.viewOptions.fullPageView) {
61
- inViewPort = (currPosition.y >= 0 && currPosition.y <= this.viewOptions.viewPaintHeight) || (currPosition.y < 0 && currPosition.y + rh > 0);
62
- }
63
- if (renderObject instanceof BranchRenderObject) {
64
- if (inViewPort || this.rePaint) {
65
- //审阅窗口重新计算位置
66
- if (this.viewOptions.showReviewWindow && renderObject instanceof CommsContainerRenderObject) {
67
- if (!renderObject.isMeasureComm) {
68
- CommentsUtil.remeasureComments(this.renderCtx, renderObject, this.measureCommContainer, this.paintCommMap);
69
- renderObject.isMeasureComm = true;
70
- }
71
- }
72
- renderObject.beginRender(this.renderCtx, currPosition);
73
- for (let i = 0; i < renderObject.length; i++) {
74
- const child = renderObject.getChild(i);
75
- this.drawRenderObject(child, currPosition, inViewPort);
76
- }
77
- renderObject.endRender(this.renderCtx, currPosition);
78
- }
79
- }
80
- else if (renderObject instanceof LeafRenderObject) {
81
- if (inViewPort) {
82
- renderObject.render(this.renderCtx, currPosition);
83
- }
84
- //审阅信息
85
- if (this.viewOptions.showReviewWindow && element && element.type === 'comm') {
86
- const commElement = element;
87
- if (commElement.props.markType === 'start') {
88
- //获取当前绘制元素相对于当前页的坐标
89
- this.paintCommMap.push({ ele: commElement, render: renderObject, pos: { x: currPosition.x - this.paintPagePos.x, y: currPosition.y - this.paintPagePos.y } });
90
- }
91
- }
92
- }
93
- //处理选中拖蓝
94
- if (inViewPort && this.selectedSets.has(element)) {
95
- const range = this.selectedSets.get(element);
96
- if (renderObject instanceof LeafRenderObject) {
97
- const overlayRect = { x: currPosition.x, y: currPosition.y, width: rw, height: rh };
98
- const paraLinePos = ElementUtil.getParaLinePos(renderObject, { x: currPosition.x, y: currPosition.y });
99
- if (range.isFullSelected) {
100
- this.renderCtx.overlaysContext.fillRect(overlayRect.x, paraLinePos.y, overlayRect.width, paraLinePos.height, this.viewOptions.selectionOverlaysColor);
101
- }
102
- else {
103
- if (element instanceof TextGroupElement && range.endOffset > range.startOffset) {
104
- const { startX, endX } = ElementUtil.getTextRenderHorX(renderObject, range.startOffset, range.endOffset);
105
- overlayRect.width = endX - startX;
106
- overlayRect.x += startX;
107
- this.renderCtx.overlaysContext.fillRect(overlayRect.x, paraLinePos.y, overlayRect.width, paraLinePos.height, this.viewOptions.selectionOverlaysColor);
108
- }
109
- }
110
- }
111
- else if (range.isFullSelected && element.type === 'tbc') {
112
- this.renderCtx.overlaysContext.fillRect(currPosition.x, currPosition.y, renderObject.rect.width, renderObject.rect.height, this.viewOptions.selectionOverlaysColor);
113
- }
114
- }
115
- if (inViewPort && this.viewOptions.showReviewWindow && this.measureCommContainer.selectedSet.has(element)) {
116
- if (renderObject instanceof LeafRenderObject || renderObject instanceof DataElementRenderObject) {
117
- const range = this.measureCommContainer.selectedSet.get(element);
118
- if (range.isFullSelected) {
119
- let commentRangePaintColor = '#ffd591';
120
- for (let i = 0; i < this.measureCommContainer.commentRangeStatus.length; i++) {
121
- const commentRangeStatus = this.measureCommContainer.commentRangeStatus[i];
122
- if (commentRangeStatus.commContent.focus) {
123
- if (RangeUtil.checkElementFullInRange(commentRangeStatus.range, element)) {
124
- commentRangePaintColor = '#fa8c16';
125
- }
126
- }
127
- }
128
- const overlayRect = { x: currPosition.x, y: currPosition.y, width: rw, height: rh };
129
- const paraLinePos = ElementUtil.getParaLinePos(renderObject, { x: currPosition.x, y: currPosition.y });
130
- this.renderCtx.overlaysContext.fillRect(overlayRect.x, paraLinePos.y, overlayRect.width, paraLinePos.height, commentRangePaintColor);
131
- }
132
- }
133
- }
134
- }
135
- /**
136
- * 触发页面绘制结束事件
137
- */
138
- invokedPagePaintCompleted(renderObject, parent) {
139
- const { x: rx, y: ry, width: rw, height: rh } = renderObject.rect;
140
- const currPosition = { x: rx + parent.x, y: ry + parent.y };
141
- renderObject.pagePaintCompleted(this.renderCtx, currPosition);
142
- if (renderObject instanceof BranchRenderObject) {
143
- for (let i = 0; i < renderObject.length; i++) {
144
- this.invokedPagePaintCompleted(renderObject.getChild(i), currPosition);
145
- }
146
- }
147
- }
148
- static drawPage(renderCtx, renderObject, parent) {
149
- const { x: rx, y: ry } = renderObject.rect;
150
- const currPosition = { x: rx + parent.x, y: ry + parent.y };
151
- if (renderObject instanceof BranchRenderObject) {
152
- renderObject.beginRender(renderCtx, currPosition);
153
- for (let i = 0; i < renderObject.length; i++) {
154
- const child = renderObject.getChild(i);
155
- this.drawPage(renderCtx, child, currPosition);
156
- }
157
- renderObject.endRender(renderCtx, currPosition);
158
- }
159
- else if (renderObject instanceof LeafRenderObject) {
160
- renderObject.render(renderCtx, currPosition);
161
- }
162
- }
163
- getLeafElementPaintMap(element, shadowRenderIndex = 0) {
164
- return element.paintRenders[shadowRenderIndex];
165
- }
166
- getShadowRenderIndex(element, render) {
167
- return element.paintRenders.indexOf(render);
168
- }
169
- }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1wYWludC5qcyIsInNvdXJjZVJvb3QiOiJsaWIvIiwic291cmNlcyI6WyJmcmFtZXdvcmsvZWxlbWVudC1wYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFFckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUtyRixNQUFNLE9BQU8sWUFBWTtJQU1EO0lBQWtDO0lBTHRELGdCQUFnQjtJQUNoQixpRUFBaUU7SUFDekQsWUFBWSxDQUF1QztJQUNuRCxvQkFBb0IsQ0FBOEI7SUFDbEQsT0FBTyxDQUFXO0lBQzFCLFlBQW9CLFdBQXdCLEVBQVUsU0FBNkI7UUFBL0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFvQjtJQUFJLENBQUM7SUFDeEYsYUFBYTtJQUNiLFlBQVksQ0FBdUU7SUFDbkYsWUFBWSxDQUFZO0lBQ3hCLFNBQVMsQ0FBQyxZQUFxQyxFQUFFLFlBQWlELEVBQUUsb0JBQWdELEVBQUUsT0FBZ0I7UUFDbEssSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUUsSUFB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
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-paint.js","sourceRoot":"lib/","sources":["framework/element-paint.ts"],"names":[],"mappings":"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"}