@rh-support/manage 2.6.1 → 2.6.11
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.
- package/lib/esm/ManageTabs.d.ts.map +1 -1
- package/lib/esm/ManageTabs.js +48 -20
- package/lib/esm/Routes.d.ts +1 -0
- package/lib/esm/Routes.d.ts.map +1 -1
- package/lib/esm/Routes.js +6 -0
- package/lib/esm/components/Configs/ConfigsTable.d.ts.map +1 -1
- package/lib/esm/components/Configs/ConfigsTable.js +33 -9
- package/lib/esm/components/Groups/AddMembersModal/AddMembersModal.d.ts +12 -0
- package/lib/esm/components/Groups/AddMembersModal/AddMembersModal.d.ts.map +1 -0
- package/lib/esm/components/Groups/AddMembersModal/AddMembersModal.js +80 -0
- package/lib/esm/components/Groups/AddMembersModal/index.d.ts +2 -0
- package/lib/esm/components/Groups/AddMembersModal/index.d.ts.map +1 -0
- package/lib/esm/components/Groups/AddMembersModal/index.js +1 -0
- package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.d.ts +5 -3
- package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.d.ts.map +1 -1
- package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.js +21 -14
- package/lib/esm/components/Groups/GroupSelect/GroupSelect.d.ts +1 -0
- package/lib/esm/components/Groups/GroupSelect/GroupSelect.d.ts.map +1 -1
- package/lib/esm/components/Groups/GroupSelect/GroupSelect.js +240 -105
- package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.d.ts.map +1 -1
- package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.js +19 -14
- package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.d.ts.map +1 -1
- package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.js +187 -77
- package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.js +15 -12
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.js +106 -67
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkGroupSelector.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.js +15 -22
- package/lib/esm/components/ManageCaseLabels/AddEditCaseLabelModal.d.ts +19 -0
- package/lib/esm/components/ManageCaseLabels/AddEditCaseLabelModal.d.ts.map +1 -0
- package/lib/esm/components/ManageCaseLabels/AddEditCaseLabelModal.js +97 -0
- package/lib/esm/components/ManageCaseLabels/ManageCaseLabelsTab.d.ts +3 -0
- package/lib/esm/components/ManageCaseLabels/ManageCaseLabelsTab.d.ts.map +1 -0
- package/lib/esm/components/ManageCaseLabels/ManageCaseLabelsTab.js +220 -0
- package/lib/esm/components/ManageCaseLabels/index.d.ts +2 -0
- package/lib/esm/components/ManageCaseLabels/index.d.ts.map +1 -0
- package/lib/esm/components/ManageCaseLabels/index.js +1 -0
- package/lib/esm/components/ManageCaseLabels/types.d.ts +6 -0
- package/lib/esm/components/ManageCaseLabels/types.d.ts.map +1 -0
- package/lib/esm/components/ManageCaseLabels/types.js +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentCategory.js +4 -4
- package/lib/esm/components/ManageExpiredContents/ExpiredContentHeader.js +1 -1
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.d.ts.map +1 -1
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.js +12 -12
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.js +3 -3
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.d.ts.map +1 -1
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.js +43 -35
- package/lib/esm/components/ManagePartnerships/NonOrgCustomerInfoModal.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/NonOrgCustomerInfoModal.js +8 -5
- package/lib/esm/components/ManagePartnerships/PartnershipsList.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsList.js +19 -12
- package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.js +17 -20
- package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.js +39 -27
- package/lib/esm/components/ManagePartnerships/Requests.d.ts +1 -0
- package/lib/esm/components/ManagePartnerships/Requests.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/Requests.js +22 -9
- package/lib/esm/components/ManagePartnerships/index.js +1 -1
- package/lib/esm/components/ManagePreferences/PreferencesBody.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/PreferencesBody.js +1 -5
- package/lib/esm/components/ManagePreferences/PreferencesHeader.js +1 -1
- package/lib/esm/components/ManagePreferences/components/PreferenceSelect.d.ts +1 -1
- package/lib/esm/components/ManagePreferences/components/PreferenceSelect.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/components/PreferenceSelect.js +26 -27
- package/lib/esm/components/ManagePreferences/components/PreferenceSwitch.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/components/PreferenceSwitch.js +6 -6
- package/lib/esm/components/ManagePreferences/sections/PreferencesACL.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesACL.js +8 -9
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.js +77 -63
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.js +3 -4
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.js +47 -103
- package/lib/esm/components/ManageTable/ManageTable.d.ts +3 -4
- package/lib/esm/components/ManageTable/ManageTable.d.ts.map +1 -1
- package/lib/esm/components/ManageTable/ManageTable.js +12 -18
- package/lib/esm/components/ManageTags/TagsManager.d.ts.map +1 -1
- package/lib/esm/components/ManageTags/TagsManager.js +58 -50
- package/lib/esm/components/NotificationEmails/NotificationEmailsModal.d.ts.map +1 -1
- package/lib/esm/components/NotificationEmails/NotificationEmailsModal.js +35 -26
- package/lib/esm/components/NotificationEmails/index.d.ts.map +1 -1
- package/lib/esm/components/NotificationEmails/index.js +10 -7
- package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimit.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimit.js +2 -3
- package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimitGuidelines.js +6 -6
- package/lib/esm/components/TopContentManagement/CategoryLimit/QuestionAnswer.js +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/ContentAccordion.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/ContentAccordion.js +7 -9
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricClickCount.d.ts +1 -0
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricClickCount.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricClickCount.js +2 -2
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetrics.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetrics.js +12 -10
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.d.ts +2 -3
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.js +16 -9
- package/lib/esm/components/TopContentManagement/ContentUsage/VersionPerformanceMetrics.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/VersionPerformanceMetrics.js +15 -16
- package/lib/esm/components/TopContentManagement/NoTopContentFound.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/NoTopContentFound.js +14 -15
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.js +47 -39
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategory.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategory.js +12 -6
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategoryNew.js +3 -3
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentComponent.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentComponent.js +11 -7
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.js +62 -53
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItemLink.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItemLink.js +2 -3
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.js +8 -9
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestion.js +2 -2
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHint.js +4 -5
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHintAccept.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHintAccept.js +51 -25
- package/lib/esm/components/TopContentManagement/TopContentHeader.js +1 -1
- package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.js +64 -32
- package/lib/esm/constants/GroupSelectActions.d.ts +2 -1
- package/lib/esm/constants/GroupSelectActions.d.ts.map +1 -1
- package/lib/esm/constants/GroupSelectActions.js +1 -0
- package/lib/esm/constants/PartnershipLink.d.ts +3 -0
- package/lib/esm/constants/PartnershipLink.d.ts.map +1 -0
- package/lib/esm/constants/PartnershipLink.js +2 -0
- package/lib/esm/context/ExpiredContentContextProvider.d.ts.map +1 -1
- package/lib/esm/hooks/useCaseGroupGraphQL.d.ts +42 -0
- package/lib/esm/hooks/useCaseGroupGraphQL.d.ts.map +1 -0
- package/lib/esm/hooks/useCaseGroupGraphQL.js +117 -0
- package/lib/esm/hooks/useCaseLabelGraphQL.d.ts +26 -0
- package/lib/esm/hooks/useCaseLabelGraphQL.d.ts.map +1 -0
- package/lib/esm/hooks/useCaseLabelGraphQL.js +104 -0
- package/lib/esm/hooks/useCurrentUserContact.d.ts +8 -0
- package/lib/esm/hooks/useCurrentUserContact.d.ts.map +1 -0
- package/lib/esm/hooks/useCurrentUserContact.js +74 -0
- package/lib/esm/hooks/useVersionsDiffer.d.ts.map +1 -1
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +2 -0
- package/lib/esm/reducers/ExpiredContentReducer.d.ts.map +1 -1
- package/lib/esm/reducers/ManagePartnershipsReducer.d.ts.map +1 -1
- package/lib/esm/reducers/TagManagmentReducer.d.ts +1 -1
- package/lib/esm/reducers/TagManagmentReducer.d.ts.map +1 -1
- package/lib/esm/reducers/TopContentHelpers.d.ts.map +1 -1
- package/lib/esm/reducers/TopContentReducer.d.ts.map +1 -1
- package/lib/esm/reducers/TopContentReducer.js +5 -2
- package/lib/esm/scss/_main.scss +266 -24
- package/lib/esm/scss/_pf-overrides.scss +66 -53
- package/lib/esm/scss/index.scss +5 -4
- package/lib/esm/utils/caseGroupMapper.d.ts +18 -0
- package/lib/esm/utils/caseGroupMapper.d.ts.map +1 -0
- package/lib/esm/utils/caseGroupMapper.js +50 -0
- package/package.json +21 -22
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { products as productsApi } from '@cee-eng/hydrajs';
|
|
2
|
-
import { Select, SelectOption,
|
|
3
|
-
import
|
|
4
|
-
import { useFetch } from '@rh-support/components';
|
|
2
|
+
import { Button, MenuToggle, Select, SelectOption, TextInputGroup, TextInputGroupMain, } from '@patternfly/react-core';
|
|
3
|
+
import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
|
|
4
|
+
import { SingleSelectDropdown, useFetch } from '@rh-support/components';
|
|
5
5
|
import { getUniqueSortedVersions, getVersion } from '@rh-support/utils';
|
|
6
6
|
import isEmpty from 'lodash/isEmpty';
|
|
7
|
-
import React, { useEffect, useState } from 'react';
|
|
7
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
8
8
|
import { Trans, useTranslation } from 'react-i18next';
|
|
9
9
|
import { useTopContentDispatchContext } from '../../context/TopContentProvider';
|
|
10
10
|
import { setIsAddingCategory } from '../../reducers/TopContentReducer';
|
|
@@ -41,10 +41,14 @@ function TopContentProductVersionSelector(props) {
|
|
|
41
41
|
const { request: getProducts, isFetching: isLoadingProducts, data: products, } = useFetch(productsApi.getProducts, {
|
|
42
42
|
initialData: [],
|
|
43
43
|
});
|
|
44
|
-
const { request: getProductVersions,
|
|
44
|
+
const { request: getProductVersions, data: versions } = useFetch(productsApi.getProductVersions, {
|
|
45
|
+
initialData: [],
|
|
46
|
+
postProcessor: postVersionsProcessor,
|
|
47
|
+
});
|
|
45
48
|
const [isProductOpen, setIsProductOpen] = useState(false);
|
|
46
|
-
const [isVersionOpen, setIsVersionOpen] = useState(false);
|
|
47
49
|
const [selected, setSelected] = useState(undefined);
|
|
50
|
+
const [input, setInput] = useState('');
|
|
51
|
+
const textInputRef = useRef();
|
|
48
52
|
const { selectedVersion } = props;
|
|
49
53
|
const topContentDispatch = useTopContentDispatchContext();
|
|
50
54
|
const productOptions = products === null || products === void 0 ? void 0 : products.map((p, id) => (Object.assign(Object.assign({}, p), { toString: function () {
|
|
@@ -68,9 +72,10 @@ function TopContentProductVersionSelector(props) {
|
|
|
68
72
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
69
73
|
}, [versions]);
|
|
70
74
|
const onProductChange = (option) => {
|
|
75
|
+
var _a;
|
|
71
76
|
setIsAddingCategory(topContentDispatch, false);
|
|
72
77
|
props.onProductChange(option);
|
|
73
|
-
getProductVersions(option.name);
|
|
78
|
+
getProductVersions((_a = option === null || option === void 0 ? void 0 : option.name) !== null && _a !== void 0 ? _a : '');
|
|
74
79
|
};
|
|
75
80
|
const onVersionChange = (option) => {
|
|
76
81
|
setIsAddingCategory(topContentDispatch, false);
|
|
@@ -79,46 +84,73 @@ function TopContentProductVersionSelector(props) {
|
|
|
79
84
|
const onProductClear = () => {
|
|
80
85
|
onProductChange({ name: '', id: '' });
|
|
81
86
|
setSelected(undefined);
|
|
87
|
+
setInput('');
|
|
82
88
|
};
|
|
83
|
-
const getProductOptions = (options) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return getProductOptions(productOptions);
|
|
92
|
-
const input = new RegExp(value, 'i');
|
|
93
|
-
const newOptions = productOptions === null || productOptions === void 0 ? void 0 : productOptions.filter((p) => input.test(p.name));
|
|
94
|
-
return getProductOptions(newOptions);
|
|
89
|
+
const getProductOptions = (options, filterValue = '') => {
|
|
90
|
+
const filteredOptions = filterValue && filterValue !== (selected === null || selected === void 0 ? void 0 : selected.name)
|
|
91
|
+
? options.filter((p) => new RegExp(filterValue, 'i').test(p.name))
|
|
92
|
+
: options;
|
|
93
|
+
if (filteredOptions.length === 0) {
|
|
94
|
+
return React.createElement(SelectOption, { key: "no-results" }, t('No results found'));
|
|
95
|
+
}
|
|
96
|
+
return filteredOptions.map((product, index) => (React.createElement(SelectOption, { key: index, value: product.productId, className: "pf-v6-c-select__menu-wrapper", isSelected: (selected === null || selected === void 0 ? void 0 : selected.productId) === product.productId }, product.name)));
|
|
95
97
|
};
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
+
const onToggleClick = (e) => {
|
|
99
|
+
var _a;
|
|
100
|
+
setIsProductOpen((prev) => !prev);
|
|
101
|
+
(_a = textInputRef === null || textInputRef === void 0 ? void 0 : textInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
98
102
|
};
|
|
99
|
-
const onProductSelect = (
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
const onProductSelect = (e, selection) => {
|
|
104
|
+
const product = productOptions === null || productOptions === void 0 ? void 0 : productOptions.find((v) => v.productId === selection);
|
|
105
|
+
if (product) {
|
|
106
|
+
onProductChange(product);
|
|
107
|
+
setSelected(product);
|
|
108
|
+
setInput(product.name);
|
|
109
|
+
setIsProductOpen(false);
|
|
110
|
+
}
|
|
103
111
|
};
|
|
104
|
-
const
|
|
105
|
-
|
|
112
|
+
const onChange = (e, value) => {
|
|
113
|
+
setInput(value);
|
|
114
|
+
if (!isProductOpen) {
|
|
115
|
+
setIsProductOpen(true);
|
|
116
|
+
}
|
|
117
|
+
return [];
|
|
106
118
|
};
|
|
107
|
-
const onVersionSelect = (
|
|
108
|
-
onVersionChange(selection);
|
|
109
|
-
onVersionToggle(false);
|
|
119
|
+
const onVersionSelect = (selection) => {
|
|
120
|
+
onVersionChange(selection.value);
|
|
110
121
|
};
|
|
111
122
|
const productLabelId = 'tc-product-dropdown-selector';
|
|
112
123
|
const versionLabelId = 'version-dropdown-selector';
|
|
124
|
+
const getSelectedDropdownOption = {
|
|
125
|
+
label: selectedVersion,
|
|
126
|
+
value: selectedVersion,
|
|
127
|
+
};
|
|
128
|
+
const getVersionOptions = (options) => {
|
|
129
|
+
return options.map((version) => ({
|
|
130
|
+
label: version,
|
|
131
|
+
value: version,
|
|
132
|
+
}));
|
|
133
|
+
};
|
|
134
|
+
const toggle = (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, variant: "typeahead", onClick: onToggleClick, isExpanded: isProductOpen, isFullWidth: true, isDisabled: isLoadingProducts, onBlur: () => {
|
|
135
|
+
if (selected) {
|
|
136
|
+
setInput(selected === null || selected === void 0 ? void 0 : selected.name);
|
|
137
|
+
}
|
|
138
|
+
} },
|
|
139
|
+
React.createElement(TextInputGroup, { isPlain: true },
|
|
140
|
+
React.createElement(TextInputGroupMain, { value: input, onClick: onToggleClick, onChange: onChange, autoComplete: "off", innerRef: textInputRef, placeholder: t('Select a product'), role: "combobox", isExpanded: isProductOpen })),
|
|
141
|
+
!isEmpty(selected) && (React.createElement(Button, { variant: "plain", icon: React.createElement(TimesCircleIcon, { "aria-hidden": true }), onClick: (e) => {
|
|
142
|
+
e.stopPropagation();
|
|
143
|
+
onProductClear();
|
|
144
|
+
} }))));
|
|
113
145
|
return (React.createElement("div", { className: "toolbar" },
|
|
114
146
|
React.createElement("div", { className: "toolbar-left" },
|
|
115
147
|
React.createElement("label", { htmlFor: 'tc-product-selector-dropdown-toggle' },
|
|
116
148
|
React.createElement(Trans, null, "Product")),
|
|
117
|
-
React.createElement(Select, Object.assign({
|
|
149
|
+
React.createElement(Select, Object.assign({ isScrollable: true, toggle: toggle, selected: selected, isOpen: isProductOpen, maxMenuHeight: "20rem", onSelect: onProductSelect, onOpenChange: (isOpen) => setIsProductOpen(isOpen) }, (isLoadingProducts && { loadingVariant: 'spinner' }), { id: productLabelId, "data-tracking-id": productLabelId, "aria-label": productLabelId }), getProductOptions(productOptions, input))),
|
|
118
150
|
React.createElement("div", { className: "toolbar-right" },
|
|
119
151
|
React.createElement("label", { htmlFor: "version-selector-dropdown-toggle" },
|
|
120
152
|
React.createElement(Trans, null, "Version")),
|
|
121
|
-
React.createElement(
|
|
153
|
+
React.createElement(SingleSelectDropdown, { placeholder: t('Select a version'), dataTrackingId: "case-details-status-selector", options: getVersionOptions((versions === null || versions === void 0 ? void 0 : versions.items) || []), selected: getSelectedDropdownOption, isDisabled: isEmpty(versions === null || versions === void 0 ? void 0 : versions.items), id: versionLabelId, "data-tracking-id": versionLabelId, onSelect: onVersionSelect, "aria-label": t(versionLabelId) }))));
|
|
122
154
|
}
|
|
123
155
|
TopContentProductVersionSelector.defaultProps = defaultProps;
|
|
124
156
|
export { TopContentProductVersionSelector };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupSelectActions.d.ts","sourceRoot":"","sources":["../../../src/constants/GroupSelectActions.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"GroupSelectActions.d.ts","sourceRoot":"","sources":["../../../src/constants/GroupSelectActions.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,UAAU,gBAAgB;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartnershipLink.d.ts","sourceRoot":"","sources":["../../../src/constants/PartnershipLink.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,mCAAmC,qEAAqE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpiredContentContextProvider.d.ts","sourceRoot":"","sources":["../../../src/context/ExpiredContentContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EACH,0BAA0B,EAE1B,oBAAoB,EAEvB,MAAM,mCAAmC,CAAC;AAG3C,eAAO,MAAM,0BAA0B,qCAAmE,CAAC;AAC3G,eAAO,MAAM,6BAA6B,2CAA8C,CAAC;AAEzF,wBAAgB,6BAA6B,CAAC,EAAE,QAAQ,EAAE;;CAAA,
|
|
1
|
+
{"version":3,"file":"ExpiredContentContextProvider.d.ts","sourceRoot":"","sources":["../../../src/context/ExpiredContentContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EACH,0BAA0B,EAE1B,oBAAoB,EAEvB,MAAM,mCAAmC,CAAC;AAG3C,eAAO,MAAM,0BAA0B,qCAAmE,CAAC;AAC3G,eAAO,MAAM,6BAA6B,2CAA8C,CAAC;AAEzF,wBAAgB,6BAA6B,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAQzD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type CreateCaseGroupMemberResponse, type CreateCaseGroupResponse, type DeleteCaseGroupMemberResponse, type DeleteCaseGroupResponse, type RenameCaseGroupResponse, type ToggleDefaultGroupResponse } from '@rh-support/utils';
|
|
2
|
+
import { type IGroupUserWithContactId } from '../utils/caseGroupMapper';
|
|
3
|
+
interface UseCaseGroupMembersResult {
|
|
4
|
+
data: IGroupUserWithContactId[];
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: Error | undefined;
|
|
7
|
+
refetch: () => void;
|
|
8
|
+
fetchMembers: (groupId: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useCaseGroupMembers(): UseCaseGroupMembersResult;
|
|
11
|
+
interface UseCreateCaseGroupResult {
|
|
12
|
+
createGroup: (name: string, accountId: string) => Promise<CreateCaseGroupResponse>;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function useCreateCaseGroup(): UseCreateCaseGroupResult;
|
|
16
|
+
interface UseCreateCaseGroupMemberResult {
|
|
17
|
+
createMember: (contactId: string, groupId: string) => Promise<CreateCaseGroupMemberResponse>;
|
|
18
|
+
loading: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function useCreateCaseGroupMember(): UseCreateCaseGroupMemberResult;
|
|
21
|
+
interface UseRenameCaseGroupResult {
|
|
22
|
+
renameGroup: (id: string, newName: string) => Promise<RenameCaseGroupResponse>;
|
|
23
|
+
loading: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function useRenameCaseGroup(): UseRenameCaseGroupResult;
|
|
26
|
+
interface UseDeleteCaseGroupResult {
|
|
27
|
+
deleteGroup: (id: string) => Promise<DeleteCaseGroupResponse>;
|
|
28
|
+
loading: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function useDeleteCaseGroup(): UseDeleteCaseGroupResult;
|
|
31
|
+
interface UseToggleDefaultGroupResult {
|
|
32
|
+
toggleDefault: (contactId: string, groupId: string | null) => Promise<ToggleDefaultGroupResponse>;
|
|
33
|
+
loading: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function useToggleDefaultGroup(): UseToggleDefaultGroupResult;
|
|
36
|
+
interface UseDeleteCaseGroupMemberResult {
|
|
37
|
+
deleteMember: (memberId: string) => Promise<DeleteCaseGroupMemberResponse>;
|
|
38
|
+
loading: boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare function useDeleteCaseGroupMember(): UseDeleteCaseGroupMemberResult;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=useCaseGroupGraphQL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCaseGroupGraphQL.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCaseGroupGraphQL.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAE5B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAQlC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,KAAK,uBAAuB,EAAsC,MAAM,0BAA0B,CAAC;AAE5G,UAAU,yBAAyB;IAC/B,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,mBAAmB,IAAI,yBAAyB,CAsC/D;AAED,UAAU,wBAAwB;IAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACnF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,wBAAwB,CAW7D;AAED,UAAU,8BAA8B;IACpC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC7F,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,wBAAwB,IAAI,8BAA8B,CAgBzE;AAED,UAAU,wBAAwB;IAC9B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,wBAAwB,CAW7D;AAED,UAAU,wBAAwB;IAC9B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9D,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,wBAAwB,CAW7D;AAED,UAAU,2BAA2B;IACjC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClG,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,qBAAqB,IAAI,2BAA2B,CAcnE;AAED,UAAU,8BAA8B;IACpC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,wBAAwB,IAAI,8BAA8B,CAWzE"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useMutation, useQuery } from '@apollo/client/react';
|
|
11
|
+
import { CREATE_CASE_GROUP, CREATE_CASE_GROUP_MEMBER, DELETE_CASE_GROUP, DELETE_CASE_GROUP_MEMBER, GET_CASE_GROUP_MEMBERS, RENAME_CASE_GROUP, TOGGLE_DEFAULT_GROUP, } from '@rh-support/utils';
|
|
12
|
+
import { useMemo, useState } from 'react';
|
|
13
|
+
import { mapCaseGroupMemberNodeToIGroupUser } from '../utils/caseGroupMapper';
|
|
14
|
+
export function useCaseGroupMembers() {
|
|
15
|
+
const [groupId, setGroupId] = useState(undefined);
|
|
16
|
+
const { data, loading, error, refetch } = useQuery(GET_CASE_GROUP_MEMBERS, {
|
|
17
|
+
variables: { where: { Group__c: { eq: groupId } }, first: 2000 },
|
|
18
|
+
skip: !groupId,
|
|
19
|
+
fetchPolicy: 'network-only',
|
|
20
|
+
});
|
|
21
|
+
const members = useMemo(() => {
|
|
22
|
+
var _a, _b, _c;
|
|
23
|
+
if (!data || !groupId)
|
|
24
|
+
return [];
|
|
25
|
+
const response = data;
|
|
26
|
+
const edges = ((_c = (_b = (_a = response.redhat_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.RedHatSupportCaseGroupMember__c) === null || _c === void 0 ? void 0 : _c.edges) || [];
|
|
27
|
+
return edges
|
|
28
|
+
.filter(({ node }) => node.Contact__r !== null)
|
|
29
|
+
.map(({ node }) => mapCaseGroupMemberNodeToIGroupUser(node, groupId));
|
|
30
|
+
}, [data, groupId]);
|
|
31
|
+
const fetchMembers = (id) => {
|
|
32
|
+
setGroupId(id);
|
|
33
|
+
};
|
|
34
|
+
const refetchMembers = () => {
|
|
35
|
+
if (!groupId)
|
|
36
|
+
return;
|
|
37
|
+
void refetch({
|
|
38
|
+
where: { Group__c: { eq: groupId } },
|
|
39
|
+
first: 2000,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
data: members,
|
|
44
|
+
loading,
|
|
45
|
+
error: error,
|
|
46
|
+
refetch: refetchMembers,
|
|
47
|
+
fetchMembers,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function useCreateCaseGroup() {
|
|
51
|
+
const [mutate, { loading }] = useMutation(CREATE_CASE_GROUP);
|
|
52
|
+
const createGroup = (name, accountId) => __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const result = yield mutate({
|
|
54
|
+
variables: { name, accountId },
|
|
55
|
+
});
|
|
56
|
+
return result.data;
|
|
57
|
+
});
|
|
58
|
+
return { createGroup, loading };
|
|
59
|
+
}
|
|
60
|
+
export function useCreateCaseGroupMember() {
|
|
61
|
+
const [mutate, { loading }] = useMutation(CREATE_CASE_GROUP_MEMBER);
|
|
62
|
+
const createMember = (contactId, groupId) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const result = yield mutate({
|
|
64
|
+
variables: {
|
|
65
|
+
memberInput: {
|
|
66
|
+
Contact__c: contactId,
|
|
67
|
+
Group__c: groupId,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
return result.data;
|
|
72
|
+
});
|
|
73
|
+
return { createMember, loading };
|
|
74
|
+
}
|
|
75
|
+
export function useRenameCaseGroup() {
|
|
76
|
+
const [mutate, { loading }] = useMutation(RENAME_CASE_GROUP);
|
|
77
|
+
const renameGroup = (id, newName) => __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const result = yield mutate({
|
|
79
|
+
variables: { id, caseGroupPatch: { Name: newName } },
|
|
80
|
+
});
|
|
81
|
+
return result.data;
|
|
82
|
+
});
|
|
83
|
+
return { renameGroup, loading };
|
|
84
|
+
}
|
|
85
|
+
export function useDeleteCaseGroup() {
|
|
86
|
+
const [mutate, { loading }] = useMutation(DELETE_CASE_GROUP);
|
|
87
|
+
const deleteGroup = (id) => __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const result = yield mutate({
|
|
89
|
+
variables: { id },
|
|
90
|
+
});
|
|
91
|
+
return result.data;
|
|
92
|
+
});
|
|
93
|
+
return { deleteGroup, loading };
|
|
94
|
+
}
|
|
95
|
+
export function useToggleDefaultGroup() {
|
|
96
|
+
const [mutate, { loading }] = useMutation(TOGGLE_DEFAULT_GROUP);
|
|
97
|
+
const toggleDefault = (contactId, groupId) => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const result = yield mutate({
|
|
99
|
+
variables: {
|
|
100
|
+
id: contactId,
|
|
101
|
+
contactPatch: { DefaultCaseGroup__c: groupId },
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
return result.data;
|
|
105
|
+
});
|
|
106
|
+
return { toggleDefault, loading };
|
|
107
|
+
}
|
|
108
|
+
export function useDeleteCaseGroupMember() {
|
|
109
|
+
const [mutate, { loading }] = useMutation(DELETE_CASE_GROUP_MEMBER);
|
|
110
|
+
const deleteMember = (memberId) => __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
const result = yield mutate({
|
|
112
|
+
variables: { id: memberId },
|
|
113
|
+
});
|
|
114
|
+
return result.data;
|
|
115
|
+
});
|
|
116
|
+
return { deleteMember, loading };
|
|
117
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type CreateCaseLabelResponse, type DeleteCaseLabelResponse, type UpdateCaseLabelResponse } from '@rh-support/utils';
|
|
2
|
+
import { ICaseLabel } from '../components/ManageCaseLabels/types';
|
|
3
|
+
interface UseCaseLabelsResult {
|
|
4
|
+
labels: ICaseLabel[];
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: Error | undefined;
|
|
7
|
+
refetch: () => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare function useCaseLabels(accountId?: string): UseCaseLabelsResult;
|
|
10
|
+
interface UseCreateCaseLabelResult {
|
|
11
|
+
createCaseLabel: (name: string, accountId: string) => Promise<CreateCaseLabelResponse>;
|
|
12
|
+
loading: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function useCreateCaseLabel(): UseCreateCaseLabelResult;
|
|
15
|
+
interface UseUpdateCaseLabelResult {
|
|
16
|
+
updateCaseLabel: (id: string, name: string) => Promise<UpdateCaseLabelResponse>;
|
|
17
|
+
loading: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function useUpdateCaseLabel(): UseUpdateCaseLabelResult;
|
|
20
|
+
interface UseDeleteCaseLabelResult {
|
|
21
|
+
deleteCaseLabel: (id: string) => Promise<DeleteCaseLabelResponse>;
|
|
22
|
+
loading: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function useDeleteCaseLabel(): UseDeleteCaseLabelResult;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=useCaseLabelGraphQL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCaseLabelGraphQL.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCaseLabelGraphQL.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,uBAAuB,EAE5B,KAAK,uBAAuB,EAE5B,KAAK,uBAAuB,EAQ/B,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAQlE,UAAU,mBAAmB;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,CA8BrE;AAED,UAAU,wBAAwB;IAC9B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,wBAAwB,CA4B7D;AAED,UAAU,wBAAwB;IAC9B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,wBAAwB,CAkB7D;AAED,UAAU,wBAAwB;IAC9B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,IAAI,wBAAwB,CAW7D"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useApolloClient, useMutation } from '@apollo/client/react';
|
|
11
|
+
import { CASE_LABEL_QUERY_LIMIT, CREATE_CASE_LABEL, DELETE_CASE_LABEL, fetchAllAccountCaseLabels, GET_CASE_LABELS, UPDATE_CASE_LABEL, } from '@rh-support/utils';
|
|
12
|
+
import unescape from 'lodash/unescape';
|
|
13
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
14
|
+
const mapCaseLabelNode = (node) => {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
|
+
return ({
|
|
17
|
+
id: node.Id,
|
|
18
|
+
name: unescape((_b = (_a = node.Name) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : ''),
|
|
19
|
+
assignedCaseCount: (_d = (_c = node.Case_Label_Links__r) === null || _c === void 0 ? void 0 : _c.totalCount) !== null && _d !== void 0 ? _d : 0,
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
export function useCaseLabels(accountId) {
|
|
23
|
+
const client = useApolloClient();
|
|
24
|
+
const [labels, setLabels] = useState([]);
|
|
25
|
+
const [loading, setLoading] = useState(false);
|
|
26
|
+
const [error, setError] = useState(undefined);
|
|
27
|
+
const fetchLabels = useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
if (!accountId) {
|
|
29
|
+
setLabels([]);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
setLoading(true);
|
|
33
|
+
setError(undefined);
|
|
34
|
+
try {
|
|
35
|
+
const labelNodes = yield fetchAllAccountCaseLabels(client, accountId);
|
|
36
|
+
setLabels(labelNodes.map((node) => mapCaseLabelNode(node)).filter((label) => label.id && label.name));
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
setError(e);
|
|
40
|
+
setLabels([]);
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
setLoading(false);
|
|
44
|
+
}
|
|
45
|
+
}), [accountId, client]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
fetchLabels();
|
|
48
|
+
}, [fetchLabels]);
|
|
49
|
+
return { labels, loading, error, refetch: fetchLabels };
|
|
50
|
+
}
|
|
51
|
+
export function useCreateCaseLabel() {
|
|
52
|
+
const [mutate, { loading }] = useMutation(CREATE_CASE_LABEL);
|
|
53
|
+
const createCaseLabel = (name, accountId) => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const result = yield mutate({
|
|
55
|
+
variables: {
|
|
56
|
+
input: {
|
|
57
|
+
RedHatSupportCaseLabel__c: {
|
|
58
|
+
Name: name,
|
|
59
|
+
Account__c: accountId,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
refetchQueries: [
|
|
64
|
+
{
|
|
65
|
+
query: GET_CASE_LABELS,
|
|
66
|
+
variables: {
|
|
67
|
+
where: { Account__c: { eq: accountId } },
|
|
68
|
+
first: CASE_LABEL_QUERY_LIMIT,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
awaitRefetchQueries: true,
|
|
73
|
+
});
|
|
74
|
+
return result.data;
|
|
75
|
+
});
|
|
76
|
+
return { createCaseLabel, loading };
|
|
77
|
+
}
|
|
78
|
+
export function useUpdateCaseLabel() {
|
|
79
|
+
const [mutate, { loading }] = useMutation(UPDATE_CASE_LABEL);
|
|
80
|
+
const updateCaseLabel = (id, name) => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const result = yield mutate({
|
|
82
|
+
variables: {
|
|
83
|
+
input: {
|
|
84
|
+
Id: id,
|
|
85
|
+
RedHatSupportCaseLabel__c: {
|
|
86
|
+
Name: name,
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
return result.data;
|
|
92
|
+
});
|
|
93
|
+
return { updateCaseLabel, loading };
|
|
94
|
+
}
|
|
95
|
+
export function useDeleteCaseLabel() {
|
|
96
|
+
const [mutate, { loading }] = useMutation(DELETE_CASE_LABEL);
|
|
97
|
+
const deleteCaseLabel = (id) => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const result = yield mutate({
|
|
99
|
+
variables: { id },
|
|
100
|
+
});
|
|
101
|
+
return result.data;
|
|
102
|
+
});
|
|
103
|
+
return { deleteCaseLabel, loading };
|
|
104
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCurrentUserContact.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCurrentUserContact.ts"],"names":[],"mappings":"AAMA,UAAU,2BAA2B;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,IAAI,2BAA2B,CAiFnE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useApolloClient } from '@apollo/client/react';
|
|
11
|
+
import { setLoggedInUserRoles, useGlobalDispatchContext, useGlobalStateContext } from '@rh-support/react-context';
|
|
12
|
+
import { initUserRoles } from '@rh-support/user-permissions';
|
|
13
|
+
import { GET_CONTACT_BY_SSO } from '@rh-support/utils';
|
|
14
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
15
|
+
export function useCurrentUserContact() {
|
|
16
|
+
const client = useApolloClient();
|
|
17
|
+
const dispatch = useGlobalDispatchContext();
|
|
18
|
+
const { globalMetadataState: { loggedInUserJwtToken, loggedInUser, loggedInUsersAccount, managedAccounts, accountManagers, bookmarkedAccounts, pcmConfig, viewAsCustomer, }, } = useGlobalStateContext();
|
|
19
|
+
const ssoUsername = loggedInUserJwtToken === null || loggedInUserJwtToken === void 0 ? void 0 : loggedInUserJwtToken.preferred_username;
|
|
20
|
+
const [isOrgAdmin, setIsOrgAdmin] = useState(false);
|
|
21
|
+
const [loading, setLoading] = useState(true);
|
|
22
|
+
const [error, setError] = useState(undefined);
|
|
23
|
+
const hasFetched = useRef(false);
|
|
24
|
+
const fetchContact = useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
var _a, _b, _c, _d, _e, _f;
|
|
26
|
+
if (!ssoUsername || hasFetched.current) {
|
|
27
|
+
if (!ssoUsername)
|
|
28
|
+
setLoading(false);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
hasFetched.current = true;
|
|
32
|
+
setLoading(true);
|
|
33
|
+
setError(undefined);
|
|
34
|
+
try {
|
|
35
|
+
const { data } = yield client.query({
|
|
36
|
+
query: GET_CONTACT_BY_SSO,
|
|
37
|
+
variables: { searchTerm: ssoUsername, namePattern: `%${ssoUsername}%` },
|
|
38
|
+
fetchPolicy: 'cache-first',
|
|
39
|
+
});
|
|
40
|
+
const edges = ((_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.redhat_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.RedHatSupportContact) === null || _c === void 0 ? void 0 : _c.edges) || [];
|
|
41
|
+
const match = edges[0];
|
|
42
|
+
const adminStatus = (_f = (_e = (_d = match === null || match === void 0 ? void 0 : match.node) === null || _d === void 0 ? void 0 : _d.IsOrgAdmin__c) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : false;
|
|
43
|
+
setIsOrgAdmin(adminStatus);
|
|
44
|
+
if ((loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.data) && (loggedInUsersAccount === null || loggedInUsersAccount === void 0 ? void 0 : loggedInUsersAccount.data)) {
|
|
45
|
+
const updatedUser = Object.assign(Object.assign({}, loggedInUser.data), { isOrgAdmin: adminStatus });
|
|
46
|
+
const { user } = initUserRoles(updatedUser, loggedInUsersAccount.data, (managedAccounts === null || managedAccounts === void 0 ? void 0 : managedAccounts.data) || [], (accountManagers === null || accountManagers === void 0 ? void 0 : accountManagers.data) || [], (bookmarkedAccounts === null || bookmarkedAccounts === void 0 ? void 0 : bookmarkedAccounts.data) || [], (pcmConfig === null || pcmConfig === void 0 ? void 0 : pcmConfig.data) || [], viewAsCustomer, loggedInUserJwtToken);
|
|
47
|
+
setLoggedInUserRoles(dispatch, user);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
setError(e);
|
|
52
|
+
setIsOrgAdmin(false);
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
setLoading(false);
|
|
56
|
+
}
|
|
57
|
+
}), [
|
|
58
|
+
client,
|
|
59
|
+
ssoUsername,
|
|
60
|
+
loggedInUser,
|
|
61
|
+
loggedInUsersAccount,
|
|
62
|
+
managedAccounts,
|
|
63
|
+
accountManagers,
|
|
64
|
+
bookmarkedAccounts,
|
|
65
|
+
pcmConfig,
|
|
66
|
+
viewAsCustomer,
|
|
67
|
+
loggedInUserJwtToken,
|
|
68
|
+
dispatch,
|
|
69
|
+
]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
fetchContact();
|
|
72
|
+
}, [fetchContact]);
|
|
73
|
+
return { isOrgAdmin, loading, error };
|
|
74
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVersionsDiffer.d.ts","sourceRoot":"","sources":["../../../src/hooks/useVersionsDiffer.tsx"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"useVersionsDiffer.d.ts","sourceRoot":"","sources":["../../../src/hooks/useVersionsDiffer.tsx"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,qBAAqB,MAAM,EAAE,sBAAsB,MAAM,KAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAwD/G,CAAC"}
|
package/lib/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpiredContentReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ExpiredContentReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EACH,WAAW,EACX,eAAe,EAElB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAMxE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBACb,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;IACxF,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACjC,sBAAsB,EAAE,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACxE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC;IACpD,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,qBAAqB,EAAE,oBAKnC,CAAC;AAEF,oBAAY,8BAA8B;IACtC,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,kBAAkB,uBAAuB;CAC5C;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;AACjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEtE,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ExpiredContentReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ExpiredContentReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EACH,WAAW,EACX,eAAe,EAElB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAMxE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBACb,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;IACxF,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACjC,sBAAsB,EAAE,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACxE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC;IACpD,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,qBAAqB,EAAE,oBAKnC,CAAC;AAEF,oBAAY,8BAA8B;IACtC,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,kBAAkB,uBAAuB;CAC5C;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;AACjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEtE,eAAO,MAAM,qBAAqB,GAAI,OAAO,oBAAoB,EAAE,QAAQ,WAAW,KAAG,oBAiCxF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,GAAG,SAAS,YAM9D,CAAC;AASF,eAAO,MAAM,mBAAmB,GAC5B,UAAU,0BAA0B,EACpC,yBAAwB,OAAe,kBA8E1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,UAAU,0BAA0B,EACpC,yBAAyB,wBAAwB,EAAE,EACnD,YAAY,MAAM,EAClB,SAAS,eAAe,EACxB,cAAc,GAAG,EAAE,EACnB,uBAAsB,OAAe,kBAmExC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,UAAU,0BAA0B,EACpC,yBAAyB,wBAAwB,EAAE,EACnD,YAAY,MAAM,EAClB,cAAc,MAAM,mBAsBvB,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,UAAU,0BAA0B,EAAE,MAAM,IAAI,EAAE,SAK/F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagePartnershipsReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ManagePartnershipsReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,WAAW,wBAAwB;IACrC,4BAA4B,EAAE,OAAO,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,oBAAY,kCAAkC;IAC1C,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;CAClD;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,kCAAkC,EAAE,wBAAwB,CAAC,CAAC;AACzF,MAAM,MAAM,qCAAqC,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEjF,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ManagePartnershipsReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ManagePartnershipsReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,WAAW,wBAAwB;IACrC,4BAA4B,EAAE,OAAO,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,oBAAY,kCAAkC;IAC1C,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;CAClD;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,kCAAkC,EAAE,wBAAwB,CAAC,CAAC;AACzF,MAAM,MAAM,qCAAqC,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEjF,eAAO,MAAM,yBAAyB,GAClC,OAAO,wBAAwB,EAC/B,QAAQ,WAAW,KACpB,wBAYF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,UAAU,qCAAqC,EAC/C,8BAA8B,OAAO,SAMxC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,UAAU,qCAAqC,EAAE,oBAAoB,OAAO,SAKjH,CAAC"}
|
|
@@ -7,7 +7,7 @@ export declare enum TagManagementReducerConstants {
|
|
|
7
7
|
deleteTag = "deleteTag",
|
|
8
8
|
resetTags = "resetTags"
|
|
9
9
|
}
|
|
10
|
-
interface ITagItemState extends ITag {
|
|
10
|
+
export interface ITagItemState extends ITag {
|
|
11
11
|
numberOfLinkedContents?: number;
|
|
12
12
|
}
|
|
13
13
|
export interface ITagManagementState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagManagmentReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/TagManagmentReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,IAAI,EAEJ,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC/B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,oBAAY,6BAA6B;IACrC,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;CAC1B;AAED,
|
|
1
|
+
{"version":3,"file":"TagManagmentReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/TagManagmentReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,IAAI,EAEJ,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC/B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,oBAAY,6BAA6B;IACrC,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI;IACvC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC;AACD,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,yBAAyB,EAAE,mBAGvC,CAAC;AAEF,KAAK,WAAW,GAAG,OAAO,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;AAC/E,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAAI,OAAO,mBAAmB,EAAE,QAAQ,WAAW,KAAG,mBAsBtF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,UAAU,yBAAyB,EAAE,mBAAkB,OAAc,mBAsD9G,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,UAAU,yBAAyB,EAAE,MAAM,YAAY,EAAE,kBAW5F,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,UAAU,yBAAyB,EAAE,KAAK,WAAW,EAAE,WAAW,aAAa,EAAE,kBAahH,CAAC;AAEF,eAAO,MAAM,SAAS,GAClB,UAAU,yBAAyB,EACnC,YAAY,IAAI,EAChB,oBAAoB,mBAAmB,kBAe1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACjC,UAAU,yBAAyB,EACnC,SAAS,4BAA4B,EACrC,oBAAoB,mBAAmB,kBAQ1C,CAAC"}
|