@flightctl/ui-components 0.5.1 → 0.6.0-rc2
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 +3 -2
- package/dist/src/components/DetailsPage/DetailsPage.d.ts.map +1 -1
- package/dist/src/components/DetailsPage/DetailsPage.js +2 -2
- package/dist/src/components/DetailsPage/DetailsPage.js.map +1 -1
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.d.ts.map +1 -1
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js +5 -3
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -1
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.d.ts.map +1 -1
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js +4 -5
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceAliasEdit.d.ts +10 -0
- package/dist/src/components/Device/DeviceDetails/DeviceAliasEdit.d.ts.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceAliasEdit.js +110 -0
- package/dist/src/components/Device/DeviceDetails/DeviceAliasEdit.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceApplications.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceApplications.js +7 -1
- package/dist/src/components/Device/DeviceDetails/DeviceApplications.js.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +9 -6
- 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 +1 -1
- 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 +3 -3
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTabContent/StatusContent.js.map +1 -1
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTabContent/SystemResourcesContent.js +3 -3
- package/dist/src/components/Device/DeviceDetails/TerminalTab.d.ts.map +1 -1
- package/dist/src/components/Device/DeviceDetails/TerminalTab.js +34 -3
- package/dist/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/DecommissionedDevicesTable.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/DecommissionedDevicesTable.js +1 -1
- 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 +35 -30
- 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 +11 -2
- package/dist/src/components/Device/DevicesPage/DevicesPage.js.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.d.ts.map +1 -1
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.js +14 -11
- package/dist/src/components/Device/DevicesPage/EnrolledDevicesTable.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js +9 -2
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js +21 -6
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js +11 -4
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts +6 -5
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +123 -10
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.d.ts +8 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.d.ts.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.js +19 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.d.ts +8 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.d.ts.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js +49 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js +52 -19
- package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js +13 -16
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js +5 -5
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.js +2 -2
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.d.ts +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js +16 -16
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceUpdateStep.d.ts +8 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceUpdateStep.d.ts.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceUpdateStep.js +58 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceUpdateStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.d.ts +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewApplications.d.ts +2 -2
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewApplications.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewApplications.js +17 -12
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewApplications.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.d.ts +2 -4
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewUpdatePolicy.d.ts +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewUpdatePolicy.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewUpdatePolicy.js.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/utils.d.ts +29 -3
- package/dist/src/components/Device/EditDeviceWizard/utils.d.ts.map +1 -1
- package/dist/src/components/Device/EditDeviceWizard/utils.js +8 -7
- package/dist/src/components/Device/EditDeviceWizard/utils.js.map +1 -1
- package/dist/src/components/Device/SystemdUnitsModal/SystemdUnitsModal.d.ts.map +1 -1
- package/dist/src/components/Device/SystemdUnitsModal/SystemdUnitsModal.js.map +1 -1
- package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.d.ts +1 -4
- package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.d.ts.map +1 -1
- package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.js.map +1 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.d.ts.map +1 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js +5 -5
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js.map +1 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.d.ts +2 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.d.ts.map +1 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.js +19 -11
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.js.map +1 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.d.ts.map +1 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js +5 -1
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js.map +1 -1
- package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.d.ts +2 -1
- package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.d.ts.map +1 -1
- package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.js +8 -4
- package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js +2 -2
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js +8 -1
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/fleetSpecUtils.d.ts +19 -2
- package/dist/src/components/Fleet/CreateFleet/fleetSpecUtils.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/fleetSpecUtils.js +53 -18
- package/dist/src/components/Fleet/CreateFleet/fleetSpecUtils.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.d.ts +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js +1 -2
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateConfirmChangesModal.d.ts +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateConfirmChangesModal.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateConfirmChangesModal.js +9 -0
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateConfirmChangesModal.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.d.ts +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.js +22 -9
- package/dist/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepDisruptionBudget.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepDisruptionBudget.js +4 -4
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepDisruptionBudget.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.js +5 -5
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.js.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.css +3 -0
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.d.ts +9 -0
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.d.ts.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.js +127 -0
- package/dist/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/utils.d.ts +1 -1
- package/dist/src/components/Fleet/CreateFleet/utils.d.ts.map +1 -1
- package/dist/src/components/Fleet/CreateFleet/utils.js +13 -4
- package/dist/src/components/Fleet/CreateFleet/utils.js.map +1 -1
- package/dist/src/components/Fleet/FleetsPage.d.ts.map +1 -1
- package/dist/src/components/Fleet/FleetsPage.js +8 -12
- package/dist/src/components/Fleet/FleetsPage.js.map +1 -1
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js +1 -1
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js.map +1 -1
- package/dist/src/components/ListPage/ListPage.d.ts +1 -0
- package/dist/src/components/ListPage/ListPage.d.ts.map +1 -1
- package/dist/src/components/ListPage/ListPage.js +3 -3
- package/dist/src/components/ListPage/ListPage.js.map +1 -1
- package/dist/src/components/Masthead/CommandLineToolsPage.d.ts +4 -0
- package/dist/src/components/Masthead/CommandLineToolsPage.d.ts.map +1 -0
- package/dist/src/components/Masthead/CommandLineToolsPage.js +90 -0
- package/dist/src/components/Masthead/CommandLineToolsPage.js.map +1 -0
- package/dist/src/components/Masthead/UserPreferencesModal.d.ts.map +1 -0
- package/dist/src/components/Masthead/UserPreferencesModal.js.map +1 -0
- package/dist/src/components/Masthead/UserPreferencesProvider.d.ts.map +1 -0
- package/dist/src/components/Masthead/UserPreferencesProvider.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js +3 -3
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js.map +1 -1
- package/dist/src/components/OverviewPage/Cards/Tasks/TasksCard.d.ts +4 -0
- package/dist/src/components/OverviewPage/Cards/Tasks/TasksCard.d.ts.map +1 -0
- package/dist/src/components/OverviewPage/Cards/{ToDo/ToDoCard.js → Tasks/TasksCard.js} +4 -4
- package/dist/src/components/OverviewPage/Cards/Tasks/TasksCard.js.map +1 -0
- package/dist/src/components/OverviewPage/Overview.js +2 -2
- package/dist/src/components/OverviewPage/Overview.js.map +1 -1
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.d.ts.map +1 -1
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js +6 -5
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -1
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.d.ts.map +1 -1
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js +3 -3
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js.map +1 -1
- package/dist/src/components/Repository/CreateRepository/utils.d.ts.map +1 -1
- package/dist/src/components/Repository/CreateRepository/utils.js +4 -1
- package/dist/src/components/Repository/CreateRepository/utils.js.map +1 -1
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.d.ts.map +1 -1
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js +1 -1
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js.map +1 -1
- package/dist/src/components/Repository/RepositoryList.d.ts.map +1 -1
- package/dist/src/components/Repository/RepositoryList.js +3 -11
- 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 +3 -6
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -1
- package/dist/src/components/Status/DeviceResourceStatus.js +3 -3
- package/dist/src/components/Status/utils.d.ts.map +1 -1
- package/dist/src/components/Status/utils.js +3 -3
- package/dist/src/components/Status/utils.js.map +1 -1
- package/dist/src/components/Table/Table.d.ts +2 -1
- package/dist/src/components/Table/Table.d.ts.map +1 -1
- package/dist/src/components/Table/Table.js +9 -5
- package/dist/src/components/Table/Table.js.map +1 -1
- package/dist/src/components/Table/TablePagination.d.ts.map +1 -1
- package/dist/src/components/Table/TablePagination.js +1 -1
- package/dist/src/components/Table/TablePagination.js.map +1 -1
- package/dist/src/components/Terminal/Terminal.d.ts +1 -1
- package/dist/src/components/Terminal/Terminal.d.ts.map +1 -1
- package/dist/src/components/Terminal/Terminal.js +10 -3
- package/dist/src/components/Terminal/Terminal.js.map +1 -1
- 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/common/WithHelperText.d.ts +10 -5
- package/dist/src/components/common/WithHelperText.d.ts.map +1 -1
- package/dist/src/components/common/WithHelperText.js +13 -8
- package/dist/src/components/common/WithHelperText.js.map +1 -1
- package/dist/src/components/form/CheckboxField.d.ts +6 -3
- package/dist/src/components/form/CheckboxField.d.ts.map +1 -1
- package/dist/src/components/form/CheckboxField.js +20 -1
- package/dist/src/components/form/CheckboxField.js.map +1 -1
- package/dist/src/components/form/FormSelectTypeahead.d.ts +3 -3
- package/dist/src/components/form/FormSelectTypeahead.d.ts.map +1 -1
- package/dist/src/components/form/FormSelectTypeahead.js +43 -53
- package/dist/src/components/form/FormSelectTypeahead.js.map +1 -1
- package/dist/src/components/form/RichValidationTextField.d.ts +1 -1
- package/dist/src/components/form/RichValidationTextField.d.ts.map +1 -1
- package/dist/src/components/form/RichValidationTextField.js +8 -4
- package/dist/src/components/form/RichValidationTextField.js.map +1 -1
- package/dist/src/components/form/validations.d.ts +44 -4
- package/dist/src/components/form/validations.d.ts.map +1 -1
- package/dist/src/components/form/validations.js +148 -25
- package/dist/src/components/form/validations.js.map +1 -1
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js +5 -3
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js.map +1 -1
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.d.ts.map +1 -1
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js +3 -2
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js.map +1 -1
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.d.ts.map +1 -1
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js +7 -12
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js.map +1 -1
- package/dist/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.js +4 -4
- package/dist/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.js.map +1 -1
- package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js +4 -4
- package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js.map +1 -1
- package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js +2 -2
- package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js.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/timeZones.d.ts +3 -0
- package/dist/src/hooks/timeZones.d.ts.map +1 -0
- package/dist/src/hooks/timeZones.js +607 -0
- package/dist/src/hooks/timeZones.js.map +1 -0
- package/dist/src/hooks/useAppContext.d.ts +14 -8
- package/dist/src/hooks/useAppContext.d.ts.map +1 -1
- package/dist/src/hooks/useAppContext.js +13 -6
- package/dist/src/hooks/useAppContext.js.map +1 -1
- package/dist/src/hooks/useFetch.d.ts +3 -5
- package/dist/src/hooks/useFetch.d.ts.map +1 -1
- package/dist/src/hooks/useFetch.js +3 -2
- package/dist/src/hooks/useFetch.js.map +1 -1
- package/dist/src/hooks/useNavigate.d.ts +2 -1
- package/dist/src/hooks/useNavigate.d.ts.map +1 -1
- package/dist/src/hooks/useNavigate.js +1 -0
- package/dist/src/hooks/useNavigate.js.map +1 -1
- package/dist/src/hooks/useTimeZones.d.ts +4 -0
- package/dist/src/hooks/useTimeZones.d.ts.map +1 -0
- package/dist/src/hooks/useTimeZones.js +22 -0
- package/dist/src/hooks/useTimeZones.js.map +1 -0
- package/dist/src/hooks/useWebSocket.d.ts +6 -2
- package/dist/src/hooks/useWebSocket.d.ts.map +1 -1
- package/dist/src/hooks/useWebSocket.js +22 -7
- package/dist/src/hooks/useWebSocket.js.map +1 -1
- package/dist/src/links.d.ts +3 -0
- package/dist/src/links.d.ts.map +1 -1
- package/dist/src/links.js +10 -3
- package/dist/src/links.js.map +1 -1
- package/dist/src/types/deviceSpec.d.ts +93 -5
- package/dist/src/types/deviceSpec.d.ts.map +1 -1
- package/dist/src/types/deviceSpec.js +28 -2
- package/dist/src/types/deviceSpec.js.map +1 -1
- package/dist/src/types/extraTypes.d.ts +19 -1
- package/dist/src/types/extraTypes.d.ts.map +1 -1
- package/dist/src/types/extraTypes.js.map +1 -1
- package/dist/src/utils/labels.d.ts +1 -0
- package/dist/src/utils/labels.d.ts.map +1 -1
- package/dist/src/utils/labels.js +9 -2
- package/dist/src/utils/labels.js.map +1 -1
- package/dist/src/utils/patch.d.ts +13 -5
- package/dist/src/utils/patch.d.ts.map +1 -1
- package/dist/src/utils/patch.js +115 -71
- package/dist/src/utils/patch.js.map +1 -1
- package/dist/src/utils/query.d.ts +1 -0
- package/dist/src/utils/query.d.ts.map +1 -1
- package/dist/src/utils/query.js +10 -3
- package/dist/src/utils/query.js.map +1 -1
- package/dist/src/utils/search.d.ts +6 -0
- package/dist/src/utils/search.d.ts.map +1 -1
- package/dist/src/utils/search.js +9 -1
- package/dist/src/utils/search.js.map +1 -1
- package/dist/src/utils/time.d.ts +31 -0
- package/dist/src/utils/time.d.ts.map +1 -0
- package/dist/src/utils/time.js +134 -0
- package/dist/src/utils/time.js.map +1 -0
- package/package.json +1 -4
- package/src/components/DetailsPage/DetailsPage.tsx +6 -4
- package/src/components/DetailsPage/Tables/ApplicationsTable.tsx +6 -3
- package/src/components/Device/AddDeviceModal/AddDeviceModal.tsx +4 -13
- package/src/components/Device/DeviceDetails/DeviceAliasEdit.tsx +180 -0
- package/src/components/Device/DeviceDetails/DeviceApplications.tsx +8 -1
- package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +21 -5
- package/src/components/Device/DeviceDetails/DeviceDetailsTab.tsx +3 -4
- package/src/components/Device/DeviceDetails/DeviceDetailsTabContent/StatusContent.tsx +7 -10
- package/src/components/Device/DeviceDetails/DeviceDetailsTabContent/SystemResourcesContent.tsx +3 -3
- package/src/components/Device/DeviceDetails/TerminalTab.tsx +43 -5
- package/src/components/Device/DevicesPage/DecommissionedDevicesTable.tsx +2 -1
- package/src/components/Device/DevicesPage/DeviceToolbarFilters.tsx +66 -38
- package/src/components/Device/DevicesPage/DevicesPage.tsx +11 -2
- package/src/components/Device/DevicesPage/EnrolledDevicesTable.tsx +16 -11
- package/src/components/Device/EditDeviceWizard/EditDeviceWizard.tsx +11 -2
- package/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.tsx +22 -6
- package/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.tsx +15 -2
- package/src/components/Device/EditDeviceWizard/deviceSpecUtils.ts +147 -14
- package/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.tsx +28 -0
- package/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.tsx +94 -0
- package/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.tsx +81 -50
- package/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.tsx +23 -28
- package/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.tsx +1 -2
- package/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.tsx +18 -39
- package/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.tsx +8 -14
- package/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.tsx +26 -39
- package/src/components/Device/EditDeviceWizard/steps/DeviceUpdateStep.tsx +88 -0
- package/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.tsx +1 -1
- package/src/components/Device/EditDeviceWizard/steps/ReviewApplications.tsx +18 -19
- package/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.tsx +3 -3
- package/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.tsx +2 -2
- package/src/components/Device/EditDeviceWizard/steps/ReviewUpdatePolicy.tsx +2 -1
- package/src/components/Device/EditDeviceWizard/steps/SystemdUnitsForm.tsx +1 -1
- package/src/components/Device/EditDeviceWizard/utils.ts +16 -9
- package/src/components/Device/SystemdUnitsModal/SystemdUnitsModal.tsx +7 -6
- package/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.tsx +1 -5
- package/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.tsx +7 -9
- package/src/components/EnrollmentRequest/EnrollmentRequestList.tsx +30 -17
- package/src/components/EnrollmentRequest/EnrollmentRequestTableRow.tsx +5 -1
- package/src/components/EnrollmentRequest/useEnrollmentRequests.ts +12 -4
- package/src/components/Fleet/CreateFleet/CreateFleetWizard.tsx +4 -3
- package/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.tsx +9 -2
- package/src/components/Fleet/CreateFleet/fleetSpecUtils.ts +51 -17
- package/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.tsx +1 -1
- package/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.tsx +2 -13
- package/src/components/Fleet/CreateFleet/steps/ReviewStep.tsx +3 -3
- package/src/components/Fleet/CreateFleet/steps/UpdateConfirmChangesModal.tsx +10 -1
- package/src/components/Fleet/CreateFleet/steps/UpdatePolicyStep.tsx +49 -16
- package/src/components/Fleet/CreateFleet/steps/UpdateStepDisruptionBudget.tsx +18 -33
- package/src/components/Fleet/CreateFleet/steps/UpdateStepRolloutPolicy.tsx +14 -24
- package/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.css +3 -0
- package/src/components/Fleet/CreateFleet/steps/UpdateStepUpdatePolicy.tsx +246 -0
- package/src/components/Fleet/CreateFleet/utils.ts +23 -7
- package/src/components/Fleet/FleetsPage.tsx +15 -17
- package/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.tsx +1 -1
- package/src/components/ListPage/ListPage.tsx +7 -4
- package/src/components/Masthead/CommandLineToolsPage.tsx +179 -0
- package/src/components/OverviewPage/Cards/Status/StatusCard.tsx +6 -6
- package/src/components/OverviewPage/Cards/{ToDo/ToDoCard.tsx → Tasks/TasksCard.tsx} +3 -3
- package/src/components/OverviewPage/Overview.tsx +2 -2
- package/src/components/Repository/CreateRepository/CreateRepositoryForm.tsx +11 -26
- package/src/components/Repository/CreateRepository/CreateResourceSyncsForm.tsx +8 -17
- package/src/components/Repository/CreateRepository/utils.ts +4 -1
- package/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.tsx +3 -4
- package/src/components/Repository/RepositoryList.tsx +9 -16
- package/src/components/ResourceSync/RepositoryResourceSyncList.tsx +7 -11
- package/src/components/Status/DeviceResourceStatus.tsx +4 -4
- package/src/components/Status/utils.ts +3 -5
- package/src/components/Table/Table.tsx +32 -9
- package/src/components/Table/TablePagination.tsx +0 -1
- package/src/components/Terminal/Terminal.tsx +10 -4
- package/src/components/charts/DonutChart.tsx +2 -2
- package/src/components/common/LeaveFormConfirmation.tsx +2 -2
- package/src/components/common/WithHelperText.tsx +53 -21
- package/src/components/form/CheckboxField.tsx +28 -3
- package/src/components/form/FormSelectTypeahead.tsx +53 -80
- package/src/components/form/RichValidationTextField.tsx +73 -62
- package/src/components/form/validations.ts +207 -28
- package/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.tsx +5 -5
- package/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.tsx +3 -2
- package/src/components/modals/EditLabelsModal/EditLabelsForm.tsx +9 -20
- package/src/components/modals/massModals/MassDecommissionDeviceModal/MassDecommissionDeviceModal.tsx +2 -2
- package/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.tsx +2 -2
- package/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.tsx +2 -2
- package/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.tsx +2 -2
- package/src/hooks/timeZones.ts +606 -0
- package/src/hooks/useAppContext.tsx +20 -10
- package/src/hooks/useFetch.ts +3 -2
- package/src/hooks/useNavigate.tsx +1 -0
- package/src/hooks/useTimeZones.ts +26 -0
- package/src/hooks/useWebSocket.ts +29 -7
- package/src/links.ts +13 -4
- package/src/types/deviceSpec.ts +118 -2
- package/src/types/extraTypes.ts +33 -1
- package/src/utils/labels.ts +7 -1
- package/src/utils/patch.ts +126 -72
- package/src/utils/query.ts +13 -4
- package/src/utils/search.ts +8 -0
- package/src/utils/time.ts +147 -0
- package/dist/jest.config.d.ts +0 -12
- package/dist/jest.config.d.ts.map +0 -1
- package/dist/jest.config.js +0 -24
- package/dist/jest.config.js.map +0 -1
- package/dist/src/components/DetailsPage/DetailsPage.spec.d.ts +0 -2
- package/dist/src/components/DetailsPage/DetailsPage.spec.d.ts.map +0 -1
- package/dist/src/components/DetailsPage/DetailsPage.spec.js +0 -81
- package/dist/src/components/DetailsPage/DetailsPage.spec.js.map +0 -1
- package/dist/src/components/Device/EditDeviceWizard/types.d.ts +0 -23
- package/dist/src/components/Device/EditDeviceWizard/types.d.ts.map +0 -1
- package/dist/src/components/Device/EditDeviceWizard/types.js +0 -3
- package/dist/src/components/Device/EditDeviceWizard/types.js.map +0 -1
- package/dist/src/components/Fleet/CreateFleet/types.d.ts +0 -29
- package/dist/src/components/Fleet/CreateFleet/types.d.ts.map +0 -1
- package/dist/src/components/Fleet/CreateFleet/types.js +0 -9
- package/dist/src/components/Fleet/CreateFleet/types.js.map +0 -1
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.d.ts +0 -4
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.d.ts.map +0 -1
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js.map +0 -1
- package/dist/src/components/UserPreferences/UserPreferencesModal.d.ts.map +0 -1
- package/dist/src/components/UserPreferences/UserPreferencesModal.js.map +0 -1
- package/dist/src/components/UserPreferences/UserPreferencesProvider.d.ts.map +0 -1
- package/dist/src/components/UserPreferences/UserPreferencesProvider.js.map +0 -1
- package/dist/src/setupTests.d.ts +0 -2
- package/dist/src/setupTests.d.ts.map +0 -1
- package/dist/src/setupTests.js +0 -24
- package/dist/src/setupTests.js.map +0 -1
- package/dist/src/tests/test-utils.d.ts +0 -7
- package/dist/src/tests/test-utils.d.ts.map +0 -1
- package/dist/src/tests/test-utils.js +0 -21
- package/dist/src/tests/test-utils.js.map +0 -1
- package/src/components/DetailsPage/DetailsPage.spec.tsx +0 -128
- package/src/components/Device/EditDeviceWizard/types.ts +0 -22
- package/src/components/Fleet/CreateFleet/types.ts +0 -33
- package/src/setupTests.ts +0 -21
- package/src/tests/test-utils.tsx +0 -21
- /package/dist/src/components/{UserPreferences → Masthead}/UserPreferencesModal.d.ts +0 -0
- /package/dist/src/components/{UserPreferences → Masthead}/UserPreferencesModal.js +0 -0
- /package/dist/src/components/{UserPreferences → Masthead}/UserPreferencesProvider.d.ts +0 -0
- /package/dist/src/components/{UserPreferences → Masthead}/UserPreferencesProvider.js +0 -0
- /package/src/components/{UserPreferences → Masthead}/UserPreferencesModal.tsx +0 -0
- /package/src/components/{UserPreferences → Masthead}/UserPreferencesProvider.tsx +0 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Alert,
|
|
4
|
+
Button,
|
|
5
|
+
Divider,
|
|
6
|
+
Flex,
|
|
7
|
+
FlexItem,
|
|
8
|
+
List,
|
|
9
|
+
ListItem,
|
|
10
|
+
PageSection,
|
|
11
|
+
PageSectionVariants,
|
|
12
|
+
Spinner,
|
|
13
|
+
Stack,
|
|
14
|
+
StackItem,
|
|
15
|
+
Title,
|
|
16
|
+
} from '@patternfly/react-core';
|
|
17
|
+
import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
18
|
+
|
|
19
|
+
import TechPreviewBadge from '../common/TechPreviewBadge';
|
|
20
|
+
import { useTranslation } from '../../hooks/useTranslation';
|
|
21
|
+
import { useAppContext } from '../../hooks/useAppContext';
|
|
22
|
+
import { getErrorMessage } from '../../utils/error';
|
|
23
|
+
import { CliArtifactsResponse } from '../../types/extraTypes';
|
|
24
|
+
|
|
25
|
+
type CommandLineToolsContentProps = {
|
|
26
|
+
productName: string;
|
|
27
|
+
loading: boolean;
|
|
28
|
+
loadError?: string;
|
|
29
|
+
artifactsResponse?: CliArtifactsResponse;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
type CommandLineArtifact = CliArtifactsResponse['artifacts'][0];
|
|
33
|
+
|
|
34
|
+
// "Not implemented" response from the UI Proxy when artifact functionality is disabled
|
|
35
|
+
const cliArtifactsDisabledError = 'Error 501';
|
|
36
|
+
|
|
37
|
+
const getArtifactUrl = (baseUrl: string, artifact: CommandLineArtifact) => {
|
|
38
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
39
|
+
return `${normalizedBaseUrl}/${artifact.arch}/${artifact.os}/${artifact.filename}`;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const CommandLineToolsContent = ({
|
|
43
|
+
productName,
|
|
44
|
+
loading,
|
|
45
|
+
loadError,
|
|
46
|
+
artifactsResponse,
|
|
47
|
+
}: CommandLineToolsContentProps) => {
|
|
48
|
+
const { t } = useTranslation();
|
|
49
|
+
|
|
50
|
+
if (loading) {
|
|
51
|
+
return <Spinner size="sm" />;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
let errorMessage = loadError;
|
|
55
|
+
|
|
56
|
+
const cliArtifacts = artifactsResponse?.artifacts || [];
|
|
57
|
+
if (cliArtifacts.length === 0) {
|
|
58
|
+
errorMessage = t('No {{ productName }} command line tools were found for this deployment at this time.', {
|
|
59
|
+
productName,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (errorMessage) {
|
|
64
|
+
return (
|
|
65
|
+
<Alert
|
|
66
|
+
isInline
|
|
67
|
+
variant="danger"
|
|
68
|
+
title={t('Could not list the {{ productName }} command line tools', { productName })}
|
|
69
|
+
>
|
|
70
|
+
{errorMessage}
|
|
71
|
+
</Alert>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<List>
|
|
77
|
+
{cliArtifacts.map((cliArtifact) => {
|
|
78
|
+
const linkText = t('Download flightctl CLI for {{ os }} for {{ arch }}', {
|
|
79
|
+
os: cliArtifact.os,
|
|
80
|
+
arch: cliArtifact.arch,
|
|
81
|
+
});
|
|
82
|
+
return (
|
|
83
|
+
<ListItem key={cliArtifact.filename}>
|
|
84
|
+
<Button
|
|
85
|
+
component="a"
|
|
86
|
+
variant="link"
|
|
87
|
+
isInline
|
|
88
|
+
href={getArtifactUrl(artifactsResponse?.baseUrl || '', cliArtifact)}
|
|
89
|
+
target="_blank"
|
|
90
|
+
rel="noopener noreferrer"
|
|
91
|
+
icon={<ExternalLinkAltIcon />}
|
|
92
|
+
iconPosition="end"
|
|
93
|
+
aria-label={linkText}
|
|
94
|
+
>
|
|
95
|
+
{linkText}
|
|
96
|
+
</Button>
|
|
97
|
+
</ListItem>
|
|
98
|
+
);
|
|
99
|
+
})}
|
|
100
|
+
</List>
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const CommandLineToolsPage = () => {
|
|
105
|
+
const { t } = useTranslation();
|
|
106
|
+
const { getCliArtifacts, settings } = useAppContext();
|
|
107
|
+
|
|
108
|
+
const [loading, setLoading] = React.useState<boolean>(true);
|
|
109
|
+
const [loadError, setLoadError] = React.useState<string>();
|
|
110
|
+
const [artifactsResponse, setCliArtifactsResponse] = React.useState<CliArtifactsResponse>();
|
|
111
|
+
const [hasArtifactsEnabled, setArtifactsEnabled] = React.useState<boolean>(true);
|
|
112
|
+
|
|
113
|
+
React.useEffect(() => {
|
|
114
|
+
const getLinks = async () => {
|
|
115
|
+
try {
|
|
116
|
+
if (getCliArtifacts) {
|
|
117
|
+
const apiResponse = await getCliArtifacts();
|
|
118
|
+
setCliArtifactsResponse(apiResponse);
|
|
119
|
+
}
|
|
120
|
+
} catch (e) {
|
|
121
|
+
const msg = getErrorMessage(e);
|
|
122
|
+
if (msg.includes(cliArtifactsDisabledError)) {
|
|
123
|
+
setArtifactsEnabled(false);
|
|
124
|
+
} else {
|
|
125
|
+
setLoadError(msg);
|
|
126
|
+
}
|
|
127
|
+
} finally {
|
|
128
|
+
setLoading(false);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
void getLinks();
|
|
132
|
+
}, [getCliArtifacts]);
|
|
133
|
+
|
|
134
|
+
const productName = settings.isRHEM ? t('Red Hat Edge Manager') : t('Flight Control');
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
<PageSection variant={PageSectionVariants.light}>
|
|
138
|
+
<Stack hasGutter>
|
|
139
|
+
<StackItem>
|
|
140
|
+
<Flex>
|
|
141
|
+
<FlexItem>
|
|
142
|
+
<Title headingLevel="h1">{t('Command Line Tools')}</Title>
|
|
143
|
+
</FlexItem>
|
|
144
|
+
<FlexItem>
|
|
145
|
+
<TechPreviewBadge />
|
|
146
|
+
</FlexItem>
|
|
147
|
+
</Flex>
|
|
148
|
+
</StackItem>
|
|
149
|
+
<Divider className="pf-v5-u-my-lg" />
|
|
150
|
+
<StackItem>
|
|
151
|
+
{t(
|
|
152
|
+
'With the {{ productName }} command line interface, you can manage your fleets, devices and repositories from a terminal.',
|
|
153
|
+
{
|
|
154
|
+
productName,
|
|
155
|
+
},
|
|
156
|
+
)}
|
|
157
|
+
</StackItem>
|
|
158
|
+
{hasArtifactsEnabled ? (
|
|
159
|
+
<StackItem>
|
|
160
|
+
<CommandLineToolsContent
|
|
161
|
+
productName={productName}
|
|
162
|
+
loading={loading}
|
|
163
|
+
loadError={loadError}
|
|
164
|
+
artifactsResponse={artifactsResponse}
|
|
165
|
+
/>
|
|
166
|
+
</StackItem>
|
|
167
|
+
) : (
|
|
168
|
+
<StackItem>
|
|
169
|
+
{t('Command line tools are not available for download in this {{ productName }} installation.', {
|
|
170
|
+
productName,
|
|
171
|
+
})}
|
|
172
|
+
</StackItem>
|
|
173
|
+
)}
|
|
174
|
+
</Stack>
|
|
175
|
+
</PageSection>
|
|
176
|
+
);
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
export default CommandLineToolsPage;
|
|
@@ -80,19 +80,19 @@ const StatusCard = () => {
|
|
|
80
80
|
return (
|
|
81
81
|
<Card>
|
|
82
82
|
<CardHeader>
|
|
83
|
-
<
|
|
84
|
-
<
|
|
83
|
+
<Stack hasGutter>
|
|
84
|
+
<StackItem>
|
|
85
85
|
<CardTitle>{t('Status')}</CardTitle>
|
|
86
|
-
</
|
|
87
|
-
<
|
|
86
|
+
</StackItem>
|
|
87
|
+
<StackItem>
|
|
88
88
|
<StatusCardFilters
|
|
89
89
|
selectedFleets={fleets}
|
|
90
90
|
setSelectedFleets={setFleets}
|
|
91
91
|
selectedLabels={labels}
|
|
92
92
|
setSelectedLabels={setLabels}
|
|
93
93
|
/>
|
|
94
|
-
</
|
|
95
|
-
</
|
|
94
|
+
</StackItem>
|
|
95
|
+
</Stack>
|
|
96
96
|
</CardHeader>
|
|
97
97
|
|
|
98
98
|
<CardBody>{content}</CardBody>
|
|
@@ -18,7 +18,7 @@ import { usePendingEnrollmentRequestsCount } from '../../../../hooks/usePendingE
|
|
|
18
18
|
import { Link, ROUTE } from '../../../../hooks/useNavigate';
|
|
19
19
|
import ErrorAlert from '../../../ErrorAlert/ErrorAlert';
|
|
20
20
|
|
|
21
|
-
const
|
|
21
|
+
const TasksCard = () => {
|
|
22
22
|
const { t } = useTranslation();
|
|
23
23
|
|
|
24
24
|
const [pendingErCount, loading, error] = usePendingEnrollmentRequestsCount();
|
|
@@ -59,10 +59,10 @@ const ToDoCard = () => {
|
|
|
59
59
|
|
|
60
60
|
return (
|
|
61
61
|
<Card>
|
|
62
|
-
<CardTitle>{t('
|
|
62
|
+
<CardTitle>{t('Tasks')}</CardTitle>
|
|
63
63
|
<CardBody>{content}</CardBody>
|
|
64
64
|
</Card>
|
|
65
65
|
);
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
export default
|
|
68
|
+
export default TasksCard;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Grid, GridItem } from '@patternfly/react-core';
|
|
3
3
|
import StatusCard from './Cards/Status/StatusCard';
|
|
4
|
-
import
|
|
4
|
+
import TasksCard from './Cards/Tasks/TasksCard';
|
|
5
5
|
import { useAccessReview } from '../../hooks/useAccessReview';
|
|
6
6
|
import { RESOURCE, VERB } from '../../types/rbac';
|
|
7
7
|
import PageWithPermissions from '../common/PageWithPermissions';
|
|
@@ -20,7 +20,7 @@ const Overview = () => {
|
|
|
20
20
|
)}
|
|
21
21
|
{canListErs && (
|
|
22
22
|
<GridItem md={6} lg={4}>
|
|
23
|
-
<
|
|
23
|
+
<TasksCard />
|
|
24
24
|
</GridItem>
|
|
25
25
|
)}
|
|
26
26
|
</Grid>
|
|
@@ -32,8 +32,9 @@ import {
|
|
|
32
32
|
} from './utils';
|
|
33
33
|
import { RepoSpecType, Repository, ResourceSync } from '@flightctl/types';
|
|
34
34
|
import { getErrorMessage } from '../../../utils/error';
|
|
35
|
+
import { DEMO_REPOSITORY_URL } from '../../../links';
|
|
35
36
|
import LeaveFormConfirmation from '../../common/LeaveFormConfirmation';
|
|
36
|
-
import
|
|
37
|
+
import LabelWithHelperText, { FormGroupWithHelperText } from '../../common/WithHelperText';
|
|
37
38
|
import NameField from '../../form/NameField';
|
|
38
39
|
import TextAreaField from '../../form/TextAreaField';
|
|
39
40
|
import CheckboxField from '../../form/CheckboxField';
|
|
@@ -67,16 +68,9 @@ const AdvancedSection = () => {
|
|
|
67
68
|
<Grid hasGutter className={showConfigTypeRadios ? 'fctl-create-repo__adv-section--nested' : ''}>
|
|
68
69
|
{values.repoType === RepoSpecType.HTTP && (
|
|
69
70
|
<FormSection>
|
|
70
|
-
<
|
|
71
|
+
<FormGroupWithHelperText
|
|
71
72
|
label={t('Validation suffix')}
|
|
72
|
-
|
|
73
|
-
<WithHelperText
|
|
74
|
-
ariaLabel={t('Validation suffix')}
|
|
75
|
-
content={t(
|
|
76
|
-
"Suffix to the repository's base URL used to validate if the HTTP service is accessible.",
|
|
77
|
-
)}
|
|
78
|
-
/>
|
|
79
|
-
}
|
|
73
|
+
content={t("Suffix to the repository's base URL used to validate if the HTTP service is accessible.")}
|
|
80
74
|
>
|
|
81
75
|
<TextField
|
|
82
76
|
aria-label={t('Validation suffix')}
|
|
@@ -90,7 +84,7 @@ const AdvancedSection = () => {
|
|
|
90
84
|
)
|
|
91
85
|
}
|
|
92
86
|
/>
|
|
93
|
-
</
|
|
87
|
+
</FormGroupWithHelperText>
|
|
94
88
|
</FormSection>
|
|
95
89
|
)}
|
|
96
90
|
|
|
@@ -121,17 +115,9 @@ const AdvancedSection = () => {
|
|
|
121
115
|
/>
|
|
122
116
|
</FormGroup>
|
|
123
117
|
{values.repoType === RepoSpecType.HTTP && (
|
|
124
|
-
<
|
|
125
|
-
label={
|
|
126
|
-
<WithHelperText
|
|
127
|
-
content={t('JWT authentication token for the HTTP service')}
|
|
128
|
-
ariaLabel={t('Token')}
|
|
129
|
-
showLabel
|
|
130
|
-
/>
|
|
131
|
-
}
|
|
132
|
-
>
|
|
118
|
+
<FormGroupWithHelperText content={t('JWT authentication token for the HTTP service')} label={t('Token')}>
|
|
133
119
|
<TextField name="httpConfig.token" aria-label={t('Token')} />
|
|
134
|
-
</
|
|
120
|
+
</FormGroupWithHelperText>
|
|
135
121
|
)}
|
|
136
122
|
</Grid>
|
|
137
123
|
)}
|
|
@@ -265,7 +251,7 @@ export const RepositoryForm = ({ isEdit }: { isEdit?: boolean }) => {
|
|
|
265
251
|
<TextField
|
|
266
252
|
name="url"
|
|
267
253
|
aria-label={t('Repository URL')}
|
|
268
|
-
helperText={t('For example:
|
|
254
|
+
helperText={t('For example: {{ demoRepositoryUrl }}', { demoRepositoryUrl: DEMO_REPOSITORY_URL })}
|
|
269
255
|
/>
|
|
270
256
|
</FormGroup>
|
|
271
257
|
|
|
@@ -298,11 +284,10 @@ const CreateRepositoryFormContent = ({ isEdit, isReadOnly, onClose, children }:
|
|
|
298
284
|
<Checkbox
|
|
299
285
|
id="use-resource-syncs"
|
|
300
286
|
label={
|
|
301
|
-
<
|
|
302
|
-
|
|
303
|
-
ariaLabel={t('Use resource syncs')}
|
|
287
|
+
<LabelWithHelperText
|
|
288
|
+
label={t('Use resource syncs')}
|
|
304
289
|
content={t(
|
|
305
|
-
|
|
290
|
+
'A resource sync is an automated Gitops method that helps manage your imported fleets by monitoring source repository changes and updating your fleet configuration accordingly.',
|
|
306
291
|
)}
|
|
307
292
|
/>
|
|
308
293
|
}
|
|
@@ -6,7 +6,7 @@ import { PlusCircleIcon } from '@patternfly/react-icons/dist/js/icons/plus-circl
|
|
|
6
6
|
import { useTranslation } from '../../../hooks/useTranslation';
|
|
7
7
|
|
|
8
8
|
import TextField from '../../form/TextField';
|
|
9
|
-
import
|
|
9
|
+
import { FormGroupWithHelperText } from '../../common/WithHelperText';
|
|
10
10
|
import { RepositoryFormValues, ResourceSyncFormValue } from './types';
|
|
11
11
|
import NameField from '../../form/NameField';
|
|
12
12
|
import { getDnsSubdomainValidations } from '../../form/validations';
|
|
@@ -24,29 +24,20 @@ export const CreateResourceSyncForm = ({ rs, index }: { rs: ResourceSyncFormValu
|
|
|
24
24
|
resourceType="resourcesyncs"
|
|
25
25
|
validations={getDnsSubdomainValidations(t)}
|
|
26
26
|
/>
|
|
27
|
-
<
|
|
28
|
-
label={t('Target revision')}
|
|
29
|
-
isRequired
|
|
30
|
-
labelIcon={<WithHelperText ariaLabel={t('Target revision')} content={t('Name of a branch or a tag.')} />}
|
|
31
|
-
>
|
|
27
|
+
<FormGroupWithHelperText label={t('Target revision')} content={t('Name of a branch or a tag.')} isRequired>
|
|
32
28
|
<TextField
|
|
33
29
|
name={`resourceSyncs[${index}].targetRevision`}
|
|
34
30
|
aria-label={t('Target revision')}
|
|
35
31
|
value={rs.targetRevision}
|
|
36
32
|
helperText={t('For example: main')}
|
|
37
33
|
/>
|
|
38
|
-
</
|
|
39
|
-
<
|
|
34
|
+
</FormGroupWithHelperText>
|
|
35
|
+
<FormGroupWithHelperText
|
|
40
36
|
label={t('Path')}
|
|
37
|
+
content={t(
|
|
38
|
+
'The absolute path of a file or directory in the repository. Directories should only contain resource definition files and should not contain additional subdirectories.',
|
|
39
|
+
)}
|
|
41
40
|
isRequired
|
|
42
|
-
labelIcon={
|
|
43
|
-
<WithHelperText
|
|
44
|
-
ariaLabel={t('Path')}
|
|
45
|
-
content={t(
|
|
46
|
-
'The absolute path of a file or directory in the repository. If a directory, the directory should contain only resource definitions with no subdirectories.',
|
|
47
|
-
)}
|
|
48
|
-
/>
|
|
49
|
-
}
|
|
50
41
|
>
|
|
51
42
|
<TextField
|
|
52
43
|
name={`resourceSyncs[${index}].path`}
|
|
@@ -56,7 +47,7 @@ export const CreateResourceSyncForm = ({ rs, index }: { rs: ResourceSyncFormValu
|
|
|
56
47
|
exampleFile: '/demos/basic-nginx-demo/deployment/fleet.yaml',
|
|
57
48
|
})}
|
|
58
49
|
/>
|
|
59
|
-
</
|
|
50
|
+
</FormGroupWithHelperText>
|
|
60
51
|
</FormSection>
|
|
61
52
|
);
|
|
62
53
|
};
|
|
@@ -17,6 +17,7 @@ import { API_VERSION } from '../../../constants';
|
|
|
17
17
|
import { getErrorMessage } from '../../../utils/error';
|
|
18
18
|
import { appendJSONPatch } from '../../../utils/patch';
|
|
19
19
|
import { MAX_TARGET_REVISION_LENGTH, maxLengthString, validKubernetesDnsSubdomain } from '../../form/validations';
|
|
20
|
+
import { DEMO_REPOSITORY_URL } from '../../../links';
|
|
20
21
|
|
|
21
22
|
const MAX_PATH_LENGTH = 2048;
|
|
22
23
|
const gitRepoUrlRegex = new RegExp(
|
|
@@ -439,7 +440,9 @@ export const repositorySchema =
|
|
|
439
440
|
Yup.string()
|
|
440
441
|
.matches(
|
|
441
442
|
gitRepoUrlRegex,
|
|
442
|
-
t('Enter a valid repository URL. Example:
|
|
443
|
+
t('Enter a valid repository URL. Example: {{ demoRepositoryUrl }}', {
|
|
444
|
+
demoRepositoryUrl: DEMO_REPOSITORY_URL,
|
|
445
|
+
}),
|
|
443
446
|
)
|
|
444
447
|
.defined(t('Repository URL is required')),
|
|
445
448
|
otherwise: () =>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Card, CardBody, CardTitle } from '@patternfly/react-core';
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import LabelWithHelperText from '../../common/WithHelperText';
|
|
5
5
|
import RepositoryResourceSyncList from '../../ResourceSync/RepositoryResourceSyncList';
|
|
6
6
|
import { useTranslation } from '../../../hooks/useTranslation';
|
|
7
7
|
|
|
@@ -10,9 +10,8 @@ const ResourceSyncsTab = ({ repositoryId }: { repositoryId: string }) => {
|
|
|
10
10
|
return (
|
|
11
11
|
<Card>
|
|
12
12
|
<CardTitle>
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
ariaLabel={t('Resource syncs')}
|
|
13
|
+
<LabelWithHelperText
|
|
14
|
+
label={t('Resource syncs')}
|
|
16
15
|
content={t(
|
|
17
16
|
'Edge Manager will monitor the specified paths, import the defined fleets and synchronise devices',
|
|
18
17
|
)}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Button,
|
|
4
|
-
DropdownList,
|
|
5
4
|
EmptyStateActions,
|
|
6
5
|
EmptyStateBody,
|
|
7
6
|
EmptyStateFooter,
|
|
8
|
-
SelectOption,
|
|
9
7
|
Toolbar,
|
|
10
8
|
ToolbarContent,
|
|
11
9
|
ToolbarGroup,
|
|
@@ -23,7 +21,6 @@ import { useTableTextSearch } from '../../hooks/useTableTextSearch';
|
|
|
23
21
|
import DeleteRepositoryModal from './RepositoryDetails/DeleteRepositoryModal';
|
|
24
22
|
import TableTextSearch from '../Table/TableTextSearch';
|
|
25
23
|
import Table, { TableColumn } from '../Table/Table';
|
|
26
|
-
import TableActions from '../Table/TableActions';
|
|
27
24
|
import { useTableSelect } from '../../hooks/useTableSelect';
|
|
28
25
|
import MassDeleteRepositoryModal from '../modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal';
|
|
29
26
|
import ResourceListEmptyState from '../common/ResourceListEmptyState';
|
|
@@ -56,12 +53,9 @@ const RepositoryEmptyState = () => {
|
|
|
56
53
|
return (
|
|
57
54
|
<ResourceListEmptyState icon={RepositoryIcon} titleText={t('No repositories here!')}>
|
|
58
55
|
<EmptyStateBody>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
{t(` Adding resource syncs to them will allow you to keep your fleet's configurations updated and synced
|
|
63
|
-
automatically.`)}
|
|
64
|
-
</>
|
|
56
|
+
{t(
|
|
57
|
+
'Repositories make it easier to keep your fleet configurations updated and automatically synced to your devices.',
|
|
58
|
+
)}
|
|
65
59
|
</EmptyStateBody>
|
|
66
60
|
<EmptyStateFooter>
|
|
67
61
|
<EmptyStateActions>
|
|
@@ -187,11 +181,9 @@ const RepositoryTable = () => {
|
|
|
187
181
|
</ToolbarItem>
|
|
188
182
|
{canDelete && (
|
|
189
183
|
<ToolbarItem>
|
|
190
|
-
<
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
</DropdownList>
|
|
194
|
-
</TableActions>
|
|
184
|
+
<Button isDisabled={!hasSelectedRows} onClick={() => setIsMassDeleteModalOpen(true)} variant="secondary">
|
|
185
|
+
{t('Delete repositories')}
|
|
186
|
+
</Button>
|
|
195
187
|
</ToolbarItem>
|
|
196
188
|
)}
|
|
197
189
|
</ToolbarContent>
|
|
@@ -199,8 +191,9 @@ const RepositoryTable = () => {
|
|
|
199
191
|
<Table
|
|
200
192
|
aria-label={t('Repositories table')}
|
|
201
193
|
loading={isUpdating}
|
|
202
|
-
|
|
203
|
-
emptyData={
|
|
194
|
+
hasFilters={!!search}
|
|
195
|
+
emptyData={filteredData.length === 0}
|
|
196
|
+
clearFilters={() => setSearch('')}
|
|
204
197
|
isAllSelected={isAllSelected}
|
|
205
198
|
onSelectAll={setAllSelected}
|
|
206
199
|
columns={columns}
|
|
@@ -7,8 +7,6 @@ import {
|
|
|
7
7
|
EmptyStateBody,
|
|
8
8
|
EmptyStateFooter,
|
|
9
9
|
Modal,
|
|
10
|
-
SelectList,
|
|
11
|
-
SelectOption,
|
|
12
10
|
Toolbar,
|
|
13
11
|
ToolbarContent,
|
|
14
12
|
ToolbarGroup,
|
|
@@ -28,7 +26,6 @@ import Table, { TableColumn } from '../Table/Table';
|
|
|
28
26
|
import { useTableTextSearch } from '../../hooks/useTableTextSearch';
|
|
29
27
|
import TableTextSearch from '../Table/TableTextSearch';
|
|
30
28
|
import { useTableSelect } from '../../hooks/useTableSelect';
|
|
31
|
-
import TableActions from '../Table/TableActions';
|
|
32
29
|
|
|
33
30
|
import MassDeleteResourceSyncModal from '../modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal';
|
|
34
31
|
import ResourceSyncStatus from './ResourceSyncStatus';
|
|
@@ -88,7 +85,7 @@ const ResourceSyncEmptyState = ({ addResourceSync }: { addResourceSync?: VoidFun
|
|
|
88
85
|
<ResourceListEmptyState icon={CodeBranchIcon} titleText={t('No resource syncs here!')}>
|
|
89
86
|
<EmptyStateBody>
|
|
90
87
|
{t(
|
|
91
|
-
|
|
88
|
+
'A resource sync is an automated Gitops method that helps manage your imported fleets by monitoring source repository changes and updating your fleet configuration accordingly.',
|
|
92
89
|
)}
|
|
93
90
|
</EmptyStateBody>
|
|
94
91
|
{addResourceSync && (
|
|
@@ -222,11 +219,9 @@ const RepositoryResourceSyncList = ({ repositoryId }: { repositoryId: string })
|
|
|
222
219
|
</ToolbarGroup>
|
|
223
220
|
{canDelete && (
|
|
224
221
|
<ToolbarItem>
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
</SelectList>
|
|
229
|
-
</TableActions>
|
|
222
|
+
<Button isDisabled={!hasSelectedRows} onClick={() => setIsMassDeleteModalOpen(true)} variant="secondary">
|
|
223
|
+
{t('Delete resource syncs')}
|
|
224
|
+
</Button>
|
|
230
225
|
</ToolbarItem>
|
|
231
226
|
)}
|
|
232
227
|
</ToolbarContent>
|
|
@@ -249,8 +244,9 @@ const RepositoryResourceSyncList = ({ repositoryId }: { repositoryId: string })
|
|
|
249
244
|
isAllSelected={isAllSelected}
|
|
250
245
|
onSelectAll={setAllSelected}
|
|
251
246
|
columns={columns}
|
|
252
|
-
|
|
253
|
-
emptyData={
|
|
247
|
+
hasFilters={!!search}
|
|
248
|
+
emptyData={filteredData.length === 0}
|
|
249
|
+
clearFilters={() => setSearch('')}
|
|
254
250
|
>
|
|
255
251
|
<Tbody>
|
|
256
252
|
{filteredData.map((resourceSync, rowIndex) => {
|
|
@@ -13,15 +13,15 @@ import { useTranslation } from '../../hooks/useTranslation';
|
|
|
13
13
|
import { StatusLevel } from '../../utils/status/common';
|
|
14
14
|
import { StatusDisplayContent } from './StatusDisplay';
|
|
15
15
|
|
|
16
|
-
type MonitorType = keyof DeviceResourceStatus; /*
|
|
16
|
+
type MonitorType = keyof DeviceResourceStatus; /* CPU / Disk / Memory */
|
|
17
17
|
|
|
18
18
|
const getMonitorTypeLabel = (monitorType: MonitorType, t: TFunction) => {
|
|
19
19
|
switch (monitorType) {
|
|
20
|
-
case '
|
|
20
|
+
case 'CPU':
|
|
21
21
|
return t('CPU');
|
|
22
|
-
case '
|
|
22
|
+
case 'Memory':
|
|
23
23
|
return t('Memory');
|
|
24
|
-
case '
|
|
24
|
+
case 'Disk':
|
|
25
25
|
return t('Disk');
|
|
26
26
|
}
|
|
27
27
|
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { TFunction } from 'i18next';
|
|
2
2
|
|
|
3
|
-
export const getApplicationStatusHelperText = (t: TFunction) =>
|
|
4
|
-
|
|
5
|
-
export const getDeviceStatusHelperText = (t: TFunction) =>
|
|
6
|
-
t('Indicates the overall status of the device hardware and operating system.');
|
|
3
|
+
export const getApplicationStatusHelperText = (t: TFunction) => t('Overall status of application workloads.');
|
|
4
|
+
export const getDeviceStatusHelperText = (t: TFunction) => t('Overall status of device hardware and operating system.');
|
|
7
5
|
export const getUpdateStatusHelperText = (t: TFunction) =>
|
|
8
|
-
t('
|
|
6
|
+
t('Current system configuration vs. latest system configuration.');
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Button,
|
|
4
|
+
EmptyState,
|
|
5
|
+
EmptyStateActions,
|
|
6
|
+
EmptyStateBody,
|
|
7
|
+
EmptyStateHeader,
|
|
8
|
+
EmptyStateIcon,
|
|
9
|
+
Spinner,
|
|
10
|
+
} from '@patternfly/react-core';
|
|
3
11
|
import { Table as PFTable, Td, Th, ThProps, Thead, Tr } from '@patternfly/react-table';
|
|
4
12
|
import { useTranslation } from '../../hooks/useTranslation';
|
|
5
|
-
import
|
|
13
|
+
import LabelWithHelperText from '../common/WithHelperText';
|
|
14
|
+
import { SearchIcon } from '@patternfly/react-icons/dist/js/icons';
|
|
6
15
|
|
|
7
16
|
export type ApiSortTableColumn = {
|
|
8
17
|
name: string;
|
|
@@ -28,8 +37,9 @@ type TableProps<D> = {
|
|
|
28
37
|
columns: TableColumn<D>[];
|
|
29
38
|
children: React.ReactNode;
|
|
30
39
|
loading: boolean;
|
|
31
|
-
|
|
40
|
+
hasFilters?: boolean;
|
|
32
41
|
emptyData?: boolean;
|
|
42
|
+
clearFilters?: VoidFunction;
|
|
33
43
|
'aria-label': string;
|
|
34
44
|
// getSortParams: (columnIndex: number) => ThProps['sort'];
|
|
35
45
|
onSelectAll?: (isSelected: boolean) => void;
|
|
@@ -42,20 +52,33 @@ const Table: TableFC = ({
|
|
|
42
52
|
columns,
|
|
43
53
|
children,
|
|
44
54
|
loading,
|
|
45
|
-
|
|
55
|
+
hasFilters,
|
|
46
56
|
emptyData,
|
|
57
|
+
clearFilters,
|
|
47
58
|
onSelectAll,
|
|
48
59
|
isAllSelected,
|
|
49
60
|
...rest
|
|
50
61
|
}) => {
|
|
51
62
|
const { t } = useTranslation();
|
|
52
|
-
if (emptyData &&
|
|
63
|
+
if (emptyData && hasFilters) {
|
|
53
64
|
return loading ? (
|
|
54
65
|
<Spinner size="md" />
|
|
55
66
|
) : (
|
|
56
|
-
<
|
|
57
|
-
<
|
|
58
|
-
|
|
67
|
+
<EmptyState variant="full">
|
|
68
|
+
<EmptyStateHeader
|
|
69
|
+
titleText={t('No results found')}
|
|
70
|
+
icon={<EmptyStateIcon icon={SearchIcon} />}
|
|
71
|
+
headingLevel="h1"
|
|
72
|
+
/>
|
|
73
|
+
<EmptyStateBody>{t('Clear all filters and try again.')}</EmptyStateBody>
|
|
74
|
+
{clearFilters && (
|
|
75
|
+
<EmptyStateActions>
|
|
76
|
+
<Button variant="link" onClick={clearFilters}>
|
|
77
|
+
{t('Clear all filters')}
|
|
78
|
+
</Button>
|
|
79
|
+
</EmptyStateActions>
|
|
80
|
+
)}
|
|
81
|
+
</EmptyState>
|
|
59
82
|
);
|
|
60
83
|
}
|
|
61
84
|
|
|
@@ -75,7 +98,7 @@ const Table: TableFC = ({
|
|
|
75
98
|
{columns.map((c) => (
|
|
76
99
|
<Th key={c.name} {...c.thProps} aria-label={c.name}>
|
|
77
100
|
{c.helperText ? (
|
|
78
|
-
<
|
|
101
|
+
<LabelWithHelperText label={c.name} content={c.helperText} triggerAction="hover" />
|
|
79
102
|
) : (
|
|
80
103
|
c.name
|
|
81
104
|
)}
|