linkmore-design 1.0.75 → 1.0.78

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 (49) hide show
  1. package/dist/LmFilter/LmFilter.d.ts +1 -0
  2. package/dist/LmFilter/demos/custom.d.ts +2 -0
  3. package/dist/LmFilter/filterFns/index.d.ts +10 -1
  4. package/dist/LmTable/components/inputDataEdit.d.ts +8 -0
  5. package/dist/LmTable/components/sheelTableCell.d.ts +11 -0
  6. package/dist/LmTable/components/tableChartsModal.d.ts +22 -0
  7. package/dist/LmTable/demos/excel.d.ts +2 -0
  8. package/dist/index.umd.js +75100 -3362
  9. package/dist/index.umd.min.js +6 -6
  10. package/es/CardTable/table/TableContainer.js +1 -2
  11. package/es/CkFilter/README.md.old +137 -0
  12. package/es/LmFilter/LmFilter.js +13 -3
  13. package/es/LmFilter/baseFilter/fuzzySearch.js +23 -13
  14. package/es/LmFilter/clearFilter/index.js +1 -3
  15. package/es/LmFilter/complexFilter/valueDrawer.js +1 -1
  16. package/es/LmFilter/customFilter/index.js +19 -7
  17. package/es/LmFilter/filterFns/index.js +266 -92
  18. package/es/LmFilter/wrapper/Filter.js +1 -1
  19. package/es/LmFilter/wrapper/FilterRoot.js +24 -2
  20. package/es/LmTable/Table.js +487 -43
  21. package/es/LmTable/components/inputDataEdit.d.ts +8 -0
  22. package/es/LmTable/components/inputDataEdit.js +35 -0
  23. package/es/LmTable/components/sheelTableCell.d.ts +11 -0
  24. package/es/LmTable/components/sheelTableCell.js +140 -0
  25. package/es/LmTable/components/tableChartsModal.d.ts +22 -0
  26. package/es/LmTable/components/tableChartsModal.js +114 -0
  27. package/es/LmTable/style/index.css +53 -0
  28. package/es/LmUpload/fns/index.js +8 -7
  29. package/lib/CardTable/table/TableContainer.js +1 -2
  30. package/lib/CkFilter/README.md.old +137 -0
  31. package/lib/LmFilter/LmFilter.js +13 -3
  32. package/lib/LmFilter/baseFilter/fuzzySearch.js +23 -13
  33. package/lib/LmFilter/clearFilter/index.js +1 -3
  34. package/lib/LmFilter/complexFilter/valueDrawer.js +1 -1
  35. package/lib/LmFilter/customFilter/index.js +19 -7
  36. package/lib/LmFilter/filterFns/index.js +266 -92
  37. package/lib/LmFilter/wrapper/Filter.js +1 -1
  38. package/lib/LmFilter/wrapper/FilterRoot.js +24 -2
  39. package/lib/LmTable/Table.js +487 -43
  40. package/lib/LmTable/components/inputDataEdit.d.ts +8 -0
  41. package/lib/LmTable/components/inputDataEdit.js +46 -0
  42. package/lib/LmTable/components/sheelTableCell.d.ts +11 -0
  43. package/lib/LmTable/components/sheelTableCell.js +155 -0
  44. package/lib/LmTable/components/tableChartsModal.d.ts +22 -0
  45. package/lib/LmTable/components/tableChartsModal.js +127 -0
  46. package/lib/LmTable/style/index.css +53 -0
  47. package/lib/LmUpload/fns/index.js +8 -7
  48. package/package.json +5 -4
  49. package/typings/index.d.ts +0 -19
@@ -67,12 +67,11 @@ var LmCardTableContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
67
67
  type: 'changeRows',
68
68
  rows: rows
69
69
  });
70
- }, [getRows]); // 获取表格高度
70
+ }, [getRows, cellConfig.width]); // 获取表格高度
71
71
 
72
72
  useIsomorphicLayoutEffect(function () {
73
73
  // 频繁变动可考虑增加防抖
74
74
  var resizeObserver = new ResizeObserver(function (entries) {
75
- // console.log("我的resize变化啦");
76
75
  var borderbox = entries[0].borderBoxSize[0];
77
76
  getResize(borderbox);
78
77
  });
@@ -0,0 +1,137 @@
1
+ ---
2
+ nav:
3
+ title: 组件
4
+ path: /components
5
+ group:
6
+ title: 已废弃
7
+ path: /remove
8
+
9
+ ---
10
+
11
+ ## CkFilter 筛选组件(废弃)
12
+
13
+ > 未集成漏斗模型筛选,不再维护,使用请转移至[LmFilter](/components/basic/lm-filter)
14
+
15
+ ### 基本使用
16
+
17
+ <code src="./demos/basic.jsx" background="#fff" />
18
+
19
+ ### `Api`
20
+
21
+ | 参数 | 说明 | 类型 | 默认 |
22
+ | ------------- | --------------------- | ------- | ---------- |
23
+ | data | 筛选字段,部分数据, 用于基础筛选 | Array | [] |
24
+ | fillData | 同`data`全量数据, 用于高级筛选 | Array | [] |
25
+ | trigger | 触发查询方式 'init': 初始化后触发 | String | - |
26
+ | onChange | 筛选事件,接收筛选后的数据 | Fn | - |
27
+ | search | 是否显示模糊搜索框,默认显示(二级筛选) | Boolean | true |
28
+ | searchKey | 搜索返回的Key | String | 'search' |
29
+ | filter | 是否显示基础过滤, 默认显示(二级筛选) | Boolean | true |
30
+ | complex | 是否显示高级筛选(独立筛选) | Boolean | false |
31
+ | filterValues | 初始化筛选的条件 | Object | {} |
32
+ | levelGroup | 级别组/按钮组(一级筛选) | Boolean | false |
33
+ | levelGroupKey | 按钮组返回的Key | Strgin | 'levGroup' |
34
+ | custom | 自定义筛选(一级筛选) | Array | - |
35
+
36
+ #### `data/fullData`
37
+
38
+ | 参数 | 说明 | 类型 | 默认 |
39
+ | ----------- | --------------------------- | -------------------------------- | ----- |
40
+ | type | 类型 | input/select/checkbox/cascader…… | - |
41
+ | dateType | 日期类型,仅当 type='date'时有效 | 'date'/'rangePicker' | date |
42
+ | title | 文字显示 | '' | - |
43
+ | field | 字段关键词 | '' | - |
44
+ | mode | 查询关系(适用于高级筛选) | 'and'/'or' | 'and' |
45
+ | *api | (暂无)接口请求 | '' | - |
46
+ | *params | (暂无)入参,配合接口请求 | {} | - |
47
+ | data | 默认数据字段(非接口请求) | [] | - |
48
+ | value | 默认选中数据 | '' | - |
49
+ | more | 是否动态加载 | Boolean | false |
50
+ | fixed | 是否固定于页面(收为更多筛选内) | Boolean | false |
51
+ | expand | 额外拓展 | {} | {} |
52
+ | props | 透传至原生组件 (日期的类型、级联单复选...) | {} | {} |
53
+ | *content | (暂无)自定义下拉结构,e(value)事件接收一个值 | (e) => Dom | - |
54
+ | *renderItem | (暂无)自定义行结构(接收 label) | Dom | - |
55
+
56
+ `type`
57
+
58
+ | 参数 | 说明 | 类型 | 默认 |
59
+ | -------- | ---- | ------------ | --- |
60
+ | select | 单选 | String | '' |
61
+ | checkbox | 复选 | Array | [] |
62
+ | input | 输入 | String | '' |
63
+ | cascader | 级联选择 | Array | [] |
64
+ | data | 日期选择 | String/Array | '' |
65
+ | nested | 嵌套筛选 | Array | [] |
66
+
67
+ `dateType`
68
+
69
+ | 参数 | 说明 | 类型 | 默认 |
70
+ | ----------- | ---- | --- | --- |
71
+ | date | 年月日 | '' | - |
72
+ | rangePicker | 日期区间 | [] | - |
73
+ | | | | |
74
+
75
+ <!--
76
+ > `filterValues` `custom`
77
+
78
+ ```jsx
79
+ 基础筛选是键值对
80
+ const filterValues = {
81
+ category: 'cate1',
82
+ type: 'type1',
83
+ }
84
+
85
+ 高级筛选及自定义筛选是filterValues与基础筛选不同
86
+ filterValues: {[key]: { value: '', mode: 'or' } }
87
+ const customFilter = [
88
+ { label: '全部', value: 'all', filterValues: {} },
89
+ {
90
+ label: '我关注的',
91
+ value: 'v1',
92
+ filterValues: { state: { value: ['22k', '32k'], mode: 'and' }, t1: {} },
93
+ default: true, // 默认显示
94
+ },
95
+ { label: '自定义1', value: 'diy1', filterValues: { state: { value: '', mode: 'or' } } },
96
+ { label: '自定义2', value: 'diy2', filterValues: { t1: { value: '', mode: 'or' } } },
97
+ { label: '自定义3', value: 'diy3', filterValues: {} },
98
+ ]
99
+
100
+
101
+ <Filter
102
+ data={data}
103
+ filterValues={filterValues}
104
+ custom={customFilter}
105
+ levelGroup={group}
106
+ fullData={data}
107
+ complex
108
+ onChange={getChange}
109
+ placeholder="请输入编号"
110
+ searchKey="code"
111
+ />
112
+
113
+ ``` -->
114
+
115
+ | 参数 | 说明 | 类型 | 默认 |
116
+ | ------------ | ------ | ------------------------------------------------ | --- |
117
+ | id | key 字段 | '' | - |
118
+ | value | 值 | String | |
119
+ | label | 文字显示 | string | |
120
+ | default | 是否默认 | Boolean | - |
121
+ | filterValues | 过滤的数据 | { state: { value: ['22k','32k'], mode: 'and' } } | |
122
+
123
+ `custom.filterValue `
124
+
125
+ > @Object
126
+
127
+ | 参数 | 说明 | 类型 | 默认 |
128
+ | ----- | ----- | ------------ | --- |
129
+ | value | 选中的数据 | Array/String | - |
130
+ | mode | 查询关系 | String | - |
131
+ | | | | |
132
+
133
+ **Ref**
134
+
135
+ | 方法名 | 说明 | 类型 | 默认 |
136
+ | ---------- | --------------------------------------------------------- | --- | --- |
137
+ | setOptions | 初始化, 用于动态显示,会将`filterValue`参数带入, 设置`trigger="init"` 会触发查询 | fn | - |
@@ -21,10 +21,12 @@ var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
21
21
 
22
22
  var _localization = require("./localization");
23
23
 
24
- var _excluded = ["localization"];
24
+ var _excluded = ["searchConfig", "localization"];
25
25
 
26
26
  var LmFilter = function LmFilter(_ref, ref) {
27
- var _ref$localization = _ref.localization,
27
+ var _ref$searchConfig = _ref.searchConfig,
28
+ searchConfig = _ref$searchConfig === void 0 ? {} : _ref$searchConfig,
29
+ _ref$localization = _ref.localization,
28
30
  localization = _ref$localization === void 0 ? {} : _ref$localization,
29
31
  resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
30
32
  var defaultRef = (0, _react.useRef)(null);
@@ -45,9 +47,17 @@ var LmFilter = function LmFilter(_ref, ref) {
45
47
  // 尺寸
46
48
  searchKey: 'search',
47
49
  // 搜索的key值
50
+ searchConfig: (0, _objectSpread2.default)({
51
+ relation: 'or',
52
+ fieldType: 'string',
53
+ operator: 'contains'
54
+ }, searchConfig || {}),
55
+ // 模糊搜索配置
48
56
  placeholder: '请输入',
49
57
  // 搜索占位符
50
- localization: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _localization.DefaultLocalization), localization)
58
+ customRender: null,
59
+ // 自定义一级筛选Dom
60
+ localization: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _localization.DefaultLocalization), localization || {})
51
61
  };
52
62
  return /*#__PURE__*/_react.default.createElement(_FilterRoot.default, (0, _extends2.default)({
53
63
  ref: ref || defaultRef
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
4
 
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
12
14
  var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _InputSearchClose = _interopRequireDefault(require("../components/InputSearchClose"));
@@ -18,30 +20,38 @@ var FuzzySearch = function FuzzySearch(_ref) {
18
20
  var inputRef = (0, _react.useRef)(null);
19
21
  var state = instance.state,
20
22
  setFilterValue = instance.setFilterValue,
23
+ setSearchFilter = instance.setSearchFilter,
21
24
  size = instance.size,
22
25
  placeholder = instance.placeholder,
23
- searchKey = instance.searchKey; // 默认值
26
+ searchKey = instance.searchKey,
27
+ searchConfig = instance.searchConfig; // 默认值
24
28
 
25
29
  var defaultValue = (0, _react.useMemo)(function () {
26
- var _state$basicFilter;
30
+ var _state$basicFilter, _state$searchFilter;
27
31
 
28
- return ((_state$basicFilter = state.basicFilter) === null || _state$basicFilter === void 0 ? void 0 : _state$basicFilter[searchKey]) || '';
29
- }, [state.basicFilter]);
32
+ return ((_state$basicFilter = state.basicFilter) === null || _state$basicFilter === void 0 ? void 0 : _state$basicFilter[searchKey]) || ((_state$searchFilter = state.searchFilter) === null || _state$searchFilter === void 0 ? void 0 : _state$searchFilter[searchKey[0]]) || '';
33
+ }, [state.basicFilter, state.searchFilter, searchKey]);
30
34
 
31
35
  var onSearch = function onSearch(val) {
32
- var item = {
33
- field: searchKey,
34
- operator: 'contains',
35
- fieldType: 'string'
36
- };
37
- setFilterValue(val, item);
36
+ var isFuzzy = Array.isArray(searchKey);
37
+ var item = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, searchConfig), {}, {
38
+ field: searchKey
39
+ });
40
+
41
+ if (isFuzzy) {
42
+ setSearchFilter(val);
43
+ } else {
44
+ setFilterValue(val, item);
45
+ }
38
46
  };
39
47
 
40
48
  (0, _react.useEffect)(function () {
41
49
  if (!defaultValue) {
42
50
  inputRef.current.setValue('');
51
+ } else {
52
+ inputRef.current.setValue(defaultValue);
43
53
  }
44
- }, [state.basicFilter]);
54
+ }, [state.basicFilter, state.searchFilter]);
45
55
  return /*#__PURE__*/_react.default.createElement("div", {
46
56
  className: "lm_filter_search"
47
57
  }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
@@ -13,9 +13,7 @@ var _linkmoreDesign = require("linkmore-design");
13
13
 
14
14
  var LmFilterClear = /*#__PURE__*/_react.default.memo(function (_ref) {
15
15
  var instance = _ref.instance;
16
- var state = instance.state,
17
- dispatch = instance.dispatch,
18
- onClearChange = instance.onClearChange;
16
+ var onClearChange = instance.onClearChange;
19
17
 
20
18
  var handleClear = function handleClear() {
21
19
  onClearChange();
@@ -54,7 +54,7 @@ var ValueDrawer = function ValueDrawer(_ref) {
54
54
  form.resetFields();
55
55
  };
56
56
  /*
57
- * customModal.data.type === 'nested' 时,处理不同
57
+ * customModal.data.type === 'nested' 时,处理不同(未增加)
58
58
  *
59
59
  */
60
60
 
@@ -25,7 +25,7 @@ var _drawer = _interopRequireDefault(require("./drawer"));
25
25
 
26
26
  var _saveModal = _interopRequireDefault(require("./saveModal"));
27
27
 
28
- var LmFilterCustom = function LmFilterCustom(_ref) {
28
+ var CustomDiy = function CustomDiy(_ref) {
29
29
  var instance = _ref.instance;
30
30
  var state = instance.state,
31
31
  dispatch = instance.dispatch,
@@ -82,9 +82,7 @@ var LmFilterCustom = function LmFilterCustom(_ref) {
82
82
  visible: visible,
83
83
  setVisible: setVisible
84
84
  };
85
- return /*#__PURE__*/_react.default.createElement("div", {
86
- className: "lm_filter_custom"
87
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
85
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
88
86
  trigger: ['click'],
89
87
  visible: visible,
90
88
  placement: "bottomLeft",
@@ -111,14 +109,28 @@ var LmFilterCustom = function LmFilterCustom(_ref) {
111
109
  className: "lm_filter_custom_select_icon addon_after"
112
110
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
113
111
  type: "lmweb-down"
114
- })))), /*#__PURE__*/_react.default.createElement("div", {
115
- className: "lm_filter_custom_line"
116
- }), /*#__PURE__*/_react.default.createElement(_drawer.default, {
112
+ })))), /*#__PURE__*/_react.default.createElement(_drawer.default, {
117
113
  instance: instance
118
114
  }), /*#__PURE__*/_react.default.createElement(_saveModal.default, {
119
115
  instance: instance
120
116
  }));
121
117
  };
122
118
 
119
+ var LmFilterCustom = function LmFilterCustom(_ref2) {
120
+ var instance = _ref2.instance;
121
+ var customRender = instance.customRender,
122
+ enableCustom = instance.enableCustom;
123
+ if (!customRender && !enableCustom) return null;
124
+ return /*#__PURE__*/_react.default.createElement("div", {
125
+ className: "lm_filter_custom"
126
+ }, enableCustom && /*#__PURE__*/_react.default.createElement(CustomDiy, {
127
+ instance: instance
128
+ }), customRender === null || customRender === void 0 ? void 0 : customRender({
129
+ instance: instance
130
+ }), /*#__PURE__*/_react.default.createElement("div", {
131
+ className: "lm_filter_custom_line"
132
+ }));
133
+ };
134
+
123
135
  var _default = LmFilterCustom;
124
136
  exports.default = _default;