@rh-support/manage 2.4.10-beta.6 → 2.5.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.
- package/README.md +2 -0
- package/lib/esm/Manage.d.ts +2 -3
- package/lib/esm/Manage.d.ts.map +1 -1
- package/lib/esm/Manage.js +4 -10
- package/lib/esm/ManageTabs.d.ts +3 -1
- package/lib/esm/ManageTabs.d.ts.map +1 -1
- package/lib/esm/ManageTabs.js +54 -51
- package/lib/esm/Routes.d.ts +2 -0
- package/lib/esm/Routes.d.ts.map +1 -1
- package/lib/esm/Routes.js +21 -9
- package/lib/esm/components/Configs/ConfigInLineEdit.d.ts +2 -1
- package/lib/esm/components/Configs/ConfigInLineEdit.d.ts.map +1 -1
- package/lib/esm/components/Configs/ConfigSwitch.d.ts +2 -1
- package/lib/esm/components/Configs/ConfigSwitch.d.ts.map +1 -1
- package/lib/esm/components/Configs/ConfigSwitch.js +1 -1
- package/lib/esm/components/Configs/ConfigsTable.d.ts +2 -1
- package/lib/esm/components/Configs/ConfigsTable.d.ts.map +1 -1
- package/lib/esm/components/Configs/ConfigsTable.js +4 -3
- package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.d.ts +2 -1
- package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.d.ts.map +1 -1
- package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.js +2 -1
- package/lib/esm/components/Groups/GroupSelect/GroupSelect.d.ts +2 -1
- package/lib/esm/components/Groups/GroupSelect/GroupSelect.d.ts.map +1 -1
- package/lib/esm/components/Groups/GroupSelect/GroupSelect.js +23 -11
- package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.d.ts +2 -1
- package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.d.ts.map +1 -1
- package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.js +1 -1
- package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.d.ts +2 -1
- package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.d.ts.map +1 -1
- package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.js +3 -3
- package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.d.ts +2 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.js +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.d.ts +2 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.js +15 -7
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkGroupSelector.d.ts +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkGroupSelector.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkGroupSelector.js +8 -5
- package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts +2 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts.map +1 -1
- package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.js +14 -11
- package/lib/esm/components/ManageExpiredContents/ExpiredContentCategory.d.ts +9 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentCategory.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentCategory.js +31 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentHeader.d.ts +3 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentHeader.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentHeader.js +9 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManagement.d.ts +3 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManagement.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManagement.js +13 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.d.ts +3 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.js +68 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.d.ts +9 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.js +77 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.d.ts +14 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.js +179 -0
- package/lib/esm/components/ManageExpiredContents/index.d.ts +2 -0
- package/lib/esm/components/ManageExpiredContents/index.d.ts.map +1 -0
- package/lib/esm/components/ManageExpiredContents/index.js +1 -0
- package/lib/esm/components/ManagePartnerships/NonOrgCustomerInfoModal.d.ts +2 -1
- package/lib/esm/components/ManagePartnerships/NonOrgCustomerInfoModal.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsList.d.ts +2 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsList.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsList.js +3 -3
- package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.d.ts +2 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.js +42 -21
- package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.d.ts +2 -1
- package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.js +15 -13
- package/lib/esm/components/ManagePartnerships/Requests.d.ts +2 -1
- package/lib/esm/components/ManagePartnerships/Requests.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/Requests.js +25 -5
- package/lib/esm/components/ManagePartnerships/index.d.ts +2 -1
- package/lib/esm/components/ManagePartnerships/index.d.ts.map +1 -1
- package/lib/esm/components/ManagePartnerships/index.js +4 -3
- package/lib/esm/components/ManagePreferences/ManagePreferences.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/ManagePreferences.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/ManagePreferences.js +1 -2
- package/lib/esm/components/ManagePreferences/Preferences.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/Preferences.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/PreferencesBody.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/PreferencesBody.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/PreferencesBody.js +1 -1
- package/lib/esm/components/ManagePreferences/PreferencesHeader.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/PreferencesHeader.d.ts.map +1 -1
- 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 +5 -3
- package/lib/esm/components/ManagePreferences/components/PreferenceSwitch.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/components/PreferenceSwitch.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/components/PreferenceSwitch.js +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.js +13 -2
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.js +6 -4
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.d.ts +2 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.d.ts.map +1 -1
- package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.js +12 -11
- package/lib/esm/components/ManageTable/ManageTable.d.ts +1 -1
- package/lib/esm/components/ManageTable/ManageTable.d.ts.map +1 -1
- package/lib/esm/components/ManageTable/ManageTable.js +7 -8
- package/lib/esm/components/ManageTags/TagsManagement.d.ts +3 -0
- package/lib/esm/components/ManageTags/TagsManagement.d.ts.map +1 -0
- package/lib/esm/components/ManageTags/TagsManagement.js +11 -0
- package/lib/esm/components/ManageTags/TagsManager.d.ts +3 -0
- package/lib/esm/components/ManageTags/TagsManager.d.ts.map +1 -0
- package/lib/esm/components/ManageTags/TagsManager.js +261 -0
- package/lib/esm/components/ManageTags/index.d.ts +2 -0
- package/lib/esm/components/ManageTags/index.d.ts.map +1 -0
- package/lib/esm/components/ManageTags/index.js +1 -0
- package/lib/esm/components/NotificationEmails/NotificationEmailsModal.d.ts +2 -1
- package/lib/esm/components/NotificationEmails/NotificationEmailsModal.d.ts.map +1 -1
- package/lib/esm/components/NotificationEmails/NotificationEmailsModal.js +32 -7
- package/lib/esm/components/NotificationEmails/index.d.ts +2 -1
- package/lib/esm/components/NotificationEmails/index.d.ts.map +1 -1
- package/lib/esm/components/NotificationEmails/index.js +4 -4
- package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimit.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimit.js +3 -2
- package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimitGuidelines.js +1 -1
- 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 +2 -2
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetrics.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetrics.js +3 -3
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.d.ts +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.js +3 -3
- package/lib/esm/components/TopContentManagement/ContentUsage/VersionPerformanceMetrics.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/ContentUsage/VersionPerformanceMetrics.js +4 -4
- package/lib/esm/components/TopContentManagement/NoTopContentFound.d.ts +2 -1
- 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/TopContent.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContent.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.js +8 -3
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategory.d.ts +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategory.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategory.js +3 -2
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategoryNew.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategoryNew.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentComponent.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentComponent.js +2 -2
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.d.ts +6 -2
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.js +178 -59
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItemLink.js +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.js +59 -15
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestion.d.ts +1 -0
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestion.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestion.js +35 -10
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHint.js +3 -3
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHintAccept.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHintAccept.js +26 -20
- package/lib/esm/components/TopContentManagement/TopContentHeader.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContentHeader.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentHeader.js +1 -1
- package/lib/esm/components/TopContentManagement/TopContentManagement.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContentManagement.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentManagement.js +4 -3
- package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.d.ts +2 -1
- package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.js +6 -6
- package/lib/esm/context/ExpiredContentContextProvider.d.ts +8 -0
- package/lib/esm/context/ExpiredContentContextProvider.d.ts.map +1 -0
- package/lib/esm/context/ExpiredContentContextProvider.js +10 -0
- package/lib/esm/context/ManagePartnershipsProvider.d.ts +1 -1
- package/lib/esm/context/ManagePartnershipsProvider.d.ts.map +1 -1
- package/lib/esm/context/TagManagementContextProvider.d.ts +8 -0
- package/lib/esm/context/TagManagementContextProvider.d.ts.map +1 -0
- package/lib/esm/context/TagManagementContextProvider.js +10 -0
- package/lib/esm/context/TopContentProvider.d.ts +1 -1
- package/lib/esm/context/TopContentProvider.d.ts.map +1 -1
- package/lib/esm/context/TopContentProvider.js +1 -0
- package/lib/esm/hooks/useUserPreferences.d.ts +13 -12
- package/lib/esm/hooks/useUserPreferences.d.ts.map +1 -1
- package/lib/esm/hooks/useUserPreferences.js +0 -1
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/reducers/ExpiredContentReducer.d.ts +36 -0
- package/lib/esm/reducers/ExpiredContentReducer.d.ts.map +1 -0
- package/lib/esm/reducers/ExpiredContentReducer.js +207 -0
- package/lib/esm/reducers/ManagePartnershipsReducer.d.ts +2 -2
- package/lib/esm/reducers/ManagePartnershipsReducer.d.ts.map +1 -1
- package/lib/esm/reducers/TagManagmentReducer.d.ts +27 -0
- package/lib/esm/reducers/TagManagmentReducer.d.ts.map +1 -0
- package/lib/esm/reducers/TagManagmentReducer.js +144 -0
- package/lib/esm/reducers/TopContentHelpers.d.ts.map +1 -1
- package/lib/esm/reducers/TopContentHelpers.js +4 -4
- package/lib/esm/reducers/TopContentReducer.d.ts +12 -7
- package/lib/esm/reducers/TopContentReducer.d.ts.map +1 -1
- package/lib/esm/reducers/TopContentReducer.js +61 -23
- package/lib/esm/scss/_main.scss +87 -55
- package/lib/esm/scss/_pf-overrides.scss +181 -0
- package/lib/esm/scss/index.scss +7 -7
- package/package.json +42 -42
- package/lib/esm/ManageTab.d.ts +0 -8
- package/lib/esm/ManageTab.d.ts.map +0 -1
- package/lib/esm/ManageTab.js +0 -12
- package/lib/esm/scss/_pf4-overrides.scss +0 -132
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageGroupUsers.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/ManageGroupUsers/ManageGroupUsers.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ManageGroupUsers.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/ManageGroupUsers/ManageGroupUsers.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,eAAO,MAAM,gBAAgB,yBAgN5B,CAAC"}
|
|
@@ -129,8 +129,8 @@ export const ManageGroupUsers = () => {
|
|
|
129
129
|
setAllData(response || []);
|
|
130
130
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
131
131
|
}, [location.pathname]);
|
|
132
|
-
return (React.createElement(
|
|
133
|
-
React.createElement(AlertMessage, { variant: AlertType.INFO, show: loggedInUserRights.data.isOrgAdmin() && !loggedInUsersAccount.data.hasGroupACLs, isInline: true, className: "pf-u-mb-md", title: t("Case Group Access Control Lists (ACLs) haven't been activated on your account.") },
|
|
132
|
+
return (React.createElement(React.Fragment, null,
|
|
133
|
+
React.createElement(AlertMessage, { variant: AlertType.INFO, show: loggedInUserRights.data.isOrgAdmin() && !loggedInUsersAccount.data.hasGroupACLs, isInline: true, className: "pf-v5-u-mb-md", title: t("Case Group Access Control Lists (ACLs) haven't been activated on your account.") },
|
|
134
134
|
React.createElement("p", null,
|
|
135
135
|
React.createElement(Trans, { i18nKey: "i18nRequestControl" },
|
|
136
136
|
"You can set permissions on groups but settings won't take effect until",
|
|
@@ -150,7 +150,7 @@ export const ManageGroupUsers = () => {
|
|
|
150
150
|
React.createElement("span", { className: "toolbar-right" },
|
|
151
151
|
React.createElement("label", { htmlFor: "account-group-filter" },
|
|
152
152
|
React.createElement(Trans, null, "Filter by")),
|
|
153
|
-
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('') }))),
|
|
153
|
+
React.createElement(SearchInput, { className: "pf-v5-u-flex-grow-1 pf-v5-c-search-input pf-v5-u-background-color-100", id: "account-group-filter", value: userSearch, isDisabled: isFetching || !selectedGroup, onChange: (_, value) => setUserSearch(value), placeholder: t('Search for people in this group'), "aria-label": "Group search input", onClear: () => setUserSearch('') }))),
|
|
154
154
|
React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading group users list') } },
|
|
155
155
|
React.createElement(ManageTable, { ariaLabel: t('Table to manage groups'), columns: columns, data: data, sortInfo: { column: 'first-name', direction: 'asc' }, isFetching: isFetching, isError: false }))));
|
|
156
156
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IBookmark } from '@rh-support/react-context';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
interface IProps {
|
|
3
4
|
isOpen: boolean;
|
|
4
5
|
onClose: () => void;
|
|
@@ -10,6 +11,6 @@ interface IProps {
|
|
|
10
11
|
addMode: boolean;
|
|
11
12
|
title: string;
|
|
12
13
|
}
|
|
13
|
-
export declare const AddEditBookmarkModal: (props: IProps) => JSX.Element;
|
|
14
|
+
export declare const AddEditBookmarkModal: (props: IProps) => React.JSX.Element;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=AddEditBookmarkModal.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"AddEditBookmarkModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,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,sBA2IjD,CAAC"}
|
|
@@ -77,7 +77,7 @@ export const AddEditBookmarkModal = (props) => {
|
|
|
77
77
|
React.createElement(Trans, null, "Cancel")),
|
|
78
78
|
] },
|
|
79
79
|
React.createElement("div", null,
|
|
80
|
-
React.createElement("div", { className: "pf-u-mb-lg" },
|
|
80
|
+
React.createElement("div", { className: "pf-v5-u-mb-lg" },
|
|
81
81
|
React.createElement(BookmarkGroupSelector, { selectedGroup: selectedGroup, groups: props.groups, onGroupInputBoxChanged: onGroupInputBoxChanged, isInValid: isInValid && (isPresentInGroups || isEmpty(selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.trim())), setIsInValid: setIsInValid, isPresentInGroups: isPresentInGroups })),
|
|
82
82
|
React.createElement("div", null,
|
|
83
83
|
React.createElement("label", { id: "add-bookmark-account-on-add-modal" },
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IAccountListParams } from '@cee-eng/hydrajs/@types/models/csp/account';
|
|
2
2
|
import { IBookmark } from '@rh-support/react-context';
|
|
3
|
+
import React from 'react';
|
|
3
4
|
interface IProps {
|
|
4
5
|
bookmarkedGroupAccounts: IBookmark[];
|
|
5
6
|
accountListParams?: IAccountListParams;
|
|
@@ -12,7 +13,7 @@ interface IProps {
|
|
|
12
13
|
isInValid: boolean;
|
|
13
14
|
selectedGroup?: string;
|
|
14
15
|
}
|
|
15
|
-
export declare function BookmarkAccountSelector(props: IProps): JSX.Element;
|
|
16
|
+
export declare function BookmarkAccountSelector(props: IProps): React.JSX.Element;
|
|
16
17
|
export declare namespace BookmarkAccountSelector {
|
|
17
18
|
var defaultProps: {
|
|
18
19
|
clearRef: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkAccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"BookmarkAccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAIhF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAO3E,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,UAAU,MAAM;IACZ,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,qBA6PpD;yBA7Pe,uBAAuB"}
|
|
@@ -8,8 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { accounts } from '@cee-eng/hydrajs';
|
|
11
|
-
import { Label, LabelGroup,
|
|
11
|
+
import { Label, LabelGroup, Tooltip } from '@patternfly/react-core';
|
|
12
|
+
import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
|
|
12
13
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
14
|
+
import { sortAccountsByQuery } from '@rh-support/react-context';
|
|
13
15
|
import assign from 'lodash/assign';
|
|
14
16
|
import compact from 'lodash/compact';
|
|
15
17
|
import debounce from 'lodash/debounce';
|
|
@@ -40,12 +42,15 @@ export function BookmarkAccountSelector(props) {
|
|
|
40
42
|
limit: 60,
|
|
41
43
|
accountNumberNotNull: true,
|
|
42
44
|
};
|
|
45
|
+
let queryKey;
|
|
43
46
|
// query as number is a hack to get around TS, isNaN can take a string but it was throwing error here
|
|
44
47
|
if (isNaN(query)) {
|
|
45
48
|
params.nameLike = query;
|
|
49
|
+
queryKey = 'name';
|
|
46
50
|
}
|
|
47
51
|
else {
|
|
48
52
|
params.accountNumberLike = query;
|
|
53
|
+
queryKey = 'accountNumber';
|
|
49
54
|
}
|
|
50
55
|
const queryParams = !isEmpty(props.accountListParams)
|
|
51
56
|
? assign({}, props.accountListParams, params)
|
|
@@ -66,7 +71,8 @@ export function BookmarkAccountSelector(props) {
|
|
|
66
71
|
return bookmarksMatch.length > 0
|
|
67
72
|
? Object.assign(Object.assign({}, account), { bookmarkGroupName: acountGroups, isBookmarked: true, isBookmarkedAndHasGroup: acountGroups.length > 0 }) : Object.assign(Object.assign({}, account), { bookmarkGroupName: [], isBookmarked: false, isBookmarkedAndHasGroup: false });
|
|
68
73
|
});
|
|
69
|
-
|
|
74
|
+
const sortedOptions = sortAccountsByQuery(accountsResponse, query, queryKey);
|
|
75
|
+
setOptions(sortedOptions);
|
|
70
76
|
setIsSearching(false);
|
|
71
77
|
}
|
|
72
78
|
catch (err) {
|
|
@@ -94,6 +100,7 @@ export function BookmarkAccountSelector(props) {
|
|
|
94
100
|
];
|
|
95
101
|
setSelected(selectedAccounts);
|
|
96
102
|
props.onBookMarkAccountSelected(selectedAccounts);
|
|
103
|
+
setIsOpen(false);
|
|
97
104
|
};
|
|
98
105
|
const duplicateAccounts = (props.selectedGroup &&
|
|
99
106
|
props.addMode &&
|
|
@@ -103,13 +110,14 @@ export function BookmarkAccountSelector(props) {
|
|
|
103
110
|
})
|
|
104
111
|
.map((a) => a.accountNumber)) ||
|
|
105
112
|
[];
|
|
106
|
-
const removeAccountLabel = (removedAccount) => {
|
|
113
|
+
const removeAccountLabel = (event, removedAccount) => {
|
|
114
|
+
event.stopPropagation();
|
|
107
115
|
const updatedSelectedAccounts = remove(selected, (account) => account.accountNumber !== removedAccount.accountNumber);
|
|
108
116
|
setSelected(updatedSelectedAccounts);
|
|
109
117
|
props.onBookMarkAccountSelected(updatedSelectedAccounts);
|
|
110
118
|
};
|
|
111
119
|
const labelGroupComponent = () => {
|
|
112
|
-
return (React.createElement(LabelGroup, { numLabels: 2 }, (selected || []).map((currentLabel) => (React.createElement(Label, { key: currentLabel.accountNumber, onClose: () => removeAccountLabel(currentLabel),
|
|
120
|
+
return (React.createElement(LabelGroup, { numLabels: 2 }, (selected || []).map((currentLabel) => (React.createElement(Label, { key: currentLabel.accountNumber, onClose: (event) => removeAccountLabel(event, currentLabel), color: "cyan", onClick: (event) => event.stopPropagation() },
|
|
113
121
|
currentLabel.name,
|
|
114
122
|
" (",
|
|
115
123
|
currentLabel.accountNumber,
|
|
@@ -139,14 +147,14 @@ export function BookmarkAccountSelector(props) {
|
|
|
139
147
|
const titleId = 'multi-typeahead-bookmark-chip-group-props-id';
|
|
140
148
|
return (React.createElement(React.Fragment, null,
|
|
141
149
|
React.createElement("span", { id: titleId, hidden: true }, "Select a state"),
|
|
142
|
-
React.createElement(Select, Object.assign({ chipGroupComponent: labelGroupComponent(), variant: SelectVariant.typeaheadMulti, typeAheadAriaLabel: t('Search for account names or numbers'), onToggle: onToggle, onSelect: onSelect, onClear: clearSelection, "data-tracking-id": props.labelId, selections: selected, isOpen: isOpen, "aria-labelledby": titleId, placeholderText: t('Search for account names or numbers'), hasInlineFilter: false, onTypeaheadInputChanged: debounceFn, onFilter: () => undefined, "aria-describedby": "clusterID-validate-helper" }, (isSearching && { loadingVariant: 'spinner' })), options.map((account, index) => (React.createElement(SelectOption, { value: account, key: index },
|
|
150
|
+
React.createElement(Select, Object.assign({ chipGroupComponent: labelGroupComponent(), variant: SelectVariant.typeaheadMulti, typeAheadAriaLabel: t('Search for account names or numbers'), onToggle: (_event, isOpen) => onToggle(isOpen), onSelect: onSelect, onClear: clearSelection, "data-tracking-id": props.labelId, selections: selected, isOpen: isOpen, "aria-labelledby": titleId, placeholderText: t('Search for account names or numbers'), hasInlineFilter: false, onTypeaheadInputChanged: debounceFn, onFilter: () => undefined, "aria-describedby": "clusterID-validate-helper" }, (isSearching && { loadingVariant: 'spinner' })), options.map((account, index) => (React.createElement(SelectOption, { value: account, key: index },
|
|
143
151
|
React.createElement("div", null,
|
|
144
|
-
React.createElement("div", { className: "pf-u-color-100 pf-u-font-size-sm" },
|
|
152
|
+
React.createElement("div", { className: "pf-v5-u-color-100 pf-v5-u-font-size-sm" },
|
|
145
153
|
account.name,
|
|
146
154
|
" (",
|
|
147
155
|
account.accountNumber,
|
|
148
156
|
")"),
|
|
149
|
-
React.createElement("div", null, account.bookmarkGroupName.length === 0 ? (React.createElement("span", { className: "pf-u-color-400" },
|
|
157
|
+
React.createElement("div", null, account.bookmarkGroupName.length === 0 ? (React.createElement("span", { className: "pf-v5-u-color-400" },
|
|
150
158
|
React.createElement(Trans, null, "This account has not been bookmarked."))) : account.bookmarkGroupName.length > 2 ? (React.createElement("div", null,
|
|
151
159
|
React.createElement(Tooltip, { isContentLeftAligned: true, content: account.bookmarkGroupName.map((group) => (React.createElement("div", null, group))) },
|
|
152
160
|
React.createElement(Label, { color: "purple", icon: React.createElement(InfoCircleIcon, null), key: `${account.accountNumber}${account.bookmarkGroupName}` },
|
|
@@ -7,6 +7,6 @@ interface IProps {
|
|
|
7
7
|
setIsInValid: React.Dispatch<React.SetStateAction<boolean>>;
|
|
8
8
|
isPresentInGroups: boolean;
|
|
9
9
|
}
|
|
10
|
-
declare const BookmarkGroupSelector: (props: IProps) => JSX.Element;
|
|
10
|
+
declare const BookmarkGroupSelector: (props: IProps) => React.JSX.Element;
|
|
11
11
|
export { BookmarkGroupSelector };
|
|
12
12
|
//# sourceMappingURL=BookmarkGroupSelector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkGroupSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/BookmarkGroupSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,MAAM;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,qBAAqB,UAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"BookmarkGroupSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/BookmarkGroupSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,MAAM;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,qBAAqB,UAAW,MAAM,sBAsD3C,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Form, FormGroup, TextInput } from '@patternfly/react-core';
|
|
1
|
+
import { Form, FormGroup, FormHelperText, HelperText, HelperTextItem, TextInput } from '@patternfly/react-core';
|
|
2
2
|
import React, { useEffect, useState } from 'react';
|
|
3
3
|
import { Trans, useTranslation } from 'react-i18next';
|
|
4
4
|
const BookmarkGroupSelector = (props) => {
|
|
@@ -21,9 +21,12 @@ const BookmarkGroupSelector = (props) => {
|
|
|
21
21
|
React.createElement(Trans, null, "Bookmark name"),
|
|
22
22
|
React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
|
|
23
23
|
React.createElement(Form, null,
|
|
24
|
-
React.createElement(FormGroup,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
React.createElement(FormGroup, null,
|
|
25
|
+
validated === 'error' && (React.createElement(FormHelperText, null,
|
|
26
|
+
React.createElement(HelperText, null,
|
|
27
|
+
React.createElement(HelperTextItem, { variant: "error" }, props.isPresentInGroups
|
|
28
|
+
? t('A bookmark with this name already exists')
|
|
29
|
+
: t('Add a name to your bookmark'))))),
|
|
30
|
+
React.createElement(TextInput, { value: props.selectedGroup, onChange: (_event, value) => onInputSave(value), placeholder: t('Enter a unique name for your bookmark'), "aria-invalid": props.isInValid, validated: validated, selected: false, id: "bookmark-group-input", width: 200 })))));
|
|
28
31
|
};
|
|
29
32
|
export { BookmarkGroupSelector };
|
package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
interface IProps {
|
|
2
3
|
canManageBookmarkAccounts: boolean;
|
|
3
4
|
}
|
|
4
|
-
export declare function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }: IProps): JSX.Element;
|
|
5
|
+
export declare function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }: IProps): React.JSX.Element;
|
|
5
6
|
export {};
|
|
6
7
|
//# sourceMappingURL=ManageGroupedBookmarkedAccountsTab.d.ts.map
|
package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageGroupedBookmarkedAccountsTab.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ManageGroupedBookmarkedAccountsTab.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.tsx"],"names":[],"mappings":"AAwCA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAOhD,UAAU,MAAM;IACZ,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,kCAAkC,CAAC,EAAE,yBAAyB,EAAE,EAAE,MAAM,qBAqZvF"}
|
package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.js
CHANGED
|
@@ -7,10 +7,10 @@ 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 { ActionList, ActionListItem, AlertVariant, Button, ButtonVariant, Label, LabelGroup, Popover, PopoverPosition, SearchInput, } from '@patternfly/react-core';
|
|
11
|
-
import PencilAltIcon from '@patternfly/react-icons/dist/esm/icons/pencil-alt-icon';
|
|
12
|
-
import TrashIcon from '@patternfly/react-icons/dist/esm/icons/trash-icon';
|
|
10
|
+
import { ActionList, ActionListItem, AlertVariant, Button, ButtonVariant, Icon, Label, LabelGroup, Popover, PopoverPosition, SearchInput, } from '@patternfly/react-core';
|
|
13
11
|
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
12
|
+
import PencilAltIcon from '@patternfly/react-icons/dist/js/icons/pencil-alt-icon';
|
|
13
|
+
import TrashIcon from '@patternfly/react-icons/dist/js/icons/trash-icon';
|
|
14
14
|
import { defaultTableSortMethod, ErrorBoundary, ToastNotification, useConfirmation, } from '@rh-support/components';
|
|
15
15
|
import { addEditbookmarks, getBookmarkGroups, removeGroupedBookmarks, removeWholeGroup, useGlobalDispatchContext, useGlobalStateContext, useGroupedBookmarkApiCalls, } from '@rh-support/react-context';
|
|
16
16
|
import { ability, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
|
|
@@ -89,7 +89,8 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
|
|
|
89
89
|
selectedAccounts.forEach((selectedAccount) => {
|
|
90
90
|
if (accountsGroupsObj[selectedAccount.accountNumber]) {
|
|
91
91
|
isEmpty(group) &&
|
|
92
|
-
accountsGroupsObj[selectedAccount.accountNumber].includes(undefined ||
|
|
92
|
+
(accountsGroupsObj[selectedAccount.accountNumber].includes(undefined) ||
|
|
93
|
+
accountsGroupsObj[selectedAccount.accountNumber].includes('')) &&
|
|
93
94
|
alreadyAdded.push(selectedAccount.accountNumber);
|
|
94
95
|
!isEmpty(group) &&
|
|
95
96
|
accountsGroupsObj[selectedAccount.accountNumber].includes(group) &&
|
|
@@ -192,7 +193,7 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
|
|
|
192
193
|
removeWholeGroup(dispatchGlobalContext, bookmarkedGroupAccounts.data, rootBookmarIds);
|
|
193
194
|
ToastNotification.addSuccessMessage(t('Bookmark group has been successfully removed'));
|
|
194
195
|
}
|
|
195
|
-
catch (
|
|
196
|
+
catch (_a) {
|
|
196
197
|
// user didn't confirm the delete action
|
|
197
198
|
}
|
|
198
199
|
}
|
|
@@ -233,10 +234,10 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
|
|
|
233
234
|
cellWidth: 10,
|
|
234
235
|
cell: (group) => (React.createElement(ActionList, { isIconList: true },
|
|
235
236
|
React.createElement(ActionListItem, null,
|
|
236
|
-
React.createElement(Button, { variant: "plain", onClick: () => onOpenEditGroupOpenModal(group) },
|
|
237
|
+
React.createElement(Button, { "aria-label": "edit", variant: "plain", onClick: () => onOpenEditGroupOpenModal(group) },
|
|
237
238
|
React.createElement(PencilAltIcon, null))),
|
|
238
239
|
React.createElement(ActionListItem, null,
|
|
239
|
-
React.createElement(Button, { variant: "plain", onClick: () => removeGroup(group) },
|
|
240
|
+
React.createElement(Button, { "aria-label": "delete", variant: "plain", onClick: () => removeGroup(group) },
|
|
240
241
|
React.createElement(TrashIcon, null))))),
|
|
241
242
|
},
|
|
242
243
|
];
|
|
@@ -245,7 +246,7 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
|
|
|
245
246
|
};
|
|
246
247
|
if (!canManageBookmarkAccounts)
|
|
247
248
|
return null;
|
|
248
|
-
return (React.createElement(
|
|
249
|
+
return (React.createElement(React.Fragment, null,
|
|
249
250
|
React.createElement("header", null,
|
|
250
251
|
React.createElement("h2", null, t('Bookmarks')),
|
|
251
252
|
React.createElement("p", null,
|
|
@@ -257,20 +258,22 @@ export function ManageGroupedBookmarkedAccountsTab({ canManageBookmarkAccounts }
|
|
|
257
258
|
React.createElement("a", { href: "https://source.redhat.com/communitiesatredhat/applications/integration-community-of-practice/misplaced/lostnfound/bookmarking", target: "_blank", rel: "noopener noreferrer" },
|
|
258
259
|
' ',
|
|
259
260
|
"bookmarks in the customer support tool"))), closeBtnAriaLabel: "Close" },
|
|
260
|
-
React.createElement(
|
|
261
|
+
React.createElement(Button, { variant: "plain", className: "manage-bookmark-info-icon-button", "aria-label": "Cluster Id Info" },
|
|
262
|
+
React.createElement(Icon, { size: "md" },
|
|
263
|
+
React.createElement(InfoCircleIcon, null))))))),
|
|
261
264
|
React.createElement("div", { className: "toolbar" },
|
|
262
265
|
React.createElement("form", { onSubmit: (event) => event.preventDefault(), className: "toolbar-left" },
|
|
263
266
|
React.createElement("label", { htmlFor: "bookmark-account-selector" },
|
|
264
267
|
React.createElement(Trans, null, "Search accounts")),
|
|
265
268
|
React.createElement("span", { className: "bookmark-account" },
|
|
266
269
|
React.createElement(BookmarkAccountSelector, { clearRef: clearRef, labelId: "bookmark-account-selector", isDisabled: !loggedInUserRights.data.isInternal() || !canBookmarkAccounts, bookmarkedGroupAccounts: bookmarkedGroupAccounts.data, onBookMarkAccountSelected: onBookMarkAccountSelected, addMode: true, isInValid: false })),
|
|
267
|
-
React.createElement("span", { className: "pf-u-ml-sm" },
|
|
270
|
+
React.createElement("span", { className: "pf-v5-u-ml-sm" },
|
|
268
271
|
React.createElement(Button, { variant: ButtonVariant.primary, isInline: true, onClick: onOpenAddBookmarkModal, "data-tracking-id": "bookmark-add-button", isDisabled: isValid() || apiCalls.isAddingBookmark },
|
|
269
272
|
React.createElement(Trans, null, "Add bookmark")))),
|
|
270
273
|
React.createElement("div", { className: "toolbar-right" },
|
|
271
274
|
React.createElement("label", { htmlFor: "search-bookmark-account-selector" },
|
|
272
275
|
React.createElement(Trans, null, "Filter by")),
|
|
273
|
-
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('') }))),
|
|
276
|
+
React.createElement(SearchInput, { className: "pf-v5-u-flex-grow-1 pf-v5-c-search-input pf-v5-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: (_, val) => setSearchString(val), onClear: () => setSearchString('') }))),
|
|
274
277
|
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('Add a bookmark') : t('Edit bookmark') }),
|
|
275
278
|
React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading bookmarked accounts list') } },
|
|
276
279
|
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 ||
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IExpiredContentEditState } from '../../reducers/ExpiredContentReducer';
|
|
3
|
+
interface IProps {
|
|
4
|
+
category: IExpiredContentEditState;
|
|
5
|
+
isCategoryExpanded?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export default function ExpiredContentCategory({ category, isCategoryExpanded }: IProps): React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=ExpiredContentCategory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpiredContentCategory.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentCategory.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGhF,UAAU,MAAM;IACZ,QAAQ,EAAE,wBAAwB,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,QAAQ,EAAE,kBAA0B,EAAE,EAAE,MAAM,qBAyC9F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AccordionContent, AccordionItem, AccordionToggle } from '@patternfly/react-core';
|
|
2
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
|
+
import orderBy from 'lodash/orderBy';
|
|
4
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
5
|
+
import { ExpiredContentStateContext } from '../../context/ExpiredContentContextProvider';
|
|
6
|
+
import ExpiredContentSingleItem from './ExpiredContentSingleItem';
|
|
7
|
+
export default function ExpiredContentCategory({ category, isCategoryExpanded = false }) {
|
|
8
|
+
const [isExpanded, setIsExpanded] = useState(isCategoryExpanded);
|
|
9
|
+
const { showApprochingExpiry } = useContext(ExpiredContentStateContext);
|
|
10
|
+
const toggleExpanded = () => {
|
|
11
|
+
setIsExpanded((pre) => !pre);
|
|
12
|
+
};
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
isCategoryExpanded !== isExpanded && setIsExpanded(isCategoryExpanded);
|
|
15
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16
|
+
}, [isCategoryExpanded]);
|
|
17
|
+
const hasDateExpired = (dateString) => {
|
|
18
|
+
const inputDate = new Date(dateString);
|
|
19
|
+
const currentDate = new Date();
|
|
20
|
+
return inputDate < currentDate;
|
|
21
|
+
};
|
|
22
|
+
const expiredContents = showApprochingExpiry
|
|
23
|
+
? category.content.filter((item) => !hasDateExpired(item.expiryDate))
|
|
24
|
+
: category.content;
|
|
25
|
+
const sortedExpiredContents = orderBy(expiredContents, ['expiryDate'], ['desc']);
|
|
26
|
+
return !isEmpty(sortedExpiredContents) ? (React.createElement(AccordionItem, null,
|
|
27
|
+
React.createElement(AccordionToggle, { id: category.categoryName, onClick: toggleExpanded, isExpanded: isExpanded },
|
|
28
|
+
React.createElement("h3", null, category.categoryName)),
|
|
29
|
+
React.createElement(AccordionContent, { isHidden: !isExpanded },
|
|
30
|
+
React.createElement("ul", { className: "list-flat list-flushleft" }, expiredContents.map((content, i) => (React.createElement(ExpiredContentSingleItem, { key: content.topContentId, content: content, category: category }))))))) : (React.createElement(React.Fragment, null));
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpiredContentHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,CAAC,OAAO,UAAU,oBAAoB,sBAW3C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Trans } from 'react-i18next';
|
|
3
|
+
export default function ExpiredContentHeader() {
|
|
4
|
+
return (React.createElement("header", null,
|
|
5
|
+
React.createElement("h2", null,
|
|
6
|
+
React.createElement(Trans, null, "Expired Content")),
|
|
7
|
+
React.createElement("p", { className: "pf-v5-u-mt-md pf-v5-u-mb-sm" },
|
|
8
|
+
React.createElement(Trans, null))));
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpiredContentManagement.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentManagement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,wBAAgB,wBAAwB,sBAWvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ErrorBoundary } from '@rh-support/components';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { ExpiredContentContextProvider } from '../../context/ExpiredContentContextProvider';
|
|
5
|
+
import { TagManagementContextProvider } from '../../context/TagManagementContextProvider';
|
|
6
|
+
import ExipredContentManager from './ExpiredContentManager';
|
|
7
|
+
export function ExpiredContentManagement() {
|
|
8
|
+
const { t } = useTranslation();
|
|
9
|
+
return (React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading contents') } },
|
|
10
|
+
React.createElement(TagManagementContextProvider, null,
|
|
11
|
+
React.createElement(ExpiredContentContextProvider, null,
|
|
12
|
+
React.createElement(ExipredContentManager, null)))));
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpiredContentManager.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentManager.tsx"],"names":[],"mappings":"AAeA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,MAAM,CAAC,OAAO,UAAU,qBAAqB,sBAmH5C"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Accordion, Bullseye, EmptyState, EmptyStateBody, EmptyStateHeader, EmptyStateIcon, EmptyStateVariant, Spinner, Switch, } from '@patternfly/react-core';
|
|
2
|
+
import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
|
|
3
|
+
import { TagsSelector, TopContentSearch } from '@rh-support/components';
|
|
4
|
+
import isEmpty from 'lodash/isEmpty';
|
|
5
|
+
import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
7
|
+
import { ExpiredContentDispatchContext, ExpiredContentStateContext } from '../../context/ExpiredContentContextProvider';
|
|
8
|
+
import { TagManagementDispatchContext, TagManagementStateContext } from '../../context/TagManagementContextProvider';
|
|
9
|
+
import { fetchExpiredContent, setExpiredContentFilteredTags } from '../../reducers/ExpiredContentReducer';
|
|
10
|
+
import { fetchTopContentTags } from '../../reducers/TagManagmentReducer';
|
|
11
|
+
import ExpiredContentCategory from './ExpiredContentCategory';
|
|
12
|
+
import ExpiredContentHeader from './ExpiredContentHeader';
|
|
13
|
+
export default function ExipredContentManager() {
|
|
14
|
+
const expiredContentResultsRef = useRef(null);
|
|
15
|
+
const { t } = useTranslation();
|
|
16
|
+
const { expiredContentEditState, expiredContentResponse, filteredTags, showApprochingExpiry } = useContext(ExpiredContentStateContext);
|
|
17
|
+
const { tags: availableTags } = useContext(TagManagementStateContext);
|
|
18
|
+
const dispatch = useContext(ExpiredContentDispatchContext);
|
|
19
|
+
const tagManagerDispatch = useContext(TagManagementDispatchContext);
|
|
20
|
+
const [contentFilteredByQuery, setContentFilteredByQuery] = useState(expiredContentEditState);
|
|
21
|
+
const [searchQuery, setSearchQuery] = useState('');
|
|
22
|
+
const onSearch = (searchTerm, searchResults) => {
|
|
23
|
+
setContentFilteredByQuery(searchResults);
|
|
24
|
+
};
|
|
25
|
+
const filteredEC = useMemo(() => {
|
|
26
|
+
if (isEmpty(filteredTags))
|
|
27
|
+
return contentFilteredByQuery;
|
|
28
|
+
const filteredTagsIds = filteredTags.map((tag) => tag.id);
|
|
29
|
+
//filter top contents on basis of tags
|
|
30
|
+
const filteredData = contentFilteredByQuery.flatMap((item) => {
|
|
31
|
+
const contents = item.content.filter((content) => (content.tags || []).some((tag) => filteredTagsIds.includes(tag.id)));
|
|
32
|
+
if (!isEmpty(contents))
|
|
33
|
+
return [Object.assign(Object.assign({}, item), { content: contents })];
|
|
34
|
+
return [];
|
|
35
|
+
});
|
|
36
|
+
return filteredData;
|
|
37
|
+
}, [contentFilteredByQuery, filteredTags]);
|
|
38
|
+
const handleChange = (_event, checked) => {
|
|
39
|
+
fetchExpiredContent(dispatch, checked);
|
|
40
|
+
};
|
|
41
|
+
const onTagFilterChange = (tags) => {
|
|
42
|
+
setExpiredContentFilteredTags(dispatch, tags);
|
|
43
|
+
};
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
fetchExpiredContent(dispatch);
|
|
46
|
+
fetchTopContentTags(tagManagerDispatch, false);
|
|
47
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
|
+
}, []);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
setContentFilteredByQuery(expiredContentEditState);
|
|
51
|
+
}, [expiredContentEditState]);
|
|
52
|
+
return (React.createElement(React.Fragment, null,
|
|
53
|
+
React.createElement(ExpiredContentHeader, null),
|
|
54
|
+
React.createElement("div", { className: "toolbar" },
|
|
55
|
+
React.createElement(TopContentSearch, { dataTrackingId: "expired-content-filter-manage", topContentData: expiredContentEditState, onSearch: onSearch, topContentResultsWrapperRef: expiredContentResultsRef, className: "toolbar-content", isDisabled: expiredContentResponse.isFetching, searchQuery: searchQuery, setSearchQuery: setSearchQuery }),
|
|
56
|
+
React.createElement("div", { className: "toolbar-content pf-v5-u-ml-md" },
|
|
57
|
+
React.createElement("label", { htmlFor: 'tag-selector' },
|
|
58
|
+
React.createElement(Trans, null, "All tags")),
|
|
59
|
+
React.createElement(TagsSelector, { tagOptions: availableTags, onChange: onTagFilterChange, selectedTags: filteredTags, disabled: expiredContentResponse.isFetching })),
|
|
60
|
+
React.createElement("div", { className: "toolbar-content pf-v5-u-mt-md" },
|
|
61
|
+
React.createElement(Switch, { id: "content-approaching-expiry", label: t('Show approaching expiry'), isChecked: showApprochingExpiry, onChange: handleChange }))),
|
|
62
|
+
React.createElement("div", { className: "expired-content-manage-wrapper pf-v5-u-pt-md", ref: expiredContentResultsRef }, expiredContentResponse.isFetching ? (React.createElement(Bullseye, null,
|
|
63
|
+
React.createElement(EmptyState, { variant: EmptyStateVariant.full },
|
|
64
|
+
React.createElement(Spinner, { size: "lg" })))) : isEmpty(filteredEC) ? (React.createElement(EmptyState, { variant: EmptyStateVariant.xs },
|
|
65
|
+
React.createElement(EmptyStateHeader, { titleText: React.createElement(Trans, null, "No contents found"), icon: React.createElement(EmptyStateIcon, { icon: SearchIcon }) }),
|
|
66
|
+
React.createElement(EmptyStateBody, null,
|
|
67
|
+
React.createElement(Trans, null, "There are no contents to display")))) : (React.createElement(Accordion, null, filteredEC.map((category, i) => (React.createElement(ExpiredContentCategory, { key: category.id, category: category, isCategoryExpanded: !isEmpty(searchQuery) || !isEmpty(filteredTags) }))))))));
|
|
68
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IExpiredContent, IExpiredContentEditState } from '../../reducers/ExpiredContentReducer';
|
|
3
|
+
interface IProps {
|
|
4
|
+
content: IExpiredContent;
|
|
5
|
+
category: IExpiredContentEditState;
|
|
6
|
+
}
|
|
7
|
+
export default function ExpiredContentSingleItem({ content, category }: IProps): React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=ExpiredContentSingleItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpiredContentSingleItem.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentSingleItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAEH,eAAe,EACf,wBAAwB,EAE3B,MAAM,sCAAsC,CAAC;AAG9C,UAAU,MAAM;IACZ,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,qBA4G7E"}
|
|
@@ -0,0 +1,77 @@
|
|
|
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 { Button, Label } from '@patternfly/react-core';
|
|
11
|
+
import EditAltIcon from '@patternfly/react-icons/dist/js/icons/edit-alt-icon';
|
|
12
|
+
import { ToastNotification } from '@rh-support/components';
|
|
13
|
+
import { formatDate, isFutureDate } from '@rh-support/utils';
|
|
14
|
+
import React, { useContext, useState } from 'react';
|
|
15
|
+
import { useTranslation } from 'react-i18next';
|
|
16
|
+
import { ExpiredContentDispatchContext, ExpiredContentStateContext } from '../../context/ExpiredContentContextProvider';
|
|
17
|
+
import { deleteExpiredContent, updateExpiredContent, } from '../../reducers/ExpiredContentReducer';
|
|
18
|
+
import ExpiredContentSingleItemView from './ExpiredContentSingleItemView';
|
|
19
|
+
export default function ExpiredContentSingleItem({ content, category }) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const { t } = useTranslation();
|
|
22
|
+
const { expiredContentEditState, filteredTags, showApprochingExpiry } = useContext(ExpiredContentStateContext);
|
|
23
|
+
const dispatch = useContext(ExpiredContentDispatchContext);
|
|
24
|
+
const [isPreview, setIsPreview] = useState(true);
|
|
25
|
+
const [isSaving, setIsSaving] = useState(false);
|
|
26
|
+
const [isDeleting, setIsDeleting] = useState(false);
|
|
27
|
+
const editToggle = () => {
|
|
28
|
+
setIsPreview(!isPreview);
|
|
29
|
+
};
|
|
30
|
+
const onSave = (updatedContent, deletedTags) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
try {
|
|
32
|
+
setIsSaving(true);
|
|
33
|
+
yield updateExpiredContent(dispatch, expiredContentEditState, category.categoryId, updatedContent, deletedTags, showApprochingExpiry);
|
|
34
|
+
editToggle();
|
|
35
|
+
ToastNotification.addSuccessMessage(t('Content updated successfully'));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
ToastNotification.addDangerMessage(t('There was an error updating content'));
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
setIsSaving(false);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const onDelete = () => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
try {
|
|
46
|
+
setIsDeleting(true);
|
|
47
|
+
yield deleteExpiredContent(dispatch, expiredContentEditState, category.id, content.topContentId);
|
|
48
|
+
editToggle();
|
|
49
|
+
ToastNotification.addSuccessMessage(t('Content deleted successfully'));
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
ToastNotification.addDangerMessage(t('There was an error deleting content'));
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
setIsDeleting(false);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const lastModifiedBy = t(`Last modified {{created}} by {{by}}`, {
|
|
59
|
+
created: formatDate(content.updatedOn || content.createdOn),
|
|
60
|
+
by: content.updatedBy || content.createdBy,
|
|
61
|
+
});
|
|
62
|
+
const expiredText = t(` ${isFutureDate(content.expiryDate) ? 'Expires' : 'Expired'} on {{expired}}`, {
|
|
63
|
+
expired: formatDate(content.expiryDate),
|
|
64
|
+
});
|
|
65
|
+
return (React.createElement(React.Fragment, null, isPreview ? (React.createElement("li", { className: `push-bottom-narrow` },
|
|
66
|
+
React.createElement("a", { className: 'pcm-manage-top-content', "data-tracking-id": "pcm-manage-top-content", href: content.contentUrl, target: "_blank", rel: "noopener noreferrer" }, content.contentTitle),
|
|
67
|
+
React.createElement(Button, { variant: "link", isInline: true, icon: React.createElement(EditAltIcon, null), onClick: editToggle, title: 'Edit', "data-tracking-id": "edit-expired-top-content" }),
|
|
68
|
+
React.createElement("div", null,
|
|
69
|
+
lastModifiedBy,
|
|
70
|
+
" | ",
|
|
71
|
+
expiredText,
|
|
72
|
+
" | ",
|
|
73
|
+
content.product,
|
|
74
|
+
" ", (_a = content.majorVersion) !== null && _a !== void 0 ? _a : '',
|
|
75
|
+
content.minorVersion ? `.${content.minorVersion}` : ''),
|
|
76
|
+
React.createElement("div", null, (_b = content.tags) === null || _b === void 0 ? void 0 : _b.map((tag) => (React.createElement(Label, { isCompact: true, className: "pf-v5-u-mr-xs pf-v5-u-mt-sm", key: tag.id, color: filteredTags.some((t) => t.id === tag.id) ? 'gold' : 'grey' }, tag.tagName)))))) : (React.createElement(ExpiredContentSingleItemView, { category: category, content: content, onCancel: editToggle, onSave: onSave, onDelete: onDelete, isDeleting: isDeleting, isSaving: isSaving }))));
|
|
77
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IExpiredContent, IExpiredContentEditState } from '../../reducers/ExpiredContentReducer';
|
|
3
|
+
interface IProps {
|
|
4
|
+
content: IExpiredContent;
|
|
5
|
+
category: IExpiredContentEditState;
|
|
6
|
+
onCancel: () => void;
|
|
7
|
+
onSave: (updatedContent: any, deletedTags: any[]) => void;
|
|
8
|
+
onDelete: () => void;
|
|
9
|
+
isSaving?: boolean;
|
|
10
|
+
isDeleting?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export default function ExpiredContentSingleItemView({ category, content, onCancel, onSave, onDelete, isSaving, isDeleting, }: IProps): React.JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=ExpiredContentSingleItemView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpiredContentSingleItemView.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentSingleItemView.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAIjG,UAAU,MAAM;IACZ,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACjD,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,GACb,EAAE,MAAM,qBAqQR"}
|