@antscorp/antsomi-ui 1.3.5-beta.295 → 1.3.5-beta.297

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.
@@ -19,7 +19,7 @@ const THUMB_SIZE = 4;
19
19
  const MARGIN = 3;
20
20
  export const Scrollbars = props => {
21
21
  // Props
22
- const { autoHide = true, autoHeightMax = 0 } = props, restProps = __rest(props, ["autoHide", "autoHeightMax"]);
22
+ const { autoHide = true, autoHeightMax = 0, className } = props, restProps = __rest(props, ["autoHide", "autoHeightMax", "className"]);
23
23
  // Refs
24
24
  const ref = useRef(null);
25
25
  /**
@@ -52,7 +52,7 @@ export const Scrollbars = props => {
52
52
  ref.current.thumbHorizontal.style.transform = `translateX(${thumbHorizontalPosition}px)`;
53
53
  }
54
54
  };
55
- return (React.createElement(CustomScrollbars, Object.assign({ className: "custom-scrollbars", ref: ref, autoHide: autoHide, autoHeightMax: autoHeightMax, renderThumbVertical: props => React.createElement(ThumbBar, Object.assign({ className: "thumb-vertical" }, props)), renderThumbHorizontal: props => React.createElement(ThumbBar, Object.assign({ className: "thumb-horizontal" }, props)), renderTrackVertical: (_a) => {
55
+ return (React.createElement(CustomScrollbars, Object.assign({ className: `custom-scrollbars ${className || ''}`, ref: ref, autoHide: autoHide, autoHeightMax: autoHeightMax, renderThumbVertical: props => React.createElement(ThumbBar, Object.assign({ className: "thumb-vertical" }, props)), renderThumbHorizontal: props => React.createElement(ThumbBar, Object.assign({ className: "thumb-horizontal" }, props)), renderTrackVertical: (_a) => {
56
56
  var { style } = _a, restOfProps = __rest(_a, ["style"]);
57
57
  return (React.createElement(VerticalTrack, Object.assign({ className: "scrollbar-track" }, restOfProps, { style: Object.assign(Object.assign({}, style), { display: 'block' }) })));
58
58
  }, renderTrackHorizontal: (_a) => {
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { AccountRecent } from '@antscorp/antsomi-ui/es/models/AccountListing';
2
3
  export interface AccountListingProps {
3
4
  className?: string;
4
5
  apiConfig: {
@@ -22,7 +23,7 @@ interface AccountData {
22
23
  }
23
24
  export interface AccountListingHandle {
24
25
  getUsers: () => {
25
- recentData: any;
26
+ recentData?: AccountRecent;
26
27
  accountData: Array<AccountData>;
27
28
  };
28
29
  }
@@ -1,59 +1,19 @@
1
1
  import Icon from '@antscorp/icons';
2
- import React, { useCallback, useImperativeHandle, useMemo, useState } from 'react';
3
- import { Divider, Input } from 'antd';
2
+ import React, { useCallback, useImperativeHandle, useState } from 'react';
4
3
  import { Scrollbars, Text } from '@antscorp/antsomi-ui/es/components/atoms';
4
+ import { Divider, Input } from 'antd';
5
5
  import { AccountItem } from './components';
6
6
  import { AccountSelectionStyled } from './styled';
7
- import { PORTALS_IDS, THEME } from '@antscorp/antsomi-ui/es/constants';
7
+ import { THEME } from '@antscorp/antsomi-ui/es/constants';
8
8
  import { searchStringQuery } from '@antscorp/antsomi-ui/es/utils';
9
- import { useGetAccountList, useGetPermissionAccountList, useGetRecentAccount } from '../../..';
9
+ import { useAccountSelection } from './hooks';
10
10
  export const AccountListing = React.forwardRef((props, ref) => {
11
11
  var _a, _b, _c;
12
12
  const { className, apiConfig, showAllAccount = true, currentAccount = '', onChange } = props;
13
- const { domain, token, userId, appCode, menuCode, portalId } = apiConfig;
14
13
  // States
15
14
  const [searchValue, setSearchValue] = useState('');
16
- // Queries
17
- const { data } = useGetAccountList({
18
- apiConfig,
19
- options: {
20
- enabled: portalId !== PORTALS_IDS.SANDBOX_76753,
21
- },
22
- });
23
- const { data: permissionAccountList } = useGetPermissionAccountList({
24
- args: {
25
- _account_id: userId,
26
- _user_id: userId,
27
- _app_code: appCode || '',
28
- _token: token,
29
- domain,
30
- appCode: appCode || '',
31
- fullParent: true,
32
- menuCode: menuCode || appCode || '',
33
- },
34
- options: {
35
- enabled: portalId === PORTALS_IDS.SANDBOX_76753,
36
- },
37
- });
38
- const { data: recentData } = useGetRecentAccount({
39
- apiConfig,
40
- options: {
41
- enabled: portalId !== PORTALS_IDS.SANDBOX_76753,
42
- },
43
- });
15
+ const { accountData, recentData } = useAccountSelection(apiConfig);
44
16
  const isAllAccount = currentAccount === 'all';
45
- // Memos
46
- const accountData = useMemo(() => {
47
- if (portalId === PORTALS_IDS.SANDBOX_76753) {
48
- return ((permissionAccountList === null || permissionAccountList === void 0 ? void 0 : permissionAccountList.map(account => ({
49
- email: account.email,
50
- userId: account.user_id,
51
- userName: account.full_name,
52
- status: 1,
53
- }))) || []);
54
- }
55
- return (data === null || data === void 0 ? void 0 : data.entries) || [];
56
- }, [data === null || data === void 0 ? void 0 : data.entries, permissionAccountList, portalId]);
57
17
  useImperativeHandle(ref, () => ({
58
18
  getUsers() {
59
19
  return { recentData, accountData };
@@ -11,57 +11,22 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  // Libraries
13
13
  import Icon from '@antscorp/icons';
14
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
14
+ import React, { useCallback, useEffect, useState } from 'react';
15
15
  // Styled
16
16
  import { PopoverFieldStyled } from './styled';
17
17
  // Components
18
- import { Tooltip } from 'antd';
19
18
  import { Popover } from '@antscorp/antsomi-ui/es/components/atoms';
19
+ import { Tooltip } from 'antd';
20
20
  import { AccountListing } from './AccountListing';
21
- import { useGetAccountList, useGetPermissionAccountList } from '../../..';
22
21
  // Constants
23
- import { PORTALS_IDS } from '@antscorp/antsomi-ui/es/constants';
22
+ import { useAccountSelection } from './hooks';
24
23
  export const AccountSelection = props => {
25
24
  const { show = true, inputStyle = 'input', inputClassName, onChange, getPopupContainer, zIndex } = props, accountListingProps = __rest(props, ["show", "inputStyle", "inputClassName", "onChange", "getPopupContainer", "zIndex"]);
26
25
  const { apiConfig, currentAccount = '' } = props;
27
- const { domain, token, userId, appCode, portalId } = apiConfig;
28
26
  // States
29
27
  const [inputLabel, setInputLabel] = useState('');
30
28
  const [open, setOpen] = useState(false);
31
- // Queries
32
- const { data } = useGetAccountList({
33
- apiConfig,
34
- options: {
35
- enabled: portalId !== PORTALS_IDS.SANDBOX_76753,
36
- },
37
- });
38
- const { data: permissionAccountList } = useGetPermissionAccountList({
39
- args: {
40
- _account_id: userId,
41
- _user_id: userId,
42
- _app_code: appCode || '',
43
- _token: token,
44
- domain,
45
- appCode: appCode || '',
46
- fullParent: true,
47
- menuCode: appCode || '',
48
- },
49
- options: {
50
- enabled: portalId === PORTALS_IDS.SANDBOX_76753,
51
- },
52
- });
53
- // Memos
54
- const accountData = useMemo(() => {
55
- if (portalId === PORTALS_IDS.SANDBOX_76753) {
56
- return ((permissionAccountList === null || permissionAccountList === void 0 ? void 0 : permissionAccountList.map(account => ({
57
- email: account.email,
58
- userId: account.user_id,
59
- userName: account.full_name,
60
- status: 1,
61
- }))) || []);
62
- }
63
- return (data === null || data === void 0 ? void 0 : data.entries) || [];
64
- }, [data === null || data === void 0 ? void 0 : data.entries, permissionAccountList, portalId]);
29
+ const { accountData } = useAccountSelection(apiConfig);
65
30
  // Side Effects
66
31
  useEffect(() => {
67
32
  var _a;
@@ -0,0 +1 @@
1
+ export { useAccountSelection } from './useAccountSelection';
@@ -0,0 +1 @@
1
+ export { useAccountSelection } from './useAccountSelection';
@@ -0,0 +1,20 @@
1
+ import { AccountRecent } from '@antscorp/antsomi-ui/es/models/AccountListing';
2
+ interface AccountData {
3
+ email: any;
4
+ userId: any;
5
+ userName: any;
6
+ status: number;
7
+ }
8
+ export declare const useAccountSelection: (apiConfig: {
9
+ domain: string;
10
+ token: string;
11
+ userId: number;
12
+ portalId?: number;
13
+ languageCode?: string;
14
+ appCode?: string;
15
+ menuCode?: string;
16
+ }) => {
17
+ recentData?: AccountRecent | undefined;
18
+ accountData: Array<AccountData>;
19
+ };
20
+ export {};
@@ -0,0 +1,49 @@
1
+ // Libraries
2
+ import { useMemo } from 'react';
3
+ // Queries
4
+ import { useGetAccountList, useGetPermissionAccountList, useGetRecentAccount, } from '@antscorp/antsomi-ui/es/queries';
5
+ // Constant
6
+ import { PORTALS_IDS } from '@antscorp/antsomi-ui/es/constants';
7
+ export const useAccountSelection = (apiConfig) => {
8
+ const { domain, token, userId, appCode, menuCode, portalId } = apiConfig;
9
+ const { data } = useGetAccountList({
10
+ apiConfig,
11
+ options: {
12
+ enabled: portalId !== PORTALS_IDS.SANDBOX_76753,
13
+ },
14
+ });
15
+ const { data: permissionAccountList } = useGetPermissionAccountList({
16
+ args: {
17
+ _account_id: userId,
18
+ _user_id: userId,
19
+ _app_code: appCode || '',
20
+ _token: token,
21
+ domain,
22
+ appCode: appCode || '',
23
+ fullParent: true,
24
+ menuCode: menuCode || appCode || '',
25
+ },
26
+ options: {
27
+ enabled: portalId === PORTALS_IDS.SANDBOX_76753,
28
+ },
29
+ });
30
+ const { data: recentData } = useGetRecentAccount({
31
+ apiConfig,
32
+ options: {
33
+ enabled: portalId !== PORTALS_IDS.SANDBOX_76753,
34
+ },
35
+ });
36
+ // Memos
37
+ const accountData = useMemo(() => {
38
+ if (portalId === PORTALS_IDS.SANDBOX_76753) {
39
+ return ((permissionAccountList === null || permissionAccountList === void 0 ? void 0 : permissionAccountList.map(account => ({
40
+ email: account.email,
41
+ userId: account.user_id,
42
+ userName: account.full_name,
43
+ status: 1,
44
+ }))) || []);
45
+ }
46
+ return (data === null || data === void 0 ? void 0 : data.entries) || [];
47
+ }, [data === null || data === void 0 ? void 0 : data.entries, permissionAccountList, portalId]);
48
+ return { recentData, accountData };
49
+ };
@@ -1,2 +1,3 @@
1
1
  export { AccountSelection, type AccountSelectionProps } from './AccountSelection';
2
2
  export { AccountListing, AccountListingHandle } from './AccountListing';
3
+ export { useAccountSelection } from './hooks';
@@ -1,2 +1,3 @@
1
1
  export { AccountSelection } from './AccountSelection';
2
2
  export { AccountListing } from './AccountListing';
3
+ export { useAccountSelection } from './hooks';
@@ -1,4 +1,4 @@
1
- export { AccountSelection, AccountListing } from './AccountSelection';
1
+ export { AccountSelection, AccountListing, useAccountSelection } from './AccountSelection';
2
2
  export { Cascader } from './Cascader';
3
3
  export { Dropdown } from './Dropdown';
4
4
  export { Modal } from './Modal';
@@ -1,4 +1,4 @@
1
- export { AccountSelection, AccountListing } from './AccountSelection';
1
+ export { AccountSelection, AccountListing, useAccountSelection } from './AccountSelection';
2
2
  export { Cascader } from './Cascader';
3
3
  export { Dropdown } from './Dropdown';
4
4
  export { Modal } from './Modal';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antscorp/antsomi-ui",
3
- "version": "1.3.5-beta.295",
3
+ "version": "1.3.5-beta.297",
4
4
  "description": "An enterprise-class UI design language and React UI library.",
5
5
  "sideEffects": [
6
6
  "dist/*",