@hailin-zheng/editor-core 1.0.10 → 1.0.14

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 (300) hide show
  1. package/lib/doc-ruler.d.ts +51 -0
  2. package/lib/doc-ruler.js +313 -0
  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/lib/framework/document-change.js +1342 -0
  9. package/lib/framework/document-change.js.map +1 -0
  10. package/lib/framework/document-combine.d.ts +24 -0
  11. package/lib/framework/document-combine.js +40 -0
  12. package/lib/framework/document-combine.js.map +1 -0
  13. package/lib/framework/document-comment.d.ts +46 -0
  14. package/lib/framework/document-comment.js +148 -0
  15. package/lib/framework/document-comment.js.map +1 -0
  16. package/lib/framework/document-context.d.ts +149 -0
  17. package/lib/framework/document-context.js +330 -0
  18. package/lib/framework/document-context.js.map +1 -0
  19. package/lib/framework/document-eval-func.d.ts +18 -0
  20. package/lib/framework/document-eval-func.js +48 -0
  21. package/lib/framework/document-eval-func.js.map +1 -0
  22. package/lib/framework/document-event.d.ts +213 -0
  23. package/lib/framework/document-event.js +1054 -0
  24. package/lib/framework/document-event.js.map +1 -0
  25. package/lib/framework/document-history.d.ts +26 -0
  26. package/lib/framework/document-history.js +65 -0
  27. package/lib/framework/document-history.js.map +1 -0
  28. package/lib/framework/document-images-loader.d.ts +16 -0
  29. package/lib/framework/document-images-loader.js +66 -0
  30. package/lib/framework/document-images-loader.js.map +1 -0
  31. package/lib/framework/document-input-cursor.d.ts +78 -0
  32. package/lib/framework/document-input-cursor.js +239 -0
  33. package/lib/framework/document-input-cursor.js.map +1 -0
  34. package/lib/framework/document-paint.d.ts +34 -0
  35. package/lib/framework/document-paint.js +103 -0
  36. package/lib/framework/document-paint.js.map +1 -0
  37. package/lib/framework/document-print-offscreen.d.ts +38 -0
  38. package/lib/framework/document-print-offscreen.js +128 -0
  39. package/lib/framework/document-print-offscreen.js.map +1 -0
  40. package/lib/framework/document-print.d.ts +60 -0
  41. package/lib/framework/document-print.js +203 -0
  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/lib/framework/document-selection.js +358 -0
  48. package/lib/framework/document-selection.js.map +1 -0
  49. package/lib/framework/document-template.d.ts +4 -0
  50. package/lib/framework/document-template.js +20 -0
  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/lib/framework/element-define.js +579 -0
  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/lib/framework/element-measure.js +551 -0
  63. package/lib/framework/element-measure.js.map +1 -0
  64. package/lib/framework/element-paint.d.ts +42 -0
  65. package/lib/framework/element-paint.js +170 -0
  66. package/lib/framework/element-paint.js.map +1 -0
  67. package/lib/framework/element-props.d.ts +301 -0
  68. package/lib/framework/element-props.js +809 -0
  69. package/lib/framework/element-props.js.map +1 -0
  70. package/lib/framework/element-reader.d.ts +19 -0
  71. package/lib/framework/element-reader.js +151 -0
  72. package/lib/framework/element-reader.js.map +1 -0
  73. package/lib/framework/element-render-cut.d.ts +55 -0
  74. package/lib/framework/element-render-cut.js +449 -0
  75. package/lib/framework/element-render-cut.js.map +1 -0
  76. package/lib/framework/element-serialize.d.ts +30 -0
  77. package/lib/framework/element-serialize.js +113 -0
  78. package/lib/framework/element-serialize.js.map +1 -0
  79. package/lib/framework/element-util.d.ts +369 -0
  80. package/lib/framework/element-util.js +1463 -0
  81. package/lib/framework/element-util.js.map +1 -0
  82. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
  83. package/lib/framework/impl/checkbox/checkbox-impl.js +64 -0
  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/lib/framework/impl/comments/comment-content-impl.js +105 -0
  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/lib/framework/impl/comments/comment-element-impl.js +62 -0
  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/lib/framework/impl/comments/comments-container-impl.js +62 -0
  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/lib/framework/impl/comments/comments-util.js +67 -0
  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/lib/framework/impl/comments/validate-msg-impl.js +83 -0
  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/lib/framework/impl/data-element/data-decorate-impl.js +91 -0
  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/lib/framework/impl/data-element/data-element-barcode.js +115 -0
  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/lib/framework/impl/data-element/data-element-base-impl.js +205 -0
  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/lib/framework/impl/data-element/data-element-check-impl.js +133 -0
  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/lib/framework/impl/data-element/data-element-date-impl.js +111 -0
  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/lib/framework/impl/data-element/data-element-group-impl.js +130 -0
  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/lib/framework/impl/data-element/data-element-image-impl.js +137 -0
  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/lib/framework/impl/data-element/data-element-list-impl.js +131 -0
  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/lib/framework/impl/data-element/data-element-text-impl.js +103 -0
  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/lib/framework/impl/decorate/fill-null-space-imple.js +43 -0
  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/lib/framework/impl/document/doc-body-impl.js +79 -0
  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/lib/framework/impl/document/doc-body-part-impl.js +94 -0
  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/lib/framework/impl/document/doc-footer-impl.js +77 -0
  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/lib/framework/impl/document/doc-header-impl.js +83 -0
  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/lib/framework/impl/document/doc-impl.js +209 -0
  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/lib/framework/impl/media-formula/menstrual-history.js +153 -0
  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/lib/framework/impl/paragraph/p-impl.js +156 -0
  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/lib/framework/impl/picture/image-impl.js +124 -0
  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/lib/framework/impl/radio/radio-impl.js +72 -0
  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/lib/framework/impl/symbol/br-symbol-impl.js +54 -0
  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/lib/framework/impl/symbol/p-symbol-impl.js +54 -0
  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/lib/framework/impl/table/table-cell-impl.js +145 -0
  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/lib/framework/impl/table/table-impl.js +363 -0
  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/lib/framework/impl/table/table-row-impl.js +75 -0
  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/lib/framework/impl/table/table-split-cell-patch.js +89 -0
  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/lib/framework/impl/table/table-split-cell.js +464 -0
  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/lib/framework/impl/table/table-util.js +678 -0
  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/lib/framework/impl/text/text-impl.js +149 -0
  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/lib/framework/impl/text/track-run-impl.js +112 -0
  189. package/lib/framework/impl/text/track-run-impl.js.map +1 -0
  190. package/lib/framework/notify.d.ts +13 -0
  191. package/lib/framework/notify.js +116 -0
  192. package/lib/framework/notify.js.map +1 -0
  193. package/lib/framework/range-util.d.ts +40 -0
  194. package/lib/framework/range-util.js +312 -0
  195. package/lib/framework/range-util.js.map +1 -0
  196. package/lib/framework/render-context.d.ts +91 -0
  197. package/lib/framework/render-context.js +384 -0
  198. package/lib/framework/render-context.js.map +1 -0
  199. package/lib/framework/render-define.d.ts +109 -0
  200. package/lib/framework/render-define.js +195 -0
  201. package/lib/framework/render-define.js.map +1 -0
  202. package/lib/framework/selection-overlays.d.ts +30 -0
  203. package/lib/framework/selection-overlays.js +124 -0
  204. package/lib/framework/selection-overlays.js.map +1 -0
  205. package/lib/texteditor.d.ts +318 -0
  206. package/lib/texteditor.js +913 -0
  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/{src/med_editor/util/table-bind.ts → lib/util/table-bind.d.ts} +2 -3
  212. package/lib/util/table-bind.js +6 -0
  213. package/lib/util/table-bind.js.map +1 -0
  214. package/package.json +2 -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 -1391
  218. package/src/med_editor/framework/document-combine.ts +0 -44
  219. package/src/med_editor/framework/document-comment.ts +0 -163
  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 -389
  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 -141
  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 -126
  241. package/src/med_editor/framework/element-util.ts +0 -1564
  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 -163
  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 -133
  283. package/src/med_editor/texteditor.ts +0 -1010
  284. package/src/med_editor/util/subject.ts +0 -118
  285. package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
  286. 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
  287. 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
  288. 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
  289. 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
  290. 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
  291. package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
  292. package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
  293. package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
  294. package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
  295. 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
  296. 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
  297. 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
  298. 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
  299. 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
  300. package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-util.js","sourceRoot":"lib/","sources":["framework/impl/table/table-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { TextProps } from "../../element-props";
2
+ import { LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions } from "../../element-define";
4
+ import { RenderContenxtType, TextUnits } from "../../render-context";
5
+ export declare class TextGroupElement extends LeafElement<TextProps> {
6
+ textMeasures: Array<TextUnits>;
7
+ isMeasure: boolean;
8
+ constructor();
9
+ set text(val: string);
10
+ splice(index: number, deleteCount: number, addText?: string | null): void;
11
+ get text(): string;
12
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject;
13
+ serialize(viewOptions: ViewOptions): SerializeProps & any;
14
+ clone(data: boolean): TextGroupElement;
15
+ destroy(): void;
16
+ spliceText(startOffset: number, endOffset: number, xCopy: boolean): TextGroupElement | null;
17
+ clearTextCache(): void;
18
+ }
19
+ export declare class TextGroupRenderObject extends LeafRenderObject<TextGroupElement> {
20
+ textMeasures: Array<TextUnits>;
21
+ render(ctx: RenderContenxtType, position: {
22
+ x: number;
23
+ y: number;
24
+ }): void;
25
+ constructor(element: TextGroupElement);
26
+ clone(): RenderObject;
27
+ measure(): void;
28
+ }
29
+ export declare class TextGroupFactory extends ElementFactory<null> {
30
+ match(type: string): boolean;
31
+ createElement(data: any, renderCtx: RenderContenxtType): Element;
32
+ }
@@ -0,0 +1,149 @@
1
+ import { SelectionRange } from "../../document-selection";
2
+ import { TextProps } from "../../element-props";
3
+ import { ElementUtil } from "../../element-util";
4
+ import { LeafRenderObject } from "../../render-define";
5
+ import { LeafElement, ElementFactory, ModifyFlag } from "../../element-define";
6
+ import { watchChanged } from "../../notify";
7
+ export class TextGroupElement extends LeafElement {
8
+ //props: TextProps;
9
+ textMeasures = [];
10
+ isMeasure = false;
11
+ constructor() {
12
+ super('text');
13
+ this.props = new TextProps();
14
+ watchChanged(this.props, () => {
15
+ this.isMeasure = false;
16
+ this.props.clearCache();
17
+ });
18
+ //this.addPropValueChangedSub(this.props);
19
+ //this.addsubscribe(this, this.props.onPropertyChangedSubject.subscribe(() => { this.clearTextCache() }));
20
+ this.addEvent('ElementContextMenu', (evt) => {
21
+ const ss = evt.selectionState;
22
+ evt.menus.push({
23
+ icon: "EditStyle", caption: "选中样式组合", eventObj: {
24
+ onClick: (cevt) => {
25
+ const range = new SelectionRange();
26
+ range.setStart(this, 0);
27
+ range.setEnd(this, -1);
28
+ ss.addRange(range);
29
+ }
30
+ }
31
+ });
32
+ });
33
+ }
34
+ set text(val) {
35
+ this.splice(0, this.textMeasures.length, val);
36
+ }
37
+ splice(index, deleteCount, addText = null) {
38
+ this.isMeasure = false;
39
+ addText = addText ?? '';
40
+ const addTextUnits = addText.split('').map(char => ({ sourceSize: 0, actualSize: 0, char }));
41
+ if (this.textMeasures.length === 0) {
42
+ this.textMeasures = addTextUnits;
43
+ }
44
+ else {
45
+ this.textMeasures.splice(index, deleteCount, ...addTextUnits);
46
+ }
47
+ this.pubOnChange('self');
48
+ }
49
+ get text() {
50
+ return this.textMeasures.map(item => item.char).join('');
51
+ }
52
+ createRenderObject(options, renderCtx) {
53
+ if (!this.isMeasure || this.modifyFlag !== ModifyFlag.None) {
54
+ renderCtx.contentContext.measureTextUnits(this.textMeasures, this.props);
55
+ this.isMeasure = true;
56
+ }
57
+ const render = new TextGroupRenderObject(this);
58
+ render.disableClick = this.disableClick;
59
+ render.textMeasures = [...this.textMeasures];
60
+ render.measure();
61
+ return render;
62
+ }
63
+ serialize(viewOptions) {
64
+ //修饰元素不序列化
65
+ if (this.isDecorate) {
66
+ return null;
67
+ }
68
+ return {
69
+ type: 'text',
70
+ props: {
71
+ ...this.props.getSerializeProps(viewOptions)
72
+ },
73
+ content: this.text,
74
+ complete: true
75
+ };
76
+ }
77
+ clone(data) {
78
+ const clone = new TextGroupElement();
79
+ this.props.clone(clone.props);
80
+ clone.text = this.text;
81
+ return clone;
82
+ }
83
+ destroy() {
84
+ super.destroy();
85
+ }
86
+ spliceText(startOffset, endOffset, xCopy) {
87
+ endOffset = endOffset === -1 ? this.textMeasures.length : endOffset;
88
+ if (endOffset === startOffset) {
89
+ return null;
90
+ }
91
+ const clone = new TextGroupElement();
92
+ this.props.clone(clone.props);
93
+ if (xCopy) {
94
+ clone.textMeasures = this.textMeasures.splice(startOffset, endOffset - startOffset);
95
+ }
96
+ else {
97
+ clone.textMeasures = this.textMeasures.filter((item, index) => index >= startOffset && index < endOffset);
98
+ }
99
+ clone.textMeasures = clone.textMeasures.map(item => ({ sourceSize: 0, actualSize: 0, char: item.char }));
100
+ return clone;
101
+ }
102
+ clearTextCache() {
103
+ this.isMeasure = false;
104
+ }
105
+ }
106
+ export class TextGroupRenderObject extends LeafRenderObject {
107
+ textMeasures;
108
+ render(ctx, position) {
109
+ //null-text不打印
110
+ if (ctx.drawMode === 'print' && this.element.isDecorate) {
111
+ return;
112
+ }
113
+ if (this.element.props.border) {
114
+ ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height);
115
+ }
116
+ ctx.contentContext.drawTextUnits(this, position.x, position.y);
117
+ // if (this.element.isMouseenter) {
118
+ // ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, CommonUtil.randomColor());
119
+ // }
120
+ }
121
+ constructor(element) {
122
+ super(element);
123
+ }
124
+ clone() {
125
+ const cloneRender = new TextGroupRenderObject(this.element);
126
+ cloneRender.disableClick = this.disableClick;
127
+ cloneRender.rect = ElementUtil.cloneRect(this.rect);
128
+ cloneRender.textMeasures = [...this.textMeasures];
129
+ return cloneRender;
130
+ }
131
+ measure() {
132
+ this.rect.width = this.textMeasures.reduce((prev, curr) => prev + curr.actualSize, 0);
133
+ this.rect.height = this.element.props.fontSize;
134
+ }
135
+ }
136
+ export class TextGroupFactory extends ElementFactory {
137
+ match(type) {
138
+ return type === 'text';
139
+ }
140
+ createElement(data, renderCtx) {
141
+ const props = data.props;
142
+ const text = data.content;
143
+ const textGroup = new TextGroupElement();
144
+ textGroup.text = text;
145
+ ElementUtil.readTextProps(textGroup.props, props, this.options);
146
+ return textGroup;
147
+ }
148
+ }
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbXBsLmpzIiwic291cmNlUm9vdCI6ImxpYi8iLCJzb3VyY2VzIjpbImZyYW1ld29yay9pbXBsL3RleHQvdGV4dC1pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBd0MsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc1QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBc0I7SUFDeEQsbUJBQW1CO0lBQ25CLFlBQVksR0FBcUIsRUFBRSxDQUFDO0lBQ3BDLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0I7UUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDN0IsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCwwQ0FBMEM7UUFDMUMsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxRQUFRLENBQTBCLG9CQUFvQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUM5QixHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDWCxJQUFJ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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/text-impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { InlineGroupElement, Position, SerializeProps, ViewOptions, Element, ElementFactory, readElementProps } from "../../element-define";
2
+ import { RenderContenxtType } from "../../render-context";
3
+ import { InlineGroupRenderObject, RenderObject } from "../../render-define";
4
+ import { TrackRunProps } from "../../element-props";
5
+ export declare enum TrackRunTypeEnum {
6
+ Inserted = "ins-run",
7
+ Deleted = "del-run"
8
+ }
9
+ declare type NullableType<T> = T | null;
10
+ export declare class TrackRunElement extends InlineGroupElement<TrackRunProps> {
11
+ constructor(trackType: TrackRunTypeEnum);
12
+ clone(data: boolean): Element;
13
+ createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): NullableType<RenderObject>;
14
+ serialize(viewOptions: ViewOptions): SerializeProps | null;
15
+ split(index: number): TrackRunElement | null;
16
+ }
17
+ export declare class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {
18
+ constructor(ele: TrackRunElement);
19
+ beginRender(ctx: RenderContenxtType, position: Position): void;
20
+ clone(): RenderObject;
21
+ endRender(ctx: RenderContenxtType, position: Position): void;
22
+ }
23
+ export declare class RunElementFactory extends ElementFactory<TrackRunProps> {
24
+ createElement(data: readElementProps<TrackRunProps>, renderCtx: RenderContenxtType): TrackRunElement;
25
+ match(type: string): boolean;
26
+ }
27
+ export {};
@@ -0,0 +1,112 @@
1
+ import { InlineGroupElement, ElementFactory } from "../../element-define";
2
+ import { InlineGroupRenderObject } from "../../render-define";
3
+ import { TrackRunProps } from "../../element-props";
4
+ import { ElementUtil } from "../../element-util";
5
+ import { ElementSerialize } from "../../element-serialize";
6
+ import { nanoid } from "nanoid";
7
+ export var TrackRunTypeEnum;
8
+ (function (TrackRunTypeEnum) {
9
+ TrackRunTypeEnum["Inserted"] = "ins-run";
10
+ TrackRunTypeEnum["Deleted"] = "del-run";
11
+ })(TrackRunTypeEnum || (TrackRunTypeEnum = {}));
12
+ export class TrackRunElement extends InlineGroupElement {
13
+ constructor(trackType) {
14
+ super(trackType);
15
+ this.props = new TrackRunProps(trackType);
16
+ this.addEvent('GetTrackTips', (evt) => {
17
+ evt.trackTips = {
18
+ trackRunType: this.type,
19
+ name: this.props.userName,
20
+ date: this.props.date,
21
+ content: ElementSerialize.serializeString(this, { all: true })
22
+ };
23
+ console.log(evt.trackTips.content);
24
+ evt.isCancel = true;
25
+ });
26
+ }
27
+ clone(data) {
28
+ const clone = new TrackRunElement(this.type);
29
+ this.props.clone(clone.props);
30
+ if (data) {
31
+ const length = this.length;
32
+ for (let i = 0; i < length; i++) {
33
+ clone.addChild(this.getChild(i).clone(true));
34
+ }
35
+ }
36
+ return clone;
37
+ }
38
+ createRenderObject(options, renderCtx) {
39
+ if (!options.showTrackChanges && this.type === TrackRunTypeEnum.Deleted) {
40
+ return null;
41
+ }
42
+ return new TrackRunRenderObject(this);
43
+ }
44
+ serialize(viewOptions) {
45
+ return {
46
+ type: this.type,
47
+ props: this.props.getSerializeProps()
48
+ };
49
+ }
50
+ split(index) {
51
+ if (index === 0 || index === this.length) {
52
+ return null;
53
+ }
54
+ const clone = new TrackRunElement(this.type);
55
+ this.props.clone(clone.props);
56
+ const items = [];
57
+ for (let i = index; i < this.length; i++) {
58
+ const child = this.getChild(i);
59
+ items.push(child);
60
+ }
61
+ items.forEach(item => {
62
+ item.remove();
63
+ clone.addChild(item);
64
+ });
65
+ return clone;
66
+ }
67
+ }
68
+ export class TrackRunRenderObject extends InlineGroupRenderObject {
69
+ constructor(ele) {
70
+ super(ele);
71
+ }
72
+ beginRender(ctx, position) {
73
+ const color = this.element.type === 'ins-run' ? 'green' : 'red';
74
+ //ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, color);
75
+ }
76
+ clone() {
77
+ const cloneRender = new TrackRunRenderObject(this.element);
78
+ cloneRender.rect = ElementUtil.cloneRect(this.rect);
79
+ for (let i = 0; i < this.length; i++) {
80
+ cloneRender.addChild(this.getChild(i).clone());
81
+ }
82
+ return cloneRender;
83
+ }
84
+ endRender(ctx, position) {
85
+ const { x, y } = position;
86
+ const color = this.element.type === 'ins-run' ? 'green' : 'red';
87
+ for (let i = 0; i < this.length; i++) {
88
+ const childRender = this.getChild(i);
89
+ const { rect } = childRender;
90
+ if (childRender.element && childRender.element.type === 'del-run') {
91
+ continue;
92
+ }
93
+ let lineY = y + rect.y + rect.height;
94
+ lineY = this.element.type === 'ins-run' ? lineY : lineY - rect.height / 2;
95
+ ctx.contentContext.drawLine(x + rect.x, lineY, rect.width, color, 1);
96
+ }
97
+ }
98
+ }
99
+ export class RunElementFactory extends ElementFactory {
100
+ createElement(data, renderCtx) {
101
+ const ele = new TrackRunElement(data.type);
102
+ ele.props.userId = data.props?.userId ?? '';
103
+ ele.props.userName = data.props?.userName ?? '';
104
+ ele.props.date = data.props?.date ?? '';
105
+ ele.props.id = data.props?.id ?? nanoid(5);
106
+ return ele;
107
+ }
108
+ match(type) {
109
+ return type === TrackRunTypeEnum.Inserted || type === TrackRunTypeEnum.Deleted;
110
+ }
111
+ }
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stcnVuLWltcGwuanMiLCJzb3VyY2VSb290IjoibGliLyIsInNvdXJjZXMiOlsiZnJhbWV3b3JrL2ltcGwvdGV4dC90cmFjay1ydW4taW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsa0JBQWtCLEVBS2xCLGNBQWMsRUFDakIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsdUJBQXVCLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsd0NBQW9CLENBQUE7SUFDcEIsdUNBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBaUM7SUFDbEUsWUFBWSxTQUEyQjtRQUNuQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFvQixjQUFjLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNyRCxHQUFHLENBQUMsU0FBUyxHQUFHO2dCQUNaLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBd0I7Z0JBQzNDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7Z0JBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ3JCLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxlQUFl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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-run-impl.js","sourceRoot":"lib/","sources":["framework/impl/text/track-run-impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const reactiveMap: WeakMap<object, object>;
2
+ export declare const targetMaps: WeakMap<object, Map<propType, Set<notifyCallback>>>;
3
+ declare type propType = string | number | symbol;
4
+ interface notifyCallback {
5
+ (target: object, p: propType, oldValue: any, newValue: any): string | undefined | void;
6
+ }
7
+ export declare function watchChanged<T extends object>(source: T, cb: notifyCallback): T;
8
+ export declare function setNotifyChangedCallback(target: object, p: propType, cb: notifyCallback): void;
9
+ export declare const isDate: (val: unknown) => val is Date;
10
+ export declare const objectToString: () => string;
11
+ export declare const toTypeString: (value: unknown) => string;
12
+ export declare const toRawType: (value: unknown) => string;
13
+ export {};
@@ -0,0 +1,116 @@
1
+ const EDITOR_REACTIVE = '__editor_reactive';
2
+ const ITERATOR_KEY = Symbol('iterator-key');
3
+ export const reactiveMap = new WeakMap();
4
+ export const targetMaps = new WeakMap();
5
+ const activeFns = [];
6
+ function track(target, p) {
7
+ const activeFn = activeFns[activeFns.length - 1];
8
+ if (!activeFn) {
9
+ return;
10
+ }
11
+ let targetMap = targetMaps.get(target);
12
+ if (!targetMap) {
13
+ targetMaps.set(target, (targetMap = new Map()));
14
+ }
15
+ let effectFns = targetMap.get(p);
16
+ if (!effectFns) {
17
+ targetMap.set(p, (effectFns = new Set()));
18
+ }
19
+ effectFns.add(activeFn);
20
+ }
21
+ function trigger(target, p, oldValue, newValue) {
22
+ //不需要触发
23
+ if (p.toString().startsWith('__')) {
24
+ return;
25
+ }
26
+ const targetMap = targetMaps.get(target);
27
+ if (!targetMap) {
28
+ return;
29
+ }
30
+ const effectFns = targetMap.get(p);
31
+ const iteratorFns = targetMap.get(ITERATOR_KEY);
32
+ const fns = new Set();
33
+ effectFns && effectFns.forEach(item => fns.add(item));
34
+ iteratorFns && iteratorFns.forEach(item => fns.add(item));
35
+ const activeFn = activeFns[activeFns.length - 1];
36
+ //防止死循环,过滤正在运行的副作用
37
+ if (activeFn) {
38
+ fns.delete(activeFn);
39
+ }
40
+ fns.forEach(fn => {
41
+ fn(target, p, oldValue, newValue);
42
+ });
43
+ }
44
+ export function watchChanged(source, cb) {
45
+ if (source[EDITOR_REACTIVE]) {
46
+ addToTrack(source['raw'], source, cb);
47
+ return source;
48
+ }
49
+ if (isDate(source)) {
50
+ return source;
51
+ }
52
+ const existProxy = reactiveMap.get(source);
53
+ if (existProxy) {
54
+ return existProxy;
55
+ }
56
+ const proxy = new Proxy(source, {
57
+ get(target, p, receiver) {
58
+ if (p === 'raw') {
59
+ return target;
60
+ }
61
+ if (p === EDITOR_REACTIVE) {
62
+ return true;
63
+ }
64
+ const res = Reflect.get(target, p, receiver);
65
+ if (typeof res === 'object' && res) {
66
+ return watchChanged(res, cb);
67
+ }
68
+ return res;
69
+ },
70
+ set(target, p, newValue, receiver) {
71
+ //console.log('设置' + p.toString())
72
+ const oldValue = target[p];
73
+ const res = Reflect.set(target, p, newValue, receiver);
74
+ if (receiver.raw === target) {
75
+ if (oldValue !== newValue && (oldValue === oldValue || newValue === newValue)) {
76
+ trigger(target, p, oldValue, newValue);
77
+ }
78
+ }
79
+ return res;
80
+ },
81
+ deleteProperty(target, p) {
82
+ const res = Reflect.deleteProperty(target, p);
83
+ trigger(target, p, null, null);
84
+ return res;
85
+ },
86
+ defineProperty(target, p, attributes) {
87
+ const res = Reflect.defineProperty(target, p, attributes);
88
+ trigger(target, p, null, null);
89
+ return res;
90
+ }
91
+ });
92
+ addToTrack(source, proxy, cb);
93
+ return proxy;
94
+ }
95
+ function addToTrack(source, proxy, cb) {
96
+ activeFns.push(cb);
97
+ track(source, ITERATOR_KEY);
98
+ activeFns.pop();
99
+ reactiveMap.set(source, proxy);
100
+ }
101
+ export function setNotifyChangedCallback(target, p, cb) {
102
+ let trackTarget = target;
103
+ if (target[EDITOR_REACTIVE]) {
104
+ trackTarget = target['raw'];
105
+ }
106
+ activeFns.push(cb);
107
+ track(trackTarget, p);
108
+ activeFns.pop();
109
+ }
110
+ export const isDate = (val) => val instanceof Date;
111
+ export const objectToString = Object.prototype.toString;
112
+ export const toTypeString = (value) => objectToString.call(value);
113
+ export const toRawType = (value) => {
114
+ return toTypeString(value).slice(8, -1);
115
+ };
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LmpzIiwic291cmNlUm9vdCI6ImxpYi8iLCJzb3VyY2VzIjpbImZyYW1ld29yay9ub3RpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDNUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQThDLENBQUM7QUFPcEYsTUFBTSxTQUFTLEdBQTBCLEVBQUUsQ0FBQztBQUM1QyxTQUFTLEtBQUssQ0FBQyxNQUFjLEVBQUUsQ0FBVztJQUN0QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ1gsT0FBTztLQUNWO0lBQ0QsSUFBSSxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ1osVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7S0FDbEQ7SUFDRCxJQUFJLFNBQVMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtLQUM1QztJQUNELFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDM0IsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLE1BQWMsRUFBRSxDQUFXLEVBQUUsUUFBYSxFQUFF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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify.js","sourceRoot":"lib/","sources":["framework/notify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { BranchElement, Element, LeafElement, SelectionContentRange } from "./element-define";
2
+ import { TableElement } from "./impl/table/table-impl";
3
+ import { SelectionState } from './document-selection';
4
+ export declare class RangeUtil {
5
+ static getSelctionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
6
+ static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
7
+ /**
8
+ * 获取表格选区的内容
9
+ * @param startControl
10
+ * @param startOffset
11
+ * @param endControl
12
+ * @param endOffset
13
+ * @param tb
14
+ */
15
+ static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange;
16
+ private static getStartForbackTreeData;
17
+ private static getEndForwardTreeData;
18
+ private static getChildTreeData;
19
+ private static setRangeFullSelected;
20
+ static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean;
21
+ /**
22
+ * 根据选区范围更正选区内容状态
23
+ * @param selectedRange
24
+ * @param selectionState
25
+ */
26
+ static fixSelectionStateByRange(selectionState: SelectionState): boolean;
27
+ static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
28
+ static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
29
+ /**
30
+ * 循环递归执行选区对象方法
31
+ * @param range
32
+ * @param handler
33
+ */
34
+ static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void;
35
+ /**
36
+ * 判断元素是否被完全选中
37
+ * @param range
38
+ */
39
+ static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean;
40
+ }