@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,573 +0,0 @@
1
- import { runTextLineRender } from "./document-textline-mode";
2
- import {
3
- BlockContainerElement,
4
- BlockContentElement,
5
- BranchElement,
6
- Element,
7
- InlineGroupElement,
8
- LeafElement,
9
- ModifyFlag,
10
- ViewOptions
11
- } from "./element-define";
12
- import { DataEleBaseProps, DataEleBaseTextProps, TextProps } from "./element-props";
13
- import { ElementUtil } from "./element-util";
14
- import { DataElementInlineGroup } from "./impl/data-element/data-element-base-impl";
15
- import { FillNullSpaceRenderObject } from "./impl/decorate/fill-null-space-imple";
16
- import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
17
- import { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from "./impl/paragraph/p-impl";
18
- import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
19
- import { RenderContenxtType } from "./render-context";
20
- import {
21
- BlockContainerRenderObject,
22
- BlockContentRenderObject,
23
- BranchRenderObject,
24
- InlineGroupRenderObject,
25
- LeafRenderObject,
26
- RenderObject
27
- } from "./render-define";
28
- interface ICutLineData { firstItem: RenderObject | null, lastItem: RenderObject | null, br?: boolean }
29
- /**
30
- * 测量阶段,生成Render-UI
31
- */
32
- export class ElementMeasure {
33
- constructor(private options: ViewOptions, private renderCtx: RenderContenxtType) { }
34
-
35
- measureDocument(document: DocumentElement): DocumentRenderObject {
36
- this.clearPaintCache(document);
37
- const docRender = this.measureControl(document, this.options.docPageSettings.width) as DocumentRenderObject;
38
- this.setMeasureCompletedModifyFlag(document);
39
- runTextLineRender(document, this.options, this.renderCtx);
40
- return docRender;
41
- }
42
-
43
- measureControl(element: Element, maxWidth: number): RenderObject | null {
44
- if (element.modifyFlag === ModifyFlag.None) {
45
- return element.measureRender;
46
- }
47
- if (element instanceof BlockContentElement) {
48
- const render = element.createRenderObject(this.options, this.renderCtx) as BlockContentRenderObject;
49
- element.measureRender = render;
50
- //测量阶段,只限制最大宽度即可
51
- render.setRenderWidth(maxWidth);
52
- if (element instanceof ParagraphElement) {
53
- this.measureParagraph(element, render as ParagraphRenderObject);
54
- } else {
55
- throw new Error('未实现');
56
- }
57
- return render;
58
-
59
- } else if (element instanceof BlockContainerElement) {
60
- ElementUtil.fixBlockContainer(element);
61
- let render: BlockContainerRenderObject | null = null;
62
- if (element.modifyFlag === ModifyFlag.Modify || element.modifyFlag === ModifyFlag.Track) {
63
- ElementUtil.fixBlockContainer(element);
64
- element.measureRender = null;
65
- render = element.createRenderObject(this.options, this.renderCtx) as BlockContainerRenderObject;
66
- if (!render) {
67
- element.measureRender = null;
68
- return null;
69
- }
70
- if (render.rect.maxWidth === 0) {
71
- render.setRenderWidth(maxWidth);
72
- }
73
- }
74
- if (!render) {
75
- throw new Error('render is null')
76
- }
77
- element.measureRender = render;
78
- const innerMaxWidth = render.getInnerMaxWidth();
79
- for (let i = 0; i < element.length; i++) {
80
- const child = element.getChild(i);
81
- const blockContentELement = child as BlockContentElement;
82
- const childRender = this.measureControl(blockContentELement, innerMaxWidth) as BlockContentRenderObject;
83
- if (!childRender) {
84
- continue;
85
- }
86
- render.addChild(childRender);
87
- }
88
- ElementUtil.remeasure(render);
89
- return render;
90
- } else {
91
- throw new Error('未实现');
92
- }
93
- }
94
-
95
- /**
96
- * 生成段落 UI 树
97
- * @param para
98
- * @param render
99
- */
100
- measureParagraph(para: ParagraphElement, render: ParagraphRenderObject): void {
101
- ElementUtil.fixParagraphContent(para);
102
- this.setParagraphDefaultTextProps(para);
103
- const renderObjects: Array<RenderObject> = [];
104
- for (let i = 0; i < para.length; i++) {
105
- const child = para.getChild(i);
106
- if (child instanceof InlineGroupElement) {
107
- child.measureRender = this.getInlineGroupRenderItem(child);
108
- if (child.measureRender) {
109
- renderObjects.push(child.measureRender);
110
- }
111
- }
112
- else if (child instanceof LeafElement) {
113
- child.measureRender = child.createRenderObject(this.options, this.renderCtx);
114
- if (child.measureRender) {
115
- renderObjects.push(child.measureRender);
116
- }
117
- }
118
- }
119
- this.measureInnerParagraph(render, para, renderObjects);
120
- }
121
-
122
-
123
- /**
124
- * 设置段落默认文本属性
125
- * 当前段落属于空段落时,键入文本时,文本的默认属性
126
- */
127
- setParagraphDefaultTextProps(para: ParagraphElement): void {
128
- const lastTextGroup = ElementUtil.getLastLeafElement(para, (item) => item instanceof TextGroupElement) as TextGroupElement;
129
- const defaultTextProps = lastTextGroup ? lastTextGroup.props.clone(new TextProps()) : ElementUtil.createTextProps(null, this.options);
130
- if (para.props.textProps && para.props.textProps.equals(defaultTextProps)) {
131
- return;
132
- }
133
- para.props.textProps = defaultTextProps;
134
- }
135
-
136
- /**
137
- * 根据段落UI元素,进行排列
138
- * @param render
139
- * @param paragraph
140
- * @param renderObjects
141
- */
142
- measureInnerParagraph(render: ParagraphRenderObject, paragraph: ParagraphElement, renderObjects: Array<RenderObject>) {
143
- let lineRect = render.createLineRect();
144
- //行内框
145
- const innerLineRects: Array<ParagraphLineRectRenderObject> = [];
146
- const addInnerLineFunc = (lineRect: ParagraphLineRectRenderObject): void => {
147
- innerLineRects.push(lineRect);
148
- if (lineRect.rect.maxWidth <= 0) {
149
- throw new Error('lineRect.rect.maxWidth is ' + lineRect.rect.maxWidth)
150
- }
151
- if (innerLineRects.indexOf(lineRect) === 0) {
152
- if (paragraph.props.indent > 0) {
153
- lineRect.rect.maxWidth -= paragraph.props.indent;
154
- }
155
- } else {
156
- lineRect.rect.maxWidth -= paragraph.props.hanging;
157
- }
158
- };
159
- addInnerLineFunc(lineRect);
160
- let i = 0;
161
- let currItem = renderObjects[i++];
162
- const inCloseBody = paragraph.parent.type === 'body';
163
- while (currItem) {
164
- const maxWidth = lineRect.rect.maxWidth as number;
165
- const nextItem = renderObjects[i];
166
- const { firstItem, lastItem, br } = this.cutRenderItem(currItem, nextItem, maxWidth - lineRect.rect.width, lineRect.length === 0, inCloseBody);
167
- if (firstItem) {
168
- if (lastItem) {
169
- renderObjects.splice(i, 0, lastItem);
170
- }
171
- currItem = firstItem;
172
- } else {
173
- lineRect = render.createLineRect();
174
- addInnerLineFunc(lineRect);
175
- continue;
176
- }
177
- lineRect.addChild(currItem);
178
- currItem.rect.x = lineRect.rect.width;
179
- if (currItem.rect.height > lineRect.rect.height) {
180
- lineRect.rect.height = currItem.rect.height;
181
- }
182
- lineRect.rect.width += currItem.rect.width;
183
- if (br) {
184
- //lineRect.rect.maxWidth = lineRect.rect.width;
185
- lineRect = render.createLineRect();
186
- addInnerLineFunc(lineRect);
187
- }
188
- currItem = renderObjects[i++];
189
- }
190
- for (let i = 0; i < innerLineRects.length; i++) {
191
- const innerLineRect = innerLineRects[i] as ParagraphLineRectRenderObject;
192
- innerLineRect.rect.x = this.getParaLineRectStartX(innerLineRects.length, i, paragraph, render, innerLineRect);
193
- //限制最大行高
194
- const maxLineHeight = Math.floor(14 * 1.3);
195
- //fillLineHeight填充行高
196
- let fillLineHeight = Math.ceil(innerLineRect.rect.height * (paragraph.props.lineHeight - 1));
197
- fillLineHeight = fillLineHeight > maxLineHeight ? maxLineHeight : fillLineHeight;
198
- const lineHeight = innerLineRect.rect.height + fillLineHeight;
199
- const paddingBottom = Math.ceil(fillLineHeight / 2);
200
- innerLineRect.rect.height = lineHeight;
201
- for (let j = 0; j < innerLineRect.length; j++) {
202
- const leaf = innerLineRect.getChild(j);
203
- leaf.rect.y = innerLineRect.rect.height - paddingBottom - leaf.rect.height;
204
- }
205
- //render.rect.height += lineRect.rect.height;
206
- const outterLineRect = render.createLineRect();
207
- outterLineRect.rect.width = outterLineRect.rect.maxWidth as number;
208
- outterLineRect.addChild(innerLineRect);
209
- ElementUtil.remeasure(outterLineRect, false);
210
- render.addChild(outterLineRect);
211
- }
212
- ElementUtil.remeasure(render);
213
- }
214
-
215
- /**
216
- * 获取段落行布局横向坐标起始位置,被段落text-align影响
217
- */
218
- getParaLineRectStartX(counter: number, paraLineIndex: number, paraElement: ParagraphElement, paraRenderObject: ParagraphRenderObject, paraLineRender: ParagraphLineRectRenderObject): number {
219
- //左对齐,首行缩进
220
- let indent = paraElement.props.indent;
221
- //存在项目符号
222
- if (paraLineIndex > 0) {
223
- indent = paraElement.props.hanging;
224
- }
225
- if (paraElement.props.textAlign === 'center') {
226
- const remainSpace = paraRenderObject.rect.width - paraLineRender.rect.width;
227
- return Math.ceil(remainSpace / 2) + indent;
228
- } else if (paraElement.props.textAlign === 'right') {
229
- const remainSpace = paraRenderObject.rect.width - paraLineRender.rect.width;
230
- return remainSpace + indent;
231
- } else if (paraElement.props.textAlign === 'justify') {
232
- const renderUnitCount = this.getRenderUnitLength(paraLineRender);
233
- if (paraLineIndex === counter - 1 || renderUnitCount === 1) {
234
- return indent;
235
- }
236
- const spaceWidth = (<number>paraLineRender.rect.maxWidth - paraLineRender.rect.width) / (renderUnitCount - 1);
237
- this.setAlignJustify(paraLineRender, 0, spaceWidth);
238
- return indent;
239
- } else {
240
- return indent;
241
- }
242
- }
243
-
244
- /**
245
- * 设置两端对齐
246
- * @param render
247
- * @param count
248
- * @param spaceWidth
249
- */
250
- private setAlignJustify(render: RenderObject, count: number, spaceWidth: number): number {
251
- if (render instanceof BranchRenderObject) {
252
- let width = 0;
253
- for (let i = 0; i < render.length; i++) {
254
- const currRender = render.getChild(i);
255
- count += this.setAlignJustify(currRender, count, spaceWidth);
256
- currRender.rect.x = width;
257
- width += currRender.rect.width;
258
- }
259
- render.rect.width = width;
260
- } else if (render instanceof LeafRenderObject) {
261
- if (render instanceof TextGroupRenderObject) {
262
- let i = count === 0 ? 1 : 0;
263
- for (; i < render.textMeasures.length; i++) {
264
- render.textMeasures[i].actualSize = render.textMeasures[i].actualSize + spaceWidth;
265
- }
266
- render.measure();
267
- count += render.textMeasures.length;
268
- } else {
269
- if (count !== 0) {
270
- render.rect.width += spaceWidth;
271
- }
272
- count += 1;
273
- }
274
- }
275
- return count;
276
- }
277
-
278
- /**
279
- * 获取段落行渲染单位个数,字符需要计算为字符长度
280
- */
281
- private getRenderUnitLength(paraLine: RenderObject): number {
282
- if (paraLine instanceof LeafRenderObject) {
283
- if (paraLine instanceof TextGroupRenderObject) {
284
- return paraLine.textMeasures.length;
285
- } else {
286
- return 1;
287
- }
288
- } else if (paraLine instanceof BranchRenderObject) {
289
- let count = 0;
290
- for (let i = 0; i < paraLine.length; i++) {
291
- count += this.getRenderUnitLength(paraLine.getChild(i));
292
- }
293
- return count;
294
- }
295
- throw new Error('未到达计算位置')
296
- }
297
-
298
-
299
- getInlineGroupRenderItem(item: InlineGroupElement): RenderObject | null {
300
- const inlineGroupRender = item.createRenderObject(this.options, this.renderCtx) as InlineGroupRenderObject;
301
- if (!inlineGroupRender) {
302
- return null;
303
- }
304
- for (let i = 0; i < item.length; i++) {
305
- const child = item.getChild(i);
306
- child.beginMeasure();
307
- if (child instanceof LeafElement) {
308
- child.measureRender = child.createRenderObject(this.options, this.renderCtx);
309
- if (child.measureRender) {
310
- inlineGroupRender.addChild(child.measureRender);
311
- }
312
- } else if (child instanceof InlineGroupElement) {
313
- item.measureRender = this.getInlineGroupRenderItem(child);
314
- if (item.measureRender) {
315
- inlineGroupRender.addChild(item.measureRender);
316
- }
317
- } else {
318
- throw new Error('未实现')
319
- }
320
- }
321
-
322
- ElementUtil.remeasureInlineGroupRender(inlineGroupRender);
323
- //限制最小长度
324
- if (item instanceof DataElementInlineGroup) {
325
- //需要填充null-text
326
- if (item.length === 2) {
327
- const nullText = new TextGroupElement();
328
- nullText.isDecorate = true;
329
- nullText.disableClick = true;
330
- const baseTextProps = (<any>item).props as DataEleBaseTextProps;
331
- nullText.text = baseTextProps.nullText as string;
332
- baseTextProps.nullTextProps.clone(nullText.props);
333
- const nullTextRender = nullText.createRenderObject(this.options, this.renderCtx);
334
- inlineGroupRender.insertChild(nullTextRender, 1);
335
- ElementUtil.remeasureInlineGroupRender(inlineGroupRender);
336
- }
337
- const props = (<any>item).props as DataEleBaseProps;
338
- let minLength = props.minLength ?? 14;
339
- minLength = minLength < 14 ? 14 : minLength;
340
- if (item instanceof DataElementInlineGroup && inlineGroupRender.rect.width < minLength) {
341
- const fillNullSpace = new FillNullSpaceRenderObject();
342
- fillNullSpace.rect.width = minLength - inlineGroupRender.rect.width;
343
- fillNullSpace.rect.height = inlineGroupRender.rect.height;
344
- inlineGroupRender.insertChild(fillNullSpace, inlineGroupRender.length - 1);
345
- }
346
- ElementUtil.remeasureInlineGroupRender(inlineGroupRender);
347
- }
348
- return inlineGroupRender;
349
- }
350
-
351
-
352
- cutRenderItem(render: RenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData {
353
- if (render instanceof LeafRenderObject) {
354
- if (render.rect.width > limitWidth && render instanceof TextGroupRenderObject) {
355
- return this.cutTextRender(render, nextRender, limitWidth, lineEmpty, inCloseBody);
356
- }
357
- if (render instanceof FillNullSpaceRenderObject) {
358
- return this.cutFillNullRender(render, limitWidth);
359
- }
360
- if (render.rect.width < limitWidth || lineEmpty || render.element.type === 'br' || render.element.type === 'psym') {
361
- return { firstItem: render, lastItem: null, br: render.element.type === 'br' };
362
- }
363
- return { firstItem: null, lastItem: null };
364
- } else if (render instanceof InlineGroupRenderObject) {
365
- return this.cutInlineGroupRenderItem(render, limitWidth, lineEmpty, inCloseBody);
366
- }
367
- throw new Error('到达计算边界')
368
- }
369
-
370
- cutTextRender(render: TextGroupRenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData {
371
- let sumWidth = 0;
372
- const cutRender = render.clone() as TextGroupRenderObject;
373
- cutRender.textMeasures.length = 0;
374
- let i = 0;
375
- for (; i < render.textMeasures.length; i++) {
376
- sumWidth += render.textMeasures[i].actualSize;
377
- if (sumWidth > limitWidth) {
378
- if (lineEmpty && i === 0) {
379
- i = 1;
380
- }
381
- break;
382
- }
383
- }
384
- //后置标点处理
385
- i = this.patchHandlePostPunctuation(render, nextRender, i, inCloseBody, lineEmpty);
386
- //前置标点处理
387
- i = this.patchHandleLeadingPunctuation(render, i, lineEmpty);
388
- if (i <= 0) {
389
- return { firstItem: null, lastItem: null };
390
- }
391
-
392
- cutRender.textMeasures = render.textMeasures.splice(0, i);
393
- render.measure();
394
- cutRender.measure();
395
- return { firstItem: cutRender, lastItem: render, br: true };
396
- }
397
-
398
- /**
399
- * 处理前置标点,前置标点不能出现在末尾
400
- * @param render
401
- * @param i
402
- */
403
- private patchHandleLeadingPunctuation(render: TextGroupRenderObject, i: number, lineEmpty: boolean): number {
404
- if (i === 1 && lineEmpty) {
405
- return i;
406
- }
407
- if (this.containLeadingPunctuation(render.textMeasures[i]?.char)) {
408
- return i--;
409
- }
410
- return i;
411
- }
412
-
413
- /**
414
- * 处理后置标点,后置标点不能出现在行首
415
- * @param render
416
- * @param i
417
- * @param lineEmpty
418
- */
419
- private patchHandlePostPunctuation(render: TextGroupRenderObject, nextRender: RenderObject, i: number, inCloseBody: boolean, lineEmpty: boolean): number {
420
- if (i === render.textMeasures.length - 1) {
421
- //紧跟着的字符包含后置标点
422
- if (this.containerStartSymbolInTextStart(nextRender)) {
423
- i--;
424
- }
425
- }
426
- if (inCloseBody && this.containPostPunctuation(render.textMeasures[i]?.char)) {
427
- if (this.containPostPunctuation(render.textMeasures[i + 1]?.char)) {
428
- i--;
429
- } else {
430
- i++;
431
- }
432
- } else {
433
- if (i <= 1) {
434
- //debugger;
435
- }
436
- if (i > 1 && this.containPostPunctuation(render.textMeasures[i]?.char)) {
437
- i--;
438
- }
439
- }
440
- return i;
441
- }
442
-
443
- /**
444
- * 是否包含后置标点
445
- * @param str
446
- * @returns
447
- */
448
- private containPostPunctuation(str: string): boolean {
449
- return '!),.:;?]}¨·ˇˉ―‖’”…∶、。〃々〉》」』】〕〗!"'),.:;?]`|}~¢'.indexOf(str) > -1;
450
- }
451
-
452
- //是否包含前置标点
453
- private containLeadingPunctuation(str: string): boolean {
454
- return '‘“〈《「『【〔〖([{£'.indexOf(str) > -1;
455
- }
456
-
457
- /**
458
- * 文本开头是否包含后置标点
459
- * @param render
460
- * @returns
461
- */
462
- private containerStartSymbolInTextStart(render: RenderObject): boolean {
463
- //return false;
464
- if (render instanceof TextGroupRenderObject) {
465
- if (render.textMeasures.length > 0) {
466
- return this.containPostPunctuation(render.textMeasures[0].char);
467
- }
468
- }
469
- return false;
470
- }
471
-
472
- cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData {
473
- if (limitWidth === 0) {
474
- return { firstItem: null, lastItem: null }
475
- }
476
- if (render.rect.width > limitWidth) {
477
- const cutRender = new FillNullSpaceRenderObject();
478
- cutRender.rect.width = limitWidth;
479
- cutRender.rect.height = render.rect.height;
480
- render.rect.width = render.rect.width - limitWidth;
481
- return { firstItem: cutRender, lastItem: render }
482
- } else {
483
- return { firstItem: render, lastItem: null }
484
- }
485
- }
486
-
487
- /**
488
- * 行内编组元素超出行内可用空间,需要根据剩余空间长度进行截断
489
- */
490
- cutInlineGroupRenderItem(render: InlineGroupRenderObject, limitWidth: number, emptyLine: boolean, inCloseBody: boolean): ICutLineData {
491
- const cutRender = render.element.createRenderObject(this.options, this.renderCtx) as InlineGroupRenderObject;
492
- let x = 0;
493
- let br = false;
494
- const items = [...render.getItems()];
495
- for (let i = 0; i < items.length; i++) {
496
- const child = items[i];
497
- if (child instanceof LeafRenderObject) {
498
- if (x + child.rect.width > limitWidth) {
499
- const { firstItem, lastItem, br: childBr } = this.cutRenderItem(child, items[i + 1], limitWidth - x, emptyLine && cutRender.length === 0, inCloseBody);
500
- if (firstItem) {
501
- cutRender.addChild(firstItem);
502
- if (lastItem) {
503
- //items.push(lastItem);
504
- //items.splice(i + 1, 0, lastItem)
505
- }
506
- }
507
- br = childBr || br;
508
- break;
509
- } else {
510
- render.removeChild(child);
511
- cutRender.addChild(child);
512
- }
513
- //软换行符
514
- if (child.element && child.element.type === 'br') {
515
- br = true;
516
- break;
517
- }
518
- } else if (child instanceof InlineGroupRenderObject) {
519
- if (x + child.rect.width > limitWidth) {
520
- const { firstItem, br: childBr } = this.cutInlineGroupRenderItem(child, limitWidth - x, emptyLine && cutRender.length === 0, inCloseBody);
521
- if (firstItem) {
522
- cutRender.addChild(firstItem);
523
- }
524
- br = childBr || br;
525
- break;
526
- } else {
527
- render.removeChild(child);
528
- cutRender.addChild(child);
529
- }
530
- }
531
- x += child.rect.width;
532
- }
533
- if (!cutRender.length) {
534
- return { firstItem: null, lastItem: null };
535
- }
536
- ElementUtil.remeasureInlineGroupRender(cutRender);
537
- ElementUtil.remeasureInlineGroupRender(render);
538
- return { firstItem: cutRender, lastItem: render.length ? render : null, br };
539
- }
540
-
541
- /**
542
- * 修改测量完毕后的元素状态
543
- * @param ele
544
- */
545
- setMeasureCompletedModifyFlag(ele: Element): void {
546
- if (ele instanceof BranchElement) {
547
- for (let i = 0; i < ele.length; i++) {
548
- this.setMeasureCompletedModifyFlag(ele.getChild(i));
549
- }
550
- }
551
- ele.modifyFlag = ModifyFlag.None;
552
- }
553
-
554
- clearPaintCache(ele: Element): void {
555
- ele.beginMeasure();
556
- if (ele instanceof BranchElement) {
557
- for (let i = 0; i < ele.length; i++) {
558
- this.clearPaintCache(ele.getChild(i));
559
- }
560
- }
561
- }
562
-
563
- endMeasures(ele: Element): void {
564
- if (ele instanceof BranchElement) {
565
- for (let i = 0; i < ele.length; i++) {
566
- this.endMeasures(ele.getChild(i));
567
- }
568
- }
569
- }
570
-
571
-
572
-
573
- }