@teamix/pro 1.2.5 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/212.js +1 -1
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +376 -294
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/es/actions/dialog-form.js +2 -2
  7. package/es/actions/dialog.js +11 -20
  8. package/es/actions/index.js +25 -21
  9. package/es/actions/index.scss +3 -0
  10. package/es/card/index.d.ts +12 -3
  11. package/es/card/index.js +11 -9
  12. package/es/card/index.scss +52 -2
  13. package/es/card/selectable.d.ts +13 -0
  14. package/es/card/selectable.js +45 -0
  15. package/es/form/Filter/index.js +5 -5
  16. package/es/index.d.ts +1 -1
  17. package/es/index.js +7 -4
  18. package/es/info/components/tableInfo/index.js +10 -6
  19. package/es/nocode/configurators/Card.js +31 -8
  20. package/es/sidebar/components/sidebar-container/index.d.ts +5 -0
  21. package/es/sidebar/components/sidebar-container/index.js +77 -0
  22. package/es/sidebar/components/sidebar-container/index.scss +18 -0
  23. package/es/sidebar/components/tree/index.d.ts +4 -0
  24. package/es/sidebar/components/tree/index.js +162 -0
  25. package/es/sidebar/index.d.ts +5 -0
  26. package/es/sidebar/index.js +70 -0
  27. package/es/sidebar/index.scss +3 -0
  28. package/es/sidebar/typing.d.ts +64 -0
  29. package/es/sidebar/typing.js +1 -0
  30. package/es/table/index.js +11 -2
  31. package/es/table/index.scss +1 -0
  32. package/es/table/typing.d.ts +2 -0
  33. package/lib/actions/dialog-form.js +1 -1
  34. package/lib/actions/dialog.js +10 -19
  35. package/lib/actions/index.js +25 -21
  36. package/lib/actions/index.scss +3 -0
  37. package/lib/card/index.d.ts +12 -3
  38. package/lib/card/index.js +15 -12
  39. package/lib/card/index.scss +52 -2
  40. package/lib/card/selectable.d.ts +13 -0
  41. package/lib/card/selectable.js +60 -0
  42. package/lib/form/Filter/index.js +5 -6
  43. package/lib/index.d.ts +1 -1
  44. package/lib/index.js +3 -1
  45. package/lib/info/components/tableInfo/index.js +10 -6
  46. package/lib/nocode/configurators/Card.js +31 -8
  47. package/lib/sidebar/components/sidebar-container/index.d.ts +5 -0
  48. package/lib/sidebar/components/sidebar-container/index.js +93 -0
  49. package/lib/sidebar/components/sidebar-container/index.scss +18 -0
  50. package/lib/sidebar/components/tree/index.d.ts +4 -0
  51. package/lib/sidebar/components/tree/index.js +179 -0
  52. package/lib/sidebar/index.d.ts +5 -0
  53. package/lib/sidebar/index.js +91 -0
  54. package/lib/sidebar/index.scss +3 -0
  55. package/lib/sidebar/typing.d.ts +64 -0
  56. package/lib/sidebar/typing.js +5 -0
  57. package/lib/table/index.js +11 -2
  58. package/lib/table/index.scss +1 -0
  59. package/lib/table/typing.d.ts +2 -0
  60. package/package.json +1 -1
@@ -0,0 +1,77 @@
1
+ var _excluded = ["children", "searchPlaceholder", "showSearch", "searchProps", "customSearch", "searchOnChange", "message", "messageProps", "customMessage"];
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ import { Message } from '@alicloudfe/components';
14
+ import { ProCard } from '../../../card';
15
+ import ProField from '@teamix/pro-field';
16
+ import { baseClass } from '@teamix/utils';
17
+ import React from 'react';
18
+ import './index.scss';
19
+ var cls = baseClass('teamix-pro-sidebar-container');
20
+
21
+ var ProSidebarContainer = function ProSidebarContainer(props) {
22
+ var children = props.children,
23
+ searchPlaceholder = props.searchPlaceholder,
24
+ _props$showSearch = props.showSearch,
25
+ showSearch = _props$showSearch === void 0 ? true : _props$showSearch,
26
+ _props$searchProps = props.searchProps,
27
+ searchProps = _props$searchProps === void 0 ? {} : _props$searchProps,
28
+ customSearch = props.customSearch,
29
+ searchOnChange = props.searchOnChange,
30
+ message = props.message,
31
+ _props$messageProps = props.messageProps,
32
+ messageProps = _props$messageProps === void 0 ? {} : _props$messageProps,
33
+ customMessage = props.customMessage,
34
+ others = _objectWithoutProperties(props, _excluded); // 渲染搜索区域
35
+
36
+
37
+ var renderSearch = function renderSearch() {
38
+ if (customSearch || showSearch) {
39
+ return /*#__PURE__*/React.createElement("div", {
40
+ className: cls('search')
41
+ }, !!customSearch && customSearch, showSearch && /*#__PURE__*/React.createElement(ProField, _objectSpread({
42
+ mode: "edit",
43
+ type: "text",
44
+ placeholder: searchPlaceholder,
45
+ innerBeforeIcon: "search-line",
46
+ onChange: searchOnChange
47
+ }, searchProps)));
48
+ }
49
+
50
+ return null;
51
+ }; // 渲染通知区域
52
+
53
+
54
+ var renderNotice = function renderNotice() {
55
+ if (message || customMessage) {
56
+ return /*#__PURE__*/React.createElement("div", {
57
+ className: cls('notice')
58
+ }, message && /*#__PURE__*/React.createElement(Message, _objectSpread({
59
+ type: "notice",
60
+ closeable: true
61
+ }, messageProps), message), !!customMessage && customMessage);
62
+ }
63
+
64
+ return null;
65
+ };
66
+
67
+ return /*#__PURE__*/React.createElement("div", {
68
+ className: cls()
69
+ }, /*#__PURE__*/React.createElement(ProCard, _objectSpread({
70
+ bordered: false,
71
+ compacted: true
72
+ }, others), renderSearch(), renderNotice(), /*#__PURE__*/React.createElement("div", {
73
+ className: cls('context')
74
+ }, children)));
75
+ };
76
+
77
+ export default ProSidebarContainer;
@@ -0,0 +1,18 @@
1
+ .teamix-pro-sidebar-container {
2
+ min-width: 180px;
3
+
4
+ &-search {
5
+ margin-bottom: 8px;
6
+ }
7
+
8
+ &-search-has-message {
9
+ margin-bottom: 4px;
10
+ }
11
+
12
+ &-notice {
13
+ margin-bottom: 4px;
14
+ }
15
+
16
+ &-context {
17
+ }
18
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ProSidebarTreeProps } from '../../typing';
3
+ declare const ProSidebarTree: React.FC<ProSidebarTreeProps>;
4
+ export default ProSidebarTree;
@@ -0,0 +1,162 @@
1
+ var _excluded = ["dataSource", "searchKey", "onSelect"];
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ 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; }
8
+
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
+
11
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+
13
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14
+
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+
17
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
+
19
+ 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."); }
20
+
21
+ 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); }
22
+
23
+ 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; }
24
+
25
+ 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; }
26
+
27
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
+
29
+ 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; }
30
+
31
+ 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; }
32
+
33
+ import { Tree } from '@alicloudfe/components';
34
+ import { baseClass, treeToList } from '@teamix/utils';
35
+ import React, { isValidElement, useEffect, useState } from 'react';
36
+ var cls = baseClass('teamix-pro-sidebar-tree');
37
+
38
+ var ProSidebarTree = function ProSidebarTree(props) {
39
+ var dataSourceProp = props.dataSource,
40
+ searchKey = props.searchKey,
41
+ onSelect = props.onSelect,
42
+ others = _objectWithoutProperties(props, _excluded); // 自动展开父节点。过滤时用
43
+
44
+
45
+ var _useState = useState(false),
46
+ _useState2 = _slicedToArray(_useState, 2),
47
+ autoExpandParent = _useState2[0],
48
+ setAutoExpandParent = _useState2[1];
49
+
50
+ var _useState3 = useState(),
51
+ _useState4 = _slicedToArray(_useState3, 2),
52
+ matchedKeys = _useState4[0],
53
+ setMatchedKeys = _useState4[1];
54
+
55
+ var _useState5 = useState(),
56
+ _useState6 = _slicedToArray(_useState5, 2),
57
+ expandedKeys = _useState6[0],
58
+ setExpandedKeys = _useState6[1];
59
+
60
+ var _useState7 = useState(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []),
61
+ _useState8 = _slicedToArray(_useState7, 2),
62
+ dataSource = _useState8[0],
63
+ setDataSource = _useState8[1];
64
+
65
+ useEffect(function () {
66
+ getAllExpend();
67
+ }, []);
68
+ useEffect(function () {
69
+ filterDataSource(searchKey !== null && searchKey !== void 0 ? searchKey : '');
70
+ }, [searchKey]); // 获取全部展开节点key
71
+
72
+ var getAllExpend = function getAllExpend() {
73
+ var allKeys = treeToList(dataSource).map(function (item) {
74
+ return item.value;
75
+ });
76
+ setExpandedKeys(allKeys);
77
+ }; // 过滤
78
+
79
+
80
+ var filterDataSource = function filterDataSource(value) {
81
+ if (!value) {
82
+ setExpandedKeys([]);
83
+ getAllExpend();
84
+ }
85
+
86
+ value = value.trim();
87
+ var matchedKeys = [];
88
+
89
+ if (!value) {
90
+ matchedKeys = [];
91
+ return;
92
+ }
93
+
94
+ var loop = function loop(data) {
95
+ return data.forEach(function (item) {
96
+ if (item.label.indexOf(value) > -1) {
97
+ matchedKeys.push(item.value);
98
+ }
99
+
100
+ if (item.children && item.children.length) {
101
+ loop(item.children);
102
+ }
103
+ });
104
+ };
105
+
106
+ loop(dataSource);
107
+ setExpandedKeys(_toConsumableArray(matchedKeys));
108
+ setAutoExpandParent(true);
109
+ setMatchedKeys(matchedKeys);
110
+ };
111
+
112
+ var filterTreeNode = function filterTreeNode(node) {
113
+ return matchedKeys && matchedKeys.indexOf(node.props.eventKey) > -1;
114
+ }; // 节点展开回调
115
+
116
+
117
+ var handleExpand = function handleExpand(key) {
118
+ setExpandedKeys(key);
119
+ setAutoExpandParent(false);
120
+ }; // 渲染树节点
121
+
122
+
123
+ var renderTreeNode = function renderTreeNode(data) {
124
+ return data.map(function (item) {
125
+ return /*#__PURE__*/React.createElement(Tree.Node, {
126
+ key: item.value,
127
+ label: renderTreeNodeItem(item)
128
+ }, item.children && item.children.length > 0 && renderTreeNode(item.children));
129
+ });
130
+ }; // 渲染单个树节点 label
131
+
132
+
133
+ var renderTreeNodeItem = function renderTreeNodeItem(data) {
134
+ var node = /*#__PURE__*/React.createElement(React.Fragment, null, data.label);
135
+
136
+ if (data.tag) {
137
+ if ( /*#__PURE__*/isValidElement(data.tag)) {
138
+ node = /*#__PURE__*/React.createElement(React.Fragment, null, node, data.tag);
139
+ }
140
+ }
141
+
142
+ return node;
143
+ };
144
+
145
+ return /*#__PURE__*/React.createElement("div", {
146
+ className: cls()
147
+ }, /*#__PURE__*/React.createElement(Tree, _objectSpread({
148
+ defaultExpandAll: true,
149
+ isLabelBlock: true,
150
+ isNodeBlock: {
151
+ defaultPaddingLeft: 8,
152
+ indent: 16
153
+ },
154
+ filterTreeNode: filterTreeNode,
155
+ expandedKeys: expandedKeys,
156
+ onExpand: handleExpand,
157
+ autoExpandParent: autoExpandParent,
158
+ onSelect: onSelect
159
+ }, others), renderTreeNode(dataSource)));
160
+ };
161
+
162
+ export default ProSidebarTree;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ import { ProSidebarProps } from './typing';
4
+ declare const ProSidebar: React.FC<ProSidebarProps>;
5
+ export default ProSidebar;
@@ -0,0 +1,70 @@
1
+ var _excluded = ["dataSource", "className", "style", "searchOnChange", "showSearch", "onSelect", "treeProps", "cardProps"];
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ 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; }
8
+
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+
11
+ 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."); }
12
+
13
+ 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); }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+
21
+ 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; }
22
+
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
+
25
+ import React, { useState } from 'react';
26
+ import './index.scss';
27
+ import { baseClass } from '@teamix/utils';
28
+ import ProSidebarContainer from './components/sidebar-container';
29
+ import ProSidebarTree from './components/tree';
30
+ var cls = baseClass('teamix-pro-sidebar');
31
+
32
+ var ProSidebar = function ProSidebar(props) {
33
+ var dataSource = props.dataSource,
34
+ className = props.className,
35
+ style = props.style,
36
+ _searchOnChange = props.searchOnChange,
37
+ _props$showSearch = props.showSearch,
38
+ showSearch = _props$showSearch === void 0 ? true : _props$showSearch,
39
+ onSelect = props.onSelect,
40
+ treeProps = props.treeProps,
41
+ cardProps = props.cardProps,
42
+ others = _objectWithoutProperties(props, _excluded); // 搜索的关键词
43
+
44
+
45
+ var _useState = useState(),
46
+ _useState2 = _slicedToArray(_useState, 2),
47
+ searchKey = _useState2[0],
48
+ setSearchKey = _useState2[1];
49
+
50
+ return /*#__PURE__*/React.createElement("div", {
51
+ className: cls(_defineProperty({
52
+ '': true
53
+ }, className, true)),
54
+ style: style
55
+ }, /*#__PURE__*/React.createElement(ProSidebarContainer, _objectSpread(_objectSpread({
56
+ searchOnChange: function searchOnChange(value) {
57
+ if (showSearch) {
58
+ _searchOnChange === null || _searchOnChange === void 0 ? void 0 : _searchOnChange(value);
59
+ setSearchKey(value);
60
+ }
61
+ },
62
+ showSearch: showSearch
63
+ }, others), cardProps), /*#__PURE__*/React.createElement(ProSidebarTree, _objectSpread({
64
+ dataSource: dataSource,
65
+ searchKey: searchKey,
66
+ onSelect: onSelect
67
+ }, treeProps))));
68
+ };
69
+
70
+ export default ProSidebar;
@@ -0,0 +1,3 @@
1
+ .teamix-pro-sidebar {
2
+ color: var(--color-brand1-6);
3
+ }
@@ -0,0 +1,64 @@
1
+ /// <reference types="react" />
2
+ import { MessageProps } from '@alifd/next/types/message';
3
+ import { TreeProps } from '@alifd/next/types/tree';
4
+ import { ProCardProps, ProFieldProps } from '..';
5
+ /** ProSidebar 定义 */
6
+ export declare type ProSidebarProps = {
7
+ /** 数据源 */
8
+ dataSource?: ProSidebarDataSource;
9
+ /** 节点点击回调 */
10
+ onSelect?: TreeProps['onSelect'];
11
+ /** 树配置 */
12
+ treeProps?: TreeProps;
13
+ /** 卡片配置 */
14
+ cardProps?: ProCardProps;
15
+ } & Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> & Omit<ProSidebarContainerProps, 'onSelect'>;
16
+ /** 数据源定义 */
17
+ export declare type ProSidebarDataSource = ProSidebarDataSourceItem[];
18
+ export declare type ProSidebarDataSourceItem = {
19
+ /** 展示值 */
20
+ label?: React.ReactNode;
21
+ /** 绑定值 */
22
+ value?: any;
23
+ /** icon */
24
+ icon?: React.ReactNode;
25
+ /** 标签 */
26
+ tag?: React.ReactNode;
27
+ /** 右侧操作、状态区 */
28
+ extra?: React.ReactNode;
29
+ /** 子项 */
30
+ children?: ProSidebarDataSourceItem[];
31
+ };
32
+ /** tag 定义 */
33
+ export declare type ProSidebarDataSourceTag = {
34
+ /** 显示值 */
35
+ value: string;
36
+ };
37
+ /** sidebar 容器定义 */
38
+ export declare type ProSidebarContainerProps = {
39
+ children?: React.ReactNode;
40
+ /** 搜索输入提示 */
41
+ searchPlaceholder?: string;
42
+ /** 搜索输入其他参数 ProField 参数 */
43
+ searchProps?: ProFieldProps;
44
+ /** 是否展示搜索框 */
45
+ showSearch?: boolean;
46
+ /** 自定义搜索 */
47
+ customSearch?: React.ReactNode;
48
+ /** 搜索框变化的回调函数 */
49
+ searchOnChange?: (value: any) => void;
50
+ /** 通知提示消息区域 */
51
+ message?: React.ReactNode;
52
+ /** 自定义消息通知区域 */
53
+ customMessage?: React.ReactNode;
54
+ /** 消息通知区域的其他参数 */
55
+ messageProps?: MessageProps;
56
+ } & ProCardProps;
57
+ /** ProSidebarTree 内容定义 */
58
+ export declare type ProSidebarTreeProps = {
59
+ dataSource?: ProSidebarDataSource;
60
+ /** 搜索过滤关键词 */
61
+ searchKey?: string;
62
+ /** 节点点击回调 */
63
+ onChange?: ProSidebarProps['onChange'];
64
+ } & TreeProps;
@@ -0,0 +1 @@
1
+ export {};
package/es/table/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest"];
1
+ var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest"];
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
4
 
@@ -97,6 +97,7 @@ var ProTable = function ProTable(props) {
97
97
  getRowSelection = props.getRowSelection,
98
98
  primaryKey = props.primaryKey,
99
99
  footerAction = props.footerAction,
100
+ footer = props.footer,
100
101
  url = props.url,
101
102
  pageKey = props.pageKey,
102
103
  pageSizeKey = props.pageSizeKey,
@@ -722,7 +723,7 @@ var ProTable = function ProTable(props) {
722
723
  }
723
724
  }
724
725
 
725
- if (showPagination || footerAction) {
726
+ if (showPagination) {
726
727
  return /*#__PURE__*/React.createElement("div", {
727
728
  className: cls('footer', {
728
729
  'footer-has-rowSelection': rowSelection
@@ -751,6 +752,14 @@ var ProTable = function ProTable(props) {
751
752
  return onChangePaginationSize(number);
752
753
  }
753
754
  }, props.paginationProps))));
755
+ } else if (!showPagination) {
756
+ return /*#__PURE__*/React.createElement("div", {
757
+ className: cls('footer', {
758
+ 'footer-has-rowSelection': rowSelection
759
+ })
760
+ }, renderRowSelection(), /*#__PURE__*/React.createElement("div", {
761
+ className: cls('footer-right-wrapper')
762
+ }, showSkeleton ? /*#__PURE__*/React.createElement(Skeleton.Footer.Pagination, null) : footer));
754
763
  }
755
764
  };
756
765
 
@@ -13,6 +13,7 @@ $fullscreenPadding: 24px;
13
13
  --checkbox-semi-select-icon-content: '\ead5';
14
14
  &-footer {
15
15
  padding: 8px 0;
16
+ width: 100%;
16
17
  }
17
18
  &-footer-fixed {
18
19
  position: fixed;
@@ -100,6 +100,8 @@ export declare type ProTableProps = {
100
100
  getRowSelection?: (rowSelection: rowSelectionType) => void;
101
101
  /** 表格底部(左侧)配置 */
102
102
  footerAction?: ProActionGroupProps | React.ReactNode;
103
+ /** 表格底部(右层)配置 */
104
+ footer?: React.ReactNode;
103
105
  /** 筛选区自动搜索的防抖时间(毫秒) */
104
106
  filterDebounce?: number;
105
107
  /** ProTable action 的引用,便于手动触发一些方法 */
@@ -159,7 +159,7 @@ function useDialogFormAction(action, context) {
159
159
  _onFinish = action.onFinish,
160
160
  others = _objectWithoutProperties(action, _excluded2);
161
161
 
162
- var formRef = (0, _react.useRef)();
162
+ var formRef = /*#__PURE__*/(0, _react.createRef)();
163
163
  return (0, _dialog.default)(Object.assign({
164
164
  size: size,
165
165
  closeable: true,
@@ -29,8 +29,7 @@ var _request = require("./request");
29
29
  var _utils2 = require("./utils");
30
30
 
31
31
  var _excluded = ["url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
32
- _excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign", "overlayProps"],
33
- _excluded3 = ["className"];
32
+ _excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign"];
34
33
 
35
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
35
 
@@ -38,16 +37,16 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
38
37
 
39
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40
39
 
41
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
42
-
43
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
44
-
45
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
46
41
 
47
42
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
48
43
 
49
44
  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; }
50
45
 
46
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
47
+
48
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
49
+
51
50
  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; }
52
51
 
53
52
  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; }
@@ -135,28 +134,20 @@ function useDialogAction(action, context) {
135
134
  message = _getTargetValue.message,
136
135
  footerDescription = _getTargetValue.footerDescription,
137
136
  footerAlign = _getTargetValue.footerAlign,
138
- _getTargetValue$overl = _getTargetValue.overlayProps,
139
- overlayProps = _getTargetValue$overl === void 0 ? {} : _getTargetValue$overl,
140
137
  containerProps = _objectWithoutProperties(_getTargetValue, _excluded2);
141
138
 
142
139
  var isDrawer = dialogType === 'drawer';
143
140
  var container = isDrawer ? _components.Drawer : _components.Dialog;
144
-
145
- var overlayClassName = overlayProps.className,
146
- overlayOtherProps = _objectWithoutProperties(overlayProps, _excluded3);
147
-
148
141
  var dialogOnlyProps = {
149
142
  type: dialogQuickShowType,
150
143
  messageProps: {
151
144
  type: messageType
152
- },
153
- overlayProps: _objectSpread({
154
- className: (0, _classnames.default)('teamix-pro-action-dialog', overlayClassName, {
155
- 'has-footer-description': !!footerDescription
156
- })
157
- }, overlayOtherProps)
145
+ }
158
146
  };
159
- var containerOtherProps = isDrawer ? {} : dialogOnlyProps;
147
+ var containerOtherProps = isDrawer ? {
148
+ okText: (0, _utils.getMessage)('ok'),
149
+ cancelText: (0, _utils.getMessage)('cancel')
150
+ } : dialogOnlyProps;
160
151
 
161
152
  var renderDialogFooterDescription = function renderDialogFooterDescription(footer) {
162
153
  if (footer instanceof Array || footer.component) {
@@ -206,13 +206,15 @@ var ProActionButton = function ProActionButton(props) {
206
206
 
207
207
  exports.ProActionButton = ProActionButton;
208
208
 
209
- function renderMenuButtonItem(item, key, context) {
210
- var config = item.config,
211
- btnContext = item.context,
212
- _onClick2 = item.onClick,
213
- children = item.children,
214
- icon = item.icon,
215
- disabled = item.disabled;
209
+ var ProActionMenuButtonItem = function ProActionMenuButtonItem(props) {
210
+ var action = props.action,
211
+ context = props.context;
212
+ var config = action.config,
213
+ btnContext = action.context,
214
+ _onClick2 = action.onClick,
215
+ children = action.children,
216
+ icon = action.icon,
217
+ disabled = action.disabled;
216
218
  var menuItemActionConfig = Object.assign({}, config, {
217
219
  trigger: 'onClick'
218
220
  });
@@ -221,30 +223,33 @@ function renderMenuButtonItem(item, key, context) {
221
223
  loading = _useAction.loading,
222
224
  menuItemProps = _objectWithoutProperties(_useAction, _excluded3);
223
225
 
224
- var buttonProps = _onClick2 ? _objectSpread(_objectSpread({}, menuItemProps), {}, {
226
+ var buttonProps = disabled ? {} : _onClick2 ? _objectSpread(_objectSpread({}, menuItemProps), {}, {
225
227
  onClick: function onClick(e) {
226
228
  return _onClick2(e, context);
227
229
  }
228
230
  }) : _objectSpread({}, menuItemProps);
229
- return /*#__PURE__*/_react.default.createElement(_components.MenuButton.Item, _objectSpread({
230
- key: key,
231
- disabled: disabled
231
+ return /*#__PURE__*/_react.default.createElement("div", _objectSpread({
232
+ className: (0, _classnames.default)('teamix-pro-action-menu-item', 'next-menu-item', {
233
+ 'next-disabled': disabled
234
+ })
232
235
  }, buttonProps), buttonContent(children, icon, undefined, context));
233
- }
236
+ };
234
237
 
235
- function renderCommonActionButtonMenuItem(action, key, context) {
238
+ function renderCommonActionButtonMenuItem(action, context) {
236
239
  var menuBtn = action;
237
240
 
238
241
  if (menuBtn.actions && menuBtn.actions.length && menuBtn.disabled !== true) {
239
242
  return /*#__PURE__*/_react.default.createElement(_components.Menu.SubMenu, {
240
- key: key,
241
243
  label: menuBtn.label || menuBtn.children
242
244
  }, menuBtn.actions.map(function (a, j) {
243
- return renderCommonActionButtonMenuItem(a, j, context);
245
+ return renderCommonActionButtonMenuItem(a, context);
244
246
  }));
245
247
  }
246
248
 
247
- return renderMenuButtonItem(action, key, context);
249
+ return /*#__PURE__*/_react.default.createElement(ProActionMenuButtonItem, {
250
+ action: action,
251
+ context: context
252
+ });
248
253
  }
249
254
 
250
255
  var ProActionMenuButton = function ProActionMenuButton(props) {
@@ -260,6 +265,7 @@ var ProActionMenuButton = function ProActionMenuButton(props) {
260
265
 
261
266
  return /*#__PURE__*/_react.default.createElement(_components.MenuButton, _objectSpread({
262
267
  popupTriggerType: "hover",
268
+ autoWidth: false,
263
269
  menuProps: {
264
270
  mode: 'popup',
265
271
  triggerType: 'hover'
@@ -269,8 +275,8 @@ var ProActionMenuButton = function ProActionMenuButton(props) {
269
275
  },
270
276
  type: type,
271
277
  label: buttonContent(label || children, icon, iconSize, context)
272
- }, others), actions.map(function (action, i) {
273
- return renderCommonActionButtonMenuItem(action, i, context);
278
+ }, others), actions.map(function (action) {
279
+ return renderCommonActionButtonMenuItem(action, context);
274
280
  }));
275
281
  }; // 如果 actions 数量超过了 max,则把第 max 个和剩余超出部分折叠起来成为一个 menu
276
282
 
@@ -377,9 +383,7 @@ function ProActionGroup(props) {
377
383
  })
378
384
  }, containerProps), formatedActions.map(function (actionBtn, i) {
379
385
  var isLastOne = i === formatedActions.length - 1;
380
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
381
- key: i
382
- }, renderCommonActionButton(actionBtn, context, isTypeText), isTypeText && divider && !isLastOne && /*#__PURE__*/_react.default.createElement(_components.Divider, {
386
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderCommonActionButton(actionBtn, context, isTypeText), isTypeText && divider && !isLastOne && /*#__PURE__*/_react.default.createElement(_components.Divider, {
383
387
  direction: "ver"
384
388
  }));
385
389
  }));