@hailin-zheng/editor-core 1.0.7 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/package.json +3 -4
  2. package/{lib/doc-ruler.js → src/med_editor/doc-ruler.ts} +101 -74
  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} +308 -259
  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} +116 -85
  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} +44 -38
  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} +39 -31
  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} +27 -20
  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} +23 -20
  32. package/{lib/framework/impl/comments/comments-container-impl.js → src/med_editor/framework/impl/comments/comments-container-impl.ts} +22 -16
  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} +28 -17
  35. package/{lib/framework/impl/data-element/data-decorate-impl.js → src/med_editor/framework/impl/data-element/data-decorate-impl.ts} +26 -22
  36. package/{lib/framework/impl/data-element/data-element-barcode.js → src/med_editor/framework/impl/data-element/data-element-barcode.ts} +41 -29
  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} +48 -35
  39. package/{lib/framework/impl/data-element/data-element-date-impl.js → src/med_editor/framework/impl/data-element/data-element-date-impl.ts} +41 -24
  40. package/{lib/framework/impl/data-element/data-element-group-impl.js → src/med_editor/framework/impl/data-element/data-element-group-impl.ts} +52 -32
  41. package/{lib/framework/impl/data-element/data-element-image-impl.js → src/med_editor/framework/impl/data-element/data-element-image-impl.ts} +38 -28
  42. package/{lib/framework/impl/data-element/data-element-list-impl.js → src/med_editor/framework/impl/data-element/data-element-list-impl.ts} +42 -31
  43. package/{lib/framework/impl/data-element/data-element-text-impl.js → src/med_editor/framework/impl/data-element/data-element-text-impl.ts} +36 -22
  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} +32 -16
  46. package/{lib/framework/impl/document/doc-body-part-impl.js → src/med_editor/framework/impl/document/doc-body-part-impl.ts} +27 -17
  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} +30 -19
  49. package/{lib/framework/impl/document/doc-header-impl.js → src/med_editor/framework/impl/document/doc-header-impl.ts} +34 -17
  50. package/{lib/framework/impl/document/doc-impl.js → src/med_editor/framework/impl/document/doc-impl.ts} +62 -45
  51. package/{lib/framework/impl/media-formula/menstrual-history.js → src/med_editor/framework/impl/media-formula/menstrual-history.ts} +58 -36
  52. package/{lib/framework/impl/paragraph/p-impl.js → src/med_editor/framework/impl/paragraph/p-impl.ts} +64 -30
  53. package/{lib/framework/impl/picture/image-impl.js → src/med_editor/framework/impl/picture/image-impl.ts} +37 -25
  54. package/{lib/framework/impl/radio/radio-impl.js → src/med_editor/framework/impl/radio/radio-impl.ts} +28 -21
  55. package/{lib/framework/impl/symbol/br-symbol-impl.js → src/med_editor/framework/impl/symbol/br-symbol-impl.ts} +21 -15
  56. package/{lib/framework/impl/symbol/p-symbol-impl.js → src/med_editor/framework/impl/symbol/p-symbol-impl.ts} +15 -12
  57. package/{lib/framework/impl/table/table-cell-impl.js → src/med_editor/framework/impl/table/table-cell-impl.ts} +41 -30
  58. package/{lib/framework/impl/table/table-impl.js → src/med_editor/framework/impl/table/table-impl.ts} +122 -84
  59. package/{lib/framework/impl/table/table-row-impl.js → src/med_editor/framework/impl/table/table-row-impl.ts} +26 -18
  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} +197 -159
  63. package/{lib/framework/impl/text/text-impl.js → src/med_editor/framework/impl/text/text-impl.ts} +49 -35
  64. package/{lib/framework/impl/text/track-run-impl.js → src/med_editor/framework/impl/text/track-run-impl.ts} +53 -30
  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} +288 -191
  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 -99
  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
  237. package/tsconfig.json +0 -25
@@ -1,37 +1,45 @@
1
- import { ElementFactory, LeafElement, ResizeLeafRenderObject } from "@/med_editor/framework/element-define";
2
- import { PictureProps } from "@/med_editor/framework/element-props";
3
- import { ElementUtil } from "@/med_editor/framework/element-util";
4
- export class PictureElement extends LeafElement {
1
+ import { Element, ElementFactory, ImgLoadStatus, LeafElement, Position, ResizeLeafRenderObject, SerializeProps, ViewOptions } from "../../element-define";
2
+ import { PictureProps } from "../../element-props";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { LeafRenderObject, RenderObject } from "../../render-define";
6
+
7
+
8
+ interface IResizeElement {
9
+ resizeable: boolean;
10
+ }
11
+ export class PictureElement extends LeafElement<PictureProps> implements IResizeElement {
5
12
  //props: PictureProps;
6
- status = 'no';
7
- resizeable = true;
13
+ status: ImgLoadStatus = 'no';
14
+ resizeable: boolean = true;
8
15
  constructor() {
9
16
  super('img');
10
17
  this.props = new PictureProps();
11
18
  //this.addPropValueChangedSub(this.props);
12
- this.cursorType = 'move';
19
+ this.cursorType = 'move'
13
20
  this.focusable = true;
14
21
  }
15
- createRenderObject() {
22
+ createRenderObject(): LeafRenderObject {
16
23
  const render = new PictureRenderObject(this);
17
24
  render.rect.width = this.props.width + 2;
18
25
  render.rect.height = this.props.height + 2;
19
26
  return render;
20
27
  }
21
- serialize(options) {
28
+ serialize(options: ViewOptions): SerializeProps {
22
29
  return {
23
30
  type: 'img',
24
31
  props: {
25
32
  ...this.props.getSerializeProps(options)
26
33
  }
27
- };
34
+ }
28
35
  }
29
- clone(data) {
36
+ clone(data: boolean): Element {
30
37
  const clone = new PictureElement();
31
38
  this.props.clone(clone.props);
32
39
  return clone;
33
40
  }
34
- loadImage(ctx) {
41
+
42
+ loadImage(ctx: RenderContenxtType): void {
35
43
  if (this.status === 'no') {
36
44
  this.status = 'loading';
37
45
  //this.imageSource = new Image();
@@ -44,22 +52,23 @@ export class PictureElement extends LeafElement {
44
52
  // this.isLoad = 'error';
45
53
  // console.error(e);
46
54
  // };
47
- const onCallback = (status) => {
55
+ const onCallback = (status: ImgLoadStatus) => {
48
56
  this.status = status;
49
57
  if (status === 'completed') {
50
58
  this.refreshView();
51
59
  }
52
- };
60
+ }
53
61
  ctx.docCtx.imageLoader.loadImage(this.props.src, onCallback);
54
62
  }
55
63
  }
56
- destroy() {
64
+ destroy(): void {
57
65
  super.destroy();
58
66
  }
59
67
  }
68
+
60
69
  export class PictureRenderObject extends ResizeLeafRenderObject {
61
- render(ctx, position) {
62
- const picElement = this.element;
70
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
71
+ const picElement = this.element as PictureElement;
63
72
  const picProps = picElement.props;
64
73
  if (picElement.status === 'no') {
65
74
  picElement.loadImage(ctx);
@@ -76,12 +85,13 @@ export class PictureRenderObject extends ResizeLeafRenderObject {
76
85
  ctx.contentContext.drawImage(imageSource, 0, 0, imageSource.naturalWidth, imageSource.naturalHeight, position.x + 2, position.y + 2, picProps.width, picProps.height);
77
86
  }
78
87
  }
79
- clone() {
88
+ clone(): RenderObject {
80
89
  const clone = new PictureRenderObject(this.element);
81
90
  clone.rect = ElementUtil.cloneRect(this.rect);
82
91
  return clone;
83
92
  }
84
- pagePaintCompleted(ctx, pos) {
93
+
94
+ pagePaintCompleted(ctx: RenderContenxtType, pos: Position): void {
85
95
  if (this.element.isFocused) {
86
96
  const { width, height } = this.rect;
87
97
  ctx.contentContext.strokeRect(pos.x, pos.y, width, height, '#1890ff', 0.5);
@@ -95,7 +105,8 @@ export class PictureRenderObject extends ResizeLeafRenderObject {
95
105
  this.drawResizeCircle(ctx, pos.x + width, pos.y + (Math.floor(height / 2)));
96
106
  }
97
107
  }
98
- drawResizeCircle(ctx, x, y) {
108
+
109
+ private drawResizeCircle(ctx: RenderContenxtType, x: number, y: number): void {
99
110
  const ctxNative = ctx.contentContext.ctx;
100
111
  ctxNative.fillStyle = '#69c0ff';
101
112
  ctxNative.beginPath();
@@ -104,12 +115,14 @@ export class PictureRenderObject extends ResizeLeafRenderObject {
104
115
  ctxNative.fill();
105
116
  }
106
117
  }
107
- export class PictureFactory extends ElementFactory {
108
- match(type) {
118
+
119
+
120
+ export class PictureFactory extends ElementFactory<PictureProps> {
121
+ match(type: string): boolean {
109
122
  return type === 'img';
110
123
  }
111
- createElement(data, renderCtx) {
112
- const props = data.props;
124
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
125
+ const props = data.props as PictureProps;
113
126
  const pic = new PictureElement();
114
127
  const picProps = pic.props;
115
128
  picProps.width = props.width;
@@ -121,4 +134,3 @@ export class PictureFactory extends ElementFactory {
121
134
  return pic;
122
135
  }
123
136
  }
124
- //# sourceMappingURL=image-impl.js.map
@@ -1,26 +1,29 @@
1
- import { ElementFactory, LeafElement } from "@/med_editor/framework/element-define";
2
- import { RadioBoxProps } from "@/med_editor/framework/element-props";
3
- import { ElementUtil } from "@/med_editor/framework/element-util";
4
- import { LeafRenderObject } from "@/med_editor/framework/render-define";
5
- export class RadioBoxElement extends LeafElement {
1
+ import { ElementFactory, LeafElement, SerializeProps } from "../../element-define";
2
+ import { RadioBoxProps } from "../../element-props";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { LeafRenderObject, RenderObject } from "../../render-define";
6
+
7
+ export class RadioBoxElement extends LeafElement<RadioBoxProps> {
6
8
  //props: RadioBoxProps;
7
9
  constructor() {
8
10
  super('rd');
9
11
  this.props = new RadioBoxProps();
10
12
  //this.addPropValueChangedSub(this.props);
11
- this.cursorType = 'default';
12
- this.addEvent('ElementClick', (evt) => { this.changeState(); });
13
+ this.cursorType = 'default'
14
+ this.addEvent('ElementClick', (evt) => { this.changeState() });
13
15
  }
14
- createRenderObject() {
16
+ createRenderObject(): RadioBoxRenderObject {
15
17
  const render = new RadioBoxRenderObject(this);
16
18
  render.rect.width = this.props.size + 4;
17
19
  render.rect.height = this.props.size;
18
20
  return render;
19
21
  }
20
- changeState() {
22
+
23
+ changeState(): void {
21
24
  const parent = this.parent;
22
25
  if (!parent) {
23
- throw new Error('parent is null');
26
+ throw new Error('parent is null')
24
27
  }
25
28
  for (let i = 0; i < parent.length; i++) {
26
29
  const child = parent.getChild(i);
@@ -30,27 +33,28 @@ export class RadioBoxElement extends LeafElement {
30
33
  }
31
34
  this.props.isChecked = true;
32
35
  }
33
- serialize() {
36
+ serialize(): SerializeProps {
34
37
  return {
35
38
  type: 'rd',
36
39
  props: {
37
40
  ...this.props
38
41
  }
39
- };
42
+ }
40
43
  }
41
- clone() {
44
+ clone(): RadioBoxElement {
42
45
  const clone = new RadioBoxElement();
43
46
  this.props.clone(clone.props);
44
47
  return clone;
45
48
  }
46
49
  }
47
- export class RadioBoxFactory extends ElementFactory {
48
- match(type) {
50
+
51
+ export class RadioBoxFactory extends ElementFactory<RadioBoxProps> {
52
+ match(type: string): boolean {
49
53
  return type === 'rd';
50
54
  }
51
- createElement(data, renderCtx) {
55
+ createElement(data: any, renderCtx: RenderContenxtType): RadioBoxElement {
52
56
  const rdElement = new RadioBoxElement();
53
- const props = data.props;
57
+ const props = data.props as RadioBoxProps;
54
58
  const ckbProps = rdElement.props;
55
59
  ckbProps.size = props.size ?? 14;
56
60
  ckbProps.isChecked = props.isChecked;
@@ -58,15 +62,18 @@ export class RadioBoxFactory extends ElementFactory {
58
62
  return rdElement;
59
63
  }
60
64
  }
65
+
61
66
  export class RadioBoxRenderObject extends LeafRenderObject {
62
- render(ctx, position) {
63
- const element = this.element;
67
+
68
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
69
+ const element = this.element as RadioBoxElement;
64
70
  ctx.contentContext.drawRadioBox(position.x + 2, position.y, element.props.size, element.props.size, element.props.isChecked);
65
71
  }
66
- clone(cloneData = true) {
72
+
73
+ clone(cloneData = true): RenderObject {
67
74
  const clone = new RadioBoxRenderObject(this.element);
68
75
  clone.rect = ElementUtil.cloneRect(this.rect);
69
76
  return clone;
70
77
  }
78
+
71
79
  }
72
- //# sourceMappingURL=radio-impl.js.map
@@ -1,9 +1,11 @@
1
- import { ElementFactory, LeafElement } from "@/med_editor/framework/element-define";
2
- import { ElementUtil } from "@/med_editor/framework/element-util";
3
- import { LeafRenderObject } from "@/med_editor/framework/render-define";
1
+ import { Element, ElementFactory, LeafElement, SerializeProps } from "../../element-define";
2
+ import { ElementUtil } from "../../element-util";
3
+ import { RenderContenxtType } from "../../render-context";
4
+ import { LeafRenderObject, RenderObject } from "../../render-define";
4
5
  import { TextProps } from "../../element-props";
6
+
5
7
  export class BreakElement extends LeafElement {
6
- textProps;
8
+ textProps: TextProps;
7
9
  constructor() {
8
10
  super('br');
9
11
  this.textProps = new TextProps();
@@ -11,44 +13,48 @@ export class BreakElement extends LeafElement {
11
13
  this.textProps.fontName = '宋体';
12
14
  this.textProps.color = '#595959';
13
15
  }
14
- createRenderObject() {
16
+ createRenderObject(): LeafRenderObject {
15
17
  const symbol = new BreakRenderObject(this);
16
18
  symbol.rect.height = 14;
17
19
  symbol.rect.width = 7;
18
20
  return symbol;
19
21
  }
20
- serialize() {
22
+ serialize(): SerializeProps {
21
23
  return {
22
24
  type: 'br',
23
25
  props: {}
24
- };
26
+ }
25
27
  }
26
- clone() {
28
+ clone(): Element {
27
29
  const clone = new BreakElement();
28
30
  //clone.renderCtx = this.renderCtx;
29
31
  return clone;
30
32
  }
33
+
31
34
  }
32
- export class BreakRenderObject extends LeafRenderObject {
33
- render(ctx, position) {
35
+
36
+ export class BreakRenderObject extends LeafRenderObject<BreakElement> {
37
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
34
38
  if (ctx.drawMode === 'print') {
35
39
  return;
36
40
  }
37
41
  ctx.contentContext.drawText('↓', this.element.textProps, position.x, position.y, 20, this.rect.height);
38
42
  }
39
- clone() {
43
+ clone(): RenderObject {
40
44
  const render = new BreakRenderObject(this.element);
41
45
  render.rect = ElementUtil.cloneRect(this.rect);
42
46
  return render;
43
47
  }
44
48
  }
45
- export class BreakFactory extends ElementFactory {
46
- match(type) {
49
+
50
+ export class BreakFactory extends ElementFactory<null> {
51
+ match(type: string): boolean {
47
52
  return type === 'br';
48
53
  }
49
- createElement(data, renderCtx) {
54
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
50
55
  const ele = new BreakElement();
51
56
  return ele;
52
57
  }
58
+
53
59
  }
54
- //# sourceMappingURL=br-symbol-impl.js.map
60
+
@@ -1,9 +1,10 @@
1
- import { LeafElement } from "@/med_editor/framework/element-define";
2
- import { ElementUtil } from "@/med_editor/framework/element-util";
3
- import { LeafRenderObject } from "@/med_editor/framework/render-define";
1
+ import { Element, LeafElement, SerializeProps } from "../../element-define";
2
+ import { ElementUtil } from "../../element-util";
3
+ import { RenderContenxtType } from "../../render-context";
4
+ import { LeafRenderObject, RenderObject } from "../../render-define";
4
5
  import { TextProps } from "../../element-props";
5
6
  export class PSymbolElement extends LeafElement {
6
- textProps;
7
+ textProps: TextProps;
7
8
  defaultHeight = 14;
8
9
  constructor() {
9
10
  super('psym');
@@ -17,38 +18,40 @@ export class PSymbolElement extends LeafElement {
17
18
  evt.selectionState.resetRange(this, 0);
18
19
  }
19
20
  }
20
- });
21
+ })
21
22
  this.textProps = new TextProps();
22
23
  this.textProps.fontSize = this.defaultHeight;
23
24
  this.textProps.fontName = '宋体';
24
25
  this.textProps.color = '#8c8c8c';
25
26
  }
26
- createRenderObject() {
27
+ createRenderObject(): LeafRenderObject {
27
28
  const symbol = new PSymbolRenderObject(this);
28
29
  symbol.rect.height = this.defaultHeight;
29
30
  symbol.rect.width = 7;
30
31
  return symbol;
31
32
  }
32
- serialize() {
33
+ serialize(): SerializeProps | null {
33
34
  return null;
34
35
  }
35
- clone() {
36
+ clone(): Element {
36
37
  const clone = new PSymbolElement();
37
38
  return clone;
38
39
  }
39
40
  }
40
- export class PSymbolRenderObject extends LeafRenderObject {
41
- render(ctx, position) {
41
+
42
+ export class PSymbolRenderObject extends LeafRenderObject<PSymbolElement> {
43
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
42
44
  if (ctx.drawMode === 'print') {
43
45
  return;
44
46
  }
45
47
  ctx.contentContext.drawText('⤶', this.element.textProps, position.x, position.y, 20, this.rect.height);
46
48
  }
47
49
  //绘制段落符号
48
- clone() {
50
+ clone(): RenderObject {
49
51
  const render = new PSymbolRenderObject(this.element);
50
52
  render.rect = ElementUtil.cloneRect(this.rect);
51
53
  return render;
52
54
  }
55
+
53
56
  }
54
- //# sourceMappingURL=p-symbol-impl.js.map
57
+
@@ -1,26 +1,32 @@
1
- import { BlockContainerElement, ElementFactory, PaddingProps } from "@/med_editor/framework/element-define";
2
- import { TableCellProps } from "@/med_editor/framework/element-props";
3
- import { ElementUtil } from "@/med_editor/framework/element-util";
4
- import { InlineMuiltBlockLineRenderObject } from "@/med_editor/framework/render-define";
5
- export class TableCellElement extends BlockContainerElement {
1
+ import { BlockContainerElement, Element, ElementFactory, PaddingProps, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
+ import { TableCellProps } from "../../element-props";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { InlineMuiltBlockLineRenderObject, RenderObject } from "../../render-define";
6
+ import { TableElement } from "./table-impl";
7
+
8
+ export class TableCellElement extends BlockContainerElement<TableCellProps> {
6
9
  //props: TableCellProps;
7
10
  constructor() {
8
11
  super('tbc');
9
12
  this.props = new TableCellProps();
10
13
  //this.addPropValueChangedSub(this.props);
11
14
  }
12
- beginMeasure() {
15
+
16
+ beginMeasure(): void {
13
17
  super.beginMeasure();
14
18
  this.disableClick = !this.isNotBeMergedCell();
15
19
  }
20
+
16
21
  /**
17
22
  * 不被合并单元格的单元格
18
- * @returns
23
+ * @returns
19
24
  */
20
- isNotBeMergedCell() {
25
+ isNotBeMergedCell(): boolean {
21
26
  return this.props.hMerge !== 'continue' && this.props.vMerge !== 'continue';
22
27
  }
23
- createRenderObject() {
28
+
29
+ createRenderObject(): RenderObject | null {
24
30
  if (!this.isNotBeMergedCell()) {
25
31
  return null;
26
32
  }
@@ -32,7 +38,7 @@ export class TableCellElement extends BlockContainerElement {
32
38
  cellRender.rect.x = cellOffset;
33
39
  return cellRender;
34
40
  }
35
- serialize(options) {
41
+ serialize(options: ViewOptions): SerializeProps {
36
42
  return {
37
43
  type: 'tbc',
38
44
  props: {
@@ -40,7 +46,7 @@ export class TableCellElement extends BlockContainerElement {
40
46
  }
41
47
  };
42
48
  }
43
- clone(data) {
49
+ clone(data: boolean): Element {
44
50
  const clone = new TableCellElement();
45
51
  this.props.clone(clone.props);
46
52
  if (data) {
@@ -50,72 +56,76 @@ export class TableCellElement extends BlockContainerElement {
50
56
  }
51
57
  return clone;
52
58
  }
53
- getCellWidth() {
59
+ getCellWidth(): { cellWidth: number, cellOffset: number } {
54
60
  const row = this.parent;
55
61
  if (!row) {
56
62
  throw new Error('row is null');
57
63
  }
58
- const table = row.parent;
64
+ const table = row.parent as TableElement;
59
65
  const cellIndex = row.getChildIndex(this);
60
66
  let cellWidth = table.getCellWidth(cellIndex);
61
67
  const cellOffset = table.getCellOffsetX(cellIndex);
62
68
  if (this.props.hMerge === 'restart') {
63
69
  for (let i = cellIndex + 1; i < table.getColsCount(); i++) {
64
- const nextCell = row.getChild(i);
70
+ const nextCell = row.getChild(i) as TableCellElement;
65
71
  if (nextCell.props.hMerge === 'continue') {
66
72
  cellWidth += table.getCellWidth(i);
67
- }
68
- else {
73
+ } else {
69
74
  break;
70
75
  }
71
76
  }
72
77
  }
73
78
  return { cellWidth, cellOffset };
74
79
  }
75
- static createCell() {
80
+
81
+ static createCell(): TableCellElement {
76
82
  const tc = new TableCellElement();
77
83
  return tc;
78
84
  }
85
+
79
86
  }
87
+
80
88
  export class TableCellRenderObject extends InlineMuiltBlockLineRenderObject {
81
- prevGlobalAlpha = 1;
82
- beginRender(ctx, position) {
89
+ private prevGlobalAlpha = 1;
90
+ beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
83
91
  ctx.contentContext.clip(position.x, position.y, this.rect.width, this.rect.height);
84
- const { hMerge, vMerge, backgroundColor, diagonal } = this.element.props;
92
+ const { hMerge, vMerge, backgroundColor, diagonal } = (<TableCellElement>this.element).props;
85
93
  if (hMerge === 'continue' || vMerge === 'continue') {
86
94
  this.prevGlobalAlpha = ctx.contentContext.getGlobalAlpha();
87
95
  ctx.contentContext.setGlobalAlpha(0);
88
96
  ctx.overlaysContext.setGlobalAlpha(0);
89
97
  }
90
98
  if (backgroundColor && this.rect.width && this.rect.height) {
91
- ctx.contentContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, backgroundColor);
99
+ ctx.contentContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, backgroundColor)
92
100
  }
93
101
  if (diagonal && this.rect.width && this.rect.height) {
94
102
  let diagonalStartX = diagonal === 'main' ? position.x : position.x + this.rect.width;
95
103
  let diagonalStartY = position.y;
96
104
  let diagonalEndX = diagonal === 'main' ? position.x + this.rect.width : position.x;
97
105
  let diagonalEndY = position.y + this.rect.height;
98
- ctx.contentContext.strokeLines([{ x: diagonalStartX, y: diagonalStartY }, { x: diagonalEndX, y: diagonalEndY }]);
106
+ ctx.contentContext.strokeLines([{ x: diagonalStartX, y: diagonalStartY }, { x: diagonalEndX, y: diagonalEndY }])
99
107
  }
100
108
  }
101
- endRender(ctx, position) {
109
+
110
+ endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
102
111
  ctx.contentContext.ctx.restore();
103
112
  if (!this.element.parent) {
104
113
  throw new Error('parent is null');
105
114
  }
106
- const tb = this.element.parent.parent;
115
+ const tb = this.element.parent.parent as TableElement;
107
116
  const tbProps = tb.props;
108
117
  if (tbProps.border === 'all') {
109
118
  //ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, '#000', 1);
110
119
  //ctx.contentContext.roundRect(position.x, position.y, this.rect.width, this.rect.height, 5, false, true);
111
120
  }
112
- const { hMerge, vMerge } = this.element.props;
121
+ const { hMerge, vMerge } = (<TableCellElement>this.element).props;
113
122
  if (hMerge === 'continue' || vMerge === 'continue') {
114
123
  ctx.contentContext.setGlobalAlpha(1);
115
124
  ctx.overlaysContext.setGlobalAlpha(1);
116
125
  }
117
126
  }
118
- clone() {
127
+
128
+ clone(): RenderObject {
119
129
  const cloneRender = new TableCellRenderObject(this.element);
120
130
  cloneRender.rect = ElementUtil.cloneRect(this.rect);
121
131
  cloneRender.padding = this.padding?.clone();
@@ -126,11 +136,12 @@ export class TableCellRenderObject extends InlineMuiltBlockLineRenderObject {
126
136
  return cloneRender;
127
137
  }
128
138
  }
129
- export class TableCellFactory extends ElementFactory {
130
- match(type) {
139
+
140
+ export class TableCellFactory extends ElementFactory<TableCellProps> {
141
+ match(type: string): boolean {
131
142
  return type === 'tbc';
132
143
  }
133
- createElement(data, renderCtx) {
144
+ createElement(data: readElementProps<TableCellProps>, renderCtx: RenderContenxtType): Element {
134
145
  const tc = new TableCellElement();
135
146
  const props = data.props;
136
147
  tc.props.vMerge = props?.vMerge ?? null;
@@ -141,5 +152,5 @@ export class TableCellFactory extends ElementFactory {
141
152
  //tc.renderCtx = renderCtx;
142
153
  return tc;
143
154
  }
155
+
144
156
  }
145
- //# sourceMappingURL=table-cell-impl.js.map