@hailin-zheng/editor-core 1.0.5 → 1.0.6

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 (238) hide show
  1. package/lib/doc-ruler.d.ts +51 -0
  2. package/{src/med_editor/doc-ruler.ts → lib/doc-ruler.js} +73 -100
  3. package/lib/doc-ruler.js.map +1 -0
  4. package/lib/framework/common-util.d.ts +63 -0
  5. package/lib/framework/common-util.js +178 -0
  6. package/lib/framework/common-util.js.map +1 -0
  7. package/lib/framework/document-change.d.ts +265 -0
  8. package/{src/med_editor/framework/document-change.ts → lib/framework/document-change.js} +257 -307
  9. package/lib/framework/document-change.js.map +1 -0
  10. package/lib/framework/document-combine.d.ts +24 -0
  11. package/{src/med_editor/framework/document-combine.ts → lib/framework/document-combine.js} +11 -15
  12. package/lib/framework/document-combine.js.map +1 -0
  13. package/lib/framework/document-comment.d.ts +46 -0
  14. package/{src/med_editor/framework/document-comment.ts → lib/framework/document-comment.js} +37 -57
  15. package/lib/framework/document-comment.js.map +1 -0
  16. package/lib/framework/document-context.d.ts +149 -0
  17. package/{src/med_editor/framework/document-context.ts → lib/framework/document-context.js} +101 -181
  18. package/lib/framework/document-context.js.map +1 -0
  19. package/lib/framework/document-eval-func.d.ts +18 -0
  20. package/{src/med_editor/framework/document-eval-func.ts → lib/framework/document-eval-func.js} +11 -16
  21. package/lib/framework/document-eval-func.js.map +1 -0
  22. package/lib/framework/document-event.d.ts +213 -0
  23. package/{src/med_editor/framework/document-event.ts → lib/framework/document-event.js} +216 -244
  24. package/lib/framework/document-event.js.map +1 -0
  25. package/lib/framework/document-history.d.ts +26 -0
  26. package/{src/med_editor/framework/document-history.ts → lib/framework/document-history.js} +14 -25
  27. package/lib/framework/document-history.js.map +1 -0
  28. package/lib/framework/document-images-loader.d.ts +16 -0
  29. package/{src/med_editor/framework/document-images-loader.ts → lib/framework/document-images-loader.js} +17 -25
  30. package/lib/framework/document-images-loader.js.map +1 -0
  31. package/lib/framework/document-input-cursor.d.ts +78 -0
  32. package/{src/med_editor/framework/document-input-cursor.ts → lib/framework/document-input-cursor.js} +71 -76
  33. package/lib/framework/document-input-cursor.js.map +1 -0
  34. package/lib/framework/document-paint.d.ts +34 -0
  35. package/{src/med_editor/framework/document-paint.ts → lib/framework/document-paint.js} +28 -35
  36. package/lib/framework/document-paint.js.map +1 -0
  37. package/lib/framework/document-print-offscreen.d.ts +38 -0
  38. package/{src/med_editor/framework/document-print-offscreen.ts → lib/framework/document-print-offscreen.js} +19 -25
  39. package/lib/framework/document-print-offscreen.js.map +1 -0
  40. package/lib/framework/document-print.d.ts +60 -0
  41. package/{src/med_editor/framework/document-print.ts → lib/framework/document-print.js} +41 -57
  42. package/lib/framework/document-print.js.map +1 -0
  43. package/lib/framework/document-segmenter.d.ts +2 -0
  44. package/lib/framework/document-segmenter.js +106 -0
  45. package/lib/framework/document-segmenter.js.map +1 -0
  46. package/lib/framework/document-selection.d.ts +89 -0
  47. package/{src/med_editor/framework/document-selection.ts → lib/framework/document-selection.js} +84 -117
  48. package/lib/framework/document-selection.js.map +1 -0
  49. package/lib/framework/document-template.d.ts +4 -0
  50. package/{src/med_editor/framework/document-template.ts → lib/framework/document-template.js} +3 -3
  51. package/lib/framework/document-template.js.map +1 -0
  52. package/lib/framework/document-textline-mode.d.ts +7 -0
  53. package/lib/framework/document-textline-mode.js +30 -0
  54. package/lib/framework/document-textline-mode.js.map +1 -0
  55. package/lib/framework/element-define.d.ts +319 -0
  56. package/{src/med_editor/framework/element-define.ts → lib/framework/element-define.js} +206 -301
  57. package/lib/framework/element-define.js.map +1 -0
  58. package/lib/framework/element-event-define.d.ts +99 -0
  59. package/lib/framework/element-event-define.js +108 -0
  60. package/lib/framework/element-event-define.js.map +1 -0
  61. package/lib/framework/element-measure.d.ts +97 -0
  62. package/{src/med_editor/framework/element-measure.ts → lib/framework/element-measure.js} +121 -143
  63. package/lib/framework/element-measure.js.map +1 -0
  64. package/lib/framework/element-paint.d.ts +42 -0
  65. package/{src/med_editor/framework/element-paint.ts → lib/framework/element-paint.js} +37 -43
  66. package/lib/framework/element-paint.js.map +1 -0
  67. package/lib/framework/element-props.d.ts +301 -0
  68. package/{src/med_editor/framework/element-props.ts → lib/framework/element-props.js} +202 -331
  69. package/lib/framework/element-props.js.map +1 -0
  70. package/lib/framework/element-reader.d.ts +19 -0
  71. package/{src/med_editor/framework/element-reader.ts → lib/framework/element-reader.js} +30 -38
  72. package/lib/framework/element-reader.js.map +1 -0
  73. package/lib/framework/element-render-cut.d.ts +55 -0
  74. package/{src/med_editor/framework/element-render-cut.ts → lib/framework/element-render-cut.js} +106 -113
  75. package/lib/framework/element-render-cut.js.map +1 -0
  76. package/lib/framework/element-serialize.d.ts +30 -0
  77. package/{src/med_editor/framework/element-serialize.ts → lib/framework/element-serialize.js} +25 -40
  78. package/lib/framework/element-serialize.js.map +1 -0
  79. package/lib/framework/element-util.d.ts +369 -0
  80. package/{src/med_editor/framework/element-util.ts → lib/framework/element-util.js} +216 -318
  81. package/lib/framework/element-util.js.map +1 -0
  82. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
  83. package/{src/med_editor/framework/impl/checkbox/checkbox-impl.ts → lib/framework/impl/checkbox/checkbox-impl.js} +18 -25
  84. package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
  85. package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
  86. package/{src/med_editor/framework/impl/comments/comment-content-impl.ts → lib/framework/impl/comments/comment-content-impl.js} +31 -45
  87. package/lib/framework/impl/comments/comment-content-impl.js.map +1 -0
  88. package/lib/framework/impl/comments/comment-element-impl.d.ts +21 -0
  89. package/{src/med_editor/framework/impl/comments/comment-element-impl.ts → lib/framework/impl/comments/comment-element-impl.js} +18 -21
  90. package/lib/framework/impl/comments/comment-element-impl.js.map +1 -0
  91. package/lib/framework/impl/comments/comments-container-impl.d.ts +22 -0
  92. package/{src/med_editor/framework/impl/comments/comments-container-impl.ts → lib/framework/impl/comments/comments-container-impl.js} +15 -21
  93. package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
  94. package/lib/framework/impl/comments/comments-util.d.ts +12 -0
  95. package/{src/med_editor/framework/impl/comments/comments-util.ts → lib/framework/impl/comments/comments-util.js} +17 -34
  96. package/lib/framework/impl/comments/comments-util.js.map +1 -0
  97. package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
  98. package/{src/med_editor/framework/impl/comments/validate-msg-impl.ts → lib/framework/impl/comments/validate-msg-impl.js} +15 -26
  99. package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -0
  100. package/lib/framework/impl/data-element/data-decorate-impl.d.ts +30 -0
  101. package/{src/med_editor/framework/impl/data-element/data-decorate-impl.ts → lib/framework/impl/data-element/data-decorate-impl.js} +21 -25
  102. package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -0
  103. package/lib/framework/impl/data-element/data-element-barcode.d.ts +31 -0
  104. package/{src/med_editor/framework/impl/data-element/data-element-barcode.ts → lib/framework/impl/data-element/data-element-barcode.js} +27 -39
  105. package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -0
  106. package/lib/framework/impl/data-element/data-element-base-impl.d.ts +68 -0
  107. package/{src/med_editor/framework/impl/data-element/data-element-base-impl.ts → lib/framework/impl/data-element/data-element-base-impl.js} +44 -73
  108. package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -0
  109. package/lib/framework/impl/data-element/data-element-check-impl.d.ts +35 -0
  110. package/{src/med_editor/framework/impl/data-element/data-element-check-impl.ts → lib/framework/impl/data-element/data-element-check-impl.js} +33 -46
  111. package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -0
  112. package/lib/framework/impl/data-element/data-element-date-impl.d.ts +23 -0
  113. package/{src/med_editor/framework/impl/data-element/data-element-date-impl.ts → lib/framework/impl/data-element/data-element-date-impl.js} +22 -39
  114. package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -0
  115. package/lib/framework/impl/data-element/data-element-group-impl.d.ts +23 -0
  116. package/{src/med_editor/framework/impl/data-element/data-element-group-impl.ts → lib/framework/impl/data-element/data-element-group-impl.js} +29 -49
  117. package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -0
  118. package/lib/framework/impl/data-element/data-element-image-impl.d.ts +30 -0
  119. package/{src/med_editor/framework/impl/data-element/data-element-image-impl.ts → lib/framework/impl/data-element/data-element-image-impl.js} +26 -36
  120. package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -0
  121. package/lib/framework/impl/data-element/data-element-list-impl.d.ts +22 -0
  122. package/{src/med_editor/framework/impl/data-element/data-element-list-impl.ts → lib/framework/impl/data-element/data-element-list-impl.js} +30 -41
  123. package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -0
  124. package/lib/framework/impl/data-element/data-element-text-impl.d.ts +23 -0
  125. package/{src/med_editor/framework/impl/data-element/data-element-text-impl.ts → lib/framework/impl/data-element/data-element-text-impl.js} +20 -34
  126. package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -0
  127. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +21 -0
  128. package/{src/med_editor/framework/impl/decorate/fill-null-space-imple.ts → lib/framework/impl/decorate/fill-null-space-imple.js} +10 -15
  129. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -0
  130. package/lib/framework/impl/document/doc-body-impl.d.ts +27 -0
  131. package/{src/med_editor/framework/impl/document/doc-body-impl.ts → lib/framework/impl/document/doc-body-impl.js} +15 -31
  132. package/lib/framework/impl/document/doc-body-impl.js.map +1 -0
  133. package/lib/framework/impl/document/doc-body-part-impl.d.ts +30 -0
  134. package/{src/med_editor/framework/impl/document/doc-body-part-impl.ts → lib/framework/impl/document/doc-body-part-impl.js} +16 -26
  135. package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -0
  136. package/lib/framework/impl/document/doc-container-impl.d.ts +16 -0
  137. package/lib/framework/impl/document/doc-container-impl.js +21 -0
  138. package/lib/framework/impl/document/doc-container-impl.js.map +1 -0
  139. package/lib/framework/impl/document/doc-footer-impl.d.ts +26 -0
  140. package/{src/med_editor/framework/impl/document/doc-footer-impl.ts → lib/framework/impl/document/doc-footer-impl.js} +18 -29
  141. package/lib/framework/impl/document/doc-footer-impl.js.map +1 -0
  142. package/lib/framework/impl/document/doc-header-impl.d.ts +26 -0
  143. package/{src/med_editor/framework/impl/document/doc-header-impl.ts → lib/framework/impl/document/doc-header-impl.js} +16 -33
  144. package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
  145. package/lib/framework/impl/document/doc-impl.d.ts +61 -0
  146. package/{src/med_editor/framework/impl/document/doc-impl.ts → lib/framework/impl/document/doc-impl.js} +42 -59
  147. package/lib/framework/impl/document/doc-impl.js.map +1 -0
  148. package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
  149. package/{src/med_editor/framework/impl/media-formula/menstrual-history.ts → lib/framework/impl/media-formula/menstrual-history.js} +35 -57
  150. package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
  151. package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
  152. package/{src/med_editor/framework/impl/paragraph/p-impl.ts → lib/framework/impl/paragraph/p-impl.js} +28 -62
  153. package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
  154. package/lib/framework/impl/picture/image-impl.d.ts +31 -0
  155. package/{src/med_editor/framework/impl/picture/image-impl.ts → lib/framework/impl/picture/image-impl.js} +23 -35
  156. package/lib/framework/impl/picture/image-impl.js.map +1 -0
  157. package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
  158. package/{src/med_editor/framework/impl/radio/radio-impl.ts → lib/framework/impl/radio/radio-impl.js} +19 -26
  159. package/lib/framework/impl/radio/radio-impl.js.map +1 -0
  160. package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
  161. package/{src/med_editor/framework/impl/symbol/br-symbol-impl.ts → lib/framework/impl/symbol/br-symbol-impl.js} +14 -20
  162. package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -0
  163. package/lib/framework/impl/symbol/p-symbol-impl.d.ts +19 -0
  164. package/{src/med_editor/framework/impl/symbol/p-symbol-impl.ts → lib/framework/impl/symbol/p-symbol-impl.js} +11 -14
  165. package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -0
  166. package/lib/framework/impl/table/table-cell-impl.d.ts +37 -0
  167. package/{src/med_editor/framework/impl/table/table-cell-impl.ts → lib/framework/impl/table/table-cell-impl.js} +28 -39
  168. package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
  169. package/lib/framework/impl/table/table-impl.d.ts +55 -0
  170. package/{src/med_editor/framework/impl/table/table-impl.ts → lib/framework/impl/table/table-impl.js} +82 -120
  171. package/lib/framework/impl/table/table-impl.js.map +1 -0
  172. package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
  173. package/{src/med_editor/framework/impl/table/table-row-impl.ts → lib/framework/impl/table/table-row-impl.js} +16 -24
  174. package/lib/framework/impl/table/table-row-impl.js.map +1 -0
  175. package/lib/framework/impl/table/table-split-cell-patch.d.ts +20 -0
  176. package/{src/med_editor/framework/impl/table/table-split-cell-patch.ts → lib/framework/impl/table/table-split-cell-patch.js} +22 -31
  177. package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -0
  178. package/lib/framework/impl/table/table-split-cell.d.ts +90 -0
  179. package/{src/med_editor/framework/impl/table/table-split-cell.ts → lib/framework/impl/table/table-split-cell.js} +94 -105
  180. package/lib/framework/impl/table/table-split-cell.js.map +1 -0
  181. package/lib/framework/impl/table/table-util.d.ts +150 -0
  182. package/{src/med_editor/framework/impl/table/table-util.ts → lib/framework/impl/table/table-util.js} +157 -195
  183. package/lib/framework/impl/table/table-util.js.map +1 -0
  184. package/lib/framework/impl/text/text-impl.d.ts +32 -0
  185. package/{src/med_editor/framework/impl/text/text-impl.ts → lib/framework/impl/text/text-impl.js} +32 -47
  186. package/lib/framework/impl/text/text-impl.js.map +1 -0
  187. package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
  188. package/{src/med_editor/framework/impl/text/track-run-impl.ts → lib/framework/impl/text/track-run-impl.js} +28 -51
  189. package/lib/framework/impl/text/track-run-impl.js.map +1 -0
  190. package/lib/framework/notify.d.ts +13 -0
  191. package/{src/med_editor/framework/notify.ts → lib/framework/notify.js} +36 -50
  192. package/lib/framework/notify.js.map +1 -0
  193. package/lib/framework/range-util.d.ts +40 -0
  194. package/{src/med_editor/framework/range-util.ts → lib/framework/range-util.js} +71 -80
  195. package/lib/framework/range-util.js.map +1 -0
  196. package/lib/framework/render-context.d.ts +91 -0
  197. package/{src/med_editor/framework/render-context.ts → lib/framework/render-context.js} +64 -111
  198. package/lib/framework/render-context.js.map +1 -0
  199. package/lib/framework/render-define.d.ts +109 -0
  200. package/{src/med_editor/framework/render-define.ts → lib/framework/render-define.js} +61 -90
  201. package/lib/framework/render-define.js.map +1 -0
  202. package/lib/framework/selection-overlays.d.ts +30 -0
  203. package/{src/med_editor/framework/selection-overlays.ts → lib/framework/selection-overlays.js} +16 -26
  204. package/lib/framework/selection-overlays.js.map +1 -0
  205. package/lib/texteditor.d.ts +318 -0
  206. package/{src/med_editor/texteditor.ts → lib/texteditor.js} +189 -287
  207. package/lib/texteditor.js.map +1 -0
  208. package/lib/util/subject.d.ts +34 -0
  209. package/lib/util/subject.js +88 -0
  210. package/lib/util/subject.js.map +1 -0
  211. package/lib/util/table-bind.d.ts +5 -0
  212. package/{src/med_editor/util/table-bind.ts → lib/util/table-bind.js} +2 -2
  213. package/lib/util/table-bind.js.map +1 -0
  214. package/package.json +6 -2
  215. package/src/med_editor/framework/common-util.ts +0 -200
  216. package/src/med_editor/framework/document-segmenter.ts +0 -211
  217. package/src/med_editor/framework/document-textline-mode.ts +0 -34
  218. package/src/med_editor/framework/element-event-define.ts +0 -142
  219. package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
  220. package/src/med_editor/util/subject.ts +0 -118
  221. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
  222. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +0 -3573
  223. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +0 -315
  224. 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 +0 -122
  225. 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 +0 -3599
  226. 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 +0 -24586
  227. package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
  228. package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
  229. package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
  230. package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
  231. 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 +0 -125
  232. 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 +0 -86
  233. 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 +0 -115
  234. 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 +0 -108
  235. 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 +0 -272
  236. package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
  237. package/tsconfig.json +0 -25
  238. package/webpack.config.js +0 -46
@@ -1,91 +1,91 @@
1
1
  import { CommonUtil } from "./common-util";
2
- import { fromEvent, Subject, Subscription } from "rxjs";
3
- import { DocumentPaint } from "./document-paint";
4
- import { SelectionRange, SelectionState } from "./document-selection";
5
- import { LeafElement, Rect, Element, Position, ViewOptions, ResizeLeafRenderObject, DocMode } from "./element-define";
6
- import { DropElementEvent, ElementEvent, EventStage, EventTypes, GetTrackTipsEvent, GotCursorEvent, HitEventInfo, HitRegion, ITrackTips, LostCursorEvent, MousedownElementEvent, MouseElementEvent } from "./element-event-define";
2
+ import { fromEvent, Subject } from "rxjs";
3
+ import { SelectionRange } from "./document-selection";
4
+ import { LeafElement, ResizeLeafRenderObject, DocMode } from "./element-define";
5
+ import { DropElementEvent, GetTrackTipsEvent, GotCursorEvent, LostCursorEvent, MousedownElementEvent, MouseElementEvent } from "./element-event-define";
7
6
  import { ElementUtil } from "./element-util";
8
- import { DocumentRenderObject } from "./impl/document/doc-impl";
9
7
  import { PictureElement } from "./impl/picture/image-impl";
10
8
  import { BreakElement } from "./impl/symbol/br-symbol-impl";
11
9
  import { PSymbolElement } from "./impl/symbol/p-symbol-impl";
12
10
  import { TableCellElement, TableCellRenderObject } from "./impl/table/table-cell-impl";
13
- import { TableElement } from "./impl/table/table-impl";
14
- import { TableRowElement, TableRowRenderObject } from "./impl/table/table-row-impl";
15
- import { BorderType, BranchRenderObject, CursorType, LeafRenderObject, RenderObject } from "./render-define";
16
- import { EditorContext } from "./document-context";
11
+ import { TableRowRenderObject } from "./impl/table/table-row-impl";
12
+ import { BranchRenderObject, LeafRenderObject } from "./render-define";
17
13
  import { ParagraphLineRectRenderObject } from "./impl/paragraph/p-impl";
18
14
  import { TextGroupElement } from "./impl/text/text-impl";
19
15
  import { DocumentHeaderRenderObject } from "./impl/document/doc-header-impl";
20
16
  import { DocumentFooterRenderObject } from "./impl/document/doc-footer-impl";
21
17
  import { debounceTime } from "rxjs/operators";
22
- interface EdgeRenderInfo { renderElement: Element, relativePos: Position, mousedown: boolean, mousedownPos?: Position, border: BorderType }
23
18
  /**
24
19
  * 事件系统
25
20
  */
26
21
  export class DocumentEvent {
27
- private ismousedown!: boolean;
22
+ canvas;
23
+ documentPaint;
24
+ viewOptions;
25
+ selectionState;
26
+ docCtx;
27
+ ismousedown;
28
28
  //开始点击时的元素信息
29
- startHitInfo!: HitEventInfo | null;
29
+ startHitInfo;
30
30
  //当前位置点击的元素信息
31
- endHitInfo!: HitEventInfo | null;
31
+ endHitInfo;
32
32
  //当前定位的焦点元素,例如图片等
33
- focusedElement!: LeafElement | null;
34
- focusedRect!: Rect | null;
33
+ focusedElement;
34
+ focusedRect;
35
35
  //当前光标所在的元素
36
- currentMouseoverRender!: { render: RenderObject, absoluteRenderRect: Rect } | null;
37
- hitInfoChanged: Subject<{ startHitInfo: HitEventInfo, endHitInfo: HitEventInfo }> = new Subject();
38
- clickEvent: Subject<MouseEvent> = new Subject();
39
- dblClickEvent: Subject<MouseEvent> = new Subject();
40
- changeCursor: Subject<CursorType> = new Subject();
41
- contextMenu: Subject<MouseEvent> = new Subject();
42
- trackTipsChanged: Subject<{ pos: Position, tips: ITrackTips }> = new Subject();
36
+ currentMouseoverRender;
37
+ hitInfoChanged = new Subject();
38
+ clickEvent = new Subject();
39
+ dblClickEvent = new Subject();
40
+ changeCursor = new Subject();
41
+ contextMenu = new Subject();
42
+ trackTipsChanged = new Subject();
43
43
  //光标处于边框的绘制元素
44
- edgeRenderInfo!: EdgeRenderInfo | null;
44
+ edgeRenderInfo;
45
45
  //当前鼠标所在的page-position
46
- currentPos!: Position;
46
+ currentPos;
47
47
  //鼠标按下的位置
48
- mousedownPos!: Position;
49
- subs: Array<Subscription> = [];
50
-
51
- constructor(private canvas: HTMLCanvasElement, private documentPaint: DocumentPaint, private viewOptions: ViewOptions, private selectionState: SelectionState, private docCtx: EditorContext) {
48
+ mousedownPos;
49
+ subs = [];
50
+ constructor(canvas, documentPaint, viewOptions, selectionState, docCtx) {
51
+ this.canvas = canvas;
52
+ this.documentPaint = documentPaint;
53
+ this.viewOptions = viewOptions;
54
+ this.selectionState = selectionState;
55
+ this.docCtx = docCtx;
52
56
  this.bindEvent();
53
57
  }
54
-
55
- private bindEvent(): void {
56
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mousedown').subscribe((evt) => {
58
+ bindEvent() {
59
+ this.addSubEvent(fromEvent(this.canvas, 'mousedown').subscribe((evt) => {
57
60
  this.mousedown(evt);
58
61
  }));
59
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mouseup').subscribe((evt) => {
62
+ this.addSubEvent(fromEvent(this.canvas, 'mouseup').subscribe((evt) => {
60
63
  this.mouseup(evt);
61
64
  }));
62
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'click').subscribe((evt) => {
65
+ this.addSubEvent(fromEvent(this.canvas, 'click').subscribe((evt) => {
63
66
  this.mouseClickHandle(evt);
64
67
  }));
65
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'contextmenu').subscribe((evt) => {
68
+ this.addSubEvent(fromEvent(this.canvas, 'contextmenu').subscribe((evt) => {
66
69
  this.contextMenu.next(evt);
67
70
  }));
68
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mousemove').subscribe((evt) => {
71
+ this.addSubEvent(fromEvent(this.canvas, 'mousemove').subscribe((evt) => {
69
72
  this.mousemove(evt);
70
73
  }));
71
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'mousemove').pipe(debounceTime(500)).subscribe((evt) => {
74
+ this.addSubEvent(fromEvent(this.canvas, 'mousemove').pipe(debounceTime(500)).subscribe((evt) => {
72
75
  this.getTips();
73
76
  }));
74
- this.addSubEvent(fromEvent<MouseEvent>(this.canvas, 'dblclick').subscribe((evt) => {
77
+ this.addSubEvent(fromEvent(this.canvas, 'dblclick').subscribe((evt) => {
75
78
  this.mouseDblClickHandle(evt);
76
79
  }));
77
80
  }
78
-
79
- addSubEvent(sub: Subscription): void {
81
+ addSubEvent(sub) {
80
82
  this.subs.push(sub);
81
83
  }
82
-
83
- clearSubEvent(): void {
84
+ clearSubEvent() {
84
85
  this.subs.forEach(item => item.unsubscribe());
85
86
  this.subs.length = 0;
86
87
  }
87
-
88
- clear(): void {
88
+ clear() {
89
89
  this.selectionState.clear();
90
90
  this.startHitInfo = null;
91
91
  this.endHitInfo = null;
@@ -94,8 +94,7 @@ export class DocumentEvent {
94
94
  this.currentMouseoverRender = null;
95
95
  this.edgeRenderInfo = null;
96
96
  }
97
-
98
- private mousedown(evt: MouseEvent): void {
97
+ mousedown(evt) {
99
98
  const docEvent = new MouseElementEvent(this.docCtx);
100
99
  docEvent.globalX = evt.offsetX;
101
100
  docEvent.globalY = evt.offsetY;
@@ -105,8 +104,7 @@ export class DocumentEvent {
105
104
  this.mousedownPos = { x: evt.offsetX, y: evt.offsetY };
106
105
  this.mousedownHandle(docEvent);
107
106
  }
108
-
109
- private mouseup(evt: MouseEvent): void {
107
+ mouseup(evt) {
110
108
  const docEvent = new MouseElementEvent(this.docCtx);
111
109
  docEvent.globalX = evt.offsetX;
112
110
  docEvent.globalY = evt.offsetY;
@@ -115,8 +113,7 @@ export class DocumentEvent {
115
113
  this.ismousedown = false;
116
114
  this.edgeRenderInfo = null;
117
115
  }
118
-
119
- private mousemove(evt: MouseEvent): void {
116
+ mousemove(evt) {
120
117
  const docEvent = new MouseElementEvent(this.docCtx);
121
118
  docEvent.globalX = evt.offsetX;
122
119
  docEvent.globalY = evt.offsetY;
@@ -127,13 +124,12 @@ export class DocumentEvent {
127
124
  }
128
125
  this.mousemoveHandle(docEvent);
129
126
  }
130
-
131
- private prevTrackInfo: boolean = false;
127
+ prevTrackInfo = false;
132
128
  /**
133
129
  * 显示提示信息
134
130
  * 显示留痕提示信息等
135
131
  */
136
- private getTips(): void {
132
+ getTips() {
137
133
  if (!this.currentMouseoverRender) {
138
134
  return;
139
135
  }
@@ -147,7 +143,8 @@ export class DocumentEvent {
147
143
  if (event.trackTips) {
148
144
  this.trackTipsChanged.next({ pos: { ...this.currentPos }, tips: event.trackTips });
149
145
  this.prevTrackInfo = true;
150
- } else {
146
+ }
147
+ else {
151
148
  if (!this.prevTrackInfo) {
152
149
  return;
153
150
  }
@@ -155,12 +152,10 @@ export class DocumentEvent {
155
152
  this.prevTrackInfo = false;
156
153
  }
157
154
  }
158
-
159
-
160
155
  /**
161
156
  * 滚动视图的时候,需要手动触发mousemove
162
157
  */
163
- onScrollView(): void {
158
+ onScrollView() {
164
159
  if (!this.currentPos) {
165
160
  return;
166
161
  }
@@ -169,13 +164,12 @@ export class DocumentEvent {
169
164
  docEvent.globalY = this.currentPos.y;
170
165
  this.mousemoveHandle(docEvent);
171
166
  }
172
-
173
167
  /**
174
168
  * 处理鼠标按下事件
175
- * @param evt
176
- * @returns
169
+ * @param evt
170
+ * @returns
177
171
  */
178
- private mousedownHandle(evt: MouseElementEvent): void {
172
+ mousedownHandle(evt) {
179
173
  //点击右键时,存在选区,直接返回
180
174
  if (evt.buttons === 2 && this.startHitInfo && !this.selectionState.collapsed) {
181
175
  return;
@@ -197,7 +191,8 @@ export class DocumentEvent {
197
191
  const mousedownEvent = new MousedownElementEvent(this.docCtx);
198
192
  mousedownEvent.source = startElement;
199
193
  DocumentEvent.invokeEvent('ElementMousedown', startElement, mousedownEvent, 'All', this.docCtx);
200
- } else {
194
+ }
195
+ else {
201
196
  this.clearHitInfo();
202
197
  }
203
198
  if (this.edgeRenderInfo) {
@@ -205,14 +200,13 @@ export class DocumentEvent {
205
200
  this.edgeRenderInfo.mousedownPos = this.currentPos;
206
201
  this.clearHitInfo();
207
202
  }
208
- this.hitInfoChanged.next({ startHitInfo: this.startHitInfo as HitEventInfo, endHitInfo: this.endHitInfo as HitEventInfo });
203
+ this.hitInfoChanged.next({ startHitInfo: this.startHitInfo, endHitInfo: this.endHitInfo });
209
204
  this.selectionState.startHitInfo = this.startHitInfo;
210
205
  }
211
-
212
206
  /**
213
207
  * 设置元素焦点状态
214
208
  */
215
- private switchElementFocus(): void {
209
+ switchElementFocus() {
216
210
  if (!this.startHitInfo) {
217
211
  return;
218
212
  }
@@ -224,22 +218,20 @@ export class DocumentEvent {
224
218
  }
225
219
  if (startElement && startElement.focusable) {
226
220
  startElement.isFocused = true;
227
- this.focusedElement = startElement as LeafElement;
221
+ this.focusedElement = startElement;
228
222
  this.focusedRect = ElementUtil.getRenderAbsolutePaintRect(this.startHitInfo.render);
229
223
  }
230
224
  }
231
-
232
- clearHitInfo(): void {
225
+ clearHitInfo() {
233
226
  this.startHitInfo = null;
234
227
  this.endHitInfo = null;
235
228
  }
236
-
237
229
  /**
238
230
  * 获取当前鼠标所在位置的元素信息
239
- * @param evt
240
- * @returns
231
+ * @param evt
232
+ * @returns
241
233
  */
242
- private getHitInfo(evt: MouseElementEvent): HitEventInfo | null {
234
+ getHitInfo(evt) {
243
235
  const hitDocInfo = this.getHitDocPage(evt);
244
236
  if (!hitDocInfo) {
245
237
  return null;
@@ -248,12 +240,11 @@ export class DocumentEvent {
248
240
  //设置文档页中的相对位置
249
241
  evt.pageX = hitPagePos.x;
250
242
  evt.pageY = hitPagePos.y;
251
-
252
243
  const hitInfo = this.getHitLeafRender(docRender, { x: -docRender.rect.x, y: -docRender.rect.y }, { x: evt.pageX, y: evt.pageY });
253
244
  if (!hitInfo) {
254
245
  return null;
255
246
  }
256
- const element = hitInfo.render.element as LeafElement;
247
+ const element = hitInfo.render.element;
257
248
  return {
258
249
  hitDocIndex: docIndex,
259
250
  offset: hitInfo.offset,
@@ -265,8 +256,7 @@ export class DocumentEvent {
265
256
  startRegion: ElementUtil.getRenderObjectRegion(hitInfo.render)
266
257
  };
267
258
  }
268
-
269
- private getMouseoverRenderInfo(evt: MouseElementEvent): { render: RenderObject, absoluteRenderRect: Rect } | null {
259
+ getMouseoverRenderInfo(evt) {
270
260
  const hitDocInfo = this.getHitDocPage(evt);
271
261
  if (!hitDocInfo) {
272
262
  return null;
@@ -280,16 +270,15 @@ export class DocumentEvent {
280
270
  const mouseoverInfo = this.getHitLeafRender(docRender, { x: -docRender.rect.x, y: -docRender.rect.y }, { x: evt.pageX, y: evt.pageY });
281
271
  return mouseoverInfo;
282
272
  }
283
-
284
273
  /**
285
274
  * 鼠标移动事件
286
275
  * 主要处理选区改变
287
276
  */
288
- private mousemoveHandle(evt: MouseElementEvent): void {
277
+ mousemoveHandle(evt) {
289
278
  //console.time('mousemove计时')
290
- let edgeRenderInfo: null | typeof this.edgeRenderInfo = null;
291
- const mousePos: Position = { x: evt.globalX, y: evt.globalY };
292
- let cursorType: CursorType = 'text';
279
+ let edgeRenderInfo = null;
280
+ const mousePos = { x: evt.globalX, y: evt.globalY };
281
+ let cursorType = 'text';
293
282
  this.currentPos = mousePos;
294
283
  if (this.ismousedown && this.startHitInfo) {
295
284
  this.endHitInfo = this.getHitInfo(evt);
@@ -302,26 +291,27 @@ export class DocumentEvent {
302
291
  this.currentMouseoverRender = currMouseoverRenderInfo;
303
292
  //当前有元素有焦点时,需要首先判断当前位置是否在焦点元素上
304
293
  //如果单元格中包含图片等可缩放的元素,并且元素的大小超过单元格,则当前图片的某一部分就无法缩放
305
- if (!this.ismousedown && this.focusedElement && this.focusedRect && (<any>this.focusedElement)['resizeable']) {
306
- const relativePos: Position = { x: mousePos.x - this.focusedRect.x, y: mousePos.y - this.focusedRect.y };
294
+ if (!this.ismousedown && this.focusedElement && this.focusedRect && this.focusedElement['resizeable']) {
295
+ const relativePos = { x: mousePos.x - this.focusedRect.x, y: mousePos.y - this.focusedRect.y };
307
296
  const isInCellBorder = CommonUtil.isInPictureResizePoint(this.focusedRect, relativePos, 4);
308
297
  if (isInCellBorder) {
309
298
  cursorType = ElementUtil.getBorderCursor(isInCellBorder.borderType);
310
299
  if (isInCellBorder?.borderType === 'none') {
311
300
  edgeRenderInfo = null;
312
- } else {
301
+ }
302
+ else {
313
303
  edgeRenderInfo = { renderElement: this.focusedElement, relativePos, mousedown: false, border: isInCellBorder.borderType };
314
304
  }
315
305
  }
316
- }//当前鼠标不处于mousedown并且鼠标位于单元格边界时,获取边界信息
306
+ } //当前鼠标不处于mousedown并且鼠标位于单元格边界时,获取边界信息
317
307
  else if (!this.ismousedown && this.isInCellRenderObject(this.currentMouseoverRender?.render)) {
318
- const cellRender = ElementUtil.getParentRender(this.currentMouseoverRender?.render as RenderObject, TableCellRenderObject) as TableCellRenderObject;
308
+ const cellRender = ElementUtil.getParentRender(this.currentMouseoverRender?.render, TableCellRenderObject);
319
309
  //const cellRender = this.currentMouseoverRender?.render as TableCellRenderObject;
320
310
  //const { render: { renderPosition: { x: rx, y: ry } } } = this.currentMouseoverRender;
321
311
  //const rp = this.currentMouseoverRender?.absoluteRenderRect as Rect;
322
312
  const rp = ElementUtil.getRenderAbsolutePaintRect(cellRender);
323
313
  rp.y -= this.viewOptions.translateY;
324
- const relativePos: Position = { x: mousePos.x - rp.x, y: mousePos.y - rp.y };
314
+ const relativePos = { x: mousePos.x - rp.x, y: mousePos.y - rp.y };
325
315
  const isInCellBorder = CommonUtil.isInRectBorder(cellRender.rect, 2, relativePos);
326
316
  if (isInCellBorder) {
327
317
  //console.log('是否在边框上' + isInCellBorder?.borderType);
@@ -330,7 +320,8 @@ export class DocumentEvent {
330
320
  this.changeCursor.next(cursorType);
331
321
  if (isInCellBorder?.borderType === 'none') {
332
322
  edgeRenderInfo = null;
333
- } else {
323
+ }
324
+ else {
334
325
  edgeRenderInfo = { renderElement: cellRender.element, relativePos, mousedown: false, border: isInCellBorder.borderType };
335
326
  }
336
327
  }
@@ -347,38 +338,33 @@ export class DocumentEvent {
347
338
  }
348
339
  this.changeCursor.next(cursorType);
349
340
  }
350
-
351
-
352
- private isCellRenderObject(render: RenderObject | undefined): boolean {
341
+ isCellRenderObject(render) {
353
342
  return render instanceof TableCellRenderObject;
354
343
  }
355
-
356
344
  /**
357
345
  * 当前绘制元素是否在单元格上面
358
- * @param render
359
- * @returns
346
+ * @param render
347
+ * @returns
360
348
  */
361
- private isInCellRenderObject(render: RenderObject | undefined): boolean {
349
+ isInCellRenderObject(render) {
362
350
  if (!render) {
363
351
  return false;
364
352
  }
365
353
  return ElementUtil.getParentRender(render, TableCellRenderObject) !== null;
366
354
  }
367
-
368
- private isResizeRenderObject(render: RenderObject | undefined): boolean {
355
+ isResizeRenderObject(render) {
369
356
  return render instanceof ResizeLeafRenderObject;
370
357
  }
371
-
372
358
  /**
373
359
  * 触发鼠标移动事件
374
360
  */
375
- private invokeMousemoveEvent(oldRender: RenderObject | null | undefined, newRender: RenderObject | null | undefined, mousePos: { x: number, y: number } | undefined): void {
361
+ invokeMousemoveEvent(oldRender, newRender, mousePos) {
376
362
  const oldParentRenders = oldRender ? ElementUtil.getRenderMapElements(oldRender) : [];
377
363
  const newParentRenders = newRender ? ElementUtil.getRenderMapElements(newRender) : [];
378
364
  const mouseleaveRenders = oldParentRenders.filter(item => newParentRenders.every(oldItem => item !== oldItem));
379
365
  const mouseenterRenders = newParentRenders.filter(item => oldParentRenders.every(oldItem => item !== oldItem));
380
366
  const mousemoveRenders = oldParentRenders.filter(item => mouseleaveRenders.every(oldItem => item !== oldItem));
381
- const loopInvokeEvent = (eventName: EventTypes, array: Array<Element>) => {
367
+ const loopInvokeEvent = (eventName, array) => {
382
368
  for (const element of array) {
383
369
  const mouseEvent = new MouseElementEvent(this.docCtx);
384
370
  mouseEvent.source = element;
@@ -390,26 +376,23 @@ export class DocumentEvent {
390
376
  loopInvokeEvent('ElementMouseEnter', mouseenterRenders);
391
377
  loopInvokeEvent('ElementMousemove', mousemoveRenders);
392
378
  }
393
-
394
-
395
- prevCursorItems: Array<Element> = [];
379
+ prevCursorItems = [];
396
380
  /**
397
381
  * 触发获取焦点事件
398
382
  * 需要根据上次获取焦点的元素,比较触发失去焦点事件
399
- * @param focusElement
383
+ * @param focusElement
400
384
  */
401
- invokeCursor(focusElement: LeafElement): void {
385
+ invokeCursor(focusElement) {
402
386
  if (focusElement === this.prevCursorItems[0]) {
403
387
  return;
404
388
  }
405
389
  const getCursorEvent = new GotCursorEvent(this.docCtx);
406
390
  getCursorEvent.source = focusElement;
407
-
408
391
  const oldParents = this.prevCursorItems;
409
392
  const newParents = ElementUtil.getParentElements(focusElement);
410
393
  const leaveParents = oldParents.filter(item => newParents.every(oldItem => item !== oldItem));
411
394
  const enterParents = newParents.filter(item => oldParents.every(oldItem => item !== oldItem));
412
- const loopInvokeEvent = (eventName: EventTypes, array: Array<Element>) => {
395
+ const loopInvokeEvent = (eventName, array) => {
413
396
  for (const element of array) {
414
397
  const mouseEvent = new LostCursorEvent(this.docCtx);
415
398
  mouseEvent.source = focusElement;
@@ -420,20 +403,18 @@ export class DocumentEvent {
420
403
  };
421
404
  loopInvokeEvent('LostCursor', leaveParents);
422
405
  loopInvokeEvent('GotCursor', enterParents);
423
-
424
406
  this.prevCursorItems = newParents;
425
407
  //dDocumentEvent.invokeEvent('GotCursor', focusElement, getCursorEvent, 'All', this.docCtx);
426
408
  }
427
-
428
409
  /**
429
410
  * mousedown-mouseup-click
430
411
  */
431
- private mouseClickHandle(evt: MouseEvent): void {
412
+ mouseClickHandle(evt) {
432
413
  if (this.viewOptions.docMode === DocMode.View) {
433
414
  return;
434
415
  }
435
416
  if (this.startHitInfo && this.endHitInfo && this.startHitInfo.element === this.endHitInfo.element) {
436
- const startElement = this.startHitInfo.render.element as LeafElement;
417
+ const startElement = this.startHitInfo.render.element;
437
418
  const mousedownEvent = new MousedownElementEvent(this.docCtx);
438
419
  mousedownEvent.source = startElement;
439
420
  DocumentEvent.invokeEvent('ElementClick', startElement, mousedownEvent, "All", this.docCtx);
@@ -460,11 +441,10 @@ export class DocumentEvent {
460
441
  }
461
442
  this.clickEvent.next(evt);
462
443
  }
463
-
464
444
  /**
465
445
  * 鼠标双击事件
466
446
  */
467
- private mouseDblClickHandle(evt: MouseEvent): void {
447
+ mouseDblClickHandle(evt) {
468
448
  const docEvent = new MouseElementEvent(this.docCtx);
469
449
  docEvent.globalX = evt.offsetX;
470
450
  docEvent.globalY = evt.offsetY;
@@ -473,7 +453,8 @@ export class DocumentEvent {
473
453
  if ((hitRegion === 'footer' || hitRegion === 'header') && !this.docCtx.document.headerEditState) {
474
454
  this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
475
455
  return;
476
- } else if (hitRegion === 'body' && this.docCtx.document.headerEditState) {
456
+ }
457
+ else if (hitRegion === 'body' && this.docCtx.document.headerEditState) {
477
458
  this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
478
459
  return;
479
460
  }
@@ -482,28 +463,29 @@ export class DocumentEvent {
482
463
  docEvent.source = hitInfo.element;
483
464
  docEvent.sourceRender = hitInfo.render;
484
465
  const res = DocumentEvent.invokeEvent('ElementDblClick', hitInfo.element, docEvent, 'All', this.docCtx);
485
- if (res) { return }
466
+ if (res) {
467
+ return;
468
+ }
486
469
  this.dblClickEvent.next(evt);
487
470
  }
488
471
  }
489
-
490
472
  /**
491
473
  * 获取点击的渲染元素对象
492
- * @param renderObject
493
- * @param parPos
494
- * @param hitPos
495
- * @returns
474
+ * @param renderObject
475
+ * @param parPos
476
+ * @param hitPos
477
+ * @returns
496
478
  */
497
- private getHitLeafRender(renderObject: RenderObject, parPos: Position, hitPos: Position): { render: LeafRenderObject, offset: number, absoluteRenderRect: Rect } | null {
479
+ getHitLeafRender(renderObject, parPos, hitPos) {
498
480
  //处理单元格合并,被合并的单元格当前属于被隐藏状态,不能被选择
499
481
  //if (renderObject.element && renderObject.element.visiable === false || renderObject instanceof FillNullSpaceRenderObject) {
500
482
  if (!ElementUtil.checkAvailHitRender(renderObject)) {
501
483
  return null;
502
484
  }
503
485
  if (!renderObject.rect) {
504
- throw new Error('renderObject.rect is null')
486
+ throw new Error('renderObject.rect is null');
505
487
  }
506
- const renderObjectRect: Rect = { x: parPos.x + renderObject.rect.x, y: parPos.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };
488
+ const renderObjectRect = { x: parPos.x + renderObject.rect.x, y: parPos.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };
507
489
  if (renderObject instanceof TableRowRenderObject) {
508
490
  return this.getTRowHitLeafRender(renderObject, parPos, hitPos);
509
491
  }
@@ -517,7 +499,8 @@ export class DocumentEvent {
517
499
  absoluteRenderRect: renderObjectRect
518
500
  };
519
501
  }
520
- } else if (renderObject instanceof BranchRenderObject) {
502
+ }
503
+ else if (renderObject instanceof BranchRenderObject) {
521
504
  if (CommonUtil.isInsideRectByPosition(renderObjectRect, hitPos)) {
522
505
  for (let i = 0; i < renderObject.length; i++) {
523
506
  const childRender = renderObject.getChild(i);
@@ -529,16 +512,14 @@ export class DocumentEvent {
529
512
  //如果当前范围未击中任何元素,则需要匹配最近的元素
530
513
  return this.getRecentHitRender(renderObject, parPos, hitPos);
531
514
  }
532
- } else {
515
+ }
516
+ else {
533
517
  throw new Error('未实现');
534
518
  }
535
519
  return null;
536
520
  }
537
-
538
-
539
-
540
- private getTRowHitLeafRender(renderObject: TableRowRenderObject, parent: Position, position: Position): { render: LeafRenderObject, offset: number, absoluteRenderRect: Rect } | null {
541
- const rowEle = renderObject.element as TableRowElement;
521
+ getTRowHitLeafRender(renderObject, parent, position) {
522
+ const rowEle = renderObject.element;
542
523
  //跨页重复显示的头行,属于不可点击区域
543
524
  //只有表第一页部分可以点击
544
525
  if (rowEle.props.headerRow) {
@@ -546,7 +527,7 @@ export class DocumentEvent {
546
527
  return null;
547
528
  }
548
529
  }
549
- const renderObjectRect: Rect = { x: parent.x + renderObject.rect.x, y: parent.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };
530
+ const renderObjectRect = { x: parent.x + renderObject.rect.x, y: parent.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };
550
531
  for (let i = 0; i < renderObject.length; i++) {
551
532
  const childRender = renderObject.getChild(i);
552
533
  const res = this.getHitLeafRender(childRender, { x: renderObjectRect.x, y: renderObjectRect.y }, position);
@@ -556,19 +537,17 @@ export class DocumentEvent {
556
537
  }
557
538
  return null;
558
539
  }
559
-
560
-
561
540
  /**
562
541
  * 如果当前范围未击中任何元素,则需要匹配最近的元素
563
- * @param renderObject
564
- * @param parent
565
- * @param position
542
+ * @param renderObject
543
+ * @param parent
544
+ * @param position
566
545
  */
567
- private getRecentHitRender(renderObject: BranchRenderObject, parent: Position, position: Position): { render: LeafRenderObject, offset: number, absoluteRenderRect: Rect } | null {
568
- const currentRenderPos: Position = { x: renderObject.rect.x + parent.x, y: renderObject.rect.y + parent.y }
546
+ getRecentHitRender(renderObject, parent, position) {
547
+ const currentRenderPos = { x: renderObject.rect.x + parent.x, y: renderObject.rect.y + parent.y };
569
548
  let childRenders = ElementUtil.getAvailHitRenderObjects(renderObject, parent);
570
549
  childRenders = childRenders.filter(item => !item.render.disableClick);
571
- let childrenRenderMap = childRenders.map(item => ({ rect: item.rect, distance: ElementUtil.getDistanceToRect(item.rect, position), render: item.render }))
550
+ let childrenRenderMap = childRenders.map(item => ({ rect: item.rect, distance: ElementUtil.getDistanceToRect(item.rect, position), render: item.render }));
572
551
  //rects = rects.concat(childRenders.map(item => ({ rect: item.rect, distance: ElementUtil.getDistance({ x: item.rect.x + item.rect.width, y: item.rect.y }, position), render: item.render })));
573
552
  childrenRenderMap.sort((item1, item2) => item1.distance - item2.distance);
574
553
  for (let i = 0; i < childrenRenderMap.length; i++) {
@@ -581,13 +560,16 @@ export class DocumentEvent {
581
560
  if (res) {
582
561
  return res;
583
562
  }
584
- } else if (adjacentRender.render instanceof LeafRenderObject) {
563
+ }
564
+ else if (adjacentRender.render instanceof LeafRenderObject) {
585
565
  let x = 0;
586
566
  if (adjacentRender.rect.x > position.x) {
587
567
  x = 0;
588
- } else if (adjacentRender.rect.x + adjacentRender.rect.width < position.x) {
568
+ }
569
+ else if (adjacentRender.rect.x + adjacentRender.rect.width < position.x) {
589
570
  x = adjacentRender.rect.width;
590
- } else {
571
+ }
572
+ else {
591
573
  x = position.x - adjacentRender.rect.x;
592
574
  }
593
575
  const offset = ElementUtil.getHitRenderOffset(adjacentRender.render, x);
@@ -600,21 +582,18 @@ export class DocumentEvent {
600
582
  }
601
583
  return null;
602
584
  }
603
-
604
-
605
-
606
585
  /**
607
586
  * 获取点击的doc-page
608
587
  */
609
- private getHitDocPage(evt: MouseElementEvent): { docRender: DocumentRenderObject, paintAbsoluteRect: Position, hitPagePos: Position, docIndex: number } | null {
610
- const hitPos: Position = { x: evt.globalX, y: evt.globalY };
588
+ getHitDocPage(evt) {
589
+ const hitPos = { x: evt.globalX, y: evt.globalY };
611
590
  const docContainer = this.documentPaint.getDocContainer();
612
591
  let { x, y } = docContainer.rect;
613
592
  y -= this.viewOptions.translateY;
614
593
  let i = 0;
615
594
  for (; i < docContainer.length; i++) {
616
- const docRender = docContainer.getChild(i) as DocumentRenderObject;
617
- const docRenderPos: Position = { x: docRender.rect.x + x, y: docRender.rect.y + y };
595
+ const docRender = docContainer.getChild(i);
596
+ const docRenderPos = { x: docRender.rect.x + x, y: docRender.rect.y + y };
618
597
  if (docRenderPos.y + docRender.rect.height > hitPos.y) {
619
598
  break;
620
599
  }
@@ -623,23 +602,22 @@ export class DocumentEvent {
623
602
  }
624
603
  }
625
604
  i = i === docContainer.length ? i - 1 : i;
626
- const hitDoc = docContainer.getChild(i) as DocumentRenderObject;
605
+ const hitDoc = docContainer.getChild(i);
627
606
  const docPos = { x: hitDoc.rect.x + x, y: hitDoc.rect.y + y };
628
- const hitPagePos: Position = { x: hitPos.x - docPos.x, y: hitPos.y - docPos.y }
607
+ const hitPagePos = { x: hitPos.x - docPos.x, y: hitPos.y - docPos.y };
629
608
  return {
630
609
  docRender: hitDoc,
631
610
  paintAbsoluteRect: docPos,
632
611
  docIndex: i,
633
612
  hitPagePos
634
- }
613
+ };
635
614
  }
636
-
637
615
  /**
638
616
  * 触发事件
639
- * @param type
640
- * @param sourceElement
617
+ * @param type
618
+ * @param sourceElement
641
619
  */
642
- static invokeEvent(type: EventTypes, sourceElement: Element, event: ElementEvent, eventStage: EventStage, docCtx: EditorContext): ElementEvent | null {
620
+ static invokeEvent(type, sourceElement, event, eventStage, docCtx) {
643
621
  const parents = ElementUtil.getParentElements(sourceElement);
644
622
  //先执行捕获阶段,在执行冒泡
645
623
  for (let i = parents.length - 1; i > -parents.length; i--) {
@@ -664,24 +642,21 @@ export class DocumentEvent {
664
642
  }
665
643
  return null;
666
644
  }
667
-
668
-
669
645
  /**
670
646
  * 发布当前的点击信息
671
647
  */
672
- private pubHitInfo(): void {
673
- this.hitInfoChanged.next({ startHitInfo: this.startHitInfo as HitEventInfo, endHitInfo: this.endHitInfo as HitEventInfo });
648
+ pubHitInfo() {
649
+ this.hitInfoChanged.next({ startHitInfo: this.startHitInfo, endHitInfo: this.endHitInfo });
674
650
  }
675
-
676
651
  /**
677
652
  * 获取鼠标所在的渲染元素对象
678
- * @param renderObject
679
- * @param parent
680
- * @param position
681
- * @returns
653
+ * @param renderObject
654
+ * @param parent
655
+ * @param position
656
+ * @returns
682
657
  */
683
- private getMouseoverRender(renderObject: RenderObject, parent: Position, position: Position): { render: RenderObject, absoluteRenderRect: Rect } | null {
684
- const renderObjectRect: Rect = { x: parent.x + renderObject.rect.x, y: parent.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };
658
+ getMouseoverRender(renderObject, parent, position) {
659
+ const renderObjectRect = { x: parent.x + renderObject.rect.x, y: parent.y + renderObject.rect.y, width: renderObject.rect.width, height: renderObject.rect.height, maxWidth: 0, maxHeight: 0 };
685
660
  if (renderObject instanceof LeafRenderObject) {
686
661
  if (CommonUtil.isInsideRectByPosition(renderObjectRect, position)) {
687
662
  return {
@@ -689,7 +664,8 @@ export class DocumentEvent {
689
664
  absoluteRenderRect: renderObjectRect
690
665
  };
691
666
  }
692
- } else if (renderObject instanceof BranchRenderObject) {
667
+ }
668
+ else if (renderObject instanceof BranchRenderObject) {
693
669
  if (CommonUtil.isInsideRectByPosition(renderObjectRect, position)) {
694
670
  //当前为表单元格,但是表格不存在上下padding,
695
671
  //则表格上边框和下边框可能会和内容(paragraph)重叠,
@@ -698,7 +674,7 @@ export class DocumentEvent {
698
674
  return {
699
675
  render: renderObject,
700
676
  absoluteRenderRect: renderObjectRect
701
- }
677
+ };
702
678
  }
703
679
  for (let i = 0; i < renderObject.length; i++) {
704
680
  const childRender = renderObject.getChild(i);
@@ -710,29 +686,29 @@ export class DocumentEvent {
710
686
  return {
711
687
  render: renderObject,
712
688
  absoluteRenderRect: renderObjectRect
713
- }
689
+ };
714
690
  }
715
- } else {
691
+ }
692
+ else {
716
693
  throw new Error('未实现');
717
694
  }
718
695
  return null;
719
696
  }
720
-
721
697
  /**
722
698
  * 缩放元素
723
699
  */
724
- private resizeRender(e: MouseElementEvent): void {
725
- if ((<any>this.edgeRenderInfo?.renderElement)['resizeable']) {
700
+ resizeRender(e) {
701
+ if (this.edgeRenderInfo?.renderElement['resizeable']) {
726
702
  this.resizeElement(e);
727
- } else if (this.edgeRenderInfo?.renderElement instanceof TableCellElement) {
703
+ }
704
+ else if (this.edgeRenderInfo?.renderElement instanceof TableCellElement) {
728
705
  this.resizeTableCell();
729
706
  }
730
707
  }
731
-
732
708
  /**
733
709
  * 缩放表格
734
710
  */
735
- private resizeTableCell(): void {
711
+ resizeTableCell() {
736
712
  if (!this.edgeRenderInfo || !this.edgeRenderInfo.mousedownPos) {
737
713
  return;
738
714
  }
@@ -742,9 +718,9 @@ export class DocumentEvent {
742
718
  const moveDistanceX = this.currentPos.x - mousedownPos.x;
743
719
  const moveDistanceY = this.currentPos.y - mousedownPos.y;
744
720
  const row = cellElement.parent;
745
- const table = row?.parent as TableElement;
721
+ const table = row?.parent;
746
722
  if (!row || !table) {
747
- throw new Error('row | table is null')
723
+ throw new Error('row | table is null');
748
724
  }
749
725
  const cellIndex = row.getChildIndex(cellElement);
750
726
  let cellWidth = table.getCellWidth(cellIndex);
@@ -760,7 +736,8 @@ export class DocumentEvent {
760
736
  resizeColWidth = table.getCellWidth(resizeColIndex);
761
737
  resizeColWidth += moveDistanceX;
762
738
  cellWidth -= moveDistanceX;
763
- } else if (border === 'right') {
739
+ }
740
+ else if (border === 'right') {
764
741
  resizeColIndex = cellIndex + 1;
765
742
  //移动最后一列时,右侧没有列了,resizeColWidth的值为-1
766
743
  resizeColWidth = table.getCellWidth(resizeColIndex);
@@ -776,17 +753,18 @@ export class DocumentEvent {
776
753
  table.setCellWidth(cellIndex, cellWidth);
777
754
  this.edgeRenderInfo.mousedownPos = this.currentPos;
778
755
  table.pubOnChange('self');
779
- } else if (['bottom', 'top'].includes(border)) {
756
+ }
757
+ else if (['bottom', 'top'].includes(border)) {
780
758
  let rowIndex = row.getIndex();
781
759
  if (rowIndex === 0 && border === 'top') {
782
760
  return;
783
761
  }
784
762
  //按照移动底边计算
785
763
  rowIndex = border === 'top' ? rowIndex - 1 : rowIndex;
786
- const resizeRowEle = table.getChild(rowIndex) as TableRowElement;
787
- let resizeRowRender = resizeRowEle.measureRender as TableRowRenderObject;
764
+ const resizeRowEle = table.getChild(rowIndex);
765
+ let resizeRowRender = resizeRowEle.measureRender;
788
766
  if (resizeRowRender.element !== resizeRowEle) {
789
- console.error('缩放表格行高度出现错误,绘制元素和表格对象不对应')
767
+ console.error('缩放表格行高度出现错误,绘制元素和表格对象不对应');
790
768
  return;
791
769
  }
792
770
  const minHeight = resizeRowEle.props.minHeight ?? 0;
@@ -799,7 +777,8 @@ export class DocumentEvent {
799
777
  let resizeRowMinHeight = 0;
800
778
  if (minHeight <= 0) {
801
779
  resizeRowMinHeight = resizeRowRenderContentHeight + moveDistanceY;
802
- } else {
780
+ }
781
+ else {
803
782
  resizeRowMinHeight = minHeight + moveDistanceY;
804
783
  }
805
784
  //缩放的高度小于内容高度,则重置行最小高度
@@ -812,38 +791,36 @@ export class DocumentEvent {
812
791
  table.pubOnChange('self');
813
792
  }
814
793
  }
815
-
816
- private getResizeTableCell(): TableCellElement {
794
+ getResizeTableCell() {
817
795
  if (!this.edgeRenderInfo) {
818
- throw new Error('edgeRenderInfo is null')
796
+ throw new Error('edgeRenderInfo is null');
819
797
  }
820
- const cellElement = this.edgeRenderInfo.renderElement as TableCellElement;
798
+ const cellElement = this.edgeRenderInfo.renderElement;
821
799
  const row = cellElement.parent;
822
800
  if (!row) {
823
- throw new Error('row is null')
801
+ throw new Error('row is null');
824
802
  }
825
- const table = row.parent as TableElement;
803
+ const table = row.parent;
826
804
  const cellIndex = row.getChildIndex(cellElement);
827
805
  const border = this.edgeRenderInfo.border;
828
806
  if (cellElement.props.hMerge === 'restart' || border === 'right') {
829
807
  for (let i = cellIndex + 1; i < table.getColsCount(); i++) {
830
- const cell = row.getChild(i) as TableCellElement;
808
+ const cell = row.getChild(i);
831
809
  if (cell.props.hMerge !== 'continue') {
832
- return row.getChild(i - 1) as TableCellElement;
810
+ return row.getChild(i - 1);
833
811
  }
834
812
  }
835
813
  }
836
814
  return cellElement;
837
815
  }
838
-
839
816
  /**
840
817
  * 调整元素大小
841
818
  */
842
- private resizeElement(e: MouseElementEvent): void {
819
+ resizeElement(e) {
843
820
  if (!this.edgeRenderInfo || !this.edgeRenderInfo.mousedownPos) {
844
821
  return;
845
822
  }
846
- const imgElement = <unknown>this.edgeRenderInfo.renderElement as { props: { width: number, height: number } };
823
+ const imgElement = this.edgeRenderInfo.renderElement;
847
824
  const border = this.edgeRenderInfo.border;
848
825
  const mousedownPos = this.edgeRenderInfo.mousedownPos;
849
826
  let moveDistanceX = this.currentPos.x - mousedownPos.x;
@@ -861,7 +838,8 @@ export class DocumentEvent {
861
838
  if (Math.abs(moveDistanceX) > Math.abs(moveDistanceY)) {
862
839
  scale = moveDistanceX / imgElement.props.width;
863
840
  moveDistanceY = Math.floor(scale * imgElement.props.height);
864
- } else {
841
+ }
842
+ else {
865
843
  scale = moveDistanceY / imgElement.props.height;
866
844
  moveDistanceX = Math.floor(scale * imgElement.props.width);
867
845
  }
@@ -876,13 +854,11 @@ export class DocumentEvent {
876
854
  }
877
855
  this.edgeRenderInfo.mousedownPos = this.currentPos;
878
856
  }
879
-
880
857
  }
881
-
882
858
  /**
883
859
  * 选中当前全部 ctrl+A
884
860
  */
885
- selectAll(): void {
861
+ selectAll() {
886
862
  const { startControl } = this.selectionState;
887
863
  const regionTarget = ElementUtil.getElementRegionTarget(startControl);
888
864
  if (!startControl || !regionTarget) {
@@ -891,7 +867,7 @@ export class DocumentEvent {
891
867
  const firstLeaf = ElementUtil.getFirstLeafElement(regionTarget.target);
892
868
  const lastLeaf = ElementUtil.getLastLeafElement(regionTarget.target);
893
869
  if (!firstLeaf || !lastLeaf) {
894
- throw new Error('firstLeaf or lastLeaf is null')
870
+ throw new Error('firstLeaf or lastLeaf is null');
895
871
  }
896
872
  this.selectionState.clear();
897
873
  const newSelectionRange = new SelectionRange();
@@ -900,28 +876,24 @@ export class DocumentEvent {
900
876
  this.selectionState.addRange(newSelectionRange);
901
877
  //const doc=
902
878
  }
903
-
904
-
905
879
  /**
906
880
  * 移动光标到行首
907
881
  */
908
- moveCursorToLineStart(): void {
882
+ moveCursorToLineStart() {
909
883
  this.moveCursorToHomeOrEnd();
910
884
  }
911
-
912
885
  /**
913
886
  * 移动光标到行尾
914
887
  */
915
- moveCursorToLineEnd(): void {
888
+ moveCursorToLineEnd() {
916
889
  this.moveCursorToHomeOrEnd(false);
917
890
  }
918
-
919
891
  /**
920
892
  * 处理移动光标到行尾或行首
921
- * @param home
922
- * @returns
893
+ * @param home
894
+ * @returns
923
895
  */
924
- private moveCursorToHomeOrEnd(home: boolean = true): void {
896
+ moveCursorToHomeOrEnd(home = true) {
925
897
  const { startControl } = this.selectionState;
926
898
  if (!startControl || !this.docCtx.cursorRect) {
927
899
  return;
@@ -935,8 +907,8 @@ export class DocumentEvent {
935
907
  if (!hitInfo) {
936
908
  return;
937
909
  }
938
- const paraRender = ElementUtil.getParentRender(hitInfo.render, ParagraphLineRectRenderObject) as ParagraphLineRectRenderObject
939
- const linePosRect = ElementUtil.getRenderAbsolutePaintRect(paraRender)
910
+ const paraRender = ElementUtil.getParentRender(hitInfo.render, ParagraphLineRectRenderObject);
911
+ const linePosRect = ElementUtil.getRenderAbsolutePaintRect(paraRender);
940
912
  docEvent.globalX = linePosRect.x + (home ? 0 : linePosRect.width);
941
913
  docEvent.globalY = linePosRect.y + linePosRect.height / 2;
942
914
  this.mousedownPos = { x: docEvent.globalX, y: docEvent.globalY };
@@ -944,12 +916,10 @@ export class DocumentEvent {
944
916
  this.ismousedown = false;
945
917
  this.edgeRenderInfo = null;
946
918
  }
947
-
948
-
949
919
  /**
950
920
  * 向左移动光标
951
921
  */
952
- moveCursorToLeft(): void {
922
+ moveCursorToLeft() {
953
923
  const { startControl, startOffset } = this.selectionState;
954
924
  if (startOffset === 0) {
955
925
  const oldRegion = ElementUtil.getElementRegion(startControl);
@@ -962,19 +932,20 @@ export class DocumentEvent {
962
932
  this.selectionState.resetRange(prevEle, -1);
963
933
  return;
964
934
  }
965
- } else {
935
+ }
936
+ else {
966
937
  if (startControl instanceof TextGroupElement) {
967
938
  this.selectionState.resetRange(startControl, startOffset - 1);
968
- } else {
939
+ }
940
+ else {
969
941
  this.selectionState.resetRange(startControl, 0);
970
942
  }
971
943
  }
972
944
  }
973
-
974
945
  /**
975
946
  * 向右移动光标
976
947
  */
977
- moveCursorToRight(): void {
948
+ moveCursorToRight() {
978
949
  const { startControl, startOffset } = this.selectionState;
979
950
  if (this.isLeafEleEndOffset(startControl, startOffset)) {
980
951
  const oldRegion = ElementUtil.getElementRegion(startControl);
@@ -987,19 +958,20 @@ export class DocumentEvent {
987
958
  this.selectionState.resetRange(nextEle, 0);
988
959
  return;
989
960
  }
990
- } else {
961
+ }
962
+ else {
991
963
  if (startControl instanceof TextGroupElement) {
992
964
  this.selectionState.resetRange(startControl, startOffset + 1);
993
- } else {
965
+ }
966
+ else {
994
967
  this.selectionState.resetRange(startControl, 1);
995
968
  }
996
969
  }
997
970
  }
998
-
999
971
  /**
1000
972
  * 向上移动光标
1001
973
  */
1002
- moveCursorToUpOrDown(up: boolean = true): void {
974
+ moveCursorToUpOrDown(up = true) {
1003
975
  if (!this.selectionState.cursorPos) {
1004
976
  return;
1005
977
  }
@@ -1024,40 +996,39 @@ export class DocumentEvent {
1024
996
  }
1025
997
  }
1026
998
  }
1027
-
1028
-
1029
999
  /**
1030
1000
  * 当前偏移量是否处于当前元素的末尾
1031
- * @param ele
1032
- * @param offset
1033
- * @returns
1001
+ * @param ele
1002
+ * @param offset
1003
+ * @returns
1034
1004
  */
1035
- private isLeafEleEndOffset(ele: LeafElement, offset: number): boolean {
1005
+ isLeafEleEndOffset(ele, offset) {
1036
1006
  if (ele instanceof TextGroupElement) {
1037
1007
  return ele.textMeasures.length === offset;
1038
- } else {
1008
+ }
1009
+ else {
1039
1010
  if (ele instanceof PSymbolElement) {
1040
1011
  return true;
1041
- } else {
1012
+ }
1013
+ else {
1042
1014
  return offset === 1;
1043
1015
  }
1044
1016
  }
1045
1017
  }
1046
-
1047
1018
  /**
1048
1019
  * 获取点击的文档区域
1049
- * @param docRender
1050
- * @param pos
1051
- * @returns
1020
+ * @param docRender
1021
+ * @param pos
1022
+ * @returns
1052
1023
  */
1053
- getHitRegion(docEvent: MouseElementEvent): HitRegion | null {
1024
+ getHitRegion(docEvent) {
1054
1025
  const hitDocInfo = this.getHitDocPage(docEvent);
1055
1026
  if (!hitDocInfo) {
1056
1027
  return null;
1057
1028
  }
1058
1029
  const { docRender, hitPagePos } = hitDocInfo;
1059
- const headerRender = ElementUtil.findChildRender(docRender, (item) => item instanceof DocumentHeaderRenderObject) as DocumentHeaderRenderObject;
1060
- const footerRender = ElementUtil.findChildRender(docRender, (item) => item instanceof DocumentFooterRenderObject) as DocumentFooterRenderObject;
1030
+ const headerRender = ElementUtil.findChildRender(docRender, (item) => item instanceof DocumentHeaderRenderObject);
1031
+ const footerRender = ElementUtil.findChildRender(docRender, (item) => item instanceof DocumentFooterRenderObject);
1061
1032
  if (!headerRender) {
1062
1033
  throw new Error('header is null');
1063
1034
  }
@@ -1068,15 +1039,16 @@ export class DocumentEvent {
1068
1039
  const footerLine = footerRender.rect.y;
1069
1040
  if (hitPagePos.y <= headerLine) {
1070
1041
  return 'header';
1071
- } else if (hitPagePos.y <= footerLine) {
1042
+ }
1043
+ else if (hitPagePos.y <= footerLine) {
1072
1044
  return 'body';
1073
- } else if (hitPagePos.y > footerLine && hitPagePos.y < docRender.rect.height) {
1045
+ }
1046
+ else if (hitPagePos.y > footerLine && hitPagePos.y < docRender.rect.height) {
1074
1047
  return 'footer';
1075
- } else {
1048
+ }
1049
+ else {
1076
1050
  return null;
1077
1051
  }
1078
1052
  }
1079
-
1080
1053
  }
1081
-
1082
-
1054
+ //# sourceMappingURL=document-event.js.map