@teamix/pro 1.3.2 → 1.3.5
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/pro.css +1 -1
- package/dist/pro.js +13959 -2353
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/dist/pro.min.js.LICENSE.txt +9 -0
- package/es/actions/dialog-form.js +8 -5
- package/es/actions/dialog.js +2 -4
- package/es/form/Components/LightFilter/index.d.ts +1 -0
- package/es/form/Components/LightFilter/index.js +9 -6
- package/es/form/Filter/LightFilter.js +13 -3
- package/es/form/Filter/SimpleFilter.js +1 -1
- package/es/form/Filter/index.js +44 -10
- package/es/form/ProForm/useFormDisplayValues.js +2 -2
- package/es/form/SchemaForm/adapterDecorator.js +1 -1
- package/es/form/SchemaForm/adapterType.js +2 -5
- package/es/form/SchemaForm/index.js +27 -12
- package/es/form/SchemaForm/initializeDataSource.d.ts +1 -0
- package/es/form/SchemaForm/initializeDataSource.js +7 -1
- package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
- package/es/form/SchemaForm/initializeSelectTable.js +38 -0
- package/es/form/SchemaForm/reactions.d.ts +1 -1
- package/es/form/SchemaForm/reactions.js +20 -16
- package/es/form/docs/ActionResponse.d.ts +7 -0
- package/es/form/docs/ActionResponse.js +11 -0
- package/es/form/docs/ActionResponse.less +25 -0
- package/es/form/index.d.ts +1 -0
- package/es/form/typing.d.ts +6 -1
- package/es/form/utils.js +13 -4
- package/es/index.d.ts +4 -2
- package/es/index.js +5 -5
- package/es/info/components/ProInfoItem/index.js +6 -2
- package/es/info/components/ProInfoItem/index.scss +3 -0
- package/es/info/components/baseInfo/index.js +2 -1
- package/es/info/typing.d.ts +2 -0
- package/es/info/utils/index.d.ts +8 -0
- package/es/info/utils/index.js +28 -1
- package/es/page-header/index.d.ts +3 -1
- package/es/page-header/index.js +12 -3
- package/es/sidebar/components/sidebar-container/index.js +114 -9
- package/es/sidebar/components/sidebar-container/index.scss +53 -5
- package/es/sidebar/components/tree/index.d.ts +2 -0
- package/es/sidebar/components/tree/index.js +222 -76
- package/es/sidebar/components/tree/index.scss +10 -0
- package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
- package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.js +62 -0
- package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
- package/es/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
- package/es/sidebar/components/tree-node/componnets/IconAction/index.js +105 -0
- package/es/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
- package/es/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
- package/es/sidebar/components/tree-node/componnets/IconSwitch/index.js +73 -0
- package/es/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
- package/es/sidebar/components/tree-node/index.d.ts +7 -0
- package/es/sidebar/components/tree-node/index.js +225 -0
- package/es/sidebar/components/tree-node/index.scss +58 -0
- package/es/sidebar/index.d.ts +2 -0
- package/es/sidebar/index.js +147 -12
- package/es/sidebar/index.scss +24 -1
- package/es/sidebar/typing.d.ts +83 -13
- package/es/sidebar/utils/action-ref.d.ts +3 -0
- package/es/sidebar/utils/action-ref.js +15 -0
- package/es/sidebar/utils/index.d.ts +71 -0
- package/es/sidebar/utils/index.js +228 -0
- package/es/table/components/ToolBar/index.scss +1 -1
- package/es/table/index.scss +10 -0
- package/lib/actions/dialog-form.js +8 -5
- package/lib/actions/dialog.js +1 -3
- package/lib/form/Components/LightFilter/index.d.ts +1 -0
- package/lib/form/Components/LightFilter/index.js +9 -6
- package/lib/form/Filter/LightFilter.js +13 -3
- package/lib/form/Filter/SimpleFilter.js +1 -1
- package/lib/form/Filter/index.js +44 -10
- package/lib/form/ProForm/useFormDisplayValues.js +1 -1
- package/lib/form/SchemaForm/adapterDecorator.js +1 -1
- package/lib/form/SchemaForm/adapterType.js +2 -5
- package/lib/form/SchemaForm/index.js +28 -11
- package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -0
- package/lib/form/SchemaForm/initializeDataSource.js +7 -1
- package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
- package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
- package/lib/form/SchemaForm/reactions.d.ts +1 -1
- package/lib/form/SchemaForm/reactions.js +20 -16
- package/lib/form/docs/ActionResponse.d.ts +7 -0
- package/lib/form/docs/ActionResponse.js +24 -0
- package/lib/form/docs/ActionResponse.less +25 -0
- package/lib/form/index.d.ts +1 -0
- package/lib/form/typing.d.ts +6 -1
- package/lib/form/utils.js +13 -4
- package/lib/index.d.ts +4 -2
- package/lib/index.js +22 -2
- package/lib/info/components/ProInfoItem/index.js +6 -2
- package/lib/info/components/ProInfoItem/index.scss +3 -0
- package/lib/info/components/baseInfo/index.js +1 -0
- package/lib/info/typing.d.ts +2 -0
- package/lib/info/utils/index.d.ts +8 -0
- package/lib/info/utils/index.js +32 -1
- package/lib/page-header/index.d.ts +3 -1
- package/lib/page-header/index.js +11 -2
- package/lib/sidebar/components/sidebar-container/index.js +120 -8
- package/lib/sidebar/components/sidebar-container/index.scss +53 -5
- package/lib/sidebar/components/tree/index.d.ts +2 -0
- package/lib/sidebar/components/tree/index.js +230 -76
- package/lib/sidebar/components/tree/index.scss +10 -0
- package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
- package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.js +80 -0
- package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
- package/lib/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
- package/lib/sidebar/components/tree-node/componnets/IconAction/index.js +127 -0
- package/lib/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
- package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
- package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.js +94 -0
- package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
- package/lib/sidebar/components/tree-node/index.d.ts +7 -0
- package/lib/sidebar/components/tree-node/index.js +252 -0
- package/lib/sidebar/components/tree-node/index.scss +58 -0
- package/lib/sidebar/index.d.ts +2 -0
- package/lib/sidebar/index.js +173 -10
- package/lib/sidebar/index.scss +24 -1
- package/lib/sidebar/typing.d.ts +83 -13
- package/lib/sidebar/utils/action-ref.d.ts +3 -0
- package/lib/sidebar/utils/action-ref.js +22 -0
- package/lib/sidebar/utils/index.d.ts +71 -0
- package/lib/sidebar/utils/index.js +247 -0
- package/lib/table/components/ToolBar/index.scss +1 -1
- package/lib/table/index.scss +10 -0
- package/package.json +4 -4
@@ -0,0 +1,73 @@
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
2
|
+
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
+
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
6
|
+
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
8
|
+
|
9
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
10
|
+
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
12
|
+
|
13
|
+
import TeamixIcon from '@teamix/icon';
|
14
|
+
import { baseClass } from '@teamix/utils';
|
15
|
+
import React, { isValidElement, useEffect, useState } from 'react';
|
16
|
+
import ProHoverTooltip from '../HoverTooltip';
|
17
|
+
import './index.scss';
|
18
|
+
var cls = baseClass('teamix-pro-icon-switch');
|
19
|
+
|
20
|
+
var ProIconSwitch = function ProIconSwitch(props) {
|
21
|
+
var visibleProp = props.visible,
|
22
|
+
icon = props.icon,
|
23
|
+
activeIcon = props.activeIcon,
|
24
|
+
onChange = props.onChange,
|
25
|
+
tooltipVisible = props.tooltipVisible,
|
26
|
+
tooltipProps = props.tooltipProps,
|
27
|
+
tooltip = props.tooltip,
|
28
|
+
cancelTooltip = props.cancelTooltip;
|
29
|
+
|
30
|
+
var _useState = useState(visibleProp !== null && visibleProp !== void 0 ? visibleProp : false),
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
32
|
+
visible = _useState2[0],
|
33
|
+
setVisible = _useState2[1];
|
34
|
+
|
35
|
+
useEffect(function () {
|
36
|
+
setVisible(visibleProp !== null && visibleProp !== void 0 ? visibleProp : false);
|
37
|
+
}, [visibleProp]); // 点击操作
|
38
|
+
|
39
|
+
var clickHandle = function clickHandle(e, state) {
|
40
|
+
e.stopPropagation();
|
41
|
+
setVisible(state);
|
42
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(state);
|
43
|
+
};
|
44
|
+
|
45
|
+
if (visible) {
|
46
|
+
if ( /*#__PURE__*/isValidElement(icon)) {
|
47
|
+
return icon;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
if ( /*#__PURE__*/isValidElement(activeIcon)) {
|
52
|
+
return activeIcon;
|
53
|
+
}
|
54
|
+
|
55
|
+
return /*#__PURE__*/React.createElement(ProHoverTooltip, {
|
56
|
+
visible: tooltipVisible,
|
57
|
+
tooltip: visible ? cancelTooltip !== null && cancelTooltip !== void 0 ? cancelTooltip : tooltip : tooltip,
|
58
|
+
tooltipProps: tooltipProps,
|
59
|
+
trigger: /*#__PURE__*/React.createElement(TeamixIcon, {
|
60
|
+
size: "small",
|
61
|
+
className: cls({
|
62
|
+
'': true,
|
63
|
+
active: visible
|
64
|
+
}),
|
65
|
+
type: visible ? activeIcon !== null && activeIcon !== void 0 ? activeIcon : icon : icon,
|
66
|
+
onClick: function onClick(e) {
|
67
|
+
clickHandle(e, !visible);
|
68
|
+
}
|
69
|
+
})
|
70
|
+
});
|
71
|
+
};
|
72
|
+
|
73
|
+
export default ProIconSwitch;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ProSidebarDataSource, ProSidebarDataSourceItem } from '../../typing';
|
3
|
+
import { ProSidebarProps } from '../..';
|
4
|
+
declare const ProSideBarTreeNode: React.FC<ProSidebarDataSourceItem>;
|
5
|
+
export declare function renderTreeNode(data: ProSidebarDataSource): JSX.Element[];
|
6
|
+
export declare function renderTreeNodeDependenceValue(data: ProSidebarDataSource, onBeforeRenderNodeEvent: ProSidebarProps['onBeforeRenderNodeEvent'], checkedKeys: any[], selectedKeys: any[], allData?: ProSidebarDataSource): JSX.Element[];
|
7
|
+
export default ProSideBarTreeNode;
|
@@ -0,0 +1,225 @@
|
|
1
|
+
var _excluded = ["type", "action", "props"];
|
2
|
+
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
4
|
+
|
5
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
6
|
+
|
7
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
8
|
+
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
10
|
+
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
12
|
+
|
13
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
14
|
+
|
15
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
16
|
+
|
17
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
18
|
+
|
19
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
20
|
+
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
22
|
+
|
23
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
24
|
+
|
25
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
26
|
+
|
27
|
+
import { Tree } from '@alicloudfe/components';
|
28
|
+
import { ProActionGroup } from '../../../actions';
|
29
|
+
import { baseClass, renderTags } from '@teamix/utils';
|
30
|
+
import React, { isValidElement, useState } from 'react';
|
31
|
+
import ProField from '@teamix/pro-field';
|
32
|
+
import ProIconAction from './componnets/IconAction';
|
33
|
+
import ProIconSwitch from './componnets/IconSwitch';
|
34
|
+
import ProHoverTooltip from './componnets/HoverTooltip';
|
35
|
+
var cls = baseClass('teamix-pro-sidebar-tree');
|
36
|
+
|
37
|
+
var ProSideBarTreeNode = function ProSideBarTreeNode(props) {
|
38
|
+
var tag = props.tag,
|
39
|
+
render = props.render,
|
40
|
+
_props$valueType = props.valueType,
|
41
|
+
valueType = _props$valueType === void 0 ? 'text' : _props$valueType,
|
42
|
+
fieldProps = props.fieldProps,
|
43
|
+
extra = props.extra,
|
44
|
+
label = props.label;
|
45
|
+
|
46
|
+
var _useState = useState(false),
|
47
|
+
_useState2 = _slicedToArray(_useState, 2),
|
48
|
+
extraVisible = _useState2[0],
|
49
|
+
setExtraVisible = _useState2[1]; // 获取 extra 区域渲染组件
|
50
|
+
|
51
|
+
|
52
|
+
var getExtraComponent = function getExtraComponent(type, action, props, others) {
|
53
|
+
var _ref = others !== null && others !== void 0 ? others : {},
|
54
|
+
_ref$hover = _ref.hover,
|
55
|
+
hover = _ref$hover === void 0 ? true : _ref$hover;
|
56
|
+
|
57
|
+
if (type === 'action') {
|
58
|
+
return /*#__PURE__*/React.createElement(ProHoverTooltip, {
|
59
|
+
visible: !hover || extraVisible,
|
60
|
+
trigger: /*#__PURE__*/React.createElement(ProActionGroup, _objectSpread({
|
61
|
+
type: "text",
|
62
|
+
actions: action
|
63
|
+
}, props))
|
64
|
+
});
|
65
|
+
}
|
66
|
+
|
67
|
+
if (type === 'iconSwitch') {
|
68
|
+
return /*#__PURE__*/React.createElement(ProIconSwitch, _objectSpread({
|
69
|
+
tooltipVisible: !hover || extraVisible
|
70
|
+
}, props));
|
71
|
+
}
|
72
|
+
|
73
|
+
if (type === 'iconAction') {
|
74
|
+
return /*#__PURE__*/React.createElement(ProIconAction, _objectSpread({
|
75
|
+
visible: !hover || extraVisible,
|
76
|
+
action: action
|
77
|
+
}, props));
|
78
|
+
}
|
79
|
+
|
80
|
+
if (type === 'custom') {
|
81
|
+
return /*#__PURE__*/React.createElement(ProHoverTooltip, {
|
82
|
+
className: cls('extra-custom'),
|
83
|
+
visible: !hover || extraVisible,
|
84
|
+
trigger: others.trigger
|
85
|
+
});
|
86
|
+
}
|
87
|
+
}; // 渲染 extra 区域
|
88
|
+
|
89
|
+
|
90
|
+
var renderExtra = function renderExtra() {
|
91
|
+
var result = /*#__PURE__*/React.createElement(React.Fragment, null); // extra 是否是 action 配置
|
92
|
+
|
93
|
+
var isActionGroupProps = Array.isArray(extra) && ! /*#__PURE__*/isValidElement(extra === null || extra === void 0 ? void 0 : extra[0]) && Array.isArray(extra === null || extra === void 0 ? void 0 : extra[0]); // 直接渲染 action
|
94
|
+
|
95
|
+
if (isActionGroupProps) {
|
96
|
+
result = /*#__PURE__*/React.createElement(ProActionGroup, {
|
97
|
+
actions: extra,
|
98
|
+
type: "text"
|
99
|
+
});
|
100
|
+
} // 大杂烩
|
101
|
+
|
102
|
+
|
103
|
+
if (extra && Array.isArray(extra)) {
|
104
|
+
result = /*#__PURE__*/React.createElement(React.Fragment, null, extra.map(function (item, index) {
|
105
|
+
if ( /*#__PURE__*/isValidElement(item) || typeof item === 'string') {
|
106
|
+
return /*#__PURE__*/React.createElement("span", {
|
107
|
+
key: index,
|
108
|
+
className: cls('item-content-extra-item')
|
109
|
+
}, item);
|
110
|
+
}
|
111
|
+
|
112
|
+
var type = item.type,
|
113
|
+
_item$action = item.action,
|
114
|
+
action = _item$action === void 0 ? {} : _item$action,
|
115
|
+
_item$props = item.props,
|
116
|
+
props = _item$props === void 0 ? {} : _item$props,
|
117
|
+
others = _objectWithoutProperties(item, _excluded);
|
118
|
+
|
119
|
+
return /*#__PURE__*/React.createElement("span", {
|
120
|
+
key: index,
|
121
|
+
className: cls('item-content-extra-item')
|
122
|
+
}, getExtraComponent(type, action, props, others));
|
123
|
+
}));
|
124
|
+
}
|
125
|
+
|
126
|
+
return result;
|
127
|
+
}; // 鼠标移入
|
128
|
+
|
129
|
+
|
130
|
+
var onMouseEnter = function onMouseEnter(e) {
|
131
|
+
var _e$target, _e$target$closest;
|
132
|
+
|
133
|
+
if (e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : (_e$target$closest = _e$target.closest) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.call(_e$target, '.teamix-pro-sidebar-delete-overlay')) {
|
134
|
+
return;
|
135
|
+
}
|
136
|
+
|
137
|
+
setExtraVisible(true);
|
138
|
+
}; // 鼠标移出
|
139
|
+
|
140
|
+
|
141
|
+
var onMouseLeave = function onMouseLeave(e) {
|
142
|
+
var _e$target2, _e$target2$closest;
|
143
|
+
|
144
|
+
if (e === null || e === void 0 ? void 0 : (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : (_e$target2$closest = _e$target2.closest) === null || _e$target2$closest === void 0 ? void 0 : _e$target2$closest.call(_e$target2, '.teamix-pro-sidebar-delete-overlay')) {
|
145
|
+
return;
|
146
|
+
}
|
147
|
+
|
148
|
+
setExtraVisible(false);
|
149
|
+
}; // 获取 ProFieldRender
|
150
|
+
|
151
|
+
|
152
|
+
var getFieldRender = function getFieldRender() {
|
153
|
+
if (typeof render === 'function') {
|
154
|
+
return render;
|
155
|
+
}
|
156
|
+
|
157
|
+
return _objectSpread({
|
158
|
+
ellipsis: true,
|
159
|
+
emptyText: '-'
|
160
|
+
}, render);
|
161
|
+
}; // 获取 tag 参数
|
162
|
+
|
163
|
+
|
164
|
+
var getTags = function getTags(tags) {
|
165
|
+
if ( /*#__PURE__*/isValidElement(tags)) {
|
166
|
+
return tags;
|
167
|
+
}
|
168
|
+
|
169
|
+
if (Array.isArray(tags)) {
|
170
|
+
return tags.map(function (item) {
|
171
|
+
return _objectSpread({
|
172
|
+
size: 'small'
|
173
|
+
}, item);
|
174
|
+
});
|
175
|
+
}
|
176
|
+
|
177
|
+
if (_typeof(tags) === 'object') {
|
178
|
+
return _objectSpread({
|
179
|
+
size: 'small'
|
180
|
+
}, tags);
|
181
|
+
}
|
182
|
+
};
|
183
|
+
|
184
|
+
return /*#__PURE__*/React.createElement("div", {
|
185
|
+
className: cls('item-context'),
|
186
|
+
onMouseEnter: onMouseEnter,
|
187
|
+
onMouseLeave: onMouseLeave
|
188
|
+
}, /*#__PURE__*/React.createElement("div", {
|
189
|
+
className: cls('item-context-front')
|
190
|
+
}, /*#__PURE__*/React.createElement(ProField, _objectSpread({
|
191
|
+
value: label,
|
192
|
+
type: valueType,
|
193
|
+
render: getFieldRender()
|
194
|
+
}, fieldProps)), tag && /*#__PURE__*/React.createElement("span", {
|
195
|
+
className: cls('item-context-tag')
|
196
|
+
}, renderTags(getTags(tag)))), /*#__PURE__*/React.createElement("div", {
|
197
|
+
className: cls('item-content-extra')
|
198
|
+
}, renderExtra()));
|
199
|
+
}; // 渲染树节点
|
200
|
+
|
201
|
+
|
202
|
+
export function renderTreeNode(data) {
|
203
|
+
return data.map(function (item) {
|
204
|
+
return /*#__PURE__*/React.createElement(Tree.Node, {
|
205
|
+
key: item.value,
|
206
|
+
label: /*#__PURE__*/React.createElement(ProSideBarTreeNode, _objectSpread({}, item))
|
207
|
+
}, item.children && item.children.length > 0 && renderTreeNode(item.children));
|
208
|
+
});
|
209
|
+
} // 渲染树节点 依赖 value
|
210
|
+
|
211
|
+
export function renderTreeNodeDependenceValue(data, onBeforeRenderNodeEvent, checkedKeys, selectedKeys, allData) {
|
212
|
+
return data.map(function (item) {
|
213
|
+
var newProps = item;
|
214
|
+
|
215
|
+
if (onBeforeRenderNodeEvent) {
|
216
|
+
newProps = onBeforeRenderNodeEvent(item, checkedKeys, selectedKeys, allData !== null && allData !== void 0 ? allData : data);
|
217
|
+
}
|
218
|
+
|
219
|
+
return /*#__PURE__*/React.createElement(Tree.Node, {
|
220
|
+
key: item.value,
|
221
|
+
label: /*#__PURE__*/React.createElement(ProSideBarTreeNode, _objectSpread({}, newProps))
|
222
|
+
}, item.children && item.children.length > 0 && renderTreeNodeDependenceValue(item.children, onBeforeRenderNodeEvent, checkedKeys, selectedKeys, allData !== null && allData !== void 0 ? allData : data));
|
223
|
+
});
|
224
|
+
}
|
225
|
+
export default ProSideBarTreeNode;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
.teamix-pro-sidebar-tree {
|
2
|
+
&-item-context {
|
3
|
+
display: flex;
|
4
|
+
align-items: center;
|
5
|
+
justify-content: space-between;
|
6
|
+
height: 100%;
|
7
|
+
&-tag {
|
8
|
+
margin-left: 6px;
|
9
|
+
display: flex;
|
10
|
+
align-items: center;
|
11
|
+
}
|
12
|
+
|
13
|
+
.teamix-pro-field {
|
14
|
+
display: flex;
|
15
|
+
align-items: center;
|
16
|
+
|
17
|
+
.teamix-pro-ellipsis{
|
18
|
+
white-space: normal;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
&-item-context-front {
|
23
|
+
display: flex;
|
24
|
+
align-items: center;
|
25
|
+
}
|
26
|
+
&-item-content-has-extra {
|
27
|
+
display: flex;
|
28
|
+
justify-content: space-between;
|
29
|
+
width: 100%;
|
30
|
+
text-align: center;
|
31
|
+
}
|
32
|
+
|
33
|
+
&-item-content-extra {
|
34
|
+
&-item {
|
35
|
+
margin-right: 4px;
|
36
|
+
display: inline-block;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
&-extra-custom {
|
41
|
+
color: var(--color-fill1-6, #848484);
|
42
|
+
}
|
43
|
+
|
44
|
+
// 在 ProField 里 icon 后的主要文本默认加粗。这里抵消
|
45
|
+
.teamix-icon + span.teamix-pro-field-output-bold {
|
46
|
+
font-weight: unset;
|
47
|
+
}
|
48
|
+
.teamix-icon + span.teamix-pro-ellipsis-content {
|
49
|
+
.teamix-pro-field-output-bold {
|
50
|
+
font-weight: unset;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
.next-tree.next-node-block .next-tree-node-inner{
|
54
|
+
padding: 6px 0px 6px 4px !important;
|
55
|
+
margin: 0 0 4px 0px;
|
56
|
+
border-radius: 2px;
|
57
|
+
}
|
58
|
+
}
|
package/es/sidebar/index.d.ts
CHANGED
package/es/sidebar/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["dataSource", "className", "style", "searchOnChange", "showSearch", "onSelect", "treeProps", "cardProps"];
|
1
|
+
var _excluded = ["selectedKeys", "checkedKeys", "dataSource", "className", "style", "searchOnChange", "showSearch", "onSelect", "onCheck", "treeProps", "cardProps", "actionRef", "onBeforeRenderNodeEvent", "beforeRenderNode", "url", "method", "params", "data", "extendParams", "beforeRequest", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError", "link", "scrollArea", "onExpandAllChange", "onExpandLevelChange"];
|
2
2
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
4
4
|
|
@@ -22,35 +22,156 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
22
22
|
|
23
23
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
24
24
|
|
25
|
-
import React, { useState } from 'react';
|
25
|
+
import React, { useEffect, useRef, useState } from 'react';
|
26
26
|
import './index.scss';
|
27
|
-
import { baseClass } from '@teamix/utils';
|
27
|
+
import { baseClass, doCommonRequest } from '@teamix/utils';
|
28
28
|
import ProSidebarContainer from './components/sidebar-container';
|
29
29
|
import ProSidebarTree from './components/tree';
|
30
|
+
import { getTreeLevel, ProSkeletonRaw } from '..';
|
31
|
+
import { useActionType } from './utils/action-ref';
|
32
|
+
export * from './typing';
|
33
|
+
export * from './utils';
|
30
34
|
var cls = baseClass('teamix-pro-sidebar');
|
31
35
|
|
32
36
|
var ProSidebar = function ProSidebar(props) {
|
33
|
-
var
|
34
|
-
|
37
|
+
var selectedKeys = props.selectedKeys,
|
38
|
+
checkedKeys = props.checkedKeys,
|
39
|
+
dataSourceProp = props.dataSource,
|
40
|
+
_props$className = props.className,
|
41
|
+
className = _props$className === void 0 ? '' : _props$className,
|
35
42
|
style = props.style,
|
36
43
|
_searchOnChange = props.searchOnChange,
|
37
44
|
_props$showSearch = props.showSearch,
|
38
45
|
showSearch = _props$showSearch === void 0 ? true : _props$showSearch,
|
39
46
|
onSelect = props.onSelect,
|
47
|
+
onCheck = props.onCheck,
|
40
48
|
treeProps = props.treeProps,
|
41
49
|
cardProps = props.cardProps,
|
50
|
+
actionRefProp = props.actionRef,
|
51
|
+
onBeforeRenderNodeEvent = props.onBeforeRenderNodeEvent,
|
52
|
+
beforeRenderNode = props.beforeRenderNode,
|
53
|
+
_props$url = props.url,
|
54
|
+
url = _props$url === void 0 ? '' : _props$url,
|
55
|
+
_props$method = props.method,
|
56
|
+
method = _props$method === void 0 ? 'post' : _props$method,
|
57
|
+
params = props.params,
|
58
|
+
data = props.data,
|
59
|
+
extendParams = props.extendParams,
|
60
|
+
beforeRequest = props.beforeRequest,
|
61
|
+
successMsg = props.successMsg,
|
62
|
+
errorMsg = props.errorMsg,
|
63
|
+
formatParams = props.formatParams,
|
64
|
+
formatResult = props.formatResult,
|
65
|
+
onSuccess = props.onSuccess,
|
66
|
+
onError = props.onError,
|
67
|
+
link = props.link,
|
68
|
+
_props$scrollArea = props.scrollArea,
|
69
|
+
scrollArea = _props$scrollArea === void 0 ? 'all' : _props$scrollArea,
|
70
|
+
onExpandAllChangeProp = props.onExpandAllChange,
|
71
|
+
onExpandLevelChangeProp = props.onExpandLevelChange,
|
42
72
|
others = _objectWithoutProperties(props, _excluded); // 搜索的关键词
|
43
73
|
|
44
74
|
|
45
75
|
var _useState = useState(),
|
46
76
|
_useState2 = _slicedToArray(_useState, 2),
|
47
77
|
searchKey = _useState2[0],
|
48
|
-
setSearchKey = _useState2[1];
|
78
|
+
setSearchKey = _useState2[1]; // loading 状态
|
79
|
+
|
80
|
+
|
81
|
+
var _useState3 = useState(true),
|
82
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
83
|
+
loading = _useState4[0],
|
84
|
+
setLoading = _useState4[1]; // 数据源
|
85
|
+
|
86
|
+
|
87
|
+
var _useState5 = useState(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []),
|
88
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
89
|
+
dataSource = _useState6[0],
|
90
|
+
setDataSource = _useState6[1]; // 展开全部状态
|
91
|
+
|
92
|
+
|
93
|
+
var _useState7 = useState(false),
|
94
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
95
|
+
expandAllState = _useState8[0],
|
96
|
+
setExpandAllState = _useState8[1]; // 展开层级状态
|
97
|
+
|
98
|
+
|
99
|
+
var _useState9 = useState(0),
|
100
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
101
|
+
expandLevelState = _useState10[0],
|
102
|
+
setExpandLevelState = _useState10[1]; // 树层级
|
103
|
+
|
104
|
+
|
105
|
+
var _useState11 = useState(0),
|
106
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
107
|
+
expandLevel = _useState12[0],
|
108
|
+
setExpandLevel = _useState12[1];
|
109
|
+
|
110
|
+
var actionRef = useRef(); // const requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
|
111
|
+
|
112
|
+
var requestConfig = {
|
113
|
+
url: url,
|
114
|
+
method: method,
|
115
|
+
params: params,
|
116
|
+
data: data,
|
117
|
+
extendParams: extendParams,
|
118
|
+
beforeRequest: beforeRequest,
|
119
|
+
successMsg: successMsg,
|
120
|
+
errorMsg: errorMsg,
|
121
|
+
formatParams: formatParams,
|
122
|
+
formatResult: formatResult,
|
123
|
+
onSuccess: onSuccess,
|
124
|
+
onError: onError,
|
125
|
+
link: link
|
126
|
+
};
|
127
|
+
useEffect(function () {
|
128
|
+
if (url) {
|
129
|
+
request();
|
130
|
+
} else {
|
131
|
+
setLoading(false);
|
132
|
+
}
|
133
|
+
}, []);
|
134
|
+
useEffect(function () {
|
135
|
+
setDataSource(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []);
|
136
|
+
}, [dataSourceProp]); // 请求数据
|
137
|
+
|
138
|
+
var request = function request() {
|
139
|
+
setLoading(true);
|
140
|
+
doCommonRequest(requestConfig).then(function (resp) {
|
141
|
+
setDataSource(resp);
|
142
|
+
}).finally(function () {
|
143
|
+
setLoading(false);
|
144
|
+
});
|
145
|
+
};
|
146
|
+
|
147
|
+
useActionType(actionRefProp !== null && actionRefProp !== void 0 ? actionRefProp : actionRef, {
|
148
|
+
refresh: function refresh() {
|
149
|
+
request();
|
150
|
+
}
|
151
|
+
}); // 展开全部变化回调
|
152
|
+
|
153
|
+
var onExpandAllChange = function onExpandAllChange(status) {
|
154
|
+
setExpandAllState(status);
|
155
|
+
onExpandAllChangeProp === null || onExpandAllChangeProp === void 0 ? void 0 : onExpandAllChangeProp(status);
|
156
|
+
}; // 展开层级回调
|
157
|
+
|
158
|
+
|
159
|
+
var onExpandLevelChange = function onExpandLevelChange(level) {
|
160
|
+
setExpandLevelState(level);
|
161
|
+
onExpandLevelChangeProp === null || onExpandLevelChangeProp === void 0 ? void 0 : onExpandLevelChangeProp(level);
|
162
|
+
}; // DataSource 变化回调。用于更新层级
|
163
|
+
|
164
|
+
|
165
|
+
var onDataSourceChange = function onDataSourceChange(dataSource) {
|
166
|
+
var level = getTreeLevel(dataSource);
|
167
|
+
setExpandLevel(level);
|
168
|
+
};
|
49
169
|
|
50
170
|
return /*#__PURE__*/React.createElement("div", {
|
51
|
-
className: cls(
|
52
|
-
'': true
|
53
|
-
|
171
|
+
className: "".concat(cls({
|
172
|
+
'': true,
|
173
|
+
'scroll-tree': scrollArea === 'tree'
|
174
|
+
}), " ").concat(className),
|
54
175
|
style: style
|
55
176
|
}, /*#__PURE__*/React.createElement(ProSidebarContainer, _objectSpread(_objectSpread({
|
56
177
|
searchOnChange: function searchOnChange(value) {
|
@@ -59,11 +180,25 @@ var ProSidebar = function ProSidebar(props) {
|
|
59
180
|
setSearchKey(value);
|
60
181
|
}
|
61
182
|
},
|
62
|
-
|
63
|
-
|
183
|
+
onExpandAllChange: onExpandAllChange,
|
184
|
+
onExpandLevelChange: onExpandLevelChange,
|
185
|
+
showSearch: showSearch,
|
186
|
+
scrollArea: scrollArea,
|
187
|
+
expandLevel: expandLevel,
|
188
|
+
isTree: getTreeLevel(dataSource) > 1 ? true : false
|
189
|
+
}, others), cardProps), loading && /*#__PURE__*/React.createElement(ProSkeletonRaw.SideBar, null), !loading && /*#__PURE__*/React.createElement(ProSidebarTree, _objectSpread({
|
64
190
|
dataSource: dataSource,
|
65
191
|
searchKey: searchKey,
|
66
|
-
onSelect: onSelect
|
192
|
+
onSelect: onSelect,
|
193
|
+
onCheck: onCheck,
|
194
|
+
selectedKeys: selectedKeys,
|
195
|
+
checkedKeys: checkedKeys,
|
196
|
+
actionRef: actionRefProp !== null && actionRefProp !== void 0 ? actionRefProp : actionRef,
|
197
|
+
onBeforeRenderNodeEvent: onBeforeRenderNodeEvent,
|
198
|
+
beforeRenderNode: beforeRenderNode,
|
199
|
+
expandAll: expandAllState,
|
200
|
+
expandLevel: expandLevelState,
|
201
|
+
onDataSourceChange: onDataSourceChange
|
67
202
|
}, treeProps))));
|
68
203
|
};
|
69
204
|
|
package/es/sidebar/index.scss
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
@import '../common.scss';
|
2
|
+
|
1
3
|
.teamix-pro-sidebar {
|
2
4
|
color: var(--color-brand1-6);
|
3
|
-
|
5
|
+
.teamix-pro-card {
|
6
|
+
background: transparent;
|
7
|
+
}
|
8
|
+
|
9
|
+
&-scroll-tree {
|
10
|
+
height: calc(100% - var(--s-4, 16px) - 40px);
|
11
|
+
.teamix-pro-sidebar-container,
|
12
|
+
.teamix-pro-card,
|
13
|
+
.next-card-content-container,
|
14
|
+
.teamix-pro-card-content {
|
15
|
+
height: 100%;
|
16
|
+
}
|
17
|
+
.teamix-pro-sidebar-container-context {
|
18
|
+
@include hybridcloud-scrollbar;
|
19
|
+
overflow: auto;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.next-form-preview {
|
24
|
+
color: unset;
|
25
|
+
}
|
26
|
+
}
|