@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,27 +1,33 @@
1
- import { ElementFactory } from "@/med_editor/framework/element-define";
2
- import { DataEleBaseTextProps } from "@/med_editor/framework/element-props";
3
- import { ElementUtil } from "@/med_editor/framework/element-util";
1
+ import { Element, ElementFactory, SerializeProps, ViewOptions } from "../../element-define";
2
+ import { DataEleBaseTextProps } from "../../element-props";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { RenderObject } from "../../render-define";
4
6
  import { ElementSerialize } from "../../element-serialize";
5
7
  import { TextGroupElement } from "../text/text-impl";
6
8
  import { DataElementInlineGroup, DataElementRenderObject } from "./data-element-base-impl";
7
- export class DataElementText extends DataElementInlineGroup {
9
+
10
+ export class DataElementText extends DataElementInlineGroup<DataEleBaseTextProps> {
8
11
  //props: DataEleBaseTextProps;
9
12
  constructor() {
10
13
  super('data-ele-text');
11
14
  this.props = new DataEleBaseTextProps();
12
15
  }
13
- createRenderObject() {
16
+
17
+ createRenderObject(): RenderObject {
14
18
  return new DataElementTextRenderObject(this);
15
19
  }
16
- serialize(viewOptions) {
20
+
21
+ serialize(viewOptions: ViewOptions): SerializeProps & any {
17
22
  return {
18
23
  type: this.type,
19
24
  props: {
20
25
  ...this.props.getSerializeProps(viewOptions)
21
26
  }
22
- };
27
+ }
23
28
  }
24
- clone(data) {
29
+
30
+ clone(data: boolean): DataElementText {
25
31
  const clone = new DataElementText();
26
32
  this.props.clone(clone.props);
27
33
  if (data) {
@@ -35,7 +41,8 @@ export class DataElementText extends DataElementInlineGroup {
35
41
  }
36
42
  return clone;
37
43
  }
38
- setValue(val) {
44
+
45
+ setValue(val: string): void {
39
46
  if (!this.startDecorate) {
40
47
  return;
41
48
  }
@@ -52,22 +59,26 @@ export class DataElementText extends DataElementInlineGroup {
52
59
  }
53
60
  this.beginMeasure();
54
61
  }
55
- getValue() {
62
+
63
+ getValue(): string {
56
64
  return ElementSerialize.serializeString(this, { all: false });
57
65
  }
58
- validate() {
66
+
67
+ validate(): string {
59
68
  let error = super.validate();
60
69
  if (error) {
61
70
  return error;
62
71
  }
63
72
  return '';
73
+
64
74
  }
65
75
  }
66
- export class DataElementTextRenderObject extends DataElementRenderObject {
67
- constructor(element) {
76
+
77
+ export class DataElementTextRenderObject extends DataElementRenderObject<DataElementText> {
78
+ constructor(element: DataElementText) {
68
79
  super(element);
69
80
  }
70
- clone() {
81
+ clone(): RenderObject {
71
82
  const cloneRender = new DataElementTextRenderObject(this.element);
72
83
  cloneRender.rect = ElementUtil.cloneRect(this.rect);
73
84
  for (let i = 0; i < this.length; i++) {
@@ -75,19 +86,22 @@ export class DataElementTextRenderObject extends DataElementRenderObject {
75
86
  }
76
87
  return cloneRender;
77
88
  }
89
+
78
90
  }
79
- export class DataElementTextFactory extends ElementFactory {
80
- match(type) {
81
- return type === "data-ele-text";
91
+
92
+ export class DataElementTextFactory extends ElementFactory<DataEleBaseTextProps> {
93
+ match(type: string): boolean {
94
+ return type === "data-ele-text"
82
95
  }
83
- createElement(data, renderCtx) {
84
- const props = data.props;
96
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
97
+ const props = data.props as DataEleBaseTextProps;
85
98
  const ele = new DataElementText();
86
99
  this.createDataEleProps(ele.props, props);
87
100
  return ele;
88
101
  }
89
- createDataEleProps(dest, props) {
90
- const dataEleProps = dest;
102
+
103
+ createDataEleProps(dest: DataEleBaseTextProps, props: DataEleBaseTextProps): DataEleBaseTextProps {
104
+ const dataEleProps: DataEleBaseTextProps = dest;
91
105
  ElementUtil.readEleBaseProps(dataEleProps, props);
92
106
  //dataEleProps.id = props.id ?? nanoid(5);
93
107
  //dataEleProps.name = props.name;
@@ -99,5 +113,5 @@ export class DataElementTextFactory extends ElementFactory {
99
113
  dataEleProps.dataType = props.dataType;
100
114
  return dataEleProps;
101
115
  }
116
+
102
117
  }
103
- //# sourceMappingURL=data-element-text-impl.js.map
@@ -1,43 +1,48 @@
1
- import { LeafElement } from "../../element-define";
1
+ import { Element, LeafElement, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { ElementUtil } from "../../element-util";
3
- import { LeafRenderObject } from "../../render-define";
3
+ import { RenderContenxtType } from "../../render-context";
4
+ import { LeafRenderObject, RenderObject } from "../../render-define";
5
+
4
6
  /**
5
7
  * 当前数据元内容长度小于最小长度时,需要当前元素撑开以达到最小长度
6
8
  */
7
9
  export class FillNullSpaceElement extends LeafElement {
8
10
  //需要填充的长度
9
- length;
11
+ length!: number;
10
12
  constructor() {
11
13
  super('fill-null');
12
14
  this.isDecorate = true;
13
15
  this.disableClick = true;
14
16
  }
15
- createRenderObject(options, renderCtx) {
17
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {
16
18
  return new FillNullSpaceRenderObject();
17
19
  }
18
- serialize(viewOptions) {
20
+ serialize(viewOptions: ViewOptions): SerializeProps {
19
21
  throw new Error("Method not implemented.");
20
22
  }
21
- clone(data) {
23
+ clone(data: boolean): Element {
22
24
  //throw new Error("Method not implemented.");
23
25
  return new FillNullSpaceElement();
24
26
  }
27
+
25
28
  }
29
+
30
+
26
31
  export class FillNullSpaceRenderObject extends LeafRenderObject {
27
32
  constructor() {
28
33
  super(null);
29
34
  this.disableClick = true;
30
35
  }
31
- render(ctx, position) {
36
+ render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
32
37
  //throw new Error("Method not implemented.");
33
38
  if (ctx.viewOptions.showDebug) {
34
39
  ctx.contentContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, 'red');
35
40
  }
36
41
  }
37
- clone() {
42
+ clone(): RenderObject {
38
43
  const clone = new FillNullSpaceRenderObject();
39
44
  clone.rect = ElementUtil.cloneRect(this.rect);
40
45
  return clone;
41
46
  }
42
- }
43
- //# sourceMappingURL=fill-null-space-imple.js.map
47
+
48
+ }
@@ -1,10 +1,14 @@
1
- import { BlockContainerElement, ElementFactory } from "@/med_editor/framework/element-define";
2
- import { ElementUtil } from "@/med_editor/framework/element-util";
3
- import { MuiltBlockLineRenderObject } from "@/med_editor/framework/render-define";
1
+ import { BlockContainerElement, Element, ElementFactory, Rect, SerializeProps } from "../../element-define";
2
+ import { MouseElementEvent } from "../../element-event-define";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
4
6
  import { DocumentElement } from "./doc-impl";
7
+
8
+
5
9
  export class DocumentBodyElement extends BlockContainerElement {
6
10
  //当前区域内是否留痕
7
- trackChanges = false;
11
+ trackChanges: boolean = false;
8
12
  constructor() {
9
13
  super('body');
10
14
  //this.editMode = EditMode.Free;
@@ -14,23 +18,26 @@ export class DocumentBodyElement extends BlockContainerElement {
14
18
  }
15
19
  }, true);
16
20
  }
17
- createRenderObject() {
21
+ createRenderObject(): DocumentBodyRenderObject {
18
22
  return new DocumentBodyRenderObject(this);
19
23
  }
20
- serialize() {
24
+
25
+ serialize(): SerializeProps {
21
26
  return {
22
27
  type: 'body',
23
28
  props: {}
24
- };
29
+ }
25
30
  }
26
- switchEditMode(evt) {
31
+
32
+ switchEditMode(evt: MouseElementEvent): void {
27
33
  const docElement = ElementUtil.getParentByType(this, DocumentElement);
28
34
  if (docElement) {
29
35
  docElement.switchPageHeaderEditor(evt.selectionState, this);
30
36
  }
31
37
  return;
32
38
  }
33
- clone(data) {
39
+
40
+ clone(data: boolean): DocumentBodyElement {
34
41
  const clone = new DocumentBodyElement();
35
42
  if (data) {
36
43
  for (let i = 0; i < this.length; i++) {
@@ -39,9 +46,13 @@ export class DocumentBodyElement extends BlockContainerElement {
39
46
  }
40
47
  return clone;
41
48
  }
49
+
50
+
42
51
  }
52
+
53
+
43
54
  export class DocumentBodyRenderObject extends MuiltBlockLineRenderObject {
44
- beginRender(ctx, position) {
55
+ beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
45
56
  //console.log('绘制页内容-begin');
46
57
  if (this.element.disableClick && ctx.drawMode === 'view') {
47
58
  ctx.contentContext.setGlobalAlpha(0.5);
@@ -50,13 +61,14 @@ export class DocumentBodyRenderObject extends MuiltBlockLineRenderObject {
50
61
  ctx.overlaysContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, 'rgb(177,177,177,0.4)');
51
62
  }
52
63
  }
53
- endRender(ctx, position) {
64
+ endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
54
65
  //console.log('绘制页内容-end');
55
66
  if (this.element.disableClick && ctx.drawMode === 'view') {
56
67
  ctx.contentContext.setGlobalAlpha(1);
57
68
  }
58
69
  }
59
- clone(cloneData = true) {
70
+
71
+ clone(cloneData = true): RenderObject {
60
72
  const cloneRender = new DocumentBodyRenderObject(this.element);
61
73
  cloneRender.rect = ElementUtil.cloneRect(this.rect);
62
74
  if (cloneData) {
@@ -66,14 +78,18 @@ export class DocumentBodyRenderObject extends MuiltBlockLineRenderObject {
66
78
  }
67
79
  return cloneRender;
68
80
  }
81
+
69
82
  }
70
- export class DocumentBodyFactory extends ElementFactory {
71
- match(type) {
83
+
84
+
85
+ export class DocumentBodyFactory extends ElementFactory<null> {
86
+ match(type: string): boolean {
72
87
  return type === 'body';
73
88
  }
74
- createElement(data, renderCtx) {
89
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
75
90
  const element = new DocumentBodyElement();
76
91
  return element;
77
92
  }
93
+
78
94
  }
79
- //# sourceMappingURL=doc-body-impl.js.map
95
+
@@ -1,14 +1,16 @@
1
- import { BlockContainerElement, ElementFactory } from "@/med_editor/framework/element-define";
2
- import { ElementUtil } from "@/med_editor/framework/element-util";
3
- import { MuiltBlockLineRenderObject } from "@/med_editor/framework/render-define";
1
+ import { BlockContainerElement, SerializeProps, Element, readElementProps, ElementFactory } from "../../element-define";
2
+ import { ElementUtil } from "../../element-util";
3
+ import { RenderContenxtType } from "../../render-context";
4
+ import { MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
4
5
  import { BodyPartProps } from "../../element-props";
6
+
5
7
  /**
6
8
  * 用于合并病程录,每个part包含每份病程录body
7
9
  * 多个part处于一个body下面
8
10
  */
9
- export class DocumentBodyPartElement extends BlockContainerElement {
11
+ export class DocumentBodyPartElement extends BlockContainerElement<BodyPartProps> {
10
12
  //是否被修改
11
- isModify;
13
+ isModify!: boolean;
12
14
  constructor() {
13
15
  super('body-part');
14
16
  this.addEvent('ElementMousemove', (evt) => {
@@ -29,21 +31,23 @@ export class DocumentBodyPartElement extends BlockContainerElement {
29
31
  });
30
32
  this.props = new BodyPartProps();
31
33
  }
32
- createRenderObject() {
34
+ createRenderObject(): DocumentBodyPartRenderObject {
33
35
  const render = new DocumentBodyPartRenderObject(this);
34
36
  render.margin.top = 10;
35
37
  render.margin.bottom = 10;
36
38
  return render;
37
39
  }
38
- serialize() {
40
+
41
+ serialize(): SerializeProps {
39
42
  return {
40
43
  type: this.type,
41
44
  props: {
42
45
  partId: this.props.partId,
43
46
  }
44
- };
47
+ }
45
48
  }
46
- clone(data) {
49
+
50
+ clone(data: boolean): DocumentBodyPartElement {
47
51
  const clone = new DocumentBodyPartElement();
48
52
  clone.props.partId = this.props.partId;
49
53
  if (data) {
@@ -54,8 +58,10 @@ export class DocumentBodyPartElement extends BlockContainerElement {
54
58
  return clone;
55
59
  }
56
60
  }
61
+
62
+
57
63
  export class DocumentBodyPartRenderObject extends MuiltBlockLineRenderObject {
58
- beginRender(ctx, position) {
64
+ beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
59
65
  //if (ctx.drawMode === 'view' && (this.element.isFocused || this.element.isMouseenter)) {
60
66
  const borderColor = '#002766';
61
67
  ctx.overlaysContext.ctx.save();
@@ -65,9 +71,11 @@ export class DocumentBodyPartRenderObject extends MuiltBlockLineRenderObject {
65
71
  ctx.overlaysContext.ctx.restore();
66
72
  //}
67
73
  }
68
- endRender(ctx, position) {
74
+ endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
75
+
69
76
  }
70
- clone(cloneData = true) {
77
+
78
+ clone(cloneData = true): RenderObject {
71
79
  const cloneRender = new DocumentBodyPartRenderObject(this.element);
72
80
  cloneRender.rect = ElementUtil.cloneRect(this.rect);
73
81
  cloneRender.margin.top = this.margin.top;
@@ -79,16 +87,18 @@ export class DocumentBodyPartRenderObject extends MuiltBlockLineRenderObject {
79
87
  }
80
88
  return cloneRender;
81
89
  }
90
+
82
91
  }
83
- export class DocumentBodyPartFactory extends ElementFactory {
84
- match(type) {
92
+
93
+ export class DocumentBodyPartFactory extends ElementFactory<BodyPartProps>{
94
+ match(type: string): boolean {
85
95
  return type === 'body-part';
86
96
  }
87
- createElement(data, renderCtx) {
97
+ createElement(data: readElementProps<BodyPartProps>, renderCtx: RenderContenxtType): Element<any> {
88
98
  const bodyPart = data.props?.partId || '';
89
99
  const element = new DocumentBodyPartElement();
90
100
  element.props.partId = bodyPart;
91
101
  return element;
92
102
  }
93
- }
94
- //# sourceMappingURL=doc-body-part-impl.js.map
103
+
104
+ }
@@ -0,0 +1,24 @@
1
+ import { RenderContenxtType } from "../../render-context";
2
+ import { BlockContainerRenderObject, RenderObject } from "../../render-define";
3
+ import { DocumentRenderObject } from "./doc-impl";
4
+
5
+ export class DocumentContainerRender extends BlockContainerRenderObject {
6
+ constructor() {
7
+ super(null);
8
+ }
9
+ beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
10
+ //throw new Error("Method not implemented.");
11
+ }
12
+ endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
13
+ //throw new Error("Method not implemented.");
14
+ }
15
+ clone(): RenderObject {
16
+ throw new Error("Method not implemented.");
17
+ }
18
+
19
+ addPages(pages: Array<DocumentRenderObject>): void {
20
+ for (let i = 0; i < pages.length; i++) {
21
+ this.addChild(pages[i]);
22
+ }
23
+ }
24
+ }
@@ -1,6 +1,10 @@
1
- import { BlockContainerElement, ElementFactory } from "@/med_editor/framework/element-define";
2
- import { ElementUtil } from "@/med_editor/framework/element-util";
3
- import { BlockContainerRenderObject } from "@/med_editor/framework/render-define";
1
+ import { BlockContainerElement, Element, ElementFactory, Rect, SerializeProps } from "../../element-define";
2
+ import { MouseElementEvent } from "../../element-event-define";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { BlockContainerRenderObject, RenderObject } from "../../render-define";
6
+ import { DocumentElement } from "./doc-impl";
7
+
4
8
  export class DocumentFooterElement extends BlockContainerElement {
5
9
  constructor() {
6
10
  super('footer');
@@ -10,7 +14,7 @@ export class DocumentFooterElement extends BlockContainerElement {
10
14
  this.switchEditMode(evt);
11
15
  }, true);
12
16
  }
13
- clone(data) {
17
+ clone(data: boolean): Element {
14
18
  const clone = new DocumentFooterElement();
15
19
  if (data) {
16
20
  for (let i = 0; i < this.length; i++) {
@@ -19,43 +23,48 @@ export class DocumentFooterElement extends BlockContainerElement {
19
23
  }
20
24
  return clone;
21
25
  }
22
- switchEditMode(evt) {
23
- const docElement = this.parent;
26
+
27
+ switchEditMode(evt: MouseElementEvent): void {
28
+ const docElement = this.parent as DocumentElement;
24
29
  docElement.switchPageHeaderEditor(evt.selectionState, this);
25
30
  return;
26
31
  }
27
- createRenderObject() {
32
+
33
+ createRenderObject(): DocumentFooterRenderObject {
28
34
  const renderObject = new DocumentFooterRenderObject(this);
29
35
  return renderObject;
30
36
  }
31
- serialize() {
37
+
38
+ serialize(): SerializeProps {
32
39
  return {
33
40
  type: 'footer',
34
41
  props: {}
35
- };
42
+ }
36
43
  }
37
44
  }
45
+
38
46
  export class DocumentFooterRenderObject extends BlockContainerRenderObject {
39
- beginRender(ctx, position) {
47
+ beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
40
48
  //判断页眉是否为输入内容
41
49
  const isFooterEmpty = ElementUtil.checkEmptyContent(this);
42
50
  if (this.element.disableClick && ctx.drawMode === 'view') {
43
51
  if (isFooterEmpty) {
44
52
  ctx.contentContext.setGlobalAlpha(0);
45
53
  return;
46
- }
47
- else {
54
+ } else {
48
55
  ctx.contentContext.setGlobalAlpha(0.5);
49
56
  }
50
57
  }
51
58
  }
52
- endRender(ctx, position) {
59
+
60
+ endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
53
61
  ctx.contentContext.setGlobalAlpha(1);
54
62
  if (ctx.viewOptions.showDebug) {
55
- ctx.overlaysContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, 'rgb(122,122,122,0.4)');
63
+ ctx.overlaysContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, 'rgb(122,122,122,0.4)')
56
64
  }
57
65
  }
58
- clone() {
66
+
67
+ clone(): RenderObject {
59
68
  const cloneRender = new DocumentFooterRenderObject(this.element);
60
69
  cloneRender.rect = ElementUtil.cloneRect(this.rect);
61
70
  for (let i = 0; i < this.length; i++) {
@@ -64,14 +73,16 @@ export class DocumentFooterRenderObject extends BlockContainerRenderObject {
64
73
  return cloneRender;
65
74
  }
66
75
  }
67
- export class DocumentFooterFactory extends ElementFactory {
68
- match(type) {
76
+
77
+
78
+ export class DocumentFooterFactory extends ElementFactory<null> {
79
+ match(type: string): boolean {
69
80
  return type === 'footer';
70
81
  }
71
- createElement(data, renderCtx) {
82
+
83
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
72
84
  const element = new DocumentFooterElement();
73
85
  //element.renderCtx = renderCtx;
74
86
  return element;
75
87
  }
76
88
  }
77
- //# sourceMappingURL=doc-footer-impl.js.map
@@ -1,6 +1,10 @@
1
- import { BlockContainerElement, ElementFactory } from "@/med_editor/framework/element-define";
2
- import { ElementUtil } from "@/med_editor/framework/element-util";
3
- import { BlockContainerRenderObject } from "@/med_editor/framework/render-define";
1
+ import { BlockContainerElement, Element, ElementFactory, SerializeProps } from "../../element-define";
2
+ import { MouseElementEvent } from "../../element-event-define";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { RenderContenxtType } from "../../render-context";
5
+ import { BlockContainerRenderObject, RenderObject } from "../../render-define";
6
+ import { DocumentElement } from "./doc-impl";
7
+
4
8
  export class DocumentHeaderElement extends BlockContainerElement {
5
9
  constructor() {
6
10
  super('header');
@@ -10,7 +14,8 @@ export class DocumentHeaderElement extends BlockContainerElement {
10
14
  //this.editMode = EditMode.Disabled;
11
15
  this.disableClick = true;
12
16
  }
13
- clone(data) {
17
+
18
+ clone(data: boolean): Element {
14
19
  const clone = new DocumentHeaderElement();
15
20
  if (data) {
16
21
  for (let i = 0; i < this.length; i++) {
@@ -19,24 +24,31 @@ export class DocumentHeaderElement extends BlockContainerElement {
19
24
  }
20
25
  return clone;
21
26
  }
22
- switchEditMode(evt) {
23
- const docElement = this.parent;
27
+
28
+ switchEditMode(evt: MouseElementEvent): void {
29
+ const docElement = this.parent as DocumentElement;
24
30
  docElement.switchPageHeaderEditor(evt.selectionState, this);
25
31
  return;
26
32
  }
27
- createRenderObject() {
33
+
34
+
35
+ createRenderObject(): DocumentHeaderRenderObject {
28
36
  const renderObject = new DocumentHeaderRenderObject(this);
29
37
  return renderObject;
30
38
  }
31
- serialize() {
39
+
40
+ serialize(): SerializeProps {
32
41
  return {
33
42
  type: 'header',
34
43
  props: {}
35
- };
44
+ }
36
45
  }
46
+
37
47
  }
48
+
49
+
38
50
  export class DocumentHeaderRenderObject extends BlockContainerRenderObject {
39
- beginRender(ctx, position) {
51
+ beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
40
52
  //判断页眉是否为输入内容
41
53
  const isHeaderEmpty = ElementUtil.checkEmptyContent(this);
42
54
  //存在输入内容时,绘制页眉-页体分割线
@@ -52,16 +64,19 @@ export class DocumentHeaderRenderObject extends BlockContainerRenderObject {
52
64
  ctx.contentContext.setGlobalAlpha(0.7);
53
65
  }
54
66
  }
55
- endRender(ctx, position) {
67
+
68
+
69
+ endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
56
70
  //console.log('绘制页头-end');
57
71
  if (this.element.disableClick && ctx.drawMode === 'view') {
58
72
  ctx.contentContext.setGlobalAlpha(1);
59
73
  }
60
74
  if (ctx.viewOptions.showDebug) {
61
- ctx.overlaysContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, 'rgb(122,122,122,0.4)');
75
+ ctx.overlaysContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, 'rgb(122,122,122,0.4)')
62
76
  }
63
77
  }
64
- clone() {
78
+
79
+ clone(): RenderObject {
65
80
  const cloneRender = new DocumentHeaderRenderObject(this.element);
66
81
  cloneRender.rect = ElementUtil.cloneRect(this.rect);
67
82
  for (let i = 0; i < this.length; i++) {
@@ -70,14 +85,16 @@ export class DocumentHeaderRenderObject extends BlockContainerRenderObject {
70
85
  return cloneRender;
71
86
  }
72
87
  }
73
- export class DocumentHeaderFactory extends ElementFactory {
74
- match(type) {
88
+
89
+
90
+ export class DocumentHeaderFactory extends ElementFactory<null> {
91
+ match(type: string): boolean {
75
92
  return type === 'header';
76
93
  }
77
- createElement(data, renderCtx) {
94
+
95
+ createElement(data: any, renderCtx: RenderContenxtType): Element {
78
96
  const element = new DocumentHeaderElement();
79
97
  //element.renderCtx = renderCtx;
80
98
  return element;
81
99
  }
82
100
  }
83
- //# sourceMappingURL=doc-header-impl.js.map