cloud-b2b 1.1.57 → 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 -138
  68. package/es/Card/Card.js +0 -19
  69. package/es/CodeInput/CodeInput.js +0 -120
  70. package/es/Control/Control.js +0 -444
  71. package/es/Control/event.js +0 -43
  72. package/es/Enhance/Dialogs.js +0 -49
  73. package/es/Enhance/Loading.js +0 -128
  74. package/es/Header/Header.js +0 -159
  75. package/es/Header/Vertical.js +0 -103
  76. package/es/ImageView/ImageView.js +0 -97
  77. package/es/Indent/Indent.js +0 -19
  78. package/es/InpurCascader/InputCascader.js +0 -114
  79. package/es/InputEditor/InputEditor.js +0 -171
  80. package/es/InputSearch/InputSearch.js +0 -263
  81. package/es/InputSelect/InputSelect.js +0 -157
  82. package/es/InputTreeSelect/InputTreeSelect.js +0 -118
  83. package/es/InputWriting/InputWriting.js +0 -82
  84. package/es/Layout/Layout.js +0 -198
  85. package/es/LayoutLink/LayoutLink.js +0 -73
  86. package/es/Link/Link.js +0 -82
  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 -197
  91. package/es/Search/Search.js +0 -494
  92. package/es/Sidebar/Sidebar.js +0 -141
  93. package/es/Sidebar2/Sidebar.js +0 -162
  94. package/es/SuperForm/SuperForm.js +0 -593
  95. package/es/SuperForm2/SuperForm.js +0 -682
  96. package/es/SuperIcon/SuperIcon.js +0 -27
  97. package/es/SuperPagination/SuperPagination.js +0 -106
  98. package/es/SuperTab/SuperTab.js +0 -104
  99. package/es/SuperTab2/SuperTab2.js +0 -142
  100. package/es/SuperTable/DragSortRow.js +0 -94
  101. package/es/SuperTable/FilterDropDown.js +0 -161
  102. package/es/SuperTable/SuperTable.js +0 -805
  103. package/es/SuperTable/fixed.js +0 -34
  104. package/es/SuperTable2/SuperTable2.js +0 -923
  105. package/es/SuperTable2/SuperTableCell.js +0 -215
  106. package/es/SuperTable3/FilterDropDown.js +0 -161
  107. package/es/SuperTable3/SuperTable.js +0 -662
  108. package/es/SuperTable3/fixed.js +0 -34
  109. package/es/SuperToolbar/SuperToolbar.js +0 -192
  110. package/es/SuperUpload/SuperUpload.js +0 -356
  111. package/es/Title/Title.js +0 -33
  112. package/es/Viewer/ImageViews.js +0 -255
  113. package/es/Viewer/Viewer.js +0 -119
  114. package/es/WingBlank/WingBlank.js +0 -16
  115. package/es/helper.js +0 -241
  116. package/es/index.js +0 -37
  117. package/es/variables.js +0 -6
  118. package/lib/Area/Area.js +0 -146
  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 -128
  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 -57
  128. package/lib/Enhance/Loading.js +0 -135
  129. package/lib/Enhance/index.js +0 -25
  130. package/lib/Enhance/package.json +0 -6
  131. package/lib/Header/Header.js +0 -166
  132. package/lib/Header/Header.less +0 -95
  133. package/lib/Header/Vertical.js +0 -111
  134. package/lib/Header/Vertical.less +0 -60
  135. package/lib/Header/package.json +0 -6
  136. package/lib/ImageView/ImageView.js +0 -105
  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 -121
  142. package/lib/InpurCascader/package.json +0 -6
  143. package/lib/InputEditor/InputEditor.js +0 -179
  144. package/lib/InputEditor/inputEditor.less +0 -8
  145. package/lib/InputEditor/package.json +0 -6
  146. package/lib/InputSearch/InputSearch.js +0 -271
  147. package/lib/InputSearch/package.json +0 -6
  148. package/lib/InputSelect/InputSelect.js +0 -165
  149. package/lib/InputSelect/package.json +0 -6
  150. package/lib/InputTreeSelect/InputTreeSelect.js +0 -125
  151. package/lib/InputTreeSelect/package.json +0 -6
  152. package/lib/InputWriting/InputWriting.js +0 -90
  153. package/lib/InputWriting/package.json +0 -6
  154. package/lib/Layout/Layout.js +0 -206
  155. package/lib/Layout/Layout.less +0 -28
  156. package/lib/Layout/package.json +0 -6
  157. package/lib/LayoutLink/LayoutLink.js +0 -85
  158. package/lib/LayoutLink/LayoutLink.less +0 -53
  159. package/lib/LayoutLink/package.json +0 -6
  160. package/lib/Link/Link.js +0 -90
  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 -205
  173. package/lib/NumberInput/package.json +0 -6
  174. package/lib/Search/Search.js +0 -506
  175. package/lib/Sidebar/Sidebar.js +0 -149
  176. package/lib/Sidebar/Sidebar.less +0 -78
  177. package/lib/Sidebar/package.json +0 -6
  178. package/lib/Sidebar2/Sidebar.js +0 -170
  179. package/lib/Sidebar2/Sidebar.less +0 -153
  180. package/lib/Sidebar2/package.json +0 -6
  181. package/lib/SuperForm/SuperForm.js +0 -604
  182. package/lib/SuperForm/SuperForm.less +0 -52
  183. package/lib/SuperForm/package.json +0 -6
  184. package/lib/SuperForm2/SuperForm.js +0 -693
  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 -114
  190. package/lib/SuperPagination/package.json +0 -6
  191. package/lib/SuperTab/SuperTab.js +0 -112
  192. package/lib/SuperTab/SuperTab.less +0 -43
  193. package/lib/SuperTab/package.json +0 -6
  194. package/lib/SuperTab2/SuperTab2.js +0 -150
  195. package/lib/SuperTab2/SuperTab2.less +0 -18
  196. package/lib/SuperTab2/package.json +0 -6
  197. package/lib/SuperTable/DragSortRow.js +0 -102
  198. package/lib/SuperTable/DragSortRow.less +0 -17
  199. package/lib/SuperTable/FilterDropDown.js +0 -169
  200. package/lib/SuperTable/FilterDropDown.less +0 -30
  201. package/lib/SuperTable/SuperTable.js +0 -813
  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 -935
  206. package/lib/SuperTable2/SuperTable2.less +0 -118
  207. package/lib/SuperTable2/SuperTableCell.js +0 -220
  208. package/lib/SuperTable2/package.json +0 -6
  209. package/lib/SuperTable3/FilterDropDown.js +0 -169
  210. package/lib/SuperTable3/FilterDropDown.less +0 -29
  211. package/lib/SuperTable3/SuperTable.js +0 -670
  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 -200
  216. package/lib/SuperToolbar/SuperToolbar.less +0 -17
  217. package/lib/SuperToolbar/package.json +0 -6
  218. package/lib/SuperUpload/SuperUpload.js +0 -367
  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 -263
  225. package/lib/Viewer/Viewer.js +0 -127
  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 -247
  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,84 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import {Tabs} from 'antd';
4
+ import variables from '../variables';
5
+ const TabPane = Tabs.TabPane;
6
+
7
+ /**
8
+ * key: 唯一标识一个tab
9
+ * title: 显示在tab上的标题
10
+ * close: 为true则显示关闭按钮,默认为true
11
+ */
12
+ const TabType = {
13
+ key: PropTypes.string.isRequired,
14
+ title: PropTypes.string.isRequired,
15
+ close: PropTypes.bool
16
+ };
17
+
18
+ /**
19
+ * activeKey: 处于活动状态tab的key值
20
+ * onTabChange: 切换选项卡时触发,原型为function(key)
21
+ * onTabClose: 关闭选项卡时触发,原型为funtion(key)
22
+ */
23
+ class SuperTab extends React.Component {
24
+ static propTypes = {
25
+ activeKey: PropTypes.string.isRequired,
26
+ tabs: PropTypes.arrayOf(PropTypes.shape(TabType)).isRequired,
27
+ onTabChange: PropTypes.func,
28
+ onTabClose: PropTypes.func
29
+ };
30
+
31
+ static PROPS = ['activeKey', 'tabs', 'onTabChange', 'onTabClose'];
32
+
33
+ getEvent = (name) => {
34
+ if (this.props[name]) {
35
+ return this.props[name];
36
+ } else if (this.props.callback) {
37
+ return this.props.callback[name];
38
+ } else {
39
+ return null;
40
+ }
41
+ };
42
+
43
+ callEvent = (name, key) => {
44
+ const onEvent = this.getEvent(name);
45
+ if (onEvent) {
46
+ onEvent(key);
47
+ }
48
+ };
49
+
50
+ onEdit = (key, action) => {
51
+ if (action === 'remove') {
52
+ this.callEvent('onTabClose', key);
53
+ }
54
+ };
55
+
56
+ onChange = (key) => {
57
+ this.callEvent('onTabChange', key);
58
+ };
59
+
60
+ toTab = ({key, title, close}) => {
61
+ return <TabPane key={key} tab={title} closable={close} />;
62
+ };
63
+
64
+ getTabsProps = () => {
65
+ return {
66
+ className: variables('SuperTab'),
67
+ activeKey: this.props.activeKey,
68
+ type: 'editable-card',
69
+ hideAdd: true,
70
+ onEdit: this.onEdit,
71
+ onChange: this.onChange
72
+ }
73
+ };
74
+
75
+ render() {
76
+ return (
77
+ <Tabs {...this.getTabsProps()}>
78
+ {this.props.tabs.map(this.toTab)}
79
+ </Tabs>
80
+ );
81
+ }
82
+ }
83
+
84
+ export default SuperTab;
@@ -0,0 +1,94 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import ReactDOM from 'react-dom';
4
+ import {Tabs, Menu, Dropdown, Icon, Tooltip} from 'antd';
5
+ import variables from '../variables';
6
+ const TabPane = Tabs.TabPane;
7
+ const MenuItem = Menu.Item;
8
+
9
+ /**
10
+ * key: 唯一标识一个tab
11
+ * title: 显示在tab上的标题
12
+ */
13
+ const TabType = {
14
+ key: PropTypes.string.isRequired,
15
+ title: PropTypes.string.isRequired
16
+ };
17
+
18
+ /**
19
+ * activeKey: 处于活动状态tab的key值
20
+ * menu: 是否需要右侧下拉列表,默认false
21
+ * onTabChange: 切换选项卡时触发,原型为function(key)
22
+ */
23
+ class SuperTab2 extends React.Component {
24
+ static propTypes = {
25
+ activeKey: PropTypes.string.isRequired,
26
+ tabs: PropTypes.arrayOf(PropTypes.shape(TabType)).isRequired,
27
+ menu: PropTypes.bool,
28
+ onTabChange: PropTypes.func
29
+ };
30
+
31
+ onTabChange = (key) => {
32
+ const {onTabChange, callback={}} = this.props;
33
+ if (onTabChange) {
34
+ onTabChange(key);
35
+ } else if (callback.onTabChange) {
36
+ // callback被废弃,只是为了兼容旧代码而已
37
+ callback.onTabChange(key);
38
+ }
39
+ };
40
+
41
+ toTab = (tab) => {
42
+ return <TabPane key={tab.key} tab={tab.title} />;
43
+ };
44
+
45
+ toMenu = () => {
46
+ const {tabs, activeKey} = this.props;
47
+ return (
48
+ <Menu style={{maxHeight: '450px', overflow: 'auto'}}>
49
+ {tabs.map(tab => {
50
+ const style = activeKey === tab.key ? {color: "#2196f3"} : {};
51
+ return tab.tip ? (
52
+ <MenuItem key={tab.key}>
53
+ <Tooltip placement="leftTop" title={tab.tip}>
54
+ <a onClick={this.onTabChange.bind(this, tab.key)} style={style}>{tab.title}</a>
55
+ </Tooltip>
56
+ </MenuItem>
57
+ ) : (
58
+ <MenuItem key={tab.key}>
59
+ <a onClick={this.onTabChange.bind(this, tab.key)} style={style}>{tab.title}</a>
60
+ </MenuItem>
61
+ );
62
+ })}
63
+ </Menu>
64
+ );
65
+ };
66
+
67
+ getPopupContainer = () => {
68
+ const {container} = this.props;
69
+ if (typeof container === 'undefined') {
70
+ return document.body;
71
+ } else {
72
+ return ReactDOM.findDOMNode(container);
73
+ }
74
+ };
75
+
76
+ toDropdown = () => {
77
+ return (
78
+ <Dropdown overlay={this.toMenu()} getPopupContainer={this.getPopupContainer}>
79
+ <Icon type="menu-unfold" style={{fontSize: 16, verticalAlign: -2}} />
80
+ </Dropdown>
81
+ );
82
+ };
83
+
84
+ render() {
85
+ const {tabs, activeKey, menu = false} = this.props;
86
+ return (
87
+ <Tabs className={variables('SuperTab2')} activeKey={activeKey} onChange={this.onTabChange} tabBarExtraContent={menu && tabs.length > 3 && this.toDropdown()}>
88
+ {tabs.map(this.toTab)}
89
+ </Tabs>
90
+ );
91
+ }
92
+ }
93
+
94
+ export default SuperTab2;
@@ -0,0 +1,62 @@
1
+ import React from 'react';
2
+ import variables from '../variables';
3
+
4
+ let dragIndex = -1;
5
+
6
+ class DragSortRow extends React.Component {
7
+ state = {dragIndex: -1, firefox: navigator.userAgent.includes('Firefox')};
8
+
9
+ onDragStart = (e) => {
10
+ dragIndex = this.props.index;
11
+ if (this.state.firefox) {
12
+ // 火狐浏览器必须调用setData
13
+ e.dataTransfer.setData('text/plain', 'DragSortRow');
14
+ }
15
+ };
16
+
17
+ onDragEnd = () => {
18
+ dragIndex = -1;
19
+ };
20
+
21
+ onDragOver = (e) => {
22
+ if ((dragIndex > - 1) && (dragIndex !== this.props.index)) {
23
+ e.preventDefault();
24
+ if (this.state.dragIndex !== dragIndex) {
25
+ this.setState({dragIndex});
26
+ }
27
+ }
28
+ };
29
+
30
+ onDragLeave = () => {
31
+ this.setState({dragIndex: -1});
32
+ };
33
+
34
+ onDrop = (e) => {
35
+ const dragIndex = this.state.dragIndex;
36
+ this.setState({dragIndex: -1});
37
+ this.props.onMoveRow(dragIndex, this.props.index);
38
+
39
+ // 火狐浏览器默认会打开一个新窗口,此处阻止其打开
40
+ if (this.state.firefox) {
41
+ e.preventDefault();
42
+ }
43
+ };
44
+
45
+ render() {
46
+ const {onMoveRow, index, className, ...restProps} = this.props;
47
+ const dragIndex = this.state.dragIndex;
48
+ restProps.className = `${className} ${variables('DragSortRow')}`;
49
+ restProps.draggable = true;
50
+ restProps.onDragStart = this.onDragStart;
51
+ restProps.onDragEnd = this.onDragEnd;
52
+ restProps.onDragOver = this.onDragOver;
53
+ restProps.onDragLeave = this.onDragLeave;
54
+ restProps.onDrop = this.onDrop;
55
+ if (dragIndex > - 1) {
56
+ restProps['data-drag-hover'] = dragIndex > index ? 'up' : 'down';
57
+ }
58
+ return <tr {...restProps} />;
59
+ }
60
+ }
61
+
62
+ export default DragSortRow;
@@ -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('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('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;