editor-svg 1.0.0

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 (472) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintrc +46 -0
  3. package/.prettierrc +8 -0
  4. package/AGENTS.md +186 -0
  5. package/CHANGELOG.md +2543 -0
  6. package/CLAUDE.md +110 -0
  7. package/LICENSE +21 -0
  8. package/README.md +110 -0
  9. package/cypress/e2e/control/checkbox.cy.ts +46 -0
  10. package/cypress/e2e/control/select.cy.ts +56 -0
  11. package/cypress/e2e/control/text.cy.ts +43 -0
  12. package/cypress/e2e/editor.cy.ts +67 -0
  13. package/cypress/e2e/menus/block.cy.ts +38 -0
  14. package/cypress/e2e/menus/checkbox.cy.ts +33 -0
  15. package/cypress/e2e/menus/codeblock.cy.ts +34 -0
  16. package/cypress/e2e/menus/date.cy.ts +28 -0
  17. package/cypress/e2e/menus/format.cy.ts +40 -0
  18. package/cypress/e2e/menus/hyperlink.cy.ts +39 -0
  19. package/cypress/e2e/menus/image.cy.ts +25 -0
  20. package/cypress/e2e/menus/latex.cy.ts +34 -0
  21. package/cypress/e2e/menus/pagebreak.cy.ts +21 -0
  22. package/cypress/e2e/menus/painter.cy.ts +53 -0
  23. package/cypress/e2e/menus/print.cy.ts +25 -0
  24. package/cypress/e2e/menus/row.cy.ts +103 -0
  25. package/cypress/e2e/menus/search.cy.ts +112 -0
  26. package/cypress/e2e/menus/separator.cy.ts +32 -0
  27. package/cypress/e2e/menus/table.cy.ts +25 -0
  28. package/cypress/e2e/menus/text.cy.ts +304 -0
  29. package/cypress/e2e/menus/title.cy.ts +43 -0
  30. package/cypress/e2e/menus/undoRedo.cy.ts +49 -0
  31. package/cypress/e2e/menus/watermark.cy.ts +64 -0
  32. package/cypress/fixtures/example.json +3 -0
  33. package/cypress/fixtures/test.png +0 -0
  34. package/cypress/global.d.ts +13 -0
  35. package/cypress/support/commands.ts +5 -0
  36. package/cypress/support/e2e.ts +1 -0
  37. package/cypress/tsconfig.json +21 -0
  38. package/cypress.config.ts +10 -0
  39. package/docs/.vitepress/config.ts +191 -0
  40. package/docs/.vitepress/theme/components/DeepWikiBadge.vue +21 -0
  41. package/docs/.vitepress/theme/components/ZreadBadge.vue +21 -0
  42. package/docs/.vitepress/theme/index.ts +27 -0
  43. package/docs/en/guide/api-common.md +49 -0
  44. package/docs/en/guide/api-instance.md +34 -0
  45. package/docs/en/guide/command-execute.md +1167 -0
  46. package/docs/en/guide/command-get.md +355 -0
  47. package/docs/en/guide/contextmenu-custom.md +44 -0
  48. package/docs/en/guide/contextmenu-internal.md +61 -0
  49. package/docs/en/guide/eventbus.md +260 -0
  50. package/docs/en/guide/i18n.md +112 -0
  51. package/docs/en/guide/listener.md +126 -0
  52. package/docs/en/guide/option.md +214 -0
  53. package/docs/en/guide/override.md +57 -0
  54. package/docs/en/guide/plugin-custom.md +25 -0
  55. package/docs/en/guide/plugin-internal.md +125 -0
  56. package/docs/en/guide/schema.md +237 -0
  57. package/docs/en/guide/shortcut-custom.md +22 -0
  58. package/docs/en/guide/shortcut-internal.md +189 -0
  59. package/docs/en/guide/start.md +97 -0
  60. package/docs/en/index.md +43 -0
  61. package/docs/guide/api-common.md +49 -0
  62. package/docs/guide/api-instance.md +34 -0
  63. package/docs/guide/command-execute.md +1157 -0
  64. package/docs/guide/command-get.md +353 -0
  65. package/docs/guide/contextmenu-custom.md +44 -0
  66. package/docs/guide/contextmenu-internal.md +61 -0
  67. package/docs/guide/eventbus.md +260 -0
  68. package/docs/guide/i18n.md +111 -0
  69. package/docs/guide/listener.md +126 -0
  70. package/docs/guide/option.md +214 -0
  71. package/docs/guide/override.md +57 -0
  72. package/docs/guide/plugin-custom.md +25 -0
  73. package/docs/guide/plugin-internal.md +125 -0
  74. package/docs/guide/schema.md +237 -0
  75. package/docs/guide/shortcut-custom.md +22 -0
  76. package/docs/guide/shortcut-internal.md +189 -0
  77. package/docs/guide/start.md +97 -0
  78. package/docs/index.md +43 -0
  79. package/docs/public/favicon.png +0 -0
  80. package/favicon.png +0 -0
  81. package/index.html +435 -0
  82. package/package.json +55 -0
  83. package/pnpm-lock.yaml +4113 -0
  84. package/scripts/release.js +41 -0
  85. package/scripts/verifyCommit.js +19 -0
  86. package/src/assets/images/alignment.svg +1 -0
  87. package/src/assets/images/arrow-left.svg +1 -0
  88. package/src/assets/images/arrow-right.svg +1 -0
  89. package/src/assets/images/block.svg +1 -0
  90. package/src/assets/images/bold.svg +1 -0
  91. package/src/assets/images/catalog.svg +1 -0
  92. package/src/assets/images/center.svg +1 -0
  93. package/src/assets/images/checkbox.svg +1 -0
  94. package/src/assets/images/close.svg +1 -0
  95. package/src/assets/images/codeblock.svg +1 -0
  96. package/src/assets/images/color.svg +1 -0
  97. package/src/assets/images/control.svg +1 -0
  98. package/src/assets/images/date.svg +1 -0
  99. package/src/assets/images/exit-fullscreen.svg +1 -0
  100. package/src/assets/images/format.svg +1 -0
  101. package/src/assets/images/highlight.svg +1 -0
  102. package/src/assets/images/hyperlink.svg +1 -0
  103. package/src/assets/images/image.svg +1 -0
  104. package/src/assets/images/italic.svg +1 -0
  105. package/src/assets/images/justify.svg +7 -0
  106. package/src/assets/images/latex.svg +1 -0
  107. package/src/assets/images/left.svg +1 -0
  108. package/src/assets/images/line-dash-dot-dot.svg +1 -0
  109. package/src/assets/images/line-dash-dot.svg +1 -0
  110. package/src/assets/images/line-dash-large-gap.svg +1 -0
  111. package/src/assets/images/line-dash-small-gap.svg +1 -0
  112. package/src/assets/images/line-dot.svg +1 -0
  113. package/src/assets/images/line-double.svg +1 -0
  114. package/src/assets/images/line-single.svg +1 -0
  115. package/src/assets/images/line-wavy.svg +1 -0
  116. package/src/assets/images/list.svg +1 -0
  117. package/src/assets/images/option.svg +1 -0
  118. package/src/assets/images/page-break.svg +1 -0
  119. package/src/assets/images/page-mode.svg +1 -0
  120. package/src/assets/images/page-scale-add.svg +1 -0
  121. package/src/assets/images/page-scale-minus.svg +1 -0
  122. package/src/assets/images/painter.svg +1 -0
  123. package/src/assets/images/paper-direction.svg +1 -0
  124. package/src/assets/images/paper-margin.svg +1 -0
  125. package/src/assets/images/paper-size.svg +1 -0
  126. package/src/assets/images/print.svg +1 -0
  127. package/src/assets/images/radio.svg +4 -0
  128. package/src/assets/images/redo.svg +1 -0
  129. package/src/assets/images/request-fullscreen.svg +1 -0
  130. package/src/assets/images/right.svg +1 -0
  131. package/src/assets/images/row-margin.svg +1 -0
  132. package/src/assets/images/search.svg +1 -0
  133. package/src/assets/images/separator.svg +1 -0
  134. package/src/assets/images/signature-undo.svg +1 -0
  135. package/src/assets/images/signature.svg +1 -0
  136. package/src/assets/images/size-add.svg +1 -0
  137. package/src/assets/images/size-minus.svg +1 -0
  138. package/src/assets/images/strikeout.svg +1 -0
  139. package/src/assets/images/subscript.svg +1 -0
  140. package/src/assets/images/superscript.svg +1 -0
  141. package/src/assets/images/table.svg +1 -0
  142. package/src/assets/images/title.svg +1 -0
  143. package/src/assets/images/trash.svg +1 -0
  144. package/src/assets/images/underline.svg +1 -0
  145. package/src/assets/images/undo.svg +1 -0
  146. package/src/assets/images/watermark.svg +1 -0
  147. package/src/assets/images/word-tool.svg +1 -0
  148. package/src/assets/snapshots/main_v0.2.1.png +0 -0
  149. package/src/assets/snapshots/main_v0.2.2.png +0 -0
  150. package/src/assets/snapshots/main_v0.3.0.png +0 -0
  151. package/src/assets/snapshots/main_v0.3.1.png +0 -0
  152. package/src/assets/snapshots/main_v0.5.0.png +0 -0
  153. package/src/assets/snapshots/main_v0.5.1.png +0 -0
  154. package/src/assets/snapshots/main_v0.6.0.png +0 -0
  155. package/src/assets/snapshots/main_v0.6.1.png +0 -0
  156. package/src/assets/snapshots/main_v0.7.0.png +0 -0
  157. package/src/assets/snapshots/main_v0.7.1.png +0 -0
  158. package/src/assets/snapshots/main_v0.7.2.png +0 -0
  159. package/src/assets/snapshots/main_v0.7.3.png +0 -0
  160. package/src/assets/snapshots/main_v0.7.4.png +0 -0
  161. package/src/assets/snapshots/main_v0.7.6.png +0 -0
  162. package/src/assets/snapshots/main_v0.7.7.png +0 -0
  163. package/src/assets/snapshots/main_v0.8.0.png +0 -0
  164. package/src/assets/snapshots/main_v0.8.5.png +0 -0
  165. package/src/assets/snapshots/main_v0.8.6.png +0 -0
  166. package/src/assets/snapshots/main_v0.8.7.png +0 -0
  167. package/src/assets/snapshots/main_v0.8.8.png +0 -0
  168. package/src/assets/snapshots/main_v0.9.0.png +0 -0
  169. package/src/assets/snapshots/main_v0.9.1.png +0 -0
  170. package/src/assets/snapshots/main_v0.9.2.png +0 -0
  171. package/src/assets/snapshots/main_v0.9.23.png +0 -0
  172. package/src/assets/snapshots/main_v0.9.28.png +0 -0
  173. package/src/assets/snapshots/main_v0.9.29.png +0 -0
  174. package/src/assets/snapshots/main_v0.9.3.png +0 -0
  175. package/src/assets/snapshots/main_v0.9.30.png +0 -0
  176. package/src/assets/snapshots/main_v0.9.32.png +0 -0
  177. package/src/assets/snapshots/main_v0.9.35.png +0 -0
  178. package/src/assets/snapshots/main_v0.9.4.png +0 -0
  179. package/src/assets/snapshots/main_v0.9.5.png +0 -0
  180. package/src/assets/snapshots/main_v0.9.6.png +0 -0
  181. package/src/assets/snapshots/main_v0.9.8.png +0 -0
  182. package/src/components/dialog/Dialog.ts +171 -0
  183. package/src/components/dialog/dialog.css +131 -0
  184. package/src/components/signature/Signature.ts +340 -0
  185. package/src/components/signature/signature.css +132 -0
  186. package/src/editor/assets/css/block/block.css +21 -0
  187. package/src/editor/assets/css/contextmenu/contextmenu.css +196 -0
  188. package/src/editor/assets/css/control/calculator.css +85 -0
  189. package/src/editor/assets/css/control/select.css +44 -0
  190. package/src/editor/assets/css/date/datePicker.css +233 -0
  191. package/src/editor/assets/css/hyperlink/hyperlink.css +26 -0
  192. package/src/editor/assets/css/index.css +78 -0
  193. package/src/editor/assets/css/previewer/previewer.css +122 -0
  194. package/src/editor/assets/css/resizer/resizer.css +74 -0
  195. package/src/editor/assets/css/table/table.css +155 -0
  196. package/src/editor/assets/css/zone/zone.css +61 -0
  197. package/src/editor/assets/images/close.svg +1 -0
  198. package/src/editor/assets/images/delete-col.svg +1 -0
  199. package/src/editor/assets/images/delete-row-col.svg +1 -0
  200. package/src/editor/assets/images/delete-row.svg +1 -0
  201. package/src/editor/assets/images/delete-table.svg +1 -0
  202. package/src/editor/assets/images/image-change.svg +1 -0
  203. package/src/editor/assets/images/image-download.svg +1 -0
  204. package/src/editor/assets/images/image-next.svg +1 -0
  205. package/src/editor/assets/images/image-pre.svg +1 -0
  206. package/src/editor/assets/images/image.svg +1 -0
  207. package/src/editor/assets/images/insert-bottom-row.svg +1 -0
  208. package/src/editor/assets/images/insert-left-col.svg +1 -0
  209. package/src/editor/assets/images/insert-right-col.svg +1 -0
  210. package/src/editor/assets/images/insert-row-col.svg +1 -0
  211. package/src/editor/assets/images/insert-top-row.svg +1 -0
  212. package/src/editor/assets/images/merge-cancel-cell.svg +1 -0
  213. package/src/editor/assets/images/merge-cell.svg +1 -0
  214. package/src/editor/assets/images/original-size.svg +1 -0
  215. package/src/editor/assets/images/print.svg +1 -0
  216. package/src/editor/assets/images/rotate.svg +1 -0
  217. package/src/editor/assets/images/submenu-dropdown.svg +1 -0
  218. package/src/editor/assets/images/table-border-all.svg +1 -0
  219. package/src/editor/assets/images/table-border-dash.svg +1 -0
  220. package/src/editor/assets/images/table-border-empty.svg +1 -0
  221. package/src/editor/assets/images/table-border-external.svg +1 -0
  222. package/src/editor/assets/images/table-border-internal.svg +1 -0
  223. package/src/editor/assets/images/table-border-td-back.svg +1 -0
  224. package/src/editor/assets/images/table-border-td-bottom.svg +1 -0
  225. package/src/editor/assets/images/table-border-td-forward.svg +1 -0
  226. package/src/editor/assets/images/table-border-td-left.svg +1 -0
  227. package/src/editor/assets/images/table-border-td-right.svg +1 -0
  228. package/src/editor/assets/images/table-border-td-top.svg +1 -0
  229. package/src/editor/assets/images/table-border-td.svg +1 -0
  230. package/src/editor/assets/images/vertical-align-bottom.svg +1 -0
  231. package/src/editor/assets/images/vertical-align-middle.svg +1 -0
  232. package/src/editor/assets/images/vertical-align-top.svg +1 -0
  233. package/src/editor/assets/images/vertical-align.svg +1 -0
  234. package/src/editor/assets/images/zoom-in.svg +1 -0
  235. package/src/editor/assets/images/zoom-out.svg +1 -0
  236. package/src/editor/core/actuator/Actuator.ts +21 -0
  237. package/src/editor/core/actuator/handlers/positionContextChange.ts +13 -0
  238. package/src/editor/core/command/Command.ts +312 -0
  239. package/src/editor/core/command/CommandAdapt.ts +2733 -0
  240. package/src/editor/core/contextmenu/ContextMenu.ts +363 -0
  241. package/src/editor/core/contextmenu/menus/controlMenus.ts +25 -0
  242. package/src/editor/core/contextmenu/menus/globalMenus.ts +66 -0
  243. package/src/editor/core/contextmenu/menus/hyperlinkMenus.ts +58 -0
  244. package/src/editor/core/contextmenu/menus/imageMenus.ts +134 -0
  245. package/src/editor/core/contextmenu/menus/tableMenus.ts +331 -0
  246. package/src/editor/core/cursor/Cursor.ts +248 -0
  247. package/src/editor/core/cursor/CursorAgent.ts +75 -0
  248. package/src/editor/core/draw/Draw.ts +2934 -0
  249. package/src/editor/core/draw/control/Control.ts +1767 -0
  250. package/src/editor/core/draw/control/checkbox/CheckboxControl.ts +154 -0
  251. package/src/editor/core/draw/control/date/DateControl.ts +363 -0
  252. package/src/editor/core/draw/control/interactive/ControlSearch.ts +214 -0
  253. package/src/editor/core/draw/control/number/Calculator.ts +183 -0
  254. package/src/editor/core/draw/control/number/NumberControl.ts +183 -0
  255. package/src/editor/core/draw/control/radio/RadioControl.ts +68 -0
  256. package/src/editor/core/draw/control/richtext/Border.ts +52 -0
  257. package/src/editor/core/draw/control/select/SelectControl.ts +567 -0
  258. package/src/editor/core/draw/control/text/TextControl.ts +280 -0
  259. package/src/editor/core/draw/frame/Background.ts +117 -0
  260. package/src/editor/core/draw/frame/Badge.ts +88 -0
  261. package/src/editor/core/draw/frame/Footer.ts +155 -0
  262. package/src/editor/core/draw/frame/Header.ts +158 -0
  263. package/src/editor/core/draw/frame/LineNumber.ts +43 -0
  264. package/src/editor/core/draw/frame/Margin.ts +53 -0
  265. package/src/editor/core/draw/frame/PageBorder.ts +47 -0
  266. package/src/editor/core/draw/frame/PageNumber.ts +88 -0
  267. package/src/editor/core/draw/frame/Placeholder.ts +114 -0
  268. package/src/editor/core/draw/frame/Watermark.ts +188 -0
  269. package/src/editor/core/draw/graffiti/Graffiti.ts +125 -0
  270. package/src/editor/core/draw/interactive/Area.ts +312 -0
  271. package/src/editor/core/draw/interactive/Group.ts +198 -0
  272. package/src/editor/core/draw/interactive/Search.ts +527 -0
  273. package/src/editor/core/draw/particle/CheckboxParticle.ts +111 -0
  274. package/src/editor/core/draw/particle/HyperlinkParticle.ts +86 -0
  275. package/src/editor/core/draw/particle/ImageParticle.ts +280 -0
  276. package/src/editor/core/draw/particle/LabelParticle.ts +79 -0
  277. package/src/editor/core/draw/particle/LineBreakParticle.ts +55 -0
  278. package/src/editor/core/draw/particle/ListParticle.ts +255 -0
  279. package/src/editor/core/draw/particle/PageBreakParticle.ts +54 -0
  280. package/src/editor/core/draw/particle/RadioParticle.ts +99 -0
  281. package/src/editor/core/draw/particle/SeparatorParticle.ts +37 -0
  282. package/src/editor/core/draw/particle/SubscriptParticle.ts +23 -0
  283. package/src/editor/core/draw/particle/SuperscriptParticle.ts +23 -0
  284. package/src/editor/core/draw/particle/TextParticle.ts +174 -0
  285. package/src/editor/core/draw/particle/WhiteSpaceParticle.ts +32 -0
  286. package/src/editor/core/draw/particle/block/BlockParticle.ts +76 -0
  287. package/src/editor/core/draw/particle/block/modules/BaseBlock.ts +280 -0
  288. package/src/editor/core/draw/particle/block/modules/IFrameBlock.ts +47 -0
  289. package/src/editor/core/draw/particle/block/modules/VideoBlock.ts +61 -0
  290. package/src/editor/core/draw/particle/date/DateParticle.ts +111 -0
  291. package/src/editor/core/draw/particle/date/DatePicker.ts +577 -0
  292. package/src/editor/core/draw/particle/latex/LaTexParticle.ts +43 -0
  293. package/src/editor/core/draw/particle/latex/utils/LaTexUtils.ts +1196 -0
  294. package/src/editor/core/draw/particle/latex/utils/hershey.ts +1632 -0
  295. package/src/editor/core/draw/particle/latex/utils/symbols.ts +318 -0
  296. package/src/editor/core/draw/particle/previewer/Previewer.ts +582 -0
  297. package/src/editor/core/draw/particle/table/TableOperate.ts +988 -0
  298. package/src/editor/core/draw/particle/table/TableParticle.ts +558 -0
  299. package/src/editor/core/draw/particle/table/TableTool.ts +551 -0
  300. package/src/editor/core/draw/richtext/AbstractRichText.ts +59 -0
  301. package/src/editor/core/draw/richtext/Highlight.ts +24 -0
  302. package/src/editor/core/draw/richtext/Strikeout.ts +28 -0
  303. package/src/editor/core/draw/richtext/Underline.ts +106 -0
  304. package/src/editor/core/event/CanvasEvent.ts +215 -0
  305. package/src/editor/core/event/GlobalEvent.ts +173 -0
  306. package/src/editor/core/event/eventbus/EventBus.ts +50 -0
  307. package/src/editor/core/event/handlers/click.ts +234 -0
  308. package/src/editor/core/event/handlers/composition.ts +45 -0
  309. package/src/editor/core/event/handlers/copy.ts +72 -0
  310. package/src/editor/core/event/handlers/cut.ts +47 -0
  311. package/src/editor/core/event/handlers/drag.ts +66 -0
  312. package/src/editor/core/event/handlers/drop.ts +28 -0
  313. package/src/editor/core/event/handlers/input.ts +129 -0
  314. package/src/editor/core/event/handlers/keydown/backspace.ts +161 -0
  315. package/src/editor/core/event/handlers/keydown/delete.ts +119 -0
  316. package/src/editor/core/event/handlers/keydown/end.ts +69 -0
  317. package/src/editor/core/event/handlers/keydown/enter.ts +126 -0
  318. package/src/editor/core/event/handlers/keydown/home.ts +69 -0
  319. package/src/editor/core/event/handlers/keydown/index.ts +85 -0
  320. package/src/editor/core/event/handlers/keydown/left.ts +162 -0
  321. package/src/editor/core/event/handlers/keydown/right.ts +178 -0
  322. package/src/editor/core/event/handlers/keydown/tab.ts +41 -0
  323. package/src/editor/core/event/handlers/keydown/updown.ts +342 -0
  324. package/src/editor/core/event/handlers/mousedown.ts +262 -0
  325. package/src/editor/core/event/handlers/mouseleave.ts +14 -0
  326. package/src/editor/core/event/handlers/mousemove.ts +133 -0
  327. package/src/editor/core/event/handlers/mouseup.ts +341 -0
  328. package/src/editor/core/event/handlers/paste.ts +231 -0
  329. package/src/editor/core/history/HistoryManager.ts +61 -0
  330. package/src/editor/core/i18n/I18n.ts +51 -0
  331. package/src/editor/core/i18n/lang/en.json +92 -0
  332. package/src/editor/core/i18n/lang/zh-CN.json +92 -0
  333. package/src/editor/core/listener/Listener.ts +41 -0
  334. package/src/editor/core/observer/ImageObserver.ts +19 -0
  335. package/src/editor/core/observer/MouseObserver.ts +56 -0
  336. package/src/editor/core/observer/ScrollObserver.ts +88 -0
  337. package/src/editor/core/observer/SelectionObserver.ts +143 -0
  338. package/src/editor/core/override/Override.ts +14 -0
  339. package/src/editor/core/plugin/Plugin.ts +17 -0
  340. package/src/editor/core/position/Position.ts +870 -0
  341. package/src/editor/core/range/RangeManager.ts +723 -0
  342. package/src/editor/core/register/Register.ts +28 -0
  343. package/src/editor/core/shortcut/Shortcut.ts +80 -0
  344. package/src/editor/core/shortcut/keys/listKeys.ts +22 -0
  345. package/src/editor/core/shortcut/keys/richtextKeys.ts +102 -0
  346. package/src/editor/core/shortcut/keys/titleKeys.ts +62 -0
  347. package/src/editor/core/worker/WorkerManager.ts +96 -0
  348. package/src/editor/core/worker/works/catalog.ts +189 -0
  349. package/src/editor/core/worker/works/group.ts +34 -0
  350. package/src/editor/core/worker/works/value.ts +32 -0
  351. package/src/editor/core/worker/works/wordCount.ts +132 -0
  352. package/src/editor/core/zone/Zone.ts +183 -0
  353. package/src/editor/core/zone/ZoneTip.ts +108 -0
  354. package/src/editor/dataset/constant/Background.ts +10 -0
  355. package/src/editor/dataset/constant/Badge.ts +6 -0
  356. package/src/editor/dataset/constant/Checkbox.ts +12 -0
  357. package/src/editor/dataset/constant/Common.ts +44 -0
  358. package/src/editor/dataset/constant/ContextMenu.ts +61 -0
  359. package/src/editor/dataset/constant/Control.ts +14 -0
  360. package/src/editor/dataset/constant/Cursor.ts +11 -0
  361. package/src/editor/dataset/constant/Editor.ts +19 -0
  362. package/src/editor/dataset/constant/Element.ts +173 -0
  363. package/src/editor/dataset/constant/Footer.ts +10 -0
  364. package/src/editor/dataset/constant/Graffiti.ts +6 -0
  365. package/src/editor/dataset/constant/Group.ts +10 -0
  366. package/src/editor/dataset/constant/Header.ts +10 -0
  367. package/src/editor/dataset/constant/ImgCaption.ts +8 -0
  368. package/src/editor/dataset/constant/Label.ts +8 -0
  369. package/src/editor/dataset/constant/LineBreak.ts +7 -0
  370. package/src/editor/dataset/constant/LineNumber.ts +11 -0
  371. package/src/editor/dataset/constant/List.ts +26 -0
  372. package/src/editor/dataset/constant/PageBorder.ts +8 -0
  373. package/src/editor/dataset/constant/PageBreak.ts +7 -0
  374. package/src/editor/dataset/constant/PageNumber.ts +22 -0
  375. package/src/editor/dataset/constant/Placeholder.ts +9 -0
  376. package/src/editor/dataset/constant/Radio.ts +12 -0
  377. package/src/editor/dataset/constant/Regular.ts +23 -0
  378. package/src/editor/dataset/constant/Separator.ts +6 -0
  379. package/src/editor/dataset/constant/Shortcut.ts +3 -0
  380. package/src/editor/dataset/constant/Table.ts +9 -0
  381. package/src/editor/dataset/constant/Title.ts +38 -0
  382. package/src/editor/dataset/constant/Watermark.ts +17 -0
  383. package/src/editor/dataset/constant/WhiteSpace.ts +7 -0
  384. package/src/editor/dataset/constant/Zone.ts +5 -0
  385. package/src/editor/dataset/enum/Area.ts +5 -0
  386. package/src/editor/dataset/enum/Background.ts +11 -0
  387. package/src/editor/dataset/enum/Block.ts +4 -0
  388. package/src/editor/dataset/enum/Common.ts +30 -0
  389. package/src/editor/dataset/enum/Control.ts +39 -0
  390. package/src/editor/dataset/enum/Editor.ts +51 -0
  391. package/src/editor/dataset/enum/Element.ts +21 -0
  392. package/src/editor/dataset/enum/ElementStyle.ts +12 -0
  393. package/src/editor/dataset/enum/Event.ts +5 -0
  394. package/src/editor/dataset/enum/KeyMap.ts +85 -0
  395. package/src/editor/dataset/enum/LineNumber.ts +4 -0
  396. package/src/editor/dataset/enum/List.ts +23 -0
  397. package/src/editor/dataset/enum/Observer.ts +6 -0
  398. package/src/editor/dataset/enum/Row.ts +7 -0
  399. package/src/editor/dataset/enum/Text.ts +13 -0
  400. package/src/editor/dataset/enum/Title.ts +8 -0
  401. package/src/editor/dataset/enum/VerticalAlign.ts +5 -0
  402. package/src/editor/dataset/enum/Watermark.ts +4 -0
  403. package/src/editor/dataset/enum/table/Table.ts +19 -0
  404. package/src/editor/dataset/enum/table/TableTool.ts +4 -0
  405. package/src/editor/index.ts +241 -0
  406. package/src/editor/interface/Area.ts +68 -0
  407. package/src/editor/interface/Background.ts +9 -0
  408. package/src/editor/interface/Badge.ts +17 -0
  409. package/src/editor/interface/Block.ts +18 -0
  410. package/src/editor/interface/Catalog.ts +11 -0
  411. package/src/editor/interface/Checkbox.ts +17 -0
  412. package/src/editor/interface/Command.ts +3 -0
  413. package/src/editor/interface/Common.ts +43 -0
  414. package/src/editor/interface/Control.ts +250 -0
  415. package/src/editor/interface/Cursor.ts +7 -0
  416. package/src/editor/interface/Draw.ts +86 -0
  417. package/src/editor/interface/Editor.ts +172 -0
  418. package/src/editor/interface/Element.ts +273 -0
  419. package/src/editor/interface/Event.ts +27 -0
  420. package/src/editor/interface/EventBus.ts +46 -0
  421. package/src/editor/interface/Footer.ts +9 -0
  422. package/src/editor/interface/Graffiti.ts +15 -0
  423. package/src/editor/interface/Group.ts +8 -0
  424. package/src/editor/interface/Header.ts +9 -0
  425. package/src/editor/interface/Label.ts +8 -0
  426. package/src/editor/interface/LineBreak.ts +5 -0
  427. package/src/editor/interface/LineNumber.ts +10 -0
  428. package/src/editor/interface/Listener.ts +88 -0
  429. package/src/editor/interface/Margin.ts +1 -0
  430. package/src/editor/interface/PageBorder.ts +8 -0
  431. package/src/editor/interface/PageBreak.ts +5 -0
  432. package/src/editor/interface/PageNumber.ts +16 -0
  433. package/src/editor/interface/Placeholder.ts +7 -0
  434. package/src/editor/interface/Plugin.ts +8 -0
  435. package/src/editor/interface/Position.ts +113 -0
  436. package/src/editor/interface/Previewer.ts +15 -0
  437. package/src/editor/interface/Radio.ts +17 -0
  438. package/src/editor/interface/Range.ts +61 -0
  439. package/src/editor/interface/Row.ts +25 -0
  440. package/src/editor/interface/Search.ts +36 -0
  441. package/src/editor/interface/Separator.ts +4 -0
  442. package/src/editor/interface/Text.ts +15 -0
  443. package/src/editor/interface/Title.ts +32 -0
  444. package/src/editor/interface/Watermark.ts +16 -0
  445. package/src/editor/interface/WhiteSpace.ts +5 -0
  446. package/src/editor/interface/Zone.ts +3 -0
  447. package/src/editor/interface/contextmenu/ContextMenu.ts +76 -0
  448. package/src/editor/interface/i18n/I18n.ts +7 -0
  449. package/src/editor/interface/shortcut/Shortcut.ts +14 -0
  450. package/src/editor/interface/table/Colgroup.ts +4 -0
  451. package/src/editor/interface/table/Table.ts +9 -0
  452. package/src/editor/interface/table/Td.ts +36 -0
  453. package/src/editor/interface/table/Tr.ts +11 -0
  454. package/src/editor/types/index.d.ts +5 -0
  455. package/src/editor/utils/clipboard.ts +94 -0
  456. package/src/editor/utils/element.ts +1877 -0
  457. package/src/editor/utils/hotkey.ts +5 -0
  458. package/src/editor/utils/index.ts +445 -0
  459. package/src/editor/utils/option.ts +253 -0
  460. package/src/editor/utils/paragraph.ts +28 -0
  461. package/src/editor/utils/print.ts +99 -0
  462. package/src/editor/utils/ua.ts +13 -0
  463. package/src/main.ts +2053 -0
  464. package/src/mock.ts +611 -0
  465. package/src/plugins/copy/index.ts +30 -0
  466. package/src/plugins/markdown/index.ts +118 -0
  467. package/src/style.css +1079 -0
  468. package/src/utils/index.ts +45 -0
  469. package/src/utils/prism.ts +89 -0
  470. package/src/vite-env.d.ts +1 -0
  471. package/tsconfig.json +25 -0
  472. package/vite.config.ts +46 -0
@@ -0,0 +1,353 @@
1
+ # 获取数据命令
2
+
3
+ ## 使用方式
4
+
5
+ ```javascript
6
+ import Editor from "@hufe921/canvas-editor"
7
+
8
+ const instance = new Editor(container, <IElement[]>data, options)
9
+ const value = instance.command.commandName()
10
+ ```
11
+
12
+ ## getValue
13
+
14
+ 功能:获取当前文档信息
15
+
16
+ 用法:
17
+
18
+ ```javascript
19
+ const {
20
+ version: string
21
+ data: IEditorData
22
+ options: IEditorOption
23
+ } = instance.command.getValue(options?: IGetValueOption)
24
+ ```
25
+
26
+ ## getValueAsync
27
+
28
+ 功能:获取当前文档信息(异步)
29
+
30
+ 用法:
31
+
32
+ ```javascript
33
+ const {
34
+ version: string
35
+ data: IEditorData
36
+ options: IEditorOption
37
+ } = await instance.command.getValueAsync(options?: IGetValueOption)
38
+ ```
39
+
40
+ ## getImage
41
+
42
+ 功能:获取当前页面图片 base64 字符串
43
+
44
+ 用法:
45
+
46
+ ```javascript
47
+ const base64StringList = await instance.command.getImage(option?: IGetImageOption)
48
+ ```
49
+
50
+ ## getOptions
51
+
52
+ 功能:获取编辑器配置
53
+
54
+ 用法:
55
+
56
+ ```javascript
57
+ const editorOption = await instance.command.getOptions()
58
+ ```
59
+
60
+ ## getWordCount
61
+
62
+ 功能:获取文档字数
63
+
64
+ 用法:
65
+
66
+ ```javascript
67
+ const wordCount = await instance.command.getWordCount()
68
+ ```
69
+
70
+ ## getCursorPosition
71
+
72
+ 功能: 获取光标位置坐标
73
+
74
+ 用法:
75
+
76
+ ```javascript
77
+ const range = instance.command.getCursorPosition()
78
+ ```
79
+
80
+ ## getRemainingContentHeight
81
+
82
+ 功能:获取最后一页剩余可用内容高度
83
+
84
+ 用法:
85
+
86
+ ```javascript
87
+ const remainingHeight = instance.command.getRemainingContentHeight()
88
+ ```
89
+
90
+ ## computeElementListHeight
91
+
92
+ 功能:计算元素列表占用高度
93
+
94
+ 用法:
95
+
96
+ ```javascript
97
+ const height = instance.command.computeElementListHeight(
98
+ elementList: IElement[]
99
+ )
100
+ ```
101
+
102
+ ## getRange
103
+
104
+ 功能:获取选区
105
+
106
+ 用法:
107
+
108
+ ```javascript
109
+ const range = instance.command.getRange()
110
+ ```
111
+
112
+ ## getRangeText
113
+
114
+ 功能:获取选区文本
115
+
116
+ 用法:
117
+
118
+ ```javascript
119
+ const rangeText = instance.command.getRangeText()
120
+ ```
121
+
122
+ ## getRangeContext
123
+
124
+ 功能:获取选区上下文
125
+
126
+ 用法:
127
+
128
+ ```javascript
129
+ const rangeContext = instance.command.getRangeContext()
130
+ ```
131
+
132
+ ## getRangeRow
133
+
134
+ 功能:获取选区所在行元素列表
135
+
136
+ 用法:
137
+
138
+ ```javascript
139
+ const rowElementList = instance.command.getRangeRow()
140
+ ```
141
+
142
+ ## getKeywordRangeList
143
+
144
+ 功能:获取关键词所在选区列表
145
+
146
+ 用法:
147
+
148
+ ```javascript
149
+ const rangeList = instance.command.getKeywordRangeList()
150
+ ```
151
+
152
+ ## getKeywordContext
153
+
154
+ 功能:获取关键词所在上下文本信息
155
+
156
+ 用法:
157
+
158
+ ```javascript
159
+ const keywordContextList = instance.command.getKeywordContext(payload: string)
160
+ ```
161
+
162
+ ## getRangeParagraph
163
+
164
+ 功能:获取选区所在段落元素列表
165
+
166
+ 用法:
167
+
168
+ ```javascript
169
+ const paragraphElementList = instance.command.getRangeParagraph()
170
+ ```
171
+
172
+ ## getPaperMargin
173
+
174
+ 功能:获取页边距
175
+
176
+ 用法:
177
+
178
+ ```javascript
179
+ const [top: number, right: number, bottom: number, left: number] =
180
+ instance.command.getPaperMargin()
181
+ ```
182
+
183
+ ## getSearchNavigateInfo
184
+
185
+ 功能:获取搜索导航信息
186
+
187
+ 用法:
188
+
189
+ ```javascript
190
+ const {
191
+ index: number;
192
+ count: number;
193
+ } = instance.command.getSearchNavigateInfo()
194
+ ```
195
+
196
+ ## getCatalog
197
+
198
+ 功能:获取目录
199
+
200
+ 用法:
201
+
202
+ ```javascript
203
+ const catalog = await instance.command.getCatalog()
204
+ ```
205
+
206
+ ## getHTML
207
+
208
+ 功能:获取 HTML
209
+
210
+ 用法:
211
+
212
+ ```javascript
213
+ const {
214
+ header: string
215
+ main: string
216
+ footer: string
217
+ } = await instance.command.getHTML()
218
+ ```
219
+
220
+ ## getText
221
+
222
+ 功能:获取文本
223
+
224
+ 用法:
225
+
226
+ ```javascript
227
+ const {
228
+ header: string
229
+ main: string
230
+ footer: string
231
+ } = await instance.command.getText()
232
+ ```
233
+
234
+ ## getLocale
235
+
236
+ 功能:获取当前语言
237
+
238
+ 用法:
239
+
240
+ ```javascript
241
+ const locale = await instance.command.getLocale()
242
+ ```
243
+
244
+ ## getGroupIds
245
+
246
+ 功能:获取所有成组 id
247
+
248
+ 用法:
249
+
250
+ ```javascript
251
+ const groupIds = await instance.command.getGroupIds()
252
+ ```
253
+
254
+ ## getControlValue
255
+
256
+ 功能:获取控件值
257
+
258
+ 用法:
259
+
260
+ ```javascript
261
+ const {
262
+ value: string | null
263
+ innerText: string | null
264
+ zone: EditorZone
265
+ elementList?: IElement[]
266
+ }[] = await instance.command.getControlValue(payload: IGetControlValueOption)
267
+ ```
268
+
269
+ ## getControlList
270
+
271
+ 功能:获取所有控件
272
+
273
+ 用法:
274
+
275
+ ```javascript
276
+ const controlList = await instance.command.getControlList()
277
+ ```
278
+
279
+ ## getContainer
280
+
281
+ 功能:获取编辑器容器
282
+
283
+ 用法:
284
+
285
+ ```javascript
286
+ const container = await instance.command.getContainer()
287
+ ```
288
+
289
+ ## getTitleValue
290
+
291
+ 功能:获取标题值
292
+
293
+ 用法:
294
+
295
+ ```javascript
296
+ const {
297
+ value: string | null
298
+ elementList: IElement[]
299
+ zone: EditorZone
300
+ }[] = await instance.command.getTitleValue(payload: IGetTitleValueOption)
301
+ ```
302
+
303
+ ## getPositionContextByEvent
304
+
305
+ 功能:获取位置上下文信息通过鼠标事件
306
+
307
+ 用法:
308
+
309
+ ```javascript
310
+ const {
311
+ pageNo: number
312
+ element: IElement | null
313
+ rangeRect: RangeRect | null
314
+ tableInfo: ITableInfoByEvent | null
315
+ }[] = await instance.command.getPositionContextByEvent(evt: MouseEvent, options?: IPositionContextByEventOption)
316
+ ```
317
+
318
+ 示例:
319
+
320
+ ```javascript
321
+ instance.eventBus.on(
322
+ 'mousemove',
323
+ debounce(evt => {
324
+ const positionContext = instance.command.getPositionContextByEvent(evt)
325
+ console.log(positionContext)
326
+ }, 200)
327
+ )``
328
+ ```
329
+
330
+ ## getElementById
331
+
332
+ 功能:根据 id 获取元素
333
+
334
+ 用法:
335
+
336
+ ```javascript
337
+ const elementList = await instance.command.getElementById(payload: IGetElementByIdOption)
338
+ ```
339
+
340
+ ## getAreaValue
341
+
342
+ 功能: 获取区域数据
343
+ 用法:
344
+
345
+ ```js
346
+ const {
347
+ id?: string
348
+ area: IArea
349
+ value: IElement[]
350
+ startPageNo: number
351
+ endPageNo: number
352
+ } = instance.command.getAreaValue(options: IGetAreaValueOption)
353
+ ```
@@ -0,0 +1,44 @@
1
+ # 自定义右键菜单
2
+
3
+ ## 使用方式
4
+
5
+ ```javascript
6
+ import Editor from "@hufe921/canvas-editor"
7
+
8
+ const instance = new Editor(container, <IElement[]>data, options)
9
+ instance.register.contextMenuList([
10
+ {
11
+ key?: string;
12
+ isDivider?: boolean;
13
+ icon?: string;
14
+ name?: string; // 使用%s代表选区文本。示例:搜索:%s
15
+ shortCut?: string;
16
+ disable?: boolean;
17
+ when?: (payload: IContextMenuContext) => boolean;
18
+ callback?: (command: Command, context: IContextMenuContext) => any;
19
+ childMenus?: IRegisterContextMenu[];
20
+ }
21
+ ])
22
+ ```
23
+
24
+ ## getContextMenuList
25
+
26
+ 功能:获取注册的右键菜单列表
27
+
28
+ 用法:
29
+
30
+ ```javascript
31
+ const contextMenuList = await instance.register.getContextMenuList()
32
+ ```
33
+
34
+ 备注:
35
+
36
+ ```javascript
37
+ // 修改内部右键菜单示例
38
+ contextmenuList.forEach(menu => {
39
+ // 通过菜单key找到菜单项后进行属性修改
40
+ if (menu.key === INTERNAL_CONTEXT_MENU_KEY.GLOBAL.PASTE) {
41
+ menu.when = () => false
42
+ }
43
+ })
44
+ ```
@@ -0,0 +1,61 @@
1
+ # 内部右键菜单
2
+
3
+ ## 全局
4
+
5
+ - 剪切
6
+ - 复制
7
+ - 粘贴
8
+ - 全选
9
+ - 打印
10
+
11
+ ## 超链接
12
+
13
+ - 删除链接
14
+ - 取消链接
15
+ - 编辑链接
16
+
17
+ ## 图片
18
+
19
+ - 更改图片
20
+ - 另存为图片
21
+ - 文字环绕
22
+ - 嵌入型
23
+ - 上下型环绕
24
+ - 四周型环绕
25
+ - 浮于文字上方
26
+ - 衬于文字下方
27
+
28
+ ## 表格
29
+
30
+ - 表格边框
31
+ - 所有框线
32
+ - 无框线
33
+ - 虚框线
34
+ - 外侧框线
35
+ - 内侧框线
36
+ - 单元格边框
37
+ - 上边框
38
+ - 右边框
39
+ - 下边框
40
+ - 左边框
41
+ - 正斜线
42
+ - 反斜线
43
+ - 垂直对齐
44
+ - 顶端对齐
45
+ - 垂直居中
46
+ - 底端对齐
47
+ - 插入行列
48
+ - 上方插入 1 行
49
+ - 下方插入 1 行
50
+ - 左侧插入 1 列
51
+ - 右侧插入 1 列
52
+ - 删除行列
53
+ - 删除 1 行
54
+ - 删除 1 列
55
+ - 删除整个表格
56
+ - 合并单元格
57
+ - 取消合并
58
+
59
+ ## 控件
60
+
61
+ - 删除控件
@@ -0,0 +1,260 @@
1
+ # 事件监听(eventBus)
2
+
3
+ ## 使用方式
4
+
5
+ ```javascript
6
+ import Editor from "@hufe921/canvas-editor"
7
+
8
+ const instance = new Editor(container, <IElement[]>data, options)
9
+
10
+ // 注册
11
+ instance.eventBus.on<K keyof EventMap>(
12
+ eventName: K,
13
+ callback: EventMap[K]
14
+ )
15
+
16
+ // 移除
17
+ instance.eventBus.off<K keyof EventMap>(
18
+ eventName: K,
19
+ callback: EventMap[K]
20
+ )
21
+ ```
22
+
23
+ ## rangeStyleChange
24
+
25
+ 功能:选区样式发生改变
26
+
27
+ 用法:
28
+
29
+ ```javascript
30
+ instance.eventBus.on('rangeStyleChange', (payload: IRangeStyle) => void)
31
+ ```
32
+
33
+ ## visiblePageNoListChange
34
+
35
+ 功能:可见页发生改变
36
+
37
+ 用法:
38
+
39
+ ```javascript
40
+ instance.eventBus.on('visiblePageNoListChange', (payload: number[]) => void)
41
+ ```
42
+
43
+ ## intersectionPageNoChange
44
+
45
+ 功能:当前页发生改变
46
+
47
+ 用法:
48
+
49
+ ```javascript
50
+ instance.eventBus.on('intersectionPageNoChange', (payload: number) => void)
51
+ ```
52
+
53
+ ## pageSizeChange
54
+
55
+ 功能:当前页数发生改变
56
+
57
+ 用法:
58
+
59
+ ```javascript
60
+ instance.eventBus.on('pageSizeChange', (payload: number) => void)
61
+ ```
62
+
63
+ ## pageScaleChange
64
+
65
+ 功能:当前页面缩放比例发生改变
66
+
67
+ 用法:
68
+
69
+ ```javascript
70
+ instance.eventBus.on('pageScaleChange', (payload: number) => void)
71
+ ```
72
+
73
+ ## contentChange
74
+
75
+ 功能:当前内容发生改变
76
+
77
+ 用法:
78
+
79
+ ```javascript
80
+ instance.eventBus.on('contentChange', () => void)
81
+ ```
82
+
83
+ ## controlChange
84
+
85
+ 功能:当前光标所在控件发生改变
86
+
87
+ 用法:
88
+
89
+ ```javascript
90
+ instance.eventBus.on('controlChange', (payload: IControlChangeResult) => void)
91
+ ```
92
+
93
+ ## controlContentChange
94
+
95
+ 功能:控件内容发生改变
96
+
97
+ 用法:
98
+
99
+ ```javascript
100
+ instance.eventBus.on('controlContentChange', (payload: IControlContentChangeResult) => void)
101
+ ```
102
+
103
+ ## pageModeChange
104
+
105
+ 功能:页面模式发生改变
106
+
107
+ 用法:
108
+
109
+ ```javascript
110
+ instance.eventBus.on('pageModeChange', (payload: PageMode) => void)
111
+ ```
112
+
113
+ ## saved
114
+
115
+ 功能:文档执行保存
116
+
117
+ 用法:
118
+
119
+ ```javascript
120
+ instance.eventBus.on('saved', (payload: IEditorResult) => void)
121
+ ```
122
+
123
+ ## zoneChange
124
+
125
+ 功能:区域发生改变
126
+
127
+ 用法:
128
+
129
+ ```javascript
130
+ instance.eventBus.on('zoneChange', (payload: EditorZone) => void)
131
+ ```
132
+
133
+ ## mousemove
134
+
135
+ 功能:编辑器 mousemove 事件监听
136
+
137
+ 用法:
138
+
139
+ ```javascript
140
+ instance.eventBus.on('mousemove', (evt: MouseEvent) => void)
141
+ ```
142
+
143
+ ## mouseenter
144
+
145
+ 功能:编辑器 mouseenter 事件监听
146
+
147
+ 用法:
148
+
149
+ ```javascript
150
+ instance.eventBus.on('mouseenter', (evt: MouseEvent) => void)
151
+ ```
152
+
153
+ ## mouseleave
154
+
155
+ 功能:编辑器 mouseleave 事件监听
156
+
157
+ 用法:
158
+
159
+ ```javascript
160
+ instance.eventBus.on('mouseleave', (evt: MouseEvent) => void)
161
+ ```
162
+
163
+ ## mousedown
164
+
165
+ 功能:编辑器 mousedown 事件监听
166
+
167
+ 用法:
168
+
169
+ ```javascript
170
+ instance.eventBus.on('mousedown', (evt: MouseEvent) => void)
171
+ ```
172
+
173
+ ## mouseup
174
+
175
+ 功能:编辑器 mouseup 事件监听
176
+
177
+ 用法:
178
+
179
+ ```javascript
180
+ instance.eventBus.on('mouseup', (evt: MouseEvent) => void)
181
+ ```
182
+
183
+ ## click
184
+
185
+ 功能:编辑器 click 事件监听
186
+
187
+ 用法:
188
+
189
+ ```javascript
190
+ instance.eventBus.on('click', (evt: MouseEvent) => void)
191
+ ```
192
+
193
+ ## input
194
+
195
+ 功能:编辑器 input 事件监听
196
+
197
+ 用法:
198
+
199
+ ```javascript
200
+ instance.eventBus.on('input', (evt: Event) => void)
201
+ ```
202
+
203
+ ## positionContextChange
204
+
205
+ 功能:上下文内容发生改变
206
+
207
+ 用法:
208
+
209
+ ```javascript
210
+ instance.eventBus.on('positionContextChange', (payload: IPositionContextChangePayload) => void)
211
+ ```
212
+
213
+ ## imageSizeChange
214
+
215
+ 功能:图片尺寸发生改变事件
216
+
217
+ 用法:
218
+
219
+ ```javascript
220
+ instance.eventBus.on('imageSizeChange', (payload: { element: IElement }) => void)
221
+ ```
222
+
223
+ ## imageMousedown
224
+
225
+ 功能:图片 mousedown 事件
226
+
227
+ 用法:
228
+
229
+ ```javascript
230
+ instance.eventBus.on('imageMousedown', (payload: {
231
+ evt: MouseEvent
232
+ element: IElement
233
+ }) => void)
234
+ ```
235
+
236
+ ## imageDblclick
237
+
238
+ 功能:图片双击事件
239
+
240
+ 用法:
241
+
242
+ ```javascript
243
+ instance.eventBus.on('imageDblclick', (payload: {
244
+ evt: MouseEvent
245
+ element: IElement
246
+ }) => void)
247
+ ```
248
+
249
+ ## labelMousedown
250
+
251
+ 功能:标签 mousedown 事件
252
+
253
+ 用法:
254
+
255
+ ```javascript
256
+ instance.eventBus.on('labelMousedown', (payload: {
257
+ evt: MouseEvent
258
+ element: IElement
259
+ }) => void)
260
+ ```