linkmore-design 1.0.58 → 1.0.62

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 (72) hide show
  1. package/dist/CardTable/fns/index.d.ts +1 -0
  2. package/dist/Form/container.d.ts +8 -0
  3. package/dist/Form/demos/error-tip.d.ts +2 -0
  4. package/dist/Form/demos/responsive.d.ts +2 -0
  5. package/dist/Form/index.d.ts +10 -2
  6. package/dist/LmEditTable/demos/sinleEdit.d.ts +2 -0
  7. package/dist/LmFilter/customFilter/index.d.ts +3 -1
  8. package/dist/LmFilter/filterFns/index.d.ts +11 -1
  9. package/dist/LmFilter/localization.d.ts +8 -2
  10. package/dist/index.umd.js +199 -45
  11. package/dist/index.umd.min.js +6 -6
  12. package/es/CardTable/body/TableBodyCell.js +10 -5
  13. package/es/CardTable/fns/index.js +29 -2
  14. package/es/CardTable/table/TableRoot.js +46 -13
  15. package/es/Dropdown/index.js +2 -2
  16. package/es/Dropdown/style/index.css +19 -1
  17. package/es/Form/container.d.ts +8 -0
  18. package/es/Form/container.js +97 -0
  19. package/es/Form/index.d.ts +10 -2
  20. package/es/Form/index.js +30 -2
  21. package/es/Form/style/index.css +121 -1
  22. package/es/IconFont/index.js +1 -1
  23. package/es/LmEditTable/EditTable.js +47 -17
  24. package/es/LmFilter/LmFilter.js +22 -4
  25. package/es/LmFilter/baseFilter/fuzzySearch.js +6 -1
  26. package/es/LmFilter/baseFilter/index.js +3 -4
  27. package/es/LmFilter/complexFilter/drawer.js +27 -20
  28. package/es/LmFilter/components/CascaderFilter.js +17 -4
  29. package/es/LmFilter/components/DateFilter.js +3 -7
  30. package/es/LmFilter/components/DropdownFIlter.js +12 -4
  31. package/es/LmFilter/components/index.js +1 -1
  32. package/es/LmFilter/customFilter/index.js +3 -2
  33. package/es/LmFilter/filterFns/index.js +186 -33
  34. package/es/LmFilter/localization.d.ts +8 -2
  35. package/es/LmFilter/localization.js +20 -2
  36. package/es/LmFilter/style/style.css +1 -3
  37. package/es/LmFilter/wrapper/Filter.js +10 -3
  38. package/es/LmFilter/wrapper/FilterContainer.js +0 -4
  39. package/es/LmFilter/wrapper/FilterRoot.js +51 -34
  40. package/es/LmTable/Table.js +9 -3
  41. package/es/LmTable/style/index.css +5 -0
  42. package/lib/CardTable/body/TableBodyCell.js +10 -5
  43. package/lib/CardTable/fns/index.js +29 -2
  44. package/lib/CardTable/table/TableRoot.js +46 -13
  45. package/lib/Dropdown/index.js +2 -2
  46. package/lib/Dropdown/style/index.css +19 -1
  47. package/lib/Form/container.d.ts +8 -0
  48. package/lib/Form/container.js +112 -0
  49. package/lib/Form/index.d.ts +10 -2
  50. package/lib/Form/index.js +30 -2
  51. package/lib/Form/style/index.css +121 -1
  52. package/lib/IconFont/index.js +1 -1
  53. package/lib/LmEditTable/EditTable.js +47 -17
  54. package/lib/LmFilter/LmFilter.js +22 -4
  55. package/lib/LmFilter/baseFilter/fuzzySearch.js +6 -1
  56. package/lib/LmFilter/baseFilter/index.js +3 -4
  57. package/lib/LmFilter/complexFilter/drawer.js +27 -20
  58. package/lib/LmFilter/components/CascaderFilter.js +17 -4
  59. package/lib/LmFilter/components/DateFilter.js +3 -7
  60. package/lib/LmFilter/components/DropdownFIlter.js +12 -4
  61. package/lib/LmFilter/components/index.js +1 -1
  62. package/lib/LmFilter/customFilter/index.js +3 -2
  63. package/lib/LmFilter/filterFns/index.js +186 -33
  64. package/lib/LmFilter/localization.d.ts +8 -2
  65. package/lib/LmFilter/localization.js +20 -2
  66. package/lib/LmFilter/style/style.css +1 -3
  67. package/lib/LmFilter/wrapper/Filter.js +10 -3
  68. package/lib/LmFilter/wrapper/FilterContainer.js +0 -4
  69. package/lib/LmFilter/wrapper/FilterRoot.js +51 -34
  70. package/lib/LmTable/Table.js +9 -3
  71. package/lib/LmTable/style/index.css +5 -0
  72. package/package.json +3 -3
@@ -9,7 +9,7 @@ exports.default = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
11
 
12
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
12
+ var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
13
 
14
14
  var _utils = require("../utils");
15
15
 
@@ -18,54 +18,207 @@ var CoreOptions = function CoreOptions(_ref) {
18
18
  var state = _ref.state,
19
19
  dispatch = _ref.dispatch,
20
20
  props = _ref.props;
21
- var onChange = props.onChange; // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
21
+ var onChange = props.onChange,
22
+ dataSource = props.dataSource,
23
+ searchKey = props.searchKey; // 触发查询 type basic基础筛选 | complex高级筛选
24
+
25
+ var onQuery = function onQuery(_ref2) {
26
+ var basicFilter = _ref2.basicFilter,
27
+ complexFilter = _ref2.complexFilter,
28
+ basicQuery = _ref2.basicQuery,
29
+ type = _ref2.type;
30
+ console.log('type', type);
31
+
32
+ if (type === 'basic') {
33
+ var _Object$keys;
34
+
35
+ dispatch({
36
+ type: 'changeBasicFilter',
37
+ basicFilter: basicFilter
38
+ });
39
+ dispatch({
40
+ type: 'changeBasicQuery',
41
+ basicQuery: basicQuery
42
+ });
43
+ dispatch({
44
+ type: 'changeComplexFilter',
45
+ complexFilter: {}
46
+ }); // 基础筛选清空高级筛选
47
+ // 抛出给外部查询
48
+
49
+ var filterQuery = {
50
+ filters: [{
51
+ conditions: (_Object$keys = Object.keys(basicQuery)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(function (k) {
52
+ return basicQuery[k];
53
+ })
54
+ }]
55
+ };
56
+ onChange === null || onChange === void 0 ? void 0 : onChange({
57
+ basicFilter: basicFilter,
58
+ filterQuery: filterQuery,
59
+ type: 'basic'
60
+ });
61
+ }
22
62
 
23
- var setFilterValue = function setFilterValue(item, field) {
24
- var _Object$entries;
63
+ if (type === 'complex') {
64
+ var _Object$keys2, _Object$keys3;
65
+
66
+ var _basicQuery = (_Object$keys2 = Object.keys(complexFilter)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.reduce(function (pre, cur) {
67
+ var item = dataSource.find(function (v) {
68
+ return cur === v.field;
69
+ });
70
+ var itemValue = complexFilter[cur].value;
71
+
72
+ if ((0, _utils.getIsHas)(itemValue) && !!item) {
73
+ pre[cur] = {
74
+ fieldName: cur,
75
+ fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
76
+ value: Array.isArray(itemValue) ? itemValue : [itemValue],
77
+ operator: complexFilter[cur].mode === 'and' ? 'equal' : 'contains'
78
+ };
79
+ }
80
+
81
+ return pre;
82
+ }, {});
83
+
84
+ dispatch({
85
+ type: 'changeBasicFilter',
86
+ basicFilter: {}
87
+ });
88
+ dispatch({
89
+ type: 'changeComplexFilter',
90
+ complexFilter: complexFilter
91
+ });
92
+ dispatch({
93
+ type: 'changeComplexDrawer',
94
+ complexDrawer: {
95
+ data: {},
96
+ visible: false
97
+ }
98
+ });
99
+ dispatch({
100
+ type: 'changeBasicQuery',
101
+ basicQuery: _basicQuery
102
+ });
103
+ var _filterQuery = {
104
+ filters: [{
105
+ conditions: (_Object$keys3 = Object.keys(_basicQuery)) === null || _Object$keys3 === void 0 ? void 0 : _Object$keys3.map(function (k) {
106
+ return _basicQuery[k];
107
+ })
108
+ }]
109
+ };
110
+ onChange === null || onChange === void 0 ? void 0 : onChange({
111
+ complexFilter: complexFilter,
112
+ filterQuery: _filterQuery,
113
+ type: type
114
+ });
115
+ }
116
+ }; // 根据字段查找过滤的数据, 不存在时返回默认值
25
117
 
26
- var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
27
118
 
28
- if (!(0, _utils.getIsHas)(item)) {
29
- delete basicFilter[field];
30
- }
119
+ var getFilterValue = function getFilterValue(_ref3) {
120
+ var field = _ref3.field,
121
+ type = _ref3.type;
122
+ var defaultValue = (0, _utils.getValueForType)(type);
123
+ return state.basicFilter[field] || defaultValue;
124
+ }; // 设置筛选的值 itemValue => String || Array => ['', '', ...]
125
+
126
+
127
+ var setFilterValue = function setFilterValue(itemValue, item) {
128
+ var field = item.field;
31
129
 
32
- ;
130
+ if (field) {
131
+ // 基础查询数据(受控数据)
132
+ var basicFilter = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, itemValue)); // 外部查询数据结构
133
+
134
+ var basicQuery = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicQuery), {}, (0, _defineProperty2.default)({}, field, {
135
+ fieldName: field,
136
+ fieldType: item.valueType || 'string',
137
+ value: Array.isArray(itemValue) ? itemValue : [itemValue],
138
+ operator: item.operator || 'equal'
139
+ }));
140
+
141
+ if (!(0, _utils.getIsHas)(itemValue)) {
142
+ delete basicFilter[field];
143
+ }
144
+
145
+ ; // 触发外部事件
146
+
147
+ onQuery === null || onQuery === void 0 ? void 0 : onQuery({
148
+ basicFilter: basicFilter,
149
+ basicQuery: basicQuery,
150
+ type: 'basic'
151
+ });
152
+ }
153
+ }; // 读取缓存
154
+
155
+
156
+ var setLocalization = function setLocalization() {
157
+ var _Object$keys4;
158
+
159
+ var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
160
+ var globalQuery = localization.globalQuery,
161
+ basicFilter = localization.basicFilter;
162
+ var basicQuery = (_Object$keys4 = Object.keys(basicFilter)) === null || _Object$keys4 === void 0 ? void 0 : _Object$keys4.reduce(function (pre, cur) {
163
+ var item = dataSource.find(function (v) {
164
+ if (cur === v.field) {
165
+ return v.show || typeof v.show !== 'boolean';
166
+ }
167
+
168
+ return false;
169
+ });
170
+
171
+ if (cur === searchKey) {
172
+ item = {
173
+ field: searchKey,
174
+ operator: 'contains',
175
+ fieldType: 'string'
176
+ };
177
+ }
178
+
179
+ if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
180
+ var _item, _item2;
181
+
182
+ pre[cur] = {
183
+ fieldName: cur,
184
+ fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
185
+ value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
186
+ operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
187
+ };
188
+ }
189
+
190
+ return pre;
191
+ }, {});
33
192
  dispatch({
34
193
  type: 'changeBasicFilter',
35
194
  basicFilter: basicFilter
36
195
  });
37
196
  dispatch({
38
- type: 'changeComplexFilter',
39
- complexFilter: {}
40
- }); // 基础筛选清空高级筛选
41
- // 抛出给外部存储
42
-
43
- var filterQuery = (_Object$entries = Object.entries(basicFilter)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (v) {
44
- return {
45
- fieldName: v[0],
46
- value: v[1],
47
- operator: 0
48
- };
49
- }); // 触发外部事件
50
-
51
- onChange === null || onChange === void 0 ? void 0 : onChange({
52
- basicFilter: basicFilter,
53
- filterQuery: filterQuery,
54
- type: 'basic'
197
+ type: 'changeBasicQuery',
198
+ basicQuery: basicQuery
55
199
  });
56
- }; // 根据字段查找过滤的数据, 不存在时返回默认值
200
+ }; // 单个设置过滤字段值, 会触发onChange事件, 多个字段时使用setLocalization
57
201
 
58
202
 
59
- var getFilterValue = function getFilterValue(_ref2) {
60
- var field = _ref2.field,
61
- type = _ref2.type;
62
- var defaultValue = (0, _utils.getValueForType)(type);
63
- return state.basicFilter[field] || defaultValue;
203
+ var setFilterFieldValue = function setFilterFieldValue(field, value) {
204
+ var item = dataSource.find(function (v) {
205
+ return v.fidld === field;
206
+ }) || {};
207
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(value, item);
64
208
  };
65
209
 
66
210
  return {
211
+ onQuery: onQuery,
212
+ getState: function getState() {
213
+ return state;
214
+ },
215
+ getBasicFilter: function getBasicFilter() {
216
+ return state.basicFilter;
217
+ },
218
+ getFilterValue: getFilterValue,
67
219
  setFilterValue: setFilterValue,
68
- getFilterValue: getFilterValue
220
+ setFilterFieldValue: setFilterFieldValue,
221
+ setLocalization: setLocalization
69
222
  };
70
223
  };
71
224
 
@@ -1,8 +1,14 @@
1
1
  export declare const DefaultLocalization: {
2
+ customFilter: {};
3
+ basicFilter: {};
2
4
  globalQuery: {
3
- filter: any[];
5
+ filter: {
6
+ conditions: any[];
7
+ }[];
4
8
  };
5
9
  filterQuery: {
6
- filter: any[];
10
+ filter: {
11
+ conditions: any[];
12
+ }[];
7
13
  };
8
14
  };
@@ -3,10 +3,28 @@
3
3
  // operator: number,
4
4
  // }
5
5
  export var DefaultLocalization = {
6
+ customFilter: {},
7
+ basicFilter: {},
8
+ // 一级筛选
6
9
  globalQuery: {
7
- filter: []
10
+ filter: [{
11
+ // relation: 'and',
12
+ conditions: []
13
+ }]
8
14
  },
15
+ // 二级筛选
9
16
  filterQuery: {
10
- filter: []
17
+ filter: [{
18
+ // relation: 'and',
19
+ conditions: [// {
20
+ // relation: 'antd', // 查询间的关系
21
+ // fieldName: '', // 查询字段
22
+ // fieldType: 'string', // 字段类型
23
+ // // 查询值的关系 "integer", "double", "string", "date", "datetime", and "boolean".
24
+ // operator: '',
25
+ // value: [], // 值的集合
26
+ // }
27
+ ]
28
+ }]
11
29
  }
12
30
  };
@@ -1,6 +1,4 @@
1
- .lm_filter_wrapper .lm_filter_container,
2
- .lm_filter_wrapper .lm_filter,
3
- .lm_filter_wrapper .lm_filter_basic {
1
+ .lm_filter_wrapper .lm_filter_container .lm_filter {
4
2
  display: flex;
5
3
  flex-wrap: wrap;
6
4
  align-items: center;
@@ -15,16 +15,23 @@ var _customFilter = _interopRequireDefault(require("../customFilter"));
15
15
 
16
16
  var _complexFilter = _interopRequireDefault(require("../complexFilter"));
17
17
 
18
+ var _clearFilter = _interopRequireDefault(require("../clearFilter"));
19
+
18
20
  // 筛选组合
19
21
  var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
20
22
  var instance = _ref.instance;
23
+ var enableBaisc = instance.enableBaisc,
24
+ enableComplex = instance.enableComplex,
25
+ enableCustom = instance.enableCustom;
21
26
  return /*#__PURE__*/_react.default.createElement("div", {
22
27
  className: "lm_filter"
23
- }, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
28
+ }, enableCustom && /*#__PURE__*/_react.default.createElement(_customFilter.default, {
29
+ instance: instance
30
+ }), enableBaisc && /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
24
31
  instance: instance
25
- }), /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
32
+ }), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
26
33
  instance: instance
27
- }), /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
34
+ }), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
28
35
  instance: instance
29
36
  }));
30
37
  });
@@ -11,8 +11,6 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _Filter = _interopRequireDefault(require("./Filter"));
13
13
 
14
- var _clearFilter = _interopRequireDefault(require("../clearFilter"));
15
-
16
14
  // 过滤组件主体区域
17
15
  var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
18
16
  var instance = _ref.instance;
@@ -20,8 +18,6 @@ var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
20
18
  className: "lm_filter_container"
21
19
  }, /*#__PURE__*/_react.default.createElement(_Filter.default, {
22
20
  instance: instance
23
- }), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
24
- instance: instance
25
21
  }));
26
22
  });
27
23
 
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
13
-
14
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
13
 
16
14
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
@@ -21,9 +19,12 @@ var _FilterWrapper = _interopRequireDefault(require("./FilterWrapper"));
21
19
 
22
20
  var _filterFns = _interopRequireDefault(require("../filterFns"));
23
21
 
22
+ var _utils = require("../utils");
23
+
24
24
  // 根文件 => 参数聚合
25
25
  var reducer = function reducer(state, action) {
26
26
  var basicFilter = action.basicFilter,
27
+ basicQuery = action.basicQuery,
27
28
  resize = action.resize,
28
29
  rows = action.rows,
29
30
  complexDrawer = action.complexDrawer,
@@ -37,6 +38,12 @@ var reducer = function reducer(state, action) {
37
38
  basicFilter: basicFilter
38
39
  });
39
40
 
41
+ case 'changeBasicQuery':
42
+ // 基础筛选数据改变
43
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
44
+ basicQuery: basicQuery
45
+ });
46
+
40
47
  case 'changeRows':
41
48
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
42
49
  rows: rows
@@ -66,7 +73,9 @@ var reducer = function reducer(state, action) {
66
73
  case 'reset':
67
74
  // 一键清空
68
75
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
69
- basicFilter: {}
76
+ basicFilter: {},
77
+ basicQuery: {},
78
+ complexFilter: {}
70
79
  });
71
80
 
72
81
  default:
@@ -76,17 +85,46 @@ var reducer = function reducer(state, action) {
76
85
 
77
86
 
78
87
  var getInitialState = function getInitialState(_ref) {
79
- var _filterQuery$filter;
88
+ var _Object$keys;
80
89
 
81
- var localization = _ref.localization;
90
+ var localization = _ref.localization,
91
+ dataSource = _ref.dataSource,
92
+ searchKey = _ref.searchKey;
82
93
  var globalQuery = localization.globalQuery,
83
- filterQuery = localization.filterQuery;
84
- var basicFilter = {};
85
- filterQuery === null || filterQuery === void 0 ? void 0 : (_filterQuery$filter = filterQuery.filter) === null || _filterQuery$filter === void 0 ? void 0 : _filterQuery$filter.forEach(function (item) {
86
- basicFilter[item.fieldName] = item.value;
87
- });
94
+ basicFilter = localization.basicFilter;
95
+ var basicQuery = (_Object$keys = Object.keys(basicFilter)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.reduce(function (pre, cur) {
96
+ var item = dataSource.find(function (v) {
97
+ if (cur === v.field) {
98
+ return v.show || typeof v.show !== 'boolean';
99
+ }
100
+
101
+ return false;
102
+ });
103
+
104
+ if (cur === searchKey) {
105
+ item = {
106
+ field: searchKey,
107
+ operator: 'contains',
108
+ fieldType: 'string'
109
+ };
110
+ }
111
+
112
+ if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
113
+ var _item, _item2;
114
+
115
+ pre[cur] = {
116
+ fieldName: cur,
117
+ fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
118
+ value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
119
+ operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
120
+ };
121
+ }
122
+
123
+ return pre;
124
+ }, {});
88
125
  return {
89
126
  basicFilter: basicFilter,
127
+ basicQuery: basicQuery,
90
128
  complexFilter: {},
91
129
  complexDrawer: {
92
130
  visible: false,
@@ -107,29 +145,8 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
107
145
  var _useReducer = (0, _react.useReducer)(reducer, initialState),
108
146
  _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
109
147
  state = _useReducer2[0],
110
- dispatch = _useReducer2[1]; // 初始化配置
111
-
112
-
113
- var configProps = (0, _react.useMemo)(function () {
114
- var resetProps = (0, _extends2.default)({}, props);
115
- return (0, _objectSpread2.default)({
116
- dataSource: [],
117
- // 数据源
118
- enableSearch: true,
119
- // 是否启用模糊查询
120
- enableBaisc: true,
121
- // 是否启用基础筛选
122
- enableComplex: false,
123
- // 是否启用高级筛选
124
- enableCustom: false,
125
- // 是否启用自定义筛选
126
- size: 'middle',
127
- // 尺寸
128
- searchKey: 'search',
129
- // 搜索的key值
130
- placeholder: '请输入'
131
- }, resetProps);
132
- }, [props]); // 事件集合
148
+ dispatch = _useReducer2[1]; // 事件集合
149
+
133
150
 
134
151
  var eventProps = (0, _react.useMemo)(function () {
135
152
  return (0, _filterFns.default)({
@@ -139,7 +156,7 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
139
156
  });
140
157
  }, [state, dispatch, props]); // 组件示例
141
158
 
142
- var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, configProps), eventProps), {}, {
159
+ var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), eventProps), {}, {
143
160
  state: state,
144
161
  dispatch: dispatch
145
162
  }); // 向外暴露出的方法
@@ -428,8 +428,12 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
428
428
  var customizeRenderEmpty = function customizeRenderEmpty() {
429
429
  return /*#__PURE__*/_react.default.createElement("div", {
430
430
  className: "lm_table_empty"
431
- }, /*#__PURE__*/_react.default.createElement("img", {
432
- src: _empty.default
431
+ }, /*#__PURE__*/_react.default.createElement("div", {
432
+ className: "empty_img",
433
+ style: {
434
+ width: '130px',
435
+ height: '80px'
436
+ }
433
437
  }), /*#__PURE__*/_react.default.createElement("span", null, "\u6682\u65E0\u6570\u636E"));
434
438
  };
435
439
 
@@ -513,7 +517,9 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
513
517
  width: '100%'
514
518
  }
515
519
  }, /*#__PURE__*/_react.default.createElement(_configProvider.default, {
516
- renderEmpty: emptyProps ? function () {
520
+ renderEmpty: loading ? function () {
521
+ return null;
522
+ } : emptyProps ? function () {
517
523
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Empty, emptyProps, (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.footer) || null);
518
524
  } : customizeRenderEmpty
519
525
  }, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
@@ -1098,6 +1098,11 @@ html {
1098
1098
  height: 80px;
1099
1099
  margin-bottom: 8px;
1100
1100
  }
1101
+ #lm_protable_warp .lm_protable .lm_table_empty .empty_img {
1102
+ background-size: cover;
1103
+ margin-bottom: 8px;
1104
+ background-image: url('data:image/png;base64,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');
1105
+ }
1101
1106
  #lm_protable_warp .lm_protable .lm_table_empty > span {
1102
1107
  color: var(--font-color);
1103
1108
  }
@@ -26,11 +26,11 @@ var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) {
26
26
  cell = _ref.cell,
27
27
  table = _ref.table;
28
28
  var state = table.state,
29
- cellConfig = table.cellConfig,
30
29
  type = table.type,
31
30
  components = table.components,
32
31
  cellKey = table.cellKey;
33
- var checkKeys = state.checkboxConfig.checkKeys; // 渲染的单元格
32
+ var checkKeys = state.checkboxConfig.checkKeys,
33
+ radioConfig = state.radioConfig; // 渲染的单元格
34
34
 
35
35
  var RenderCell = (0, _react.useMemo)(function () {
36
36
  var types = {
@@ -43,16 +43,21 @@ var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) {
43
43
  return components.Cell || types[type] || _PictureTextColumn.default;
44
44
  }, [components.Cell, type]); // 是否选中
45
45
 
46
- var isChecked = (0, _react.useMemo)(function () {
46
+ var isCheckboxChecked = (0, _react.useMemo)(function () {
47
47
  return checkKeys.some(function (v) {
48
48
  return v === cell[cellKey];
49
49
  });
50
50
  }, [checkKeys, cellKey]);
51
+ var isRadioChecked = (0, _react.useMemo)(function () {
52
+ return radioConfig.checkKey === cell[cellKey];
53
+ }, [cellKey, radioConfig.checkKey]);
51
54
  var stateConfig = {
52
- checked: isChecked
55
+ checked: isCheckboxChecked
53
56
  };
54
57
  return /*#__PURE__*/_react.default.createElement("div", {
55
- className: (0, _classnames.default)('lm_card_table_body_cell', isChecked && 'cell_checked')
58
+ className: (0, _classnames.default)('lm_card_table_body_cell', {
59
+ 'cell_checked': isCheckboxChecked || isRadioChecked
60
+ })
56
61
  }, /*#__PURE__*/_react.default.createElement(RenderCell, (0, _extends2.default)({
57
62
  index: index,
58
63
  cell: cell,
@@ -17,7 +17,8 @@ var CoreOptions = function CoreOptions(_ref) {
17
17
  var checkboxConfig = state.checkboxConfig;
18
18
  var dataSource = props.dataSource,
19
19
  cellKey = props.cellKey,
20
- checkboxChange = props.checkboxChange;
20
+ checkboxChange = props.checkboxChange,
21
+ selectionConfig = props.selectionConfig;
21
22
  var checkKeys = checkboxConfig.checkKeys,
22
23
  checkValues = checkboxConfig.checkValues,
23
24
  checkMethod = checkboxConfig.checkMethod; // 设置选中的值: 第一个参数是数据的键,第二个参数是选中与否, 第三个参数控制是否重置
@@ -63,6 +64,13 @@ var CoreOptions = function CoreOptions(_ref) {
63
64
  checkValues: nValues
64
65
  }
65
66
  });
67
+ dispatch({
68
+ type: 'changeRadioConfig',
69
+ radioConfig: {
70
+ checkKey: '',
71
+ checkValue: ''
72
+ }
73
+ });
66
74
  }; // 切换选中状态: 单个切换/批量切换
67
75
 
68
76
 
@@ -126,9 +134,28 @@ var CoreOptions = function CoreOptions(_ref) {
126
134
  setCheckboxKeys(nKeys, isCheck, reset);
127
135
  };
128
136
 
137
+ var cellClick = function cellClick(cell, index) {
138
+ var _props$cellClick;
139
+
140
+ if (!checkKeys.length) {
141
+ // 校验是否存在单选
142
+ var isRadio = Array.isArray(selectionConfig.type) ? selectionConfig.type.includes('radio') : selectionConfig.type === 'radio';
143
+ isRadio && dispatch({
144
+ type: 'changeRadioConfig',
145
+ radioConfig: {
146
+ checkKey: cell[cellKey],
147
+ checkValue: cell
148
+ }
149
+ });
150
+ }
151
+
152
+ (_props$cellClick = props.cellClick) === null || _props$cellClick === void 0 ? void 0 : _props$cellClick.call(props, cell, index);
153
+ };
154
+
129
155
  return {
130
156
  setCheckboxKeys: setCheckboxKeys,
131
- toggleCheckboxKey: toggleCheckboxKey
157
+ toggleCheckboxKey: toggleCheckboxKey,
158
+ cellClick: cellClick
132
159
  };
133
160
  };
134
161