cloud-b2b 1.1.58 → 1.1.59

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 (308) hide show
  1. package/package.json +44 -22
  2. package/src/Area/Area.js +94 -0
  3. package/src/Card/Card.js +16 -0
  4. package/src/CodeInput/CodeInput.js +76 -0
  5. package/src/Control/Control.js +338 -0
  6. package/src/Control/event.js +45 -0
  7. package/src/Enhance/Dialogs.js +24 -0
  8. package/src/Enhance/Loading.js +83 -0
  9. package/{es → src}/Enhance/index.js +8 -6
  10. package/src/Header/Header.js +149 -0
  11. package/src/Header/Vertical.js +74 -0
  12. package/src/ImageView/ImageView.js +62 -0
  13. package/src/Indent/Indent.js +12 -0
  14. package/src/InpurCascader/InputCascader.js +83 -0
  15. package/src/InputEditor/InputEditor.js +93 -0
  16. package/src/InputSearch/InputSearch.js +186 -0
  17. package/src/InputSelect/InputSelect.js +103 -0
  18. package/src/InputTreeSelect/InputTreeSelect.js +87 -0
  19. package/src/InputWriting/InputWriting.js +65 -0
  20. package/src/Layout/Layout.js +121 -0
  21. package/src/LayoutLink/LayoutLink.js +59 -0
  22. package/src/Link/Link.js +57 -0
  23. package/src/Loading/Loading.js +15 -0
  24. package/src/Loading2/Loading2.js +15 -0
  25. package/src/ModalWithDrag/ModalWithDrag.js +17 -0
  26. package/{es → src}/ModalWithDrag/drag.js +128 -116
  27. package/src/NumberInput/NumberInput.js +137 -0
  28. package/src/Search/Search.js +368 -0
  29. package/src/Search2/Search.js +436 -0
  30. package/{lib/Search → src/Search2}/Search.less +65 -63
  31. package/{lib/Search → src/Search2}/package.json +6 -6
  32. package/src/Sidebar/Sidebar.js +111 -0
  33. package/src/Sidebar2/Sidebar.js +143 -0
  34. package/src/SuperForm/SuperForm.js +519 -0
  35. package/src/SuperForm2/SuperForm.js +588 -0
  36. package/src/SuperIcon/SuperIcon.js +14 -0
  37. package/src/SuperPagination/SuperPagination.js +65 -0
  38. package/src/SuperTab/SuperTab.js +84 -0
  39. package/src/SuperTab2/SuperTab2.js +94 -0
  40. package/src/SuperTable/DragSortRow.js +62 -0
  41. package/src/SuperTable/FilterDropDown.js +111 -0
  42. package/src/SuperTable/SuperTable.js +590 -0
  43. package/src/SuperTable/fixed.js +34 -0
  44. package/src/SuperTable2/SuperTable2.js +624 -0
  45. package/src/SuperTable2/SuperTableCell.js +175 -0
  46. package/src/SuperTable3/FilterDropDown.js +111 -0
  47. package/src/SuperTable3/SuperTable.js +498 -0
  48. package/src/SuperTable3/fixed.js +34 -0
  49. package/src/SuperToolbar/SuperToolbar.js +128 -0
  50. package/src/SuperUpload/SuperUpload.js +137 -0
  51. package/src/Title/Title.js +18 -0
  52. package/src/Viewer/ImageViews.js +220 -0
  53. package/src/Viewer/Viewer.js +97 -0
  54. package/src/WingBlank/WingBlank.js +14 -0
  55. package/src/helper.js +185 -0
  56. package/{es → src}/history.js +6 -6
  57. package/src/index.js +39 -0
  58. package/src/variables.js +5 -0
  59. package/test/index.html +10 -0
  60. package/test/test.js +16 -0
  61. package/test/test.less +12 -0
  62. package/test/webpack.config.js +71 -0
  63. package/tools/babel.config.js +14 -0
  64. package/tools/build.js +70 -0
  65. package/tools/publish.js +9 -0
  66. package/tools/util.js +53 -0
  67. package/es/Area/Area.js +0 -141
  68. package/es/Card/Card.js +0 -19
  69. package/es/CodeInput/CodeInput.js +0 -123
  70. package/es/Control/Control.js +0 -444
  71. package/es/Control/event.js +0 -43
  72. package/es/Enhance/Dialogs.js +0 -52
  73. package/es/Enhance/Loading.js +0 -131
  74. package/es/Header/Header.js +0 -162
  75. package/es/Header/Vertical.js +0 -106
  76. package/es/ImageView/ImageView.js +0 -100
  77. package/es/Indent/Indent.js +0 -19
  78. package/es/InpurCascader/InputCascader.js +0 -117
  79. package/es/InputEditor/InputEditor.js +0 -173
  80. package/es/InputSearch/InputSearch.js +0 -266
  81. package/es/InputSelect/InputSelect.js +0 -160
  82. package/es/InputTreeSelect/InputTreeSelect.js +0 -121
  83. package/es/InputWriting/InputWriting.js +0 -85
  84. package/es/Layout/Layout.js +0 -201
  85. package/es/LayoutLink/LayoutLink.js +0 -73
  86. package/es/Link/Link.js +0 -85
  87. package/es/Loading/Loading.js +0 -13
  88. package/es/Loading2/Loading2.js +0 -9
  89. package/es/ModalWithDrag/ModalWithDrag.js +0 -29
  90. package/es/NumberInput/NumberInput.js +0 -200
  91. package/es/Search/Search.js +0 -497
  92. package/es/Sidebar/Sidebar.js +0 -144
  93. package/es/Sidebar2/Sidebar.js +0 -165
  94. package/es/SuperForm/SuperForm.js +0 -598
  95. package/es/SuperForm2/SuperForm.js +0 -687
  96. package/es/SuperIcon/SuperIcon.js +0 -27
  97. package/es/SuperPagination/SuperPagination.js +0 -109
  98. package/es/SuperTab/SuperTab.js +0 -107
  99. package/es/SuperTab2/SuperTab2.js +0 -145
  100. package/es/SuperTable/DragSortRow.js +0 -97
  101. package/es/SuperTable/FilterDropDown.js +0 -164
  102. package/es/SuperTable/SuperTable.js +0 -808
  103. package/es/SuperTable/fixed.js +0 -34
  104. package/es/SuperTable2/SuperTable2.js +0 -926
  105. package/es/SuperTable2/SuperTableCell.js +0 -225
  106. package/es/SuperTable3/FilterDropDown.js +0 -164
  107. package/es/SuperTable3/SuperTable.js +0 -665
  108. package/es/SuperTable3/fixed.js +0 -34
  109. package/es/SuperToolbar/SuperToolbar.js +0 -195
  110. package/es/SuperUpload/SuperUpload.js +0 -356
  111. package/es/Title/Title.js +0 -33
  112. package/es/Viewer/ImageViews.js +0 -258
  113. package/es/Viewer/Viewer.js +0 -122
  114. package/es/WingBlank/WingBlank.js +0 -16
  115. package/es/helper.js +0 -240
  116. package/es/index.js +0 -37
  117. package/es/variables.js +0 -6
  118. package/lib/Area/Area.js +0 -149
  119. package/lib/Area/package.json +0 -6
  120. package/lib/Card/Card.js +0 -27
  121. package/lib/Card/package.json +0 -6
  122. package/lib/CodeInput/CodeInput.js +0 -131
  123. package/lib/CodeInput/package.json +0 -6
  124. package/lib/Control/Control.js +0 -450
  125. package/lib/Control/event.js +0 -51
  126. package/lib/Control/package.json +0 -6
  127. package/lib/Enhance/Dialogs.js +0 -60
  128. package/lib/Enhance/Loading.js +0 -138
  129. package/lib/Enhance/index.js +0 -25
  130. package/lib/Enhance/package.json +0 -6
  131. package/lib/Header/Header.js +0 -169
  132. package/lib/Header/Header.less +0 -95
  133. package/lib/Header/Vertical.js +0 -114
  134. package/lib/Header/Vertical.less +0 -60
  135. package/lib/Header/package.json +0 -6
  136. package/lib/ImageView/ImageView.js +0 -108
  137. package/lib/ImageView/ImageView.less +0 -14
  138. package/lib/ImageView/package.json +0 -6
  139. package/lib/Indent/Indent.js +0 -27
  140. package/lib/Indent/package.json +0 -6
  141. package/lib/InpurCascader/InputCascader.js +0 -124
  142. package/lib/InpurCascader/package.json +0 -6
  143. package/lib/InputEditor/InputEditor.js +0 -181
  144. package/lib/InputEditor/inputEditor.less +0 -8
  145. package/lib/InputEditor/package.json +0 -6
  146. package/lib/InputSearch/InputSearch.js +0 -274
  147. package/lib/InputSearch/package.json +0 -6
  148. package/lib/InputSelect/InputSelect.js +0 -168
  149. package/lib/InputSelect/package.json +0 -6
  150. package/lib/InputTreeSelect/InputTreeSelect.js +0 -128
  151. package/lib/InputTreeSelect/package.json +0 -6
  152. package/lib/InputWriting/InputWriting.js +0 -93
  153. package/lib/InputWriting/package.json +0 -6
  154. package/lib/Layout/Layout.js +0 -209
  155. package/lib/Layout/Layout.less +0 -28
  156. package/lib/Layout/package.json +0 -6
  157. package/lib/LayoutLink/LayoutLink.js +0 -86
  158. package/lib/LayoutLink/LayoutLink.less +0 -53
  159. package/lib/LayoutLink/package.json +0 -6
  160. package/lib/Link/Link.js +0 -93
  161. package/lib/Link/package.json +0 -6
  162. package/lib/Loading/Loading.js +0 -21
  163. package/lib/Loading/Loading.less +0 -13
  164. package/lib/Loading/package.json +0 -6
  165. package/lib/Loading2/Loading2.js +0 -17
  166. package/lib/Loading2/Loading2.less +0 -19
  167. package/lib/Loading2/package.json +0 -6
  168. package/lib/ModalWithDrag/ModalWithDrag.js +0 -37
  169. package/lib/ModalWithDrag/ModalWithDrag.less +0 -6
  170. package/lib/ModalWithDrag/drag.js +0 -124
  171. package/lib/ModalWithDrag/package.json +0 -6
  172. package/lib/NumberInput/NumberInput.js +0 -208
  173. package/lib/NumberInput/package.json +0 -6
  174. package/lib/Search/Search.js +0 -510
  175. package/lib/Sidebar/Sidebar.js +0 -152
  176. package/lib/Sidebar/Sidebar.less +0 -78
  177. package/lib/Sidebar/package.json +0 -6
  178. package/lib/Sidebar2/Sidebar.js +0 -173
  179. package/lib/Sidebar2/Sidebar.less +0 -153
  180. package/lib/Sidebar2/package.json +0 -6
  181. package/lib/SuperForm/SuperForm.js +0 -610
  182. package/lib/SuperForm/SuperForm.less +0 -52
  183. package/lib/SuperForm/package.json +0 -6
  184. package/lib/SuperForm2/SuperForm.js +0 -699
  185. package/lib/SuperForm2/SuperForm.less +0 -52
  186. package/lib/SuperForm2/package.json +0 -6
  187. package/lib/SuperIcon/SuperIcon.js +0 -35
  188. package/lib/SuperIcon/package.json +0 -6
  189. package/lib/SuperPagination/SuperPagination.js +0 -117
  190. package/lib/SuperPagination/package.json +0 -6
  191. package/lib/SuperTab/SuperTab.js +0 -115
  192. package/lib/SuperTab/SuperTab.less +0 -43
  193. package/lib/SuperTab/package.json +0 -6
  194. package/lib/SuperTab2/SuperTab2.js +0 -153
  195. package/lib/SuperTab2/SuperTab2.less +0 -18
  196. package/lib/SuperTab2/package.json +0 -6
  197. package/lib/SuperTable/DragSortRow.js +0 -105
  198. package/lib/SuperTable/DragSortRow.less +0 -17
  199. package/lib/SuperTable/FilterDropDown.js +0 -172
  200. package/lib/SuperTable/FilterDropDown.less +0 -30
  201. package/lib/SuperTable/SuperTable.js +0 -816
  202. package/lib/SuperTable/SuperTable.less +0 -132
  203. package/lib/SuperTable/fixed.js +0 -42
  204. package/lib/SuperTable/package.json +0 -6
  205. package/lib/SuperTable2/SuperTable2.js +0 -939
  206. package/lib/SuperTable2/SuperTable2.less +0 -118
  207. package/lib/SuperTable2/SuperTableCell.js +0 -230
  208. package/lib/SuperTable2/package.json +0 -6
  209. package/lib/SuperTable3/FilterDropDown.js +0 -172
  210. package/lib/SuperTable3/FilterDropDown.less +0 -29
  211. package/lib/SuperTable3/SuperTable.js +0 -673
  212. package/lib/SuperTable3/SuperTable.less +0 -99
  213. package/lib/SuperTable3/fixed.js +0 -42
  214. package/lib/SuperTable3/package.json +0 -6
  215. package/lib/SuperToolbar/SuperToolbar.js +0 -203
  216. package/lib/SuperToolbar/SuperToolbar.less +0 -17
  217. package/lib/SuperToolbar/package.json +0 -6
  218. package/lib/SuperUpload/SuperUpload.js +0 -368
  219. package/lib/SuperUpload/SuperUpload.less +0 -28
  220. package/lib/SuperUpload/package.json +0 -6
  221. package/lib/Title/Title.js +0 -41
  222. package/lib/Title/Title.less +0 -35
  223. package/lib/Title/package.json +0 -6
  224. package/lib/Viewer/ImageViews.js +0 -266
  225. package/lib/Viewer/Viewer.js +0 -130
  226. package/lib/Viewer/Viewer.less +0 -67
  227. package/lib/Viewer/imgView.less +0 -59
  228. package/lib/Viewer/package.json +0 -7
  229. package/lib/WingBlank/WingBlank.js +0 -24
  230. package/lib/WingBlank/WingBlank.less +0 -12
  231. package/lib/WingBlank/package.json +0 -6
  232. package/lib/adjust.less +0 -89
  233. package/lib/helper.js +0 -246
  234. package/lib/history.js +0 -12
  235. package/lib/index.js +0 -271
  236. package/lib/index.less +0 -31
  237. package/lib/style.less +0 -30
  238. package/lib/variables.js +0 -14
  239. package/lib/variables.less +0 -73
  240. /package/{es → src}/Area/package.json +0 -0
  241. /package/{es → src}/Card/package.json +0 -0
  242. /package/{es → src}/CodeInput/package.json +0 -0
  243. /package/{es → src}/Control/package.json +0 -0
  244. /package/{es → src}/Enhance/package.json +0 -0
  245. /package/{es → src}/Header/Header.less +0 -0
  246. /package/{es → src}/Header/Vertical.less +0 -0
  247. /package/{es → src}/Header/package.json +0 -0
  248. /package/{es → src}/ImageView/ImageView.less +0 -0
  249. /package/{es → src}/ImageView/package.json +0 -0
  250. /package/{es → src}/Indent/package.json +0 -0
  251. /package/{es → src}/InpurCascader/package.json +0 -0
  252. /package/{es → src}/InputEditor/inputEditor.less +0 -0
  253. /package/{es → src}/InputEditor/package.json +0 -0
  254. /package/{es → src}/InputSearch/package.json +0 -0
  255. /package/{es → src}/InputSelect/package.json +0 -0
  256. /package/{es → src}/InputTreeSelect/package.json +0 -0
  257. /package/{es → src}/InputWriting/package.json +0 -0
  258. /package/{es → src}/Layout/Layout.less +0 -0
  259. /package/{es → src}/Layout/package.json +0 -0
  260. /package/{es → src}/LayoutLink/LayoutLink.less +0 -0
  261. /package/{es → src}/LayoutLink/package.json +0 -0
  262. /package/{es → src}/Link/package.json +0 -0
  263. /package/{es → src}/Loading/Loading.less +0 -0
  264. /package/{es → src}/Loading/package.json +0 -0
  265. /package/{es → src}/Loading2/Loading2.less +0 -0
  266. /package/{es → src}/Loading2/package.json +0 -0
  267. /package/{es → src}/ModalWithDrag/ModalWithDrag.less +0 -0
  268. /package/{es → src}/ModalWithDrag/package.json +0 -0
  269. /package/{es → src}/NumberInput/package.json +0 -0
  270. /package/{es → src}/Search/Search.less +0 -0
  271. /package/{es → src}/Search/package.json +0 -0
  272. /package/{es → src}/Sidebar/Sidebar.less +0 -0
  273. /package/{es → src}/Sidebar/package.json +0 -0
  274. /package/{es → src}/Sidebar2/Sidebar.less +0 -0
  275. /package/{es → src}/Sidebar2/package.json +0 -0
  276. /package/{es → src}/SuperForm/SuperForm.less +0 -0
  277. /package/{es → src}/SuperForm/package.json +0 -0
  278. /package/{es → src}/SuperForm2/SuperForm.less +0 -0
  279. /package/{es → src}/SuperForm2/package.json +0 -0
  280. /package/{es → src}/SuperIcon/package.json +0 -0
  281. /package/{es → src}/SuperPagination/package.json +0 -0
  282. /package/{es → src}/SuperTab/SuperTab.less +0 -0
  283. /package/{es → src}/SuperTab/package.json +0 -0
  284. /package/{es → src}/SuperTab2/SuperTab2.less +0 -0
  285. /package/{es → src}/SuperTab2/package.json +0 -0
  286. /package/{es → src}/SuperTable/DragSortRow.less +0 -0
  287. /package/{es → src}/SuperTable/FilterDropDown.less +0 -0
  288. /package/{es → src}/SuperTable/SuperTable.less +0 -0
  289. /package/{es → src}/SuperTable/package.json +0 -0
  290. /package/{es → src}/SuperTable2/SuperTable2.less +0 -0
  291. /package/{es → src}/SuperTable2/package.json +0 -0
  292. /package/{es → src}/SuperTable3/FilterDropDown.less +0 -0
  293. /package/{es → src}/SuperTable3/SuperTable.less +0 -0
  294. /package/{es → src}/SuperTable3/package.json +0 -0
  295. /package/{es → src}/SuperToolbar/SuperToolbar.less +0 -0
  296. /package/{es → src}/SuperToolbar/package.json +0 -0
  297. /package/{es → src}/SuperUpload/SuperUpload.less +0 -0
  298. /package/{es → src}/SuperUpload/package.json +0 -0
  299. /package/{es → src}/Title/Title.less +0 -0
  300. /package/{es → src}/Title/package.json +0 -0
  301. /package/{es → src}/Viewer/Viewer.less +0 -0
  302. /package/{es → src}/Viewer/imgView.less +0 -0
  303. /package/{es → src}/Viewer/package.json +0 -0
  304. /package/{es → src}/WingBlank/WingBlank.less +0 -0
  305. /package/{es → src}/WingBlank/package.json +0 -0
  306. /package/{es → src}/adjust.less +0 -0
  307. /package/{es → src}/style.less +0 -0
  308. /package/{es → src}/variables.less +0 -0
@@ -0,0 +1,175 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import ReactDOM from 'react-dom';
4
+ import Control from '../Control';
5
+ import helper from "../helper";
6
+
7
+ // 单元格的type只能取如下值:
8
+ // 'text', 'number', select', 'date', 'search', 'readonly', 'textArea', 'selectSearch'
9
+
10
+ const isInRegion = (target, {x, y}) => {
11
+ const {left, right, top, bottom} = target.getBoundingClientRect();
12
+ return !(x < left || x > right || y < top || y > bottom);
13
+ };
14
+
15
+ class SuperTableCell extends React.Component {
16
+ static propTypes = {
17
+ type: PropTypes.string.isRequired,
18
+ value: PropTypes.any,
19
+ options: PropTypes.array,
20
+ props: PropTypes.object,
21
+ onChange: PropTypes.func,
22
+ onSearch: PropTypes.func,
23
+ onBlur: PropTypes.func
24
+ };
25
+
26
+ onDateBlur = (value, event) => {
27
+ if (!isInRegion(event.target, global.mousePos)) {
28
+ this.props.onBlur();
29
+ }
30
+ };
31
+ onChange = (key, value) => {
32
+ const {onChange} = this.props;
33
+ if (onChange) {
34
+ onChange(key,value)
35
+ }
36
+ };
37
+ onOpenChange = (open) => {
38
+ if (!open) {
39
+ const targets = document.getElementsByClassName('ant-calendar-picker-container');
40
+ if (!isInRegion(targets[0], global.mousePos)) {
41
+ this.props.onBlur();
42
+ }
43
+ }
44
+ };
45
+
46
+ options = () => {
47
+ return this.props.options || this.props.typeRelated || [];
48
+ };
49
+
50
+ getPopupContainer = () => {
51
+ return ReactDOM.findDOMNode(this);
52
+ };
53
+
54
+ toTextComponent = (props) => {
55
+ return <Control {...props} />;
56
+ };
57
+
58
+ toTextAreaComponent = (props) => {
59
+ return <Control {...props} />;
60
+ };
61
+
62
+ toReadonlyComponent = (props) => {
63
+ return <Control {...props} />;
64
+ };
65
+
66
+ toNumberComponent = (props) => {
67
+ props.defaultValue = props.value;
68
+ delete props.value;
69
+ return <Control {...props}/>;
70
+ };
71
+
72
+ toDoubleNumberComponent = (props, cc) => {
73
+
74
+ props.defaultValue = props.value;
75
+ props.doubleKey = props.key;
76
+ props.doubleValue = helper.getObject(cc, props.key);
77
+ props.onChangeKey1 = this.onChange.bind(this, props.key[0])
78
+ props.onChangeKey2 = this.onChange.bind(this, props.key[1])
79
+ delete props.value;
80
+ return <Control {...props} />;
81
+ };
82
+ toDateComponent = (props) => {
83
+ //props.getCalendarContainer = this.getPopupContainer;
84
+ props.onBlur = this.onDateBlur;
85
+ props.onOpenChange = this.onOpenChange;
86
+ return <Control {...props}/>;
87
+ };
88
+
89
+ toSelectComponent = (props) => {
90
+ props.options = this.options();
91
+ props.dropdownMatchSelectWidth = false;
92
+ //props.getPopupContainer = this.getPopupContainer;
93
+ return <Control {...props} />;
94
+ };
95
+ toSearchComponent = (props) => {
96
+ props.options = this.options();
97
+ //props.getPopupContainer = this.getPopupContainer;
98
+ props.onSearch = this.props.onSearch;
99
+ props.dropdownMatchSelectWidth = false;
100
+ return <Control {...props} />;
101
+ };
102
+ toCascader = (props) => {
103
+ props.options = this.options() || [];
104
+ props.onSearch = this.props.onSearch;
105
+ props.loadData = this.props.onSearch;
106
+ return <Control {...props} />;
107
+ };
108
+ toSelectWriting = (props) => {
109
+ return <Control {...props} />;
110
+ };
111
+ toRadioGroup = (props) => {
112
+ console.log(props);
113
+ props.options = this.options();
114
+ return <Control {...props} />;
115
+ };
116
+ // 确保value的值为字符串(包含value和title的对象除外)
117
+ makeString = (value) => {
118
+ if (value === null || typeof value === 'undefined') {
119
+ return '';
120
+ } else if (typeof value === 'number') {
121
+ return String(value);
122
+ } else {
123
+ return value;
124
+ }
125
+ };
126
+ controlProps = ({type, value, props = {}}) => {
127
+ const {width = 100} = this.props;
128
+ (type === 'readonly') && (props = {});
129
+ return {
130
+ ...props, type, value:this.makeString(value),
131
+ size: 'small',
132
+ autoFocus: this.props.error,
133
+ style: {width: '100%', minWidth: width},
134
+ onBlur: this.props.onBlur,
135
+ onChange: this.props.onChange
136
+ };
137
+ };
138
+
139
+ render() {
140
+ const props = this.controlProps(this.props);
141
+ const className = this.props.error ? 'has-error' : '';
142
+ switch (this.props.type) {
143
+ case "text":
144
+ return <div className={className}>{this.toTextComponent(props)}</div>;
145
+ case "textArea":
146
+ return <div className={className}>{this.toTextAreaComponent(props)}</div>;
147
+ case "number":
148
+ return <div className={className}>{this.toNumberComponent(props)}</div>;
149
+ case "select":
150
+ return <div className={className}>{this.toSelectComponent(props)}</div>;
151
+ case 'search':
152
+ case 'selectSearch':
153
+ return <div className={className}>{this.toSearchComponent(props)}</div>;
154
+ case "date":
155
+ return <div className={className}>{this.toDateComponent(props)}</div>;
156
+ case 'readonly':
157
+ return this.toReadonlyComponent(props);
158
+ case 'cascader':
159
+ return <div className={className}>{this.toCascader(props)}</div>;
160
+ case 'selectWriting' :
161
+ return <div className={className}>{this.toSelectWriting(props)}</div>;
162
+ case 'radioGroup' :
163
+ return <div className={className}>{this.toRadioGroup(props)}</div>;
164
+
165
+
166
+ case 'double':
167
+ return <div className={className}>{this.toDoubleNumberComponent(props, this.props.items)}</div>
168
+ default:
169
+ return <div>"error type"</div>;
170
+ }
171
+ }
172
+ }
173
+
174
+ export default SuperTableCell;
175
+ export {isInRegion};
@@ -0,0 +1,111 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import {Button, Input} from 'antd';
4
+ import Control from "../Control/Control";
5
+ import variables from '../variables';
6
+
7
+ class FilterDropDown extends React.Component {
8
+ static propTypes = {
9
+ value: PropTypes.any,
10
+ onSearch: PropTypes.func,
11
+ onClose: PropTypes.func
12
+ };
13
+
14
+ constructor(props) {
15
+ super(props);
16
+ this.state = {value: props.value || ''};
17
+ if (props.isDateFilterByStartAndEnd) {
18
+ const {start='', end=''} = props.value || {};
19
+ this.state = {start, end};
20
+ } else {
21
+ this.state = {value: props.value || ''};
22
+ }
23
+ }
24
+
25
+ componentWillReceiveProps(newProps) {
26
+ if (newProps.isDateFilterByStartAndEnd) {
27
+ const {start= '', end= ''} = newProps.value || {};
28
+ this.setState({start, end});
29
+ } else {
30
+ this.setState({value: newProps.value || ''});
31
+ }
32
+ }
33
+
34
+ componentDidMount() {
35
+ if (this.input) {
36
+ this.input.focus();
37
+ }
38
+ }
39
+
40
+ componentDidUpdate() {
41
+ if (this.input) {
42
+ this.input.focus();
43
+ }
44
+ }
45
+
46
+ onChange = (e) => {
47
+ this.setState({value: e.target.value});
48
+ };
49
+
50
+ onDateChange = (key, value) => {
51
+ this.setState({[key]: value});
52
+ };
53
+
54
+ onSearch = () => {
55
+ const {onSearch, isDateFilterByStartAndEnd} = this.props;
56
+ if (onSearch) {
57
+ const value = (!this.state.start && !this.state.end) ? "" : this.state;
58
+ const val = isDateFilterByStartAndEnd ? value : this.state.value;
59
+ onSearch(val);
60
+ }
61
+ };
62
+
63
+ DateInputCreator = () => {
64
+ const {props} = this.props;
65
+ const propsStart = {
66
+ type: "date",
67
+ size: "small",
68
+ showTime: props ? props.showTime: true,
69
+ value: this.state.start,
70
+ style: {marginRight: '5px'},
71
+ onChange: this.onDateChange.bind(null, 'start')
72
+ };
73
+ const propsEnd = {
74
+ type: "date",
75
+ size: "small",
76
+ showTime: props ? props.showTime: true,
77
+ value: this.state.end,
78
+ style: {marginLeft: '5px'},
79
+ onChange: this.onDateChange.bind(null, 'end')
80
+ };
81
+ return (<div className={variables('SuperTable3-FilterDropDown').date}>
82
+ <div><Control {...propsStart} />To<Control {...propsEnd} /></div>
83
+ <div>
84
+ <Button size="small" style={{marginRight: '5px'}} onClick={this.props.onClose}>关闭</Button>
85
+ <Button size='small' type='primary' onClick={this.onSearch.bind(null, this.props.type)}>搜索</Button>
86
+ </div>
87
+ </div>);
88
+ };
89
+
90
+ InputCreator = () => {
91
+ const props = {
92
+ size: 'small',
93
+ value: this.state.value,
94
+ onChange: this.onChange,
95
+ onPressEnter: this.onSearch,
96
+ ref: (e) => this.input = e
97
+ };
98
+ return (
99
+ <div className={variables('SuperTable3-FilterDropDown')}>
100
+ <Input {...props} />
101
+ <Button onClick={this.onSearch} size='small' type='primary'>搜索</Button>
102
+ </div>
103
+ );
104
+ }
105
+
106
+ render() {
107
+ return this.props.isDateFilterByStartAndEnd ? this.DateInputCreator() : this.InputCreator();
108
+ }
109
+ }
110
+
111
+ export default FilterDropDown;