@hailin-zheng/editor-core 1.0.3 → 1.0.6

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 (303) hide show
  1. package/package.json +6 -2
  2. package/dist/doc-ruler.d.ts +0 -51
  3. package/dist/doc-ruler.js +0 -313
  4. package/dist/doc-ruler.js.map +0 -1
  5. package/dist/framework/common-util.d.ts +0 -63
  6. package/dist/framework/common-util.js +0 -178
  7. package/dist/framework/common-util.js.map +0 -1
  8. package/dist/framework/document-change.d.ts +0 -265
  9. package/dist/framework/document-change.js +0 -1342
  10. package/dist/framework/document-change.js.map +0 -1
  11. package/dist/framework/document-combine.d.ts +0 -24
  12. package/dist/framework/document-combine.js +0 -40
  13. package/dist/framework/document-combine.js.map +0 -1
  14. package/dist/framework/document-comment.d.ts +0 -46
  15. package/dist/framework/document-comment.js +0 -148
  16. package/dist/framework/document-comment.js.map +0 -1
  17. package/dist/framework/document-context.d.ts +0 -149
  18. package/dist/framework/document-context.js +0 -330
  19. package/dist/framework/document-context.js.map +0 -1
  20. package/dist/framework/document-eval-func.d.ts +0 -18
  21. package/dist/framework/document-eval-func.js +0 -48
  22. package/dist/framework/document-eval-func.js.map +0 -1
  23. package/dist/framework/document-event.d.ts +0 -213
  24. package/dist/framework/document-event.js +0 -1054
  25. package/dist/framework/document-event.js.map +0 -1
  26. package/dist/framework/document-history.d.ts +0 -26
  27. package/dist/framework/document-history.js +0 -65
  28. package/dist/framework/document-history.js.map +0 -1
  29. package/dist/framework/document-images-loader.d.ts +0 -16
  30. package/dist/framework/document-images-loader.js +0 -66
  31. package/dist/framework/document-images-loader.js.map +0 -1
  32. package/dist/framework/document-input-cursor.d.ts +0 -78
  33. package/dist/framework/document-input-cursor.js +0 -239
  34. package/dist/framework/document-input-cursor.js.map +0 -1
  35. package/dist/framework/document-paint.d.ts +0 -34
  36. package/dist/framework/document-paint.js +0 -103
  37. package/dist/framework/document-paint.js.map +0 -1
  38. package/dist/framework/document-print-offscreen.d.ts +0 -38
  39. package/dist/framework/document-print-offscreen.js +0 -128
  40. package/dist/framework/document-print-offscreen.js.map +0 -1
  41. package/dist/framework/document-print.d.ts +0 -60
  42. package/dist/framework/document-print.js +0 -203
  43. package/dist/framework/document-print.js.map +0 -1
  44. package/dist/framework/document-segmenter.d.ts +0 -2
  45. package/dist/framework/document-segmenter.js +0 -106
  46. package/dist/framework/document-segmenter.js.map +0 -1
  47. package/dist/framework/document-selection.d.ts +0 -89
  48. package/dist/framework/document-selection.js +0 -358
  49. package/dist/framework/document-selection.js.map +0 -1
  50. package/dist/framework/document-template.d.ts +0 -4
  51. package/dist/framework/document-template.js +0 -20
  52. package/dist/framework/document-template.js.map +0 -1
  53. package/dist/framework/document-textline-mode.d.ts +0 -7
  54. package/dist/framework/document-textline-mode.js +0 -30
  55. package/dist/framework/document-textline-mode.js.map +0 -1
  56. package/dist/framework/element-define.d.ts +0 -319
  57. package/dist/framework/element-define.js +0 -579
  58. package/dist/framework/element-define.js.map +0 -1
  59. package/dist/framework/element-event-define.d.ts +0 -99
  60. package/dist/framework/element-event-define.js +0 -108
  61. package/dist/framework/element-event-define.js.map +0 -1
  62. package/dist/framework/element-measure.d.ts +0 -97
  63. package/dist/framework/element-measure.js +0 -551
  64. package/dist/framework/element-measure.js.map +0 -1
  65. package/dist/framework/element-paint.d.ts +0 -42
  66. package/dist/framework/element-paint.js +0 -170
  67. package/dist/framework/element-paint.js.map +0 -1
  68. package/dist/framework/element-props.d.ts +0 -301
  69. package/dist/framework/element-props.js +0 -809
  70. package/dist/framework/element-props.js.map +0 -1
  71. package/dist/framework/element-reader.d.ts +0 -19
  72. package/dist/framework/element-reader.js +0 -151
  73. package/dist/framework/element-reader.js.map +0 -1
  74. package/dist/framework/element-render-cut.d.ts +0 -55
  75. package/dist/framework/element-render-cut.js +0 -449
  76. package/dist/framework/element-render-cut.js.map +0 -1
  77. package/dist/framework/element-serialize.d.ts +0 -30
  78. package/dist/framework/element-serialize.js +0 -113
  79. package/dist/framework/element-serialize.js.map +0 -1
  80. package/dist/framework/element-util.d.ts +0 -369
  81. package/dist/framework/element-util.js +0 -1463
  82. package/dist/framework/element-util.js.map +0 -1
  83. package/dist/framework/impl/checkbox/checkbox-impl.d.ts +0 -24
  84. package/dist/framework/impl/checkbox/checkbox-impl.js +0 -64
  85. package/dist/framework/impl/checkbox/checkbox-impl.js.map +0 -1
  86. package/dist/framework/impl/comments/comment-content-impl.d.ts +0 -40
  87. package/dist/framework/impl/comments/comment-content-impl.js +0 -105
  88. package/dist/framework/impl/comments/comment-content-impl.js.map +0 -1
  89. package/dist/framework/impl/comments/comment-element-impl.d.ts +0 -21
  90. package/dist/framework/impl/comments/comment-element-impl.js +0 -62
  91. package/dist/framework/impl/comments/comment-element-impl.js.map +0 -1
  92. package/dist/framework/impl/comments/comments-container-impl.d.ts +0 -22
  93. package/dist/framework/impl/comments/comments-container-impl.js +0 -62
  94. package/dist/framework/impl/comments/comments-container-impl.js.map +0 -1
  95. package/dist/framework/impl/comments/comments-util.d.ts +0 -12
  96. package/dist/framework/impl/comments/comments-util.js +0 -67
  97. package/dist/framework/impl/comments/comments-util.js.map +0 -1
  98. package/dist/framework/impl/comments/validate-msg-impl.d.ts +0 -21
  99. package/dist/framework/impl/comments/validate-msg-impl.js +0 -83
  100. package/dist/framework/impl/comments/validate-msg-impl.js.map +0 -1
  101. package/dist/framework/impl/data-element/data-decorate-impl.d.ts +0 -30
  102. package/dist/framework/impl/data-element/data-decorate-impl.js +0 -91
  103. package/dist/framework/impl/data-element/data-decorate-impl.js.map +0 -1
  104. package/dist/framework/impl/data-element/data-element-barcode.d.ts +0 -31
  105. package/dist/framework/impl/data-element/data-element-barcode.js +0 -115
  106. package/dist/framework/impl/data-element/data-element-barcode.js.map +0 -1
  107. package/dist/framework/impl/data-element/data-element-base-impl.d.ts +0 -68
  108. package/dist/framework/impl/data-element/data-element-base-impl.js +0 -205
  109. package/dist/framework/impl/data-element/data-element-base-impl.js.map +0 -1
  110. package/dist/framework/impl/data-element/data-element-check-impl.d.ts +0 -35
  111. package/dist/framework/impl/data-element/data-element-check-impl.js +0 -133
  112. package/dist/framework/impl/data-element/data-element-check-impl.js.map +0 -1
  113. package/dist/framework/impl/data-element/data-element-date-impl.d.ts +0 -23
  114. package/dist/framework/impl/data-element/data-element-date-impl.js +0 -111
  115. package/dist/framework/impl/data-element/data-element-date-impl.js.map +0 -1
  116. package/dist/framework/impl/data-element/data-element-group-impl.d.ts +0 -23
  117. package/dist/framework/impl/data-element/data-element-group-impl.js +0 -130
  118. package/dist/framework/impl/data-element/data-element-group-impl.js.map +0 -1
  119. package/dist/framework/impl/data-element/data-element-image-impl.d.ts +0 -30
  120. package/dist/framework/impl/data-element/data-element-image-impl.js +0 -137
  121. package/dist/framework/impl/data-element/data-element-image-impl.js.map +0 -1
  122. package/dist/framework/impl/data-element/data-element-list-impl.d.ts +0 -22
  123. package/dist/framework/impl/data-element/data-element-list-impl.js +0 -131
  124. package/dist/framework/impl/data-element/data-element-list-impl.js.map +0 -1
  125. package/dist/framework/impl/data-element/data-element-text-impl.d.ts +0 -23
  126. package/dist/framework/impl/data-element/data-element-text-impl.js +0 -103
  127. package/dist/framework/impl/data-element/data-element-text-impl.js.map +0 -1
  128. package/dist/framework/impl/decorate/fill-null-space-imple.d.ts +0 -21
  129. package/dist/framework/impl/decorate/fill-null-space-imple.js +0 -43
  130. package/dist/framework/impl/decorate/fill-null-space-imple.js.map +0 -1
  131. package/dist/framework/impl/document/doc-body-impl.d.ts +0 -27
  132. package/dist/framework/impl/document/doc-body-impl.js +0 -79
  133. package/dist/framework/impl/document/doc-body-impl.js.map +0 -1
  134. package/dist/framework/impl/document/doc-body-part-impl.d.ts +0 -30
  135. package/dist/framework/impl/document/doc-body-part-impl.js +0 -94
  136. package/dist/framework/impl/document/doc-body-part-impl.js.map +0 -1
  137. package/dist/framework/impl/document/doc-container-impl.d.ts +0 -16
  138. package/dist/framework/impl/document/doc-container-impl.js +0 -21
  139. package/dist/framework/impl/document/doc-container-impl.js.map +0 -1
  140. package/dist/framework/impl/document/doc-footer-impl.d.ts +0 -26
  141. package/dist/framework/impl/document/doc-footer-impl.js +0 -77
  142. package/dist/framework/impl/document/doc-footer-impl.js.map +0 -1
  143. package/dist/framework/impl/document/doc-header-impl.d.ts +0 -26
  144. package/dist/framework/impl/document/doc-header-impl.js +0 -83
  145. package/dist/framework/impl/document/doc-header-impl.js.map +0 -1
  146. package/dist/framework/impl/document/doc-impl.d.ts +0 -61
  147. package/dist/framework/impl/document/doc-impl.js +0 -209
  148. package/dist/framework/impl/document/doc-impl.js.map +0 -1
  149. package/dist/framework/impl/media-formula/menstrual-history.d.ts +0 -35
  150. package/dist/framework/impl/media-formula/menstrual-history.js +0 -153
  151. package/dist/framework/impl/media-formula/menstrual-history.js.map +0 -1
  152. package/dist/framework/impl/paragraph/p-impl.d.ts +0 -45
  153. package/dist/framework/impl/paragraph/p-impl.js +0 -156
  154. package/dist/framework/impl/paragraph/p-impl.js.map +0 -1
  155. package/dist/framework/impl/picture/image-impl.d.ts +0 -31
  156. package/dist/framework/impl/picture/image-impl.js +0 -124
  157. package/dist/framework/impl/picture/image-impl.js.map +0 -1
  158. package/dist/framework/impl/radio/radio-impl.d.ts +0 -22
  159. package/dist/framework/impl/radio/radio-impl.js +0 -72
  160. package/dist/framework/impl/radio/radio-impl.js.map +0 -1
  161. package/dist/framework/impl/symbol/br-symbol-impl.d.ts +0 -22
  162. package/dist/framework/impl/symbol/br-symbol-impl.js +0 -54
  163. package/dist/framework/impl/symbol/br-symbol-impl.js.map +0 -1
  164. package/dist/framework/impl/symbol/p-symbol-impl.d.ts +0 -19
  165. package/dist/framework/impl/symbol/p-symbol-impl.js +0 -54
  166. package/dist/framework/impl/symbol/p-symbol-impl.js.map +0 -1
  167. package/dist/framework/impl/table/table-cell-impl.d.ts +0 -37
  168. package/dist/framework/impl/table/table-cell-impl.js +0 -145
  169. package/dist/framework/impl/table/table-cell-impl.js.map +0 -1
  170. package/dist/framework/impl/table/table-impl.d.ts +0 -55
  171. package/dist/framework/impl/table/table-impl.js +0 -363
  172. package/dist/framework/impl/table/table-impl.js.map +0 -1
  173. package/dist/framework/impl/table/table-row-impl.d.ts +0 -26
  174. package/dist/framework/impl/table/table-row-impl.js +0 -75
  175. package/dist/framework/impl/table/table-row-impl.js.map +0 -1
  176. package/dist/framework/impl/table/table-split-cell-patch.d.ts +0 -20
  177. package/dist/framework/impl/table/table-split-cell-patch.js +0 -89
  178. package/dist/framework/impl/table/table-split-cell-patch.js.map +0 -1
  179. package/dist/framework/impl/table/table-split-cell.d.ts +0 -90
  180. package/dist/framework/impl/table/table-split-cell.js +0 -464
  181. package/dist/framework/impl/table/table-split-cell.js.map +0 -1
  182. package/dist/framework/impl/table/table-util.d.ts +0 -150
  183. package/dist/framework/impl/table/table-util.js +0 -678
  184. package/dist/framework/impl/table/table-util.js.map +0 -1
  185. package/dist/framework/impl/text/text-impl.d.ts +0 -32
  186. package/dist/framework/impl/text/text-impl.js +0 -149
  187. package/dist/framework/impl/text/text-impl.js.map +0 -1
  188. package/dist/framework/impl/text/track-run-impl.d.ts +0 -27
  189. package/dist/framework/impl/text/track-run-impl.js +0 -112
  190. package/dist/framework/impl/text/track-run-impl.js.map +0 -1
  191. package/dist/framework/notify.d.ts +0 -13
  192. package/dist/framework/notify.js +0 -116
  193. package/dist/framework/notify.js.map +0 -1
  194. package/dist/framework/range-util.d.ts +0 -40
  195. package/dist/framework/range-util.js +0 -312
  196. package/dist/framework/range-util.js.map +0 -1
  197. package/dist/framework/render-context.d.ts +0 -91
  198. package/dist/framework/render-context.js +0 -384
  199. package/dist/framework/render-context.js.map +0 -1
  200. package/dist/framework/render-define.d.ts +0 -109
  201. package/dist/framework/render-define.js +0 -195
  202. package/dist/framework/render-define.js.map +0 -1
  203. package/dist/framework/selection-overlays.d.ts +0 -30
  204. package/dist/framework/selection-overlays.js +0 -124
  205. package/dist/framework/selection-overlays.js.map +0 -1
  206. package/dist/texteditor.d.ts +0 -318
  207. package/dist/texteditor.js +0 -913
  208. package/dist/texteditor.js.map +0 -1
  209. package/dist/util/subject.d.ts +0 -34
  210. package/dist/util/subject.js +0 -88
  211. package/dist/util/subject.js.map +0 -1
  212. package/dist/util/table-bind.d.ts +0 -5
  213. package/dist/util/table-bind.js +0 -6
  214. package/dist/util/table-bind.js.map +0 -1
  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/tsconfig.json +0 -25
  303. package/webpack.config.js +0 -46
@@ -1 +0,0 @@
1
- {"version":3,"file":"texteditor.js","sourceRoot":"","sources":["../src/med_editor/texteditor.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { Element, RefreshType } from "@/med_editor/framework/element-define";
2
- export declare type EventTypeNamesMap = {
3
- refresh: RefreshType;
4
- click: string;
5
- };
6
- declare type eventNameMap = keyof EventTypeNamesMap;
7
- export interface EventListenerFn<P extends eventNameMap> {
8
- (evt: P): void;
9
- }
10
- export declare type IEventListenerMap = {
11
- [PropName in keyof EventTypeNamesMap]?: Array<(evt: any) => void>;
12
- };
13
- export declare const eventMap: WeakMap<Element, IEventListenerMap>;
14
- export interface SubObject {
15
- get state(): boolean;
16
- unsubscribe(): void;
17
- dispatch(evt: any): void;
18
- }
19
- export declare function addSubscribe<P extends eventNameMap, E>(element: Element, eventName: P, event: (evt: E) => void): SubObject;
20
- export interface Subscribtion {
21
- get state(): boolean;
22
- unsubscribe(): void;
23
- }
24
- export declare class EditorSubject<T> {
25
- private _value;
26
- private _listeners;
27
- constructor(value: T);
28
- get value(): T;
29
- set value(value: T);
30
- subscribe(listener: (value: T) => void): Subscribtion;
31
- unsubscribe(listener: (value: T) => void): void;
32
- dispatch(evt: T): void;
33
- }
34
- export {};
@@ -1,88 +0,0 @@
1
- export const eventMap = new WeakMap();
2
- export function addSubscribe(element, eventName, event) {
3
- let listeners = eventMap.get(element);
4
- if (!listeners) {
5
- listeners = {};
6
- eventMap.set(element, listeners);
7
- }
8
- let listenersArray = listeners[eventName];
9
- if (!listenersArray) {
10
- listenersArray = [];
11
- listeners[eventName] = listenersArray;
12
- }
13
- listenersArray.push(event);
14
- let flag = true;
15
- return {
16
- get state() {
17
- return flag;
18
- },
19
- dispatch(evt) {
20
- if (flag) {
21
- event(evt);
22
- }
23
- },
24
- unsubscribe() {
25
- if (flag) {
26
- flag = false;
27
- removeSubscribe(element, eventName, event);
28
- }
29
- }
30
- };
31
- }
32
- function removeSubscribe(element, eventName, event) {
33
- let listeners = eventMap.get(element);
34
- if (!listeners) {
35
- return;
36
- }
37
- let listenersArray = listeners[eventName];
38
- if (!listenersArray) {
39
- return;
40
- }
41
- const index = listenersArray.indexOf(event);
42
- if (index > -1) {
43
- listenersArray.splice(index, 1);
44
- }
45
- }
46
- export class EditorSubject {
47
- _value;
48
- _listeners;
49
- constructor(value) {
50
- this._value = value;
51
- this._listeners = [];
52
- }
53
- get value() {
54
- return this._value;
55
- }
56
- set value(value) {
57
- this._value = value;
58
- this._listeners.forEach(listener => {
59
- listener(value);
60
- });
61
- }
62
- subscribe(listener) {
63
- this._listeners.push(listener);
64
- let state = true;
65
- const unsubscribe = () => {
66
- if (state) {
67
- state = false;
68
- this.unsubscribe(listener);
69
- }
70
- };
71
- return {
72
- get state() {
73
- return state;
74
- },
75
- unsubscribe
76
- };
77
- }
78
- unsubscribe(listener) {
79
- const index = this._listeners.indexOf(listener);
80
- if (index > -1) {
81
- this._listeners.splice(index, 1);
82
- }
83
- }
84
- dispatch(evt) {
85
- this._listeners.forEach(fn => fn(evt));
86
- }
87
- }
88
- //# sourceMappingURL=subject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject.js","sourceRoot":"","sources":["../../src/med_editor/util/subject.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * 用于绑定数据自动生成table-element
3
- */
4
- export declare class TableBind {
5
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * 用于绑定数据自动生成table-element
3
- */
4
- export class TableBind {
5
- }
6
- //# sourceMappingURL=table-bind.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-bind.js","sourceRoot":"","sources":["../../src/med_editor/util/table-bind.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAS;CAErB"}
@@ -1,340 +0,0 @@
1
- import { ElementUtil } from "@/med_editor/framework/element-util";
2
- import { DocumentCursor, SelectionState } from "./framework/document-selection";
3
- import { Position, ViewOptions } from "./framework/element-define";
4
- import { HitEventInfo } from "./framework/element-event-define";
5
- import { DocumentRenderObject } from "./framework/impl/document/doc-impl";
6
- import { ParagraphElement, ParagraphRenderObject } from "./framework/impl/paragraph/p-impl";
7
- import { TableCellRenderObject } from "./framework/impl/table/table-cell-impl";
8
- import { TableRowRenderObject } from "./framework/impl/table/table-row-impl";
9
- import { RenderObject } from "./framework/render-define";
10
-
11
- export interface RuleOptions {
12
- width: number;
13
- pagePL: number;
14
- pagePR: number;
15
- docLeft: number;
16
-
17
- }
18
- export class DocRule {
19
- private ctx!: CanvasRenderingContext2D;
20
- private options: RuleOptions;
21
- //标尺高度
22
- private ruleHeight = 30;
23
- //当前标尺的位置
24
- private thumbX: {
25
- indent: number,
26
- hanging: number
27
- }
28
- private mouseDownPos!: Position | null;
29
- private indentThumbPoints: Array<Position> = [];
30
- private hangThumbPoints: Array<Position> = [];
31
- private mouseDownThumbType: 'none' | 'indent' | 'hang' = 'none';
32
- constructor(public canvas: HTMLCanvasElement, public viewOptions: ViewOptions, public ss: SelectionState) {
33
- this.ctx = this.canvas.getContext('2d') as CanvasRenderingContext2D;
34
- this.options = {
35
- width: 0,
36
- pagePL: 0,
37
- pagePR: 0,
38
- docLeft: 0
39
- };
40
- this.thumbX = {
41
- indent: 0,
42
- hanging: 0
43
- };
44
- this.canvas.addEventListener("mousedown", (evt) => this.canvasMousedown(evt));
45
- this.canvas.addEventListener("mousemove", (evt) => this.canvasMousemove(evt));
46
- this.canvas.addEventListener("mouseup", (evt) => this.canvasMouseup(evt));
47
- }
48
-
49
- destroy(): void {
50
- this.canvas.removeEventListener("mousedown", this.canvasMousedown);
51
- this.canvas.removeEventListener("mousemove", this.canvasMousemove);
52
- this.canvas.removeEventListener("mouseup", this.canvasMouseup);
53
- }
54
-
55
- setRuleOptions(options: RuleOptions) {
56
- this.options = options;
57
- const convertRatio = this.viewOptions.mmToPixelsRatio;
58
- this.options.pagePL = Math.floor(this.options.pagePL * convertRatio);
59
- this.options.pagePR = Math.floor(this.options.pagePR * convertRatio);
60
- this.scaleView();
61
- ElementUtil.setCanvasProps(this.canvas, this.ctx, { width: this.getParentWidth(), height: this.ruleHeight });
62
- //this.canvas.style.left = this.options.docLeft + 'px';
63
- }
64
-
65
- getParentWidth(): number {
66
- const parent = this.canvas.parentElement as HTMLDivElement;
67
- return parent.getBoundingClientRect().width;
68
- }
69
-
70
- private fillRect(x: number, y: number, width: number, height: number, color: string) {
71
- this.ctx.fillStyle = color;
72
- this.ctx.fillRect(x, y, width, height);
73
- }
74
-
75
- private drawIndentThumb(x: number, y: number): Array<Position> {
76
- const points: Array<Position> = [];
77
- x -= 4;
78
- points.push({ x: x, y });
79
- points.push({ x: x, y: y + 3 });
80
- points.push({ x: x + 4, y: y + 7 });
81
- points.push({ x: x + 8, y: y + 3 });
82
- points.push({ x: x + 8, y });
83
- points.push({ x: x, y });
84
- this.drawLine(points);
85
- return points;
86
- }
87
-
88
- private drawHangThumb(x: number, y: number): Array<Position> {
89
- const points: Array<{ x: number, y: number }> = [];
90
- x -= 4;
91
- points.push({ x: x, y });
92
- points.push({ x: x, y: y - 3 });
93
- points.push({ x: x + 4, y: y - 7 });
94
- points.push({ x: x + 8, y: y - 3 });
95
- points.push({ x: x + 8, y });
96
- points.push({ x: x, y });
97
- points.push({ x: x, y: y + 3 });
98
- points.push({ x: x + 8, y: y + 3 });
99
- points.push({ x: x + 8, y: y });
100
- this.drawLine(points);
101
- return points;
102
- }
103
-
104
- private measureText(text: string) {
105
- this.ctx.font = "8px 'Times New Roman'";
106
- const measure = this.ctx.measureText(text);
107
- return measure.width;
108
- }
109
-
110
- private drawLine(points: Array<Position>): void {
111
- this.ctx.beginPath();
112
- this.ctx.save();
113
- this.ctx.fillStyle = "white";
114
- this.ctx.lineWidth = 0.5;
115
- for (let j = 0; j < points.length; j++) {
116
- let { x, y } = points[j];
117
- x += 0.5;
118
- y += 0.5;
119
- if (j === 0) {
120
- this.ctx.moveTo(x, y);
121
- } else {
122
- this.ctx.lineTo(x, y);
123
- }
124
- }
125
- this.ctx.stroke();
126
- this.ctx.fill();
127
- this.ctx.closePath();
128
- this.ctx.restore();
129
- }
130
-
131
- private drawText(text: string, x: number, y: number) {
132
- this.ctx.save();
133
- this.ctx.fillStyle = "rgb(0,0,0)";
134
- this.ctx.textBaseline = "alphabetic";
135
- this.ctx.font = "8px 'Times New Roman'";
136
- this.ctx.fillText(text, x, y + 8 - 1);
137
- this.ctx.restore();
138
- }
139
-
140
- /**
141
- * 刷新新的状态
142
- * @param indent
143
- * @param hang
144
- */
145
- refreshRule(): void {
146
- this.ctx.clearRect(0, 0, this.canvas.width, this.ruleHeight);
147
- this.ctx.save();
148
- this.ctx.translate(this.options.docLeft, 0);
149
- this.drawRule();
150
- this.ctx.restore();
151
- }
152
-
153
- private canvasMousedown(evt: MouseEvent): void {
154
- const clickPos = this.getMousePos(evt);
155
- if (this.pointInPoly(clickPos, this.indentThumbPoints)) {
156
- this.mouseDownThumbType = 'indent';
157
- this.mouseDownPos = clickPos;
158
- } else if (this.pointInPoly(clickPos, this.hangThumbPoints)) {
159
- this.mouseDownThumbType = 'hang';
160
- this.mouseDownPos = clickPos;
161
- } else {
162
- console.log("未点击在里面");
163
- }
164
- }
165
-
166
- private getMousePos(evt: MouseEvent): Position {
167
- return {
168
- x: evt.offsetX - this.options.docLeft,
169
- y: evt.offsetY
170
- }
171
- }
172
-
173
- private canvasMousemove(evt: MouseEvent): void {
174
- if (['indent', 'hang'].indexOf(this.mouseDownThumbType) < 0) {
175
- return;
176
- }
177
- if (!this.mouseDownPos) {
178
- return;
179
- }
180
- const canvasPos = this.getMousePos(evt);
181
- let moveX = canvasPos.x - this.mouseDownPos.x;
182
- //至少移动5px再进行修改
183
- const remainder = moveX % 5;
184
- if (Math.abs(remainder) < 3) {
185
- return;
186
- } else {
187
- if (remainder < 0) {
188
- moveX -= 5 + remainder;
189
- } else {
190
- moveX += 5 - remainder;
191
- }
192
- }
193
- if (moveX === 0) {
194
- return;
195
- }
196
- canvasPos.x = this.mouseDownPos.x + moveX;
197
- const para = this.getCurrPara();
198
- if (!para) {
199
- throw new Error('para is null')
200
- }
201
- if (this.mouseDownThumbType === 'indent') {
202
- this.thumbX.indent += moveX;
203
- this.thumbX.indent = this.thumbX.indent < 0 ? 0 : this.thumbX.indent;
204
- this.thumbX.indent = this.thumbX.indent > this.options.width ? this.options.width : this.thumbX.indent;
205
- this.mouseDownPos = canvasPos;
206
- para.props.indent += moveX;
207
- this.drawRule();
208
- }
209
- if (this.mouseDownThumbType === 'hang') {
210
- this.thumbX.hanging += moveX;
211
- this.thumbX.hanging = this.thumbX.hanging < 0 ? 0 : this.thumbX.hanging;
212
- this.thumbX.hanging = this.thumbX.hanging > this.options.width ? this.options.width : this.thumbX.hanging;
213
- this.mouseDownPos = canvasPos;
214
- para.props.hanging += moveX;
215
- this.drawRule();
216
- }
217
- }
218
-
219
- private canvasMouseup(evt: MouseEvent): void {
220
- this.mouseDownThumbType = 'none';
221
- this.mouseDownPos = null;
222
- }
223
-
224
-
225
- private pointInPoly(pt: Position, poly: Array<Position>): boolean {
226
- let c = false;
227
- for (let i = -1, l = poly.length, j = l - 1; ++i < l; j = i) {
228
- if (((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y)) && pt.x < ((poly[j].x - poly[i].x) * (pt.y - poly[i].y)) / (poly[j].y - poly[i].y) + poly[i].x) {
229
- c = !c
230
- }
231
- }
232
- return c;
233
- }
234
-
235
-
236
- /**
237
- * 绘制
238
- */
239
- private drawRule(): void {
240
- this.fillRect(0, 0, this.options.pagePL, this.ruleHeight, "rgb(198,198,198)");
241
- this.fillRect(this.options.width - this.options.pagePR, 0, this.options.pagePR, this.ruleHeight, "rgb(198,198,198)");
242
- for (let j = 0; j < 50; j++) {
243
- const gantWidth = 20;
244
- const points: Array<Position> = [];
245
- const x = j * gantWidth;
246
- if (x > this.options.width) {
247
- break;
248
- }
249
- const y = 10;
250
- points.push({ x, y }, { x, y: y + 10 });
251
- this.drawLine(points);
252
- const textWidth = this.measureText(j + "");
253
- this.drawText(j + '', x + Math.floor((gantWidth - textWidth) / 2), y + 1);
254
- }
255
- this.getRuleMarksPos();
256
- this.indentThumbPoints = this.drawIndentThumb(this.thumbX.indent, 6);
257
- this.hangThumbPoints = this.drawHangThumb(this.thumbX.hanging, 25);
258
- }
259
-
260
- private getRuleMarksPos(): void {
261
- const { startControl, startOffset, startHitInfo } = this.ss;
262
- if (!startControl || !startHitInfo) {
263
- return;
264
- }
265
- const para = ElementUtil.getParentByType(startControl, ParagraphElement) as ParagraphElement;
266
- const indent = para.props.indent;
267
- const hanging = para.props.hanging;
268
- const { startRegion, hitDocIndex } = this.ss.startHitInfo as HitEventInfo;
269
- const cursorPosi = DocumentCursor.getElementCursorPos(startControl, startOffset, startRegion, hitDocIndex);
270
- //当前段落
271
- const paraRender = ElementUtil.getParentRender(cursorPosi.render, ParagraphRenderObject) as ParagraphRenderObject;
272
- //当前段落位置
273
- const paraRenderPos = ElementUtil.getRenderAbsolutePaintPos(paraRender)
274
- //当前文档
275
- const docRender = ElementUtil.getParentRender(paraRender, DocumentRenderObject) as DocumentRenderObject;
276
- //当前文档位置
277
- const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender)
278
- this.thumbX.indent = paraRenderPos.x - docRenderPos.x + indent;
279
- this.thumbX.hanging = paraRenderPos.x - docRenderPos.x + hanging;
280
- this.setParentMarksPos(paraRender);
281
- }
282
-
283
- private getCurrPara(): ParagraphElement | null {
284
- const { startControl, startOffset } = this.ss;
285
- if (!startControl) {
286
- return null;
287
- }
288
- return ElementUtil.getParentByType(startControl, ParagraphElement);
289
- }
290
-
291
- private setParentMarksPos(childRender: RenderObject): Array<{ pos: Position }> {
292
- const items: Array<{ pos: Position }> = [];
293
- const parentRender = childRender.parent;
294
- if (!parentRender || parentRender instanceof DocumentRenderObject) {
295
- return items;
296
- }
297
- if (parentRender instanceof TableRowRenderObject) {
298
- const docRender = ElementUtil.getParentRender(parentRender, DocumentRenderObject) as DocumentRenderObject;
299
- const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender)
300
- for (let i = 0; i < parentRender.length; i++) {
301
- const cellRender = parentRender.getChild(i) as TableCellRenderObject;
302
- const pos = ElementUtil.getRenderAbsolutePaintPos(cellRender)
303
- this.drawCellMark(pos.x - docRenderPos.x, 0, cellRender.padding.left);
304
- }
305
- }
306
- items.push(...this.setParentMarksPos(parentRender));
307
- return items;
308
- }
309
-
310
- private drawCellMark(x: number, y: number, width: number): void {
311
- x += 0.5;
312
- y += 0.5;
313
- this.fillRect(x, y, width, this.ruleHeight, 'rgb(198,198,198,0.2)')
314
- for (let i = 0; i < width; i++) {
315
- this.ctx.save();
316
- this.ctx.beginPath();
317
- this.ctx.lineWidth = 0.3;
318
- this.ctx.setLineDash([0.5, 0.5, 0.5]);
319
- this.ctx.moveTo(x + i, y);
320
- this.ctx.lineTo(x + i, y + this.ruleHeight);
321
- this.ctx.stroke();
322
- this.ctx.closePath();
323
- this.ctx.restore();
324
- }
325
- }
326
-
327
- scaleView(): void {
328
- return;
329
- const { scale } = this.viewOptions;
330
- //this.canvas.style.transformOrigin = 'center center';
331
- const parent = this.canvas.parentElement as HTMLDivElement;
332
- if (scale === 1) {
333
- parent.style.transform = '';
334
- } else {
335
- parent.style.transform = `scale(${this.viewOptions.scale})`;
336
- }
337
- }
338
-
339
-
340
- }