@flightctl/ui-components 0.0.1
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/__mocks__/fileMock.js +3 -0
- package/dist/__mocks__/fileMock.js.map +1 -0
- package/dist/__mocks__/styleMock.js +3 -0
- package/dist/__mocks__/styleMock.js.map +1 -0
- package/dist/jest.config.js +24 -0
- package/dist/jest.config.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsNotFound.js +69 -0
- package/dist/src/components/DetailsPage/DetailsNotFound.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPage.css +3 -0
- package/dist/src/components/DetailsPage/DetailsPage.js +42 -0
- package/dist/src/components/DetailsPage/DetailsPage.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPage.spec.js +81 -0
- package/dist/src/components/DetailsPage/DetailsPage.spec.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPageActions.js +30 -0
- package/dist/src/components/DetailsPage/DetailsPageActions.js.map +1 -0
- package/dist/src/components/DetailsPage/DetailsPageCard.css +8 -0
- package/dist/src/components/DetailsPage/DetailsPageCard.js +12 -0
- package/dist/src/components/DetailsPage/DetailsPageCard.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js +27 -0
- package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/ConditionsTable.js +24 -0
- package/dist/src/components/DetailsPage/Tables/ConditionsTable.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/IntegrityDetails.js +22 -0
- package/dist/src/components/DetailsPage/Tables/IntegrityDetails.js.map +1 -0
- package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js +40 -0
- package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js.map +1 -0
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js +63 -0
- package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +57 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.css +4 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js +114 -0
- package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceFleet.css +3 -0
- package/dist/src/components/Device/DeviceDetails/DeviceFleet.js +50 -0
- package/dist/src/components/Device/DeviceDetails/DeviceFleet.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.css +3 -0
- package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.js +34 -0
- package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/SystemdTable.js +38 -0
- package/dist/src/components/Device/DeviceDetails/SystemdTable.js.map +1 -0
- package/dist/src/components/Device/DeviceDetails/TerminalTab.js +31 -0
- package/dist/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceFilterSelect.js +87 -0
- package/dist/src/components/Device/DeviceList/DeviceFilterSelect.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceList.js +157 -0
- package/dist/src/components/Device/DeviceList/DeviceList.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceTableRow.js +62 -0
- package/dist/src/components/Device/DeviceList/DeviceTableRow.js.map +1 -0
- package/dist/src/components/Device/DeviceList/DeviceTableToolbar.js +80 -0
- package/dist/src/components/Device/DeviceList/DeviceTableToolbar.js.map +1 -0
- package/dist/src/components/Device/DeviceList/types.js +4 -0
- package/dist/src/components/Device/DeviceList/types.js.map +1 -0
- package/dist/src/components/Device/DeviceList/useDeviceBackendFilters.js +94 -0
- package/dist/src/components/Device/DeviceList/useDeviceBackendFilters.js.map +1 -0
- package/dist/src/components/Device/DeviceList/useDeviceFilters.js +16 -0
- package/dist/src/components/Device/DeviceList/useDeviceFilters.js.map +1 -0
- package/dist/src/components/Device/DeviceList/useDeviceLikeResources.js +98 -0
- package/dist/src/components/Device/DeviceList/useDeviceLikeResources.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.css +4 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js +92 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js +32 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js +36 -0
- package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +171 -0
- package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js +15 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js +22 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.css +3 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js +96 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js +94 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js +45 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.js +48 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js +45 -0
- package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/types.js +3 -0
- package/dist/src/components/Device/EditDeviceWizard/types.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/useEditDevice.js +35 -0
- package/dist/src/components/Device/EditDeviceWizard/useEditDevice.js.map +1 -0
- package/dist/src/components/Device/EditDeviceWizard/utils.js +65 -0
- package/dist/src/components/Device/EditDeviceWizard/utils.js.map +1 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js +39 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js.map +1 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js +46 -0
- package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js.map +1 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.css +3 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js +103 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js.map +1 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js +42 -0
- package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js.map +1 -0
- package/dist/src/components/ErrorAlert/ErrorAlert.js +13 -0
- package/dist/src/components/ErrorAlert/ErrorAlert.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.css +3 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js +82 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js +32 -0
- package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js +85 -0
- package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js +30 -0
- package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js +46 -0
- package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/types.js +3 -0
- package/dist/src/components/Fleet/CreateFleet/types.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/useEditFleet.js +35 -0
- package/dist/src/components/Fleet/CreateFleet/useEditFleet.js.map +1 -0
- package/dist/src/components/Fleet/CreateFleet/utils.js +143 -0
- package/dist/src/components/Fleet/CreateFleet/utils.js.map +1 -0
- package/dist/src/components/Fleet/DeleteFleetModal/DeleteFleetModal.js +55 -0
- package/dist/src/components/Fleet/DeleteFleetModal/DeleteFleetModal.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetails.js +49 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetails.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsContent.js +69 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDetailsContent.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.js +40 -0
- package/dist/src/components/Fleet/FleetDetails/FleetDevices.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/FleetOwnerLink.js +37 -0
- package/dist/src/components/Fleet/FleetDetails/FleetOwnerLink.js.map +1 -0
- package/dist/src/components/Fleet/FleetDetails/chartUtils.js +29 -0
- package/dist/src/components/Fleet/FleetDetails/chartUtils.js.map +1 -0
- package/dist/src/components/Fleet/FleetList.js +130 -0
- package/dist/src/components/Fleet/FleetList.js.map +1 -0
- package/dist/src/components/Fleet/FleetRow.js +64 -0
- package/dist/src/components/Fleet/FleetRow.js.map +1 -0
- package/dist/src/components/Fleet/FleetStatus.js +34 -0
- package/dist/src/components/Fleet/FleetStatus.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.css +3 -0
- package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js +106 -0
- package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js +69 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js +31 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js +37 -0
- package/dist/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js.map +1 -0
- package/dist/src/components/Fleet/ImportFleetWizard/types.js +3 -0
- package/dist/src/components/Fleet/ImportFleetWizard/types.js.map +1 -0
- package/dist/src/components/Fleet/ResourceSyncRow.js +36 -0
- package/dist/src/components/Fleet/ResourceSyncRow.js.map +1 -0
- package/dist/src/components/ListPage/ListPage.js +12 -0
- package/dist/src/components/ListPage/ListPage.js.map +1 -0
- package/dist/src/components/ListPage/ListPageActions.js +30 -0
- package/dist/src/components/ListPage/ListPageActions.js.map +1 -0
- package/dist/src/components/ListPage/ListPageBody.js +21 -0
- package/dist/src/components/ListPage/ListPageBody.js.map +1 -0
- package/dist/src/components/ListPage/types.js +3 -0
- package/dist/src/components/ListPage/types.js.map +1 -0
- package/dist/src/components/NavItem/NavItem.js +20 -0
- package/dist/src/components/NavItem/NavItem.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/ApplicationStatusChart.js +30 -0
- package/dist/src/components/OverviewPage/Cards/Status/ApplicationStatusChart.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js +32 -0
- package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js +61 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js +64 -0
- package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/SystemUpdateStatusChart.js +30 -0
- package/dist/src/components/OverviewPage/Cards/Status/SystemUpdateStatusChart.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/Status/utils.js +31 -0
- package/dist/src/components/OverviewPage/Cards/Status/utils.js.map +1 -0
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js +46 -0
- package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js.map +1 -0
- package/dist/src/components/OverviewPage/Overview.js +16 -0
- package/dist/src/components/OverviewPage/Overview.js.map +1 -0
- package/dist/src/components/OverviewPage/OverviewPage.js +17 -0
- package/dist/src/components/OverviewPage/OverviewPage.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepository.js +102 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepository.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.css +7 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js +215 -0
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js +31 -0
- package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/types.js +3 -0
- package/dist/src/components/Repository/CreateRepository/types.js.map +1 -0
- package/dist/src/components/Repository/CreateRepository/utils.js +454 -0
- package/dist/src/components/Repository/CreateRepository/utils.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js +93 -0
- package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js +39 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryGeneralDetailsCard.js +64 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryGeneralDetailsCard.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js +18 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySource.js +24 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySource.js.map +1 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySourceList.js +64 -0
- package/dist/src/components/Repository/RepositoryDetails/RepositorySourceList.js.map +1 -0
- package/dist/src/components/Repository/RepositoryList.js +133 -0
- package/dist/src/components/Repository/RepositoryList.js.map +1 -0
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.css +7 -0
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js +140 -0
- package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -0
- package/dist/src/components/ResourceSync/ResourceSyncStatus.js +65 -0
- package/dist/src/components/ResourceSync/ResourceSyncStatus.js.map +1 -0
- package/dist/src/components/ResourceSync/ResourceSyncToRepository.js +49 -0
- package/dist/src/components/ResourceSync/ResourceSyncToRepository.js.map +1 -0
- package/dist/src/components/Status/ApplicationStatus.js +23 -0
- package/dist/src/components/Status/ApplicationStatus.js.map +1 -0
- package/dist/src/components/Status/ApplicationSummaryStatus.js +23 -0
- package/dist/src/components/Status/ApplicationSummaryStatus.js.map +1 -0
- package/dist/src/components/Status/DeviceResourceStatus.js +84 -0
- package/dist/src/components/Status/DeviceResourceStatus.js.map +1 -0
- package/dist/src/components/Status/DeviceStatus.js +18 -0
- package/dist/src/components/Status/DeviceStatus.js.map +1 -0
- package/dist/src/components/Status/EnrollmentRequestStatus.js +18 -0
- package/dist/src/components/Status/EnrollmentRequestStatus.js.map +1 -0
- package/dist/src/components/Status/IntegrityStatus.js +17 -0
- package/dist/src/components/Status/IntegrityStatus.js.map +1 -0
- package/dist/src/components/Status/RepositoryStatus.js +37 -0
- package/dist/src/components/Status/RepositoryStatus.js.map +1 -0
- package/dist/src/components/Status/StatusDisplay.css +9 -0
- package/dist/src/components/Status/StatusDisplay.js +33 -0
- package/dist/src/components/Status/StatusDisplay.js.map +1 -0
- package/dist/src/components/Status/SystemUpdateStatus.js +24 -0
- package/dist/src/components/Status/SystemUpdateStatus.js.map +1 -0
- package/dist/src/components/Status/SystemdStatus.js +21 -0
- package/dist/src/components/Status/SystemdStatus.js.map +1 -0
- package/dist/src/components/Status/utils.js +10 -0
- package/dist/src/components/Status/utils.js.map +1 -0
- package/dist/src/components/Table/Table.js +28 -0
- package/dist/src/components/Table/Table.js.map +1 -0
- package/dist/src/components/Table/TableActions.js +16 -0
- package/dist/src/components/Table/TableActions.js.map +1 -0
- package/dist/src/components/Table/TableTextSearch.js +13 -0
- package/dist/src/components/Table/TableTextSearch.js.map +1 -0
- package/dist/src/components/Terminal/Terminal.css +1 -0
- package/dist/src/components/Terminal/Terminal.js +79 -0
- package/dist/src/components/Terminal/Terminal.js.map +1 -0
- package/dist/src/components/UserPreferences/UserPreferencesModal.js +34 -0
- package/dist/src/components/UserPreferences/UserPreferencesModal.js.map +1 -0
- package/dist/src/components/UserPreferences/UserPreferencesProvider.js +19 -0
- package/dist/src/components/UserPreferences/UserPreferencesProvider.js.map +1 -0
- package/dist/src/components/charts/DonutChart.css +10 -0
- package/dist/src/components/charts/DonutChart.js +47 -0
- package/dist/src/components/charts/DonutChart.js.map +1 -0
- package/dist/src/components/common/CopyButton.js +18 -0
- package/dist/src/components/common/CopyButton.js.map +1 -0
- package/dist/src/components/common/EditableLabelControl.js +39 -0
- package/dist/src/components/common/EditableLabelControl.js.map +1 -0
- package/dist/src/components/common/ErrorBoundary.js +36 -0
- package/dist/src/components/common/ErrorBoundary.js.map +1 -0
- package/dist/src/components/common/HelperTextItems.js +25 -0
- package/dist/src/components/common/HelperTextItems.js.map +1 -0
- package/dist/src/components/common/LabelsView.css +9 -0
- package/dist/src/components/common/LabelsView.js +18 -0
- package/dist/src/components/common/LabelsView.js.map +1 -0
- package/dist/src/components/common/LeaveFormConfirmation.js +51 -0
- package/dist/src/components/common/LeaveFormConfirmation.js.map +1 -0
- package/dist/src/components/common/ResourceLink.css +29 -0
- package/dist/src/components/common/ResourceLink.js +30 -0
- package/dist/src/components/common/ResourceLink.js.map +1 -0
- package/dist/src/components/common/ResourceListEmptyState.js +10 -0
- package/dist/src/components/common/ResourceListEmptyState.js.map +1 -0
- package/dist/src/components/common/WithHelperText.css +3 -0
- package/dist/src/components/common/WithHelperText.js +16 -0
- package/dist/src/components/common/WithHelperText.js.map +1 -0
- package/dist/src/components/common/WithTooltip.js +8 -0
- package/dist/src/components/common/WithTooltip.js.map +1 -0
- package/dist/src/components/form/CheckboxField.js +29 -0
- package/dist/src/components/form/CheckboxField.js.map +1 -0
- package/dist/src/components/form/FieldHelperText.js +27 -0
- package/dist/src/components/form/FieldHelperText.js.map +1 -0
- package/dist/src/components/form/FilterSelect.css +8 -0
- package/dist/src/components/form/FilterSelect.js +30 -0
- package/dist/src/components/form/FilterSelect.js.map +1 -0
- package/dist/src/components/form/FlightCtlActionGroup.css +9 -0
- package/dist/src/components/form/FlightCtlActionGroup.js +10 -0
- package/dist/src/components/form/FlightCtlActionGroup.js.map +1 -0
- package/dist/src/components/form/FlightCtlForm.js +13 -0
- package/dist/src/components/form/FlightCtlForm.js.map +1 -0
- package/dist/src/components/form/FormSelect.css +8 -0
- package/dist/src/components/form/FormSelect.js +50 -0
- package/dist/src/components/form/FormSelect.js.map +1 -0
- package/dist/src/components/form/LabelsField.js +61 -0
- package/dist/src/components/form/LabelsField.js.map +1 -0
- package/dist/src/components/form/NameField.js +63 -0
- package/dist/src/components/form/NameField.js.map +1 -0
- package/dist/src/components/form/RadioField.js +32 -0
- package/dist/src/components/form/RadioField.js.map +1 -0
- package/dist/src/components/form/RichValidationTextField.js +66 -0
- package/dist/src/components/form/RichValidationTextField.js.map +1 -0
- package/dist/src/components/form/TextAreaField.js +28 -0
- package/dist/src/components/form/TextAreaField.js.map +1 -0
- package/dist/src/components/form/TextField.js +29 -0
- package/dist/src/components/form/TextField.js.map +1 -0
- package/dist/src/components/form/validations.js +286 -0
- package/dist/src/components/form/validations.js.map +1 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js +36 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js.map +1 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js +43 -0
- package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js.map +1 -0
- package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.css +24 -0
- package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.js +62 -0
- package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.js.map +1 -0
- package/dist/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js +14 -0
- package/dist/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js.map +1 -0
- package/dist/src/components/modals/DeleteModal/DeleteModal.js +41 -0
- package/dist/src/components/modals/DeleteModal/DeleteModal.js.map +1 -0
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js +63 -0
- package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js.map +1 -0
- package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.css +4 -0
- package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js +126 -0
- package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js +64 -0
- package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js +84 -0
- package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js +94 -0
- package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js.map +1 -0
- package/dist/src/components/modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal.js +62 -0
- package/dist/src/components/modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal.js.map +1 -0
- package/dist/src/constants.js +8 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/hooks/useAppContext.js +61 -0
- package/dist/src/hooks/useAppContext.js.map +1 -0
- package/dist/src/hooks/useDeviceLabelMatch.js +78 -0
- package/dist/src/hooks/useDeviceLabelMatch.js.map +1 -0
- package/dist/src/hooks/useDocumentTitle.js +17 -0
- package/dist/src/hooks/useDocumentTitle.js.map +1 -0
- package/dist/src/hooks/useFetch.js +10 -0
- package/dist/src/hooks/useFetch.js.map +1 -0
- package/dist/src/hooks/useFetchPeriodically.js +75 -0
- package/dist/src/hooks/useFetchPeriodically.js.map +1 -0
- package/dist/src/hooks/useNavigate.js +65 -0
- package/dist/src/hooks/useNavigate.js.map +1 -0
- package/dist/src/hooks/useTableSelect.js +45 -0
- package/dist/src/hooks/useTableSelect.js.map +1 -0
- package/dist/src/hooks/useTableSort.js +38 -0
- package/dist/src/hooks/useTableSort.js.map +1 -0
- package/dist/src/hooks/useTableTextSearch.js +23 -0
- package/dist/src/hooks/useTableTextSearch.js.map +1 -0
- package/dist/src/hooks/useTemplateVersion.js +22 -0
- package/dist/src/hooks/useTemplateVersion.js.map +1 -0
- package/dist/src/hooks/useThemePreferences.js +61 -0
- package/dist/src/hooks/useThemePreferences.js.map +1 -0
- package/dist/src/hooks/useTranslation.js +12 -0
- package/dist/src/hooks/useTranslation.js.map +1 -0
- package/dist/src/hooks/useUserPreferences.js +16 -0
- package/dist/src/hooks/useUserPreferences.js.map +1 -0
- package/dist/src/hooks/useWebSocket.js +69 -0
- package/dist/src/hooks/useWebSocket.js.map +1 -0
- package/dist/src/setupTests.js +24 -0
- package/dist/src/setupTests.js.map +1 -0
- package/dist/src/tests/test-utils.js +21 -0
- package/dist/src/tests/test-utils.js.map +1 -0
- package/dist/src/types/deviceSpec.js +20 -0
- package/dist/src/types/deviceSpec.js.map +1 -0
- package/dist/src/types/extraTypes.js +20 -0
- package/dist/src/types/extraTypes.js.map +1 -0
- package/dist/src/types/typeUtils.js +12 -0
- package/dist/src/types/typeUtils.js.map +1 -0
- package/dist/src/utils/api.js +68 -0
- package/dist/src/utils/api.js.map +1 -0
- package/dist/src/utils/dates.js +53 -0
- package/dist/src/utils/dates.js.map +1 -0
- package/dist/src/utils/devices.js +37 -0
- package/dist/src/utils/devices.js.map +1 -0
- package/dist/src/utils/error.js +25 -0
- package/dist/src/utils/error.js.map +1 -0
- package/dist/src/utils/labels.js +44 -0
- package/dist/src/utils/labels.js.map +1 -0
- package/dist/src/utils/metrics.js +48 -0
- package/dist/src/utils/metrics.js.map +1 -0
- package/dist/src/utils/patch.js +108 -0
- package/dist/src/utils/patch.js.map +1 -0
- package/dist/src/utils/resource.js +6 -0
- package/dist/src/utils/resource.js.map +1 -0
- package/dist/src/utils/search.js +14 -0
- package/dist/src/utils/search.js.map +1 -0
- package/dist/src/utils/sort/device.js +89 -0
- package/dist/src/utils/sort/device.js.map +1 -0
- package/dist/src/utils/sort/fleet.js +20 -0
- package/dist/src/utils/sort/fleet.js.map +1 -0
- package/dist/src/utils/sort/generic.js +34 -0
- package/dist/src/utils/sort/generic.js.map +1 -0
- package/dist/src/utils/sort/repository.js +28 -0
- package/dist/src/utils/sort/repository.js.map +1 -0
- package/dist/src/utils/sort/resourceSync.js +29 -0
- package/dist/src/utils/sort/resourceSync.js.map +1 -0
- package/dist/src/utils/status/applications.js +56 -0
- package/dist/src/utils/status/applications.js.map +1 -0
- package/dist/src/utils/status/common.js +63 -0
- package/dist/src/utils/status/common.js.map +1 -0
- package/dist/src/utils/status/devices.js +65 -0
- package/dist/src/utils/status/devices.js.map +1 -0
- package/dist/src/utils/status/enrollmentRequest.js +49 -0
- package/dist/src/utils/status/enrollmentRequest.js.map +1 -0
- package/dist/src/utils/status/fleet.js +38 -0
- package/dist/src/utils/status/fleet.js.map +1 -0
- package/dist/src/utils/status/integrity.js +28 -0
- package/dist/src/utils/status/integrity.js.map +1 -0
- package/dist/src/utils/status/repository.js +88 -0
- package/dist/src/utils/status/repository.js.map +1 -0
- package/dist/src/utils/status/system.js +29 -0
- package/dist/src/utils/status/system.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const Yup = tslib_1.__importStar(require("yup"));
|
|
7
|
+
const formik_1 = require("formik");
|
|
8
|
+
const RepositoryStep_1 = tslib_1.__importStar(require("./steps/RepositoryStep"));
|
|
9
|
+
const ReviewStep_1 = tslib_1.__importStar(require("./steps/ReviewStep"));
|
|
10
|
+
const ResourceSyncStep_1 = tslib_1.__importStar(require("./steps/ResourceSyncStep"));
|
|
11
|
+
const useFetch_1 = require("../../../hooks/useFetch");
|
|
12
|
+
const types_1 = require("@flightctl/types");
|
|
13
|
+
const utils_1 = require("../../Repository/CreateRepository/utils");
|
|
14
|
+
const error_1 = require("../../../utils/error");
|
|
15
|
+
const useFetchPeriodically_1 = require("../../../hooks/useFetchPeriodically");
|
|
16
|
+
const useTranslation_1 = require("../../../hooks/useTranslation");
|
|
17
|
+
const useNavigate_1 = require("../../../hooks/useNavigate");
|
|
18
|
+
const LeaveFormConfirmation_1 = tslib_1.__importDefault(require("../../common/LeaveFormConfirmation"));
|
|
19
|
+
const ErrorBoundary_1 = tslib_1.__importDefault(require("../../common/ErrorBoundary"));
|
|
20
|
+
require("./ImportFleetWizard.css");
|
|
21
|
+
const validationSchema = (t) => Yup.lazy((values) => values.useExistingRepo
|
|
22
|
+
? Yup.object({
|
|
23
|
+
existingRepo: Yup.string().required(t('Repository is required')),
|
|
24
|
+
resourceSyncs: (0, utils_1.repoSyncSchema)(t, values.resourceSyncs),
|
|
25
|
+
})
|
|
26
|
+
: (0, utils_1.repositorySchema)(t, undefined)(Object.assign(Object.assign({}, values), { useResourceSyncs: true, exists: false })));
|
|
27
|
+
const ImportFleetWizardFooter = () => {
|
|
28
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
29
|
+
const { goToNextStep, goToPrevStep, activeStep } = (0, react_core_1.useWizardContext)();
|
|
30
|
+
const { submitForm, isSubmitting, errors, values } = (0, formik_1.useFormikContext)();
|
|
31
|
+
const navigate = (0, useNavigate_1.useNavigate)();
|
|
32
|
+
const isReviewStep = activeStep.id === ReviewStep_1.reviewStepId;
|
|
33
|
+
let isStepValid = true;
|
|
34
|
+
if (activeStep.id === RepositoryStep_1.repositoryStepId) {
|
|
35
|
+
isStepValid = (0, RepositoryStep_1.isRepoStepValid)(values, errors);
|
|
36
|
+
}
|
|
37
|
+
else if (activeStep.id === ResourceSyncStep_1.resourceSyncStepId) {
|
|
38
|
+
isStepValid = (0, ResourceSyncStep_1.isResourceSyncStepValid)(errors);
|
|
39
|
+
}
|
|
40
|
+
const primaryBtn = isReviewStep ? (React.createElement(react_core_1.Button, { variant: "primary", onClick: submitForm, isDisabled: isSubmitting, isLoading: isSubmitting }, t('Import'))) : (React.createElement(react_core_1.Button, { variant: "primary", onClick: goToNextStep, isDisabled: !isStepValid }, t('Next')));
|
|
41
|
+
return (React.createElement(react_core_1.WizardFooterWrapper, null,
|
|
42
|
+
primaryBtn,
|
|
43
|
+
activeStep.id !== RepositoryStep_1.repositoryStepId && (React.createElement(react_core_1.Button, { variant: "secondary", onClick: goToPrevStep, isDisabled: isSubmitting }, t('Back'))),
|
|
44
|
+
React.createElement(react_core_1.Button, { variant: "link", onClick: () => navigate(-1), isDisabled: isSubmitting }, t('Cancel'))));
|
|
45
|
+
};
|
|
46
|
+
const ImportFleetWizard = () => {
|
|
47
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
48
|
+
const { post } = (0, useFetch_1.useFetch)();
|
|
49
|
+
const [errors, setErrors] = React.useState();
|
|
50
|
+
const navigate = (0, useNavigate_1.useNavigate)();
|
|
51
|
+
const [currentStep, setCurrentStep] = React.useState();
|
|
52
|
+
const [repoList, isLoading, error] = (0, useFetchPeriodically_1.useFetchPeriodically)({ endpoint: 'repositories' });
|
|
53
|
+
const gitRepositories = ((repoList === null || repoList === void 0 ? void 0 : repoList.items) || []).filter((repo) => repo.spec.type === types_1.RepoSpecType.GIT);
|
|
54
|
+
let body;
|
|
55
|
+
if (isLoading) {
|
|
56
|
+
body = (React.createElement(react_core_1.Bullseye, null,
|
|
57
|
+
React.createElement(react_core_1.Spinner, null)));
|
|
58
|
+
}
|
|
59
|
+
else if (error) {
|
|
60
|
+
body = (React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('An error occurred') }, (0, error_1.getErrorMessage)(error)));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const repoInitValues = (0, utils_1.getInitValues)({
|
|
64
|
+
options: {
|
|
65
|
+
allowedRepoTypes: [types_1.RepoSpecType.GIT],
|
|
66
|
+
showRepoTypes: false,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
body = (React.createElement(formik_1.Formik, { initialValues: Object.assign({ useExistingRepo: true, existingRepo: '' }, repoInitValues), validationSchema: validationSchema(t), validateOnMount: true, onSubmit: (values) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
+
setErrors(undefined);
|
|
71
|
+
if (!values.useExistingRepo) {
|
|
72
|
+
try {
|
|
73
|
+
yield post('repositories', (0, utils_1.getRepository)(values));
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
setErrors([(0, error_1.getErrorMessage)(e)]);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const resourceSyncPromises = values.resourceSyncs.map((rs) => post('resourcesyncs', (0, utils_1.getResourceSync)(values.useExistingRepo ? values.existingRepo : values.name, rs)));
|
|
81
|
+
const errors = yield (0, utils_1.handlePromises)(resourceSyncPromises);
|
|
82
|
+
if (errors.length) {
|
|
83
|
+
setErrors(errors);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
navigate(useNavigate_1.ROUTE.FLEETS);
|
|
87
|
+
}) }, ({ values, errors: formikErrors }) => (React.createElement(React.Fragment, null,
|
|
88
|
+
React.createElement(LeaveFormConfirmation_1.default, null),
|
|
89
|
+
React.createElement(react_core_1.Wizard, { footer: React.createElement(ImportFleetWizardFooter, null), onStepChange: (_, step) => setCurrentStep(step), className: "fctl-import-fleet" },
|
|
90
|
+
React.createElement(react_core_1.WizardStep, { name: t('Select or create repository'), id: RepositoryStep_1.repositoryStepId }, (!currentStep || (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === RepositoryStep_1.repositoryStepId) && (React.createElement(RepositoryStep_1.default, { repositories: gitRepositories, hasLoaded: !!repoList }))),
|
|
91
|
+
React.createElement(react_core_1.WizardStep, { name: t('Add resource sync'), id: ResourceSyncStep_1.resourceSyncStepId, isDisabled: (!currentStep || (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === RepositoryStep_1.repositoryStepId) && !(0, RepositoryStep_1.isRepoStepValid)(values, formikErrors) }, (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === ResourceSyncStep_1.resourceSyncStepId && React.createElement(ResourceSyncStep_1.default, null)),
|
|
92
|
+
React.createElement(react_core_1.WizardStep, { name: t('Review'), id: ReviewStep_1.reviewStepId, isDisabled: !(0, RepositoryStep_1.isRepoStepValid)(values, formikErrors) || !(0, ResourceSyncStep_1.isResourceSyncStepValid)(formikErrors) }, (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === ReviewStep_1.reviewStepId && React.createElement(ReviewStep_1.default, { errors: errors })))))));
|
|
93
|
+
}
|
|
94
|
+
return (React.createElement(React.Fragment, null,
|
|
95
|
+
React.createElement(react_core_1.PageSection, { variant: "light", type: "breadcrumb" },
|
|
96
|
+
React.createElement(react_core_1.Breadcrumb, null,
|
|
97
|
+
React.createElement(react_core_1.BreadcrumbItem, null,
|
|
98
|
+
React.createElement(useNavigate_1.Link, { to: useNavigate_1.ROUTE.FLEETS }, t('Fleets'))),
|
|
99
|
+
React.createElement(react_core_1.BreadcrumbItem, { isActive: true }, t('Import fleets')))),
|
|
100
|
+
React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light },
|
|
101
|
+
React.createElement(react_core_1.Title, { headingLevel: "h1", size: "3xl" }, t('Import fleets'))),
|
|
102
|
+
React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light, type: "wizard" },
|
|
103
|
+
React.createElement(ErrorBoundary_1.default, null, body))));
|
|
104
|
+
};
|
|
105
|
+
exports.default = ImportFleetWizard;
|
|
106
|
+
//# sourceMappingURL=ImportFleetWizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImportFleetWizard.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/ImportFleetWizard/ImportFleetWizard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRepoStepValid = exports.repositoryStepId = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const formik_1 = require("formik");
|
|
8
|
+
const react_table_1 = require("@patternfly/react-table");
|
|
9
|
+
const CreateRepositoryForm_1 = require("../../../Repository/CreateRepository/CreateRepositoryForm");
|
|
10
|
+
const RepositoryStatus_1 = tslib_1.__importDefault(require("../../../Status/RepositoryStatus"));
|
|
11
|
+
const repository_1 = require("../../../../utils/status/repository");
|
|
12
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
13
|
+
const FormSelect_1 = tslib_1.__importDefault(require("../../../form/FormSelect"));
|
|
14
|
+
const FlightCtlForm_1 = tslib_1.__importDefault(require("../../../form/FlightCtlForm"));
|
|
15
|
+
exports.repositoryStepId = 'repository';
|
|
16
|
+
const isRepoStepValid = (values, errors) => {
|
|
17
|
+
if (values.useExistingRepo) {
|
|
18
|
+
return !errors.existingRepo;
|
|
19
|
+
}
|
|
20
|
+
return (!errors.name &&
|
|
21
|
+
!errors.url &&
|
|
22
|
+
!errors.configType &&
|
|
23
|
+
!errors.httpConfig &&
|
|
24
|
+
!errors.sshConfig &&
|
|
25
|
+
!errors.useAdvancedConfig);
|
|
26
|
+
};
|
|
27
|
+
exports.isRepoStepValid = isRepoStepValid;
|
|
28
|
+
const ExistingRepoForm = ({ repositories }) => {
|
|
29
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
30
|
+
const { values } = (0, formik_1.useFormikContext)();
|
|
31
|
+
const currentRepo = repositories.find((r) => r.metadata.name === values.existingRepo);
|
|
32
|
+
return (React.createElement(React.Fragment, null,
|
|
33
|
+
React.createElement(react_core_1.FormGroup, { label: t('Repository'), fieldId: "repository" },
|
|
34
|
+
React.createElement(FormSelect_1.default, { name: "existingRepo", items: repositories.reduce((acc, curr) => {
|
|
35
|
+
acc[curr.metadata.name || ''] = curr.metadata.name || '';
|
|
36
|
+
return acc;
|
|
37
|
+
}, {}), placeholderText: t('Select a repository') })),
|
|
38
|
+
currentRepo && (React.createElement(react_table_1.Table, null,
|
|
39
|
+
React.createElement(react_table_1.Thead, null,
|
|
40
|
+
React.createElement(react_table_1.Tr, null,
|
|
41
|
+
React.createElement(react_table_1.Th, null, t('URL')),
|
|
42
|
+
React.createElement(react_table_1.Th, null, t('Sync status')),
|
|
43
|
+
React.createElement(react_table_1.Th, null, t('Last transition')))),
|
|
44
|
+
React.createElement(react_table_1.Tbody, null,
|
|
45
|
+
React.createElement(react_table_1.Tr, null,
|
|
46
|
+
React.createElement(react_table_1.Td, { dataLabel: t('URL') }, currentRepo.spec.url),
|
|
47
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Sync status') },
|
|
48
|
+
React.createElement(RepositoryStatus_1.default, { statusInfo: (0, repository_1.getRepositorySyncStatus)(currentRepo) })),
|
|
49
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Last transition') }, (0, repository_1.getRepositoryLastTransitionTime)(currentRepo, t).text)))))));
|
|
50
|
+
};
|
|
51
|
+
const RepositoryStep = ({ repositories, hasLoaded }) => {
|
|
52
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
53
|
+
const { values, setFieldValue } = (0, formik_1.useFormikContext)();
|
|
54
|
+
const noRepositoriesExist = hasLoaded && repositories.length === 0;
|
|
55
|
+
React.useEffect(() => {
|
|
56
|
+
if (values.useExistingRepo && noRepositoriesExist) {
|
|
57
|
+
void setFieldValue('useExistingRepo', false);
|
|
58
|
+
}
|
|
59
|
+
}, [setFieldValue, values.useExistingRepo, noRepositoriesExist]);
|
|
60
|
+
return (React.createElement(FlightCtlForm_1.default, null,
|
|
61
|
+
React.createElement(react_core_1.Grid, { span: 8 },
|
|
62
|
+
React.createElement(react_core_1.FormSection, null,
|
|
63
|
+
React.createElement(react_core_1.FormGroup, { isInline: true },
|
|
64
|
+
React.createElement(react_core_1.Radio, { isChecked: values.useExistingRepo, onChange: () => setFieldValue('useExistingRepo', true, true), id: "existing-repo", name: "repo", label: t('Use an existing Git repository'), isDisabled: noRepositoriesExist }),
|
|
65
|
+
React.createElement(react_core_1.Radio, { isChecked: !values.useExistingRepo, onChange: () => setFieldValue('useExistingRepo', false, true), id: "new-repo", name: "repo", label: t('Use a new Git repository') }))),
|
|
66
|
+
React.createElement(react_core_1.FormSection, null, values.useExistingRepo ? React.createElement(ExistingRepoForm, { repositories: repositories }) : React.createElement(CreateRepositoryForm_1.RepositoryForm, null)))));
|
|
67
|
+
};
|
|
68
|
+
exports.default = RepositoryStep;
|
|
69
|
+
//# sourceMappingURL=RepositoryStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepositoryStep.js","sourceRoot":"","sources":["../../../../../../src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isResourceSyncStepValid = exports.resourceSyncStepId = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
8
|
+
const FlightCtlForm_1 = tslib_1.__importDefault(require("../../../form/FlightCtlForm"));
|
|
9
|
+
const CreateResourceSyncsForm_1 = tslib_1.__importDefault(require("../../../Repository/CreateRepository/CreateResourceSyncsForm"));
|
|
10
|
+
exports.resourceSyncStepId = 'resource-sync';
|
|
11
|
+
const isResourceSyncStepValid = (errors) => {
|
|
12
|
+
var _a;
|
|
13
|
+
if (Array.isArray(errors.resourceSyncs)) {
|
|
14
|
+
return !((_a = errors.resourceSyncs) === null || _a === void 0 ? void 0 : _a.some((e) => !!e));
|
|
15
|
+
}
|
|
16
|
+
return !errors.resourceSyncs;
|
|
17
|
+
};
|
|
18
|
+
exports.isResourceSyncStepValid = isResourceSyncStepValid;
|
|
19
|
+
const ResourceSyncStep = () => {
|
|
20
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
21
|
+
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
22
|
+
React.createElement(react_core_1.StackItem, null,
|
|
23
|
+
React.createElement(react_core_1.TextContent, null,
|
|
24
|
+
React.createElement(react_core_1.Text, null, t("A resource sync is an automated Gitops way to manage imported fleets. The resource sync monitors changes made to the source repository and update the fleet's configurations accordingly.")))),
|
|
25
|
+
React.createElement(react_core_1.StackItem, null,
|
|
26
|
+
React.createElement(FlightCtlForm_1.default, null,
|
|
27
|
+
React.createElement(react_core_1.Grid, { span: 8 },
|
|
28
|
+
React.createElement(CreateResourceSyncsForm_1.default, null))))));
|
|
29
|
+
};
|
|
30
|
+
exports.default = ResourceSyncStep;
|
|
31
|
+
//# sourceMappingURL=ResourceSyncStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceSyncStep.js","sourceRoot":"","sources":["../../../../../../src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAAmF;AAGnF,qEAAkE;AAClE,wFAA4D;AAC5D,mIAAmG;AAGtF,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,uBAAuB,GAAG,CAAC,MAA2C,EAAE,EAAE;;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;AAC/B,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,OAAO,CACL,oBAAC,kBAAK,IAAC,SAAS;QACd,oBAAC,sBAAS;YACR,oBAAC,wBAAW;gBACV,oBAAC,iBAAI,QACF,CAAC,CACA,2LAA2L,CAC5L,CACI,CACK,CACJ;QACZ,oBAAC,sBAAS;YACR,oBAAC,uBAAiB;gBAChB,oBAAC,iBAAI,IAAC,IAAI,EAAE,CAAC;oBACX,oBAAC,iCAAuB,OAAG,CACtB,CACW,CACV,CACN,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reviewStepId = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const react_table_1 = require("@patternfly/react-table");
|
|
8
|
+
const formik_1 = require("formik");
|
|
9
|
+
const FlightCtlForm_1 = tslib_1.__importDefault(require("../../../form/FlightCtlForm"));
|
|
10
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
11
|
+
exports.reviewStepId = 'review';
|
|
12
|
+
const ReviewStep = ({ errors }) => {
|
|
13
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
14
|
+
const { values } = (0, formik_1.useFormikContext)();
|
|
15
|
+
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
16
|
+
React.createElement(react_core_1.StackItem, { isFilled: true },
|
|
17
|
+
React.createElement(FlightCtlForm_1.default, null,
|
|
18
|
+
React.createElement(react_core_1.FormGroup, { label: t('Repository') },
|
|
19
|
+
React.createElement(react_core_1.TextInput, { value: values.useExistingRepo ? values.existingRepo : values.name, type: "text", "aria-label": t('disabled repository input'), isDisabled: true })),
|
|
20
|
+
React.createElement(react_core_1.FormGroup, { label: t('Resource syncs') },
|
|
21
|
+
React.createElement(react_table_1.Table, null,
|
|
22
|
+
React.createElement(react_table_1.Thead, null,
|
|
23
|
+
React.createElement(react_table_1.Tr, null,
|
|
24
|
+
React.createElement(react_table_1.Th, null, t('Name')),
|
|
25
|
+
React.createElement(react_table_1.Th, null, t('Path')),
|
|
26
|
+
React.createElement(react_table_1.Th, null, t('Target revision')))),
|
|
27
|
+
React.createElement(react_table_1.Tbody, null, values.resourceSyncs.map((rs) => (React.createElement(react_table_1.Tr, { key: rs.name },
|
|
28
|
+
React.createElement(react_table_1.Td, null, rs.name),
|
|
29
|
+
React.createElement(react_table_1.Td, null, rs.path),
|
|
30
|
+
React.createElement(react_table_1.Td, null, rs.targetRevision))))))))),
|
|
31
|
+
React.createElement(react_core_1.StackItem, null,
|
|
32
|
+
React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: t('Fleets will appear in the fleets table list and their status will be reflecting the resource sync process status. After a few minutes, they should be synced and enabled.') })),
|
|
33
|
+
(errors === null || errors === void 0 ? void 0 : errors.length) && (React.createElement(react_core_1.StackItem, null,
|
|
34
|
+
React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('An error occurred') }, errors === null || errors === void 0 ? void 0 : errors.map((e, index) => React.createElement("div", { key: index }, e)))))));
|
|
35
|
+
};
|
|
36
|
+
exports.default = ReviewStep;
|
|
37
|
+
//# sourceMappingURL=ReviewStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewStep.js","sourceRoot":"","sources":["../../../../../../src/components/Fleet/ImportFleetWizard/steps/ReviewStep.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAAuF;AACvF,yDAA0E;AAC1E,mCAA0C;AAG1C,wFAAwD;AAExD,qEAAkE;AAErD,QAAA,YAAY,GAAG,QAAQ,CAAC;AAErC,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAyB,EAAE,EAAE;IACvD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,yBAAgB,GAAyB,CAAC;IAC7D,OAAO,CACL,oBAAC,kBAAK,IAAC,SAAS;QACd,oBAAC,sBAAS,IAAC,QAAQ;YACjB,oBAAC,uBAAa;gBACZ,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC;oBAC/B,oBAAC,sBAAS,IACR,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EACjE,IAAI,EAAC,MAAM,gBACC,CAAC,CAAC,2BAA2B,CAAC,EAC1C,UAAU,SACV,CACQ;gBACZ,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;oBACnC,oBAAC,mBAAK;wBACJ,oBAAC,mBAAK;4BACJ,oBAAC,gBAAE;gCACD,oBAAC,gBAAE,QAAE,CAAC,CAAC,MAAM,CAAC,CAAM;gCACpB,oBAAC,gBAAE,QAAE,CAAC,CAAC,MAAM,CAAC,CAAM;gCACpB,oBAAC,gBAAE,QAAE,CAAC,CAAC,iBAAiB,CAAC,CAAM,CAC5B,CACC;wBACR,oBAAC,mBAAK,QACH,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAChC,oBAAC,gBAAE,IAAC,GAAG,EAAE,EAAE,CAAC,IAAI;4BACd,oBAAC,gBAAE,QAAE,EAAE,CAAC,IAAI,CAAM;4BAClB,oBAAC,gBAAE,QAAE,EAAE,CAAC,IAAI,CAAM;4BAClB,oBAAC,gBAAE,QAAE,EAAE,CAAC,cAAc,CAAM,CACzB,CACN,CAAC,CACI,CACF,CACE,CACE,CACN;QACZ,oBAAC,sBAAS;YACR,oBAAC,kBAAK,IACJ,QAAQ,QACR,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,CAAC,CACN,2KAA2K,CAC5K,GACD,CACQ;QACX,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,CACjB,oBAAC,sBAAS;YACR,oBAAC,kBAAK,IAAC,QAAQ,QAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAC3D,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,6BAAK,GAAG,EAAE,KAAK,IAAG,CAAC,CAAO,CAAC,CAChD,CACE,CACb,CACK,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/ImportFleetWizard/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_table_1 = require("@patternfly/react-table");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const code_branch_icon_1 = require("@patternfly/react-icons/dist/js/icons/code-branch-icon");
|
|
7
|
+
const ResourceSyncStatus_1 = tslib_1.__importDefault(require("../ResourceSync/ResourceSyncStatus"));
|
|
8
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
9
|
+
const ResourceSyncRow = ({ resourceSync, rowIndex, onRowSelect, isRowSelected, deleteAction, }) => {
|
|
10
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
11
|
+
return (React.createElement(react_table_1.Tr, null,
|
|
12
|
+
React.createElement(react_table_1.Td, { select: {
|
|
13
|
+
rowIndex,
|
|
14
|
+
onSelect: onRowSelect(resourceSync),
|
|
15
|
+
isSelected: isRowSelected(resourceSync),
|
|
16
|
+
} }),
|
|
17
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Name') },
|
|
18
|
+
React.createElement(code_branch_icon_1.CodeBranchIcon, null)),
|
|
19
|
+
React.createElement(react_table_1.Td, { dataLabel: t('System image') }, "-"),
|
|
20
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Device selector') }, "-"),
|
|
21
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Status') },
|
|
22
|
+
React.createElement(ResourceSyncStatus_1.default, { resourceSync: resourceSync, showLinksOnError: true })),
|
|
23
|
+
React.createElement(react_table_1.Td, { isActionCell: true },
|
|
24
|
+
React.createElement(react_table_1.ActionsColumn, { items: [
|
|
25
|
+
{
|
|
26
|
+
title: t('Edit fleet'),
|
|
27
|
+
tooltipProps: t('Fleets managed by a resource sync cannot be edited'),
|
|
28
|
+
isAriaDisabled: true,
|
|
29
|
+
},
|
|
30
|
+
deleteAction({
|
|
31
|
+
resourceId: resourceSync.metadata.name || '',
|
|
32
|
+
}),
|
|
33
|
+
] }))));
|
|
34
|
+
};
|
|
35
|
+
exports.default = ResourceSyncRow;
|
|
36
|
+
//# sourceMappingURL=ResourceSyncRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceSyncRow.js","sourceRoot":"","sources":["../../../../src/components/Fleet/ResourceSyncRow.tsx"],"names":[],"mappings":";;;AAAA,yDAA0E;AAE1E,qDAA+B;AAC/B,6FAAwF;AAGxF,oGAAoE;AACpE,+DAA4D;AAU5D,MAAM,eAAe,GAAmC,CAAC,EACvD,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,GACb,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,OAAO,CACL,oBAAC,gBAAE;QACD,oBAAC,gBAAE,IACD,MAAM,EAAE;gBACN,QAAQ;gBACR,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC;gBACnC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;aACxC,GACD;QACF,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,oBAAC,iCAAc,OAAG,CACf;QACL,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ;QACxC,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ;QAC3C,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC;YACxB,oBAAC,4BAAkB,IAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,SAAG,CAChE;QACL,oBAAC,gBAAE,IAAC,YAAY;YACd,oBAAC,2BAAa,IACZ,KAAK,EAAE;oBACL;wBACE,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC;wBACtB,YAAY,EAAE,CAAC,CAAC,oDAAoD,CAAC;wBACrE,cAAc,EAAE,IAAI;qBACrB;oBACD,YAAY,CAAC;wBACX,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;qBAC7C,CAAC;iBACH,GACD,CACC,CACF,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
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 ListPage = ({ title, children }) => {
|
|
7
|
+
return (React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light },
|
|
8
|
+
React.createElement(react_core_1.Title, { headingLevel: "h1", size: "3xl" }, title),
|
|
9
|
+
children));
|
|
10
|
+
};
|
|
11
|
+
exports.default = ListPage;
|
|
12
|
+
//# sourceMappingURL=ListPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPage.js","sourceRoot":"","sources":["../../../../src/components/ListPage/ListPage.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,uDAAiF;AAOjF,MAAM,QAAQ,GAA4B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAChE,OAAO,CACL,oBAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK;QAC7C,oBAAC,kBAAK,IAAC,YAAY,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,IAChC,KAAK,CACA;QACP,QAAQ,CACG,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDeleteListAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const DeleteModal_1 = tslib_1.__importDefault(require("../modals/DeleteModal/DeleteModal"));
|
|
7
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
8
|
+
const useDeleteListAction = ({ resourceType, onDelete }) => {
|
|
9
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
10
|
+
const [deleteResourceId, setDeleteResourceId] = React.useState();
|
|
11
|
+
const [name, setName] = React.useState();
|
|
12
|
+
const deleteAction = ({ resourceId, resourceName, disabledReason }) => {
|
|
13
|
+
const popperProps = disabledReason ? { tooltipProps: { content: disabledReason } } : undefined;
|
|
14
|
+
return Object.assign(Object.assign({ title: t('Delete {{ resourceType }}', { resourceType }), isAriaDisabled: !!disabledReason }, popperProps), { onClick: () => {
|
|
15
|
+
setDeleteResourceId(resourceId);
|
|
16
|
+
setName(resourceName);
|
|
17
|
+
} });
|
|
18
|
+
};
|
|
19
|
+
const onClose = () => {
|
|
20
|
+
setDeleteResourceId(undefined);
|
|
21
|
+
setName(undefined);
|
|
22
|
+
};
|
|
23
|
+
const deleteModal = deleteResourceId && (React.createElement(DeleteModal_1.default, { resourceType: resourceType, resourceName: name || deleteResourceId, onClose: onClose, onDelete: () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
yield onDelete(deleteResourceId);
|
|
25
|
+
onClose();
|
|
26
|
+
}) }));
|
|
27
|
+
return { deleteAction, deleteModal };
|
|
28
|
+
};
|
|
29
|
+
exports.useDeleteListAction = useDeleteListAction;
|
|
30
|
+
//# sourceMappingURL=ListPageActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPageActions.js","sourceRoot":"","sources":["../../../../src/components/ListPage/ListPageActions.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,4FAA4D;AAE5D,+DAA4D;AAYrD,MAAM,mBAAmB,GAAG,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAyB,EAA0B,EAAE;IAC/G,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACzE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACjD,MAAM,YAAY,GAA2C,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;QAC5G,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,qCACE,KAAK,EAAE,CAAC,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,CAAC,EACvD,cAAc,EAAE,CAAC,CAAC,cAAc,IAC7B,WAAW,KACd,OAAO,EAAE,GAAG,EAAE;gBACZ,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC,IACD;IACJ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,gBAAgB,IAAI,CACtC,oBAAC,qBAAW,IACV,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,IAAI,IAAI,gBAAgB,EACtC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,GAAS,EAAE;YACnB,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAA,GACD,CACH,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC;AAnCW,QAAA,mBAAmB,uBAmC9B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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 error_1 = require("../../utils/error");
|
|
7
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
8
|
+
const ErrorBoundary_1 = tslib_1.__importDefault(require("../common/ErrorBoundary"));
|
|
9
|
+
const ListPageBody = ({ error, loading, children }) => {
|
|
10
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
11
|
+
if (error) {
|
|
12
|
+
return (React.createElement(react_core_1.Alert, { variant: "danger", title: t('An error occurred'), isInline: true }, (0, error_1.getErrorMessage)(error)));
|
|
13
|
+
}
|
|
14
|
+
if (loading) {
|
|
15
|
+
return (React.createElement(react_core_1.Bullseye, null,
|
|
16
|
+
React.createElement(react_core_1.Spinner, null)));
|
|
17
|
+
}
|
|
18
|
+
return React.createElement(ErrorBoundary_1.default, null, children);
|
|
19
|
+
};
|
|
20
|
+
exports.default = ListPageBody;
|
|
21
|
+
//# sourceMappingURL=ListPageBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPageBody.js","sourceRoot":"","sources":["../../../../src/components/ListPage/ListPageBody.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAkE;AAElE,6CAAoD;AACpD,+DAA4D;AAC5D,oFAAoD;AAQpD,MAAM,YAAY,GAAgC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjF,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,oBAAC,kBAAK,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,QAAQ,UAC5D,IAAA,uBAAe,EAAC,KAAK,CAAC,CACjB,CACT,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,oBAAC,qBAAQ;YACP,oBAAC,oBAAO,OAAG,CACF,CACZ,CAAC;IACJ,CAAC;IACD,OAAO,oBAAC,uBAAa,QAAE,QAAQ,CAAiB,CAAC;AACnD,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/ListPage/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 useAppContext_1 = require("../../hooks/useAppContext");
|
|
7
|
+
const ActiveChildren = ({ isActive, children, setIsActive }) => {
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
setIsActive(isActive);
|
|
10
|
+
}, [isActive, setIsActive]);
|
|
11
|
+
return children;
|
|
12
|
+
};
|
|
13
|
+
const NavItem = ({ to, children }) => {
|
|
14
|
+
const { router: { NavLink }, } = (0, useAppContext_1.useAppContext)();
|
|
15
|
+
const [isActive, setIsActive] = React.useState(false);
|
|
16
|
+
return (React.createElement(react_core_1.NavItem, { id: to, isActive: isActive },
|
|
17
|
+
React.createElement(NavLink, { to: to }, ({ isActive }) => (React.createElement(ActiveChildren, { setIsActive: setIsActive, isActive: isActive }, children)))));
|
|
18
|
+
};
|
|
19
|
+
exports.default = NavItem;
|
|
20
|
+
//# sourceMappingURL=NavItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavItem.js","sourceRoot":"","sources":["../../../../src/components/NavItem/NavItem.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,uDAA8D;AAC9D,6DAA0D;AAQ1D,MAAM,cAAc,GAAkC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5F,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,OAAO,GAA2B,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3D,MAAM,EACJ,MAAM,EAAE,EAAE,OAAO,EAAE,GACpB,GAAG,IAAA,6BAAa,GAAE,CAAC;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CACL,oBAAC,oBAAS,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ;QACnC,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,IACZ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACjB,oBAAC,cAAc,IAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,IACzD,QAAQ,CACM,CAClB,CACO,CACA,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 types_1 = require("@flightctl/types");
|
|
6
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
7
|
+
const applications_1 = require("../../../../utils/status/applications");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
const devices_1 = require("../../../../utils/status/devices");
|
|
10
|
+
const DonutChart_1 = tslib_1.__importDefault(require("../../../charts/DonutChart"));
|
|
11
|
+
const utils_2 = require("../../../Status/utils");
|
|
12
|
+
const ApplicationStatusChart = ({ resources, labels, fleets, }) => {
|
|
13
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
14
|
+
const statusItems = (0, applications_1.getApplicationSummaryStatusItems)(t);
|
|
15
|
+
const data = resources.reduce((all, curr) => {
|
|
16
|
+
var _a;
|
|
17
|
+
const appStatus = ((_a = curr.status) === null || _a === void 0 ? void 0 : _a.applications.summary.status) || types_1.ApplicationsSummaryStatusType.ApplicationsSummaryStatusUnknown;
|
|
18
|
+
all[appStatus]++;
|
|
19
|
+
return all;
|
|
20
|
+
}, {
|
|
21
|
+
[types_1.ApplicationsSummaryStatusType.ApplicationsSummaryStatusHealthy]: 0,
|
|
22
|
+
[types_1.ApplicationsSummaryStatusType.ApplicationsSummaryStatusDegraded]: 0,
|
|
23
|
+
[types_1.ApplicationsSummaryStatusType.ApplicationsSummaryStatusError]: 0,
|
|
24
|
+
[types_1.ApplicationsSummaryStatusType.ApplicationsSummaryStatusUnknown]: 0,
|
|
25
|
+
});
|
|
26
|
+
const appStatusData = (0, utils_1.toChartData)(data, statusItems, devices_1.FilterSearchParams.AppStatus, labels, fleets);
|
|
27
|
+
return (React.createElement(DonutChart_1.default, { title: t('Application status'), data: appStatusData, helperText: (0, utils_2.getApplicationStatusHelperText)(t) }));
|
|
28
|
+
};
|
|
29
|
+
exports.default = ApplicationStatusChart;
|
|
30
|
+
//# sourceMappingURL=ApplicationStatusChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationStatusChart.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/ApplicationStatusChart.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,4CAAyE;AACzE,qEAAkE;AAClE,wEAAyF;AACzF,mCAAiD;AACjD,8DAAsE;AACtE,oFAAoD;AACpD,iDAAuE;AAKvE,MAAM,sBAAsB,GAAG,CAAC,EAC9B,SAAS,EACT,MAAM,EACN,MAAM,GAKP,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,IAAI,GAAG,SAAS,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;;QACZ,MAAM,SAAS,GACb,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,OAAO,CAAC,MAAM,KAAI,qCAA6B,CAAC,gCAAgC,CAAC;QAC7G,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EACD;QACE,CAAC,qCAA6B,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACnE,CAAC,qCAA6B,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACpE,CAAC,qCAA6B,CAAC,8BAA8B,CAAC,EAAE,CAAC;QACjE,CAAC,qCAA6B,CAAC,gCAAgC,CAAC,EAAE,CAAC;KACpE,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,4BAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnG,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,kBAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 DonutChart_1 = tslib_1.__importDefault(require("../../../charts/DonutChart"));
|
|
6
|
+
const types_1 = require("@flightctl/types");
|
|
7
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
8
|
+
const devices_1 = require("../../../../utils/status/devices");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const devices_2 = require("../../../../utils/status/devices");
|
|
11
|
+
const utils_2 = require("../../../Status/utils");
|
|
12
|
+
const DeviceStatusChart = ({ resources, labels, fleets, }) => {
|
|
13
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
14
|
+
const statusItems = (0, devices_1.getDeviceStatusItems)(t);
|
|
15
|
+
const data = resources.reduce((all, curr) => {
|
|
16
|
+
var _a;
|
|
17
|
+
const devStatus = ((_a = curr.status) === null || _a === void 0 ? void 0 : _a.summary.status) || types_1.DeviceSummaryStatusType.DeviceSummaryStatusUnknown;
|
|
18
|
+
all[devStatus]++;
|
|
19
|
+
return all;
|
|
20
|
+
}, {
|
|
21
|
+
[types_1.DeviceSummaryStatusType.DeviceSummaryStatusOnline]: 0,
|
|
22
|
+
[types_1.DeviceSummaryStatusType.DeviceSummaryStatusDegraded]: 0,
|
|
23
|
+
[types_1.DeviceSummaryStatusType.DeviceSummaryStatusError]: 0,
|
|
24
|
+
[types_1.DeviceSummaryStatusType.DeviceSummaryStatusRebooting]: 0,
|
|
25
|
+
[types_1.DeviceSummaryStatusType.DeviceSummaryStatusPoweredOff]: 0,
|
|
26
|
+
[types_1.DeviceSummaryStatusType.DeviceSummaryStatusUnknown]: 0,
|
|
27
|
+
});
|
|
28
|
+
const devStatusData = (0, utils_1.toChartData)(data, statusItems, devices_2.FilterSearchParams.DeviceStatus, labels, fleets);
|
|
29
|
+
return React.createElement(DonutChart_1.default, { title: t('Device status'), data: devStatusData, helperText: (0, utils_2.getDeviceStatusHelperText)(t) });
|
|
30
|
+
};
|
|
31
|
+
exports.default = DeviceStatusChart;
|
|
32
|
+
//# sourceMappingURL=DeviceStatusChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceStatusChart.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/DeviceStatusChart.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,oFAAoD;AACpD,4CAAmE;AACnE,qEAAkE;AAClE,8DAAwE;AACxE,mCAAiD;AACjD,8DAAsE;AACtE,iDAAkE;AAMlE,MAAM,iBAAiB,GAAG,CAAC,EACzB,SAAS,EACT,MAAM,EACN,MAAM,GAKP,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,IAAI,GAAG,SAAS,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;;QACZ,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,MAAM,KAAI,+BAAuB,CAAC,0BAA0B,CAAC;QACpG,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EACD;QACE,CAAC,+BAAuB,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACtD,CAAC,+BAAuB,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACxD,CAAC,+BAAuB,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACrD,CAAC,+BAAuB,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACzD,CAAC,+BAAuB,CAAC,6BAA6B,CAAC,EAAE,CAAC;QAC1D,CAAC,+BAAuB,CAAC,0BAA0B,CAAC,EAAE,CAAC;KACrC,CACrB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,4BAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtG,OAAO,oBAAC,oBAAU,IAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAA,iCAAyB,EAAC,CAAC,CAAC,GAAI,CAAC;AAClH,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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 ApplicationStatusChart_1 = tslib_1.__importDefault(require("./ApplicationStatusChart"));
|
|
8
|
+
const DeviceStatusChart_1 = tslib_1.__importDefault(require("./DeviceStatusChart"));
|
|
9
|
+
const SystemUpdateStatusChart_1 = tslib_1.__importDefault(require("./SystemUpdateStatusChart"));
|
|
10
|
+
const useFetchPeriodically_1 = require("../../../../hooks/useFetchPeriodically");
|
|
11
|
+
const useDeviceLikeResources_1 = require("../../../Device/DeviceList/useDeviceLikeResources");
|
|
12
|
+
const StatusCardFilters_1 = tslib_1.__importDefault(require("./StatusCardFilters"));
|
|
13
|
+
const ErrorAlert_1 = tslib_1.__importDefault(require("../../../ErrorAlert/ErrorAlert"));
|
|
14
|
+
const StatusCard = () => {
|
|
15
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
16
|
+
const [fleets, setFleets] = React.useState([]);
|
|
17
|
+
const [labels, setLabels] = React.useState([]);
|
|
18
|
+
const [devicesEndpoint, isDebounced] = (0, useDeviceLikeResources_1.useDevicesEndpoint)({
|
|
19
|
+
ownerFleets: fleets,
|
|
20
|
+
labels,
|
|
21
|
+
});
|
|
22
|
+
const [devicesList, loading, error, , isUpdating] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
23
|
+
endpoint: devicesEndpoint,
|
|
24
|
+
});
|
|
25
|
+
const [fleetsList, flLoading, flError] = (0, useFetchPeriodically_1.useFetchPeriodically)({
|
|
26
|
+
endpoint: 'fleets',
|
|
27
|
+
});
|
|
28
|
+
const devices = (devicesList === null || devicesList === void 0 ? void 0 : devicesList.items) || [];
|
|
29
|
+
let content;
|
|
30
|
+
if (loading || flLoading) {
|
|
31
|
+
content = (React.createElement(react_core_1.Bullseye, null,
|
|
32
|
+
React.createElement(react_core_1.Spinner, null)));
|
|
33
|
+
}
|
|
34
|
+
else if (error || flError) {
|
|
35
|
+
content = React.createElement(ErrorAlert_1.default, { error: error || flError });
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
content = (React.createElement(react_core_1.Stack, null,
|
|
39
|
+
React.createElement(react_core_1.StackItem, null,
|
|
40
|
+
React.createElement(react_core_1.TextContent, null,
|
|
41
|
+
React.createElement(react_core_1.Text, { component: react_core_1.TextVariants.small }, t('{{count}} Devices', { count: devices.length || 0 })))),
|
|
42
|
+
React.createElement(react_core_1.StackItem, null,
|
|
43
|
+
React.createElement(react_core_1.Flex, { justifyContent: { default: 'justifyContentSpaceAround' } },
|
|
44
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
45
|
+
React.createElement(ApplicationStatusChart_1.default, { resources: devices, labels: labels, fleets: fleets })),
|
|
46
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
47
|
+
React.createElement(DeviceStatusChart_1.default, { resources: devices, labels: labels, fleets: fleets })),
|
|
48
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
49
|
+
React.createElement(SystemUpdateStatusChart_1.default, { resources: devices, labels: labels, fleets: fleets }))))));
|
|
50
|
+
}
|
|
51
|
+
return (React.createElement(react_core_1.Card, null,
|
|
52
|
+
React.createElement(react_core_1.CardHeader, null,
|
|
53
|
+
React.createElement(react_core_1.Flex, { alignItems: { default: 'alignItemsCenter' } },
|
|
54
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
55
|
+
React.createElement(react_core_1.CardTitle, null, t('Status'))),
|
|
56
|
+
React.createElement(react_core_1.FlexItem, null,
|
|
57
|
+
React.createElement(StatusCardFilters_1.default, { devices: devices, fleets: (fleetsList === null || fleetsList === void 0 ? void 0 : fleetsList.items) || [], selectedFleets: fleets, setSelectedFleets: setFleets, selectedLabels: labels, setSelectedLabels: setLabels, isFilterUpdating: isUpdating || isDebounced })))),
|
|
58
|
+
React.createElement(react_core_1.CardBody, null, content)));
|
|
59
|
+
};
|
|
60
|
+
exports.default = StatusCard;
|
|
61
|
+
//# sourceMappingURL=StatusCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusCard.js","sourceRoot":"","sources":["../../../../../../src/components/OverviewPage/Cards/Status/StatusCard.tsx"],"names":[],"mappings":"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"}
|