@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.
Files changed (366) hide show
  1. package/demos/apis/card.js +56 -23
  2. package/demos/apis/dialog-box.js +12 -5
  3. package/demos/apis/fall-menu.js +2 -2
  4. package/demos/apis/file-upload.js +2 -1
  5. package/demos/apis/float-button.js +211 -0
  6. package/demos/apis/grid.js +40 -40
  7. package/demos/apis/ip-address.js +3 -3
  8. package/demos/apis/multi-select.js +141 -22
  9. package/demos/apis/numeric.js +13 -0
  10. package/demos/apis/popeditor.js +20 -14
  11. package/demos/apis/search.js +11 -0
  12. package/demos/apis/slider.js +13 -2
  13. package/demos/apis/steps.js +6 -6
  14. package/demos/apis/tabs.js +39 -0
  15. package/demos/apis/time-line.js +34 -1
  16. package/demos/apis/time-select.js +1 -1
  17. package/demos/apis/tooltip.js +1 -1
  18. package/demos/apis/tree-menu.js +5 -5
  19. package/demos/mobile/app/alert/icon.vue +1 -1
  20. package/demos/mobile/app/alert/size.vue +1 -1
  21. package/demos/mobile/app/alert/slot-default.vue +8 -2
  22. package/demos/mobile/app/exception/buttonText.vue +4 -2
  23. package/demos/mobile/app/exception/exceptionClass.vue +4 -2
  24. package/demos/mobile/app/exception/message.vue +4 -7
  25. package/demos/mobile/app/exception/type.vue +4 -2
  26. package/demos/mobile/app/loading/background.vue +24 -0
  27. package/demos/mobile/app/loading/base.vue +16 -6
  28. package/demos/mobile/app/loading/custom-class.vue +29 -0
  29. package/demos/mobile/app/loading/global-registry.vue +61 -0
  30. package/demos/mobile/app/loading/size.vue +59 -0
  31. package/demos/mobile/app/loading/spinner.vue +26 -0
  32. package/demos/mobile/app/loading/tip-text.vue +23 -0
  33. package/demos/mobile/app/loading/webdoc/loading.js +155 -9
  34. package/demos/mobile/app/multi-select/basic-usage.vue +221 -73
  35. package/demos/mobile/app/multi-select/disabled.vue +174 -206
  36. package/demos/mobile/app/multi-select/event-click-item.vue +60 -75
  37. package/demos/mobile/app/multi-select/filter.vue +65 -93
  38. package/demos/mobile/app/multi-select/mask.vue +60 -0
  39. package/demos/mobile/app/multi-select/slots.vue +66 -0
  40. package/demos/mobile/app/multi-select/type-wheel.vue +39 -49
  41. package/demos/mobile/app/multi-select/webdoc/multi-select.js +49 -10
  42. package/demos/mobile/app/popover/base.vue +2 -3
  43. package/demos/mobile/app/search/base.vue +2 -2
  44. package/demos/mobile/app/user-head/basic-usage.vue +2 -5
  45. package/demos/mobile-first/app/card/basic-usage.vue +4 -2
  46. package/demos/mobile-first/app/card/card-type.vue +6 -12
  47. package/demos/mobile-first/app/card/slot.vue +2 -5
  48. package/demos/mobile-first/app/carousel/close-loop.vue +12 -4
  49. package/demos/mobile-first/app/column-list-item/basic-usage.vue +3 -7
  50. package/demos/mobile-first/app/column-list-item/custom-width.vue +4 -7
  51. package/demos/mobile-first/app/column-list-item/icon-click-event.vue +2 -5
  52. package/demos/mobile-first/app/column-list-item/icon-disabled.vue +2 -5
  53. package/demos/mobile-first/app/column-list-item/size.vue +3 -6
  54. package/demos/mobile-first/app/select/filter-method.vue +47 -18
  55. package/demos/mobile-first/app/time-line/limited-nodes.vue +29 -0
  56. package/demos/mobile-first/app/time-line/node-max.vue +26 -0
  57. package/demos/mobile-first/app/time-line/webdoc/time-line.js +26 -1
  58. package/demos/pc/app/alert/custom-close-composition-api.vue +7 -2
  59. package/demos/pc/app/alert/custom-close.spec.ts +1 -1
  60. package/demos/pc/app/alert/custom-close.vue +7 -2
  61. package/demos/pc/app/area/custom-service.spec.ts +1 -2
  62. package/demos/pc/app/button/ghost.spec.ts +6 -6
  63. package/demos/pc/app/card/basic-usage-composition-api.vue +24 -0
  64. package/demos/pc/app/card/basic-usage.vue +32 -0
  65. package/demos/pc/app/card/card-disabled-composition-api.vue +45 -0
  66. package/demos/pc/app/card/card-disabled.vue +53 -0
  67. package/demos/pc/app/card/card-events-composition-api.vue +66 -0
  68. package/demos/pc/app/card/card-events.vue +75 -0
  69. package/demos/pc/app/card/card-group-composition-api.vue +69 -0
  70. package/demos/pc/app/card/card-group.vue +79 -0
  71. package/demos/pc/app/card/card-size-composition-api.vue +59 -0
  72. package/demos/pc/app/card/card-size.vue +67 -0
  73. package/demos/pc/app/card/card-status-composition-api.vue +49 -0
  74. package/demos/pc/app/card/card-status.vue +58 -0
  75. package/demos/pc/app/card/card-type-composition-api.vue +47 -0
  76. package/demos/pc/app/card/card-type.vue +55 -0
  77. package/demos/pc/app/card/check-type-checkbox-composition-api.vue +31 -0
  78. package/demos/pc/app/card/check-type-checkbox.vue +40 -0
  79. package/demos/pc/app/card/check-type-radio-composition-api.vue +31 -0
  80. package/demos/pc/app/card/check-type-radio.vue +39 -0
  81. package/demos/pc/app/card/custom-class-composition-api.vue +51 -0
  82. package/demos/pc/app/card/custom-class.vue +59 -0
  83. package/demos/pc/app/card/operate-bar-composition-api.vue +53 -0
  84. package/demos/pc/app/card/operate-bar.vue +60 -0
  85. package/demos/pc/app/card/slot-composition-api.vue +67 -0
  86. package/demos/pc/app/card/slot.vue +76 -0
  87. package/demos/pc/app/card/webdoc/card.cn.md +7 -0
  88. package/demos/pc/app/card/webdoc/card.en.md +7 -0
  89. package/demos/pc/app/card/webdoc/card.js +148 -0
  90. package/demos/pc/app/carousel/basic-usage.spec.ts +3 -3
  91. package/demos/pc/app/carousel/card-mode.spec.ts +4 -11
  92. package/demos/pc/app/carousel/carousel-arrow-hover.spec.ts +5 -7
  93. package/demos/pc/app/carousel/carousel-events.spec.ts +7 -16
  94. package/demos/pc/app/carousel/manual-play.spec.ts +0 -2
  95. package/demos/pc/app/carousel/play-interval.spec.ts +1 -4
  96. package/demos/pc/app/cascader/auto-load-checkStrictly.spec.ts +1 -1
  97. package/demos/pc/app/cascader/auto-load.spec.ts +5 -2
  98. package/demos/pc/app/color-picker/base.spec.ts +2 -2
  99. package/demos/pc/app/color-picker/event.spec.ts +1 -1
  100. package/demos/pc/app/color-picker/history.spec.ts +2 -6
  101. package/demos/pc/app/color-picker/predefine.spec.ts +2 -5
  102. package/demos/pc/app/company/basic-usage.spec.ts +3 -6
  103. package/demos/pc/app/company/custom-service.spec.ts +4 -8
  104. package/demos/pc/app/country/custom-service.spec.js +4 -4
  105. package/demos/pc/app/country/fields.spec.js +2 -2
  106. package/demos/pc/app/crop/aspect-ratio.spec.ts +1 -2
  107. package/demos/pc/app/crop/auto-crop-area.spec.ts +1 -4
  108. package/demos/pc/app/crop/basic-usage.spec.ts +0 -2
  109. package/demos/pc/app/crop/crop-meth.spec.ts +0 -2
  110. package/demos/pc/app/crop/event-ready.spec.ts +0 -1
  111. package/demos/pc/app/crop/get-container-data.spec.ts +0 -1
  112. package/demos/pc/app/crop/get-crop-box-data.spec.ts +0 -2
  113. package/demos/pc/app/crop/get-data.spec.ts +0 -1
  114. package/demos/pc/app/crop/min-crop-box-width-height.spec.ts +0 -2
  115. package/demos/pc/app/crop/no-background.spec.ts +0 -1
  116. package/demos/pc/app/crop/no-modal.spec.ts +0 -2
  117. package/demos/pc/app/crop/replace-image.spec.ts +4 -5
  118. package/demos/pc/app/crop/view-mode.spec.ts +1 -16
  119. package/demos/pc/app/date-picker/align.spec.ts +17 -14
  120. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -22
  121. package/demos/pc/app/date-picker/clear.spec.ts +13 -7
  122. package/demos/pc/app/date-picker/date-range.spec.ts +39 -10
  123. package/demos/pc/app/date-picker/events.spec.ts +11 -3
  124. package/demos/pc/app/date-picker/format.spec.ts +2 -2
  125. package/demos/pc/app/date-picker/shortcuts.spec.ts +1 -2
  126. package/demos/pc/app/dept/custom-service.spec.ts +16 -4
  127. package/demos/pc/app/detail-page/basic-usage.spec.ts +4 -4
  128. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  129. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  130. package/demos/pc/app/dialog-box/center-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/center.vue +1 -1
  132. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +1 -1
  133. package/demos/pc/app/dialog-box/close-on-click-modal.vue +1 -1
  134. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +1 -1
  135. package/demos/pc/app/dialog-box/close-on-press-escape.vue +1 -1
  136. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +1 -1
  137. package/demos/pc/app/dialog-box/custom-dialog-content.vue +1 -1
  138. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  139. package/demos/pc/app/dialog-box/custom-dialog-footer.spec.ts +1 -1
  140. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-title.spec.ts +1 -1
  142. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  143. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  144. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-width.vue +2 -2
  147. package/demos/pc/app/dialog-box/draggable-composition-api.vue +15 -3
  148. package/demos/pc/app/dialog-box/draggable.spec.ts +2 -2
  149. package/demos/pc/app/dialog-box/draggable.vue +15 -3
  150. package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +0 -1
  151. package/demos/pc/app/dialog-box/open-close-events-composition-api.vue +1 -1
  152. package/demos/pc/app/dialog-box/open-close-events.vue +1 -1
  153. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +2 -2
  154. package/demos/pc/app/drawer/tips-props-composition-api.vue +23 -0
  155. package/demos/pc/app/drawer/tips-props.spec.ts +15 -0
  156. package/demos/pc/app/drawer/tips-props.vue +33 -0
  157. package/demos/pc/app/drawer/webdoc/drawer.js +10 -12
  158. package/demos/pc/app/drop-roles/custom-service.spec.ts +1 -1
  159. package/demos/pc/app/file-upload/custom-prefix.spec.ts +1 -1
  160. package/demos/pc/app/file-upload/file-picture-card.spec.ts +1 -1
  161. package/demos/pc/app/file-upload/manual-upload.spec.ts +1 -1
  162. package/demos/pc/app/file-upload/picture-card.spec.ts +3 -2
  163. package/demos/pc/app/file-upload/picture-list.spec.ts +3 -3
  164. package/demos/pc/app/file-upload/upload-file-list.spec.ts +1 -1
  165. package/demos/pc/app/file-upload/upload-request.spec.ts +11 -6
  166. package/demos/pc/app/float-button/backTop-composition-api.vue +40 -0
  167. package/demos/pc/app/float-button/backTop.vue +51 -0
  168. package/demos/pc/app/float-button/basic-usage-composition-api.vue +39 -0
  169. package/demos/pc/app/float-button/basic-usage.vue +48 -0
  170. package/demos/pc/app/float-button/icon-composition-api.vue +21 -0
  171. package/demos/pc/app/float-button/icon.vue +31 -0
  172. package/demos/pc/app/float-button/jump-composition-api.vue +19 -0
  173. package/demos/pc/app/float-button/jump.vue +26 -0
  174. package/demos/pc/app/float-button/reset-time-composition-api.vue +22 -0
  175. package/demos/pc/app/float-button/reset-time.vue +26 -0
  176. package/demos/pc/app/float-button/trigger-composition-api.vue +31 -0
  177. package/demos/pc/app/float-button/trigger.vue +40 -0
  178. package/demos/pc/app/float-button/webdoc/float-button.cn.md +7 -0
  179. package/demos/pc/app/float-button/webdoc/float-button.en.md +7 -0
  180. package/demos/pc/app/float-button/webdoc/float-button.js +68 -0
  181. package/demos/pc/app/floatbar/base.spec.ts +1 -1
  182. package/demos/pc/app/floatbar/custom-floatbar-item.spec.ts +1 -1
  183. package/demos/pc/app/floatbar/custom-style.spec.ts +1 -1
  184. package/demos/pc/app/floatbar/operation-floatbar-item.spec.ts +1 -1
  185. package/demos/pc/app/form/form-row-col.spec.js +2 -0
  186. package/demos/pc/app/form/label-position.spec.ts +3 -3
  187. package/demos/pc/app/grid/custom/ordercolumn-local.spec.js +2 -2
  188. package/demos/pc/app/grid/data-source/static-data-composition-api.vue +1 -1
  189. package/demos/pc/app/grid/data-source/static-data.spec.js +1 -1
  190. package/demos/pc/app/grid/data-source/static-data.vue +1 -1
  191. package/demos/pc/app/grid/edit/grid-equals-composition-api.vue +50 -0
  192. package/demos/pc/app/grid/edit/grid-equals.spec.js +10 -0
  193. package/demos/pc/app/grid/edit/grid-equals.vue +60 -0
  194. package/demos/pc/app/grid/edit/has-row-change.spec.js +2 -2
  195. package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +11 -11
  196. package/demos/pc/app/grid/editor/mutil-render.spec.js +1 -1
  197. package/demos/pc/app/grid/event/get-row-method.spec.js +4 -4
  198. package/demos/pc/app/grid/filter/server-filter.spec.js +1 -1
  199. package/demos/pc/app/grid/fixed/left-fixed.vue +1 -1
  200. package/demos/pc/app/grid/large-data/column-anchor.vue +132 -0
  201. package/demos/pc/app/grid/large-data/scroll-to.spec.js +1 -1
  202. package/demos/pc/app/grid/loading/grid-loading-tip.spec.js +1 -1
  203. package/demos/pc/app/grid/pager/show-save-msg-composition-api.vue +1 -1
  204. package/demos/pc/app/grid/pager/show-save-msg.vue +1 -1
  205. package/demos/pc/app/grid/renderer/inner-renderer-date-composition-api.vue +40 -0
  206. package/demos/pc/app/grid/renderer/inner-renderer-date.spec.js +9 -0
  207. package/demos/pc/app/grid/renderer/inner-renderer-date.vue +50 -0
  208. package/demos/pc/app/grid/size/grid-size-composition-api.vue +33 -26
  209. package/demos/pc/app/grid/size/grid-size.spec.js +7 -3
  210. package/demos/pc/app/grid/size/grid-size.vue +34 -26
  211. package/demos/pc/app/grid/sort/sort.vue +0 -1
  212. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport-composition-api.vue +65 -0
  213. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.spec.js +10 -0
  214. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.vue +73 -0
  215. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.spec.js +1 -1
  216. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +1 -1
  217. package/demos/pc/app/grid/webdoc/grid-edit.js +11 -0
  218. package/demos/pc/app/grid/webdoc/grid-large-data.js +1 -49
  219. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -0
  220. package/demos/pc/app/grid/webdoc/grid-toolbar.js +10 -1
  221. package/demos/pc/app/guide/basic-usage.spec.ts +3 -2
  222. package/demos/pc/app/guide/offset.spec.ts +3 -1
  223. package/demos/pc/app/hrapprover/basic-usage.spec.ts +2 -6
  224. package/demos/pc/app/hrapprover/custom-service.spec.ts +5 -2
  225. package/demos/pc/app/hrapprover/disabled.spec.ts +1 -1
  226. package/demos/pc/app/ip-address/delimiter.spec.ts +1 -1
  227. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  228. package/demos/pc/app/locales/custom-service.spec.ts +0 -3
  229. package/demos/pc/app/logout/basic-usage.spec.ts +5 -5
  230. package/demos/pc/app/milestone/show-number.spec.ts +1 -1
  231. package/demos/pc/app/milestone/solid-style.spec.ts +1 -1
  232. package/demos/pc/app/modal/basic-usage.spec.ts +1 -1
  233. package/demos/pc/app/modal/duration.spec.ts +1 -2
  234. package/demos/pc/app/modal/{min-width-composition-api.vue → min-width-height-composition-api.vue} +4 -2
  235. package/demos/pc/app/modal/{min-width.spec.ts → min-width-height.spec.ts} +3 -3
  236. package/demos/pc/app/modal/{min-width.vue → min-width-height.vue} +4 -2
  237. package/demos/pc/app/modal/prop-slots-composition-api.vue +2 -2
  238. package/demos/pc/app/modal/show-header-footer-composition-api.vue +11 -0
  239. package/demos/pc/app/modal/{showHeader.spec.ts → show-header-footer.spec.ts} +3 -3
  240. package/demos/pc/app/modal/{showHeader.vue → show-header-footer.vue} +2 -2
  241. package/demos/pc/app/modal/webdoc/modal.js +12 -36
  242. package/demos/pc/app/notify/closeIcon.spec.ts +1 -1
  243. package/demos/pc/app/numeric/change-event-composition-api.vue +9 -2
  244. package/demos/pc/app/numeric/change-event.vue +10 -3
  245. package/demos/pc/app/numeric/dynamic-disabled-composition-api.vue +10 -2
  246. package/demos/pc/app/numeric/dynamic-disabled.spec.ts +1 -1
  247. package/demos/pc/app/numeric/dynamic-disabled.vue +11 -3
  248. package/demos/pc/app/numeric/precision-composition-api.vue +1 -1
  249. package/demos/pc/app/numeric/precision.spec.ts +10 -11
  250. package/demos/pc/app/pager/before-page-change.spec.ts +1 -1
  251. package/demos/pc/app/pager/disabled-and-size.spec.ts +1 -1
  252. package/demos/pc/app/pop-upload/basic-usage.spec.ts +1 -1
  253. package/demos/pc/app/pop-upload/custom-request-headers.spec.ts +1 -1
  254. package/demos/pc/app/popeditor/condition-form-composition-api.vue +0 -1
  255. package/demos/pc/app/popeditor/condition-form.vue +0 -1
  256. package/demos/pc/app/popeditor/events-composition-api.vue +8 -2
  257. package/demos/pc/app/popeditor/events.vue +8 -2
  258. package/demos/pc/app/popeditor/webdoc/popeditor.js +9 -9
  259. package/demos/pc/app/popover/webdoc/popover.js +69 -28
  260. package/demos/pc/app/radio/group-options-composition-api.vue +1 -1
  261. package/demos/pc/app/rate/custom-3-threshold-colors.spec.js +0 -13
  262. package/demos/pc/app/rate/custom-3-threshold-icon.spec.js +5 -5
  263. package/demos/pc/app/rate/disabled-not-selected-class.spec.js +1 -1
  264. package/demos/pc/app/rate/not-selected-class.spec.js +1 -1
  265. package/demos/pc/app/rate/threshold-value.spec.js +0 -13
  266. package/demos/pc/app/search/basic-usage-composition-api.vue +1 -1
  267. package/demos/pc/app/search/basic-usage.vue +1 -1
  268. package/demos/pc/app/search/webdoc/search.js +3 -2
  269. package/demos/pc/app/select/copy-multi.spec.ts +6 -5
  270. package/demos/pc/app/select/copy-single.spec.ts +7 -4
  271. package/demos/pc/app/select/events.spec.ts +2 -2
  272. package/demos/pc/app/select/optimization.spec.ts +3 -7
  273. package/demos/pc/app/select/option-group-composition-api.vue +2 -2
  274. package/demos/pc/app/select/option-group.vue +2 -2
  275. package/demos/pc/app/select/searchable.spec.ts +1 -1
  276. package/demos/pc/app/select/size.spec.ts +1 -1
  277. package/demos/pc/app/select/tag-type-composition-api.vue +1 -1
  278. package/demos/pc/app/select/tag-type.spec.ts +1 -1
  279. package/demos/pc/app/select/tag-type.vue +1 -1
  280. package/demos/pc/app/slide-bar/basic-usage.spec.ts +0 -5
  281. package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +2 -6
  282. package/demos/pc/app/slider/marks-composition-api.vue +20 -0
  283. package/demos/pc/app/slider/marks.spec.ts +12 -0
  284. package/demos/pc/app/slider/marks.vue +27 -0
  285. package/demos/pc/app/slider/show-input-composition-api.vue +2 -0
  286. package/demos/pc/app/slider/show-input.vue +3 -1
  287. package/demos/pc/app/slider/show-iput.spec.ts +14 -4
  288. package/demos/pc/app/slider/webdoc/slider.js +12 -0
  289. package/demos/pc/app/steps/advanced-steps-composition-api.vue +2 -2
  290. package/demos/pc/app/steps/advanced-steps.spec.ts +3 -3
  291. package/demos/pc/app/steps/advanced-steps.vue +2 -2
  292. package/demos/pc/app/steps/click-composition-api.vue +3 -10
  293. package/demos/pc/app/steps/click.vue +4 -12
  294. package/demos/pc/app/steps/line-horizontal-composition-api.vue +1 -1
  295. package/demos/pc/app/steps/line-horizontal.vue +1 -1
  296. package/demos/pc/app/steps/line-vertical-composition-api.vue +1 -1
  297. package/demos/pc/app/steps/line-vertical.vue +1 -1
  298. package/demos/pc/app/tabs/overflow-title-composition-api.vue +19 -0
  299. package/demos/pc/app/tabs/overflow-title.vue +28 -0
  300. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +5 -1
  301. package/demos/pc/app/tabs/tabs-events-close.vue +5 -1
  302. package/demos/pc/app/tabs/webdoc/tabs.js +18 -4
  303. package/demos/pc/app/tag/delete.spec.ts +3 -3
  304. package/demos/pc/app/time-line/shape-composition-api.vue +5 -2
  305. package/demos/pc/app/time-line/shape.spec.ts +2 -0
  306. package/demos/pc/app/time-line/shape.vue +5 -1
  307. package/demos/pc/app/time-line/show-divider-composition-api.vue +1 -1
  308. package/demos/pc/app/time-line/show-divider.vue +1 -1
  309. package/demos/pc/app/time-picker/disabled.spec.ts +9 -1
  310. package/demos/pc/app/time-picker/event.spec.ts +1 -2
  311. package/demos/pc/app/time-picker/format.spec.ts +10 -3
  312. package/demos/pc/app/time-picker/step.spec.ts +4 -1
  313. package/demos/pc/app/time-select/basic-usage.spec.ts +1 -1
  314. package/demos/pc/app/time-select/clear-icon.spec.ts +1 -1
  315. package/demos/pc/app/time-select/default-value.spec.ts +1 -1
  316. package/demos/pc/app/time-select/event-blur-composition-api.vue +3 -3
  317. package/demos/pc/app/time-select/event-blur.spec.ts +1 -1
  318. package/demos/pc/app/time-select/event-blur.vue +3 -3
  319. package/demos/pc/app/time-select/focus-composition-api.vue +1 -1
  320. package/demos/pc/app/time-select/focus.spec.ts +2 -3
  321. package/demos/pc/app/time-select/focus.vue +1 -1
  322. package/demos/pc/app/time-select/range-placeholder.spec.ts +2 -2
  323. package/demos/pc/app/tooltip/theme-composition-api.vue +28 -26
  324. package/demos/pc/app/tooltip/theme.vue +28 -26
  325. package/demos/pc/app/tooltip/webdoc/tooltip.js +55 -29
  326. package/demos/pc/app/transfer/webdoc/transfer.js +130 -44
  327. package/demos/pc/app/tree/webdoc/tree.js +319 -68
  328. package/demos/pc/app/tree-menu/basic-usage.spec.ts +0 -1
  329. package/demos/pc/app/tree-menu/props.spec.ts +2 -1
  330. package/demos/pc/app/user/custom-service.spec.ts +1 -1
  331. package/demos/pc/app/user-account/custom-service.spec.ts +2 -8
  332. package/demos/pc/app/user-contact/contact-espace-composition-api.vue +1 -0
  333. package/demos/pc/app/user-link/custom-service.spec.ts +2 -2
  334. package/demos/pc/app/watermark/webdoc/watermark.js +1 -1
  335. package/demos/pc/menus.js +2 -1
  336. package/demos/pc/resource/newVars.json +2 -2
  337. package/demos/pc/webdoc/changelog.md +138 -0
  338. package/demos/pc/webdoc/import-components-en.md +40 -2
  339. package/demos/pc/webdoc/import-components.md +40 -2
  340. package/package.json +11 -11
  341. package/playground/App.vue +2 -2
  342. package/src/App.vue +3 -2
  343. package/src/const.ts +27 -0
  344. package/src/router.js +5 -3
  345. package/src/tools/useTheme.js +60 -50
  346. package/src/views/components/components.vue +12 -33
  347. package/src/views/components/demo.vue +4 -4
  348. package/src/views/layout/layout.vue +6 -6
  349. package/src/views/overview.vue +6 -3
  350. package/demos/pc/app/credit-card-form/background-image.spec.ts +0 -10
  351. package/demos/pc/app/credit-card-form/basic-usage.spec.ts +0 -13
  352. package/demos/pc/app/credit-card-form/credit-card-form-events.spec.ts +0 -18
  353. package/demos/pc/app/drawer/default-slot-composition-api.vue +0 -25
  354. package/demos/pc/app/drawer/default-slot.spec.ts +0 -11
  355. package/demos/pc/app/drawer/default-slot.vue +0 -35
  356. package/demos/pc/app/font/Font-usage-specifications.spec.js +0 -41
  357. package/demos/pc/app/font/chinese-font-set.spec.js +0 -10
  358. package/demos/pc/app/font/english-fonts.spec.js +0 -10
  359. package/demos/pc/app/hrapprover/category-type.spec.ts +0 -13
  360. package/demos/pc/app/modal/min-height-composition-api.vue +0 -16
  361. package/demos/pc/app/modal/min-height.spec.ts +0 -21
  362. package/demos/pc/app/modal/min-height.vue +0 -23
  363. package/demos/pc/app/modal/showFooter-composition-api.vue +0 -11
  364. package/demos/pc/app/modal/showFooter.spec.ts +0 -10
  365. package/demos/pc/app/modal/showFooter.vue +0 -18
  366. 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: '确认' }).click()
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: '确认' }).click()
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
- function editRowEvent(row) {
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
- this.getActiveRow()
105
+ getActiveRow()
100
106
  })
101
107
  } else {
102
108
  // mode: 'cell' 时默认激活第一个单元格
103
109
  theGridRef.value.setActiveRow(row).then(() => {
104
- this.getActiveRow()
110
+ getActiveRow()
105
111
  })
106
112
  }
107
113
  }
108
114
 
109
- function saveRowEvent() {
115
+ const saveRowEvent = () => {
110
116
  theGridRef.value.clearActived().then(() => {
111
117
  getActiveRow()
112
118
  })
113
119
  }
114
120
 
115
- function cancelRowEvent() {
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 > .st0').click()
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: '确认' }).click()
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: '确认' }).click()
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: '确认' }).click()
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: '确认' }).click()
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(500)
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 border :data="tableData">
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(1000)
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-loading__wrap')).toBeVisible()
7
+ await expect(page.locator('.tiny-grid-loading')).toBeVisible()
8
8
  })
@@ -122,6 +122,6 @@ function getData({ page }) {
122
122
  }
123
123
 
124
124
  function pageChange() {
125
- Modal.message('取消分页')
125
+ Modal.message({ message: '取消分页', status: 'info' })
126
126
  }
127
127
  </script>
@@ -129,7 +129,7 @@ export default {
129
129
  })
130
130
  },
131
131
  pageChange() {
132
- Modal.message('取消分页')
132
+ Modal.message({ message: '取消分页', status: 'info' })
133
133
  }
134
134
  }
135
135
  }
@@ -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
- <p>medium</p>
3
- <tiny-grid :data="tableData" size="medium">
4
- <tiny-grid-column type="index" width="60"></tiny-grid-column>
5
- <tiny-grid-column type="selection" width="60"></tiny-grid-column>
6
- <tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
7
- <tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
8
- <tiny-grid-column field="city" title="城市"></tiny-grid-column>
9
- </tiny-grid>
10
- <p>small</p>
11
- <tiny-grid :data="tableData" size="small">
12
- <tiny-grid-column type="index" width="60"></tiny-grid-column>
13
- <tiny-grid-column type="selection" width="60"></tiny-grid-column>
14
- <tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
15
- <tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
16
- <tiny-grid-column field="city" title="城市"></tiny-grid-column>
17
- </tiny-grid>
18
- <p>mini</p>
19
- <tiny-grid :data="tableData" size="mini">
20
- <tiny-grid-column type="index" width="60"></tiny-grid-column>
21
- <tiny-grid-column type="selection" width="60"></tiny-grid-column>
22
- <tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
23
- <tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
24
- <tiny-grid-column field="city" title="城市"></tiny-grid-column>
25
- </tiny-grid>
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 lang="jsx">
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
- const miniTd = page.locator('.size__small .tiny-grid-body__column').first()
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).toBeGreaterThanOrEqual(heightSamll)
14
- await expect(heightSamll).toBeGreaterThanOrEqual(heightMini)
17
+ await expect(heightMedium).toBeGreaterThan(heightSamll)
18
+ await expect(heightSamll).toBeGreaterThan(heightMini)
15
19
  })