plain-design 1.0.0-beta.1 → 1.0.0-beta.100

Sign up to get free protection for your applications and to get access to all the features.
Files changed (542) hide show
  1. package/dist/plain-design.commonjs.min.js +11 -2
  2. package/dist/plain-design.min.css +67 -46
  3. package/dist/plain-design.min.js +11 -2
  4. package/dist/report.html +5 -5
  5. package/package.json +52 -50
  6. package/src/packages/build.ts +2 -10
  7. package/src/packages/components/$address/createAddressService.tsx +20 -1
  8. package/src/packages/components/$file/index.tsx +1 -1
  9. package/src/packages/components/$loading/index.tsx +3 -0
  10. package/src/packages/components/$message/image.service.utils.tsx +2 -2
  11. package/src/packages/components/$object/createObjectService.tsx +38 -24
  12. package/src/packages/components/$object/object.service.utils.ts +7 -3
  13. package/src/packages/components/$previewer/ImagePreviewerFixedContainer.tsx +108 -0
  14. package/src/packages/components/$previewer/image-previewer-fixed-container.scss +18 -0
  15. package/src/packages/components/$previewer/index.tsx +52 -0
  16. package/src/packages/components/$search/SearchFooter.tsx +32 -0
  17. package/src/packages/components/$search/SearchList.tsx +207 -0
  18. package/src/packages/components/$search/SearchServicePanel.tsx +233 -0
  19. package/src/packages/components/$search/createSearchService.tsx +43 -0
  20. package/src/packages/components/$search/index.tsx +6 -0
  21. package/src/packages/components/$search/search-service.scss +220 -0
  22. package/src/packages/components/$search/search.utils.tsx +112 -0
  23. package/src/packages/components/$upload/createUploadService.tsx +1 -1
  24. package/src/packages/components/AddressCascade/createAddressCascade.multiple.tsx +1 -0
  25. package/src/packages/components/AddressCascade/createAddressCascade.single.tsx +1 -0
  26. package/src/packages/components/AddressCascade/index.tsx +2 -0
  27. package/src/packages/components/Alert/alert.scss +7 -4
  28. package/src/packages/components/Alert/index.tsx +4 -4
  29. package/src/packages/components/Application/index.tsx +6 -3
  30. package/src/packages/components/Application/service/createApplicationServiceManager.tsx +5 -2
  31. package/src/packages/components/Application/service/useApplicationService.tsx +2 -0
  32. package/src/packages/components/Application/theme/theme.ts +51 -29
  33. package/src/packages/components/Application/utils/application.utils.ts +2 -6
  34. package/src/packages/components/ArrowStepGroup/arrow-step.scss +17 -4
  35. package/src/packages/components/AutoLoadingObserver/index.tsx +173 -0
  36. package/src/packages/components/AutoTable/AutoTable.tsx +1 -1
  37. package/src/packages/components/AutoTable/auto-table.scss +62 -20
  38. package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +6 -7
  39. package/src/packages/components/AutoTable/filter/useTableOption.filter.search.tsx +5 -5
  40. package/src/packages/components/AutoTable/setting/useTableOption.setting.all.fitler.tsx +4 -4
  41. package/src/packages/components/AutoTable/setting/useTableOption.setting.cache.tsx +16 -16
  42. package/src/packages/components/AutoTable/setting/useTableOption.setting.config.tsx +11 -11
  43. package/src/packages/components/AutoTable/setting/useTableOption.setting.export.tsx +20 -20
  44. package/src/packages/components/AutoTable/setting/useTableOption.setting.import.tsx +1 -1
  45. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.filter.tsx +11 -11
  46. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.sort.tsx +7 -7
  47. package/src/packages/components/AutoTable/setting/useTableOption.setting.tsx +2 -2
  48. package/src/packages/components/AutoTable/use/useTableOption.buttons.tsx +30 -18
  49. package/src/packages/components/AutoTable/use/useTableOption.cache.ts +1 -1
  50. package/src/packages/components/AutoTable/use/useTableOption.check.tsx +1 -1
  51. package/src/packages/components/AutoTable/use/useTableOption.column.popper.tsx +10 -9
  52. package/src/packages/components/AutoTable/use/useTableOption.confirm.tsx +3 -3
  53. package/src/packages/components/AutoTable/use/useTableOption.fill.tsx +2 -1
  54. package/src/packages/components/AutoTable/use/useTableOption.hooks.tsx +9 -1
  55. package/src/packages/components/AutoTable/use/useTableOption.loading.tsx +9 -3
  56. package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +19 -17
  57. package/src/packages/components/AutoTable/use/useTableOption.pagination.tsx +8 -3
  58. package/src/packages/components/AutoTable/use/useTableOption.sort.ts +5 -5
  59. package/src/packages/components/AutoTable/use/useTableOption.state.tsx +1 -0
  60. package/src/packages/components/AutoTable/use/useTableOption.table.tsx +10 -3
  61. package/src/packages/components/AutoTable/use/useTableOption.tips.tsx +1 -1
  62. package/src/packages/components/AutoTable/utils/TableOption.space.tsx +4 -0
  63. package/src/packages/components/AutoTable/utils/TableOption.utils.tsx +1 -1
  64. package/src/packages/components/Badge/badge.scss +1 -1
  65. package/src/packages/components/Box/box.scss +6 -0
  66. package/src/packages/components/Box/index.tsx +30 -0
  67. package/src/packages/components/Button/button.scss +41 -9
  68. package/src/packages/components/Button/index.tsx +69 -11
  69. package/src/packages/components/ButtonGroup/button-group.scss +2 -2
  70. package/src/packages/components/ButtonGroup/index.tsx +1 -1
  71. package/src/packages/components/Card/card.scss +1 -1
  72. package/src/packages/components/Carousel/carousel.scss +391 -0
  73. package/src/packages/components/Carousel/index.tsx +569 -22
  74. package/src/packages/components/CarouselItem/index.tsx +77 -0
  75. package/src/packages/components/Cascade/cascade.scss +2 -2
  76. package/src/packages/components/Cascade/createMultipleCascadeRender.tsx +1 -1
  77. package/src/packages/components/Cascade/createSingleCascadeRender.tsx +2 -2
  78. package/src/packages/components/Cascade/index.tsx +1 -1
  79. package/src/packages/components/CascadePanel/flat/cascade-flat-panel.scss +22 -34
  80. package/src/packages/components/CascadePanel/flat/createCascadeFlatRender.tsx +1 -1
  81. package/src/packages/components/CascadePanel/list/CascadeListPanelItem.tsx +3 -3
  82. package/src/packages/components/Checkbox/checkbox.scss +4 -0
  83. package/src/packages/components/Checkbox/index.tsx +1 -1
  84. package/src/packages/components/CheckboxGroup/index.tsx +2 -2
  85. package/src/packages/components/CheckboxInner/checkbox-inner.scss +2 -1
  86. package/src/packages/components/ColorPicker/color-picker.scss +6 -0
  87. package/src/packages/components/ColorPicker/sub/ColorSlider.tsx +8 -5
  88. package/src/packages/components/ColorPicker/sub/ColorSvPanel.tsx +7 -4
  89. package/src/packages/components/ConfirmPopup/confirm-popup.scss +16 -0
  90. package/src/packages/components/ConfirmPopup/index.tsx +72 -0
  91. package/src/packages/components/Corner/corner.scss +14 -0
  92. package/src/packages/components/Corner/index.tsx +80 -0
  93. package/src/packages/components/DatePicker/createDateRender.multiple.tsx +1 -0
  94. package/src/packages/components/DatePicker/createDateRender.single.tsx +1 -0
  95. package/src/packages/components/DatePicker/createRangeDateRender.range.tsx +33 -25
  96. package/src/packages/components/DatePicker/createRangeDateRender.separate.tsx +11 -3
  97. package/src/packages/components/DatePicker/date.scss +2 -2
  98. package/src/packages/components/DatePicker/date.utils.tsx +4 -3
  99. package/src/packages/components/DatePicker/index.tsx +2 -2
  100. package/src/packages/components/DatePicker/panel/DatePanelDate.tsx +7 -7
  101. package/src/packages/components/DatePicker/panel/DatePanelMonth.tsx +12 -12
  102. package/src/packages/components/DatePicker/useRangeDateRender.tsx +1 -0
  103. package/src/packages/components/Dialog/dialog.scss +7 -4
  104. package/src/packages/components/Dialog/index.tsx +17 -26
  105. package/src/packages/components/Dialog/useDialogMovable.tsx +7 -4
  106. package/src/packages/components/Dialog/utils/dialog.mouse.ts +4 -2
  107. package/src/packages/components/Dropdown/dropdown.public.scss +10 -0
  108. package/src/packages/components/Dropdown/dropdown.utils.tsx +3 -1
  109. package/src/packages/components/Dropdown/index.tsx +2 -2
  110. package/src/packages/components/DropdownOption/index.tsx +3 -3
  111. package/src/packages/components/DropdownSeparator/index.tsx +8 -0
  112. package/src/packages/components/Empty/index.tsx +1 -1
  113. package/src/packages/components/FilterFormMultiple/filter-form-multiple.scss +10 -1
  114. package/src/packages/components/FilterFormMultiple/index.tsx +34 -13
  115. package/src/packages/components/FilterFormSingle/index.tsx +9 -4
  116. package/src/packages/components/FilterService/filter/filter.city.tsx +4 -4
  117. package/src/packages/components/FilterService/filter/filter.date.tsx +4 -4
  118. package/src/packages/components/FilterService/filter/filter.datetime.tsx +2 -2
  119. package/src/packages/components/FilterService/filter/filter.district.tsx +4 -4
  120. package/src/packages/components/FilterService/filter/filter.number.tsx +1 -1
  121. package/src/packages/components/FilterService/filter/filter.province.tsx +4 -4
  122. package/src/packages/components/FilterService/filter/filter.select.tsx +3 -3
  123. package/src/packages/components/FilterService/filter/filter.text.tsx +4 -4
  124. package/src/packages/components/FilterService/filter/fitler.object.tsx +4 -4
  125. package/src/packages/components/FilterService/index.tsx +7 -7
  126. package/src/packages/components/FilterService/utils/filter.service.utils.ts +1 -1
  127. package/src/packages/components/Form/form.scss +85 -2
  128. package/src/packages/components/Form/index.tsx +10 -1
  129. package/src/packages/components/Form/layout/useFormLayout.tsx +88 -23
  130. package/src/packages/components/Form/types/any.tsx +6 -6
  131. package/src/packages/components/Form/types/array.tsx +7 -7
  132. package/src/packages/components/Form/types/date.tsx +6 -6
  133. package/src/packages/components/Form/types/email.tsx +1 -1
  134. package/src/packages/components/Form/types/idcard.tsx +1 -1
  135. package/src/packages/components/Form/types/number.tsx +7 -7
  136. package/src/packages/components/Form/types/phone.tsx +1 -1
  137. package/src/packages/components/Form/types/qq.tsx +1 -1
  138. package/src/packages/components/Form/types/string.tsx +7 -7
  139. package/src/packages/components/Form/validate/createValidation.tsx +6 -2
  140. package/src/packages/components/Form/validate/useFormValidation.tsx +21 -16
  141. package/src/packages/components/Form/validate/validate.utils.tsx +4 -1
  142. package/src/packages/components/FormItem/FormItemValidateMessage.tsx +16 -0
  143. package/src/packages/components/FormItem/index.tsx +31 -18
  144. package/src/packages/components/Formatter/index.tsx +1 -1
  145. package/src/packages/components/Grid/GridCol.tsx +4 -3
  146. package/src/packages/components/Grid/GridRow.tsx +42 -6
  147. package/src/packages/components/Grid/grid.scss +2 -2
  148. package/src/packages/components/Image/image.scss +5 -4
  149. package/src/packages/components/Image/index.tsx +15 -14
  150. package/src/packages/components/ImagePreviewer/ImagePreviewer.tsx +574 -0
  151. package/src/packages/components/ImagePreviewer/ImagePreviewerButtonBar.tsx +140 -0
  152. package/src/packages/components/ImagePreviewer/ImagePreviewerCarouselImage.tsx +54 -0
  153. package/src/packages/components/ImagePreviewer/ImagePreviewerGallery.tsx +202 -0
  154. package/src/packages/components/ImagePreviewer/PreviewerLoading.tsx +26 -0
  155. package/src/packages/components/ImagePreviewer/image-previewer.scss +244 -0
  156. package/src/packages/components/ImagePreviewer/image-previewer.utils.tsx +136 -0
  157. package/src/packages/components/ImagePreviewer/index.tsx +5 -0
  158. package/src/packages/components/ImagePreviewer/previewer-loading.scss +52 -0
  159. package/src/packages/components/ImageUploader/index.tsx +10 -8
  160. package/src/packages/components/Input/index.scss +47 -13
  161. package/src/packages/components/Input/index.tsx +22 -6
  162. package/src/packages/components/Input/input.utils.ts +3 -2
  163. package/src/packages/components/Input/useMultipleInput.tsx +17 -89
  164. package/src/packages/components/Input/useSingleInput.tsx +15 -13
  165. package/src/packages/components/Input/useTextareaInput.tsx +30 -22
  166. package/src/packages/components/Input/uses/useInputEnterHandler.tsx +1 -1
  167. package/src/packages/components/Input/uses/useInputHooks.tsx +11 -11
  168. package/src/packages/components/Input/uses/useInputSuffixIcon.tsx +12 -8
  169. package/src/packages/components/InputNumber/NumberResize.tsx +20 -3
  170. package/src/packages/components/InputNumber/index.tsx +1 -1
  171. package/src/packages/components/InputNumber/input-number.utils.tsx +7 -5
  172. package/src/packages/components/InputNumber/number.scss +17 -2
  173. package/src/packages/components/InputNumber/useInputNumber.public.tsx +25 -6
  174. package/src/packages/components/Layout/index.tsx +31 -0
  175. package/src/packages/components/Layout/layout.scss +227 -0
  176. package/src/packages/components/Layout/layout.utils.ts +3 -0
  177. package/src/packages/components/LayoutSection/index.tsx +67 -0
  178. package/src/packages/components/LayoutSection/useLayoutSectionResizer.tsx +184 -0
  179. package/src/packages/components/Loading/loading.scss +2 -0
  180. package/src/packages/components/LoadingMask/index.tsx +1 -1
  181. package/src/packages/components/Object/createObjectRender.multiple.tsx +1 -1
  182. package/src/packages/components/Object/createObjectRender.single.tsx +7 -3
  183. package/src/packages/components/Object/object.scss +15 -2
  184. package/src/packages/components/Object/object.utils.ts +3 -1
  185. package/src/packages/components/PageCard/index.tsx +48 -0
  186. package/src/packages/components/PageCard/page-card.scss +124 -0
  187. package/src/packages/components/PageCardContent/index.tsx +44 -0
  188. package/src/packages/components/PageCardTitle/index.tsx +51 -0
  189. package/src/packages/components/PageRenderList/index.tsx +22 -0
  190. package/src/packages/components/PageThemeUtils/deepmerge.ts +21 -0
  191. package/src/packages/components/PageThemeUtils/index.tsx +262 -0
  192. package/src/packages/components/Pagination/index.tsx +7 -7
  193. package/src/packages/components/Pagination/pagination.scss +4 -3
  194. package/src/packages/components/Paragraph/index.tsx +46 -0
  195. package/src/packages/components/Paragraph/paragraph.scss +12 -0
  196. package/src/packages/components/ParagraphItem/index.tsx +21 -0
  197. package/src/packages/components/PlcImage/index.tsx +8 -2
  198. package/src/packages/components/PlcObject/index.tsx +1 -1
  199. package/src/packages/components/PlcOv/index.tsx +14 -4
  200. package/src/packages/components/Popup/index.tsx +32 -10
  201. package/src/packages/components/ProgressBar/progress-bar.scss +1 -1
  202. package/src/packages/components/Rate/index.tsx +3 -1
  203. package/src/packages/components/RollingNumber/index.tsx +66 -0
  204. package/src/packages/components/Scroll/HorizontalScrollbar.tsx +7 -3
  205. package/src/packages/components/Scroll/VerticalScrollbar.tsx +7 -3
  206. package/src/packages/components/Scroll/index.tsx +47 -9
  207. package/src/packages/components/Scroll/scroll.scss +4 -2
  208. package/src/packages/components/Select/SelectPanel.tsx +4 -1
  209. package/src/packages/components/Select/createMultipleSelectRender.tsx +4 -4
  210. package/src/packages/components/Select/createPublicSelectRender.tsx +1 -1
  211. package/src/packages/components/Select/select.utils.tsx +1 -1
  212. package/src/packages/components/SelectDisplay/index.tsx +1 -1
  213. package/src/packages/components/SelectGroup/index.tsx +37 -0
  214. package/src/packages/components/Slider/index.tsx +1 -1
  215. package/src/packages/components/Slider/slider.scss +1 -1
  216. package/src/packages/components/Slider/useSliderDotDragier.tsx +7 -4
  217. package/src/packages/components/SortList/index.tsx +191 -0
  218. package/src/packages/components/SortList/sort-list.scss +11 -0
  219. package/src/packages/components/Space/index.tsx +36 -0
  220. package/src/packages/components/Space/space.scss +39 -0
  221. package/src/packages/components/StackCard/index.tsx +416 -0
  222. package/src/packages/components/StackCard/stack-card.scss +40 -0
  223. package/src/packages/components/StackCardItem/index.tsx +24 -0
  224. package/src/packages/components/StepGroup/step-group.scss +9 -9
  225. package/src/packages/components/TabGroup/TabsInner.tsx +5 -3
  226. package/src/packages/components/TabGroup/header/horizontal/tabs-header-horizontal.scss +0 -1
  227. package/src/packages/components/TabGroup/index.tsx +5 -1
  228. package/src/packages/components/TabGroup/tabs.scss +26 -0
  229. package/src/packages/components/Table/editor/PlcAddress.tsx +7 -7
  230. package/src/packages/components/Table/editor/PlcDate.utils.tsx +1 -1
  231. package/src/packages/components/Table/editor/PlcTime.utils.ts +1 -1
  232. package/src/packages/components/Table/plc/use/useBasePlc.tsx +1 -1
  233. package/src/packages/components/Table/plc/useTablePlc.tsx +1 -1
  234. package/src/packages/components/Table/plc/utils/plc.utils.ts +1 -1
  235. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.multiple.tsx +4 -4
  236. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.tsx +1 -1
  237. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.utils.ts +1 -1
  238. package/src/packages/components/Table/standard/PlcExpand.tsx +20 -22
  239. package/src/packages/components/Table/standard/PlcIndex.tsx +1 -1
  240. package/src/packages/components/Table/standard/PlcOperation/OuterOperation.tsx +5 -4
  241. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +7 -7
  242. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.utils.tsx +2 -0
  243. package/src/packages/components/Table/standard/PlcOperation/outer-operation.scss +5 -3
  244. package/src/packages/components/Table/standard/PlcTree/PlcTree.renderNode.tsx +7 -4
  245. package/src/packages/components/Table/standard/PlcTree/PlcTree.tsx +1 -1
  246. package/src/packages/components/Table/standard/PlcTree/PlcTree.utils.ts +1 -1
  247. package/src/packages/components/Table/standard/PlcTree/RenderPlcTreeNode.tsx +2 -1
  248. package/src/packages/components/Table/table/Table.tsx +11 -3
  249. package/src/packages/components/Table/table/body/cell.tsx +17 -12
  250. package/src/packages/components/Table/table/body/row.tsx +1 -1
  251. package/src/packages/components/Table/table/body/useCellValue.tsx +10 -6
  252. package/src/packages/components/Table/table/head/useHeadCellResize.ts +8 -3
  253. package/src/packages/components/Table/table/table.scss +20 -16
  254. package/src/packages/components/Table/table/use/useTableDraggier.col.tsx +10 -5
  255. package/src/packages/components/Table/table/use/useTableDraggier.row.tsx +31 -14
  256. package/src/packages/components/Table/table/use/useTableDraggier.tsx +1 -1
  257. package/src/packages/components/Table/table/use/useTableFormEditor.tsx +6 -4
  258. package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +8 -8
  259. package/src/packages/components/Table/table/utils/createTableHooks.ts +4 -2
  260. package/src/packages/components/Table/table/utils/table.utils.ts +7 -1
  261. package/src/packages/components/ThemeColor/index.tsx +22 -0
  262. package/src/packages/components/ThemeColor/theme-color.scss +36 -0
  263. package/src/packages/components/ThemeColorSelector/index.tsx +53 -0
  264. package/src/packages/components/ThemeDarkSelector/index.tsx +38 -0
  265. package/src/packages/components/ThemeDarkSelector/theme-dark-selector.scss +5 -0
  266. package/src/packages/components/ThemeEditor/index.tsx +199 -0
  267. package/src/packages/components/ThemeEditor/theme-editor.scss +106 -0
  268. package/src/packages/components/ThemeLocaleSelector/index.tsx +42 -0
  269. package/src/packages/components/ThemeLocaleSelector/theme-locale-selector.scss +5 -0
  270. package/src/packages/components/ThemePrimaryColors/index.ts +5 -0
  271. package/src/packages/components/ThemeShapeSelector/index.tsx +56 -0
  272. package/src/packages/components/ThemeShapeSelector/theme-shape-selector.scss +5 -0
  273. package/src/packages/components/ThemeSizeSelector/index.tsx +51 -0
  274. package/src/packages/components/ThemeSizeSelector/theme-size-selector.scss +5 -0
  275. package/src/packages/components/TimePicker/createRangeTimeRender.tsx +11 -3
  276. package/src/packages/components/TimePicker/createSeparateRangeTimeRender.tsx +11 -3
  277. package/src/packages/components/TimePicker/createSingleTimeRender.tsx +1 -0
  278. package/src/packages/components/TimePicker/index.tsx +1 -1
  279. package/src/packages/components/TimePicker/time.utils.ts +2 -1
  280. package/src/packages/components/TimePicker/useRangeTimeRender.tsx +1 -0
  281. package/src/packages/components/Toggle/index.tsx +6 -2
  282. package/src/packages/components/Toggle/toggle.scss +102 -98
  283. package/src/packages/components/Transition/index.tsx +2 -1
  284. package/src/packages/components/Tree/RenderTreeNode.tsx +9 -4
  285. package/src/packages/components/Tree/index.tsx +4 -3
  286. package/src/packages/components/Tree/tree.scss +42 -9
  287. package/src/packages/components/TreeCore/TreeCore.type.tsx +2 -0
  288. package/src/packages/components/TreeCore/createTreeCore.tsx +5 -1
  289. package/src/packages/components/TreeCore/createTreeDraggier.tsx +71 -57
  290. package/src/packages/components/TreeCore/createTreeMethods.tsx +1 -0
  291. package/src/packages/components/TreeCore/createTreeProps.ts +2 -1
  292. package/src/packages/components/TreeCore/createTreeUtils.ts +1 -1
  293. package/src/packages/components/TreeNodeWithMenu/index.tsx +91 -0
  294. package/src/packages/components/TreeNodeWithMenu/tree-node-with-menu.scss +39 -0
  295. package/src/packages/components/TreeNodeWithMenu/treeNodeWithMenu.utils.ts +12 -0
  296. package/src/packages/components/Upload/index.tsx +12 -12
  297. package/src/packages/components/VirtualList/createVirtualDraggier.ts +375 -0
  298. package/src/packages/components/VirtualList/index.tsx +56 -10
  299. package/src/packages/components/VirtualList/useVirtualList.tsx +239 -115
  300. package/src/packages/components/VirtualList/virtual-list.scss +41 -18
  301. package/src/packages/components/VirtualTable/index.tsx +29 -16
  302. package/src/packages/components/VirtualTable/virtual-table.scss +2 -3
  303. package/src/packages/components/createAutoScrollManager/index.tsx +41 -0
  304. package/src/packages/components/createHttp/index.tsx +4 -1
  305. package/src/packages/components/createPlainAddressService/index.tsx +12 -6
  306. package/src/packages/components/createProvider/index.ts +5 -0
  307. package/src/packages/components/createRequestInterceptor/index.ts +139 -0
  308. package/src/packages/components/createScrollDraggier/index.ts +341 -0
  309. package/src/packages/components/createTransitionHandler/index.ts +46 -0
  310. package/src/packages/components/createVirtualDraggier/index.ts +5 -0
  311. package/src/packages/components/createWebDraggier/index.ts +5 -0
  312. package/src/packages/components/loadFile/index.ts +20 -0
  313. package/src/packages/components/nextPopupId/index.ts +5 -0
  314. package/src/packages/components/useAutoScrollUtils/index.tsx +1 -1
  315. package/src/packages/components/useDialog/DialogService.tsx +22 -10
  316. package/src/packages/components/useDialog/index.tsx +2 -2
  317. package/src/packages/components/useImage/ImageService.tsx +42 -16
  318. package/src/packages/components/useLoading/LoadingService.tsx +106 -0
  319. package/src/packages/components/useLoading/index.tsx +31 -0
  320. package/src/packages/components/useLoading/loading.service.scss +25 -0
  321. package/src/packages/components/useLoading/loading.service.utils.tsx +13 -0
  322. package/src/packages/components/useMessage/Message.tsx +9 -3
  323. package/src/packages/components/useMessage/index.tsx +1 -1
  324. package/src/packages/components/useMessage/message.scss +7 -3
  325. package/src/packages/components/useNotice/Notice.tsx +4 -2
  326. package/src/packages/components/useNotice/index.tsx +2 -2
  327. package/src/packages/components/useNotice/notice.scss +3 -3
  328. package/src/packages/components/usePageRender/index.tsx +3 -0
  329. package/src/packages/components/usePageRenderContext/index.tsx +8 -0
  330. package/src/packages/components/usePopup/PopupItem.tsx +60 -28
  331. package/src/packages/components/usePopup/popup-item.scss +34 -3
  332. package/src/packages/components/usePopup/refresh/MaxMinTopLeft.ts +38 -0
  333. package/src/packages/components/usePopup/refresh/calcPosition.ts +7 -4
  334. package/src/packages/components/usePopup/refresh/refreshPopup.ts +3 -1
  335. package/src/packages/components/usePopup/trigger/useManagerTrigger.clickOutside.tsx +2 -2
  336. package/src/packages/components/usePopup/usePopup.tsx +23 -7
  337. package/src/packages/components/usePopup/usePopupManager.tsx +2 -1
  338. package/src/packages/components/usePopup/utils/popup.utils.ts +7 -2
  339. package/src/packages/components/usePopupManager/index.ts +5 -0
  340. package/src/packages/components/usePopupTrigger/index.tsx +5 -0
  341. package/src/packages/components/useReferenceTrigger/index.tsx +5 -0
  342. package/src/packages/components/useTooltip/index.tsx +16 -3
  343. package/src/packages/components/useWatchAutoClear/index.ts +5 -0
  344. package/src/packages/directives/ResizeDetector/index.tsx +10 -3
  345. package/src/packages/entry.tsx +122 -1
  346. package/src/packages/i18n/i18n.utils.ts +235 -111
  347. package/src/packages/i18n/index.ts +4 -3
  348. package/src/packages/i18n/lang/en-us.ts +257 -185
  349. package/src/packages/i18n/lang/zh-cn.ts +72 -0
  350. package/src/packages/styles/global.import.scss +17 -1
  351. package/src/packages/uses/useCollapseStyles.tsx +56 -0
  352. package/src/packages/uses/useDragHorizontalScroll.ts +82 -0
  353. package/src/packages/uses/useEdit.ts +5 -1
  354. package/src/packages/uses/useStyle.tsx +20 -6
  355. package/src/packages/utils/ClientZoom.ts +24 -2
  356. package/src/packages/utils/ComponentUtils.ts +10 -0
  357. package/src/packages/utils/buildCycleIndexList.ts +31 -0
  358. package/src/packages/utils/createDraggier.ts +256 -0
  359. package/src/packages/utils/createListUtils.ts +38 -0
  360. package/src/packages/utils/findReactElement.tsx +2 -2
  361. package/src/packages/utils/getDeviceInfo.ts +44 -44
  362. package/src/packages/utils/inheritSlots.ts +28 -0
  363. package/src/packages/utils/onParentElementsScroll.tsx +1 -1
  364. package/src/packages/utils/plainDate.ts +6 -2
  365. package/src/packages/utils/renderInputModeTextRangeValue.tsx +25 -0
  366. package/src/packages/utils/useMove.tsx +10 -4
  367. package/src/packages/utils/watchEffectAutoClear.ts +19 -7
  368. package/src/packages/components/CarouselGroup/carousel.scss +0 -143
  369. package/src/packages/components/CarouselGroup/index.tsx +0 -274
  370. package/src/packages/utils/doNothing.ts +0 -3
  371. package/src/packages/utils/findParentElement.ts +0 -12
  372. package/src/packages/utils/formatServiceOptions.ts +0 -7
  373. package/src/packages/utils/getElement.ts +0 -17
  374. package/src/packages/utils/getElementParents.ts +0 -9
  375. package/src/packages/utils/getScrollParent.ts +0 -11
  376. package/src/packages/utils/iterate.ts +0 -53
  377. package/src/packages/utils/omit.ts +0 -6
  378. package/src/packages/utils/pick.ts +0 -11
  379. package/src/packages/utils/runOnce.tsx +0 -14
  380. package/src/pages/data/address.json +0 -39317
  381. package/src/pages/data/data-1.json +0 -754
  382. package/src/pages/data/data-2.json +0 -3006
  383. package/src/pages/data/data-200.json +0 -5206
  384. package/src/pages/data/data-2000.json +0 -51954
  385. package/src/pages/data/data-50.json +0 -2075
  386. package/src/pages/data/data.json +0 -30002
  387. package/src/pages/data/demo.json +0 -1702
  388. package/src/pages/data/mock.database.js +0 -43
  389. package/src/pages/data/mock.js +0 -141
  390. package/src/pages/data/tree.data.json +0 -87
  391. package/src/pages/env/config/local.js +0 -3
  392. package/src/pages/env/config/prod.js +0 -3
  393. package/src/pages/env/config/undefined.js +0 -1
  394. package/src/pages/env/env.d.ts +0 -4
  395. package/src/pages/env/index.ts +0 -1
  396. package/src/pages/history/createHistory.ts +0 -94
  397. package/src/pages/history/history.utils.ts +0 -64
  398. package/src/pages/index/App.tsx +0 -16
  399. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  400. package/src/pages/index/Demo/DemoRow.scss +0 -128
  401. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  402. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  403. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  404. package/src/pages/index/Demo/index.ts +0 -8
  405. package/src/pages/index/PageThemeUtils.tsx +0 -125
  406. package/src/pages/index/app.scss +0 -192
  407. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -51
  408. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  409. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  410. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  411. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  412. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  413. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  414. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  415. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  416. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  417. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  418. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  419. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  420. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  421. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  422. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  423. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  424. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  425. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  426. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  427. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  428. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  429. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  430. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  431. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  432. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  433. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  434. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  435. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  436. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  437. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  438. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  439. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  440. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  441. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  442. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  443. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -125
  444. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  445. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  446. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  447. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  448. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  449. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  450. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  451. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  452. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  453. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -463
  454. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  455. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  456. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  457. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  458. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  459. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  460. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  461. package/src/pages/index/components/normal/DemoList.scss +0 -15
  462. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  463. package/src/pages/index/components/normal/DemoLoading.tsx +0 -83
  464. package/src/pages/index/components/normal/DemoNumber.tsx +0 -266
  465. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  466. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  467. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  468. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  469. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  470. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  471. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  472. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  473. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  474. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  475. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  476. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  477. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  478. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  479. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  480. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  481. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  482. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  483. package/src/pages/index/components/normal/DemoTree.tsx +0 -1099
  484. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  485. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -378
  486. package/src/pages/index/components/service/DemoDialogService.tsx +0 -248
  487. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  488. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  489. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  490. package/src/pages/index/components/service/DemoPopupService.tsx +0 -322
  491. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  492. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  493. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  494. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  495. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  496. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  497. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  498. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -181
  499. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  500. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  501. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  502. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  503. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  504. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  505. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  506. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  507. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  508. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  509. package/src/pages/index/home/AppContent.tsx +0 -69
  510. package/src/pages/index/home/AppHead.tsx +0 -105
  511. package/src/pages/index/home/AppHome.tsx +0 -16
  512. package/src/pages/index/home/AppMenu.tsx +0 -38
  513. package/src/pages/index/home/menus.tsx +0 -217
  514. package/src/pages/index/main.tsx +0 -27
  515. package/src/pages/index/nav/$nav.ts +0 -41
  516. package/src/pages/index/pages.d.ts +0 -6
  517. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  518. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  519. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  520. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  521. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  522. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  523. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  524. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  525. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  526. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  527. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  528. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  529. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  530. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  531. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  532. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  533. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  534. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  535. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  536. package/src/pages/module/address.ts +0 -27
  537. package/src/pages/module/http.ts +0 -24
  538. package/src/pages/module/index.ts +0 -19
  539. package/src/pages/module/object.ts +0 -5
  540. package/src/pages/module/ov.tsx +0 -13
  541. package/src/pages/module/upload.ts +0 -9
  542. package/src/pages/module/useTableOption.ts +0 -28
@@ -6,10 +6,12 @@ import {TabsHeaderHorizontal} from "./header/horizontal/TabsHeaderHorizontal";
6
6
  import {TabsHeaderVertical} from "./header/vertical/TabsHeaderVertical";
7
7
  import Tab from "../Tab";
8
8
  import Icon from "../Icon";
9
+ import {StyleProps, useStyle} from "../../uses/useStyle";
9
10
 
10
11
  export const TabGroup = designComponent({
11
12
  name: 'tab-group',
12
13
  props: {
14
+ ...StyleProps,
13
15
  modelValue: { type: [String, Number] }, // 双向绑定值,控制当前显示的tab
14
16
  closeable: { type: Boolean }, // 是否显示关闭按钮,会派发onClose事件
15
17
  fitHeight: { type: Boolean }, // 适配高度
@@ -21,6 +23,7 @@ export const TabGroup = designComponent({
21
23
  slots: ['default', 'operator'],
22
24
  setup({ props, event: { emit }, slots }) {
23
25
 
26
+ const { styleComputed } = useStyle();
24
27
  const model = useModel(() => props.modelValue, emit.onUpdateModelValue);
25
28
  const items = TabCollector.parent();
26
29
 
@@ -53,6 +56,7 @@ export const TabGroup = designComponent({
53
56
  getComponentCls('tab-group'),
54
57
  `tabs-head-position-${props.headPosition}`,
55
58
  `tabs-head-type-${props.headType}`,
59
+ `tab-group-size-${styleComputed.value.size}`,
56
60
  {
57
61
  'tabs-fit-height': props.fitHeight
58
62
  },
@@ -97,7 +101,7 @@ export const TabGroup = designComponent({
97
101
  const body = (
98
102
  <div className="tabs-body">
99
103
  {[...tabs.value].sort((a, b) => String(a.val).localeCompare(String(b.val))).map((tab, index) => (
100
- <TabsInner item={tab.item} key={index} active={tab.active}/>
104
+ <TabsInner item={tab.item} key={index} active={tab.active} render={() => tab.item.slots.default()}/>
101
105
  ))}
102
106
  </div>
103
107
  );
@@ -6,6 +6,10 @@
6
6
  display: block;
7
7
  }
8
8
 
9
+ .tabs-header {
10
+ background-color: plv(bg-2);
11
+ }
12
+
9
13
  .tabs-header-item {
10
14
  cursor: pointer;
11
15
  user-select: none;
@@ -33,4 +37,26 @@
33
37
  margin-left: 4px;
34
38
  }
35
39
  }
40
+
41
+ .inner-tab {
42
+ & > .#{componentName(auto-table)}:first-child, & > .#{componentName(page-card)}:first-child {
43
+ .auto-table-body, & > div:first-child {
44
+ border-top-left-radius: 0;
45
+ border-top-right-radius: 0;
46
+ }
47
+ }
48
+ }
49
+
50
+ @include sizeMixin(tab-group, (font-size)) {
51
+ .tabs-header {
52
+ border-top-left-radius: $border-radius;
53
+ border-top-right-radius: $border-radius;
54
+
55
+ .tabs-header-list {
56
+ box-sizing: border-box;
57
+ padding-left: $margin;
58
+ padding-right: $margin;
59
+ }
60
+ }
61
+ }
36
62
  }
@@ -11,11 +11,11 @@ export const PlcAddress = designComponent({
11
11
  types: { type: String, default: 'pcd' },
12
12
  service: { type: Object as PropType<iAddressService> },
13
13
 
14
- provinceTitle: { type: String, default: () => i18n('base.province').d('省') },
14
+ provinceTitle: { type: String },
15
15
  provinceField: { type: String, default: 'province' },
16
- cityTitle: { type: String, default: () => i18n('base.city').d('市') },
16
+ cityTitle: { type: String },
17
17
  cityField: { type: String, default: 'city' },
18
- districtTitle: { type: String, default: () => i18n('base.district').d('区县') },
18
+ districtTitle: { type: String },
19
19
  districtField: { type: String, default: 'district' },
20
20
  },
21
21
  setup({ props }) {
@@ -33,11 +33,11 @@ export const PlcAddress = designComponent({
33
33
  <PlcAddressItem
34
34
  key={plcBindIds.province}
35
35
  bindId={plcBindIds.province}
36
- title={props.provinceTitle}
36
+ title={props.provinceTitle || i18n.$it('base.province').d('省')}
37
37
  field={props.provinceField}
38
38
  province
39
39
  editColSpan={props.types.length}
40
- formLabel={i18n('base.address').d("地址")}
40
+ formLabel={i18n.$it('base.address').d("地址")}
41
41
  filterType="province"
42
42
  filterHandler="like"
43
43
  v-slots={{
@@ -59,7 +59,7 @@ export const PlcAddress = designComponent({
59
59
  key={plcBindIds.city}
60
60
  parentBindId={plcBindIds.province}
61
61
  bindId={plcBindIds.city}
62
- title={props.cityTitle}
62
+ title={props.cityTitle || i18n.$it('base.city').d('市')}
63
63
  field={props.cityField}
64
64
  city
65
65
  parentField={props.provinceField}
@@ -74,7 +74,7 @@ export const PlcAddress = designComponent({
74
74
  <PlcAddressItem
75
75
  key="district"
76
76
  parentBindId={plcBindIds.city}
77
- title={props.districtTitle}
77
+ title={props.districtTitle || i18n.$it('base.district').d('区县')}
78
78
  field={props.districtField}
79
79
  district
80
80
  parentField={props.cityField}
@@ -2,7 +2,7 @@ import {computed, ExtractPropTypes, PropType} from "plain-design-composition";
2
2
  import {eDatePanel} from "../../DatePicker/date.utils";
3
3
  import {eMultipleValueType} from "../../../uses/useMultipleModel";
4
4
  import {createPlcPropOptions} from "../plc/utils/plc.utils";
5
- import {pick} from "../../../utils/pick";
5
+ import {pick} from "plain-utils/object/pick";
6
6
 
7
7
  /**
8
8
  * PlcDate继承于Date组件的属性
@@ -1,7 +1,7 @@
1
1
  import {TimePublicProps} from "../../TimePicker/panel/time-panel.utils";
2
2
  import {PlcPropsOptions} from "../plc/utils/plc.utils";
3
3
  import {computed, ExtractPropTypes} from "plain-design-composition";
4
- import {pick} from "../../../utils/pick";
4
+ import {pick} from "plain-utils/object/pick";
5
5
 
6
6
  export const PlcTimePropsOptions = {
7
7
  ...PlcPropsOptions,
@@ -6,7 +6,7 @@ import {tPlcScopeSlots, tPlcSlots} from "../utils/plc.scope-slots";
6
6
  import {Validation} from "../../../Form/validate/createValidation";
7
7
  import {PlainObject} from "plain-utils/utils/event";
8
8
  import {isRuleRequired} from "../../../Form/validate/validate.utils";
9
- import {pick} from "../../../../utils/pick";
9
+ import {pick} from "plain-utils/object/pick";
10
10
  import {PlcExclusion} from "../../standard/PlcExclusion";
11
11
 
12
12
  export function useBasePlc(
@@ -3,7 +3,7 @@ import {iTableHooks} from "../table/utils/createTableHooks";
3
3
  import {computed, nextTick, onBeforeUnmount, reactive, useRefs, watch} from "plain-design-composition";
4
4
  import {PlcGroup} from "../../PlcGroup";
5
5
  import {TablePlcFixedType, tPlc, tPlcType} from "./utils/plc.utils";
6
- import {runOnce} from "../../../utils/runOnce";
6
+ import {runOnce} from "plain-utils/utils/runOnce";
7
7
  import {formatPlcList, tPlcData} from "./formatPlcList";
8
8
  import {OpenController} from "../../../utils/OpenController";
9
9
  import {createEffects} from "plain-utils/utils/createEffects";
@@ -5,7 +5,7 @@ import {FormItemValidatePropsOption} from "../../../Form/validate/validate.utils
5
5
  import {iTableCellRenderScope, iTableNode} from "../../table/utils/table.utils";
6
6
  import {deepcopy} from "plain-utils/object/deepcopy";
7
7
  import {PlainObject} from "plain-utils/utils/event";
8
- import {omit} from "../../../../utils/omit";
8
+ import {omit} from "plain-utils/object/omit";
9
9
  import {createCounter} from "plain-utils/utils/createCounter";
10
10
  import {iFilterOption} from "../../../FilterService/utils/filter.service.utils";
11
11
  import {AsyncFormatter} from "../../../AsyncFormatter";
@@ -249,11 +249,11 @@ export function usePlcCheckMultiple(
249
249
  </Badge>
250
250
  ),
251
251
  popper: () => <>
252
- <DropdownOption label={i18n('base.select.all').d('全选')} icon="pi-select-all" onClick={methods.checkAll}/>
253
- <DropdownOption label={i18n('base.clear').d('清空')} icon="pi-menu" onClick={methods.uncheckAll}/>
252
+ <DropdownOption label={i18n.$it('base.select.all').d('全选')} icon="pi-select-all" onClick={methods.checkAll}/>
253
+ <DropdownOption label={i18n.$it('base.clear').d('清空')} icon="pi-menu" onClick={methods.uncheckAll}/>
254
254
  {!!model.value?.length && <>
255
- <DropdownOption label={i18n('base.select.reverse').d('反选')} icon="pi-unordered-list" onClick={methods.reverse}/>
256
- {!props.hideShowAllButton && <DropdownOption label={i18n('base.lookUp').d('查看')} icon="pi-ordered-list" onClick={methods.showAll}/>}
255
+ <DropdownOption label={i18n.$it('base.select.reverse').d('反选')} icon="pi-unordered-list" onClick={methods.reverse}/>
256
+ {!props.hideShowAllButton && <DropdownOption label={i18n.$it('base.lookUp').d('查看')} icon="pi-ordered-list" onClick={methods.showAll}/>}
257
257
  </>}
258
258
  </>
259
259
  }}
@@ -7,7 +7,7 @@ import {useWatchAutoClear} from "../../../../utils/watchEffectAutoClear";
7
7
  import {createPlcCheckHooks} from "./PlcCheck.hooks";
8
8
  import {usePlcCheckMultiple} from "./PlcCheck.multiple";
9
9
  import {usePlcCheckSingle} from "./PlcCheck.single";
10
- import {doNothing} from "../../../../utils/doNothing";
10
+ import {doNothing} from "plain-utils/utils/doNothing";
11
11
 
12
12
  export const PlcCheck = designComponent({
13
13
  name: 'plc-check',
@@ -1,4 +1,4 @@
1
- import {omit} from "../../../../utils/omit";
1
+ import {omit} from "plain-utils/object/omit";
2
2
  import {createPlcPropOptions, PlcEmitsOptions} from "../../plc/utils/plc.utils";
3
3
  import {ComponentEvent, ExtractPropTypes, PropType,} from "plain-design-composition";
4
4
  import {PlainObject} from "plain-utils/utils/event";
@@ -65,9 +65,9 @@ export const PlcExpand = designComponent({
65
65
  * @author 韦胜健
66
66
  * @date 2022/11/17 10:46
67
67
  */
68
- renderExpand: (node: iTableNode) => {
68
+ renderExpand: (node: iTableNode, vIndex: number, vid: string, index: number) => {
69
69
  return (
70
- <tr className="plt-row plt-expand-row" key={`expand_${node.state.index}`}>
70
+ <tr className="plt-row plt-expand-row" key={`expand_${table.props.virtualRowType === 'virtualIndex' ? vIndex : index}`} data-vid={vid}>
71
71
  <td className="plt-cell" rowSpan={1} colSpan={totalSpan.value}>
72
72
  <div className="plt-expand-body" style={expandStyles.value}>
73
73
  {scopeSlots.expand({ node, row: node.data })}
@@ -128,29 +128,27 @@ export const PlcExpand = designComponent({
128
128
  },
129
129
  };
130
130
 
131
- /**
132
- * 不允许启用行虚拟滚动
133
- * @author 韦胜健
134
- * @date 2022/11/17 13:56
135
- */
136
- onBeforeUnmount(table.hooks.onEnableVirtual.use(() => false));
137
-
138
131
  /**
139
132
  * 拦截行渲染
140
133
  * @author 韦胜健
141
134
  * @date 2022/11/17 14:15
142
135
  */
143
- onBeforeUnmount(table.hooks.onRenderRow.use((scope) => {
144
- const { node, row, content } = scope;
145
- if (!utils.isExpand(row)) {return;}
146
- return {
147
- node,
148
- row,
149
- content: <>
150
- {content}
151
- {utils.renderExpand(node)}
152
- </>
153
- };
136
+ const weakMap = new WeakMap<PlainObject, (param: any) => any>();
137
+ onBeforeUnmount(table.hooks.onTableMessyData.use(({ data }) => {
138
+ const newData = [] as any[];
139
+ data.forEach(item => {
140
+ newData.push(item);
141
+ if (typeof item === "function") {return;}
142
+ if (utils.isExpand(item.data)) {
143
+ let dataFunc = weakMap.get(item.data);
144
+ if (!dataFunc) {
145
+ dataFunc = (param: any) => utils.renderExpand(item, param.vIndex, param.vid, param.index);
146
+ weakMap.set(item.data, dataFunc);
147
+ }
148
+ newData.push(dataFunc);
149
+ }
150
+ });
151
+ return { data: newData };
154
152
  }));
155
153
 
156
154
  /**
@@ -177,8 +175,8 @@ export const PlcExpand = designComponent({
177
175
  </div>
178
176
  ),
179
177
  popper: () => <>
180
- <DropdownOption label={i18n('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={methods.expandAll}/>
181
- <DropdownOption label={i18n('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={methods.collapseAll}/>
178
+ <DropdownOption label={i18n.$it('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={methods.expandAll}/>
179
+ <DropdownOption label={i18n.$it('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={methods.collapseAll}/>
182
180
  </>
183
181
  }}
184
182
  </Dropdown>
@@ -17,7 +17,7 @@ export const PlcIndex = designComponent({
17
17
  noFilter: true,
18
18
  noSort: true,
19
19
  }),
20
- summaryText: { type: String, default: () => i18n('base.edit.summary').d('合计') },
20
+ summaryText: { type: String, default: () => i18n.$it('base.edit.summary').d('合计') },
21
21
  start: { type: Number, default: 0 },
22
22
  },
23
23
  scopeSlots: PlcScopeSlotsOptions,
@@ -62,7 +62,7 @@ export const OuterOperation = designComponent({
62
62
  let outerOperationConfigs: iTableOuterOperationConfig[] = props.operations?.filter(i => !i.position || i.position === eTableOperationPosition.outer) as any;
63
63
  outerOperationConfigs = props.processOuterOperations?.(outerOperationConfigs) || outerOperationConfigs || [];
64
64
  outerOperationConfigs.forEach(i => {
65
- const { position, handler, keyboard, render } = i;
65
+ const { position, handler, keyboard, render, dropdown } = i;
66
66
  const type = typeof i.type === "function" ? i.type() : i.type || 'other';
67
67
  const operation: iTableOuterOperation = {
68
68
  label: typeof i.label === "function" ? i.label() : i.label,
@@ -73,6 +73,7 @@ export const OuterOperation = designComponent({
73
73
  type,
74
74
  disabled: typeof i.disabled === "function" ? i.disabled() : !!i.disabled,
75
75
  position,
76
+ dropdown,
76
77
  handler,
77
78
  mode: typeof i.mode === "function" ? i.mode() : i.mode,
78
79
  status: typeof i.status === "function" ? i.status() : i.status,
@@ -112,8 +113,8 @@ export const OuterOperation = designComponent({
112
113
  <div className="table-operation-bar-right">
113
114
  {(() => {
114
115
  const outerButtonSize = 3;
115
- const exposeOuterButtons = outerOperations.value.slice(0, outerButtonSize);
116
- const hiddenOuterButtons = outerOperations.value.slice(outerButtonSize);
116
+ const exposeOuterButtons = outerOperations.value.filter(i => !i.dropdown);
117
+ const hiddenOuterButtons = outerOperations.value.filter(i => i.dropdown);
117
118
  const renderContent: RenderNode[] = [];
118
119
  const exposeOuterButtonsContent = exposeOuterButtons.map(operation => {
119
120
  const btn = operation.render ? operation.render(false) : (
@@ -165,7 +166,7 @@ export const OuterOperation = designComponent({
165
166
  v-slots={{
166
167
  default: () => (
167
168
  <ButtonGroup>
168
- <Button label={i18n('base.more').d('更多')}/>
169
+ <Button label={i18n.$it('base.more').d('更多')}/>
169
170
  <Button icon="pi-down"/>
170
171
  </ButtonGroup>
171
172
  ),
@@ -14,7 +14,7 @@ import {DropdownOption} from "../../../DropdownOption";
14
14
  import {PlcScopeSlotsOptions} from "../../plc/utils/plc.scope-slots";
15
15
  import {iOperationPermission, useOperationPermission} from "./useOperationPermission";
16
16
  import i18n from "../../../i18n";
17
- import {pick} from "../../../../utils/pick";
17
+ import {pick} from "plain-utils/object/pick";
18
18
 
19
19
  export const PlcOperation = designComponent({
20
20
  name: 'plc-operation',
@@ -25,7 +25,7 @@ export const PlcOperation = designComponent({
25
25
  width: null as any,
26
26
  align: 'left',
27
27
  hideInForm: true,
28
- title: (() => i18n('base.operation').d('操作')) as any,
28
+ title: (() => i18n.$it('base.operation').d('操作')) as any,
29
29
  noFilter: true,
30
30
  noSort: true,
31
31
  }),
@@ -183,7 +183,7 @@ export const PlcOperation = designComponent({
183
183
  const predicateWidth = computed((): number => {
184
184
  if (innerOperationConfigs.value.length === 0) {return 0;}
185
185
  return innerOperationConfigs.value.reduce((prev) => {
186
- return prev + 2 * 14 + 12;
186
+ return prev + 2 * 14 + 13;
187
187
  }, 0) + 24;
188
188
  });
189
189
 
@@ -281,7 +281,7 @@ export const PlcOperation = designComponent({
281
281
  * @author 韦胜健
282
282
  * @date 2022.11.25 19:20
283
283
  */
284
- effects.push(table.hooks.onVirtualPageIndexChange.use(({ start }) => {state.virtualRowStart = start;}));
284
+ effects.push(table.hooks.onVirtualPageIndexChange.use(({ startIndex }) => {state.virtualRowStart = startIndex;}));
285
285
 
286
286
  onBeforeUnmount(() => effects.clear());
287
287
 
@@ -305,13 +305,13 @@ export const PlcOperation = designComponent({
305
305
  <Button
306
306
  mode="text"
307
307
  key="save"
308
- label={i18n('base.edit.save').d('保存')}
308
+ label={i18n.$it('base.edit.save').d('保存')}
309
309
  onClick={() => event.emit.onClickNodeSaveOperation(node)}
310
310
  />
311
311
  <Button
312
312
  mode="text"
313
313
  key="cancel"
314
- label={i18n('base.cancel').d('取消')}
314
+ label={i18n.$it('base.cancel').d('取消')}
315
315
  onClick={() => event.emit.onClickNodeCancelOperation(node)}
316
316
  />
317
317
  </>;
@@ -349,7 +349,7 @@ export const PlcOperation = designComponent({
349
349
  mode="text"
350
350
  key="more"
351
351
  >
352
- <span>{i18n('base.more').d('更多')}</span>
352
+ <span>{i18n.$it('base.more').d('更多')}</span>
353
353
  <Icon icon="pi-down"/>
354
354
  </Button>
355
355
  ),
@@ -50,6 +50,8 @@ type iBuildTableOperationConfig<Scope = never, IsConfig = true> = {
50
50
  keyboard?: string,
51
51
  /*外部按钮可以不用设置position,默认按钮就是外部的*/
52
52
  position?: typeof eTableOperationPosition.outer,
53
+ /*是否放在更多按钮里边*/
54
+ dropdown?: boolean,
53
55
  handler?: () => any,
54
56
  render?: (isDropdown: boolean) => RenderNode
55
57
  }) :
@@ -6,7 +6,7 @@
6
6
 
7
7
  .table-operation-bar-left {
8
8
  flex: 1;
9
- overflow: hidden;
9
+ //overflow: hidden;
10
10
  white-space: nowrap;
11
11
  text-align: left;
12
12
  }
@@ -16,11 +16,13 @@
16
16
  @include comp(auto-table) {
17
17
  @include sizeMixin(auto-table, ()) {
18
18
  .table-operation-bar {
19
- margin-bottom: $margin;
19
+ margin-bottom: 0;
20
20
 
21
21
  .table-operation-bar-right {
22
+ margin-left: $margin;
23
+
22
24
  & > * + * {
23
- margin-left: calc(#{$margin} - 8px);
25
+ margin-left: calc(#{$margin});
24
26
  }
25
27
 
26
28
  & > .#{componentName(button-group)} {
@@ -40,11 +40,11 @@ export function usePlcTreeRenderNode(
40
40
  const renderTreeHead = () => (
41
41
  <>
42
42
  <PlcTreeHeader table={table} buttonStyles={buttonStyles.value} getPlcRefer={getPlcRefer}>
43
- <DropdownOption label={i18n('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={treeCore.methods.expandAll}/>
44
- <DropdownOption label={i18n('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={treeCore.methods.collapseAll}/>
43
+ <DropdownOption label={i18n.$it('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={treeCore.methods.expandAll}/>
44
+ <DropdownOption label={i18n.$it('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={treeCore.methods.collapseAll}/>
45
45
  {props.multiple && <>
46
- <DropdownOption label={i18n('table.checkAll').d('全部选中')} icon="pi-select-all" onClick={treeCore.methods.checkAll}/>
47
- <DropdownOption label={i18n('table.clearAll').d('清空选中')} icon="pi-unordered-list" onClick={treeCore.methods.unCheckAll}/>
46
+ <DropdownOption label={i18n.$it('table.checkAll').d('全部选中')} icon="pi-select-all" onClick={treeCore.methods.checkAll}/>
47
+ <DropdownOption label={i18n.$it('table.clearAll').d('清空选中')} icon="pi-unordered-list" onClick={treeCore.methods.unCheckAll}/>
48
48
  </>}
49
49
  </PlcTreeHeader>
50
50
  {props.title}
@@ -58,6 +58,9 @@ export function usePlcTreeRenderNode(
58
58
  */
59
59
  const renderTreeNode = (renderScope: iTableCellRenderScope) => {
60
60
  const treeNode = treeCore.flatNodeComputedData.value[renderScope.node.state.index];
61
+ if (!treeNode) {
62
+ return null;
63
+ }
61
64
  return (
62
65
  <RenderPlcTreeNode
63
66
  treeCore={treeCore}
@@ -10,7 +10,7 @@ import {usePlcTreeAutoWidth} from "./PlcTree.autoWidth";
10
10
  import {CheckboxStatus} from "../../../../utils/constant";
11
11
  import {createEffects} from "plain-utils/utils/createEffects";
12
12
  import {iTableNode} from "../../table/utils/table.utils";
13
- import {findParentElement} from "../../../../utils/findParentElement";
13
+ import {findParentElement} from "plain-utils/dom/findParentElement";
14
14
  import {hasClass} from "plain-utils/dom/hasClass";
15
15
 
16
16
  export const PlcTree = designComponent({
@@ -1,5 +1,5 @@
1
1
  import {ExtractPropTypes, PropType, tScopeSlotsType} from "plain-design-composition";
2
- import {omit} from "../../../../utils/omit";
2
+ import {omit} from "plain-utils/object/omit";
3
3
  import {TreePropsOptions} from "../../../TreeCore/createTreeProps";
4
4
  import {createPlcPropOptions} from "../../plc/utils/plc.utils";
5
5
  import {PlcScopeSlotsOptions} from "../../plc/utils/plc.scope-slots";
@@ -80,6 +80,7 @@ export const RenderPlcTreeNode = designComponent({
80
80
  {props.treeCore.props.multiple && (
81
81
  <div className={`tree-node-checker plc-tree-button`}>
82
82
  <Checkbox
83
+ key={props.treeNode.id}
83
84
  checkStatus={checkStatus.value}
84
85
  disabled={!props.treeNode.isCheckAble()}
85
86
  onClick={handler.onClickCheckbox}
@@ -89,7 +90,7 @@ export const RenderPlcTreeNode = designComponent({
89
90
  {props.treeCore.props.draggable && (
90
91
  <div
91
92
  className={classnames(['tree-node-draggier', 'plc-tree-button', { 'tree-node-draggier-disable': !props.treeCore.utils.isAllowDraggable(props.treeNode) }])}
92
- onMouseDown={handler.onMousedownDraggier.value}
93
+ onMouseDown={props.treeNode.empty ? undefined : handler.onMousedownDraggier.value}
93
94
  >
94
95
  <Icon icon="pi-menu"/>
95
96
  </div>
@@ -108,6 +108,8 @@ export const Table = designComponent({
108
108
  */
109
109
  const { bodyNodes, summaryNodes } = useTableNode({ props, formValidator, dataRef });
110
110
 
111
+ const tableBodyNodes = computed(() => hooks.onTableMessyData.exec({ data: [...bodyNodes.value] }).data);
112
+
111
113
  const showRows = computed((): number => {
112
114
  const bodyRows = bodyNodes.value.length;
113
115
  if (props.showRows === 'auto') {
@@ -234,6 +236,7 @@ export const Table = designComponent({
234
236
  /*---------------------------------------内置hooks-------------------------------------------*/
235
237
 
236
238
  hooks.onRender.use({
239
+ separate: false,
237
240
  processor: ({ list, render }) => {!bodyNodes.value.length && list.push({ render, key: 'empty', seq: 4 });},
238
241
  render: () => (
239
242
  <div className="table-empty">
@@ -323,9 +326,10 @@ export const Table = designComponent({
323
326
  <VirtualTable
324
327
  ref={onRefVirtual}
325
328
  height={tableHeight.value || undefined}
326
- data={bodyNodes.value}
329
+ data={tableBodyNodes.value}
327
330
  headData={plcData.value?.headPlcListArray}
328
331
  size={numberState.bodyRowHeight}
332
+ dynamicSize={props.dynamicSize}
329
333
  headSize={numberState.headRowHeight}
330
334
  width={plcData.value!.targetTableWidth!}
331
335
  summaryData={summaryNodes.value}
@@ -351,8 +355,12 @@ export const Table = designComponent({
351
355
  </tr>
352
356
  ))
353
357
  ),
354
- default: ({ item, index, virtualIndex }) => (
355
- <PltRow table={refer} node={item} vid={index} key={virtualIndex}/>
358
+ default: ({ item, vid, vIndex, index }) => (
359
+ typeof item !== "function" ? (
360
+ <PltRow table={refer} node={item} vid={vid} key={props.virtualRowType === 'virtualIndex' ? vIndex : index}/>
361
+ ) : (
362
+ item({ vid, vIndex, index })
363
+ )
356
364
  ),
357
365
  }}
358
366
  />
@@ -127,24 +127,29 @@ export const PltCell = designComponent({
127
127
  * @author 韦胜健
128
128
  * @date 2023.1.20 14:00
129
129
  */
130
+ const emptyOverflowTooltipOption = { reference: null, message: null, };
130
131
  const overflowTooltip = createTooltip({
131
132
  overflow: true,
132
133
  /*当没有message时注销监听鼠标事件*/
133
134
  ignoreEmptyMessage: false,
134
135
  tooltip: () => {
135
136
  const bodyCell = getBodyCell();
136
- return ({
137
- /*
138
- * 没有开启overflowTooltip
139
- * 或者没有初始化getBodyCell
140
- * 或者没有bodyCell
141
- * 或者当前处于编辑状态
142
- *
143
- * 则不显示overflowTooltip
144
- */
145
- reference: !props.plc.props.overflowTooltip || !bodyCell || bodyCell.editable ? null : refs.el,
146
- message: bodyCell?.body,
147
- });
137
+ /*
138
+ * 没有开启overflowTooltip
139
+ * 或者没有初始化getBodyCell
140
+ * 或者没有bodyCell
141
+ * 或者当前处于编辑状态
142
+ *
143
+ * 则不显示overflowTooltip
144
+ */
145
+ if (!props.plc.props.overflowTooltip || !bodyCell || bodyCell.editable) {
146
+ return emptyOverflowTooltipOption
147
+ } else {
148
+ return {
149
+ reference: !props.plc.props.overflowTooltip || !bodyCell || bodyCell.editable ? null : refs.el,
150
+ message: bodyCell?.body,
151
+ };
152
+ }
148
153
  },
149
154
  }, popup);
150
155
  effects.push(overflowTooltip.clear);
@@ -34,7 +34,7 @@ export const PltRow = designComponent({
34
34
  render: () => {
35
35
  return props.table.hooks.onRenderRow.exec({
36
36
  content: (
37
- <tr className={classes.value} style={{ height: `${props.table.numberState.bodyRowHeight}px` }} data-vid={props.vid} {...handler}>
37
+ <tr className={classes.value} style={{ height: `${props.table.numberState.bodyRowHeight}px` }} data-vid={props.vid} data-idx={String(props.node.state.index == null ? "" : props.node.state.index)} {...handler}>
38
38
  {(props.table.bodyPlcList.value?.map((plc) => <PltCell key={plc.plcKey} table={props.table} node={props.node} plc={plc}/>))}
39
39
  </tr>
40
40
  ),
@@ -84,13 +84,17 @@ export function useCellValue(
84
84
  };
85
85
  (async () => {
86
86
  try {
87
+ const sv = sourceValue.value;
88
+ const sr = row.value;
87
89
  const value = await asyncFormatterFunction(sourceValue.value, { ...cellRenderScope, ...formatterOptions });
88
- asyncState.asyncValue = {
89
- sourceValue: sourceValue.value,
90
- row: row.value,
91
- targetValue: value,
92
- loading: false,
93
- };
90
+ if (sv === sourceValue.value && sr === row.value) {
91
+ asyncState.asyncValue = {
92
+ sourceValue: sourceValue.value,
93
+ row: row.value,
94
+ targetValue: value,
95
+ loading: false,
96
+ };
97
+ }
94
98
  } catch (e) {
95
99
  /*异步格式化失败*/
96
100
  console.error(e);