@opentiny/vue-docs 2.2.18 → 2.2.19
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/apis/card.js +56 -23
- package/demos/apis/dialog-box.js +12 -5
- package/demos/apis/fall-menu.js +2 -2
- package/demos/apis/file-upload.js +2 -1
- package/demos/apis/float-button.js +211 -0
- package/demos/apis/grid.js +40 -40
- package/demos/apis/ip-address.js +3 -3
- package/demos/apis/multi-select.js +141 -22
- package/demos/apis/numeric.js +13 -0
- package/demos/apis/popeditor.js +20 -14
- package/demos/apis/search.js +11 -0
- package/demos/apis/slider.js +13 -2
- package/demos/apis/steps.js +6 -6
- package/demos/apis/tabs.js +39 -0
- package/demos/apis/time-line.js +34 -1
- package/demos/apis/time-select.js +1 -1
- package/demos/apis/tooltip.js +1 -1
- package/demos/apis/tree-menu.js +5 -5
- package/demos/mobile/app/alert/icon.vue +1 -1
- package/demos/mobile/app/alert/size.vue +1 -1
- package/demos/mobile/app/alert/slot-default.vue +8 -2
- package/demos/mobile/app/exception/buttonText.vue +4 -2
- package/demos/mobile/app/exception/exceptionClass.vue +4 -2
- package/demos/mobile/app/exception/message.vue +4 -7
- package/demos/mobile/app/exception/type.vue +4 -2
- package/demos/mobile/app/loading/background.vue +24 -0
- package/demos/mobile/app/loading/base.vue +16 -6
- package/demos/mobile/app/loading/custom-class.vue +29 -0
- package/demos/mobile/app/loading/global-registry.vue +61 -0
- package/demos/mobile/app/loading/size.vue +59 -0
- package/demos/mobile/app/loading/spinner.vue +26 -0
- package/demos/mobile/app/loading/tip-text.vue +23 -0
- package/demos/mobile/app/loading/webdoc/loading.js +155 -9
- package/demos/mobile/app/multi-select/basic-usage.vue +221 -73
- package/demos/mobile/app/multi-select/disabled.vue +174 -206
- package/demos/mobile/app/multi-select/event-click-item.vue +60 -75
- package/demos/mobile/app/multi-select/filter.vue +65 -93
- package/demos/mobile/app/multi-select/mask.vue +60 -0
- package/demos/mobile/app/multi-select/slots.vue +66 -0
- package/demos/mobile/app/multi-select/type-wheel.vue +39 -49
- package/demos/mobile/app/multi-select/webdoc/multi-select.js +49 -10
- package/demos/mobile/app/popover/base.vue +2 -3
- package/demos/mobile/app/search/base.vue +2 -2
- package/demos/mobile/app/user-head/basic-usage.vue +2 -5
- package/demos/mobile-first/app/card/basic-usage.vue +4 -2
- package/demos/mobile-first/app/card/card-type.vue +6 -12
- package/demos/mobile-first/app/card/slot.vue +2 -5
- package/demos/mobile-first/app/carousel/close-loop.vue +12 -4
- package/demos/mobile-first/app/column-list-item/basic-usage.vue +3 -7
- package/demos/mobile-first/app/column-list-item/custom-width.vue +4 -7
- package/demos/mobile-first/app/column-list-item/icon-click-event.vue +2 -5
- package/demos/mobile-first/app/column-list-item/icon-disabled.vue +2 -5
- package/demos/mobile-first/app/column-list-item/size.vue +3 -6
- package/demos/mobile-first/app/select/filter-method.vue +47 -18
- package/demos/mobile-first/app/time-line/limited-nodes.vue +29 -0
- package/demos/mobile-first/app/time-line/node-max.vue +26 -0
- package/demos/mobile-first/app/time-line/webdoc/time-line.js +26 -1
- package/demos/pc/app/alert/custom-close-composition-api.vue +7 -2
- package/demos/pc/app/alert/custom-close.spec.ts +1 -1
- package/demos/pc/app/alert/custom-close.vue +7 -2
- package/demos/pc/app/area/custom-service.spec.ts +1 -2
- package/demos/pc/app/button/ghost.spec.ts +6 -6
- package/demos/pc/app/card/basic-usage-composition-api.vue +24 -0
- package/demos/pc/app/card/basic-usage.vue +32 -0
- package/demos/pc/app/card/card-disabled-composition-api.vue +45 -0
- package/demos/pc/app/card/card-disabled.vue +53 -0
- package/demos/pc/app/card/card-events-composition-api.vue +66 -0
- package/demos/pc/app/card/card-events.vue +75 -0
- package/demos/pc/app/card/card-group-composition-api.vue +69 -0
- package/demos/pc/app/card/card-group.vue +79 -0
- package/demos/pc/app/card/card-size-composition-api.vue +59 -0
- package/demos/pc/app/card/card-size.vue +67 -0
- package/demos/pc/app/card/card-status-composition-api.vue +49 -0
- package/demos/pc/app/card/card-status.vue +58 -0
- package/demos/pc/app/card/card-type-composition-api.vue +47 -0
- package/demos/pc/app/card/card-type.vue +55 -0
- package/demos/pc/app/card/check-type-checkbox-composition-api.vue +31 -0
- package/demos/pc/app/card/check-type-checkbox.vue +40 -0
- package/demos/pc/app/card/check-type-radio-composition-api.vue +31 -0
- package/demos/pc/app/card/check-type-radio.vue +39 -0
- package/demos/pc/app/card/custom-class-composition-api.vue +51 -0
- package/demos/pc/app/card/custom-class.vue +59 -0
- package/demos/pc/app/card/operate-bar-composition-api.vue +53 -0
- package/demos/pc/app/card/operate-bar.vue +60 -0
- package/demos/pc/app/card/slot-composition-api.vue +67 -0
- package/demos/pc/app/card/slot.vue +76 -0
- package/demos/pc/app/card/webdoc/card.cn.md +7 -0
- package/demos/pc/app/card/webdoc/card.en.md +7 -0
- package/demos/pc/app/card/webdoc/card.js +148 -0
- package/demos/pc/app/carousel/basic-usage.spec.ts +3 -3
- package/demos/pc/app/carousel/card-mode.spec.ts +4 -11
- package/demos/pc/app/carousel/carousel-arrow-hover.spec.ts +5 -7
- package/demos/pc/app/carousel/carousel-events.spec.ts +7 -16
- package/demos/pc/app/carousel/manual-play.spec.ts +0 -2
- package/demos/pc/app/carousel/play-interval.spec.ts +1 -4
- package/demos/pc/app/cascader/auto-load-checkStrictly.spec.ts +1 -1
- package/demos/pc/app/cascader/auto-load.spec.ts +5 -2
- package/demos/pc/app/color-picker/base.spec.ts +2 -2
- package/demos/pc/app/color-picker/event.spec.ts +1 -1
- package/demos/pc/app/color-picker/history.spec.ts +2 -6
- package/demos/pc/app/color-picker/predefine.spec.ts +2 -5
- package/demos/pc/app/company/basic-usage.spec.ts +3 -6
- package/demos/pc/app/company/custom-service.spec.ts +4 -8
- package/demos/pc/app/country/custom-service.spec.js +4 -4
- package/demos/pc/app/country/fields.spec.js +2 -2
- package/demos/pc/app/crop/aspect-ratio.spec.ts +1 -2
- package/demos/pc/app/crop/auto-crop-area.spec.ts +1 -4
- package/demos/pc/app/crop/basic-usage.spec.ts +0 -2
- package/demos/pc/app/crop/crop-meth.spec.ts +0 -2
- package/demos/pc/app/crop/event-ready.spec.ts +0 -1
- package/demos/pc/app/crop/get-container-data.spec.ts +0 -1
- package/demos/pc/app/crop/get-crop-box-data.spec.ts +0 -2
- package/demos/pc/app/crop/get-data.spec.ts +0 -1
- package/demos/pc/app/crop/min-crop-box-width-height.spec.ts +0 -2
- package/demos/pc/app/crop/no-background.spec.ts +0 -1
- package/demos/pc/app/crop/no-modal.spec.ts +0 -2
- package/demos/pc/app/crop/replace-image.spec.ts +4 -5
- package/demos/pc/app/crop/view-mode.spec.ts +1 -16
- package/demos/pc/app/date-picker/align.spec.ts +17 -14
- package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -22
- package/demos/pc/app/date-picker/clear.spec.ts +13 -7
- package/demos/pc/app/date-picker/date-range.spec.ts +39 -10
- package/demos/pc/app/date-picker/events.spec.ts +11 -3
- package/demos/pc/app/date-picker/format.spec.ts +2 -2
- package/demos/pc/app/date-picker/shortcuts.spec.ts +1 -2
- package/demos/pc/app/dept/custom-service.spec.ts +16 -4
- package/demos/pc/app/detail-page/basic-usage.spec.ts +4 -4
- package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
- package/demos/pc/app/dialog-box/center-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/center.vue +1 -1
- package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/close-on-click-modal.vue +1 -1
- package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/close-on-press-escape.vue +1 -1
- package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/custom-dialog-content.vue +1 -1
- package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-footer.spec.ts +1 -1
- package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/custom-dialog-title.spec.ts +1 -1
- package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +2 -2
- package/demos/pc/app/dialog-box/dialog-width.vue +2 -2
- package/demos/pc/app/dialog-box/draggable-composition-api.vue +15 -3
- package/demos/pc/app/dialog-box/draggable.spec.ts +2 -2
- package/demos/pc/app/dialog-box/draggable.vue +15 -3
- package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +0 -1
- package/demos/pc/app/dialog-box/open-close-events-composition-api.vue +1 -1
- package/demos/pc/app/dialog-box/open-close-events.vue +1 -1
- package/demos/pc/app/dialog-box/webdoc/dialog-box.js +2 -2
- package/demos/pc/app/drawer/tips-props-composition-api.vue +23 -0
- package/demos/pc/app/drawer/tips-props.spec.ts +15 -0
- package/demos/pc/app/drawer/tips-props.vue +33 -0
- package/demos/pc/app/drawer/webdoc/drawer.js +10 -12
- package/demos/pc/app/drop-roles/custom-service.spec.ts +1 -1
- package/demos/pc/app/file-upload/custom-prefix.spec.ts +1 -1
- package/demos/pc/app/file-upload/file-picture-card.spec.ts +1 -1
- package/demos/pc/app/file-upload/manual-upload.spec.ts +1 -1
- package/demos/pc/app/file-upload/picture-card.spec.ts +3 -2
- package/demos/pc/app/file-upload/picture-list.spec.ts +3 -3
- package/demos/pc/app/file-upload/upload-file-list.spec.ts +1 -1
- package/demos/pc/app/file-upload/upload-request.spec.ts +11 -6
- package/demos/pc/app/float-button/backTop-composition-api.vue +40 -0
- package/demos/pc/app/float-button/backTop.vue +51 -0
- package/demos/pc/app/float-button/basic-usage-composition-api.vue +39 -0
- package/demos/pc/app/float-button/basic-usage.vue +48 -0
- package/demos/pc/app/float-button/icon-composition-api.vue +21 -0
- package/demos/pc/app/float-button/icon.vue +31 -0
- package/demos/pc/app/float-button/jump-composition-api.vue +19 -0
- package/demos/pc/app/float-button/jump.vue +26 -0
- package/demos/pc/app/float-button/reset-time-composition-api.vue +22 -0
- package/demos/pc/app/float-button/reset-time.vue +26 -0
- package/demos/pc/app/float-button/trigger-composition-api.vue +31 -0
- package/demos/pc/app/float-button/trigger.vue +40 -0
- package/demos/pc/app/float-button/webdoc/float-button.cn.md +7 -0
- package/demos/pc/app/float-button/webdoc/float-button.en.md +7 -0
- package/demos/pc/app/float-button/webdoc/float-button.js +68 -0
- package/demos/pc/app/floatbar/base.spec.ts +1 -1
- package/demos/pc/app/floatbar/custom-floatbar-item.spec.ts +1 -1
- package/demos/pc/app/floatbar/custom-style.spec.ts +1 -1
- package/demos/pc/app/floatbar/operation-floatbar-item.spec.ts +1 -1
- package/demos/pc/app/form/form-row-col.spec.js +2 -0
- package/demos/pc/app/form/label-position.spec.ts +3 -3
- package/demos/pc/app/grid/custom/ordercolumn-local.spec.js +2 -2
- package/demos/pc/app/grid/data-source/static-data-composition-api.vue +1 -1
- package/demos/pc/app/grid/data-source/static-data.spec.js +1 -1
- package/demos/pc/app/grid/data-source/static-data.vue +1 -1
- package/demos/pc/app/grid/edit/grid-equals-composition-api.vue +50 -0
- package/demos/pc/app/grid/edit/grid-equals.spec.js +10 -0
- package/demos/pc/app/grid/edit/grid-equals.vue +60 -0
- package/demos/pc/app/grid/edit/has-row-change.spec.js +2 -2
- package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +11 -11
- package/demos/pc/app/grid/editor/mutil-render.spec.js +1 -1
- package/demos/pc/app/grid/event/get-row-method.spec.js +4 -4
- package/demos/pc/app/grid/filter/server-filter.spec.js +1 -1
- package/demos/pc/app/grid/fixed/left-fixed.vue +1 -1
- package/demos/pc/app/grid/large-data/column-anchor.vue +132 -0
- package/demos/pc/app/grid/large-data/scroll-to.spec.js +1 -1
- package/demos/pc/app/grid/loading/grid-loading-tip.spec.js +1 -1
- package/demos/pc/app/grid/pager/show-save-msg-composition-api.vue +1 -1
- package/demos/pc/app/grid/pager/show-save-msg.vue +1 -1
- package/demos/pc/app/grid/renderer/inner-renderer-date-composition-api.vue +40 -0
- package/demos/pc/app/grid/renderer/inner-renderer-date.spec.js +9 -0
- package/demos/pc/app/grid/renderer/inner-renderer-date.vue +50 -0
- package/demos/pc/app/grid/size/grid-size-composition-api.vue +33 -26
- package/demos/pc/app/grid/size/grid-size.spec.js +7 -3
- package/demos/pc/app/grid/size/grid-size.vue +34 -26
- package/demos/pc/app/grid/sort/sort.vue +0 -1
- package/demos/pc/app/grid/toolbar/grid-full-screen-teleport-composition-api.vue +65 -0
- package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.spec.js +10 -0
- package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.vue +73 -0
- package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.spec.js +1 -1
- package/demos/pc/app/grid/validation/before-submit-validation.spec.js +1 -1
- package/demos/pc/app/grid/webdoc/grid-edit.js +11 -0
- package/demos/pc/app/grid/webdoc/grid-large-data.js +1 -49
- package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -0
- package/demos/pc/app/grid/webdoc/grid-toolbar.js +10 -1
- package/demos/pc/app/guide/basic-usage.spec.ts +3 -2
- package/demos/pc/app/guide/offset.spec.ts +3 -1
- package/demos/pc/app/hrapprover/basic-usage.spec.ts +2 -6
- package/demos/pc/app/hrapprover/custom-service.spec.ts +5 -2
- package/demos/pc/app/hrapprover/disabled.spec.ts +1 -1
- package/demos/pc/app/ip-address/delimiter.spec.ts +1 -1
- package/demos/pc/app/loading/webdoc/loading.js +1 -1
- package/demos/pc/app/locales/custom-service.spec.ts +0 -3
- package/demos/pc/app/logout/basic-usage.spec.ts +5 -5
- package/demos/pc/app/milestone/show-number.spec.ts +1 -1
- package/demos/pc/app/milestone/solid-style.spec.ts +1 -1
- package/demos/pc/app/modal/basic-usage.spec.ts +1 -1
- package/demos/pc/app/modal/duration.spec.ts +1 -2
- package/demos/pc/app/modal/{min-width-composition-api.vue → min-width-height-composition-api.vue} +4 -2
- package/demos/pc/app/modal/{min-width.spec.ts → min-width-height.spec.ts} +3 -3
- package/demos/pc/app/modal/{min-width.vue → min-width-height.vue} +4 -2
- package/demos/pc/app/modal/prop-slots-composition-api.vue +2 -2
- package/demos/pc/app/modal/show-header-footer-composition-api.vue +11 -0
- package/demos/pc/app/modal/{showHeader.spec.ts → show-header-footer.spec.ts} +3 -3
- package/demos/pc/app/modal/{showHeader.vue → show-header-footer.vue} +2 -2
- package/demos/pc/app/modal/webdoc/modal.js +12 -36
- package/demos/pc/app/notify/closeIcon.spec.ts +1 -1
- package/demos/pc/app/numeric/change-event-composition-api.vue +9 -2
- package/demos/pc/app/numeric/change-event.vue +10 -3
- package/demos/pc/app/numeric/dynamic-disabled-composition-api.vue +10 -2
- package/demos/pc/app/numeric/dynamic-disabled.spec.ts +1 -1
- package/demos/pc/app/numeric/dynamic-disabled.vue +11 -3
- package/demos/pc/app/numeric/precision-composition-api.vue +1 -1
- package/demos/pc/app/numeric/precision.spec.ts +10 -11
- package/demos/pc/app/pager/before-page-change.spec.ts +1 -1
- package/demos/pc/app/pager/disabled-and-size.spec.ts +1 -1
- package/demos/pc/app/pop-upload/basic-usage.spec.ts +1 -1
- package/demos/pc/app/pop-upload/custom-request-headers.spec.ts +1 -1
- package/demos/pc/app/popeditor/condition-form-composition-api.vue +0 -1
- package/demos/pc/app/popeditor/condition-form.vue +0 -1
- package/demos/pc/app/popeditor/events-composition-api.vue +8 -2
- package/demos/pc/app/popeditor/events.vue +8 -2
- package/demos/pc/app/popeditor/webdoc/popeditor.js +9 -9
- package/demos/pc/app/popover/webdoc/popover.js +69 -28
- package/demos/pc/app/radio/group-options-composition-api.vue +1 -1
- package/demos/pc/app/rate/custom-3-threshold-colors.spec.js +0 -13
- package/demos/pc/app/rate/custom-3-threshold-icon.spec.js +5 -5
- package/demos/pc/app/rate/disabled-not-selected-class.spec.js +1 -1
- package/demos/pc/app/rate/not-selected-class.spec.js +1 -1
- package/demos/pc/app/rate/threshold-value.spec.js +0 -13
- package/demos/pc/app/search/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/search/basic-usage.vue +1 -1
- package/demos/pc/app/search/webdoc/search.js +3 -2
- package/demos/pc/app/select/copy-multi.spec.ts +6 -5
- package/demos/pc/app/select/copy-single.spec.ts +7 -4
- package/demos/pc/app/select/events.spec.ts +2 -2
- package/demos/pc/app/select/optimization.spec.ts +3 -7
- package/demos/pc/app/select/option-group-composition-api.vue +2 -2
- package/demos/pc/app/select/option-group.vue +2 -2
- package/demos/pc/app/select/searchable.spec.ts +1 -1
- package/demos/pc/app/select/size.spec.ts +1 -1
- package/demos/pc/app/select/tag-type-composition-api.vue +1 -1
- package/demos/pc/app/select/tag-type.spec.ts +1 -1
- package/demos/pc/app/select/tag-type.vue +1 -1
- package/demos/pc/app/slide-bar/basic-usage.spec.ts +0 -5
- package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +2 -6
- package/demos/pc/app/slider/marks-composition-api.vue +20 -0
- package/demos/pc/app/slider/marks.spec.ts +12 -0
- package/demos/pc/app/slider/marks.vue +27 -0
- package/demos/pc/app/slider/show-input-composition-api.vue +2 -0
- package/demos/pc/app/slider/show-input.vue +3 -1
- package/demos/pc/app/slider/show-iput.spec.ts +14 -4
- package/demos/pc/app/slider/webdoc/slider.js +12 -0
- package/demos/pc/app/steps/advanced-steps-composition-api.vue +2 -2
- package/demos/pc/app/steps/advanced-steps.spec.ts +3 -3
- package/demos/pc/app/steps/advanced-steps.vue +2 -2
- package/demos/pc/app/steps/click-composition-api.vue +3 -10
- package/demos/pc/app/steps/click.vue +4 -12
- package/demos/pc/app/steps/line-horizontal-composition-api.vue +1 -1
- package/demos/pc/app/steps/line-horizontal.vue +1 -1
- package/demos/pc/app/steps/line-vertical-composition-api.vue +1 -1
- package/demos/pc/app/steps/line-vertical.vue +1 -1
- package/demos/pc/app/tabs/overflow-title-composition-api.vue +19 -0
- package/demos/pc/app/tabs/overflow-title.vue +28 -0
- package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +5 -1
- package/demos/pc/app/tabs/tabs-events-close.vue +5 -1
- package/demos/pc/app/tabs/webdoc/tabs.js +18 -4
- package/demos/pc/app/tag/delete.spec.ts +3 -3
- package/demos/pc/app/time-line/shape-composition-api.vue +5 -2
- package/demos/pc/app/time-line/shape.spec.ts +2 -0
- package/demos/pc/app/time-line/shape.vue +5 -1
- package/demos/pc/app/time-line/show-divider-composition-api.vue +1 -1
- package/demos/pc/app/time-line/show-divider.vue +1 -1
- package/demos/pc/app/time-picker/disabled.spec.ts +9 -1
- package/demos/pc/app/time-picker/event.spec.ts +1 -2
- package/demos/pc/app/time-picker/format.spec.ts +10 -3
- package/demos/pc/app/time-picker/step.spec.ts +4 -1
- package/demos/pc/app/time-select/basic-usage.spec.ts +1 -1
- package/demos/pc/app/time-select/clear-icon.spec.ts +1 -1
- package/demos/pc/app/time-select/default-value.spec.ts +1 -1
- package/demos/pc/app/time-select/event-blur-composition-api.vue +3 -3
- package/demos/pc/app/time-select/event-blur.spec.ts +1 -1
- package/demos/pc/app/time-select/event-blur.vue +3 -3
- package/demos/pc/app/time-select/focus-composition-api.vue +1 -1
- package/demos/pc/app/time-select/focus.spec.ts +2 -3
- package/demos/pc/app/time-select/focus.vue +1 -1
- package/demos/pc/app/time-select/range-placeholder.spec.ts +2 -2
- package/demos/pc/app/tooltip/theme-composition-api.vue +28 -26
- package/demos/pc/app/tooltip/theme.vue +28 -26
- package/demos/pc/app/tooltip/webdoc/tooltip.js +55 -29
- package/demos/pc/app/transfer/webdoc/transfer.js +130 -44
- package/demos/pc/app/tree/webdoc/tree.js +319 -68
- package/demos/pc/app/tree-menu/basic-usage.spec.ts +0 -1
- package/demos/pc/app/tree-menu/props.spec.ts +2 -1
- package/demos/pc/app/user/custom-service.spec.ts +1 -1
- package/demos/pc/app/user-account/custom-service.spec.ts +2 -8
- package/demos/pc/app/user-contact/contact-espace-composition-api.vue +1 -0
- package/demos/pc/app/user-link/custom-service.spec.ts +2 -2
- package/demos/pc/app/watermark/webdoc/watermark.js +1 -1
- package/demos/pc/menus.js +2 -1
- package/demos/pc/resource/newVars.json +2 -2
- package/demos/pc/webdoc/changelog.md +138 -0
- package/demos/pc/webdoc/import-components-en.md +40 -2
- package/demos/pc/webdoc/import-components.md +40 -2
- package/package.json +11 -11
- package/playground/App.vue +2 -2
- package/src/App.vue +3 -2
- package/src/const.ts +27 -0
- package/src/router.js +5 -3
- package/src/tools/useTheme.js +60 -50
- package/src/views/components/components.vue +12 -33
- package/src/views/components/demo.vue +4 -4
- package/src/views/layout/layout.vue +6 -6
- package/src/views/overview.vue +6 -3
- package/demos/pc/app/credit-card-form/background-image.spec.ts +0 -10
- package/demos/pc/app/credit-card-form/basic-usage.spec.ts +0 -13
- package/demos/pc/app/credit-card-form/credit-card-form-events.spec.ts +0 -18
- package/demos/pc/app/drawer/default-slot-composition-api.vue +0 -25
- package/demos/pc/app/drawer/default-slot.spec.ts +0 -11
- package/demos/pc/app/drawer/default-slot.vue +0 -35
- package/demos/pc/app/font/Font-usage-specifications.spec.js +0 -41
- package/demos/pc/app/font/chinese-font-set.spec.js +0 -10
- package/demos/pc/app/font/english-fonts.spec.js +0 -10
- package/demos/pc/app/hrapprover/category-type.spec.ts +0 -13
- package/demos/pc/app/modal/min-height-composition-api.vue +0 -16
- package/demos/pc/app/modal/min-height.spec.ts +0 -21
- package/demos/pc/app/modal/min-height.vue +0 -23
- package/demos/pc/app/modal/showFooter-composition-api.vue +0 -11
- package/demos/pc/app/modal/showFooter.spec.ts +0 -10
- package/demos/pc/app/modal/showFooter.vue +0 -18
- package/demos/pc/app/modal/showHeader-composition-api.vue +0 -11
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test'
|
|
2
|
+
|
|
3
|
+
test('自定义比较方法', async ({ page }) => {
|
|
4
|
+
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
+
await page.goto('grid-edit#edit-grid-equals')
|
|
6
|
+
await page.getByText('800').click()
|
|
7
|
+
await page.getByRole('row', { name: '1 2014-04-30 00:56:00' }).getByRole('textbox').fill('800')
|
|
8
|
+
await page.getByRole('cell', { name: '人数' }).locator('div').first().click()
|
|
9
|
+
await expect(page.locator('.tiny-grid .col__dirty')).toHaveCount(0)
|
|
10
|
+
})
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tiny-grid :data="tableData" :edit-config="{ trigger: 'click', mode: 'cell' }">
|
|
3
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
4
|
+
<tiny-grid-column field="created_date" title="创建时间"></tiny-grid-column>
|
|
5
|
+
<tiny-grid-column
|
|
6
|
+
field="employees"
|
|
7
|
+
title="人数"
|
|
8
|
+
:editor="{ component: 'input' }"
|
|
9
|
+
:equals="employeesEquals"
|
|
10
|
+
></tiny-grid-column>
|
|
11
|
+
<tiny-grid-column field="introduction" title="公司简介"></tiny-grid-column>
|
|
12
|
+
</tiny-grid>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
import { Grid, GridColumn } from '@opentiny/vue'
|
|
17
|
+
|
|
18
|
+
export default {
|
|
19
|
+
components: {
|
|
20
|
+
TinyGrid: Grid,
|
|
21
|
+
TinyGridColumn: GridColumn
|
|
22
|
+
},
|
|
23
|
+
methods: {
|
|
24
|
+
employeesEquals({ value, originalValue }) {
|
|
25
|
+
// 如果数字相等就返回true
|
|
26
|
+
return Number(value) === Number(originalValue)
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
data() {
|
|
30
|
+
return {
|
|
31
|
+
tableData: [
|
|
32
|
+
{
|
|
33
|
+
id: '1',
|
|
34
|
+
created_date: '2014-04-30 00:56:00',
|
|
35
|
+
employees: 800,
|
|
36
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: '2',
|
|
40
|
+
created_date: '2016-07-08 12:36:22',
|
|
41
|
+
employees: 300,
|
|
42
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: '3',
|
|
46
|
+
created_date: '2014-02-14 14:14:14',
|
|
47
|
+
employees: 1300,
|
|
48
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: '4',
|
|
52
|
+
created_date: '2013-01-13 13:13:13',
|
|
53
|
+
employees: 360,
|
|
54
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
</script>
|
|
@@ -7,7 +7,7 @@ test('检查数据是否改变', async ({ page }) => {
|
|
|
7
7
|
await page.getByRole('row', { name: '1 保存' }).locator('input[type="text"]').fill('sdf')
|
|
8
8
|
await page.getByRole('row', { name: '1 保存' }).getByRole('button', { name: '保存' }).click()
|
|
9
9
|
await expect(page.getByText('保存成功!')).toBeVisible()
|
|
10
|
-
await page.getByRole('button', { name: '
|
|
10
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
11
11
|
await page
|
|
12
12
|
.getByRole('row', {
|
|
13
13
|
name: '2 WWWW科技YX公司 华南区 深圳福田区 公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。 保存'
|
|
@@ -15,5 +15,5 @@ test('检查数据是否改变', async ({ page }) => {
|
|
|
15
15
|
.getByRole('button', { name: '保存' })
|
|
16
16
|
.click()
|
|
17
17
|
await expect(page.getByText('当前数据未改变!')).toBeVisible()
|
|
18
|
-
await page.getByRole('button', { name: '
|
|
18
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
19
19
|
})
|
|
@@ -92,37 +92,37 @@ const tableData = ref([
|
|
|
92
92
|
])
|
|
93
93
|
const theGridRef = ref('theGridRef')
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
const getActiveRow = () => {
|
|
96
|
+
const activedRowIndex = theGridRef.value.getActiveRow()
|
|
97
|
+
|
|
98
|
+
activedRow.value = activedRowIndex ? activedRowIndex.rowIndex : ''
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const editRowEvent = (row) => {
|
|
96
102
|
if (row.name === 'RFV有限责任公司') {
|
|
97
103
|
// 只激活区域单元格编辑
|
|
98
104
|
theGridRef.value.setActiveCell(row, 'area').then(() => {
|
|
99
|
-
|
|
105
|
+
getActiveRow()
|
|
100
106
|
})
|
|
101
107
|
} else {
|
|
102
108
|
// mode: 'cell' 时默认激活第一个单元格
|
|
103
109
|
theGridRef.value.setActiveRow(row).then(() => {
|
|
104
|
-
|
|
110
|
+
getActiveRow()
|
|
105
111
|
})
|
|
106
112
|
}
|
|
107
113
|
}
|
|
108
114
|
|
|
109
|
-
|
|
115
|
+
const saveRowEvent = () => {
|
|
110
116
|
theGridRef.value.clearActived().then(() => {
|
|
111
117
|
getActiveRow()
|
|
112
118
|
})
|
|
113
119
|
}
|
|
114
120
|
|
|
115
|
-
|
|
121
|
+
const cancelRowEvent = () => {
|
|
116
122
|
theGridRef.value.clearActived().then(() => {
|
|
117
123
|
getActiveRow()
|
|
118
124
|
})
|
|
119
125
|
}
|
|
120
|
-
|
|
121
|
-
function getActiveRow() {
|
|
122
|
-
const activedRowIndex = theGridRef.value.getActiveRow()
|
|
123
|
-
|
|
124
|
-
activedRow.value = activedRowIndex ? activedRowIndex.rowIndex : ''
|
|
125
|
-
}
|
|
126
126
|
</script>
|
|
127
127
|
|
|
128
128
|
<style scoped>
|
|
@@ -4,7 +4,7 @@ test('Grid-编辑器-下拉多选', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('grid-editor#editor-mutil-render')
|
|
6
6
|
await page.getByText('华中区;华南区').click()
|
|
7
|
-
await page.locator('.tiny-input__suffix-inner > .tiny-svg
|
|
7
|
+
await page.locator('.tiny-input__suffix-inner > .tiny-svg').click()
|
|
8
8
|
await page.locator('li').filter({ hasText: '华东区' }).locator('span').nth(2).click()
|
|
9
9
|
await page.getByRole('cell', { name: '创建时间' }).click()
|
|
10
10
|
await expect(page.locator('.tiny-grid-body__row').first()).toContainText('华中区;华东区;华南区')
|
|
@@ -14,23 +14,23 @@ test('获取表格行方法', async ({ page }) => {
|
|
|
14
14
|
await expect(
|
|
15
15
|
page.getByText('当前行数据是:{"id":"1","name":"GFD科技YX公司","area":"华东区","address":"福州","introduction":"')
|
|
16
16
|
).toBeVisible()
|
|
17
|
-
await page.getByRole('button', { name: '
|
|
17
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
18
18
|
await page.getByRole('button', { name: '当前行号' }).click()
|
|
19
19
|
|
|
20
20
|
await expect(page.getByText('当前选中行号是:0')).toBeVisible()
|
|
21
|
-
await page.getByRole('button', { name: '
|
|
21
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
22
22
|
await page.getByRole('button', { name: 'Radio单选选中行' }).click()
|
|
23
23
|
|
|
24
24
|
await expect(
|
|
25
25
|
page.getByText('单选选中行数据是:{"id":"1","name":"GFD科技YX公司","area":"华东区","address":"福州","introduction"')
|
|
26
26
|
).toBeVisible()
|
|
27
|
-
await page.getByRole('button', { name: '
|
|
27
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
28
28
|
await page.getByRole('button', { name: 'rowId获取当前行' }).click()
|
|
29
29
|
|
|
30
30
|
await expect(
|
|
31
31
|
page.getByText('根据 rowId 获取的当前行:{"id":"1","name":"GFD科技YX公司","area":"华东区","address":"福州","introd')
|
|
32
32
|
).toBeVisible()
|
|
33
|
-
await page.getByRole('button', { name: '
|
|
33
|
+
await page.getByRole('button', { name: '确定' }).click()
|
|
34
34
|
await page.getByRole('button', { name: 'tr元素获取行信息' }).click()
|
|
35
35
|
|
|
36
36
|
await expect(
|
|
@@ -3,7 +3,7 @@ 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('grid-filter#filter-server-filter')
|
|
6
|
-
await page.waitForTimeout(
|
|
6
|
+
await page.waitForTimeout(3000)
|
|
7
7
|
await page.getByRole('cell', { name: '城市' }).getByRole('img').first().click()
|
|
8
8
|
await page.locator('li').filter({ hasText: '深圳' }).click()
|
|
9
9
|
await page.getByRole('button', { name: '确定' }).click()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tiny-grid
|
|
2
|
+
<tiny-grid :data="tableData">
|
|
3
3
|
<tiny-grid-column type="index" width="60" fixed="left"></tiny-grid-column>
|
|
4
4
|
<tiny-grid-column type="selection" width="60" fixed="left"></tiny-grid-column>
|
|
5
5
|
<tiny-grid-column field="name" title="公司名称" width="500"></tiny-grid-column>
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tiny-grid
|
|
3
|
+
:data="tableData"
|
|
4
|
+
column-min-width="100"
|
|
5
|
+
auto-resize
|
|
6
|
+
:column-anchor="columnAnchor"
|
|
7
|
+
:optimization="{ scrollX: { gt: 20 } }"
|
|
8
|
+
>
|
|
9
|
+
<tiny-grid-column field="name0" title="名称0" sortable fixed="left"></tiny-grid-column>
|
|
10
|
+
<tiny-grid-column field="name1" title="名称1" sortable fixed="left"></tiny-grid-column>
|
|
11
|
+
<tiny-grid-column field="name2" title="名称2" sortable fixed="left"></tiny-grid-column>
|
|
12
|
+
<tiny-grid-column field="name3" title="名称3" sortable></tiny-grid-column>
|
|
13
|
+
<tiny-grid-column field="name4" title="名称4" sortable></tiny-grid-column>
|
|
14
|
+
<tiny-grid-column field="name5" title="名称5" sortable></tiny-grid-column>
|
|
15
|
+
<tiny-grid-column field="name6" title="名称6" sortable></tiny-grid-column>
|
|
16
|
+
<tiny-grid-column field="name7" title="名称7" sortable></tiny-grid-column>
|
|
17
|
+
<tiny-grid-column field="name8" title="名称8" sortable></tiny-grid-column>
|
|
18
|
+
<tiny-grid-column field="name9" title="名称9" sortable></tiny-grid-column>
|
|
19
|
+
<tiny-grid-column field="name10" title="名称10" sortable></tiny-grid-column>
|
|
20
|
+
<tiny-grid-column field="name" title="名称" sortable></tiny-grid-column>
|
|
21
|
+
<tiny-grid-column field="name11" title="名称11" sortable></tiny-grid-column>
|
|
22
|
+
<tiny-grid-column field="name12" title="名称12" sortable></tiny-grid-column>
|
|
23
|
+
<tiny-grid-column field="name13" title="名称13" sortable></tiny-grid-column>
|
|
24
|
+
<tiny-grid-column field="name14" title="名称14" sortable></tiny-grid-column>
|
|
25
|
+
<tiny-grid-column field="name15" title="名称15" sortable></tiny-grid-column>
|
|
26
|
+
<tiny-grid-column field="name16" title="名称16" sortable></tiny-grid-column>
|
|
27
|
+
<tiny-grid-column field="name17" title="名称17" sortable></tiny-grid-column>
|
|
28
|
+
<tiny-grid-column field="name18" title="名称18" sortable></tiny-grid-column>
|
|
29
|
+
<tiny-grid-column field="name19" title="名称19" sortable></tiny-grid-column>
|
|
30
|
+
<tiny-grid-column field="name20" title="名称20" sortable></tiny-grid-column>
|
|
31
|
+
<tiny-grid-column field="employees" title="员工数" sortable></tiny-grid-column>
|
|
32
|
+
<tiny-grid-column field="name21" title="名称21" sortable></tiny-grid-column>
|
|
33
|
+
<tiny-grid-column field="name22" title="名称22" sortable></tiny-grid-column>
|
|
34
|
+
<tiny-grid-column field="name23" title="名称23" sortable></tiny-grid-column>
|
|
35
|
+
<tiny-grid-column field="name24" title="名称24" sortable></tiny-grid-column>
|
|
36
|
+
<tiny-grid-column field="name25" title="名称25" sortable></tiny-grid-column>
|
|
37
|
+
<tiny-grid-column field="name26" title="名称26" sortable></tiny-grid-column>
|
|
38
|
+
<tiny-grid-column field="name27" title="名称27" sortable></tiny-grid-column>
|
|
39
|
+
<tiny-grid-column field="name28" title="名称28" sortable></tiny-grid-column>
|
|
40
|
+
<tiny-grid-column field="name29" title="名称29" sortable></tiny-grid-column>
|
|
41
|
+
<tiny-grid-column field="name30" title="名称30" sortable></tiny-grid-column>
|
|
42
|
+
<tiny-grid-column field="address" title="地址"></tiny-grid-column>
|
|
43
|
+
<tiny-grid-column field="name31" title="名称31" sortable></tiny-grid-column>
|
|
44
|
+
<tiny-grid-column field="name32" title="名称32" sortable></tiny-grid-column>
|
|
45
|
+
<tiny-grid-column field="name33" title="名称33" sortable></tiny-grid-column>
|
|
46
|
+
<tiny-grid-column field="name34" title="名称34" sortable></tiny-grid-column>
|
|
47
|
+
<tiny-grid-column field="name35" title="名称35" sortable></tiny-grid-column>
|
|
48
|
+
<tiny-grid-column field="name36" title="名称36" sortable></tiny-grid-column>
|
|
49
|
+
<tiny-grid-column field="name37" title="名称37" sortable></tiny-grid-column>
|
|
50
|
+
<tiny-grid-column field="name38" title="名称38" sortable></tiny-grid-column>
|
|
51
|
+
<tiny-grid-column field="name39" title="名称39" sortable></tiny-grid-column>
|
|
52
|
+
<tiny-grid-column field="name40" title="名称40" sortable></tiny-grid-column>
|
|
53
|
+
<tiny-grid-column field="name41" title="名称41" sortable></tiny-grid-column>
|
|
54
|
+
<tiny-grid-column field="name42" title="名称42" sortable></tiny-grid-column>
|
|
55
|
+
<tiny-grid-column field="name43" title="名称43" sortable></tiny-grid-column>
|
|
56
|
+
<tiny-grid-column field="name44" title="名称44" sortable></tiny-grid-column>
|
|
57
|
+
<tiny-grid-column field="name45" title="名称45" sortable></tiny-grid-column>
|
|
58
|
+
<tiny-grid-column field="name46" title="名称46" sortable></tiny-grid-column>
|
|
59
|
+
<tiny-grid-column field="name47" title="名称47" sortable></tiny-grid-column>
|
|
60
|
+
<tiny-grid-column field="introduction" title="公司简介" show-overflow></tiny-grid-column>
|
|
61
|
+
<tiny-grid-column field="name48" title="名称48" sortable fixed="right"></tiny-grid-column>
|
|
62
|
+
<tiny-grid-column field="name49" title="名称49" sortable fixed="right"></tiny-grid-column>
|
|
63
|
+
</tiny-grid>
|
|
64
|
+
</template>
|
|
65
|
+
|
|
66
|
+
<script>
|
|
67
|
+
import { Grid, GridColumn } from '@opentiny/vue'
|
|
68
|
+
import { IconMarkOn } from '@opentiny/vue-icon'
|
|
69
|
+
|
|
70
|
+
export default {
|
|
71
|
+
components: {
|
|
72
|
+
TinyGrid: Grid,
|
|
73
|
+
TinyGridColumn: GridColumn
|
|
74
|
+
},
|
|
75
|
+
data() {
|
|
76
|
+
return {
|
|
77
|
+
columnAnchor: [
|
|
78
|
+
'name',
|
|
79
|
+
'address',
|
|
80
|
+
['introduction', '简单介绍'],
|
|
81
|
+
[
|
|
82
|
+
'employees',
|
|
83
|
+
[
|
|
84
|
+
'雇员数量-自定义渲染',
|
|
85
|
+
({ h, anchor: { active, field, label }, action }) =>
|
|
86
|
+
h(
|
|
87
|
+
'div',
|
|
88
|
+
{
|
|
89
|
+
class: { 'tiny-grid__column-anchor-item': true, 'tiny-grid__column-anchor-item--active': active },
|
|
90
|
+
on: { click: (e) => action(field, e) }
|
|
91
|
+
},
|
|
92
|
+
[active ? h(IconMarkOn(), { class: 'tiny-grid__column-anchor-item-icon' }) : null, h('span', label)]
|
|
93
|
+
)
|
|
94
|
+
]
|
|
95
|
+
]
|
|
96
|
+
],
|
|
97
|
+
tableData: [
|
|
98
|
+
{
|
|
99
|
+
id: '1',
|
|
100
|
+
name: 'GFD科技有限公司',
|
|
101
|
+
address: '福州',
|
|
102
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
|
|
103
|
+
employees: 800,
|
|
104
|
+
name0: '1-name-0',
|
|
105
|
+
name1: '1-name-1',
|
|
106
|
+
name2: '1-name-2'
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: '2',
|
|
110
|
+
name: 'WWW科技有限公司',
|
|
111
|
+
address: '深圳福田区',
|
|
112
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
|
|
113
|
+
employees: 300,
|
|
114
|
+
name0: '2-name-0',
|
|
115
|
+
name1: '2-name-1',
|
|
116
|
+
name2: '2-name-2'
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: '3',
|
|
120
|
+
name: 'RFV有限责任公司',
|
|
121
|
+
address: '中山市',
|
|
122
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
|
|
123
|
+
employees: 1300,
|
|
124
|
+
name0: '3-name-0',
|
|
125
|
+
name1: '3-name-1',
|
|
126
|
+
name2: '3-name-2'
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
</script>
|
|
@@ -3,7 +3,7 @@ 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('grid-large-data#large-data-scroll-to')
|
|
6
|
-
await page.waitForTimeout(
|
|
6
|
+
await page.waitForTimeout(3000)
|
|
7
7
|
await page.getByRole('button', { name: '滚动到500列' }).click()
|
|
8
8
|
await page.waitForTimeout(200)
|
|
9
9
|
await expect(page.getByText('col508')).toBeVisible()
|
|
@@ -4,5 +4,5 @@ test('开启加载中状态', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('grid-loading#loading-grid-loading-tip')
|
|
6
6
|
await page.getByRole('button', { name: '重试' }).click()
|
|
7
|
-
await expect(page.locator('.tiny-grid-
|
|
7
|
+
await expect(page.locator('.tiny-grid-loading')).toBeVisible()
|
|
8
8
|
})
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tiny-grid :data="tableData">
|
|
3
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
4
|
+
<tiny-grid-column field="date1" title="日期1" format-text="date"></tiny-grid-column>
|
|
5
|
+
<tiny-grid-column field="date2" title="日期2" format-text="date"></tiny-grid-column>
|
|
6
|
+
<tiny-grid-column
|
|
7
|
+
field="date3"
|
|
8
|
+
title="日期3"
|
|
9
|
+
format-text="date"
|
|
10
|
+
:format-config="{ valueFormat: 'dd/MM/yyyy' }"
|
|
11
|
+
></tiny-grid-column>
|
|
12
|
+
<tiny-grid-column
|
|
13
|
+
field="date4"
|
|
14
|
+
title="日期4"
|
|
15
|
+
format-text="date"
|
|
16
|
+
:format-config="{ valueFormat: 'dd/MM/yyyy' }"
|
|
17
|
+
></tiny-grid-column>
|
|
18
|
+
<tiny-grid-column
|
|
19
|
+
field="date5"
|
|
20
|
+
title="日期5"
|
|
21
|
+
format-text="date"
|
|
22
|
+
:format-config="{ valueFormat: 'MM/dd/yyyy' }"
|
|
23
|
+
></tiny-grid-column>
|
|
24
|
+
</tiny-grid>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script setup>
|
|
28
|
+
import { ref } from 'vue'
|
|
29
|
+
import { Grid as TinyGrid, GridColumn as TinyGridColumn } from '@opentiny/vue'
|
|
30
|
+
const tableData = ref([
|
|
31
|
+
{
|
|
32
|
+
id: '1',
|
|
33
|
+
date1: 1719849600000,
|
|
34
|
+
date2: new Date(),
|
|
35
|
+
date3: '07/02/2024', // Date.parse 能正常解析,但是被解析为 7 月 2 号
|
|
36
|
+
date4: '15/02/2024', // Date.parse 不能正常解析
|
|
37
|
+
date5: '02/15/2024' // Date.parse 能正常解析为 2 月 15 号
|
|
38
|
+
}
|
|
39
|
+
])
|
|
40
|
+
</script>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test'
|
|
2
|
+
|
|
3
|
+
test('日期渲染器', async ({ page }) => {
|
|
4
|
+
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
+
await page.goto('grid-renderer#renderer-inner-renderer-date')
|
|
6
|
+
await expect(page.getByText('-07-02')).toBeVisible()
|
|
7
|
+
await expect(page.getByText('-02-15').first()).toBeVisible()
|
|
8
|
+
await expect(page.getByText('-02-15').nth(1)).toBeVisible()
|
|
9
|
+
})
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tiny-grid :data="tableData">
|
|
3
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
4
|
+
<tiny-grid-column field="date1" title="日期1" format-text="date"></tiny-grid-column>
|
|
5
|
+
<tiny-grid-column field="date2" title="日期2" format-text="date"></tiny-grid-column>
|
|
6
|
+
<tiny-grid-column
|
|
7
|
+
field="date3"
|
|
8
|
+
title="日期3"
|
|
9
|
+
format-text="date"
|
|
10
|
+
:format-config="{ valueFormat: 'dd/MM/yyyy' }"
|
|
11
|
+
></tiny-grid-column>
|
|
12
|
+
<tiny-grid-column
|
|
13
|
+
field="date4"
|
|
14
|
+
title="日期4"
|
|
15
|
+
format-text="date"
|
|
16
|
+
:format-config="{ valueFormat: 'dd/MM/yyyy' }"
|
|
17
|
+
></tiny-grid-column>
|
|
18
|
+
<tiny-grid-column
|
|
19
|
+
field="date5"
|
|
20
|
+
title="日期5"
|
|
21
|
+
format-text="date"
|
|
22
|
+
:format-config="{ valueFormat: 'MM/dd/yyyy' }"
|
|
23
|
+
></tiny-grid-column>
|
|
24
|
+
</tiny-grid>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script>
|
|
28
|
+
import { Grid, GridColumn } from '@opentiny/vue'
|
|
29
|
+
|
|
30
|
+
export default {
|
|
31
|
+
components: {
|
|
32
|
+
TinyGrid: Grid,
|
|
33
|
+
TinyGridColumn: GridColumn
|
|
34
|
+
},
|
|
35
|
+
data() {
|
|
36
|
+
return {
|
|
37
|
+
tableData: [
|
|
38
|
+
{
|
|
39
|
+
id: '1',
|
|
40
|
+
date1: 1719849600000,
|
|
41
|
+
date2: new Date(),
|
|
42
|
+
date3: '07/02/2024', // Date.parse 能正常解析,但是被解析为 7 月 2 号
|
|
43
|
+
date4: '15/02/2024', // Date.parse 不能正常解析
|
|
44
|
+
date5: '02/15/2024' // Date.parse 能正常解析为 2 月 15 号
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
</script>
|
|
@@ -1,33 +1,40 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<tiny-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<tiny-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
2
|
+
<tiny-tabs v-model="activeName" tab-style="card">
|
|
3
|
+
<tiny-tab-item title="medium" name="medium">
|
|
4
|
+
<tiny-grid :data="tableData" size="medium" :auto-resize="true">
|
|
5
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
6
|
+
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
7
|
+
<tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
|
|
8
|
+
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
9
|
+
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
10
|
+
</tiny-grid>
|
|
11
|
+
</tiny-tab-item>
|
|
12
|
+
<tiny-tab-item title="small" name="small">
|
|
13
|
+
<tiny-grid :data="tableData" size="small" :auto-resize="true">
|
|
14
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
15
|
+
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
16
|
+
<tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
|
|
17
|
+
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
18
|
+
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
19
|
+
</tiny-grid>
|
|
20
|
+
</tiny-tab-item>
|
|
21
|
+
<tiny-tab-item title="mini" name="mini">
|
|
22
|
+
<tiny-grid :data="tableData" size="mini" :auto-resize="true">
|
|
23
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
24
|
+
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
25
|
+
<tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
|
|
26
|
+
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
27
|
+
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
28
|
+
</tiny-grid>
|
|
29
|
+
</tiny-tab-item>
|
|
30
|
+
</tiny-tabs>
|
|
26
31
|
</template>
|
|
27
32
|
|
|
28
|
-
<script setup
|
|
33
|
+
<script setup>
|
|
29
34
|
import { ref } from 'vue'
|
|
30
|
-
import { Grid as TinyGrid, GridColumn as TinyGridColumn } from '@opentiny/vue'
|
|
35
|
+
import { Grid as TinyGrid, GridColumn as TinyGridColumn, Tabs as TinyTabs, TabItem as TinyTabItem } from '@opentiny/vue'
|
|
36
|
+
|
|
37
|
+
const activeName = ref('medium')
|
|
31
38
|
|
|
32
39
|
const tableData = ref([
|
|
33
40
|
{
|
|
@@ -5,11 +5,15 @@ test('尺寸', async ({ page }) => {
|
|
|
5
5
|
await page.goto('grid-size#size-grid-size')
|
|
6
6
|
const mediumTd = page.locator('.size__medium .tiny-grid-body__column').first()
|
|
7
7
|
const { height: heightMedium } = await mediumTd.boundingBox()
|
|
8
|
+
await page.getByText('small').click()
|
|
9
|
+
await page.waitForTimeout(500)
|
|
8
10
|
const smallTd = page.locator('.size__small .tiny-grid-body__column').first()
|
|
9
11
|
const { height: heightSamll } = await smallTd.boundingBox()
|
|
10
|
-
|
|
12
|
+
await page.getByText('mini').click()
|
|
13
|
+
await page.waitForTimeout(500)
|
|
14
|
+
const miniTd = page.locator('.size__mini .tiny-grid-body__column').first()
|
|
11
15
|
const { height: heightMini } = await miniTd.boundingBox()
|
|
12
16
|
|
|
13
|
-
await expect(heightMedium).
|
|
14
|
-
await expect(heightSamll).
|
|
17
|
+
await expect(heightMedium).toBeGreaterThan(heightSamll)
|
|
18
|
+
await expect(heightSamll).toBeGreaterThan(heightMini)
|
|
15
19
|
})
|