@flightctl/ui-components 0.0.5 → 0.0.10
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/Device/DeviceDetails/DeviceDetailsPage.d.ts +3 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +2 -2
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.d.ts +2 -2
- package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.js +8 -8
- package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.d.ts +3 -3
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.js +23 -3
- package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DevicesPage.d.ts +7 -1
- package/dist/src/components/Device/DevicesPage/DevicesPage.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DevicesPage.js +23 -23
- package/dist/src/components/Device/DevicesPage/DevicesPage.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.d.ts +0 -7
- package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.js +42 -51
- package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/useDeviceBackendFilters.d.ts +2 -0
- package/dist/src/components/Device/DevicesPage/useDeviceBackendFilters.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/useDeviceBackendFilters.js +10 -3
- package/dist/src/components/Device/DevicesPage/useDeviceBackendFilters.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/useDevices.d.ts +10 -4
- package/dist/src/components/Device/DevicesPage/useDevices.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/useDevices.js +25 -26
- package/dist/src/components/Device/DevicesPage/useDevices.js.map +1 -1
- package/dist/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.css +10 -0
- package/dist/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.d.ts +5 -0
- package/dist/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.d.ts.map +1 -0
- package/dist/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.js +22 -0
- package/dist/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.d.ts.map +1 -1
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.js +7 -7
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.js.map +1 -1
- package/dist/src/components/Fleet/FleetsPage.d.ts.map +1 -1
- package/dist/src/components/Fleet/FleetsPage.js +17 -23
- package/dist/src/components/Fleet/FleetsPage.js.map +1 -1
- package/dist/src/components/Fleet/useFleets.d.ts +18 -0
- package/dist/src/components/Fleet/useFleets.d.ts.map +1 -0
- package/dist/src/components/Fleet/useFleets.js +61 -0
- package/dist/src/components/Fleet/useFleets.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.d.ts.map +1 -1
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js +4 -3
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js.map +1 -1
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.d.ts.map +1 -1
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js +5 -9
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js.map +1 -1
- package/dist/src/components/OverviewPage/Overview.js +1 -1
- package/dist/src/components/OverviewPage/Overview.js.map +1 -1
- package/dist/src/components/Repository/CreateRepository/CreateRepository.js +2 -2
- package/dist/src/components/Repository/CreateRepository/CreateRepository.js.map +1 -1
- package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js +1 -1
- package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js.map +1 -1
- package/dist/src/components/Repository/RepositoryList.d.ts.map +1 -1
- package/dist/src/components/Repository/RepositoryList.js +1 -1
- package/dist/src/components/Repository/RepositoryList.js.map +1 -1
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.d.ts.map +1 -1
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js +2 -2
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -1
- package/dist/src/components/Table/Table.d.ts +12 -2
- package/dist/src/components/Table/Table.d.ts.map +1 -1
- package/dist/src/components/Table/Table.js +3 -3
- package/dist/src/components/Table/Table.js.map +1 -1
- package/dist/src/components/charts/DonutChart.css +5 -0
- package/dist/src/components/charts/DonutChart.js +1 -1
- package/dist/src/components/charts/DonutChart.js.map +1 -1
- package/dist/src/components/common/LeaveFormConfirmation.js +1 -1
- package/dist/src/components/common/LeaveFormConfirmation.js.map +1 -1
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.d.ts.map +1 -1
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js +2 -2
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js.map +1 -1
- package/dist/src/hooks/useApiTableSort.d.ts +8 -0
- package/dist/src/hooks/useApiTableSort.d.ts.map +1 -0
- package/dist/src/hooks/useApiTableSort.js +44 -0
- package/dist/src/hooks/useApiTableSort.js.map +1 -0
- package/dist/src/hooks/useAppContext.d.ts +4 -4
- package/dist/src/hooks/useAppContext.d.ts.map +1 -1
- package/dist/src/hooks/useNavigate.d.ts +3 -3
- package/dist/src/hooks/useNavigate.d.ts.map +1 -1
- package/dist/src/hooks/useNavigate.js +3 -3
- package/dist/src/hooks/useNavigate.js.map +1 -1
- package/dist/src/hooks/usePendingEnrollmentRequestsCount.d.ts +2 -0
- package/dist/src/hooks/usePendingEnrollmentRequestsCount.d.ts.map +1 -0
- package/dist/src/hooks/usePendingEnrollmentRequestsCount.js +13 -0
- package/dist/src/hooks/usePendingEnrollmentRequestsCount.js.map +1 -0
- package/dist/src/utils/query.d.ts +6 -0
- package/dist/src/utils/query.d.ts.map +1 -0
- package/dist/src/utils/query.js +32 -0
- package/dist/src/utils/query.js.map +1 -0
- package/dist/src/utils/sort/generic.d.ts +1 -4
- package/dist/src/utils/sort/generic.d.ts.map +1 -1
- package/dist/src/utils/sort/generic.js +1 -28
- package/dist/src/utils/sort/generic.js.map +1 -1
- package/dist/src/utils/status/devices.d.ts +2 -1
- package/dist/src/utils/status/devices.d.ts.map +1 -1
- package/dist/src/utils/status/devices.js +1 -0
- package/dist/src/utils/status/devices.js.map +1 -1
- package/package.json +6 -6
- package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +2 -2
- package/src/components/Device/DevicesPage/DeviceTableToolbar.tsx +13 -13
- package/src/components/Device/DevicesPage/DeviceToolbarFilters.tsx +35 -8
- package/src/components/Device/DevicesPage/DevicesPage.tsx +41 -27
- package/src/components/Device/DevicesPage/EnrollmentRequestList.tsx +91 -116
- package/src/components/Device/DevicesPage/useDeviceBackendFilters.ts +14 -3
- package/src/components/Device/DevicesPage/useDevices.ts +43 -32
- package/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.css +10 -0
- package/src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.tsx +27 -0
- package/src/components/Fleet/FleetDetails/FleetDevices.tsx +12 -18
- package/src/components/Fleet/FleetsPage.tsx +39 -28
- package/src/components/Fleet/useFleets.ts +86 -0
- package/src/components/OverviewPage/Cards/Status/StatusCard.tsx +4 -3
- package/src/components/OverviewPage/Cards/ToDo/ToDoCard.tsx +6 -10
- package/src/components/OverviewPage/Overview.tsx +1 -1
- package/src/components/Repository/CreateRepository/CreateRepository.tsx +2 -2
- package/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.tsx +1 -1
- package/src/components/Repository/RepositoryList.tsx +1 -0
- package/src/components/ResourceSync/RepositoryResourceSyncList.tsx +2 -1
- package/src/components/Table/Table.tsx +19 -5
- package/src/components/charts/DonutChart.css +5 -0
- package/src/components/charts/DonutChart.tsx +1 -1
- package/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.tsx +4 -2
- package/src/hooks/useApiTableSort.ts +49 -0
- package/src/hooks/useNavigate.tsx +3 -3
- package/src/hooks/usePendingEnrollmentRequestsCount.ts +12 -0
- package/src/utils/query.ts +29 -0
- package/src/utils/sort/generic.ts +1 -30
- package/src/utils/status/devices.ts +1 -0
- package/dist/src/components/Device/DevicesPage/useDeviceFilters.d.ts +0 -8
- package/dist/src/components/Device/DevicesPage/useDeviceFilters.d.ts.map +0 -1
- package/dist/src/components/Device/DevicesPage/useDeviceFilters.js +0 -16
- package/dist/src/components/Device/DevicesPage/useDeviceFilters.js.map +0 -1
- package/dist/src/utils/sort/device.d.ts +0 -4
- package/dist/src/utils/sort/device.d.ts.map +0 -1
- package/dist/src/utils/sort/device.js +0 -49
- package/dist/src/utils/sort/device.js.map +0 -1
- package/dist/src/utils/sort/fleet.d.ts +0 -4
- package/dist/src/utils/sort/fleet.d.ts.map +0 -1
- package/dist/src/utils/sort/fleet.js +0 -18
- package/dist/src/utils/sort/fleet.js.map +0 -1
- package/src/components/Device/DevicesPage/useDeviceFilters.ts +0 -15
- package/src/utils/sort/device.ts +0 -60
- package/src/utils/sort/fleet.ts +0 -16
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EnrollmentRequestTable = void 0;
|
|
4
3
|
const tslib_1 = require("tslib");
|
|
5
4
|
const React = tslib_1.__importStar(require("react"));
|
|
6
5
|
const react_table_1 = require("@patternfly/react-table");
|
|
@@ -14,9 +13,8 @@ const useFetch_1 = require("../../../hooks/useFetch");
|
|
|
14
13
|
const useTranslation_1 = require("../../../hooks/useTranslation");
|
|
15
14
|
const useFetchPeriodically_1 = require("../../../hooks/useFetchPeriodically");
|
|
16
15
|
const useTableSelect_1 = require("../../../hooks/useTableSelect");
|
|
17
|
-
const
|
|
16
|
+
const useApiTableSort_1 = require("../../../hooks/useApiTableSort");
|
|
18
17
|
const useTableTextSearch_1 = require("../../../hooks/useTableTextSearch");
|
|
19
|
-
const generic_1 = require("../../../utils/sort/generic");
|
|
20
18
|
const ApproveDeviceModal_1 = tslib_1.__importDefault(require("../../modals/ApproveDeviceModal/ApproveDeviceModal"));
|
|
21
19
|
const MassDeleteDeviceModal_1 = tslib_1.__importDefault(require("../../modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal"));
|
|
22
20
|
const MassApproveDeviceModal_1 = tslib_1.__importDefault(require("../../modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal"));
|
|
@@ -25,80 +23,73 @@ const EnrollmentRequestTableToolbar_1 = tslib_1.__importDefault(require("./Enrol
|
|
|
25
23
|
const getEnrollmentColumns = (t) => [
|
|
26
24
|
{
|
|
27
25
|
name: t('Name'),
|
|
28
|
-
|
|
26
|
+
sortableField: 'metadata.name',
|
|
27
|
+
defaultSort: true,
|
|
29
28
|
},
|
|
30
29
|
{
|
|
31
30
|
name: t('Created'),
|
|
32
|
-
|
|
31
|
+
sortableField: 'metadata.creationTimestamp',
|
|
33
32
|
},
|
|
34
33
|
];
|
|
35
34
|
const getSearchText = (er) => [er.metadata.name];
|
|
36
|
-
const
|
|
35
|
+
const EnrollmentRequestList = ({ refetchDevices }) => {
|
|
37
36
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
38
37
|
const { remove } = (0, useFetch_1.useFetch)();
|
|
38
|
+
const enrollmentColumns = React.useMemo(() => getEnrollmentColumns(t), [t]);
|
|
39
|
+
const { getSortParams, sortField, direction } = (0, useApiTableSort_1.useApiTableSort)(enrollmentColumns);
|
|
40
|
+
const [erList, isLoading, error, refetch] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
41
|
+
endpoint: `enrollmentrequests?fieldSelector=!status.approval.approved${sortField ? `&sortBy=${sortField}&sortOrder=${direction}` : ''}`,
|
|
42
|
+
});
|
|
43
|
+
const pendingEnrollments = (erList === null || erList === void 0 ? void 0 : erList.items) || [];
|
|
44
|
+
const refetchWithDevices = () => {
|
|
45
|
+
refetch();
|
|
46
|
+
refetchDevices();
|
|
47
|
+
};
|
|
39
48
|
const [approvingErId, setApprovingErId] = React.useState();
|
|
40
49
|
const [isMassDeleteModalOpen, setIsMassDeleteModalOpen] = React.useState(false);
|
|
41
50
|
const [isMassApproveModalOpen, setIsMassApproveModalOpen] = React.useState(false);
|
|
42
|
-
const enrollmentColumns = React.useMemo(() => getEnrollmentColumns(t), [t]);
|
|
43
51
|
const { search, setSearch, filteredData } = (0, useTableTextSearch_1.useTableTextSearch)(pendingEnrollments, getSearchText);
|
|
44
|
-
const { getSortParams, sortedData } = (0, useTableSort_1.useTableSort)(filteredData, enrollmentColumns);
|
|
45
52
|
const { onRowSelect, hasSelectedRows, isAllSelected, isRowSelected, setAllSelected } = (0, useTableSelect_1.useTableSelect)();
|
|
46
53
|
const { deleteAction, deleteModal } = (0, ListPageActions_1.useDeleteListAction)({
|
|
47
54
|
resourceType: 'EnrollmentRequest',
|
|
48
55
|
onDelete: (enrollmentId) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
49
56
|
yield remove(`enrollmentrequests/${enrollmentId}`);
|
|
50
|
-
|
|
57
|
+
refetch();
|
|
51
58
|
}),
|
|
52
59
|
});
|
|
53
|
-
const currentEnrollmentRequest = pendingEnrollments.find((er) => er.metadata.name === approvingErId);
|
|
54
|
-
return (React.createElement(React.Fragment, null,
|
|
55
|
-
React.createElement(EnrollmentRequestTableToolbar_1.default, { search: search, setSearch: setSearch, enrollments: pendingEnrollments },
|
|
56
|
-
React.createElement(react_core_1.ToolbarItem, null,
|
|
57
|
-
React.createElement(TableActions_1.default, { isDisabled: !hasSelectedRows },
|
|
58
|
-
React.createElement(react_core_1.SelectList, null,
|
|
59
|
-
React.createElement(react_core_1.SelectOption, { onClick: () => setIsMassApproveModalOpen(true) }, t('Approve')),
|
|
60
|
-
React.createElement(react_core_1.SelectOption, { onClick: () => setIsMassDeleteModalOpen(true) }, t('Delete')))))),
|
|
61
|
-
React.createElement(Table_1.default, { "aria-label": t('Table for devices pending approval'), columns: enrollmentColumns, emptyFilters: filteredData.length === 0, emptyData: false, getSortParams: getSortParams, isAllSelected: isAllSelected, onSelectAll: setAllSelected },
|
|
62
|
-
React.createElement(react_table_1.Tbody, null, sortedData.map((er, index) => (React.createElement(EnrollmentRequestTableRow_1.default, { key: er.metadata.name || '', er: er, deleteAction: deleteAction, onRowSelect: onRowSelect, isRowSelected: isRowSelected, rowIndex: index, onApprove: () => {
|
|
63
|
-
setApprovingErId(er.metadata.name);
|
|
64
|
-
} }))))),
|
|
65
|
-
deleteModal,
|
|
66
|
-
currentEnrollmentRequest && (React.createElement(ApproveDeviceModal_1.default, { enrollmentRequest: currentEnrollmentRequest, onClose: (updateList) => {
|
|
67
|
-
setApprovingErId(undefined);
|
|
68
|
-
updateList && approveRefetch();
|
|
69
|
-
} })),
|
|
70
|
-
isMassDeleteModalOpen && (React.createElement(MassDeleteDeviceModal_1.default, { onClose: () => setIsMassDeleteModalOpen(false), resources: filteredData.filter(isRowSelected), onDeleteSuccess: () => {
|
|
71
|
-
setIsMassDeleteModalOpen(false);
|
|
72
|
-
deleteRefetch();
|
|
73
|
-
} })),
|
|
74
|
-
isMassApproveModalOpen && (React.createElement(MassApproveDeviceModal_1.default, { onClose: () => setIsMassApproveModalOpen(false), pendingEnrollments: filteredData.filter(isRowSelected), onApproveSuccess: () => {
|
|
75
|
-
setAllSelected(false);
|
|
76
|
-
setIsMassApproveModalOpen(false);
|
|
77
|
-
approveRefetch();
|
|
78
|
-
} }))));
|
|
79
|
-
};
|
|
80
|
-
exports.EnrollmentRequestTable = EnrollmentRequestTable;
|
|
81
|
-
const EnrollmentRequestList = ({ refetchDevices }) => {
|
|
82
|
-
const { t } = (0, useTranslation_1.useTranslation)();
|
|
83
|
-
const [erList, isLoading, error, refetch] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
84
|
-
endpoint: 'enrollmentrequests',
|
|
85
|
-
});
|
|
86
60
|
if (isLoading) {
|
|
87
61
|
return React.createElement(react_core_1.Spinner, { size: "md" });
|
|
88
62
|
}
|
|
89
|
-
// The content only appears if there are pending enrollment requests
|
|
90
|
-
// TODO move the filter as part of the query once it's available via the API
|
|
91
|
-
const pendingEnrollments = ((erList === null || erList === void 0 ? void 0 : erList.items) || []).filter((er) => { var _a, _b; return ((_b = (_a = er.status) === null || _a === void 0 ? void 0 : _a.approval) === null || _b === void 0 ? void 0 : _b.approved) !== true; });
|
|
92
63
|
if (pendingEnrollments.length === 0) {
|
|
93
64
|
return null;
|
|
94
65
|
}
|
|
95
|
-
const
|
|
96
|
-
refetch();
|
|
97
|
-
refetchDevices();
|
|
98
|
-
};
|
|
66
|
+
const currentEnrollmentRequest = pendingEnrollments.find((er) => er.metadata.name === approvingErId);
|
|
99
67
|
return (React.createElement(ListPage_1.default, { title: t('Devices pending approval'), headingLevel: "h2" },
|
|
100
|
-
React.createElement(ListPageBody_1.default, { error: error, loading:
|
|
101
|
-
React.createElement(
|
|
68
|
+
React.createElement(ListPageBody_1.default, { error: error, loading: isLoading },
|
|
69
|
+
React.createElement(EnrollmentRequestTableToolbar_1.default, { search: search, setSearch: setSearch, enrollments: pendingEnrollments },
|
|
70
|
+
React.createElement(react_core_1.ToolbarItem, null,
|
|
71
|
+
React.createElement(TableActions_1.default, { isDisabled: !hasSelectedRows },
|
|
72
|
+
React.createElement(react_core_1.SelectList, null,
|
|
73
|
+
React.createElement(react_core_1.SelectOption, { onClick: () => setIsMassApproveModalOpen(true) }, t('Approve')),
|
|
74
|
+
React.createElement(react_core_1.SelectOption, { onClick: () => setIsMassDeleteModalOpen(true) }, t('Delete')))))),
|
|
75
|
+
React.createElement(Table_1.default, { "aria-label": t('Table for devices pending approval'), loading: isLoading, columns: enrollmentColumns, emptyFilters: filteredData.length === 0, emptyData: false, getSortParams: getSortParams, isAllSelected: isAllSelected, onSelectAll: setAllSelected },
|
|
76
|
+
React.createElement(react_table_1.Tbody, null, pendingEnrollments.map((er, index) => (React.createElement(EnrollmentRequestTableRow_1.default, { key: er.metadata.name || '', er: er, deleteAction: deleteAction, onRowSelect: onRowSelect, isRowSelected: isRowSelected, rowIndex: index, onApprove: () => {
|
|
77
|
+
setApprovingErId(er.metadata.name);
|
|
78
|
+
} }))))),
|
|
79
|
+
deleteModal,
|
|
80
|
+
currentEnrollmentRequest && (React.createElement(ApproveDeviceModal_1.default, { enrollmentRequest: currentEnrollmentRequest, onClose: (updateList) => {
|
|
81
|
+
setApprovingErId(undefined);
|
|
82
|
+
updateList && refetchWithDevices();
|
|
83
|
+
} })),
|
|
84
|
+
isMassDeleteModalOpen && (React.createElement(MassDeleteDeviceModal_1.default, { onClose: () => setIsMassDeleteModalOpen(false), resources: filteredData.filter(isRowSelected), onDeleteSuccess: () => {
|
|
85
|
+
setIsMassDeleteModalOpen(false);
|
|
86
|
+
refetch();
|
|
87
|
+
} })),
|
|
88
|
+
isMassApproveModalOpen && (React.createElement(MassApproveDeviceModal_1.default, { onClose: () => setIsMassApproveModalOpen(false), pendingEnrollments: filteredData.filter(isRowSelected), onApproveSuccess: () => {
|
|
89
|
+
setAllSelected(false);
|
|
90
|
+
setIsMassApproveModalOpen(false);
|
|
91
|
+
refetchWithDevices();
|
|
92
|
+
} })))));
|
|
102
93
|
};
|
|
103
94
|
exports.default = EnrollmentRequestList;
|
|
104
95
|
//# sourceMappingURL=EnrollmentRequestList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnrollmentRequestList.js","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/EnrollmentRequestList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EnrollmentRequestList.js","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/EnrollmentRequestList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { FilterStatusMap } from './types';
|
|
2
2
|
import { FlightCtlLabel } from '../../../types/extraTypes';
|
|
3
3
|
export declare const useDeviceBackendFilters: () => {
|
|
4
|
+
nameOrAlias: string | undefined;
|
|
5
|
+
setNameOrAlias: (nameOrAlias: string) => void;
|
|
4
6
|
activeStatuses: FilterStatusMap;
|
|
5
7
|
setActiveStatuses: (activeStatuses: FilterStatusMap) => void;
|
|
6
8
|
ownerFleets: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeviceBackendFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDeviceBackendFilters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDeviceBackendFilters.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDeviceBackendFilters.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAiB3D,eAAO,MAAM,uBAAuB;;kCAmFlB,MAAM;;wCAdH,eAAe;;kCAPlB,MAAM,EAAE;;gCAcb,cAAc,EAAE;;CA8B5B,CAAC"}
|
|
@@ -6,12 +6,10 @@ const React = tslib_1.__importStar(require("react"));
|
|
|
6
6
|
const types_1 = require("@flightctl/types");
|
|
7
7
|
const devices_1 = require("../../../utils/status/devices");
|
|
8
8
|
const useAppContext_1 = require("../../../hooks/useAppContext");
|
|
9
|
-
const enrollmentRequest_1 = require("../../../utils/status/enrollmentRequest");
|
|
10
9
|
const labels_1 = require("../../../utils/labels");
|
|
11
10
|
const validAppStatuses = Object.values(types_1.ApplicationsSummaryStatusType);
|
|
12
11
|
const validUpdatedStatuses = Object.values(types_1.DeviceUpdatedStatusType);
|
|
13
12
|
const validDeviceStatuses = Object.values(types_1.DeviceSummaryStatusType);
|
|
14
|
-
validDeviceStatuses.push(enrollmentRequest_1.EnrollmentRequestStatus.Pending);
|
|
15
13
|
const getNewParams = (currentParams, newValues) => {
|
|
16
14
|
let newParams = [...currentParams.entries()];
|
|
17
15
|
const keys = Object.keys(newValues);
|
|
@@ -26,6 +24,7 @@ const useDeviceBackendFilters = () => {
|
|
|
26
24
|
const [searchParams, setSearchParams] = useSearchParams();
|
|
27
25
|
const paramsRef = React.useRef(searchParams);
|
|
28
26
|
const ownerFleets = searchParams.getAll(devices_1.FilterSearchParams.Fleet) || undefined;
|
|
27
|
+
const nameOrAlias = searchParams.get(devices_1.FilterSearchParams.NameOrAlias) || undefined;
|
|
29
28
|
const updateSearchParams = React.useCallback((params) => {
|
|
30
29
|
const urlParams = new URLSearchParams(params);
|
|
31
30
|
paramsRef.current = urlParams;
|
|
@@ -79,8 +78,16 @@ const useDeviceBackendFilters = () => {
|
|
|
79
78
|
const setSelectedLabels = React.useCallback((labels) => {
|
|
80
79
|
updateSearchParams(getNewParams(paramsRef.current, { [devices_1.FilterSearchParams.Label]: labels.map(labels_1.labelToString) }));
|
|
81
80
|
}, [updateSearchParams]);
|
|
82
|
-
const
|
|
81
|
+
const setNameOrAlias = React.useCallback((nameOrAlias) => {
|
|
82
|
+
updateSearchParams(getNewParams(paramsRef.current, { [devices_1.FilterSearchParams.NameOrAlias]: [nameOrAlias] }));
|
|
83
|
+
}, [updateSearchParams]);
|
|
84
|
+
const hasFiltersEnabled = !!nameOrAlias ||
|
|
85
|
+
!!selectedLabels.length ||
|
|
86
|
+
!!ownerFleets.length ||
|
|
87
|
+
Object.values(activeStatuses).some((s) => !!s.length);
|
|
83
88
|
return {
|
|
89
|
+
nameOrAlias,
|
|
90
|
+
setNameOrAlias,
|
|
84
91
|
activeStatuses,
|
|
85
92
|
setActiveStatuses,
|
|
86
93
|
ownerFleets,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeviceBackendFilters.js","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDeviceBackendFilters.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,4CAAmH;AAEnH,2DAAmE;AACnE,gEAA6D;
|
|
1
|
+
{"version":3,"file":"useDeviceBackendFilters.js","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDeviceBackendFilters.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,12 @@ import { Device, DevicesSummary } from '@flightctl/types';
|
|
|
2
2
|
import { FlightCtlLabel } from '../../../types/extraTypes';
|
|
3
3
|
import { FilterStatusMap } from './types';
|
|
4
4
|
type DevicesEndpointArgs = {
|
|
5
|
+
nameOrAlias?: string;
|
|
5
6
|
ownerFleets?: string[];
|
|
6
7
|
activeStatuses?: FilterStatusMap;
|
|
7
8
|
labels?: FlightCtlLabel[];
|
|
9
|
+
sortField?: string;
|
|
10
|
+
direction?: string;
|
|
8
11
|
summaryOnly?: boolean;
|
|
9
12
|
};
|
|
10
13
|
export declare const useDevicesEndpoint: (args: DevicesEndpointArgs) => [string, boolean];
|
|
@@ -12,10 +15,13 @@ export declare const useDevicesSummary: ({ ownerFleets, labels, }: {
|
|
|
12
15
|
ownerFleets?: string[] | undefined;
|
|
13
16
|
labels?: FlightCtlLabel[] | undefined;
|
|
14
17
|
}) => [DevicesSummary | undefined, boolean];
|
|
15
|
-
export declare const useDevices: (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
export declare const useDevices: (args: {
|
|
19
|
+
nameOrAlias?: string;
|
|
20
|
+
ownerFleets?: string[];
|
|
21
|
+
activeStatuses?: FilterStatusMap;
|
|
22
|
+
labels?: FlightCtlLabel[];
|
|
23
|
+
sortField?: string;
|
|
24
|
+
direction?: string;
|
|
19
25
|
}) => [Device[], boolean, unknown, boolean, VoidFunction, FlightCtlLabel[]];
|
|
20
26
|
export {};
|
|
21
27
|
//# sourceMappingURL=useDevices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDevices.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDevices.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAc,cAAc,
|
|
1
|
+
{"version":3,"file":"useDevices.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDevices.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAc,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAKjF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA8CF,eAAO,MAAM,kBAAkB,SAAU,mBAAmB,KAAG,CAAC,MAAM,EAAE,OAAO,CAI9E,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;MAM1B,CAAC,cAAc,GAAG,SAAS,EAAE,OAAO,CAOvC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CA6BvE,CAAC"}
|
|
@@ -2,40 +2,39 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useDevices = exports.useDevicesSummary = exports.useDevicesEndpoint = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const use_debounce_1 = require("use-debounce");
|
|
7
|
+
const types_1 = require("@flightctl/types");
|
|
7
8
|
const devices_1 = require("../../../utils/status/devices");
|
|
8
|
-
const
|
|
9
|
+
const queryUtils = tslib_1.__importStar(require("../../../utils/query"));
|
|
9
10
|
const labels_1 = require("../../../utils/labels");
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const labelSelector = labels.reduce((acc, curr) => {
|
|
13
|
-
if (!acc) {
|
|
14
|
-
acc = `${curr.key}=${curr.value || ''}`;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
acc += `,${curr.key}=${curr.value || ''}`;
|
|
18
|
-
}
|
|
19
|
-
return acc;
|
|
20
|
-
}, '');
|
|
21
|
-
params.append('labelSelector', labelSelector);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
const getDevicesEndpoint = ({ ownerFleets, activeStatuses, labels, summaryOnly }) => {
|
|
11
|
+
const useFetchPeriodically_1 = require("../../../hooks/useFetchPeriodically");
|
|
12
|
+
const getDevicesEndpoint = ({ nameOrAlias, ownerFleets, activeStatuses, labels, sortField, direction, summaryOnly, }) => {
|
|
25
13
|
const filterByAppStatus = activeStatuses === null || activeStatuses === void 0 ? void 0 : activeStatuses[devices_1.FilterSearchParams.AppStatus];
|
|
26
14
|
const filterByDevStatus = activeStatuses === null || activeStatuses === void 0 ? void 0 : activeStatuses[devices_1.FilterSearchParams.DeviceStatus];
|
|
27
15
|
const filterByUpdateStatus = activeStatuses === null || activeStatuses === void 0 ? void 0 : activeStatuses[devices_1.FilterSearchParams.UpdatedStatus];
|
|
28
|
-
const
|
|
16
|
+
const fieldSelectors = [];
|
|
17
|
+
queryUtils.addQueryConditions(fieldSelectors, 'status.applicationsSummary.status', filterByAppStatus);
|
|
18
|
+
queryUtils.addQueryConditions(fieldSelectors, 'status.summary.status', filterByDevStatus);
|
|
19
|
+
queryUtils.addQueryConditions(fieldSelectors, 'status.updated.status', filterByUpdateStatus);
|
|
20
|
+
if (nameOrAlias) {
|
|
21
|
+
queryUtils.addTextContainsCondition(fieldSelectors, 'metadata.nameoralias', nameOrAlias);
|
|
22
|
+
}
|
|
29
23
|
if (ownerFleets === null || ownerFleets === void 0 ? void 0 : ownerFleets.length) {
|
|
30
|
-
|
|
24
|
+
queryUtils.addQueryConditions(fieldSelectors, 'metadata.owner', ownerFleets.map((fleet) => `Fleet/${fleet}`));
|
|
25
|
+
}
|
|
26
|
+
const params = new URLSearchParams();
|
|
27
|
+
if (fieldSelectors.length > 0) {
|
|
28
|
+
params.set('fieldSelector', fieldSelectors.join(','));
|
|
31
29
|
}
|
|
32
|
-
|
|
33
|
-
filterByDevStatus === null || filterByDevStatus === void 0 ? void 0 : filterByDevStatus.forEach((devSt) => params.append('statusFilter', `summary.status=${devSt}`));
|
|
34
|
-
filterByUpdateStatus === null || filterByUpdateStatus === void 0 ? void 0 : filterByUpdateStatus.forEach((updSt) => params.append('statusFilter', `updated.status=${updSt}`));
|
|
35
|
-
setLabelParams(params, labels);
|
|
30
|
+
queryUtils.setLabelParams(params, labels);
|
|
36
31
|
if (summaryOnly) {
|
|
37
32
|
params.set('summaryOnly', 'true');
|
|
38
33
|
}
|
|
34
|
+
if (sortField) {
|
|
35
|
+
params.set('sortBy', sortField);
|
|
36
|
+
params.set('sortOrder', direction || types_1.SortOrder.ASC);
|
|
37
|
+
}
|
|
39
38
|
return params.size ? `devices?${params.toString()}` : 'devices';
|
|
40
39
|
};
|
|
41
40
|
const useDevicesEndpoint = (args) => {
|
|
@@ -52,15 +51,15 @@ const useDevicesSummary = ({ ownerFleets, labels, }) => {
|
|
|
52
51
|
return [deviceList === null || deviceList === void 0 ? void 0 : deviceList.summary, listLoading];
|
|
53
52
|
};
|
|
54
53
|
exports.useDevicesSummary = useDevicesSummary;
|
|
55
|
-
const useDevices = (
|
|
54
|
+
const useDevices = (args) => {
|
|
56
55
|
const [deviceLabelList] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
57
56
|
endpoint: 'devices',
|
|
58
57
|
});
|
|
59
|
-
const [devicesEndpoint, devicesDebouncing] = (0, exports.useDevicesEndpoint)(
|
|
58
|
+
const [devicesEndpoint, devicesDebouncing] = (0, exports.useDevicesEndpoint)(args);
|
|
60
59
|
const [devicesList, devicesLoading, devicesError, devicesRefetch, updating] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
61
60
|
endpoint: devicesEndpoint,
|
|
62
61
|
});
|
|
63
|
-
const allLabels =
|
|
62
|
+
const allLabels = React.useMemo(() => {
|
|
64
63
|
const labelsSet = new Set();
|
|
65
64
|
deviceLabelList === null || deviceLabelList === void 0 ? void 0 : deviceLabelList.items.forEach((device) => {
|
|
66
65
|
const deviceLabels = (0, labels_1.fromAPILabel)(device.metadata.labels || {}).filter((label) => label.key !== 'alias');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDevices.js","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDevices.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"useDevices.js","sourceRoot":"","sources":["../../../../../src/components/Device/DevicesPage/useDevices.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,+CAA2C;AAE3C,4CAAiF;AACjF,2DAAmE;AACnE,yEAAmD;AACnD,kDAAqD;AACrD,8EAA2E;AAc3E,MAAM,kBAAkB,GAAG,CAAC,EAC1B,WAAW,EACX,WAAW,EACX,cAAc,EACd,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,GACS,EAAE,EAAE;IACxB,MAAM,iBAAiB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,4BAAkB,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,4BAAkB,CAAC,YAAY,CAAC,CAAC;IAC5E,MAAM,oBAAoB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,4BAAkB,CAAC,aAAa,CAAC,CAAC;IAEhF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,UAAU,CAAC,kBAAkB,CAAC,cAAc,EAAE,mCAAmC,EAAE,iBAAiB,CAAC,CAAC;IACtG,UAAU,CAAC,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;IAC1F,UAAU,CAAC,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;IAE7F,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,CAAC,wBAAwB,CAAC,cAAc,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,kBAAkB,CAC3B,cAAc,EACd,gBAAgB,EAChB,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,iBAAS,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAyB,EAAqB,EAAE;IACjF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,wBAAwB,CAAC,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,CAAC,wBAAwB,EAAE,QAAQ,KAAK,wBAAwB,CAAC,CAAC;AAC3E,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAChC,WAAW,EACX,MAAM,GAIP,EAAyC,EAAE;IAC1C,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,0BAAkB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAA,2CAAoB,EAAa;QACjE,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAEK,MAAM,UAAU,GAAG,CAAC,IAO1B,EAAyE,EAAE;IAC1E,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,2CAAoB,EAAa;QACzD,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,IAAA,2CAAoB,EAAa;QAC7G,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;YACzG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO;QACL,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,KAAI,EAAE;QACxB,cAAc;QACd,YAAY;QACZ,QAAQ,IAAI,iBAAiB;QAC7B,cAAc;QACd,SAAS,IAAI,EAAE;KAChB,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,UAAU,cAoCrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
/* The default color is too light */
|
|
3
|
+
.fctl-pendingdevices-badge {
|
|
4
|
+
--pf-v5-c-badge--m-unread--BackgroundColor: var(--pf-v5-global--active-color--100)
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* For the dark theme, we need to put it back to the correct value */
|
|
8
|
+
.pf-v5-theme-dark .fctl-pendingdevices-badge {
|
|
9
|
+
--pf-v5-c-badge--m-unread--BackgroundColor: var(--pf-v5-global--active-color--300)
|
|
10
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import './PendingEnrollmentRequestsBadge.css';
|
|
3
|
+
declare const PendingEnrollmentRequestsBadge: () => React.JSX.Element | null;
|
|
4
|
+
export default PendingEnrollmentRequestsBadge;
|
|
5
|
+
//# sourceMappingURL=PendingEnrollmentRequestsBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingEnrollmentRequestsBadge.d.ts","sourceRoot":"","sources":["../../../../src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,sCAAsC,CAAC;AAE9C,QAAA,MAAM,8BAA8B,gCAenC,CAAC;AAEF,eAAe,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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_core_1 = require("@patternfly/react-core");
|
|
6
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
7
|
+
const usePendingEnrollmentRequestsCount_1 = require("../../hooks/usePendingEnrollmentRequestsCount");
|
|
8
|
+
const WithTooltip_1 = tslib_1.__importDefault(require("../common/WithTooltip"));
|
|
9
|
+
require("./PendingEnrollmentRequestsBadge.css");
|
|
10
|
+
const PendingEnrollmentRequestsBadge = () => {
|
|
11
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
12
|
+
const [count] = (0, usePendingEnrollmentRequestsCount_1.usePendingEnrollmentRequestsCount)();
|
|
13
|
+
if (count === 0) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const text = t('{{ count }} devices pending approval', { count });
|
|
17
|
+
return (React.createElement(react_core_1.Badge, { className: "fctl-pending-ers-badge pf-v5-u-ml-lg", screenReaderText: text },
|
|
18
|
+
React.createElement(WithTooltip_1.default, { showTooltip: true, content: text },
|
|
19
|
+
React.createElement("span", null, count))));
|
|
20
|
+
};
|
|
21
|
+
exports.default = PendingEnrollmentRequestsBadge;
|
|
22
|
+
//# sourceMappingURL=PendingEnrollmentRequestsBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingEnrollmentRequestsBadge.js","sourceRoot":"","sources":["../../../../src/components/EnrollmentRequest/PendingEnrollmentRequestsBadge.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAA+C;AAE/C,+DAA4D;AAC5D,qGAAkG;AAClG,gFAAgD;AAEhD,gDAA8C;AAE9C,MAAM,8BAA8B,GAAG,GAAG,EAAE;IAC1C,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,qEAAiC,GAAE,CAAC;IACpD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,CACL,oBAAC,kBAAK,IAAC,SAAS,EAAC,sCAAsC,EAAC,gBAAgB,EAAE,IAAI;QAC5E,oBAAC,qBAAW,IAAC,WAAW,QAAC,OAAO,EAAE,IAAI;YACpC,kCAAO,KAAK,CAAQ,CACR,CACR,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FleetDevices.d.ts","sourceRoot":"","sources":["../../../../../src/components/Fleet/FleetDetails/FleetDevices.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAalD,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC;AAyED,QAAA,MAAM,YAAY,gCAAiC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"FleetDevices.d.ts","sourceRoot":"","sources":["../../../../../src/components/Fleet/FleetDetails/FleetDevices.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAalD,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC;AAyED,QAAA,MAAM,YAAY,gCAAiC,iBAAiB,sBAcnE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -34,13 +34,13 @@ const DevicesByDeviceStatusChart = ({ fleetId, deviceStatus, }) => {
|
|
|
34
34
|
return React.createElement(DonutChart_1.default, { title: t('Device status'), data: deviceStatusData, helperText: (0, utils_1.getDeviceStatusHelperText)(t) });
|
|
35
35
|
};
|
|
36
36
|
const FleetDevices = ({ devicesSummary, fleetId }) => {
|
|
37
|
-
return (React.createElement(react_core_1.
|
|
38
|
-
|
|
39
|
-
React.createElement(DevicesByAppStatusChart, { fleetId: fleetId, applicationStatus: devicesSummary.applicationStatus }))
|
|
40
|
-
|
|
41
|
-
React.createElement(DevicesByDeviceStatusChart, { fleetId: fleetId, deviceStatus: devicesSummary.summaryStatus }))
|
|
42
|
-
|
|
43
|
-
React.createElement(DevicesByUpdateStatusChart, { fleetId: fleetId, updateStatus: devicesSummary.updateStatus }))))
|
|
37
|
+
return (React.createElement(react_core_1.Flex, { justifyContent: { default: 'justifyContentSpaceAround' } },
|
|
38
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
39
|
+
React.createElement(DevicesByAppStatusChart, { fleetId: fleetId, applicationStatus: devicesSummary.applicationStatus })),
|
|
40
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
41
|
+
React.createElement(DevicesByDeviceStatusChart, { fleetId: fleetId, deviceStatus: devicesSummary.summaryStatus })),
|
|
42
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
43
|
+
React.createElement(DevicesByUpdateStatusChart, { fleetId: fleetId, updateStatus: devicesSummary.updateStatus }))));
|
|
44
44
|
};
|
|
45
45
|
exports.default = FleetDevices;
|
|
46
46
|
//# sourceMappingURL=FleetDevices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FleetDevices.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/FleetDetails/FleetDevices.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAwD;AAGxD,kEAA+D;AAC/D,2DAAyF;AACzF,yDAA0E;AAC1E,8CAI4B;AAC5B,iFAAiD;AACjD,qEAAsF;AACtF,4DAA+D;AAO/D,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,SAAS,CAAC,GAAG,CAAC,4BAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,EAC/B,OAAO,EACP,iBAAiB,GAIlB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,IAAA,+CAAgC,EAAC,CAAC,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,iBAAiB,EACjB,WAAW,EACX,iBAAiB,CAAC,OAAO,CAAC,EAC1B,4BAAkB,CAAC,YAAY,CAChC,CAAC;IAEF,OAAO,CACL,oBAAC,oBAAU,IAAC,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAA,sCAA8B,EAAC,CAAC,CAAC,GAAI,CACnH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,EAClC,OAAO,EACP,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,IAAA,mCAA0B,EAAC,CAAC,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,YAAY,EACZ,WAAW,EACX,iBAAiB,CAAC,OAAO,CAAC,EAC1B,4BAAkB,CAAC,aAAa,CACjC,CAAC;IAEF,OAAO,oBAAC,oBAAU,IAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAA,iCAAyB,EAAC,CAAC,CAAC,GAAI,CAAC;AACrH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,EAClC,OAAO,EACP,YAAY,GAIb,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,IAAA,8BAAoB,EAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,YAAY,EACZ,WAAW,EACX,iBAAiB,CAAC,OAAO,CAAC,EAC1B,4BAAkB,CAAC,YAAY,CAChC,CAAC;IAEF,OAAO,oBAAC,oBAAU,IAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAA,iCAAyB,EAAC,CAAC,CAAC,GAAI,CAAC;AACrH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,EAAqB,EAAE,EAAE;IACtE,OAAO,CACL,oBAAC,iBAAI,IAAC,
|
|
1
|
+
{"version":3,"file":"FleetDevices.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/FleetDetails/FleetDevices.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FleetsPage.d.ts","sourceRoot":"","sources":["../../../../src/components/Fleet/FleetsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FleetsPage.d.ts","sourceRoot":"","sources":["../../../../src/components/Fleet/FleetsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2L/B,QAAA,MAAM,UAAU,yBAyBf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -6,15 +6,10 @@ const react_core_1 = require("@patternfly/react-core");
|
|
|
6
6
|
const react_table_1 = require("@patternfly/react-table");
|
|
7
7
|
const topology_icon_1 = require("@patternfly/react-icons/dist/js/icons/topology-icon");
|
|
8
8
|
const react_i18next_1 = require("react-i18next");
|
|
9
|
-
const useFetchPeriodically_1 = require("../../hooks/useFetchPeriodically");
|
|
10
9
|
const ListPage_1 = tslib_1.__importDefault(require("../ListPage/ListPage"));
|
|
11
10
|
const ListPageBody_1 = tslib_1.__importDefault(require("../ListPage/ListPageBody"));
|
|
12
|
-
const generic_1 = require("../../utils/sort/generic");
|
|
13
|
-
const fleet_1 = require("../../utils/sort/fleet");
|
|
14
11
|
const TableTextSearch_1 = tslib_1.__importDefault(require("../Table/TableTextSearch"));
|
|
15
12
|
const Table_1 = tslib_1.__importDefault(require("../Table/Table"));
|
|
16
|
-
const useTableTextSearch_1 = require("../../hooks/useTableTextSearch");
|
|
17
|
-
const useTableSort_1 = require("../../hooks/useTableSort");
|
|
18
13
|
const useTableSelect_1 = require("../../hooks/useTableSelect");
|
|
19
14
|
const TableActions_1 = tslib_1.__importDefault(require("../Table/TableActions"));
|
|
20
15
|
const resource_1 = require("../../utils/resource");
|
|
@@ -25,6 +20,8 @@ const useTranslation_1 = require("../../hooks/useTranslation");
|
|
|
25
20
|
const useNavigate_1 = require("../../hooks/useNavigate");
|
|
26
21
|
const DeleteFleetModal_1 = tslib_1.__importDefault(require("./DeleteFleetModal/DeleteFleetModal"));
|
|
27
22
|
const FleetResourceSyncs_1 = tslib_1.__importDefault(require("./FleetResourceSyncs"));
|
|
23
|
+
const useApiTableSort_1 = require("../../hooks/useApiTableSort");
|
|
24
|
+
const useFleets_1 = require("./useFleets");
|
|
28
25
|
const FleetPageActions = ({ createText }) => {
|
|
29
26
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
30
27
|
const navigate = (0, useNavigate_1.useNavigate)();
|
|
@@ -49,45 +46,40 @@ const FleetEmptyState = () => {
|
|
|
49
46
|
const getColumns = (t) => [
|
|
50
47
|
{
|
|
51
48
|
name: t('Name'),
|
|
52
|
-
|
|
49
|
+
sortableField: 'metadata.name',
|
|
50
|
+
defaultSort: true,
|
|
53
51
|
},
|
|
54
52
|
{
|
|
55
53
|
name: t('System image'),
|
|
56
|
-
|
|
54
|
+
sortableField: 'spec.template.spec.os.image',
|
|
57
55
|
},
|
|
58
56
|
{
|
|
59
57
|
name: t('Devices'),
|
|
60
58
|
},
|
|
61
59
|
{
|
|
62
60
|
name: t('Status'),
|
|
63
|
-
onSort: fleet_1.sortByStatus,
|
|
64
61
|
},
|
|
65
62
|
];
|
|
66
|
-
const
|
|
67
|
-
const FleetTable = ({ fleetLoad }) => {
|
|
63
|
+
const FleetTable = ({ name, setName, hasFiltersEnabled, getSortParams, fleetColumns, fleetLoad }) => {
|
|
68
64
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
69
65
|
const [isMassDeleteModalOpen, setIsMassDeleteModalOpen] = React.useState(false);
|
|
70
66
|
const [fleetToDeleteId, setFleetToDeleteId] = React.useState();
|
|
71
|
-
const [
|
|
72
|
-
const columns = React.useMemo(() => getColumns(t), [t]);
|
|
73
|
-
const fleets = (fleetList === null || fleetList === void 0 ? void 0 : fleetList.items) || [];
|
|
74
|
-
const { search, setSearch, filteredData } = (0, useTableTextSearch_1.useTableTextSearch)(fleets, getSearchText);
|
|
75
|
-
const { getSortParams, sortedData: sortedFleets } = (0, useTableSort_1.useTableSort)(filteredData, columns);
|
|
67
|
+
const [fleets, loading, error, isFilterUpdating, refetch] = fleetLoad;
|
|
76
68
|
const { onRowSelect, isAllSelected, hasSelectedRows, isRowSelected, setAllSelected } = (0, useTableSelect_1.useTableSelect)();
|
|
77
69
|
return (React.createElement(ListPageBody_1.default, { error: error, loading: loading },
|
|
78
70
|
React.createElement(react_core_1.Toolbar, { inset: { default: 'insetNone' } },
|
|
79
71
|
React.createElement(react_core_1.ToolbarContent, null,
|
|
80
72
|
React.createElement(react_core_1.ToolbarGroup, null,
|
|
81
73
|
React.createElement(react_core_1.ToolbarItem, { variant: "search-filter" },
|
|
82
|
-
React.createElement(TableTextSearch_1.default, { value:
|
|
74
|
+
React.createElement(TableTextSearch_1.default, { value: name, setValue: setName, placeholder: t('Search by name') }))),
|
|
83
75
|
React.createElement(react_core_1.ToolbarItem, null,
|
|
84
76
|
React.createElement(FleetPageActions, { createText: t('Create fleet') })),
|
|
85
77
|
React.createElement(react_core_1.ToolbarItem, null,
|
|
86
78
|
React.createElement(TableActions_1.default, { isDisabled: !hasSelectedRows },
|
|
87
79
|
React.createElement(react_core_1.SelectList, null,
|
|
88
80
|
React.createElement(react_core_1.SelectOption, { onClick: () => setIsMassDeleteModalOpen(true) }, t('Delete'))))))),
|
|
89
|
-
React.createElement(Table_1.default, { "aria-label": t('Fleets table'), columns:
|
|
90
|
-
React.createElement(react_table_1.Tbody, null,
|
|
81
|
+
React.createElement(Table_1.default, { "aria-label": t('Fleets table'), loading: isFilterUpdating, columns: fleetColumns, emptyFilters: !hasFiltersEnabled, emptyData: fleets.length === 0, getSortParams: getSortParams, isAllSelected: isAllSelected, onSelectAll: setAllSelected },
|
|
82
|
+
React.createElement(react_table_1.Tbody, null, fleets.map((fleet, rowIndex) => (React.createElement(FleetRow_1.default, { key: (0, resource_1.getResourceId)(fleet), fleet: fleet, rowIndex: rowIndex, onDeleteClick: () => {
|
|
91
83
|
setFleetToDeleteId(fleet.metadata.name || '');
|
|
92
84
|
}, isRowSelected: isRowSelected, onRowSelect: onRowSelect }))))),
|
|
93
85
|
fleets.length === 0 && React.createElement(FleetEmptyState, null),
|
|
@@ -97,20 +89,22 @@ const FleetTable = ({ fleetLoad }) => {
|
|
|
97
89
|
}
|
|
98
90
|
setFleetToDeleteId(undefined);
|
|
99
91
|
} })),
|
|
100
|
-
isMassDeleteModalOpen && (React.createElement(MassDeleteFleetModal_1.default, { onClose: () => setIsMassDeleteModalOpen(false), fleets:
|
|
92
|
+
isMassDeleteModalOpen && (React.createElement(MassDeleteFleetModal_1.default, { onClose: () => setIsMassDeleteModalOpen(false), fleets: fleets.filter(isRowSelected), onDeleteSuccess: () => {
|
|
101
93
|
setIsMassDeleteModalOpen(false);
|
|
102
94
|
refetch();
|
|
103
95
|
} }))));
|
|
104
96
|
};
|
|
105
97
|
const FleetsPage = () => {
|
|
106
|
-
var _a;
|
|
107
98
|
const { t } = (0, useTranslation_1.useTranslation)();
|
|
108
99
|
// TODO move the fetch down to FleetTable when the API includes the filter for pending / errored resource syncs
|
|
109
|
-
const
|
|
100
|
+
const columns = React.useMemo(() => getColumns(t), [t]);
|
|
101
|
+
const { name, setName, hasFiltersEnabled } = (0, useFleets_1.useFleetBackendFilters)();
|
|
102
|
+
const { getSortParams, sortField, direction } = (0, useApiTableSort_1.useApiTableSort)(columns);
|
|
103
|
+
const fleetLoad = (0, useFleets_1.useFleets)({ name, addDevicesCount: true, sortField, direction });
|
|
110
104
|
return (React.createElement(React.Fragment, null,
|
|
111
|
-
React.createElement(FleetResourceSyncs_1.default, { fleets:
|
|
105
|
+
React.createElement(FleetResourceSyncs_1.default, { fleets: fleetLoad[0] || [] }),
|
|
112
106
|
React.createElement(ListPage_1.default, { title: t('Fleets') },
|
|
113
|
-
React.createElement(FleetTable, { fleetLoad: fleetLoad }))));
|
|
107
|
+
React.createElement(FleetTable, { name: name, setName: setName, hasFiltersEnabled: hasFiltersEnabled, getSortParams: getSortParams, fleetLoad: fleetLoad, fleetColumns: columns }))));
|
|
114
108
|
};
|
|
115
109
|
exports.default = FleetsPage;
|
|
116
110
|
//# sourceMappingURL=FleetsPage.js.map
|