plain-design 1.0.0-beta.4 → 1.0.0-beta.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. package/dist/plain-design.commonjs.min.js +3 -3
  2. package/dist/plain-design.min.css +37 -29
  3. package/dist/plain-design.min.js +3 -3
  4. package/dist/report.html +5 -5
  5. package/package.json +9 -8
  6. package/src/packages/build.ts +2 -10
  7. package/src/packages/components/$object/createObjectService.tsx +31 -20
  8. package/src/packages/components/$object/object.service.utils.ts +7 -3
  9. package/src/packages/components/$previewer/ImagePreviewerFixedContainer.tsx +108 -0
  10. package/src/packages/components/$previewer/image-previewer-fixed-container.scss +18 -0
  11. package/src/packages/components/$previewer/index.tsx +52 -0
  12. package/src/packages/components/Alert/alert.scss +3 -3
  13. package/src/packages/components/Application/service/useApplicationService.tsx +2 -0
  14. package/src/packages/components/Application/theme/theme.ts +3 -3
  15. package/src/packages/components/ArrowStepGroup/arrow-step.scss +4 -4
  16. package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +1 -0
  17. package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +2 -0
  18. package/src/packages/components/AutoTable/use/useTableOption.state.tsx +1 -0
  19. package/src/packages/components/AutoTable/use/useTableOption.table.tsx +3 -3
  20. package/src/packages/components/AutoTable/utils/TableOption.space.tsx +4 -0
  21. package/src/packages/components/Badge/badge.scss +1 -1
  22. package/src/packages/components/Button/button.scss +2 -2
  23. package/src/packages/components/Card/card.scss +1 -1
  24. package/src/packages/components/Carousel/carousel.scss +391 -0
  25. package/src/packages/components/Carousel/index.tsx +569 -22
  26. package/src/packages/components/CarouselItem/index.tsx +77 -0
  27. package/src/packages/components/CascadePanel/list/CascadeListPanelItem.tsx +3 -3
  28. package/src/packages/components/CheckboxInner/checkbox-inner.scss +1 -1
  29. package/src/packages/components/ColorPicker/sub/ColorSlider.tsx +8 -5
  30. package/src/packages/components/ColorPicker/sub/ColorSvPanel.tsx +7 -4
  31. package/src/packages/components/DatePicker/date.scss +1 -1
  32. package/src/packages/components/Dialog/dialog.scss +1 -1
  33. package/src/packages/components/Dialog/index.tsx +4 -3
  34. package/src/packages/components/Dialog/useDialogMovable.tsx +7 -4
  35. package/src/packages/components/Dialog/utils/dialog.mouse.ts +4 -2
  36. package/src/packages/components/Dropdown/dropdown.public.scss +10 -0
  37. package/src/packages/components/Dropdown/dropdown.utils.tsx +3 -1
  38. package/src/packages/components/Dropdown/index.tsx +2 -2
  39. package/src/packages/components/DropdownOption/index.tsx +3 -3
  40. package/src/packages/components/DropdownSeparator/index.tsx +8 -0
  41. package/src/packages/components/FilterFormMultiple/index.tsx +31 -10
  42. package/src/packages/components/Image/image.scss +3 -3
  43. package/src/packages/components/ImagePreviewer/ImagePreviewer.tsx +574 -0
  44. package/src/packages/components/ImagePreviewer/ImagePreviewerButtonBar.tsx +140 -0
  45. package/src/packages/components/ImagePreviewer/ImagePreviewerCarouselImage.tsx +54 -0
  46. package/src/packages/components/ImagePreviewer/ImagePreviewerGallery.tsx +202 -0
  47. package/src/packages/components/ImagePreviewer/PreviewerLoading.tsx +26 -0
  48. package/src/packages/components/ImagePreviewer/image-previewer.scss +244 -0
  49. package/src/packages/components/ImagePreviewer/image-previewer.utils.tsx +135 -0
  50. package/src/packages/components/ImagePreviewer/index.tsx +5 -0
  51. package/src/packages/components/ImagePreviewer/previewer-loading.scss +52 -0
  52. package/src/packages/components/Input/index.scss +2 -2
  53. package/src/packages/components/Input/useMultipleInput.tsx +2 -76
  54. package/src/packages/components/Input/useTextareaInput.tsx +10 -5
  55. package/src/packages/components/Input/uses/useInputHooks.tsx +11 -11
  56. package/src/packages/components/InputNumber/NumberResize.tsx +20 -3
  57. package/src/packages/components/InputNumber/input-number.utils.tsx +7 -5
  58. package/src/packages/components/InputNumber/number.scss +10 -1
  59. package/src/packages/components/InputNumber/useInputNumber.public.tsx +25 -6
  60. package/src/packages/components/Layout/index.tsx +31 -0
  61. package/src/packages/components/Layout/layout.scss +227 -0
  62. package/src/packages/components/Layout/layout.utils.ts +3 -0
  63. package/src/packages/components/LayoutSection/index.tsx +67 -0
  64. package/src/packages/components/LayoutSection/useLayoutSectionResizer.tsx +184 -0
  65. package/src/packages/components/LoadingMask/index.tsx +1 -1
  66. package/src/packages/components/PageThemeUtils/index.tsx +54 -14
  67. package/src/packages/components/Pagination/pagination.scss +2 -2
  68. package/src/packages/components/PlcOv/index.tsx +14 -4
  69. package/src/packages/components/Popup/index.tsx +24 -10
  70. package/src/packages/components/ProgressBar/progress-bar.scss +1 -1
  71. package/src/packages/components/Rate/index.tsx +3 -1
  72. package/src/packages/components/Scroll/HorizontalScrollbar.tsx +7 -3
  73. package/src/packages/components/Scroll/VerticalScrollbar.tsx +7 -3
  74. package/src/packages/components/Scroll/index.tsx +6 -6
  75. package/src/packages/components/Select/createPublicSelectRender.tsx +1 -1
  76. package/src/packages/components/Slider/slider.scss +1 -1
  77. package/src/packages/components/Slider/useSliderDotDragier.tsx +7 -4
  78. package/src/packages/components/SortList/index.tsx +191 -0
  79. package/src/packages/components/SortList/sort-list.scss +11 -0
  80. package/src/packages/components/StackCard/index.tsx +416 -0
  81. package/src/packages/components/StackCard/stack-card.scss +40 -0
  82. package/src/packages/components/StackCardItem/index.tsx +24 -0
  83. package/src/packages/components/StepGroup/step-group.scss +9 -9
  84. package/src/packages/components/TabGroup/TabsInner.tsx +5 -3
  85. package/src/packages/components/TabGroup/header/horizontal/tabs-header-horizontal.scss +0 -1
  86. package/src/packages/components/TabGroup/index.tsx +5 -1
  87. package/src/packages/components/TabGroup/tabs.scss +3 -0
  88. package/src/packages/components/Table/standard/PlcExpand.tsx +12 -20
  89. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +1 -1
  90. package/src/packages/components/Table/standard/PlcOperation/outer-operation.scss +2 -0
  91. package/src/packages/components/Table/standard/PlcTree/RenderPlcTreeNode.tsx +2 -1
  92. package/src/packages/components/Table/table/Table.tsx +10 -3
  93. package/src/packages/components/Table/table/body/row.tsx +1 -1
  94. package/src/packages/components/Table/table/body/useCellValue.tsx +10 -6
  95. package/src/packages/components/Table/table/head/useHeadCellResize.ts +8 -3
  96. package/src/packages/components/Table/table/table.scss +2 -1
  97. package/src/packages/components/Table/table/use/useTableDraggier.col.tsx +10 -5
  98. package/src/packages/components/Table/table/use/useTableDraggier.row.tsx +12 -7
  99. package/src/packages/components/Table/table/use/useTableFormEditor.tsx +1 -1
  100. package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +1 -1
  101. package/src/packages/components/Table/table/utils/createTableHooks.ts +4 -2
  102. package/src/packages/components/Table/table/utils/table.utils.ts +6 -1
  103. package/src/packages/components/ThemeEditor/index.tsx +173 -0
  104. package/src/packages/components/ThemeEditor/theme-editor.scss +105 -0
  105. package/src/packages/components/ThemePrimaryColors/index.ts +5 -0
  106. package/src/packages/components/Tree/RenderTreeNode.tsx +8 -3
  107. package/src/packages/components/Tree/index.tsx +4 -3
  108. package/src/packages/components/Tree/tree.scss +42 -9
  109. package/src/packages/components/TreeCore/TreeCore.type.tsx +2 -0
  110. package/src/packages/components/TreeCore/createTreeCore.tsx +5 -1
  111. package/src/packages/components/TreeCore/createTreeDraggier.tsx +70 -56
  112. package/src/packages/components/TreeCore/createTreeMethods.tsx +1 -0
  113. package/src/packages/components/TreeCore/createTreeProps.ts +2 -1
  114. package/src/packages/components/TreeNodeWithMenu/index.tsx +91 -0
  115. package/src/packages/components/TreeNodeWithMenu/tree-node-with-menu.scss +39 -0
  116. package/src/packages/components/TreeNodeWithMenu/treeNodeWithMenu.utils.ts +12 -0
  117. package/src/packages/components/VirtualList/index.tsx +15 -6
  118. package/src/packages/components/VirtualList/useVirtualList.tsx +182 -107
  119. package/src/packages/components/VirtualList/virtual-list.scss +31 -17
  120. package/src/packages/components/VirtualTable/index.tsx +7 -7
  121. package/src/packages/components/VirtualTable/virtual-table.scss +1 -2
  122. package/src/packages/components/createProvider/index.ts +5 -0
  123. package/src/packages/components/nextPopupId/index.ts +5 -0
  124. package/src/packages/components/useDialog/DialogService.tsx +13 -1
  125. package/src/packages/components/useDialog/index.tsx +1 -1
  126. package/src/packages/components/useImage/ImageService.tsx +7 -4
  127. package/src/packages/components/useMessage/Message.tsx +5 -1
  128. package/src/packages/components/useMessage/message.scss +5 -1
  129. package/src/packages/components/useNotice/notice.scss +2 -2
  130. package/src/packages/components/usePopup/PopupItem.tsx +45 -26
  131. package/src/packages/components/usePopup/popup-item.scss +5 -1
  132. package/src/packages/components/usePopup/usePopup.tsx +23 -7
  133. package/src/packages/components/usePopup/usePopupManager.tsx +2 -1
  134. package/src/packages/components/usePopup/utils/popup.utils.ts +2 -1
  135. package/src/packages/components/usePopupManager/index.ts +5 -0
  136. package/src/packages/components/usePopupTrigger/index.tsx +5 -0
  137. package/src/packages/components/useReferenceTrigger/index.tsx +5 -0
  138. package/src/packages/components/useTooltip/index.tsx +10 -2
  139. package/src/packages/components/useWatchAutoClear/index.ts +5 -0
  140. package/src/packages/entry.tsx +48 -2
  141. package/src/packages/i18n/lang/en-us.ts +36 -0
  142. package/src/packages/i18n/lang/zh-cn.ts +36 -0
  143. package/src/packages/uses/useDragHorizontalScroll.ts +82 -0
  144. package/src/packages/uses/useEdit.ts +5 -1
  145. package/src/packages/uses/useStyle.tsx +10 -2
  146. package/src/packages/utils/ClientZoom.ts +24 -2
  147. package/src/packages/utils/ComponentUtils.ts +10 -0
  148. package/src/packages/utils/buildCycleIndexList.ts +31 -0
  149. package/src/packages/utils/getDeviceInfo.ts +44 -44
  150. package/src/packages/utils/getRectAutoFormat.ts +9 -0
  151. package/src/packages/utils/inheritSlots.ts +28 -0
  152. package/src/packages/utils/notNull.ts +9 -0
  153. package/src/packages/utils/useMove.tsx +10 -4
  154. package/src/packages/utils/watchEffectAutoClear.ts +19 -7
  155. package/src/packages/components/CarouselGroup/carousel.scss +0 -143
  156. package/src/packages/components/CarouselGroup/index.tsx +0 -274
  157. package/src/pages/data/address.json +0 -39317
  158. package/src/pages/data/data-1.json +0 -754
  159. package/src/pages/data/data-2.json +0 -3006
  160. package/src/pages/data/data-200.json +0 -5206
  161. package/src/pages/data/data-2000.json +0 -51954
  162. package/src/pages/data/data-50.json +0 -2075
  163. package/src/pages/data/data.json +0 -30002
  164. package/src/pages/data/demo.json +0 -1702
  165. package/src/pages/data/mock.database.js +0 -43
  166. package/src/pages/data/mock.js +0 -141
  167. package/src/pages/data/tree.data.json +0 -87
  168. package/src/pages/env/config/local.js +0 -3
  169. package/src/pages/env/config/prod.js +0 -3
  170. package/src/pages/env/config/undefined.js +0 -1
  171. package/src/pages/env/env.d.ts +0 -4
  172. package/src/pages/env/index.ts +0 -1
  173. package/src/pages/history/createHistory.ts +0 -94
  174. package/src/pages/history/history.utils.ts +0 -64
  175. package/src/pages/index/App.tsx +0 -17
  176. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  177. package/src/pages/index/Demo/DemoRow.scss +0 -128
  178. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  179. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  180. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  181. package/src/pages/index/Demo/index.ts +0 -8
  182. package/src/pages/index/app.scss +0 -192
  183. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -51
  184. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  185. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  186. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  187. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  188. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  189. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  190. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  191. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  192. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  193. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  194. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  195. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  196. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  197. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  198. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  199. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  200. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  201. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  202. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  203. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  204. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  205. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  206. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  207. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  208. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  209. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  210. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  211. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  212. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  213. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  214. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  215. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  216. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  217. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  218. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  219. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -125
  220. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  221. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  222. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  223. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  224. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  225. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  226. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  227. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  228. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  229. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -463
  230. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  231. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  232. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  233. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  234. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  235. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  236. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  237. package/src/pages/index/components/normal/DemoList.scss +0 -15
  238. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  239. package/src/pages/index/components/normal/DemoLoading.tsx +0 -83
  240. package/src/pages/index/components/normal/DemoNumber.tsx +0 -266
  241. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  242. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  243. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  244. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  245. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  246. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  247. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  248. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  249. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  250. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  251. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  252. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  253. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  254. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  255. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  256. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  257. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  258. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  259. package/src/pages/index/components/normal/DemoTree.tsx +0 -1099
  260. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  261. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -378
  262. package/src/pages/index/components/service/DemoDialogService.tsx +0 -248
  263. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  264. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  265. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  266. package/src/pages/index/components/service/DemoPopupService.tsx +0 -322
  267. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  268. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  269. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  270. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  271. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  272. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  273. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  274. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -181
  275. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  276. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  277. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  278. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  279. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  280. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  281. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  282. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  283. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  284. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  285. package/src/pages/index/home/AppContent.tsx +0 -69
  286. package/src/pages/index/home/AppHead.tsx +0 -104
  287. package/src/pages/index/home/AppHome.tsx +0 -16
  288. package/src/pages/index/home/AppMenu.tsx +0 -38
  289. package/src/pages/index/home/menus.tsx +0 -217
  290. package/src/pages/index/main.tsx +0 -23
  291. package/src/pages/index/nav/$nav.ts +0 -41
  292. package/src/pages/index/pages.d.ts +0 -6
  293. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  294. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  295. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  296. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  297. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  298. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  299. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  300. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  301. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  302. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  303. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  304. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  305. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  306. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  307. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  308. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  309. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  310. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  311. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  312. package/src/pages/module/address.ts +0 -27
  313. package/src/pages/module/http.ts +0 -24
  314. package/src/pages/module/index.ts +0 -19
  315. package/src/pages/module/object.ts +0 -5
  316. package/src/pages/module/ov.tsx +0 -13
  317. package/src/pages/module/upload.ts +0 -9
  318. package/src/pages/module/useTableOption.ts +0 -28
@@ -1,23 +0,0 @@
1
- const DEMO_ROW_STORAGE_KEY = 'DEMO_ROW';
2
-
3
- export const DemoRowCache = (() => {
4
- let str = localStorage.getItem(DEMO_ROW_STORAGE_KEY);
5
- const cache: Record<string, boolean> = !!str ? JSON.parse(str) : {};
6
-
7
- return {
8
- get: (id: string) => {
9
- const flag = cache[id];
10
- return flag == null ? true : flag;
11
- },
12
- set: (id: string, flag: boolean) => {
13
- cache[id] = flag;
14
- localStorage.setItem(DEMO_ROW_STORAGE_KEY, JSON.stringify(cache));
15
- },
16
- setAll: (flag: boolean) => {
17
- for (const key in cache) {
18
- cache[key] = flag;
19
- }
20
- localStorage.setItem(DEMO_ROW_STORAGE_KEY, JSON.stringify(cache));
21
- },
22
- };
23
- })();
@@ -1,45 +0,0 @@
1
- import {designComponent, useCollect} from "plain-design-composition";
2
- import {DemoRow} from "./DemoRow";
3
- import {Icon} from "../../../packages";
4
-
5
- export const DemoRowController = designComponent({
6
- name: 'demo-row-controller',
7
- slots: ['default'],
8
- setup({ slots }) {
9
-
10
- const children = DemoRowCollector.parent();
11
-
12
- const methods = {
13
- changeAll: (flag: boolean) => {
14
- children.forEach(child => child.methods.set(flag));
15
- // DemoRowCache.setAll(flag);
16
- }
17
- };
18
-
19
- return {
20
- refer: {
21
- name: 'i am row controller'
22
- },
23
- render: () => (
24
- <>
25
- {slots.default()}
26
- <div className="demo-row-collector-operator">
27
- <div onClick={() => methods.changeAll(false)}>
28
- <span>全部收起</span>
29
- <Icon icon="pi-left" style={{ transform: 'rotate(-90deg)' }}/>
30
- </div>
31
- <div onClick={() => methods.changeAll(true)}>
32
- <span>全部展开</span>
33
- <Icon icon="pi-left" style={{ transform: 'rotate(90deg)' }}/>
34
- </div>
35
- </div>
36
- </>
37
- )
38
- };
39
- },
40
- });
41
-
42
- export const DemoRowCollector = useCollect(() => ({
43
- parent: DemoRowController,
44
- child: DemoRow,
45
- }));
@@ -1,8 +0,0 @@
1
- import {App} from "plain-design-composition";
2
- import {DemoLine} from "./DemoLine";
3
- import {DemoRow} from "./DemoRow";
4
-
5
- export const installDemoComponent = (app: App) => {
6
- app.component('demo-line', DemoLine);
7
- app.component('demo-row', DemoRow);
8
- };
@@ -1,192 +0,0 @@
1
- html, body {
2
- margin: 0;
3
- padding: 0;
4
- background-color: plv(background-color);
5
- font-family: plv(font-family);
6
- }
7
-
8
- :root {
9
-
10
- --app-head-height: 64px;
11
- --app-menu-padding-left: 40px;
12
- --app-menu-padding-top: 40px;
13
- --app-border-color: #{plv(border-color)};
14
- --app-title-color: #{plv(text-1)};
15
-
16
- @media screen and(min-width: 1920px) {
17
- --app-menu-wdith: 325px;
18
- }
19
- @media screen and(min-width: 1366px) and (max-width: 1919px) {
20
- --app-menu-wdith: 265px;
21
- }
22
- @media screen and(max-width: 1365px) {
23
- --app-menu-wdith: 225px;
24
- }
25
- }
26
-
27
- html, body, #app {
28
- /*height: 100%;
29
- width: 100%;*/
30
- }
31
-
32
- .app-home {
33
-
34
- .app-head {
35
- height: var(--app-head-height);
36
- display: flex;
37
- justify-content: space-between;
38
- align-items: stretch;
39
- position: sticky;
40
- top: 0;
41
- z-index: 10;
42
- border-bottom: solid 1px plv(border-color);
43
- background-color: plv(background-color);
44
-
45
- .app-head-logo {
46
- font-size: 24px;
47
- width: var(--app-menu-wdith);
48
- display: flex;
49
- align-items: center;
50
- box-sizing: border-box;
51
- padding: 0 var(--app-menu-padding-left);
52
- position: relative;
53
- font-weight: 700;
54
-
55
- &:after {
56
- position: absolute;
57
- right: 0;
58
- top: 30%;
59
- bottom: 30%;
60
- width: 1px;
61
- background-color: var(--app-border-color);
62
- content: '';
63
- }
64
-
65
- span {
66
- background: linear-gradient(#c41d7f, #08979c, #096dd9);
67
- -webkit-background-clip: text;
68
- color: transparent;
69
- font-weight: 700;
70
- white-space: nowrap;
71
- }
72
- }
73
-
74
- .app-head-operation {
75
- display: flex;
76
- align-items: center;
77
- padding: 0 var(--app-menu-padding-left) 0 0;
78
- }
79
- }
80
-
81
- .app-body {
82
- padding-left: var(--app-menu-wdith);
83
- min-height: calc(100vh - var(--app-head-height) - 2px);
84
- position: relative;
85
-
86
- .app-menu {
87
- width: var(--app-menu-wdith);
88
- position: fixed;
89
- top: var(--app-head-height);
90
- left: 0;
91
- bottom: 0;
92
- box-sizing: border-box;
93
- padding-top: var(--app-menu-padding-top);
94
-
95
- &:after {
96
- position: absolute;
97
- top: var(--app-menu-padding-top);
98
- bottom: 0;
99
- right: 0;
100
- width: 1px;
101
- background-color: var(--app-border-color);
102
- content: '';
103
- }
104
-
105
- .app-menu-group {
106
- font-size: 14px;
107
-
108
- .app-menu-group-name {
109
- height: 36px;
110
- line-height: 36px;
111
- margin: 16px 0;
112
- color: plv(text-1);
113
- position: relative;
114
- padding: 8px 0 8px var(--app-menu-padding-left);
115
- font-weight: bold;
116
-
117
- &:after {
118
- position: absolute;
119
- bottom: 0;
120
- left: var(--app-menu-padding-left);
121
- right: var(--app-menu-padding-left);
122
- height: 1px;
123
- background-color: var(--app-border-color);
124
- content: '';
125
- }
126
- }
127
-
128
- .app-menu-item {
129
- height: 40px;
130
- line-height: 40px;
131
- box-sizing: border-box;
132
- padding-left: var(--app-menu-padding-left);
133
- margin: 4px 0 8px 0;
134
- color: plv(text-2);
135
- cursor: pointer;
136
- border-right: solid 4px transparent;
137
- white-space: nowrap;
138
- overflow: hidden;
139
- text-overflow: ellipsis;
140
- display: flex;
141
- align-items: center;
142
- justify-content: space-between;
143
-
144
-
145
- & > div:first-child {
146
- span + span {
147
- margin-left: 8px;
148
- }
149
- }
150
-
151
- & > .#{componentName('icon')} {
152
- color: plv('primary-6');
153
- margin-right: var(--app-menu-padding-left);
154
- }
155
-
156
- &[data-active=true] {
157
- border-right: solid 4px plv(primary-6);
158
- background-color: plv(primary-1);
159
- transition: all ease 200ms;
160
- }
161
-
162
- &:not([data-active=true]) {
163
- transition: all ease-out 500ms;
164
- }
165
- }
166
-
167
- &:first-child {
168
- .app-menu-group-name {
169
- margin-top: 0;
170
- padding-top: 0;
171
- }
172
- }
173
- }
174
- }
175
-
176
- .app-content {
177
- min-height: inherit;
178
- box-sizing: border-box;
179
- padding: var(--app-menu-padding-top) 50px 50px;
180
- color: plv(text-2);
181
-
182
- .app-empty-text {
183
- color: plv('text-1');
184
- }
185
- }
186
- }
187
- }
188
-
189
-
190
-
191
-
192
-
@@ -1,51 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- showRowsMode: 'auto',
10
- fill: true,
11
- });
12
-
13
-
14
- const onClick = () => {
15
- console.log('click');
16
- };
17
-
18
- const selectOptions = [
19
- { label: '消费者', status: 'consumer' },
20
- { label: '潜在客户', status: 'potential' },
21
- { label: '门店', status: 'store' },
22
- ];
23
-
24
- const filterConfig = {
25
- // formItemAttrs: { column: 2 }
26
- };
27
-
28
- return () => (
29
- <AutoTable option={option}>
30
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
31
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
32
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
33
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日"/>
34
- <PlcNumber title="计数" field="count" required/>
35
- <PlcInput
36
- title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
37
- v-slots={{
38
- normal: ({ row }) => (
39
- <span>[{row.normalText}]</span>
40
- )
41
- }}
42
- />
43
- <PlcNumber title="数字" field="numberVal"/>
44
- <PlcSelect title="下拉选择" field="selectVal">
45
- {selectOptions.map((item) => (
46
- <SelectOption label={item.label} val={item.status} key={item.status}/>
47
- ))}
48
- </PlcSelect>
49
- </AutoTable>
50
- );
51
- });
@@ -1,50 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- showRowsMode: 'auto',
10
- });
11
-
12
-
13
- const onClick = () => {
14
- console.log('click');
15
- };
16
-
17
- const selectOptions = [
18
- { label: '消费者', status: 'consumer' },
19
- { label: '潜在客户', status: 'potential' },
20
- { label: '门店', status: 'store' },
21
- ];
22
-
23
- const filterConfig = {
24
- // formItemAttrs: { column: 2 }
25
- };
26
-
27
- return () => (
28
- <AutoTable option={option}>
29
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
30
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
31
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
32
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日"/>
33
- <PlcNumber title="计数" field="count" required/>
34
- <PlcInput
35
- title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
36
- v-slots={{
37
- normal: ({ row }) => (
38
- <span>[{row.normalText}]</span>
39
- )
40
- }}
41
- />
42
- <PlcNumber title="数字" field="numberVal"/>
43
- <PlcSelect title="下拉选择" field="selectVal">
44
- {selectOptions.map((item) => (
45
- <SelectOption label={item.label} val={item.status} key={item.status}/>
46
- ))}
47
- </PlcSelect>
48
- </AutoTable>
49
- );
50
- });
@@ -1,75 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {useTableOption} from "../../../module/useTableOption";
4
- import {AutoTable, Plc, PlcAddress, PlcDate, PlcInput, PlcNumber, PlcOv, PlcSelect, SelectOption} from "../../../../packages";
5
-
6
- export const demo1 = designPage(() => {
7
-
8
- const option = useTableOption({
9
- url: '/demo',
10
- // size: 'normal',
11
- // showRows: 1,
12
- // loadOnStart: false,
13
- // filterFormColumn: 2,
14
- /*permit: {
15
- show: {
16
- // insert: false,
17
- // update: false,
18
- // delete: false,
19
- // other: false,
20
- codes: {
21
- 'outer-update': false,
22
- }
23
- },
24
- disabled: {
25
- insert: true,
26
- },
27
- },*/
28
- });
29
-
30
- const onClick = () => {
31
- console.log('click');
32
- };
33
-
34
- const selectOptions = [
35
- { label: '消费者', status: 'consumer' },
36
- { label: '潜在客户', status: 'potential' },
37
- { label: '门店', status: 'store' },
38
- ];
39
-
40
- const filterConfig = {
41
- // formItemAttrs: { column: 2 }
42
- };
43
-
44
- return () => (
45
- <DemoRow title="基本用法">
46
- <AutoTable option={option}>
47
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
48
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
49
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
50
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日" overflowTooltip/>
51
- <PlcOv title="选项值" field="ovVal" ov="promotion"/>
52
- <PlcAddress
53
- provinceField="provinceVal"
54
- cityField="cityVal"
55
- districtField="districtVal"
56
- />
57
- <PlcNumber title="计数" field="count" required/>
58
- <PlcInput title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
59
- v-slots={{
60
- normal: ({ row }) => (
61
- <span>[{row.normalText}]</span>
62
- )
63
- }}
64
- />
65
- <PlcNumber title="数字" field="numberVal"/>
66
- <PlcSelect title="下拉选择" field="selectVal">
67
- {selectOptions.map((item) => (
68
- <SelectOption label={item.label} val={item.status} key={item.status}/>
69
- ))}
70
- </PlcSelect>
71
- <PlcInput title="邮箱(校验测试)" field="email" validateType="email"/>
72
- </AutoTable>
73
- </DemoRow>
74
- );
75
- });
@@ -1,99 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {$configuration, $notice, AutoTable, PlcInput, Segment, SegmentGroup} from "../../../../packages";
3
- import {PlainObject} from "plain-utils/utils/event";
4
- import {useTableOption} from "../../../module/useTableOption";
5
- import {DemoRow} from "../../Demo/DemoRow";
6
-
7
- export const demo1 = designPage(() => {
8
-
9
- const state = reactive({
10
- show: true,
11
- });
12
-
13
- const http = $configuration.use('http');
14
- const checkNewCode = async (row: PlainObject) => {
15
- const { code, name, id } = row;
16
-
17
- const filterCode = { id: 'check_code', field: 'code', value: code, operator: '=' };
18
- const filterName = { id: 'check_name', field: 'name', value: name, operator: '=' };
19
- const filterId = { id: 'check_id', field: 'id', value: [id], operator: '!=' };
20
-
21
- const { list } = await http.post<{ list: any[] }>('/address/list', {
22
- ...!id ? {
23
- filters: [filterCode, filterName],
24
- filterExpression: '(check_code or check_name)',
25
- } : {
26
- filters: [filterCode, filterName, filterId],
27
- filterExpression: '(check_code or check_name) and (check_id)',
28
- },
29
- });
30
- if (list.length > 0) {
31
- $notice.error('地址代码或者地址名称唯一性冲突!');
32
- return Promise.reject();
33
- }
34
- };
35
-
36
- const provinceOption = useTableOption({
37
- url: '/address',
38
- param: { queries: [{ field: 'deep', value: '0', operator: '=' }] },
39
- defaultNewRow: { deep: 0, },
40
- showRows: 5,
41
- });
42
-
43
- const cityOption = useTableOption({
44
- url: '/address',
45
- showRows: 5,
46
- defaultNewRow: { deep: 1, },
47
- parentOption: provinceOption,
48
- parentMap: { parentName: 'name', parentCode: 'code' },
49
- });
50
-
51
- const districtOption = useTableOption({
52
- url: '/address',
53
- showRows: 5,
54
- defaultNewRow: { deep: 2, },
55
- parentOption: cityOption,
56
- parentMap: { parentName: 'name', parentCode: 'code' },
57
- });
58
-
59
- provinceOption.hooks.onBeforeSaveRow.use(row => checkNewCode(row));
60
- cityOption.hooks.onBeforeSaveRow.use(row => checkNewCode(row));
61
- districtOption.hooks.onBeforeSaveRow.use(row => checkNewCode(row));
62
-
63
- return () => <>
64
- <DemoRow title="基本用法">
65
- <AutoTable option={provinceOption}>
66
- <PlcInput title="地址代码" field="code" required/>
67
- <PlcInput title="地址名称" field="name" required defaultSearch/>
68
- <PlcInput title="经度" field="longitude"/>
69
- <PlcInput title="纬度" field="latitude"/>
70
- </AutoTable>
71
- {state.show && <>
72
- <AutoTable option={cityOption}>
73
- <PlcInput title="地址代码" field="code" required/>
74
- <PlcInput title="地址名称" field="name" required defaultSearch/>
75
- <PlcInput title="经度" field="longitude"/>
76
- <PlcInput title="纬度" field="latitude"/>
77
- {/*<PlcInput title="父级地址名称" field="parentName"/>*/}
78
- {/*<PlcInput title="父级地址代码" field="parentCode"/>*/}
79
- </AutoTable>
80
- <AutoTable option={districtOption}>
81
- <PlcInput title="地址代码" field="code" required/>
82
- <PlcInput title="地址名称" field="name" required defaultSearch/>
83
- <PlcInput title="经度" field="longitude"/>
84
- <PlcInput title="纬度" field="latitude"/>
85
- {/*<PlcInput title="父级地址名称" field="parentName"/>*/}
86
- {/*<PlcInput title="父级地址代码" field="parentCode"/>*/}
87
- </AutoTable>
88
- </>}
89
- <div>
90
- <span>子表控制:</span>
91
- <SegmentGroup v-model={state.show}>
92
- <Segment val={true} label="显示"/>
93
- <Segment val={false} label="隐藏"/>
94
- </SegmentGroup>
95
- </div>
96
- </DemoRow>
97
- </>;
98
-
99
- });
@@ -1,73 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- fill: true,
10
- // showRows: 1,
11
- // loadOnStart: false,
12
- // filterFormColumn: 2,
13
- /*permit: {
14
- show: {
15
- // insert: false,
16
- // update: false,
17
- // delete: false,
18
- // other: false,
19
- codes: {
20
- 'outer-update': false,
21
- }
22
- },
23
- disabled: {
24
- insert: true,
25
- },
26
- },*/
27
- });
28
-
29
- const onClick = () => {
30
- console.log('click');
31
- };
32
-
33
- const selectOptions = [
34
- { label: '消费者', status: 'consumer' },
35
- { label: '潜在客户', status: 'potential' },
36
- { label: '门店', status: 'store' },
37
- ];
38
-
39
- const filterConfig = {
40
- // formItemAttrs: { column: 2 }
41
- };
42
-
43
- return () => (
44
- <AutoTable option={option}>
45
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
46
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
47
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
48
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日" overflowTooltip/>
49
- <PlcNumber title="计数" field="count" required/>
50
- <PlcInput title="文本"
51
- field="normalText"
52
- required
53
- width={150}
54
- fixed="left"
55
- filterConfig={filterConfig}
56
- defaultSearch
57
- defaultSearchValue="da"
58
- v-slots={{
59
- normal: ({ row }) => (
60
- <span>[{row.normalText}]</span>
61
- )
62
- }}
63
- />
64
- <PlcNumber title="数字" field="numberVal"/>
65
- <PlcSelect title="下拉选择" field="selectVal">
66
- {selectOptions.map((item) => (
67
- <SelectOption label={item.label} val={item.status} key={item.status}/>
68
- ))}
69
- </PlcSelect>
70
- <PlcInput title="邮箱(校验测试)" field="email" validateType="email"/>
71
- </AutoTable>
72
- );
73
- });
@@ -1,26 +0,0 @@
1
- import {designPage} from 'plain-design-composition';
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/upload',
9
- fill: true,
10
- permit: {
11
- show: {
12
- insert: false,
13
- update: false,
14
- },
15
- }
16
- });
17
-
18
- return () => <>
19
- <AutoTable option={option}>
20
- <Plc title="文件名称" field="name" width={200}/>
21
- <PlcDate title="上传时间" field="createdAt" width={200}/>
22
- <Plc title="文件地址" field="path"/>
23
- </AutoTable>
24
- </>;
25
-
26
- });