tntd 3.0.24 → 3.0.26-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/es/index.js +1 -0
  2. package/es/index.js.map +1 -1
  3. package/es/query-form/Field/Checkbox.js +1 -1
  4. package/es/query-form/Field/Checkbox.js.map +1 -1
  5. package/es/query-form/Field/Composition/FieldPopover.js +304 -0
  6. package/es/query-form/Field/Composition/FieldPopover.js.map +1 -0
  7. package/es/query-form/Field/Composition/FieldPopover.less +35 -0
  8. package/es/query-form/Field/Composition/Select.js +122 -0
  9. package/es/query-form/Field/Composition/Select.js.map +1 -0
  10. package/es/query-form/Field/Composition/ValueTag.js +121 -0
  11. package/es/query-form/Field/Composition/ValueTag.js.map +1 -0
  12. package/es/query-form/Field/Composition/index.js +233 -0
  13. package/es/query-form/Field/Composition/index.js.map +1 -0
  14. package/es/query-form/Field/Composition/index.less +118 -0
  15. package/es/query-form/Field/Composition/utils.js +154 -0
  16. package/es/query-form/Field/Composition/utils.js.map +1 -0
  17. package/es/query-form/Field/SelectInput.js +22 -4
  18. package/es/query-form/Field/SelectInput.js.map +1 -1
  19. package/es/query-form/Field/fieldsMap.js +2 -2
  20. package/es/query-form/Field/fieldsMap.js.map +1 -1
  21. package/es/query-form/Field/index.js +1 -0
  22. package/es/query-form/Field/index.js.map +1 -1
  23. package/es/query-form/index.js +163 -335
  24. package/es/query-form/index.js.map +1 -1
  25. package/es/query-form/index.less +29 -60
  26. package/es/query-form-v2/index.less +133 -0
  27. package/es/query-list-scene/List.js +17 -2
  28. package/es/query-list-scene/List.js.map +1 -1
  29. package/es/query-list-scene/QueryForm.js +22 -9
  30. package/es/query-list-scene/QueryForm.js.map +1 -1
  31. package/es/query-list-scene/index.js +2 -1
  32. package/es/query-list-scene/index.js.map +1 -1
  33. package/es/scroll-bar/Bar.js +56 -0
  34. package/es/scroll-bar/Bar.js.map +1 -0
  35. package/es/scroll-bar/Context.js +6 -0
  36. package/es/scroll-bar/Context.js.map +1 -0
  37. package/es/scroll-bar/ScrollBar.js +86 -0
  38. package/es/scroll-bar/ScrollBar.js.map +1 -0
  39. package/es/scroll-bar/Thumb.js +105 -0
  40. package/es/scroll-bar/Thumb.js.map +1 -0
  41. package/es/scroll-bar/index.js +3 -0
  42. package/es/scroll-bar/index.js.map +1 -0
  43. package/es/scroll-bar/scrollBar.less +59 -0
  44. package/es/scroll-bar/util.js +31 -0
  45. package/es/scroll-bar/util.js.map +1 -0
  46. package/es/table/table.js +7 -11
  47. package/es/table/table.js.map +1 -1
  48. package/es/tntd-select/index.js.map +1 -1
  49. package/es/tntd-virtual-tree/index.less +2 -2
  50. package/es/tntd-virtual-tree-select/index.js +4 -2
  51. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  52. package/es/utils/index.js +0 -1
  53. package/es/utils/index.js.map +1 -1
  54. package/lib/index.d.ts +1 -0
  55. package/lib/index.d.ts.map +1 -1
  56. package/lib/index.js +7 -0
  57. package/lib/index.js.map +1 -1
  58. package/lib/query-form/Field/Checkbox.js +1 -1
  59. package/lib/query-form/Field/Checkbox.js.map +1 -1
  60. package/lib/query-form/Field/Composition/FieldPopover.d.ts +19 -0
  61. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -0
  62. package/lib/query-form/Field/Composition/FieldPopover.js +338 -0
  63. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -0
  64. package/lib/query-form/Field/Composition/FieldPopover.less +35 -0
  65. package/lib/query-form/Field/Composition/Select.d.ts +4 -0
  66. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -0
  67. package/lib/query-form/Field/Composition/Select.js +146 -0
  68. package/lib/query-form/Field/Composition/Select.js.map +1 -0
  69. package/lib/query-form/Field/Composition/ValueTag.d.ts +12 -0
  70. package/lib/query-form/Field/Composition/ValueTag.d.ts.map +1 -0
  71. package/lib/query-form/Field/Composition/ValueTag.js +150 -0
  72. package/lib/query-form/Field/Composition/ValueTag.js.map +1 -0
  73. package/lib/query-form/Field/Composition/index.d.ts +12 -0
  74. package/lib/query-form/Field/Composition/index.d.ts.map +1 -0
  75. package/lib/query-form/Field/Composition/index.js +277 -0
  76. package/lib/query-form/Field/Composition/index.js.map +1 -0
  77. package/lib/query-form/Field/Composition/index.less +118 -0
  78. package/lib/query-form/Field/Composition/utils.d.ts +22 -0
  79. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -0
  80. package/lib/query-form/Field/Composition/utils.js +168 -0
  81. package/lib/query-form/Field/Composition/utils.js.map +1 -0
  82. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  83. package/lib/query-form/Field/SelectInput.js +15 -3
  84. package/lib/query-form/Field/SelectInput.js.map +1 -1
  85. package/lib/query-form/Field/fieldsMap.d.ts +6 -3
  86. package/lib/query-form/Field/fieldsMap.js +2 -2
  87. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  88. package/lib/query-form/Field/index.d.ts.map +1 -1
  89. package/lib/query-form/Field/index.js +1 -0
  90. package/lib/query-form/Field/index.js.map +1 -1
  91. package/lib/query-form/index.d.ts +18 -27
  92. package/lib/query-form/index.d.ts.map +1 -1
  93. package/lib/query-form/index.js +183 -360
  94. package/lib/query-form/index.js.map +1 -1
  95. package/lib/query-form/index.less +29 -60
  96. package/lib/query-form-v2/Field/Checkbox.d.ts +8 -0
  97. package/lib/query-form-v2/Field/Checkbox.d.ts.map +1 -0
  98. package/lib/query-form-v2/Field/Checkbox.js +28 -0
  99. package/lib/query-form-v2/Field/Checkbox.js.map +1 -0
  100. package/lib/{upload/svg/UploadSVG.d.ts → query-form-v2/Field/Select.d.ts} +1 -1
  101. package/lib/query-form-v2/Field/Select.d.ts.map +1 -0
  102. package/lib/query-form-v2/Field/Select.js +80 -0
  103. package/lib/query-form-v2/Field/Select.js.map +1 -0
  104. package/lib/query-form-v2/Field/SelectInput.d.ts +4 -0
  105. package/lib/query-form-v2/Field/SelectInput.d.ts.map +1 -0
  106. package/lib/query-form-v2/Field/SelectInput.js +88 -0
  107. package/lib/query-form-v2/Field/SelectInput.js.map +1 -0
  108. package/lib/query-form-v2/Field/fieldsMap.d.ts +24 -0
  109. package/lib/query-form-v2/Field/fieldsMap.d.ts.map +1 -0
  110. package/lib/query-form-v2/Field/fieldsMap.js +35 -0
  111. package/lib/query-form-v2/Field/fieldsMap.js.map +1 -0
  112. package/lib/query-form-v2/Field/index.d.ts +14 -0
  113. package/lib/query-form-v2/Field/index.d.ts.map +1 -0
  114. package/lib/query-form-v2/Field/index.js +146 -0
  115. package/lib/query-form-v2/Field/index.js.map +1 -0
  116. package/lib/query-form-v2/createActions.d.ts +14 -0
  117. package/lib/query-form-v2/createActions.d.ts.map +1 -0
  118. package/lib/query-form-v2/createActions.js +54 -0
  119. package/lib/query-form-v2/createActions.js.map +1 -0
  120. package/lib/query-form-v2/index.d.ts +39 -0
  121. package/lib/query-form-v2/index.d.ts.map +1 -0
  122. package/lib/query-form-v2/index.js +391 -0
  123. package/lib/query-form-v2/index.js.map +1 -0
  124. package/lib/query-form-v2/index.less +133 -0
  125. package/lib/query-form-v2/useForm.d.ts +13 -0
  126. package/lib/query-form-v2/useForm.d.ts.map +1 -0
  127. package/lib/query-form-v2/useForm.js +13 -0
  128. package/lib/query-form-v2/useForm.js.map +1 -0
  129. package/lib/query-form-v3/Field/Checkbox.d.ts +8 -0
  130. package/lib/query-form-v3/Field/Checkbox.d.ts.map +1 -0
  131. package/lib/query-form-v3/Field/Checkbox.js +28 -0
  132. package/lib/query-form-v3/Field/Checkbox.js.map +1 -0
  133. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts +19 -0
  134. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts.map +1 -0
  135. package/lib/query-form-v3/Field/Composition/FieldPopover.js +381 -0
  136. package/lib/query-form-v3/Field/Composition/FieldPopover.js.map +1 -0
  137. package/lib/query-form-v3/Field/Composition/FieldPopover.less +35 -0
  138. package/lib/query-form-v3/Field/Composition/Select.d.ts +4 -0
  139. package/lib/query-form-v3/Field/Composition/Select.d.ts.map +1 -0
  140. package/lib/query-form-v3/Field/Composition/Select.js +131 -0
  141. package/lib/query-form-v3/Field/Composition/Select.js.map +1 -0
  142. package/lib/query-form-v3/Field/Composition/index.d.ts +10 -0
  143. package/lib/query-form-v3/Field/Composition/index.d.ts.map +1 -0
  144. package/lib/query-form-v3/Field/Composition/index.js +255 -0
  145. package/lib/query-form-v3/Field/Composition/index.js.map +1 -0
  146. package/lib/query-form-v3/Field/Composition/index.less +118 -0
  147. package/lib/query-form-v3/Field/Composition/utils.d.ts +22 -0
  148. package/lib/query-form-v3/Field/Composition/utils.d.ts.map +1 -0
  149. package/lib/query-form-v3/Field/Composition/utils.js +147 -0
  150. package/lib/query-form-v3/Field/Composition/utils.js.map +1 -0
  151. package/lib/query-form-v3/Field/Select.d.ts +4 -0
  152. package/lib/query-form-v3/Field/Select.d.ts.map +1 -0
  153. package/lib/query-form-v3/Field/Select.js +80 -0
  154. package/lib/query-form-v3/Field/Select.js.map +1 -0
  155. package/lib/query-form-v3/Field/SelectInput.d.ts +4 -0
  156. package/lib/query-form-v3/Field/SelectInput.d.ts.map +1 -0
  157. package/lib/query-form-v3/Field/SelectInput.js +100 -0
  158. package/lib/query-form-v3/Field/SelectInput.js.map +1 -0
  159. package/lib/query-form-v3/Field/fieldsMap.d.ts +27 -0
  160. package/lib/query-form-v3/Field/fieldsMap.d.ts.map +1 -0
  161. package/lib/query-form-v3/Field/fieldsMap.js +35 -0
  162. package/lib/query-form-v3/Field/fieldsMap.js.map +1 -0
  163. package/lib/query-form-v3/Field/index.d.ts +14 -0
  164. package/lib/query-form-v3/Field/index.d.ts.map +1 -0
  165. package/lib/query-form-v3/Field/index.js +147 -0
  166. package/lib/query-form-v3/Field/index.js.map +1 -0
  167. package/lib/query-form-v3/createActions.d.ts +14 -0
  168. package/lib/query-form-v3/createActions.d.ts.map +1 -0
  169. package/lib/query-form-v3/createActions.js +54 -0
  170. package/lib/query-form-v3/createActions.js.map +1 -0
  171. package/lib/query-form-v3/index.d.ts +27 -0
  172. package/lib/query-form-v3/index.d.ts.map +1 -0
  173. package/lib/query-form-v3/index.js +206 -0
  174. package/lib/query-form-v3/index.js.map +1 -0
  175. package/lib/query-form-v3/index.less +91 -0
  176. package/lib/query-form-v3/useForm.d.ts +13 -0
  177. package/lib/query-form-v3/useForm.d.ts.map +1 -0
  178. package/lib/query-form-v3/useForm.js +13 -0
  179. package/lib/query-form-v3/useForm.js.map +1 -0
  180. package/lib/query-list-scene/List.d.ts.map +1 -1
  181. package/lib/query-list-scene/List.js +18 -2
  182. package/lib/query-list-scene/List.js.map +1 -1
  183. package/lib/query-list-scene/QueryForm.d.ts +4 -3
  184. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  185. package/lib/query-list-scene/QueryForm.js +23 -10
  186. package/lib/query-list-scene/QueryForm.js.map +1 -1
  187. package/lib/query-list-scene/index.d.ts.map +1 -1
  188. package/lib/query-list-scene/index.js +2 -1
  189. package/lib/query-list-scene/index.js.map +1 -1
  190. package/lib/scroll-bar/Bar.d.ts +4 -0
  191. package/lib/scroll-bar/Bar.d.ts.map +1 -0
  192. package/lib/scroll-bar/Bar.js +91 -0
  193. package/lib/scroll-bar/Bar.js.map +1 -0
  194. package/lib/scroll-bar/Context.d.ts +7 -0
  195. package/lib/scroll-bar/Context.d.ts.map +1 -0
  196. package/lib/scroll-bar/Context.js +13 -0
  197. package/lib/scroll-bar/Context.js.map +1 -0
  198. package/lib/scroll-bar/ScrollBar.d.ts +4 -0
  199. package/lib/scroll-bar/ScrollBar.d.ts.map +1 -0
  200. package/lib/scroll-bar/ScrollBar.js +97 -0
  201. package/lib/scroll-bar/ScrollBar.js.map +1 -0
  202. package/lib/scroll-bar/Thumb.d.ts +3 -0
  203. package/lib/scroll-bar/Thumb.d.ts.map +1 -0
  204. package/lib/scroll-bar/Thumb.js +125 -0
  205. package/lib/scroll-bar/Thumb.js.map +1 -0
  206. package/lib/scroll-bar/index.d.ts +3 -0
  207. package/lib/scroll-bar/index.d.ts.map +1 -0
  208. package/lib/scroll-bar/index.js +10 -0
  209. package/lib/scroll-bar/index.js.map +1 -0
  210. package/lib/scroll-bar/scrollBar.less +59 -0
  211. package/lib/scroll-bar/util.d.ts +40 -0
  212. package/lib/scroll-bar/util.d.ts.map +1 -0
  213. package/lib/scroll-bar/util.js +39 -0
  214. package/lib/scroll-bar/util.js.map +1 -0
  215. package/lib/table/table.d.ts +1 -1
  216. package/lib/table/table.d.ts.map +1 -1
  217. package/lib/table/table.js +7 -14
  218. package/lib/table/table.js.map +1 -1
  219. package/lib/tntd-select/index.d.ts.map +1 -1
  220. package/lib/tntd-select/index.js.map +1 -1
  221. package/lib/tntd-virtual-tree/index.less +2 -2
  222. package/lib/tntd-virtual-tree-select/index.d.ts +2 -1
  223. package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
  224. package/lib/tntd-virtual-tree-select/index.js +6 -3
  225. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  226. package/lib/utils/index.d.ts +0 -1
  227. package/lib/utils/index.d.ts.map +1 -1
  228. package/lib/utils/index.js +0 -12
  229. package/lib/utils/index.js.map +1 -1
  230. package/package.json +3 -2
  231. package/CHANGELOG.json +0 -1034
  232. package/CHANGELOG.md +0 -605
  233. package/es/checkbox/checkbox-group.js +0 -5
  234. package/es/checkbox/checkbox-group.js.map +0 -1
  235. package/es/radio/radio-group.js +0 -5
  236. package/es/radio/radio-group.js.map +0 -1
  237. package/es/steps/stepStyle/small.less +0 -5
  238. package/es/upload/svg/UploadSVG.js +0 -37
  239. package/es/upload/svg/UploadSVG.js.map +0 -1
  240. package/es/upload/upload.less +0 -108
  241. package/lib/checkbox/checkbox-group.d.ts +0 -8
  242. package/lib/checkbox/checkbox-group.d.ts.map +0 -1
  243. package/lib/checkbox/checkbox-group.js +0 -12
  244. package/lib/checkbox/checkbox-group.js.map +0 -1
  245. package/lib/radio/radio-group.d.ts +0 -8
  246. package/lib/radio/radio-group.d.ts.map +0 -1
  247. package/lib/radio/radio-group.js +0 -12
  248. package/lib/radio/radio-group.js.map +0 -1
  249. package/lib/steps/stepStyle/small.less +0 -5
  250. package/lib/upload/svg/UploadSVG.d.ts.map +0 -1
  251. package/lib/upload/svg/UploadSVG.js +0 -44
  252. package/lib/upload/svg/UploadSVG.js.map +0 -1
  253. package/lib/upload/upload.less +0 -108
@@ -1,73 +1,42 @@
1
1
  .tnt-queryform {
2
- display: flex;
3
-
4
- &-extra {
5
- line-height: 32px;
6
- margin-left: 12px;
7
- & > * {
8
- margin-left: 8px;
9
- }
10
- }
11
-
12
- &-actions {
13
- align-items: center;
14
- display: inline-block;
15
- height: 32px;
16
- line-height: 32px;
17
-
18
- & > *:not(.expand-link) {
19
- margin-right: 10px;
20
- }
21
- & > .expand-link {
22
- padding: 0;
23
- margin-right: 0;
24
- }
25
- & > .ant-badge {
26
- .tnt-icon {
27
- margin-right: 8px;
28
- }
29
- }
30
- }
31
-
32
- .ant-form {
33
- display: inline-block;
34
- margin-bottom: 12px;
2
+ &-top {
35
3
  display: flex;
36
4
  flex: 1;
37
- &.ant-form-inline {
38
- flex-wrap: unset;
39
- }
40
-
41
- & > div:nth-child(1) {
42
- height: 32px;
43
- overflow: hidden;
44
- .ant-form-item-label {
45
- label {
46
- // bottom: 4px;
47
- }
5
+ &-body {
6
+ flex: 1;
7
+ .ant-btn {
8
+ margin-right: 10px;
48
9
  }
49
10
  }
50
-
51
- &.expanded {
52
- & > div:nth-child(1) {
53
- height: auto !important;
11
+ }
12
+ &-inline {
13
+ > .tnt-form {
14
+ display: flex;
15
+ .tnt-queryform-top {
16
+ flex: none;
17
+ }
18
+ .tnt-queryform-bottom {
19
+ flex: 1;
54
20
  }
55
21
  }
22
+ }
56
23
 
57
- &.showMore {
58
- & > div:nth-child(1) {
59
- .ant-form-item {
60
- margin-bottom: 12px;
61
- }
62
- }
24
+ &-extra {
25
+ & > * {
26
+ margin-left: 10px;
63
27
  }
28
+ }
64
29
 
65
- & > div:nth-child(2) {
66
- display: flex;
30
+ .ant-form {
31
+ // margin-bottom: @margin-sm;
32
+ &.ant-form-inline {
33
+ flex-wrap: unset;
34
+ position: relative;
67
35
  }
68
36
 
69
37
  &.ant-form-inline .ant-form-item {
70
38
  margin-right: 10px;
39
+ margin-bottom: @margin-sm;
71
40
  display: inline-block;
72
41
  }
73
42
 
@@ -75,7 +44,7 @@
75
44
  // min-width: 160px;
76
45
  line-height: unset;
77
46
  .ant-calendar-picker-input {
78
- padding: 0 11px;
47
+ padding: 0 @padding-sm;
79
48
  }
80
49
  .ant-form-item-children {
81
50
  & > .ant-input,
@@ -88,7 +57,7 @@
88
57
  }
89
58
 
90
59
  &-drawer {
91
- margin-top: 50px;
60
+ margin-top: @margin-xxl;
92
61
  &.large-size {
93
62
  margin-top: 60px;
94
63
  }
@@ -103,7 +72,7 @@
103
72
  .ant-form-item {
104
73
  display: block;
105
74
  margin-right: 0;
106
- margin-bottom: 20px;
75
+ margin-bottom: @margin-md;
107
76
  width: 100%;
108
77
  }
109
78
  .ant-form-item-label {
@@ -125,7 +94,7 @@
125
94
  width: 100%;
126
95
  margin-bottom: 10px;
127
96
  &.ant-btn-primary {
128
- margin-top: 20px;
97
+ margin-top: @margin-md;
129
98
  }
130
99
  }
131
100
  }
@@ -0,0 +1,133 @@
1
+ .tnt-queryform {
2
+ display: flex;
3
+
4
+ &-extra {
5
+ line-height: 32px;
6
+ margin-left: 12px;
7
+ & > * {
8
+ margin-left: 8px;
9
+ }
10
+ }
11
+
12
+ &-actions {
13
+ align-items: center;
14
+ display: inline-block;
15
+ height: 32px;
16
+ line-height: 32px;
17
+
18
+ & > *:not(.expand-link) {
19
+ margin-right: 10px;
20
+ }
21
+ & > .expand-link {
22
+ padding: 0;
23
+ margin-right: 0;
24
+ }
25
+ & > .ant-badge {
26
+ .tnt-icon {
27
+ margin-right: 8px;
28
+ }
29
+ }
30
+ }
31
+
32
+ .ant-form {
33
+ display: inline-block;
34
+ margin-bottom: 12px;
35
+ display: flex;
36
+ flex: 1;
37
+ &.ant-form-inline {
38
+ flex-wrap: unset;
39
+ }
40
+
41
+ & > div:nth-child(1) {
42
+ height: 32px;
43
+ overflow: hidden;
44
+ .ant-form-item-label {
45
+ label {
46
+ // bottom: 4px;
47
+ }
48
+ }
49
+ }
50
+
51
+ &.expanded {
52
+ & > div:nth-child(1) {
53
+ height: auto !important;
54
+ }
55
+ }
56
+
57
+ &.showMore {
58
+ & > div:nth-child(1) {
59
+ .ant-form-item {
60
+ margin-bottom: 12px;
61
+ }
62
+ }
63
+ }
64
+
65
+ & > div:nth-child(2) {
66
+ display: flex;
67
+ }
68
+
69
+ &.ant-form-inline .ant-form-item {
70
+ margin-right: 10px;
71
+ display: inline-block;
72
+ }
73
+
74
+ .ant-form-item-control {
75
+ // min-width: 160px;
76
+ line-height: unset;
77
+ .ant-calendar-picker-input {
78
+ padding: 0 11px;
79
+ }
80
+ .ant-form-item-children {
81
+ & > .ant-input,
82
+ & > .ant-input-affix-wrapper {
83
+ width: 160px;
84
+ // width: 200px;
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ &-drawer {
91
+ margin-top: 50px;
92
+ &.large-size {
93
+ margin-top: 60px;
94
+ }
95
+
96
+ &.ant-drawer.ant-drawer-open {
97
+ .ant-drawer-mask {
98
+ opacity: 0;
99
+ background: unset;
100
+ }
101
+ }
102
+ .ant-drawer-body {
103
+ .ant-form-item {
104
+ display: block;
105
+ margin-right: 0;
106
+ margin-bottom: 20px;
107
+ width: 100%;
108
+ }
109
+ .ant-form-item-label {
110
+ display: block;
111
+ text-align: left;
112
+ line-height: 22px;
113
+ margin-bottom: 10px;
114
+ }
115
+ .ant-form-item-control-wrapper,
116
+ .ant-form-item-control,
117
+ .ant-calendar-picker,
118
+ .ant-input {
119
+ min-width: 100%;
120
+ width: 100%;
121
+ }
122
+
123
+ & > .ant-btn {
124
+ display: block;
125
+ width: 100%;
126
+ margin-bottom: 10px;
127
+ &.ant-btn-primary {
128
+ margin-top: 20px;
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
@@ -1,3 +1,5 @@
1
+ import _trim from "lodash/trim";
2
+ import _isString from "lodash/isString";
1
3
  import _throttle from "lodash/throttle";
2
4
  import _pickBy from "lodash/pickBy";
3
5
  import _isEmpty from "lodash/isEmpty";
@@ -21,6 +23,17 @@ import { findDOMNode } from 'react-dom';
21
23
  import { getLanguage, getText } from '../prev-locale';
22
24
  import Spin from '../spin';
23
25
  import Table from '../table';
26
+ const trimSpace = params => {
27
+ if (params) {
28
+ Object.keys(params).forEach(key => {
29
+ const value = params[key];
30
+ if (_isString(value)) {
31
+ params[key] = _trim(value);
32
+ }
33
+ });
34
+ }
35
+ return params;
36
+ };
24
37
  export default class QueryList extends React.PureComponent {
25
38
  constructor(props) {
26
39
  var _a;
@@ -141,7 +154,7 @@ export default class QueryList extends React.PureComponent {
141
154
  callback,
142
155
  showLoading = true
143
156
  } = {}) => {
144
- this.formData = Object.assign(Object.assign({}, this.formData), values);
157
+ this.formData = trimSpace(Object.assign(Object.assign({}, this.formData), values));
145
158
  // this.props.actions.setData('formData', this.formData);
146
159
  return this.fetchData(this.formData, {
147
160
  callback,
@@ -256,7 +269,9 @@ export default class QueryList extends React.PureComponent {
256
269
  hasScrollToBottom
257
270
  } = this.state;
258
271
  const hasPagination = typeof pagination !== 'undefined' ? pagination : true;
259
- const paginationInfo = Object.assign(Object.assign(Object.assign({}, this.state.pagination), {
272
+ const paginationInfo = Object.assign(Object.assign(Object.assign({
273
+ hideOnSinglePage: false
274
+ }, this.state.pagination), {
260
275
  // size: 'small',
261
276
  showQuickJumper: true,
262
277
  showSizeChanger: true,
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK,CAAC,aAAa;IACxD,YAAY,KAAK;;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAmFd;;;;mBAAiB,QAAQ,CAAC,GAAG,EAAE;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAE7B,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,kCACD,MAAM,KACT,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GACnE;iBACF,CAAC,CAAA;YACJ,CAAC,EAAE,EAAE,CAAC;WAAA;QAgEN;;;;mBAAY,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC7E,MAAM,EACJ,QAAQ,EAAE,EAAE,KAAK,EAAE,EACnB,oBAAoB,EACpB,MAAM,EACN,OAAO,GACR,GAAG,IAAI,CAAC,KAAK,CAAA;gBACd,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAA;gBAErD,IAAI,aAAa,EAAE;oBACjB,MAAM,mBACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,IACxB,MAAM,CACV,CAAA;iBACF;gBAED,WAAW;oBACT,IAAI,CAAC,QAAQ,CAAC;wBACZ,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;gBAEJ,qCAAqC;gBACrC,IAAI,CAAC,UAAU,EAAE;oBACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;iBACvB;gBAED,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;gBAE5C,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;qBACnF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;oBAE7D,IAAI,CAAC,QAAQ,iBAET,OAAO,EAAE,KAAK,EACd,UAAU,EACV,UAAU,EAAE,aAAa;4BACvB,CAAC,CAAC;gCACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE;gCACtD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC;gCACpE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;6BACzB;4BACH,CAAC,CAAC,IAAI,IACL,CAAC,oBAAoB;wBACtB,CAAC,CAAC;4BACE,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;yBACtD;wBACH,CAAC,CAAC,EAAE,CAAC,GAET,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;wBACpD,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;oBACvB,WAAW;wBACT,IAAI,CAAC,QAAQ,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf,CAAC,CAAA;oBACJ,QAAQ,IAAI,QAAQ,EAAE,CAAA;gBACxB,CAAC,CAAC,CAAA;YACN,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAe,CAAC,MAAM,EAAE,EAAE;gBACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,iCAEf,MAAM,KACT,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAExC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAC3B,CAAA;YACH,CAAC;WAAA;QAED;;;;mBAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC3D,IAAI,CAAC,QAAQ,mCACR,IAAI,CAAC,QAAQ,GACb,MAAM,CACV,CAAA;gBACD,yDAAyD;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;WAAA;QAED;;;;mBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC/C,MAAM,WAAW,GAAG;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAC7C,CAAA;gBAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAEzC,kCAAkC;gBAClC,iBAAiB;gBACjB,IAAI,CAAC,eAAe,EAAE;oBACpB,IAAI,CAAC,SAAS,iCACT,OAAO,CAAC,oBAAoB,EAAE,GAC9B,WAAW,EACd,CAAA;oBACF,OAAM;iBACP;gBAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAEjC,SAAS;gBACT,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,QAAQ,CACX;wBACE,UAAU;wBACV,UAAU,EAAE;4BACV,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;yBACxB;qBACF,EACD,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC1C,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;iBACF;YACH,CAAC;WAAA;QAED;;;;mBAAoB,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC,EAAE,EAAE,CAAC;WAAA;QAEN;;;;mBAAyB,CAAC,SAAS,EAAE,EAAE;gBACrC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,EAAE;oBACrC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;oBAE3D,OAAO,YAAY,KAAK,SAAS,GAAG,YAAY,CAAA;gBAClD,CAAC,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,iBAAiB,EAAE,gBAAgB,CAAC,SAAS,CAAC;iBAC/C,CAAC,CAAA;YACJ,CAAC;WAAA;QAxTC,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE;gBACV,gBAAgB;gBAChB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;YACD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,CAAC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,CAAC,CAAA;SACpC,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE,CAAA;QAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACvD,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAClD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM;QACJ,MAAM,KASF,IAAI,CAAC,KAAK,EATR,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,GAAG,KAAK,EACxB,SAAS,GAAG,EAAE,EACd,QAAQ,OAEI,EADT,IAAI,cARH,qGASL,CAAa,CAAA;QACd,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3F,MAAM,aAAa,GAAG,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,cAAc,iDACf,IAAI,CAAC,KAAK,CAAC,UAAU;YACxB,iBAAiB;YACjB,eAAe,EAAE,IAAI,EACrB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,KAChE,CAAC,UAAU,IAAI,EAAE,CAAC,CACtB,CAAA;QACD,MAAM,WAAW,qBACZ,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC;gBACE,eAAe;gBACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;aAChD;YACH,CAAC,CAAC,EAAE,CAAC,CACR,CAAA;QAED,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CAAC,2BAA2B,SAAS,EAAE,EAAE;gBACpD,gBAAgB;gBAChB,iBAAiB;aAClB,CAAC;YAEF,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO;gBACrB,oBAAC,KAAK,kBACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,IACX,WAAW,EACX,IAAI,EACJ,CAAC,OAAO;oBACV,CAAC,CAAC;wBACE,OAAO;qBACR;oBACH,CAAC,CAAC,EAAE,CAAC,IACP,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAC5D,QAAQ,EAAE,IAAI,CAAC,aAAa,KAE3B,CAAC,OAAO,IAAI,QAAQ,CACf,CACH,CACH,CACP,CAAA;IACH,CAAC;IAaD,iBAAiB;;QACf,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAExC,IAAI,CAAC,QAAQ,mCACR,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAE7B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACxB,UAAU;YACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzC,KAAK;gBACL,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC1C,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE;wBAC7B,uBAAuB;wBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gCAC5B,gCAAgC;gCAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oCACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE;wCAC7C,UAAU,EAAE,IAAI;wCAChB,WAAW,EAAE,KAAK;qCACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wCACX,eAAe,CAAC,EAAE,CAAC,CAAA;oCACrB,CAAC,CAAC,CAAA;iCACH;qCAAM;oCACL,eAAe,CAAC,EAAE,CAAC,CAAA;iCACpB;4BACH,CAAC,EAAE,EAAE,CAAC,CAAA;yBACP;oBACH,CAAC,CAAA;oBACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;iBACnC;YACH,CAAC,CAAC,CAAA;SACH;QACD,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,CAAC,EAAE;YACxB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAEtD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzB,6BAA6B;gBAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;gBACrF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1D,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;gBACtC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;aAC7D;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACnE,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9D,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CAgKF","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n shadowed={false}\n bordered={false}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACjF,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE;IACzB,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACnB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK,CAAC,aAAa;IACxD,YAAY,KAAK;;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAoFd;;;;mBAAiB,QAAQ,CAAC,GAAG,EAAE;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAE7B,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,kCACD,MAAM,KACT,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GACnE;iBACF,CAAC,CAAA;YACJ,CAAC,EAAE,EAAE,CAAC;WAAA;QAgEN;;;;mBAAY,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC7E,MAAM,EACJ,QAAQ,EAAE,EAAE,KAAK,EAAE,EACnB,oBAAoB,EACpB,MAAM,EACN,OAAO,GACR,GAAG,IAAI,CAAC,KAAK,CAAA;gBACd,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAA;gBAErD,IAAI,aAAa,EAAE;oBACjB,MAAM,mBACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,IACxB,MAAM,CACV,CAAA;iBACF;gBAED,WAAW;oBACT,IAAI,CAAC,QAAQ,CAAC;wBACZ,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;gBAEJ,qCAAqC;gBACrC,IAAI,CAAC,UAAU,EAAE;oBACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;iBACvB;gBAED,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;gBAE5C,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;qBACnF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;oBAE7D,IAAI,CAAC,QAAQ,iBAET,OAAO,EAAE,KAAK,EACd,UAAU,EACV,UAAU,EAAE,aAAa;4BACvB,CAAC,CAAC;gCACA,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE;gCACtD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC;gCACpE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;6BACzB;4BACD,CAAC,CAAC,IAAI,IACL,CAAC,oBAAoB;wBACtB,CAAC,CAAC;4BACA,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;yBACtD;wBACD,CAAC,CAAC,EAAE,CAAC,GAET,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;wBACpD,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;oBACvB,WAAW;wBACT,IAAI,CAAC,QAAQ,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf,CAAC,CAAA;oBACJ,QAAQ,IAAI,QAAQ,EAAE,CAAA;gBACxB,CAAC,CAAC,CAAA;YACN,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAe,CAAC,MAAM,EAAE,EAAE;gBACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,iCAEf,MAAM,KACT,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAExC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAC3B,CAAA;YACH,CAAC;WAAA;QAED;;;;mBAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC3D,IAAI,CAAC,QAAQ,GAAG,SAAS,iCACpB,IAAI,CAAC,QAAQ,GACb,MAAM,EACT,CAAA;gBACF,yDAAyD;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;WAAA;QAED;;;;mBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC/C,MAAM,WAAW,GAAG;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAC7C,CAAA;gBAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAEzC,kCAAkC;gBAClC,iBAAiB;gBACjB,IAAI,CAAC,eAAe,EAAE;oBACpB,IAAI,CAAC,SAAS,iCACT,OAAO,CAAC,oBAAoB,EAAE,GAC9B,WAAW,EACd,CAAA;oBACF,OAAM;iBACP;gBAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAEjC,SAAS;gBACT,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,QAAQ,CACX;wBACE,UAAU;wBACV,UAAU,EAAE;4BACV,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;yBACxB;qBACF,EACD,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC1C,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;iBACF;YACH,CAAC;WAAA;QAED;;;;mBAAoB,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC,EAAE,EAAE,CAAC;WAAA;QAEN;;;;mBAAyB,CAAC,SAAS,EAAE,EAAE;gBACrC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,EAAE;oBACrC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;oBAE3D,OAAO,YAAY,KAAK,SAAS,GAAG,YAAY,CAAA;gBAClD,CAAC,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,iBAAiB,EAAE,gBAAgB,CAAC,SAAS,CAAC;iBAC/C,CAAC,CAAA;YACJ,CAAC;WAAA;QAzTC,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE;gBACV,gBAAgB;gBAChB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;YACD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,CAAC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,CAAC,CAAA;SACpC,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE,CAAA;QAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACvD,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAClD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM;QACJ,MAAM,KASF,IAAI,CAAC,KAAK,EATR,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,GAAG,KAAK,EACxB,SAAS,GAAG,EAAE,EACd,QAAQ,OAEI,EADT,IAAI,cARH,qGASL,CAAa,CAAA;QACd,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3F,MAAM,aAAa,GAAG,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,cAAc,+CAClB,gBAAgB,EAAE,KAAK,IACpB,IAAI,CAAC,KAAK,CAAC,UAAU;YACxB,iBAAiB;YACjB,eAAe,EAAE,IAAI,EACrB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,KAChE,CAAC,UAAU,IAAI,EAAE,CAAC,CACtB,CAAA;QACD,MAAM,WAAW,qBACZ,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC;gBACA,eAAe;gBACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;aAChD;YACD,CAAC,CAAC,EAAE,CAAC,CACR,CAAA;QAED,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CAAC,2BAA2B,SAAS,EAAE,EAAE;gBACpD,gBAAgB;gBAChB,iBAAiB;aAClB,CAAC;YAEF,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO;gBACrB,oBAAC,KAAK,kBACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,IACX,WAAW,EACX,IAAI,EACJ,CAAC,OAAO;oBACV,CAAC,CAAC;wBACA,OAAO;qBACR;oBACD,CAAC,CAAC,EAAE,CAAC,IACP,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAC5D,QAAQ,EAAE,IAAI,CAAC,aAAa,KAE3B,CAAC,OAAO,IAAI,QAAQ,CACf,CACH,CACH,CACP,CAAA;IACH,CAAC;IAaD,iBAAiB;;QACf,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAExC,IAAI,CAAC,QAAQ,mCACR,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAE7B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACxB,UAAU;YACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzC,KAAK;gBACL,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC1C,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE;wBAC7B,uBAAuB;wBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gCAC5B,gCAAgC;gCAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oCACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE;wCAC7C,UAAU,EAAE,IAAI;wCAChB,WAAW,EAAE,KAAK;qCACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wCACX,eAAe,CAAC,EAAE,CAAC,CAAA;oCACrB,CAAC,CAAC,CAAA;iCACH;qCAAM;oCACL,eAAe,CAAC,EAAE,CAAC,CAAA;iCACpB;4BACH,CAAC,EAAE,EAAE,CAAC,CAAA;yBACP;oBACH,CAAC,CAAA;oBACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;iBACnC;YACH,CAAC,CAAC,CAAA;SACH;QACD,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,CAAC,EAAE;YACxB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAEtD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzB,6BAA6B;gBAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;gBACrF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1D,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;gBACtC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;aAC7D;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACnE,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9D,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CAgKF","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle, isString, trim } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nconst trimSpace = params => {\n if (params) {\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isString(value)) {\n params[key] = trim(value)\n }\n })\n }\n return params\n}\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n hideOnSinglePage: false,\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n shadowed={false}\n bordered={false}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = trimSpace({\n ...this.formData,\n ...values,\n })\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
@@ -6,11 +6,13 @@ var __rest = this && this.__rest || function (s, e) {
6
6
  }
7
7
  return t;
8
8
  };
9
- import React from 'react';
10
9
  import classnames from 'classnames';
10
+ import React from 'react';
11
+ // import Form from '../query-form'
11
12
  import Form from '../query-form';
13
+ import Field from '../query-form/Field';
12
14
  const clsPrefix = 'tnt-querylistscene-queryform';
13
- export default class QueryForm extends React.PureComponent {
15
+ class QueryForm extends React.PureComponent {
14
16
  constructor(props) {
15
17
  super(props);
16
18
  Object.defineProperty(this, "onSearch", {
@@ -44,7 +46,10 @@ export default class QueryForm extends React.PureComponent {
44
46
  onReset,
45
47
  actions
46
48
  } = this.props;
47
- actions.setFormData(initialValues, false);
49
+ const resetValues = Object.assign(Object.assign({}, initialValues), {
50
+ pageSize: initialValues.pageSize || 10
51
+ });
52
+ actions.setFormData(resetValues, false);
48
53
  onReset === null || onReset === void 0 ? void 0 : onReset(initialValues);
49
54
  this.onSearch();
50
55
  }
@@ -53,13 +58,13 @@ export default class QueryForm extends React.PureComponent {
53
58
  enumerable: true,
54
59
  configurable: true,
55
60
  writable: true,
56
- value: (newValues, changedInfo, ...rest) => {
61
+ value: (newValues, changedInfo) => {
57
62
  const {
58
63
  onChange,
59
64
  actions
60
65
  } = this.props;
61
66
  actions.setFormData(newValues, false);
62
- onChange === null || onChange === void 0 ? void 0 : onChange(newValues, changedInfo, ...rest);
67
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValues, changedInfo);
63
68
  }
64
69
  });
65
70
  Object.defineProperty(this, "setFormData", {
@@ -103,14 +108,16 @@ export default class QueryForm extends React.PureComponent {
103
108
  actions,
104
109
  extraActions,
105
110
  extralActions,
106
- qlsProps
111
+ qlsProps,
112
+ onChange
107
113
  } = _a,
108
- props = __rest(_a, ["className", "actions", "extraActions", "extralActions", "qlsProps"]);
114
+ props = __rest(_a, ["className", "actions", "extraActions", "extralActions", "qlsProps", "onChange"]);
109
115
  return React.createElement(Form, Object.assign({}, props, {
110
116
  form: this.form,
111
117
  className: classnames(clsPrefix, className),
112
118
  // 前期拼写错误,导致需要兼容错误的api
113
119
  extraActions: extraActions || extralActions,
120
+ hasOnChange: !!onChange,
114
121
  onChange: this.onChange,
115
122
  onSearch: this.onSearch,
116
123
  onReset: this.onReset
@@ -124,7 +131,12 @@ export default class QueryForm extends React.PureComponent {
124
131
  memory
125
132
  } = this.props;
126
133
  if (qlsProps.memory || memory) {
127
- actions.setFormData(Object.assign(Object.assign({}, initialValues), actions.getFormData()), false);
134
+ const formData = Object.assign(Object.assign({}, initialValues), actions.getFormData());
135
+ actions.setData('formData', formData);
136
+ setTimeout(() => {
137
+ // 回写Composition
138
+ this.form.setValues(formData);
139
+ }, 100);
128
140
  } else {
129
141
  actions.setData('formData', initialValues);
130
142
  }
@@ -137,4 +149,5 @@ export default class QueryForm extends React.PureComponent {
137
149
  actions.removeListener('resetFormData', this.resetFormData);
138
150
  }
139
151
  }
140
- QueryForm.Field = Form.Field;
152
+ QueryForm.Field = Field;
153
+ export default QueryForm;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryForm.js","sourceRoot":"","sources":["../../src/query-list-scene/QueryForm.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Form from '../query-form'\n\nconst clsPrefix = 'tnt-querylistscene-queryform'\n\nexport default class QueryForm extends React.PureComponent {\n constructor(props) {\n super(props)\n const { actions, form } = props\n\n this.form = form || Form.createForm()\n\n actions.on('setFormData', this.setFormData)\n actions.on('resetFormData', this.resetFormData)\n }\n\n render() {\n const { className, actions, extraActions, extralActions, qlsProps, ...props } = this.props\n\n return (\n <Form\n {...props}\n form={this.form}\n className={classnames(clsPrefix, className)}\n // 前期拼写错误,导致需要兼容错误的api\n extraActions={extraActions || extralActions}\n onChange={this.onChange}\n onSearch={this.onSearch}\n onReset={this.onReset}\n />\n )\n }\n\n componentDidMount() {\n const { initialValues = {}, actions, qlsProps, memory } = this.props\n\n if (qlsProps.memory || memory) {\n actions.setFormData(\n {\n ...initialValues,\n ...actions.getFormData(),\n },\n false\n )\n } else {\n actions.setData('formData', initialValues)\n }\n }\n\n onSearch = (searchObj) => {\n const { onSearch, actions } = this.props\n const values = actions.getFormData()\n const params = { ...values, ...(searchObj || {}), current: 1 }\n\n // memory 与 url解析setForm时 监听事件异步\n actions.setData('formData', values)\n Promise.resolve().then(() => {\n onSearch && onSearch(params)\n actions.emit('search', params)\n })\n }\n\n onReset = () => {\n const { initialValues, onReset, actions } = this.props\n\n actions.setFormData(initialValues, false)\n\n onReset?.(initialValues)\n this.onSearch()\n }\n\n onChange = (newValues, changedInfo, ...rest) => {\n const { onChange, actions } = this.props\n\n actions.setFormData(newValues, false)\n onChange?.(newValues, changedInfo, ...rest)\n }\n\n setFormData = (data, needSearch) => {\n const { actions } = this.props\n actions.setData('formData', data)\n this.form.setValues(data)\n needSearch && this.onSearch()\n }\n\n resetFormData = (needSearch) => {\n const { initialValues, actions } = this.props\n\n actions.setFormData(initialValues, needSearch)\n this.form.resetValues()\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n actions.removeListener('setFormData', this.setFormData)\n actions.removeListener('resetFormData', this.resetFormData)\n }\n}\n\nQueryForm.Field = Form.Field\n"]}
1
+ {"version":3,"file":"QueryForm.js","sourceRoot":"","sources":["../../src/query-list-scene/QueryForm.js"],"names":[],"mappings":"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","sourcesContent":["import classnames from 'classnames'\nimport React from 'react'\n// import Form from '../query-form'\nimport Form from '../query-form'\nimport Field from '../query-form/Field'\n\nconst clsPrefix = 'tnt-querylistscene-queryform'\n\nclass QueryForm extends React.PureComponent {\n constructor(props) {\n super(props)\n const { actions, form } = props\n\n this.form = form || Form.createForm()\n\n actions.on('setFormData', this.setFormData)\n actions.on('resetFormData', this.resetFormData)\n }\n\n render() {\n const { className, actions, extraActions, extralActions, qlsProps, onChange, ...props } = this.props\n\n return (\n <Form\n {...props}\n form={this.form}\n className={classnames(clsPrefix, className)}\n // 前期拼写错误,导致需要兼容错误的api\n extraActions={extraActions || extralActions}\n hasOnChange={!!onChange}\n onChange={this.onChange}\n onSearch={this.onSearch}\n onReset={this.onReset}\n />\n )\n }\n\n componentDidMount() {\n const { initialValues = {}, actions, qlsProps, memory } = this.props\n\n if (qlsProps.memory || memory) {\n const formData = {\n ...initialValues,\n ...actions.getFormData(),\n }\n actions.setData('formData', formData)\n setTimeout(() => {\n // 回写Composition\n this.form.setValues(formData)\n }, 100)\n } else {\n actions.setData('formData', initialValues)\n }\n }\n\n onSearch = (searchObj) => {\n const { onSearch, actions } = this.props\n const values = actions.getFormData()\n const params = { ...values, ...(searchObj || {}), current: 1 }\n\n // memory 与 url解析setForm时 监听事件异步\n actions.setData('formData', values)\n Promise.resolve().then(() => {\n onSearch && onSearch(params)\n actions.emit('search', params)\n })\n }\n\n onReset = () => {\n const { initialValues, onReset, actions } = this.props\n\n const resetValues = {\n ...initialValues,\n pageSize: initialValues.pageSize || 10, // Set default pageSize if not provided\n }\n\n actions.setFormData(resetValues, false)\n\n onReset?.(initialValues)\n this.onSearch()\n }\n\n onChange = (newValues, changedInfo) => {\n const { onChange, actions } = this.props\n\n actions.setFormData(newValues, false)\n onChange?.(newValues, changedInfo)\n }\n\n setFormData = (data, needSearch) => {\n const { actions } = this.props\n actions.setData('formData', data)\n this.form.setValues(data)\n needSearch && this.onSearch()\n }\n\n resetFormData = (needSearch) => {\n const { initialValues, actions } = this.props\n\n actions.setFormData(initialValues, needSearch)\n this.form.resetValues()\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n actions.removeListener('setFormData', this.setFormData)\n actions.removeListener('resetFormData', this.resetFormData)\n }\n}\n\nQueryForm.Field = Field\n\nexport default QueryForm\n"]}
@@ -5,6 +5,7 @@ import Toolbar from './Toolbar';
5
5
  import List from './List';
6
6
  import Actions from './createActions';
7
7
  import useActions from './useActions';
8
+ import Field from '../query-form/Field';
8
9
  import './index.less';
9
10
  export const QueryForm = Form;
10
11
  export const QueryList = List;
@@ -13,7 +14,7 @@ QueryListScene.Title = Title;
13
14
  QueryListScene.QueryForm = Form;
14
15
  QueryListScene.Toolbar = Toolbar;
15
16
  QueryListScene.QueryList = List;
16
- QueryListScene.Field = Form.Field;
17
+ QueryListScene.Field = Field;
17
18
  QueryListScene.useActions = useActions;
18
19
  QueryListScene.createActions = createActions;
19
20
  export default QueryListScene;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query-list-scene/index.js"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,OAAO,MAAM,iBAAiB,CAAA;AACrC,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,cAAc,CAAA;AAErB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAA;AAEpC,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;AAC5B,cAAc,CAAC,SAAS,GAAG,IAAI,CAAA;AAC/B,cAAc,CAAC,OAAO,GAAG,OAAO,CAAA;AAChC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAA;AAC/B,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAEjC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAA;AACtC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAA;AAE5C,eAAe,cAAc,CAAA","sourcesContent":["import QueryListScene from './QueryListScene'\nimport Title from './Title'\nimport Form from './QueryForm'\nimport Toolbar from './Toolbar'\nimport List from './List'\nimport Actions from './createActions'\nimport useActions from './useActions'\nimport './index.less'\n\nexport const QueryForm = Form\nexport const QueryList = List\nexport const createActions = Actions\n\nQueryListScene.Title = Title\nQueryListScene.QueryForm = Form\nQueryListScene.Toolbar = Toolbar\nQueryListScene.QueryList = List\nQueryListScene.Field = Form.Field\n\nQueryListScene.useActions = useActions\nQueryListScene.createActions = createActions\n\nexport default QueryListScene\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query-list-scene/index.js"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,OAAO,MAAM,iBAAiB,CAAA;AACrC,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,cAAc,CAAA;AAErB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAA;AAEpC,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;AAC5B,cAAc,CAAC,SAAS,GAAG,IAAI,CAAA;AAC/B,cAAc,CAAC,OAAO,GAAG,OAAO,CAAA;AAChC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAA;AAC/B,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;AAE5B,cAAc,CAAC,UAAU,GAAG,UAAU,CAAA;AACtC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAA;AAE5C,eAAe,cAAc,CAAA","sourcesContent":["import QueryListScene from './QueryListScene'\nimport Title from './Title'\nimport Form from './QueryForm'\nimport Toolbar from './Toolbar'\nimport List from './List'\nimport Actions from './createActions'\nimport useActions from './useActions'\nimport Field from '../query-form/Field';\nimport './index.less'\n\nexport const QueryForm = Form\nexport const QueryList = List\nexport const createActions = Actions\n\nQueryListScene.Title = Title\nQueryListScene.QueryForm = Form\nQueryListScene.Toolbar = Toolbar\nQueryListScene.QueryList = List\nQueryListScene.Field = Field\n\nQueryListScene.useActions = useActions\nQueryListScene.createActions = createActions\n\nexport default QueryListScene\n"]}
@@ -0,0 +1,56 @@
1
+ import React, { forwardRef, useContext, useImperativeHandle, useState } from 'react';
2
+ import Context from './Context';
3
+ import Thumb from './Thumb';
4
+ import { GAP } from './util';
5
+ export default forwardRef((props, ref) => {
6
+ const {
7
+ wrapElement
8
+ } = useContext(Context);
9
+ const [moveX, setMoveX] = useState(0);
10
+ const [moveY, setMoveY] = useState(0);
11
+ const [sizeWidth, setSizeWidth] = useState(0);
12
+ const [sizeHeight, setSizeHeight] = useState(0);
13
+ const [ratioX, setRatioX] = useState(1);
14
+ const [ratioY, setRatioY] = useState(1);
15
+ useImperativeHandle(ref, () => ({
16
+ update,
17
+ handleScroll
18
+ }));
19
+ function handleScroll() {
20
+ const wrap = wrapElement.current;
21
+ if (!wrap) return;
22
+ const offsetHeight = wrap.offsetHeight - GAP;
23
+ const offsetWidth = wrap.offsetWidth - GAP;
24
+ setMoveY(wrap.scrollTop * 100 / offsetHeight * ratioY);
25
+ setMoveX(wrap.scrollLeft * 100 / offsetWidth * ratioX);
26
+ }
27
+ function update() {
28
+ const wrap = wrapElement.current;
29
+ if (!wrap) return;
30
+ // 滚动窗口的高度
31
+ const offsetHeight = wrap.offsetHeight - GAP;
32
+ const offsetWidth = wrap.offsetWidth - GAP;
33
+ // 滚动条的逻辑高度
34
+ const originalHeight = offsetHeight ** 2 / wrap.scrollHeight;
35
+ const originalWidth = offsetWidth ** 2 / wrap.scrollWidth;
36
+ // 滚动条的实际高度,因为如果内容太长会导致滚动条非常短,可能难以点击拖拽,所以设置了最小高度
37
+ const height = Math.max(originalHeight, props.minSize);
38
+ const width = Math.max(originalWidth, props.minSize);
39
+ setRatioY(originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height)));
40
+ setRatioX(originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width)));
41
+ setSizeHeight(height + GAP < offsetHeight ? height : 0);
42
+ setSizeWidth(width + GAP < offsetWidth ? width : 0);
43
+ }
44
+ return React.createElement(React.Fragment, null, React.createElement(Thumb, {
45
+ always: props.always,
46
+ move: moveX,
47
+ size: sizeWidth,
48
+ ratio: ratioX
49
+ }), React.createElement(Thumb, {
50
+ always: props.always,
51
+ move: moveY,
52
+ size: sizeHeight,
53
+ ratio: ratioY,
54
+ vertical: true
55
+ }));
56
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bar.js","sourceRoot":"","sources":["../../src/scroll-bar/Bar.js"],"names":[],"mappings":"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","sourcesContent":["import React, { forwardRef, useContext, useImperativeHandle, useState } from 'react'\nimport Context from './Context'\nimport Thumb from './Thumb'\nimport { GAP } from './util'\n\nexport default forwardRef((props, ref) => {\n const { wrapElement } = useContext(Context)\n\n const [moveX, setMoveX] = useState(0)\n const [moveY, setMoveY] = useState(0)\n const [sizeWidth, setSizeWidth] = useState(0)\n const [sizeHeight, setSizeHeight] = useState(0)\n const [ratioX, setRatioX] = useState(1)\n const [ratioY, setRatioY] = useState(1)\n\n useImperativeHandle(ref, () => ({\n update,\n handleScroll,\n }))\n\n function handleScroll() {\n const wrap = wrapElement.current\n if (!wrap) return\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n setMoveY(((wrap.scrollTop * 100) / offsetHeight) * ratioY)\n setMoveX(((wrap.scrollLeft * 100) / offsetWidth) * ratioX)\n }\n\n function update() {\n const wrap = wrapElement.current\n if (!wrap) return\n // 滚动窗口的高度\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n // 滚动条的逻辑高度\n const originalHeight = offsetHeight ** 2 / wrap.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap.scrollWidth\n // 滚动条的实际高度,因为如果内容太长会导致滚动条非常短,可能难以点击拖拽,所以设置了最小高度\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n setRatioY(originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height)))\n setRatioX(originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width)))\n setSizeHeight(height + GAP < offsetHeight ? height : 0)\n setSizeWidth(width + GAP < offsetWidth ? width : 0)\n }\n\n return (\n <>\n <Thumb always={props.always} move={moveX} size={sizeWidth} ratio={ratioX} />\n <Thumb always={props.always} move={moveY} size={sizeHeight} ratio={ratioY} vertical />\n </>\n )\n})\n"]}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ const Context = React.createContext({
3
+ scrollbarElement: null,
4
+ wrapElement: null
5
+ });
6
+ export default Context;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/scroll-bar/Context.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;IAClC,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,IAAI;CAClB,CAAC,CAAA;AAEF,eAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\n\nconst Context = React.createContext({\n scrollbarElement: null,\n wrapElement: null,\n})\n\nexport default Context\n"]}