@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.
- package/demos/mobile/app/button/base.vue +42 -0
- package/demos/mobile/app/button/disabled.vue +42 -0
- package/demos/mobile/app/button/event.vue +46 -0
- package/demos/mobile/app/button/icon.vue +8 -7
- package/demos/mobile/app/button/loading.vue +21 -9
- package/demos/mobile/app/button/reset-time.vue +9 -16
- package/demos/mobile/app/button/size.vue +28 -11
- package/demos/mobile/app/button/webdoc/button.js +43 -98
- package/demos/mobile/app/file-upload/custom-upload-tip.vue +1 -1
- package/demos/mobile/app/switch/webdoc/switch.cn.md +3 -4
- package/demos/mobile-first/app/switch/webdoc/switch.cn.md +1 -1
- package/demos/mobile-first/app/switch/webdoc/switch.en.md +1 -1
- package/demos/pc/app/action-menu/webdoc/action-menu.js +2 -2
- package/demos/pc/app/alert/basic-usage-composition-api.vue +1 -0
- package/demos/pc/app/alert/basic-usage.vue +1 -0
- package/demos/pc/app/alert/custom-close.spec.ts +1 -1
- package/demos/pc/app/alert/icon-composition-api.vue +3 -2
- package/demos/pc/app/alert/icon.vue +4 -3
- package/demos/pc/app/alert/webdoc/alert.js +12 -2
- package/demos/pc/app/anchor/basic-usage-composition-api.vue +7 -7
- package/demos/pc/app/anchor/basic-usage.spec.ts +2 -2
- package/demos/pc/app/anchor/basic-usage.vue +7 -7
- package/demos/pc/app/anchor/change-composition-api.vue +7 -7
- package/demos/pc/app/anchor/change.spec.ts +2 -2
- package/demos/pc/app/anchor/change.vue +7 -7
- package/demos/pc/app/anchor/is-affix-composition-api.vue +7 -7
- package/demos/pc/app/anchor/is-affix.vue +7 -7
- package/demos/pc/app/anchor/webdoc/anchor.js +4 -4
- package/demos/pc/app/autocomplete/webdoc/autocomplete.js +2 -2
- package/demos/pc/app/badge/webdoc/badge.js +1 -1
- package/demos/pc/app/button/webdoc/button.js +1 -1
- package/demos/pc/app/button-group/basic-usage.spec.ts +1 -0
- package/demos/pc/app/button-group/slot-empty-composition-api.vue +25 -0
- package/demos/pc/app/button-group/slot-empty.spec.ts +11 -0
- package/demos/pc/app/button-group/slot-empty.vue +33 -0
- package/demos/pc/app/button-group/webdoc/button-group.js +9 -0
- package/demos/pc/app/calendar/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/calendar/basic-usage.spec.ts +33 -0
- package/demos/pc/app/calendar/basic-usage.vue +1 -1
- package/demos/pc/app/calendar/calendar-mode-composition-api.vue +1 -1
- package/demos/pc/app/calendar/calendar-mode.spec.ts +33 -0
- package/demos/pc/app/calendar/calendar-mode.vue +1 -1
- package/demos/pc/app/calendar/custom-calendar-toolbar-composition-api.vue +3 -3
- package/demos/pc/app/calendar/custom-calendar-toolbar.spec.ts +18 -0
- package/demos/pc/app/calendar/custom-calendar-toolbar.vue +3 -3
- package/demos/pc/app/calendar/custom-day-cell-composition-api.vue +1 -1
- package/demos/pc/app/calendar/custom-day-cell.spec.ts +10 -0
- package/demos/pc/app/calendar/custom-day-cell.vue +1 -1
- package/demos/pc/app/calendar/dynamic-add-schedule-composition-api.vue +1 -1
- package/demos/pc/app/calendar/dynamic-add-schedule.spec.ts +26 -0
- package/demos/pc/app/calendar/dynamic-add-schedule.vue +1 -1
- package/demos/pc/app/calendar/show-selected-date-composition-api.vue +1 -1
- package/demos/pc/app/calendar/show-selected-date.spec.ts +14 -0
- package/demos/pc/app/calendar/show-selected-date.vue +1 -1
- package/demos/pc/app/calendar/webdoc/calendar.js +22 -8
- package/demos/pc/app/calendar-view/basic-usage.spec.ts +18 -0
- package/demos/pc/app/calendar-view/calendar-day-mark.spec.ts +23 -0
- package/demos/pc/app/calendar-view/calendar-disabled-day-composition-api.vue +2 -2
- package/demos/pc/app/calendar-view/calendar-disabled-day.spec.ts +12 -0
- package/demos/pc/app/calendar-view/calendar-disabled-day.vue +1 -1
- package/demos/pc/app/calendar-view/calendar-event.spec.ts +25 -0
- package/demos/pc/app/calendar-view/calendar-mode.spec.ts +25 -0
- package/demos/pc/app/calendar-view/calendar-schedule-slot.spec.ts +18 -0
- package/demos/pc/app/calendar-view/calendar-timeline-range.spec.ts +11 -0
- package/demos/pc/app/calendar-view/calendar-timeline-slot.spec.ts +23 -0
- package/demos/pc/app/calendar-view/custom-calendar-toolbar.spec.ts +8 -0
- package/demos/pc/app/calendar-view/custom-day-bg-color.spec.ts +8 -0
- package/demos/pc/app/calendar-view/custom-header.spec.ts +11 -0
- package/demos/pc/app/calendar-view/multi-select-composition-api.vue +2 -2
- package/demos/pc/app/calendar-view/multi-select.spec.ts +13 -0
- package/demos/pc/app/calendar-view/multi-select.vue +1 -1
- package/demos/pc/app/calendar-view/set-working-day-composition-api.vue +3 -7
- package/demos/pc/app/calendar-view/set-working-day.spec.ts +22 -0
- package/demos/pc/app/calendar-view/set-working-day.vue +1 -1
- package/demos/pc/app/calendar-view/webdoc/calendar-view.js +1 -1
- package/demos/pc/app/carousel/autoplay-composition-api.vue +2 -2
- package/demos/pc/app/carousel/autoplay.spec.ts +2 -0
- package/demos/pc/app/carousel/autoplay.vue +2 -2
- package/demos/pc/app/carousel/basic-usage-composition-api.vue +2 -2
- package/demos/pc/app/carousel/basic-usage.spec.ts +1 -8
- package/demos/pc/app/carousel/basic-usage.vue +2 -2
- package/demos/pc/app/carousel/card-mode-composition-api.vue +2 -2
- package/demos/pc/app/carousel/card-mode.vue +2 -2
- package/demos/pc/app/carousel/carousel-arrow-always-composition-api.vue +2 -2
- package/demos/pc/app/carousel/carousel-arrow-always.vue +2 -2
- package/demos/pc/app/carousel/carousel-arrow-hover-composition-api.vue +2 -2
- package/demos/pc/app/carousel/carousel-arrow-hover.vue +2 -2
- package/demos/pc/app/carousel/carousel-arrow-never-composition-api.vue +2 -2
- package/demos/pc/app/carousel/carousel-arrow-never.vue +2 -2
- package/demos/pc/app/carousel/carousel-events-composition-api.vue +2 -2
- package/demos/pc/app/carousel/carousel-events.vue +2 -2
- package/demos/pc/app/carousel/close-loop-composition-api.vue +2 -2
- package/demos/pc/app/carousel/close-loop.vue +2 -2
- package/demos/pc/app/carousel/custom-height-composition-api.vue +2 -2
- package/demos/pc/app/carousel/custom-height.vue +2 -2
- package/demos/pc/app/carousel/indicator-trigger-composition-api.vue +2 -2
- package/demos/pc/app/carousel/indicator-trigger.vue +2 -2
- package/demos/pc/app/carousel/initial-index-composition-api.vue +2 -2
- package/demos/pc/app/carousel/initial-index.vue +2 -2
- package/demos/pc/app/carousel/manual-play-composition-api.vue +19 -8
- package/demos/pc/app/carousel/manual-play.vue +18 -8
- package/demos/pc/app/carousel/play-interval-composition-api.vue +2 -2
- package/demos/pc/app/carousel/play-interval.vue +2 -2
- package/demos/pc/app/carousel/show-title-composition-api.vue +2 -2
- package/demos/pc/app/carousel/show-title.vue +2 -2
- package/demos/pc/app/carousel/up-down-carousel-composition-api.vue +2 -2
- package/demos/pc/app/carousel/up-down-carousel.vue +2 -2
- package/demos/pc/app/chart/histogram/demo4-composition-api.vue +0 -2
- package/demos/pc/app/chart/histogram/demo4.vue +0 -2
- package/demos/pc/app/checkbox/checkbox-events-composition-api.vue +2 -3
- package/demos/pc/app/checkbox/checkbox-events.vue +2 -3
- package/demos/pc/app/checkbox/group-options-composition-api.vue +1 -1
- package/demos/pc/app/checkbox/group-options.vue +1 -1
- package/demos/pc/app/checkbox/size-composition-api.vue +0 -1
- package/demos/pc/app/checkbox/text-composition-api.vue +3 -2
- package/demos/pc/app/checkbox/text.vue +2 -1
- package/demos/pc/app/checkbox/webdoc/checkbox.js +3 -3
- package/demos/pc/app/collapse/title-composition-api.vue +3 -2
- package/demos/pc/app/collapse/title.vue +3 -2
- package/demos/pc/app/collapse/webdoc/collapse.js +11 -11
- package/demos/pc/app/config-provider/webdoc/config-provider.js +3 -3
- package/demos/pc/app/date-picker/align.spec.ts +11 -12
- package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -23
- package/demos/pc/app/date-picker/clear.spec.ts +24 -5
- package/demos/pc/app/date-picker/date-range.spec.ts +63 -11
- package/demos/pc/app/date-picker/default-value.spec.ts +19 -4
- package/demos/pc/app/date-picker/events.spec.ts +24 -10
- package/demos/pc/app/date-picker/format.spec.ts +12 -11
- package/demos/pc/app/date-picker/shortcuts.spec.ts +6 -5
- package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
- package/demos/pc/app/dialog-box/center-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/center.vue +2 -2
- package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/close-on-click-modal.vue +2 -2
- package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/close-on-press-escape.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-content.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-footer.vue +4 -4
- package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +3 -3
- package/demos/pc/app/dialog-box/dialog-width.vue +3 -3
- package/demos/pc/app/dialog-box/lock-scroll-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/lock-scroll.vue +2 -2
- package/demos/pc/app/dialog-box/webdoc/dialog-box.js +63 -63
- package/demos/pc/app/dialog-select/nest-grid-multi-composition-api.vue +9 -3
- package/demos/pc/app/dialog-select/nest-grid-multi.vue +8 -3
- package/demos/pc/app/dialog-select/nest-grid-single-composition-api.vue +3 -2
- package/demos/pc/app/dialog-select/nest-grid-single.vue +3 -2
- package/demos/pc/app/dialog-select/nest-tree-multi-composition-api.vue +3 -2
- package/demos/pc/app/dialog-select/nest-tree-multi.vue +3 -2
- package/demos/pc/app/dialog-select/nest-tree-single-composition-api.vue +3 -2
- package/demos/pc/app/dialog-select/nest-tree-single.vue +3 -2
- package/demos/pc/app/dialog-select/webdoc/dialog-select.js +90 -42
- package/demos/pc/app/drawer/confirm-event-composition-api.vue +1 -1
- package/demos/pc/app/drawer/confirm-event.vue +1 -1
- package/demos/pc/app/drawer/webdoc/drawer.cn.md +1 -1
- package/demos/pc/app/drawer/webdoc/drawer.en.md +7 -0
- package/demos/pc/app/drawer/webdoc/drawer.js +94 -47
- package/demos/pc/app/drawer/z-index-composition-api.vue +1 -1
- package/demos/pc/app/drawer/z-index.spec.ts +1 -1
- package/demos/pc/app/drawer/z-index.vue +1 -1
- package/demos/pc/app/drop-times/basic-usage-composition-api.vue +7 -1
- package/demos/pc/app/drop-times/basic-usage.spec.ts +1 -1
- package/demos/pc/app/drop-times/basic-usage.vue +8 -2
- package/demos/pc/app/drop-times/size-composition-api.vue +14 -4
- package/demos/pc/app/drop-times/size.spec.ts +5 -1
- package/demos/pc/app/drop-times/size.vue +14 -4
- package/demos/pc/app/drop-times/start-end-step-composition-api.vue +8 -13
- package/demos/pc/app/drop-times/start-end-step.spec.ts +1 -1
- package/demos/pc/app/drop-times/start-end-step.vue +10 -16
- package/demos/pc/app/drop-times/webdoc/drop-times.js +27 -17
- package/demos/pc/app/dropdown/webdoc/dropdown.js +2 -2
- package/demos/pc/app/fall-menu/webdoc/fall-menu.js +4 -10
- package/demos/pc/app/file-upload/abort-quest-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/abort-quest.vue +1 -1
- package/demos/pc/app/file-upload/basic-usage.spec.ts +2 -2
- package/demos/pc/app/file-upload/{prevent-upload-file-composition-api.vue → before-upload-limit-composition-api.vue} +13 -5
- package/demos/pc/app/file-upload/{prevent-upload-file.spec.ts → before-upload-limit.spec.ts} +9 -4
- package/demos/pc/app/file-upload/{prevent-upload-file.vue → before-upload-limit.vue} +15 -5
- package/demos/pc/app/file-upload/custom-upload-tip-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/custom-upload-tip.spec.ts +1 -1
- package/demos/pc/app/file-upload/custom-upload-tip.vue +1 -1
- package/demos/pc/app/file-upload/form-validation-composition-api.vue +10 -4
- package/demos/pc/app/file-upload/form-validation.vue +9 -3
- package/demos/pc/app/file-upload/multiple-file.spec.ts +3 -1
- package/demos/pc/app/file-upload/upload-events-composition-api.vue +8 -8
- package/demos/pc/app/file-upload/upload-events.vue +8 -8
- package/demos/pc/app/file-upload/upload-request-composition-api.vue +1 -1
- package/demos/pc/app/file-upload/upload-request.vue +1 -1
- package/demos/pc/app/file-upload/webdoc/file-upload.js +97 -96
- package/demos/pc/app/form/form-validation-composition-api.vue +2 -2
- package/demos/pc/app/form/form-validation.vue +1 -1
- package/demos/pc/app/form/label-position.spec.ts +3 -0
- package/demos/pc/app/form/popper-options.spec.ts +1 -0
- package/demos/pc/app/form/slot-label-composition-api.vue +1 -1
- package/demos/pc/app/form/validate-debounce-composition-api.vue +3 -3
- package/demos/pc/app/form/validate-debounce.vue +3 -3
- package/demos/pc/app/form/webdoc/form.js +10 -9
- package/demos/pc/app/grid/dynamically-columns/dynamically-columns-composition-api.vue +6 -4
- package/demos/pc/app/grid/dynamically-columns/dynamically-columns.vue +6 -4
- package/demos/pc/app/grid/dynamically-columns/reverse-row-composition-api.vue +3 -1
- package/demos/pc/app/grid/dynamically-columns/reverse-row.vue +3 -1
- package/demos/pc/app/grid/faq/grid-in-dialog-box-composition-api.vue +1 -1
- package/demos/pc/app/grid/faq/grid-in-dialog-box.spec.js +1 -1
- package/demos/pc/app/grid/faq/grid-in-dialog-box.vue +1 -1
- package/demos/pc/app/grid/filter/advanced-filter-composition-api.vue +0 -15
- package/demos/pc/app/grid/filter/advanced-filter.spec.js +1 -1
- package/demos/pc/app/grid/filter/advanced-filter.vue +0 -14
- package/demos/pc/app/grid/filter/custom-filter.spec.js +1 -1
- package/demos/pc/app/grid/filter/default-filter-composition-api.vue +1 -1
- package/demos/pc/app/grid/filter/default-filter.spec.ts +1 -1
- package/demos/pc/app/grid/filter/default-filter.vue +1 -1
- package/demos/pc/app/grid/filter/simple-default-value-filter-composition-api.vue +0 -14
- package/demos/pc/app/grid/filter/simple-default-value-filter.vue +0 -14
- package/demos/pc/app/grid/filter/simple-filter-composition-api.vue +0 -14
- package/demos/pc/app/grid/filter/simple-filter.vue +0 -14
- package/demos/pc/app/grid/footer/configuration-summary.spec.js +1 -1
- package/demos/pc/app/grid/highlight/set-current-row-composition-api.vue +4 -1
- package/demos/pc/app/grid/highlight/set-current-row.vue +4 -1
- package/demos/pc/app/grid/large-data/scroll-to-composition-api.vue +6 -3
- package/demos/pc/app/grid/large-data/scroll-to.vue +6 -3
- package/demos/pc/app/grid/pager/inner-pager-composition-api.vue +1 -1
- package/demos/pc/app/grid/pager/inner-pager.spec.js +1 -1
- package/demos/pc/app/grid/pager/inner-pager.vue +1 -1
- package/demos/pc/app/grid/sort/server-sort-composition-api.vue +3 -3
- package/demos/pc/app/grid/sort/server-sort.vue +2 -2
- package/demos/pc/app/grid/sort/sort-composition-api.vue +4 -1
- package/demos/pc/app/grid/sort/sort.spec.js +1 -1
- package/demos/pc/app/grid/sort/sort.vue +4 -1
- package/demos/pc/app/grid/toolbar/insert-delete-update-composition-api.vue +2 -1
- package/demos/pc/app/grid/toolbar/insert-delete-update.vue +2 -1
- package/demos/pc/app/grid/toolbar/toolbar-op-config-composition-api.vue +3 -2
- package/demos/pc/app/grid/toolbar/toolbar-op-config.vue +3 -2
- package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +5 -5
- package/demos/pc/app/grid/validation/before-submit-validation.spec.js +2 -2
- package/demos/pc/app/grid/validation/before-submit-validation.vue +5 -5
- package/demos/pc/app/grid/webdoc/grid-appearance-settings.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-context-menu.js +4 -4
- package/demos/pc/app/grid/webdoc/grid-custom-style.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-custom.js +31 -31
- package/demos/pc/app/grid/webdoc/grid-drag.js +1 -1
- package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +4 -1
- package/demos/pc/app/grid/webdoc/grid-editor.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-empty.js +4 -1
- package/demos/pc/app/grid/webdoc/grid-expand.js +3 -3
- package/demos/pc/app/grid/webdoc/grid-faq.js +4 -4
- package/demos/pc/app/grid/webdoc/grid-filter.js +4 -4
- package/demos/pc/app/grid/webdoc/grid-footer.js +1 -1
- package/demos/pc/app/grid/webdoc/grid-highlight.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-import-export.js +5 -2
- package/demos/pc/app/grid/webdoc/grid-large-data.js +6 -5
- package/demos/pc/app/grid/webdoc/grid-mouse-keyboard.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-pager.js +11 -2
- package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -11
- package/demos/pc/app/grid/webdoc/grid-row-grouping.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-size.js +6 -6
- package/demos/pc/app/grid/webdoc/grid-slot.js +16 -4
- package/demos/pc/app/grid/webdoc/grid-tip.js +3 -3
- package/demos/pc/app/grid/webdoc/grid-toolbar.js +17 -9
- package/demos/pc/app/grid/webdoc/grid-tree-table.js +9 -7
- package/demos/pc/app/grid/webdoc/grid-validation.js +6 -6
- package/demos/pc/app/grid/webdoc/grid.js +160 -85
- package/demos/pc/app/icon/iconGroups.js +1 -0
- package/demos/pc/app/icon/list-composition-api.vue +8 -0
- package/demos/pc/app/icon/list.vue +7 -0
- package/demos/pc/app/image/basic-usage.spec.ts +1 -1
- package/demos/pc/app/image/events.spec.ts +1 -1
- package/demos/pc/app/image/lazy.spec.ts +1 -1
- package/demos/pc/app/image/preview-in-dialog.spec.ts +1 -1
- package/demos/pc/app/image/preview.spec.ts +1 -1
- package/demos/pc/app/image/slot.spec.ts +1 -1
- package/demos/pc/app/image/webdoc/image.cn.md +3 -1
- package/demos/pc/app/image/webdoc/image.en.md +3 -1
- package/demos/pc/app/image/webdoc/image.js +34 -18
- package/demos/pc/app/input/method-addMemory-composition-api.vue +1 -0
- package/demos/pc/app/input/method-addMemory.spec.ts +11 -0
- package/demos/pc/app/input/method-addMemory.vue +1 -0
- package/demos/pc/app/input/webdoc/input.js +12 -2
- package/demos/pc/app/ip-address/webdoc/ip-address.cn.md +2 -2
- package/demos/pc/app/ip-address/webdoc/ip-address.js +2 -2
- package/demos/pc/app/link/webdoc/link.js +1 -1
- package/demos/pc/app/loading/webdoc/loading.js +1 -1
- package/demos/pc/app/milestone/show-number-composition-api.vue +1 -1
- package/demos/pc/app/milestone/show-number.vue +1 -1
- package/demos/pc/app/milestone/solid-style-composition-api.vue +1 -1
- package/demos/pc/app/milestone/solid-style.vue +1 -1
- package/demos/pc/app/milestone/webdoc/milestone.js +9 -9
- package/demos/pc/app/mind-map/basic-usage-composition-api.vue +14 -0
- package/demos/pc/app/mind-map/basic-usage.spec.ts +36 -0
- package/demos/pc/app/mind-map/basic-usage.vue +20 -0
- package/demos/pc/app/mind-map/event-composition-api.vue +125 -0
- package/demos/pc/app/mind-map/event.spec.ts +52 -0
- package/demos/pc/app/mind-map/event.vue +136 -0
- package/demos/pc/app/mind-map/export-data-composition-api.vue +108 -0
- package/demos/pc/app/mind-map/export-data.spec.ts +19 -0
- package/demos/pc/app/mind-map/export-data.vue +119 -0
- package/demos/pc/app/mind-map/webdoc/mind-map.cn.md +7 -0
- package/demos/pc/app/mind-map/webdoc/mind-map.en.md +7 -0
- package/demos/pc/app/mind-map/webdoc/mind-map.js +250 -0
- package/demos/pc/app/modal/webdoc/modal.js +47 -47
- package/demos/pc/app/nav-menu/custom-service-composition-api.vue +5 -5
- package/demos/pc/app/nav-menu/custom-service.vue +5 -5
- package/demos/pc/app/notify/webdoc/notify.js +9 -6
- package/demos/pc/app/numeric/webdoc/numeric.js +23 -23
- package/demos/pc/app/pager/before-page-change-composition-api.vue +1 -1
- package/demos/pc/app/pager/before-page-change.vue +1 -1
- package/demos/pc/app/pager/custom-layout-composition-api.vue +8 -6
- package/demos/pc/app/pager/custom-layout.vue +8 -6
- package/demos/pc/app/pager/custom-total-composition-api.vue +20 -18
- package/demos/pc/app/pager/custom-total.vue +20 -18
- package/demos/pc/app/pager/hide-on-single-page-composition-api.vue +1 -1
- package/demos/pc/app/pager/hide-on-single-page.spec.ts +1 -1
- package/demos/pc/app/pager/hide-on-single-page.vue +1 -1
- package/demos/pc/app/pager/pager-event-composition-api.vue +10 -5
- package/demos/pc/app/pager/pager-event.vue +10 -5
- package/demos/pc/app/pager/webdoc/pager.js +3 -3
- package/demos/pc/app/pop-upload/webdoc/pop-upload.js +3 -3
- package/demos/pc/app/popconfirm/webdoc/popconfirm.js +1 -1
- package/demos/pc/app/progress/custom-color-composition-api.vue +10 -5
- package/demos/pc/app/progress/custom-color.spec.ts +14 -1
- package/demos/pc/app/progress/custom-color.vue +10 -5
- package/demos/pc/app/progress/custom-status-composition-api.vue +30 -11
- package/demos/pc/app/progress/custom-status.vue +30 -11
- package/demos/pc/app/progress/webdoc/progress.js +7 -8
- package/demos/pc/app/qr-code/level-composition-api.vue +5 -8
- package/demos/pc/app/qr-code/style-composition-api.vue +1 -0
- package/demos/pc/app/qr-code/style.vue +1 -0
- package/demos/pc/app/qr-code/webdoc/qr-code.js +22 -10
- package/demos/pc/app/radio/group-options-composition-api.vue +13 -0
- package/demos/pc/app/radio/group-options.vue +20 -2
- package/demos/pc/app/radio/webdoc/radio.js +3 -3
- package/demos/pc/app/rate/webdoc/rate.js +8 -10
- package/demos/pc/app/search/events-composition-api.vue +4 -4
- package/demos/pc/app/search/events.vue +4 -4
- package/demos/pc/app/search/slot-prefix-composition-api.vue +1 -1
- package/demos/pc/app/search/slot-prefix.vue +1 -1
- package/demos/pc/app/search/webdoc/search.js +2 -2
- package/demos/pc/app/select/basic-usage-composition-api.vue +11 -6
- package/demos/pc/app/select/basic-usage.spec.ts +34 -9
- package/demos/pc/app/select/basic-usage.vue +11 -6
- package/demos/pc/app/select/clear-no-match-value-composition-api.vue +1 -1
- package/demos/pc/app/select/clear-no-match-value.vue +1 -1
- package/demos/pc/app/select/events-composition-api.vue +12 -6
- package/demos/pc/app/select/events.vue +10 -5
- package/demos/pc/app/select/is-drop-inherit-width-composition-api.vue +1 -2
- package/demos/pc/app/select/is-drop-inherit-width.vue +1 -2
- package/demos/pc/app/select/no-data-text-composition-api.vue +1 -1
- package/demos/pc/app/select/no-data-text.spec.ts +1 -1
- package/demos/pc/app/select/no-data-text.vue +1 -1
- package/demos/pc/app/select/optimization-composition-api.vue +5 -2
- package/demos/pc/app/select/optimization.vue +4 -1
- package/demos/pc/app/select/option-group-composition-api.vue +33 -11
- package/demos/pc/app/select/option-group.spec.ts +2 -2
- package/demos/pc/app/select/option-group.vue +34 -13
- package/demos/pc/app/select/slot-default-composition-api.vue +49 -13
- package/demos/pc/app/select/slot-default.spec.ts +5 -2
- package/demos/pc/app/select/slot-default.vue +50 -14
- package/demos/pc/app/select/slot-empty-composition-api.vue +16 -3
- package/demos/pc/app/select/slot-empty.spec.ts +1 -1
- package/demos/pc/app/select/slot-empty.vue +18 -4
- package/demos/pc/app/select/webdoc/select.js +89 -16
- package/demos/pc/app/slider/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/slider/basic-usage.vue +1 -1
- package/demos/pc/app/switch/before-change-composition-api.vue +4 -1
- package/demos/pc/app/switch/before-change.vue +4 -3
- package/demos/pc/app/switch/custom-true-false-value-composition-api.vue +1 -1
- package/demos/pc/app/switch/custom-true-false-value.spec.ts +2 -2
- package/demos/pc/app/switch/custom-true-false-value.vue +1 -1
- package/demos/pc/app/switch/event-change-composition-api.vue +1 -1
- package/demos/pc/app/switch/event-change.vue +1 -1
- package/demos/pc/app/switch/webdoc/switch.cn.md +1 -1
- package/demos/pc/app/switch/webdoc/switch.js +1 -1
- package/demos/pc/app/tabs/webdoc/tabs.js +3 -3
- package/demos/pc/app/tag/webdoc/tag.js +1 -1
- package/demos/pc/app/tag-group/basic-usage.vue +1 -1
- package/demos/pc/app/tag-group/webdoc/tag-group.js +2 -2
- package/demos/pc/app/time-select/basic-usage-composition-api.vue +10 -2
- package/demos/pc/app/time-select/basic-usage.spec.ts +6 -5
- package/demos/pc/app/time-select/basic-usage.vue +10 -2
- package/demos/pc/app/time-select/clear-icon-composition-api.vue +17 -9
- package/demos/pc/app/time-select/clear-icon.spec.ts +7 -5
- package/demos/pc/app/time-select/clear-icon.vue +17 -9
- package/demos/pc/app/time-select/default-value-composition-api.vue +10 -2
- package/demos/pc/app/time-select/default-value.spec.ts +3 -2
- package/demos/pc/app/time-select/default-value.vue +10 -2
- package/demos/pc/app/time-select/editable-composition-api.vue +10 -2
- package/demos/pc/app/time-select/editable.vue +10 -2
- package/demos/pc/app/time-select/event-blur-composition-api.vue +8 -2
- package/demos/pc/app/time-select/event-blur.spec.ts +2 -2
- package/demos/pc/app/time-select/event-blur.vue +10 -4
- package/demos/pc/app/time-select/focus-composition-api.vue +12 -3
- package/demos/pc/app/time-select/focus.spec.ts +5 -4
- package/demos/pc/app/time-select/focus.vue +12 -3
- package/demos/pc/app/time-select/picker-options-composition-api.vue +21 -13
- package/demos/pc/app/time-select/picker-options.spec.ts +1 -1
- package/demos/pc/app/time-select/picker-options.vue +21 -13
- package/demos/pc/app/time-select/range-placeholder-composition-api.vue +17 -3
- package/demos/pc/app/time-select/range-placeholder.spec.ts +16 -13
- package/demos/pc/app/time-select/range-placeholder.vue +17 -3
- package/demos/pc/app/time-select/size-medium-composition-api.vue +15 -2
- package/demos/pc/app/time-select/size-medium.spec.ts +5 -1
- package/demos/pc/app/time-select/size-medium.vue +15 -2
- package/demos/pc/app/time-select/suffix-icon-composition-api.vue +8 -2
- package/demos/pc/app/time-select/suffix-icon.vue +8 -2
- package/demos/pc/app/time-select/webdoc/time-select.js +57 -78
- package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +2 -2
- package/demos/pc/app/transfer/basic-usage.spec.ts +1 -1
- package/demos/pc/app/transfer/before-transfer.spec.ts +1 -1
- package/demos/pc/app/transfer/custom-btns.spec.ts +1 -1
- package/demos/pc/app/transfer/custom-filter.spec.ts +1 -1
- package/demos/pc/app/transfer/custom-footer.spec.ts +2 -1
- package/demos/pc/app/transfer/custom-render.spec.ts +1 -1
- package/demos/pc/app/transfer/custom-titles.spec.ts +1 -1
- package/demos/pc/app/transfer/default-checked.spec.ts +1 -1
- package/demos/pc/app/transfer/drop-config.spec.ts +1 -1
- package/demos/pc/app/transfer/nested-table.spec.ts +1 -1
- package/demos/pc/app/transfer/nested-tree.spec.ts +1 -1
- package/demos/pc/app/transfer/target-order.spec.ts +1 -1
- package/demos/pc/app/transfer/transfer-events.spec.ts +1 -1
- package/demos/pc/app/transfer/webdoc/transfer.cn.md +1 -1
- package/demos/pc/app/transfer/webdoc/transfer.en.md +3 -3
- package/demos/pc/app/transfer/webdoc/transfer.js +76 -43
- package/demos/pc/app/tree/basic-usage.spec.ts +1 -1
- package/demos/pc/app/tree/check-op.spec.ts +1 -1
- package/demos/pc/app/tree/checkbox.spec.ts +1 -1
- package/demos/pc/app/tree/contextmenu.spec.ts +1 -1
- package/demos/pc/app/tree/drag.spec.ts +1 -1
- package/demos/pc/app/tree/edit.spec.ts +1 -1
- package/demos/pc/app/tree/expand-control.spec.ts +1 -1
- package/demos/pc/app/tree/filter-view.spec.ts +1 -1
- package/demos/pc/app/tree/icons.spec.ts +1 -1
- package/demos/pc/app/tree/lazy.spec.ts +1 -1
- package/demos/pc/app/tree/node-hl.spec.ts +1 -1
- package/demos/pc/app/tree/node-op.spec.ts +1 -1
- package/demos/pc/app/tree/other.spec.ts +1 -1
- package/demos/pc/app/tree/props.spec.ts +1 -1
- package/demos/pc/app/tree/radio.spec.ts +1 -1
- package/demos/pc/app/tree/slot.spec.ts +1 -1
- package/demos/pc/app/tree/webdoc/tree.cn.md +1 -1
- package/demos/pc/app/tree/webdoc/tree.en.md +1 -1
- package/demos/pc/app/tree/webdoc/tree.js +67 -19
- package/demos/pc/app/tree-menu/custom-icon.spec.ts +1 -0
- package/demos/pc/app/tree-menu/only-check-children.spec.ts +24 -2
- package/demos/pc/app/tree-menu/props.spec.ts +22 -2
- package/demos/pc/app/tree-menu/show-expand.spec.ts +36 -4
- package/demos/pc/app/tree-menu/show-filter.spec.ts +54 -3
- package/demos/pc/app/tree-menu/show-number.spec.ts +14 -1
- package/demos/pc/app/tree-menu/webdoc/tree-menu.js +4 -4
- package/demos/pc/app/user-head/image-user-head-composition-api.vue +1 -1
- package/demos/pc/app/user-head/image-user-head.vue +1 -1
- package/demos/pc/app/user-head/webdoc/user-head.js +17 -17
- package/demos/pc/app/watermark/webdoc/watermark.js +32 -16
- package/demos/pc/menus.js +6 -1
- package/demos/pc/webdoc/form-valid-en.md +9 -3
- package/demos/pc/webdoc/form-valid.md +3 -1
- package/demos/pc/webdoc/theme-en.md +10 -8
- package/package.json +9 -8
- package/playground/App.vue +9 -0
- package/demos/mobile/app/button/event-click.vue +0 -40
- package/demos/mobile/app/button/native-type.vue +0 -105
- package/demos/mobile/app/button/plain.vue +0 -33
- package/demos/mobile/app/button/round.vue +0 -34
- package/demos/mobile/app/button/text.vue +0 -38
- package/demos/pc/app/calendar-view/hide-mode-composition-api.vue +0 -7
- package/demos/pc/app/calendar-view/hide-mode.vue +0 -13
- package/demos/pc/app/calendar-view/mode-combination-composition-api.vue +0 -7
- package/demos/pc/app/calendar-view/mode-combination.vue +0 -14
- package/demos/pc/app/file-upload/upload-limit-composition-api.vue +0 -22
- package/demos/pc/app/file-upload/upload-limit.spec.ts +0 -20
- package/demos/pc/app/file-upload/upload-limit.vue +0 -32
- package/demos/pc/app/time-select/default-time-composition-api.vue +0 -11
- package/demos/pc/app/time-select/default-time.vue +0 -19
- package/demos/pc/app/time-select/disabled-composition-api.vue +0 -10
- package/demos/pc/app/time-select/disabled.spec.ts +0 -8
- package/demos/pc/app/time-select/disabled.vue +0 -18
- package/demos/pc/app/time-select/event-change-composition-api.vue +0 -16
- package/demos/pc/app/time-select/event-change.vue +0 -25
- package/demos/pc/app/time-select/popper-class-composition-api.vue +0 -27
- package/demos/pc/app/time-select/popper-class.spec.ts +0 -9
- package/demos/pc/app/time-select/popper-class.vue +0 -35
- package/demos/pc/app/time-select/size-mini-composition-api.vue +0 -10
- package/demos/pc/app/time-select/size-mini.spec.ts +0 -8
- package/demos/pc/app/time-select/size-mini.vue +0 -18
- package/demos/pc/app/time-select/size-small-composition-api.vue +0 -10
- package/demos/pc/app/time-select/size-small.spec.ts +0 -8
- package/demos/pc/app/time-select/size-small.vue +0 -18
- package/demos/pc/resource/user-group-2.png +0 -0
- 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>
|