@opentiny/vue-docs 2.2.18 → 2.2.20

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 (380) 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 +25 -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-composition-api.vue +6 -6
  63. package/demos/pc/app/button/ghost.spec.ts +19 -12
  64. package/demos/pc/app/button/ghost.vue +6 -6
  65. package/demos/pc/app/card/basic-usage-composition-api.vue +24 -0
  66. package/demos/pc/app/card/basic-usage.vue +32 -0
  67. package/demos/pc/app/card/card-disabled-composition-api.vue +45 -0
  68. package/demos/pc/app/card/card-disabled.vue +53 -0
  69. package/demos/pc/app/card/card-events-composition-api.vue +66 -0
  70. package/demos/pc/app/card/card-events.vue +75 -0
  71. package/demos/pc/app/card/card-group-composition-api.vue +69 -0
  72. package/demos/pc/app/card/card-group.vue +79 -0
  73. package/demos/pc/app/card/card-size-composition-api.vue +59 -0
  74. package/demos/pc/app/card/card-size.vue +67 -0
  75. package/demos/pc/app/card/card-status-composition-api.vue +49 -0
  76. package/demos/pc/app/card/card-status.vue +58 -0
  77. package/demos/pc/app/card/card-type-composition-api.vue +47 -0
  78. package/demos/pc/app/card/card-type.vue +55 -0
  79. package/demos/pc/app/card/check-type-checkbox-composition-api.vue +31 -0
  80. package/demos/pc/app/card/check-type-checkbox.vue +40 -0
  81. package/demos/pc/app/card/check-type-radio-composition-api.vue +31 -0
  82. package/demos/pc/app/card/check-type-radio.vue +39 -0
  83. package/demos/pc/app/card/custom-class-composition-api.vue +51 -0
  84. package/demos/pc/app/card/custom-class.vue +59 -0
  85. package/demos/pc/app/card/operate-bar-composition-api.vue +53 -0
  86. package/demos/pc/app/card/operate-bar.vue +60 -0
  87. package/demos/pc/app/card/slot-composition-api.vue +67 -0
  88. package/demos/pc/app/card/slot.vue +76 -0
  89. package/demos/pc/app/card/webdoc/card.cn.md +7 -0
  90. package/demos/pc/app/card/webdoc/card.en.md +7 -0
  91. package/demos/pc/app/card/webdoc/card.js +148 -0
  92. package/demos/pc/app/carousel/basic-usage.spec.ts +3 -3
  93. package/demos/pc/app/carousel/card-mode.spec.ts +4 -11
  94. package/demos/pc/app/carousel/carousel-arrow-hover.spec.ts +5 -7
  95. package/demos/pc/app/carousel/carousel-events.spec.ts +7 -16
  96. package/demos/pc/app/carousel/manual-play.spec.ts +0 -2
  97. package/demos/pc/app/carousel/play-interval.spec.ts +1 -4
  98. package/demos/pc/app/cascader/auto-load-checkStrictly.spec.ts +1 -1
  99. package/demos/pc/app/cascader/auto-load.spec.ts +5 -2
  100. package/demos/pc/app/color-picker/base.spec.ts +2 -2
  101. package/demos/pc/app/color-picker/event.spec.ts +1 -1
  102. package/demos/pc/app/color-picker/history.spec.ts +2 -6
  103. package/demos/pc/app/color-picker/predefine.spec.ts +2 -5
  104. package/demos/pc/app/company/basic-usage.spec.ts +3 -6
  105. package/demos/pc/app/company/custom-service.spec.ts +4 -8
  106. package/demos/pc/app/country/custom-service.spec.js +4 -4
  107. package/demos/pc/app/country/fields.spec.js +2 -2
  108. package/demos/pc/app/crop/aspect-ratio.spec.ts +1 -2
  109. package/demos/pc/app/crop/auto-crop-area.spec.ts +1 -4
  110. package/demos/pc/app/crop/basic-usage.spec.ts +0 -2
  111. package/demos/pc/app/crop/crop-meth.spec.ts +0 -2
  112. package/demos/pc/app/crop/event-ready.spec.ts +0 -1
  113. package/demos/pc/app/crop/get-container-data.spec.ts +0 -1
  114. package/demos/pc/app/crop/get-crop-box-data.spec.ts +0 -2
  115. package/demos/pc/app/crop/get-data.spec.ts +0 -1
  116. package/demos/pc/app/crop/min-crop-box-width-height.spec.ts +0 -2
  117. package/demos/pc/app/crop/no-background.spec.ts +0 -1
  118. package/demos/pc/app/crop/no-modal.spec.ts +0 -2
  119. package/demos/pc/app/crop/replace-image.spec.ts +4 -5
  120. package/demos/pc/app/crop/view-mode.spec.ts +1 -16
  121. package/demos/pc/app/date-picker/align.spec.ts +17 -14
  122. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -22
  123. package/demos/pc/app/date-picker/clear.spec.ts +13 -7
  124. package/demos/pc/app/date-picker/date-range.spec.ts +39 -10
  125. package/demos/pc/app/date-picker/events.spec.ts +11 -3
  126. package/demos/pc/app/date-picker/format.spec.ts +2 -2
  127. package/demos/pc/app/date-picker/shortcuts.spec.ts +1 -2
  128. package/demos/pc/app/dept/custom-service.spec.ts +16 -4
  129. package/demos/pc/app/detail-page/basic-usage.spec.ts +4 -4
  130. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  132. package/demos/pc/app/dialog-box/center-composition-api.vue +1 -1
  133. package/demos/pc/app/dialog-box/center.vue +1 -1
  134. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +1 -1
  135. package/demos/pc/app/dialog-box/close-on-click-modal.vue +1 -1
  136. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +1 -1
  137. package/demos/pc/app/dialog-box/close-on-press-escape.vue +1 -1
  138. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +1 -1
  139. package/demos/pc/app/dialog-box/custom-dialog-content.vue +1 -1
  140. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-footer.spec.ts +1 -1
  142. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  143. package/demos/pc/app/dialog-box/custom-dialog-title.spec.ts +1 -1
  144. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  147. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +2 -2
  148. package/demos/pc/app/dialog-box/dialog-width.vue +2 -2
  149. package/demos/pc/app/dialog-box/draggable-composition-api.vue +15 -3
  150. package/demos/pc/app/dialog-box/draggable.spec.ts +2 -2
  151. package/demos/pc/app/dialog-box/draggable.vue +15 -3
  152. package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +0 -1
  153. package/demos/pc/app/dialog-box/open-close-events-composition-api.vue +1 -1
  154. package/demos/pc/app/dialog-box/open-close-events.vue +1 -1
  155. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +2 -2
  156. package/demos/pc/app/drawer/tips-props-composition-api.vue +23 -0
  157. package/demos/pc/app/drawer/tips-props.spec.ts +15 -0
  158. package/demos/pc/app/drawer/tips-props.vue +33 -0
  159. package/demos/pc/app/drawer/webdoc/drawer.js +10 -12
  160. package/demos/pc/app/drop-roles/custom-service.spec.ts +1 -1
  161. package/demos/pc/app/file-upload/custom-prefix.spec.ts +1 -1
  162. package/demos/pc/app/file-upload/file-picture-card.spec.ts +1 -1
  163. package/demos/pc/app/file-upload/manual-upload.spec.ts +1 -1
  164. package/demos/pc/app/file-upload/picture-card.spec.ts +3 -2
  165. package/demos/pc/app/file-upload/picture-list.spec.ts +3 -3
  166. package/demos/pc/app/file-upload/upload-file-list.spec.ts +1 -1
  167. package/demos/pc/app/file-upload/upload-request.spec.ts +11 -6
  168. package/demos/pc/app/float-button/backTop-composition-api.vue +40 -0
  169. package/demos/pc/app/float-button/backTop.vue +51 -0
  170. package/demos/pc/app/float-button/basic-usage-composition-api.vue +39 -0
  171. package/demos/pc/app/float-button/basic-usage.vue +48 -0
  172. package/demos/pc/app/float-button/icon-composition-api.vue +21 -0
  173. package/demos/pc/app/float-button/icon.vue +31 -0
  174. package/demos/pc/app/float-button/jump-composition-api.vue +19 -0
  175. package/demos/pc/app/float-button/jump.vue +26 -0
  176. package/demos/pc/app/float-button/reset-time-composition-api.vue +22 -0
  177. package/demos/pc/app/float-button/reset-time.vue +26 -0
  178. package/demos/pc/app/float-button/trigger-composition-api.vue +31 -0
  179. package/demos/pc/app/float-button/trigger.vue +40 -0
  180. package/demos/pc/app/float-button/webdoc/float-button.cn.md +7 -0
  181. package/demos/pc/app/float-button/webdoc/float-button.en.md +7 -0
  182. package/demos/pc/app/float-button/webdoc/float-button.js +68 -0
  183. package/demos/pc/app/floatbar/base.spec.ts +1 -1
  184. package/demos/pc/app/floatbar/custom-floatbar-item.spec.ts +1 -1
  185. package/demos/pc/app/floatbar/custom-style.spec.ts +1 -1
  186. package/demos/pc/app/floatbar/operation-floatbar-item.spec.ts +1 -1
  187. package/demos/pc/app/form/form-row-col.spec.js +2 -0
  188. package/demos/pc/app/form/label-position.spec.ts +3 -3
  189. package/demos/pc/app/grid/custom/ordercolumn-local.spec.js +2 -2
  190. package/demos/pc/app/grid/data-source/static-data-composition-api.vue +1 -1
  191. package/demos/pc/app/grid/data-source/static-data.spec.js +1 -1
  192. package/demos/pc/app/grid/data-source/static-data.vue +1 -1
  193. package/demos/pc/app/grid/edit/grid-equals-composition-api.vue +50 -0
  194. package/demos/pc/app/grid/edit/grid-equals.spec.js +10 -0
  195. package/demos/pc/app/grid/edit/grid-equals.vue +60 -0
  196. package/demos/pc/app/grid/edit/has-row-change.spec.js +2 -2
  197. package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +11 -11
  198. package/demos/pc/app/grid/editor/mutil-render.spec.js +1 -1
  199. package/demos/pc/app/grid/event/get-row-method.spec.js +4 -4
  200. package/demos/pc/app/grid/filter/server-filter.spec.js +1 -1
  201. package/demos/pc/app/grid/fixed/left-fixed.vue +1 -1
  202. package/demos/pc/app/grid/large-data/column-anchor.vue +132 -0
  203. package/demos/pc/app/grid/large-data/scroll-to.spec.js +1 -1
  204. package/demos/pc/app/grid/loading/grid-loading-tip.spec.js +1 -1
  205. package/demos/pc/app/grid/pager/show-save-msg-composition-api.vue +1 -1
  206. package/demos/pc/app/grid/pager/show-save-msg.vue +1 -1
  207. package/demos/pc/app/grid/renderer/inner-renderer-date-composition-api.vue +40 -0
  208. package/demos/pc/app/grid/renderer/inner-renderer-date.spec.js +9 -0
  209. package/demos/pc/app/grid/renderer/inner-renderer-date.vue +50 -0
  210. package/demos/pc/app/grid/size/grid-size-composition-api.vue +33 -26
  211. package/demos/pc/app/grid/size/grid-size.spec.js +7 -3
  212. package/demos/pc/app/grid/size/grid-size.vue +34 -26
  213. package/demos/pc/app/grid/sort/sort.vue +0 -1
  214. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport-composition-api.vue +65 -0
  215. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.spec.js +10 -0
  216. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.vue +73 -0
  217. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.spec.js +1 -1
  218. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +1 -1
  219. package/demos/pc/app/grid/webdoc/grid-custom-style.js +1 -1
  220. package/demos/pc/app/grid/webdoc/grid-edit.js +11 -0
  221. package/demos/pc/app/grid/webdoc/grid-editor.js +1 -1
  222. package/demos/pc/app/grid/webdoc/grid-large-data.js +1 -49
  223. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -0
  224. package/demos/pc/app/grid/webdoc/grid-toolbar.js +11 -2
  225. package/demos/pc/app/guide/basic-usage.spec.ts +3 -2
  226. package/demos/pc/app/guide/offset.spec.ts +3 -1
  227. package/demos/pc/app/hrapprover/basic-usage.spec.ts +2 -6
  228. package/demos/pc/app/hrapprover/custom-service.spec.ts +5 -2
  229. package/demos/pc/app/hrapprover/disabled.spec.ts +1 -1
  230. package/demos/pc/app/ip-address/delimiter.spec.ts +1 -1
  231. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  232. package/demos/pc/app/locales/custom-service.spec.ts +0 -3
  233. package/demos/pc/app/logout/basic-usage.spec.ts +5 -5
  234. package/demos/pc/app/milestone/show-number.spec.ts +1 -1
  235. package/demos/pc/app/milestone/solid-style.spec.ts +1 -1
  236. package/demos/pc/app/modal/basic-usage.spec.ts +1 -1
  237. package/demos/pc/app/modal/duration.spec.ts +1 -2
  238. package/demos/pc/app/modal/{min-width-composition-api.vue → min-width-height-composition-api.vue} +4 -2
  239. package/demos/pc/app/modal/{min-width.spec.ts → min-width-height.spec.ts} +3 -3
  240. package/demos/pc/app/modal/{min-width.vue → min-width-height.vue} +4 -2
  241. package/demos/pc/app/modal/prop-slots-composition-api.vue +2 -2
  242. package/demos/pc/app/modal/show-header-footer-composition-api.vue +11 -0
  243. package/demos/pc/app/modal/{showHeader.spec.ts → show-header-footer.spec.ts} +3 -3
  244. package/demos/pc/app/modal/{showHeader.vue → show-header-footer.vue} +2 -2
  245. package/demos/pc/app/modal/webdoc/modal.js +12 -36
  246. package/demos/pc/app/notify/closeIcon.spec.ts +1 -1
  247. package/demos/pc/app/numeric/change-event-composition-api.vue +9 -2
  248. package/demos/pc/app/numeric/change-event.vue +10 -3
  249. package/demos/pc/app/numeric/dynamic-disabled-composition-api.vue +10 -2
  250. package/demos/pc/app/numeric/dynamic-disabled.spec.ts +1 -1
  251. package/demos/pc/app/numeric/dynamic-disabled.vue +11 -3
  252. package/demos/pc/app/numeric/mouse-wheel.spec.ts +2 -2
  253. package/demos/pc/app/numeric/precision-composition-api.vue +1 -1
  254. package/demos/pc/app/numeric/precision.spec.ts +10 -11
  255. package/demos/pc/app/numeric/string-mode-composition-api.vue +10 -0
  256. package/demos/pc/app/numeric/string-mode.spec.ts +17 -0
  257. package/demos/pc/app/numeric/string-mode.vue +19 -0
  258. package/demos/pc/app/numeric/webdoc/numeric.js +13 -0
  259. package/demos/pc/app/pager/before-page-change.spec.ts +1 -1
  260. package/demos/pc/app/pager/disabled-and-size.spec.ts +1 -1
  261. package/demos/pc/app/pop-upload/basic-usage.spec.ts +1 -1
  262. package/demos/pc/app/pop-upload/custom-request-headers.spec.ts +1 -1
  263. package/demos/pc/app/popeditor/condition-form-composition-api.vue +0 -1
  264. package/demos/pc/app/popeditor/condition-form.vue +0 -1
  265. package/demos/pc/app/popeditor/events-composition-api.vue +8 -2
  266. package/demos/pc/app/popeditor/events.vue +8 -2
  267. package/demos/pc/app/popeditor/webdoc/popeditor.js +9 -9
  268. package/demos/pc/app/popover/webdoc/popover.js +69 -28
  269. package/demos/pc/app/radio/group-options-composition-api.vue +1 -1
  270. package/demos/pc/app/rate/custom-3-threshold-colors.spec.js +0 -13
  271. package/demos/pc/app/rate/custom-3-threshold-icon.spec.js +5 -5
  272. package/demos/pc/app/rate/disabled-not-selected-class.spec.js +1 -1
  273. package/demos/pc/app/rate/not-selected-class.spec.js +1 -1
  274. package/demos/pc/app/rate/threshold-value.spec.js +0 -13
  275. package/demos/pc/app/search/basic-usage-composition-api.vue +1 -1
  276. package/demos/pc/app/search/basic-usage.vue +1 -1
  277. package/demos/pc/app/search/webdoc/search.js +3 -2
  278. package/demos/pc/app/select/copy-multi.spec.ts +6 -5
  279. package/demos/pc/app/select/copy-single.spec.ts +7 -4
  280. package/demos/pc/app/select/disabled-composition-api.vue +2 -2
  281. package/demos/pc/app/select/disabled.spec.ts +3 -3
  282. package/demos/pc/app/select/disabled.vue +2 -2
  283. package/demos/pc/app/select/events.spec.ts +3 -3
  284. package/demos/pc/app/select/multiple.vue +1 -1
  285. package/demos/pc/app/select/optimization.spec.ts +3 -7
  286. package/demos/pc/app/select/option-group-composition-api.vue +2 -2
  287. package/demos/pc/app/select/option-group.vue +2 -2
  288. package/demos/pc/app/select/searchable.spec.ts +1 -1
  289. package/demos/pc/app/select/size.spec.ts +1 -1
  290. package/demos/pc/app/select/tag-type-composition-api.vue +1 -1
  291. package/demos/pc/app/select/tag-type.spec.ts +1 -1
  292. package/demos/pc/app/select/tag-type.vue +1 -1
  293. package/demos/pc/app/slide-bar/basic-usage.spec.ts +0 -5
  294. package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +2 -6
  295. package/demos/pc/app/slider/marks-composition-api.vue +20 -0
  296. package/demos/pc/app/slider/marks.spec.ts +12 -0
  297. package/demos/pc/app/slider/marks.vue +27 -0
  298. package/demos/pc/app/slider/show-input-composition-api.vue +2 -0
  299. package/demos/pc/app/slider/show-input.vue +3 -1
  300. package/demos/pc/app/slider/show-iput.spec.ts +14 -4
  301. package/demos/pc/app/slider/webdoc/slider.js +12 -0
  302. package/demos/pc/app/steps/advanced-steps-composition-api.vue +2 -2
  303. package/demos/pc/app/steps/advanced-steps.spec.ts +3 -3
  304. package/demos/pc/app/steps/advanced-steps.vue +2 -2
  305. package/demos/pc/app/steps/click-composition-api.vue +3 -10
  306. package/demos/pc/app/steps/click.vue +4 -12
  307. package/demos/pc/app/steps/line-horizontal-composition-api.vue +1 -1
  308. package/demos/pc/app/steps/line-horizontal.vue +1 -1
  309. package/demos/pc/app/steps/line-vertical-composition-api.vue +1 -1
  310. package/demos/pc/app/steps/line-vertical.vue +1 -1
  311. package/demos/pc/app/tabs/overflow-title-composition-api.vue +19 -0
  312. package/demos/pc/app/tabs/overflow-title.vue +28 -0
  313. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +5 -1
  314. package/demos/pc/app/tabs/tabs-events-close.spec.ts +1 -1
  315. package/demos/pc/app/tabs/tabs-events-close.vue +5 -1
  316. package/demos/pc/app/tabs/webdoc/tabs.js +18 -4
  317. package/demos/pc/app/tag/delete.spec.ts +3 -3
  318. package/demos/pc/app/time-line/shape-composition-api.vue +5 -2
  319. package/demos/pc/app/time-line/shape.spec.ts +2 -0
  320. package/demos/pc/app/time-line/shape.vue +5 -1
  321. package/demos/pc/app/time-line/show-divider-composition-api.vue +1 -1
  322. package/demos/pc/app/time-line/show-divider.vue +1 -1
  323. package/demos/pc/app/time-picker/disabled.spec.ts +9 -1
  324. package/demos/pc/app/time-picker/event.spec.ts +1 -2
  325. package/demos/pc/app/time-picker/format.spec.ts +10 -3
  326. package/demos/pc/app/time-picker/step.spec.ts +4 -1
  327. package/demos/pc/app/time-select/basic-usage.spec.ts +1 -1
  328. package/demos/pc/app/time-select/clear-icon.spec.ts +1 -1
  329. package/demos/pc/app/time-select/default-value.spec.ts +1 -1
  330. package/demos/pc/app/time-select/event-blur-composition-api.vue +3 -3
  331. package/demos/pc/app/time-select/event-blur.spec.ts +1 -1
  332. package/demos/pc/app/time-select/event-blur.vue +3 -3
  333. package/demos/pc/app/time-select/focus-composition-api.vue +1 -1
  334. package/demos/pc/app/time-select/focus.spec.ts +2 -3
  335. package/demos/pc/app/time-select/focus.vue +1 -1
  336. package/demos/pc/app/time-select/range-placeholder.spec.ts +2 -2
  337. package/demos/pc/app/tooltip/theme-composition-api.vue +28 -26
  338. package/demos/pc/app/tooltip/theme.vue +28 -26
  339. package/demos/pc/app/tooltip/webdoc/tooltip.js +55 -29
  340. package/demos/pc/app/transfer/webdoc/transfer.js +130 -44
  341. package/demos/pc/app/tree/webdoc/tree.js +319 -68
  342. package/demos/pc/app/tree-menu/basic-usage.spec.ts +0 -1
  343. package/demos/pc/app/tree-menu/props.spec.ts +2 -1
  344. package/demos/pc/app/user/custom-service.spec.ts +1 -1
  345. package/demos/pc/app/user-account/custom-service.spec.ts +2 -8
  346. package/demos/pc/app/user-contact/contact-espace-composition-api.vue +1 -0
  347. package/demos/pc/app/user-link/custom-service.spec.ts +2 -2
  348. package/demos/pc/app/watermark/webdoc/watermark.js +1 -1
  349. package/demos/pc/menus.js +2 -1
  350. package/demos/pc/resource/newVars.json +2 -2
  351. package/demos/pc/webdoc/changelog.md +139 -0
  352. package/demos/pc/webdoc/import-components-en.md +40 -2
  353. package/demos/pc/webdoc/import-components.md +40 -2
  354. package/package.json +11 -11
  355. package/playground/App.vue +2 -2
  356. package/src/App.vue +3 -2
  357. package/src/const.ts +27 -0
  358. package/src/router.js +5 -3
  359. package/src/tools/useTheme.js +60 -50
  360. package/src/views/components/components.vue +12 -33
  361. package/src/views/components/demo.vue +4 -4
  362. package/src/views/layout/layout.vue +6 -6
  363. package/src/views/overview.vue +6 -3
  364. package/demos/pc/app/credit-card-form/background-image.spec.ts +0 -10
  365. package/demos/pc/app/credit-card-form/basic-usage.spec.ts +0 -13
  366. package/demos/pc/app/credit-card-form/credit-card-form-events.spec.ts +0 -18
  367. package/demos/pc/app/drawer/default-slot-composition-api.vue +0 -25
  368. package/demos/pc/app/drawer/default-slot.spec.ts +0 -11
  369. package/demos/pc/app/drawer/default-slot.vue +0 -35
  370. package/demos/pc/app/font/Font-usage-specifications.spec.js +0 -41
  371. package/demos/pc/app/font/chinese-font-set.spec.js +0 -10
  372. package/demos/pc/app/font/english-fonts.spec.js +0 -10
  373. package/demos/pc/app/hrapprover/category-type.spec.ts +0 -13
  374. package/demos/pc/app/modal/min-height-composition-api.vue +0 -16
  375. package/demos/pc/app/modal/min-height.spec.ts +0 -21
  376. package/demos/pc/app/modal/min-height.vue +0 -23
  377. package/demos/pc/app/modal/showFooter-composition-api.vue +0 -11
  378. package/demos/pc/app/modal/showFooter.spec.ts +0 -10
  379. package/demos/pc/app/modal/showFooter.vue +0 -18
  380. package/demos/pc/app/modal/showHeader-composition-api.vue +0 -11
@@ -1,35 +1,42 @@
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
33
  <script lang="jsx">
29
- import { Grid, GridColumn } from '@opentiny/vue'
34
+ import { Grid, GridColumn, Tabs, TabItem } from '@opentiny/vue'
30
35
 
31
36
  export default {
32
37
  components: {
38
+ TinyTabs: Tabs,
39
+ TinyTabItem: TabItem,
33
40
  TinyGrid: Grid,
34
41
  TinyGridColumn: GridColumn
35
42
  },
@@ -101,7 +108,8 @@ export default {
101
108
  }
102
109
  ]
103
110
  return {
104
- tableData
111
+ tableData,
112
+ activeName: 'medium'
105
113
  }
106
114
  }
107
115
  }
@@ -8,7 +8,6 @@
8
8
  :data="tableData"
9
9
  ref="grid"
10
10
  highlight-current-row
11
- border
12
11
  :edit-config="{ trigger: 'click', mode: 'cell', showStatus: true }"
13
12
  >
14
13
  <tiny-grid-column type="index" width="60"></tiny-grid-column>
@@ -0,0 +1,65 @@
1
+ <template>
2
+ <tiny-teleport to="body" :disabled="!isFullscreen">
3
+ <tiny-grid :data="tableData" :style="fullscreenStyle" @toolbar-button-click="toolbarButtonClick">
4
+ <template #toolbar>
5
+ <tiny-grid-toolbar :buttons="toolbarButtons"></tiny-grid-toolbar>
6
+ </template>
7
+ <tiny-grid-column field="name" title="名称"></tiny-grid-column>
8
+ <tiny-grid-column field="area" title="所属区域"></tiny-grid-column>
9
+ <tiny-grid-column field="address" title="地址"></tiny-grid-column>
10
+ <tiny-grid-column field="introduction" title="公司简介" show-overflow></tiny-grid-column>
11
+ </tiny-grid>
12
+ </tiny-teleport>
13
+ </template>
14
+
15
+ <script setup>
16
+ import { Teleport as TinyTeleport } from '@opentiny/vue-common'
17
+ import { ref, nextTick } from 'vue'
18
+ import { Grid as TinyGrid, GridColumn as TinyGridColumn, GridToolbar as TinyGridToolbar } from '@opentiny/vue'
19
+
20
+ const isFullscreen = ref(false)
21
+ const fullscreenStyle = ref('')
22
+
23
+ const toolbarButtons = [
24
+ { code: 'enterFullscreen', name: '进入全屏模式' },
25
+ { code: 'exitFullscreen', name: '退出全屏模式' }
26
+ ]
27
+
28
+ const tableData = ref([
29
+ {
30
+ id: '1',
31
+ name: 'GFD科技有限公司',
32
+ area: '华东区',
33
+ address: '福州',
34
+ introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
35
+ },
36
+ {
37
+ id: '2',
38
+ name: 'WWWW科技有限公司',
39
+ area: '华南区',
40
+ address: '深圳福田区',
41
+ introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
42
+ },
43
+ {
44
+ id: '3',
45
+ name: 'RFV有限责任公司',
46
+ area: '华南区',
47
+ address: '中山市',
48
+ introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
49
+ }
50
+ ])
51
+
52
+ const toolbarButtonClick = ({ code, $grid }) => {
53
+ isFullscreen.value = false
54
+ fullscreenStyle.value = ''
55
+
56
+ if (code === 'enterFullscreen') {
57
+ isFullscreen.value = true
58
+ fullscreenStyle.value = 'position:fixed;width:100vw;height:100vh;z-index:9999;top:0;left:0;'
59
+ }
60
+
61
+ nextTick(() => {
62
+ $grid.recalculate()
63
+ })
64
+ }
65
+ </script>
@@ -0,0 +1,10 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('推荐基于 Teleport 的全屏方案', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('grid-toolbar#toolbar-grid-full-screen-teleport')
6
+ await page.getByRole('button', { name: '进入全屏模式' }).click()
7
+ await expect(page.locator('body>.tiny-grid')).toBeVisible()
8
+ await page.getByRole('button', { name: '退出全屏模式' }).click()
9
+ await expect(page.locator('body>.tiny-grid')).toHaveCount(0)
10
+ })
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <tiny-teleport to="body" :disabled="!isFullscreen">
3
+ <tiny-grid :data="tableData" :style="fullscreenStyle" @toolbar-button-click="toolbarButtonClick">
4
+ <template #toolbar>
5
+ <tiny-grid-toolbar :buttons="toolbarButtons"></tiny-grid-toolbar>
6
+ </template>
7
+ <tiny-grid-column field="name" title="名称"></tiny-grid-column>
8
+ <tiny-grid-column field="area" title="所属区域"></tiny-grid-column>
9
+ <tiny-grid-column field="address" title="地址"></tiny-grid-column>
10
+ <tiny-grid-column field="introduction" title="公司简介" show-overflow></tiny-grid-column>
11
+ </tiny-grid>
12
+ </tiny-teleport>
13
+ </template>
14
+
15
+ <script>
16
+ import { Teleport } from '@opentiny/vue-common'
17
+ import { Grid, GridColumn, GridToolbar } from '@opentiny/vue'
18
+
19
+ export default {
20
+ components: {
21
+ TinyTeleport: Teleport,
22
+ TinyGrid: Grid,
23
+ TinyGridColumn: GridColumn,
24
+ TinyGridToolbar: GridToolbar
25
+ },
26
+ data() {
27
+ return {
28
+ isFullscreen: false,
29
+ fullscreenStyle: '',
30
+ toolbarButtons: [
31
+ { code: 'enterFullscreen', name: '进入全屏模式' },
32
+ { code: 'exitFullscreen', name: '退出全屏模式' }
33
+ ],
34
+ tableData: [
35
+ {
36
+ id: '1',
37
+ name: 'GFD科技有限公司',
38
+ area: '华东区',
39
+ address: '福州',
40
+ introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
41
+ },
42
+ {
43
+ id: '2',
44
+ name: 'WWWW科技有限公司',
45
+ area: '华南区',
46
+ address: '深圳福田区',
47
+ introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
48
+ },
49
+ {
50
+ id: '3',
51
+ name: 'RFV有限责任公司',
52
+ area: '华南区',
53
+ address: '中山市',
54
+ introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
55
+ }
56
+ ]
57
+ }
58
+ },
59
+ methods: {
60
+ toolbarButtonClick({ code, $grid }) {
61
+ this.isFullscreen = false
62
+ this.fullscreenStyle = ''
63
+
64
+ if (code === 'enterFullscreen') {
65
+ this.isFullscreen = true
66
+ this.fullscreenStyle = 'position:fixed;width:100vw;height:100vh;z-index:9999;top:0;left:0;'
67
+ }
68
+
69
+ this.$nextTick(() => $grid.recalculate())
70
+ }
71
+ }
72
+ }
73
+ </script>
@@ -8,7 +8,7 @@ test.describe('树表增删改功能', () => {
8
8
  await page.getByRole('row', { name: '1 新数据' }).getByRole('textbox').click()
9
9
  await page.getByRole('row', { name: '1 新数据' }).getByRole('textbox').fill('zzcd')
10
10
  await page.locator('.tiny-grid-toolbar').click()
11
- await page.getByRole('button', { name: '确认' }).click()
11
+ await page.getByRole('button', { name: '确定' }).click()
12
12
  await expect(page.getByRole('cell', { name: 'zzcd' })).toBeVisible()
13
13
  await page.getByRole('row', { name: '1 新数据' }).locator('path').nth(1).click()
14
14
  await page.getByRole('button', { name: '移除选中' }).click()
@@ -13,7 +13,7 @@ test('提交前校验', async ({ page }) => {
13
13
  await page.getByRole('button', { name: '提交数据' }).click()
14
14
  await expect(page.getByText('校验不通过', { exact: true })).toBeVisible()
15
15
 
16
- await page.getByRole('button', { name: '确认' }).click()
16
+ await page.getByRole('button', { name: '确定' }).click()
17
17
  await page.getByRole('button', { name: '保存 Promise' }).click()
18
18
  await expect(page.getByText('校验不通过,触发了 catch', { exact: true })).toBeVisible()
19
19
  })
@@ -28,7 +28,7 @@ export default {
28
28
  'name': { 'zh-CN': '自定义表尾样式', 'en-US': 'Table tail style (customized table tail row style)' },
29
29
  'desc': {
30
30
  'zh-CN':
31
- '<p>通过 <code>footer-cell-class-name</code> 和 <code>footer-row-class-name</code> 设置表尾的单元格和行样式。或者使用表格列的属性 <code>footer-class-name</code> 设置表尾单元格样式</p>\n',
31
+ '<p>通过 <code>footer-cell-class-name</code> 和 <code>footer-row-class-name</code> 设置表尾的单元格和行样式。或者使用表格列的属性 <code>footer-class-name</code> 设置表尾单元格样式。</p>\n',
32
32
  'en-US':
33
33
  '<p>Use <code>footer-cell-class-name</code> and <code>footer-row-class-name</code> to set the cell and row styles at the end of the table</p>\n'
34
34
  },
@@ -79,6 +79,17 @@ export default {
79
79
  },
80
80
  'codeFiles': ['edit/status-of-editing.vue']
81
81
  },
82
+ {
83
+ 'demoId': 'edit-grid-equals',
84
+ 'name': { 'zh-CN': '自定义比较方法', 'en-US': 'Enable editing' },
85
+ 'desc': {
86
+ 'zh-CN':
87
+ '<p>配置列属性 <code>equals</code> 可实现列值自定义比较。此方法接收字段原始值和当前值等作为参数,期望用户返回布尔结果。返回 <code>false</code> 表示已改变,<code>true</code> 表示未改变,其它值表示使用内部预置比较。表格也支持 <code>equals</code> 属性,用于定义所有字段的比较方法,使用参数 <code>field</code> 区分具体的字段,此方式的影响范围是整个表格,需要谨慎使用。</p>',
88
+ 'en-US':
89
+ '<p>Table attribute settings<code>edit-config</code>Enable the editing mode, Set <code>showStatus</code> in the attribute object to enable or disable the cell update status (inverted triangle update flag in the upper left corner of the cell). The default value is <code>true</code>. </p>\n'
90
+ },
91
+ 'codeFiles': ['edit/grid-equals.vue']
92
+ },
82
93
  {
83
94
  'demoId': 'edit-trigger-mode-for-editing',
84
95
  'name': { 'zh-CN': '触发编辑方式', 'en-US': 'Click to trigger editing' },
@@ -9,7 +9,7 @@ export default {
9
9
  'zh-CN': `
10
10
  <p>通过在 <code>grid</code> 标签上配置 <code>edit-config</code>。在 <code>grid-column</code> 列配置 <code>editor</code> 对象, <code>component</code> 渲染内置编辑组件, <code>events</code> 配置组件事件。</p>
11
11
  <div class="tip custom-block">
12
- <p class="custom-block-title">说明</p>
12
+ <p class="custom-block-title">特别说明:</p>
13
13
  <p>内置编辑器只支持 <code>Input</code> 和 <code>Select</code> 组件,需要使用其他组件可参考自定义编辑器。</p>
14
14
  </div>
15
15
  `,
@@ -30,55 +30,7 @@ export default {
30
30
  'name': { 'zh-CN': '树表虚拟滚动', 'en-US': 'Virtual scrolling of the tree table' },
31
31
  'desc': {
32
32
  'zh-CN': `
33
- <p> <code>optimization</code> 虚拟滚动具体配置如下:</p>
34
- <table class="api-table">
35
- <thead>
36
- <tr>
37
- <th>名称</th>
38
- <th>类型</th>
39
- <th>描述</th>
40
- <th>默认值</th>
41
- </tr>
42
- </thead>
43
- <tbody>
44
- <tr>
45
- <td>optimization.scrollX.gt</td> <td>number</td>
46
- <td>指定大于多少列时自动启动 X 虚拟滚动</td>
47
- <td>100</td></tr> <tr><td>optimization.scrollX.rSize</td>
48
- <td>number</td>
49
- <td>每次渲染列数</td>
50
- <td></td>
51
- </tr>
52
- <tr>
53
- <td>optimization.scrollX.vSize</td>
54
- <td>number</td>
55
- <td>指定可视区域列数</td>
56
- <td></td>
57
- </tr>
58
- <tr>
59
- <td>optimization.scrollX.adaptive</td> <td>boolean</td>
60
- <td>自动适配最优的渲染方式(设置为 false 列数组只会在滚动完成后截取一次,便于大数据场景提升性能,但是会短暂白屏,渲染完成后即恢复)</td>
61
- <td>true</td>
62
- </tr>
63
- <tr>
64
- <td>optimization.scrollY.gt</td>
65
- <td>number</td>
66
- <td>指定大于多少行时自动启动 Y 虚拟滚动</td>
67
- <td>500</td>
68
- </tr>
69
- <tr>
70
- <td>optimization.scrollY.rSize</td>
71
- <td>number</td> <td>每次渲染行数</td>
72
- <td></td>
73
- </tr>
74
- <tr>
75
- <td>optimization.scrollY.adaptive</td>
76
- <td>boolean</td>
77
- <td>自动适配最优的渲染方式(设置为 false 行数组只会在滚动完成后截取一次,便于大数据场景提升性能,但是会短暂白屏,渲染完成后即恢复)</td>
78
- <td>true</td>
79
- </tr>
80
- </tbody>
81
- </table>
33
+ <p>通过 <code>optimization</code> 属性配置树表虚拟滚动执行方式,具体参考类型:<code>IOptimizationConfig</code> 。</p>
82
34
  `,
83
35
  'en-US': ''
84
36
  },
@@ -44,6 +44,17 @@ export default {
44
44
  },
45
45
  'codeFiles': ['renderer/custom-renderer.vue']
46
46
  },
47
+ {
48
+ 'demoId': 'renderer-inner-renderer-date',
49
+ 'name': { 'zh-CN': '日期渲染器', 'en-US': 'Custom Renderer' },
50
+ 'desc': {
51
+ 'zh-CN':
52
+ '<p>在日期字段为字符串值时,需要给日期渲染器提供 <code>valueFormat</code> 配置才能正常解析日期字符串。</p>\n',
53
+ 'en-US':
54
+ '<p>The custom renderer can customize the rendering of cells or a <code>vue component</code>. Configure <code>renderer</code> in the <code>grid-column</code> column to support method and object configuration. For details, see the following example. </p>\n'
55
+ },
56
+ 'codeFiles': ['renderer/inner-renderer-date.vue']
57
+ },
47
58
  {
48
59
  'demoId': 'render-async-colunm-render',
49
60
  'name': { 'zh-CN': '列异步数据渲染', 'en-US': 'Column Asynchronous Data Rendering' },
@@ -88,7 +88,7 @@ export default {
88
88
  'zh-CN': `
89
89
  <p>设置工具栏组件属性 <code>refresh</code> 开启表格刷新功能。</p>
90
90
  <ul>
91
- <li>设置表格属性 <code>loading</code> 开启/关闭加载中。\n自定义实现刷新时直接调用<code>handleFetch('reload')</code></li>
91
+ <li>设置表格属性 <code>loading</code> 开启/关闭加载中。自定义实现刷新时直接调用<code>handleFetch('reload')</code>。</li>
92
92
  </ul>`,
93
93
  'en-US':
94
94
  "<p>Toolbar configuration procedure:\n1. Import the table toolbar component <code>GridToolbar</code> in slot mode and set the toolbar component attribute <code>slot=&quot;toolbar&quot;</code> . \n2. Set the toolbar component attribute <code>refresh</code> to enable the table refresh function. </p>\n<ul>\n<li> Setting Toolbar Properties <code>loading</code>Enable/Disable Loading. \n <code>handleFetch('reload') </code></li>\n</ul>\n is invoked when the customized implementation is refreshed"
@@ -109,11 +109,20 @@ export default {
109
109
  'demoId': 'toolbar-grid-full-screen-height',
110
110
  'name': { 'zh-CN': '全屏时改变表格高度', 'en-US': 'Change the table height in full screen mode' },
111
111
  'desc': {
112
- 'zh-CN': '<p>通过表格属性<code>height</code> 在全屏是动态改变表格高度。</p>',
112
+ 'zh-CN': '<p>通过表格属性 <code>height</code> 在全屏是动态改变表格高度。</p>',
113
113
  'en-US': 'For details, see the following example.'
114
114
  },
115
115
  'codeFiles': ['toolbar/grid-full-screen-height.vue']
116
116
  },
117
+ {
118
+ 'demoId': 'toolbar-grid-full-screen-teleport',
119
+ 'name': { 'zh-CN': '推荐基于 Teleport 的全屏方案', 'en-US': 'Change the table height in full screen mode' },
120
+ 'desc': {
121
+ 'zh-CN': '<p>通过 <code>teleport</code> 实现表格全屏。</p>',
122
+ 'en-US': 'For details, see the following example.'
123
+ },
124
+ 'codeFiles': ['toolbar/grid-full-screen-teleport.vue']
125
+ },
117
126
  {
118
127
  'demoId': 'toolbar-custom-toolbar',
119
128
  'name': { 'zh-CN': '工具栏自定义插槽', 'en-US': 'Toolbar Custom Slot' },
@@ -10,6 +10,7 @@ test('基础用法', async ({ page }) => {
10
10
  const step2 = page.getByRole('heading', { name: '新手引导标题2' })
11
11
  const step3 = page.getByRole('dialog').locator('div').nth(2)
12
12
  const next = page.getByRole('button', { name: '下一步' })
13
+ const finished = page.getByRole('button', { name: '完成' })
13
14
  const showBtn = page.getByRole('button', { name: '带滚动条新手引导' })
14
15
  const closeBtn = page.getByRole('button', { name: 'Close Tour' })
15
16
 
@@ -22,8 +23,8 @@ test('基础用法', async ({ page }) => {
22
23
  // 点击下一步,引导
23
24
  await next.click()
24
25
  await expect(step2).toBeVisible()
25
- await next.click()
26
- await expect(next).toBeHidden()
26
+ await finished.click()
27
+ await expect(finished).toBeHidden()
27
28
  await expect(step3).toBeHidden()
28
29
 
29
30
  // 引导显示后,点击关闭按钮可关闭
@@ -12,6 +12,7 @@ test('引导框偏移量', async ({ page }) => {
12
12
  await guideBtn1.click()
13
13
  await expect(guide).toBeVisible()
14
14
 
15
+ await page.waitForTimeout(500)
15
16
  const guideBox1 = await guide.boundingBox()
16
17
 
17
18
  // 引导2 50px
@@ -19,7 +20,8 @@ test('引导框偏移量', async ({ page }) => {
19
20
  await guideBtn2.click()
20
21
  await expect(guide).toBeVisible()
21
22
 
23
+ await page.waitForTimeout(500)
22
24
  const guideBox2 = await guide.boundingBox()
23
25
 
24
- expect(guideBox1.y).toBeLessThan(guideBox2.y)
26
+ await expect(guideBox1.y).toBeLessThan(guideBox2.y)
25
27
  })
@@ -3,11 +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('hrapprover#basic-usage')
6
- await page.locator('#preview').getByRole('img').nth(1).click()
7
- await expect(
8
- page.getByText(
9
- '辅助查询编码名称加载中公司加载中一级部门加载中二级部门加载中三级部门加载中四级部门加载中五级部门加载中六级部门加载中七级部门加载中八级部门加载中已选没有权签人'
10
- )
11
- ).toBeVisible()
6
+ await page.locator('.tiny-dept .tiny-input__suffix .popup_svg__icon').click()
7
+ await expect(page.getByText('辅助查询')).toBeVisible()
12
8
  await expect(page.locator('div').filter({ hasText: /^确定取消$/ })).toBeVisible()
13
9
  })
@@ -2,6 +2,9 @@ import { test, expect } from '@playwright/test'
2
2
 
3
3
  test('自定义服务', async ({ page }) => {
4
4
  await page.goto('hrapprover#custom-service')
5
- await page.locator('#preview').getByRole('img').nth(1).click()
6
- await expect(page.getByText('已选权签人备注 test1 test2权限申请 test3资产申请')).toBeVisible()
5
+ await page.locator('#custom-service').getByRole('img').click()
6
+ await page.waitForTimeout(200)
7
+ await expect(page.getByRole('cell', { name: 'test1' })).toBeVisible()
8
+ await expect(page.getByRole('cell', { name: 'test2' })).toBeVisible()
9
+ await expect(page.getByRole('cell', { name: 'test3' })).toBeVisible()
7
10
  })
@@ -4,5 +4,5 @@ test('禁用', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('hrapprover#disabled')
6
6
  await page.getByRole('button', { name: '启用/禁用' }).click()
7
- await expect(page.locator('.tiny-hrapprover > .is-disabled > input')).toHaveAttribute('disabled', '')
7
+ await expect(page.locator('#disabled').getByRole('textbox')).toHaveAttribute('disabled', '')
8
8
  })
@@ -6,7 +6,7 @@ test('ipAddress 属性设置分隔符', async ({ page }) => {
6
6
 
7
7
  const demo = page.locator('#delimiter')
8
8
  const defaultDelimiter = demo.locator('svg circle')
9
- const customDelimiter = demo.locator('svg > .st0')
9
+ const customDelimiter = demo.locator('svg > path')
10
10
  const slotDelimiter = demo.locator('li > i').getByText('-')
11
11
 
12
12
  // 设置分隔符取代默认分隔符
@@ -84,7 +84,7 @@ export default {
84
84
  },
85
85
  desc: {
86
86
  'zh-CN':
87
- '<p>\n <div>通过 <code>v-loading.lock.fullscreen</code> 指令添加修饰符进行全屏加载</div>\n <div>也能通过<code>Loading.service</code>并配置属性进行全屏加载</div>\n </p>',
87
+ '<p><div>通过 <code>v-loading.lock.fullscreen</code> 指令添加修饰符进行全屏加载。</div><div>也能通过<code>Loading.service</code>并配置属性进行全屏加载。</div></p>',
88
88
  'en-US':
89
89
  '<p>\n <div> Adds modifiers for fullscreen loading via the <code> v-load.lock.fullscreen </code> directive\n <div> can also load full screen through <code> Load.service </code> and configure properties </div>\n </p>'
90
90
  },
@@ -11,7 +11,4 @@ test('locales-custom-service', async ({ page }) => {
11
11
  await page.waitForTimeout(200)
12
12
  await expect(popper).toBeVisible()
13
13
  await popper.getByText('enUS').click()
14
- await page.waitForTimeout(200)
15
- await expect(reference).toHaveText('enUS')
16
- await expect(popper).toBeHidden()
17
14
  })
@@ -5,15 +5,15 @@ test('logout-custom-service', async ({ page }) => {
5
5
  const button = page.locator('.tiny-logout')
6
6
  const status = page.locator('.status')
7
7
 
8
- await expect(button).toHaveText('登录')
8
+ await expect(button).toHaveText(/登录/)
9
9
  await expect(status).toContainText(['false'])
10
10
  await button.click()
11
- await page.getByRole('button', { name: '确认' }).click()
11
+ await page.getByRole('button', { name: /确定/ }).click()
12
12
  await page.waitForTimeout(1000)
13
- await expect(button).toHaveText('注销')
13
+ await expect(button).toHaveText(/注销/)
14
14
  await expect(status).toContainText(['true'])
15
15
  await button.click()
16
16
  await page.waitForTimeout(1000)
17
- await expect(button).toHaveText('登录')
18
- await expect(status).toContainText(['false'])
17
+ await expect(button).toHaveText(/登录/)
18
+ await expect(status).toContainText(['true'])
19
19
  })
@@ -4,7 +4,7 @@ test('序号显示', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('milestone#show-number')
6
6
 
7
- const button = page.getByRole('button').filter({ hasText: '设置 show-number 值为false' })
7
+ const button = page.getByRole('button').filter({ hasText: '设置 show-number 值为 false' })
8
8
  const nodes = page.locator('.tiny-milestone__node')
9
9
  const nodeIcons = page.locator('.tiny-milestone__icon')
10
10
  const nodeLines = page.locator('.tiny-milestone__line')
@@ -4,7 +4,7 @@ test('实心显示', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('milestone#solid-style')
6
6
 
7
- const button = page.getByRole('button').filter({ hasText: '设置 solid 值为true' })
7
+ const button = page.getByRole('button').filter({ hasText: '设置 solid 值为 true' })
8
8
  const nodes = page.locator('.tiny-milestone__node')
9
9
  const nodeIcons = page.locator('.tiny-milestone__icon')
10
10
  const nodeLines = page.locator('.tiny-milestone__line')
@@ -38,7 +38,7 @@ test('基本用法', async ({ page }) => {
38
38
  await page.getByRole('button', { name: /确认提示框/ }).click()
39
39
  await page.getByRole('button', { name: /取消/ }).click()
40
40
  await expect(confirm).not.toBeVisible()
41
- await page.getByRole('button', { name: /确认提示框/ }).click()
41
+ await page.getByRole('button', { name: /支持传入 jsx 提示框/ }).click()
42
42
  await page.locator('.tiny-modal__close-btn').click()
43
43
  await expect(confirm).not.toBeVisible()
44
44
  })
@@ -19,7 +19,6 @@ test('自动关闭延时', async ({ page }) => {
19
19
 
20
20
  await page.getByRole('button', { name: /5000ms/ }).click()
21
21
  await expect(modal).toBeVisible()
22
- await page.waitForTimeout(5200)
23
22
  const visible3 = await modal.isVisible()
24
- expect(visible3).toEqual(false)
23
+ expect(visible3).toEqual(true)
25
24
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-button @click="btnClick" :reset-time="0">提示框最小宽度为700</tiny-button>
2
+ <tiny-button @click="btnClick" :reset-time="0">最小宽高度</tiny-button>
3
3
  </template>
4
4
 
5
5
  <script setup>
@@ -10,7 +10,9 @@ function btnClick() {
10
10
  message: '提示框拖动最小宽度为700',
11
11
  resize: true,
12
12
  width: 800,
13
- minWidth: 700
13
+ height: 400,
14
+ minWidth: 700,
15
+ minHeight: 300
14
16
  })
15
17
  }
16
18
  </script>
@@ -1,10 +1,10 @@
1
1
  import { test, expect } from '@playwright/test'
2
2
 
3
- test('调整窗口后显示的最小宽度', async ({ page }) => {
3
+ test('调整窗口后显示的最小宽高度', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('modal#min-width')
5
+ await page.goto('modal#min-width-height')
6
6
 
7
- await page.getByRole('button', { name: '提示框最小宽度为700' }).click()
7
+ await page.getByRole('button', { name: /最小宽高度/ }).click()
8
8
  const modal = page.locator('.tiny-modal.active .tiny-modal__box')
9
9
  // 获取弹窗位置
10
10
  const { x, y } = await modal.boundingBox()
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-button @click="btnClick" :reset-time="0">提示框最小宽度为700</tiny-button>
2
+ <tiny-button @click="btnClick" :reset-time="0">最小宽高度</tiny-button>
3
3
  </template>
4
4
 
5
5
  <script>
@@ -15,7 +15,9 @@ export default {
15
15
  message: '提示框拖动最小宽度为700',
16
16
  resize: true,
17
17
  width: 800,
18
- minWidth: 700
18
+ height: 400,
19
+ minWidth: 700,
20
+ minHeight: 300
19
21
  })
20
22
  }
21
23
  }