@hailin-zheng/editor-core 1.0.9 → 1.0.13

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/lib/doc-ruler.d.ts +51 -0
  2. package/{src/med_editor/doc-ruler.ts → lib/doc-ruler.js} +73 -100
  3. package/lib/doc-ruler.js.map +1 -0
  4. package/lib/framework/common-util.d.ts +63 -0
  5. package/lib/framework/common-util.js +178 -0
  6. package/lib/framework/common-util.js.map +1 -0
  7. package/lib/framework/document-change.d.ts +265 -0
  8. package/{src/med_editor/framework/document-change.ts → lib/framework/document-change.js} +257 -306
  9. package/lib/framework/document-change.js.map +1 -0
  10. package/lib/framework/document-combine.d.ts +24 -0
  11. package/{src/med_editor/framework/document-combine.ts → lib/framework/document-combine.js} +11 -15
  12. package/lib/framework/document-combine.js.map +1 -0
  13. package/lib/framework/document-comment.d.ts +46 -0
  14. package/{src/med_editor/framework/document-comment.ts → lib/framework/document-comment.js} +37 -52
  15. package/lib/framework/document-comment.js.map +1 -0
  16. package/lib/framework/document-context.d.ts +149 -0
  17. package/{src/med_editor/framework/document-context.ts → lib/framework/document-context.js} +101 -181
  18. package/lib/framework/document-context.js.map +1 -0
  19. package/lib/framework/document-eval-func.d.ts +18 -0
  20. package/{src/med_editor/framework/document-eval-func.ts → lib/framework/document-eval-func.js} +11 -16
  21. package/lib/framework/document-eval-func.js.map +1 -0
  22. package/lib/framework/document-event.d.ts +213 -0
  23. package/{src/med_editor/framework/document-event.ts → lib/framework/document-event.js} +216 -244
  24. package/lib/framework/document-event.js.map +1 -0
  25. package/lib/framework/document-history.d.ts +26 -0
  26. package/{src/med_editor/framework/document-history.ts → lib/framework/document-history.js} +14 -25
  27. package/lib/framework/document-history.js.map +1 -0
  28. package/lib/framework/document-images-loader.d.ts +16 -0
  29. package/{src/med_editor/framework/document-images-loader.ts → lib/framework/document-images-loader.js} +17 -25
  30. package/lib/framework/document-images-loader.js.map +1 -0
  31. package/lib/framework/document-input-cursor.d.ts +78 -0
  32. package/{src/med_editor/framework/document-input-cursor.ts → lib/framework/document-input-cursor.js} +71 -76
  33. package/lib/framework/document-input-cursor.js.map +1 -0
  34. package/lib/framework/document-paint.d.ts +34 -0
  35. package/{src/med_editor/framework/document-paint.ts → lib/framework/document-paint.js} +28 -35
  36. package/lib/framework/document-paint.js.map +1 -0
  37. package/lib/framework/document-print-offscreen.d.ts +38 -0
  38. package/{src/med_editor/framework/document-print-offscreen.ts → lib/framework/document-print-offscreen.js} +19 -25
  39. package/lib/framework/document-print-offscreen.js.map +1 -0
  40. package/lib/framework/document-print.d.ts +60 -0
  41. package/{src/med_editor/framework/document-print.ts → lib/framework/document-print.js} +41 -57
  42. package/lib/framework/document-print.js.map +1 -0
  43. package/lib/framework/document-segmenter.d.ts +2 -0
  44. package/lib/framework/document-segmenter.js +106 -0
  45. package/lib/framework/document-segmenter.js.map +1 -0
  46. package/lib/framework/document-selection.d.ts +89 -0
  47. package/{src/med_editor/framework/document-selection.ts → lib/framework/document-selection.js} +84 -115
  48. package/lib/framework/document-selection.js.map +1 -0
  49. package/lib/framework/document-template.d.ts +4 -0
  50. package/{src/med_editor/framework/document-template.ts → lib/framework/document-template.js} +3 -3
  51. package/lib/framework/document-template.js.map +1 -0
  52. package/lib/framework/document-textline-mode.d.ts +7 -0
  53. package/lib/framework/document-textline-mode.js +30 -0
  54. package/lib/framework/document-textline-mode.js.map +1 -0
  55. package/lib/framework/element-define.d.ts +319 -0
  56. package/{src/med_editor/framework/element-define.ts → lib/framework/element-define.js} +206 -301
  57. package/lib/framework/element-define.js.map +1 -0
  58. package/lib/framework/element-event-define.d.ts +98 -0
  59. package/lib/framework/element-event-define.js +108 -0
  60. package/lib/framework/element-event-define.js.map +1 -0
  61. package/lib/framework/element-measure.d.ts +97 -0
  62. package/{src/med_editor/framework/element-measure.ts → lib/framework/element-measure.js} +121 -143
  63. package/lib/framework/element-measure.js.map +1 -0
  64. package/lib/framework/element-paint.d.ts +42 -0
  65. package/{src/med_editor/framework/element-paint.ts → lib/framework/element-paint.js} +37 -43
  66. package/lib/framework/element-paint.js.map +1 -0
  67. package/lib/framework/element-props.d.ts +301 -0
  68. package/{src/med_editor/framework/element-props.ts → lib/framework/element-props.js} +202 -331
  69. package/lib/framework/element-props.js.map +1 -0
  70. package/lib/framework/element-reader.d.ts +19 -0
  71. package/{src/med_editor/framework/element-reader.ts → lib/framework/element-reader.js} +30 -38
  72. package/lib/framework/element-reader.js.map +1 -0
  73. package/lib/framework/element-render-cut.d.ts +55 -0
  74. package/{src/med_editor/framework/element-render-cut.ts → lib/framework/element-render-cut.js} +106 -113
  75. package/lib/framework/element-render-cut.js.map +1 -0
  76. package/lib/framework/element-serialize.d.ts +30 -0
  77. package/{src/med_editor/framework/element-serialize.ts → lib/framework/element-serialize.js} +24 -37
  78. package/lib/framework/element-serialize.js.map +1 -0
  79. package/lib/framework/element-util.d.ts +369 -0
  80. package/{src/med_editor/framework/element-util.ts → lib/framework/element-util.js} +216 -317
  81. package/lib/framework/element-util.js.map +1 -0
  82. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
  83. package/{src/med_editor/framework/impl/checkbox/checkbox-impl.ts → lib/framework/impl/checkbox/checkbox-impl.js} +18 -25
  84. package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
  85. package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
  86. package/{src/med_editor/framework/impl/comments/comment-content-impl.ts → lib/framework/impl/comments/comment-content-impl.js} +31 -45
  87. package/lib/framework/impl/comments/comment-content-impl.js.map +1 -0
  88. package/lib/framework/impl/comments/comment-element-impl.d.ts +21 -0
  89. package/{src/med_editor/framework/impl/comments/comment-element-impl.ts → lib/framework/impl/comments/comment-element-impl.js} +18 -21
  90. package/lib/framework/impl/comments/comment-element-impl.js.map +1 -0
  91. package/lib/framework/impl/comments/comments-container-impl.d.ts +22 -0
  92. package/{src/med_editor/framework/impl/comments/comments-container-impl.ts → lib/framework/impl/comments/comments-container-impl.js} +15 -21
  93. package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
  94. package/lib/framework/impl/comments/comments-util.d.ts +12 -0
  95. package/{src/med_editor/framework/impl/comments/comments-util.ts → lib/framework/impl/comments/comments-util.js} +17 -34
  96. package/lib/framework/impl/comments/comments-util.js.map +1 -0
  97. package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
  98. package/{src/med_editor/framework/impl/comments/validate-msg-impl.ts → lib/framework/impl/comments/validate-msg-impl.js} +15 -26
  99. package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -0
  100. package/lib/framework/impl/data-element/data-decorate-impl.d.ts +30 -0
  101. package/{src/med_editor/framework/impl/data-element/data-decorate-impl.ts → lib/framework/impl/data-element/data-decorate-impl.js} +21 -25
  102. package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -0
  103. package/lib/framework/impl/data-element/data-element-barcode.d.ts +31 -0
  104. package/{src/med_editor/framework/impl/data-element/data-element-barcode.ts → lib/framework/impl/data-element/data-element-barcode.js} +27 -39
  105. package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -0
  106. package/lib/framework/impl/data-element/data-element-base-impl.d.ts +68 -0
  107. package/{src/med_editor/framework/impl/data-element/data-element-base-impl.ts → lib/framework/impl/data-element/data-element-base-impl.js} +44 -73
  108. package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -0
  109. package/lib/framework/impl/data-element/data-element-check-impl.d.ts +35 -0
  110. package/{src/med_editor/framework/impl/data-element/data-element-check-impl.ts → lib/framework/impl/data-element/data-element-check-impl.js} +33 -46
  111. package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -0
  112. package/lib/framework/impl/data-element/data-element-date-impl.d.ts +23 -0
  113. package/{src/med_editor/framework/impl/data-element/data-element-date-impl.ts → lib/framework/impl/data-element/data-element-date-impl.js} +22 -39
  114. package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -0
  115. package/lib/framework/impl/data-element/data-element-group-impl.d.ts +23 -0
  116. package/{src/med_editor/framework/impl/data-element/data-element-group-impl.ts → lib/framework/impl/data-element/data-element-group-impl.js} +29 -49
  117. package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -0
  118. package/lib/framework/impl/data-element/data-element-image-impl.d.ts +30 -0
  119. package/{src/med_editor/framework/impl/data-element/data-element-image-impl.ts → lib/framework/impl/data-element/data-element-image-impl.js} +26 -36
  120. package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -0
  121. package/lib/framework/impl/data-element/data-element-list-impl.d.ts +22 -0
  122. package/{src/med_editor/framework/impl/data-element/data-element-list-impl.ts → lib/framework/impl/data-element/data-element-list-impl.js} +30 -41
  123. package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -0
  124. package/lib/framework/impl/data-element/data-element-text-impl.d.ts +23 -0
  125. package/{src/med_editor/framework/impl/data-element/data-element-text-impl.ts → lib/framework/impl/data-element/data-element-text-impl.js} +20 -34
  126. package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -0
  127. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +21 -0
  128. package/{src/med_editor/framework/impl/decorate/fill-null-space-imple.ts → lib/framework/impl/decorate/fill-null-space-imple.js} +10 -15
  129. package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -0
  130. package/lib/framework/impl/document/doc-body-impl.d.ts +27 -0
  131. package/{src/med_editor/framework/impl/document/doc-body-impl.ts → lib/framework/impl/document/doc-body-impl.js} +15 -31
  132. package/lib/framework/impl/document/doc-body-impl.js.map +1 -0
  133. package/lib/framework/impl/document/doc-body-part-impl.d.ts +30 -0
  134. package/{src/med_editor/framework/impl/document/doc-body-part-impl.ts → lib/framework/impl/document/doc-body-part-impl.js} +16 -26
  135. package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -0
  136. package/lib/framework/impl/document/doc-container-impl.d.ts +16 -0
  137. package/lib/framework/impl/document/doc-container-impl.js +21 -0
  138. package/lib/framework/impl/document/doc-container-impl.js.map +1 -0
  139. package/lib/framework/impl/document/doc-footer-impl.d.ts +26 -0
  140. package/{src/med_editor/framework/impl/document/doc-footer-impl.ts → lib/framework/impl/document/doc-footer-impl.js} +18 -29
  141. package/lib/framework/impl/document/doc-footer-impl.js.map +1 -0
  142. package/lib/framework/impl/document/doc-header-impl.d.ts +26 -0
  143. package/{src/med_editor/framework/impl/document/doc-header-impl.ts → lib/framework/impl/document/doc-header-impl.js} +16 -33
  144. package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
  145. package/lib/framework/impl/document/doc-impl.d.ts +61 -0
  146. package/{src/med_editor/framework/impl/document/doc-impl.ts → lib/framework/impl/document/doc-impl.js} +42 -59
  147. package/lib/framework/impl/document/doc-impl.js.map +1 -0
  148. package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
  149. package/{src/med_editor/framework/impl/media-formula/menstrual-history.ts → lib/framework/impl/media-formula/menstrual-history.js} +35 -57
  150. package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
  151. package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
  152. package/{src/med_editor/framework/impl/paragraph/p-impl.ts → lib/framework/impl/paragraph/p-impl.js} +28 -62
  153. package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
  154. package/lib/framework/impl/picture/image-impl.d.ts +31 -0
  155. package/{src/med_editor/framework/impl/picture/image-impl.ts → lib/framework/impl/picture/image-impl.js} +23 -35
  156. package/lib/framework/impl/picture/image-impl.js.map +1 -0
  157. package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
  158. package/{src/med_editor/framework/impl/radio/radio-impl.ts → lib/framework/impl/radio/radio-impl.js} +19 -26
  159. package/lib/framework/impl/radio/radio-impl.js.map +1 -0
  160. package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
  161. package/{src/med_editor/framework/impl/symbol/br-symbol-impl.ts → lib/framework/impl/symbol/br-symbol-impl.js} +14 -20
  162. package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -0
  163. package/lib/framework/impl/symbol/p-symbol-impl.d.ts +19 -0
  164. package/{src/med_editor/framework/impl/symbol/p-symbol-impl.ts → lib/framework/impl/symbol/p-symbol-impl.js} +11 -14
  165. package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -0
  166. package/lib/framework/impl/table/table-cell-impl.d.ts +37 -0
  167. package/{src/med_editor/framework/impl/table/table-cell-impl.ts → lib/framework/impl/table/table-cell-impl.js} +28 -39
  168. package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
  169. package/lib/framework/impl/table/table-impl.d.ts +55 -0
  170. package/{src/med_editor/framework/impl/table/table-impl.ts → lib/framework/impl/table/table-impl.js} +82 -120
  171. package/lib/framework/impl/table/table-impl.js.map +1 -0
  172. package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
  173. package/{src/med_editor/framework/impl/table/table-row-impl.ts → lib/framework/impl/table/table-row-impl.js} +16 -24
  174. package/lib/framework/impl/table/table-row-impl.js.map +1 -0
  175. package/lib/framework/impl/table/table-split-cell-patch.d.ts +20 -0
  176. package/{src/med_editor/framework/impl/table/table-split-cell-patch.ts → lib/framework/impl/table/table-split-cell-patch.js} +22 -31
  177. package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -0
  178. package/lib/framework/impl/table/table-split-cell.d.ts +90 -0
  179. package/{src/med_editor/framework/impl/table/table-split-cell.ts → lib/framework/impl/table/table-split-cell.js} +94 -105
  180. package/lib/framework/impl/table/table-split-cell.js.map +1 -0
  181. package/lib/framework/impl/table/table-util.d.ts +150 -0
  182. package/{src/med_editor/framework/impl/table/table-util.ts → lib/framework/impl/table/table-util.js} +157 -195
  183. package/lib/framework/impl/table/table-util.js.map +1 -0
  184. package/lib/framework/impl/text/text-impl.d.ts +32 -0
  185. package/{src/med_editor/framework/impl/text/text-impl.ts → lib/framework/impl/text/text-impl.js} +32 -46
  186. package/lib/framework/impl/text/text-impl.js.map +1 -0
  187. package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
  188. package/{src/med_editor/framework/impl/text/track-run-impl.ts → lib/framework/impl/text/track-run-impl.js} +28 -51
  189. package/lib/framework/impl/text/track-run-impl.js.map +1 -0
  190. package/lib/framework/notify.d.ts +13 -0
  191. package/{src/med_editor/framework/notify.ts → lib/framework/notify.js} +36 -50
  192. package/lib/framework/notify.js.map +1 -0
  193. package/lib/framework/range-util.d.ts +40 -0
  194. package/{src/med_editor/framework/range-util.ts → lib/framework/range-util.js} +71 -80
  195. package/lib/framework/range-util.js.map +1 -0
  196. package/lib/framework/render-context.d.ts +91 -0
  197. package/{src/med_editor/framework/render-context.ts → lib/framework/render-context.js} +64 -111
  198. package/lib/framework/render-context.js.map +1 -0
  199. package/lib/framework/render-define.d.ts +109 -0
  200. package/{src/med_editor/framework/render-define.ts → lib/framework/render-define.js} +61 -90
  201. package/lib/framework/render-define.js.map +1 -0
  202. package/lib/framework/selection-overlays.d.ts +30 -0
  203. package/{src/med_editor/framework/selection-overlays.ts → lib/framework/selection-overlays.js} +16 -25
  204. package/lib/framework/selection-overlays.js.map +1 -0
  205. package/lib/texteditor.d.ts +318 -0
  206. package/{src/med_editor/texteditor.ts → lib/texteditor.js} +189 -286
  207. package/lib/texteditor.js.map +1 -0
  208. package/lib/util/subject.d.ts +34 -0
  209. package/lib/util/subject.js +88 -0
  210. package/lib/util/subject.js.map +1 -0
  211. package/lib/util/table-bind.d.ts +5 -0
  212. package/{src/med_editor/util/table-bind.ts → lib/util/table-bind.js} +2 -2
  213. package/lib/util/table-bind.js.map +1 -0
  214. package/package.json +2 -2
  215. package/src/med_editor/framework/common-util.ts +0 -200
  216. package/src/med_editor/framework/document-segmenter.ts +0 -211
  217. package/src/med_editor/framework/document-textline-mode.ts +0 -34
  218. package/src/med_editor/framework/element-event-define.ts +0 -141
  219. package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
  220. package/src/med_editor/util/subject.ts +0 -118
  221. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
  222. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +0 -3573
  223. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +0 -315
  224. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +0 -122
  225. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +0 -3599
  226. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +0 -24586
  227. package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
  228. package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
  229. package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
  230. package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
  231. package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +0 -125
  232. package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +0 -86
  233. package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +0 -115
  234. package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +0 -108
  235. package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +0 -272
  236. package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
@@ -1,51 +1,43 @@
1
1
  import { DocumentEvalFunc } from "./document-eval-func";
2
2
  import { DocumentImagesLoader } from "./document-images-loader";
3
- import { SelectionState } from "./document-selection";
4
- import { BranchElement, Element, ImgLoadStatus, ModifyFlag, Rect, RefreshType, ViewOptions } from "./element-define";
5
- import { ElementEvent, EventTypes } from "./element-event-define";
6
- import { DataElementValueStruct, ElementSerialize } from "./element-serialize";
3
+ import { ModifyFlag } from "./element-define";
4
+ import { ElementSerialize } from "./element-serialize";
7
5
  import { DataElementInlineGroup, DataElementLeaf, validateDataEle } from "./impl/data-element/data-element-base-impl";
8
6
  import { DataElementCheck } from "./impl/data-element/data-element-check-impl";
9
7
  import { DocumentElement } from "./impl/document/doc-impl";
10
- import { TrackRunElement, TrackRunTypeEnum } from "./impl/text/track-run-impl";
8
+ import { TrackRunElement } from "./impl/text/track-run-impl";
11
9
  import { ElementUtil } from "./element-util";
12
10
  import { DocumentBodyPartElement } from "./impl/document/doc-body-part-impl";
13
- import { DocumentChange } from "./document-change";
14
11
  import { CommonUtil } from "./common-util";
15
-
16
- interface RegisterTypeHandlerProps<T extends Element> {
17
- elementType: { new(...args: any): T },
18
- eventName: EventTypes,
19
- handler: <E extends ElementEvent>(e: E) => void,
20
- useCapture: boolean
21
- }
22
12
  /**
23
13
  * 当前打开的文档的上下文信息,当前文档所有的属性设置都暴露在上下文中
24
14
  */
25
15
  export class EditorContext {
26
- isDirty: boolean = false;
27
- cursorRect!: Rect | null;
28
- private _document!: DocumentElement;
16
+ selectionState;
17
+ viewOptions;
18
+ isDirty = false;
19
+ cursorRect;
20
+ _document;
29
21
  //文档刷新的订阅事件
30
22
  //refSub!: Subscription;
31
- syncRefresh!: () => void;
32
- imageLoader: IImageLoader;
33
- dynamicFunc: DocumentEvalFunc;
34
- docChange!: DocumentChange;
35
- clearPrevDocCb!: (() => void) | null;
36
- constructor(public readonly selectionState: SelectionState, public readonly viewOptions: ViewOptions) {
23
+ syncRefresh;
24
+ imageLoader;
25
+ dynamicFunc;
26
+ docChange;
27
+ clearPrevDocCb;
28
+ constructor(selectionState, viewOptions) {
29
+ this.selectionState = selectionState;
30
+ this.viewOptions = viewOptions;
37
31
  this.dynamicFunc = new DocumentEvalFunc(this);
38
32
  this.imageLoader = new DocumentImagesLoader();
39
33
  this.selectionState.onChangedEvent.subscribe(() => {
40
34
  this.syncRefresh?.();
41
35
  });
42
36
  }
43
-
44
- public get document(): DocumentElement {
37
+ get document() {
45
38
  return this._document;
46
39
  }
47
-
48
- public set document(value: DocumentElement) {
40
+ set document(value) {
49
41
  this.clearPrevDocCb?.();
50
42
  this._document = value;
51
43
  this.initScripts();
@@ -70,88 +62,77 @@ export class EditorContext {
70
62
  this._document.destroy();
71
63
  }
72
64
  this.clearPrevDocCb = null;
73
- }
65
+ };
74
66
  }
75
-
76
- clear(): void {
67
+ clear() {
77
68
  this.selectionState.clear();
78
- this.imageLoader.clear();;
69
+ this.imageLoader.clear();
70
+ ;
79
71
  this.dynamicFunc.destroyScripts();
80
72
  this.isDirty = false;
81
73
  }
82
-
83
- get defaultCtx(): DocumentContext {
74
+ get defaultCtx() {
84
75
  return new DocumentContext(this._document, this.selectionState);
85
76
  }
86
-
87
- getCurrentCtx(ele: Element): DocumentContext {
88
- const parentCtx = ElementUtil.getParent(ele, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement) as BranchElement;
77
+ getCurrentCtx(ele) {
78
+ const parentCtx = ElementUtil.getParent(ele, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement);
89
79
  return new DocumentContext(parentCtx, this.selectionState);
90
80
  }
91
-
92
81
  /**
93
82
  * 根据当前选区,返回所在的上下文元素,返回类型为DocumentElement|DocumentBodyPartElement
94
83
  */
95
- getCurrentEleCtx(): BranchElement | null {
84
+ getCurrentEleCtx() {
96
85
  const { startControl } = this.selectionState;
97
86
  if (!startControl) {
98
87
  return null;
99
88
  }
100
- const parentCtx = ElementUtil.getParent(startControl, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement) as BranchElement;
89
+ const parentCtx = ElementUtil.getParent(startControl, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement);
101
90
  return parentCtx;
102
91
  }
103
-
104
- getCtx(ele: BranchElement): DocumentContext {
92
+ getCtx(ele) {
105
93
  return new DocumentContext(ele, this.selectionState);
106
94
  }
107
-
108
-
109
- private ele_types_handlers: Array<RegisterTypeHandlerProps<Element>> = [];
110
- registerTypeHandlers<T extends Element>(elementType: { new(...args: any): T }, eventName: EventTypes, handler: (e: ElementEvent) => void, useCapture: boolean = false): void {
95
+ ele_types_handlers = [];
96
+ registerTypeHandlers(elementType, eventName, handler, useCapture = false) {
111
97
  this.ele_types_handlers.push({
112
98
  elementType,
113
99
  eventName,
114
100
  handler,
115
101
  useCapture
116
- })
102
+ });
117
103
  }
118
-
119
- invokeTypeHandler(ele: Element, eventName: EventTypes, e: ElementEvent, useCapture: boolean = false): void {
104
+ invokeTypeHandler(ele, eventName, e, useCapture = false) {
120
105
  for (const th of this.ele_types_handlers) {
121
106
  if (ele instanceof th.elementType && th.eventName === eventName && th.useCapture === useCapture) {
122
107
  th.handler(e);
123
108
  }
124
109
  }
125
110
  }
126
-
127
- destroy(): void {
111
+ destroy() {
128
112
  this.clear();
129
113
  this.document.destroy();
130
114
  this.clearPrevDocCb?.();
131
115
  this.ele_types_handlers.length = 0;
132
- this.imageLoader.clear();;
116
+ this.imageLoader.clear();
117
+ ;
133
118
  }
134
-
135
119
  /**
136
120
  * 切换到行打印模式
137
121
  */
138
- switchTextlineMode(): void {
122
+ switchTextlineMode() {
139
123
  this.document.viewOptions.textRowLineMode = !this.document.viewOptions.textRowLineMode;
140
124
  this.syncRefresh();
141
125
  }
142
-
143
126
  /**
144
127
  * 实例化动态脚本
145
128
  */
146
- private initScripts(): void {
129
+ initScripts() {
147
130
  this.dynamicFunc.initScripts(this.document.props.scripts);
148
131
  }
149
-
150
-
151
132
  /**
152
133
  * 替换数据元
153
134
  */
154
- replaceDataElement(oldDataElement: DataElementLeaf | DataElementInlineGroup, newElement: DataElementLeaf | DataElementInlineGroup, ss: SelectionState): void {
135
+ replaceDataElement(oldDataElement, newElement, ss) {
155
136
  //清除光标
156
137
  ss.clear();
157
138
  //执行刷新
@@ -160,96 +141,72 @@ export class EditorContext {
160
141
  //删除旧节点
161
142
  oldDataElement.remove();
162
143
  }
163
-
164
- get refreshType(): RefreshType {
165
- return this._document?.modifyFlag === ModifyFlag.None ? 'appearance' : 'content'
144
+ get refreshType() {
145
+ return this._document?.modifyFlag === ModifyFlag.None ? 'appearance' : 'content';
166
146
  }
167
147
  }
168
-
169
- export interface ImageSourceItem {
170
- src: string,
171
- task: Promise<void>;
172
- cbs: Array<(status: ImgLoadStatus) => void>;
173
- ele: HTMLImageElement,
174
- loadStatus: ImgLoadStatus
175
- }
176
-
177
- export interface IImageLoader {
178
- clear(): void;
179
- loadImage(src: string, onCallback: (status: ImgLoadStatus) => void): void;
180
- getImage(src: string): HTMLImageElement | undefined;
181
- imagesLoadCompleted(): boolean;
182
- getLoadTasks(): Array<Promise<void>>;
183
- }
184
-
185
148
  /**
186
149
  * 文档上下文
187
150
  */
188
151
  export class DocumentContext {
189
- constructor(private ctx: BranchElement, private ss: SelectionState) { }
190
-
191
- getControlIDList(): Array<string> {
192
- const dataEleList = <unknown>this.ctx.treeFilter(item => validateDataEle(item)) as Array<{ props: { id: string } }>;
152
+ ctx;
153
+ ss;
154
+ constructor(ctx, ss) {
155
+ this.ctx = ctx;
156
+ this.ss = ss;
157
+ }
158
+ getControlIDList() {
159
+ const dataEleList = this.ctx.treeFilter(item => validateDataEle(item));
193
160
  return dataEleList.map(item => item.props.id);
194
161
  }
195
-
196
- getControlInstanceList(): Array<DataElementInlineGroup | DataElementLeaf> {
197
- return this.ctx.treeFilter(item => validateDataEle(item)) as Array<DataElementInlineGroup | DataElementLeaf>;
162
+ getControlInstanceList() {
163
+ return this.ctx.treeFilter(item => validateDataEle(item));
198
164
  }
199
-
200
- getControlById(id: string): DataElementInlineGroup | DataElementLeaf {
201
- return this.ctx.treeFind(item => validateDataEle(item) && (<any>item)['props']['id'] === id) as DataElementInlineGroup | DataElementLeaf;
165
+ getControlById(id) {
166
+ return this.ctx.treeFind(item => validateDataEle(item) && item['props']['id'] === id);
202
167
  }
203
-
204
- getControlByName(name: string): DataElementInlineGroup | DataElementLeaf {
205
- return this.ctx.treeFind(item => validateDataEle(item) && (<any>item)['props']['name'] === name) as DataElementInlineGroup | DataElementLeaf;
168
+ getControlByName(name) {
169
+ return this.ctx.treeFind(item => validateDataEle(item) && item['props']['name'] === name);
206
170
  }
207
-
208
171
  /**
209
172
  * 获取数据元值集合
210
173
  */
211
- getDataElementValues(): Array<DataElementValueStruct> {
174
+ getDataElementValues() {
212
175
  const structList = this.getDataElementModelList();
213
- return structList.map<DataElementValueStruct>(item => ({
176
+ return structList.map(item => ({
214
177
  id: item.id,
215
178
  name: item.name,
216
179
  value: item.getValue()
217
180
  }));
218
181
  }
219
-
220
182
  /**
221
183
  * 获取数据元结构以及get\set闭包调用函数
222
- * @returns
184
+ * @returns
223
185
  */
224
- getDataElementModelList(): Array<DataCheckEleModel | DataInputEleModel | DataLeafEleModel> {
225
- const dataEleList = this.ctx.treeFilter(item => validateDataEle(item)) as Array<DataElementInlineGroup | DataElementLeaf>;
226
-
227
- const dataInlineGroups = dataEleList.filter(item => item instanceof DataElementInlineGroup) as Array<DataElementInlineGroup>;
228
- const dataLeafs = dataEleList.filter(item => item instanceof DataElementLeaf) as Array<DataElementLeaf>;
229
-
186
+ getDataElementModelList() {
187
+ const dataEleList = this.ctx.treeFilter(item => validateDataEle(item));
188
+ const dataInlineGroups = dataEleList.filter(item => item instanceof DataElementInlineGroup);
189
+ const dataLeafs = dataEleList.filter(item => item instanceof DataElementLeaf);
230
190
  //复选框数据元
231
- const dataCheckList = dataLeafs.filter(item => item instanceof DataElementCheck) as Array<DataElementCheck>;
191
+ const dataCheckList = dataLeafs.filter(item => item instanceof DataElementCheck);
232
192
  //除复选框之外的LeafDataElement
233
- const dataOtherLeafValues = CommonUtil.removeUnionSet(dataLeafs, dataCheckList).map<DataLeafEleModel>(item => (
234
- { id: item.props.id as string, name: item.props.name as string, fieldName: item.props.field as string, item, getValue: () => { return item.getValue() }, setValue: (val) => { item.setValue(val) } }));
235
- const dataInlineStructList = dataInlineGroups.map<DataInputEleModel>(item => (
236
- { id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue() }, setValue: (val) => { item.setValue(val) } }));
193
+ const dataOtherLeafValues = CommonUtil.removeUnionSet(dataLeafs, dataCheckList).map(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.field, item, getValue: () => { return item.getValue(); }, setValue: (val) => { item.setValue(val); } }));
194
+ const dataInlineStructList = dataInlineGroups.map(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue(); }, setValue: (val) => { item.setValue(val); } }));
237
195
  //复选框列表
238
196
  const dataCheckStructList = this.getDataCheckModelList(dataCheckList);
239
197
  return [...dataInlineStructList, ...dataCheckStructList, ...dataOtherLeafValues];
240
198
  }
241
-
242
199
  /**
243
200
  * 获取复选框数据元结构列表
244
- * @param dataCheckList
245
- * @returns
201
+ * @param dataCheckList
202
+ * @returns
246
203
  */
247
- private getDataCheckModelList(dataCheckList: Array<DataElementCheck>): Array<DataCheckEleModel | DataLeafEleModel> {
204
+ getDataCheckModelList(dataCheckList) {
248
205
  //不存在groupName的复选框
249
206
  const singleCheckList = dataCheckList.filter(item => !item.props.groupName);
250
207
  //存在groupName的复选框
251
208
  const groupNames = Array.from(new Set(dataCheckList.filter(item => item.props.groupName).map(item => item.props.groupName)));
252
- const groupCheckListValues = groupNames.map<DataCheckEleModel>((groupName) => {
209
+ const groupCheckListValues = groupNames.map((groupName) => {
253
210
  const groupCheckItems = dataCheckList.filter(item => item.props.groupName === groupName);
254
211
  return {
255
212
  id: groupName,
@@ -261,15 +218,17 @@ export class DocumentContext {
261
218
  let checkedValue = '';
262
219
  if (groupCheckItems[0].props.multiSelect) {
263
220
  checkedValue = groupCheckItems.filter(item => item.props.checked).map(item => item.getValue() + '').join(';');
264
- } else {
265
- const checkedSingleItem = groupCheckItems.find(item => item.props.checked)
221
+ }
222
+ else {
223
+ const checkedSingleItem = groupCheckItems.find(item => item.props.checked);
266
224
  if (checkedSingleItem) {
267
225
  checkedValue = checkedSingleItem.props.checkedValue;
268
226
  }
269
- };
227
+ }
228
+ ;
270
229
  return checkedValue;
271
230
  },
272
- setValue: (val: string | Array<string>) => {
231
+ setValue: (val) => {
273
232
  //为null时
274
233
  if (val === null || val === undefined) {
275
234
  groupCheckItems.forEach(item => item.props.checked = false);
@@ -277,40 +236,38 @@ export class DocumentContext {
277
236
  }
278
237
  if (groupCheckItems[0].props.multiSelect) {
279
238
  const valItems = typeof val === 'string' ? val.split(';') : val;
280
-
281
239
  groupCheckItems.forEach(item => {
282
240
  item.props.checked = valItems.indexOf(item.props.checkedValue + '') >= 0;
283
241
  });
284
- } else {
242
+ }
243
+ else {
285
244
  groupCheckItems.forEach(item => {
286
245
  item.props.checked = item.props.checkedValue === val;
287
246
  });
288
- };
247
+ }
248
+ ;
289
249
  }
290
- }
291
- })
292
- const singleCheckListValues = singleCheckList.map<DataLeafEleModel>(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue() }, setValue: (val) => { item.setValue(val) } }));
250
+ };
251
+ });
252
+ const singleCheckListValues = singleCheckList.map(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue(); }, setValue: (val) => { item.setValue(val); } }));
293
253
  return [...singleCheckListValues, ...groupCheckListValues];
294
254
  }
295
-
296
255
  /**
297
256
  * 获取留痕块元素列表
298
257
  */
299
- getTrackElements(): Array<TrackRunElement> {
300
- return this.ctx.treeFilter(item => item instanceof TrackRunElement) as Array<TrackRunElement>;
258
+ getTrackElements() {
259
+ return this.ctx.treeFilter(item => item instanceof TrackRunElement);
301
260
  }
302
-
303
- getTrackElmeentById(id: string): TrackRunElement | null {
304
- return this.ctx.treeFind(item => item instanceof TrackRunElement && item.props.id === id) as TrackRunElement | null;
261
+ getTrackElmeentById(id) {
262
+ return this.ctx.treeFind(item => item instanceof TrackRunElement && item.props.id === id);
305
263
  }
306
-
307
264
  /**
308
265
  * 获取留痕块内数据
309
266
  */
310
- getTracksData(): Array<TrackBlockData> {
267
+ getTracksData() {
311
268
  const trackElements = this.getTrackElements();
312
269
  return trackElements.map(item => {
313
- const trackRun = item as TrackRunElement;
270
+ const trackRun = item;
314
271
  const content = ElementSerialize.serializeString(trackRun, { all: true });
315
272
  return {
316
273
  //用户id
@@ -320,50 +277,45 @@ export class DocumentContext {
320
277
  //日期
321
278
  date: trackRun.props.date,
322
279
  //类型,ins-run:插入,del-run:删除
323
- type: trackRun.type as TrackRunTypeEnum,
280
+ type: trackRun.type,
324
281
  //留痕块id
325
282
  id: trackRun.props.id,
326
283
  //内容
327
284
  content
328
- }
285
+ };
329
286
  });
330
287
  }
331
-
332
- setControlValue(id: string, value: string): void {
288
+ setControlValue(id, value) {
333
289
  const dataEle = this.getControlById(id);
334
290
  if (dataEle) {
335
291
  dataEle.setValue(value);
336
292
  }
337
293
  this.ss.clear();
338
294
  }
339
-
340
- setControlValueByName(name: string, val: any): void {
341
- const dataEle = this.getControlByName(name)
342
- dataEle.setValue(val)
295
+ setControlValueByName(name, val) {
296
+ const dataEle = this.getControlByName(name);
297
+ dataEle.setValue(val);
343
298
  }
344
-
345
299
  /**
346
300
  * 获取复选框选中的值
347
301
  */
348
- getCheckBoxValues(groupName: string): Array<string> {
302
+ getCheckBoxValues(groupName) {
349
303
  const ckbs = this.getCheckBoxList(groupName);
350
304
  return ckbs.filter(item => item.props.checked).map(item => item.props.checkedValue);
351
305
  }
352
-
353
- getCheckBoxList(groupName: string): Array<DataElementCheck> {
354
- return this.getControlInstanceList().filter(item => item instanceof DataElementCheck && item.props.groupName === groupName) as Array<DataElementCheck>;
306
+ getCheckBoxList(groupName) {
307
+ return this.getControlInstanceList().filter(item => item instanceof DataElementCheck && item.props.groupName === groupName);
355
308
  }
356
-
357
309
  /**
358
310
  * 当前上下文执行默认绑定
359
- * @param data
311
+ * @param data
360
312
  */
361
- bindDataValues(data: string | Object | Array<{ key: string, value: any }>, predicateKey: 'id' | 'name' | 'fieldName' = 'fieldName'): void {
313
+ bindDataValues(data, predicateKey = 'fieldName') {
362
314
  this.ss.clear();
363
- let bindData = typeof data === 'string' ? JSON.parse(data) as Object : data;
315
+ let bindData = typeof data === 'string' ? JSON.parse(data) : data;
364
316
  if (Array.isArray(bindData)) {
365
317
  const obj = {};
366
- bindData.forEach(item => { obj[item.key] = item.value });
318
+ bindData.forEach(item => { obj[item.key] = item.value; });
367
319
  bindData = obj;
368
320
  }
369
321
  const dataList = this.getDataElementModelList();
@@ -375,36 +327,4 @@ export class DocumentContext {
375
327
  });
376
328
  }
377
329
  }
378
-
379
-
380
- interface DataEleBaseModel {
381
- id: string;
382
- name: string;
383
- fieldName: string;
384
- getValue: () => any;
385
- setValue: (val: any) => void;
386
- }
387
- interface DataCheckEleModel extends DataEleBaseModel {
388
- item: Array<DataElementCheck>;
389
- multiSelect: boolean;
390
- }
391
-
392
- interface DataInputEleModel extends DataEleBaseModel {
393
- item: DataElementInlineGroup
394
- }
395
-
396
- interface DataLeafEleModel extends DataEleBaseModel {
397
- item: DataElementLeaf;
398
- }
399
-
400
- /**
401
- * 留痕块结构化数据
402
- */
403
- interface TrackBlockData {
404
- userId: string;
405
- userName: string;
406
- date: string;
407
- type: TrackRunTypeEnum,
408
- content: string,
409
- id: string;
410
- }
330
+ //# sourceMappingURL=document-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-context.js","sourceRoot":"lib/","sources":["framework/document-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { EditorContext } from "./document-context";
2
+ export declare class DocumentEvalFunc {
3
+ docCtx: EditorContext;
4
+ constructor(docCtx: EditorContext);
5
+ scriptsFunc: (() => void) | null;
6
+ /**
7
+ * 实例化动态脚本
8
+ */
9
+ initScripts(scripts: string): void;
10
+ /**
11
+ * 销毁动态脚本实例
12
+ */
13
+ destroyScripts(): void;
14
+ /**
15
+ * 触发动态脚本
16
+ */
17
+ invokedScripts(): void;
18
+ }
@@ -1,24 +1,22 @@
1
- import { EditorContext } from "./document-context";
2
-
3
1
  export class DocumentEvalFunc {
4
- constructor(public docCtx: EditorContext) {
5
-
2
+ docCtx;
3
+ constructor(docCtx) {
4
+ this.docCtx = docCtx;
6
5
  }
7
- scriptsFunc!: (() => void) | null;
8
-
6
+ scriptsFunc;
9
7
  /**
10
8
  * 实例化动态脚本
11
9
  */
12
- initScripts(scripts: string): void {
10
+ initScripts(scripts) {
13
11
  this.destroyScripts();
14
12
  if (scripts) {
15
13
  try {
16
- const func = new Function("docCtx", scripts)
14
+ const func = new Function("docCtx", scripts);
17
15
  this.scriptsFunc = func(this.docCtx);
18
- } catch (e) {
16
+ }
17
+ catch (e) {
19
18
  console.error("自定义标本解析错误", e);
20
19
  }
21
-
22
20
  }
23
21
  // const func = (docCtx: DocumentContext) => {
24
22
  // const sexELe = docCtx.getControlById('NqoYI')
@@ -32,22 +30,19 @@ export class DocumentEvalFunc {
32
30
  // };
33
31
  // };
34
32
  }
35
-
36
33
  /**
37
34
  * 销毁动态脚本实例
38
35
  */
39
- destroyScripts(): void {
36
+ destroyScripts() {
40
37
  if (this.scriptsFunc) {
41
38
  this.scriptsFunc = null;
42
39
  }
43
40
  }
44
-
45
41
  /**
46
42
  * 触发动态脚本
47
43
  */
48
- invokedScripts(): void {
44
+ invokedScripts() {
49
45
  this.scriptsFunc?.();
50
46
  }
51
-
52
-
53
47
  }
48
+ //# sourceMappingURL=document-eval-func.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-eval-func.js","sourceRoot":"lib/","sources":["framework/document-eval-func.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IACN;IAAnB,YAAmB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAExC,CAAC;IACD,WAAW,CAAuB;IAElC;;OAEG;IACH,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,OAAO,EAAE;YACT,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACjC;SAEJ;QACD,8CAA8C;QAC9C,oDAAoD;QACpD,oDAAoD;QACpD,qBAAqB;QACrB,iCAAiC;QACjC,kDAAkD;QAClD,8FAA8F;QAC9F,uCAAuC;QACvC,YAAY;QACZ,SAAS;QACT,KAAK;IACT,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACzB,CAAC;CAGJ"}