@aloudata/aloudata-design 2.15.12 → 2.16.0

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.
@@ -0,0 +1,3 @@
1
+ import { Menu } from 'antd';
2
+ export type { MenuProps as AMenuProps } from 'antd/lib/menu';
3
+ export default Menu;
@@ -0,0 +1,2 @@
1
+ import { Menu } from 'antd';
2
+ export default Menu;
@@ -0,0 +1,2 @@
1
+ import '../../style';
2
+ import './index.less';
@@ -0,0 +1,2 @@
1
+ import "../../style";
2
+ import "./index.less";
@@ -0,0 +1 @@
1
+ @import '../../style/index.less';
@@ -9,6 +9,7 @@ interface IMemberSelectionProps {
9
9
  onSearchValueChange?: (value: string) => void;
10
10
  loading: boolean;
11
11
  width: number;
12
+ filterItem?: (item: IUser) => boolean;
12
13
  lockedIds: Array<TUserValue | TUserGroupValue>;
13
14
  }
14
15
  export declare const OPTION_HEIGHT = 36;
@@ -7,7 +7,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import { useVirtualizer } from '@tanstack/react-virtual';
8
8
  import classNames from 'classnames';
9
9
  import _ from 'lodash';
10
- import React, { useContext, useDeferredValue, useEffect, useState } from 'react';
10
+ import React, { useContext, useDeferredValue, useEffect, useMemo, useState } from 'react';
11
11
  import Empty from "../../Empty";
12
12
  import { SearchLine } from "../../Icon";
13
13
  import Input from "../../Input";
@@ -30,12 +30,21 @@ export default function MemberSelection(props) {
30
30
  onSearchValueChange = props.onSearchValueChange,
31
31
  loading = props.loading,
32
32
  width = props.width,
33
- lockedIds = props.lockedIds;
33
+ lockedIds = props.lockedIds,
34
+ filterItem = props.filterItem;
35
+ var filteredList = useMemo(function () {
36
+ return userList.filter(function (item) {
37
+ if (filterItem) {
38
+ return filterItem(item);
39
+ }
40
+ return true;
41
+ });
42
+ }, [userList, filterItem]);
34
43
  var parentRef = React.useRef(null);
35
44
 
36
45
  // The virtualizer
37
46
  var rowVirtualizer = useVirtualizer({
38
- count: userList.length,
47
+ count: filteredList.length,
39
48
  getScrollElement: function getScrollElement() {
40
49
  return parentRef.current;
41
50
  },
@@ -66,7 +75,7 @@ export default function MemberSelection(props) {
66
75
  onChange: function onChange(e) {
67
76
  setSearchValue(e.target.value);
68
77
  }
69
- }), userList.length === 0 && !loading && /*#__PURE__*/React.createElement(Empty, {
78
+ }), filteredList.length === 0 && !loading && /*#__PURE__*/React.createElement(Empty, {
70
79
  title: t.MemberPicker.noData,
71
80
  size: "small",
72
81
  image: Empty.PRESENTED_IMAGE_SEARCH,
@@ -84,7 +93,7 @@ export default function MemberSelection(props) {
84
93
  overflowX: 'hidden'
85
94
  },
86
95
  className: classNames('ald-member-picker-member-list', {
87
- 'ald-member-picker-member-list-null': userList.length === 0 && !loading
96
+ 'ald-member-picker-member-list-null': filteredList.length === 0 && !loading
88
97
  })
89
98
  // innerClassName="ald-member-picker-member-scroll"
90
99
  }, /*#__PURE__*/React.createElement("div", {
@@ -96,7 +105,7 @@ export default function MemberSelection(props) {
96
105
  height: "".concat(rowVirtualizer.getTotalSize(), "px")
97
106
  }
98
107
  }, rowVirtualizer.getVirtualItems().map(function (virtualItem) {
99
- var user = userList[virtualItem.index];
108
+ var user = filteredList[virtualItem.index];
100
109
  var isSelected = selectedUsers.some(function (selectedUser) {
101
110
  return selectedUser.userId === user.userId;
102
111
  });
@@ -10,6 +10,7 @@ interface IProps {
10
10
  onSearchValueChange?: (value: string) => void;
11
11
  width: number;
12
12
  lockedIds: Array<TUserValue | TUserGroupValue>;
13
+ filterItem?: (item: IUserGroup) => boolean;
13
14
  }
14
- declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, loading, width, lockedIds, }: IProps) => React.JSX.Element;
15
+ declare const UserGroupSelection: ({ className, userGroupList, multiple, onChange, selectedUsersGroup: selectedUsersGroups, loading, width, lockedIds, filterItem, }: IProps) => React.JSX.Element;
15
16
  export default UserGroupSelection;
@@ -34,7 +34,8 @@ var UserGroupSelection = function UserGroupSelection(_ref) {
34
34
  selectedUsersGroups = _ref.selectedUsersGroup,
35
35
  loading = _ref.loading,
36
36
  width = _ref.width,
37
- lockedIds = _ref.lockedIds;
37
+ lockedIds = _ref.lockedIds,
38
+ filterItem = _ref.filterItem;
38
39
  var _useContext = useContext(LocaleContext),
39
40
  locale = _useContext.locale;
40
41
  var t = getTranslator(locale);
@@ -85,7 +86,12 @@ var UserGroupSelection = function UserGroupSelection(_ref) {
85
86
  })), [userGroupList, groupPath, searchKey, getNextLevelGroup]);
86
87
  useEffect(function () {
87
88
  getFilterUserList().then(function (userGroups) {
88
- setFilterUserList(userGroups);
89
+ setFilterUserList(userGroups.filter(function (userGroup) {
90
+ if (filterItem) {
91
+ return filterItem(userGroup);
92
+ }
93
+ return true;
94
+ }));
89
95
  });
90
96
  }, [getFilterUserList]);
91
97
  return /*#__PURE__*/React.createElement("div", {
@@ -1,5 +1,11 @@
1
- var _excluded = ["value", "type", "onChange", "multiple", "dropdownWidth", "open", "onOpenChange", "placeholder", "className", "allowClear", "disabled", "onClear", "size", "prefix", "lockedIds", "footer", "onCancel"];
1
+ var _excluded = ["value", "type", "onChange", "multiple", "dropdownWidth", "open", "onOpenChange", "placeholder", "className", "allowClear", "disabled", "onClear", "size", "prefix", "lockedIds", "footer", "onCancel", "filterItem", "mode"];
2
2
  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); }
3
+ 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; }
4
+ 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; }
5
+ 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; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ 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); }
8
+ 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); }
3
9
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
4
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
11
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -53,6 +59,8 @@ var Component = function Component(props) {
53
59
  lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds,
54
60
  footer = props.footer,
55
61
  _onCancel = props.onCancel,
62
+ filterItem = props.filterItem,
63
+ propsMode = props.mode,
56
64
  restProps = _objectWithoutProperties(props, _excluded);
57
65
  var _ConfigProvider$useGe = ConfigProvider.useGetUserList(),
58
66
  getUsersByIds = _ConfigProvider$useGe.getUsersByIds,
@@ -129,8 +137,13 @@ var Component = function Component(props) {
129
137
  return _.uniqBy(totalUsers, function (data) {
130
138
  if (data.type === EUserType.USER) return data.userId;
131
139
  return data.groupId;
140
+ }).filter(function (item) {
141
+ if (filterItem) {
142
+ return filterItem(item);
143
+ }
144
+ return true;
132
145
  });
133
- }, [searchString, searchUserList, selectedUserList]);
146
+ }, [filterItem, searchString, searchUserList, selectedUserList]);
134
147
  useEffect(function () {
135
148
  if (!dropdownOpen) return;
136
149
  run();
@@ -181,7 +194,7 @@ var Component = function Component(props) {
181
194
  setSelectedUserList([].concat(_toConsumableArray(result), _toConsumableArray(valueNotInResult)));
182
195
  });
183
196
  }
184
- }, [value, queryByIds]);
197
+ }, [value, queryByIds, prevValue]);
185
198
  var onSelectedChange = useCallback(function (users) {
186
199
  if (multiple) {
187
200
  setSelectedUserList(users);
@@ -234,13 +247,17 @@ var Component = function Component(props) {
234
247
  }, [dropdownOpen]);
235
248
  var mode = useMemo(function () {
236
249
  if (multiple === true) {
250
+ if (_typeof(propsMode) === 'object') return _objectSpread(_objectSpread({}, propsMode || {}), {}, {
251
+ type: 'multiple',
252
+ responsive: _.isNil(propsMode.responsive) ? true : propsMode.responsive
253
+ });
237
254
  return {
238
255
  type: 'multiple',
239
256
  responsive: true
240
257
  };
241
258
  }
242
- return multiple ? multiple : undefined;
243
- }, [multiple]);
259
+ return multiple ? multiple : propsMode;
260
+ }, [multiple, propsMode]);
244
261
  var selectOpen = typeof open === 'boolean' ? open : dropdownOpen;
245
262
  return /*#__PURE__*/React.createElement(AldSelect, _extends({
246
263
  prefix: propPrefix
@@ -20,6 +20,7 @@ export interface IBaseMemberSelectorProps extends Omit<ISelectProps, 'type'> {
20
20
  lockedIds?: Array<TUserValue | TUserGroupValue>;
21
21
  footer?: ReactNode;
22
22
  onCancel?: () => void;
23
+ filterItem?: (item: IUser | IUserGroup) => boolean;
23
24
  }
24
25
  export interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {
25
26
  multiple: true | Mode;
@@ -19,6 +19,7 @@ export interface ModalProps extends Omit<AntdModalProps, 'okButtonProps' | 'canc
19
19
  okButtonProps?: IButtonProps;
20
20
  okType?: ButtonType;
21
21
  responsiveBounds?: boolean;
22
+ fullscreen?: boolean;
22
23
  }
23
24
  export interface ModalFuncProps extends Omit<AntdModalFuncProps, 'okButtonProps' | 'cancelButtonProps' | 'okType' | 'icon'> {
24
25
  cancelButtonProps?: IButtonProps;
@@ -1,6 +1,6 @@
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
2
  var _excluded = ["className", "type", "loading", "size", "disabled", "shape"],
3
- _excluded2 = ["className", "children", "okType", "width", "closeIcon", "subTitle", "okButtonProps", "cancelButtonProps", "okText", "cancelText", "icon", "title", "paddingLess", "responsiveBounds", "hideHeaderBottomBorder", "virtualScrollBar", "style", "maskClosable"],
3
+ _excluded2 = ["className", "children", "okType", "width", "closeIcon", "subTitle", "okButtonProps", "cancelButtonProps", "okText", "cancelText", "icon", "title", "paddingLess", "responsiveBounds", "hideHeaderBottomBorder", "virtualScrollBar", "style", "maskClosable", "fullscreen"],
4
4
  _excluded3 = ["okButtonProps", "cancelButtonProps", "okType", "width", "title", "subTitle", "okText", "cancelText", "className"],
5
5
  _excluded4 = ["okButtonProps", "cancelButtonProps", "okType", "width", "title", "subTitle", "okText", "cancelText", "className"],
6
6
  _excluded5 = ["okButtonProps", "cancelButtonProps", "okType", "width", "title", "subTitle", "okText", "cancelText", "className"],
@@ -116,6 +116,7 @@ var OriginModal = function OriginModal(props) {
116
116
  style = props.style,
117
117
  _props$maskClosable = props.maskClosable,
118
118
  maskClosable = _props$maskClosable === void 0 ? false : _props$maskClosable,
119
+ fullscreen = props.fullscreen,
119
120
  restProps = _objectWithoutProperties(props, _excluded2);
120
121
  var responsiveBoundsStyle = useMemo(function () {
121
122
  if (!responsiveBounds) {
@@ -155,7 +156,8 @@ var OriginModal = function OriginModal(props) {
155
156
  'ald-modal-padding-less': paddingLess,
156
157
  'ald-modal-virtual-scroll-bar': virtualScrollBar,
157
158
  'ald-modal-hide-header-bottom-border': hideHeaderBottomBorder,
158
- 'ald-modal-responsive-bounds': responsiveBounds
159
+ 'ald-modal-responsive-bounds': responsiveBounds,
160
+ 'ald-modal-fullscreen': fullscreen
159
161
  }),
160
162
  okButtonProps: getButtonProps(mergedOkButtonProps, 'primary', okType),
161
163
  wrapClassName: classNames(props.wrapClassName, {
@@ -159,3 +159,31 @@
159
159
  }
160
160
  }
161
161
  }
162
+
163
+ .ald-modal-fullscreen {
164
+ width: 100vw !important;
165
+ margin: 0 !important;
166
+ padding: 0 !important;
167
+ height: 100vh !important;
168
+ max-width: 100vw !important;
169
+ top: 0 !important;
170
+ left: 0 !important;
171
+
172
+ .ant-modal-content {
173
+ border-radius: 0 !important;
174
+ height: 100% !important;
175
+
176
+ .ant-modal-body {
177
+ height: 100% !important;
178
+ max-height: 100% !important;
179
+ padding: 0 !important;
180
+ overflow: hidden;
181
+ }
182
+ }
183
+
184
+ .ant-modal-header,
185
+ .ant-modal-footer,
186
+ .ant-modal-close {
187
+ display: none;
188
+ }
189
+ }