@flightctl/ui-components 0.9.3 → 0.10.0-rc1
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/dist/src/components/DetailsPage/DetailsPage.d.ts +2 -1
- package/dist/src/components/DetailsPage/DetailsPage.d.ts.map +1 -1
- package/dist/src/components/DetailsPage/DetailsPage.js +2 -1
- package/dist/src/components/DetailsPage/DetailsPage.js.map +1 -1
- package/dist/src/components/DetailsPage/DetailsPageActions.d.ts +10 -0
- package/dist/src/components/DetailsPage/DetailsPageActions.d.ts.map +1 -1
- package/dist/src/components/DetailsPage/DetailsPageActions.js +23 -1
- package/dist/src/components/DetailsPage/DetailsPageActions.js.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +29 -3
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js +0 -4
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTabContent/StatusContent.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTabContent/StatusContent.js +8 -2
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTabContent/StatusContent.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.js +1 -3
- package/dist/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DecommissionedDevicesTable.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DecommissionedDevicesTable.js +0 -3
- package/dist/src/components/Device/DevicesPage/DecommissionedDevicesTable.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.js +3 -1
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DevicesPage.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DevicesPage.js +1 -1
- package/dist/src/components/Device/DevicesPage/DevicesPage.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDeviceTableRow.d.ts +3 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDeviceTableRow.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDeviceTableRow.js +12 -4
- package/dist/src/components/Device/DevicesPage/EnrolledDeviceTableRow.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.d.ts +2 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.js +7 -6
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.js.map +1 -1
- package/dist/src/components/Events/useEvents.d.ts.map +1 -1
- package/dist/src/components/Events/useEvents.js +12 -0
- package/dist/src/components/Events/useEvents.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.js +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.js.map +1 -1
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsPage.d.ts.map +1 -1
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsPage.js +4 -3
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsPage.js.map +1 -1
- package/dist/src/components/Fleet/FleetDetails/FleetDevicesCharts.d.ts.map +1 -1
- package/dist/src/components/Fleet/FleetDetails/FleetDevicesCharts.js +7 -1
- package/dist/src/components/Fleet/FleetDetails/FleetDevicesCharts.js.map +1 -1
- package/dist/src/components/Fleet/FleetDetails/FleetRestoreBanner.d.ts +8 -0
- package/dist/src/components/Fleet/FleetDetails/FleetRestoreBanner.d.ts.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetRestoreBanner.js +36 -0
- package/dist/src/components/Fleet/FleetDetails/FleetRestoreBanner.js.map +1 -0
- package/dist/src/components/Fleet/FleetsPage.d.ts.map +1 -1
- package/dist/src/components/Fleet/FleetsPage.js +2 -0
- package/dist/src/components/Fleet/FleetsPage.js.map +1 -1
- package/dist/src/components/ListPage/ListPageActions.d.ts +3 -2
- package/dist/src/components/ListPage/ListPageActions.d.ts.map +1 -1
- package/dist/src/components/ListPage/ListPageActions.js +27 -1
- package/dist/src/components/ListPage/ListPageActions.js.map +1 -1
- package/dist/src/components/Masthead/CommandLineToolsPage.d.ts.map +1 -1
- package/dist/src/components/Masthead/CommandLineToolsPage.js +18 -14
- package/dist/src/components/Masthead/CommandLineToolsPage.js.map +1 -1
- package/dist/src/components/OverviewPage/Cards/Alerts/AlertsCard.d.ts.map +1 -1
- package/dist/src/components/OverviewPage/Cards/Alerts/AlertsCard.js +15 -5
- package/dist/src/components/OverviewPage/Cards/Alerts/AlertsCard.js.map +1 -1
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.d.ts.map +1 -1
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js +7 -1
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js.map +1 -1
- package/dist/src/components/OverviewPage/Overview.d.ts.map +1 -1
- package/dist/src/components/OverviewPage/Overview.js +4 -2
- package/dist/src/components/OverviewPage/Overview.js.map +1 -1
- package/dist/src/components/Status/StatusDisplay.d.ts +3 -1
- package/dist/src/components/Status/StatusDisplay.d.ts.map +1 -1
- package/dist/src/components/Status/StatusDisplay.js +8 -8
- package/dist/src/components/Status/StatusDisplay.js.map +1 -1
- package/dist/src/components/SystemRestore/PendingSyncDevicesAlert.d.ts +7 -0
- package/dist/src/components/SystemRestore/PendingSyncDevicesAlert.d.ts.map +1 -0
- package/dist/src/components/SystemRestore/PendingSyncDevicesAlert.js +22 -0
- package/dist/src/components/SystemRestore/PendingSyncDevicesAlert.js.map +1 -0
- package/dist/src/components/SystemRestore/SuspendedDevicesAlert.d.ts +16 -0
- package/dist/src/components/SystemRestore/SuspendedDevicesAlert.d.ts.map +1 -0
- package/dist/src/components/SystemRestore/SuspendedDevicesAlert.js +75 -0
- package/dist/src/components/SystemRestore/SuspendedDevicesAlert.js.map +1 -0
- package/dist/src/components/SystemRestore/SystemRestoreBanners.css +6 -0
- package/dist/src/components/SystemRestore/SystemRestoreBanners.d.ts +28 -0
- package/dist/src/components/SystemRestore/SystemRestoreBanners.d.ts.map +1 -0
- package/dist/src/components/SystemRestore/SystemRestoreBanners.js +38 -0
- package/dist/src/components/SystemRestore/SystemRestoreBanners.js.map +1 -0
- package/dist/src/components/charts/utils.js +1 -1
- package/dist/src/components/charts/utils.js.map +1 -1
- package/dist/src/components/common/OrganizationGuard.d.ts +13 -0
- package/dist/src/components/common/OrganizationGuard.d.ts.map +1 -0
- package/dist/src/components/common/OrganizationGuard.js +106 -0
- package/dist/src/components/common/OrganizationGuard.js.map +1 -0
- package/dist/src/components/common/OrganizationSelector.d.ts +8 -0
- package/dist/src/components/common/OrganizationSelector.d.ts.map +1 -0
- package/dist/src/components/common/OrganizationSelector.js +92 -0
- package/dist/src/components/common/OrganizationSelector.js.map +1 -0
- package/dist/src/components/common/PageNavigation.d.ts +4 -0
- package/dist/src/components/common/PageNavigation.d.ts.map +1 -0
- package/dist/src/components/common/PageNavigation.js +46 -0
- package/dist/src/components/common/PageNavigation.js.map +1 -0
- package/dist/src/components/form/FilterSelect.css +3 -4
- package/dist/src/components/form/validations.d.ts +9 -0
- package/dist/src/components/form/validations.d.ts.map +1 -1
- package/dist/src/components/form/validations.js +12 -1
- package/dist/src/components/form/validations.js.map +1 -1
- package/dist/src/components/modals/ResumeDevicesModal/ResumeDevicesModal.d.ts +15 -0
- package/dist/src/components/modals/ResumeDevicesModal/ResumeDevicesModal.d.ts.map +1 -0
- package/dist/src/components/modals/ResumeDevicesModal/ResumeDevicesModal.js +56 -0
- package/dist/src/components/modals/ResumeDevicesModal/ResumeDevicesModal.js.map +1 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/MassResumeDevicesModal.d.ts +7 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/MassResumeDevicesModal.d.ts.map +1 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/MassResumeDevicesModal.js +265 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/MassResumeDevicesModal.js.map +1 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/ResumeAllDevicesConfirmationDialog.d.ts +9 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/ResumeAllDevicesConfirmationDialog.d.ts.map +1 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/ResumeAllDevicesConfirmationDialog.js +27 -0
- package/dist/src/components/modals/massModals/ResumeDevicesModal/ResumeAllDevicesConfirmationDialog.js.map +1 -0
- package/dist/src/hooks/useAccessReview.d.ts.map +1 -1
- package/dist/src/hooks/useAccessReview.js +17 -4
- package/dist/src/hooks/useAccessReview.js.map +1 -1
- package/dist/src/hooks/useAlertsEnabled.d.ts +2 -0
- package/dist/src/hooks/useAlertsEnabled.d.ts.map +1 -0
- package/dist/src/hooks/useAlertsEnabled.js +50 -0
- package/dist/src/hooks/useAlertsEnabled.js.map +1 -0
- package/dist/src/hooks/useAppContext.d.ts +3 -6
- package/dist/src/hooks/useAppContext.d.ts.map +1 -1
- package/dist/src/hooks/useAppContext.js +1 -0
- package/dist/src/hooks/useAppContext.js.map +1 -1
- package/dist/src/hooks/useFetch.d.ts +6 -7
- package/dist/src/hooks/useFetch.d.ts.map +1 -1
- package/dist/src/hooks/useFetch.js +2 -3
- package/dist/src/hooks/useFetch.js.map +1 -1
- package/dist/src/hooks/useFetchPeriodically.d.ts.map +1 -1
- package/dist/src/hooks/useFetchPeriodically.js +4 -9
- package/dist/src/hooks/useFetchPeriodically.js.map +1 -1
- package/dist/src/hooks/useSystemRestoreContext.d.ts +16 -0
- package/dist/src/hooks/useSystemRestoreContext.d.ts.map +1 -0
- package/dist/src/hooks/useSystemRestoreContext.js +45 -0
- package/dist/src/hooks/useSystemRestoreContext.js.map +1 -0
- package/dist/src/types/extraTypes.d.ts +17 -18
- package/dist/src/types/extraTypes.d.ts.map +1 -1
- package/dist/src/types/extraTypes.js +1 -6
- package/dist/src/types/extraTypes.js.map +1 -1
- package/dist/src/types/rbac.d.ts +1 -0
- package/dist/src/types/rbac.d.ts.map +1 -1
- package/dist/src/types/rbac.js +1 -0
- package/dist/src/types/rbac.js.map +1 -1
- package/dist/src/utils/api.d.ts +2 -15
- package/dist/src/utils/api.d.ts.map +1 -1
- package/dist/src/utils/api.js +1 -40
- package/dist/src/utils/api.js.map +1 -1
- package/dist/src/utils/devices.d.ts +2 -0
- package/dist/src/utils/devices.d.ts.map +1 -1
- package/dist/src/utils/devices.js +11 -1
- package/dist/src/utils/devices.js.map +1 -1
- package/dist/src/utils/organizationStorage.d.ts +4 -0
- package/dist/src/utils/organizationStorage.d.ts.map +1 -0
- package/dist/src/utils/organizationStorage.js +18 -0
- package/dist/src/utils/organizationStorage.js.map +1 -0
- package/dist/src/utils/query.d.ts +2 -0
- package/dist/src/utils/query.d.ts.map +1 -1
- package/dist/src/utils/query.js +16 -0
- package/dist/src/utils/query.js.map +1 -1
- package/dist/src/utils/status/common.d.ts +1 -0
- package/dist/src/utils/status/common.d.ts.map +1 -1
- package/dist/src/utils/status/common.js.map +1 -1
- package/dist/src/utils/status/devices.d.ts +5 -0
- package/dist/src/utils/status/devices.d.ts.map +1 -1
- package/dist/src/utils/status/devices.js +44 -5
- package/dist/src/utils/status/devices.js.map +1 -1
- package/dist/src/utils/status/fleet.js +1 -1
- package/dist/src/utils/status/fleet.js.map +1 -1
- package/dist/src/utils/status/repository.js +1 -1
- package/dist/src/utils/status/repository.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DetailsPage/DetailsPage.tsx +3 -0
- package/src/components/DetailsPage/DetailsPageActions.tsx +45 -0
- package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +57 -5
- package/src/components/Device/DeviceDetails/DeviceDetailsTab.tsx +0 -5
- package/src/components/Device/DeviceDetails/DeviceDetailsTabContent/StatusContent.tsx +11 -3
- package/src/components/Device/DevicesPage/DecommissionedDeviceTableRow.tsx +0 -2
- package/src/components/Device/DevicesPage/DecommissionedDevicesTable.tsx +0 -3
- package/src/components/Device/DevicesPage/DeviceToolbarFilters.tsx +5 -1
- package/src/components/Device/DevicesPage/DevicesPage.tsx +1 -0
- package/src/components/Device/DevicesPage/EnrolledDeviceTableRow.tsx +15 -3
- package/src/components/Device/DevicesPage/EnrolledDevicesTable.tsx +11 -5
- package/src/components/Events/useEvents.ts +12 -0
- package/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.tsx +1 -1
- package/src/components/Fleet/FleetDetails/FleetDetailsPage.tsx +4 -5
- package/src/components/Fleet/FleetDetails/FleetDevicesCharts.tsx +9 -3
- package/src/components/Fleet/FleetDetails/FleetRestoreBanner.tsx +46 -0
- package/src/components/Fleet/FleetsPage.tsx +2 -0
- package/src/components/ListPage/ListPageActions.tsx +46 -3
- package/src/components/Masthead/CommandLineToolsPage.tsx +17 -14
- package/src/components/OverviewPage/Cards/Alerts/AlertsCard.tsx +19 -5
- package/src/components/OverviewPage/Cards/Status/DeviceStatusChart.tsx +8 -2
- package/src/components/OverviewPage/Overview.tsx +5 -2
- package/src/components/Status/StatusDisplay.tsx +32 -23
- package/src/components/SystemRestore/PendingSyncDevicesAlert.tsx +36 -0
- package/src/components/SystemRestore/SuspendedDevicesAlert.tsx +144 -0
- package/src/components/SystemRestore/SystemRestoreBanners.css +6 -0
- package/src/components/SystemRestore/SystemRestoreBanners.tsx +82 -0
- package/src/components/charts/utils.ts +1 -1
- package/src/components/common/OrganizationGuard.tsx +124 -0
- package/src/components/common/OrganizationSelector.tsx +192 -0
- package/src/components/common/PageNavigation.tsx +103 -0
- package/src/components/form/FilterSelect.css +3 -4
- package/src/components/form/validations.ts +14 -0
- package/src/components/modals/ResumeDevicesModal/ResumeDevicesModal.tsx +114 -0
- package/src/components/modals/massModals/ResumeDevicesModal/MassResumeDevicesModal.tsx +465 -0
- package/src/components/modals/massModals/ResumeDevicesModal/ResumeAllDevicesConfirmationDialog.tsx +55 -0
- package/src/hooks/useAccessReview.ts +20 -4
- package/src/hooks/useAlertsEnabled.ts +50 -0
- package/src/hooks/useAppContext.tsx +9 -7
- package/src/hooks/useFetch.ts +1 -3
- package/src/hooks/useFetchPeriodically.ts +4 -11
- package/src/hooks/useSystemRestoreContext.tsx +54 -0
- package/src/types/extraTypes.ts +17 -23
- package/src/types/rbac.ts +1 -0
- package/src/utils/api.ts +2 -51
- package/src/utils/devices.ts +11 -1
- package/src/utils/organizationStorage.ts +13 -0
- package/src/utils/query.ts +22 -0
- package/src/utils/status/common.ts +1 -0
- package/src/utils/status/devices.ts +49 -2
- package/src/utils/status/fleet.ts +1 -1
- package/src/utils/status/repository.ts +1 -1
- package/dist/src/hooks/useAlerts.d.ts +0 -26
- package/dist/src/hooks/useAlerts.d.ts.map +0 -1
- package/dist/src/hooks/useAlerts.js +0 -114
- package/dist/src/hooks/useAlerts.js.map +0 -1
- package/dist/src/utils/metrics.d.ts +0 -9
- package/dist/src/utils/metrics.d.ts.map +0 -1
- package/dist/src/utils/metrics.js +0 -48
- package/dist/src/utils/metrics.js.map +0 -1
- package/src/hooks/useAlerts.ts +0 -147
- package/src/utils/metrics.ts +0 -49
|
@@ -8,8 +8,6 @@ const TechPreviewBadge_1 = tslib_1.__importDefault(require("../common/TechPrevie
|
|
|
8
8
|
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
9
9
|
const useAppContext_1 = require("../../hooks/useAppContext");
|
|
10
10
|
const error_1 = require("../../utils/error");
|
|
11
|
-
// "Not implemented" response from the UI Proxy when artifact functionality is disabled
|
|
12
|
-
const cliArtifactsDisabledError = 'Error 501';
|
|
13
11
|
const getArtifactUrl = (baseUrl, artifact) => {
|
|
14
12
|
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
15
13
|
return `${normalizedBaseUrl}/${artifact.arch}/${artifact.os}/${artifact.filename}`;
|
|
@@ -40,7 +38,8 @@ const CommandLineToolsContent = ({ productName, loading, loadError, artifactsRes
|
|
|
40
38
|
};
|
|
41
39
|
const CommandLineToolsPage = () => {
|
|
42
40
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
43
|
-
const {
|
|
41
|
+
const { fetch, settings } = (0, useAppContext_1.useAppContext)();
|
|
42
|
+
const proxyFetch = fetch.proxyFetch;
|
|
44
43
|
const [loading, setLoading] = React.useState(true);
|
|
45
44
|
const [loadError, setLoadError] = React.useState();
|
|
46
45
|
const [artifactsResponse, setCliArtifactsResponse] = React.useState();
|
|
@@ -48,26 +47,31 @@ const CommandLineToolsPage = () => {
|
|
|
48
47
|
React.useEffect(() => {
|
|
49
48
|
const getLinks = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
50
49
|
try {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
const response = yield proxyFetch('cli-artifacts', {
|
|
51
|
+
method: 'GET',
|
|
52
|
+
});
|
|
53
|
+
if (!response.ok) {
|
|
54
|
+
if (response.status === 501) {
|
|
55
|
+
// Response that indicatest that the feature is disabled
|
|
56
|
+
setArtifactsEnabled(false);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
setLoadError((0, error_1.getErrorMessage)(response.statusText));
|
|
60
|
+
}
|
|
61
|
+
return;
|
|
54
62
|
}
|
|
63
|
+
const apiResponse = (yield response.json());
|
|
64
|
+
setCliArtifactsResponse(apiResponse);
|
|
55
65
|
}
|
|
56
66
|
catch (e) {
|
|
57
|
-
|
|
58
|
-
if (msg.includes(cliArtifactsDisabledError)) {
|
|
59
|
-
setArtifactsEnabled(false);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
setLoadError(msg);
|
|
63
|
-
}
|
|
67
|
+
setArtifactsEnabled(false);
|
|
64
68
|
}
|
|
65
69
|
finally {
|
|
66
70
|
setLoading(false);
|
|
67
71
|
}
|
|
68
72
|
});
|
|
69
73
|
void getLinks();
|
|
70
|
-
}, [
|
|
74
|
+
}, [proxyFetch]);
|
|
71
75
|
const productName = settings.isRHEM ? t('Red Hat Edge Manager') : t('Flight Control');
|
|
72
76
|
return (React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light },
|
|
73
77
|
React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandLineToolsPage.js","sourceRoot":"","sources":["../../../../src/components/Masthead/CommandLineToolsPage.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAcgC;AAChC,kIAA+F;AAE/F,0FAA0D;AAC1D,+DAA4D;AAC5D,6DAA0D;AAC1D,6CAAoD;AAYpD,
|
|
1
|
+
{"version":3,"file":"CommandLineToolsPage.js","sourceRoot":"","sources":["../../../../src/components/Masthead/CommandLineToolsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertsCard.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Alerts/AlertsCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AlertsCard.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Alerts/AlertsCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6H/B,QAAA,MAAM,UAAU,yBAoEf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -5,12 +5,13 @@ const React = tslib_1.__importStar(require("react"));
|
|
|
5
5
|
const react_core_1 = require("@patternfly/react-core");
|
|
6
6
|
const exclamation_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/exclamation-circle-icon");
|
|
7
7
|
const types_1 = require("@flightctl/types");
|
|
8
|
-
const
|
|
8
|
+
const useFetchPeriodically_1 = require("../../../../hooks/useFetchPeriodically");
|
|
9
9
|
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
10
10
|
const dates_1 = require("../../../../utils/dates");
|
|
11
11
|
const error_1 = require("../../../../utils/error");
|
|
12
12
|
const ResourceLink_1 = tslib_1.__importDefault(require("../../../common/ResourceLink"));
|
|
13
13
|
const AlertsEmptyState_1 = tslib_1.__importDefault(require("./AlertsEmptyState"));
|
|
14
|
+
const ALERTS_TIMEOUT = 20000; // 20 seconds
|
|
14
15
|
// Alert types that are processed by the alert exporter
|
|
15
16
|
const getAlertTitles = (t) => ({
|
|
16
17
|
// Application status alerts
|
|
@@ -80,9 +81,18 @@ const resourceKindLabel = (t, resourceKind) => {
|
|
|
80
81
|
return t('Template version');
|
|
81
82
|
}
|
|
82
83
|
};
|
|
84
|
+
const getAlertTitle = (alert, defaultTitle) => {
|
|
85
|
+
if (alert.annotations.summary) {
|
|
86
|
+
return alert.annotations.summary;
|
|
87
|
+
}
|
|
88
|
+
return defaultTitle;
|
|
89
|
+
};
|
|
83
90
|
const AlertsCard = () => {
|
|
84
91
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
85
|
-
const [alerts, isLoading, error] = (0,
|
|
92
|
+
const [alerts, isLoading, error] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
93
|
+
endpoint: 'alerts',
|
|
94
|
+
timeout: ALERTS_TIMEOUT,
|
|
95
|
+
});
|
|
86
96
|
const alertTypes = React.useMemo(() => getAlertTitles(t), [t]);
|
|
87
97
|
let alertsBody;
|
|
88
98
|
if (isLoading) {
|
|
@@ -92,11 +102,11 @@ const AlertsCard = () => {
|
|
|
92
102
|
alertsBody = (React.createElement(react_core_1.CardBody, null,
|
|
93
103
|
React.createElement(react_core_1.Alert, { variant: "danger", title: t('Error loading alerts') }, (0, error_1.getErrorMessage)(error))));
|
|
94
104
|
}
|
|
95
|
-
else if (alerts.length === 0) {
|
|
105
|
+
else if ((alerts === null || alerts === void 0 ? void 0 : alerts.length) === 0) {
|
|
96
106
|
alertsBody = React.createElement(AlertsEmptyState_1.default, null);
|
|
97
107
|
}
|
|
98
108
|
else {
|
|
99
|
-
alertsBody = (React.createElement(react_core_1.List, { isPlain: true }, alerts.map((alert) => {
|
|
109
|
+
alertsBody = (React.createElement(react_core_1.List, { isPlain: true }, alerts === null || alerts === void 0 ? void 0 : alerts.map((alert) => {
|
|
100
110
|
const alertName = alert.labels.alertname;
|
|
101
111
|
const resourceKind = alertResourceKind[alertName];
|
|
102
112
|
const kindLabel = resourceKindLabel(t, resourceKind);
|
|
@@ -106,7 +116,7 @@ const AlertsCard = () => {
|
|
|
106
116
|
React.createElement(react_core_1.Icon, { status: "danger", size: "md" },
|
|
107
117
|
React.createElement(exclamation_circle_icon_1.ExclamationCircleIcon, null)),
|
|
108
118
|
' ',
|
|
109
|
-
React.createElement("strong", null, alertTypes[alertName] || alertName)),
|
|
119
|
+
React.createElement("strong", null, getAlertTitle(alert, alertTypes[alertName] || alertName))),
|
|
110
120
|
React.createElement(react_core_1.StackItem, null,
|
|
111
121
|
React.createElement(react_core_1.TextContent, null,
|
|
112
122
|
kindLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertsCard.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Alerts/AlertsCard.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAWgC;AAEhC,2GAAsG;AAEtG,4CAAuD;
|
|
1
|
+
{"version":3,"file":"AlertsCard.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Alerts/AlertsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceStatusChart.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/DeviceStatusChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceStatusChart.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/DeviceStatusChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAc9D,QAAA,MAAM,iBAAiB;kBAKP,OAAO,MAAM,EAAE,MAAM,CAAC;YAC5B,cAAc,EAAE;YAChB,MAAM,EAAE;uBAgBjB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const types_1 = require("@flightctl/types");
|
|
5
6
|
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
6
7
|
const utils_1 = require("../../../Status/utils");
|
|
7
8
|
const devices_1 = require("../../../../utils/status/devices");
|
|
8
9
|
const devices_2 = require("../../../../utils/status/devices");
|
|
9
10
|
const utils_2 = require("./utils");
|
|
10
11
|
const DonutChart_1 = tslib_1.__importDefault(require("../../../charts/DonutChart"));
|
|
12
|
+
const systemRestoreStatuses = [
|
|
13
|
+
types_1.DeviceSummaryStatusType.DeviceSummaryStatusAwaitingReconnect,
|
|
14
|
+
types_1.DeviceSummaryStatusType.DeviceSummaryStatusConflictPaused,
|
|
15
|
+
];
|
|
11
16
|
const DeviceStatusChart = ({ deviceStatus, labels, fleets, }) => {
|
|
12
17
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
13
|
-
const
|
|
18
|
+
const excludeStatuses = systemRestoreStatuses.filter((status) => !deviceStatus[status]);
|
|
19
|
+
const statusItems = (0, devices_1.getOverviewDeviceStatusItems)(t, excludeStatuses);
|
|
14
20
|
const devStatusData = (0, utils_2.toOverviewChartData)(deviceStatus, statusItems, labels, fleets, devices_2.FilterSearchParams.DeviceStatus);
|
|
15
21
|
return React.createElement(DonutChart_1.default, { title: t('Device status'), data: devStatusData, helperText: (0, utils_1.getDeviceStatusHelperText)(t) });
|
|
16
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceStatusChart.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/DeviceStatusChart.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;
|
|
1
|
+
{"version":3,"file":"DeviceStatusChart.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/DeviceStatusChart.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,4CAA2D;AAG3D,qEAAkE;AAClE,iDAAkE;AAClE,8DAAgF;AAChF,8DAAsE;AACtE,mCAA8C;AAC9C,oFAAoD;AAEpD,MAAM,qBAAqB,GAAG;IAC5B,+BAAuB,CAAC,oCAAoC;IAC5D,+BAAuB,CAAC,iCAAiC;CAC1D,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EACzB,YAAY,EACZ,MAAM,EACN,MAAM,GAKP,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,IAAA,sCAA4B,EAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAErE,MAAM,aAAa,GAAG,IAAA,2BAAmB,EACvC,YAAY,EACZ,WAAW,EACX,MAAM,EACN,MAAM,EACN,4BAAkB,CAAC,YAAY,CAChC,CAAC;IAEF,OAAO,oBAAC,oBAAU,IAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAA,iCAAyB,EAAC,CAAC,CAAC,GAAI,CAAC;AAClH,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overview.d.ts","sourceRoot":"","sources":["../../../../src/components/OverviewPage/Overview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Overview.d.ts","sourceRoot":"","sources":["../../../../src/components/OverviewPage/Overview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,QAAA,MAAM,QAAQ,yBAgCb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -4,17 +4,19 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const React = tslib_1.__importStar(require("react"));
|
|
5
5
|
const react_core_1 = require("@patternfly/react-core");
|
|
6
6
|
const useAccessReview_1 = require("../../hooks/useAccessReview");
|
|
7
|
+
const useAlertsEnabled_1 = require("../../hooks/useAlertsEnabled");
|
|
7
8
|
const rbac_1 = require("../../types/rbac");
|
|
8
9
|
const PageWithPermissions_1 = tslib_1.__importDefault(require("../common/PageWithPermissions"));
|
|
9
|
-
const
|
|
10
|
+
const SystemRestoreBanners_1 = require("../SystemRestore/SystemRestoreBanners");
|
|
10
11
|
const AlertsCard_1 = tslib_1.__importDefault(require("./Cards/Alerts/AlertsCard"));
|
|
11
12
|
const StatusCard_1 = tslib_1.__importDefault(require("./Cards/Status/StatusCard"));
|
|
12
13
|
const TasksCard_1 = tslib_1.__importDefault(require("./Cards/Tasks/TasksCard"));
|
|
13
14
|
const Overview = () => {
|
|
15
|
+
const alertsEnabled = (0, useAlertsEnabled_1.useAlertsEnabled)();
|
|
14
16
|
const [canListDevices, devicesLoading] = (0, useAccessReview_1.useAccessReview)(rbac_1.RESOURCE.DEVICE, rbac_1.VERB.LIST);
|
|
15
17
|
const [canListErs, erLoading] = (0, useAccessReview_1.useAccessReview)(rbac_1.RESOURCE.ENROLLMENT_REQUEST, rbac_1.VERB.LIST);
|
|
16
|
-
const alertsEnabled = (0, useAlerts_1.useAlertsEnabled)();
|
|
17
18
|
return (React.createElement(PageWithPermissions_1.default, { allowed: canListDevices || canListErs, loading: devicesLoading || erLoading },
|
|
19
|
+
React.createElement(SystemRestoreBanners_1.GlobalSystemRestoreBanners, { className: "pf-v5-u-py-0" }),
|
|
18
20
|
React.createElement(react_core_1.Grid, { hasGutter: true },
|
|
19
21
|
React.createElement(react_core_1.GridItem, { md: alertsEnabled ? 9 : 12 },
|
|
20
22
|
React.createElement(react_core_1.Grid, { hasGutter: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overview.js","sourceRoot":"","sources":["../../../../src/components/OverviewPage/Overview.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAwD;AAExD,iEAA8D;AAC9D,2CAAkD;AAClD,gGAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"Overview.js","sourceRoot":"","sources":["../../../../src/components/OverviewPage/Overview.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAwD;AAExD,iEAA8D;AAC9D,mEAAgE;AAChE,2CAAkD;AAClD,gGAAgE;AAChE,gFAAmF;AAEnF,mFAAmD;AACnD,mFAAmD;AACnD,gFAAgD;AAEhD,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,aAAa,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACzC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,IAAA,iCAAe,EAAC,eAAQ,CAAC,MAAM,EAAE,WAAI,CAAC,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,IAAA,iCAAe,EAAC,eAAQ,CAAC,kBAAkB,EAAE,WAAI,CAAC,IAAI,CAAC,CAAC;IAExF,OAAO,CACL,oBAAC,6BAAmB,IAAC,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,OAAO,EAAE,cAAc,IAAI,SAAS;QAC9F,oBAAC,iDAA0B,IAAC,SAAS,EAAC,cAAc,GAAG;QAEvD,oBAAC,iBAAI,IAAC,SAAS;YACb,oBAAC,qBAAQ,IAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClC,oBAAC,iBAAI,IAAC,SAAS;oBACZ,cAAc,IAAI,CACjB,oBAAC,qBAAQ;wBACP,oBAAC,oBAAU,OAAG,CACL,CACZ;oBACA,UAAU,IAAI,CACb,oBAAC,qBAAQ,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;wBACpB,oBAAC,mBAAS,OAAG,CACJ,CACZ,CACI,CACE;YACV,aAAa,IAAI,CAChB,oBAAC,qBAAQ,IAAC,EAAE,EAAE,CAAC;gBACb,oBAAC,oBAAU,OAAG,CACL,CACZ,CACI,CACa,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -8,13 +8,15 @@ type StatusLabelProps = {
|
|
|
8
8
|
messageTitle?: string;
|
|
9
9
|
level: StatusLevel;
|
|
10
10
|
customIcon?: React.ComponentClass<SVGIconProps>;
|
|
11
|
+
customColor?: string;
|
|
11
12
|
};
|
|
12
|
-
export declare const StatusDisplayContent: ({ label, messageTitle, message, level, customIcon }: StatusLabelProps) => React.JSX.Element;
|
|
13
|
+
export declare const StatusDisplayContent: ({ label, messageTitle, message, level, customIcon, customColor, }: StatusLabelProps) => React.JSX.Element;
|
|
13
14
|
type StatusDisplayProps = {
|
|
14
15
|
item?: {
|
|
15
16
|
label: string;
|
|
16
17
|
level: StatusLevel;
|
|
17
18
|
customIcon?: React.ComponentClass<SVGIconProps>;
|
|
19
|
+
customColor?: string;
|
|
18
20
|
};
|
|
19
21
|
message?: React.ReactNode;
|
|
20
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/Status/StatusDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE1E,OAAO,EAAE,WAAW,EAA+C,MAAM,2BAA2B,CAAC;AAGrG,OAAO,qBAAqB,CAAC;AAE7B,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/Status/StatusDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE1E,OAAO,EAAE,WAAW,EAA+C,MAAM,2BAA2B,CAAC;AAGrG,OAAO,qBAAqB,CAAC;AAE7B,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,sEAO9B,gBAAgB,sBAoClB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,WAAW,CAAC;QACnB,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAChD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,aAAa,sBAAuB,kBAAkB,sBAe3D,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -7,18 +7,18 @@ const react_core_1 = require("@patternfly/react-core");
|
|
|
7
7
|
const common_1 = require("../../utils/status/common");
|
|
8
8
|
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
9
9
|
require("./StatusDisplay.css");
|
|
10
|
-
const StatusDisplayContent = ({ label, messageTitle, message, level, customIcon }) => {
|
|
11
|
-
const
|
|
10
|
+
const StatusDisplayContent = ({ label, messageTitle, message, level, customIcon, customColor, }) => {
|
|
11
|
+
const overrideStatus = level === 'unknown' || (level === 'custom' && customColor);
|
|
12
12
|
const IconComponent = customIcon || (0, common_1.getDefaultStatusIcon)(level);
|
|
13
|
+
const iconColor = customColor || (0, common_1.getDefaultStatusColor)(level);
|
|
14
|
+
const icon = (React.createElement(react_core_1.Icon, { status: overrideStatus ? undefined : level, style: { '--pf-v5-c-icon__content--Color': iconColor } },
|
|
15
|
+
React.createElement(IconComponent, null)));
|
|
13
16
|
if (message) {
|
|
14
17
|
return (React.createElement(react_core_1.Popover, { "aria-label": "status popover", headerContent: messageTitle || label, bodyContent: message, className: "fctl-status-display-content__popover", hasAutoWidth: false },
|
|
15
|
-
React.createElement(react_core_1.Button, { variant: "link", isInline: true, icon:
|
|
16
|
-
React.createElement(IconComponent, null)) }, label)));
|
|
18
|
+
React.createElement(react_core_1.Button, { variant: "link", isInline: true, icon: icon }, label)));
|
|
17
19
|
}
|
|
18
20
|
return (React.createElement(react_core_1.Flex, { className: "ftcl_status-label" },
|
|
19
|
-
React.createElement(react_core_1.FlexItem, null,
|
|
20
|
-
React.createElement(react_core_1.Icon, { status: iconStatus, style: { '--pf-v5-c-icon__content--Color': (0, common_1.getDefaultStatusColor)(level) } },
|
|
21
|
-
React.createElement(IconComponent, null))),
|
|
21
|
+
React.createElement(react_core_1.FlexItem, null, icon),
|
|
22
22
|
React.createElement(react_core_1.FlexItem, null, label)));
|
|
23
23
|
};
|
|
24
24
|
exports.StatusDisplayContent = StatusDisplayContent;
|
|
@@ -27,7 +27,7 @@ const StatusDisplay = ({ item, message }) => {
|
|
|
27
27
|
if (!item) {
|
|
28
28
|
return React.createElement(exports.StatusDisplayContent, { level: "unknown", label: t('Unknown') });
|
|
29
29
|
}
|
|
30
|
-
return React.createElement(exports.StatusDisplayContent, { level: item.level, customIcon: item.customIcon, label: item.label, message: message });
|
|
30
|
+
return (React.createElement(exports.StatusDisplayContent, { level: item.level, customIcon: item.customIcon, customColor: item.customColor, label: item.label, message: message }));
|
|
31
31
|
};
|
|
32
32
|
exports.default = StatusDisplay;
|
|
33
33
|
//# sourceMappingURL=StatusDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDisplay.js","sourceRoot":"","sources":["../../../../src/components/Status/StatusDisplay.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,uDAA+E;AAG/E,sDAAqG;AACrG,+DAA4D;AAE5D,+BAA6B;
|
|
1
|
+
{"version":3,"file":"StatusDisplay.js","sourceRoot":"","sources":["../../../../src/components/Status/StatusDisplay.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,uDAA+E;AAG/E,sDAAqG;AACrG,+DAA4D;AAE5D,+BAA6B;AAWtB,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,YAAY,EACZ,OAAO,EACP,KAAK,EACL,UAAU,EACV,WAAW,GACM,EAAE,EAAE;IACrB,MAAM,cAAc,GAAG,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,UAAU,IAAI,IAAA,6BAAoB,EAAC,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,WAAW,IAAI,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG,CACX,oBAAC,iBAAI,IACH,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAC1C,KAAK,EAAE,EAAE,gCAAgC,EAAE,SAAS,EAAyB;QAE7E,oBAAC,aAAa,OAAG,CACZ,CACR,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,oBAAC,oBAAO,kBACK,gBAAgB,EAC3B,aAAa,EAAE,YAAY,IAAI,KAAK,EACpC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAC,sCAAsC,EAChD,YAAY,EAAE,KAAK;YAEnB,oBAAC,mBAAM,IAAC,OAAO,EAAC,MAAM,EAAC,QAAQ,QAAC,IAAI,EAAE,IAAI,IACvC,KAAK,CACC,CACD,CACX,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,iBAAI,IAAC,SAAS,EAAC,mBAAmB;QACjC,oBAAC,qBAAQ,QAAE,IAAI,CAAY;QAC3B,oBAAC,qBAAQ,QAAE,KAAK,CAAY,CACvB,CACR,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,oBAAoB,wBA2C/B;AAYF,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAsB,EAAE,EAAE;IAC9D,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,oBAAC,4BAAoB,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAI,CAAC;IACvE,CAAC;IAED,OAAO,CACL,oBAAC,4BAAoB,IACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface PendingSyncDevicesAlertProps {
|
|
3
|
+
forSingleDevice?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const PendingSyncDevicesAlert: ({ forSingleDevice }: PendingSyncDevicesAlertProps) => React.JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=PendingSyncDevicesAlert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingSyncDevicesAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/SystemRestore/PendingSyncDevicesAlert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,UAAU,4BAA4B;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAID,eAAO,MAAM,uBAAuB,wBAAyB,4BAA4B,sBAuBxF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PendingSyncDevicesAlert = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const useAppContext_1 = require("../../hooks/useAppContext");
|
|
8
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
9
|
+
const getBrand = (isRHEM) => (isRHEM ? 'RHEM' : 'Flight Control');
|
|
10
|
+
const PendingSyncDevicesAlert = ({ forSingleDevice }) => {
|
|
11
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
12
|
+
const { settings } = (0, useAppContext_1.useAppContext)();
|
|
13
|
+
const getMessage = () => {
|
|
14
|
+
if (forSingleDevice) {
|
|
15
|
+
return t('{{brand}} is waiting for the device to connect and report its status. It will report a ʼPending syncʼ status until it is able to reconnect. If it has configuration conflicts, it will report a ʼSuspendedʼ status and require manual action to resume.', { brand: getBrand(settings.isRHEM) });
|
|
16
|
+
}
|
|
17
|
+
return t('{{brand}} is waiting for devices to connect and report their status. Devices will report a ʼPending syncʼ status until they are able to connect. Devices with configuration conflicts will report a ʼSuspendedʼ status and require manual action to resume.', { brand: getBrand(settings.isRHEM) });
|
|
18
|
+
};
|
|
19
|
+
return (React.createElement(react_core_1.Alert, { variant: "warning", isInline: true, title: t('System recovery complete') }, getMessage()));
|
|
20
|
+
};
|
|
21
|
+
exports.PendingSyncDevicesAlert = PendingSyncDevicesAlert;
|
|
22
|
+
//# sourceMappingURL=PendingSyncDevicesAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingSyncDevicesAlert.js","sourceRoot":"","sources":["../../../../src/components/SystemRestore/PendingSyncDevicesAlert.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAA+C;AAE/C,6DAA0D;AAC1D,+DAA4D;AAM5D,MAAM,QAAQ,GAAG,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEhF,MAAM,uBAAuB,GAAG,CAAC,EAAE,eAAe,EAAgC,EAAE,EAAE;IAC3F,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAa,GAAE,CAAC;IAErC,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,CACN,yPAAyP,EACzP,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACrC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,CACN,6PAA6P,EAC7P,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACrC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,kBAAK,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,QAAC,KAAK,EAAE,CAAC,CAAC,0BAA0B,CAAC,IACnE,UAAU,EAAE,CACP,CACT,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,uBAAuB,2BAuBlC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DeviceResumeRequest } from '@flightctl/types';
|
|
3
|
+
export type ResumeMode = 'global' | 'device' | 'fleet';
|
|
4
|
+
interface SuspendedDevicesAlertProps {
|
|
5
|
+
mode: ResumeMode;
|
|
6
|
+
suspendedCount?: number;
|
|
7
|
+
extraAction?: {
|
|
8
|
+
actionText: string;
|
|
9
|
+
title: React.ReactNode;
|
|
10
|
+
requestSelector: DeviceResumeRequest;
|
|
11
|
+
};
|
|
12
|
+
onResumeComplete?: VoidFunction;
|
|
13
|
+
}
|
|
14
|
+
declare const SuspendedDevicesAlert: ({ mode, suspendedCount, extraAction, onResumeComplete, }: SuspendedDevicesAlertProps) => React.JSX.Element;
|
|
15
|
+
export default SuspendedDevicesAlert;
|
|
16
|
+
//# sourceMappingURL=SuspendedDevicesAlert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuspendedDevicesAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/SystemRestore/SuspendedDevicesAlert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAIvD,UAAU,0BAA0B;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,eAAe,EAAE,mBAAmB,CAAC;KACtC,CAAC;IACF,gBAAgB,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,QAAA,MAAM,qBAAqB,6DAKxB,0BAA0B,sBAgH5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
8
|
+
const MassResumeDevicesModal_1 = tslib_1.__importDefault(require("../modals/massModals/ResumeDevicesModal/MassResumeDevicesModal"));
|
|
9
|
+
const ResumeDevicesModal_1 = tslib_1.__importDefault(require("../modals/ResumeDevicesModal/ResumeDevicesModal"));
|
|
10
|
+
const SuspendedDevicesAlert = ({ mode, suspendedCount = 0, extraAction, onResumeComplete, }) => {
|
|
11
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
12
|
+
const [isMassModalOpen, setIsMassModalOpen] = React.useState(false);
|
|
13
|
+
const [isConfirmModalOpen, setIsConfirmModalOpen] = React.useState(false);
|
|
14
|
+
const openResumeModal = React.useCallback((modalType) => {
|
|
15
|
+
if (modalType === 'mass') {
|
|
16
|
+
setIsMassModalOpen(true);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
setIsConfirmModalOpen(true);
|
|
20
|
+
}
|
|
21
|
+
}, []);
|
|
22
|
+
const closeResumeModal = React.useCallback((modalType, hasResumed) => {
|
|
23
|
+
if (hasResumed) {
|
|
24
|
+
onResumeComplete === null || onResumeComplete === void 0 ? void 0 : onResumeComplete();
|
|
25
|
+
}
|
|
26
|
+
if (modalType === 'mass') {
|
|
27
|
+
setIsMassModalOpen(false);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
setIsConfirmModalOpen(false);
|
|
31
|
+
}
|
|
32
|
+
}, [onResumeComplete]);
|
|
33
|
+
const getMainMessage = () => {
|
|
34
|
+
const suspendedCountStr = suspendedCount.toString();
|
|
35
|
+
switch (mode) {
|
|
36
|
+
case 'device':
|
|
37
|
+
return t("This device is suspended because its local configuration is newer than the server's record. It will not receive updates until it is resumed.");
|
|
38
|
+
case 'fleet':
|
|
39
|
+
return (React.createElement(react_i18next_1.Trans, { t: t, count: suspendedCount },
|
|
40
|
+
React.createElement("strong", null, suspendedCountStr),
|
|
41
|
+
" ",
|
|
42
|
+
React.createElement("strong", null, "devices in this fleet"),
|
|
43
|
+
" are suspended because their local configuration is newer than the server's record. These devices will not receive updates until they are resumed."));
|
|
44
|
+
default:
|
|
45
|
+
return (React.createElement(react_i18next_1.Trans, { t: t, count: suspendedCount },
|
|
46
|
+
React.createElement("strong", null, suspendedCountStr),
|
|
47
|
+
" devices are suspended because their local configuration is newer than the server's record. These devices will not receive updates until they are resumed."));
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const getActions = () => {
|
|
51
|
+
const actionButtons = [];
|
|
52
|
+
if (extraAction) {
|
|
53
|
+
actionButtons.push(React.createElement(react_core_1.AlertActionLink, { key: "extra-resume-action", onClick: () => openResumeModal('confirm') }, extraAction.actionText));
|
|
54
|
+
}
|
|
55
|
+
actionButtons.push(React.createElement(react_core_1.AlertActionLink, { key: "resume-suspended-devices", onClick: () => openResumeModal('mass') }, t('Resume suspended devices')));
|
|
56
|
+
return actionButtons;
|
|
57
|
+
};
|
|
58
|
+
return (React.createElement(React.Fragment, null,
|
|
59
|
+
React.createElement(react_core_1.Alert, { variant: "danger", isInline: true, title: t('Suspended devices detected'), actionLinks: getActions() },
|
|
60
|
+
React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
61
|
+
React.createElement(react_core_1.StackItem, null, getMainMessage()),
|
|
62
|
+
React.createElement(react_core_1.StackItem, null, mode === 'fleet' ? (React.createElement(react_i18next_1.Trans, { t: t },
|
|
63
|
+
React.createElement("strong", null, "Warning:"),
|
|
64
|
+
" Please review this fleet's configuration before taking action. Resuming a device will cause it to apply the current specification, which may be older than what is on the device.")) : (React.createElement(react_i18next_1.Trans, { t: t },
|
|
65
|
+
React.createElement("strong", null, "Warning:"),
|
|
66
|
+
" Please review device configurations before taking action. Resuming a device will cause it to apply the current specification, which may be older than what is on the device."))))),
|
|
67
|
+
isMassModalOpen && (React.createElement(MassResumeDevicesModal_1.default, { onClose: (hasResumed) => {
|
|
68
|
+
closeResumeModal('mass', hasResumed);
|
|
69
|
+
} })),
|
|
70
|
+
isConfirmModalOpen && extraAction && (React.createElement(ResumeDevicesModal_1.default, { mode: mode === 'global' ? 'device' : mode, title: extraAction.title, selector: extraAction.requestSelector, expectedCount: suspendedCount, onClose: (hasResumed) => {
|
|
71
|
+
closeResumeModal('confirm', hasResumed);
|
|
72
|
+
} }))));
|
|
73
|
+
};
|
|
74
|
+
exports.default = SuspendedDevicesAlert;
|
|
75
|
+
//# sourceMappingURL=SuspendedDevicesAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuspendedDevicesAlert.js","sourceRoot":"","sources":["../../../../src/components/SystemRestore/SuspendedDevicesAlert.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,iDAAsC;AACtC,uDAAkF;AAElF,+DAA4D;AAC5D,oIAAoG;AACpG,iHAAiF;AAkBjF,MAAM,qBAAqB,GAAG,CAAC,EAC7B,IAAI,EACJ,cAAc,GAAG,CAAC,EAClB,WAAW,EACX,gBAAgB,GACW,EAAE,EAAE;IAC/B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1E,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAoB,EAAE,EAAE;QACjE,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,SAAoB,EAAE,UAAoB,EAAE,EAAE;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,EAAI,CAAC;QACvB,CAAC;QACD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EACD,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QACpD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,CAAC,CACN,8IAA8I,CAC/I,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO,CACL,oBAAC,qBAAK,IAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc;oBAChC,oCAAS,iBAAiB,CAAU;;oBAAC,4DAAsC;yKAGrE,CACT,CAAC;YACJ;gBACE,OAAO,CACL,oBAAC,qBAAK,IAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc;oBAChC,oCAAS,iBAAiB,CAAU;iLAE9B,CACT,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,aAAa,GAAyB,EAAE,CAAC;QAE/C,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAChB,oBAAC,4BAAe,IAAC,GAAG,EAAC,qBAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IACjF,WAAW,CAAC,UAAU,CACP,CACnB,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,IAAI,CAChB,oBAAC,4BAAe,IAAC,GAAG,EAAC,0BAA0B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IACnF,CAAC,CAAC,0BAA0B,CAAC,CACd,CACnB,CAAC;QAEF,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACL;QACE,oBAAC,kBAAK,IAAC,OAAO,EAAC,QAAQ,EAAC,QAAQ,QAAC,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE;YAChG,oBAAC,kBAAK,IAAC,SAAS;gBACd,oBAAC,sBAAS,QAAE,cAAc,EAAE,CAAa;gBACzC,oBAAC,sBAAS,QACP,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAClB,oBAAC,qBAAK,IAAC,CAAC,EAAE,CAAC;oBACT,+CAAyB;yMAEnB,CACT,CAAC,CAAC,CAAC,CACF,oBAAC,qBAAK,IAAC,CAAC,EAAE,CAAC;oBACT,+CAAyB;oMAEnB,CACT,CACS,CACN,CACF;QACP,eAAe,IAAI,CAClB,oBAAC,gCAAsB,IACrB,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;gBACtB,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC,GACD,CACH;QACA,kBAAkB,IAAI,WAAW,IAAI,CACpC,oBAAC,4BAAkB,IACjB,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EACzC,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,QAAQ,EAAE,WAAW,CAAC,eAAe,EACrC,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;gBACtB,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC,GACD,CACH,CACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DeviceResumeRequest, DevicesSummary } from '@flightctl/types';
|
|
3
|
+
import { ResumeMode } from './SuspendedDevicesAlert';
|
|
4
|
+
import './SystemRestoreBanners.css';
|
|
5
|
+
interface SystemRestoreBannersProps {
|
|
6
|
+
mode: ResumeMode;
|
|
7
|
+
resumeAction?: {
|
|
8
|
+
actionText: string;
|
|
9
|
+
title: React.ReactNode;
|
|
10
|
+
requestSelector: DeviceResumeRequest;
|
|
11
|
+
};
|
|
12
|
+
summaryStatus?: DevicesSummary['summaryStatus'];
|
|
13
|
+
onResumeComplete?: VoidFunction;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Uses the received devicesSummary to show the pending sync and suspended devices banners
|
|
18
|
+
*/
|
|
19
|
+
export declare const SystemRestoreBanners: ({ mode, resumeAction, summaryStatus, onResumeComplete, className, }: SystemRestoreBannersProps) => React.JSX.Element | null;
|
|
20
|
+
/**
|
|
21
|
+
* Shows the banners related to device summary data based on all existing devices
|
|
22
|
+
*/
|
|
23
|
+
export declare const GlobalSystemRestoreBanners: ({ onResumeComplete, className, }: {
|
|
24
|
+
onResumeComplete?: VoidFunction | undefined;
|
|
25
|
+
className?: string | undefined;
|
|
26
|
+
}) => React.JSX.Element | null;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=SystemRestoreBanners.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SystemRestoreBanners.d.ts","sourceRoot":"","sources":["../../../../src/components/SystemRestore/SystemRestoreBanners.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAA2B,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAA8B,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG5E,OAAO,4BAA4B,CAAC;AAEpC,UAAU,yBAAyB;IACjC,IAAI,EAAE,UAAU,CAAC;IAEjB,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,eAAe,EAAE,mBAAmB,CAAC;KACtC,CAAC;IACF,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,wEAM9B,yBAAyB,6BAyB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;8BAqBtC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlobalSystemRestoreBanners = exports.SystemRestoreBanners = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const types_1 = require("@flightctl/types");
|
|
7
|
+
const useSystemRestoreContext_1 = require("../../hooks/useSystemRestoreContext");
|
|
8
|
+
const SuspendedDevicesAlert_1 = tslib_1.__importDefault(require("./SuspendedDevicesAlert"));
|
|
9
|
+
const PendingSyncDevicesAlert_1 = require("./PendingSyncDevicesAlert");
|
|
10
|
+
require("./SystemRestoreBanners.css");
|
|
11
|
+
/**
|
|
12
|
+
* Uses the received devicesSummary to show the pending sync and suspended devices banners
|
|
13
|
+
*/
|
|
14
|
+
const SystemRestoreBanners = ({ mode, resumeAction, summaryStatus, onResumeComplete, className, }) => {
|
|
15
|
+
const pendingSyncCount = (summaryStatus === null || summaryStatus === void 0 ? void 0 : summaryStatus[types_1.DeviceSummaryStatusType.DeviceSummaryStatusAwaitingReconnect]) || 0;
|
|
16
|
+
const suspendedCount = (summaryStatus === null || summaryStatus === void 0 ? void 0 : summaryStatus[types_1.DeviceSummaryStatusType.DeviceSummaryStatusConflictPaused]) || 0;
|
|
17
|
+
const showPendingSyncBanner = pendingSyncCount > 0;
|
|
18
|
+
const showSuspendedBanner = suspendedCount > 0;
|
|
19
|
+
if (!showPendingSyncBanner && !showSuspendedBanner) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return (React.createElement("div", { className: `fctl-system-restore-banners ${className}` },
|
|
23
|
+
showPendingSyncBanner && React.createElement(PendingSyncDevicesAlert_1.PendingSyncDevicesAlert, { forSingleDevice: mode === 'device' }),
|
|
24
|
+
showSuspendedBanner && (React.createElement(SuspendedDevicesAlert_1.default, { mode: mode, suspendedCount: suspendedCount, extraAction: resumeAction, onResumeComplete: onResumeComplete }))));
|
|
25
|
+
};
|
|
26
|
+
exports.SystemRestoreBanners = SystemRestoreBanners;
|
|
27
|
+
/**
|
|
28
|
+
* Shows the banners related to device summary data based on all existing devices
|
|
29
|
+
*/
|
|
30
|
+
const GlobalSystemRestoreBanners = ({ onResumeComplete, className, }) => {
|
|
31
|
+
const { summaryStatus, isLoading } = (0, useSystemRestoreContext_1.useSystemRestore)();
|
|
32
|
+
if (isLoading) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return (React.createElement(exports.SystemRestoreBanners, { mode: "global", summaryStatus: summaryStatus, onResumeComplete: onResumeComplete, className: className }));
|
|
36
|
+
};
|
|
37
|
+
exports.GlobalSystemRestoreBanners = GlobalSystemRestoreBanners;
|
|
38
|
+
//# sourceMappingURL=SystemRestoreBanners.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SystemRestoreBanners.js","sourceRoot":"","sources":["../../../../src/components/SystemRestore/SystemRestoreBanners.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,4CAAgG;AAChG,iFAAuE;AACvE,4FAA4E;AAC5E,uEAAoE;AAEpE,sCAAoC;AAepC;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAAC,EACnC,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,SAAS,GACiB,EAAE,EAAE;IAC9B,MAAM,gBAAgB,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,+BAAuB,CAAC,oCAAoC,CAAC,KAAI,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,+BAAuB,CAAC,iCAAiC,CAAC,KAAI,CAAC,CAAC;IAEvG,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,cAAc,GAAG,CAAC,CAAC;IAE/C,IAAI,CAAC,qBAAqB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,6BAAK,SAAS,EAAE,+BAA+B,SAAS,EAAE;QACvD,qBAAqB,IAAI,oBAAC,iDAAuB,IAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,GAAI;QAExF,mBAAmB,IAAI,CACtB,oBAAC,+BAAqB,IACpB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,YAAY,EACzB,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,oBAAoB,wBA+B/B;AAEF;;GAEG;AACI,MAAM,0BAA0B,GAAG,CAAC,EACzC,gBAAgB,EAChB,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,IAAA,0CAAgB,GAAE,CAAC;IAExD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,oBAAC,4BAAoB,IACnB,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,0BAA0B,8BAqBrC"}
|
|
@@ -17,7 +17,7 @@ const toChartData = (map, statusItems, baseQuery, filterName) => {
|
|
|
17
17
|
return {
|
|
18
18
|
x: `${statusItem.label}`,
|
|
19
19
|
y: entryIndex === -1 ? 0 : percentages[entryIndex],
|
|
20
|
-
color: (0, common_1.getDefaultStatusColor)(statusItem.level),
|
|
20
|
+
color: statusItem.customColor || (0, common_1.getDefaultStatusColor)(statusItem.level),
|
|
21
21
|
link: {
|
|
22
22
|
to: useNavigate_1.ROUTE.DEVICES,
|
|
23
23
|
query: query.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/charts/utils.ts"],"names":[],"mappings":";;;;AAAA,0EAAyC;AAEzC,sDAA8E;AAE9E,yDAAuD;AAIhD,MAAM,WAAW,GAAG,CACzB,GAAc,EACd,WAA4B,EAC5B,SAA0B,EAC1B,UAA8B,EAC9B,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAS,GAAG,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAA,uBAAY,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;QAE/B,uFAAuF;QACvF,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEnC,OAAO;YACL,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;YACxB,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;YAClD,KAAK,EAAE,IAAA,8BAAqB,EAAC,UAAU,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/charts/utils.ts"],"names":[],"mappings":";;;;AAAA,0EAAyC;AAEzC,sDAA8E;AAE9E,yDAAuD;AAIhD,MAAM,WAAW,GAAG,CACzB,GAAc,EACd,WAA4B,EAC5B,SAA0B,EAC1B,UAA8B,EAC9B,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAS,GAAG,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAA,uBAAY,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;QAE/B,uFAAuF;QACvF,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEnC,OAAO;YACL,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;YACxB,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;YAClD,KAAK,EAAE,UAAU,CAAC,WAAW,IAAI,IAAA,8BAAqB,EAAC,UAAU,CAAC,KAAK,CAAC;YACxE,IAAI,EAAE;gBACJ,EAAE,EAAE,mBAAK,CAAC,OAAgB;gBAC1B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aACxB;YACD,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE;SAChD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,WAAW,eA6BtB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Organization } from '@flightctl/types';
|
|
3
|
+
interface OrganizationContextType {
|
|
4
|
+
currentOrganization?: Organization;
|
|
5
|
+
availableOrganizations: Organization[];
|
|
6
|
+
isOrganizationSelectionRequired: boolean;
|
|
7
|
+
selectOrganization: (org: Organization) => void;
|
|
8
|
+
selectionError?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const useOrganizationGuardContext: () => OrganizationContextType;
|
|
11
|
+
declare const OrganizationGuard: ({ children }: React.PropsWithChildren) => React.JSX.Element;
|
|
12
|
+
export default OrganizationGuard;
|
|
13
|
+
//# sourceMappingURL=OrganizationGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrganizationGuard.d.ts","sourceRoot":"","sources":["../../../../src/components/common/OrganizationGuard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAKlE,UAAU,uBAAuB;IAC/B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,sBAAsB,EAAE,YAAY,EAAE,CAAC;IACvC,+BAA+B,EAAE,OAAO,CAAC;IACzC,kBAAkB,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,2BAA2B,QAAO,uBAM9C,CAAC;AAEF,QAAA,MAAM,iBAAiB,iBAAkB,MAAM,iBAAiB,sBAiG/D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|