@hailin-zheng/editor-core 1.0.8 → 1.0.9

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 (236) hide show
  1. package/package.json +2 -2
  2. package/{lib/doc-ruler.js → src/med_editor/doc-ruler.ts} +100 -73
  3. package/src/med_editor/framework/common-util.ts +200 -0
  4. package/{lib/framework/document-change.js → src/med_editor/framework/document-change.ts} +306 -257
  5. package/{lib/framework/document-combine.js → src/med_editor/framework/document-combine.ts} +15 -11
  6. package/{lib/framework/document-comment.js → src/med_editor/framework/document-comment.ts} +52 -37
  7. package/{lib/framework/document-context.js → src/med_editor/framework/document-context.ts} +181 -101
  8. package/{lib/framework/document-eval-func.js → src/med_editor/framework/document-eval-func.ts} +16 -11
  9. package/{lib/framework/document-event.js → src/med_editor/framework/document-event.ts} +244 -216
  10. package/{lib/framework/document-history.js → src/med_editor/framework/document-history.ts} +25 -14
  11. package/{lib/framework/document-images-loader.js → src/med_editor/framework/document-images-loader.ts} +25 -17
  12. package/{lib/framework/document-input-cursor.js → src/med_editor/framework/document-input-cursor.ts} +76 -71
  13. package/{lib/framework/document-paint.js → src/med_editor/framework/document-paint.ts} +35 -28
  14. package/{lib/framework/document-print-offscreen.js → src/med_editor/framework/document-print-offscreen.ts} +25 -19
  15. package/{lib/framework/document-print.js → src/med_editor/framework/document-print.ts} +57 -41
  16. package/src/med_editor/framework/document-segmenter.ts +211 -0
  17. package/{lib/framework/document-selection.js → src/med_editor/framework/document-selection.ts} +115 -84
  18. package/{lib/framework/document-template.js → src/med_editor/framework/document-template.ts} +3 -3
  19. package/src/med_editor/framework/document-textline-mode.ts +34 -0
  20. package/{lib/framework/element-define.js → src/med_editor/framework/element-define.ts} +301 -206
  21. package/src/med_editor/framework/element-event-define.ts +141 -0
  22. package/{lib/framework/element-measure.js → src/med_editor/framework/element-measure.ts} +143 -121
  23. package/{lib/framework/element-paint.js → src/med_editor/framework/element-paint.ts} +43 -37
  24. package/{lib/framework/element-props.js → src/med_editor/framework/element-props.ts} +331 -202
  25. package/{lib/framework/element-reader.js → src/med_editor/framework/element-reader.ts} +38 -30
  26. package/{lib/framework/element-render-cut.js → src/med_editor/framework/element-render-cut.ts} +113 -106
  27. package/{lib/framework/element-serialize.js → src/med_editor/framework/element-serialize.ts} +37 -24
  28. package/{lib/framework/element-util.js → src/med_editor/framework/element-util.ts} +317 -216
  29. package/{lib/framework/impl/checkbox/checkbox-impl.js → src/med_editor/framework/impl/checkbox/checkbox-impl.ts} +25 -18
  30. package/{lib/framework/impl/comments/comment-content-impl.js → src/med_editor/framework/impl/comments/comment-content-impl.ts} +45 -31
  31. package/{lib/framework/impl/comments/comment-element-impl.js → src/med_editor/framework/impl/comments/comment-element-impl.ts} +21 -18
  32. package/{lib/framework/impl/comments/comments-container-impl.js → src/med_editor/framework/impl/comments/comments-container-impl.ts} +21 -15
  33. package/{lib/framework/impl/comments/comments-util.js → src/med_editor/framework/impl/comments/comments-util.ts} +34 -17
  34. package/{lib/framework/impl/comments/validate-msg-impl.js → src/med_editor/framework/impl/comments/validate-msg-impl.ts} +26 -15
  35. package/{lib/framework/impl/data-element/data-decorate-impl.js → src/med_editor/framework/impl/data-element/data-decorate-impl.ts} +25 -21
  36. package/{lib/framework/impl/data-element/data-element-barcode.js → src/med_editor/framework/impl/data-element/data-element-barcode.ts} +39 -27
  37. package/{lib/framework/impl/data-element/data-element-base-impl.js → src/med_editor/framework/impl/data-element/data-element-base-impl.ts} +73 -44
  38. package/{lib/framework/impl/data-element/data-element-check-impl.js → src/med_editor/framework/impl/data-element/data-element-check-impl.ts} +46 -33
  39. package/{lib/framework/impl/data-element/data-element-date-impl.js → src/med_editor/framework/impl/data-element/data-element-date-impl.ts} +39 -22
  40. package/{lib/framework/impl/data-element/data-element-group-impl.js → src/med_editor/framework/impl/data-element/data-element-group-impl.ts} +49 -29
  41. package/{lib/framework/impl/data-element/data-element-image-impl.js → src/med_editor/framework/impl/data-element/data-element-image-impl.ts} +36 -26
  42. package/{lib/framework/impl/data-element/data-element-list-impl.js → src/med_editor/framework/impl/data-element/data-element-list-impl.ts} +41 -30
  43. package/{lib/framework/impl/data-element/data-element-text-impl.js → src/med_editor/framework/impl/data-element/data-element-text-impl.ts} +34 -20
  44. package/{lib/framework/impl/decorate/fill-null-space-imple.js → src/med_editor/framework/impl/decorate/fill-null-space-imple.ts} +15 -10
  45. package/{lib/framework/impl/document/doc-body-impl.js → src/med_editor/framework/impl/document/doc-body-impl.ts} +31 -15
  46. package/{lib/framework/impl/document/doc-body-part-impl.js → src/med_editor/framework/impl/document/doc-body-part-impl.ts} +26 -16
  47. package/src/med_editor/framework/impl/document/doc-container-impl.ts +24 -0
  48. package/{lib/framework/impl/document/doc-footer-impl.js → src/med_editor/framework/impl/document/doc-footer-impl.ts} +29 -18
  49. package/{lib/framework/impl/document/doc-header-impl.js → src/med_editor/framework/impl/document/doc-header-impl.ts} +33 -16
  50. package/{lib/framework/impl/document/doc-impl.js → src/med_editor/framework/impl/document/doc-impl.ts} +59 -42
  51. package/{lib/framework/impl/media-formula/menstrual-history.js → src/med_editor/framework/impl/media-formula/menstrual-history.ts} +57 -35
  52. package/{lib/framework/impl/paragraph/p-impl.js → src/med_editor/framework/impl/paragraph/p-impl.ts} +62 -28
  53. package/{lib/framework/impl/picture/image-impl.js → src/med_editor/framework/impl/picture/image-impl.ts} +35 -23
  54. package/{lib/framework/impl/radio/radio-impl.js → src/med_editor/framework/impl/radio/radio-impl.ts} +26 -19
  55. package/{lib/framework/impl/symbol/br-symbol-impl.js → src/med_editor/framework/impl/symbol/br-symbol-impl.ts} +20 -14
  56. package/{lib/framework/impl/symbol/p-symbol-impl.js → src/med_editor/framework/impl/symbol/p-symbol-impl.ts} +14 -11
  57. package/{lib/framework/impl/table/table-cell-impl.js → src/med_editor/framework/impl/table/table-cell-impl.ts} +39 -28
  58. package/{lib/framework/impl/table/table-impl.js → src/med_editor/framework/impl/table/table-impl.ts} +120 -82
  59. package/{lib/framework/impl/table/table-row-impl.js → src/med_editor/framework/impl/table/table-row-impl.ts} +24 -16
  60. package/{lib/framework/impl/table/table-split-cell-patch.js → src/med_editor/framework/impl/table/table-split-cell-patch.ts} +31 -22
  61. package/{lib/framework/impl/table/table-split-cell.js → src/med_editor/framework/impl/table/table-split-cell.ts} +105 -94
  62. package/{lib/framework/impl/table/table-util.js → src/med_editor/framework/impl/table/table-util.ts} +195 -157
  63. package/{lib/framework/impl/text/text-impl.js → src/med_editor/framework/impl/text/text-impl.ts} +46 -32
  64. package/{lib/framework/impl/text/track-run-impl.js → src/med_editor/framework/impl/text/track-run-impl.ts} +51 -28
  65. package/{lib/framework/notify.js → src/med_editor/framework/notify.ts} +50 -36
  66. package/{lib/framework/range-util.js → src/med_editor/framework/range-util.ts} +80 -71
  67. package/{lib/framework/render-context.js → src/med_editor/framework/render-context.ts} +111 -64
  68. package/{lib/framework/render-define.js → src/med_editor/framework/render-define.ts} +90 -61
  69. package/{lib/framework/selection-overlays.js → src/med_editor/framework/selection-overlays.ts} +25 -16
  70. package/{lib/texteditor.js → src/med_editor/texteditor.ts} +286 -189
  71. package/src/med_editor/util/subject.ts +118 -0
  72. package/{lib/util/table-bind.js → src/med_editor/util/table-bind.ts} +2 -2
  73. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +3573 -0
  74. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +3573 -0
  75. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +315 -0
  76. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +122 -0
  77. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +3599 -0
  78. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +24586 -0
  79. package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +2874 -0
  80. package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +341 -0
  81. package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +2201 -0
  82. package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +1069 -0
  83. package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +125 -0
  84. package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +86 -0
  85. package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +115 -0
  86. package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +108 -0
  87. package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +272 -0
  88. package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +1070 -0
  89. package/lib/doc-ruler.d.ts +0 -51
  90. package/lib/doc-ruler.js.map +0 -1
  91. package/lib/framework/common-util.d.ts +0 -63
  92. package/lib/framework/common-util.js +0 -178
  93. package/lib/framework/common-util.js.map +0 -1
  94. package/lib/framework/document-change.d.ts +0 -265
  95. package/lib/framework/document-change.js.map +0 -1
  96. package/lib/framework/document-combine.d.ts +0 -24
  97. package/lib/framework/document-combine.js.map +0 -1
  98. package/lib/framework/document-comment.d.ts +0 -46
  99. package/lib/framework/document-comment.js.map +0 -1
  100. package/lib/framework/document-context.d.ts +0 -149
  101. package/lib/framework/document-context.js.map +0 -1
  102. package/lib/framework/document-eval-func.d.ts +0 -18
  103. package/lib/framework/document-eval-func.js.map +0 -1
  104. package/lib/framework/document-event.d.ts +0 -213
  105. package/lib/framework/document-event.js.map +0 -1
  106. package/lib/framework/document-history.d.ts +0 -26
  107. package/lib/framework/document-history.js.map +0 -1
  108. package/lib/framework/document-images-loader.d.ts +0 -16
  109. package/lib/framework/document-images-loader.js.map +0 -1
  110. package/lib/framework/document-input-cursor.d.ts +0 -78
  111. package/lib/framework/document-input-cursor.js.map +0 -1
  112. package/lib/framework/document-paint.d.ts +0 -34
  113. package/lib/framework/document-paint.js.map +0 -1
  114. package/lib/framework/document-print-offscreen.d.ts +0 -38
  115. package/lib/framework/document-print-offscreen.js.map +0 -1
  116. package/lib/framework/document-print.d.ts +0 -60
  117. package/lib/framework/document-print.js.map +0 -1
  118. package/lib/framework/document-segmenter.d.ts +0 -2
  119. package/lib/framework/document-segmenter.js +0 -106
  120. package/lib/framework/document-segmenter.js.map +0 -1
  121. package/lib/framework/document-selection.d.ts +0 -89
  122. package/lib/framework/document-selection.js.map +0 -1
  123. package/lib/framework/document-template.d.ts +0 -4
  124. package/lib/framework/document-template.js.map +0 -1
  125. package/lib/framework/document-textline-mode.d.ts +0 -7
  126. package/lib/framework/document-textline-mode.js +0 -30
  127. package/lib/framework/document-textline-mode.js.map +0 -1
  128. package/lib/framework/element-define.d.ts +0 -319
  129. package/lib/framework/element-define.js.map +0 -1
  130. package/lib/framework/element-event-define.d.ts +0 -98
  131. package/lib/framework/element-event-define.js +0 -108
  132. package/lib/framework/element-event-define.js.map +0 -1
  133. package/lib/framework/element-measure.d.ts +0 -97
  134. package/lib/framework/element-measure.js.map +0 -1
  135. package/lib/framework/element-paint.d.ts +0 -42
  136. package/lib/framework/element-paint.js.map +0 -1
  137. package/lib/framework/element-props.d.ts +0 -301
  138. package/lib/framework/element-props.js.map +0 -1
  139. package/lib/framework/element-reader.d.ts +0 -19
  140. package/lib/framework/element-reader.js.map +0 -1
  141. package/lib/framework/element-render-cut.d.ts +0 -55
  142. package/lib/framework/element-render-cut.js.map +0 -1
  143. package/lib/framework/element-serialize.d.ts +0 -30
  144. package/lib/framework/element-serialize.js.map +0 -1
  145. package/lib/framework/element-util.d.ts +0 -369
  146. package/lib/framework/element-util.js.map +0 -1
  147. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +0 -24
  148. package/lib/framework/impl/checkbox/checkbox-impl.js.map +0 -1
  149. package/lib/framework/impl/comments/comment-content-impl.d.ts +0 -40
  150. package/lib/framework/impl/comments/comment-content-impl.js.map +0 -1
  151. package/lib/framework/impl/comments/comment-element-impl.d.ts +0 -21
  152. package/lib/framework/impl/comments/comment-element-impl.js.map +0 -1
  153. package/lib/framework/impl/comments/comments-container-impl.d.ts +0 -22
  154. package/lib/framework/impl/comments/comments-container-impl.js.map +0 -1
  155. package/lib/framework/impl/comments/comments-util.d.ts +0 -12
  156. package/lib/framework/impl/comments/comments-util.js.map +0 -1
  157. package/lib/framework/impl/comments/validate-msg-impl.d.ts +0 -21
  158. package/lib/framework/impl/comments/validate-msg-impl.js.map +0 -1
  159. package/lib/framework/impl/data-element/data-decorate-impl.d.ts +0 -30
  160. package/lib/framework/impl/data-element/data-decorate-impl.js.map +0 -1
  161. package/lib/framework/impl/data-element/data-element-barcode.d.ts +0 -31
  162. package/lib/framework/impl/data-element/data-element-barcode.js.map +0 -1
  163. package/lib/framework/impl/data-element/data-element-base-impl.d.ts +0 -68
  164. package/lib/framework/impl/data-element/data-element-base-impl.js.map +0 -1
  165. package/lib/framework/impl/data-element/data-element-check-impl.d.ts +0 -35
  166. package/lib/framework/impl/data-element/data-element-check-impl.js.map +0 -1
  167. package/lib/framework/impl/data-element/data-element-date-impl.d.ts +0 -23
  168. package/lib/framework/impl/data-element/data-element-date-impl.js.map +0 -1
  169. package/lib/framework/impl/data-element/data-element-group-impl.d.ts +0 -23
  170. package/lib/framework/impl/data-element/data-element-group-impl.js.map +0 -1
  171. package/lib/framework/impl/data-element/data-element-image-impl.d.ts +0 -30
  172. package/lib/framework/impl/data-element/data-element-image-impl.js.map +0 -1
  173. package/lib/framework/impl/data-element/data-element-list-impl.d.ts +0 -22
  174. package/lib/framework/impl/data-element/data-element-list-impl.js.map +0 -1
  175. package/lib/framework/impl/data-element/data-element-text-impl.d.ts +0 -23
  176. package/lib/framework/impl/data-element/data-element-text-impl.js.map +0 -1
  177. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +0 -21
  178. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +0 -1
  179. package/lib/framework/impl/document/doc-body-impl.d.ts +0 -27
  180. package/lib/framework/impl/document/doc-body-impl.js.map +0 -1
  181. package/lib/framework/impl/document/doc-body-part-impl.d.ts +0 -30
  182. package/lib/framework/impl/document/doc-body-part-impl.js.map +0 -1
  183. package/lib/framework/impl/document/doc-container-impl.d.ts +0 -16
  184. package/lib/framework/impl/document/doc-container-impl.js +0 -21
  185. package/lib/framework/impl/document/doc-container-impl.js.map +0 -1
  186. package/lib/framework/impl/document/doc-footer-impl.d.ts +0 -26
  187. package/lib/framework/impl/document/doc-footer-impl.js.map +0 -1
  188. package/lib/framework/impl/document/doc-header-impl.d.ts +0 -26
  189. package/lib/framework/impl/document/doc-header-impl.js.map +0 -1
  190. package/lib/framework/impl/document/doc-impl.d.ts +0 -61
  191. package/lib/framework/impl/document/doc-impl.js.map +0 -1
  192. package/lib/framework/impl/media-formula/menstrual-history.d.ts +0 -35
  193. package/lib/framework/impl/media-formula/menstrual-history.js.map +0 -1
  194. package/lib/framework/impl/paragraph/p-impl.d.ts +0 -45
  195. package/lib/framework/impl/paragraph/p-impl.js.map +0 -1
  196. package/lib/framework/impl/picture/image-impl.d.ts +0 -31
  197. package/lib/framework/impl/picture/image-impl.js.map +0 -1
  198. package/lib/framework/impl/radio/radio-impl.d.ts +0 -22
  199. package/lib/framework/impl/radio/radio-impl.js.map +0 -1
  200. package/lib/framework/impl/symbol/br-symbol-impl.d.ts +0 -22
  201. package/lib/framework/impl/symbol/br-symbol-impl.js.map +0 -1
  202. package/lib/framework/impl/symbol/p-symbol-impl.d.ts +0 -19
  203. package/lib/framework/impl/symbol/p-symbol-impl.js.map +0 -1
  204. package/lib/framework/impl/table/table-cell-impl.d.ts +0 -37
  205. package/lib/framework/impl/table/table-cell-impl.js.map +0 -1
  206. package/lib/framework/impl/table/table-impl.d.ts +0 -55
  207. package/lib/framework/impl/table/table-impl.js.map +0 -1
  208. package/lib/framework/impl/table/table-row-impl.d.ts +0 -26
  209. package/lib/framework/impl/table/table-row-impl.js.map +0 -1
  210. package/lib/framework/impl/table/table-split-cell-patch.d.ts +0 -20
  211. package/lib/framework/impl/table/table-split-cell-patch.js.map +0 -1
  212. package/lib/framework/impl/table/table-split-cell.d.ts +0 -90
  213. package/lib/framework/impl/table/table-split-cell.js.map +0 -1
  214. package/lib/framework/impl/table/table-util.d.ts +0 -150
  215. package/lib/framework/impl/table/table-util.js.map +0 -1
  216. package/lib/framework/impl/text/text-impl.d.ts +0 -32
  217. package/lib/framework/impl/text/text-impl.js.map +0 -1
  218. package/lib/framework/impl/text/track-run-impl.d.ts +0 -27
  219. package/lib/framework/impl/text/track-run-impl.js.map +0 -1
  220. package/lib/framework/notify.d.ts +0 -13
  221. package/lib/framework/notify.js.map +0 -1
  222. package/lib/framework/range-util.d.ts +0 -40
  223. package/lib/framework/range-util.js.map +0 -1
  224. package/lib/framework/render-context.d.ts +0 -91
  225. package/lib/framework/render-context.js.map +0 -1
  226. package/lib/framework/render-define.d.ts +0 -109
  227. package/lib/framework/render-define.js.map +0 -1
  228. package/lib/framework/selection-overlays.d.ts +0 -30
  229. package/lib/framework/selection-overlays.js.map +0 -1
  230. package/lib/texteditor.d.ts +0 -318
  231. package/lib/texteditor.js.map +0 -1
  232. package/lib/util/subject.d.ts +0 -34
  233. package/lib/util/subject.js +0 -88
  234. package/lib/util/subject.js.map +0 -1
  235. package/lib/util/table-bind.d.ts +0 -5
  236. package/lib/util/table-bind.js.map +0 -1
@@ -1,47 +1,53 @@
1
- import { ElementFactory, LeafElement } from "../../element-define";
1
+ import { ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { CheckBoxProps } from "../../element-props";
3
3
  import { ElementUtil } from "../../element-util";
4
- import { LeafRenderObject } from "../../render-define";
5
- export class CheckBoxElement extends LeafElement {
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { LeafRenderObject, RenderObject } from "../../render-define";
6
+ import { ElementEvent } from "../../element-event-define";
7
+
8
+ export class CheckBoxElement extends LeafElement<CheckBoxProps> {
6
9
  //props: CheckBoxProps;
7
10
  constructor() {
8
11
  super('ckb');
9
12
  this.props = new CheckBoxProps();
10
13
  //this.addPropValueChangedSub(this.props);
11
- this.cursorType = 'default';
12
- this.addEvent('ElementClick', (evt) => { this.changeState(evt); });
14
+ this.cursorType = 'default'
15
+ this.addEvent('ElementClick', (evt) => { this.changeState(evt) });
13
16
  }
14
- createRenderObject() {
17
+ createRenderObject(): CheckBoxRenderObject {
15
18
  const render = new CheckBoxRenderObject(this);
16
19
  render.rect.width = this.props.size + 4;
17
20
  render.rect.height = this.props.size;
18
21
  return render;
19
22
  }
20
- changeState(e) {
23
+
24
+ changeState(e: ElementEvent): void {
21
25
  this.props.isChecked = !this.props.isChecked;
22
26
  }
23
- serialize(viewOptions) {
27
+
28
+ serialize(viewOptions: ViewOptions): SerializeProps {
24
29
  return {
25
30
  type: 'ckb',
26
31
  props: {
27
32
  ...this.props.getSerializeProps(viewOptions)
28
33
  }
29
- };
34
+ }
30
35
  }
31
- clone() {
36
+ clone(): CheckBoxElement {
32
37
  const clone = new CheckBoxElement();
33
38
  this.props.clone(clone.props);
34
39
  return clone;
35
40
  }
36
- getType() {
41
+ getType(): string {
37
42
  return 'ckb';
38
43
  }
39
44
  }
40
- export class CheckBoxFactory extends ElementFactory {
41
- match(type) {
45
+
46
+ export class CheckBoxFactory extends ElementFactory<CheckBoxProps> {
47
+ match(type: string): boolean {
42
48
  return type === 'ckb';
43
49
  }
44
- createElement(data, renderCtx) {
50
+ createElement(data: readElementProps<CheckBoxProps>, renderCtx: RenderContenxtType): CheckBoxElement {
45
51
  const props = data.props;
46
52
  const ckbElement = new CheckBoxElement();
47
53
  const ckbProps = ckbElement.props;
@@ -51,14 +57,15 @@ export class CheckBoxFactory extends ElementFactory {
51
57
  return ckbElement;
52
58
  }
53
59
  }
54
- export class CheckBoxRenderObject extends LeafRenderObject {
55
- render(ctx, position) {
60
+
61
+ export class CheckBoxRenderObject extends LeafRenderObject<CheckBoxElement> {
62
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
56
63
  ctx.contentContext.drawCheckBox(position.x + 2, position.y, this.element.props.size, this.element.props.size, this.element.props.isChecked);
57
64
  }
58
- clone(cloneData = true) {
65
+ clone(cloneData = true): RenderObject {
59
66
  const clone = new CheckBoxRenderObject(this.element);
60
67
  clone.rect = ElementUtil.cloneRect(this.rect);
61
68
  return clone;
62
69
  }
70
+
63
71
  }
64
- //# sourceMappingURL=checkbox-impl.js.map
@@ -1,84 +1,94 @@
1
- import { BlockContainerElement, ElementFactory } from "../../element-define";
1
+ import { BlockContainerElement, ElementFactory, Position, readElementProps, Rect, SelectionContentRange, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { CommContentProps, TextProps } from "../../element-props";
3
+ import { Element } from "../../element-define"
3
4
  import { ElementUtil } from "../../element-util";
4
- import { BlockContainerRenderObject } from "../../render-define";
5
+ import { RenderContenxtType } from "../../render-context";
6
+ import { BlockContainerRenderObject, RenderObject } from "../../render-define";
5
7
  import { DocumentRenderObject } from "../document/doc-impl";
8
+ import { CommentElement } from "./comment-element-impl";
6
9
  import moment from "moment";
7
- export class CommContentBaseElement extends BlockContainerElement {
8
- startMark;
9
- endMark;
10
- focus = false;
11
- constructor(type) {
10
+
11
+ export abstract class CommContentBaseElement<P extends object = { id: string }> extends BlockContainerElement<P>{
12
+ startMark!: CommentElement;
13
+ endMark!: CommentElement;
14
+ focus: boolean = false;
15
+ protected constructor(type: string) {
12
16
  super(type);
13
17
  this.addEvent('GotCursor', () => {
14
18
  this.focus = true;
15
- this.refreshView();
19
+ this.refreshView()
16
20
  });
17
21
  this.addEvent('LostCursor', () => {
18
22
  this.focus = false;
19
- this.refreshView();
20
- });
23
+ this.refreshView()
24
+ })
21
25
  }
22
26
  }
23
- export class CommContentBaseRenderObject extends BlockContainerRenderObject {
24
- commMarkRender;
27
+
28
+ export abstract class CommContentBaseRenderObject<E extends CommContentBaseElement> extends BlockContainerRenderObject<E> {
29
+ commMarkRender!: { render: RenderObject, pos: Position };
25
30
  }
26
- export class CommContentElement extends CommContentBaseElement {
31
+
32
+ export class CommContentElement extends CommContentBaseElement<CommContentProps> {
27
33
  constructor() {
28
34
  super("comm-content");
29
35
  this.props = new CommContentProps();
30
36
  }
31
- createRenderObject(options, renderCtx) {
37
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {
32
38
  const render = new CommContentRenderObject(this);
33
39
  render.padding.left = 14;
34
40
  render.padding.top = 24;
35
41
  return render;
36
42
  }
37
- serialize(viewOptions) {
43
+ serialize(viewOptions: ViewOptions): SerializeProps {
38
44
  return {
39
45
  type: this.type,
40
46
  props: { ...this.props.getSerializeProps(viewOptions) }
41
- };
47
+ }
42
48
  }
43
- clone(data) {
49
+ clone(data: boolean): Element {
44
50
  throw new Error('不支持');
45
51
  }
46
52
  }
47
- export class CommContentRenderObject extends CommContentBaseRenderObject {
48
- beginRender(ctx, position) {
53
+
54
+ export class CommContentRenderObject extends CommContentBaseRenderObject<CommContentElement> {
55
+ beginRender(ctx: RenderContenxtType, position: Position): void {
49
56
  let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';
50
57
  ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, borderColor);
51
- ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400');
52
- const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject);
58
+ ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400')
59
+ const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject) as DocumentRenderObject;
53
60
  //获取审阅标记的绘制坐标
54
61
  let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, { x: 0, y: -ctx.viewOptions.translateY });
55
62
  const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);
56
63
  commMarkPos.y = commMarkLinePos.y + 2;
64
+
57
65
  const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, { x: 0, y: -ctx.viewOptions.translateY });
58
66
  const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;
59
67
  const marginRight = ctx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;
60
68
  ctx.overlaysContext.drawDashLine([commMarkPos, { x: commMarkPos.x + marginRight, y: commMarkPos.y }], [1, 1], 'red');
61
69
  ctx.overlaysContext.drawDashLine([{ x: commMarkPos.x + marginRight, y: commMarkPos.y }, position], [1, 1], 'red');
70
+
62
71
  this.renderTitle(ctx, position);
63
72
  }
64
- renderTitle(ctx, position) {
73
+
74
+ renderTitle(ctx: RenderContenxtType, position: Position): void {
65
75
  const topPadding = 24;
66
76
  const { props } = this.element;
67
77
  const textProps = new TextProps();
68
78
  textProps.fontSize = 12;
69
79
  textProps.fontName = '楷体';
70
80
  textProps.color = "rgb(0,0,0)";
71
- const createDate = moment(props.createDate).format('YYYY-MM-DD HH:mm');
81
+ const createDate = moment(props.createDate).format('YYYY-MM-DD HH:mm')
72
82
  const commTitle = `${props.createName}:${createDate}`;
73
83
  const { width, height } = ctx.contentContext.measureText(commTitle, textProps);
74
- const rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 };
84
+ const rect: Rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 }
75
85
  rect.y += (topPadding - rect.height) / 2;
76
86
  ctx.contentContext.drawText(commTitle, textProps, rect.x, rect.y, rect.width, rect.height);
77
87
  }
78
- endRender(ctx, position) {
88
+ endRender(ctx: RenderContenxtType, position: Position): void {
79
89
  //throw new Error("Method not implemented.");
80
90
  }
81
- clone() {
91
+ clone(): RenderObject {
82
92
  const clone = new CommContentRenderObject(this.element);
83
93
  clone.rect = ElementUtil.cloneRect(this.rect);
84
94
  clone.padding = this.padding.clone();
@@ -88,12 +98,17 @@ export class CommContentRenderObject extends CommContentBaseRenderObject {
88
98
  return clone;
89
99
  }
90
100
  }
91
- export class CommentContentFactory extends ElementFactory {
92
- match(type) {
101
+
102
+ export interface CommentRangeStatus {
103
+ range: SelectionContentRange, commContent: CommContentBaseElement
104
+ }
105
+
106
+ export class CommentContentFactory extends ElementFactory<CommContentProps> {
107
+ match(type: string): boolean {
93
108
  return type === "comm-content";
94
109
  }
95
- createElement(data, renderCtx) {
96
- const props = data.props;
110
+ createElement(data: readElementProps<CommContentProps>, renderCtx: RenderContenxtType): Element {
111
+ const props = data.props as CommContentProps;
97
112
  const commentEle = new CommContentElement();
98
113
  commentEle.props.id = props.id;
99
114
  commentEle.props.createDate = props.createDate;
@@ -102,4 +117,3 @@ export class CommentContentFactory extends ElementFactory {
102
117
  return commentEle;
103
118
  }
104
119
  }
105
- //# sourceMappingURL=comment-content-impl.js.map
@@ -1,62 +1,65 @@
1
- import { ElementFactory, LeafElement } from "../../element-define";
1
+ import { Element, ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { CommProps } from "../../element-props";
3
3
  import { ElementUtil } from "../../element-util";
4
- import { LeafRenderObject } from "../../render-define";
5
- export class CommentElement extends LeafElement {
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { LeafRenderObject, RenderObject } from "../../render-define";
6
+
7
+ export class CommentElement extends LeafElement<CommProps> {
6
8
  constructor() {
7
9
  super('comm');
8
10
  this.isDecorate = true;
9
11
  this.disableClick = true;
10
12
  this.props = new CommProps();
11
13
  }
12
- createRenderObject(options, renderCtx) {
14
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {
13
15
  const render = new CommentRenderObject(this);
14
16
  render.rect.width = 0;
15
17
  render.rect.height = 14;
16
18
  return render;
17
19
  }
18
- serialize(viewOptions) {
19
- if (this.isDecorate) {
20
- return null;
20
+ serialize(viewOptions: ViewOptions): SerializeProps|null {
21
+ if(this.isDecorate){
22
+ return null;
21
23
  }
22
24
  return {
23
25
  type: this.type,
24
26
  props: {
25
27
  ...this.props.getSerializeProps(viewOptions)
26
28
  }
27
- };
29
+ }
28
30
  }
29
- clone() {
31
+ clone(): Element {
30
32
  const clone = new CommentElement();
31
33
  this.props.clone(clone.props);
32
34
  return clone;
33
35
  }
34
36
  }
35
- export class CommentRenderObject extends LeafRenderObject {
36
- render(ctx, position) {
37
+
38
+ export class CommentRenderObject extends LeafRenderObject<CommentElement> {
39
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
37
40
  if (!ctx.viewOptions.showReviewWindow) {
38
41
  return;
39
42
  }
40
43
  const paraLinePos = ElementUtil.getParaLinePos(this, { x: position.x, y: position.y });
41
44
  const color = '#ff4d4f';
42
- ctx.contentContext.fillRect(position.x - 1, paraLinePos.y, 2, paraLinePos.height, color);
45
+ ctx.contentContext.fillRect(position.x - 1, paraLinePos.y, 2, paraLinePos.height, color)
43
46
  }
44
- clone() {
47
+ clone(): RenderObject {
45
48
  const clone = new CommentRenderObject(this.element);
46
49
  clone.rect = ElementUtil.cloneRect(this.rect);
47
50
  return clone;
48
51
  }
49
52
  }
50
- export class CommentFactory extends ElementFactory {
51
- match(type) {
53
+
54
+ export class CommentFactory extends ElementFactory<CommProps> {
55
+ match(type: string): boolean {
52
56
  return type === "comm";
53
57
  }
54
- createElement(data, renderCtx) {
58
+ createElement(data: readElementProps<CommProps>, renderCtx: RenderContenxtType): Element {
55
59
  const ele = new CommentElement();
56
- const props = data.props;
60
+ const props = data.props as CommProps;
57
61
  ele.props.id = props.id;
58
62
  ele.props.markType = props.markType;
59
63
  return ele;
60
64
  }
61
65
  }
62
- //# sourceMappingURL=comment-element-impl.js.map
@@ -1,24 +1,27 @@
1
- import { BlockContainerElement, ElementFactory } from "../../element-define";
1
+ import { BlockContainerElement, Element, ElementFactory, Position, SelectionContentRange, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { ElementUtil } from "../../element-util";
3
- import { BlockContainerRenderObject } from "../../render-define";
3
+ import { RenderContenxtType } from "../../render-context";
4
+ import { BlockContainerRenderObject, RenderObject } from "../../render-define";
5
+ import { CommentRangeStatus } from "./comment-content-impl";
6
+
4
7
  export class CommsContainerElement extends BlockContainerElement {
5
8
  constructor() {
6
9
  super('comm-list');
7
10
  this.noFillEmpty = true;
8
11
  }
9
- createRenderObject(options, renderCtx) {
12
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {
10
13
  const render = new CommsContainerRenderObject(this);
11
14
  render.rect.maxWidth = options.reviewWindowWidth;
12
15
  render.rect.width = render.rect.maxWidth;
13
16
  return render;
14
17
  }
15
- serialize(viewOptions) {
18
+ serialize(viewOptions: ViewOptions): SerializeProps {
16
19
  return {
17
20
  type: this.type,
18
21
  props: {}
19
22
  };
20
23
  }
21
- clone(data) {
24
+ clone(data: boolean): Element {
22
25
  const clone = new CommsContainerElement();
23
26
  if (data) {
24
27
  for (let i = 0; i < this.length; i++) {
@@ -28,20 +31,22 @@ export class CommsContainerElement extends BlockContainerElement {
28
31
  return clone;
29
32
  }
30
33
  }
34
+
31
35
  export class CommsContainerRenderObject extends BlockContainerRenderObject {
32
36
  //批注内容是否已经重组,只要重新绘制的时候组合一次即可
33
- isMeasureComm;
34
- selectedSet;
35
- commentRangeStatus = [];
36
- beginRender(ctx, position) {
37
+ isMeasureComm!: boolean;
38
+ selectedSet!: Map<Element, SelectionContentRange>;
39
+ commentRangeStatus: Array<CommentRangeStatus> = [];
40
+ beginRender(ctx: RenderContenxtType, position: Position): void {
37
41
  if (this.rect.height === 0) {
38
42
  return;
39
43
  }
40
44
  ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, 'black', 0.5);
41
45
  }
42
- endRender(ctx, position) {
46
+ endRender(ctx: RenderContenxtType, position: Position): void {
47
+
43
48
  }
44
- clone() {
49
+ clone(): RenderObject {
45
50
  const clone = new CommsContainerRenderObject(this.element);
46
51
  clone.rect = ElementUtil.cloneRect(this.rect);
47
52
  for (let i = 0; i < this.length; i++) {
@@ -50,13 +55,14 @@ export class CommsContainerRenderObject extends BlockContainerRenderObject {
50
55
  return clone;
51
56
  }
52
57
  }
53
- export class CommentsFactory extends ElementFactory {
54
- match(type) {
58
+
59
+
60
+ export class CommentsFactory extends ElementFactory<null> {
61
+ match(type: string): boolean {
55
62
  return type === "comm-list";
56
63
  }
57
- createElement(data, renderCtx) {
64
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
58
65
  const commentsEle = new CommsContainerElement();
59
66
  return commentsEle;
60
67
  }
61
68
  }
62
- //# sourceMappingURL=comments-container-impl.js.map
@@ -1,22 +1,37 @@
1
- import { ElementUtil } from "../../element-util";
2
- import { DocumentRenderObject } from "../document/doc-impl";
1
+ import {Position} from "../../element-define";
2
+ import {RenderContenxtType} from "../../render-context";
3
+ import {RenderObject} from "../../render-define";
4
+ import {ElementUtil} from "../../element-util";
5
+ import {DocumentRenderObject} from "../document/doc-impl";
6
+ import {CommContentBaseElement, CommContentBaseRenderObject,} from "./comment-content-impl";
7
+ import {CommentElement, CommentRenderObject} from "./comment-element-impl";
8
+ import {CommsContainerRenderObject} from "./comments-container-impl";
9
+
10
+ interface CommMapProps {
11
+ commMarkRender: CommentRenderObject,
12
+ commMarkPos: Position,
13
+ commContentRender: CommContentBaseRenderObject<any>,
14
+ commContentPos?: Position
15
+ }
16
+
3
17
  export class CommentsUtil {
4
- static remeasureComments(ctx, commWindow, commContainer, map) {
5
- const commMap = [];
6
- const docRender = ElementUtil.getParentRender(commWindow, DocumentRenderObject);
18
+ static remeasureComments(ctx: RenderContenxtType, commWindow: CommsContainerRenderObject, commContainer: CommsContainerRenderObject, map: Array<{ ele: CommentElement, render: RenderObject, pos: Position }>): void {
19
+ const commMap: Array<CommMapProps> = [];
20
+ const docRender = ElementUtil.getParentRender(commWindow, DocumentRenderObject) as DocumentRenderObject;
7
21
  for (let i = 0; i < commContainer.length; i++) {
8
22
  const commRender = commContainer.getChild(i);
9
- const commEle = commRender.element;
23
+ const commEle = commRender.element as CommContentBaseElement;
10
24
  const mapComm = map.find(item => item.ele.props.id === commEle.props.id);
11
25
  if (mapComm) {
12
26
  const commMarkLinePos = ElementUtil.getParaLinePos(mapComm.render, mapComm.pos);
13
27
  mapComm.pos.y = commMarkLinePos.y + 2;
14
- const commContentRender = commRender.clone();
28
+
29
+ const commContentRender = commRender.clone() as CommContentBaseRenderObject<any>;
15
30
  commContentRender.rect.x = 0;
16
31
  commContentRender.rect.y = mapComm.pos.y;
17
32
  commWindow.addChild(commContentRender);
18
33
  commMap.push({
19
- commMarkRender: mapComm.render,
34
+ commMarkRender: <CommentRenderObject>mapComm.render,
20
35
  commMarkPos: mapComm.pos,
21
36
  commContentRender: commContentRender
22
37
  });
@@ -26,22 +41,23 @@ export class CommentsUtil {
26
41
  for (let i = 0; i < commMap.length; i++) {
27
42
  const map = commMap[i];
28
43
  const prevRender = commMap[i - 1]?.commContentRender;
29
- const { commContentRender } = map;
44
+ const {commContentRender} = map;
30
45
  sumCommentHeight += commContentRender.rect.height + 5;
31
46
  if (prevRender) {
32
- const { y: prevY, height: prevHeight } = prevRender.rect;
47
+ const {y: prevY, height: prevHeight} = prevRender.rect;
33
48
  if (commContentRender.rect.y < prevY + prevHeight) {
34
49
  commContentRender.rect.y = prevY + prevHeight + 5;
35
50
  }
36
51
  }
37
- commContentRender.commMarkRender = { render: map.commMarkRender, pos: map.commMarkPos };
52
+ commContentRender.commMarkRender = {render: map.commMarkRender, pos: map.commMarkPos};
38
53
  }
39
54
  if (!commMap.length) {
40
55
  return;
41
56
  }
42
57
  const lastCommentMap = commMap[commMap.length - 1];
43
- const { commContentRender: lastCommContentRender } = lastCommentMap;
44
- const { rect: lastRect } = lastCommContentRender;
58
+ const {commContentRender: lastCommContentRender} = lastCommentMap;
59
+ const {rect: lastRect} = lastCommContentRender;
60
+
45
61
  //批注内容超出文档,需要重新排序
46
62
  if (lastRect.y + lastRect.height > docRender.rect.height) {
47
63
  //总内容小于容器高度,则进行倒排
@@ -51,17 +67,18 @@ export class CommentsUtil {
51
67
  for (let i = commMap.length - 1; i >= 0; i--) {
52
68
  const map = commMap[i];
53
69
  const prevRender = commMap[i + 1]?.commContentRender;
54
- const { commContentRender } = map;
70
+ const {commContentRender} = map;
55
71
  if (prevRender) {
56
- const { y: prevY } = prevRender.rect;
72
+ const {y: prevY} = prevRender.rect;
57
73
  if (commContentRender.rect.y + commContentRender.rect.height > prevY) {
58
74
  commContentRender.rect.y = prevY - commContentRender.rect.height - 5;
59
75
  }
60
76
  }
61
- commContentRender.commMarkRender = { render: map.commMarkRender, pos: map.commMarkPos };
77
+ commContentRender.commMarkRender = {render: map.commMarkRender, pos: map.commMarkPos};
62
78
  }
63
79
  }
64
80
  }
81
+
65
82
  }
83
+
66
84
  }
67
- //# sourceMappingURL=comments-util.js.map
@@ -1,60 +1,72 @@
1
+ import { ViewOptions, Element, SerializeProps, Position, Rect } from "../../element-define";
1
2
  import { TextProps, ValidateProps } from "../../element-props";
2
3
  import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { RenderObject } from "../../render-define";
3
6
  import { CommContentBaseElement, CommContentBaseRenderObject } from "./comment-content-impl";
4
7
  import { ParagraphElement } from "../paragraph/p-impl";
5
8
  import { TextGroupElement } from "../text/text-impl";
6
9
  import { DocumentRenderObject } from "../document/doc-impl";
10
+
7
11
  /**
8
12
  * 数据元验证提示
9
13
  */
10
- export class ValidateElement extends CommContentBaseElement {
14
+ export class ValidateElement extends CommContentBaseElement<ValidateProps> {
11
15
  constructor() {
12
16
  super('validate');
13
17
  this.props = new ValidateProps();
14
18
  this.isDecorate = true;
15
19
  }
16
- createRenderObject(options, renderCtx) {
20
+
21
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject | null {
17
22
  const render = new ValidateRenderObject(this);
18
23
  render.padding.left = 14;
19
24
  render.padding.top = 24;
20
25
  return render;
21
26
  }
22
- serialize(viewOptions) {
27
+
28
+ serialize(viewOptions: ViewOptions): SerializeProps | null {
23
29
  return null;
24
30
  }
25
- clone(data) {
31
+
32
+ clone(data: boolean): Element {
26
33
  throw new Error("Method not implemented.");
27
34
  }
28
- setContent(content) {
35
+
36
+ setContent(content: string): void {
29
37
  this.clearItems();
30
38
  const para = new ParagraphElement();
31
39
  const text = new TextGroupElement();
32
40
  text.props.fontSize = 14;
33
41
  text.props.fontName = '等线';
34
- text.props.color = '#000000';
42
+ text.props.color = '#000000'
35
43
  text.text = content;
36
44
  para.addChild(text);
37
45
  this.addChild(para);
38
46
  }
39
47
  }
40
- export class ValidateRenderObject extends CommContentBaseRenderObject {
41
- beginRender(ctx, position) {
48
+
49
+ export class ValidateRenderObject extends CommContentBaseRenderObject<ValidateElement> {
50
+ beginRender(ctx: RenderContenxtType, position: Position): void {
42
51
  let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';
43
52
  ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, borderColor);
44
- ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400');
45
- const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject);
53
+ ctx.contentContext.fillRect(position.x, position.y, 8, this.rect.height, '#871400')
54
+ const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject) as DocumentRenderObject;
46
55
  //获取审阅标记的绘制坐标
47
56
  let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, { x: 0, y: -ctx.viewOptions.translateY });
48
57
  const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);
49
58
  commMarkPos.y = commMarkLinePos.y + 2;
59
+
50
60
  const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, { x: 0, y: -ctx.viewOptions.translateY });
51
61
  const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;
52
62
  const marginRight = ctx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;
53
63
  ctx.overlaysContext.drawDashLine([commMarkPos, { x: commMarkPos.x + marginRight, y: commMarkPos.y }], [1, 1], 'red');
54
64
  ctx.overlaysContext.drawDashLine([{ x: commMarkPos.x + marginRight, y: commMarkPos.y }, position], [1, 1], 'red');
65
+
55
66
  this.renderTitle(ctx, position);
56
67
  }
57
- renderTitle(ctx, position) {
68
+
69
+ renderTitle(ctx: RenderContenxtType, position: Position): void {
58
70
  const topPadding = 24;
59
71
  const { props } = this.element;
60
72
  const textProps = new TextProps();
@@ -63,14 +75,14 @@ export class ValidateRenderObject extends CommContentBaseRenderObject {
63
75
  textProps.color = "rgb(0,0,0)";
64
76
  const title = this.element.props.title;
65
77
  const { width, height } = ctx.contentContext.measureText(title, textProps);
66
- const rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 };
78
+ const rect: Rect = { x: position.x + this.padding.left, y: position.y, width, height, maxHeight: 0, maxWidth: 0 }
67
79
  rect.y += (topPadding - rect.height) / 2;
68
80
  ctx.contentContext.drawText(title, textProps, rect.x, rect.y, rect.width, rect.height);
69
81
  }
70
- endRender(ctx, position) {
82
+ endRender(ctx: RenderContenxtType, position: Position): void {
71
83
  //throw new Error("Method not implemented.");
72
84
  }
73
- clone() {
85
+ clone(): RenderObject {
74
86
  const clone = new ValidateRenderObject(this.element);
75
87
  clone.rect = ElementUtil.cloneRect(this.rect);
76
88
  clone.padding = this.padding.clone();
@@ -80,4 +92,3 @@ export class ValidateRenderObject extends CommContentBaseRenderObject {
80
92
  return clone;
81
93
  }
82
94
  }
83
- //# sourceMappingURL=validate-msg-impl.js.map