@zykj2024/much-library 1.1.7-beta.3 → 1.1.7-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/McCascader/city.js +909 -0
- package/dist/esm/McCascader/index.d.ts +19 -0
- package/dist/esm/McCascader/index.js +221 -0
- package/dist/esm/McCascader/index.less +72 -0
- package/dist/esm/McContainer/index.d.ts +192 -0
- package/dist/esm/McContainer/index.js +522 -0
- package/dist/esm/McContainer/index.less +132 -0
- package/dist/esm/McDateRange/index.d.ts +28 -0
- package/dist/esm/McDateRange/index.js +167 -0
- package/dist/esm/McDateRange/index.less +33 -0
- package/dist/esm/McEllipsis/index.d.ts +40 -0
- package/dist/esm/McEllipsis/index.js +115 -0
- package/dist/esm/McEllipsis/index.less +9 -0
- package/dist/esm/McEllipsisMiddle/index.d.ts +13 -0
- package/dist/esm/McEllipsisMiddle/index.js +42 -0
- package/dist/esm/McEllipsisMiddle/index.less +9 -0
- package/dist/esm/McFonts/index.d.ts +8 -0
- package/dist/esm/McFonts/index.js +7 -0
- package/dist/esm/McGroupPanel/comps/SelectedItem/index.d.ts +4 -0
- package/dist/esm/McGroupPanel/comps/SelectedItem/index.js +75 -0
- package/dist/esm/McGroupPanel/index.d.ts +30 -0
- package/dist/esm/McGroupPanel/index.js +426 -0
- package/dist/esm/McGroupPanel/index.less +161 -0
- package/dist/esm/McIconFont/iconfont.js +1 -0
- package/dist/esm/McIconFont/index.d.ts +5 -0
- package/dist/esm/McIconFont/index.js +8 -0
- package/dist/esm/McIcons/business.json +137 -0
- package/dist/esm/McIcons/index.less +22 -0
- package/dist/esm/McInput/Input.d.ts +19 -0
- package/dist/esm/McInput/Input.js +48 -0
- package/dist/esm/McInput/Search.d.ts +39 -0
- package/dist/esm/McInput/Search.js +81 -0
- package/dist/esm/McInput/TextArea.d.ts +11 -0
- package/dist/esm/McInput/TextArea.js +37 -0
- package/dist/esm/McInput/demo/Input/addonBefore.d.ts +3 -0
- package/dist/esm/McInput/demo/Input/addonBefore.js +67 -0
- package/dist/esm/McInput/demo/Input/base.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/base.js +31 -0
- package/dist/esm/McInput/demo/Input/isTrim.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/isTrim.js +22 -0
- package/dist/esm/McInput/demo/Input/label.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/label.js +26 -0
- package/dist/esm/McInput/demo/Input/ref.d.ts +3 -0
- package/dist/esm/McInput/demo/Input/ref.js +53 -0
- package/dist/esm/McInput/demo/Input/status.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/status.js +23 -0
- package/dist/esm/McInput/demo/Search/search-base.d.ts +2 -0
- package/dist/esm/McInput/demo/Search/search-base.js +38 -0
- package/dist/esm/McInput/demo/TextArea/text-area-base.d.ts +2 -0
- package/dist/esm/McInput/demo/TextArea/text-area-base.js +38 -0
- package/dist/esm/McInput/index.d.ts +13 -0
- package/dist/esm/McInput/index.js +7 -0
- package/dist/esm/McInput/index.less +62 -0
- package/dist/esm/McInputNumber/index.d.ts +16 -0
- package/dist/esm/McInputNumber/index.js +50 -0
- package/dist/esm/McInputNumber/index.less +18 -0
- package/dist/esm/McLazyLoader/index.d.ts +39 -0
- package/dist/esm/McLazyLoader/index.js +88 -0
- package/dist/esm/McListSelect/comps/ListSelect.d.ts +67 -0
- package/dist/esm/McListSelect/comps/ListSelect.js +289 -0
- package/dist/esm/McListSelect/comps/ListSelectPanel.d.ts +138 -0
- package/dist/esm/McListSelect/comps/ListSelectPanel.js +451 -0
- package/dist/esm/McListSelect/comps/SelectedItem.d.ts +17 -0
- package/dist/esm/McListSelect/comps/SelectedItem.js +76 -0
- package/dist/esm/McListSelect/index.d.ts +10 -0
- package/dist/esm/McListSelect/index.js +5 -0
- package/dist/esm/McListSelect/index.less +257 -0
- package/dist/esm/McModalProvider/index.d.ts +174 -0
- package/dist/esm/McModalProvider/index.js +498 -0
- package/dist/esm/McPeriodSelect/index.d.ts +13 -0
- package/dist/esm/McPeriodSelect/index.js +305 -0
- package/dist/esm/McPeriodSelect/index.less +187 -0
- package/dist/esm/McPopoverButton/index.d.ts +14 -0
- package/dist/esm/McPopoverButton/index.js +52 -0
- package/dist/esm/McPopoverForm/index.d.ts +14 -0
- package/dist/esm/McPopoverForm/index.js +95 -0
- package/dist/esm/McProSelect/index.d.ts +35 -0
- package/dist/esm/McProSelect/index.js +152 -0
- package/dist/esm/McResult/default.d.ts +1 -0
- package/dist/esm/McResult/default.js +98 -0
- package/dist/esm/McResult/icon.d.ts +25 -0
- package/dist/esm/McResult/icon.js +1014 -0
- package/dist/esm/McResult/index.d.ts +31 -0
- package/dist/esm/McResult/index.js +119 -0
- package/dist/esm/McResult/index.less +18 -0
- package/dist/esm/McResult/public/403.svg +164 -0
- package/dist/esm/McResult/public/404.svg +123 -0
- package/dist/esm/McResult/public/500.svg +129 -0
- package/dist/esm/McResult/public/building.svg +127 -0
- package/dist/esm/McResult/public/code403.svg +7 -0
- package/dist/esm/McResult/public/code404.svg +5 -0
- package/dist/esm/McResult/public/code500.svg +5 -0
- package/dist/esm/McResult/public/detailEmpty.svg +1 -0
- package/dist/esm/McResult/public/empty.svg +1 -0
- package/dist/esm/McResult/public/noFunction.svg +1 -0
- package/dist/esm/McResult/public/noUser.svg +90 -0
- package/dist/esm/McSelect/components/PanelSearchInput/index.d.ts +12 -0
- package/dist/esm/McSelect/components/PanelSearchInput/index.js +45 -0
- package/dist/esm/McSelect/components/PanelSearchInput/index.less +7 -0
- package/dist/esm/McSelect/index.d.ts +47 -0
- package/dist/esm/McSelect/index.js +436 -0
- package/dist/esm/McSelect/index.less +72 -0
- package/dist/esm/McTag/index.d.ts +22 -0
- package/dist/esm/McTag/index.js +59 -0
- package/dist/esm/McThemeConfig/customToken.json +39 -0
- package/dist/esm/McThemeConfig/globalStyle.d.ts +2 -0
- package/dist/esm/McThemeConfig/globalStyle.js +198 -0
- package/dist/esm/McThemeConfig/index.d.ts +9 -0
- package/dist/esm/McThemeConfig/index.js +16 -0
- package/dist/esm/McThemeConfig/layoutStyle.d.ts +2 -0
- package/dist/esm/McThemeConfig/layoutStyle.js +1 -0
- package/dist/esm/McThemeConfig/provider.d.ts +8 -0
- package/dist/esm/McThemeConfig/provider.js +20 -0
- package/dist/esm/McThemeConfig/themeToken.json +152 -0
- package/dist/esm/McTreePanel/SelectedItem.d.ts +4 -0
- package/dist/esm/McTreePanel/SelectedItem.js +75 -0
- package/dist/esm/McTreePanel/index.d.ts +27 -0
- package/dist/esm/McTreePanel/index.js +315 -0
- package/dist/esm/McTreePanel/index.less +106 -0
- package/dist/esm/McTreeSelect/index.d.ts +13 -0
- package/dist/esm/McTreeSelect/index.js +182 -0
- package/dist/esm/McTreeSelect/index.less +72 -0
- package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.d.ts +38 -0
- package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.js +209 -0
- package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.less +6 -0
- package/dist/esm/McUpload/comps/McFormUpload/index.d.ts +7 -0
- package/dist/esm/McUpload/comps/McFormUpload/index.js +29 -0
- package/dist/esm/McUpload/comps/McUploadCmp/index.d.ts +49 -0
- package/dist/esm/McUpload/comps/McUploadCmp/index.js +396 -0
- package/dist/esm/McUpload/comps/McUploadCmp/index.less +68 -0
- package/dist/esm/McUpload/comps/McUploadDragger/index.d.ts +49 -0
- package/dist/esm/McUpload/comps/McUploadDragger/index.js +264 -0
- package/dist/esm/McUpload/comps/McUploadTrigger/index.d.ts +39 -0
- package/dist/esm/McUpload/comps/McUploadTrigger/index.js +318 -0
- package/dist/esm/McUpload/comps/McUploadTrigger/index.less +204 -0
- package/dist/esm/McUpload/index.d.ts +14 -0
- package/dist/esm/McUpload/index.js +9 -0
- package/dist/esm/McUpload/tools/calculateMD5/index.d.ts +3 -0
- package/dist/esm/McUpload/tools/calculateMD5/index.js +94 -0
- package/dist/esm/McUpload/tools/calculateMD5/md5Worker.js +44 -0
- package/dist/esm/McUpload/tools/getUid.d.ts +1 -0
- package/dist/esm/McUpload/tools/getUid.js +6 -0
- package/dist/esm/McUpload/tools/materialVerification.d.ts +50 -0
- package/dist/esm/McUpload/tools/materialVerification.js +257 -0
- package/dist/esm/McUpload/tools/uploadTools.d.ts +5 -0
- package/dist/esm/McUpload/tools/uploadTools.js +56 -0
- package/dist/esm/Utils/index.d.ts +8 -0
- package/dist/esm/Utils/index.js +9 -0
- package/dist/esm/Utils/lib/Queue/PriorityQueue.d.ts +21 -0
- package/dist/esm/Utils/lib/Queue/PriorityQueue.js +197 -0
- package/dist/esm/Utils/lib/Queue/TaskQueue.d.ts +17 -0
- package/dist/esm/Utils/lib/Queue/TaskQueue.js +199 -0
- package/dist/esm/Utils/lib/Queue/tools/BinaryHeap.d.ts +25 -0
- package/dist/esm/Utils/lib/Queue/tools/BinaryHeap.js +184 -0
- package/dist/esm/Utils/lib/Queue/tools/publicDependencyMethod.d.ts +6 -0
- package/dist/esm/Utils/lib/Queue/tools/publicDependencyMethod.js +26 -0
- package/dist/esm/Utils/lib/Queue/types/baseTaskQueue.d.ts +23 -0
- package/dist/esm/Utils/lib/Queue/types/baseTaskQueue.js +10 -0
- package/dist/esm/Utils/lib/copyToClipboard.d.ts +8 -0
- package/dist/esm/Utils/lib/copyToClipboard.js +54 -0
- package/dist/esm/index.d.ts +34 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/styles/index.less +2 -0
- package/dist/esm/styles/mixins.less +52 -0
- package/dist/esm/styles/utilities.less +51 -0
- package/dist/esm/typings.d.ts +20 -0
- package/package.json +4 -3
@@ -0,0 +1,19 @@
|
|
1
|
+
import { CascaderProps } from 'antd';
|
2
|
+
import { CSSProperties, FC, ReactNode } from 'react';
|
3
|
+
import './index.less';
|
4
|
+
type Inexistent = {
|
5
|
+
inexistentText?: string;
|
6
|
+
inexistentColor?: string;
|
7
|
+
reserveOriginalValue?: boolean;
|
8
|
+
};
|
9
|
+
export type McCascaderProps = CascaderProps & {
|
10
|
+
style?: CSSProperties;
|
11
|
+
className?: string;
|
12
|
+
name?: string;
|
13
|
+
label?: ReactNode;
|
14
|
+
inexistent?: boolean | Inexistent;
|
15
|
+
city?: boolean;
|
16
|
+
[key: string]: any;
|
17
|
+
};
|
18
|
+
declare const McCascader: FC<McCascaderProps>;
|
19
|
+
export default McCascader;
|
@@ -0,0 +1,221 @@
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
5
|
+
var _excluded = ["style", "className", "label", "inexistent", "city", "value", "onChange", "options", "multiple", "disabled", "fieldNames", "maxTagCount"];
|
6
|
+
import { Cascader, Divider, Popover } from 'antd';
|
7
|
+
import { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
|
8
|
+
import { cityData } from "./city";
|
9
|
+
import "./index.less";
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
11
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
12
|
+
var McCascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
13
|
+
var style = props.style,
|
14
|
+
className = props.className,
|
15
|
+
label = props.label,
|
16
|
+
_props$inexistent = props.inexistent,
|
17
|
+
inexistent = _props$inexistent === void 0 ? false : _props$inexistent,
|
18
|
+
_props$city = props.city,
|
19
|
+
city = _props$city === void 0 ? false : _props$city,
|
20
|
+
value = props.value,
|
21
|
+
onChange = props.onChange,
|
22
|
+
options = props.options,
|
23
|
+
multiple = props.multiple,
|
24
|
+
disabled = props.disabled,
|
25
|
+
fieldNames = props.fieldNames,
|
26
|
+
maxTagCount = props.maxTagCount,
|
27
|
+
rest = _objectWithoutProperties(props, _excluded);
|
28
|
+
var _ref = typeof inexistent === 'boolean' ? {} : inexistent,
|
29
|
+
_ref$inexistentText = _ref.inexistentText,
|
30
|
+
inexistentText = _ref$inexistentText === void 0 ? '不存在' : _ref$inexistentText,
|
31
|
+
_ref$inexistentColor = _ref.inexistentColor,
|
32
|
+
inexistentColor = _ref$inexistentColor === void 0 ? '#ff4d4f' : _ref$inexistentColor,
|
33
|
+
_ref$reserveOriginalV = _ref.reserveOriginalValue,
|
34
|
+
reserveOriginalValue = _ref$reserveOriginalV === void 0 ? false : _ref$reserveOriginalV;
|
35
|
+
var _maxTagCount = useMemo(function () {
|
36
|
+
return props.hasOwnProperty('maxTagCount') ? maxTagCount : 1;
|
37
|
+
}, [maxTagCount]);
|
38
|
+
|
39
|
+
/* 对于城市级联的选项以及字段名处理 */
|
40
|
+
var _options = useMemo(function () {
|
41
|
+
return city ? cityData : options;
|
42
|
+
}, [city, options]);
|
43
|
+
var _fieldNames = useMemo(function () {
|
44
|
+
return city ? {
|
45
|
+
label: 'name',
|
46
|
+
value: 'name',
|
47
|
+
children: 'districts'
|
48
|
+
} : fieldNames;
|
49
|
+
}, [city, fieldNames]);
|
50
|
+
|
51
|
+
/* 获取label宽度 */
|
52
|
+
var labelRef = useRef();
|
53
|
+
var _useState = useState(11),
|
54
|
+
_useState2 = _slicedToArray(_useState, 2),
|
55
|
+
paddingLeft = _useState2[0],
|
56
|
+
setPaddingLeft = _useState2[1];
|
57
|
+
var labelResizeObserver = new ResizeObserver(function (entries) {
|
58
|
+
setPaddingLeft(entries[0].contentRect.width + 11);
|
59
|
+
});
|
60
|
+
useEffect(function () {
|
61
|
+
labelRef.current && labelResizeObserver.observe(labelRef.current);
|
62
|
+
return function () {
|
63
|
+
return labelResizeObserver.disconnect();
|
64
|
+
};
|
65
|
+
}, []);
|
66
|
+
|
67
|
+
/* 判断value值是否存在于options中 */
|
68
|
+
var _useState3 = useState(),
|
69
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
70
|
+
cascaderValue = _useState4[0],
|
71
|
+
setCascaderValue = _useState4[1];
|
72
|
+
var _inexistent = useRef(false);
|
73
|
+
// 获取所有备选项的值列表
|
74
|
+
var _values = useMemo(function () {
|
75
|
+
var _ref2 = _fieldNames || {},
|
76
|
+
_ref2$value = _ref2.value,
|
77
|
+
fieldValue = _ref2$value === void 0 ? 'value' : _ref2$value,
|
78
|
+
_ref2$children = _ref2.children,
|
79
|
+
fieldChildren = _ref2$children === void 0 ? 'children' : _ref2$children;
|
80
|
+
var values = [];
|
81
|
+
/* 递归获取当前节点的完整级联数据 */
|
82
|
+
var fn = function fn(list, parents) {
|
83
|
+
return list === null || list === void 0 ? void 0 : list.forEach(function (item) {
|
84
|
+
var v = [].concat(_toConsumableArray(parents), [item[fieldValue]]);
|
85
|
+
values.push(v.join(':'));
|
86
|
+
fn(item[fieldChildren], v);
|
87
|
+
});
|
88
|
+
};
|
89
|
+
fn(_options, []);
|
90
|
+
return values;
|
91
|
+
}, [_options, _fieldNames]);
|
92
|
+
// 监听值和值列表的变化(执行不存在值的判断逻辑)
|
93
|
+
useEffect(function () {
|
94
|
+
// 若已执行不存在外抛undefined逻辑,则不再向下执行后续代码,并重置标记
|
95
|
+
if (inexistent && _inexistent.current) {
|
96
|
+
_inexistent.current = false;
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
var _v = value;
|
100
|
+
/* 若inexistent为true,判断不存在情况并重置值 */
|
101
|
+
if (inexistent) {
|
102
|
+
if (multiple) {
|
103
|
+
var _v2;
|
104
|
+
_v = ((_v2 = _v) === null || _v2 === void 0 ? void 0 : _v2.map(function (i) {
|
105
|
+
var _i$join;
|
106
|
+
if (_values.includes(i === null || i === void 0 || (_i$join = i.join) === null || _i$join === void 0 ? void 0 : _i$join.call(i, ':'))) {
|
107
|
+
return i;
|
108
|
+
} else {
|
109
|
+
var _i = _toConsumableArray(i);
|
110
|
+
_i[_i.length - 1] = _i[_i.length - 1] + "\u300C".concat(inexistentText, "\u300D");
|
111
|
+
return _i;
|
112
|
+
}
|
113
|
+
})) || [];
|
114
|
+
} else {
|
115
|
+
var _v3, _v3$join, _v$join, _v4;
|
116
|
+
_v = _v ? _values.includes((_v3 = _v) === null || _v3 === void 0 || (_v3$join = _v3.join) === null || _v3$join === void 0 ? void 0 : _v3$join.call(_v3, ':')) ? _v : [((_v$join = (_v4 = _v).join) === null || _v$join === void 0 ? void 0 : _v$join.call(_v4, ' / ')) + "\u300C".concat(inexistentText, "\u300D")] : undefined;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
// 若当前value包含不存在值,且不保留原值时,则向外抛出undefined,并标记_inexistent为true
|
120
|
+
if (_v && JSON.stringify(_v).indexOf("\u300C".concat(inexistentText, "\u300D")) !== -1 && !reserveOriginalValue) {
|
121
|
+
_inexistent.current = true;
|
122
|
+
onChange === null || onChange === void 0 || onChange([], undefined);
|
123
|
+
}
|
124
|
+
setCascaderValue(_v);
|
125
|
+
}, [value, JSON.stringify(_values), inexistent, multiple]);
|
126
|
+
// 组件change事件
|
127
|
+
var change = function change(v, selectedOptions) {
|
128
|
+
var _v = v,
|
129
|
+
_selectedOptions = selectedOptions;
|
130
|
+
// 若inexistent为true,当重新触发change事件时,将不存在的项移除(仅多选时需处理)
|
131
|
+
if (inexistent && multiple) {
|
132
|
+
_v = v.filter(function (item) {
|
133
|
+
return !item.some(function (i) {
|
134
|
+
return ('' + i).indexOf("\u300C".concat(inexistentText, "\u300D")) !== -1;
|
135
|
+
});
|
136
|
+
});
|
137
|
+
_selectedOptions = selectedOptions.filter(function (item) {
|
138
|
+
return !item.some(function (i) {
|
139
|
+
return !i;
|
140
|
+
});
|
141
|
+
});
|
142
|
+
}
|
143
|
+
if (!props.hasOwnProperty('value')) {
|
144
|
+
setCascaderValue(_v);
|
145
|
+
}
|
146
|
+
onChange === null || onChange === void 0 || onChange(_v, _selectedOptions);
|
147
|
+
};
|
148
|
+
// 扩展全选功能 (继承原有插槽)
|
149
|
+
var dropdownRender = function dropdownRender(menus, _dropdownRender) {
|
150
|
+
return /*#__PURE__*/_jsxs("div", {
|
151
|
+
children: [menus, _dropdownRender, /*#__PURE__*/_jsx(Divider, {
|
152
|
+
style: {
|
153
|
+
margin: 0
|
154
|
+
}
|
155
|
+
}), /*#__PURE__*/_jsx("div", {
|
156
|
+
style: {
|
157
|
+
padding: 8
|
158
|
+
},
|
159
|
+
onClick: function onClick() {
|
160
|
+
// console.log(ref)
|
161
|
+
},
|
162
|
+
children: "\u5168\u9009"
|
163
|
+
})]
|
164
|
+
});
|
165
|
+
};
|
166
|
+
return /*#__PURE__*/_jsxs("div", {
|
167
|
+
style: _objectSpread({
|
168
|
+
position: label ? 'relative' : 'static',
|
169
|
+
height: multiple ? 'auto' : 32,
|
170
|
+
'--selector-pl': "".concat(paddingLeft, "px"),
|
171
|
+
'--inexistent-color': inexistentColor
|
172
|
+
}, style),
|
173
|
+
className: "mc-cascader ".concat(multiple && _maxTagCount === 1 ? 'mc-cascader--inline' : '', " ").concat(className || ''),
|
174
|
+
children: [label && /*#__PURE__*/_jsx("span", {
|
175
|
+
ref: labelRef,
|
176
|
+
className: "mc-cascader__label ".concat(disabled ? 'mc-cascader--disabled' : ''),
|
177
|
+
children: label
|
178
|
+
}), /*#__PURE__*/_jsx(Cascader, _objectSpread({
|
179
|
+
ref: ref,
|
180
|
+
className: "mc-cascader__content",
|
181
|
+
value: cascaderValue,
|
182
|
+
onChange: change,
|
183
|
+
options: _options,
|
184
|
+
multiple: multiple,
|
185
|
+
disabled: disabled,
|
186
|
+
fieldNames: _fieldNames
|
187
|
+
// dropdownRender={dropdownRender}
|
188
|
+
,
|
189
|
+
placeholder: "\u8BF7\u9009\u62E9",
|
190
|
+
showSearch: true,
|
191
|
+
allowClear: true,
|
192
|
+
maxTagCount: _maxTagCount,
|
193
|
+
maxTagPlaceholder: function maxTagPlaceholder(v) {
|
194
|
+
return /*#__PURE__*/_jsx(Popover, {
|
195
|
+
overlayStyle: {
|
196
|
+
maxWidth: 300
|
197
|
+
},
|
198
|
+
content: v.map(function (_ref3, index) {
|
199
|
+
var _ref4;
|
200
|
+
var value = _ref3.value,
|
201
|
+
label = _ref3.label;
|
202
|
+
return /*#__PURE__*/_jsxs("span", {
|
203
|
+
children: [index !== 0 && /*#__PURE__*/_jsx("span", {
|
204
|
+
children: ", "
|
205
|
+
}), /*#__PURE__*/_jsx("span", {
|
206
|
+
style: {
|
207
|
+
color: ((_ref4 = '' + value) === null || _ref4 === void 0 ? void 0 : _ref4.indexOf("\u300C".concat(inexistentText, "\u300D"))) === -1 ? 'rgba(0, 0, 0, 0.88)' : inexistentColor
|
208
|
+
},
|
209
|
+
children: label
|
210
|
+
})]
|
211
|
+
}, value);
|
212
|
+
}),
|
213
|
+
children: /*#__PURE__*/_jsx("span", {
|
214
|
+
children: '+' + v.length
|
215
|
+
})
|
216
|
+
});
|
217
|
+
}
|
218
|
+
}, rest))]
|
219
|
+
});
|
220
|
+
});
|
221
|
+
export default McCascader;
|
@@ -0,0 +1,72 @@
|
|
1
|
+
.mc-cascader {
|
2
|
+
&__label {
|
3
|
+
color: #262626;
|
4
|
+
font-size: 14px;
|
5
|
+
position: absolute;
|
6
|
+
top: 0;
|
7
|
+
left: 11px;
|
8
|
+
z-index: 2;
|
9
|
+
height: 100%;
|
10
|
+
display: flex;
|
11
|
+
align-items: center;
|
12
|
+
|
13
|
+
&::after {
|
14
|
+
content: '\FF1A';
|
15
|
+
margin-left: 2px;
|
16
|
+
}
|
17
|
+
|
18
|
+
&.mc-cascader--disabled {
|
19
|
+
color: rgba(0, 0, 0, 25%);
|
20
|
+
cursor: no-drop;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
&__content {
|
25
|
+
width: 100%;
|
26
|
+
height: 100%;
|
27
|
+
|
28
|
+
&.ant-cascader.ant-select {
|
29
|
+
.ant-select-selector {
|
30
|
+
padding-left: var(--selector-pl);
|
31
|
+
|
32
|
+
.ant-select-selection-overflow-item-rest .ant-select-selection-item {
|
33
|
+
color: #fff;
|
34
|
+
background: #325cf7;
|
35
|
+
padding-left: 4px;
|
36
|
+
|
37
|
+
.ant-select-selection-item-content {
|
38
|
+
margin-right: 0;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
.ant-select-selection-item[title*='「'][title$='」'] {
|
43
|
+
color: var(--inexistent-color);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
&.ant-select-single .ant-select-selector .ant-select-selection-search {
|
48
|
+
left: var(--selector-pl);
|
49
|
+
}
|
50
|
+
|
51
|
+
&.ant-select-multiple .ant-select-selector {
|
52
|
+
.ant-select-selection-placeholder {
|
53
|
+
left: var(--selector-pl);
|
54
|
+
}
|
55
|
+
|
56
|
+
.ant-select-selection-search {
|
57
|
+
margin-left: 0;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
&.mc-cascader--inline
|
64
|
+
.ant-select-selection-overflow-item:not(
|
65
|
+
.ant-select-selection-overflow-item-rest,
|
66
|
+
.ant-select-selection-overflow-item-suffix
|
67
|
+
) {
|
68
|
+
flex: 1;
|
69
|
+
min-width: 0;
|
70
|
+
margin-right: 4px;
|
71
|
+
}
|
72
|
+
}
|
@@ -0,0 +1,192 @@
|
|
1
|
+
import { ButtonProps, TableProps } from 'antd';
|
2
|
+
import { CSSProperties, ReactElement, ReactNode } from 'react';
|
3
|
+
import './index.less';
|
4
|
+
/** 请求参数 */
|
5
|
+
type QueryParamsType<T = any> = {
|
6
|
+
/** 当前页码 */
|
7
|
+
current: number;
|
8
|
+
/** 每页显示的记录数 */
|
9
|
+
pageSize: number;
|
10
|
+
} & T;
|
11
|
+
/** 批量操作配置接口 */
|
12
|
+
interface BatchConfig {
|
13
|
+
/** 是否显示批量操作按钮 */
|
14
|
+
show?: boolean;
|
15
|
+
/** 批量操作按钮的文本 */
|
16
|
+
buttonText?: string;
|
17
|
+
/** 批量操作按钮的属性 */
|
18
|
+
buttonProps?: ButtonProps;
|
19
|
+
/** 批量操作按钮在操作栏中的位置 */
|
20
|
+
order?: number;
|
21
|
+
}
|
22
|
+
/** McContainer 组件 Props 类型定义 */
|
23
|
+
export interface McContainerProps<T> {
|
24
|
+
/** 组件的自定义样式 */
|
25
|
+
style?: CSSProperties;
|
26
|
+
/** 组件的自定义类名 */
|
27
|
+
className?: string;
|
28
|
+
/**
|
29
|
+
* 页面容器的高度
|
30
|
+
* @default 'calc(100vh - 88px)' 即视口高度-菜单header高度56px-页面上下内边距16px*2
|
31
|
+
*/
|
32
|
+
height?: string;
|
33
|
+
/**
|
34
|
+
* 页面容器的背景色
|
35
|
+
* @default '#ffffff'
|
36
|
+
*/
|
37
|
+
backgroundColor?: string;
|
38
|
+
/**
|
39
|
+
* 是否展示头部遮罩
|
40
|
+
* @default true
|
41
|
+
*/
|
42
|
+
showCell?: boolean;
|
43
|
+
/**
|
44
|
+
* 是否触发首次查询
|
45
|
+
* @description 若使用场景为需自定义默认查询参数,可将该属性设置为false,
|
46
|
+
* 并手动调用setDefaultQueryParams方法重新设置默认查询参数,而后调用query方法触发查询
|
47
|
+
* @default true
|
48
|
+
*/
|
49
|
+
immediateQuery?: boolean;
|
50
|
+
/**
|
51
|
+
* 加载中状态(已覆盖table组件的loading)
|
52
|
+
* @default false
|
53
|
+
*/
|
54
|
+
loading?: boolean;
|
55
|
+
/** 加载loading下方的文案,默认为测试中 */
|
56
|
+
loadingText?: string;
|
57
|
+
/**
|
58
|
+
* 查询项(不受展开、收起按钮控制显示隐藏的查询项)
|
59
|
+
* @description 建议结合 McSelect、McCascader、McDateRange、McInput 等组件使用
|
60
|
+
*/
|
61
|
+
queryItems?: ReactElement;
|
62
|
+
/**
|
63
|
+
* 是否显示查询按钮
|
64
|
+
* @default true
|
65
|
+
*/
|
66
|
+
showQuery?: boolean;
|
67
|
+
/**
|
68
|
+
* 是否显示重置按钮
|
69
|
+
* @default true
|
70
|
+
*/
|
71
|
+
showReset?: boolean;
|
72
|
+
/**
|
73
|
+
* 是否显示展开、收起按钮
|
74
|
+
* @default false
|
75
|
+
*/
|
76
|
+
showCollapse?: boolean;
|
77
|
+
/** 可折叠的查询项(可通过展开、收起按钮控制显示隐藏的查询项) */
|
78
|
+
collapsibleQueryItems?: ReactElement;
|
79
|
+
/**
|
80
|
+
* 查询回调事件
|
81
|
+
* @param params - 分页参数
|
82
|
+
* @param filters - 过滤条件
|
83
|
+
* @param sorter - 排序条件
|
84
|
+
* @param extra - 额外信息,包含当前数据源和触发的操作类型
|
85
|
+
*/
|
86
|
+
onQuery?: (params: QueryParamsType<T>, filters?: Record<string, any>, sorter?: Record<string, any>, extra?: {
|
87
|
+
currentDataSource: any[];
|
88
|
+
action: 'paginate' | 'sort' | 'filter';
|
89
|
+
}) => void;
|
90
|
+
/**
|
91
|
+
* 重置按钮回调事件
|
92
|
+
* @description 若设置该属性,则在点击重置按钮时不再触发onQuery事件
|
93
|
+
*/
|
94
|
+
onReset?: (params?: QueryParamsType<T>) => void;
|
95
|
+
/**
|
96
|
+
* 查询区自定义渲染
|
97
|
+
* @description 若设置为null,则不显示查询区
|
98
|
+
*/
|
99
|
+
queryRender?: ReactNode;
|
100
|
+
/**
|
101
|
+
* 操作栏
|
102
|
+
* @description 若未设置该项,则不显示
|
103
|
+
*/
|
104
|
+
actionBar?: ReactElement;
|
105
|
+
/**
|
106
|
+
* 操作栏自定义渲染
|
107
|
+
* @param batchEl - 批量操作按钮实例
|
108
|
+
*/
|
109
|
+
actionBarRender?: (batchEl: ReactNode) => ReactNode;
|
110
|
+
/**
|
111
|
+
* 批量操作已选项数量
|
112
|
+
* @description 当数量大于0时,显示批量操作栏
|
113
|
+
*/
|
114
|
+
batchNum?: number;
|
115
|
+
/**
|
116
|
+
* 批量操作按钮区
|
117
|
+
* @description 若未设置该项,则不显示
|
118
|
+
*/
|
119
|
+
batchBtns?: ReactNode;
|
120
|
+
/** 批量操作按钮配置 */
|
121
|
+
batch?: BatchConfig;
|
122
|
+
/** 批量操作取消按钮回调事件 */
|
123
|
+
onCancel?: () => void;
|
124
|
+
/** 表格组件属性 */
|
125
|
+
tableProps?: TableProps<any>;
|
126
|
+
/**
|
127
|
+
* 数据表格区自定义渲染
|
128
|
+
* @description 若设置为null,则不显示数据表格区
|
129
|
+
*/
|
130
|
+
tableRender?: ReactNode;
|
131
|
+
/**
|
132
|
+
* 当前分页数据为空且非第一页时,是否自动会退到上一个分页
|
133
|
+
* @default false
|
134
|
+
*/
|
135
|
+
autoBackPagination?: boolean;
|
136
|
+
/**
|
137
|
+
* 折叠事件的回调
|
138
|
+
* @param collapsed - 是否折叠
|
139
|
+
*/
|
140
|
+
onCollapse?: (collapsed: boolean) => void;
|
141
|
+
}
|
142
|
+
/** McContainer 组件 Ref 类型定义 */
|
143
|
+
export interface McContainerRef<T = any> {
|
144
|
+
/**
|
145
|
+
* 调用查询的方法
|
146
|
+
* @description 可通过传参更新查询参数的状态后触发查询,所设置的属性仅会覆盖原查询参数对应的属性
|
147
|
+
* @param params - 查询参数,仅支持设置过name属性的查询项
|
148
|
+
*/
|
149
|
+
query: (params?: QueryParamsType<T>) => void;
|
150
|
+
/**
|
151
|
+
* 调用重置的方法
|
152
|
+
* @description 重置查询参数为默认值
|
153
|
+
*/
|
154
|
+
reset: () => void;
|
155
|
+
/**
|
156
|
+
* 设置默认查询参数
|
157
|
+
* @description 用于重置使用,仅对设置过name属性的查询项有效
|
158
|
+
* 仅对设置过name属性的查询项(和current、pageSize)有效,查询项自身已绑定value属性的除外,需自行编写相关业务逻辑代码进行状态管理;
|
159
|
+
* 可通过该方法配置默认查询的分页参数;
|
160
|
+
* 设置的查询参数将覆盖原有默认值,如:setDefaultQueryParams({pageSize: 10, status: 1}),设置后的默认查询参数为{current: 1, pageSize: 10, status: 1}
|
161
|
+
* 原有默认值 {current: 1, pageSize: 20}(若未开启分页功能,默认值为{}
|
162
|
+
* @param params - 默认查询参数
|
163
|
+
*/
|
164
|
+
setDefaultQueryParams: (params: QueryParamsType<T>) => void;
|
165
|
+
/**
|
166
|
+
* 设置单个查询项的参数
|
167
|
+
* @description 仅支持设置过name属性的查询项
|
168
|
+
* @param name - 查询项名称
|
169
|
+
* @param value - 查询项值
|
170
|
+
*/
|
171
|
+
setQueryParam: (name: keyof QueryParamsType<T>, value: any) => void;
|
172
|
+
/**
|
173
|
+
* 获取单个查询项的参数
|
174
|
+
* @description 仅支持设置过name属性的查询项
|
175
|
+
* @param name - 查询项名称
|
176
|
+
*/
|
177
|
+
getQueryParam: (name: keyof QueryParamsType<T>) => any;
|
178
|
+
/**
|
179
|
+
* 获取所有查询项的参数
|
180
|
+
* @returns 当前可见的查询项的参数集
|
181
|
+
*/
|
182
|
+
getQueryParams: () => QueryParamsType<T>;
|
183
|
+
/**
|
184
|
+
* 重置查询参数
|
185
|
+
* @description 重置为默认查询参数
|
186
|
+
*/
|
187
|
+
resetQueryParams: () => void;
|
188
|
+
}
|
189
|
+
declare const McContainer: <T>(props: McContainerProps<T> & {
|
190
|
+
ref?: React.ForwardedRef<McContainerRef<T>>;
|
191
|
+
}) => JSX.Element;
|
192
|
+
export default McContainer;
|