@aloudata/aloudata-design 1.10.12 → 1.10.14

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.
@@ -3,7 +3,7 @@
3
3
 
4
4
  @Dropdown-menu-minWidth: 140px;
5
5
 
6
- .ant-dropdown {
6
+ .ant-dropdown.ant-dropdown {
7
7
  border: 1px solid #d5d5d5;
8
8
  border-radius: 2px;
9
9
  box-shadow: @shadow-L;
@@ -11,6 +11,19 @@
11
11
  :first-child {
12
12
  box-shadow: none !important;
13
13
  }
14
+
15
+ .ant-dropdown-menu {
16
+ .ant-dropdown-menu-item.ant-dropdown-menu-item-danger {
17
+ &:not(.ant-dropdown-menu-item-disabled) {
18
+ color: #b82828;
19
+
20
+ &:hover {
21
+ background-color: #f8f8f8;
22
+ color: #b82828;
23
+ }
24
+ }
25
+ }
26
+ }
14
27
  }
15
28
 
16
29
  .ant-dropdown-menu > .ant-dropdown-menu {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IUser } from '../interface';
2
+ import { IUser, TUserGroupValue, TUserValue } from '../interface';
3
3
  interface IMemberSelectionProps {
4
4
  className?: string;
5
5
  userList: IUser[];
@@ -9,6 +9,7 @@ interface IMemberSelectionProps {
9
9
  onSearchValueChange?: (value: string) => void;
10
10
  loading: boolean;
11
11
  width: number;
12
+ lockedIds: Array<TUserValue | TUserGroupValue>;
12
13
  }
13
14
  export default function MemberSelection(props: IMemberSelectionProps): React.JSX.Element;
14
15
  export {};
@@ -5,6 +5,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5
5
  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; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import classNames from 'classnames';
8
+ import _ from 'lodash';
8
9
  import React, { useDeferredValue, useEffect, useState } from 'react';
9
10
  import Empty from "../../Empty";
10
11
  import { SearchLine } from "../../Icon";
@@ -22,7 +23,8 @@ export default function MemberSelection(props) {
22
23
  selectedUsers = props.selectedUsers,
23
24
  onSearchValueChange = props.onSearchValueChange,
24
25
  loading = props.loading,
25
- width = props.width;
26
+ width = props.width,
27
+ lockedIds = props.lockedIds;
26
28
  var _useState = useState(''),
27
29
  _useState2 = _slicedToArray(_useState, 2),
28
30
  searchValue = _useState2[0],
@@ -71,9 +73,15 @@ export default function MemberSelection(props) {
71
73
  var isSelected = selectedUsers.some(function (selectedUser) {
72
74
  return selectedUser.userId === user.userId;
73
75
  });
76
+ var index = _.findIndex(lockedIds, {
77
+ userId: user.userId,
78
+ type: user.type
79
+ });
80
+ var disabled = index !== -1;
74
81
  return multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
75
82
  key: user.userId,
76
83
  user: user,
84
+ disabled: disabled,
77
85
  selected: isSelected,
78
86
  onChange: function onChange(selected, user) {
79
87
  if (isUser(user)) _onChange(selected, user);
@@ -23,7 +23,7 @@ export default function MultipleList(params) {
23
23
  onChange === null || onChange === void 0 ? void 0 : onChange(!selected, user);
24
24
  };
25
25
  return /*#__PURE__*/React.createElement("div", {
26
- className: classnames('ald-member-picker-option', className, _defineProperty({}, 'ald-member-picker-optionDisabled', disabled)),
26
+ className: classnames('ald-member-picker-option', className, _defineProperty({}, 'ald-member-picker-option-disabled', disabled)),
27
27
  onClick: onClick
28
28
  }, /*#__PURE__*/React.createElement("div", {
29
29
  className: 'ald-member-picker-label'
@@ -1,4 +1,4 @@
1
- import { IUserGroup, TUser } from "../../ConfigProvider/getUserList";
1
+ import { IUserGroup, TUser, TUserGroupValue, TUserValue } from "../../ConfigProvider/getUserList";
2
2
  import React from 'react';
3
3
  import { EMemberPicker, IUser } from '../interface';
4
4
  interface IPanelProps {
@@ -12,6 +12,7 @@ interface IPanelProps {
12
12
  onCancel?: () => void;
13
13
  loading: boolean;
14
14
  className?: string;
15
+ lockedIds: Array<TUserValue | TUserGroupValue>;
15
16
  }
16
17
  export default function Panel(props: IPanelProps): React.JSX.Element;
17
18
  export {};
@@ -31,7 +31,8 @@ export default function Panel(props) {
31
31
  onChange = props.onChange,
32
32
  dataList = props.dataList,
33
33
  onSearchValueChange = props.onSearchValueChange,
34
- className = props.className;
34
+ className = props.className,
35
+ lockedIds = props.lockedIds;
35
36
  var _useState = useState([]),
36
37
  _useState2 = _slicedToArray(_useState, 2),
37
38
  selectedUsers = _useState2[0],
@@ -90,6 +91,7 @@ export default function Panel(props) {
90
91
  onChange: onSelectionChange,
91
92
  onSearchValueChange: onSearchValueChange,
92
93
  multiple: true,
94
+ lockedIds: lockedIds,
93
95
  loading: props.loading
94
96
  });
95
97
  var userGroupSelection = /*#__PURE__*/React.createElement(UserGroupSelection, {
@@ -100,6 +102,7 @@ export default function Panel(props) {
100
102
  onChange: onSelectionChange,
101
103
  onSearchValueChange: onSearchValueChange,
102
104
  multiple: true,
105
+ lockedIds: lockedIds,
103
106
  loading: props.loading
104
107
  });
105
108
  if (type === EMemberPicker.USER) {
@@ -124,7 +127,7 @@ export default function Panel(props) {
124
127
  className: "ald-member-tabs"
125
128
  });
126
129
  }
127
- }, [onSearchValueChange, onSelectionChange, panelWidth, props.loading, selectedUsers, type, dataList]);
130
+ }, [dataList, panelWidth, selectedUsers, onSelectionChange, onSearchValueChange, lockedIds, props.loading, type]);
128
131
  return /*#__PURE__*/React.createElement("div", {
129
132
  className: classNames(className, 'ald-member-picker-wrapper', (_classNames = {}, _defineProperty(_classNames, 'ald-member-picker-multiple', multiple), _defineProperty(_classNames, 'ald-member-picker-single', !multiple), _classNames)),
130
133
  style: {
@@ -136,7 +139,8 @@ export default function Panel(props) {
136
139
  className: 'ald-member-picker-selected-member-tags',
137
140
  selectedUsers: selectedUsers,
138
141
  width: (panelWidth - 3) / 2,
139
- onRemove: onRemove
142
+ onRemove: onRemove,
143
+ lockedIds: lockedIds
140
144
  }), /*#__PURE__*/React.createElement(SelectorFooter, {
141
145
  className: 'ald-member-picker-selector-footer',
142
146
  onCancel: props.onCancel,
@@ -149,6 +153,7 @@ export default function Panel(props) {
149
153
  selectedUsers: selectedUsers.filter(isUser),
150
154
  onSearchValueChange: onSearchValueChange,
151
155
  multiple: false && multiple,
156
+ lockedIds: lockedIds,
152
157
  loading: props.loading
153
158
  }), type === EMemberPicker.GROUP && /*#__PURE__*/React.createElement(UserGroupSelection, {
154
159
  className: 'ald-member-picker-member-selection-multiple',
@@ -158,6 +163,7 @@ export default function Panel(props) {
158
163
  onChange: onSelectionChange,
159
164
  onSearchValueChange: onSearchValueChange,
160
165
  multiple: false,
166
+ lockedIds: lockedIds,
161
167
  loading: props.loading
162
168
  })));
163
169
  }
@@ -1,4 +1,4 @@
1
- import { IUserGroup, TUser } from "../../ConfigProvider/getUserList";
1
+ import { IUserGroup, TUser, TUserGroupValue, TUserValue } from "../../ConfigProvider/getUserList";
2
2
  import React from 'react';
3
3
  import { EMemberPicker, IUser, MemberPickerValue } from '../interface';
4
4
  interface IProps {
@@ -9,6 +9,7 @@ interface IProps {
9
9
  value?: MemberPickerValue;
10
10
  className?: string;
11
11
  onCancel?: () => void;
12
+ lockedIds?: Array<TUserValue | TUserGroupValue>;
12
13
  }
13
- export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, }: IProps) => React.JSX.Element;
14
+ export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, lockedIds, }: IProps) => React.JSX.Element;
14
15
  export default PanelWrapper;
@@ -20,7 +20,9 @@ export var PanelWrapper = function PanelWrapper(_ref) {
20
20
  dropdownWidth = _ref.dropdownWidth,
21
21
  onChange = _ref.onChange,
22
22
  onCancel = _ref.onCancel,
23
- className = _ref.className;
23
+ className = _ref.className,
24
+ _ref$lockedIds = _ref.lockedIds,
25
+ lockedIds = _ref$lockedIds === void 0 ? [] : _ref$lockedIds;
24
26
  var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
25
27
  getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
26
28
  getUsersByKeywords = _ConfigProvider$useGe.getUsersByKeywords;
@@ -127,7 +129,8 @@ export var PanelWrapper = function PanelWrapper(_ref) {
127
129
  onSearchValueChange: onSearchValueChange,
128
130
  onChange: onSelectedChange,
129
131
  className: className,
130
- onCancel: onCancel
132
+ onCancel: onCancel,
133
+ lockedIds: lockedIds
131
134
  });
132
135
  };
133
136
  export default PanelWrapper;
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
- import { IUserGroup, TUser } from '../../ConfigProvider/getUserList';
2
+ import { IUserGroup, TUser, TUserGroupValue, TUserValue } from '../../ConfigProvider/getUserList';
3
3
  import { IUser } from '../interface';
4
4
  interface ISelectedMemberTagsProps {
5
5
  className?: string;
6
6
  selectedUsers: TUser;
7
7
  onRemove?: (user: IUser | IUserGroup) => void;
8
8
  width: number;
9
+ lockedIds: Array<TUserValue | TUserGroupValue>;
9
10
  }
10
11
  export default function SelectedMemberTags(props: ISelectedMemberTagsProps): React.JSX.Element;
11
12
  export {};
@@ -1,4 +1,5 @@
1
1
  import classNames from 'classnames';
2
+ import _ from 'lodash';
2
3
  import React from 'react';
3
4
  import { CloseMLine } from "../../Icon";
4
5
  import ScrollArea from "../../ScrollArea";
@@ -7,7 +8,9 @@ import NickLabel from "./NickLabel";
7
8
  export default function SelectedMemberTags(props) {
8
9
  var className = props.className,
9
10
  selectedUsers = props.selectedUsers,
10
- width = props.width;
11
+ width = props.width,
12
+ _props$lockedIds = props.lockedIds,
13
+ lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds;
11
14
  return /*#__PURE__*/React.createElement("div", {
12
15
  className: classNames(className, 'ald-member-picker-selected-member-tags-wrap')
13
16
  }, /*#__PURE__*/React.createElement("div", {
@@ -23,6 +26,20 @@ export default function SelectedMemberTags(props) {
23
26
  width: width - 17
24
27
  }
25
28
  }, selectedUsers.map(function (user) {
29
+ var hasLocked = false;
30
+ if (user && user.hasOwnProperty('groupId')) {
31
+ var index = _.findIndex(lockedIds, {
32
+ groupId: user.groupId,
33
+ type: user.type
34
+ });
35
+ hasLocked = index !== -1;
36
+ } else {
37
+ var _index = _.findIndex(lockedIds, {
38
+ userId: user.userId,
39
+ type: user.type
40
+ });
41
+ hasLocked = _index !== -1;
42
+ }
26
43
  return /*#__PURE__*/React.createElement("div", {
27
44
  className: 'ald-member-picker-selected-member-tag',
28
45
  key: getId(user)
@@ -31,7 +48,7 @@ export default function SelectedMemberTags(props) {
31
48
  name: user.name,
32
49
  photo: getPhoto(user),
33
50
  account: getAccount(user)
34
- }), /*#__PURE__*/React.createElement(CloseMLine, {
51
+ }), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
35
52
  size: 20,
36
53
  className: 'ald-member-picker-close',
37
54
  color: "#98A2B3",
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IUserGroup } from '../../ConfigProvider/getUserList';
2
+ import { IUserGroup, TUserGroupValue, TUserValue } from '../../ConfigProvider/getUserList';
3
3
  interface IProps {
4
4
  className?: string;
5
5
  userGroupList: IUserGroup[];
@@ -9,6 +9,7 @@ interface IProps {
9
9
  loading: boolean;
10
10
  onSearchValueChange?: (value: string) => void;
11
11
  width: number;
12
+ lockedIds: Array<TUserValue | TUserGroupValue>;
12
13
  }
13
- declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, loading, width, }: IProps) => React.JSX.Element;
14
+ declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, loading, width, lockedIds, }: IProps) => React.JSX.Element;
14
15
  export default UserGroupSelection;
@@ -23,7 +23,8 @@ var UserGroupSelection = function UserGroupSelection(_ref) {
23
23
  _onChange = _ref.onChange,
24
24
  selectedUsersGroups = _ref.selectedUsersGroup,
25
25
  loading = _ref.loading,
26
- width = _ref.width;
26
+ width = _ref.width,
27
+ lockedIds = _ref.lockedIds;
27
28
  var _useState = useState(''),
28
29
  _useState2 = _slicedToArray(_useState, 2),
29
30
  searchKey = _useState2[0],
@@ -121,9 +122,15 @@ var UserGroupSelection = function UserGroupSelection(_ref) {
121
122
  var isSelected = selectedUsersGroups.some(function (selectUserGroup) {
122
123
  return selectUserGroup.groupId === userGroup.groupId;
123
124
  });
125
+ var index = _.findIndex(lockedIds, {
126
+ groupId: userGroup.groupId,
127
+ type: userGroup.type
128
+ });
129
+ var disabled = index !== -1;
124
130
  return multiple ? /*#__PURE__*/React.createElement(MultipleOption, {
125
131
  key: userGroup.groupId,
126
132
  user: userGroup,
133
+ disabled: disabled,
127
134
  selected: isSelected,
128
135
  onChange: function onChange(selected, userGroup) {
129
136
  if (isUserGroup(userGroup)) {
@@ -34,7 +34,9 @@ var Component = function Component(_ref) {
34
34
  allowClear = _ref.allowClear,
35
35
  disabled = _ref.disabled,
36
36
  _onClear = _ref.onClear,
37
- size = _ref.size;
37
+ size = _ref.size,
38
+ _ref$lockedIds = _ref.lockedIds,
39
+ lockedIds = _ref$lockedIds === void 0 ? [] : _ref$lockedIds;
38
40
  var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
39
41
  getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
40
42
  getUsersByKeywords = _ConfigProvider$useGe.getUsersByKeywords;
@@ -226,6 +228,7 @@ var Component = function Component(_ref) {
226
228
  type: type,
227
229
  value: selectedUserList,
228
230
  dataList: totalUserList,
231
+ lockedIds: lockedIds,
229
232
  multiple: multiple,
230
233
  loading: loading,
231
234
  dropdownWidth: dropdownContentWidth,
@@ -15,6 +15,7 @@ export interface IBaseMemberSelectorProps extends Pick<ISelectProps, 'allowClear
15
15
  open?: boolean;
16
16
  onOpenChange?: (open: boolean) => void;
17
17
  type?: EMemberPicker;
18
+ lockedIds?: Array<TUserValue | TUserGroupValue>;
18
19
  }
19
20
  export interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {
20
21
  multiple: true;
@@ -159,6 +159,14 @@
159
159
  background: var(--colors-blue-100, #f0f6ff);
160
160
  }
161
161
 
162
+ &.ald-member-picker-option-disabled {
163
+ cursor: not-allowed;
164
+
165
+ .ald-member-picker-nick-label-name {
166
+ color: var(--colors-gray-900, #8b8b8b);
167
+ }
168
+ }
169
+
162
170
  .ald-member-picker-checkbox {
163
171
  display: flex;
164
172
  align-items: center;
@@ -21,6 +21,7 @@
21
21
  background-color: @BG100;
22
22
  color: @NL0;
23
23
  transition: none;
24
+ cursor: pointer;
24
25
 
25
26
  &:hover {
26
27
  background-color: @BG90;
@@ -1,5 +1,5 @@
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 = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "prefixWidth", "className", "popupClassName", "listHeight", "listItemHeight", "notFoundContent", "value", "tagRender", "style", "autoFocus", "showSearch", "showAllOption", "size", "status", "disabled", "prefixCls"];
2
+ var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "prefixWidth", "className", "popupClassName", "listHeight", "notFoundContent", "value", "tagRender", "style", "autoFocus", "showSearch", "showAllOption", "size", "status", "disabled", "prefixCls"];
3
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); }
4
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; }
5
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
@@ -87,8 +87,6 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
87
87
  className = props.className,
88
88
  popupClassName = props.popupClassName,
89
89
  listHeight = props.listHeight,
90
- _props$listItemHeight = props.listItemHeight,
91
- listItemHeight = _props$listItemHeight === void 0 ? 36 : _props$listItemHeight,
92
90
  _props$notFoundConten = props.notFoundContent,
93
91
  notFoundContent = _props$notFoundConten === void 0 ? /*#__PURE__*/React.createElement(Empty, {
94
92
  image: Empty.PRESENTED_IMAGE_SEARCH_SMALL,
@@ -128,6 +126,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
128
126
  var disabled = React.useContext(DisabledContext);
129
127
  var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;
130
128
  var isMultiple = mode === 'multiple';
129
+ var listItemHeight = typeof props.listItemHeight === 'number' ? props.listItemHeight : isMultiple ? 36 : 32; // listHeight默认高度:./style/option.less;
131
130
  var innerOptions = useMemo(function () {
132
131
  if (showAllOption && isMultiple && options) {
133
132
  return [{
@@ -414,7 +413,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
414
413
  style: {
415
414
  width: '100%'
416
415
  },
417
- suffixIcon: /*#__PURE__*/React.createElement(FoldDownFill, {
416
+ suffixIcon: props.suffixIcon || /*#__PURE__*/React.createElement(FoldDownFill, {
418
417
  size: suffixIconSizeMap[size || 'middle'],
419
418
  color: theme.NL50
420
419
  }),
@@ -14,7 +14,7 @@
14
14
  // height: 20px;
15
15
  margin-left: 0;
16
16
  display: flex;
17
- height: 36px;
17
+ height: @select-multiple-option-height;
18
18
  box-sizing: border-box;
19
19
  cursor: pointer;
20
20
 
@@ -0,0 +1,3 @@
1
+ // option
2
+ @select-single-option-height: 32px;
3
+ @select-multiple-option-height: 36px;
@@ -8,7 +8,7 @@
8
8
  display: flex;
9
9
  align-items: center;
10
10
  margin-left: 0;
11
- height: 32px;
11
+ height: @select-single-option-height;
12
12
  box-sizing: border-box;
13
13
  cursor: pointer;
14
14
 
@@ -1,6 +1,6 @@
1
1
  /* stylelint-disable property-no-unknown */
2
2
  @import '../../style/index.less';
3
-
3
+ @import './option.less';
4
4
  // large size
5
5
  @select-height-large: 36px;
6
6
  @select-border-radius-large: 4px;