uepay-mesh 4.0.2-beta → 4.0.4

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UpdateState = exports.TableUpdateFlag = exports.TableOrderTypeMapping = exports.ShowType = exports.RelationType = exports.QueryType = exports.OrderType = exports.OptionsState = exports.OptionsFlag = exports.OptionsDict = exports.DefaultConditionValue = exports.ConditionType = exports.ColumnSecurityOptions = exports.ColumnSecurity = exports.BETWEENCondMapping = exports.AlisaFlag = void 0;
6
+ exports.UpdateState = exports.TableUpdateFlag = exports.TableOrderTypeMapping = exports.ShowTypeList = exports.ShowType = exports.RelationType = exports.QueryType = exports.OrderType = exports.OptionsState = exports.OptionsFlag = exports.OptionsDict = exports.DefaultConditionValue = exports.ConditionType = exports.ColumnSecurityOptions = exports.ColumnSecurity = exports.BETWEENCondMapping = exports.AlisaFlag = void 0;
7
7
 
8
8
  /**
9
9
  * 匹配模式的字典
@@ -101,33 +101,41 @@ const TableOrderTypeMapping = {
101
101
  ascend: 'ASC',
102
102
  descend: 'DESC'
103
103
  };
104
+ exports.TableOrderTypeMapping = TableOrderTypeMapping;
105
+ const ShowType = {
106
+ NONE: {
107
+ value: 'NONE',
108
+ label: '缺省',
109
+ tip: '不顯示不查詢不傳輸'
110
+ },
111
+ HIDE: {
112
+ value: 'HIDE',
113
+ label: '隱藏',
114
+ tip: '不在列表、表單中顯示,但是會傳輸'
115
+ },
116
+ LIST: {
117
+ value: 'LIST',
118
+ label: '列显示',
119
+ tip: '僅在列表中顯示'
120
+ },
121
+ FORM: {
122
+ value: 'FORM',
123
+ label: '表显示',
124
+ tip: '盡再表單中顯示'
125
+ },
126
+ ALL: {
127
+ value: 'ALL',
128
+ label: '全显示',
129
+ tip: '會在列、表單中都顯示'
130
+ }
131
+ };
104
132
  /**
105
133
  * 顯示類型
106
134
  * @type {*[]}
107
135
  */
108
136
 
109
- exports.TableOrderTypeMapping = TableOrderTypeMapping;
110
- const ShowType = [{
111
- value: 'NONE',
112
- label: '缺省',
113
- tip: '不顯示不查詢不傳輸'
114
- }, {
115
- value: 'HIDE',
116
- label: '隱藏',
117
- tip: '不在列表、表單中顯示,但是會傳輸'
118
- }, {
119
- value: 'LIST',
120
- label: '列显示',
121
- tip: '僅在列表中顯示'
122
- }, {
123
- value: 'FORM',
124
- label: '表显示',
125
- tip: '盡再表單中顯示'
126
- }, {
127
- value: 'ALL',
128
- label: '全显示',
129
- tip: '會在列、表單中都顯示'
130
- }]; // /**
137
+ exports.ShowType = ShowType;
138
+ const ShowTypeList = [ShowType.NONE, ShowType.HIDE, ShowType.LIST, ShowType.FORM, ShowType.ALL]; // /**
131
139
  // * 表單編輯狀態
132
140
  // * @deprecated
133
141
  // * @type {*[]}
@@ -152,7 +160,7 @@ const ShowType = [{
152
160
  * @type {{"1": number, "3": number, "7": number, "15": number}}
153
161
  */
154
162
 
155
- exports.ShowType = ShowType;
163
+ exports.ShowTypeList = ShowTypeList;
156
164
  const OptionsFlag = {
157
165
  QUERY: 1,
158
166
  //查詢 1
@@ -69,6 +69,14 @@ class ReduxSearch {
69
69
  this.scribe();
70
70
  }
71
71
 
72
+ remove(label) {
73
+ this.search = _objectSpread({}, this.search);
74
+ this.condition = _objectSpread({}, this.condition);
75
+ delete this.search[label];
76
+ delete this.condition[label];
77
+ this.scribe();
78
+ }
79
+
72
80
  scribe() {
73
81
  for (let consumer of this.listener) {
74
82
  consumer(this.search, this.condition);
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildReduxTableLabel = buildReduxTableLabel;
7
+
8
+ require("core-js/modules/web.dom.iterable.js");
9
+
10
+ var _localStore = require("./localStore");
11
+
12
+ var _serverEnums = require("../config/serverEnums");
13
+
14
+ const IncludeTableKeysName = 'TableIncludeKeysOptions',
15
+ ExcludeTableKeysName = 'TableExcludeKeysOptions';
16
+ /**
17
+ * 读取本地存储数据
18
+ * @param collectId
19
+ * @returns {{excludeKeys: {}, includesKeys: {}}}
20
+ */
21
+
22
+ function getLocalStorage(collectId) {
23
+ let includesKeys, excludeKeys;
24
+
25
+ if (collectId) {
26
+ includesKeys = (0, _localStore.get)("".concat(IncludeTableKeysName).concat(collectId));
27
+ excludeKeys = (0, _localStore.get)("".concat(ExcludeTableKeysName).concat(collectId));
28
+ }
29
+
30
+ return {
31
+ includesKeys: includesKeys || {},
32
+ excludeKeys: excludeKeys || {}
33
+ };
34
+ }
35
+ /**
36
+ * 设置本地存储数据
37
+ * @param collectId
38
+ * @param includesKeys
39
+ * @param excludeKeys
40
+ */
41
+
42
+
43
+ function setLocalStorage(collectId, includesKeys, excludeKeys) {
44
+ if (collectId) {
45
+ (0, _localStore.put)("".concat(IncludeTableKeysName).concat(collectId), includesKeys);
46
+ (0, _localStore.put)("".concat(ExcludeTableKeysName).concat(collectId), excludeKeys);
47
+ }
48
+ }
49
+ /**
50
+ * 根据 columns, includesKeys, excludeKeys 的参数重建 actKeys。重建过程只修改数据,不会改变actKeys的指针地址
51
+ * @param columns
52
+ * @param includesKeys
53
+ * @param excludeKeys
54
+ * @returns {*}
55
+ */
56
+
57
+
58
+ function buildActKeys(columns, includesKeys, excludeKeys) {
59
+ const actKeys = {};
60
+
61
+ for (let col of columns) {
62
+ if (_serverEnums.ShowType.ALL.value === col.show || _serverEnums.ShowType.LIST.value === col.show) {
63
+ !excludeKeys[col.column] && (actKeys[col.column] = 1);
64
+ } else {
65
+ includesKeys[col.column] && (actKeys[col.column] = 1);
66
+ }
67
+ }
68
+
69
+ return actKeys;
70
+ }
71
+ /**
72
+ *
73
+ * @param collectId
74
+ * @param columns
75
+ * @returns {{excludeKeys: {}, actKeys: *, includesKeys: {}}}
76
+ */
77
+
78
+
79
+ function initKeys(collectId, columns) {
80
+ const {
81
+ includesKeys,
82
+ excludeKeys
83
+ } = getLocalStorage(collectId);
84
+ return {
85
+ actKeys: buildActKeys(columns, includesKeys, excludeKeys),
86
+ includesKeys,
87
+ excludeKeys
88
+ };
89
+ }
90
+ /**
91
+ * 对外实例,用于管理单个Table的显示标签。對象中的KEY一般對於字段的column值。
92
+ * @param collectId
93
+ * @param columns
94
+ * @param flushCall
95
+ * @constructor
96
+ */
97
+
98
+
99
+ function ReduxTableLabel(collectId, columns, flushCall) {
100
+ let {
101
+ actKeys,
102
+ includesKeys,
103
+ excludeKeys
104
+ } = initKeys(collectId, columns);
105
+
106
+ this.getColumns = () => columns;
107
+
108
+ this.getActKeys = () => actKeys;
109
+
110
+ this.getDisableKeyList = () => columns.map(col => col.column).filter(key => !actKeys[key]);
111
+
112
+ this.included = function (keys) {
113
+ for (let key of keys) {
114
+ includesKeys[key] = 1;
115
+ delete excludeKeys[key];
116
+ actKeys[key] = 1;
117
+ }
118
+
119
+ setLocalStorage(collectId, includesKeys, excludeKeys);
120
+ flushCall(actKeys);
121
+ };
122
+
123
+ this.excluded = function (keyList) {
124
+ for (let key of keyList) {
125
+ excludeKeys[key] = 1;
126
+ delete includesKeys[key];
127
+ delete actKeys[key];
128
+ }
129
+
130
+ setLocalStorage(collectId, includesKeys, excludeKeys);
131
+ flushCall(actKeys);
132
+ };
133
+ /**
134
+ * 根據字段的關鍵字進行刪除
135
+ * @param key
136
+ */
137
+
138
+
139
+ this.remove = function (key) {
140
+ excludeKeys[key] = 1;
141
+ delete includesKeys[key];
142
+ delete actKeys[key];
143
+ setLocalStorage(collectId, includesKeys, excludeKeys);
144
+ flushCall(actKeys);
145
+ };
146
+
147
+ this.reset = function () {
148
+ excludeKeys = {};
149
+ includesKeys = {};
150
+ actKeys = {};
151
+ columns.filter(col => _serverEnums.ShowType.ALL.value === col.show || _serverEnums.ShowType.LIST.value === col.show).map(col => col.column).forEach(key => actKeys[key] = 1);
152
+ setLocalStorage(collectId, includesKeys, excludeKeys);
153
+ flushCall(actKeys);
154
+ };
155
+ }
156
+
157
+ function buildReduxTableLabel(collectId, columns, flushCall) {
158
+ return new ReduxTableLabel(collectId, columns, flushCall);
159
+ }
@@ -74,7 +74,7 @@ const modifyAbleHeaderRow = collect => {
74
74
  explainHeaderRow = [],
75
75
  displayHeaderRow = [],
76
76
  colsOptions = [],
77
- NONE = _serverEnums.ShowType[0].value,
77
+ NONE = _serverEnums.ShowType.NONE.value,
78
78
  fieldLabelDict = {},
79
79
  formatDict = {},
80
80
  rowsOptions = [{
@@ -82,14 +82,15 @@ const modifyAbleHeaderRow = collect => {
82
82
  }, {
83
83
  hidden: true
84
84
  }];
85
+ let field;
85
86
 
86
- for (let field of collect.fieldList) {
87
+ for (field of collect.fieldList) {
87
88
  fieldLabelDict[field.label] = field;
88
89
  formatDict[field.label] = obtainFormat(field.component);
89
90
  }
90
91
 
91
- for (let field of collect.fieldList) {
92
- if (NONE !== collect.show) {
92
+ for (field of collect.fieldList) {
93
+ if (NONE !== field.show) {
93
94
  colsOptions.push({
94
95
  wch: 15
95
96
  });
@@ -41,6 +41,7 @@ const TabPane = _antd.Tabs.TabPane,
41
41
  * @param labelColumnDict
42
42
  * @param search
43
43
  * @param condition
44
+ * @param onChange
44
45
  * @return {*}
45
46
  * @constructor
46
47
  */
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- require("core-js/modules/es6.regexp.to-string.js");
9
-
10
8
  require("core-js/modules/web.dom.iterable.js");
11
9
 
12
10
  var _react = _interopRequireWildcard(require("react"));
@@ -17,81 +15,65 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
15
 
18
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
17
 
20
- const mockData = [];
21
-
22
- for (let i = 0; i < 20; i++) {
23
- mockData.push({
24
- key: i.toString(),
25
- title: "content".concat(i + 1),
26
- description: "description of content".concat(i + 1),
27
- disabled: i % 3 < 1
28
- });
29
- }
30
-
31
- function strList2Dict(list) {
32
- let dict = {};
33
-
34
- for (let item of list) {
35
- dict[item] = 1;
36
- }
37
-
38
- return dict;
39
- }
40
-
41
- function strDict2List(dict) {
42
- const keys = Object.keys(dict);
43
- return keys.map(key => key);
18
+ /**
19
+ *
20
+ * @param reduxTableLabel
21
+ * @returns {[String]}
22
+ */
23
+ function initTargetKeys(reduxTableLabel) {
24
+ const actKeys = reduxTableLabel.getActKeys();
25
+ return reduxTableLabel.getColumns().filter(col => !actKeys[col.column]).map(col => col.column);
44
26
  }
45
27
  /**
46
28
  *
47
- * @param allField
48
- * @param excludeKeys
49
- * @param onSet
29
+ * @param reduxTableLabel {ReduxTableLabel} ReduxTableLabel的实例
30
+ * @param children {ReactDOM} 子标签,标签必须包含onClick方法
50
31
  * @return {*}
51
32
  * @constructor
52
33
  */
53
34
 
54
35
 
55
- function LabelShowOptions(_ref) {
36
+ function TableLabelExtend(_ref) {
56
37
  let {
57
- allField,
58
- excludeKeys,
59
- onSet
38
+ reduxTableLabel,
39
+ children
60
40
  } = _ref;
61
- let list = strDict2List(excludeKeys);
41
+
62
42
  const [visible, setVisible] = (0, _react.useState)(false),
63
- [targetKeys, setTargetKeys] = (0, _react.useState)(list);
64
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Button, {
65
- size: "small",
66
- onClick: () => {
43
+ comp = /*#__PURE__*/_react.default.cloneElement(_react.default.Children.only(children), {
44
+ onClick: function onClick(e) {
67
45
  setVisible(true);
68
46
  }
69
- }, "\u8A2D\u7F6E"), /*#__PURE__*/_react.default.createElement(_antd.Modal, {
47
+ });
48
+
49
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, comp, /*#__PURE__*/_react.default.createElement(_antd.Modal, {
70
50
  zIndex: 1001,
71
51
  visible: visible,
52
+ okText: "\u91CD\u7F6E",
72
53
  onOk: () => {
73
- onSet(strList2Dict(targetKeys));
74
- setVisible(false);
54
+ reduxTableLabel.reset();
75
55
  },
56
+ cancelText: "\u5173\u95ED",
76
57
  onCancel: () => {
77
58
  setVisible(false);
78
59
  }
79
60
  }, /*#__PURE__*/_react.default.createElement(_antd.Transfer, {
80
61
  titles: ['显示', '隐藏'],
81
- dataSource: allField.map(item => ({
62
+ dataSource: reduxTableLabel.getColumns().map(item => ({
82
63
  key: item.column,
83
64
  title: item.display
84
65
  })),
85
- onChange: (nextTargetKeys, direction, moveKeys) => {
86
- setTargetKeys(nextTargetKeys);
66
+ onChange: (next, direction, keyList) => {
67
+ if ('left' === direction) {
68
+ reduxTableLabel.included(keyList);
69
+ } else if ('right') {
70
+ reduxTableLabel.excluded(keyList);
71
+ }
87
72
  },
88
- targetKeys: targetKeys,
73
+ targetKeys: reduxTableLabel.getDisableKeyList(),
89
74
  render: item => item.title
90
75
  })));
91
76
  }
92
77
 
93
- LabelShowOptions.defaultProps = {
94
- excludeKeys: []
95
- };
96
- var _default = LabelShowOptions;
78
+ var _default = TableLabelExtend;
97
79
  exports.default = _default;
@@ -11,8 +11,6 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _labelShowOptions = _interopRequireDefault(require("./tableOptons/labelShowOptions"));
15
-
16
14
  var _icons = require("@ant-design/icons");
17
15
 
18
16
  var _antd = require("antd");
@@ -29,13 +27,14 @@ var _OrderedListOutlined = _interopRequireDefault(require("@ant-design/icons/lib
29
27
 
30
28
  var _multiOptions = _interopRequireDefault(require("./tableOptons/multiOptions"));
31
29
 
30
+ var _tableLabelExtend = _interopRequireDefault(require("./tableLabelExtend"));
31
+
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
34
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
35
 
36
36
  const ButtonGroup = _antd.Button.Group,
37
- LocalStorageName = 'localUserOptions',
38
- ExcludeTableKeysName = 'TableExcludeKeysOptions';
37
+ LocalStorageName = 'localUserOptions';
39
38
  const Options = {
40
39
  tableSize: [{
41
40
  value: 'middle',
@@ -70,17 +69,14 @@ const DefOptions = {
70
69
  columnRelation: Options.columnRelation[0].value,
71
70
  pageSize: Options.pageSize[1].value
72
71
  };
73
- const DefExcludeKeys = {};
74
72
  /**
75
73
  *
76
74
  * @return {{columnRelation: *, tableSize: *, pageSize: *}}
77
75
  */
78
76
 
79
77
  const initOptions = collectId => {
80
- const options = (0, _localStore.get)(LocalStorageName),
81
- excludeKeys = collectId && (0, _localStore.get)("".concat(ExcludeTableKeysName).concat(collectId));
78
+ const options = (0, _localStore.get)(LocalStorageName);
82
79
  let retOptions = options ? options : DefOptions;
83
- retOptions.excludeKeys = excludeKeys ? excludeKeys : DefExcludeKeys;
84
80
  return retOptions;
85
81
  };
86
82
  /**
@@ -91,7 +87,7 @@ const initOptions = collectId => {
91
87
  * @param props.collect {Object} 数据集对象
92
88
  * @param props.columns {Array} 已经过滤的列表显示字段
93
89
  * @param props.onMultiple {Function} (multiVisible)=>{是否激活多选}
94
- * @param props.onModify {Function} (options:{tableSize, columnRelation, pageSize, excludeKeys})=>{}
90
+ * @param props.onModify {Function} (options:{tableSize, columnRelation, pageSize})=>{}
95
91
  * @example options:{
96
92
  * excel: 显示Excel操作框
97
93
  * add:显示添加按钮
@@ -123,8 +119,7 @@ class TableOptions extends _react.default.Component {
123
119
  const {
124
120
  tableSize,
125
121
  columnRelation,
126
- pageSize,
127
- excludeKeys
122
+ pageSize
128
123
  } = this.state,
129
124
  {
130
125
  collectId
@@ -132,12 +127,10 @@ class TableOptions extends _react.default.Component {
132
127
  options = {
133
128
  tableSize,
134
129
  columnRelation,
135
- pageSize,
136
- excludeKeys
130
+ pageSize
137
131
  };
138
132
  (0, _localStore.put)(LocalStorageName, options); //本地存储
139
133
 
140
- collectId && excludeKeys && (0, _localStore.put)("".concat(ExcludeTableKeysName).concat(collectId), excludeKeys);
141
134
  this.props.onModify(options);
142
135
  });
143
136
 
@@ -177,24 +170,16 @@ class TableOptions extends _react.default.Component {
177
170
  this.props.onAction(_serverEnums.OptionsState.ADD);
178
171
  });
179
172
 
180
- _defineProperty(this, "handleExcludeField", excludeKeys => {
181
- this.setState({
182
- excludeKeys
183
- });
184
- });
185
-
186
173
  const {
187
174
  tableSize: _tableSize,
188
175
  columnRelation: _columnRelation,
189
- pageSize: _pageSize,
190
- excludeKeys: _excludeKeys
176
+ pageSize: _pageSize
191
177
  } = initOptions(this.props.collect && this.props.collect.collectId);
192
178
  this.state = {
193
179
  visible: false,
194
180
  tableSize: _tableSize,
195
181
  columnRelation: _columnRelation,
196
- pageSize: _pageSize,
197
- excludeKeys: _excludeKeys
182
+ pageSize: _pageSize
198
183
  };
199
184
  }
200
185
 
@@ -226,17 +211,16 @@ class TableOptions extends _react.default.Component {
226
211
  visible,
227
212
  tableSize,
228
213
  pageSize,
229
- columnRelation,
230
- excludeKeys
214
+ columnRelation
231
215
  } = this.state,
232
216
  {
233
217
  loading,
234
218
  collect,
235
- columns,
236
219
  options,
237
220
  deliverAuth,
238
221
  multiple,
239
222
  reduxSearch,
223
+ reduxTableLabel,
240
224
  onMultiDelete
241
225
  } = this.props;
242
226
  return /*#__PURE__*/_react.default.createElement("span", null, multiple ? /*#__PURE__*/_react.default.createElement(_multiOptions.default, {
@@ -269,11 +253,11 @@ class TableOptions extends _react.default.Component {
269
253
  onCancel: this.handleCancel
270
254
  }, /*#__PURE__*/_react.default.createElement("div", {
271
255
  className: "uepay-standard-table-opt-item"
272
- }, "\u96B1\u85CF\u5B57\u6BB5:", /*#__PURE__*/_react.default.createElement(_labelShowOptions.default, {
273
- allField: columns,
274
- excludeKeys: excludeKeys,
275
- onSet: this.handleExcludeField
276
- })), /*#__PURE__*/_react.default.createElement("div", {
256
+ }, "\u96B1\u85CF\u5B57\u6BB5:", /*#__PURE__*/_react.default.createElement(_tableLabelExtend.default, {
257
+ reduxTableLabel: reduxTableLabel
258
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
259
+ size: "small"
260
+ }, "\u8A2D\u7F6E"))), /*#__PURE__*/_react.default.createElement("div", {
277
261
  className: "uepay-standard-table-opt-item"
278
262
  }, "\u8868\u683C\u5C3A\u5BF8\uFF1A", /*#__PURE__*/_react.default.createElement(_antd.Radio.Group, {
279
263
  onChange: this.handleTableSizeChange,
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es6.symbol.js");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -23,11 +25,21 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
25
 
24
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
27
 
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
26
34
  const {
27
35
  Column
28
36
  } = _antd.Table;
29
37
  const Style = {
30
38
  maxWidth: '7rem'
39
+ },
40
+ TooltipProps = {
41
+ color: '#FFF',
42
+ placement: 'bottomLeft'
31
43
  };
32
44
  /**
33
45
  * @param collect {Object} 数据集对象
@@ -40,6 +52,7 @@ const Style = {
40
52
  * @param field.component.view {Function} React 顯示組件
41
53
  * @param field.component.config {Object} 组件录入的配置信息
42
54
  * @param field.component.type {String} 组件录入的配置信息
55
+ * @param reduxTableLabel {ReduxTableLabel} 搜索相关的内容以及管理容器
43
56
  * @param reduxSearch {ReduxSearch} 搜索相关的内容以及管理容器
44
57
  * @param labelSearchDict {Object} 上一次搜索内容的字典
45
58
  * @param deliverAuth {Number} 传递权限
@@ -53,6 +66,7 @@ const thColumn = _ref => {
53
66
  collect,
54
67
  field,
55
68
  reduxSearch,
69
+ reduxTableLabel,
56
70
  labelSearchDict,
57
71
  deliverAuth,
58
72
  onSearch
@@ -69,6 +83,13 @@ const thColumn = _ref => {
69
83
  let value, searchValue;
70
84
  return /*#__PURE__*/_react.default.createElement(Column, _extends({
71
85
  key: label,
86
+ showSorterTooltip: _objectSpread({
87
+ title: /*#__PURE__*/_react.default.createElement(ColumnOptions, {
88
+ field: field,
89
+ reduxSearch: reduxSearch,
90
+ reduxTableLabel: reduxTableLabel
91
+ })
92
+ }, TooltipProps),
72
93
  title: /*#__PURE__*/_react.default.createElement(_withReduxSearch.ReduxSearchItemWrapper, {
73
94
  display: display,
74
95
  reduxSearch: reduxSearch,
@@ -149,4 +170,49 @@ function columnProperties(_ref3) {
149
170
  filterIcon: /*#__PURE__*/_react.default.createElement(_icons.SearchOutlined, null)
150
171
  };
151
172
  }
173
+ }
174
+
175
+ function ColumnOptions(_ref4) {
176
+ let {
177
+ field,
178
+ reduxSearch,
179
+ reduxTableLabel
180
+ } = _ref4;
181
+ return /*#__PURE__*/_react.default.createElement("div", {
182
+ className: "uepay-standard-table-label"
183
+ }, /*#__PURE__*/_react.default.createElement(ColumnHideShow, {
184
+ field: field,
185
+ reduxTableLabel: reduxTableLabel
186
+ }), /*#__PURE__*/_react.default.createElement(ColumnCleanSearch, {
187
+ field: field,
188
+ reduxSearch: reduxSearch
189
+ }));
190
+ }
191
+
192
+ function ColumnHideShow(_ref5) {
193
+ let {
194
+ field,
195
+ reduxTableLabel
196
+ } = _ref5;
197
+ return /*#__PURE__*/_react.default.createElement("a", {
198
+ onClick: e => {
199
+ e.stopPropagation();
200
+ reduxTableLabel.remove(field.column);
201
+ },
202
+ className: "ach"
203
+ }, /*#__PURE__*/_react.default.createElement(_antd.Space, null, /*#__PURE__*/_react.default.createElement(_icons.EyeInvisibleOutlined, null), /*#__PURE__*/_react.default.createElement("span", null, "\u96B1\u85CF\"", field.display, "\"")));
204
+ }
205
+
206
+ function ColumnCleanSearch(_ref6) {
207
+ let {
208
+ field,
209
+ reduxSearch
210
+ } = _ref6;
211
+ return /*#__PURE__*/_react.default.createElement("a", {
212
+ onClick: e => {
213
+ e.stopPropagation();
214
+ reduxSearch.remove(field.label);
215
+ },
216
+ className: "ach"
217
+ }, /*#__PURE__*/_react.default.createElement(_antd.Space, null, /*#__PURE__*/_react.default.createElement(_icons.EyeInvisibleOutlined, null), /*#__PURE__*/_react.default.createElement("span", null, "\u6E05\u7A7A\"", field.display, "\"\u641C\u7D22\u689D\u4EF6")));
152
218
  }
@@ -35,6 +35,12 @@ var _reduxSearch = _interopRequireDefault(require("../data/reduxSearch"));
35
35
 
36
36
  var _withReduxSearch = require("../hoc/withReduxSearch");
37
37
 
38
+ var _reduxTableLabel = require("../data/reduxTableLabel");
39
+
40
+ var _icons = require("@ant-design/icons");
41
+
42
+ var _tableLabelExtend = _interopRequireDefault(require("./standardTable/tableLabelExtend"));
43
+
38
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
45
 
40
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -51,8 +57,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
51
57
 
52
58
  const TableShowType = (() => {
53
59
  const Show = {};
54
- Show[_serverEnums.ShowType[2].value] = true;
55
- Show[_serverEnums.ShowType[4].value] = true;
60
+ Show[_serverEnums.ShowType.ALL.value] = true;
61
+ Show[_serverEnums.ShowType.FORM.value] = true;
62
+ Show[_serverEnums.ShowType.LIST.value] = true;
56
63
  return Show;
57
64
  })();
58
65
  /**
@@ -135,6 +142,14 @@ class StandardTable extends _react.default.Component {
135
142
  /**
136
143
  * label到字段的映射字典
137
144
  */
145
+
146
+ /**
147
+ * 用于管理搜索内容的实例
148
+ */
149
+
150
+ /**
151
+ * 用于管理列表的可显字段
152
+ */
138
153
  constructor() {
139
154
  super(...arguments);
140
155
 
@@ -148,6 +163,10 @@ class StandardTable extends _react.default.Component {
148
163
 
149
164
  _defineProperty(this, "labelColumnDict", {});
150
165
 
166
+ _defineProperty(this, "reduxSearch", void 0);
167
+
168
+ _defineProperty(this, "reduxTableLabel", void 0);
169
+
151
170
  _defineProperty(this, "handleOptionsChange", _ref => {
152
171
  let {
153
172
  tableSize,
@@ -179,6 +198,12 @@ class StandardTable extends _react.default.Component {
179
198
  })();
180
199
  });
181
200
 
201
+ _defineProperty(this, "handleTableLabelChange", actKeys => {
202
+ this.setState({
203
+ actKeys
204
+ });
205
+ });
206
+
182
207
  _defineProperty(this, "handleMultipleChange", multiVisible => {
183
208
  this.multiRows = [];
184
209
  this.setState({
@@ -233,18 +258,21 @@ class StandardTable extends _react.default.Component {
233
258
  this.props.onAction('Row', record[this.pkColumn.label], record);
234
259
  });
235
260
 
261
+ this.processColumns(this.props.collect); //字段數據,將組件的內容清洗為對象格式。
262
+
263
+ this.reduxTableLabel = (0, _reduxTableLabel.buildReduxTableLabel)(this.props.collect.collectId, this.columns, this.handleTableLabelChange);
236
264
  let {
237
265
  columnRelation: _columnRelation,
238
266
  tableSize: _tableSize,
239
267
  pageSize: _pageSize,
240
268
  excludeKeys: _excludeKeys
241
269
  } = (0, _tableOptions.initOptions)(this.props.collect.collectId);
242
- this.processColumns(this.props.collect); //字段數據,將組件的內容清洗為對象格式。
243
-
244
270
  _pageSize = this.props.pageSize ? this.props.pageSize : _pageSize; //讀取初始化數據
245
271
 
246
272
  this.state = {
273
+ actKeys: this.reduxTableLabel.getActKeys(),
247
274
  excludeKeys: _excludeKeys,
275
+ //指示列表顯示排除的字段
248
276
  tableSize: _tableSize,
249
277
  multiVisible: false //支持table列表的多选操作,目前仅支持删除项。是否激活
250
278
 
@@ -488,7 +516,7 @@ class StandardTable extends _react.default.Component {
488
516
  } = result,
489
517
  {
490
518
  tableSize,
491
- excludeKeys,
519
+ actKeys,
492
520
  multiVisible
493
521
  } = this.state,
494
522
  {
@@ -512,7 +540,15 @@ class StandardTable extends _react.default.Component {
512
540
  className: "options"
513
541
  }, /*#__PURE__*/_react.default.createElement("div", {
514
542
  className: "search-ext"
515
- }, /*#__PURE__*/_react.default.createElement(_withReduxSearch.ReduxSearchWrapper, {
543
+ }, /*#__PURE__*/_react.default.createElement(_tableLabelExtend.default, {
544
+ reduxTableLabel: this.reduxTableLabel
545
+ }, /*#__PURE__*/_react.default.createElement("a", {
546
+ className: "column"
547
+ }, /*#__PURE__*/_react.default.createElement("div", {
548
+ className: "contain"
549
+ }, /*#__PURE__*/_react.default.createElement("span", {
550
+ className: "tip"
551
+ }, "\u5B57\u6BB5\uFF1A"), /*#__PURE__*/_react.default.createElement(_icons.SplitCellsOutlined, null)))), /*#__PURE__*/_react.default.createElement(_withReduxSearch.ReduxSearchWrapper, {
516
552
  reduxSearch: this.reduxSearch,
517
553
  Comp: _searchExtend.default,
518
554
  labelColumnDict: this.labelColumnDict
@@ -525,14 +561,16 @@ class StandardTable extends _react.default.Component {
525
561
  onMultiple: this.handleMultipleChange,
526
562
  onMultiDelete: this.handleBatchDelete,
527
563
  collect: collect,
528
- columns: this.columns,
564
+ reduxTableLabel: this.reduxTableLabel,
529
565
  deliverAuth: deliverAuth,
530
566
  reduxSearch: this.reduxSearch,
531
567
  onSearch: this.handleSearch,
532
568
  onModify: this.handleOptionsChange,
533
569
  onExcel: this.handleExcel,
534
570
  onAction: onAction
535
- }))), /*#__PURE__*/_react.default.createElement(_antd.Table, _extends({
571
+ }))), /*#__PURE__*/_react.default.createElement("div", {
572
+ className: "table"
573
+ }, /*#__PURE__*/_react.default.createElement(_antd.Table, _extends({
536
574
  rowSelection: multiVisible ? this.rowSelection : false,
537
575
  size: size || tableSize,
538
576
  dataSource: dataSource,
@@ -540,12 +578,13 @@ class StandardTable extends _react.default.Component {
540
578
  pagination: this.pagination(total),
541
579
  loading: loading,
542
580
  rowClassName: this.handleRowClass
543
- }, extParams), this.columns.filter(item => !excludeKeys[item.column]).map(item => {
581
+ }, extParams), this.columns.filter(item => actKeys[item.column]).map(item => {
544
582
  //显示数据列
545
583
  return (0, _thColumn.default)({
546
- collect: collect,
584
+ collect,
547
585
  field: item,
548
586
  labelSearchDict,
587
+ reduxTableLabel: this.reduxTableLabel,
549
588
  reduxSearch: this.reduxSearch,
550
589
  deliverAuth,
551
590
  onSearch: this.handleSearch
@@ -557,7 +596,7 @@ class StandardTable extends _react.default.Component {
557
596
  collect,
558
597
  pkColumn: this.pkColumn,
559
598
  onAction: onAction
560
- })));
599
+ }))));
561
600
  }
562
601
 
563
602
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uepay-mesh",
3
- "version": "4.0.2-beta",
3
+ "version": "4.0.4",
4
4
  "description": "数据中心数据集设计工具前端",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -44,7 +44,7 @@
44
44
  "node-sass": "^4.13.0",
45
45
  "react": "^16.12.0",
46
46
  "react-dom": "^16.12.0",
47
- "uepay-mesh": "4.0.1",
48
- "uepay-ops2": "4.0.1"
47
+ "uepay-mesh": "4.0.4",
48
+ "uepay-ops2": "4.0.3"
49
49
  }
50
50
  }
package/style.css CHANGED
@@ -4,14 +4,38 @@
4
4
 
5
5
  /*table*/
6
6
  /*standard-table*/
7
+ .uepay-standard-table-contain{
8
+ }
9
+
7
10
  .uepay-standard-table {
8
- overflow-y: auto;
11
+ position: relative;
12
+ display: flex;
13
+ flex-direction: column;
14
+ height: 100%;
9
15
  }
10
16
 
11
17
  .uepay-standard-table .th-title-search{
12
18
  color: #40a9ff;
13
19
  }
14
20
 
21
+ /*獨立彈窗*/
22
+ .uepay-standard-table-label{
23
+ color: #000000;
24
+ }
25
+
26
+ .uepay-standard-table-label .ach{
27
+ display: block;
28
+ padding: .2rem .2rem;
29
+ color: #40a9ff;
30
+ text-decoration: underline;
31
+ border-radius: .1rem;
32
+ }
33
+
34
+ .uepay-standard-table-label .ach:hover{
35
+ background-color: #40a9ff;
36
+ color: #ffffff;
37
+ }
38
+
15
39
  .uepay-standard-table .uepay-row{
16
40
  cursor: pointer;
17
41
  }
@@ -22,11 +46,27 @@
22
46
  justify-content: space-between;
23
47
  }
24
48
 
49
+ .uepay-standard-table .table{
50
+ flex-grow: 1;
51
+ flex-shrink: 1;
52
+ overflow-y: auto;
53
+ }
54
+
25
55
  .uepay-standard-table .search-ext {
56
+ display: flex;
26
57
  padding: 0;
27
58
  width: 45%;
28
59
  }
29
60
 
61
+ .uepay-standard-table .search-ext .column{
62
+ padding: 0 1rem;
63
+ line-height: 1.8rem;
64
+ }
65
+
66
+ .uepay-standard-table .search-ext .column .contain{
67
+ border-bottom: 1px solid #f0f0f0;
68
+ }
69
+
30
70
  .uepay-standard-table .search-ext .search-ext-options {
31
71
  margin-right: 1rem;
32
72
  }