@hailin-zheng/editor-core 1.0.4 → 1.0.7

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 (302) hide show
  1. package/{dist → lib}/doc-ruler.d.ts +0 -0
  2. package/{dist → lib}/doc-ruler.js +0 -0
  3. package/{dist → lib}/doc-ruler.js.map +0 -0
  4. package/{dist → lib}/framework/common-util.d.ts +0 -0
  5. package/{dist → lib}/framework/common-util.js +0 -0
  6. package/{dist → lib}/framework/common-util.js.map +0 -0
  7. package/{dist → lib}/framework/document-change.d.ts +0 -0
  8. package/{dist → lib}/framework/document-change.js +0 -0
  9. package/{dist → lib}/framework/document-change.js.map +0 -0
  10. package/{dist → lib}/framework/document-combine.d.ts +0 -0
  11. package/{dist → lib}/framework/document-combine.js +0 -0
  12. package/{dist → lib}/framework/document-combine.js.map +0 -0
  13. package/{dist → lib}/framework/document-comment.d.ts +0 -0
  14. package/{dist → lib}/framework/document-comment.js +0 -0
  15. package/{dist → lib}/framework/document-comment.js.map +0 -0
  16. package/{dist → lib}/framework/document-context.d.ts +0 -0
  17. package/{dist → lib}/framework/document-context.js +0 -0
  18. package/{dist → lib}/framework/document-context.js.map +0 -0
  19. package/{dist → lib}/framework/document-eval-func.d.ts +0 -0
  20. package/{dist → lib}/framework/document-eval-func.js +0 -0
  21. package/{dist → lib}/framework/document-eval-func.js.map +0 -0
  22. package/{dist → lib}/framework/document-event.d.ts +0 -0
  23. package/{dist → lib}/framework/document-event.js +0 -0
  24. package/{dist → lib}/framework/document-event.js.map +0 -0
  25. package/{dist → lib}/framework/document-history.d.ts +0 -0
  26. package/{dist → lib}/framework/document-history.js +0 -0
  27. package/{dist → lib}/framework/document-history.js.map +0 -0
  28. package/{dist → lib}/framework/document-images-loader.d.ts +0 -0
  29. package/{dist → lib}/framework/document-images-loader.js +0 -0
  30. package/{dist → lib}/framework/document-images-loader.js.map +0 -0
  31. package/{dist → lib}/framework/document-input-cursor.d.ts +0 -0
  32. package/{dist → lib}/framework/document-input-cursor.js +0 -0
  33. package/{dist → lib}/framework/document-input-cursor.js.map +0 -0
  34. package/{dist → lib}/framework/document-paint.d.ts +0 -0
  35. package/{dist → lib}/framework/document-paint.js +0 -0
  36. package/{dist → lib}/framework/document-paint.js.map +0 -0
  37. package/{dist → lib}/framework/document-print-offscreen.d.ts +0 -0
  38. package/{dist → lib}/framework/document-print-offscreen.js +0 -0
  39. package/{dist → lib}/framework/document-print-offscreen.js.map +0 -0
  40. package/{dist → lib}/framework/document-print.d.ts +0 -0
  41. package/{dist → lib}/framework/document-print.js +0 -0
  42. package/{dist → lib}/framework/document-print.js.map +0 -0
  43. package/{dist → lib}/framework/document-segmenter.d.ts +0 -0
  44. package/{dist → lib}/framework/document-segmenter.js +0 -0
  45. package/{dist → lib}/framework/document-segmenter.js.map +0 -0
  46. package/{dist → lib}/framework/document-selection.d.ts +0 -0
  47. package/{dist → lib}/framework/document-selection.js +0 -0
  48. package/{dist → lib}/framework/document-selection.js.map +0 -0
  49. package/{dist → lib}/framework/document-template.d.ts +0 -0
  50. package/{dist → lib}/framework/document-template.js +0 -0
  51. package/{dist → lib}/framework/document-template.js.map +0 -0
  52. package/{dist → lib}/framework/document-textline-mode.d.ts +0 -0
  53. package/{dist → lib}/framework/document-textline-mode.js +0 -0
  54. package/{dist → lib}/framework/document-textline-mode.js.map +0 -0
  55. package/{dist → lib}/framework/element-define.d.ts +0 -0
  56. package/{dist → lib}/framework/element-define.js +0 -0
  57. package/{dist → lib}/framework/element-define.js.map +0 -0
  58. package/{dist → lib}/framework/element-event-define.d.ts +0 -0
  59. package/{dist → lib}/framework/element-event-define.js +0 -0
  60. package/{dist → lib}/framework/element-event-define.js.map +0 -0
  61. package/{dist → lib}/framework/element-measure.d.ts +0 -0
  62. package/{dist → lib}/framework/element-measure.js +0 -0
  63. package/{dist → lib}/framework/element-measure.js.map +0 -0
  64. package/{dist → lib}/framework/element-paint.d.ts +0 -0
  65. package/{dist → lib}/framework/element-paint.js +0 -0
  66. package/{dist → lib}/framework/element-paint.js.map +0 -0
  67. package/{dist → lib}/framework/element-props.d.ts +0 -0
  68. package/{dist → lib}/framework/element-props.js +0 -0
  69. package/{dist → lib}/framework/element-props.js.map +0 -0
  70. package/{dist → lib}/framework/element-reader.d.ts +0 -0
  71. package/{dist → lib}/framework/element-reader.js +0 -0
  72. package/{dist → lib}/framework/element-reader.js.map +0 -0
  73. package/{dist → lib}/framework/element-render-cut.d.ts +0 -0
  74. package/{dist → lib}/framework/element-render-cut.js +0 -0
  75. package/{dist → lib}/framework/element-render-cut.js.map +0 -0
  76. package/{dist → lib}/framework/element-serialize.d.ts +0 -0
  77. package/{dist → lib}/framework/element-serialize.js +0 -0
  78. package/{dist → lib}/framework/element-serialize.js.map +0 -0
  79. package/{dist → lib}/framework/element-util.d.ts +0 -0
  80. package/{dist → lib}/framework/element-util.js +0 -0
  81. package/{dist → lib}/framework/element-util.js.map +0 -0
  82. package/{dist → lib}/framework/impl/checkbox/checkbox-impl.d.ts +0 -0
  83. package/{dist → lib}/framework/impl/checkbox/checkbox-impl.js +0 -0
  84. package/{dist → lib}/framework/impl/checkbox/checkbox-impl.js.map +0 -0
  85. package/{dist → lib}/framework/impl/comments/comment-content-impl.d.ts +0 -0
  86. package/{dist → lib}/framework/impl/comments/comment-content-impl.js +0 -0
  87. package/{dist → lib}/framework/impl/comments/comment-content-impl.js.map +0 -0
  88. package/{dist → lib}/framework/impl/comments/comment-element-impl.d.ts +0 -0
  89. package/{dist → lib}/framework/impl/comments/comment-element-impl.js +0 -0
  90. package/{dist → lib}/framework/impl/comments/comment-element-impl.js.map +0 -0
  91. package/{dist → lib}/framework/impl/comments/comments-container-impl.d.ts +0 -0
  92. package/{dist → lib}/framework/impl/comments/comments-container-impl.js +0 -0
  93. package/{dist → lib}/framework/impl/comments/comments-container-impl.js.map +0 -0
  94. package/{dist → lib}/framework/impl/comments/comments-util.d.ts +0 -0
  95. package/{dist → lib}/framework/impl/comments/comments-util.js +0 -0
  96. package/{dist → lib}/framework/impl/comments/comments-util.js.map +0 -0
  97. package/{dist → lib}/framework/impl/comments/validate-msg-impl.d.ts +0 -0
  98. package/{dist → lib}/framework/impl/comments/validate-msg-impl.js +0 -0
  99. package/{dist → lib}/framework/impl/comments/validate-msg-impl.js.map +0 -0
  100. package/{dist → lib}/framework/impl/data-element/data-decorate-impl.d.ts +0 -0
  101. package/{dist → lib}/framework/impl/data-element/data-decorate-impl.js +0 -0
  102. package/{dist → lib}/framework/impl/data-element/data-decorate-impl.js.map +0 -0
  103. package/{dist → lib}/framework/impl/data-element/data-element-barcode.d.ts +0 -0
  104. package/{dist → lib}/framework/impl/data-element/data-element-barcode.js +0 -0
  105. package/{dist → lib}/framework/impl/data-element/data-element-barcode.js.map +0 -0
  106. package/{dist → lib}/framework/impl/data-element/data-element-base-impl.d.ts +0 -0
  107. package/{dist → lib}/framework/impl/data-element/data-element-base-impl.js +0 -0
  108. package/{dist → lib}/framework/impl/data-element/data-element-base-impl.js.map +0 -0
  109. package/{dist → lib}/framework/impl/data-element/data-element-check-impl.d.ts +0 -0
  110. package/{dist → lib}/framework/impl/data-element/data-element-check-impl.js +0 -0
  111. package/{dist → lib}/framework/impl/data-element/data-element-check-impl.js.map +0 -0
  112. package/{dist → lib}/framework/impl/data-element/data-element-date-impl.d.ts +0 -0
  113. package/{dist → lib}/framework/impl/data-element/data-element-date-impl.js +0 -0
  114. package/{dist → lib}/framework/impl/data-element/data-element-date-impl.js.map +0 -0
  115. package/{dist → lib}/framework/impl/data-element/data-element-group-impl.d.ts +0 -0
  116. package/{dist → lib}/framework/impl/data-element/data-element-group-impl.js +0 -0
  117. package/{dist → lib}/framework/impl/data-element/data-element-group-impl.js.map +0 -0
  118. package/{dist → lib}/framework/impl/data-element/data-element-image-impl.d.ts +0 -0
  119. package/{dist → lib}/framework/impl/data-element/data-element-image-impl.js +0 -0
  120. package/{dist → lib}/framework/impl/data-element/data-element-image-impl.js.map +0 -0
  121. package/{dist → lib}/framework/impl/data-element/data-element-list-impl.d.ts +0 -0
  122. package/{dist → lib}/framework/impl/data-element/data-element-list-impl.js +0 -0
  123. package/{dist → lib}/framework/impl/data-element/data-element-list-impl.js.map +0 -0
  124. package/{dist → lib}/framework/impl/data-element/data-element-text-impl.d.ts +0 -0
  125. package/{dist → lib}/framework/impl/data-element/data-element-text-impl.js +0 -0
  126. package/{dist → lib}/framework/impl/data-element/data-element-text-impl.js.map +0 -0
  127. package/{dist → lib}/framework/impl/decorate/fill-null-space-imple.d.ts +0 -0
  128. package/{dist → lib}/framework/impl/decorate/fill-null-space-imple.js +0 -0
  129. package/{dist → lib}/framework/impl/decorate/fill-null-space-imple.js.map +0 -0
  130. package/{dist → lib}/framework/impl/document/doc-body-impl.d.ts +0 -0
  131. package/{dist → lib}/framework/impl/document/doc-body-impl.js +0 -0
  132. package/{dist → lib}/framework/impl/document/doc-body-impl.js.map +0 -0
  133. package/{dist → lib}/framework/impl/document/doc-body-part-impl.d.ts +0 -0
  134. package/{dist → lib}/framework/impl/document/doc-body-part-impl.js +0 -0
  135. package/{dist → lib}/framework/impl/document/doc-body-part-impl.js.map +0 -0
  136. package/{dist → lib}/framework/impl/document/doc-container-impl.d.ts +0 -0
  137. package/{dist → lib}/framework/impl/document/doc-container-impl.js +0 -0
  138. package/{dist → lib}/framework/impl/document/doc-container-impl.js.map +0 -0
  139. package/{dist → lib}/framework/impl/document/doc-footer-impl.d.ts +0 -0
  140. package/{dist → lib}/framework/impl/document/doc-footer-impl.js +0 -0
  141. package/{dist → lib}/framework/impl/document/doc-footer-impl.js.map +0 -0
  142. package/{dist → lib}/framework/impl/document/doc-header-impl.d.ts +0 -0
  143. package/{dist → lib}/framework/impl/document/doc-header-impl.js +0 -0
  144. package/{dist → lib}/framework/impl/document/doc-header-impl.js.map +0 -0
  145. package/{dist → lib}/framework/impl/document/doc-impl.d.ts +0 -0
  146. package/{dist → lib}/framework/impl/document/doc-impl.js +0 -0
  147. package/{dist → lib}/framework/impl/document/doc-impl.js.map +0 -0
  148. package/{dist → lib}/framework/impl/media-formula/menstrual-history.d.ts +0 -0
  149. package/{dist → lib}/framework/impl/media-formula/menstrual-history.js +0 -0
  150. package/{dist → lib}/framework/impl/media-formula/menstrual-history.js.map +0 -0
  151. package/{dist → lib}/framework/impl/paragraph/p-impl.d.ts +0 -0
  152. package/{dist → lib}/framework/impl/paragraph/p-impl.js +0 -0
  153. package/{dist → lib}/framework/impl/paragraph/p-impl.js.map +0 -0
  154. package/{dist → lib}/framework/impl/picture/image-impl.d.ts +0 -0
  155. package/{dist → lib}/framework/impl/picture/image-impl.js +0 -0
  156. package/{dist → lib}/framework/impl/picture/image-impl.js.map +0 -0
  157. package/{dist → lib}/framework/impl/radio/radio-impl.d.ts +0 -0
  158. package/{dist → lib}/framework/impl/radio/radio-impl.js +0 -0
  159. package/{dist → lib}/framework/impl/radio/radio-impl.js.map +0 -0
  160. package/{dist → lib}/framework/impl/symbol/br-symbol-impl.d.ts +0 -0
  161. package/{dist → lib}/framework/impl/symbol/br-symbol-impl.js +0 -0
  162. package/{dist → lib}/framework/impl/symbol/br-symbol-impl.js.map +0 -0
  163. package/{dist → lib}/framework/impl/symbol/p-symbol-impl.d.ts +0 -0
  164. package/{dist → lib}/framework/impl/symbol/p-symbol-impl.js +0 -0
  165. package/{dist → lib}/framework/impl/symbol/p-symbol-impl.js.map +0 -0
  166. package/{dist → lib}/framework/impl/table/table-cell-impl.d.ts +0 -0
  167. package/{dist → lib}/framework/impl/table/table-cell-impl.js +0 -0
  168. package/{dist → lib}/framework/impl/table/table-cell-impl.js.map +0 -0
  169. package/{dist → lib}/framework/impl/table/table-impl.d.ts +0 -0
  170. package/{dist → lib}/framework/impl/table/table-impl.js +0 -0
  171. package/{dist → lib}/framework/impl/table/table-impl.js.map +0 -0
  172. package/{dist → lib}/framework/impl/table/table-row-impl.d.ts +0 -0
  173. package/{dist → lib}/framework/impl/table/table-row-impl.js +0 -0
  174. package/{dist → lib}/framework/impl/table/table-row-impl.js.map +0 -0
  175. package/{dist → lib}/framework/impl/table/table-split-cell-patch.d.ts +0 -0
  176. package/{dist → lib}/framework/impl/table/table-split-cell-patch.js +0 -0
  177. package/{dist → lib}/framework/impl/table/table-split-cell-patch.js.map +0 -0
  178. package/{dist → lib}/framework/impl/table/table-split-cell.d.ts +0 -0
  179. package/{dist → lib}/framework/impl/table/table-split-cell.js +0 -0
  180. package/{dist → lib}/framework/impl/table/table-split-cell.js.map +0 -0
  181. package/{dist → lib}/framework/impl/table/table-util.d.ts +0 -0
  182. package/{dist → lib}/framework/impl/table/table-util.js +0 -0
  183. package/{dist → lib}/framework/impl/table/table-util.js.map +0 -0
  184. package/{dist → lib}/framework/impl/text/text-impl.d.ts +0 -0
  185. package/{dist → lib}/framework/impl/text/text-impl.js +0 -0
  186. package/{dist → lib}/framework/impl/text/text-impl.js.map +0 -0
  187. package/{dist → lib}/framework/impl/text/track-run-impl.d.ts +0 -0
  188. package/{dist → lib}/framework/impl/text/track-run-impl.js +0 -0
  189. package/{dist → lib}/framework/impl/text/track-run-impl.js.map +0 -0
  190. package/{dist → lib}/framework/notify.d.ts +0 -0
  191. package/{dist → lib}/framework/notify.js +0 -0
  192. package/{dist → lib}/framework/notify.js.map +0 -0
  193. package/{dist → lib}/framework/range-util.d.ts +0 -0
  194. package/{dist → lib}/framework/range-util.js +0 -0
  195. package/{dist → lib}/framework/range-util.js.map +0 -0
  196. package/{dist → lib}/framework/render-context.d.ts +0 -0
  197. package/{dist → lib}/framework/render-context.js +0 -0
  198. package/{dist → lib}/framework/render-context.js.map +0 -0
  199. package/{dist → lib}/framework/render-define.d.ts +0 -0
  200. package/{dist → lib}/framework/render-define.js +0 -0
  201. package/{dist → lib}/framework/render-define.js.map +0 -0
  202. package/{dist → lib}/framework/selection-overlays.d.ts +0 -0
  203. package/{dist → lib}/framework/selection-overlays.js +0 -0
  204. package/{dist → lib}/framework/selection-overlays.js.map +0 -0
  205. package/{dist → lib}/texteditor.d.ts +0 -0
  206. package/{dist → lib}/texteditor.js +0 -0
  207. package/{dist → lib}/texteditor.js.map +0 -0
  208. package/{dist → lib}/util/subject.d.ts +0 -0
  209. package/{dist → lib}/util/subject.js +0 -0
  210. package/{dist → lib}/util/subject.js.map +0 -0
  211. package/{dist → lib}/util/table-bind.d.ts +0 -0
  212. package/{dist → lib}/util/table-bind.js +0 -0
  213. package/{dist → lib}/util/table-bind.js.map +0 -0
  214. package/package.json +7 -2
  215. package/src/med_editor/doc-ruler.ts +0 -340
  216. package/src/med_editor/framework/common-util.ts +0 -200
  217. package/src/med_editor/framework/document-change.ts +0 -1392
  218. package/src/med_editor/framework/document-combine.ts +0 -44
  219. package/src/med_editor/framework/document-comment.ts +0 -168
  220. package/src/med_editor/framework/document-context.ts +0 -410
  221. package/src/med_editor/framework/document-eval-func.ts +0 -53
  222. package/src/med_editor/framework/document-event.ts +0 -1082
  223. package/src/med_editor/framework/document-history.ts +0 -76
  224. package/src/med_editor/framework/document-images-loader.ts +0 -74
  225. package/src/med_editor/framework/document-input-cursor.ts +0 -244
  226. package/src/med_editor/framework/document-paint.ts +0 -110
  227. package/src/med_editor/framework/document-print-offscreen.ts +0 -134
  228. package/src/med_editor/framework/document-print.ts +0 -219
  229. package/src/med_editor/framework/document-segmenter.ts +0 -211
  230. package/src/med_editor/framework/document-selection.ts +0 -391
  231. package/src/med_editor/framework/document-template.ts +0 -20
  232. package/src/med_editor/framework/document-textline-mode.ts +0 -34
  233. package/src/med_editor/framework/element-define.ts +0 -674
  234. package/src/med_editor/framework/element-event-define.ts +0 -142
  235. package/src/med_editor/framework/element-measure.ts +0 -573
  236. package/src/med_editor/framework/element-paint.ts +0 -176
  237. package/src/med_editor/framework/element-props.ts +0 -938
  238. package/src/med_editor/framework/element-reader.ts +0 -159
  239. package/src/med_editor/framework/element-render-cut.ts +0 -456
  240. package/src/med_editor/framework/element-serialize.ts +0 -128
  241. package/src/med_editor/framework/element-util.ts +0 -1565
  242. package/src/med_editor/framework/impl/checkbox/checkbox-impl.ts +0 -71
  243. package/src/med_editor/framework/impl/comments/comment-content-impl.ts +0 -119
  244. package/src/med_editor/framework/impl/comments/comment-element-impl.ts +0 -65
  245. package/src/med_editor/framework/impl/comments/comments-container-impl.ts +0 -68
  246. package/src/med_editor/framework/impl/comments/comments-util.ts +0 -84
  247. package/src/med_editor/framework/impl/comments/validate-msg-impl.ts +0 -94
  248. package/src/med_editor/framework/impl/data-element/data-decorate-impl.ts +0 -95
  249. package/src/med_editor/framework/impl/data-element/data-element-barcode.ts +0 -127
  250. package/src/med_editor/framework/impl/data-element/data-element-base-impl.ts +0 -234
  251. package/src/med_editor/framework/impl/data-element/data-element-check-impl.ts +0 -146
  252. package/src/med_editor/framework/impl/data-element/data-element-date-impl.ts +0 -128
  253. package/src/med_editor/framework/impl/data-element/data-element-group-impl.ts +0 -150
  254. package/src/med_editor/framework/impl/data-element/data-element-image-impl.ts +0 -147
  255. package/src/med_editor/framework/impl/data-element/data-element-list-impl.ts +0 -142
  256. package/src/med_editor/framework/impl/data-element/data-element-text-impl.ts +0 -117
  257. package/src/med_editor/framework/impl/decorate/fill-null-space-imple.ts +0 -48
  258. package/src/med_editor/framework/impl/document/doc-body-impl.ts +0 -95
  259. package/src/med_editor/framework/impl/document/doc-body-part-impl.ts +0 -104
  260. package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
  261. package/src/med_editor/framework/impl/document/doc-footer-impl.ts +0 -88
  262. package/src/med_editor/framework/impl/document/doc-header-impl.ts +0 -100
  263. package/src/med_editor/framework/impl/document/doc-impl.ts +0 -226
  264. package/src/med_editor/framework/impl/media-formula/menstrual-history.ts +0 -175
  265. package/src/med_editor/framework/impl/paragraph/p-impl.ts +0 -190
  266. package/src/med_editor/framework/impl/picture/image-impl.ts +0 -136
  267. package/src/med_editor/framework/impl/radio/radio-impl.ts +0 -79
  268. package/src/med_editor/framework/impl/symbol/br-symbol-impl.ts +0 -60
  269. package/src/med_editor/framework/impl/symbol/p-symbol-impl.ts +0 -57
  270. package/src/med_editor/framework/impl/table/table-cell-impl.ts +0 -156
  271. package/src/med_editor/framework/impl/table/table-impl.ts +0 -401
  272. package/src/med_editor/framework/impl/table/table-row-impl.ts +0 -83
  273. package/src/med_editor/framework/impl/table/table-split-cell-patch.ts +0 -98
  274. package/src/med_editor/framework/impl/table/table-split-cell.ts +0 -475
  275. package/src/med_editor/framework/impl/table/table-util.ts +0 -716
  276. package/src/med_editor/framework/impl/text/text-impl.ts +0 -164
  277. package/src/med_editor/framework/impl/text/track-run-impl.ts +0 -135
  278. package/src/med_editor/framework/notify.ts +0 -130
  279. package/src/med_editor/framework/range-util.ts +0 -321
  280. package/src/med_editor/framework/render-context.ts +0 -431
  281. package/src/med_editor/framework/render-define.ts +0 -224
  282. package/src/med_editor/framework/selection-overlays.ts +0 -134
  283. package/src/med_editor/texteditor.ts +0 -1011
  284. package/src/med_editor/util/subject.ts +0 -118
  285. package/src/med_editor/util/table-bind.ts +0 -6
  286. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
  287. 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
  288. 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
  289. 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
  290. 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
  291. 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
  292. package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
  293. package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
  294. package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
  295. package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
  296. 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
  297. 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
  298. 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
  299. 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
  300. 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
  301. package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
  302. package/webpack.config.js +0 -46
@@ -1,44 +0,0 @@
1
- import { DocumentBodyElement } from "./impl/document/doc-body-impl";
2
- import { DocumentBodyPartElement } from "./impl/document/doc-body-part-impl";
3
- import { DocumentElement } from "./impl/document/doc-impl";
4
-
5
- /**
6
- * 文档合并
7
- */
8
- export class DocumentCombine {
9
- /**
10
- * 合并模板文档
11
- * 用于设置合并后,页眉页脚等统一部分
12
- */
13
- mainTemplate!: DocumentElement
14
-
15
- docParts: Array<{ doc: DocumentElement, docId: string }> = [];
16
- /**
17
- * 添加需要合并的文档部分
18
- */
19
- add(docPart: DocumentElement, id: string): void {
20
- this.docParts.push({ doc: docPart, docId: id })
21
- }
22
-
23
- dispose(): void {
24
- this.docParts.length = 0;
25
- }
26
-
27
- /**
28
- * 用于合并文档计算
29
- */
30
- load(): DocumentElement {
31
- const template = this.mainTemplate.clone();
32
- const body = template.find((item) => item instanceof DocumentBodyElement) as DocumentBodyElement;
33
- body.clearItems();
34
- for (let i = 0; i < this.docParts.length; i++) {
35
- const part = this.docParts[i];
36
- const docPartContainer = new DocumentBodyPartElement();
37
- docPartContainer.props.partId = part.docId;
38
- const docPartBody = part.doc.find(item => item instanceof DocumentBodyElement) as DocumentBodyElement
39
- docPartContainer.addChild(docPartBody.clone(true));
40
- body.addChild(docPartContainer)
41
- }
42
- return template;
43
- }
44
- }
@@ -1,168 +0,0 @@
1
- import { EditorContext } from "./document-context";
2
- import { ElementUtil } from "./element-util";
3
- import { CommContentBaseElement, CommContentElement } from "./impl/comments/comment-content-impl";
4
- import { CommentElement } from "./impl/comments/comment-element-impl";
5
- import { TextGroupElement } from "./impl/text/text-impl";
6
- import { RangeUtil } from "./range-util";
7
- import {
8
- DataElementInlineGroup,
9
- DataElementLeaf,
10
- validateDataEle
11
- } from "@/med_editor/framework/impl/data-element/data-element-base-impl";
12
-
13
- /**
14
- * 处理文档批注
15
- */
16
- export class DocumentComment {
17
- commMarkList: Array<CommentElement> = [];
18
- commContentList: Array<CommContentBaseElement> = [];
19
- isDirty: boolean = true;
20
- constructor(public docCtx: EditorContext) { }
21
-
22
- /**
23
- * 读取审阅标记符号
24
- */
25
- readComments(): void {
26
- if (!this.isDirty) {
27
- return;
28
- }
29
- const commList = this.docCtx.document.treeFilter(item => item.type === 'comm') as Array<CommentElement>;
30
- const startCommList = commList.filter(item => item.props.markType === "start");
31
- const endCommList = commList.filter(item => item.props.markType === "end");
32
- const commMaps = startCommList.map(startItem => {
33
- const end = endCommList.find(endItem => endItem.props.id === startItem.props.id);
34
- if (!end) {
35
- throw new Error('未找到匹配的结束审阅符号')
36
- }
37
- return { start: startItem, end }
38
- })
39
- const commContentList: Array<CommContentBaseElement> = [];
40
- for (let i = 0; i < this.docCtx.document.commentsContainerElement.length; i++) {
41
- const commContent = this.docCtx.document.commentsContainerElement.getChild(i) as CommContentBaseElement;
42
- const commMap = commMaps.find(item => item.start.props.id === commContent.props.id);
43
- if (!commMap) {
44
- throw new Error('未找到审阅内容对应的审阅符号');
45
- }
46
- commContent.startMark = commMap.start;
47
- commContent.endMark = commMap.end;
48
- commContentList.push(commContent)
49
- }
50
- this.commMarkList = commList;
51
- this.commContentList = commContentList;
52
- this.docCtx.viewOptions.showReviewWindow = this.commContentList.length > 0;
53
- this.isDirty = false;
54
- }
55
-
56
- /**
57
- * 执行删除前,需要更新批注节点位置
58
- */
59
- updateComments(): void {
60
- const { selectionState } = this.docCtx;
61
- const { startControl, startOffset, collapsed, selectedRange } = selectionState;
62
- if (collapsed) {
63
- if (startOffset === 0) {
64
- return;
65
- }
66
- const nextSiblingEle = ElementUtil.getNextSiblingElement(startControl);
67
- //紧挨着的元素
68
- if (nextSiblingEle instanceof CommentElement && nextSiblingEle.props.markType === 'end') {
69
- if (startControl instanceof TextGroupElement) {
70
- if (startControl.textMeasures.length === startOffset) {
71
- this.removeComment(nextSiblingEle.props.id);
72
- }
73
- } else {
74
- this.removeComment(nextSiblingEle.props.id);
75
- }
76
- }
77
- } else {
78
- //如果开始批注被选中,则需要移动开始批注元素到选区末尾
79
- //如果结束批注被选中,则需要删除当前批注
80
- if (!selectedRange) {
81
- return
82
- }
83
- const endRange = RangeUtil.getEndRangeTarget(selectedRange);
84
- if (!endRange) {
85
- return
86
- }
87
- const commPairs: Array<CommMarkSelectedStatus> = [];
88
- for (let i = 0; i < this.commContentList.length; i++) {
89
- const { startMark, endMark } = this.commContentList[i];
90
- const commPair: CommMarkSelectedStatus = {
91
- startMark,
92
- endMark,
93
- startMarkStatus: RangeUtil.checkElementFullInRange(selectedRange, startMark),
94
- endMarkStatus: RangeUtil.checkElementFullInRange(selectedRange, endMark),
95
- };
96
- commPairs.push(commPair)
97
- }
98
-
99
- for (let i = 0; i < commPairs.length; i++) {
100
- const commPair = commPairs[i];
101
- if (commPair.endMarkStatus) {
102
- this.removeComment(commPair.endMark.props.id);
103
- } else if (commPair.startMarkStatus) {
104
- // const newStartMark = new CommentElement();
105
- // newStartMark.props.id = commPair.startMark.props.id;
106
- // commPair.startMark.isDecorate = false;
107
- // DocumentChange.insertElement(endRange.target, endRange.endOffset, [newStartMark]);
108
- }
109
- }
110
- }
111
- }
112
-
113
-
114
- /**
115
- * 删除批注
116
- * @param id
117
- */
118
- removeComment(id: string): void {
119
- const commentMarks = this.commMarkList.filter(item => item.props.id === id);
120
- const commentContent = this.commContentList.find(item => item.props.id === id);
121
- commentMarks.forEach(item => item.remove())
122
- commentContent?.remove();
123
- this.afterCommentsChanged();
124
- }
125
-
126
- getCommMarkIndex(commMark: CommentElement): number {
127
- const markType = commMark.props.markType;
128
- const commList = this.docCtx.document.treeFilter(item => item.type === 'comm') as Array<CommentElement>;
129
- const startCommList = commList.filter(item => item.props.markType === markType);
130
- return startCommList.indexOf(commMark);
131
- }
132
-
133
- /**
134
- * 清除所有批注
135
- */
136
- clearAllComments(): void {
137
- this.readComments();
138
- for (let i = 0; i < this.commContentList.length; i++) {
139
- this.removeComment(this.commContentList[i].props.id);
140
- }
141
- this.docCtx.selectionState.clear();
142
- }
143
-
144
- /**
145
- * 清除所有的验证批注
146
- */
147
- clearAllValidates(): void {
148
- this.docCtx.document.treeFilter(item => item.type === 'validate').forEach(item => { this.removeComment(item.props.id) })
149
- }
150
-
151
- /**
152
- * 批注修改后事件
153
- * 用于标注当前文档的批注发生更改了,不再重复读取批注,提高性能
154
- */
155
- afterCommentsChanged(): void {
156
- this.isDirty = true;
157
- }
158
-
159
-
160
- }
161
-
162
-
163
- export interface CommMarkSelectedStatus {
164
- startMark: CommentElement,
165
- endMark: CommentElement,
166
- startMarkStatus: boolean,
167
- endMarkStatus: boolean
168
- }
@@ -1,410 +0,0 @@
1
- import { DocumentEvalFunc } from "./document-eval-func";
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";
7
- import { DataElementInlineGroup, DataElementLeaf, validateDataEle } from "./impl/data-element/data-element-base-impl";
8
- import { DataElementCheck } from "./impl/data-element/data-element-check-impl";
9
- import { DocumentElement } from "./impl/document/doc-impl";
10
- import { TrackRunElement, TrackRunTypeEnum } from "@/med_editor/framework/impl/text/track-run-impl";
11
- import { ElementUtil } from "./element-util";
12
- import { DocumentBodyPartElement } from "./impl/document/doc-body-part-impl";
13
- import { DocumentChange } from "./document-change";
14
- 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
- /**
23
- * 当前打开的文档的上下文信息,当前文档所有的属性设置都暴露在上下文中
24
- */
25
- export class EditorContext {
26
- isDirty: boolean = false;
27
- cursorRect!: Rect | null;
28
- private _document!: DocumentElement;
29
- //文档刷新的订阅事件
30
- //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) {
37
- this.dynamicFunc = new DocumentEvalFunc(this);
38
- this.imageLoader = new DocumentImagesLoader();
39
- this.selectionState.onChangedEvent.subscribe(() => {
40
- this.syncRefresh?.();
41
- });
42
- }
43
-
44
- public get document(): DocumentElement {
45
- return this._document;
46
- }
47
-
48
- public set document(value: DocumentElement) {
49
- this.clearPrevDocCb?.();
50
- this._document = value;
51
- this.initScripts();
52
- // this.refSub = this._document.refreshSubject.subscribe((data) => {
53
- // data = data ?? 'content';
54
- // this.isDirty = this.isDirty || data === 'content';
55
- // this.syncRefresh?.(data);
56
- // });
57
- const docRefreshSub = this._document.refreshSubject.subscribe(() => {
58
- this.syncRefresh?.();
59
- });
60
- const docChangedSub = this._document.onChangeSubject.subscribe(() => {
61
- this.syncRefresh?.();
62
- });
63
- this.syncRefresh();
64
- this.clearPrevDocCb = () => {
65
- docRefreshSub.unsubscribe();
66
- docChangedSub.unsubscribe();
67
- if (this._document) {
68
- this.selectionState?.renderContainer?.destroy();
69
- this.clear();
70
- this._document.destroy();
71
- }
72
- this.clearPrevDocCb = null;
73
- }
74
- }
75
-
76
- clear(): void {
77
- this.selectionState.clear();
78
- this.imageLoader.clear();;
79
- this.dynamicFunc.destroyScripts();
80
- this.isDirty = false;
81
- }
82
-
83
- get defaultCtx(): DocumentContext {
84
- return new DocumentContext(this._document, this.selectionState);
85
- }
86
-
87
- getCurrentCtx(ele: Element): DocumentContext {
88
- const parentCtx = ElementUtil.getParent(ele, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement) as BranchElement;
89
- return new DocumentContext(parentCtx, this.selectionState);
90
- }
91
-
92
- /**
93
- * 根据当前选区,返回所在的上下文元素,返回类型为DocumentElement|DocumentBodyPartElement
94
- */
95
- getCurrentEleCtx(): BranchElement | null {
96
- const { startControl } = this.selectionState;
97
- if (!startControl) {
98
- return null;
99
- }
100
- const parentCtx = ElementUtil.getParent(startControl, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement) as BranchElement;
101
- return parentCtx;
102
- }
103
-
104
- getCtx(ele: BranchElement): DocumentContext {
105
- return new DocumentContext(ele, this.selectionState);
106
- }
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 {
111
- this.ele_types_handlers.push({
112
- elementType,
113
- eventName,
114
- handler,
115
- useCapture
116
- })
117
- }
118
-
119
- invokeTypeHandler(ele: Element, eventName: EventTypes, e: ElementEvent, useCapture: boolean = false): void {
120
- for (const th of this.ele_types_handlers) {
121
- if (ele instanceof th.elementType && th.eventName === eventName && th.useCapture === useCapture) {
122
- th.handler(e);
123
- }
124
- }
125
- }
126
-
127
- destroy(): void {
128
- this.clear();
129
- this.document.destroy();
130
- this.clearPrevDocCb?.();
131
- this.ele_types_handlers.length = 0;
132
- this.imageLoader.clear();;
133
- }
134
-
135
- /**
136
- * 切换到行打印模式
137
- */
138
- switchTextlineMode(): void {
139
- this.document.viewOptions.textRowLineMode = !this.document.viewOptions.textRowLineMode;
140
- this.syncRefresh();
141
- }
142
-
143
- /**
144
- * 实例化动态脚本
145
- */
146
- private initScripts(): void {
147
- this.dynamicFunc.initScripts(this.document.props.scripts);
148
- }
149
-
150
-
151
- /**
152
- * 替换数据元
153
- */
154
- replaceDataElement(oldDataElement: DataElementLeaf | DataElementInlineGroup, newElement: DataElementLeaf | DataElementInlineGroup, ss: SelectionState): void {
155
- //清除光标
156
- ss.clear();
157
- //执行刷新
158
- //插入新对象到旧对象之前
159
- oldDataElement.parent.addChild(newElement, oldDataElement.getIndex());
160
- //删除旧节点
161
- oldDataElement.remove();
162
- }
163
-
164
- get refreshType(): RefreshType {
165
- return this._document?.modifyFlag === ModifyFlag.None ? 'appearance' : 'content'
166
- }
167
- }
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
- /**
186
- * 文档上下文
187
- */
188
- 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 } }>;
193
- return dataEleList.map(item => item.props.id);
194
- }
195
-
196
- getControlInstanceList(): Array<DataElementInlineGroup | DataElementLeaf> {
197
- return this.ctx.treeFilter(item => validateDataEle(item)) as Array<DataElementInlineGroup | DataElementLeaf>;
198
- }
199
-
200
- getControlById(id: string): DataElementInlineGroup | DataElementLeaf {
201
- return this.ctx.treeFind(item => validateDataEle(item) && (<any>item)['props']['id'] === id) as DataElementInlineGroup | DataElementLeaf;
202
- }
203
-
204
- getControlByName(name: string): DataElementInlineGroup | DataElementLeaf {
205
- return this.ctx.treeFind(item => validateDataEle(item) && (<any>item)['props']['name'] === name) as DataElementInlineGroup | DataElementLeaf;
206
- }
207
-
208
- /**
209
- * 获取数据元值集合
210
- */
211
- getDataElementValues(): Array<DataElementValueStruct> {
212
- const structList = this.getDataElementModelList();
213
- return structList.map<DataElementValueStruct>(item => ({
214
- id: item.id,
215
- name: item.name,
216
- value: item.getValue()
217
- }));
218
- }
219
-
220
- /**
221
- * 获取数据元结构以及get\set闭包调用函数
222
- * @returns
223
- */
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
-
230
- //复选框数据元
231
- const dataCheckList = dataLeafs.filter(item => item instanceof DataElementCheck) as Array<DataElementCheck>;
232
- //除复选框之外的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) } }));
237
- //复选框列表
238
- const dataCheckStructList = this.getDataCheckModelList(dataCheckList);
239
- return [...dataInlineStructList, ...dataCheckStructList, ...dataOtherLeafValues];
240
- }
241
-
242
- /**
243
- * 获取复选框数据元结构列表
244
- * @param dataCheckList
245
- * @returns
246
- */
247
- private getDataCheckModelList(dataCheckList: Array<DataElementCheck>): Array<DataCheckEleModel | DataLeafEleModel> {
248
- //不存在groupName的复选框
249
- const singleCheckList = dataCheckList.filter(item => !item.props.groupName);
250
- //存在groupName的复选框
251
- const groupNames = Array.from(new Set(dataCheckList.filter(item => item.props.groupName).map(item => item.props.groupName)));
252
- const groupCheckListValues = groupNames.map<DataCheckEleModel>((groupName) => {
253
- const groupCheckItems = dataCheckList.filter(item => item.props.groupName === groupName);
254
- return {
255
- id: groupName,
256
- name: groupCheckItems[0].props.name,
257
- fieldName: groupCheckItems[0].props.fieldName,
258
- multiSelect: groupCheckItems[0].props.multiSelect,
259
- item: groupCheckItems,
260
- getValue: () => {
261
- let checkedValue = '';
262
- if (groupCheckItems[0].props.multiSelect) {
263
- checkedValue = groupCheckItems.filter(item => item.props.checked).map(item => item.getValue() + '').join(';');
264
- } else {
265
- const checkedSingleItem = groupCheckItems.find(item => item.props.checked)
266
- if (checkedSingleItem) {
267
- checkedValue = checkedSingleItem.props.checkedValue;
268
- }
269
- };
270
- return checkedValue;
271
- },
272
- setValue: (val: string | Array<string>) => {
273
- //为null时
274
- if (val === null || val === undefined) {
275
- groupCheckItems.forEach(item => item.props.checked = false);
276
- return;
277
- }
278
- if (groupCheckItems[0].props.multiSelect) {
279
- const valItems = typeof val === 'string' ? val.split(';') : val;
280
-
281
- groupCheckItems.forEach(item => {
282
- item.props.checked = valItems.indexOf(item.props.checkedValue + '') >= 0;
283
- });
284
- } else {
285
- groupCheckItems.forEach(item => {
286
- item.props.checked = item.props.checkedValue === val;
287
- });
288
- };
289
- }
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) } }));
293
- return [...singleCheckListValues, ...groupCheckListValues];
294
- }
295
-
296
- /**
297
- * 获取留痕块元素列表
298
- */
299
- getTrackElements(): Array<TrackRunElement> {
300
- return this.ctx.treeFilter(item => item instanceof TrackRunElement) as Array<TrackRunElement>;
301
- }
302
-
303
- getTrackElmeentById(id: string): TrackRunElement | null {
304
- return this.ctx.treeFind(item => item instanceof TrackRunElement && item.props.id === id) as TrackRunElement | null;
305
- }
306
-
307
- /**
308
- * 获取留痕块内数据
309
- */
310
- getTracksData(): Array<TrackBlockData> {
311
- const trackElements = this.getTrackElements();
312
- return trackElements.map(item => {
313
- const trackRun = item as TrackRunElement;
314
- const content = ElementSerialize.serializeString(trackRun, { all: true });
315
- return {
316
- //用户id
317
- userId: trackRun.props.userId,
318
- //用户名称
319
- userName: trackRun.props.userName,
320
- //日期
321
- date: trackRun.props.date,
322
- //类型,ins-run:插入,del-run:删除
323
- type: trackRun.type as TrackRunTypeEnum,
324
- //留痕块id
325
- id: trackRun.props.id,
326
- //内容
327
- content
328
- }
329
- });
330
- }
331
-
332
- setControlValue(id: string, value: string): void {
333
- const dataEle = this.getControlById(id);
334
- if (dataEle) {
335
- dataEle.setValue(value);
336
- }
337
- this.ss.clear();
338
- }
339
-
340
- setControlValueByName(name: string, val: any): void {
341
- const dataEle = this.getControlByName(name)
342
- dataEle.setValue(val)
343
- }
344
-
345
- /**
346
- * 获取复选框选中的值
347
- */
348
- getCheckBoxValues(groupName: string): Array<string> {
349
- const ckbs = this.getCheckBoxList(groupName);
350
- return ckbs.filter(item => item.props.checked).map(item => item.props.checkedValue);
351
- }
352
-
353
- getCheckBoxList(groupName: string): Array<DataElementCheck> {
354
- return this.getControlInstanceList().filter(item => item instanceof DataElementCheck && item.props.groupName === groupName) as Array<DataElementCheck>;
355
- }
356
-
357
- /**
358
- * 当前上下文执行默认绑定
359
- * @param data
360
- */
361
- bindDataValues(data: string | Object | Array<{ key: string, value: any }>, predicateKey: 'id' | 'name' | 'fieldName' = 'fieldName'): void {
362
- this.ss.clear();
363
- let bindData = typeof data === 'string' ? JSON.parse(data) as Object : data;
364
- if (Array.isArray(bindData)) {
365
- const obj = {};
366
- bindData.forEach(item => { obj[item.key] = item.value });
367
- bindData = obj;
368
- }
369
- const dataList = this.getDataElementModelList();
370
- dataList.forEach(item => {
371
- const objKey = item[predicateKey];
372
- if (bindData.hasOwnProperty(objKey)) {
373
- item.setValue(bindData[objKey]);
374
- }
375
- });
376
- }
377
- }
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
- }
@@ -1,53 +0,0 @@
1
- import { EditorContext } from "./document-context";
2
-
3
- export class DocumentEvalFunc {
4
- constructor(public docCtx: EditorContext) {
5
-
6
- }
7
- scriptsFunc!: (() => void) | null;
8
-
9
- /**
10
- * 实例化动态脚本
11
- */
12
- initScripts(scripts: string): void {
13
- this.destroyScripts();
14
- if (scripts) {
15
- try {
16
- const func = new Function("docCtx", scripts)
17
- this.scriptsFunc = func(this.docCtx);
18
- } catch (e) {
19
- console.error("自定义标本解析错误", e);
20
- }
21
-
22
- }
23
- // const func = (docCtx: DocumentContext) => {
24
- // const sexELe = docCtx.getControlById('NqoYI')
25
- // const dyEle = docCtx.getControlById('gTuBI');
26
- // return () => {
27
- // if (sexELe && dyEle) {
28
- // const sexValue = sexELe.getValue();
29
- // const dyValue = sexValue === '1' ? '男的吗' : sexValue === '2' ? '女的吗' : '难道是人妖吗';
30
- // dyEle.setValue(dyValue);
31
- // }
32
- // };
33
- // };
34
- }
35
-
36
- /**
37
- * 销毁动态脚本实例
38
- */
39
- destroyScripts(): void {
40
- if (this.scriptsFunc) {
41
- this.scriptsFunc = null;
42
- }
43
- }
44
-
45
- /**
46
- * 触发动态脚本
47
- */
48
- invokedScripts(): void {
49
- this.scriptsFunc?.();
50
- }
51
-
52
-
53
- }