@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,33 +1,38 @@
|
|
|
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
5
|
await page.goto('transfer#drop-config')
|
|
6
|
-
const preview = page.locator('
|
|
6
|
+
const preview = page.locator('.pc-demo-container')
|
|
7
7
|
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
8
8
|
const leftPanel = transferPanels.first()
|
|
9
9
|
const rightPanel = transferPanels.nth(1)
|
|
10
|
-
const
|
|
11
|
-
|
|
10
|
+
const dragDiv1 = leftPanel.locator('label:nth-child(2)').first()
|
|
11
|
+
|
|
12
|
+
// 尝试拖拽左侧某一项至右侧面板
|
|
13
|
+
await page.waitForTimeout(100)
|
|
14
|
+
await dragDiv1.hover()
|
|
15
|
+
await page.waitForTimeout(100)
|
|
12
16
|
await page.mouse.down()
|
|
17
|
+
await page.waitForTimeout(100)
|
|
13
18
|
await rightPanel.hover()
|
|
19
|
+
await page.waitForTimeout(100)
|
|
14
20
|
await page.mouse.up()
|
|
21
|
+
await page.waitForTimeout(100)
|
|
15
22
|
await expect(rightPanel.locator('.tiny-transfer-panel__header').filter({ hasText: '列表 2 0 / 5' })).toHaveCount(1)
|
|
16
23
|
await expect(leftPanel.locator('.tiny-transfer-panel__header').filter({ hasText: '列表 1 0 / 11' })).toHaveCount(1)
|
|
17
|
-
})
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
await page.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const leftPanel = transferPanels.first()
|
|
25
|
-
const rightPanel = transferPanels.nth(1)
|
|
26
|
-
const dragDiv = rightPanel.locator('label').filter({ hasText: '备选项 3' })
|
|
27
|
-
await dragDiv.hover()
|
|
25
|
+
//尝试拖拽右侧某一项至左侧面板
|
|
26
|
+
const dragDiv2 = rightPanel.locator('label').filter({ hasText: '备选项 3' })
|
|
27
|
+
await page.waitForTimeout(100)
|
|
28
|
+
await dragDiv2.hover()
|
|
29
|
+
await page.waitForTimeout(100)
|
|
28
30
|
await page.mouse.down()
|
|
31
|
+
await page.waitForTimeout(100)
|
|
29
32
|
await leftPanel.hover()
|
|
33
|
+
await page.waitForTimeout(100)
|
|
30
34
|
await page.mouse.up()
|
|
31
|
-
await
|
|
32
|
-
await expect(
|
|
35
|
+
await page.waitForTimeout(100)
|
|
36
|
+
await expect(leftPanel.locator('.tiny-transfer-panel__header').filter({ hasText: '列表 1 0 / 12' })).toHaveCount(1)
|
|
37
|
+
await expect(rightPanel.locator('.tiny-transfer-panel__header').filter({ hasText: '列表 2 0 / 4' })).toHaveCount(1)
|
|
33
38
|
})
|
|
@@ -3,8 +3,8 @@ import { test, expect } from '@playwright/test'
|
|
|
3
3
|
test('判断是否可以清除搜索内容', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('transfer#manual-clear-query')
|
|
6
|
-
const preview = page.locator('
|
|
7
|
-
const input = preview.
|
|
6
|
+
const preview = page.locator('.pc-demo-container')
|
|
7
|
+
const input = preview.locator('.tiny-input-display-only input').first()
|
|
8
8
|
await input.click()
|
|
9
9
|
await input.fill('1')
|
|
10
10
|
await preview.getByRole('button', { name: '重置查询' }).click()
|
|
@@ -1,48 +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
5
|
await page.goto('transfer#nested-table')
|
|
6
|
-
const preview = page.locator('
|
|
6
|
+
const preview = page.locator('.pc-demo-container')
|
|
7
7
|
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
8
|
+
const leftPanel = transferPanels.first()
|
|
8
9
|
const rightPanel = transferPanels.nth(1)
|
|
9
|
-
|
|
10
|
+
const toRightBtn = preview.locator('.tiny-button').first()
|
|
11
|
+
|
|
12
|
+
// 判断是否可以将左侧数据交换到右侧面板
|
|
13
|
+
await toRightBtn.click()
|
|
10
14
|
await expect(rightPanel.getByText('列表 2 1 / 8')).toHaveCount(1)
|
|
11
|
-
|
|
15
|
+
await page.waitForTimeout(50)
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
15
|
-
await page.goto('transfer#nested-table')
|
|
16
|
-
const preview = page.locator('#preview')
|
|
17
|
-
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
18
|
-
const leftPanel = transferPanels.first()
|
|
17
|
+
//判断是否可以将右侧数据交换到左侧面板
|
|
19
18
|
await preview.locator('.defaultButton > button:nth-child(2)').click()
|
|
20
|
-
await expect(leftPanel.getByText('列表 1
|
|
21
|
-
|
|
19
|
+
await expect(leftPanel.getByText('列表 1 0 / 13')).toHaveCount(1)
|
|
20
|
+
await page.waitForTimeout(50)
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
25
|
-
await page.goto('transfer#nested-table')
|
|
26
|
-
const preview = page.locator('#preview')
|
|
27
|
-
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
28
|
-
const leftPanel = transferPanels.first()
|
|
22
|
+
// 判断是否可以切换分页页码
|
|
29
23
|
await preview.getByRole('listitem').filter({ hasText: '2' }).click()
|
|
30
24
|
await expect(leftPanel.getByRole('table').locator('tbody > tr')).toHaveCount(3)
|
|
31
25
|
})
|
|
32
|
-
|
|
33
|
-
test('判断搜索功能是否正常', async ({ page }) => {
|
|
34
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
35
|
-
await page.goto('transfer#nested-table')
|
|
36
|
-
const preview = page.locator('#preview')
|
|
37
|
-
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
38
|
-
const leftPanel = transferPanels.first()
|
|
39
|
-
const input = preview.getByPlaceholder('请输入城市拼音')
|
|
40
|
-
await input.first().click()
|
|
41
|
-
await input.first().fill('1')
|
|
42
|
-
const count = leftPanel.getByRole('table').locator('tbody > tr')
|
|
43
|
-
await expect(count).toHaveCount(7)
|
|
44
|
-
// 清空搜索内容
|
|
45
|
-
await input.first().click()
|
|
46
|
-
await input.first().fill('')
|
|
47
|
-
await expect(count).toHaveCount(10)
|
|
48
|
-
})
|
|
@@ -1,39 +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
5
|
await page.goto('transfer#nested-tree')
|
|
6
|
-
const preview = page.locator('
|
|
6
|
+
const preview = page.locator('.pc-demo-container')
|
|
7
7
|
await preview.getByRole('treeitem', { name: '一级 1' }).locator('svg').first().click()
|
|
8
8
|
await preview.getByRole('treeitem', { name: '一级 1' }).getByText('二级 1-1').click()
|
|
9
9
|
await preview.getByRole('treeitem', { name: '三级 1-1-1' }).locator('span').nth(2).click()
|
|
10
|
-
await preview.getByRole('button').first().click()
|
|
11
|
-
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
12
|
-
const rightPanel = transferPanels.nth(1)
|
|
13
|
-
await expect(
|
|
14
|
-
rightPanel.locator(
|
|
15
|
-
'div:nth-child(3) > div:nth-child(4) > .tiny-tree-node > .tiny-tree-node__content > span.tiny-tree-node__label'
|
|
16
|
-
)
|
|
17
|
-
).toHaveText('三级 1-1-1')
|
|
18
|
-
})
|
|
19
10
|
|
|
20
|
-
|
|
21
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
22
|
-
await page.goto('transfer#nested-tree')
|
|
23
|
-
const preview = page.locator('#preview')
|
|
24
|
-
const buttons = await preview.getByRole('paragraph').filter({ hasText: '列表 2 1 / 3' }).locator('div')
|
|
25
|
-
await buttons.nth(1).click()
|
|
26
|
-
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
27
|
-
const rightPanel = transferPanels.nth(1)
|
|
28
|
-
await expect(
|
|
29
|
-
rightPanel.locator(
|
|
30
|
-
'div:nth-child(3) > div:nth-child(1) > .tiny-tree-node > .tiny-tree-node__content > span.tiny-tree-node__label'
|
|
31
|
-
)
|
|
32
|
-
).toHaveText('二级 2-1')
|
|
33
|
-
await buttons.nth(2).click()
|
|
34
|
-
await expect(
|
|
35
|
-
rightPanel.locator(
|
|
36
|
-
'div:nth-child(3) > div:nth-child(3) > .tiny-tree-node > .tiny-tree-node__content > span.tiny-tree-node__label'
|
|
37
|
-
)
|
|
38
|
-
).toHaveText('二级 2-1')
|
|
11
|
+
await expect(preview.getByText('三级 1-1-1')).toHaveCount(1)
|
|
39
12
|
})
|
|
@@ -3,12 +3,13 @@ import { test, expect } from '@playwright/test'
|
|
|
3
3
|
test('判断交换左侧备选项后是否位于右侧面板首位', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('transfer#target-order')
|
|
6
|
-
const preview = page.locator('
|
|
6
|
+
const preview = page.locator('.pc-demo-container')
|
|
7
7
|
const buttons = preview.getByRole('button')
|
|
8
8
|
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
9
9
|
const leftPanel = transferPanels.first()
|
|
10
10
|
await leftPanel.locator('label').filter({ hasText: '备选项 2' }).click()
|
|
11
11
|
await buttons.first().click()
|
|
12
|
+
|
|
12
13
|
const rightPanel = transferPanels.nth(1)
|
|
13
14
|
await expect(rightPanel.locator('label').filter({ hasText: '备选项 2' })).toHaveCount(1)
|
|
14
15
|
await leftPanel.locator('label').filter({ hasText: '备选项 3' }).click()
|
|
@@ -3,13 +3,14 @@ import { test, expect } from '@playwright/test'
|
|
|
3
3
|
test('判断是否触发了不同事件', async ({ page }) => {
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('transfer#transfer-events')
|
|
6
|
-
const preview = page.locator('
|
|
6
|
+
const preview = page.locator('.pc-demo-container')
|
|
7
7
|
const transferPanels = preview.locator('.tiny-transfer-panel')
|
|
8
8
|
const leftPanel = transferPanels.first()
|
|
9
9
|
await leftPanel.locator('label').filter({ hasText: '备选项 2' }).click()
|
|
10
10
|
await expect(page.getByText(/^left-check-change 事件/)).toBeVisible()
|
|
11
11
|
await preview.getByRole('button').first().click()
|
|
12
12
|
await expect(page.getByText(/^change 事件/)).toBeVisible()
|
|
13
|
+
|
|
13
14
|
const rightPanel = transferPanels.nth(1)
|
|
14
15
|
await rightPanel.locator('label').first().click()
|
|
15
16
|
await expect(page.getByText(/^right-check-change 事件/)).toBeVisible()
|
|
@@ -4,20 +4,30 @@ test('tree组件基本使用', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('tree#basic-usage')
|
|
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 tree = preview.locator('.tiny-tree')
|
|
9
|
+
const showLineBtn = preview.locator('.tiny-radio').nth(0)
|
|
10
|
+
const miniBtn = preview.locator('.tiny-radio').nth(2)
|
|
11
|
+
const offsetBtn = preview.locator('.tiny-radio').nth(6)
|
|
12
|
+
const indentSpan = preview.locator('.tiny-tree-node__content-indent').nth(1)
|
|
13
|
+
|
|
14
|
+
// 测试渲染出数据
|
|
15
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
16
|
+
|
|
17
|
+
// 测试连接线 有连线时,show-line
|
|
18
|
+
await showLineBtn.click()
|
|
19
|
+
await page.waitForTimeout(20)
|
|
20
|
+
expect(await tree.locator('.show-line').count()).toBeGreaterThan(1)
|
|
21
|
+
|
|
22
|
+
// 测试字体
|
|
23
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCSS('font-size', '14px')
|
|
24
|
+
await miniBtn.click()
|
|
25
|
+
await page.waitForTimeout(20)
|
|
26
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCSS('font-size', '12px')
|
|
27
|
+
|
|
28
|
+
// 测试偏移 18px + 8 padding
|
|
29
|
+
await expect(indentSpan).toHaveCSS('width', '26px')
|
|
30
|
+
await offsetBtn.click()
|
|
31
|
+
await page.waitForTimeout(20)
|
|
32
|
+
await expect(indentSpan).toHaveCSS('width', '46px')
|
|
23
33
|
})
|
|
@@ -1,23 +1,41 @@
|
|
|
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
|
-
await expect(
|
|
22
|
-
await page.
|
|
5
|
+
await page.goto('tree#check-op')
|
|
6
|
+
|
|
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 btn1 = preview.getByText('查询勾选状态')
|
|
11
|
+
const btn2 = preview.getByText('清除全部勾选')
|
|
12
|
+
const btn3 = preview.getByText('根据节点数据勾选')
|
|
13
|
+
const btn4 = preview.getByText('根据node-key勾选')
|
|
14
|
+
const btn5 = preview.getByText('根据node-key,多值勾选')
|
|
15
|
+
const btn6 = preview.getByText('根据node,多值勾选')
|
|
16
|
+
|
|
17
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
18
|
+
await expect(treeChecked).toHaveCount(0)
|
|
19
|
+
|
|
20
|
+
await btn3.click()
|
|
21
|
+
await expect(treeChecked).toHaveCount(4)
|
|
22
|
+
await page.waitForTimeout(20)
|
|
23
|
+
|
|
24
|
+
await btn4.click()
|
|
25
|
+
await expect(treeChecked).toHaveCount(1)
|
|
26
|
+
await page.waitForTimeout(20)
|
|
27
|
+
|
|
28
|
+
await btn5.click()
|
|
29
|
+
await expect(treeChecked).toHaveCount(6)
|
|
30
|
+
await page.waitForTimeout(20)
|
|
31
|
+
|
|
32
|
+
await btn6.click()
|
|
33
|
+
await expect(treeChecked).toHaveCount(3)
|
|
34
|
+
await page.waitForTimeout(20)
|
|
35
|
+
|
|
36
|
+
await btn2.click()
|
|
37
|
+
await expect(treeChecked).toHaveCount(0)
|
|
38
|
+
await page.waitForTimeout(20)
|
|
39
|
+
|
|
40
|
+
await btn1.click()
|
|
23
41
|
})
|
|
@@ -1,23 +1,28 @@
|
|
|
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#checkbox')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
await
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
await expect(
|
|
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 tree1Checked = tree1.locator('label.is-checked')
|
|
12
|
+
const tree2Checked = tree2.locator('label.is-checked')
|
|
13
|
+
|
|
14
|
+
await expect(tree1.getByText('数据 1-1-1')).toHaveCount(1)
|
|
15
|
+
await page.waitForTimeout(50)
|
|
16
|
+
|
|
17
|
+
// 测试左树
|
|
18
|
+
await expect(tree1Checked).toHaveCount(3)
|
|
19
|
+
await tree1.getByText('数据 3').nth(0).click()
|
|
20
|
+
await page.waitForTimeout(50)
|
|
21
|
+
await expect(tree1Checked).toHaveCount(5)
|
|
22
|
+
|
|
23
|
+
// 测试右树
|
|
24
|
+
await expect(tree2Checked).toHaveCount(1)
|
|
25
|
+
await tree2.locator('.tiny-checkbox__inner').nth(5).click()
|
|
26
|
+
await page.waitForTimeout(50)
|
|
27
|
+
await expect(tree2Checked).toHaveCount(2)
|
|
23
28
|
})
|
|
@@ -1,14 +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
5
|
await page.goto('tree#contextmenu')
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
await
|
|
13
|
-
await
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
const node = tree.getByText('数据 1-1-1')
|
|
10
|
+
await expect(node).toHaveCount(1)
|
|
11
|
+
|
|
12
|
+
await node.click({ button: 'right' })
|
|
13
|
+
await page.waitForTimeout(20)
|
|
14
|
+
await expect(tree.getByText('更新')).toHaveCount(1)
|
|
14
15
|
})
|
|
@@ -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#drag')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
await expect(tree.
|
|
10
|
-
|
|
11
|
-
await
|
|
12
|
-
await page.
|
|
13
|
-
await
|
|
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 preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
10
|
+
|
|
11
|
+
await tree.getByText('数据 2-1').dragTo(tree.getByText('数据 1-1-1'))
|
|
12
|
+
await page.waitForTimeout(100)
|
|
13
|
+
await tree.getByText('数据 1-1-1').dragTo(tree.getByText('数据 2-2'))
|
|
14
|
+
await page.waitForTimeout(100)
|
|
23
15
|
})
|
|
@@ -1,106 +1,27 @@
|
|
|
1
1
|
import { test, expect } from '@playwright/test'
|
|
2
2
|
|
|
3
|
-
test
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const tree = page.locator('#preview .tiny-tree')
|
|
28
|
-
const node = tree.locator('.tiny-tree-node').first()
|
|
29
|
-
const delBtn = node.locator('.tiny-tree-node__content-right > span:nth-child(2) > .tiny-svg').first()
|
|
30
|
-
const delPopover = page.locator('.tiny-tree__del-popover').nth(1)
|
|
31
|
-
await page.getByRole('button', { name: '进入编辑' }).click()
|
|
32
|
-
await delBtn.click()
|
|
33
|
-
await expect(delPopover).toBeVisible()
|
|
34
|
-
|
|
35
|
-
// 连同子孙节点一起删除
|
|
36
|
-
await delPopover.getByRole('button', { name: '确定' }).click()
|
|
37
|
-
await expect(node).not.toContainText('一级 1')
|
|
38
|
-
await expect(tree.locator('.tiny-tree-node')).toHaveCount(2)
|
|
39
|
-
|
|
40
|
-
// 保留子孙节点
|
|
41
|
-
await delBtn.click()
|
|
42
|
-
await delPopover.locator('.tiny-checkbox').click()
|
|
43
|
-
await delPopover.getByRole('button', { name: '确定' }).click()
|
|
44
|
-
await expect(node.locator('.tiny-tree-node__label')).toHaveText('一级 3')
|
|
45
|
-
await expect(tree.locator('.tiny-tree-node')).toHaveCount(3)
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
test('进入编辑状态后新增子节点', async ({ page }) => {
|
|
49
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
50
|
-
await page.goto('tree#edit')
|
|
51
|
-
|
|
52
|
-
const tree = page.locator('#preview .tiny-tree')
|
|
53
|
-
const nodes = tree.locator('.tiny-tree-node')
|
|
54
|
-
const node = nodes.first()
|
|
55
|
-
const newNode = nodes.filter({ hasText: 'aaa' }).first()
|
|
56
|
-
|
|
57
|
-
await page.getByRole('button', { name: '进入编辑' }).click()
|
|
58
|
-
await node.getByTitle('新增下级').first().click()
|
|
59
|
-
await node.getByRole('textbox').fill('aaa')
|
|
60
|
-
await node.getByRole('textbox').blur()
|
|
61
|
-
await expect(newNode).toBeVisible()
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
test('取消编辑', async ({ page }) => {
|
|
65
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
66
|
-
await page.goto('tree#edit')
|
|
67
|
-
|
|
68
|
-
const tree = page.locator('#preview .tiny-tree')
|
|
69
|
-
const nodes = tree.locator('.tiny-tree-node')
|
|
70
|
-
const node = nodes.first()
|
|
71
|
-
const delBtn = node.locator('.tiny-tree-node__content-right > span:nth-child(2) > .tiny-svg').first()
|
|
72
|
-
const delPopover = page.locator('.tiny-tree__del-popover').nth(1)
|
|
73
|
-
|
|
74
|
-
await expect(nodes).toHaveCount(6)
|
|
75
|
-
|
|
76
|
-
// 删除一些节点
|
|
77
|
-
await page.getByRole('button', { name: '进入编辑' }).click()
|
|
78
|
-
await delBtn.click()
|
|
79
|
-
await delPopover.getByRole('button', { name: '确定' }).click()
|
|
80
|
-
await expect(nodes).toHaveCount(2)
|
|
81
|
-
|
|
82
|
-
// 取消编辑后已删除节点重新恢复
|
|
83
|
-
await page.getByRole('button', { name: '取消编辑' }).click()
|
|
84
|
-
await expect(nodes).toHaveCount(6)
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
test('保存编辑', async ({ page }) => {
|
|
88
|
-
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
89
|
-
await page.goto('tree#edit')
|
|
90
|
-
|
|
91
|
-
const tree = page.locator('#preview .tiny-tree')
|
|
92
|
-
const node = tree.locator('.tiny-tree-node').first()
|
|
93
|
-
const nodeLeft = node.locator('.tiny-tree-node__content-left').first()
|
|
94
|
-
const nodeRight = node.locator('.tiny-tree-node__content-right').first()
|
|
95
|
-
|
|
96
|
-
// 编辑节点内容
|
|
97
|
-
await page.getByRole('button', { name: '进入编辑' }).click()
|
|
98
|
-
await nodeRight.getByTitle('编辑').click()
|
|
99
|
-
await nodeLeft.locator('.tiny-input input').fill('aaa')
|
|
100
|
-
await nodeLeft.locator('.tiny-input input').blur()
|
|
101
|
-
|
|
102
|
-
// 保存编辑, 检查是否正确保存
|
|
103
|
-
await page.getByRole('button', { name: '保存编辑' }).click()
|
|
104
|
-
await expect(node.locator('.tiny-tree-node__label').first()).toHaveText('aaa')
|
|
105
|
-
})
|
|
3
|
+
test('编辑', async ({ page }) => {
|
|
4
|
+
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
+
await page.goto('tree#edit')
|
|
6
|
+
|
|
7
|
+
const preview = page.locator('.pc-demo-container')
|
|
8
|
+
const tree = preview.locator('.tiny-tree').nth(0)
|
|
9
|
+
const btn1 = preview.getByText('进入编辑')
|
|
10
|
+
const btn2 = preview.getByText('取消编辑')
|
|
11
|
+
const btn3 = preview.getByText('新建子节点')
|
|
12
|
+
const editIcons = tree.locator('[title="编辑"]')
|
|
13
|
+
const input = tree.locator('.tiny-input input')
|
|
14
|
+
|
|
15
|
+
await expect(tree.getByText('数据 1-1-1')).toHaveCount(1)
|
|
16
|
+
await btn1.click()
|
|
17
|
+
await expect(editIcons).toHaveCount(8)
|
|
18
|
+
await page.waitForTimeout(20)
|
|
19
|
+
|
|
20
|
+
await btn2.click()
|
|
21
|
+
await expect(editIcons).toHaveCount(0)
|
|
22
|
+
await page.waitForTimeout(20)
|
|
23
|
+
|
|
24
|
+
await btn3.click()
|
|
25
|
+
await expect(input).toHaveCount(1)
|
|
26
|
+
input.fill('123')
|
|
106
27
|
})
|
|
@@ -1,23 +1,27 @@
|
|
|
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#expand-control')
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
await expect(
|
|
22
|
-
await
|
|
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
|
+
const allBtn = preview.getByText('切换全部展开收起')
|
|
11
|
+
const openBtn = preview.getByText('展开高亮')
|
|
12
|
+
const closeBtn = preview.getByText('收起高亮')
|
|
13
|
+
|
|
14
|
+
// 测试全部收起
|
|
15
|
+
await expect(tree1.locator('.is-expanded')).toHaveCount(8) // 叶子节点也有这个类
|
|
16
|
+
await allBtn.click()
|
|
17
|
+
await expect(tree1.locator('.is-expanded')).toHaveCount(0)
|
|
18
|
+
|
|
19
|
+
// 测试收起/展开
|
|
20
|
+
await page.waitForTimeout(50)
|
|
21
|
+
await expect(tree2.locator('.is-expanded')).toHaveCount(1)
|
|
22
|
+
await closeBtn.click()
|
|
23
|
+
await expect(tree2.locator('.is-expanded')).toHaveCount(0)
|
|
24
|
+
await page.waitForTimeout(50)
|
|
25
|
+
await openBtn.click()
|
|
26
|
+
await expect(tree2.locator('.is-expanded')).toHaveCount(1)
|
|
23
27
|
})
|