linkmore-design 1.0.36 → 1.0.39
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.
- package/dist/Cascader/demos/basic.d.ts +2 -0
- package/dist/Cascader/index.d.ts +4 -0
- package/dist/Cascader/style/index.d.ts +1 -0
- package/dist/Form/demos/basic.d.ts +2 -0
- package/dist/Form/demos/drawer1152-triple.d.ts +3 -0
- package/dist/Form/demos/drawer440-double.d.ts +3 -0
- package/dist/Form/demos/drawer440.d.ts +3 -0
- package/dist/Form/demos/drawer720-double.d.ts +3 -0
- package/dist/Form/demos/modal416.d.ts +3 -0
- package/dist/Form/demos/modal552-double.d.ts +3 -0
- package/dist/Form/index.d.ts +24 -0
- package/dist/Form/style/index.d.ts +1 -0
- package/dist/LmSelect/GhostSelect.d.ts +2 -0
- package/dist/LmSelect/NormalSelect.d.ts +11 -0
- package/dist/LmSelect/demos/basic.d.ts +2 -0
- package/dist/LmSelect/demos/checkbox.d.ts +2 -0
- package/dist/LmSelect/demos/ghost.d.ts +2 -0
- package/dist/LmSelect/index.d.ts +14 -0
- package/dist/LmSelect/style/index.d.ts +1 -0
- package/dist/LmSelect/useCheckboxOptions.d.ts +1 -0
- package/dist/LmSelect/utils.d.ts +10 -0
- package/dist/LmTable/demos/tableSort.d.ts +2 -0
- package/dist/VirtualList/index.d.ts +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useEvent/index.d.ts +2 -0
- package/dist/hooks/useFullscreen/demos/basic.d.ts +2 -0
- package/dist/hooks/useFullscreen/index.d.ts +15 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.umd.js +6977 -4280
- package/dist/index.umd.min.js +6 -14
- package/es/Cascader/index.d.ts +4 -0
- package/es/Cascader/index.js +37 -0
- package/es/Cascader/style/index.css +520 -0
- package/es/Cascader/style/index.d.ts +1 -0
- package/es/Cascader/style/index.js +1 -0
- package/es/CustomTableOption/index.js +5 -6
- package/es/Form/index.d.ts +24 -0
- package/es/Form/index.js +56 -0
- package/es/Form/style/index.css +531 -0
- package/es/Form/style/index.d.ts +1 -0
- package/es/Form/style/index.js +1 -0
- package/es/LmSelect/GhostSelect.d.ts +2 -0
- package/es/LmSelect/GhostSelect.js +523 -0
- package/es/LmSelect/NormalSelect.d.ts +11 -0
- package/es/LmSelect/NormalSelect.js +97 -0
- package/es/LmSelect/icon_placeholder.png +0 -0
- package/es/LmSelect/index.d.ts +14 -0
- package/es/LmSelect/index.js +34 -0
- package/es/LmSelect/style/index.css +751 -0
- package/es/LmSelect/style/index.d.ts +1 -0
- package/es/LmSelect/style/index.js +1 -0
- package/es/LmSelect/useCheckboxOptions.d.ts +1 -0
- package/es/LmSelect/useCheckboxOptions.js +120 -0
- package/es/LmSelect/utils.d.ts +10 -0
- package/es/LmSelect/utils.js +66 -0
- package/es/LmTable/Table.js +100 -25
- package/es/LmTable/style/style.css +13 -0
- package/es/Radio/style/style.css +3 -4
- package/es/VirtualList/index.js +2 -1
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.js +2 -0
- package/es/hooks/useEvent/index.d.ts +2 -0
- package/es/hooks/useEvent/index.js +16 -0
- package/es/hooks/useFullscreen/index.d.ts +15 -0
- package/es/hooks/useFullscreen/index.js +99 -0
- package/es/index.d.ts +4 -1
- package/es/index.js +4 -1
- package/lib/Cascader/index.d.ts +4 -0
- package/lib/Cascader/index.js +50 -0
- package/lib/Cascader/style/index.css +520 -0
- package/lib/Cascader/style/index.d.ts +1 -0
- package/lib/Cascader/style/index.js +3 -0
- package/lib/CustomTableOption/index.js +5 -6
- package/lib/Form/index.d.ts +24 -0
- package/lib/Form/index.js +75 -0
- package/lib/Form/style/index.css +531 -0
- package/lib/Form/style/index.d.ts +1 -0
- package/lib/Form/style/index.js +3 -0
- package/lib/LmSelect/GhostSelect.d.ts +2 -0
- package/lib/LmSelect/GhostSelect.js +545 -0
- package/lib/LmSelect/NormalSelect.d.ts +11 -0
- package/lib/LmSelect/NormalSelect.js +116 -0
- package/lib/LmSelect/icon_placeholder.png +0 -0
- package/lib/LmSelect/index.d.ts +14 -0
- package/lib/LmSelect/index.js +50 -0
- package/lib/LmSelect/style/index.css +751 -0
- package/lib/LmSelect/style/index.d.ts +1 -0
- package/lib/LmSelect/style/index.js +3 -0
- package/lib/LmSelect/useCheckboxOptions.d.ts +1 -0
- package/lib/LmSelect/useCheckboxOptions.js +139 -0
- package/lib/LmSelect/utils.d.ts +10 -0
- package/lib/LmSelect/utils.js +103 -0
- package/lib/LmTable/Table.js +100 -25
- package/lib/LmTable/style/style.css +13 -0
- package/lib/Radio/style/style.css +3 -4
- package/lib/VirtualList/index.js +2 -1
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.js +23 -0
- package/lib/hooks/useEvent/index.d.ts +2 -0
- package/lib/hooks/useEvent/index.js +25 -0
- package/lib/hooks/useFullscreen/index.d.ts +15 -0
- package/lib/hooks/useFullscreen/index.js +113 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +25 -1
- package/package.json +6 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.less';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useCheckboxOptions: (options: any, controllable: any, filter?: string) => JSX.Element;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.useCheckboxOptions = void 0;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _hooks = require("../hooks");
|
|
17
|
+
|
|
18
|
+
var _ahooks = require("ahooks");
|
|
19
|
+
|
|
20
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
+
|
|
22
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
25
|
+
|
|
26
|
+
var _utils = require("./utils");
|
|
27
|
+
|
|
28
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
29
|
+
var t = {};
|
|
30
|
+
|
|
31
|
+
for (var p in s) {
|
|
32
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
36
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
37
|
+
}
|
|
38
|
+
return t;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var imgEmpty = require('./icon_placeholder.png');
|
|
42
|
+
|
|
43
|
+
var FilterEmpty = function FilterEmpty() {
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
45
|
+
className: "filter_empty"
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
47
|
+
src: imgEmpty,
|
|
48
|
+
alt: "empty",
|
|
49
|
+
width: 81
|
|
50
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
51
|
+
className: "filter_empty_text"
|
|
52
|
+
}, "\u6682\u65E0\u6570\u636E"));
|
|
53
|
+
}; // todo 抽取出来, 后续做统一处理, 项目中多处用到类似的功能
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
var useCheckboxOptions = function useCheckboxOptions(options, controllable) {
|
|
57
|
+
var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
58
|
+
|
|
59
|
+
// 将value和onChange改为受控,和父组件共享
|
|
60
|
+
var _useControllableValue = (0, _ahooks.useControllableValue)(controllable),
|
|
61
|
+
_useControllableValue2 = (0, _slicedToArray2.default)(_useControllableValue, 2),
|
|
62
|
+
checkedValues = _useControllableValue2[0],
|
|
63
|
+
setCheckedValues = _useControllableValue2[1];
|
|
64
|
+
|
|
65
|
+
var renderOptions = (0, _react.useMemo)(function () {
|
|
66
|
+
return options.filter(function (v) {
|
|
67
|
+
return (0, _utils.onStringSearch)(filter, v.label);
|
|
68
|
+
});
|
|
69
|
+
}, [options, filter]); // 是否全选: 选中的数据大于等于筛选后的数据 && 筛选后的数据全部存在于选中的数据中
|
|
70
|
+
|
|
71
|
+
var checkAll = (0, _react.useMemo)(function () {
|
|
72
|
+
var isLen = checkedValues.length >= renderOptions.length;
|
|
73
|
+
return isLen && renderOptions.every(function (_ref) {
|
|
74
|
+
var value = _ref.value;
|
|
75
|
+
return checkedValues.includes(value);
|
|
76
|
+
});
|
|
77
|
+
}, [checkedValues.length, renderOptions]); // 是否半选: 存在选中的数据 && 未全选
|
|
78
|
+
|
|
79
|
+
var indeterminate = (0, _react.useMemo)(function () {
|
|
80
|
+
return checkedValues.length && !checkAll;
|
|
81
|
+
}, [checkedValues.length, checkAll]); // 全选事件
|
|
82
|
+
|
|
83
|
+
var onCheckAllChange = (0, _hooks.useEvent)(function () {
|
|
84
|
+
var nValue = checkAll ? checkedValues.filter(function (v) {
|
|
85
|
+
return !renderOptions.some(function (_ref2) {
|
|
86
|
+
var value = _ref2.value;
|
|
87
|
+
return v === value;
|
|
88
|
+
});
|
|
89
|
+
}) : Array.from(new Set([].concat((0, _toConsumableArray2.default)(checkedValues), (0, _toConsumableArray2.default)(renderOptions.map(function (v) {
|
|
90
|
+
return v.value;
|
|
91
|
+
})))));
|
|
92
|
+
setCheckedValues(nValue);
|
|
93
|
+
});
|
|
94
|
+
var onChange = (0, _hooks.useEvent)(function (e, item) {
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
e.stopPropagation();
|
|
97
|
+
var arr = checkedValues.includes(item.value) ? checkedValues.filter(function (v) {
|
|
98
|
+
return v !== item.value;
|
|
99
|
+
}) : [].concat((0, _toConsumableArray2.default)(checkedValues), [item.value]);
|
|
100
|
+
setCheckedValues(arr || undefined);
|
|
101
|
+
});
|
|
102
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
103
|
+
className: "select_dropdown"
|
|
104
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
105
|
+
className: "filter_header"
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
107
|
+
className: "filter_header_operate"
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
|
|
109
|
+
indeterminate: indeterminate,
|
|
110
|
+
onChange: onCheckAllChange,
|
|
111
|
+
checked: checkAll,
|
|
112
|
+
className: "filter_tip"
|
|
113
|
+
}, "\u5168\u90E8"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
114
|
+
className: "filter_tip"
|
|
115
|
+
}, "\u5DF2\u9009: ", checkedValues.length)))), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, {
|
|
116
|
+
value: checkedValues,
|
|
117
|
+
className: "filter_body"
|
|
118
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
|
|
119
|
+
options: renderOptions,
|
|
120
|
+
className: "filter_list"
|
|
121
|
+
}, function (_a) {
|
|
122
|
+
var item = _a.item,
|
|
123
|
+
resetProps = __rest(_a, ["item"]);
|
|
124
|
+
|
|
125
|
+
return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, resetProps, {
|
|
126
|
+
className: (0, _classnames.default)('filter_item', {
|
|
127
|
+
checked: checkedValues.includes(item.value)
|
|
128
|
+
}),
|
|
129
|
+
onClick: function onClick(e) {
|
|
130
|
+
return onChange(e, item);
|
|
131
|
+
}
|
|
132
|
+
}), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
|
|
133
|
+
value: item.value,
|
|
134
|
+
className: "filter_item-content"
|
|
135
|
+
}, item.label));
|
|
136
|
+
}), !renderOptions.length && /*#__PURE__*/_react.default.createElement(FilterEmpty, null)));
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
exports.useCheckboxOptions = useCheckboxOptions;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function getArray(val: any): any[];
|
|
2
|
+
export declare const isOptions: (key: any) => boolean;
|
|
3
|
+
export declare const onStringSearch: (key?: string, str?: string) => boolean;
|
|
4
|
+
export declare function getOptions(children: any): any[];
|
|
5
|
+
export declare function getIsHas(val: any): boolean;
|
|
6
|
+
export declare function isClassComponent(component: any): any;
|
|
7
|
+
export declare function isExoticComponent(component: any): boolean;
|
|
8
|
+
export declare function isReactComponent(component: any): any;
|
|
9
|
+
export declare const render: (Comp: any, props?: {}) => any;
|
|
10
|
+
export declare const useSearch: (showSearch: any, renderOptions: any) => any;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.getArray = getArray;
|
|
11
|
+
exports.getIsHas = getIsHas;
|
|
12
|
+
exports.getOptions = getOptions;
|
|
13
|
+
exports.isClassComponent = isClassComponent;
|
|
14
|
+
exports.isExoticComponent = isExoticComponent;
|
|
15
|
+
exports.isOptions = void 0;
|
|
16
|
+
exports.isReactComponent = isReactComponent;
|
|
17
|
+
exports.useSearch = exports.render = exports.onStringSearch = void 0;
|
|
18
|
+
|
|
19
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
20
|
+
|
|
21
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
22
|
+
|
|
23
|
+
// 获取数组
|
|
24
|
+
function getArray(val) {
|
|
25
|
+
if (!val) return [];
|
|
26
|
+
return Array.isArray(val) ? val : [val];
|
|
27
|
+
} // 判断是否符合options格式
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
var isOptions = function isOptions(key) {
|
|
31
|
+
return ['label', 'value'].includes(key);
|
|
32
|
+
}; // 查询搜索, 都转成小写用于匹配
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
exports.isOptions = isOptions;
|
|
36
|
+
|
|
37
|
+
var onStringSearch = function onStringSearch() {
|
|
38
|
+
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
39
|
+
var str = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
40
|
+
return str.toLowerCase().includes(key.toLowerCase());
|
|
41
|
+
}; // 将options和children都转成options
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
exports.onStringSearch = onStringSearch;
|
|
45
|
+
|
|
46
|
+
function getOptions(children) {
|
|
47
|
+
var array = getArray(children);
|
|
48
|
+
return array.map(function (item) {
|
|
49
|
+
if (Object.keys(item).every(isOptions)) return item;
|
|
50
|
+
return {
|
|
51
|
+
label: item.props.children,
|
|
52
|
+
value: item.props.value,
|
|
53
|
+
disabled: !!item.props.disabled
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
} // 检查是否存在内容
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
function getIsHas(val) {
|
|
60
|
+
var _a; // 检查是否数字类型, 是否布尔类型
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
var flag = !!val || typeof val === 'number' || typeof val === 'boolean'; // 检查空对象和空数组
|
|
64
|
+
|
|
65
|
+
if (!!val && (0, _typeof2.default)(val) === 'object') {
|
|
66
|
+
flag = Array.isArray(val) ? !!val.length : !!((_a = Object.keys(val)) === null || _a === void 0 ? void 0 : _a.length);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return flag;
|
|
70
|
+
} // 检查是否类组件
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
function isClassComponent(component) {
|
|
74
|
+
return typeof component === 'function' && function () {
|
|
75
|
+
var proto = Object.getPrototypeOf(component);
|
|
76
|
+
return proto.prototype && proto.prototype.isReactComponent;
|
|
77
|
+
}();
|
|
78
|
+
} // 检查是否自定义组件
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
function isExoticComponent(component) {
|
|
82
|
+
return (0, _typeof2.default)(component) === 'object' && (0, _typeof2.default)(component.$$typeof) === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
|
|
83
|
+
} // 检查是否React组件
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
function isReactComponent(component) {
|
|
87
|
+
return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var render = function render(Comp) {
|
|
91
|
+
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
92
|
+
return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/_react.default.createElement(Comp, Object.assign({}, props)) : Comp;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
exports.render = render;
|
|
96
|
+
|
|
97
|
+
var useSearch = function useSearch(showSearch, renderOptions) {
|
|
98
|
+
return (0, _react.useMemo)(function () {
|
|
99
|
+
return showSearch || renderOptions.length > 8;
|
|
100
|
+
}, [renderOptions.length, showSearch]);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
exports.useSearch = useSearch;
|
package/lib/LmTable/Table.js
CHANGED
|
@@ -13,29 +13,53 @@ require("antd/es/config-provider/style");
|
|
|
13
13
|
|
|
14
14
|
var _configProvider = _interopRequireDefault(require("antd/es/config-provider"));
|
|
15
15
|
|
|
16
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
-
|
|
18
16
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
17
|
|
|
20
18
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
21
19
|
|
|
20
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
21
|
+
|
|
22
22
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
23
23
|
|
|
24
24
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
25
25
|
|
|
26
|
+
var _icons = require("@ant-design/icons");
|
|
27
|
+
|
|
26
28
|
var _proTable = _interopRequireDefault(require("@ant-design/pro-table"));
|
|
27
29
|
|
|
30
|
+
var _sortable = require("@dnd-kit/sortable");
|
|
31
|
+
|
|
28
32
|
var _lodash = require("lodash");
|
|
29
33
|
|
|
30
34
|
var _react = _interopRequireWildcard(require("react"));
|
|
31
35
|
|
|
36
|
+
var _reactSortableHoc = require("react-sortable-hoc");
|
|
37
|
+
|
|
32
38
|
var _empty = _interopRequireDefault(require("./assets/empty.png"));
|
|
33
39
|
|
|
34
40
|
var _resetConfig = _interopRequireDefault(require("./resetConfig"));
|
|
35
41
|
|
|
36
|
-
var _excluded = ["dataSource", "autoSize", "columns", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "customCheck", "rowSelection", "columnsState", "tableRowType"]
|
|
42
|
+
var _excluded = ["dataSource", "autoSize", "columns", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "customCheck", "rowSelection", "columnsState", "tableRowType"],
|
|
43
|
+
_excluded2 = ["className", "style"];
|
|
37
44
|
var Summary = _proTable.default.Summary;
|
|
38
45
|
exports.Summary = Summary;
|
|
46
|
+
var DragHandle = (0, _reactSortableHoc.SortableHandle)(function () {
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement(_icons.MenuOutlined, {
|
|
48
|
+
style: {
|
|
49
|
+
cursor: 'grab',
|
|
50
|
+
color: '#999'
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
var sortDefaultColumnItem = {
|
|
55
|
+
title: '排序',
|
|
56
|
+
dataIndex: 'sort',
|
|
57
|
+
width: 60,
|
|
58
|
+
className: 'drag-visible',
|
|
59
|
+
render: function render() {
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(DragHandle, null);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
39
63
|
var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
40
64
|
var dataSource = props.dataSource,
|
|
41
65
|
autoSize = props.autoSize,
|
|
@@ -49,6 +73,8 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
49
73
|
loading = props.loading,
|
|
50
74
|
_props$virtual = props.virtual,
|
|
51
75
|
virtual = _props$virtual === void 0 ? false : _props$virtual,
|
|
76
|
+
_props$sortOpen = props.sortOpen,
|
|
77
|
+
sortOpen = _props$sortOpen === void 0 ? false : _props$sortOpen,
|
|
52
78
|
customCheck = props.customCheck,
|
|
53
79
|
rowSelection = props.rowSelection,
|
|
54
80
|
columnsState = props.columnsState,
|
|
@@ -81,7 +107,48 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
81
107
|
var _useState7 = (0, _react.useState)(),
|
|
82
108
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
83
109
|
columnsStateMap = _useState8[0],
|
|
84
|
-
setColumnsStateMap = _useState8[1];
|
|
110
|
+
setColumnsStateMap = _useState8[1];
|
|
111
|
+
|
|
112
|
+
var SortableItem = (0, _reactSortableHoc.SortableElement)(function (props) {
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement("tr", props);
|
|
114
|
+
});
|
|
115
|
+
var SortContainer = (0, _reactSortableHoc.SortableContainer)(function (props) {
|
|
116
|
+
return /*#__PURE__*/_react.default.createElement("tbody", props);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
var onSortEnd = function onSortEnd(_ref) {
|
|
120
|
+
var oldIndex = _ref.oldIndex,
|
|
121
|
+
newIndex = _ref.newIndex;
|
|
122
|
+
|
|
123
|
+
if (oldIndex !== newIndex) {
|
|
124
|
+
var newData = (0, _sortable.arrayMove)(dataSource, oldIndex, newIndex).filter(function (el) {
|
|
125
|
+
return !!el;
|
|
126
|
+
});
|
|
127
|
+
console.log(newData, 'nnnnnn'); // setDataSource([...newData])
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
var DraggableContainer = function DraggableContainer(props) {
|
|
132
|
+
return /*#__PURE__*/_react.default.createElement(SortContainer, (0, _extends2.default)({
|
|
133
|
+
useDragHandle: true,
|
|
134
|
+
disableAutoscroll: true,
|
|
135
|
+
helperClass: "row-dragging",
|
|
136
|
+
onSortEnd: onSortEnd
|
|
137
|
+
}, props));
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
var DraggableBodyRow = function DraggableBodyRow(props) {
|
|
141
|
+
var className = props.className,
|
|
142
|
+
style = props.style,
|
|
143
|
+
restProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
|
|
144
|
+
var index = dataSource.findIndex(function (x) {
|
|
145
|
+
return x[rowKey || 'index'] === restProps['data-row-key'];
|
|
146
|
+
});
|
|
147
|
+
console.log(dataSource, restProps, 222, index);
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(SortableItem, (0, _extends2.default)({
|
|
149
|
+
index: index
|
|
150
|
+
}, restProps));
|
|
151
|
+
}; // 原宽度,先宽度,序号
|
|
85
152
|
|
|
86
153
|
|
|
87
154
|
var handleResize = function handleResize(sc, size, index) {
|
|
@@ -98,7 +165,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
98
165
|
};
|
|
99
166
|
|
|
100
167
|
var resetColumns = (0, _react.useCallback)(function () {
|
|
101
|
-
|
|
168
|
+
var result = useColumns.filter(function (item) {
|
|
102
169
|
return item.show !== false;
|
|
103
170
|
}).map(function (col, index) {
|
|
104
171
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, col), {}, {
|
|
@@ -113,7 +180,9 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
113
180
|
}
|
|
114
181
|
});
|
|
115
182
|
});
|
|
116
|
-
|
|
183
|
+
console.log(sortOpen ? [sortDefaultColumnItem].concat((0, _toConsumableArray2.default)(result)) : result, sortOpen, 111);
|
|
184
|
+
return sortOpen ? [sortDefaultColumnItem].concat((0, _toConsumableArray2.default)(result)) : result;
|
|
185
|
+
}, [useColumns, sortOpen]);
|
|
117
186
|
(0, _react.useEffect)(function () {
|
|
118
187
|
setColumns(columns);
|
|
119
188
|
}, [columns]); // 行点击事件
|
|
@@ -250,10 +319,10 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
250
319
|
var obj = (0, _objectSpread2.default)({}, columnsState);
|
|
251
320
|
columns === null || columns === void 0 ? void 0 : columns.forEach(function (item) {
|
|
252
321
|
/** 目前支持三种 */
|
|
253
|
-
var
|
|
254
|
-
order =
|
|
255
|
-
show =
|
|
256
|
-
fixed =
|
|
322
|
+
var _ref2 = obj[item.dataIndex || item.key] || {},
|
|
323
|
+
order = _ref2.order,
|
|
324
|
+
show = _ref2.show,
|
|
325
|
+
fixed = _ref2.fixed;
|
|
257
326
|
|
|
258
327
|
obj[item.dataIndex || item.key] = {
|
|
259
328
|
fixed: fixed || item.fixed,
|
|
@@ -322,7 +391,12 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
322
391
|
}, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
|
|
323
392
|
loading: loading,
|
|
324
393
|
dataSource: dataSource,
|
|
325
|
-
components:
|
|
394
|
+
components: sortOpen ? {
|
|
395
|
+
body: {
|
|
396
|
+
wrapper: DraggableContainer,
|
|
397
|
+
row: DraggableBodyRow
|
|
398
|
+
}
|
|
399
|
+
} : null,
|
|
326
400
|
tableClassName: "lm_protable",
|
|
327
401
|
summary: function summary(pageData) {
|
|
328
402
|
return _summary && _summary(pageData, resultColumns);
|
|
@@ -416,24 +490,25 @@ var ResizeSize = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
416
490
|
|
|
417
491
|
var handResize = (0, _lodash.throttle)(changeSize, 600);
|
|
418
492
|
(0, _react.useEffect)(function () {
|
|
419
|
-
var _tableWarpRef$current8;
|
|
420
|
-
|
|
421
493
|
var hiddenPage = props.hiddenPage,
|
|
422
494
|
customCheck = props.customCheck,
|
|
423
495
|
summary = props.summary;
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
496
|
+
setTimeout(function () {
|
|
497
|
+
var _tableWarpRef$current8;
|
|
498
|
+
|
|
499
|
+
var _tableWarpRef$current5 = (_tableWarpRef$current8 = tableWarpRef.current) === null || _tableWarpRef$current8 === void 0 ? void 0 : _tableWarpRef$current8.getBoundingClientRect(),
|
|
500
|
+
_tableWarpRef$current6 = _tableWarpRef$current5.width,
|
|
501
|
+
width = _tableWarpRef$current6 === void 0 ? '100%' : _tableWarpRef$current6,
|
|
502
|
+
_tableWarpRef$current7 = _tableWarpRef$current5.height,
|
|
503
|
+
height = _tableWarpRef$current7 === void 0 ? '100%' : _tableWarpRef$current7;
|
|
504
|
+
|
|
505
|
+
var value = summary ? 48 : 0;
|
|
506
|
+
setTableSize({
|
|
507
|
+
width: width,
|
|
508
|
+
height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value
|
|
509
|
+
});
|
|
510
|
+
}, 100);
|
|
432
511
|
resizeRef.current = window.addEventListener('resize', handResize);
|
|
433
|
-
setTableSize({
|
|
434
|
-
width: width,
|
|
435
|
-
height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value
|
|
436
|
-
});
|
|
437
512
|
return function () {
|
|
438
513
|
window.removeEventListener('resize', handResize);
|
|
439
514
|
};
|
|
@@ -1410,3 +1410,16 @@ html {
|
|
|
1410
1410
|
height: 48px;
|
|
1411
1411
|
display: flex;
|
|
1412
1412
|
}
|
|
1413
|
+
.row-dragging {
|
|
1414
|
+
background: var(--color-6);
|
|
1415
|
+
border: 1px solid var(--color-6);
|
|
1416
|
+
display: flex;
|
|
1417
|
+
align-items: center;
|
|
1418
|
+
font-size: 12px;
|
|
1419
|
+
}
|
|
1420
|
+
.row-dragging td {
|
|
1421
|
+
padding: 16px;
|
|
1422
|
+
}
|
|
1423
|
+
.row-dragging .drag-visible {
|
|
1424
|
+
visibility: visible;
|
|
1425
|
+
}
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
}
|
|
29
29
|
.lm-radio-group .ant-radio-button-wrapper {
|
|
30
30
|
font-size: 12px;
|
|
31
|
-
line-height: 30px;
|
|
32
31
|
height: 32px;
|
|
33
|
-
padding:
|
|
32
|
+
padding: 0px 12px;
|
|
34
33
|
color: var(--font-color);
|
|
35
34
|
vertical-align: middle;
|
|
36
35
|
}
|
|
37
36
|
.lm-radio-group .ant-radio-button-wrapper .anticon {
|
|
38
37
|
font-size: 16px;
|
|
39
38
|
vertical-align: middle;
|
|
39
|
+
line-height: 1;
|
|
40
40
|
}
|
|
41
41
|
.lm-radio-group .ant-radio-button-wrapper:hover {
|
|
42
42
|
color: var(--primary-color);
|
|
@@ -44,7 +44,6 @@
|
|
|
44
44
|
.lm-radio-group .ant-radio-button-wrapper > span:last-child {
|
|
45
45
|
display: inline-block;
|
|
46
46
|
font-size: 12px;
|
|
47
|
-
line-height: 30px;
|
|
48
47
|
max-width: 96px;
|
|
49
48
|
overflow: hidden;
|
|
50
49
|
white-space: nowrap;
|
|
@@ -73,7 +72,7 @@
|
|
|
73
72
|
.lm-radio-group.ant-radio-group-small .ant-radio-button-wrapper {
|
|
74
73
|
line-height: 22px;
|
|
75
74
|
height: 24px;
|
|
76
|
-
padding:
|
|
75
|
+
padding: 0px 8px;
|
|
77
76
|
}
|
|
78
77
|
.lm-radio-group.ant-radio-group-small .ant-radio-button-wrapper > span:last-child {
|
|
79
78
|
line-height: 22px;
|
package/lib/VirtualList/index.js
CHANGED
|
@@ -17,7 +17,8 @@ var VirList = function VirList(_ref) {
|
|
|
17
17
|
children = _ref.children,
|
|
18
18
|
_ref$size = _ref.size,
|
|
19
19
|
size = _ref$size === void 0 ? 32 : _ref$size,
|
|
20
|
-
parentRef = _ref.parentRef,
|
|
20
|
+
_ref$parentRef = _ref.parentRef,
|
|
21
|
+
parentRef = _ref$parentRef === void 0 ? null : _ref$parentRef,
|
|
21
22
|
className = _ref.className,
|
|
22
23
|
_ref$maxHeight = _ref.maxHeight,
|
|
23
24
|
maxHeight = _ref$maxHeight === void 0 ? 224 : _ref$maxHeight;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "useEvent", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useEvent.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "useFullscreen", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _useFullscreen.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
var _useFullscreen = _interopRequireDefault(require("./useFullscreen"));
|
|
22
|
+
|
|
23
|
+
var _useEvent = _interopRequireDefault(require("./useEvent"));
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
// * 解决useCallback的依赖传导问题,存储事件
|
|
11
|
+
function useEvent(handler) {
|
|
12
|
+
var handlerRef = (0, _react.useRef)(null); // 同步,运行时间在布局前
|
|
13
|
+
|
|
14
|
+
(0, _react.useLayoutEffect)(function () {
|
|
15
|
+
handlerRef.current = handler;
|
|
16
|
+
}); // 存储方法函数
|
|
17
|
+
|
|
18
|
+
return (0, _react.useCallback)(function () {
|
|
19
|
+
var fn = handlerRef.current;
|
|
20
|
+
return fn.apply(void 0, arguments);
|
|
21
|
+
}, []);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var _default = useEvent;
|
|
25
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MutableRefObject } from 'react';
|
|
2
|
+
declare type TargetValue<T> = T | undefined | null;
|
|
3
|
+
declare type TargetType = HTMLElement | Element | Window | Document;
|
|
4
|
+
declare type BasicTarget<T extends TargetType = Element> = (() => TargetValue<T>) | TargetValue<T> | MutableRefObject<TargetValue<T>>;
|
|
5
|
+
interface Options {
|
|
6
|
+
onExit?: () => void;
|
|
7
|
+
onEnter?: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare const useFullscreen: (target: BasicTarget, options?: Options) => {
|
|
10
|
+
isFullscreen: boolean;
|
|
11
|
+
enterFullscreen: () => void;
|
|
12
|
+
exitFullscreen: () => void;
|
|
13
|
+
toggleFullscreen: () => void;
|
|
14
|
+
};
|
|
15
|
+
export default useFullscreen;
|