@opentiny/vue-docs 2.2.7 → 2.2.9

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 (494) hide show
  1. package/demos/mobile/app/button/base.vue +42 -0
  2. package/demos/mobile/app/button/disabled.vue +42 -0
  3. package/demos/mobile/app/button/event.vue +46 -0
  4. package/demos/mobile/app/button/icon.vue +8 -7
  5. package/demos/mobile/app/button/loading.vue +21 -9
  6. package/demos/mobile/app/button/reset-time.vue +9 -16
  7. package/demos/mobile/app/button/size.vue +28 -11
  8. package/demos/mobile/app/button/webdoc/button.js +43 -98
  9. package/demos/mobile/app/file-upload/custom-upload-tip.vue +1 -1
  10. package/demos/mobile/app/switch/webdoc/switch.cn.md +3 -4
  11. package/demos/mobile-first/app/switch/webdoc/switch.cn.md +1 -1
  12. package/demos/mobile-first/app/switch/webdoc/switch.en.md +1 -1
  13. package/demos/pc/app/action-menu/webdoc/action-menu.js +2 -2
  14. package/demos/pc/app/alert/basic-usage-composition-api.vue +1 -0
  15. package/demos/pc/app/alert/basic-usage.vue +1 -0
  16. package/demos/pc/app/alert/custom-close.spec.ts +1 -1
  17. package/demos/pc/app/alert/icon-composition-api.vue +3 -2
  18. package/demos/pc/app/alert/icon.vue +4 -3
  19. package/demos/pc/app/alert/webdoc/alert.js +12 -2
  20. package/demos/pc/app/anchor/basic-usage-composition-api.vue +7 -7
  21. package/demos/pc/app/anchor/basic-usage.spec.ts +2 -2
  22. package/demos/pc/app/anchor/basic-usage.vue +7 -7
  23. package/demos/pc/app/anchor/change-composition-api.vue +7 -7
  24. package/demos/pc/app/anchor/change.spec.ts +2 -2
  25. package/demos/pc/app/anchor/change.vue +7 -7
  26. package/demos/pc/app/anchor/is-affix-composition-api.vue +7 -7
  27. package/demos/pc/app/anchor/is-affix.vue +7 -7
  28. package/demos/pc/app/anchor/webdoc/anchor.js +4 -4
  29. package/demos/pc/app/autocomplete/webdoc/autocomplete.js +2 -2
  30. package/demos/pc/app/badge/webdoc/badge.js +1 -1
  31. package/demos/pc/app/button/webdoc/button.js +1 -1
  32. package/demos/pc/app/button-group/basic-usage.spec.ts +1 -0
  33. package/demos/pc/app/button-group/slot-empty-composition-api.vue +25 -0
  34. package/demos/pc/app/button-group/slot-empty.spec.ts +11 -0
  35. package/demos/pc/app/button-group/slot-empty.vue +33 -0
  36. package/demos/pc/app/button-group/webdoc/button-group.js +9 -0
  37. package/demos/pc/app/calendar/basic-usage-composition-api.vue +1 -1
  38. package/demos/pc/app/calendar/basic-usage.spec.ts +33 -0
  39. package/demos/pc/app/calendar/basic-usage.vue +1 -1
  40. package/demos/pc/app/calendar/calendar-mode-composition-api.vue +1 -1
  41. package/demos/pc/app/calendar/calendar-mode.spec.ts +33 -0
  42. package/demos/pc/app/calendar/calendar-mode.vue +1 -1
  43. package/demos/pc/app/calendar/custom-calendar-toolbar-composition-api.vue +3 -3
  44. package/demos/pc/app/calendar/custom-calendar-toolbar.spec.ts +18 -0
  45. package/demos/pc/app/calendar/custom-calendar-toolbar.vue +3 -3
  46. package/demos/pc/app/calendar/custom-day-cell-composition-api.vue +1 -1
  47. package/demos/pc/app/calendar/custom-day-cell.spec.ts +10 -0
  48. package/demos/pc/app/calendar/custom-day-cell.vue +1 -1
  49. package/demos/pc/app/calendar/dynamic-add-schedule-composition-api.vue +1 -1
  50. package/demos/pc/app/calendar/dynamic-add-schedule.spec.ts +26 -0
  51. package/demos/pc/app/calendar/dynamic-add-schedule.vue +1 -1
  52. package/demos/pc/app/calendar/show-selected-date-composition-api.vue +1 -1
  53. package/demos/pc/app/calendar/show-selected-date.spec.ts +14 -0
  54. package/demos/pc/app/calendar/show-selected-date.vue +1 -1
  55. package/demos/pc/app/calendar/webdoc/calendar.js +22 -8
  56. package/demos/pc/app/calendar-view/basic-usage.spec.ts +18 -0
  57. package/demos/pc/app/calendar-view/calendar-day-mark.spec.ts +23 -0
  58. package/demos/pc/app/calendar-view/calendar-disabled-day-composition-api.vue +2 -2
  59. package/demos/pc/app/calendar-view/calendar-disabled-day.spec.ts +12 -0
  60. package/demos/pc/app/calendar-view/calendar-disabled-day.vue +1 -1
  61. package/demos/pc/app/calendar-view/calendar-event.spec.ts +25 -0
  62. package/demos/pc/app/calendar-view/calendar-mode.spec.ts +25 -0
  63. package/demos/pc/app/calendar-view/calendar-schedule-slot.spec.ts +18 -0
  64. package/demos/pc/app/calendar-view/calendar-timeline-range.spec.ts +11 -0
  65. package/demos/pc/app/calendar-view/calendar-timeline-slot.spec.ts +23 -0
  66. package/demos/pc/app/calendar-view/custom-calendar-toolbar.spec.ts +8 -0
  67. package/demos/pc/app/calendar-view/custom-day-bg-color.spec.ts +8 -0
  68. package/demos/pc/app/calendar-view/custom-header.spec.ts +11 -0
  69. package/demos/pc/app/calendar-view/multi-select-composition-api.vue +2 -2
  70. package/demos/pc/app/calendar-view/multi-select.spec.ts +13 -0
  71. package/demos/pc/app/calendar-view/multi-select.vue +1 -1
  72. package/demos/pc/app/calendar-view/set-working-day-composition-api.vue +3 -7
  73. package/demos/pc/app/calendar-view/set-working-day.spec.ts +22 -0
  74. package/demos/pc/app/calendar-view/set-working-day.vue +1 -1
  75. package/demos/pc/app/calendar-view/webdoc/calendar-view.js +1 -1
  76. package/demos/pc/app/carousel/autoplay-composition-api.vue +2 -2
  77. package/demos/pc/app/carousel/autoplay.spec.ts +2 -0
  78. package/demos/pc/app/carousel/autoplay.vue +2 -2
  79. package/demos/pc/app/carousel/basic-usage-composition-api.vue +2 -2
  80. package/demos/pc/app/carousel/basic-usage.spec.ts +1 -8
  81. package/demos/pc/app/carousel/basic-usage.vue +2 -2
  82. package/demos/pc/app/carousel/card-mode-composition-api.vue +2 -2
  83. package/demos/pc/app/carousel/card-mode.vue +2 -2
  84. package/demos/pc/app/carousel/carousel-arrow-always-composition-api.vue +2 -2
  85. package/demos/pc/app/carousel/carousel-arrow-always.vue +2 -2
  86. package/demos/pc/app/carousel/carousel-arrow-hover-composition-api.vue +2 -2
  87. package/demos/pc/app/carousel/carousel-arrow-hover.vue +2 -2
  88. package/demos/pc/app/carousel/carousel-arrow-never-composition-api.vue +2 -2
  89. package/demos/pc/app/carousel/carousel-arrow-never.vue +2 -2
  90. package/demos/pc/app/carousel/carousel-events-composition-api.vue +2 -2
  91. package/demos/pc/app/carousel/carousel-events.vue +2 -2
  92. package/demos/pc/app/carousel/close-loop-composition-api.vue +2 -2
  93. package/demos/pc/app/carousel/close-loop.vue +2 -2
  94. package/demos/pc/app/carousel/custom-height-composition-api.vue +2 -2
  95. package/demos/pc/app/carousel/custom-height.vue +2 -2
  96. package/demos/pc/app/carousel/indicator-trigger-composition-api.vue +2 -2
  97. package/demos/pc/app/carousel/indicator-trigger.vue +2 -2
  98. package/demos/pc/app/carousel/initial-index-composition-api.vue +2 -2
  99. package/demos/pc/app/carousel/initial-index.vue +2 -2
  100. package/demos/pc/app/carousel/manual-play-composition-api.vue +19 -8
  101. package/demos/pc/app/carousel/manual-play.vue +18 -8
  102. package/demos/pc/app/carousel/play-interval-composition-api.vue +2 -2
  103. package/demos/pc/app/carousel/play-interval.vue +2 -2
  104. package/demos/pc/app/carousel/show-title-composition-api.vue +2 -2
  105. package/demos/pc/app/carousel/show-title.vue +2 -2
  106. package/demos/pc/app/carousel/up-down-carousel-composition-api.vue +2 -2
  107. package/demos/pc/app/carousel/up-down-carousel.vue +2 -2
  108. package/demos/pc/app/chart/histogram/demo4-composition-api.vue +0 -2
  109. package/demos/pc/app/chart/histogram/demo4.vue +0 -2
  110. package/demos/pc/app/checkbox/checkbox-events-composition-api.vue +2 -3
  111. package/demos/pc/app/checkbox/checkbox-events.vue +2 -3
  112. package/demos/pc/app/checkbox/group-options-composition-api.vue +1 -1
  113. package/demos/pc/app/checkbox/group-options.vue +1 -1
  114. package/demos/pc/app/checkbox/size-composition-api.vue +0 -1
  115. package/demos/pc/app/checkbox/text-composition-api.vue +3 -2
  116. package/demos/pc/app/checkbox/text.vue +2 -1
  117. package/demos/pc/app/checkbox/webdoc/checkbox.js +3 -3
  118. package/demos/pc/app/collapse/title-composition-api.vue +3 -2
  119. package/demos/pc/app/collapse/title.vue +3 -2
  120. package/demos/pc/app/collapse/webdoc/collapse.js +11 -11
  121. package/demos/pc/app/config-provider/webdoc/config-provider.js +3 -3
  122. package/demos/pc/app/date-picker/align.spec.ts +11 -12
  123. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -23
  124. package/demos/pc/app/date-picker/clear.spec.ts +24 -5
  125. package/demos/pc/app/date-picker/date-range.spec.ts +63 -11
  126. package/demos/pc/app/date-picker/default-value.spec.ts +19 -4
  127. package/demos/pc/app/date-picker/events.spec.ts +24 -10
  128. package/demos/pc/app/date-picker/format.spec.ts +12 -11
  129. package/demos/pc/app/date-picker/shortcuts.spec.ts +6 -5
  130. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  132. package/demos/pc/app/dialog-box/center-composition-api.vue +2 -2
  133. package/demos/pc/app/dialog-box/center.vue +2 -2
  134. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +2 -2
  135. package/demos/pc/app/dialog-box/close-on-click-modal.vue +2 -2
  136. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +2 -2
  137. package/demos/pc/app/dialog-box/close-on-press-escape.vue +2 -2
  138. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +2 -2
  139. package/demos/pc/app/dialog-box/custom-dialog-content.vue +2 -2
  140. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-footer.vue +4 -4
  142. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  143. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  144. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +3 -3
  147. package/demos/pc/app/dialog-box/dialog-width.vue +3 -3
  148. package/demos/pc/app/dialog-box/lock-scroll-composition-api.vue +2 -2
  149. package/demos/pc/app/dialog-box/lock-scroll.vue +2 -2
  150. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +63 -63
  151. package/demos/pc/app/dialog-select/nest-grid-multi-composition-api.vue +9 -3
  152. package/demos/pc/app/dialog-select/nest-grid-multi.vue +8 -3
  153. package/demos/pc/app/dialog-select/nest-grid-single-composition-api.vue +3 -2
  154. package/demos/pc/app/dialog-select/nest-grid-single.vue +3 -2
  155. package/demos/pc/app/dialog-select/nest-tree-multi-composition-api.vue +3 -2
  156. package/demos/pc/app/dialog-select/nest-tree-multi.vue +3 -2
  157. package/demos/pc/app/dialog-select/nest-tree-single-composition-api.vue +3 -2
  158. package/demos/pc/app/dialog-select/nest-tree-single.vue +3 -2
  159. package/demos/pc/app/dialog-select/webdoc/dialog-select.js +90 -42
  160. package/demos/pc/app/drawer/confirm-event-composition-api.vue +1 -1
  161. package/demos/pc/app/drawer/confirm-event.vue +1 -1
  162. package/demos/pc/app/drawer/webdoc/drawer.cn.md +1 -1
  163. package/demos/pc/app/drawer/webdoc/drawer.en.md +7 -0
  164. package/demos/pc/app/drawer/webdoc/drawer.js +94 -47
  165. package/demos/pc/app/drawer/z-index-composition-api.vue +1 -1
  166. package/demos/pc/app/drawer/z-index.spec.ts +1 -1
  167. package/demos/pc/app/drawer/z-index.vue +1 -1
  168. package/demos/pc/app/drop-times/basic-usage-composition-api.vue +7 -1
  169. package/demos/pc/app/drop-times/basic-usage.spec.ts +1 -1
  170. package/demos/pc/app/drop-times/basic-usage.vue +8 -2
  171. package/demos/pc/app/drop-times/size-composition-api.vue +14 -4
  172. package/demos/pc/app/drop-times/size.spec.ts +5 -1
  173. package/demos/pc/app/drop-times/size.vue +14 -4
  174. package/demos/pc/app/drop-times/start-end-step-composition-api.vue +8 -13
  175. package/demos/pc/app/drop-times/start-end-step.spec.ts +1 -1
  176. package/demos/pc/app/drop-times/start-end-step.vue +10 -16
  177. package/demos/pc/app/drop-times/webdoc/drop-times.js +27 -17
  178. package/demos/pc/app/dropdown/webdoc/dropdown.js +2 -2
  179. package/demos/pc/app/fall-menu/webdoc/fall-menu.js +4 -10
  180. package/demos/pc/app/file-upload/abort-quest-composition-api.vue +1 -1
  181. package/demos/pc/app/file-upload/abort-quest.vue +1 -1
  182. package/demos/pc/app/file-upload/basic-usage.spec.ts +2 -2
  183. package/demos/pc/app/file-upload/{prevent-upload-file-composition-api.vue → before-upload-limit-composition-api.vue} +13 -5
  184. package/demos/pc/app/file-upload/{prevent-upload-file.spec.ts → before-upload-limit.spec.ts} +9 -4
  185. package/demos/pc/app/file-upload/{prevent-upload-file.vue → before-upload-limit.vue} +15 -5
  186. package/demos/pc/app/file-upload/custom-upload-tip-composition-api.vue +1 -1
  187. package/demos/pc/app/file-upload/custom-upload-tip.spec.ts +1 -1
  188. package/demos/pc/app/file-upload/custom-upload-tip.vue +1 -1
  189. package/demos/pc/app/file-upload/form-validation-composition-api.vue +10 -4
  190. package/demos/pc/app/file-upload/form-validation.vue +9 -3
  191. package/demos/pc/app/file-upload/multiple-file.spec.ts +3 -1
  192. package/demos/pc/app/file-upload/upload-events-composition-api.vue +8 -8
  193. package/demos/pc/app/file-upload/upload-events.vue +8 -8
  194. package/demos/pc/app/file-upload/upload-request-composition-api.vue +1 -1
  195. package/demos/pc/app/file-upload/upload-request.vue +1 -1
  196. package/demos/pc/app/file-upload/webdoc/file-upload.js +97 -96
  197. package/demos/pc/app/form/form-validation-composition-api.vue +2 -2
  198. package/demos/pc/app/form/form-validation.vue +1 -1
  199. package/demos/pc/app/form/label-position.spec.ts +3 -0
  200. package/demos/pc/app/form/popper-options.spec.ts +1 -0
  201. package/demos/pc/app/form/slot-label-composition-api.vue +1 -1
  202. package/demos/pc/app/form/validate-debounce-composition-api.vue +3 -3
  203. package/demos/pc/app/form/validate-debounce.vue +3 -3
  204. package/demos/pc/app/form/webdoc/form.js +10 -9
  205. package/demos/pc/app/grid/dynamically-columns/dynamically-columns-composition-api.vue +6 -4
  206. package/demos/pc/app/grid/dynamically-columns/dynamically-columns.vue +6 -4
  207. package/demos/pc/app/grid/dynamically-columns/reverse-row-composition-api.vue +3 -1
  208. package/demos/pc/app/grid/dynamically-columns/reverse-row.vue +3 -1
  209. package/demos/pc/app/grid/faq/grid-in-dialog-box-composition-api.vue +1 -1
  210. package/demos/pc/app/grid/faq/grid-in-dialog-box.spec.js +1 -1
  211. package/demos/pc/app/grid/faq/grid-in-dialog-box.vue +1 -1
  212. package/demos/pc/app/grid/filter/advanced-filter-composition-api.vue +0 -15
  213. package/demos/pc/app/grid/filter/advanced-filter.spec.js +1 -1
  214. package/demos/pc/app/grid/filter/advanced-filter.vue +0 -14
  215. package/demos/pc/app/grid/filter/custom-filter.spec.js +1 -1
  216. package/demos/pc/app/grid/filter/default-filter-composition-api.vue +1 -1
  217. package/demos/pc/app/grid/filter/default-filter.spec.ts +1 -1
  218. package/demos/pc/app/grid/filter/default-filter.vue +1 -1
  219. package/demos/pc/app/grid/filter/simple-default-value-filter-composition-api.vue +0 -14
  220. package/demos/pc/app/grid/filter/simple-default-value-filter.vue +0 -14
  221. package/demos/pc/app/grid/filter/simple-filter-composition-api.vue +0 -14
  222. package/demos/pc/app/grid/filter/simple-filter.vue +0 -14
  223. package/demos/pc/app/grid/footer/configuration-summary.spec.js +1 -1
  224. package/demos/pc/app/grid/highlight/set-current-row-composition-api.vue +4 -1
  225. package/demos/pc/app/grid/highlight/set-current-row.vue +4 -1
  226. package/demos/pc/app/grid/large-data/scroll-to-composition-api.vue +6 -3
  227. package/demos/pc/app/grid/large-data/scroll-to.vue +6 -3
  228. package/demos/pc/app/grid/pager/inner-pager-composition-api.vue +1 -1
  229. package/demos/pc/app/grid/pager/inner-pager.spec.js +1 -1
  230. package/demos/pc/app/grid/pager/inner-pager.vue +1 -1
  231. package/demos/pc/app/grid/sort/server-sort-composition-api.vue +3 -3
  232. package/demos/pc/app/grid/sort/server-sort.vue +2 -2
  233. package/demos/pc/app/grid/sort/sort-composition-api.vue +4 -1
  234. package/demos/pc/app/grid/sort/sort.spec.js +1 -1
  235. package/demos/pc/app/grid/sort/sort.vue +4 -1
  236. package/demos/pc/app/grid/toolbar/insert-delete-update-composition-api.vue +2 -1
  237. package/demos/pc/app/grid/toolbar/insert-delete-update.vue +2 -1
  238. package/demos/pc/app/grid/toolbar/toolbar-op-config-composition-api.vue +3 -2
  239. package/demos/pc/app/grid/toolbar/toolbar-op-config.vue +3 -2
  240. package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +5 -5
  241. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +2 -2
  242. package/demos/pc/app/grid/validation/before-submit-validation.vue +5 -5
  243. package/demos/pc/app/grid/webdoc/grid-appearance-settings.js +2 -2
  244. package/demos/pc/app/grid/webdoc/grid-context-menu.js +4 -4
  245. package/demos/pc/app/grid/webdoc/grid-custom-style.js +2 -2
  246. package/demos/pc/app/grid/webdoc/grid-custom.js +31 -31
  247. package/demos/pc/app/grid/webdoc/grid-drag.js +1 -1
  248. package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +4 -1
  249. package/demos/pc/app/grid/webdoc/grid-editor.js +2 -2
  250. package/demos/pc/app/grid/webdoc/grid-empty.js +4 -1
  251. package/demos/pc/app/grid/webdoc/grid-expand.js +3 -3
  252. package/demos/pc/app/grid/webdoc/grid-faq.js +4 -4
  253. package/demos/pc/app/grid/webdoc/grid-filter.js +4 -4
  254. package/demos/pc/app/grid/webdoc/grid-footer.js +1 -1
  255. package/demos/pc/app/grid/webdoc/grid-highlight.js +2 -2
  256. package/demos/pc/app/grid/webdoc/grid-import-export.js +5 -2
  257. package/demos/pc/app/grid/webdoc/grid-large-data.js +6 -5
  258. package/demos/pc/app/grid/webdoc/grid-mouse-keyboard.js +2 -2
  259. package/demos/pc/app/grid/webdoc/grid-pager.js +11 -2
  260. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -11
  261. package/demos/pc/app/grid/webdoc/grid-row-grouping.js +2 -2
  262. package/demos/pc/app/grid/webdoc/grid-size.js +6 -6
  263. package/demos/pc/app/grid/webdoc/grid-slot.js +16 -4
  264. package/demos/pc/app/grid/webdoc/grid-tip.js +3 -3
  265. package/demos/pc/app/grid/webdoc/grid-toolbar.js +17 -9
  266. package/demos/pc/app/grid/webdoc/grid-tree-table.js +9 -7
  267. package/demos/pc/app/grid/webdoc/grid-validation.js +6 -6
  268. package/demos/pc/app/grid/webdoc/grid.js +160 -85
  269. package/demos/pc/app/icon/iconGroups.js +1 -0
  270. package/demos/pc/app/icon/list-composition-api.vue +8 -0
  271. package/demos/pc/app/icon/list.vue +7 -0
  272. package/demos/pc/app/image/basic-usage.spec.ts +1 -1
  273. package/demos/pc/app/image/events.spec.ts +1 -1
  274. package/demos/pc/app/image/lazy.spec.ts +1 -1
  275. package/demos/pc/app/image/preview-in-dialog.spec.ts +1 -1
  276. package/demos/pc/app/image/preview.spec.ts +1 -1
  277. package/demos/pc/app/image/slot.spec.ts +1 -1
  278. package/demos/pc/app/image/webdoc/image.cn.md +3 -1
  279. package/demos/pc/app/image/webdoc/image.en.md +3 -1
  280. package/demos/pc/app/image/webdoc/image.js +34 -18
  281. package/demos/pc/app/input/method-addMemory-composition-api.vue +1 -0
  282. package/demos/pc/app/input/method-addMemory.spec.ts +11 -0
  283. package/demos/pc/app/input/method-addMemory.vue +1 -0
  284. package/demos/pc/app/input/webdoc/input.js +12 -2
  285. package/demos/pc/app/ip-address/webdoc/ip-address.cn.md +2 -2
  286. package/demos/pc/app/ip-address/webdoc/ip-address.js +2 -2
  287. package/demos/pc/app/link/webdoc/link.js +1 -1
  288. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  289. package/demos/pc/app/milestone/show-number-composition-api.vue +1 -1
  290. package/demos/pc/app/milestone/show-number.vue +1 -1
  291. package/demos/pc/app/milestone/solid-style-composition-api.vue +1 -1
  292. package/demos/pc/app/milestone/solid-style.vue +1 -1
  293. package/demos/pc/app/milestone/webdoc/milestone.js +9 -9
  294. package/demos/pc/app/mind-map/basic-usage-composition-api.vue +14 -0
  295. package/demos/pc/app/mind-map/basic-usage.spec.ts +36 -0
  296. package/demos/pc/app/mind-map/basic-usage.vue +20 -0
  297. package/demos/pc/app/mind-map/event-composition-api.vue +125 -0
  298. package/demos/pc/app/mind-map/event.spec.ts +52 -0
  299. package/demos/pc/app/mind-map/event.vue +136 -0
  300. package/demos/pc/app/mind-map/export-data-composition-api.vue +108 -0
  301. package/demos/pc/app/mind-map/export-data.spec.ts +19 -0
  302. package/demos/pc/app/mind-map/export-data.vue +119 -0
  303. package/demos/pc/app/mind-map/webdoc/mind-map.cn.md +7 -0
  304. package/demos/pc/app/mind-map/webdoc/mind-map.en.md +7 -0
  305. package/demos/pc/app/mind-map/webdoc/mind-map.js +250 -0
  306. package/demos/pc/app/modal/webdoc/modal.js +47 -47
  307. package/demos/pc/app/nav-menu/custom-service-composition-api.vue +5 -5
  308. package/demos/pc/app/nav-menu/custom-service.vue +5 -5
  309. package/demos/pc/app/notify/webdoc/notify.js +9 -6
  310. package/demos/pc/app/numeric/webdoc/numeric.js +23 -23
  311. package/demos/pc/app/pager/before-page-change-composition-api.vue +1 -1
  312. package/demos/pc/app/pager/before-page-change.vue +1 -1
  313. package/demos/pc/app/pager/custom-layout-composition-api.vue +8 -6
  314. package/demos/pc/app/pager/custom-layout.vue +8 -6
  315. package/demos/pc/app/pager/custom-total-composition-api.vue +20 -18
  316. package/demos/pc/app/pager/custom-total.vue +20 -18
  317. package/demos/pc/app/pager/hide-on-single-page-composition-api.vue +1 -1
  318. package/demos/pc/app/pager/hide-on-single-page.spec.ts +1 -1
  319. package/demos/pc/app/pager/hide-on-single-page.vue +1 -1
  320. package/demos/pc/app/pager/pager-event-composition-api.vue +10 -5
  321. package/demos/pc/app/pager/pager-event.vue +10 -5
  322. package/demos/pc/app/pager/webdoc/pager.js +3 -3
  323. package/demos/pc/app/pop-upload/webdoc/pop-upload.js +3 -3
  324. package/demos/pc/app/popconfirm/webdoc/popconfirm.js +1 -1
  325. package/demos/pc/app/progress/custom-color-composition-api.vue +10 -5
  326. package/demos/pc/app/progress/custom-color.spec.ts +14 -1
  327. package/demos/pc/app/progress/custom-color.vue +10 -5
  328. package/demos/pc/app/progress/custom-status-composition-api.vue +30 -11
  329. package/demos/pc/app/progress/custom-status.vue +30 -11
  330. package/demos/pc/app/progress/webdoc/progress.js +7 -8
  331. package/demos/pc/app/qr-code/level-composition-api.vue +5 -8
  332. package/demos/pc/app/qr-code/style-composition-api.vue +1 -0
  333. package/demos/pc/app/qr-code/style.vue +1 -0
  334. package/demos/pc/app/qr-code/webdoc/qr-code.js +22 -10
  335. package/demos/pc/app/radio/group-options-composition-api.vue +13 -0
  336. package/demos/pc/app/radio/group-options.vue +20 -2
  337. package/demos/pc/app/radio/webdoc/radio.js +3 -3
  338. package/demos/pc/app/rate/webdoc/rate.js +8 -10
  339. package/demos/pc/app/search/events-composition-api.vue +4 -4
  340. package/demos/pc/app/search/events.vue +4 -4
  341. package/demos/pc/app/search/slot-prefix-composition-api.vue +1 -1
  342. package/demos/pc/app/search/slot-prefix.vue +1 -1
  343. package/demos/pc/app/search/webdoc/search.js +2 -2
  344. package/demos/pc/app/select/basic-usage-composition-api.vue +11 -6
  345. package/demos/pc/app/select/basic-usage.spec.ts +34 -9
  346. package/demos/pc/app/select/basic-usage.vue +11 -6
  347. package/demos/pc/app/select/clear-no-match-value-composition-api.vue +1 -1
  348. package/demos/pc/app/select/clear-no-match-value.vue +1 -1
  349. package/demos/pc/app/select/events-composition-api.vue +12 -6
  350. package/demos/pc/app/select/events.vue +10 -5
  351. package/demos/pc/app/select/is-drop-inherit-width-composition-api.vue +1 -2
  352. package/demos/pc/app/select/is-drop-inherit-width.vue +1 -2
  353. package/demos/pc/app/select/no-data-text-composition-api.vue +1 -1
  354. package/demos/pc/app/select/no-data-text.spec.ts +1 -1
  355. package/demos/pc/app/select/no-data-text.vue +1 -1
  356. package/demos/pc/app/select/optimization-composition-api.vue +5 -2
  357. package/demos/pc/app/select/optimization.vue +4 -1
  358. package/demos/pc/app/select/option-group-composition-api.vue +33 -11
  359. package/demos/pc/app/select/option-group.spec.ts +2 -2
  360. package/demos/pc/app/select/option-group.vue +34 -13
  361. package/demos/pc/app/select/slot-default-composition-api.vue +49 -13
  362. package/demos/pc/app/select/slot-default.spec.ts +5 -2
  363. package/demos/pc/app/select/slot-default.vue +50 -14
  364. package/demos/pc/app/select/slot-empty-composition-api.vue +16 -3
  365. package/demos/pc/app/select/slot-empty.spec.ts +1 -1
  366. package/demos/pc/app/select/slot-empty.vue +18 -4
  367. package/demos/pc/app/select/webdoc/select.js +89 -16
  368. package/demos/pc/app/slider/basic-usage-composition-api.vue +1 -1
  369. package/demos/pc/app/slider/basic-usage.vue +1 -1
  370. package/demos/pc/app/switch/before-change-composition-api.vue +4 -1
  371. package/demos/pc/app/switch/before-change.vue +4 -3
  372. package/demos/pc/app/switch/custom-true-false-value-composition-api.vue +1 -1
  373. package/demos/pc/app/switch/custom-true-false-value.spec.ts +2 -2
  374. package/demos/pc/app/switch/custom-true-false-value.vue +1 -1
  375. package/demos/pc/app/switch/event-change-composition-api.vue +1 -1
  376. package/demos/pc/app/switch/event-change.vue +1 -1
  377. package/demos/pc/app/switch/webdoc/switch.cn.md +1 -1
  378. package/demos/pc/app/switch/webdoc/switch.js +1 -1
  379. package/demos/pc/app/tabs/webdoc/tabs.js +3 -3
  380. package/demos/pc/app/tag/webdoc/tag.js +1 -1
  381. package/demos/pc/app/tag-group/basic-usage.vue +1 -1
  382. package/demos/pc/app/tag-group/webdoc/tag-group.js +2 -2
  383. package/demos/pc/app/time-select/basic-usage-composition-api.vue +10 -2
  384. package/demos/pc/app/time-select/basic-usage.spec.ts +6 -5
  385. package/demos/pc/app/time-select/basic-usage.vue +10 -2
  386. package/demos/pc/app/time-select/clear-icon-composition-api.vue +17 -9
  387. package/demos/pc/app/time-select/clear-icon.spec.ts +7 -5
  388. package/demos/pc/app/time-select/clear-icon.vue +17 -9
  389. package/demos/pc/app/time-select/default-value-composition-api.vue +10 -2
  390. package/demos/pc/app/time-select/default-value.spec.ts +3 -2
  391. package/demos/pc/app/time-select/default-value.vue +10 -2
  392. package/demos/pc/app/time-select/editable-composition-api.vue +10 -2
  393. package/demos/pc/app/time-select/editable.vue +10 -2
  394. package/demos/pc/app/time-select/event-blur-composition-api.vue +8 -2
  395. package/demos/pc/app/time-select/event-blur.spec.ts +2 -2
  396. package/demos/pc/app/time-select/event-blur.vue +10 -4
  397. package/demos/pc/app/time-select/focus-composition-api.vue +12 -3
  398. package/demos/pc/app/time-select/focus.spec.ts +5 -4
  399. package/demos/pc/app/time-select/focus.vue +12 -3
  400. package/demos/pc/app/time-select/picker-options-composition-api.vue +21 -13
  401. package/demos/pc/app/time-select/picker-options.spec.ts +1 -1
  402. package/demos/pc/app/time-select/picker-options.vue +21 -13
  403. package/demos/pc/app/time-select/range-placeholder-composition-api.vue +17 -3
  404. package/demos/pc/app/time-select/range-placeholder.spec.ts +16 -13
  405. package/demos/pc/app/time-select/range-placeholder.vue +17 -3
  406. package/demos/pc/app/time-select/size-medium-composition-api.vue +15 -2
  407. package/demos/pc/app/time-select/size-medium.spec.ts +5 -1
  408. package/demos/pc/app/time-select/size-medium.vue +15 -2
  409. package/demos/pc/app/time-select/suffix-icon-composition-api.vue +8 -2
  410. package/demos/pc/app/time-select/suffix-icon.vue +8 -2
  411. package/demos/pc/app/time-select/webdoc/time-select.js +57 -78
  412. package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +2 -2
  413. package/demos/pc/app/transfer/basic-usage.spec.ts +1 -1
  414. package/demos/pc/app/transfer/before-transfer.spec.ts +1 -1
  415. package/demos/pc/app/transfer/custom-btns.spec.ts +1 -1
  416. package/demos/pc/app/transfer/custom-filter.spec.ts +1 -1
  417. package/demos/pc/app/transfer/custom-footer.spec.ts +2 -1
  418. package/demos/pc/app/transfer/custom-render.spec.ts +1 -1
  419. package/demos/pc/app/transfer/custom-titles.spec.ts +1 -1
  420. package/demos/pc/app/transfer/default-checked.spec.ts +1 -1
  421. package/demos/pc/app/transfer/drop-config.spec.ts +1 -1
  422. package/demos/pc/app/transfer/nested-table.spec.ts +1 -1
  423. package/demos/pc/app/transfer/nested-tree.spec.ts +1 -1
  424. package/demos/pc/app/transfer/target-order.spec.ts +1 -1
  425. package/demos/pc/app/transfer/transfer-events.spec.ts +1 -1
  426. package/demos/pc/app/transfer/webdoc/transfer.cn.md +1 -1
  427. package/demos/pc/app/transfer/webdoc/transfer.en.md +3 -3
  428. package/demos/pc/app/transfer/webdoc/transfer.js +76 -43
  429. package/demos/pc/app/tree/basic-usage.spec.ts +1 -1
  430. package/demos/pc/app/tree/check-op.spec.ts +1 -1
  431. package/demos/pc/app/tree/checkbox.spec.ts +1 -1
  432. package/demos/pc/app/tree/contextmenu.spec.ts +1 -1
  433. package/demos/pc/app/tree/drag.spec.ts +1 -1
  434. package/demos/pc/app/tree/edit.spec.ts +1 -1
  435. package/demos/pc/app/tree/expand-control.spec.ts +1 -1
  436. package/demos/pc/app/tree/filter-view.spec.ts +1 -1
  437. package/demos/pc/app/tree/icons.spec.ts +1 -1
  438. package/demos/pc/app/tree/lazy.spec.ts +1 -1
  439. package/demos/pc/app/tree/node-hl.spec.ts +1 -1
  440. package/demos/pc/app/tree/node-op.spec.ts +1 -1
  441. package/demos/pc/app/tree/other.spec.ts +1 -1
  442. package/demos/pc/app/tree/props.spec.ts +1 -1
  443. package/demos/pc/app/tree/radio.spec.ts +1 -1
  444. package/demos/pc/app/tree/slot.spec.ts +1 -1
  445. package/demos/pc/app/tree/webdoc/tree.cn.md +1 -1
  446. package/demos/pc/app/tree/webdoc/tree.en.md +1 -1
  447. package/demos/pc/app/tree/webdoc/tree.js +67 -19
  448. package/demos/pc/app/tree-menu/custom-icon.spec.ts +1 -0
  449. package/demos/pc/app/tree-menu/only-check-children.spec.ts +24 -2
  450. package/demos/pc/app/tree-menu/props.spec.ts +22 -2
  451. package/demos/pc/app/tree-menu/show-expand.spec.ts +36 -4
  452. package/demos/pc/app/tree-menu/show-filter.spec.ts +54 -3
  453. package/demos/pc/app/tree-menu/show-number.spec.ts +14 -1
  454. package/demos/pc/app/tree-menu/webdoc/tree-menu.js +4 -4
  455. package/demos/pc/app/user-head/image-user-head-composition-api.vue +1 -1
  456. package/demos/pc/app/user-head/image-user-head.vue +1 -1
  457. package/demos/pc/app/user-head/webdoc/user-head.js +17 -17
  458. package/demos/pc/app/watermark/webdoc/watermark.js +32 -16
  459. package/demos/pc/menus.js +6 -1
  460. package/demos/pc/webdoc/form-valid-en.md +9 -3
  461. package/demos/pc/webdoc/form-valid.md +3 -1
  462. package/demos/pc/webdoc/theme-en.md +10 -8
  463. package/package.json +9 -8
  464. package/playground/App.vue +9 -0
  465. package/demos/mobile/app/button/event-click.vue +0 -40
  466. package/demos/mobile/app/button/native-type.vue +0 -105
  467. package/demos/mobile/app/button/plain.vue +0 -33
  468. package/demos/mobile/app/button/round.vue +0 -34
  469. package/demos/mobile/app/button/text.vue +0 -38
  470. package/demos/pc/app/calendar-view/hide-mode-composition-api.vue +0 -7
  471. package/demos/pc/app/calendar-view/hide-mode.vue +0 -13
  472. package/demos/pc/app/calendar-view/mode-combination-composition-api.vue +0 -7
  473. package/demos/pc/app/calendar-view/mode-combination.vue +0 -14
  474. package/demos/pc/app/file-upload/upload-limit-composition-api.vue +0 -22
  475. package/demos/pc/app/file-upload/upload-limit.spec.ts +0 -20
  476. package/demos/pc/app/file-upload/upload-limit.vue +0 -32
  477. package/demos/pc/app/time-select/default-time-composition-api.vue +0 -11
  478. package/demos/pc/app/time-select/default-time.vue +0 -19
  479. package/demos/pc/app/time-select/disabled-composition-api.vue +0 -10
  480. package/demos/pc/app/time-select/disabled.spec.ts +0 -8
  481. package/demos/pc/app/time-select/disabled.vue +0 -18
  482. package/demos/pc/app/time-select/event-change-composition-api.vue +0 -16
  483. package/demos/pc/app/time-select/event-change.vue +0 -25
  484. package/demos/pc/app/time-select/popper-class-composition-api.vue +0 -27
  485. package/demos/pc/app/time-select/popper-class.spec.ts +0 -9
  486. package/demos/pc/app/time-select/popper-class.vue +0 -35
  487. package/demos/pc/app/time-select/size-mini-composition-api.vue +0 -10
  488. package/demos/pc/app/time-select/size-mini.spec.ts +0 -8
  489. package/demos/pc/app/time-select/size-mini.vue +0 -18
  490. package/demos/pc/app/time-select/size-small-composition-api.vue +0 -10
  491. package/demos/pc/app/time-select/size-small.spec.ts +0 -8
  492. package/demos/pc/app/time-select/size-small.vue +0 -18
  493. package/demos/pc/resource/user-group-2.png +0 -0
  494. package/demos/pc/resource/user-group.png +0 -0
@@ -0,0 +1,125 @@
1
+ <template>
2
+ <tiny-mind-map
3
+ ref="mindmap"
4
+ class="mindmap"
5
+ @create="onCreate"
6
+ @operation="onOperation"
7
+ @select-node="onSelectNode"
8
+ @select-new-node="onSelectNewNode"
9
+ @select-nodes="onSelectNodes"
10
+ @unselect-node="onUnselectNode"
11
+ @unselect-nodes="onUnselectNodes"
12
+ @expand-node="onExpandNode"
13
+ v-model="exampleData"
14
+ />
15
+ </template>
16
+
17
+ <script setup>
18
+ import { Notify, MindMap as TinyMindMap } from '@opentiny/vue'
19
+ import { ref } from 'vue'
20
+
21
+ const exmpleData = ref({
22
+ 'nodeData': {
23
+ 'id': 'c9ee6647385c42de',
24
+ 'topic': '前端修仙指南',
25
+ 'root': true,
26
+ 'children': [
27
+ {
28
+ 'topic': 'Handfirst html and css',
29
+ 'id': 'c9ee977189f3b1f1'
30
+ },
31
+ {
32
+ 'topic': '高程',
33
+ 'id': 'c9ee9a4e8f3f83c5'
34
+ },
35
+ {
36
+ 'topic': 'Javascript权威指南',
37
+ 'id': 'c9ee9b8e87958282'
38
+ },
39
+ {
40
+ 'topic': '算法 第四版',
41
+ 'id': 'c9eea19c874d331f'
42
+ },
43
+ {
44
+ 'topic': '大话数据结构',
45
+ 'id': 'c9eea8d788441a71'
46
+ },
47
+ {
48
+ 'topic': '算法导论',
49
+ 'id': 'c9eeac4c84aaba37'
50
+ },
51
+ {
52
+ 'topic': '编译原理',
53
+ 'id': 'c9eeadee881cf229'
54
+ },
55
+ {
56
+ 'topic': '宫水三叶的刷题日记',
57
+ 'id': 'c9eec88a85d8ff76'
58
+ }
59
+ ]
60
+ }
61
+ })
62
+ const onCreate = () => {
63
+ Notify({
64
+ type: 'info',
65
+ message: '触发事件create',
66
+ duration: 1000
67
+ })
68
+ }
69
+ const onOperation = () => {
70
+ Notify({
71
+ type: 'info',
72
+ message: '触发事件operation',
73
+ duration: 1000
74
+ })
75
+ }
76
+ const onSelectNode = () => {
77
+ Notify({
78
+ type: 'info',
79
+ message: '触发事件selectNode',
80
+ duration: 1000
81
+ })
82
+ }
83
+ const onSelectNewNode = () => {
84
+ Notify({
85
+ type: 'info',
86
+ message: '触发事件selectNewNode',
87
+ duration: 1000
88
+ })
89
+ }
90
+ const onSelectNodes = () => {
91
+ Notify({
92
+ type: 'info',
93
+ message: '触发事件selectNodes',
94
+ duration: 1000
95
+ })
96
+ }
97
+ const onUnselectNode = () => {
98
+ Notify({
99
+ type: 'info',
100
+ message: '触发事件unselectNode',
101
+ duration: 1000
102
+ })
103
+ }
104
+ const onUnselectNodes = () => {
105
+ Notify({
106
+ type: 'info',
107
+ message: '触发事件unselectNodes',
108
+ duration: 1000
109
+ })
110
+ }
111
+ const onExpandNode = () => {
112
+ Notify({
113
+ type: 'info',
114
+ message: '触发事件expandNode',
115
+ duration: 1000
116
+ })
117
+ }
118
+ </script>
119
+
120
+ <style scoped>
121
+ .mindmap {
122
+ width: 100%;
123
+ height: 300px;
124
+ }
125
+ </style>
@@ -0,0 +1,52 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('测试创建事件', async ({ page }) => {
4
+ await page.goto('mind-map#event')
5
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
6
+ await page.getByText('触发事件create').isVisible()
7
+ })
8
+
9
+ test('测试operation事件', async ({ page }) => {
10
+ await page.goto('mind-map#event')
11
+ await page.locator('me-tpc').click()
12
+ await page.locator('.map-canvas').press('Tab')
13
+ await page.getByText('触发事件operation').first().isVisible()
14
+ // 新创建node时会触发selectNewNode事件
15
+ // 这个触发是符合逻辑的, 因为创建后的node的确是new-node
16
+ // 创建后会自动选择, 自然触发selectNewNode是符合逻辑的
17
+ await page.getByText('触发事件selectNewNode').first().isVisible()
18
+ })
19
+ test('测试select-node, select-nodes, select-new-node事件', async ({ page }) => {
20
+ await page.goto('mind-map#event')
21
+ await page.locator('me-tpc').filter({ hasText: 'root' }).click()
22
+ await page.locator('.map-canvas').press('Tab')
23
+ await page.locator('me-tpc').filter({ hasText: 'root' }).click()
24
+ await page.locator('.map-canvas').press('Tab')
25
+ await page.locator('me-tpc').filter({ hasText: 'root' }).click()
26
+ await page
27
+ .locator('me-tpc')
28
+ .nth(1)
29
+ .filter({ hasText: 'new node' })
30
+ .click({
31
+ modifiers: ['Control']
32
+ })
33
+ await page.getByText('触发事件selectNode').first().isVisible()
34
+ await page.getByAltText('触发事件selectNodes').isVisible()
35
+ })
36
+ test('测试 unselect-node,unselect-nodes', async ({ page }) => {
37
+ await page.goto('mind-map#event')
38
+ await page.locator('me-tpc').filter({ hasText: 'root' }).click()
39
+ await page.locator('.map-canvas').press('Tab')
40
+ await page.locator('me-tpc').filter({ hasText: 'root' }).click()
41
+ await page.locator('.map-canvas').press('Tab')
42
+
43
+ await page.locator('me-tpc').nth(2).click()
44
+ await page
45
+ .locator('me-tpc')
46
+ .nth(1)
47
+
48
+ .click({
49
+ modifiers: ['Control']
50
+ })
51
+ await page.locator('.map-canvas').click()
52
+ })
@@ -0,0 +1,136 @@
1
+ <template>
2
+ <tiny-mind-map
3
+ ref="mindmap"
4
+ class="mindmap"
5
+ @create="onCreate"
6
+ @operation="onOperation"
7
+ @select-node="onSelectNode"
8
+ @select-new-node="onSelectNewNode"
9
+ @select-nodes="onSelectNodes"
10
+ @unselect-node="onUnselectNode"
11
+ @unselect-nodes="onUnselectNodes"
12
+ @expand-node="onExpandNode"
13
+ v-model="exampleData"
14
+ />
15
+ </template>
16
+
17
+ <script lang="jsx">
18
+ import { MindMap, Notify } from '@opentiny/vue'
19
+
20
+ export default {
21
+ components: {
22
+ TinyMindMap: MindMap
23
+ },
24
+ data() {
25
+ return {
26
+ exampleData: {
27
+ 'nodeData': {
28
+ 'id': 'c9ee6647385c42de',
29
+ 'topic': '前端修仙指南',
30
+ 'root': true,
31
+ 'children': [
32
+ {
33
+ 'topic': 'Handfirst html and css',
34
+ 'id': 'c9ee977189f3b1f1'
35
+ },
36
+ {
37
+ 'topic': '高程',
38
+ 'id': 'c9ee9a4e8f3f83c5'
39
+ },
40
+ {
41
+ 'topic': 'Javascript权威指南',
42
+ 'id': 'c9ee9b8e87958282'
43
+ },
44
+ {
45
+ 'topic': '算法 第四版',
46
+ 'id': 'c9eea19c874d331f'
47
+ },
48
+ {
49
+ 'topic': '大话数据结构',
50
+ 'id': 'c9eea8d788441a71'
51
+ },
52
+ {
53
+ 'topic': '算法导论',
54
+ 'id': 'c9eeac4c84aaba37'
55
+ },
56
+ {
57
+ 'topic': '编译原理',
58
+ 'id': 'c9eeadee881cf229'
59
+ },
60
+ {
61
+ 'topic': '宫水三叶的刷题日记',
62
+ 'id': 'c9eec88a85d8ff76'
63
+ }
64
+ ]
65
+ }
66
+ },
67
+ loading: false
68
+ }
69
+ },
70
+ methods: {
71
+ onCreate() {
72
+ Notify({
73
+ type: 'info',
74
+ message: '触发事件create',
75
+ duration: 1000
76
+ })
77
+ },
78
+ onOperation() {
79
+ Notify({
80
+ type: 'info',
81
+ message: '触发事件operation',
82
+ duration: 1000
83
+ })
84
+ },
85
+ onSelectNode() {
86
+ Notify({
87
+ type: 'info',
88
+ message: '触发事件selectNode',
89
+ duration: 1000
90
+ })
91
+ },
92
+ onSelectNewNode() {
93
+ Notify({
94
+ type: 'info',
95
+ message: '触发事件selectNewNode',
96
+ duration: 1000
97
+ })
98
+ },
99
+ onSelectNodes() {
100
+ Notify({
101
+ type: 'info',
102
+ message: '触发事件selectNodes',
103
+ duration: 1000
104
+ })
105
+ },
106
+ onUnselectNode() {
107
+ Notify({
108
+ type: 'info',
109
+ message: '触发事件unselectNode',
110
+ duration: 1000
111
+ })
112
+ },
113
+ onUnselectNodes() {
114
+ Notify({
115
+ type: 'info',
116
+ message: '触发事件unselectNodes',
117
+ duration: 1000
118
+ })
119
+ },
120
+ onExpandNode() {
121
+ Notify({
122
+ type: 'info',
123
+ message: '触发事件expandNode',
124
+ duration: 1000
125
+ })
126
+ }
127
+ }
128
+ }
129
+ </script>
130
+
131
+ <style scoped>
132
+ .mindmap {
133
+ width: 100%;
134
+ height: 300px;
135
+ }
136
+ </style>
@@ -0,0 +1,108 @@
1
+ <template>
2
+ <tiny-mind-map class="mindmap" ref="mindmap" @create="onCreate" v-model="exampleData" />
3
+ <tiny-button @click="exportData">导出数据</tiny-button>
4
+ <tiny-button @click="importData" :loading="loading">导入示例数据</tiny-button>
5
+ <tiny-button @click="clearData" :loading="loading">清空数据</tiny-button>
6
+ </template>
7
+
8
+ <script setup>
9
+ import { MindMap as TinyMindMap, Button as TinyButton, Notify } from '@opentiny/vue'
10
+ import { ref } from 'vue'
11
+
12
+ const render = ref(null)
13
+ const exampleData = ref({
14
+ 'nodeData': {
15
+ 'id': 'c9ee6647385c42de',
16
+ 'topic': '前端修仙指南',
17
+ 'root': true,
18
+ 'children': [
19
+ {
20
+ 'topic': 'Handfirst html and css',
21
+ 'id': 'c9ee977189f3b1f1'
22
+ },
23
+ {
24
+ 'topic': '高程',
25
+ 'id': 'c9ee9a4e8f3f83c5'
26
+ },
27
+ {
28
+ 'topic': 'Javascript权威指南',
29
+ 'id': 'c9ee9b8e87958282'
30
+ },
31
+ {
32
+ 'topic': '算法 第四版',
33
+ 'id': 'c9eea19c874d331f'
34
+ },
35
+ {
36
+ 'topic': '大话数据结构',
37
+ 'id': 'c9eea8d788441a71'
38
+ },
39
+ {
40
+ 'topic': '算法导论',
41
+ 'id': 'c9eeac4c84aaba37'
42
+ },
43
+ {
44
+ 'topic': '编译原理',
45
+ 'id': 'c9eeadee881cf229'
46
+ },
47
+ {
48
+ 'topic': '宫水三叶的刷题日记',
49
+ 'id': 'c9eec88a85d8ff76'
50
+ }
51
+ ]
52
+ }
53
+ })
54
+ const loading = ref(false)
55
+ const onCreate = (instance) => {
56
+ render.value = instance
57
+ }
58
+ const exportData = () => {
59
+ if (render.value) {
60
+ Notify({
61
+ type: 'info',
62
+ message: '数据已经输出于控制台, 请打开控制台查看'
63
+ })
64
+ // eslint-disable-next-line no-console
65
+ console.log(render.value.getData())
66
+ }
67
+ }
68
+ const importData = () => {
69
+ if (render.value) {
70
+ const fn = async () => {
71
+ return new Promise((resolve) => {
72
+ setTimeout(() => {
73
+ if (render.value) {
74
+ render.value.init(exampleData.value)
75
+ }
76
+ resolve(null)
77
+ }, 1000)
78
+ })
79
+ }
80
+ loading.value = true
81
+ fn().finally(() => (loading.value = false))
82
+ }
83
+ }
84
+ const clearData = () => {
85
+ loading.value = true
86
+ const clearNodeData = {
87
+ 'nodeData': {
88
+ 'id': 'c9ee6647385c42de',
89
+ 'topic': '我的子节点被清空啦~',
90
+ 'root': true,
91
+ 'children': []
92
+ }
93
+ }
94
+ try {
95
+ render.value.init(clearNodeData)
96
+ render.value.refresh(clearNodeData)
97
+ } finally {
98
+ loading.value = false
99
+ }
100
+ }
101
+ </script>
102
+
103
+ <style scoped>
104
+ .mindmap {
105
+ width: 100%;
106
+ height: 300px;
107
+ }
108
+ </style>
@@ -0,0 +1,19 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('导出数据', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('mind-map#export-data')
6
+ await page.locator('button').filter({ hasText: '导出数据' }).click()
7
+ })
8
+
9
+ test('导入数据', async ({ page }) => {
10
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
11
+ await page.goto('mind-map#export-data')
12
+ await page.locator('button').filter({ hasText: '导入示例数据' }).click()
13
+ })
14
+
15
+ test('清空样例数据', async ({ page }) => {
16
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
17
+ await page.goto('mind-map#export-data')
18
+ await page.locator('button').filter({ hasText: '清空数据' }).click()
19
+ })
@@ -0,0 +1,119 @@
1
+ <template>
2
+ <tiny-mind-map class="mindmap" ref="mindmap" @create="onCreate" v-model="exampleData" />
3
+ <tiny-button @click="exportData">导出数据</tiny-button>
4
+ <tiny-button @click="importData" :loading="loading">导入示例数据</tiny-button>
5
+ <tiny-button @click="clearData" :loading="loading">清空数据</tiny-button>
6
+ </template>
7
+
8
+ <script lang="jsx">
9
+ import { MindMap, Button, Notify } from '@opentiny/vue'
10
+
11
+ export default {
12
+ components: {
13
+ TinyMindMap: MindMap,
14
+ TinyButton: Button
15
+ },
16
+ data() {
17
+ return {
18
+ render: null,
19
+ exampleData: {
20
+ 'nodeData': {
21
+ 'id': 'c9ee6647385c42de',
22
+ 'topic': '前端修仙指南',
23
+ 'root': true,
24
+ 'children': [
25
+ {
26
+ 'topic': 'Handfirst html and css',
27
+ 'id': 'c9ee977189f3b1f1'
28
+ },
29
+ {
30
+ 'topic': '高程',
31
+ 'id': 'c9ee9a4e8f3f83c5'
32
+ },
33
+ {
34
+ 'topic': 'Javascript权威指南',
35
+ 'id': 'c9ee9b8e87958282'
36
+ },
37
+ {
38
+ 'topic': '算法 第四版',
39
+ 'id': 'c9eea19c874d331f'
40
+ },
41
+ {
42
+ 'topic': '大话数据结构',
43
+ 'id': 'c9eea8d788441a71'
44
+ },
45
+ {
46
+ 'topic': '算法导论',
47
+ 'id': 'c9eeac4c84aaba37'
48
+ },
49
+ {
50
+ 'topic': '编译原理',
51
+ 'id': 'c9eeadee881cf229'
52
+ },
53
+ {
54
+ 'topic': '宫水三叶的刷题日记',
55
+ 'id': 'c9eec88a85d8ff76'
56
+ }
57
+ ]
58
+ }
59
+ },
60
+ loading: false
61
+ }
62
+ },
63
+ methods: {
64
+ onCreate(instance) {
65
+ this.render = instance
66
+ },
67
+ exportData() {
68
+ if (this.render) {
69
+ Notify({
70
+ type: 'info',
71
+ message: '数据已经输出于控制台, 请打开控制台查看'
72
+ })
73
+ // eslint-disable-next-line no-console
74
+ console.log(this.render.getData())
75
+ }
76
+ },
77
+ importData() {
78
+ if (this.render) {
79
+ const fn = async () => {
80
+ return new Promise((resolve) => {
81
+ setTimeout(() => {
82
+ if (this.render) {
83
+ this.render.init(this.exampleData)
84
+ }
85
+ resolve(null)
86
+ }, 1000)
87
+ })
88
+ }
89
+ this.loading = true
90
+ fn().finally(() => (this.loading = false))
91
+ }
92
+ },
93
+ clearData() {
94
+ this.loading = true
95
+ const clearNodeData = {
96
+ 'nodeData': {
97
+ 'id': 'c9ee6647385c42de',
98
+ 'topic': '我的子节点被清空啦~',
99
+ 'root': true,
100
+ 'children': []
101
+ }
102
+ }
103
+ try {
104
+ this.render.init(clearNodeData)
105
+ this.render.refresh(clearNodeData)
106
+ } finally {
107
+ this.loading = false
108
+ }
109
+ }
110
+ }
111
+ }
112
+ </script>
113
+
114
+ <style scoped>
115
+ .mindmap {
116
+ width: 100%;
117
+ height: 300px;
118
+ }
119
+ </style>
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: MindMap 脑图
3
+ ---
4
+
5
+ # MindMap 脑图
6
+
7
+ 思维导图组件,默认启用了拖拽与缩放
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: MindMap
3
+ ---
4
+
5
+ # MindMap 脑图
6
+
7
+ MindMap component. Dragging and scaling are enabled by default