@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,21 +1,17 @@
1
1
  import { Subject } from "rxjs";
2
- import { BranchElement, LeafElement, Rect, Element, SelectionContentRange, Position } from "./element-define";
3
- import { HitEventInfo, HitRegion } from "./element-event-define";
2
+ import { BranchElement, LeafElement } from "./element-define";
4
3
  import { ElementUtil } from "./element-util";
5
4
  import { DocumentContainerRender } from "./impl/document/doc-container-impl";
6
5
  import { DocumentRenderObject } from "./impl/document/doc-impl";
7
- import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
8
- import { RenderObject } from "./render-define";
6
+ import { TextGroupElement } from "./impl/text/text-impl";
9
7
  import { DocumentBodyElement } from "./impl/document/doc-body-impl";
10
-
11
8
  export class DocumentSelection {
12
9
  constructor() {
13
10
  this.selectionState = new SelectionState();
14
11
  }
15
-
16
- selectionState: SelectionState;
17
- snapshotSelectionState!: SelectionState | null;
18
- setSelectionState(hitInfo: { startHitInfo: HitEventInfo, endHitInfo: HitEventInfo }): void {
12
+ selectionState;
13
+ snapshotSelectionState;
14
+ setSelectionState(hitInfo) {
19
15
  const { startHitInfo, endHitInfo } = hitInfo;
20
16
  this.selectionState.clear();
21
17
  this.selectionState.startHitInfo = startHitInfo;
@@ -26,16 +22,16 @@ export class DocumentSelection {
26
22
  startRange.setStart(startHitInfo.element, startHitInfo.offset);
27
23
  if (endHitInfo) {
28
24
  startRange.setEnd(endHitInfo.element, endHitInfo.offset);
29
- } else {
25
+ }
26
+ else {
30
27
  startRange.setEnd(startHitInfo.element, startHitInfo.offset);
31
28
  }
32
29
  this.selectionState.addRange(startRange);
33
30
  }
34
-
35
31
  /**
36
32
  * 获取选区共同的祖先控件
37
33
  */
38
- static getAncestorCommonControl(startControl: LeafElement, endControl: LeafElement): BranchElement {
34
+ static getAncestorCommonControl(startControl, endControl) {
39
35
  const startNestParents = this.getNestParents(startControl.parent);
40
36
  const ancestorCommonControl = this.getCommonParenet(endControl.parent, startNestParents);
41
37
  if (!ancestorCommonControl) {
@@ -43,21 +39,18 @@ export class DocumentSelection {
43
39
  }
44
40
  return ancestorCommonControl;
45
41
  }
46
-
47
42
  /**
48
43
  * 获取向上的嵌套父级节点集合
49
- * @param control
50
- * @param array
44
+ * @param control
45
+ * @param array
51
46
  */
52
- static getNestParents(control: BranchElement | null): Array<BranchElement> {
47
+ static getNestParents(control) {
53
48
  if (control) {
54
49
  return [control, ...this.getNestParents(control.parent)];
55
50
  }
56
51
  return [];
57
-
58
52
  }
59
-
60
- static getCommonParenet(control: BranchElement | null, array: Array<BranchElement>): BranchElement | null {
53
+ static getCommonParenet(control, array) {
61
54
  if (!control) {
62
55
  return null;
63
56
  }
@@ -66,8 +59,7 @@ export class DocumentSelection {
66
59
  }
67
60
  return this.getCommonParenet(control?.parent, array);
68
61
  }
69
-
70
- updateSelectionState(): boolean {
62
+ updateSelectionState() {
71
63
  if (this.compareSelectionEquals()) {
72
64
  return false;
73
65
  }
@@ -88,31 +80,25 @@ export class DocumentSelection {
88
80
  this.selectionState.addRange(clone);
89
81
  }
90
82
  this.selectionState.editable = range.editable;
91
-
92
- this.selectionState.startControl = range.startControl as LeafElement;
83
+ this.selectionState.startControl = range.startControl;
93
84
  this.selectionState.startOffset = range.startOffset;
94
85
  this.selectionState.startControlIndex = ElementUtil.getControlIndex(range.startControl);
95
-
96
- this.selectionState.endControl = range.endControl as LeafElement;
86
+ this.selectionState.endControl = range.endControl;
97
87
  this.selectionState.endOffset = range.endOffset;
98
88
  this.selectionState.endControlIndex = ElementUtil.getControlIndex(range.endControl);
99
-
100
89
  this.selectionState.ancestorCommonControl = DocumentSelection.getAncestorCommonControl(this.selectionState.startControl, this.selectionState.endControl);
101
-
102
90
  this.selectionState.enableTrackChanges = this.getEnableTrackChanges(range.startControl);
103
91
  return true;
104
92
  }
105
-
106
93
  /**
107
94
  * 获取当前选区区域内是否支持留痕
108
95
  * @private
109
96
  */
110
- private getEnableTrackChanges(ele: Element): boolean {
97
+ getEnableTrackChanges(ele) {
111
98
  const body = ElementUtil.getParentByType(ele, DocumentBodyElement);
112
99
  return body?.trackChanges || false;
113
100
  }
114
-
115
- private compareSelectionEquals(): boolean {
101
+ compareSelectionEquals() {
116
102
  const range = this.selectionState.range;
117
103
  const snap = this.snapshotSelectionState;
118
104
  if (snap && range) {
@@ -123,12 +109,11 @@ export class DocumentSelection {
123
109
  }
124
110
  return false;
125
111
  }
126
-
127
112
  /**
128
113
  * 转换选区内容
129
114
  * 处理结束选区在开始选区之前
130
115
  */
131
- private transformRange(): void {
116
+ transformRange() {
132
117
  let range = this.selectionState.range;
133
118
  if (!range) {
134
119
  return;
@@ -146,7 +131,7 @@ export class DocumentSelection {
146
131
  }
147
132
  range = this.selectionState.range;
148
133
  if (!range) {
149
- throw new Error('range is null')
134
+ throw new Error('range is null');
150
135
  }
151
136
  range.calcRange();
152
137
  if ((range.startControl === range.endControl && range.startOffset > range.endOffset)) {
@@ -156,59 +141,52 @@ export class DocumentSelection {
156
141
  }
157
142
  range.calcRange();
158
143
  }
159
-
160
- takeSnapshot(): void {
144
+ takeSnapshot() {
161
145
  this.snapshotSelectionState = this.selectionState.clone();
162
146
  }
163
-
164
- clearSnapshot(): void {
147
+ clearSnapshot() {
165
148
  this.snapshotSelectionState = null;
166
149
  }
167
-
168
150
  }
169
-
170
151
  export class SelectionState {
171
- get startControl(): LeafElement {
172
- return this._startControl as LeafElement;
152
+ get startControl() {
153
+ return this._startControl;
173
154
  }
174
-
175
- set startControl(value: LeafElement | null) {
155
+ set startControl(value) {
176
156
  this._startControl = value;
177
157
  }
178
-
179
- get endControl(): LeafElement {
180
- return this._endControl as LeafElement;
158
+ get endControl() {
159
+ return this._endControl;
181
160
  }
182
-
183
- set endControl(value: LeafElement | null) {
161
+ set endControl(value) {
184
162
  this._endControl = value;
185
163
  }
186
- onChangedEvent: Subject<void> = new Subject();
187
- startControlIndex!: number;
188
- startOffset!: number;
189
- endControlIndex!: number;
190
- endOffset!: number;
164
+ onChangedEvent = new Subject();
165
+ startControlIndex;
166
+ startOffset;
167
+ endControlIndex;
168
+ endOffset;
191
169
  get collapsed() {
192
170
  const { startControlIndex, startOffset, endControlIndex, endOffset } = this;
193
171
  return !(startControlIndex !== endControlIndex || (startControlIndex === endControlIndex && startOffset !== endOffset));
194
172
  }
195
- private _startControl!: LeafElement | null;
196
- private _endControl!: LeafElement | null;
197
- ancestorCommonControl!: BranchElement | null;
198
- range!: SelectionRange | null;
199
- startHitInfo!: HitEventInfo | null;
200
- selectedRange!: SelectionContentRange | null;
201
- editable: boolean = true;
202
- renderContainer!: DocumentContainerRender;
203
- cursorPos!: Rect | null;
173
+ _startControl;
174
+ _endControl;
175
+ ancestorCommonControl;
176
+ range;
177
+ startHitInfo;
178
+ selectedRange;
179
+ editable = true;
180
+ renderContainer;
181
+ cursorPos;
204
182
  //选区重新计算,触发函数
205
- afterSelectionChanged: ((newVal: SelectionState) => boolean) | null = null;
183
+ afterSelectionChanged = null;
206
184
  //当前选区的上下文是否支持留痕修改
207
- enableTrackChanges: boolean = false;
185
+ enableTrackChanges = false;
208
186
  constructor() {
209
187
  this.clear();
210
188
  }
211
- clear(): void {
189
+ clear() {
212
190
  this.range = null;
213
191
  this.startOffset = -1;
214
192
  this.endOffset = -1;
@@ -220,28 +198,25 @@ export class SelectionState {
220
198
  this.selectedRange = null;
221
199
  this.cursorPos = null;
222
200
  }
223
-
224
- addRange(range: SelectionRange): void {
201
+ addRange(range) {
225
202
  this.clear();
226
203
  this.range = range;
227
204
  this.onChangedEvent.next();
228
205
  }
229
- resetRange(startControl: Element, startOffset: number): SelectionRange {
206
+ resetRange(startControl, startOffset) {
230
207
  const range = new SelectionRange();
231
208
  range.setStart(startControl, startOffset);
232
209
  range.setEnd(startControl, startOffset);
233
210
  this.addRange(range);
234
211
  return range;
235
212
  }
236
-
237
- surround(ele: Element): void {
213
+ surround(ele) {
238
214
  const range = new SelectionRange();
239
215
  range.setStart(ele, 0);
240
216
  range.setEnd(ele, -1);
241
217
  this.addRange(range);
242
218
  }
243
-
244
- clone(): SelectionState {
219
+ clone() {
245
220
  const clone = new SelectionState();
246
221
  clone._startControl = this._startControl;
247
222
  clone.startOffset = this.startOffset;
@@ -253,69 +228,63 @@ export class SelectionState {
253
228
  clone.selectedRange = this.selectedRange;
254
229
  return clone;
255
230
  }
256
-
257
-
258
231
  }
259
-
260
-
261
-
262
232
  export class SelectionRange {
263
- startControl!: Element;
264
- startOffset!: number;
265
- endControl!: Element;
266
- endOffset!: number;
267
- editable: boolean = true;
268
- setStart(control: Element, offset: number): void {
233
+ startControl;
234
+ startOffset;
235
+ endControl;
236
+ endOffset;
237
+ editable = true;
238
+ setStart(control, offset) {
269
239
  this.startControl = control;
270
240
  this.startOffset = offset;
271
241
  }
272
- setEnd(control: Element, offset: number): void {
242
+ setEnd(control, offset) {
273
243
  this.endControl = control;
274
244
  this.endOffset = offset;
275
245
  }
276
-
277
- private calcStart(): void {
246
+ calcStart() {
278
247
  const res = this.setInfo(this.startControl, this.startOffset);
279
248
  this.setStart(res.control, res.offset);
280
249
  }
281
-
282
- private calcEnd(): void {
250
+ calcEnd() {
283
251
  const res = this.setInfo(this.endControl, this.endOffset);
284
252
  this.setEnd(res.control, res.offset);
285
253
  }
286
-
287
- calcRange(): void {
254
+ calcRange() {
288
255
  this.calcStart();
289
256
  this.calcEnd();
290
257
  }
291
-
292
- private setInfo(control: Element, offset: number): { control: LeafElement, offset: number } {
258
+ setInfo(control, offset) {
293
259
  if (control instanceof LeafElement) {
294
260
  if (control instanceof TextGroupElement) {
295
261
  offset = offset === -1 ? control.text.length : offset;
296
262
  }
297
263
  offset = offset === -1 ? 1 : offset;
298
264
  return { control, offset };
299
- } else if (control instanceof BranchElement) {
265
+ }
266
+ else if (control instanceof BranchElement) {
300
267
  if (offset > control.length) {
301
268
  throw new Error('超索引');
302
269
  }
303
270
  if (offset === control.length) {
304
271
  const child = control.getChild(offset - 1);
305
272
  return this.setInfo(child, 1);
306
- } else if (offset === -1) {
273
+ }
274
+ else if (offset === -1) {
307
275
  const child = control.getChild(control.length - 1);
308
276
  return this.setInfo(child, -1);
309
- } else {
277
+ }
278
+ else {
310
279
  const child = control.getChild(offset);
311
280
  return this.setInfo(child, 0);
312
281
  }
313
- } else {
282
+ }
283
+ else {
314
284
  throw new Error('未实现');
315
285
  }
316
286
  }
317
-
318
- clone(): SelectionRange {
287
+ clone() {
319
288
  const clone = new SelectionRange();
320
289
  clone.startControl = this.startControl;
321
290
  clone.startOffset = this.startOffset;
@@ -323,31 +292,29 @@ export class SelectionRange {
323
292
  clone.endOffset = this.endOffset;
324
293
  return clone;
325
294
  }
326
-
327
295
  }
328
-
329
296
  export class DocumentCursor {
330
- static getElementCursorPos(ele: LeafElement, offset: number, hitRegion: HitRegion | undefined, docNum: number): { render: RenderObject, rect: Rect } {
297
+ static getElementCursorPos(ele, offset, hitRegion, docNum) {
331
298
  if (hitRegion === 'body' || hitRegion === 'review') {
332
299
  return this.getElementRenderPos(ele, offset, ele.paintRenders);
333
- } else if (hitRegion === 'footer' || hitRegion === 'header') {
300
+ }
301
+ else if (hitRegion === 'footer' || hitRegion === 'header') {
334
302
  const docContainer = ElementUtil.getParentRender(ele.paintRenders[0], DocumentContainerRender);
335
303
  if (!docContainer) {
336
- throw new Error('docContainer is null')
304
+ throw new Error('docContainer is null');
337
305
  }
338
- const docRender = docContainer.getChild(docNum) as DocumentRenderObject;
306
+ const docRender = docContainer.getChild(docNum);
339
307
  const currDocPaintRenders = ele.paintRenders.filter(item => ElementUtil.getParentRender(item, DocumentRenderObject) === docRender);
340
308
  return this.getElementRenderPos(ele, offset, currDocPaintRenders);
341
309
  }
342
310
  debugger;
343
- throw new Error('未找到元素偏移量对应的光标位置')
311
+ throw new Error('未找到元素偏移量对应的光标位置');
344
312
  }
345
-
346
- private static getElementRenderPos(ele: LeafElement, offset: number, paints: Array<RenderObject>): { render: RenderObject, rect: Rect } {
313
+ static getElementRenderPos(ele, offset, paints) {
347
314
  if (ele instanceof TextGroupElement) {
348
315
  let count = 0;
349
316
  for (let i = 0; i < paints.length; i++) {
350
- const paintRender = paints[i] as TextGroupRenderObject;
317
+ const paintRender = paints[i];
351
318
  let horX = 0;
352
319
  if (paintRender.textMeasures.length + count < offset) {
353
320
  count += paintRender.textMeasures.length;
@@ -355,7 +322,7 @@ export class DocumentCursor {
355
322
  }
356
323
  for (let i = 0; i <= paintRender.textMeasures.length; i++) {
357
324
  if (count === offset || (i === 0 && count + 0.5 === offset)) {
358
- const rect = ElementUtil.getRenderAbsolutePaintRect(paintRender, { x: 0, y: 0 })
325
+ const rect = ElementUtil.getRenderAbsolutePaintRect(paintRender, { x: 0, y: 0 });
359
326
  //上标、下标位置处理
360
327
  if (['superscript', 'subscript'].indexOf(ele.props.vertAlign) >= 0) {
361
328
  rect.height -= ele.props.fontSize / 2;
@@ -367,23 +334,25 @@ export class DocumentCursor {
367
334
  return {
368
335
  render: paintRender,
369
336
  rect
370
- }
337
+ };
371
338
  }
372
339
  count++;
373
340
  horX += paintRender.textMeasures[i].actualSize;
374
341
  }
375
342
  }
376
- } else {
343
+ }
344
+ else {
377
345
  const paintRender = paints[0];
378
- const rect = ElementUtil.getRenderAbsolutePaintRect(paintRender, { x: 0, y: 0 })
346
+ const rect = ElementUtil.getRenderAbsolutePaintRect(paintRender, { x: 0, y: 0 });
379
347
  if (offset === 1) {
380
348
  rect.x += rect.width;
381
349
  }
382
350
  return {
383
351
  render: paintRender,
384
352
  rect
385
- }
353
+ };
386
354
  }
387
- throw new Error('未能定位到元素位置')
355
+ throw new Error('未能定位到元素位置');
388
356
  }
389
357
  }
358
+ //# sourceMappingURL=document-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-selection.js","sourceRoot":"lib/","sources":["framework/document-selection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DocumentElement } from "./impl/document/doc-impl";
2
+ export declare class DocumentTemplate {
3
+ static createA4Doc(): DocumentElement;
4
+ }
@@ -4,9 +4,8 @@ import { DocumentBodyElement } from "./impl/document/doc-body-impl";
4
4
  import { DocumentFooterElement } from "./impl/document/doc-footer-impl";
5
5
  import { DocumentHeaderElement } from "./impl/document/doc-header-impl";
6
6
  import { DocumentElement } from "./impl/document/doc-impl";
7
-
8
7
  export class DocumentTemplate {
9
- static createA4Doc(): DocumentElement {
8
+ static createA4Doc() {
10
9
  const doc = new DocumentElement();
11
10
  doc.props = new DocumentProps();
12
11
  doc.props.width = 210;
@@ -17,4 +16,5 @@ export class DocumentTemplate {
17
16
  doc.addChild(new DocumentFooterElement());
18
17
  return doc;
19
18
  }
20
- }
19
+ }
20
+ //# sourceMappingURL=document-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-template.js","sourceRoot":"lib/","sources":["framework/document-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,OAAO,gBAAgB;IACzB,MAAM,CAAC,WAAW;QACd,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,GAAG,CAAC,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,GAAG,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACxC,GAAG,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { ViewOptions, Element } from "./element-define";
2
+ import { RenderContenxtType } from "./render-context";
3
+ /**
4
+ * 文字行渲染模式
5
+ 用于医嘱打印模式
6
+ */
7
+ export declare function runTextLineRender(ele: Element, options: ViewOptions, renderCtx: RenderContenxtType): void;
@@ -0,0 +1,30 @@
1
+ import { BranchElement } from "./element-define";
2
+ import { ElementUtil } from "./element-util";
3
+ import { TableElement, textLineRenderMode } from "./impl/table/table-impl";
4
+ /**
5
+ * 文字行渲染模式
6
+ 用于医嘱打印模式
7
+ */
8
+ export function runTextLineRender(ele, options, renderCtx) {
9
+ if (!options.textRowLineMode) {
10
+ return;
11
+ }
12
+ if (ele instanceof TableElement) {
13
+ textLineRenderMode(ele, options, renderCtx);
14
+ remeasureParentRenders(ele.measureRender);
15
+ return;
16
+ }
17
+ if (ele instanceof BranchElement) {
18
+ for (let i = 0; i < ele.length; i++) {
19
+ runTextLineRender(ele.getChild(i), options, renderCtx);
20
+ }
21
+ }
22
+ }
23
+ function remeasureParentRenders(render) {
24
+ if (!render) {
25
+ return;
26
+ }
27
+ ElementUtil.remeasure(render);
28
+ remeasureParentRenders(render.parent);
29
+ }
30
+ //# sourceMappingURL=document-textline-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-textline-mode.js","sourceRoot":"lib/","sources":["framework/document-textline-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI3E;;;EAGE;AACF,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,OAAoB,EAAE,SAA6B;IAC/F,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QAC1B,OAAO;KACV;IACD,IAAI,GAAG,YAAY,YAAY,EAAE;QAC7B,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5C,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACzC,OAAO;KACV;IACD,IAAI,GAAG,YAAY,aAAa,EAAE;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SAC1D;KACJ;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA2B;IACvD,IAAI,CAAC,MAAM,EAAE;QACT,OAAM;KACT;IACD,WAAW,CAAC,SAAS,CAAC,MAAoC,CAAC,CAAA;IAC3D,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAEzC,CAAC"}