@opentiny/vue-docs 2.2.4 → 2.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demos/mobile/app/container/basic-usage.vue +105 -0
- package/demos/mobile/app/container/custom-width.vue +93 -0
- package/demos/mobile/app/container/webdoc/container.cn.md +7 -0
- package/demos/mobile/app/container/webdoc/container.en.md +7 -0
- package/demos/mobile/app/container/webdoc/container.js +80 -0
- package/demos/mobile/app/pull-refresh/animation-duration.vue +58 -12
- package/demos/mobile/app/pull-refresh/base.vue +32 -18
- package/demos/mobile/app/pull-refresh/disabled-pull-down.vue +66 -0
- package/demos/mobile/app/pull-refresh/disabled-pull-up.vue +67 -0
- package/demos/mobile/app/pull-refresh/{hasmore.vue → event.vue} +21 -20
- package/demos/mobile/app/pull-refresh/{enhance.vue → has-more.vue} +20 -25
- package/demos/mobile/app/pull-refresh/loosing-text.vue +55 -12
- package/demos/mobile/app/pull-refresh/pull-refresh-slot.vue +64 -15
- package/demos/mobile/app/pull-refresh/pull-up-distance.vue +74 -0
- package/demos/mobile/app/pull-refresh/pulling-text.vue +56 -12
- package/demos/mobile/app/pull-refresh/webdoc/pull-refresh.js +98 -120
- package/demos/mobile/app/tabs/before-leave.vue +3 -3
- package/demos/mobile/app/tabs/tabs-events.vue +7 -7
- package/demos/mobile/menus.js +4 -1
- package/demos/mobile-first/app/tabs/basic-usage.vue +3 -3
- package/demos/mobile-first/app/tabs/before-leave.vue +3 -3
- package/demos/mobile-first/app/tabs/change-title.vue +2 -2
- package/demos/mobile-first/app/tabs/custom-tab-content.vue +3 -3
- package/demos/mobile-first/app/tabs/custom-tab-title.vue +3 -3
- package/demos/mobile-first/app/tabs/position-bottom.vue +10 -10
- package/demos/mobile-first/app/tabs/position-left.vue +10 -10
- package/demos/mobile-first/app/tabs/position-right.vue +10 -10
- package/demos/mobile-first/app/tabs/position.vue +10 -10
- package/demos/mobile-first/app/tabs/prevent-tab-switching.vue +3 -3
- package/demos/mobile-first/app/tabs/stretch-wh.vue +3 -3
- package/demos/mobile-first/app/tabs/tab-style-bordercard.vue +10 -10
- package/demos/mobile-first/app/tabs/tab-style-card.vue +10 -10
- package/demos/mobile-first/app/tabs/tabdata-title.vue +4 -4
- package/demos/mobile-first/app/tabs/tabs-draggable.vue +1 -1
- package/demos/mobile-first/app/tabs/tabs-events-add.vue +3 -3
- package/demos/mobile-first/app/tabs/tabs-events-click.vue +3 -3
- package/demos/mobile-first/app/tabs/tabs-events-close.vue +4 -4
- package/demos/mobile-first/app/tabs/tabs-events-edit.vue +4 -4
- package/demos/mobile-first/app/tabs/tabs-separator.vue +8 -8
- package/demos/mobile-first/app/tabs/tabs-size.vue +3 -3
- package/demos/mobile-first/app/tabs/tabs-tabs.vue +2 -2
- package/demos/mobile-first/app/tabs/with-add.vue +1 -1
- package/demos/pc/app/action-menu/disabled.vue +2 -1
- package/demos/pc/app/action-menu/icon-composition-api.vue +73 -0
- package/demos/pc/app/action-menu/icon.vue +79 -0
- package/demos/pc/app/action-menu/popper-class.spec.ts +2 -1
- package/demos/pc/app/action-menu/webdoc/action-menu.js +42 -1
- package/demos/pc/app/autocomplete/webdoc/autocomplete.js +30 -16
- package/demos/pc/app/breadcrumb/webdoc/breadcrumb.js +3 -3
- package/demos/pc/app/button/basic-usage-composition-api.vue +2 -0
- package/demos/pc/app/button/basic-usage.vue +2 -0
- package/demos/pc/app/button/click-composition-api.vue +1 -1
- package/demos/pc/app/button/click.vue +1 -1
- package/demos/pc/app/button/dynamic-disabled-composition-api.vue +10 -1
- package/demos/pc/app/button/{dynamic-disabled.spec.js → dynamic-disabled.spec.ts} +4 -0
- package/demos/pc/app/button/dynamic-disabled.vue +12 -3
- package/demos/pc/app/button/ghost-composition-api.vue +26 -0
- package/demos/pc/app/button/ghost.spec.ts +69 -0
- package/demos/pc/app/button/ghost.vue +32 -0
- package/demos/pc/app/button/icon-composition-api.vue +2 -0
- package/demos/pc/app/button/icon.vue +2 -0
- package/demos/pc/app/button/loading-composition-api.vue +2 -0
- package/demos/pc/app/button/loading.vue +2 -0
- package/demos/pc/app/button/size-composition-api.vue +2 -0
- package/demos/pc/app/button/size.vue +2 -0
- package/demos/pc/app/button/text-composition-api.vue +1 -1
- package/demos/pc/app/button/text.vue +1 -1
- package/demos/pc/app/button/webdoc/button.js +28 -1
- package/demos/pc/app/button-group/button-group-multiple-composition-api.vue +9 -9
- package/demos/pc/app/button-group/button-group-multiple.vue +9 -9
- package/demos/pc/app/button-group/change-event-composition-api.vue +1 -1
- package/demos/pc/app/button-group/change-event.vue +1 -1
- package/demos/pc/app/button-group/show-edit-composition-api.vue +1 -1
- package/demos/pc/app/button-group/show-edit.vue +1 -1
- package/demos/pc/app/button-group/webdoc/button-group.js +2 -3
- package/demos/pc/app/carousel/webdoc/carousel.js +82 -49
- package/demos/pc/app/cascader/auto-load-checkStrictly-composition-api.vue +2 -1
- package/demos/pc/app/cascader/auto-load-checkStrictly.vue +2 -1
- package/demos/pc/app/cascader/auto-load-composition-api.vue +3 -1
- package/demos/pc/app/cascader/auto-load.vue +2 -1
- package/demos/pc/app/cascader/events-composition-api.vue +1 -1
- package/demos/pc/app/cascader/expand-trigger-composition-api.vue +195 -2
- package/demos/pc/app/cascader/show-all-levels-composition-api.vue +197 -2
- package/demos/pc/app/cascader/webdoc/cascader.js +27 -13
- package/demos/pc/app/cascader-panel/basic-usage-composition-api.vue +3 -1
- package/demos/pc/app/cascader-panel/basic-usage.vue +2 -1
- package/demos/pc/app/cascader-panel/cascader-panel-props-composition-api.vue +3 -1
- package/demos/pc/app/cascader-panel/cascader-panel-props.vue +3 -1
- package/demos/pc/app/cascader-panel/change-composition-api.vue +1 -2
- package/demos/pc/app/cascader-panel/change.vue +1 -1
- package/demos/pc/app/cascader-panel/webdoc/cascader-panel.js +5 -5
- package/demos/pc/app/color-picker/webdoc/color-picker.js +36 -18
- package/demos/pc/app/color-select-panel/webdoc/color-select-panel.js +32 -19
- package/demos/pc/app/config-provider/basic.spec.ts +9 -0
- package/demos/pc/app/config-provider/tag.spec.ts +12 -0
- package/demos/pc/app/config-provider/text-direct.spec.ts +11 -0
- package/demos/pc/app/config-provider/webdoc/config-provider.en.md +7 -0
- package/demos/pc/app/config-provider/webdoc/config-provider.js +27 -12
- package/demos/pc/app/container/basic-usage.spec.js +47 -2
- package/demos/pc/app/container/custom-with-height.spec.js +10 -2
- package/demos/pc/app/crop/webdoc/crop.js +53 -49
- package/demos/pc/app/dialog-box/webdoc/dialog-box.js +82 -83
- package/demos/pc/app/divider/webdoc/divider.js +25 -21
- package/demos/pc/app/dropdown/events-composition-api.vue +1 -1
- package/demos/pc/app/dropdown/events.spec.ts +1 -0
- package/demos/pc/app/dropdown/multi-level-composition-api.vue +4 -8
- package/demos/pc/app/dropdown/multi-level.spec.ts +16 -9
- package/demos/pc/app/dropdown/multi-level.vue +3 -7
- package/demos/pc/app/dropdown/show-icon-composition-api.vue +44 -21
- package/demos/pc/app/dropdown/show-icon.vue +42 -12
- package/demos/pc/app/dropdown/webdoc/dropdown.js +29 -8
- package/demos/pc/app/fall-menu/custom-menuitem.spec.ts +6 -9
- package/demos/pc/app/fall-menu/custom-slider-icon.spec.ts +10 -21
- package/demos/pc/app/fall-menu/data-resource.spec.ts +6 -9
- package/demos/pc/app/file-upload/abort-quest.spec.ts +6 -5
- package/demos/pc/app/file-upload/accept-file-image.spec.ts +9 -4
- package/demos/pc/app/file-upload/custom-trigger.spec.ts +1 -1
- package/demos/pc/app/file-upload/disabled.spec.ts +4 -5
- package/demos/pc/app/file-upload/drag-upload.spec.ts +1 -1
- package/demos/pc/app/file-upload/file-picture-card.spec.ts +7 -6
- package/demos/pc/app/file-upload/form-validation.spec.ts +2 -2
- package/demos/pc/app/file-upload/image-size.spec.ts +2 -2
- package/demos/pc/app/file-upload/max-file-count.spec.ts +6 -6
- package/demos/pc/app/file-upload/paste-upload-composition-api.vue +2 -2
- package/demos/pc/app/file-upload/paste-upload.spec.ts +19 -2
- package/demos/pc/app/file-upload/picture-card.spec.ts +6 -5
- package/demos/pc/app/file-upload/picture-list.spec.ts +2 -3
- package/demos/pc/app/file-upload/prevent-delete-file.spec.ts +1 -1
- package/demos/pc/app/file-upload/prevent-upload-file.spec.ts +1 -1
- package/demos/pc/app/file-upload/upload-events.spec.ts +6 -4
- package/demos/pc/app/file-upload/upload-file-list-slot.spec.ts +18 -0
- package/demos/pc/app/file-upload/upload-file-list-thumb-composition-api.vue +4 -3
- package/demos/pc/app/file-upload/upload-file-list-thumb.spec.ts +2 -2
- package/demos/pc/app/file-upload/upload-file-list-thumb.vue +4 -3
- package/demos/pc/app/file-upload/upload-file-list.spec.ts +9 -9
- package/demos/pc/app/file-upload/upload-limit.spec.ts +5 -8
- package/demos/pc/app/file-upload/upload-request.spec.ts +1 -1
- package/demos/pc/app/file-upload/upload-user-head.spec.ts +1 -1
- package/demos/pc/app/file-upload/webdoc/file-upload.js +4 -4
- package/demos/pc/app/file-upload//346/265/213/350/257/225.txt +1 -0
- package/demos/pc/app/form/custom-validation-rule-composition-api.vue +2 -14
- package/demos/pc/app/form/custom-validation-rule.vue +2 -8
- package/demos/pc/app/form/form-validate-field.vue +2 -2
- package/demos/pc/app/form/size.spec.ts +26 -6
- package/demos/pc/app/grid/custom-style/body-style-composition-api.vue +1 -1
- package/demos/pc/app/grid/custom-style/footer-style-composition-api.vue +64 -19
- package/demos/pc/app/grid/drag/row-drag-ctrl-composition-api.vue +4 -4
- package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +2 -2
- package/demos/pc/app/grid/edit/trigger-mode-hm-editing.vue +1 -1
- package/demos/pc/app/grid/event/cell-mouse-event-composition-api.vue +1 -1
- package/demos/pc/app/grid/event/context-menu-event-composition-api.vue +1 -0
- package/demos/pc/app/grid/event/edit-event-composition-api.vue +1 -1
- package/demos/pc/app/grid/expand/set-row-expansion-composition-api.vue +9 -4
- package/demos/pc/app/grid/loading/{grid-loading-off-tip-composition-api.vue → grid-custom-loading-composition-api.vue} +29 -4
- package/demos/pc/app/grid/loading/grid-custom-loading.spec.js +7 -0
- package/demos/pc/app/grid/loading/{grid-loading-off-tip.vue → grid-custom-loading.vue} +27 -1
- package/demos/pc/app/grid/operation-column/clear-and-set-radio-row-composition-api.vue +5 -1
- package/demos/pc/app/grid/operation-column/selection-operation-composition-api.vue +32 -0
- package/demos/pc/app/grid/size/grid-size-composition-api.vue +17 -0
- package/demos/pc/app/grid/slot/editor-slot-composition-api.vue +13 -7
- package/demos/pc/app/grid/sort/combinations-sort-composition-api.vue +3 -3
- package/demos/pc/app/grid/sort/combinations-sort.spec.js +3 -0
- package/demos/pc/app/grid/sort/combinations-sort.vue +3 -3
- package/demos/pc/app/grid/toolbar/insert-remove-rows-composition-api.vue +1 -1
- package/demos/pc/app/grid/toolbar/insert-remove-rows.vue +1 -1
- package/demos/pc/app/grid/toolbar/refresh-grid-composition-api.vue +105 -0
- package/demos/pc/app/grid/tree-table/set-tree-expansion-composition-api.vue +4 -4
- package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +19 -2
- package/demos/pc/app/grid/validation/before-submit-validation.spec.js +5 -2
- package/demos/pc/app/grid/validation/before-submit-validation.vue +19 -2
- package/demos/pc/app/grid/webdoc/grid-loading.js +9 -5
- package/demos/pc/app/grid/webdoc/grid-size.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-validation.js +1 -1
- package/demos/pc/app/grid/webdoc/grid.js +8 -1
- package/demos/pc/app/guide/callback-composition-api.vue +2 -2
- package/demos/pc/app/guide/callback.vue +2 -2
- package/demos/pc/app/guide/highlight-box-composition-api.vue +9 -8
- package/demos/pc/app/guide/highlight-box.vue +8 -2
- package/demos/pc/app/guide/offset-composition-api.vue +7 -2
- package/demos/pc/app/guide/offset.vue +7 -2
- package/demos/pc/app/guide/size-composition-api.vue +3 -8
- package/demos/pc/app/guide/size.vue +3 -8
- package/demos/pc/app/guide/webdoc/guide.js +2 -2
- package/demos/pc/app/image/basic-usage.spec.ts +9 -2
- package/demos/pc/app/image/events.spec.ts +3 -1
- package/demos/pc/app/image/lazy-composition-api.vue +2 -2
- package/demos/pc/app/image/lazy.spec.ts +7 -4
- package/demos/pc/app/image/lazy.vue +2 -2
- package/demos/pc/app/image/preview-in-dialog.spec.ts +15 -1
- package/demos/pc/app/image/preview.spec.ts +28 -13
- package/demos/pc/app/image/slot.spec.ts +3 -0
- package/demos/pc/app/input/webdoc/input.js +11 -11
- package/demos/pc/app/link/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/link/basic-usage.spec.ts +1 -1
- package/demos/pc/app/link/basic-usage.vue +1 -1
- package/demos/pc/app/link/config-href.spec.ts +2 -2
- package/demos/pc/app/link/custom-icon.spec.ts +5 -5
- package/demos/pc/app/link/dynamic-disable.spec.ts +11 -11
- package/demos/pc/app/link/focus-no-underline.spec.ts +3 -3
- package/demos/pc/app/link/link-style-composition-api.vue +6 -6
- package/demos/pc/app/link/link-style.spec.ts +36 -7
- package/demos/pc/app/link/link-style.vue +6 -6
- package/demos/pc/app/link/webdoc/link.js +20 -22
- package/demos/pc/app/link-menu/webdoc/link-menu.js +22 -22
- package/demos/pc/app/milestone/basic-usage-composition-api.vue +6 -6
- package/demos/pc/app/milestone/basic-usage.spec.ts +1 -1
- package/demos/pc/app/milestone/basic-usage.vue +6 -6
- package/demos/pc/app/milestone/line-style-composition-api.vue +6 -6
- package/demos/pc/app/milestone/line-style.vue +6 -6
- package/demos/pc/app/milestone/show-number-composition-api.vue +9 -7
- package/demos/pc/app/milestone/show-number.spec.ts +7 -7
- package/demos/pc/app/milestone/show-number.vue +9 -7
- package/demos/pc/app/milestone/solid-style-composition-api.vue +7 -7
- package/demos/pc/app/milestone/solid-style.spec.ts +7 -7
- package/demos/pc/app/milestone/solid-style.vue +7 -7
- package/demos/pc/app/milestone/webdoc/milestone.js +31 -12
- package/demos/pc/app/modal/webdoc/modal.js +80 -76
- package/demos/pc/app/nav-menu/basic-usage.spec.ts +2 -2
- package/demos/pc/app/nav-menu/before-skip-prevent.spec.ts +1 -1
- package/demos/pc/app/nav-menu/before-skip.spec.ts +1 -1
- package/demos/pc/app/nav-menu/custom-service.spec.ts +1 -2
- package/demos/pc/app/nav-menu/overflow.spec.ts +2 -2
- package/demos/pc/app/nav-menu/slot-logo.spec.ts +1 -1
- package/demos/pc/app/nav-menu/slot-toolbar.spec.ts +2 -2
- package/demos/pc/app/numeric/webdoc/numeric.js +33 -32
- package/demos/pc/app/search/basic-usage.spec.ts +1 -1
- package/demos/pc/app/search/clearable.spec.ts +1 -1
- package/demos/pc/app/search/events-composition-api.vue +6 -0
- package/demos/pc/app/search/events.spec.ts +9 -6
- package/demos/pc/app/search/events.vue +5 -0
- package/demos/pc/app/search/webdoc/search.js +14 -4
- package/demos/pc/app/slide-bar/webdoc/slide-bar.js +18 -12
- package/demos/pc/app/slider/webdoc/slider.js +23 -18
- package/demos/pc/app/steps/advanced-steps.spec.ts +3 -2
- package/demos/pc/app/steps/click-composition-api.vue +0 -1
- package/demos/pc/app/steps/click.spec.ts +1 -12
- package/demos/pc/app/steps/custom-steps-item.spec.ts +1 -1
- package/demos/pc/app/steps/node-status-composition-api.vue +1 -1
- package/demos/pc/app/steps/node-status.spec.ts +1 -1
- package/demos/pc/app/steps/node-status.vue +1 -1
- package/demos/pc/app/steps/normal-steps-composition-api.vue +1 -1
- package/demos/pc/app/steps/normal-steps.spec.ts +2 -2
- package/demos/pc/app/steps/normal-steps.vue +1 -1
- package/demos/pc/app/steps/only-number-composition-api.vue +1 -1
- package/demos/pc/app/steps/only-number.spec.ts +1 -1
- package/demos/pc/app/steps/only-number.vue +1 -1
- package/demos/pc/app/steps/show-divider-composition-api.vue +1 -1
- package/demos/pc/app/steps/show-divider.spec.ts +1 -1
- package/demos/pc/app/steps/show-divider.vue +1 -1
- package/demos/pc/app/steps/size-composition-api.vue +6 -9
- package/demos/pc/app/steps/size.spec.ts +1 -4
- package/demos/pc/app/steps/size.vue +4 -4
- package/demos/pc/app/steps/slot-active-node-desc-composition-api.vue +3 -1
- package/demos/pc/app/steps/slot-active-node-desc.spec.ts +1 -1
- package/demos/pc/app/steps/slot-active-node-desc.vue +3 -1
- package/demos/pc/app/steps/slot-description-composition-api.vue +6 -6
- package/demos/pc/app/steps/slot-description.spec.ts +1 -1
- package/demos/pc/app/steps/slot-description.vue +5 -5
- package/demos/pc/app/steps/slot-item-composition-api.vue +0 -1
- package/demos/pc/app/steps/slot-item.spec.ts +1 -7
- package/demos/pc/app/steps/slot-item.vue +0 -1
- package/demos/pc/app/steps/space.spec.ts +1 -1
- package/demos/pc/app/steps/text-position-composition-api.vue +1 -1
- package/demos/pc/app/steps/text-position.spec.ts +1 -4
- package/demos/pc/app/steps/text-position.vue +1 -1
- package/demos/pc/app/steps/vertical-steps.spec.ts +13 -19
- package/demos/pc/app/steps/webdoc/steps.js +18 -17
- package/demos/pc/app/tabs/basic-usage-composition-api.vue +4 -4
- package/demos/pc/app/tabs/basic-usage.vue +4 -4
- package/demos/pc/app/tabs/before-leave-composition-api.vue +3 -3
- package/demos/pc/app/tabs/before-leave.vue +3 -3
- package/demos/pc/app/tabs/custom-more-icon-composition-api.vue +1 -1
- package/demos/pc/app/tabs/custom-more-icon.vue +1 -1
- package/demos/pc/app/tabs/custom-tab-content-composition-api.vue +3 -3
- package/demos/pc/app/tabs/custom-tab-content.vue +3 -3
- package/demos/pc/app/tabs/custom-tab-title-composition-api.vue +3 -3
- package/demos/pc/app/tabs/custom-tab-title.vue +3 -3
- package/demos/pc/app/tabs/lazy-composition-api.vue +5 -3
- package/demos/pc/app/tabs/lazy.vue +5 -3
- package/demos/pc/app/tabs/position-composition-api.vue +22 -17
- package/demos/pc/app/tabs/position.spec.ts +4 -4
- package/demos/pc/app/tabs/position.vue +19 -18
- package/demos/pc/app/tabs/prevent-tab-switching-composition-api.vue +3 -3
- package/demos/pc/app/tabs/prevent-tab-switching.vue +3 -3
- package/demos/pc/app/tabs/stretch-wh-composition-api.vue +3 -3
- package/demos/pc/app/tabs/stretch-wh.vue +3 -3
- package/demos/pc/app/tabs/tab-style-bordercard-composition-api.vue +10 -10
- package/demos/pc/app/tabs/tab-style-bordercard.vue +10 -10
- package/demos/pc/app/tabs/tab-style-card-composition-api.vue +1 -1
- package/demos/pc/app/tabs/tab-style-card.vue +1 -1
- package/demos/pc/app/tabs/tabs-draggable-composition-api.vue +1 -1
- package/demos/pc/app/tabs/tabs-draggable.spec.ts +1 -7
- package/demos/pc/app/tabs/tabs-draggable.vue +1 -1
- package/demos/pc/app/tabs/tabs-events-click-composition-api.vue +3 -3
- package/demos/pc/app/tabs/tabs-events-click.vue +3 -3
- package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +4 -4
- package/demos/pc/app/tabs/tabs-events-close.vue +4 -4
- package/demos/pc/app/tabs/tabs-events-edit-composition-api.vue +4 -4
- package/demos/pc/app/tabs/tabs-events-edit.vue +4 -4
- package/demos/pc/app/tabs/tabs-separator-composition-api.vue +7 -7
- package/demos/pc/app/tabs/tabs-separator.vue +7 -7
- package/demos/pc/app/tabs/tabs-size-composition-api.vue +3 -3
- package/demos/pc/app/tabs/tabs-size.vue +3 -3
- package/demos/pc/app/tabs/tooltip-composition-api.vue +17 -13
- package/demos/pc/app/tabs/tooltip.vue +17 -13
- package/demos/pc/app/tabs/webdoc/tabs.js +35 -35
- package/demos/pc/app/tabs/with-add-composition-api.vue +1 -1
- package/demos/pc/app/tabs/with-add.vue +1 -1
- package/demos/pc/app/tag/{before-delete-composition-api.vue → delete-composition-api.vue} +6 -16
- package/demos/pc/app/tag/delete.spec.ts +19 -0
- package/demos/pc/app/tag/{closable.vue → delete.vue} +22 -5
- package/demos/pc/app/tag/webdoc/tag.js +15 -7
- package/demos/pc/app/time-line/webdoc/time-line.js +12 -12
- package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +64 -55
- package/demos/pc/app/tooltip/content.spec.js +1 -1
- package/demos/pc/app/tooltip/custom-popper.spec.js +4 -4
- package/demos/pc/app/transfer/basic-usage.spec.ts +7 -20
- package/demos/pc/app/transfer/custom-btns.spec.ts +11 -19
- package/demos/pc/app/transfer/custom-filter.spec.ts +6 -4
- package/demos/pc/app/transfer/custom-footer.spec.ts +1 -2
- package/demos/pc/app/transfer/custom-render.spec.ts +7 -5
- package/demos/pc/app/transfer/custom-titles.spec.ts +5 -3
- package/demos/pc/app/transfer/default-checked.spec.ts +5 -9
- package/demos/pc/app/transfer/drop-config.spec.ts +21 -16
- package/demos/pc/app/transfer/manual-clear-query.spec.ts +2 -2
- package/demos/pc/app/transfer/nested-table.spec.ts +12 -35
- package/demos/pc/app/transfer/nested-tree.spec.ts +3 -30
- package/demos/pc/app/transfer/target-order.spec.ts +2 -1
- package/demos/pc/app/transfer/transfer-events.spec.ts +2 -1
- package/demos/pc/app/tree/basic-usage.spec.ts +26 -16
- package/demos/pc/app/tree/check-op.spec.ts +37 -19
- package/demos/pc/app/tree/checkbox.spec.ts +23 -18
- package/demos/pc/app/tree/contextmenu.spec.ts +9 -8
- package/demos/pc/app/tree/drag.spec.ts +10 -18
- package/demos/pc/app/tree/edit.spec.ts +24 -103
- package/demos/pc/app/tree/expand-control.spec.ts +22 -18
- package/demos/pc/app/tree/filter-view.spec.ts +16 -18
- package/demos/pc/app/tree/icons.spec.ts +20 -18
- package/demos/pc/app/tree/lazy.spec.ts +10 -18
- package/demos/pc/app/tree/node-hl.spec.ts +27 -18
- package/demos/pc/app/tree/node-op-composition-api.vue +12 -6
- package/demos/pc/app/tree/node-op.spec.ts +32 -19
- package/demos/pc/app/tree/other.spec.ts +5 -18
- package/demos/pc/app/tree/props.spec.ts +7 -18
- package/demos/pc/app/tree/radio.spec.ts +10 -18
- package/demos/pc/app/tree/slot.spec.ts +12 -18
- package/demos/pc/app/tree/webdoc/tree.js +2 -2
- package/demos/pc/app/tree-menu/accordion.spec.ts +3 -1
- package/demos/pc/app/tree-menu/basic-usage.spec.ts +4 -2
- package/demos/pc/app/tree-menu/current-node-composition-api.vue +7 -3
- package/demos/pc/app/tree-menu/current-node.spec.ts +20 -13
- package/demos/pc/app/tree-menu/current-node.vue +8 -6
- package/demos/pc/app/tree-menu/custom-icon.spec.ts +12 -2
- package/demos/pc/app/tree-menu/data-resource.spec.ts +33 -21
- package/demos/pc/app/tree-menu/default-expand-all.spec.ts +25 -8
- package/demos/pc/app/tree-menu/default-expanded-keys-highlight.spec.ts +6 -4
- package/demos/pc/app/tree-menu/default-expanded-keys.spec.ts +11 -7
- package/demos/pc/app/tree-menu/draggable.spec.ts +11 -4
- package/demos/pc/app/tree-menu/empty-text.spec.ts +1 -1
- package/demos/pc/app/tree-menu/event-allow-draggable.spec.ts +4 -1
- package/demos/pc/app/tree-menu/events.spec.ts +56 -28
- package/demos/pc/app/tree-menu/expand-on-click-node.spec.ts +32 -3
- package/demos/pc/app/tree-menu/filter-node-method.spec.ts +9 -6
- package/demos/pc/app/tree-menu/filter-node-method.vue +0 -4
- package/demos/pc/app/tree-menu/indent.spec.ts +9 -4
- package/demos/pc/app/tree-menu/lazy-load.spec.ts +8 -4
- package/demos/pc/app/tree-menu/menu-collapsible.spec.ts +5 -2
- package/demos/pc/app/tree-menu/show-checkbox.spec.ts +79 -41
- package/demos/pc/app/tree-menu/text-ellipsis.spec.ts +7 -4
- package/demos/pc/app/tree-menu/tree-menu-slot.spec.ts +4 -3
- package/demos/pc/app/tree-menu/webdoc/tree-menu.cn.md +1 -1
- package/demos/pc/app/tree-menu/webdoc/tree-menu.en.md +1 -1
- package/demos/pc/app/tree-menu/webdoc/tree-menu.js +3 -3
- package/demos/pc/app/user-contact/webdoc/user-contact.js +21 -13
- package/demos/pc/app/user-head/icon-user-head.spec.ts +3 -3
- package/demos/pc/app/user-head/image-user-head.spec.ts +2 -2
- package/demos/pc/app/user-head/webdoc/user-head.js +44 -28
- package/demos/pc/webdoc/changelog.md +1 -0
- package/demos/pc/webdoc/import-components.md +2 -4
- package/demos/pc/webdoc/theme-en.md +8 -4
- package/demos/pc/webdoc/theme.md +10 -3
- package/package.json +6 -6
- package/src/App.vue +0 -2
- package/src/i18n/index.js +3 -3
- package/src/main.js +2 -7
- package/src/menus.jsx +1 -1
- package/src/tools/useApiMode.js +2 -2
- package/src/tools/useBulletin.jsx +2 -2
- package/src/tools/utils.js +2 -2
- package/src/views/components/VersionTip.vue +14 -8
- package/src/views/components/components.vue +48 -47
- package/src/views/components/demo.vue +11 -11
- package/src/views/docs/docs.vue +2 -3
- package/src/views/layout/layout.vue +17 -19
- package/src/views/overview.vue +16 -13
- package/vite.config.ts +10 -4
- package/demos/mobile/app/pull-refresh/disabled.vue +0 -57
- package/demos/mobile/app/pull-refresh/head-height.vue +0 -31
- package/demos/mobile/app/pull-refresh/result-text.vue +0 -46
- package/demos/mobile/app/pull-refresh/success-duration.vue +0 -31
- package/demos/mobile/app/pull-refresh/success-text.vue +0 -27
- package/demos/pc/app/grid/loading/grid-loading-off-tip.spec.js +0 -8
- package/demos/pc/app/tag/before-delete.vue +0 -64
- package/demos/pc/app/tag/closable-composition-api.vue +0 -25
- package/demos/pc/app/tag/closable.spec.ts +0 -14
- /package/demos/pc/app/button/{autofocus.spec.js → autofocus.spec.ts} +0 -0
- /package/demos/pc/app/button/{basic-usage.spec.js → basic-usage.spec.ts} +0 -0
- /package/demos/pc/app/button/{click.spec.js → click.spec.ts} +0 -0
- /package/demos/pc/app/button/{icon.spec.js → icon.spec.ts} +0 -0
- /package/demos/pc/app/button/{image.spec.js → image.spec.ts} +0 -0
- /package/demos/pc/app/button/{loading.spec.js → loading.spec.ts} +0 -0
- /package/demos/pc/app/button/{reset-time.spec.js → reset-time.spec.ts} +0 -0
- /package/demos/pc/app/button/{size.spec.js → size.spec.ts} +0 -0
- /package/demos/pc/app/button/{text.spec.js → text.spec.ts} +0 -0
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('过滤视图', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#filter-view')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
await
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
await expect(page.getByRole('treeitem', { name: '一级 1-1', includeHidden: true })).toBeHidden({ timeout: 0 })
|
|
22
|
-
await page.locator('.tiny-modal__box').first().click()
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
const btnPlain = preview.getByText('平铺视图 plain')
|
|
10
|
+
const checkboxs = tree.locator('.tiny-tree__plain-node .tiny-checkbox')
|
|
11
|
+
const input = preview.locator('.tiny-input input')
|
|
12
|
+
|
|
13
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
14
|
+
|
|
15
|
+
await btnPlain.click()
|
|
16
|
+
await expect(checkboxs).toHaveCount(8)
|
|
17
|
+
await page.waitForTimeout(20)
|
|
18
|
+
|
|
19
|
+
await input.fill('1-1')
|
|
20
|
+
await expect(checkboxs).toHaveCount(3)
|
|
23
21
|
})
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('自定义图标', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#icons')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree1 = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
const tree2 = preview.locator('.tiny-tree').nth(1)
|
|
10
|
+
|
|
11
|
+
const icon1 = tree1.locator('svg path').nth(0)
|
|
12
|
+
const icon2 = tree2.locator('svg path').nth(0)
|
|
13
|
+
|
|
14
|
+
// 测试tree1
|
|
15
|
+
await expect(tree1.getByText('数据 2')).toHaveCount(1)
|
|
16
|
+
await expect(icon1).toHaveAttribute('d', 'm6 2 13 10L6 22V2zm2 4v12l8-6.1L8 6z')
|
|
17
|
+
|
|
18
|
+
// 测试tree2
|
|
19
|
+
await expect(tree2.getByText('数据 2')).toHaveCount(1)
|
|
20
|
+
await expect(icon2).toHaveAttribute(
|
|
21
|
+
'd',
|
|
22
|
+
'M13 11h4c.6 0 1 .4 1 1s-.4 1-1 1h-4v4c0 .6-.4 1-1 1s-1-.4-1-1v-4H7c-.6 0-1-.4-1-1s.4-1 1-1h4V7c0-.6.4-1 1-1s1 .4 1 1v4zM3 1h18c.9 0 2 1.1 2 2v18c0 .9-1 2-2 2H3c-.9 0-2-1.1-2-2V3c0-.9 1.1-2 2-2zm0 2v18h18V3H3z'
|
|
23
|
+
)
|
|
24
|
+
await expect(icon2).toHaveCSS('fill', 'rgb(255, 0, 0)')
|
|
23
25
|
})
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('懒加载', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#lazy')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
await expect(
|
|
12
|
-
await
|
|
13
|
-
await page.
|
|
14
|
-
await
|
|
15
|
-
.getByRole('treeitem', { name: '一级 1' })
|
|
16
|
-
.first()
|
|
17
|
-
.locator('div')
|
|
18
|
-
.filter({ hasText: '一级 1' })
|
|
19
|
-
.first()
|
|
20
|
-
.click()
|
|
21
|
-
await expect(page.getByRole('treeitem', { name: '一级 1-1', includeHidden: true })).toBeHidden({ timeout: 0 })
|
|
22
|
-
await page.locator('.tiny-modal__box').first().click()
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
const node2 = tree.getByText('#数据 2')
|
|
10
|
+
|
|
11
|
+
await expect(node2).toHaveCount(1)
|
|
12
|
+
await node2.click()
|
|
13
|
+
await page.waitForTimeout(20)
|
|
14
|
+
await expect(node2).toHaveCount(6)
|
|
23
15
|
})
|
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('节点选择与高亮', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#node-hl')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
await
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
await
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree')
|
|
9
|
+
const node = tree.getByText('数据 1-1-1')
|
|
10
|
+
const currNode = tree.locator('.is-current')
|
|
11
|
+
const button = preview.getByText('手动高亮节点')
|
|
12
|
+
|
|
13
|
+
await expect(node).toHaveCount(1)
|
|
14
|
+
|
|
15
|
+
// 测试点击后,打印事件
|
|
16
|
+
const values = [] as string[]
|
|
17
|
+
page.on('console', async (msg) => {
|
|
18
|
+
for (const arg of msg.args()) {
|
|
19
|
+
values.push(await arg.jsonValue())
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
await node.click()
|
|
23
|
+
await page.waitForTimeout(50)
|
|
24
|
+
|
|
25
|
+
expect(values.length).toBe(2)
|
|
26
|
+
expect(values[0].startsWith('当前高亮节点')).toBeTruthy()
|
|
27
|
+
|
|
28
|
+
// 测试自动点击
|
|
29
|
+
await button.click()
|
|
30
|
+
await page.waitForTimeout(50)
|
|
31
|
+
await expect(currNode.getByText('数据 2-1')).toHaveCount(1)
|
|
23
32
|
})
|
|
@@ -7,7 +7,13 @@
|
|
|
7
7
|
<tiny-button @click="updateKeyChildren">更新子节点</tiny-button>
|
|
8
8
|
<tiny-button @click="remove">删除当前节点</tiny-button>
|
|
9
9
|
</div>
|
|
10
|
-
<tiny-tree
|
|
10
|
+
<tiny-tree
|
|
11
|
+
ref="treeRef"
|
|
12
|
+
:data="data"
|
|
13
|
+
node-key="id"
|
|
14
|
+
default-expand-all
|
|
15
|
+
:current-node-key="currentNodeKey"
|
|
16
|
+
></tiny-tree>
|
|
11
17
|
</div>
|
|
12
18
|
</template>
|
|
13
19
|
|
|
@@ -37,29 +43,29 @@ const data = ref([
|
|
|
37
43
|
children: [{ id: '3-1', label: '数据 3-1' }]
|
|
38
44
|
}
|
|
39
45
|
])
|
|
40
|
-
|
|
46
|
+
const currentNodeKey = ref('1-1')
|
|
41
47
|
function insertBefore() {
|
|
42
48
|
const currentKey = treeRef.value.getCurrentKey()
|
|
43
49
|
|
|
44
|
-
treeRef.value.insertBefore({ id
|
|
50
|
+
treeRef.value.insertBefore({ id, label: 'insertBefore ' + id }, currentKey)
|
|
45
51
|
id++
|
|
46
52
|
}
|
|
47
53
|
|
|
48
54
|
function insertAfter() {
|
|
49
55
|
const currentKey = treeRef.value.getCurrentKey()
|
|
50
|
-
treeRef.value.insertAfter({ id
|
|
56
|
+
treeRef.value.insertAfter({ id, label: 'insertAfter ' + id }, currentKey)
|
|
51
57
|
id++
|
|
52
58
|
}
|
|
53
59
|
function append() {
|
|
54
60
|
const currentKey = treeRef.value.getCurrentKey()
|
|
55
|
-
treeRef.value.append({ id
|
|
61
|
+
treeRef.value.append({ id, label: 'append ' + id }, currentKey)
|
|
56
62
|
|
|
57
63
|
id++
|
|
58
64
|
}
|
|
59
65
|
function updateKeyChildren() {
|
|
60
66
|
const currentKey = treeRef.value.getCurrentKey()
|
|
61
67
|
|
|
62
|
-
treeRef.value.updateKeyChildren(currentKey, [{ id
|
|
68
|
+
treeRef.value.updateKeyChildren(currentKey, [{ id, label: 'update ' + id }])
|
|
63
69
|
id++
|
|
64
70
|
}
|
|
65
71
|
function remove() {
|
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('节点操作', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
await
|
|
5
|
+
await page.goto('tree#node-op')
|
|
6
|
+
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree')
|
|
9
|
+
|
|
10
|
+
const insertBefore = preview.getByText('添加前节点')
|
|
11
|
+
const insertAfter = preview.getByText('添加后节点')
|
|
12
|
+
const append = preview.getByText('添加子节点')
|
|
13
|
+
const updateKeyChildren = preview.getByText('更新子节点')
|
|
14
|
+
const remove = preview.getByText('删除当前节点')
|
|
15
|
+
|
|
16
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
17
|
+
|
|
18
|
+
await insertBefore.click()
|
|
19
|
+
await expect(tree.getByText('insertBefore 1000')).toHaveCount(1)
|
|
20
|
+
await page.waitForTimeout(20)
|
|
21
|
+
|
|
22
|
+
await insertAfter.click()
|
|
23
|
+
await expect(tree.getByText('insertAfter 1001')).toHaveCount(1)
|
|
24
|
+
await page.waitForTimeout(20)
|
|
25
|
+
|
|
26
|
+
await append.click()
|
|
27
|
+
await expect(tree.getByText('append 1002')).toHaveCount(1)
|
|
28
|
+
await page.waitForTimeout(20)
|
|
29
|
+
|
|
30
|
+
await updateKeyChildren.click()
|
|
31
|
+
await expect(tree.getByText('update 1003')).toHaveCount(1)
|
|
32
|
+
await page.waitForTimeout(20)
|
|
33
|
+
|
|
34
|
+
await remove.click()
|
|
35
|
+
await expect(tree.getByText('数据 1-1')).toHaveCount(0)
|
|
23
36
|
})
|
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('其它', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#other')
|
|
6
6
|
|
|
7
|
-
const tree = page.locator('
|
|
8
|
-
await tree.getByText('
|
|
9
|
-
await expect(tree.
|
|
10
|
-
await page.getByText('二级 1-1').click()
|
|
11
|
-
await expect(tree.locator('.tiny-tree-node').nth(1)).toHaveClass(/is-current/)
|
|
12
|
-
await page.getByRole('treeitem', { name: '三级 1-1-1' }).first().click()
|
|
13
|
-
await page.getByRole('treeitem', { name: '一级 3' }).locator('.tiny-svg').click()
|
|
14
|
-
await page
|
|
15
|
-
.getByRole('treeitem', { name: '一级 1' })
|
|
16
|
-
.first()
|
|
17
|
-
.locator('div')
|
|
18
|
-
.filter({ hasText: '一级 1' })
|
|
19
|
-
.first()
|
|
20
|
-
.click()
|
|
21
|
-
await expect(page.getByRole('treeitem', { name: '一级 1-1', includeHidden: true })).toBeHidden({ timeout: 0 })
|
|
22
|
-
await page.locator('.tiny-modal__box').first().click()
|
|
7
|
+
const tree = page.locator('.pc-demo-container')
|
|
8
|
+
await expect(tree.getByText('数据 1')).toHaveCount(1)
|
|
9
|
+
await expect(tree.getByText('同时勾选下级')).toHaveCount(1)
|
|
23
10
|
})
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('属性', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#props')
|
|
6
6
|
|
|
7
|
-
const tree = page.locator('
|
|
8
|
-
await tree.getByText('
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
await expect(tree.
|
|
12
|
-
await page.getByRole('treeitem', { name: '三级 1-1-1' }).first().click()
|
|
13
|
-
await page.getByRole('treeitem', { name: '一级 3' }).locator('.tiny-svg').click()
|
|
14
|
-
await page
|
|
15
|
-
.getByRole('treeitem', { name: '一级 1' })
|
|
16
|
-
.first()
|
|
17
|
-
.locator('div')
|
|
18
|
-
.filter({ hasText: '一级 1' })
|
|
19
|
-
.first()
|
|
20
|
-
.click()
|
|
21
|
-
await expect(page.getByRole('treeitem', { name: '一级 1-1', includeHidden: true })).toBeHidden({ timeout: 0 })
|
|
22
|
-
await page.locator('.tiny-modal__box').first().click()
|
|
7
|
+
const tree = page.locator('.pc-demo-container')
|
|
8
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
9
|
+
|
|
10
|
+
// 测试disabled
|
|
11
|
+
await expect(tree.getByText('数据 2-2')).toHaveCSS('color', 'rgb(173, 176, 184)')
|
|
23
12
|
})
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('单选', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#radio')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
await
|
|
13
|
-
await
|
|
14
|
-
await
|
|
15
|
-
.getByRole('treeitem', { name: '一级 1' })
|
|
16
|
-
.first()
|
|
17
|
-
.locator('div')
|
|
18
|
-
.filter({ hasText: '一级 1' })
|
|
19
|
-
.first()
|
|
20
|
-
.click()
|
|
21
|
-
await expect(page.getByRole('treeitem', { name: '一级 1-1', includeHidden: true })).toBeHidden({ timeout: 0 })
|
|
22
|
-
await page.locator('.tiny-modal__box').first().click()
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
const treeChecked = tree.locator('label.is-checked')
|
|
10
|
+
const btn = preview.getByText('勾选指定节点')
|
|
11
|
+
|
|
12
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
13
|
+
await expect(treeChecked).toHaveCount(1)
|
|
14
|
+
await btn.click()
|
|
23
15
|
})
|
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test('
|
|
3
|
+
test('插槽', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree#
|
|
5
|
+
await page.goto('tree#slot')
|
|
6
6
|
|
|
7
|
-
const tree = page.locator('
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
await expect(tree.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
await
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
.locator('div')
|
|
18
|
-
.filter({ hasText: '一级 1' })
|
|
19
|
-
.first()
|
|
20
|
-
.click()
|
|
21
|
-
await expect(page.getByRole('treeitem', { name: '一级 1-1', includeHidden: true })).toBeHidden({ timeout: 0 })
|
|
22
|
-
await page.locator('.tiny-modal__box').first().click()
|
|
7
|
+
const tree = page.locator('.pc-demo-container')
|
|
8
|
+
const button = page.getByRole('button', { name: '加载数据' })
|
|
9
|
+
|
|
10
|
+
// 测试无数据
|
|
11
|
+
await expect(tree.getByText('组件无数据')).toHaveCount(1)
|
|
12
|
+
|
|
13
|
+
// 测试有数据
|
|
14
|
+
await button.click()
|
|
15
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(2)
|
|
16
|
+
await expect(tree.getByText('新增')).toHaveCount(8)
|
|
23
17
|
})
|
|
@@ -190,7 +190,7 @@ export default {
|
|
|
190
190
|
通过 <code> check-strictly </code> 属性,指定是否严格模式。属性默认为 <code> false </code>。严格模式时勾选父节点,子节点自动全选中;子节点全选中,自动勾选父节点。<br>
|
|
191
191
|
通过 <code> check-on-click-node </code> 属性,点击节点时,同时进行勾选/反勾选节点。 属性默认值为 <code> false </code>, 即点击节点不自动勾选。<br>
|
|
192
192
|
通过 <code> default-checked-keys </code> 属性,设置默认加载时,自动勾选的节点的keys数组。<br>
|
|
193
|
-
<div class="tip custom-block">
|
|
193
|
+
<div class="tip custom-block"> 严格模式下父子不相互影响,勾选父节点时不会自动勾选子节点,适用于某些特殊场景。 </div>
|
|
194
194
|
`,
|
|
195
195
|
'en-US': `Enable multiple selection by using the <code> show-checkbox </code> property. <br>
|
|
196
196
|
The <code> check-strictly </code> property specifies whether strict mode is used. The default property is <code> false </code>. If you select the parent node, all child nodes are automatically selected. If all child nodes are selected, the parent node is automatically selected. <br>
|
|
@@ -212,7 +212,7 @@ export default {
|
|
|
212
212
|
<code> setChecked </code> 勾选时,可以深度递归勾选(deep:true),也可以只勾选某节点。<br>
|
|
213
213
|
建议使用 <code> setCheckedKeys </code>进行勾选,保证父子联动状态统一,详见下面例子。
|
|
214
214
|
</div>
|
|
215
|
-
通过 <code> check </code>
|
|
215
|
+
通过 <code> check </code> 事件,监听组件的勾选事件。<br>
|
|
216
216
|
通过 <code> check-change </code> 事件,监听节点状态变化的回调。<br>
|
|
217
217
|
<div class="tip custom-block">
|
|
218
218
|
<code> check </code> 事件触发在点击的元素上, 事件参数为:被点击的节点和勾选后组件的整体勾选状态。<br>
|
|
@@ -4,7 +4,9 @@ test('手风琴', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('tree-menu#accordion')
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const wrap = page.locator('#accordion')
|
|
8
|
+
const treeMenu = wrap.locator('.tiny-tree-menu')
|
|
9
|
+
|
|
8
10
|
await treeMenu.getByTitle('指南').click()
|
|
9
11
|
await expect(treeMenu.getByTitle('引入组件')).toBeVisible()
|
|
10
12
|
await expect(treeMenu.getByTitle('构建部署')).toBeVisible()
|
|
@@ -4,7 +4,9 @@ test('基本使用,无数据场景', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('tree-menu#basic-usage')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const wrap = page.locator('#basic-usage')
|
|
8
|
+
const treeMenu = wrap.locator('.tiny-tree-menu')
|
|
9
|
+
|
|
10
|
+
await expect(treeMenu.locator('.tiny-input__inner')).toBeVisible()
|
|
9
11
|
await expect(treeMenu).toContainText('暂无数据')
|
|
10
12
|
})
|
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
<tiny-button @click="setCurrentKey" title="点击设置当前节点">setCurrentKey</tiny-button>
|
|
5
5
|
<p>场景2:通过 setCurrentNode(node:ITreeNode) 设置当前节点</p>
|
|
6
6
|
<tiny-button @click="setCurrentNode" title="点击设置当前节点">setCurrentNode</tiny-button>
|
|
7
|
-
<p
|
|
7
|
+
<p>
|
|
8
|
+
场景3:通过 getCurrentKey() 获取当前节点的 key 为:<span class="current-node-key">{{ currentKey }}</span>
|
|
9
|
+
</p>
|
|
8
10
|
<tiny-button @click="getCurrentKey" title="点击获取当前节点的 key">getCurrentKey</tiny-button>
|
|
9
|
-
<p
|
|
11
|
+
<p>
|
|
12
|
+
场景4:通过 getCurrentNode() 获取当前节点的数据为:<span class="current-node">{{ currentNode }}</span>
|
|
13
|
+
</p>
|
|
10
14
|
<tiny-button @click="getCurrentNode" title="点击获取当前节点数据">getCurrentNode</tiny-button>
|
|
11
15
|
|
|
12
16
|
<tiny-tree-menu
|
|
@@ -20,7 +24,7 @@
|
|
|
20
24
|
|
|
21
25
|
<script setup>
|
|
22
26
|
import { ref, reactive } from 'vue'
|
|
23
|
-
import { TreeMenu as TinyTreeMenu, Button as TinyButton
|
|
27
|
+
import { TreeMenu as TinyTreeMenu, Button as TinyButton } from '@opentiny/vue'
|
|
24
28
|
|
|
25
29
|
const treeMenu = ref(null)
|
|
26
30
|
const treeData = reactive([
|
|
@@ -4,22 +4,29 @@ test('设置当前节点', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('tree-menu#current-node')
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const wrap = page.locator('#current-node')
|
|
8
|
+
const treeMenu = wrap.locator('.tiny-tree-menu')
|
|
9
|
+
const treeNode = treeMenu.locator('.tiny-tree-node__wrapper > .tiny-tree-node')
|
|
10
|
+
const button = wrap.locator('.tiny-button')
|
|
8
11
|
const currentCls = /is-current/
|
|
9
12
|
|
|
10
13
|
// 通过key设置当前节点
|
|
11
|
-
await
|
|
12
|
-
await expect(
|
|
13
|
-
|
|
14
|
-
await
|
|
15
|
-
await
|
|
16
|
-
|
|
14
|
+
await button.nth(0).click()
|
|
15
|
+
await expect(treeNode.filter({ hasText: /^按需引入$/ })).toHaveClass(currentCls)
|
|
16
|
+
// 获取当前被选中节点的 key
|
|
17
|
+
await button.nth(2).click()
|
|
18
|
+
await expect(wrap.locator('.current-node-key')).toHaveText('20101')
|
|
19
|
+
// 获取当前节点的数据
|
|
20
|
+
await button.nth(3).click()
|
|
21
|
+
await expect(wrap.locator('.current-node')).toHaveText('{ "id": 20101, "label": "按需引入" }')
|
|
17
22
|
|
|
18
23
|
// 通过node设置当前节点
|
|
19
|
-
await
|
|
20
|
-
await expect(
|
|
21
|
-
|
|
22
|
-
await
|
|
23
|
-
await
|
|
24
|
-
|
|
24
|
+
await button.nth(1).click()
|
|
25
|
+
await expect(treeNode.filter({ hasText: /^规范$/ })).toHaveClass(currentCls)
|
|
26
|
+
// 获取当前被选中节点的 key
|
|
27
|
+
await button.nth(2).click()
|
|
28
|
+
await expect(wrap.locator('.current-node-key')).toHaveText('500')
|
|
29
|
+
// 获取当前节点的数据
|
|
30
|
+
await button.nth(3).click()
|
|
31
|
+
await expect(wrap.locator('.current-node')).toHaveText('{ "id": 500, "label": "规范" }')
|
|
25
32
|
})
|
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
<tiny-button @click="setCurrentKey" title="点击设置当前节点">setCurrentKey</tiny-button>
|
|
5
5
|
<p>场景2:通过 setCurrentNode(node:ITreeNode) 设置当前节点</p>
|
|
6
6
|
<tiny-button @click="setCurrentNode" title="点击设置当前节点">setCurrentNode</tiny-button>
|
|
7
|
-
<p
|
|
7
|
+
<p>
|
|
8
|
+
场景3:通过 getCurrentKey() 获取当前节点的 key 为:<span class="current-node-key">{{ currentKey }}</span>
|
|
9
|
+
</p>
|
|
8
10
|
<tiny-button @click="getCurrentKey" title="点击获取当前节点的 key">getCurrentKey</tiny-button>
|
|
9
|
-
<p
|
|
11
|
+
<p>
|
|
12
|
+
场景4:通过 getCurrentNode() 获取当前节点的数据为:<span class="current-node">{{ currentNode }}</span>
|
|
13
|
+
</p>
|
|
10
14
|
<tiny-button @click="getCurrentNode" title="点击获取当前节点数据">getCurrentNode</tiny-button>
|
|
11
15
|
|
|
12
16
|
<tiny-tree-menu
|
|
@@ -19,14 +23,12 @@
|
|
|
19
23
|
</template>
|
|
20
24
|
|
|
21
25
|
<script>
|
|
22
|
-
import { TreeMenu, Button
|
|
26
|
+
import { TreeMenu, Button } from '@opentiny/vue'
|
|
23
27
|
|
|
24
28
|
export default {
|
|
25
29
|
components: {
|
|
26
30
|
TinyTreeMenu: TreeMenu,
|
|
27
|
-
TinyButton: Button
|
|
28
|
-
TinyRow: Row,
|
|
29
|
-
TinyCol: Col
|
|
31
|
+
TinyButton: Button
|
|
30
32
|
},
|
|
31
33
|
data() {
|
|
32
34
|
return {
|
|
@@ -2,8 +2,18 @@ import { test, expect } from '@playwright/test'
|
|
|
2
2
|
|
|
3
3
|
test('自定义搜索图标', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
-
await page.goto('tree-menu#
|
|
5
|
+
await page.goto('tree-menu#custom-icon')
|
|
6
|
+
|
|
7
|
+
const wrap = page.locator('#custom-icon')
|
|
8
|
+
const treeMenu = wrap.locator('.tiny-tree-menu')
|
|
6
9
|
|
|
7
|
-
const treeMenu = page.locator('#preview .tiny-tree-menu')
|
|
8
10
|
await expect(treeMenu.locator('.tiny-input__prefix .tiny-input__icon')).toBeVisible()
|
|
9
11
|
})
|
|
12
|
+
|
|
13
|
+
test('自定义前置图标', async ({ page }) => {
|
|
14
|
+
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
15
|
+
await page.goto('tree-menu#custom-icon')
|
|
16
|
+
|
|
17
|
+
const wrap = page.locator('#custom-icon')
|
|
18
|
+
const treeMenu = wrap.locator('.tiny-tree-menu')
|
|
19
|
+
})
|