@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.
Files changed (126) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +13959 -2353
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/dist/pro.min.js.LICENSE.txt +9 -0
  6. package/es/actions/dialog-form.js +8 -5
  7. package/es/actions/dialog.js +2 -4
  8. package/es/form/Components/LightFilter/index.d.ts +1 -0
  9. package/es/form/Components/LightFilter/index.js +9 -6
  10. package/es/form/Filter/LightFilter.js +13 -3
  11. package/es/form/Filter/SimpleFilter.js +1 -1
  12. package/es/form/Filter/index.js +44 -10
  13. package/es/form/ProForm/useFormDisplayValues.js +2 -2
  14. package/es/form/SchemaForm/adapterDecorator.js +1 -1
  15. package/es/form/SchemaForm/adapterType.js +2 -5
  16. package/es/form/SchemaForm/index.js +27 -12
  17. package/es/form/SchemaForm/initializeDataSource.d.ts +1 -0
  18. package/es/form/SchemaForm/initializeDataSource.js +7 -1
  19. package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  20. package/es/form/SchemaForm/initializeSelectTable.js +38 -0
  21. package/es/form/SchemaForm/reactions.d.ts +1 -1
  22. package/es/form/SchemaForm/reactions.js +20 -16
  23. package/es/form/docs/ActionResponse.d.ts +7 -0
  24. package/es/form/docs/ActionResponse.js +11 -0
  25. package/es/form/docs/ActionResponse.less +25 -0
  26. package/es/form/index.d.ts +1 -0
  27. package/es/form/typing.d.ts +6 -1
  28. package/es/form/utils.js +13 -4
  29. package/es/index.d.ts +4 -2
  30. package/es/index.js +5 -5
  31. package/es/info/components/ProInfoItem/index.js +6 -2
  32. package/es/info/components/ProInfoItem/index.scss +3 -0
  33. package/es/info/components/baseInfo/index.js +2 -1
  34. package/es/info/typing.d.ts +2 -0
  35. package/es/info/utils/index.d.ts +8 -0
  36. package/es/info/utils/index.js +28 -1
  37. package/es/page-header/index.d.ts +3 -1
  38. package/es/page-header/index.js +12 -3
  39. package/es/sidebar/components/sidebar-container/index.js +114 -9
  40. package/es/sidebar/components/sidebar-container/index.scss +53 -5
  41. package/es/sidebar/components/tree/index.d.ts +2 -0
  42. package/es/sidebar/components/tree/index.js +222 -76
  43. package/es/sidebar/components/tree/index.scss +10 -0
  44. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
  45. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.js +62 -0
  46. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
  47. package/es/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
  48. package/es/sidebar/components/tree-node/componnets/IconAction/index.js +105 -0
  49. package/es/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
  50. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
  51. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.js +73 -0
  52. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
  53. package/es/sidebar/components/tree-node/index.d.ts +7 -0
  54. package/es/sidebar/components/tree-node/index.js +225 -0
  55. package/es/sidebar/components/tree-node/index.scss +58 -0
  56. package/es/sidebar/index.d.ts +2 -0
  57. package/es/sidebar/index.js +147 -12
  58. package/es/sidebar/index.scss +24 -1
  59. package/es/sidebar/typing.d.ts +83 -13
  60. package/es/sidebar/utils/action-ref.d.ts +3 -0
  61. package/es/sidebar/utils/action-ref.js +15 -0
  62. package/es/sidebar/utils/index.d.ts +71 -0
  63. package/es/sidebar/utils/index.js +228 -0
  64. package/es/table/components/ToolBar/index.scss +1 -1
  65. package/es/table/index.scss +10 -0
  66. package/lib/actions/dialog-form.js +8 -5
  67. package/lib/actions/dialog.js +1 -3
  68. package/lib/form/Components/LightFilter/index.d.ts +1 -0
  69. package/lib/form/Components/LightFilter/index.js +9 -6
  70. package/lib/form/Filter/LightFilter.js +13 -3
  71. package/lib/form/Filter/SimpleFilter.js +1 -1
  72. package/lib/form/Filter/index.js +44 -10
  73. package/lib/form/ProForm/useFormDisplayValues.js +1 -1
  74. package/lib/form/SchemaForm/adapterDecorator.js +1 -1
  75. package/lib/form/SchemaForm/adapterType.js +2 -5
  76. package/lib/form/SchemaForm/index.js +28 -11
  77. package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -0
  78. package/lib/form/SchemaForm/initializeDataSource.js +7 -1
  79. package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  80. package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
  81. package/lib/form/SchemaForm/reactions.d.ts +1 -1
  82. package/lib/form/SchemaForm/reactions.js +20 -16
  83. package/lib/form/docs/ActionResponse.d.ts +7 -0
  84. package/lib/form/docs/ActionResponse.js +24 -0
  85. package/lib/form/docs/ActionResponse.less +25 -0
  86. package/lib/form/index.d.ts +1 -0
  87. package/lib/form/typing.d.ts +6 -1
  88. package/lib/form/utils.js +13 -4
  89. package/lib/index.d.ts +4 -2
  90. package/lib/index.js +22 -2
  91. package/lib/info/components/ProInfoItem/index.js +6 -2
  92. package/lib/info/components/ProInfoItem/index.scss +3 -0
  93. package/lib/info/components/baseInfo/index.js +1 -0
  94. package/lib/info/typing.d.ts +2 -0
  95. package/lib/info/utils/index.d.ts +8 -0
  96. package/lib/info/utils/index.js +32 -1
  97. package/lib/page-header/index.d.ts +3 -1
  98. package/lib/page-header/index.js +11 -2
  99. package/lib/sidebar/components/sidebar-container/index.js +120 -8
  100. package/lib/sidebar/components/sidebar-container/index.scss +53 -5
  101. package/lib/sidebar/components/tree/index.d.ts +2 -0
  102. package/lib/sidebar/components/tree/index.js +230 -76
  103. package/lib/sidebar/components/tree/index.scss +10 -0
  104. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
  105. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.js +80 -0
  106. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
  107. package/lib/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
  108. package/lib/sidebar/components/tree-node/componnets/IconAction/index.js +127 -0
  109. package/lib/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
  110. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
  111. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.js +94 -0
  112. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
  113. package/lib/sidebar/components/tree-node/index.d.ts +7 -0
  114. package/lib/sidebar/components/tree-node/index.js +252 -0
  115. package/lib/sidebar/components/tree-node/index.scss +58 -0
  116. package/lib/sidebar/index.d.ts +2 -0
  117. package/lib/sidebar/index.js +173 -10
  118. package/lib/sidebar/index.scss +24 -1
  119. package/lib/sidebar/typing.d.ts +83 -13
  120. package/lib/sidebar/utils/action-ref.d.ts +3 -0
  121. package/lib/sidebar/utils/action-ref.js +22 -0
  122. package/lib/sidebar/utils/index.d.ts +71 -0
  123. package/lib/sidebar/utils/index.js +247 -0
  124. package/lib/table/components/ToolBar/index.scss +1 -1
  125. package/lib/table/index.scss +10 -0
  126. package/package.json +4 -4
package/lib/index.js CHANGED
@@ -18,6 +18,7 @@ var _exportNames = {
18
18
  ProTable: true,
19
19
  ProSkeleton: true,
20
20
  utils: true,
21
+ ProSidebar: true,
21
22
  ProTimeline: true,
22
23
  nocode: true,
23
24
  templates: true
@@ -64,6 +65,12 @@ Object.defineProperty(exports, "ProPageHeader", {
64
65
  return _pageHeader.default;
65
66
  }
66
67
  });
68
+ Object.defineProperty(exports, "ProSidebar", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _sidebar.default;
72
+ }
73
+ });
67
74
  Object.defineProperty(exports, "ProSkeleton", {
68
75
  enumerable: true,
69
76
  get: function get() {
@@ -239,6 +246,20 @@ Object.keys(_utils).forEach(function (key) {
239
246
  });
240
247
  });
241
248
 
249
+ var _sidebar = _interopRequireWildcard(require("./sidebar"));
250
+
251
+ Object.keys(_sidebar).forEach(function (key) {
252
+ if (key === "default" || key === "__esModule") return;
253
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
254
+ if (key in exports && exports[key] === _sidebar[key]) return;
255
+ Object.defineProperty(exports, key, {
256
+ enumerable: true,
257
+ get: function get() {
258
+ return _sidebar[key];
259
+ }
260
+ });
261
+ });
262
+
242
263
  var _timeline = require("./timeline");
243
264
 
244
265
  Object.keys(_timeline).forEach(function (key) {
@@ -281,9 +302,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
281
302
  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; }
282
303
 
283
304
  // import ProLayout from './layout';
284
- // import ProSidebar from './sidebar'
285
305
  // 设置图标源
286
306
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
287
307
 
288
- var version = '1.3.2';
308
+ var version = '1.3.5';
289
309
  exports.version = version;
@@ -28,13 +28,17 @@ var ProInfoItem = function ProInfoItem(prop) {
28
28
  headerInfoLayout = prop.headerInfoLayout,
29
29
  loading = prop.loading,
30
30
  tooltip = prop.tooltip,
31
- tooltipIcon = prop.tooltipIcon;
31
+ tooltipIcon = prop.tooltipIcon,
32
+ _isLastRow = prop._isLastRow;
32
33
 
33
34
  if (baseInfoLayout) {
34
35
  var labelCol = baseInfoLayout.labelCol,
35
36
  wrapperCol = baseInfoLayout.wrapperCol;
36
37
  return /*#__PURE__*/_react.default.createElement("div", {
37
- className: cls()
38
+ className: cls({
39
+ '': true,
40
+ isLastRow: _isLastRow
41
+ })
38
42
  }, /*#__PURE__*/_react.default.createElement(Row, {
39
43
  gutter: 10,
40
44
  className: cls('base-row')
@@ -17,6 +17,9 @@ $item-padding-bottom: 8px;
17
17
  .teamix-pro-field-info-form-item {
18
18
  width: 100%;
19
19
  padding-bottom: $item-padding-bottom;
20
+ &-isLastRow{
21
+ padding-bottom: unset;
22
+ }
20
23
 
21
24
  &-header-row {
22
25
  display: flex;
@@ -84,6 +84,7 @@ var ProBaseInfo = function ProBaseInfo(props) {
84
84
  }, /*#__PURE__*/_react.default.createElement(_ProInfoItem.default, {
85
85
  label: (_item$title = item === null || item === void 0 ? void 0 : item.title) !== null && _item$title !== void 0 ? _item$title : '',
86
86
  loading: loading,
87
+ _isLastRow: !!(0, _utils2.isLastRow)(columns.length, layoutSpan, index),
87
88
  value: /*#__PURE__*/_react.default.createElement(_InfoValueItem.default, {
88
89
  type: (_item$valueType = item === null || item === void 0 ? void 0 : item.valueType) !== null && _item$valueType !== void 0 ? _item$valueType : 'text',
89
90
  value: (0, _utils2.getDataIndexValue)(item.dataIndex, (_ref = dataSource !== null && dataSource !== void 0 ? dataSource : result) !== null && _ref !== void 0 ? _ref : {}),
@@ -113,6 +113,8 @@ export declare type IProProInfoItem = {
113
113
  headerInfoLayout?: ProHeaderInfoLayoutProps;
114
114
  /** loading 状态 */
115
115
  loading?: boolean;
116
+ /** isLastRow 是否是最后一行的元素 */
117
+ _isLastRow?: boolean;
116
118
  } & Pick<ProInfoColumnsProps, 'tooltip' | 'tooltipIcon'>;
117
119
  /** header info 定义 */
118
120
  export declare type IProHeaderInfo = {
@@ -10,3 +10,11 @@ export declare const ProInfoGroupContext: React.Context<ProInfoGroupContextProps
10
10
  * @returns
11
11
  */
12
12
  export declare function getDataIndexValue(dataIndex: ProInfoColumnsProps['dataIndex'], dataSource: object): any;
13
+ /**
14
+ * 是否是最后一样的元素
15
+ * @param columnsLength
16
+ * @param layoutSpan
17
+ * @params itemIndex
18
+ * @returns
19
+ */
20
+ export declare const isLastRow: (columnsLength: number, layoutSpan: number, itemIndex: number) => boolean | undefined;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ProInfoGroupContext = void 0;
7
7
  exports.getDataIndexValue = getDataIndexValue;
8
+ exports.isLastRow = void 0;
8
9
  exports.useActionType = useActionType;
9
10
 
10
11
  var _utils = require("@teamix/utils");
@@ -47,4 +48,34 @@ function getDataIndexValue(dataIndex, dataSource) {
47
48
  }
48
49
 
49
50
  return (0, _utils.getDeepValue)(dataIndex !== null && dataIndex !== void 0 ? dataIndex : '', dataSource);
50
- }
51
+ }
52
+ /**
53
+ * 是否是最后一样的元素
54
+ * @param columnsLength
55
+ * @param layoutSpan
56
+ * @params itemIndex
57
+ * @returns
58
+ */
59
+
60
+
61
+ var isLastRow = function isLastRow(columnsLength, layoutSpan, itemIndex) {
62
+ if (!columnsLength || !layoutSpan) return;
63
+ var lastRowColumnsIndexList = [];
64
+ var rowCount = 24 / layoutSpan;
65
+
66
+ if (columnsLength % rowCount === 0) {
67
+ while (rowCount--) {
68
+ lastRowColumnsIndexList.push(columnsLength--);
69
+ }
70
+ } else {
71
+ var lastRowCount = columnsLength % rowCount;
72
+
73
+ while (lastRowCount--) {
74
+ lastRowColumnsIndexList.push(columnsLength--);
75
+ }
76
+ }
77
+
78
+ return lastRowColumnsIndexList.includes(itemIndex + 1);
79
+ };
80
+
81
+ exports.isLastRow = isLastRow;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ItemProps } from '@alicloudfe/components/types/breadcrumb';
3
- import { LinkPath, ProTagItem } from '@teamix/utils';
3
+ import { LinkPath, ProTagItem, CapsuleTabType } from '@teamix/utils';
4
4
  import { ProActionGroupProps } from '../actions';
5
5
  import { ProInfoProps } from '../info';
6
6
  import './index.scss';
@@ -48,6 +48,8 @@ export declare type ProPageHeaderProps = {
48
48
  data?: ProPageHeaderDataItem[];
49
49
  /** 底部详情 */
50
50
  info?: ProInfoProps | React.ReactNode;
51
+ /** 切换 tabs */
52
+ tabs?: CapsuleTabType;
51
53
  } & Omit<React.HTMLAttributes<HTMLElement>, 'title'>;
52
54
  declare const ProPageHeader: React.FC<ProPageHeaderProps>;
53
55
  export default ProPageHeader;
@@ -27,7 +27,7 @@ require("./index.scss");
27
27
 
28
28
  var _excluded = ["text", "children"],
29
29
  _excluded2 = ["color", "title", "num", "className"],
30
- _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
30
+ _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style", "tabs"];
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -142,6 +142,14 @@ var renderInfo = function renderInfo(info) {
142
142
  return info;
143
143
  };
144
144
 
145
+ var renderTabs = function renderTabs(tabs) {
146
+ if (tabs) {
147
+ return /*#__PURE__*/_react.default.createElement(_utils.CapsuleTab, _objectSpread({}, tabs));
148
+ }
149
+
150
+ return null;
151
+ };
152
+
145
153
  var ProPageHeader = function ProPageHeader(props) {
146
154
  var title = props.title,
147
155
  description = props.description,
@@ -162,6 +170,7 @@ var ProPageHeader = function ProPageHeader(props) {
162
170
  children = props.children,
163
171
  className = props.className,
164
172
  style = props.style,
173
+ tabs = props.tabs,
165
174
  others = _objectWithoutProperties(props, _excluded3);
166
175
 
167
176
  var history = (0, _reactRouterDom.useHistory)();
@@ -210,7 +219,7 @@ var ProPageHeader = function ProPageHeader(props) {
210
219
  size: "large"
211
220
  }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon)), /*#__PURE__*/_react.default.createElement("span", {
212
221
  className: cls('title-name')
213
- }, title), (0, _utils.renderTags)(tags, 'large'));
222
+ }, title), (0, _utils.renderTags)(tags, 'large'), renderTabs(tabs !== null && tabs !== void 0 ? tabs : {}));
214
223
  };
215
224
 
216
225
  return /*#__PURE__*/_react.default.createElement("header", _objectSpread({
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
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
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -13,20 +15,46 @@ var _proField = _interopRequireDefault(require("@teamix/pro-field"));
13
15
 
14
16
  var _utils = require("@teamix/utils");
15
17
 
16
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  require("./index.scss");
19
21
 
20
- var _excluded = ["children", "searchPlaceholder", "showSearch", "searchProps", "customSearch", "searchOnChange", "message", "messageProps", "customMessage"];
22
+ var _icon = _interopRequireDefault(require("@teamix/icon"));
23
+
24
+ var _excluded = ["children", "searchPlaceholder", "showSearch", "searchProps", "customSearch", "searchOnChange", "message", "messageProps", "customMessage", "scrollArea", "showExpandAll", "showExpandLevel", "onExpandAllChange", "onExpandLevelChange", "expandLevel", "isTree"];
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ 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; }
21
29
 
22
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
31
 
32
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
33
+
34
+ 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."); }
35
+
36
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
37
+
38
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
39
+
24
40
  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; }
25
41
 
26
42
  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; }
27
43
 
28
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; }
29
45
 
46
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
47
+
48
+ 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."); }
49
+
50
+ 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); }
51
+
52
+ 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; }
53
+
54
+ 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; }
55
+
56
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
+
30
58
  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; }
31
59
 
32
60
  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; }
@@ -46,8 +74,47 @@ var ProSidebarContainer = function ProSidebarContainer(props) {
46
74
  _props$messageProps = props.messageProps,
47
75
  messageProps = _props$messageProps === void 0 ? {} : _props$messageProps,
48
76
  customMessage = props.customMessage,
49
- others = _objectWithoutProperties(props, _excluded); // 渲染搜索区域
77
+ scrollArea = props.scrollArea,
78
+ showExpandAll = props.showExpandAll,
79
+ showExpandLevel = props.showExpandLevel,
80
+ onExpandAllChange = props.onExpandAllChange,
81
+ onExpandLevelChange = props.onExpandLevelChange,
82
+ _props$expandLevel = props.expandLevel,
83
+ expandLevel = _props$expandLevel === void 0 ? 1 : _props$expandLevel,
84
+ isTree = props.isTree,
85
+ others = _objectWithoutProperties(props, _excluded);
50
86
 
87
+ var ref = (0, _react.useRef)();
88
+
89
+ var _useState = (0, _react.useState)('auto'),
90
+ _useState2 = _slicedToArray(_useState, 2),
91
+ treeHeight = _useState2[0],
92
+ setTreeHeight = _useState2[1]; // 展开全部状态
93
+
94
+
95
+ var _useState3 = (0, _react.useState)(false),
96
+ _useState4 = _slicedToArray(_useState3, 2),
97
+ expandAllState = _useState4[0],
98
+ setExpandAllState = _useState4[1]; // 展开层级状态
99
+
100
+
101
+ var _useState5 = (0, _react.useState)(1),
102
+ _useState6 = _slicedToArray(_useState5, 2),
103
+ expandLevelState = _useState6[0],
104
+ setExpandLevelState = _useState6[1];
105
+
106
+ (0, _react.useEffect)(function () {
107
+ // 设置滚动区域
108
+ if (scrollArea === 'tree') {
109
+ var _ref$current$offsetTo, _ref$current;
110
+
111
+ var remainHeight = (_ref$current$offsetTo = ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.offsetTop) !== null && _ref$current$offsetTo !== void 0 ? _ref$current$offsetTo : 0 + 40;
112
+
113
+ if (remainHeight > 0) {
114
+ setTreeHeight("calc(100% - ".concat(remainHeight, "px + 16px)"));
115
+ }
116
+ }
117
+ }, []); // 渲染搜索区域
51
118
 
52
119
  var renderSearch = function renderSearch() {
53
120
  if (customSearch || showSearch) {
@@ -70,22 +137,67 @@ var ProSidebarContainer = function ProSidebarContainer(props) {
70
137
  if (message || customMessage) {
71
138
  return /*#__PURE__*/_react.default.createElement("div", {
72
139
  className: cls('notice')
73
- }, message && /*#__PURE__*/_react.default.createElement(_components.Message, _objectSpread({
140
+ }, message && /*#__PURE__*/_react.default.createElement(_components.Message, _objectSpread(_objectSpread({
74
141
  type: "notice",
75
142
  closeable: true
76
- }, messageProps), message), !!customMessage && customMessage);
143
+ }, messageProps), {}, {
144
+ onClose: function onClose() {
145
+ var _ref$current$offsetTo2, _ref$current2;
146
+
147
+ var remainHeight = (_ref$current$offsetTo2 = ref === null || ref === void 0 ? void 0 : (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.offsetTop) !== null && _ref$current$offsetTo2 !== void 0 ? _ref$current$offsetTo2 : 0 + 40;
148
+ setTreeHeight("calc(100% - ".concat(remainHeight, "px + 56px)"));
149
+ }
150
+ }), message), !!customMessage && customMessage);
77
151
  }
78
152
 
79
153
  return null;
154
+ }; // 渲染折叠区
155
+
156
+
157
+ var renderFold = function renderFold() {
158
+ if (showExpandAll || showExpandLevel) {
159
+ return /*#__PURE__*/_react.default.createElement("div", {
160
+ className: cls('fold')
161
+ }, showExpandAll && /*#__PURE__*/_react.default.createElement(_components.Button, {
162
+ type: "primary",
163
+ text: true,
164
+ onClick: function onClick() {
165
+ var visible = !expandAllState;
166
+ setExpandAllState(visible);
167
+ onExpandAllChange === null || onExpandAllChange === void 0 ? void 0 : onExpandAllChange(visible);
168
+ }
169
+ }, /*#__PURE__*/_react.default.createElement(_icon.default, {
170
+ type: expandAllState ? 'menu-unfold-line' : 'menu-fold-line'
171
+ }), expandAllState ? '全部收起' : '全部展开'), showExpandLevel && /*#__PURE__*/_react.default.createElement(_components.MenuButton, {
172
+ text: true,
173
+ type: "secondary",
174
+ label: "\u5C55\u793A".concat(expandLevelState, "\u7EA7"),
175
+ onItemClick: function onItemClick(key) {
176
+ setExpandLevelState(key);
177
+ onExpandLevelChange === null || onExpandLevelChange === void 0 ? void 0 : onExpandLevelChange(key);
178
+ }
179
+ }, _toConsumableArray(new Array(expandLevel)).fill(1).map(function (item, index) {
180
+ return /*#__PURE__*/_react.default.createElement(_components.MenuButton.Item, {
181
+ key: index + 1
182
+ }, "\u5C55\u793A", index + 1, "\u7EA7");
183
+ })));
184
+ }
80
185
  };
81
186
 
82
187
  return /*#__PURE__*/_react.default.createElement("div", {
83
- className: cls()
188
+ className: cls({
189
+ '': true,
190
+ 'not-is-tree': !isTree
191
+ })
84
192
  }, /*#__PURE__*/_react.default.createElement(_card.ProCard, _objectSpread({
85
193
  bordered: false,
86
194
  compacted: true
87
- }, others), renderSearch(), renderNotice(), /*#__PURE__*/_react.default.createElement("div", {
88
- className: cls('context')
195
+ }, others), renderSearch(), renderNotice(), renderFold(), /*#__PURE__*/_react.default.createElement("div", {
196
+ className: cls('context'),
197
+ ref: ref,
198
+ style: {
199
+ height: treeHeight
200
+ }
89
201
  }, children)));
90
202
  };
91
203
 
@@ -1,18 +1,66 @@
1
1
  .teamix-pro-sidebar-container {
2
2
  min-width: 180px;
3
+ .teamix-pro-card.compacted >.next-card-header{
4
+ padding: 16px 0px;
5
+ margin: 0;
6
+
7
+ }
8
+
9
+ .next-card .next-card-header-extra{
10
+ margin-top: 2px;
11
+ }
3
12
 
4
13
  &-search {
5
- margin-bottom: 8px;
14
+ margin-bottom: var(--s-2);
6
15
  }
7
16
 
8
17
  &-search-has-message {
9
- margin-bottom: 4px;
18
+ margin-bottom: var(--s-1);
10
19
  }
11
20
 
12
21
  &-notice {
13
- margin-bottom: 4px;
22
+ margin-bottom: var(--s-1);
23
+ }
24
+
25
+ &-fold {
26
+ margin-bottom: var(--s-1);
27
+ }
28
+
29
+
30
+ &.teamix-pro-sidebar-container &-context{
31
+ overflow-y: hidden;
32
+
33
+ &:hover{
34
+ overflow-y: auto;
35
+ }
14
36
  }
15
37
 
16
- &-context {
38
+
39
+ &-not-is-tree{
40
+
41
+ .teamix-pro-card.compacted >.next-card-header{
42
+ padding: 16px 8px;
43
+ margin: 0;
44
+ }
45
+ .teamix-pro-sidebar-container-context{
46
+ padding: 0;
47
+ }
48
+
49
+ .teamix-pro-sidebar-container-search{
50
+ padding: 0 8px;
51
+ }
52
+
53
+ .teamix-pro-sidebar-container-search-has-message{
54
+ padding: 0 8px;
55
+ }
56
+
57
+ .teamix-pro-sidebar-container-notice{
58
+ padding: 0 8px;
59
+ }
60
+
61
+ .teamix-pro-sidebar-container-fold{
62
+ padding: 0 8px;
63
+ }
64
+
17
65
  }
18
- }
66
+ }
@@ -1,4 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ProSidebarTreeProps } from '../../typing';
3
+ import './index.scss';
4
+ import '../tree-node/index.scss';
3
5
  declare const ProSidebarTree: React.FC<ProSidebarTreeProps>;
4
6
  export default ProSidebarTree;