@teamix/pro 1.2.7 → 1.2.11

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 (121) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +756 -368
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/base.d.ts +16 -6
  6. package/es/actions/base.js +66 -12
  7. package/es/actions/confirm.d.ts +1 -1
  8. package/es/actions/danger-confirm.d.ts +1 -1
  9. package/es/actions/dialog-component.d.ts +1 -1
  10. package/es/actions/dialog-form.d.ts +1 -1
  11. package/es/actions/dialog-form.js +4 -4
  12. package/es/actions/dialog-info.d.ts +1 -1
  13. package/es/actions/dialog-table.d.ts +1 -1
  14. package/es/actions/dialog.d.ts +6 -2
  15. package/es/actions/dialog.js +19 -24
  16. package/es/actions/drawer-form.d.ts +1 -1
  17. package/es/actions/drawer-info.d.ts +1 -1
  18. package/es/actions/drawer-table.d.ts +1 -1
  19. package/es/actions/drawer.d.ts +1 -1
  20. package/es/actions/error.d.ts +1 -1
  21. package/es/actions/index.js +25 -21
  22. package/es/actions/index.scss +14 -7
  23. package/es/actions/link.d.ts +2 -2
  24. package/es/actions/link.js +2 -2
  25. package/es/actions/notice.d.ts +1 -1
  26. package/es/actions/request.d.ts +1 -1
  27. package/es/actions/request.js +2 -2
  28. package/es/card/index.d.ts +21 -3
  29. package/es/card/index.js +29 -12
  30. package/es/card/index.scss +71 -2
  31. package/es/card/selectable.d.ts +13 -0
  32. package/es/card/selectable.js +45 -0
  33. package/es/card/tab.d.ts +6 -0
  34. package/es/card/tab.js +27 -0
  35. package/es/form/Filter/index.js +5 -5
  36. package/es/form/ProForm/index.js +3 -23
  37. package/es/form/ProForm/index.scss +9 -0
  38. package/es/form/SchemaForm/index.js +7 -6
  39. package/es/index.d.ts +1 -1
  40. package/es/index.js +7 -4
  41. package/es/info/components/tableInfo/index.js +10 -6
  42. package/es/nocode/configurators/Card.js +31 -8
  43. package/es/page-header/index.d.ts +20 -11
  44. package/es/page-header/index.js +23 -47
  45. package/es/page-header/index.scss +0 -11
  46. package/es/sidebar/components/sidebar-container/index.d.ts +5 -0
  47. package/es/sidebar/components/sidebar-container/index.js +77 -0
  48. package/es/sidebar/components/sidebar-container/index.scss +18 -0
  49. package/es/sidebar/components/tree/index.d.ts +4 -0
  50. package/es/sidebar/components/tree/index.js +162 -0
  51. package/es/sidebar/index.d.ts +5 -0
  52. package/es/sidebar/index.js +70 -0
  53. package/es/sidebar/index.scss +3 -0
  54. package/es/sidebar/typing.d.ts +64 -0
  55. package/es/sidebar/typing.js +1 -0
  56. package/es/table/components/Filter/index.js +3 -3
  57. package/es/table/index.js +12 -3
  58. package/es/table/index.scss +1 -0
  59. package/es/table/typing.d.ts +2 -0
  60. package/es/utils/components/tags/index.d.ts +11 -0
  61. package/es/utils/components/tags/index.js +50 -0
  62. package/es/utils/components/tags/index.scss +12 -0
  63. package/lib/actions/base.d.ts +16 -6
  64. package/lib/actions/base.js +67 -12
  65. package/lib/actions/confirm.d.ts +1 -1
  66. package/lib/actions/danger-confirm.d.ts +1 -1
  67. package/lib/actions/dialog-component.d.ts +1 -1
  68. package/lib/actions/dialog-form.d.ts +1 -1
  69. package/lib/actions/dialog-form.js +3 -3
  70. package/lib/actions/dialog-info.d.ts +1 -1
  71. package/lib/actions/dialog-table.d.ts +1 -1
  72. package/lib/actions/dialog.d.ts +6 -2
  73. package/lib/actions/dialog.js +18 -23
  74. package/lib/actions/drawer-form.d.ts +1 -1
  75. package/lib/actions/drawer-info.d.ts +1 -1
  76. package/lib/actions/drawer-table.d.ts +1 -1
  77. package/lib/actions/drawer.d.ts +1 -1
  78. package/lib/actions/error.d.ts +1 -1
  79. package/lib/actions/index.js +25 -21
  80. package/lib/actions/index.scss +14 -7
  81. package/lib/actions/link.d.ts +2 -2
  82. package/lib/actions/link.js +2 -2
  83. package/lib/actions/notice.d.ts +1 -1
  84. package/lib/actions/request.d.ts +1 -1
  85. package/lib/actions/request.js +2 -2
  86. package/lib/card/index.d.ts +21 -3
  87. package/lib/card/index.js +35 -14
  88. package/lib/card/index.scss +71 -2
  89. package/lib/card/selectable.d.ts +13 -0
  90. package/lib/card/selectable.js +60 -0
  91. package/lib/card/tab.d.ts +6 -0
  92. package/lib/card/tab.js +39 -0
  93. package/lib/form/Filter/index.js +5 -6
  94. package/lib/form/ProForm/index.js +3 -23
  95. package/lib/form/ProForm/index.scss +9 -0
  96. package/lib/form/SchemaForm/index.js +7 -6
  97. package/lib/index.d.ts +1 -1
  98. package/lib/index.js +3 -1
  99. package/lib/info/components/tableInfo/index.js +10 -6
  100. package/lib/nocode/configurators/Card.js +31 -8
  101. package/lib/page-header/index.d.ts +20 -11
  102. package/lib/page-header/index.js +22 -45
  103. package/lib/page-header/index.scss +0 -11
  104. package/lib/sidebar/components/sidebar-container/index.d.ts +5 -0
  105. package/lib/sidebar/components/sidebar-container/index.js +93 -0
  106. package/lib/sidebar/components/sidebar-container/index.scss +18 -0
  107. package/lib/sidebar/components/tree/index.d.ts +4 -0
  108. package/lib/sidebar/components/tree/index.js +179 -0
  109. package/lib/sidebar/index.d.ts +5 -0
  110. package/lib/sidebar/index.js +91 -0
  111. package/lib/sidebar/index.scss +3 -0
  112. package/lib/sidebar/typing.d.ts +64 -0
  113. package/lib/sidebar/typing.js +5 -0
  114. package/lib/table/components/Filter/index.js +2 -2
  115. package/lib/table/index.js +12 -3
  116. package/lib/table/index.scss +1 -0
  117. package/lib/table/typing.d.ts +2 -0
  118. package/lib/utils/components/tags/index.d.ts +11 -0
  119. package/lib/utils/components/tags/index.js +66 -0
  120. package/lib/utils/components/tags/index.scss +12 -0
  121. package/package.json +1 -1
@@ -7,9 +7,7 @@ exports.default = void 0;
7
7
  var initialValues = {
8
8
  title: '卡片标题',
9
9
  children: '卡片内容卡片内容卡片内容',
10
- extra: '操作',
11
- bordered: true,
12
- hoveredShadow: true
10
+ extra: '操作'
13
11
  };
14
12
  var schema = [{
15
13
  component: 'FormTab',
@@ -60,10 +58,6 @@ var schema = [{
60
58
  children: [{
61
59
  title: '整体样式',
62
60
  children: [{
63
- name: 'bordered',
64
- title: '边框',
65
- component: 'Switch'
66
- }, {
67
61
  name: 'divider',
68
62
  title: '头部分割线',
69
63
  component: 'Switch'
@@ -78,7 +72,36 @@ var schema = [{
78
72
  label: '蓝色',
79
73
  value: 'blue'
80
74
  }, {
81
- label: '绿生',
75
+ label: '绿色',
76
+ value: 'green'
77
+ }, {
78
+ label: '红色',
79
+ value: 'red'
80
+ }, {
81
+ label: '橙色',
82
+ value: 'orange'
83
+ }, {
84
+ label: '黄色',
85
+ value: 'yellow'
86
+ }, {
87
+ label: '灰色',
88
+ value: 'grey'
89
+ }, {
90
+ label: '透明',
91
+ value: 'transparent'
92
+ }]
93
+ }, {
94
+ name: 'borderColor',
95
+ title: '边框色',
96
+ component: 'Select',
97
+ dataSource: [{
98
+ label: '无边框',
99
+ value: 'none'
100
+ }, {
101
+ label: '蓝色',
102
+ value: 'blue'
103
+ }, {
104
+ label: '绿色',
82
105
  value: 'green'
83
106
  }, {
84
107
  label: '红色',
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import { TagProps, CloseableProps } from '@alicloudfe/components/types/tag';
3
2
  import { ItemProps } from '@alicloudfe/components/types/breadcrumb';
3
+ import { LinkPath } from '@teamix/utils';
4
+ import { ProTagItem } from '../utils/components/tags';
4
5
  import { ProActionGroupProps } from '../actions';
5
6
  import { ProInfoProps } from '../info';
6
7
  import './index.scss';
@@ -10,14 +11,7 @@ export interface ProPageHeaderBreadcrumbItem extends ItemProps {
10
11
  */
11
12
  text?: string;
12
13
  }
13
- export declare type ProPageHeaderTagItem = (TagProps | (CloseableProps & {
14
- closable: true;
15
- })) & {
16
- /**
17
- * @deprecated 建议使用 children 代替
18
- */
19
- text?: string;
20
- };
14
+ export declare type ProPageHeaderTagItem = ProTagItem;
21
15
  declare type Color = 'blue' | 'green' | 'orange' | 'red' | 'yellow' | string;
22
16
  export declare type ProPageHeaderDataItem = {
23
17
  title: string;
@@ -25,20 +19,35 @@ export declare type ProPageHeaderDataItem = {
25
19
  color?: Color;
26
20
  } & React.HTMLAttributes<HTMLElement>;
27
21
  export declare type ProPageHeaderProps = {
22
+ /** 标题 */
28
23
  title?: React.ReactNode;
24
+ /** 描述 */
29
25
  description?: React.ReactNode;
30
- icon?: string;
26
+ /** 图标 */
27
+ icon?: React.ReactNode;
28
+ /** 图标颜色 */
31
29
  iconColor?: Color;
30
+ /** 图标背景类型 */
32
31
  iconBackgroundType?: 'circle' | 'square';
32
+ /** 图标背景色 */
33
33
  iconBackgroundColor?: Color;
34
- goback?: string | boolean;
34
+ /** 返回按钮配置 */
35
+ goback?: boolean | LinkPath | ((e: React.MouseEvent) => void);
36
+ /** 背景图 */
35
37
  image?: string;
38
+ /** 加载中 */
36
39
  loading?: boolean;
40
+ /** 面包屑配置 */
37
41
  breadcrumb?: ProPageHeaderBreadcrumbItem[];
42
+ /** 额外信息区配置 */
38
43
  extra?: ProActionGroupProps | React.ReactNode;
44
+ /** 操作区配置 */
39
45
  operation?: ProActionGroupProps | React.ReactNode;
46
+ /** 标签组 */
40
47
  tags?: ProPageHeaderTagItem[];
48
+ /** 数据概览项 */
41
49
  data?: ProPageHeaderDataItem[];
50
+ /** 底部详情 */
42
51
  info?: ProInfoProps | React.ReactNode;
43
52
  } & Omit<React.HTMLAttributes<HTMLElement>, 'title'>;
44
53
  declare const ProPageHeader: React.FC<ProPageHeaderProps>;
@@ -17,6 +17,8 @@ var _components = require("@alicloudfe/components");
17
17
 
18
18
  var _utils = require("@teamix/utils");
19
19
 
20
+ var _tags = require("../utils/components/tags");
21
+
20
22
  var _actions = require("../actions");
21
23
 
22
24
  var _skeleton = require("../skeleton");
@@ -26,9 +28,8 @@ var _info = _interopRequireDefault(require("../info"));
26
28
  require("./index.scss");
27
29
 
28
30
  var _excluded = ["text", "children"],
29
- _excluded2 = ["text", "children", "closable"],
30
- _excluded3 = ["color", "title", "num", "className"],
31
- _excluded4 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
31
+ _excluded2 = ["color", "title", "num", "className"],
32
+ _excluded3 = ["title", "description", "icon", "iconColor", "iconBackgroundType", "iconBackgroundColor", "goback", "operation", "extra", "image", "loading", "breadcrumb", "tags", "data", "info", "children", "className", "style"];
32
33
 
33
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
35
 
@@ -83,40 +84,6 @@ var renderActionGroup = function renderActionGroup(group, defaultProps) {
83
84
  return group;
84
85
  };
85
86
 
86
- var renderTags = function renderTags(tags) {
87
- if (!tags) {
88
- return null;
89
- }
90
-
91
- return /*#__PURE__*/_react.default.createElement(_components.Tag.Group, {
92
- className: cls('tags')
93
- }, tags.map(function (tag, i) {
94
- // @ts-ignore
95
- var text = tag.text,
96
- children = tag.children,
97
- closable = tag.closable,
98
- others = _objectWithoutProperties(tag, _excluded2);
99
-
100
- if (closable) {
101
- return /*#__PURE__*/_react.default.createElement(_components.Tag.Closeable, _objectSpread({
102
- key: i,
103
- size: "large",
104
- style: {
105
- marginBottom: 0
106
- }
107
- }, others), text || children);
108
- }
109
-
110
- return /*#__PURE__*/_react.default.createElement(_components.Tag, _objectSpread({
111
- key: i,
112
- size: "large",
113
- style: {
114
- marginBottom: 0
115
- }
116
- }, others), text || children);
117
- }));
118
- };
119
-
120
87
  var isPresetColor = function isPresetColor(color) {
121
88
  if (!color) {
122
89
  return false;
@@ -154,7 +121,7 @@ var renderData = function renderData(data) {
154
121
  title = item.title,
155
122
  num = item.num,
156
123
  customClassName = item.className,
157
- others = _objectWithoutProperties(item, _excluded3);
124
+ others = _objectWithoutProperties(item, _excluded2);
158
125
 
159
126
  var _getColorAndStyle = getColorAndStyle(color),
160
127
  className = _getColorAndStyle.className,
@@ -202,7 +169,7 @@ var ProPageHeader = function ProPageHeader(props) {
202
169
  children = props.children,
203
170
  className = props.className,
204
171
  style = props.style,
205
- others = _objectWithoutProperties(props, _excluded4);
172
+ others = _objectWithoutProperties(props, _excluded3);
206
173
 
207
174
  var history = (0, _reactRouterDom.useHistory)();
208
175
  var backgroundImage = image ? "url('".concat(image, "')") : undefined;
@@ -220,12 +187,22 @@ var ProPageHeader = function ProPageHeader(props) {
220
187
  iconClass = _getColorAndStyle2.className,
221
188
  iconStyle = _getColorAndStyle2.style;
222
189
 
223
- var onBack = function onBack() {
190
+ var onBack = function onBack(e) {
191
+ if (!goback) {
192
+ return;
193
+ }
194
+
195
+ if (typeof goback === 'function') {
196
+ goback(e);
197
+ return;
198
+ }
199
+
224
200
  if (goback === true) {
225
201
  history.go(-1);
226
- } else if (typeof goback === 'string') {
227
- history.push && history.push(goback);
202
+ return;
228
203
  }
204
+
205
+ (0, _utils.goToLink)(goback, history);
229
206
  };
230
207
 
231
208
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, goback && /*#__PURE__*/_react.default.createElement(_icon.default, {
@@ -233,14 +210,14 @@ var ProPageHeader = function ProPageHeader(props) {
233
210
  onClick: onBack,
234
211
  type: "return-line",
235
212
  size: "large"
236
- }), icon && /*#__PURE__*/_react.default.createElement(_icon.default, {
213
+ }), icon && (typeof icon === 'string' ? /*#__PURE__*/_react.default.createElement(_icon.default, {
237
214
  className: (0, _classnames2.default)(iconClass, cls('title-icon')),
238
215
  style: iconStyle,
239
216
  type: icon,
240
217
  size: "large"
241
- }), /*#__PURE__*/_react.default.createElement("span", {
218
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon)), /*#__PURE__*/_react.default.createElement("span", {
242
219
  className: cls('title-name')
243
- }, title), renderTags(tags));
220
+ }, title), (0, _tags.renderTags)(tags, 'large'));
244
221
  };
245
222
 
246
223
  return /*#__PURE__*/_react.default.createElement("header", _objectSpread({
@@ -124,17 +124,6 @@ $prefix: 'teamix-pro-page-header';
124
124
  cursor: pointer;
125
125
  }
126
126
 
127
- .#{$prefix}-tags {
128
- display: inline-flex;
129
- align-items: center;
130
-
131
- & > div {
132
- &:last-child {
133
- margin-right: 0;
134
- }
135
- }
136
- }
137
-
138
127
  .#{$prefix}-color {
139
128
  &-blue {
140
129
  color: var(--color-notice-5);
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ProSidebarContainerProps } from '../../typing';
3
+ import './index.scss';
4
+ declare const ProSidebarContainer: React.FC<ProSidebarContainerProps>;
5
+ export default ProSidebarContainer;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _components = require("@alicloudfe/components");
9
+
10
+ var _card = require("../../../card");
11
+
12
+ var _proField = _interopRequireDefault(require("@teamix/pro-field"));
13
+
14
+ var _utils = require("@teamix/utils");
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ require("./index.scss");
19
+
20
+ var _excluded = ["children", "searchPlaceholder", "showSearch", "searchProps", "customSearch", "searchOnChange", "message", "messageProps", "customMessage"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ 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
+
30
+ 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
+
32
+ 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; }
33
+
34
+ var cls = (0, _utils.baseClass)('teamix-pro-sidebar-container');
35
+
36
+ var ProSidebarContainer = function ProSidebarContainer(props) {
37
+ var children = props.children,
38
+ searchPlaceholder = props.searchPlaceholder,
39
+ _props$showSearch = props.showSearch,
40
+ showSearch = _props$showSearch === void 0 ? true : _props$showSearch,
41
+ _props$searchProps = props.searchProps,
42
+ searchProps = _props$searchProps === void 0 ? {} : _props$searchProps,
43
+ customSearch = props.customSearch,
44
+ searchOnChange = props.searchOnChange,
45
+ message = props.message,
46
+ _props$messageProps = props.messageProps,
47
+ messageProps = _props$messageProps === void 0 ? {} : _props$messageProps,
48
+ customMessage = props.customMessage,
49
+ others = _objectWithoutProperties(props, _excluded); // 渲染搜索区域
50
+
51
+
52
+ var renderSearch = function renderSearch() {
53
+ if (customSearch || showSearch) {
54
+ return /*#__PURE__*/_react.default.createElement("div", {
55
+ className: cls('search')
56
+ }, !!customSearch && customSearch, showSearch && /*#__PURE__*/_react.default.createElement(_proField.default, _objectSpread({
57
+ mode: "edit",
58
+ type: "text",
59
+ placeholder: searchPlaceholder,
60
+ innerBeforeIcon: "search-line",
61
+ onChange: searchOnChange
62
+ }, searchProps)));
63
+ }
64
+
65
+ return null;
66
+ }; // 渲染通知区域
67
+
68
+
69
+ var renderNotice = function renderNotice() {
70
+ if (message || customMessage) {
71
+ return /*#__PURE__*/_react.default.createElement("div", {
72
+ className: cls('notice')
73
+ }, message && /*#__PURE__*/_react.default.createElement(_components.Message, _objectSpread({
74
+ type: "notice",
75
+ closeable: true
76
+ }, messageProps), message), !!customMessage && customMessage);
77
+ }
78
+
79
+ return null;
80
+ };
81
+
82
+ return /*#__PURE__*/_react.default.createElement("div", {
83
+ className: cls()
84
+ }, /*#__PURE__*/_react.default.createElement(_card.ProCard, _objectSpread({
85
+ bordered: false,
86
+ compacted: true
87
+ }, others), renderSearch(), renderNotice(), /*#__PURE__*/_react.default.createElement("div", {
88
+ className: cls('context')
89
+ }, children)));
90
+ };
91
+
92
+ var _default = ProSidebarContainer;
93
+ exports.default = _default;
@@ -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,179 @@
1
+ "use strict";
2
+
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
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _components = require("@alicloudfe/components");
11
+
12
+ var _utils = require("@teamix/utils");
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _excluded = ["dataSource", "searchKey", "onSelect"];
17
+
18
+ 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); }
19
+
20
+ 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
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
29
+
30
+ 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."); }
31
+
32
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
33
+
34
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
35
+
36
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
37
+
38
+ 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."); }
39
+
40
+ 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); }
41
+
42
+ 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; }
43
+
44
+ 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; }
45
+
46
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
+
48
+ 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; }
49
+
50
+ 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; }
51
+
52
+ var cls = (0, _utils.baseClass)('teamix-pro-sidebar-tree');
53
+
54
+ var ProSidebarTree = function ProSidebarTree(props) {
55
+ var dataSourceProp = props.dataSource,
56
+ searchKey = props.searchKey,
57
+ onSelect = props.onSelect,
58
+ others = _objectWithoutProperties(props, _excluded); // 自动展开父节点。过滤时用
59
+
60
+
61
+ var _useState = (0, _react.useState)(false),
62
+ _useState2 = _slicedToArray(_useState, 2),
63
+ autoExpandParent = _useState2[0],
64
+ setAutoExpandParent = _useState2[1];
65
+
66
+ var _useState3 = (0, _react.useState)(),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ matchedKeys = _useState4[0],
69
+ setMatchedKeys = _useState4[1];
70
+
71
+ var _useState5 = (0, _react.useState)(),
72
+ _useState6 = _slicedToArray(_useState5, 2),
73
+ expandedKeys = _useState6[0],
74
+ setExpandedKeys = _useState6[1];
75
+
76
+ var _useState7 = (0, _react.useState)(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []),
77
+ _useState8 = _slicedToArray(_useState7, 2),
78
+ dataSource = _useState8[0],
79
+ setDataSource = _useState8[1];
80
+
81
+ (0, _react.useEffect)(function () {
82
+ getAllExpend();
83
+ }, []);
84
+ (0, _react.useEffect)(function () {
85
+ filterDataSource(searchKey !== null && searchKey !== void 0 ? searchKey : '');
86
+ }, [searchKey]); // 获取全部展开节点key
87
+
88
+ var getAllExpend = function getAllExpend() {
89
+ var allKeys = (0, _utils.treeToList)(dataSource).map(function (item) {
90
+ return item.value;
91
+ });
92
+ setExpandedKeys(allKeys);
93
+ }; // 过滤
94
+
95
+
96
+ var filterDataSource = function filterDataSource(value) {
97
+ if (!value) {
98
+ setExpandedKeys([]);
99
+ getAllExpend();
100
+ }
101
+
102
+ value = value.trim();
103
+ var matchedKeys = [];
104
+
105
+ if (!value) {
106
+ matchedKeys = [];
107
+ return;
108
+ }
109
+
110
+ var loop = function loop(data) {
111
+ return data.forEach(function (item) {
112
+ if (item.label.indexOf(value) > -1) {
113
+ matchedKeys.push(item.value);
114
+ }
115
+
116
+ if (item.children && item.children.length) {
117
+ loop(item.children);
118
+ }
119
+ });
120
+ };
121
+
122
+ loop(dataSource);
123
+ setExpandedKeys(_toConsumableArray(matchedKeys));
124
+ setAutoExpandParent(true);
125
+ setMatchedKeys(matchedKeys);
126
+ };
127
+
128
+ var filterTreeNode = function filterTreeNode(node) {
129
+ return matchedKeys && matchedKeys.indexOf(node.props.eventKey) > -1;
130
+ }; // 节点展开回调
131
+
132
+
133
+ var handleExpand = function handleExpand(key) {
134
+ setExpandedKeys(key);
135
+ setAutoExpandParent(false);
136
+ }; // 渲染树节点
137
+
138
+
139
+ var renderTreeNode = function renderTreeNode(data) {
140
+ return data.map(function (item) {
141
+ return /*#__PURE__*/_react.default.createElement(_components.Tree.Node, {
142
+ key: item.value,
143
+ label: renderTreeNodeItem(item)
144
+ }, item.children && item.children.length > 0 && renderTreeNode(item.children));
145
+ });
146
+ }; // 渲染单个树节点 label
147
+
148
+
149
+ var renderTreeNodeItem = function renderTreeNodeItem(data) {
150
+ var node = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, data.label);
151
+
152
+ if (data.tag) {
153
+ if ( /*#__PURE__*/(0, _react.isValidElement)(data.tag)) {
154
+ node = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, node, data.tag);
155
+ }
156
+ }
157
+
158
+ return node;
159
+ };
160
+
161
+ return /*#__PURE__*/_react.default.createElement("div", {
162
+ className: cls()
163
+ }, /*#__PURE__*/_react.default.createElement(_components.Tree, _objectSpread({
164
+ defaultExpandAll: true,
165
+ isLabelBlock: true,
166
+ isNodeBlock: {
167
+ defaultPaddingLeft: 8,
168
+ indent: 16
169
+ },
170
+ filterTreeNode: filterTreeNode,
171
+ expandedKeys: expandedKeys,
172
+ onExpand: handleExpand,
173
+ autoExpandParent: autoExpandParent,
174
+ onSelect: onSelect
175
+ }, others), renderTreeNode(dataSource)));
176
+ };
177
+
178
+ var _default = ProSidebarTree;
179
+ exports.default = _default;
@@ -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,91 @@
1
+ "use strict";
2
+
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
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ require("./index.scss");
13
+
14
+ var _utils = require("@teamix/utils");
15
+
16
+ var _sidebarContainer = _interopRequireDefault(require("./components/sidebar-container"));
17
+
18
+ var _tree = _interopRequireDefault(require("./components/tree"));
19
+
20
+ var _excluded = ["dataSource", "className", "style", "searchOnChange", "showSearch", "onSelect", "treeProps", "cardProps"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ 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."); }
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ 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; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ 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; }
47
+
48
+ 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; }
49
+
50
+ var cls = (0, _utils.baseClass)('teamix-pro-sidebar');
51
+
52
+ var ProSidebar = function ProSidebar(props) {
53
+ var dataSource = props.dataSource,
54
+ className = props.className,
55
+ style = props.style,
56
+ _searchOnChange = props.searchOnChange,
57
+ _props$showSearch = props.showSearch,
58
+ showSearch = _props$showSearch === void 0 ? true : _props$showSearch,
59
+ onSelect = props.onSelect,
60
+ treeProps = props.treeProps,
61
+ cardProps = props.cardProps,
62
+ others = _objectWithoutProperties(props, _excluded); // 搜索的关键词
63
+
64
+
65
+ var _useState = (0, _react.useState)(),
66
+ _useState2 = _slicedToArray(_useState, 2),
67
+ searchKey = _useState2[0],
68
+ setSearchKey = _useState2[1];
69
+
70
+ return /*#__PURE__*/_react.default.createElement("div", {
71
+ className: cls(_defineProperty({
72
+ '': true
73
+ }, className, true)),
74
+ style: style
75
+ }, /*#__PURE__*/_react.default.createElement(_sidebarContainer.default, _objectSpread(_objectSpread({
76
+ searchOnChange: function searchOnChange(value) {
77
+ if (showSearch) {
78
+ _searchOnChange === null || _searchOnChange === void 0 ? void 0 : _searchOnChange(value);
79
+ setSearchKey(value);
80
+ }
81
+ },
82
+ showSearch: showSearch
83
+ }, others), cardProps), /*#__PURE__*/_react.default.createElement(_tree.default, _objectSpread({
84
+ dataSource: dataSource,
85
+ searchKey: searchKey,
86
+ onSelect: onSelect
87
+ }, treeProps))));
88
+ };
89
+
90
+ var _default = ProSidebar;
91
+ exports.default = _default;