@aloudata/aloudata-design 2.9.0 → 2.9.1

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.
@@ -1,7 +1,11 @@
1
1
  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); }
2
+ var _excluded = ["count", "status", "size", "className", "onClick"];
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
4
6
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ 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; }
8
+ 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; }
5
9
  import classNames from 'classnames';
6
10
  import React from 'react';
7
11
  export default function Badge(props) {
@@ -11,7 +15,8 @@ export default function Badge(props) {
11
15
  status = _props$status === void 0 ? 'default' : _props$status,
12
16
  size = props.size,
13
17
  className = props.className,
14
- onClick = props.onClick;
18
+ onClick = props.onClick,
19
+ rest = _objectWithoutProperties(props, _excluded);
15
20
  var status2ColorMap = {
16
21
  success: {
17
22
  color: '#15803D',
@@ -34,12 +39,12 @@ export default function Badge(props) {
34
39
  backgroundColor: '#FEF08A'
35
40
  }
36
41
  };
37
- return /*#__PURE__*/React.createElement("div", {
42
+ return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
38
43
  className: classNames('ald-badge', (_classNames = {}, _defineProperty(_classNames, 'ald-badge-large', size === 'large'), _defineProperty(_classNames, 'ald-badge-clickable', typeof onClick === 'function'), _classNames), className),
39
44
  style: {
40
45
  color: status2ColorMap[status].color,
41
46
  backgroundColor: status2ColorMap[status].backgroundColor
42
47
  },
43
48
  onClick: onClick
44
- }, count);
49
+ }), count);
45
50
  }
@@ -14,6 +14,7 @@ import ScrollArea from "../../ScrollArea";
14
14
  import Spin from "../../Spin";
15
15
  import { isUser } from "../utils/getUsersWithUserId";
16
16
  import MultipleOption from "./MultipleOption";
17
+ import { userDisplayNameIsRepeated } from "./Panel";
17
18
  import SingleOption from "./SingleOption";
18
19
  export default function MemberSelection(props) {
19
20
  var className = props.className,
@@ -83,6 +84,7 @@ export default function MemberSelection(props) {
83
84
  user: user,
84
85
  disabled: disabled,
85
86
  selected: isSelected,
87
+ showUserId: userDisplayNameIsRepeated(userList, user.nickname),
86
88
  onChange: function onChange(selected, user) {
87
89
  if (isUser(user)) _onChange(selected, user);
88
90
  }
@@ -90,6 +92,7 @@ export default function MemberSelection(props) {
90
92
  key: user.userId,
91
93
  user: user,
92
94
  selected: isSelected,
95
+ showUserId: userDisplayNameIsRepeated(userList, user.nickname),
93
96
  onChange: function onChange(selected, user) {
94
97
  if (isUser(user)) _onChange(selected, user);
95
98
  }
@@ -9,6 +9,7 @@ interface IMultipleOptionProps {
9
9
  className?: string;
10
10
  onNextLevel?: (userGroup: IUserGroup) => void;
11
11
  hasNextLevel?: boolean;
12
+ showUserId?: boolean;
12
13
  }
13
14
  export default function MultipleList(params: IMultipleOptionProps): React.JSX.Element;
14
15
  export {};
@@ -5,6 +5,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
5
5
  import classnames from 'classnames';
6
6
  import React from 'react';
7
7
  import Checkbox from "../../Checkbox";
8
+ import { EUserType } from "../../ConfigProvider/getUserList";
8
9
  import TextLink from "../../TextLink/index";
9
10
  import { getAccount, getId, getPhoto } from "../utils";
10
11
  import { isUserGroup } from "../utils/getUsersWithUserId";
@@ -17,7 +18,9 @@ export default function MultipleList(params) {
17
18
  className = params.className,
18
19
  onNextLevel = params.onNextLevel,
19
20
  _params$hasNextLevel = params.hasNextLevel,
20
- hasNextLevel = _params$hasNextLevel === void 0 ? true : _params$hasNextLevel;
21
+ hasNextLevel = _params$hasNextLevel === void 0 ? true : _params$hasNextLevel,
22
+ _params$showUserId = params.showUserId,
23
+ showUserId = _params$showUserId === void 0 ? false : _params$showUserId;
21
24
  var onClick = function onClick() {
22
25
  if (disabled) return;
23
26
  onChange === null || onChange === void 0 ? void 0 : onChange(!selected, user);
@@ -31,13 +34,17 @@ export default function MultipleList(params) {
31
34
  className: 'ald-member-picker-checkbox',
32
35
  checked: selected,
33
36
  disabled: disabled
34
- }), /*#__PURE__*/React.createElement(NickLabel, {
37
+ }), /*#__PURE__*/React.createElement("div", {
38
+ className: 'ald-member-picker-option-content'
39
+ }, /*#__PURE__*/React.createElement(NickLabel, {
35
40
  type: user.type,
36
41
  id: getId(user),
37
42
  name: user.name,
38
43
  photo: getPhoto(user),
39
44
  account: getAccount(user)
40
- })), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
45
+ }), showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("div", {
46
+ className: 'ald-member-picker-option-id'
47
+ }, user.userId))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
41
48
  className: "ald-member-picker-btn",
42
49
  size: "small",
43
50
  disabled: disabled,
@@ -14,5 +14,6 @@ interface IPanelProps {
14
14
  className?: string;
15
15
  lockedIds: Array<TUserValue | TUserGroupValue>;
16
16
  }
17
+ export declare const userDisplayNameIsRepeated: (userList: TUser, displayName?: string) => boolean;
17
18
  export default function Panel(props: IPanelProps): React.JSX.Element;
18
19
  export {};
@@ -13,6 +13,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
13
13
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
14
14
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
15
  import classNames from 'classnames';
16
+ import { EUserType } from "../../ConfigProvider/getUserList";
16
17
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
17
18
  import Tabs from "../../Tabs";
18
19
  import { EMemberPicker } from "../interface";
@@ -22,6 +23,11 @@ import MemberSelection from "./MemberSelection";
22
23
  import SelectedMemberTags from "./SelectedMemberTags";
23
24
  import SelectorFooter from "./SelectorFooter";
24
25
  import UserGroupSelection from "./UserGroupSelection";
26
+ export var userDisplayNameIsRepeated = function userDisplayNameIsRepeated(userList, displayName) {
27
+ return userList.filter(function (user) {
28
+ return user.type === EUserType.USER && user.nickname === displayName;
29
+ }).length > 1;
30
+ };
25
31
  export default function Panel(props) {
26
32
  var _classNames;
27
33
  var type = props.type,
@@ -140,7 +146,8 @@ export default function Panel(props) {
140
146
  selectedUsers: selectedUsers,
141
147
  width: (panelWidth - 3) / 2,
142
148
  onRemove: onRemove,
143
- lockedIds: lockedIds
149
+ lockedIds: lockedIds,
150
+ userList: dataList
144
151
  }), /*#__PURE__*/React.createElement(SelectorFooter, {
145
152
  className: 'ald-member-picker-selector-footer',
146
153
  onCancel: props.onCancel,
@@ -10,6 +10,7 @@ interface IProps {
10
10
  className?: string;
11
11
  onCancel?: () => void;
12
12
  lockedIds?: Array<TUserValue | TUserGroupValue>;
13
+ showUserId?: boolean;
13
14
  }
14
15
  export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, lockedIds, }: IProps) => React.JSX.Element;
15
16
  export default PanelWrapper;
@@ -72,6 +72,7 @@ export var PanelWrapper = function PanelWrapper(_ref) {
72
72
  cacheTime: 1000 * 60 * 2,
73
73
  // 2分钟内不重复请求
74
74
  onSuccess: function onSuccess(result) {
75
+ console.log('%c [ result ]-73', 'font-size:13px; background:#c324a4; color:#ff68e8;', 1433223, result);
75
76
  setSearchUserList(result);
76
77
  },
77
78
  onError: function onError(error) {
@@ -7,6 +7,7 @@ interface ISelectedMemberTagsProps {
7
7
  onRemove?: (user: IUser | IUserGroup) => void;
8
8
  width: number;
9
9
  lockedIds: Array<TUserValue | TUserGroupValue>;
10
+ userList: TUser;
10
11
  }
11
12
  export default function SelectedMemberTags(props: ISelectedMemberTagsProps): React.JSX.Element;
12
13
  export {};
@@ -5,12 +5,14 @@ import { CloseMLine } from "../../Icon";
5
5
  import ScrollArea from "../../ScrollArea";
6
6
  import { getAccount, getId, getPhoto } from "../utils";
7
7
  import NickLabel from "./NickLabel";
8
+ import { userDisplayNameIsRepeated } from "./Panel";
8
9
  export default function SelectedMemberTags(props) {
9
10
  var className = props.className,
10
11
  selectedUsers = props.selectedUsers,
11
12
  width = props.width,
12
13
  _props$lockedIds = props.lockedIds,
13
- lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds;
14
+ lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds,
15
+ userList = props.userList;
14
16
  return /*#__PURE__*/React.createElement("div", {
15
17
  className: classNames(className, 'ald-member-picker-selected-member-tags-wrap')
16
18
  }, /*#__PURE__*/React.createElement("div", {
@@ -27,6 +29,7 @@ export default function SelectedMemberTags(props) {
27
29
  }
28
30
  }, selectedUsers.map(function (user) {
29
31
  var hasLocked = false;
32
+ var isDisplayNameRepeat = false;
30
33
  if (user && user.hasOwnProperty('groupId')) {
31
34
  var index = _.findIndex(lockedIds, {
32
35
  groupId: user.groupId,
@@ -38,6 +41,7 @@ export default function SelectedMemberTags(props) {
38
41
  userId: user.userId,
39
42
  type: user.type
40
43
  });
44
+ isDisplayNameRepeat = userDisplayNameIsRepeated(userList, user.nickname);
41
45
  hasLocked = _index !== -1;
42
46
  }
43
47
  return /*#__PURE__*/React.createElement("div", {
@@ -51,7 +55,9 @@ export default function SelectedMemberTags(props) {
51
55
  name: user.name,
52
56
  photo: getPhoto(user),
53
57
  account: getAccount(user)
54
- })), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
58
+ }), isDisplayNameRepeat && user.type === 'USER' && /*#__PURE__*/React.createElement("div", {
59
+ className: "ald-member-picker-option-id"
60
+ }, user.userId)), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
55
61
  size: 20,
56
62
  className: 'ald-member-picker-close',
57
63
  color: "#98A2B3",
@@ -9,6 +9,7 @@ interface IMultipleOptionProps {
9
9
  className?: string;
10
10
  onNextLevel?: (userGroup: IUserGroup) => void;
11
11
  hasNextLevel?: boolean;
12
+ showUserId?: boolean;
12
13
  }
13
14
  export default function SingleOption(params: IMultipleOptionProps): React.JSX.Element;
14
15
  export {};
@@ -4,6 +4,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
4
4
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import classnames from 'classnames';
6
6
  import React from 'react';
7
+ import { EUserType } from "../../ConfigProvider/getUserList";
7
8
  import TextLink from "../../TextLink/index";
8
9
  import { getAccount, getId, getPhoto } from "../utils";
9
10
  import { isUserGroup } from "../utils/getUsersWithUserId";
@@ -16,7 +17,8 @@ export default function SingleOption(params) {
16
17
  className = params.className,
17
18
  onNextLevel = params.onNextLevel,
18
19
  _params$hasNextLevel = params.hasNextLevel,
19
- hasNextLevel = _params$hasNextLevel === void 0 ? true : _params$hasNextLevel;
20
+ hasNextLevel = _params$hasNextLevel === void 0 ? true : _params$hasNextLevel,
21
+ showUserId = params.showUserId;
20
22
  var onClick = function onClick() {
21
23
  if (disabled) return;
22
24
  onChange === null || onChange === void 0 ? void 0 : onChange(!selected, user);
@@ -26,13 +28,17 @@ export default function SingleOption(params) {
26
28
  onClick: onClick
27
29
  }, /*#__PURE__*/React.createElement("div", {
28
30
  className: 'ald-member-picker-label'
31
+ }, /*#__PURE__*/React.createElement("div", {
32
+ className: 'ald-member-picker-option-content'
29
33
  }, /*#__PURE__*/React.createElement(NickLabel, {
30
34
  type: user.type,
31
35
  id: getId(user),
32
36
  name: user.name,
33
37
  photo: getPhoto(user),
34
38
  account: getAccount(user)
35
- })), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
39
+ }), showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("div", {
40
+ className: 'ald-member-picker-option-id'
41
+ }, user.userId))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
36
42
  className: "ald-member-picker-btn",
37
43
  size: "small",
38
44
  disabled: disabled,
@@ -3,7 +3,7 @@ import { ISelectProps } from '../Select';
3
3
  import { RequiredProperties } from '../_utils/type';
4
4
  export type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;
5
5
  export type TUserGroupValue = RequiredProperties<IUserGroup, 'type' | 'groupId'>;
6
- export type TMemberPickerValue = TUserValue | TUserGroupValue | Array<TUserValue | TUserGroupValue>;
6
+ export type TMemberPickerValue = TUserGroupValue | Array<TUserValue | TUserGroupValue>;
7
7
  export declare enum EMemberPicker {
8
8
  GROUP = "GROUP",
9
9
  USER = "USER",
@@ -101,6 +101,7 @@
101
101
  gap: 8px;
102
102
 
103
103
  .ald-member-picker-selected-member-tag {
104
+ max-width: 100%;
104
105
  display: flex;
105
106
  justify-content: center;
106
107
  align-items: center;
@@ -115,6 +116,7 @@
115
116
  line-height: 20px; /* 142.857% */
116
117
 
117
118
  .ald-member-picker-close {
119
+ flex: 0 0 20px;
118
120
  border-left: 1px solid
119
121
  var(--alias-colors-border-accent-gray-subtler-default, #e5e7eb);
120
122
  cursor: pointer;
@@ -148,9 +150,22 @@
148
150
  justify-content: space-between;
149
151
 
150
152
  .ald-member-picker-label {
153
+ width: 100%;
151
154
  flex: 1;
152
155
  display: flex;
153
156
  gap: 4px;
157
+
158
+ .ald-member-picker-option-content {
159
+ min-width: 0;
160
+ flex: 1;
161
+ display: flex;
162
+ align-items: center;
163
+ gap: 6px;
164
+
165
+ .ald-member-picker-nick-label {
166
+ flex-grow: 1;
167
+ }
168
+ }
154
169
  }
155
170
 
156
171
  &:hover {
@@ -170,6 +185,7 @@
170
185
  }
171
186
 
172
187
  .ald-member-picker-checkbox {
188
+ flex: 0 0 20px;
173
189
  display: flex;
174
190
  align-items: center;
175
191
  justify-content: center;
@@ -188,6 +204,16 @@
188
204
  }
189
205
  }
190
206
 
207
+ .ald-member-picker-option-id {
208
+ max-width: 50%;
209
+ white-space: nowrap; /* 防止内容换行,保持内容长度 */
210
+ text-overflow: ellipsis;
211
+ overflow: hidden;
212
+ color: var(--alias-colors-text-subtle, #4b5563);
213
+ font-size: 12px;
214
+ line-height: 16px; /* 133.333% */
215
+ }
216
+
191
217
  .ald-member-picker-trigger {
192
218
  display: flex;
193
219
  align-items: center;
@@ -237,6 +263,8 @@
237
263
  padding: 2px 6px;
238
264
  display: flex;
239
265
  align-items: center;
266
+ gap: 6px;
267
+ min-width: 0;
240
268
  }
241
269
 
242
270
  .ald-member-picker-nick-label {