@rh-support/manage 0.3.2 → 0.3.5

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 (20) hide show
  1. package/lib/esm/ManageTabs.d.ts.map +1 -1
  2. package/lib/esm/ManageTabs.js +10 -12
  3. package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.d.ts.map +1 -1
  4. package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.js +3 -3
  5. package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.d.ts.map +1 -1
  6. package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.js +6 -6
  7. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTab.d.ts.map +1 -1
  8. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTab.js +4 -5
  9. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts.map +1 -1
  10. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.js +4 -6
  11. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.d.ts.map +1 -1
  12. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.js +8 -3
  13. package/lib/esm/components/NotificationEmails/index.js +3 -3
  14. package/lib/esm/reducers/TopContentHelpers.d.ts.map +1 -1
  15. package/lib/esm/reducers/TopContentHelpers.js +1 -2
  16. package/lib/esm/scss/_main.scss +4 -0
  17. package/package.json +7 -9
  18. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTabWrapper.d.ts +0 -2
  19. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTabWrapper.d.ts.map +0 -1
  20. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTabWrapper.js +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"ManageTabs.d.ts","sourceRoot":"","sources":["../../src/ManageTabs.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAsBvD,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;CACvC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,eA0JvC"}
1
+ {"version":3,"file":"ManageTabs.d.ts","sourceRoot":"","sources":["../../src/ManageTabs.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAsBvD,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;CACvC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,eAmJvC"}
@@ -25,7 +25,6 @@ export function ManageTabs(props) {
25
25
  const { groupsRoute, bookmarkedAccountsRoute, topContentRoute, notificationEmailsRoute, preferencesRoute, configsRoute, } = Routes.getPaths();
26
26
  const { globalMetadataState: { pcmConfig }, } = useContext(GlobalMetadataStateContext);
27
27
  const isGroupBookmarkEnabled = getConfigField(pcmConfig.data, 'isGroupBookmarkEnabled', PCM_CONFIG_FIELD_TYPE.FEATURE_FLAG);
28
- const isPreferencesPageEnabled = getConfigField(pcmConfig.data, 'allowPreferencesPage', PCM_CONFIG_FIELD_TYPE.FEATURE_FLAG);
29
28
  // Changes route and saves the current path to the url query params
30
29
  const isOnlyBasePath = history.location.pathname === Routes.basePath;
31
30
  useDocumentTitle(PageTitle.MANAGE);
@@ -75,17 +74,16 @@ export function ManageTabs(props) {
75
74
  },
76
75
  component: React.createElement(NotificationEmails, null),
77
76
  });
78
- isPreferencesPageEnabled &&
79
- tabsToRender.push({
80
- title: 'Preferences',
81
- key: 'preferences-tab',
82
- 'data-tracking-id': 'preferences-tab',
83
- routePath: preferencesRoute,
84
- onClick: () => {
85
- changeRouteThunk(preferencesRoute);
86
- },
87
- component: React.createElement(ManagePreferences, null),
88
- });
77
+ tabsToRender.push({
78
+ title: 'Preferences',
79
+ key: 'preferences-tab',
80
+ 'data-tracking-id': 'preferences-tab',
81
+ routePath: preferencesRoute,
82
+ onClick: () => {
83
+ changeRouteThunk(preferencesRoute);
84
+ },
85
+ component: React.createElement(ManagePreferences, null),
86
+ });
89
87
  canViewManageTopContent &&
90
88
  tabsToRender.push({
91
89
  title: 'Top content',
@@ -1 +1 @@
1
- {"version":3,"file":"ManageGroupUsers.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/ManageGroupUsers/ManageGroupUsers.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,mBAgM5B,CAAC"}
1
+ {"version":3,"file":"ManageGroupUsers.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/ManageGroupUsers/ManageGroupUsers.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,mBAkM5B,CAAC"}
@@ -8,7 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { publicApi } from '@cee-eng/hydrajs';
11
- import { AlertMessage, AlertType, ErrorBoundary, Input, ToastNotification, useFetch, usePrevious, } from '@rh-support/components';
11
+ import { SearchInput } from '@patternfly/react-core';
12
+ import { AlertMessage, AlertType, ErrorBoundary, ToastNotification, useFetch, usePrevious, } from '@rh-support/components';
12
13
  import { useGlobalStateContext } from '@rh-support/react-context';
13
14
  import isEmpty from 'lodash/isEmpty';
14
15
  import React, { useEffect, useMemo, useState } from 'react';
@@ -104,7 +105,6 @@ export const ManageGroupUsers = () => {
104
105
  ];
105
106
  // filter out search query.
106
107
  const [userSearch, setUserSearch] = useState('');
107
- const onGroupUserSearch = (input) => setUserSearch(input);
108
108
  const previousUserSearch = usePrevious(userSearch);
109
109
  useEffect(() => {
110
110
  if (userSearch === previousUserSearch)
@@ -140,7 +140,7 @@ export const ManageGroupUsers = () => {
140
140
  React.createElement("span", { className: "toolbar-right" },
141
141
  React.createElement("label", { htmlFor: "account-group-filter" },
142
142
  React.createElement(Trans, null, "Filter by")),
143
- React.createElement(Input, { id: "account-group-filter", isDisabled: isFetching || !selectedGroup, onChange: onGroupUserSearch, placeholder: t('Search for people in this group'), ariaLabel: "Group search input" }))),
143
+ React.createElement(SearchInput, { className: "pf-u-flex-grow-1 pf-c-search-input pf-u-background-color-100", id: "account-group-filter", value: userSearch, isDisabled: isFetching || !selectedGroup, onChange: setUserSearch, placeholder: t('Search for people in this group'), "aria-label": "Group search input", onClear: () => setUserSearch('') }))),
144
144
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading group users list') } },
145
145
  React.createElement(ManageTable, { ariaLabel: t('Table to manage groups'), columns: columns, data: data, sortInfo: { column: 'first-name', direction: 'asc' }, isFetching: isFetching, isError: false }))));
146
146
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AddEditBookmarkModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAStD,UAAU,MAAM;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,oBAAoB,UAAW,MAAM,gBAkIjD,CAAC"}
1
+ {"version":3,"file":"AddEditBookmarkModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAStD,UAAU,MAAM;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,oBAAoB,UAAW,MAAM,gBAmIjD,CAAC"}
@@ -12,7 +12,7 @@ export const AddEditBookmarkModal = (props) => {
12
12
  const [saveButtonIsClicked, setSaveButtonIsClicked] = useState(false);
13
13
  // only check if save button has been clicked once
14
14
  const checkIsInvalid = (group, selectedAccounts) => {
15
- const isInvalid = isEmpty(group) || selectedAccounts.length === 0;
15
+ const isInvalid = isEmpty(group === null || group === void 0 ? void 0 : group.trim()) || selectedAccounts.length === 0;
16
16
  setIsInValid(isInvalid);
17
17
  };
18
18
  const resetModal = () => {
@@ -21,12 +21,12 @@ export const AddEditBookmarkModal = (props) => {
21
21
  };
22
22
  const save = () => {
23
23
  setSaveButtonIsClicked(true);
24
- const isInvalid = isEmpty(selectedGroup) || localSelectedBookmarks.length === 0;
25
- setIsInValid(isInvalid);
26
- if (isInvalid)
24
+ if (isEmpty(selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.trim()) || localSelectedBookmarks.length === 0) {
25
+ setIsInValid(true);
27
26
  return;
27
+ }
28
28
  resetModal();
29
- props.onSave(localSelectedBookmarks, selectedGroup);
29
+ props.onSave(localSelectedBookmarks, selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.trim());
30
30
  };
31
31
  const remove = () => {
32
32
  props.onRemove(selectedGroup);
@@ -70,5 +70,5 @@ export const AddEditBookmarkModal = (props) => {
70
70
  React.createElement(Trans, null, "Account(s)"),
71
71
  React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
72
72
  React.createElement(BookmarkAccountSelector, { defaultSelected: props.selectedAccounts, labelId: "add-bookmark-account-on-add-modal", bookmarkedGroupAccounts: props.bookmarkedGroupAccounts, onBookMarkAccountSelected: onBookMarkAccountSelected, addMode: props.addMode, isInValid: isInValid && isEmpty(localSelectedBookmarks) })),
73
- React.createElement(BookmarkGroupSelector, { selectedGroup: selectedGroup, groups: props.groups, onGroupInputBoxChanged: onGroupInputBoxChanged, isInValid: isInValid && isEmpty(selectedGroup) }))));
73
+ React.createElement(BookmarkGroupSelector, { selectedGroup: selectedGroup, groups: props.groups, onGroupInputBoxChanged: onGroupInputBoxChanged, isInValid: isInValid && isEmpty(selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.trim()) }))));
74
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ManageBookmarkedAccountsTab.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTab.tsx"],"names":[],"mappings":"AAYA,UAAU,MAAM;IACZ,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,2BAA2B,CAAC,EAAE,yBAAyB,EAAE,EAAE,MAAM,eAgIhF"}
1
+ {"version":3,"file":"ManageBookmarkedAccountsTab.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTab.tsx"],"names":[],"mappings":"AAYA,UAAU,MAAM;IACZ,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,2BAA2B,CAAC,EAAE,yBAAyB,EAAE,EAAE,MAAM,eAkIhF"}
@@ -1,5 +1,5 @@
1
- import { AlertVariant } from '@patternfly/react-core';
2
- import { defaultTableSortMethod, ErrorBoundary, Input } from '@rh-support/components';
1
+ import { AlertVariant, SearchInput } from '@patternfly/react-core';
2
+ import { defaultTableSortMethod, ErrorBoundary } from '@rh-support/components';
3
3
  import { AccountSelectorInternal, AddRemoveBookmark, useGlobalStateContext } from '@rh-support/react-context';
4
4
  import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
5
5
  import isArray from 'lodash/isArray';
@@ -13,8 +13,7 @@ export function ManageBookmarkedAccountsTab({ canManageBookmarkAccounts }) {
13
13
  const { globalMetadataState: { bookmarkedAccounts, loggedInUser }, } = useGlobalStateContext();
14
14
  const _bookmarkedAccounts = bookmarkedAccounts.data || [];
15
15
  const [accountToBookmark, setAccountToBookmark] = useState(null);
16
- const [searchString, setSearchString] = useState(null);
17
- const onSearchSubmit = (str) => setSearchString(str);
16
+ const [searchString, setSearchString] = useState('');
18
17
  let accounts = _bookmarkedAccounts;
19
18
  if (!isEmpty(searchString)) {
20
19
  accounts = accounts.filter((account) => account.name.toLowerCase().includes(searchString.toLowerCase()) ||
@@ -73,7 +72,7 @@ export function ManageBookmarkedAccountsTab({ canManageBookmarkAccounts }) {
73
72
  React.createElement("div", { className: "toolbar-right" },
74
73
  React.createElement("label", { htmlFor: "search-bookmark-account-selector" },
75
74
  React.createElement(Trans, null, "Filter by")),
76
- React.createElement(Input, { id: "search-bookmark-account-selector", placeholder: t('Search for a bookmark'), ariaLabel: t('Bookmarked accounts search input'), onChange: onSearchSubmit }))),
75
+ React.createElement(SearchInput, { className: "pf-u-flex-grow-1 pf-c-search-input pf-u-background-color-100", value: searchString, id: "search-bookmark-account-selector", placeholder: t('Search for a bookmark'), "aria-label": t('Bookmarked accounts search input'), onChange: setSearchString, onClear: () => setSearchString('') }))),
77
76
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading bookmarked accounts list') } },
78
77
  React.createElement(ManageTable, { ariaLabel: t('Table to manage bookmarks'), columns: columns, data: accounts, sortInfo: { column: 'account-name', direction: 'asc' }, errorVariant: AlertVariant.warning, isFetching: bookmarkedAccounts.isFetching || loggedInUser.isFetching, isError: bookmarkedAccounts.isError, errorTitle: t('Bookmarked accounts error'), errorComponent: React.createElement(Trans, null, "Could not get bookmarked accounts") }))));
79
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ManageGroupedBookmarkedAccountsTab.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.tsx"],"names":[],"mappings":"AA0CA,UAAU,MAAM;IACZ,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,kCAAkC,CAAC,EAAE,yBAAyB,EAAE,EAAE,MAAM,eA6XvF"}
1
+ {"version":3,"file":"ManageGroupedBookmarkedAccountsTab.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.tsx"],"names":[],"mappings":"AAyCA,UAAU,MAAM;IACZ,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,kCAAkC,CAAC,EAAE,yBAAyB,EAAE,EAAE,MAAM,eA4XvF"}
@@ -7,9 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { AlertVariant, Button, ButtonVariant, Label, LabelGroup, Popover, PopoverPosition, } from '@patternfly/react-core';
11
- import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
12
- import { defaultTableSortMethod, ErrorBoundary, Input, ToastNotification, useConfirmation, } from '@rh-support/components';
10
+ import { AlertVariant, Button, ButtonVariant, Label, LabelGroup, Popover, PopoverPosition, SearchInput, } from '@patternfly/react-core';
11
+ import { defaultTableSortMethod, ErrorBoundary, ToastNotification, useConfirmation, } from '@rh-support/components';
13
12
  import { addEditbookmarks, getBookmarkGroups, removeGroupedBookmarks, removeWholeGroup, useGlobalDispatchContext, useGlobalStateContext, useGroupedBookmarkApiCalls, } from '@rh-support/react-context';
14
13
  import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
15
14
  import { promiseReflection } from '@rh-support/utils';
@@ -29,7 +28,7 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
29
28
  const dispatchGlobalContext = useGlobalDispatchContext();
30
29
  const confirmation = useConfirmation();
31
30
  const apiCalls = useGroupedBookmarkApiCalls(loggedInUser.data.ssoUsername, bookmarkedGroupIds);
32
- const [searchString, setSearchString] = useState(null);
31
+ const [searchString, setSearchString] = useState('');
33
32
  const bookmarkedAccounts = bookmarkedGroupAccounts.data || [];
34
33
  const allGroups = groupBy(bookmarkedAccounts, 'bookmarkGroupName');
35
34
  let groupNames = Object.keys(allGroups);
@@ -43,7 +42,6 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
43
42
  groupNames = groupNames.filter((group) => group.toLowerCase().includes(searchString.toLowerCase()));
44
43
  }
45
44
  const groups = getBookmarkGroups(bookmarkedGroupAccounts.data);
46
- const onSearchSubmit = (str) => setSearchString(str);
47
45
  const canBookmarkAccounts = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.BOOKMARK_ACCOUNTS);
48
46
  const resetModal = () => {
49
47
  setIsInAddMode(true);
@@ -257,7 +255,7 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
257
255
  React.createElement("div", { className: "toolbar-right" },
258
256
  React.createElement("label", { htmlFor: "search-bookmark-account-selector" },
259
257
  React.createElement(Trans, null, "Filter by")),
260
- React.createElement(Input, { icon: React.createElement(SearchIcon, null), hasToggleIcon: true, id: "search-bookmark-account-selector", placeholder: t('Search for a bookmark'), ariaLabel: t('Filter by searching for a bookmark'), onChange: onSearchSubmit }))),
258
+ React.createElement(SearchInput, { className: "pf-u-flex-grow-1 pf-c-search-input pf-u-background-color-100", value: searchString, id: "search-bookmark-account-selector", placeholder: t('Search for a bookmark'), "aria-label": t('Filter by searching for a bookmark'), onChange: setSearchString, onClear: () => setSearchString('') }))),
261
259
  React.createElement(AddEditBookmarkModal, { selectedAccounts: isInAddMode ? localSelectedAccounts : editGroupSelectedAccounts, groups: groups, isOpen: isUpdateBookmarkModalOpen, onSave: onAddEditBookmarksSave, onClose: closeAddEditBookmarkModal, onRemove: removeGroup, bookmarkedGroupAccounts: bookmarkedGroupAccounts.data, addMode: isInAddMode, title: isInAddMode ? t('Create or add to an existing bookmark') : t('Edit bookmark') }),
262
260
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading bookmarked accounts list') } },
263
261
  React.createElement(ManageTable, { ariaLabel: t('Table to manage bookmarks'), columns: columns, data: groupNames, sortInfo: { column: 'bookmark-group-name', direction: 'asc' }, errorVariant: AlertVariant.warning, isFetching: bookmarkedGroupAccounts.isFetching ||
@@ -1 +1 @@
1
- {"version":3,"file":"PreferencesCaseView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ManagePreferences/sections/PreferencesCaseView.tsx"],"names":[],"mappings":"AAeA,UAAU,MAAM;CAAG;AAEnB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,eA2KhD"}
1
+ {"version":3,"file":"PreferencesCaseView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ManagePreferences/sections/PreferencesCaseView.tsx"],"names":[],"mappings":"AAeA,UAAU,MAAM;CAAG;AAEnB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,eAwLhD"}
@@ -28,6 +28,7 @@ export function PreferencesCaseView(props) {
28
28
  const [originalCommentType, setOriginalCommentType] = useState('');
29
29
  const [originalCommentSignature, setOriginalCommentSignature] = useState('');
30
30
  const [commentValidated, setCommentValidated] = useState('default');
31
+ const [isHostnamesLoading, setIsHostnamesLoading] = useState(true);
31
32
  const [isCommentSignatureLoading, setIsCommentSignatureLoading] = useState(false);
32
33
  const commentTypes = [EditorMode.PLAIN, EditorMode.MARKDOWN];
33
34
  const userOriginalCommentType = () => __awaiter(this, void 0, void 0, function* () {
@@ -84,7 +85,7 @@ export function PreferencesCaseView(props) {
84
85
  });
85
86
  const titleId = 'default-comment-preference-select';
86
87
  const canUseHostName = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.HOSTNAME);
87
- const { globalMetadataState: { loggedInUsersAccount, loggedInUserRights }, } = useContext(GlobalMetadataStateContext);
88
+ const { globalMetadataState: { loggedInUsersAccount }, } = useContext(GlobalMetadataStateContext);
88
89
  const { request: fetchHostnameDefault } = useFetch(accounts.getIsSharingHostname);
89
90
  const accountNumber = loggedInUsersAccount.data.accountNumber;
90
91
  const { request: updateShareHostnames } = useFetch(accounts.updateIsSharingHostname);
@@ -99,19 +100,22 @@ export function PreferencesCaseView(props) {
99
100
  catch (error) {
100
101
  console.log(error);
101
102
  }
103
+ setIsHostnamesLoading(false);
102
104
  });
103
105
  }
104
- !loggedInUserRights.data.isInternal && userOriginalHostnameValue();
106
+ canUseHostName && userOriginalHostnameValue();
105
107
  // eslint-disable-next-line react-hooks/exhaustive-deps
106
108
  }, []);
107
109
  const onShareHostNamesSwitch = () => __awaiter(this, void 0, void 0, function* () {
108
110
  try {
111
+ setIsHostnamesLoading(true);
109
112
  yield updateShareHostnames(!isSharingHostNames, accountNumber);
110
113
  setIsSharingHostNames(!isSharingHostNames);
111
114
  }
112
115
  catch (error) {
113
116
  console.log(error);
114
117
  }
118
+ setIsHostnamesLoading(false);
115
119
  });
116
120
  const prefHostnameCopy = 'Red Hat Support cannot currently access hostnames that have been entered on a case. You can share this information at any time to improve your support experience.';
117
121
  return (React.createElement(Card, { className: "preference-card" },
@@ -136,5 +140,6 @@ export function PreferencesCaseView(props) {
136
140
  React.createElement(PreferenceSwitch, { className: "switches hostnameSwitch", id: "share-hostnames-switch", label: 'Share hostnames', isChecked: isSharingHostNames, onSwitchChange: onShareHostNamesSwitch }),
137
141
  React.createElement("div", { className: "prefhostnameTooltip" },
138
142
  React.createElement(Tooltip, { content: prefHostnameCopy, position: "right" },
139
- React.createElement(InfoIcon, { className: "pf-u-ml-sm" }))))))))));
143
+ React.createElement(InfoIcon, { className: "pf-u-ml-sm" })),
144
+ isHostnamesLoading && (React.createElement(Spinner, { isSVG: true, size: "lg", className: "pf-u-ml-sm hostnameSpinner", "aria-label": "Hostname loading" }))))))))));
140
145
  }
@@ -8,8 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { customEmail } from '@cee-eng/hydrajs';
11
- import { AlertVariant, Button, ButtonVariant, SearchInput } from '@patternfly/react-core';
12
- import { Input, ToastNotification, useConfirmation } from '@rh-support/components';
11
+ import { AlertVariant, Button, ButtonVariant, SearchInput, TextInput } from '@patternfly/react-core';
12
+ import { ToastNotification, useConfirmation } from '@rh-support/components';
13
13
  import { fetchAccountCustomEmails, setAccountCustomEmails, useGlobalDispatchContext, useGlobalStateContext, } from '@rh-support/react-context';
14
14
  import isEmpty from 'lodash/isEmpty';
15
15
  import React, { useEffect, useState } from 'react';
@@ -162,7 +162,7 @@ export function NotificationEmails() {
162
162
  React.createElement("div", { className: "toolbar" },
163
163
  React.createElement("div", { className: "toolbar-left" },
164
164
  React.createElement("label", { htmlFor: "notification-emails-input" }, "Add an Email"),
165
- React.createElement(Input, { id: "notification-email-input", placeholder: t('Enter a valid email address'), ariaLabel: t('Enter a valid email address'), onChange: onEmailInputBoxChange }),
165
+ React.createElement(TextInput, { id: "notification-email-input", placeholder: t('Enter a valid email address'), "aria-label": t('Enter a valid email address'), onChange: onEmailInputBoxChange }),
166
166
  React.createElement("span", { className: "pf-u-ml-sm" },
167
167
  React.createElement(Button, { variant: ButtonVariant.primary, isInline: true, onClick: addEmail, "data-tracking-id": "email-address-add-button", isDisabled: isAddButtonDisabled },
168
168
  React.createElement(Trans, null, "Add")))),
@@ -1 +1 @@
1
- {"version":3,"file":"TopContentHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/TopContentHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iCAAiC,EAEpC,MAAM,2DAA2D,CAAC;AAMnE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAC;AAEjF,eAAO,MAAM,gBAAgB,eAAgB,MAAM,WASlD,CAAC;AAEF,eAAO,MAAM,cAAc,6BAe1B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,eACb,oBAAoB,EAAE,iBACnB,iCAAiC,mBAC/B,MAAM,2BAqC1B,CAAC;AAEF,eAAO,MAAM,cAAc,oBAAqB,MAAM,KAAG,OAExD,CAAC"}
1
+ {"version":3,"file":"TopContentHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/TopContentHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iCAAiC,EAEpC,MAAM,2DAA2D,CAAC;AAKnE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAC;AAEjF,eAAO,MAAM,gBAAgB,eAAgB,MAAM,WASlD,CAAC;AAEF,eAAO,MAAM,cAAc,6BAe1B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,eACb,oBAAoB,EAAE,iBACnB,iCAAiC,mBAC/B,MAAM,2BAqC1B,CAAC;AAEF,eAAO,MAAM,cAAc,oBAAqB,MAAM,KAAG,OAExD,CAAC"}
@@ -9,8 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import { getAccessHostname } from '@rh-support/api';
13
- import { addDaysToDate, isFutureDate, outlier } from '@rh-support/utils';
12
+ import { addDaysToDate, getAccessHostname, isFutureDate, outlier } from '@rh-support/utils';
14
13
  import isEmpty from 'lodash/isEmpty';
15
14
  export const getTopContentUrl = (contentUrl) => {
16
15
  // There is some data urls (e.g. /solutions/articles/etc.) that aren't valid urls
@@ -303,3 +303,7 @@ div label.hostnameSwitch {
303
303
  div.prefhostnameTooltip {
304
304
  margin-left: 11.25rem !important;
305
305
  }
306
+
307
+ svg.hostnameSpinner {
308
+ vertical-align: -0.65rem !important;
309
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/manage",
3
- "version": "0.3.2",
3
+ "version": "0.3.5",
4
4
  "description": "Customer Support Manage App",
5
5
  "author": "Jordan Eudy <jeudy100@gmail.com>",
6
6
  "homepage": "",
@@ -58,7 +58,6 @@
58
58
  "@patternfly/pfe-tabs": "1.12.3",
59
59
  "@patternfly/react-core": "4.202.16",
60
60
  "@patternfly/react-table": "4.71.16",
61
- "@rh-support/api": "0.3.9",
62
61
  "@rh-support/components": "^0.1.3",
63
62
  "@rh-support/react-context": "^0.1.3",
64
63
  "@rh-support/types": "^0.1.3",
@@ -95,13 +94,12 @@
95
94
  "@patternfly/pfe-tabs": "1.12.3",
96
95
  "@patternfly/react-core": "4.202.16",
97
96
  "@patternfly/react-table": "4.71.16",
98
- "@rh-support/api": "0.3.25",
99
- "@rh-support/components": "1.1.81",
100
- "@rh-support/configs": "0.2.5",
101
- "@rh-support/react-context": "0.3.1",
97
+ "@rh-support/components": "1.1.83",
98
+ "@rh-support/configs": "0.2.8",
99
+ "@rh-support/react-context": "0.3.4",
102
100
  "@rh-support/types": "0.2.0",
103
- "@rh-support/user-permissions": "0.2.65",
104
- "@rh-support/utils": "0.2.48",
101
+ "@rh-support/user-permissions": "0.2.67",
102
+ "@rh-support/utils": "0.2.49",
105
103
  "@types/react-beautiful-dnd": "^13.0.0",
106
104
  "i18next": ">=17.0.1",
107
105
  "lodash": ">=4.17.15",
@@ -111,5 +109,5 @@
111
109
  "react-i18next": ">=10.11.0",
112
110
  "react-router-dom": ">=5.1.2"
113
111
  },
114
- "gitHead": "e4bbdcf60f5ca9c6427a3655a7d264680c692b37"
112
+ "gitHead": "cd70b3e8d05162414bc78e541020c3de692d892b"
115
113
  }
@@ -1,2 +0,0 @@
1
- export declare function ManageBookmarkedAccountsTabWrapper(props: any): JSX.Element;
2
- //# sourceMappingURL=ManageBookmarkedAccountsTabWrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManageBookmarkedAccountsTabWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageBookmarkedAccountsTabWrapper.tsx"],"names":[],"mappings":"AAOA,wBAAgB,kCAAkC,CAAC,KAAK,KAAA,eAoBvD"}
@@ -1,10 +0,0 @@
1
- import { useGlobalStateContext } from '@rh-support/react-context';
2
- import { getConfigField, PCM_CONFIG_FIELD_TYPE } from '@rh-support/utils';
3
- import React from 'react';
4
- import { ManageBookmarkedAccountsTab } from './ManageBookmarkedAccountsTab';
5
- import { ManageGroupedBookmarkedAccountsTab } from './ManageGroupedBookmarkedAccountsTab';
6
- export function ManageBookmarkedAccountsTabWrapper(props) {
7
- const { globalMetadataState: { pcmConfig }, } = useGlobalStateContext();
8
- const isGroupBookmarkEnabled = getConfigField(pcmConfig.data, 'isGroupBookmarkEnabled', PCM_CONFIG_FIELD_TYPE.FEATURE_FLAG);
9
- return (React.createElement(React.Fragment, null, isGroupBookmarkEnabled ? (React.createElement(ManageGroupedBookmarkedAccountsTab, Object.assign({}, props))) : (React.createElement(ManageBookmarkedAccountsTab, Object.assign({}, props)))));
10
- }