uepay-mesh 3.0.14 → 4.0.3-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 (42) hide show
  1. package/bpm/list/applicantTable.js +0 -1
  2. package/index.d.ts +1 -0
  3. package/index.js +8 -0
  4. package/mesh/cell/view/picker/timestampDatePickerView.js +2 -2
  5. package/mesh/cell/view/select/standardSelectView.js +2 -2
  6. package/mesh/config/authOptions.js +96 -0
  7. package/mesh/config/serverEnums.js +72 -50
  8. package/mesh/crud/remove.js +144 -0
  9. package/mesh/data/reduxSearch.js +10 -4
  10. package/mesh/data/reduxTableLabel.js +159 -0
  11. package/mesh/data/request.js +54 -2
  12. package/mesh/excel/optionsAbleExcel.js +0 -7
  13. package/mesh/excel/processor.js +5 -3
  14. package/mesh/form/editAbleForm.js +84 -15
  15. package/mesh/form/options/confirmBtn.js +24 -14
  16. package/mesh/form/options/deleteBtn.js +57 -0
  17. package/mesh/form/options.js +42 -30
  18. package/mesh/form/standardAddForm.js +3 -1
  19. package/mesh/form/standardEditForm.js +5 -3
  20. package/mesh/form/standardForm.js +2 -2
  21. package/mesh/form/standardViewForm.js +25 -0
  22. package/mesh/form/support/modifyFormProcessor.js +2 -2
  23. package/mesh/form/tabs/relateTabs.js +2 -2
  24. package/mesh/pages/collectEntry.d.ts +9 -0
  25. package/mesh/pages/collectEntry.js +55 -0
  26. package/mesh/table/formQueryAbleTable.js +5 -2
  27. package/mesh/table/optionsFormQueryAbleTable.js +2 -2
  28. package/mesh/table/queryAbleTable.js +40 -2
  29. package/mesh/table/selectQueryAbleTable.js +2 -2
  30. package/mesh/table/standardTable/actionColumnForm/deleteRow.js +135 -0
  31. package/mesh/table/standardTable/actionColumnForm.js +14 -3
  32. package/mesh/table/standardTable/searchExtend.js +3 -2
  33. package/mesh/table/standardTable/{tableOptons/labelShowOptions.js → tableLabelExtend.js} +31 -49
  34. package/mesh/table/standardTable/tableOptions.js +67 -36
  35. package/mesh/table/standardTable/tableOptons/multiOptions.js +42 -0
  36. package/mesh/table/standardTable/thColumn/rowEditAbleCell.js +3 -3
  37. package/mesh/table/standardTable/thColumn.js +66 -0
  38. package/mesh/table/standardTable.d.ts +6 -0
  39. package/mesh/table/standardTable.js +91 -16
  40. package/mesh/util/net.js +2 -2
  41. package/package.json +4 -4
  42. package/style.css +41 -1
@@ -29,7 +29,6 @@ const ApplicantTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
29
29
 
30
30
  function handleAction(type, pkValue, record, text) {
31
31
  if ("View" === type) {
32
- console.info(ref);
33
32
  ref.current.flush();
34
33
  router.push("/bpm/form?insId=".concat(record['bpm_ins_id']));
35
34
  }
package/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export {default as QueryAbleTable} from './mesh/table/queryAbleTable'
6
6
  export {default as EditCompareForm} from './mesh/form/editCompareForm'
7
7
  export {default as BpmList} from './bpm/list'
8
8
  export {default as BpmForm} from './bpm/form'
9
+ export {default as CollectEntry} from './mesh/pages/collectEntry'
package/index.js CHANGED
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "BpmList", {
15
15
  return _list.default;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "CollectEntry", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _collectEntry.default;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "EditCompareForm", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -68,4 +74,6 @@ var _form = _interopRequireDefault(require("./bpm/form"));
68
74
 
69
75
  var _list = _interopRequireDefault(require("./bpm/list"));
70
76
 
77
+ var _collectEntry = _interopRequireDefault(require("./mesh/pages/collectEntry"));
78
+
71
79
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -17,9 +17,9 @@ var _antd = require("antd");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
20
+ 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; }
21
21
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
+ 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; }
23
23
 
24
24
  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; }
25
25
 
@@ -15,9 +15,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ 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; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ 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; }
21
21
 
22
22
  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; }
23
23
 
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OptValidateUtil = exports.OptTypeList = exports.OptTypeDict = exports.OptType = exports.OptCombineUtil = void 0;
7
+
8
+ var _serverEnums = require("./serverEnums");
9
+
10
+ /**
11
+ * 表單、表格權限控制相關的數據和相關識別功能。
12
+ * 所有的權限識別配置都使用2進制占位的方式實現=>1、10、100、1000、10000。位真則具備該權限。
13
+ * 全局定義:查詢 Query=1,編輯 Update=10(2),新增=100(4),刪除=1000(8)。
14
+ */
15
+
16
+ /**
17
+ *
18
+ * @type {{Delete: number, Query: number, Update: number, Insert: number}}
19
+ */
20
+ const OptType = {
21
+ Query: 1,
22
+ Update: 2,
23
+ Insert: 4,
24
+ Delete: 8
25
+ };
26
+ /**
27
+ * 權限控制字典
28
+ * @type {{}}
29
+ */
30
+
31
+ exports.OptType = OptType;
32
+
33
+ const OptTypeDict = (() => {
34
+ const def = {};
35
+ def[OptType.Query] = {
36
+ label: '查詢',
37
+ value: 1,
38
+ tip: '數據可展示'
39
+ };
40
+ def[OptType.Update] = {
41
+ label: '編輯',
42
+ value: 2,
43
+ tip: '數據可編輯'
44
+ };
45
+ def[OptType.Insert] = {
46
+ label: '新增',
47
+ value: 4,
48
+ tip: '數據可新增'
49
+ };
50
+ def[OptType.Delete] = {
51
+ label: '刪除',
52
+ value: 8,
53
+ tip: '數據可刪除'
54
+ };
55
+ return def;
56
+ })();
57
+ /**
58
+ * 權限控制列表
59
+ * @type {*[]}
60
+ */
61
+
62
+
63
+ exports.OptTypeDict = OptTypeDict;
64
+ const OptTypeList = [OptTypeDict["1"], OptTypeDict["2"], OptTypeDict["4"], OptTypeDict["8"]];
65
+ /**
66
+ * 相關的檢驗方法
67
+ * @type {{isDelete: (function(*): boolean), isQuery: (function(*): boolean), isUpdate: (function(*): boolean), isInsert: (function(*): boolean)}}
68
+ */
69
+
70
+ exports.OptTypeList = OptTypeList;
71
+ const OptValidateUtil = {
72
+ isQuery: function isQuery(flag) {
73
+ return OptType.Query === (flag & OptType.Query);
74
+ },
75
+ isUpdate: function isUpdate(flag) {
76
+ return OptType.Update === (flag & OptType.Update);
77
+ },
78
+ isInsert: function isInsert(flag) {
79
+ return OptType.Insert === (flag & OptType.Insert);
80
+ },
81
+ isDelete: function isDelete(flag) {
82
+ return OptType.Delete === (flag & OptType.Delete);
83
+ }
84
+ };
85
+ /**
86
+ * 進行數據合并的工具方法
87
+ * @type {{combine: (function(*, *))}}
88
+ */
89
+
90
+ exports.OptValidateUtil = OptValidateUtil;
91
+ const OptCombineUtil = {
92
+ combine: function combine(origin, flag) {
93
+ return origin | flag;
94
+ }
95
+ };
96
+ exports.OptCombineUtil = OptCombineUtil;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UpdateState = exports.TableOrderTypeMapping = exports.ShowType = exports.RelationType = exports.QueryType = exports.OrderType = exports.OptionsState = exports.OptionsFlag = exports.OptionsDict = exports.EditTypeDict = exports.EditType = 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,67 +101,74 @@ const TableOrderTypeMapping = {
101
101
  ascend: 'ASC',
102
102
  descend: 'DESC'
103
103
  };
104
- /**
105
- * 顯示類型
106
- * @type {*[]}
107
- */
108
-
109
104
  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
- }];
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
+ };
131
132
  /**
132
- * 表單編輯狀態
133
+ * 顯示類型
133
134
  * @type {*[]}
134
135
  */
135
136
 
136
137
  exports.ShowType = ShowType;
137
- const EditType = [{
138
- value: 'NONE',
139
- label: '禁止',
140
- tip: '不允許進行修改和新增操作!'
141
- }, {
142
- value: 'EDIT',
143
- label: '编辑',
144
- tip: '數據存在時,可以進行編輯!'
145
- }];
146
- exports.EditType = EditType;
147
- const EditTypeDict = {
148
- NONE: 'NONE',
149
- EDIT: 'EDIT'
150
- };
138
+ const ShowTypeList = [ShowType.NONE, ShowType.HIDE, ShowType.LIST, ShowType.FORM, ShowType.ALL]; // /**
139
+ // * 表單編輯狀態
140
+ // * @deprecated
141
+ // * @type {*[]}
142
+ // */
143
+ // export const EditType = [
144
+ // {value: 'NONE', label: '仅只读', tip: '不允許進行修改和新增操作!'},
145
+ // {value: 'EDIT', label: '可更新', tip: '數據存在時,可以進行編輯及更新!'}
146
+ // ];
147
+ // /**
148
+ // * @deprecated
149
+ // * @type {{EDIT: string, NONE: string}}
150
+ // */
151
+ // export const EditTypeDict = {
152
+ // NONE: 'NONE',
153
+ // EDIT: 'EDIT'
154
+ // };
155
+
151
156
  /**
152
- * 表單操作能力
157
+ * 表單操作能力,
158
+ * ADD包含EDIT包含QUERY。
159
+ * DELETE为完全独立的配置。
153
160
  * @type {{"1": number, "3": number, "7": number, "15": number}}
154
161
  */
155
162
 
156
- exports.EditTypeDict = EditTypeDict;
163
+ exports.ShowTypeList = ShowTypeList;
157
164
  const OptionsFlag = {
158
165
  QUERY: 1,
159
- //查詢
166
+ //查詢 1
160
167
  EDIT: 3,
161
- //更新
168
+ //更新 11
162
169
  ADD: 7,
163
- //添加
164
- DEL: 15 //删除
170
+ //添加 111
171
+ DEL: 8 //删除 1000
165
172
 
166
173
  };
167
174
  exports.OptionsFlag = OptionsFlag;
@@ -180,7 +187,8 @@ exports.OptionsDict = OptionsDict;
180
187
  const OptionsState = {
181
188
  VIEW: 'VIEW',
182
189
  EDIT: 'EDIT',
183
- ADD: 'ADD'
190
+ ADD: 'ADD',
191
+ DEL: 'DEL'
184
192
  };
185
193
  /**
186
194
  * 外鍵關聯別名的一些特殊標記處理
@@ -265,4 +273,18 @@ const ColumnSecurityOptions = [{
265
273
  value: 'Virginia',
266
274
  label: '字母表替換(維吉尼娜密碼)'
267
275
  }];
268
- exports.ColumnSecurityOptions = ColumnSecurityOptions;
276
+ /**
277
+ *
278
+ * @type {{AddExistsUpdate: number, ModifyExistsUpdate: number, RemoveExistsDelete: number, AddNotExistsInsert: number, None: number, ModifyNotExistsInsert: number}}
279
+ */
280
+
281
+ exports.ColumnSecurityOptions = ColumnSecurityOptions;
282
+ const TableUpdateFlag = {
283
+ None: 0,
284
+ AddNotExistsInsert: 1,
285
+ AddExistsUpdate: 2,
286
+ ModifyNotExistsInsert: 4,
287
+ ModifyExistsUpdate: 8,
288
+ RemoveExistsDelete: 16
289
+ };
290
+ exports.TableUpdateFlag = TableUpdateFlag;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.removeDataList = void 0;
7
+ exports.removeRecords = removeRecords;
8
+
9
+ require("core-js/modules/web.dom.iterable.js");
10
+
11
+ var _request = require("../data/request");
12
+
13
+ var _antd = require("antd");
14
+
15
+ /**
16
+ * 根据输入的记录列表来删除数据
17
+ * @param host
18
+ * @param collect
19
+ * @param collectId
20
+ * @param records
21
+ * @param bpm
22
+ * @param handle {Function} (state, msg, sucPkList)=>{
23
+ * state = ‘ERROR|SUC|ANY_SUC}’
24
+ */
25
+ function removeRecords(_ref) {
26
+ let {
27
+ host,
28
+ collect,
29
+ collectId,
30
+ records,
31
+ bpm,
32
+ handle
33
+ } = _ref;
34
+ const {
35
+ fieldList,
36
+ tableList,
37
+ pkName
38
+ } = collect,
39
+ dataList = [],
40
+ tablePkNameDict = {}; //pkName=>table
41
+
42
+ for (let table of tableList) {
43
+ tablePkNameDict[table.pkName] = table.name;
44
+ }
45
+
46
+ for (let record of records) {
47
+ dataList.push(extractOneRowData(fieldList, tablePkNameDict, pkName, record));
48
+ }
49
+
50
+ removeDataList({
51
+ host,
52
+ collect,
53
+ collectId,
54
+ dataList,
55
+ bpm,
56
+ handle
57
+ });
58
+ }
59
+
60
+ function extractOneRowData(fieldList, tablePkNameDict, pkName, record) {
61
+ const pkValue = [],
62
+ data = [];
63
+ let pkData = null,
64
+ tablePkField = null,
65
+ value = null;
66
+
67
+ for (let field of fieldList) {
68
+ value = record[field.label];
69
+
70
+ if (field.name === pkName) {
71
+ pkData = value;
72
+ }
73
+
74
+ if (tablePkField = tablePkNameDict[field.name]) {
75
+ pkValue.push({
76
+ label: field.label,
77
+ table: tablePkField,
78
+ value: value
79
+ });
80
+ } else {
81
+ data.push({
82
+ label: field.label,
83
+ origin: value,
84
+ value
85
+ });
86
+ }
87
+ }
88
+
89
+ return {
90
+ pkData,
91
+ pkValue,
92
+ data
93
+ };
94
+ }
95
+ /**
96
+ * 删除数据
97
+ * @param host {String} 服务器地址
98
+ * @param collect {Object} 数据集结构
99
+ * @param collectId {Number} 数据集ID
100
+ * @param dataList {Array} 数据
101
+ * @example dataList:[{
102
+ * data:[{label:String, origin:Any, value:Any}],
103
+ * pkValue:[{label:String, table:String, value:Any}],
104
+ * pkData:Any
105
+ * }]
106
+ * @param bpm {Object}
107
+ * @param handle {Function} (state, msg, sucPkList)=>{
108
+ * state = ‘ERROR|SUC|ANY_SUC}’
109
+ * }
110
+ */
111
+
112
+
113
+ const removeDataList = _ref2 => {
114
+ let {
115
+ host,
116
+ collect,
117
+ collectId,
118
+ dataList,
119
+ bpm,
120
+ handle
121
+ } = _ref2;
122
+ const request = collectId ? _request.deleteWithId : _request.deleteWithClassDes;
123
+ request({
124
+ host,
125
+ collect,
126
+ collectId,
127
+ dataList,
128
+ bpm
129
+ }).then(res => {
130
+ if (res && res.code === 1) {
131
+ _antd.message.success('数据删除成功!');
132
+
133
+ handle('SUC', null, res.pkDatas);
134
+ } else {
135
+ _antd.notification.error({
136
+ message: res && res.msg || '網絡故障,請稍後再試!'
137
+ });
138
+
139
+ handle('ERROR', res.msg | '網絡故障,請稍後再試!');
140
+ }
141
+ });
142
+ };
143
+
144
+ exports.removeDataList = removeDataList;
@@ -11,9 +11,9 @@ require("core-js/modules/es6.regexp.search.js");
11
11
 
12
12
  require("core-js/modules/web.dom.iterable.js");
13
13
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
+ 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; }
15
15
 
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
+ 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; }
17
17
 
18
18
  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; }
19
19
 
@@ -69,9 +69,15 @@ class ReduxSearch {
69
69
  this.scribe();
70
70
  }
71
71
 
72
- scribe() {
73
- console.info('Scribe:', this.search, this.condition);
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
+ }
74
79
 
80
+ scribe() {
75
81
  for (let consumer of this.listener) {
76
82
  consumer(this.search, this.condition);
77
83
  }
@@ -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
+ }