@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 @@
|
|
|
1
|
+
{"version":3,"file":"EnrollmentRequestDetails.js","sourceRoot":"","sources":["../../../../../src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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_table_1 = require("@patternfly/react-table");
|
|
6
|
+
const dates_1 = require("../../utils/dates");
|
|
7
|
+
const enrollmentRequest_1 = require("../../utils/status/enrollmentRequest");
|
|
8
|
+
const useTranslation_1 = require("../../hooks/useTranslation");
|
|
9
|
+
const useNavigate_1 = require("../../hooks/useNavigate");
|
|
10
|
+
const ResourceLink_1 = tslib_1.__importDefault(require("../common/ResourceLink"));
|
|
11
|
+
const EnrollmentRequestStatus_1 = tslib_1.__importDefault(require("../Status/EnrollmentRequestStatus"));
|
|
12
|
+
const EnrollmentRequestTableRow = ({ er, deleteAction, rowIndex, onRowSelect, isRowSelected, onApprove, }) => {
|
|
13
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
14
|
+
const approvalStatus = (0, enrollmentRequest_1.getApprovalStatus)(er);
|
|
15
|
+
const erName = er.metadata.name;
|
|
16
|
+
return (React.createElement(react_table_1.Tr, { "data-testid": `enrollment-request-${rowIndex}` },
|
|
17
|
+
React.createElement(react_table_1.Td, { select: {
|
|
18
|
+
rowIndex,
|
|
19
|
+
onSelect: onRowSelect(er),
|
|
20
|
+
isSelected: isRowSelected(er),
|
|
21
|
+
} }),
|
|
22
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Alias') }, "-"),
|
|
23
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Name') },
|
|
24
|
+
React.createElement(ResourceLink_1.default, { id: erName, routeLink: useNavigate_1.ROUTE.ENROLLMENT_REQUEST_DETAILS })),
|
|
25
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Fleet') }, "-"),
|
|
26
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Application status') }, "-"),
|
|
27
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Device status') },
|
|
28
|
+
React.createElement(EnrollmentRequestStatus_1.default, { er: er })),
|
|
29
|
+
React.createElement(react_table_1.Td, { dataLabel: t('System update status') }, "-"),
|
|
30
|
+
React.createElement(react_table_1.Td, { dataLabel: t('Last seen') }, (0, dates_1.timeSinceText)(t, er.metadata.creationTimestamp)),
|
|
31
|
+
React.createElement(react_table_1.Td, { isActionCell: true },
|
|
32
|
+
React.createElement(react_table_1.ActionsColumn, { items: [
|
|
33
|
+
{
|
|
34
|
+
title: t('Approve'),
|
|
35
|
+
onClick: () => er.metadata.name && onApprove(er.metadata.name),
|
|
36
|
+
isDisabled: approvalStatus !== enrollmentRequest_1.EnrollmentRequestStatus.Pending,
|
|
37
|
+
},
|
|
38
|
+
deleteAction({ resourceId: er.metadata.name || '' }),
|
|
39
|
+
] }))));
|
|
40
|
+
};
|
|
41
|
+
exports.default = EnrollmentRequestTableRow;
|
|
42
|
+
//# sourceMappingURL=EnrollmentRequestTableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnrollmentRequestTableRow.js","sourceRoot":"","sources":["../../../../src/components/EnrollmentRequest/EnrollmentRequestTableRow.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,yDAA0E;AAG1E,6CAAkD;AAElD,4EAG8C;AAC9C,+DAA4D;AAC5D,yDAAgD;AAChD,kFAAkD;AAClD,wGAAwE;AAWxE,MAAM,yBAAyB,GAAwC,CAAC,EACtE,EAAE,EACF,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,SAAS,GACV,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAc,CAAC;IAC1C,OAAO,CACL,oBAAC,gBAAE,mBAAc,sBAAsB,QAAQ,EAAE;QAC/C,oBAAC,gBAAE,IACD,MAAM,EAAE;gBACN,QAAQ;gBACR,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;gBACzB,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;aAC9B,GACD;QACF,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ;QACjC,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,oBAAC,sBAAY,IAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAK,CAAC,0BAA0B,GAAI,CACtE;QACL,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ;QACjC,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ;QAC9C,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC;YAC/B,oBAAC,iCAAuB,IAAC,EAAE,EAAE,EAAE,GAAI,CAChC;QACL,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ;QAChD,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,IAAG,IAAA,qBAAa,EAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAM;QACrF,oBAAC,gBAAE,IAAC,YAAY;YACd,oBAAC,2BAAa,IACZ,KAAK,EAAE;oBACL;wBACE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC9D,UAAU,EAAE,cAAc,KAAK,2CAA2B,CAAC,OAAO;qBACnE;oBACD,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;iBACrD,GACD,CACC,CACF,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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 error_1 = require("../../utils/error");
|
|
8
|
+
const ErrorAlert = ({ error }) => {
|
|
9
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
10
|
+
return (React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('Unexpected error occurred') }, (0, error_1.getErrorMessage)(error)));
|
|
11
|
+
};
|
|
12
|
+
exports.default = ErrorAlert;
|
|
13
|
+
//# sourceMappingURL=ErrorAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorAlert.js","sourceRoot":"","sources":["../../../../src/components/ErrorAlert/ErrorAlert.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAA+C;AAC/C,+DAA4D;AAC5D,6CAAoD;AAEpD,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAsB,EAAE,EAAE;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,OAAO,CACL,oBAAC,kBAAK,IAAC,QAAQ,QAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,2BAA2B,CAAC,IACnE,IAAA,uBAAe,EAAC,KAAK,CAAC,CACjB,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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 formik_1 = require("formik");
|
|
7
|
+
const useFetch_1 = require("../../../hooks/useFetch");
|
|
8
|
+
const error_1 = require("../../../utils/error");
|
|
9
|
+
const useTranslation_1 = require("../../../hooks/useTranslation");
|
|
10
|
+
const useNavigate_1 = require("../../../hooks/useNavigate");
|
|
11
|
+
const GeneralInfoStep_1 = tslib_1.__importStar(require("./steps/GeneralInfoStep"));
|
|
12
|
+
const DeviceTemplateStep_1 = tslib_1.__importStar(require("../../Device/EditDeviceWizard/steps/DeviceTemplateStep"));
|
|
13
|
+
const ReviewStep_1 = tslib_1.__importStar(require("./steps/ReviewStep"));
|
|
14
|
+
const utils_1 = require("./utils");
|
|
15
|
+
const CreateFleetWizardFooter_1 = tslib_1.__importDefault(require("./CreateFleetWizardFooter"));
|
|
16
|
+
const useEditFleet_1 = require("./useEditFleet");
|
|
17
|
+
const LeaveFormConfirmation_1 = tslib_1.__importDefault(require("../../common/LeaveFormConfirmation"));
|
|
18
|
+
const ErrorBoundary_1 = tslib_1.__importDefault(require("../../common/ErrorBoundary"));
|
|
19
|
+
require("./CreateFleetWizard.css");
|
|
20
|
+
const CreateFleetWizard = () => {
|
|
21
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
22
|
+
const { post, patch } = (0, useFetch_1.useFetch)();
|
|
23
|
+
const [error, setError] = React.useState();
|
|
24
|
+
const navigate = (0, useNavigate_1.useNavigate)();
|
|
25
|
+
const [currentStep, setCurrentStep] = React.useState();
|
|
26
|
+
const [fleetId, fleet, loading, editError] = (0, useEditFleet_1.useEditFleet)();
|
|
27
|
+
const isEdit = !!fleetId;
|
|
28
|
+
let body;
|
|
29
|
+
if (loading) {
|
|
30
|
+
body = (React.createElement(react_core_1.Bullseye, null,
|
|
31
|
+
React.createElement(react_core_1.Spinner, null)));
|
|
32
|
+
}
|
|
33
|
+
else if (editError) {
|
|
34
|
+
body = (React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('An error occurred') }, (0, error_1.getErrorMessage)(editError)));
|
|
35
|
+
}
|
|
36
|
+
else if (!!(fleet === null || fleet === void 0 ? void 0 : fleet.metadata.owner)) {
|
|
37
|
+
body = (React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: t('Fleet is non-editable') }, t('This fleet is managed by a resource sync and it cannot be edited directly.')));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
body = (React.createElement(formik_1.Formik, { initialValues: (0, utils_1.getInitialValues)(fleet), validationSchema: (0, utils_1.getValidationSchema)(t), validateOnMount: true, onSubmit: (values) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
setError(undefined);
|
|
42
|
+
try {
|
|
43
|
+
if (isEdit) {
|
|
44
|
+
const fleetPatches = (0, utils_1.getFleetPatches)(fleet, values);
|
|
45
|
+
if (fleetPatches.length > 0) {
|
|
46
|
+
yield patch(`fleets/${fleetId}`, fleetPatches);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
yield post('fleets', (0, utils_1.getFleetResource)(values));
|
|
51
|
+
}
|
|
52
|
+
navigate({ route: useNavigate_1.ROUTE.FLEET_DETAILS, postfix: values.name });
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
setError(e);
|
|
56
|
+
}
|
|
57
|
+
}) }, ({ errors: formikErrors }) => {
|
|
58
|
+
const generalStepValid = (0, GeneralInfoStep_1.isGeneralInfoStepValid)(formikErrors);
|
|
59
|
+
return (React.createElement(React.Fragment, null,
|
|
60
|
+
React.createElement(LeaveFormConfirmation_1.default, null),
|
|
61
|
+
React.createElement(react_core_1.Wizard, { footer: React.createElement(CreateFleetWizardFooter_1.default, { isEdit: isEdit }), onStepChange: (_, step) => setCurrentStep(step), className: "fctl-create-fleet" },
|
|
62
|
+
React.createElement(react_core_1.WizardStep, { name: t('General info'), id: GeneralInfoStep_1.generalInfoStepId }, (!currentStep || (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === GeneralInfoStep_1.generalInfoStepId) && React.createElement(GeneralInfoStep_1.default, { isEdit: isEdit })),
|
|
63
|
+
React.createElement(react_core_1.WizardStep, { name: t('Device template'), id: DeviceTemplateStep_1.deviceTemplateStepId, isDisabled: (!currentStep || (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === GeneralInfoStep_1.generalInfoStepId) && !generalStepValid }, (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === DeviceTemplateStep_1.deviceTemplateStepId && React.createElement(DeviceTemplateStep_1.default, { isFleet: true })),
|
|
64
|
+
React.createElement(react_core_1.WizardStep, { name: isEdit ? t('Review and update') : t('Review and create'), id: ReviewStep_1.reviewStepId, isDisabled: !generalStepValid || !(0, DeviceTemplateStep_1.isDeviceTemplateStepValid)(formikErrors) }, (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id) === ReviewStep_1.reviewStepId && React.createElement(ReviewStep_1.default, { error: error })))));
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
const title = isEdit ? t('Edit fleet') : t('Create fleet');
|
|
68
|
+
return (React.createElement(React.Fragment, null,
|
|
69
|
+
React.createElement(react_core_1.PageSection, { variant: "light", type: "breadcrumb" },
|
|
70
|
+
React.createElement(react_core_1.Breadcrumb, null,
|
|
71
|
+
React.createElement(react_core_1.BreadcrumbItem, null,
|
|
72
|
+
React.createElement(useNavigate_1.Link, { to: useNavigate_1.ROUTE.FLEETS }, t('Fleets'))),
|
|
73
|
+
fleetId && (React.createElement(react_core_1.BreadcrumbItem, null,
|
|
74
|
+
React.createElement(useNavigate_1.Link, { to: { route: useNavigate_1.ROUTE.FLEET_DETAILS, postfix: fleetId } }, fleetId))),
|
|
75
|
+
React.createElement(react_core_1.BreadcrumbItem, { isActive: true }, title))),
|
|
76
|
+
React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light },
|
|
77
|
+
React.createElement(react_core_1.Title, { headingLevel: "h1", size: "3xl" }, title)),
|
|
78
|
+
React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light, type: "wizard" },
|
|
79
|
+
React.createElement(ErrorBoundary_1.default, null, body))));
|
|
80
|
+
};
|
|
81
|
+
exports.default = CreateFleetWizard;
|
|
82
|
+
//# sourceMappingURL=CreateFleetWizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateFleetWizard.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/CreateFleet/CreateFleetWizard.tsx"],"names":[],"mappings":";;;AAAA,uDAYgC;AAChC,qDAA+B;AAE/B,mCAAgC;AAEhC,sDAAmD;AACnD,gDAAuD;AACvD,kEAA+D;AAC/D,4DAAsE;AACtE,mFAAqG;AACrG,qHAGgE;AAChE,yEAA8D;AAC9D,mCAAmG;AACnG,gGAAgE;AAChE,iDAA8C;AAC9C,uGAAuE;AACvE,uFAAuD;AAEvD,mCAAiC;AAEjC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAW,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAC/B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAkB,CAAC;IACvE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,IAAA,2BAAY,GAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;IACzB,IAAI,IAAI,CAAC;IAET,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,GAAG,CACL,oBAAC,qBAAQ;YACP,oBAAC,oBAAO,OAAG,CACF,CACZ,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,IAAI,GAAG,CACL,oBAAC,kBAAK,IAAC,QAAQ,QAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAC3D,IAAA,uBAAe,EAAC,SAAS,CAAC,CACrB,CACT,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,KAAK,CAAA,EAAE,CAAC;QACnC,IAAI,GAAG,CACL,oBAAC,kBAAK,IAAC,QAAQ,QAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,IAC7D,CAAC,CAAC,4EAA4E,CAAC,CAC1E,CACT,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,CACL,oBAAC,eAAM,IACL,aAAa,EAAE,IAAA,wBAAgB,EAAC,KAAK,CAAC,EACtC,gBAAgB,EAAE,IAAA,2BAAmB,EAAC,CAAC,CAAC,EACxC,eAAe,QACf,QAAQ,EAAE,CAAO,MAAM,EAAE,EAAE;gBACzB,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,IAAI,CAAC;oBACH,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,KAAc,EAAE,MAAM,CAAC,CAAC;wBAC7D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5B,MAAM,KAAK,CAAQ,UAAU,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;wBACxD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAQ,QAAQ,EAAE,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;oBACxD,CAAC;oBAED,QAAQ,CAAC,EAAE,KAAK,EAAE,mBAAK,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAA,IAEA,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;YAC5B,MAAM,gBAAgB,GAAG,IAAA,wCAAsB,EAAC,YAAY,CAAC,CAAC;YAC9D,OAAO,CACL;gBACE,oBAAC,+BAAqB,OAAG;gBACzB,oBAAC,mBAAM,IACL,MAAM,EAAE,oBAAC,iCAAuB,IAAC,MAAM,EAAE,MAAM,GAAI,EACnD,YAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAC/C,SAAS,EAAC,mBAAmB;oBAE7B,oBAAC,uBAAU,IAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,mCAAiB,IACvD,CAAC,CAAC,WAAW,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,MAAK,mCAAiB,CAAC,IAAI,oBAAC,yBAAe,IAAC,MAAM,EAAE,MAAM,GAAI,CACpF;oBACb,oBAAC,uBAAU,IACT,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC1B,EAAE,EAAE,yCAAoB,EACxB,UAAU,EAAE,CAAC,CAAC,WAAW,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,MAAK,mCAAiB,CAAC,IAAI,CAAC,gBAAgB,IAEvF,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,MAAK,yCAAoB,IAAI,oBAAC,4BAAkB,IAAC,OAAO,SAAG,CAChE;oBACb,oBAAC,uBAAU,IACT,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9D,EAAE,EAAE,yBAAY,EAChB,UAAU,EAAE,CAAC,gBAAgB,IAAI,CAAC,IAAA,8CAAyB,EAAC,YAAY,CAAC,IAExE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,MAAK,yBAAY,IAAI,oBAAC,oBAAU,IAAC,KAAK,EAAE,KAAK,GAAI,CACtD,CACN,CACR,CACJ,CAAC;QACJ,CAAC,CACM,CACV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAE3D,OAAO,CACL;QACE,oBAAC,wBAAW,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,YAAY;YAC5C,oBAAC,uBAAU;gBACT,oBAAC,2BAAc;oBACb,oBAAC,kBAAI,IAAC,EAAE,EAAE,mBAAK,CAAC,MAAM,IAAG,CAAC,CAAC,QAAQ,CAAC,CAAQ,CAC7B;gBAChB,OAAO,IAAI,CACV,oBAAC,2BAAc;oBACb,oBAAC,kBAAI,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAK,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAG,OAAO,CAAQ,CAC7D,CAClB;gBACD,oBAAC,2BAAc,IAAC,QAAQ,UAAE,KAAK,CAAkB,CACtC,CACD;QACd,oBAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK;YAC7C,oBAAC,kBAAK,IAAC,YAAY,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,IAChC,KAAK,CACA,CACI;QACd,oBAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK,EAAE,IAAI,EAAC,QAAQ;YAC5D,oBAAC,uBAAa,QAAE,IAAI,CAAiB,CACzB,CACb,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,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 useTranslation_1 = require("../../../hooks/useTranslation");
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const formik_1 = require("formik");
|
|
8
|
+
const useNavigate_1 = require("../../../hooks/useNavigate");
|
|
9
|
+
const ReviewStep_1 = require("./steps/ReviewStep");
|
|
10
|
+
const GeneralInfoStep_1 = require("./steps/GeneralInfoStep");
|
|
11
|
+
const DeviceTemplateStep_1 = require("../../Device/EditDeviceWizard/steps/DeviceTemplateStep");
|
|
12
|
+
const CreateFleetWizardFooter = ({ isEdit }) => {
|
|
13
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
14
|
+
const { goToNextStep, goToPrevStep, activeStep } = (0, react_core_1.useWizardContext)();
|
|
15
|
+
const { submitForm, isSubmitting, errors } = (0, formik_1.useFormikContext)();
|
|
16
|
+
const navigate = (0, useNavigate_1.useNavigate)();
|
|
17
|
+
const isReviewStep = activeStep.id === ReviewStep_1.reviewStepId;
|
|
18
|
+
let isStepValid = true;
|
|
19
|
+
if (activeStep.id === GeneralInfoStep_1.generalInfoStepId) {
|
|
20
|
+
isStepValid = (0, GeneralInfoStep_1.isGeneralInfoStepValid)(errors);
|
|
21
|
+
}
|
|
22
|
+
else if (activeStep.id === DeviceTemplateStep_1.deviceTemplateStepId) {
|
|
23
|
+
isStepValid = (0, DeviceTemplateStep_1.isDeviceTemplateStepValid)(errors);
|
|
24
|
+
}
|
|
25
|
+
const primaryBtn = isReviewStep ? (React.createElement(react_core_1.Button, { variant: "primary", onClick: submitForm, isDisabled: isSubmitting, isLoading: isSubmitting }, isEdit ? t('Save') : t('Create fleet'))) : (React.createElement(react_core_1.Button, { variant: "primary", onClick: goToNextStep, isDisabled: !isStepValid }, t('Next')));
|
|
26
|
+
return (React.createElement(react_core_1.WizardFooterWrapper, null,
|
|
27
|
+
primaryBtn,
|
|
28
|
+
activeStep.id !== GeneralInfoStep_1.generalInfoStepId && (React.createElement(react_core_1.Button, { variant: "secondary", onClick: goToPrevStep, isDisabled: isSubmitting }, t('Back'))),
|
|
29
|
+
React.createElement(react_core_1.Button, { variant: "link", onClick: () => navigate(-1), isDisabled: isSubmitting }, t('Cancel'))));
|
|
30
|
+
};
|
|
31
|
+
exports.default = CreateFleetWizardFooter;
|
|
32
|
+
//# sourceMappingURL=CreateFleetWizardFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateFleetWizardFooter.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/CreateFleet/CreateFleetWizardFooter.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,kEAA+D;AAC/D,uDAAuF;AACvF,mCAA0C;AAE1C,4DAAyD;AACzD,mDAAkD;AAClD,6DAAoF;AACpF,+FAGgE;AAMhE,MAAM,uBAAuB,GAAG,CAAC,EAAE,MAAM,EAAgC,EAAE,EAAE;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAA,6BAAgB,GAAE,CAAC;IACtE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAA,yBAAgB,GAAmB,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE,KAAK,yBAAY,CAAC;IACpD,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,UAAU,CAAC,EAAE,KAAK,mCAAiB,EAAE,CAAC;QACxC,WAAW,GAAG,IAAA,wCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,UAAU,CAAC,EAAE,KAAK,yCAAoB,EAAE,CAAC;QAClD,WAAW,GAAG,IAAA,8CAAyB,EAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAChC,oBAAC,mBAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,IAC7F,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAChC,CACV,CAAC,CAAC,CAAC,CACF,oBAAC,mBAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,WAAW,IACtE,CAAC,CAAC,MAAM,CAAC,CACH,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,gCAAmB;QACjB,UAAU;QACV,UAAU,CAAC,EAAE,KAAK,mCAAiB,IAAI,CACtC,oBAAC,mBAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,IACxE,CAAC,CAAC,MAAM,CAAC,CACH,CACV;QACD,oBAAC,mBAAM,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,IACzE,CAAC,CAAC,QAAQ,CAAC,CACL,CACW,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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 formik_1 = require("formik");
|
|
6
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
7
|
+
const redo_icon_1 = require("@patternfly/react-icons/dist/js/icons/redo-icon");
|
|
8
|
+
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
9
|
+
const LabelsField_1 = tslib_1.__importDefault(require("../../../form/LabelsField"));
|
|
10
|
+
const validations_1 = require("../../../form/validations");
|
|
11
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
12
|
+
const useFetch_1 = require("../../../../hooks/useFetch");
|
|
13
|
+
const api_1 = require("../../../../utils/api");
|
|
14
|
+
const error_1 = require("../../../../utils/error");
|
|
15
|
+
const validateLabels = (labels) => (0, validations_1.hasUniqueLabelKeys)(labels) && (0, validations_1.getInvalidKubernetesLabels)(labels).length === 0;
|
|
16
|
+
const DeviceLabelSelector = () => {
|
|
17
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
18
|
+
const { get } = (0, useFetch_1.useFetch)();
|
|
19
|
+
const [{ value: labels }] = (0, formik_1.useField)('labels');
|
|
20
|
+
const [isLoading, setIsLoading] = React.useState(false);
|
|
21
|
+
const [deviceCountError, setDeviceCountError] = React.useState();
|
|
22
|
+
const [deviceCount, setDeviceCount] = React.useState(0);
|
|
23
|
+
const updateDeviceCount = (matchLabels) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
const labelSelector = matchLabels.map((label) => {
|
|
25
|
+
const valueStr = label.value ? `=${label.value}` : '';
|
|
26
|
+
return `${label.key}${valueStr}`;
|
|
27
|
+
}, '');
|
|
28
|
+
try {
|
|
29
|
+
const deviceListResp = yield get(`devices?labelSelector=${labelSelector.join(',')}&limit=1`);
|
|
30
|
+
const num = (0, api_1.getApiListCount)(deviceListResp);
|
|
31
|
+
setDeviceCount(num || 0);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
setDeviceCountError((0, error_1.getErrorMessage)(e));
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
setIsLoading(false);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
|
+
const debouncedUpdateCount = React.useCallback((0, debounce_1.default)(updateDeviceCount, 800), []);
|
|
42
|
+
const reloadDeviceSelection = React.useCallback((labels) => {
|
|
43
|
+
const hasLabels = labels.length > 0;
|
|
44
|
+
// The error field is not set on time, we manually validate the labels
|
|
45
|
+
// to make sure we only trigger requests when labels are valid
|
|
46
|
+
const validLabels = validateLabels(labels);
|
|
47
|
+
if (validLabels && hasLabels) {
|
|
48
|
+
setIsLoading(true);
|
|
49
|
+
setDeviceCountError(undefined);
|
|
50
|
+
void debouncedUpdateCount(labels);
|
|
51
|
+
}
|
|
52
|
+
else if (!hasLabels) {
|
|
53
|
+
setDeviceCount(0);
|
|
54
|
+
}
|
|
55
|
+
}, [debouncedUpdateCount]);
|
|
56
|
+
React.useEffect(() => {
|
|
57
|
+
reloadDeviceSelection(labels);
|
|
58
|
+
}, [labels, reloadDeviceSelection]);
|
|
59
|
+
let message;
|
|
60
|
+
let showHelperText = true;
|
|
61
|
+
if (isLoading) {
|
|
62
|
+
message = React.createElement(react_core_1.Spinner, { size: "sm" });
|
|
63
|
+
}
|
|
64
|
+
else if (deviceCountError) {
|
|
65
|
+
showHelperText = false;
|
|
66
|
+
message = (React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('Failed to determine the number of selected devices') },
|
|
67
|
+
deviceCountError,
|
|
68
|
+
React.createElement(react_core_1.Button, { variant: "link", icon: React.createElement(redo_icon_1.RedoIcon, null), onClick: () => {
|
|
69
|
+
reloadDeviceSelection(labels);
|
|
70
|
+
} }, t('Try again'))));
|
|
71
|
+
}
|
|
72
|
+
else if (labels.length > 0) {
|
|
73
|
+
showHelperText = false;
|
|
74
|
+
message = (React.createElement(react_core_1.Alert, { isInline: true, variant: deviceCount === 0 ? 'warning' : 'info', title: t('{{ count }} devices matching the labels were selected.', { count: deviceCount }) }));
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
message = t('Add labels to select devices to be included in this fleet.');
|
|
78
|
+
}
|
|
79
|
+
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
80
|
+
React.createElement(react_core_1.StackItem, null,
|
|
81
|
+
React.createElement(LabelsField_1.default, { name: "labels", helperText: showHelperText ? message : undefined })),
|
|
82
|
+
!showHelperText && message && React.createElement(react_core_1.StackItem, null, message)));
|
|
83
|
+
};
|
|
84
|
+
exports.default = DeviceLabelSelector;
|
|
85
|
+
//# sourceMappingURL=DeviceLabelSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceLabelSelector.js","sourceRoot":"","sources":["../../../../../../src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isGeneralInfoStepValid = exports.generalInfoStepId = 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 NameField_1 = tslib_1.__importDefault(require("../../../form/NameField"));
|
|
9
|
+
const LabelsField_1 = tslib_1.__importDefault(require("../../../form/LabelsField"));
|
|
10
|
+
const FlightCtlForm_1 = tslib_1.__importDefault(require("../../../form/FlightCtlForm"));
|
|
11
|
+
const validations_1 = require("../../../form/validations");
|
|
12
|
+
const WithHelperText_1 = tslib_1.__importDefault(require("../../../common/WithHelperText"));
|
|
13
|
+
const DeviceLabelSelector_1 = tslib_1.__importDefault(require("./DeviceLabelSelector"));
|
|
14
|
+
exports.generalInfoStepId = 'general-info';
|
|
15
|
+
const isGeneralInfoStepValid = (errors) => {
|
|
16
|
+
return !errors.name && !errors.labels && !errors.fleetLabels;
|
|
17
|
+
};
|
|
18
|
+
exports.isGeneralInfoStepValid = isGeneralInfoStepValid;
|
|
19
|
+
const GeneralInfoStep = ({ isEdit }) => {
|
|
20
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
21
|
+
return (React.createElement(react_core_1.Grid, { lg: 5, span: 8 },
|
|
22
|
+
React.createElement(FlightCtlForm_1.default, null,
|
|
23
|
+
React.createElement(NameField_1.default, { name: "name", "aria-label": t('Name'), isRequired: true, isDisabled: isEdit, resourceType: "fleets", validations: (0, validations_1.getDnsSubdomainValidations)(t) }),
|
|
24
|
+
React.createElement(react_core_1.FormGroup, { label: t('Fleet labels') },
|
|
25
|
+
React.createElement(LabelsField_1.default, { name: "fleetLabels" })),
|
|
26
|
+
React.createElement(react_core_1.FormGroup, { label: React.createElement(WithHelperText_1.default, { content: t('Devices matching these labels will be selected by the fleet. If left empty, no devices will be selected.'), ariaLabel: t('Device selector'), showLabel: true }) },
|
|
27
|
+
React.createElement(DeviceLabelSelector_1.default, null)))));
|
|
28
|
+
};
|
|
29
|
+
exports.default = GeneralInfoStep;
|
|
30
|
+
//# sourceMappingURL=GeneralInfoStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralInfoStep.js","sourceRoot":"","sources":["../../../../../../src/components/Fleet/CreateFleet/steps/GeneralInfoStep.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAAyD;AAIzD,qEAAkE;AAClE,gFAAgD;AAChD,oFAAoD;AACpD,wFAAwD;AACxD,2DAAuE;AACvE,4FAA4D;AAC5D,wFAAwD;AAE3C,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAEzC,MAAM,sBAAsB,GAAG,CAAC,MAAqC,EAAE,EAAE;IAC9E,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAuB,EAAE,EAAE;IAC1D,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,OAAO,CACL,oBAAC,iBAAI,IAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAClB,oBAAC,uBAAa;YACZ,oBAAC,mBAAS,IACR,IAAI,EAAC,MAAM,gBACC,CAAC,CAAC,MAAM,CAAC,EACrB,UAAU,QACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAC,QAAQ,EACrB,WAAW,EAAE,IAAA,wCAA0B,EAAC,CAAC,CAAC,GAC1C;YACF,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC;gBACjC,oBAAC,qBAAW,IAAC,IAAI,EAAC,aAAa,GAAG,CACxB;YACZ,oBAAC,sBAAS,IACR,KAAK,EACH,oBAAC,wBAAc,IACb,OAAO,EAAE,CAAC,CACR,0GAA0G,CAC3G,EACD,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC/B,SAAS,SACT;gBAGJ,oBAAC,6BAAmB,OAAG,CACb,CACE,CACX,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reviewStepId = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_core_1 = require("@patternfly/react-core");
|
|
6
|
+
const React = tslib_1.__importStar(require("react"));
|
|
7
|
+
const useTranslation_1 = require("../../../../hooks/useTranslation");
|
|
8
|
+
const formik_1 = require("formik");
|
|
9
|
+
const LabelsView_1 = tslib_1.__importDefault(require("../../../common/LabelsView"));
|
|
10
|
+
const labels_1 = require("../../../../utils/labels");
|
|
11
|
+
const RepositorySourceList_1 = tslib_1.__importDefault(require("../../../Repository/RepositoryDetails/RepositorySourceList"));
|
|
12
|
+
const error_1 = require("../../../../utils/error");
|
|
13
|
+
const devices_1 = require("../../../../utils/devices");
|
|
14
|
+
const deviceSpecUtils_1 = require("../../../Device/EditDeviceWizard/deviceSpecUtils");
|
|
15
|
+
exports.reviewStepId = 'review';
|
|
16
|
+
const ReviewStep = ({ error }) => {
|
|
17
|
+
const { t } = (0, useTranslation_1.useTranslation)();
|
|
18
|
+
const { values } = (0, formik_1.useFormikContext)();
|
|
19
|
+
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
20
|
+
React.createElement(react_core_1.StackItem, { isFilled: true },
|
|
21
|
+
React.createElement(react_core_1.DescriptionList, { isHorizontal: true, horizontalTermWidthModifier: {
|
|
22
|
+
default: '25ch',
|
|
23
|
+
} },
|
|
24
|
+
React.createElement(react_core_1.DescriptionListGroup, null,
|
|
25
|
+
React.createElement(react_core_1.DescriptionListTerm, null, t('Name')),
|
|
26
|
+
React.createElement(react_core_1.DescriptionListDescription, null, values.name)),
|
|
27
|
+
React.createElement(react_core_1.DescriptionListGroup, null,
|
|
28
|
+
React.createElement(react_core_1.DescriptionListTerm, null, t('Fleet labels')),
|
|
29
|
+
React.createElement(react_core_1.DescriptionListDescription, null,
|
|
30
|
+
React.createElement(LabelsView_1.default, { prefix: "fleet", labels: (0, labels_1.toAPILabel)(values.fleetLabels) }))),
|
|
31
|
+
React.createElement(react_core_1.DescriptionListGroup, null,
|
|
32
|
+
React.createElement(react_core_1.DescriptionListTerm, null, t('Device selector')),
|
|
33
|
+
React.createElement(react_core_1.DescriptionListDescription, null,
|
|
34
|
+
React.createElement(LabelsView_1.default, { prefix: "device", labels: (0, labels_1.toAPILabel)(values.labels) }))),
|
|
35
|
+
React.createElement(react_core_1.DescriptionListGroup, null,
|
|
36
|
+
React.createElement(react_core_1.DescriptionListTerm, null, t('System image')),
|
|
37
|
+
React.createElement(react_core_1.DescriptionListDescription, null, values.osImage || t(`The fleet will not manage system image`))),
|
|
38
|
+
React.createElement(react_core_1.DescriptionListGroup, null,
|
|
39
|
+
React.createElement(react_core_1.DescriptionListTerm, null, t('Configurations/applications')),
|
|
40
|
+
React.createElement(react_core_1.DescriptionListDescription, null,
|
|
41
|
+
React.createElement(RepositorySourceList_1.default, { sourceItems: (0, devices_1.getSourceItems)(values.configTemplates.map(deviceSpecUtils_1.getAPIConfig)) }))))),
|
|
42
|
+
!!error && (React.createElement(react_core_1.StackItem, null,
|
|
43
|
+
React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('An error occurred') }, (0, error_1.getErrorMessage)(error))))));
|
|
44
|
+
};
|
|
45
|
+
exports.default = ReviewStep;
|
|
46
|
+
//# sourceMappingURL=ReviewStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewStep.js","sourceRoot":"","sources":["../../../../../../src/components/Fleet/CreateFleet/steps/ReviewStep.tsx"],"names":[],"mappings":";;;;AAAA,uDAQgC;AAChC,qDAA+B;AAC/B,qEAAkE;AAClE,mCAA0C;AAE1C,oFAAoD;AACpD,qDAAsD;AACtD,8HAA8F;AAC9F,mDAA0D;AAC1D,uDAA2D;AAC3D,sFAAgF;AAEnE,QAAA,YAAY,GAAG,QAAQ,CAAC;AAErC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAuB,EAAE,EAAE;IACpD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,yBAAgB,GAAmB,CAAC;IACvD,OAAO,CACL,oBAAC,kBAAK,IAAC,SAAS;QACd,oBAAC,sBAAS,IAAC,QAAQ;YACjB,oBAAC,4BAAe,IACd,YAAY,QACZ,2BAA2B,EAAE;oBAC3B,OAAO,EAAE,MAAM;iBAChB;gBAED,oBAAC,iCAAoB;oBACnB,oBAAC,gCAAmB,QAAE,CAAC,CAAC,MAAM,CAAC,CAAuB;oBACtD,oBAAC,uCAA0B,QAAE,MAAM,CAAC,IAAI,CAA8B,CACjD;gBACvB,oBAAC,iCAAoB;oBACnB,oBAAC,gCAAmB,QAAE,CAAC,CAAC,cAAc,CAAC,CAAuB;oBAC9D,oBAAC,uCAA0B;wBACzB,oBAAC,oBAAU,IAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAE,IAAA,mBAAU,EAAC,MAAM,CAAC,WAAW,CAAC,GAAI,CAC1C,CACR;gBACvB,oBAAC,iCAAoB;oBACnB,oBAAC,gCAAmB,QAAE,CAAC,CAAC,iBAAiB,CAAC,CAAuB;oBACjE,oBAAC,uCAA0B;wBACzB,oBAAC,oBAAU,IAAC,MAAM,EAAC,QAAQ,EAAC,MAAM,EAAE,IAAA,mBAAU,EAAC,MAAM,CAAC,MAAM,CAAC,GAAI,CACtC,CACR;gBACvB,oBAAC,iCAAoB;oBACnB,oBAAC,gCAAmB,QAAE,CAAC,CAAC,cAAc,CAAC,CAAuB;oBAC9D,oBAAC,uCAA0B,QACxB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,wCAAwC,CAAC,CACnC,CACR;gBACvB,oBAAC,iCAAoB;oBACnB,oBAAC,gCAAmB,QAAE,CAAC,CAAC,6BAA6B,CAAC,CAAuB;oBAC7E,oBAAC,uCAA0B;wBACzB,oBAAC,8BAAoB,IAAC,WAAW,EAAE,IAAA,wBAAc,EAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,8BAAY,CAAC,CAAC,GAAI,CACpE,CACR,CACP,CACR;QACX,CAAC,CAAC,KAAK,IAAI,CACV,oBAAC,sBAAS;YACR,oBAAC,kBAAK,IAAC,QAAQ,QAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAC3D,IAAA,uBAAe,EAAC,KAAK,CAAC,CACjB,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/CreateFleet/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useEditFleet = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const useAppContext_1 = require("../../../hooks/useAppContext");
|
|
7
|
+
const useFetch_1 = require("../../../hooks/useFetch");
|
|
8
|
+
const useEditFleet = () => {
|
|
9
|
+
const { router: { useParams }, } = (0, useAppContext_1.useAppContext)();
|
|
10
|
+
const { fleetId } = useParams();
|
|
11
|
+
const { get } = (0, useFetch_1.useFetch)();
|
|
12
|
+
const [fleet, setFleet] = React.useState();
|
|
13
|
+
const [isLoading, setIsLoading] = React.useState(!!fleetId);
|
|
14
|
+
const [error, setError] = React.useState();
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
const fetch = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
try {
|
|
18
|
+
const result = yield get(`fleets/${fleetId}`);
|
|
19
|
+
setFleet(result);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
setError(err);
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
setIsLoading(false);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
if (fleetId && !fleet) {
|
|
29
|
+
fetch();
|
|
30
|
+
}
|
|
31
|
+
}, [fleetId, get, fleet]);
|
|
32
|
+
return [fleetId, fleet, isLoading, error];
|
|
33
|
+
};
|
|
34
|
+
exports.useEditFleet = useEditFleet;
|
|
35
|
+
//# sourceMappingURL=useEditFleet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditFleet.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/CreateFleet/useEditFleet.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,gEAA6D;AAC7D,sDAAmD;AAG5C,MAAM,YAAY,GAAG,GAA8D,EAAE;IAC1F,MAAM,EACJ,MAAM,EAAE,EAAE,SAAS,EAAE,GACtB,GAAG,IAAA,6BAAa,GAAE,CAAC;IACpB,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAC;IAErD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAS,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,CAAC,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAW,CAAC;IAEpD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAQ,UAAU,OAAO,EAAE,CAAC,CAAC;gBACrD,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAA,CAAC;QAEF,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1B,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInitialValues = exports.getFleetResource = exports.getFleetPatches = exports.getValidationSchema = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const Yup = tslib_1.__importStar(require("yup"));
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const labels_1 = require("../../../utils/labels");
|
|
8
|
+
const validations_1 = require("../../form/validations");
|
|
9
|
+
const patch_1 = require("../../../utils/patch");
|
|
10
|
+
const deviceSpecUtils_1 = require("../../Device/EditDeviceWizard/deviceSpecUtils");
|
|
11
|
+
const getValidationSchema = (t) => {
|
|
12
|
+
return Yup.object({
|
|
13
|
+
name: (0, validations_1.validKubernetesDnsSubdomain)(t, { isRequired: true }),
|
|
14
|
+
osImage: (0, validations_1.maxLengthString)(t, { fieldName: t('System image'), maxLength: 2048 }),
|
|
15
|
+
fleetLabels: (0, validations_1.validLabelsSchema)(t),
|
|
16
|
+
labels: (0, validations_1.validLabelsSchema)(t),
|
|
17
|
+
configTemplates: (0, validations_1.validConfigTemplatesSchema)(t),
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.getValidationSchema = getValidationSchema;
|
|
21
|
+
const getFleetPatches = (currentFleet, updatedFleet) => {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
let allPatches = [];
|
|
24
|
+
// Fleet labels
|
|
25
|
+
const currentLabels = currentFleet.metadata.labels || {};
|
|
26
|
+
const updatedLabels = updatedFleet.fleetLabels || {};
|
|
27
|
+
const fleetLabelPatches = (0, patch_1.getLabelPatches)('/metadata/labels', currentLabels, updatedLabels);
|
|
28
|
+
allPatches = allPatches.concat(fleetLabelPatches);
|
|
29
|
+
// Device label selector
|
|
30
|
+
const currentDeviceSelectLabels = ((_a = currentFleet.spec.selector) === null || _a === void 0 ? void 0 : _a.matchLabels) || {};
|
|
31
|
+
const updatedDeviceSelectLabels = updatedFleet.labels || {};
|
|
32
|
+
const updatedDeviceSelectLabelCount = Object.keys(updatedDeviceSelectLabels).length;
|
|
33
|
+
if (updatedDeviceSelectLabelCount > 0) {
|
|
34
|
+
if (currentFleet.spec.selector) {
|
|
35
|
+
const deviceSelectLabelPatches = (0, patch_1.getLabelPatches)('/spec/selector/matchLabels', currentDeviceSelectLabels, updatedDeviceSelectLabels);
|
|
36
|
+
allPatches = allPatches.concat(deviceSelectLabelPatches);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const newLabelMap = (0, labels_1.toAPILabel)(updatedDeviceSelectLabels);
|
|
40
|
+
allPatches.push({
|
|
41
|
+
path: '/spec/selector',
|
|
42
|
+
op: 'add',
|
|
43
|
+
value: { matchLabels: newLabelMap },
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (currentFleet.spec.selector) {
|
|
48
|
+
allPatches.push({
|
|
49
|
+
path: '/spec/selector',
|
|
50
|
+
op: 'remove',
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
// OS image
|
|
54
|
+
const currentOsImage = (_b = currentFleet.spec.template.spec.os) === null || _b === void 0 ? void 0 : _b.image;
|
|
55
|
+
const newOsImage = updatedFleet.osImage;
|
|
56
|
+
if (!currentOsImage && newOsImage) {
|
|
57
|
+
allPatches.push({
|
|
58
|
+
path: '/spec/template/spec/os',
|
|
59
|
+
op: 'add',
|
|
60
|
+
value: { image: newOsImage },
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else if (!newOsImage && currentOsImage) {
|
|
64
|
+
allPatches.push({
|
|
65
|
+
path: '/spec/template/spec/os',
|
|
66
|
+
op: 'remove',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else if (newOsImage && currentOsImage !== newOsImage) {
|
|
70
|
+
(0, patch_1.appendJSONPatch)({
|
|
71
|
+
path: '/spec/template/spec/os/image',
|
|
72
|
+
patches: allPatches,
|
|
73
|
+
newValue: newOsImage,
|
|
74
|
+
originalValue: currentOsImage,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Configurations
|
|
78
|
+
const currentConfigs = currentFleet.spec.template.spec.config || [];
|
|
79
|
+
const newConfigs = updatedFleet.configTemplates.map(deviceSpecUtils_1.getAPIConfig);
|
|
80
|
+
const configPatches = (0, deviceSpecUtils_1.getDeviceSpecConfigPatches)(currentConfigs, newConfigs, '/spec/template/spec/config');
|
|
81
|
+
if (configPatches.length > 0) {
|
|
82
|
+
return allPatches.concat(configPatches);
|
|
83
|
+
}
|
|
84
|
+
return allPatches;
|
|
85
|
+
};
|
|
86
|
+
exports.getFleetPatches = getFleetPatches;
|
|
87
|
+
const getFleetResource = (values) => ({
|
|
88
|
+
apiVersion: constants_1.API_VERSION,
|
|
89
|
+
kind: 'Fleet',
|
|
90
|
+
metadata: {
|
|
91
|
+
name: values.name,
|
|
92
|
+
labels: (0, labels_1.toAPILabel)(values.fleetLabels),
|
|
93
|
+
},
|
|
94
|
+
spec: {
|
|
95
|
+
selector: {
|
|
96
|
+
matchLabels: (0, labels_1.toAPILabel)(values.labels),
|
|
97
|
+
},
|
|
98
|
+
template: {
|
|
99
|
+
metadata: {
|
|
100
|
+
labels: {
|
|
101
|
+
fleet: values.name,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
spec: {
|
|
105
|
+
os: values.osImage ? { image: values.osImage || '' } : undefined,
|
|
106
|
+
config: values.configTemplates.map(deviceSpecUtils_1.getAPIConfig),
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
exports.getFleetResource = getFleetResource;
|
|
112
|
+
const getInitialValues = (fleet) => {
|
|
113
|
+
var _a, _b;
|
|
114
|
+
return fleet
|
|
115
|
+
? {
|
|
116
|
+
name: fleet.metadata.name || '',
|
|
117
|
+
labels: Object.keys(((_a = fleet.spec.selector) === null || _a === void 0 ? void 0 : _a.matchLabels) || {}).map((key) => {
|
|
118
|
+
var _a, _b;
|
|
119
|
+
return ({
|
|
120
|
+
key,
|
|
121
|
+
value: (_b = (_a = fleet.spec.selector) === null || _a === void 0 ? void 0 : _a.matchLabels) === null || _b === void 0 ? void 0 : _b[key],
|
|
122
|
+
});
|
|
123
|
+
}),
|
|
124
|
+
fleetLabels: Object.keys(fleet.metadata.labels || {}).map((key) => {
|
|
125
|
+
var _a;
|
|
126
|
+
return ({
|
|
127
|
+
key,
|
|
128
|
+
value: (_a = fleet.metadata.labels) === null || _a === void 0 ? void 0 : _a[key],
|
|
129
|
+
});
|
|
130
|
+
}),
|
|
131
|
+
osImage: ((_b = fleet.spec.template.spec.os) === null || _b === void 0 ? void 0 : _b.image) || '',
|
|
132
|
+
configTemplates: (0, deviceSpecUtils_1.getConfigTemplatesValues)(fleet.spec.template.spec),
|
|
133
|
+
}
|
|
134
|
+
: {
|
|
135
|
+
name: '',
|
|
136
|
+
labels: [],
|
|
137
|
+
fleetLabels: [],
|
|
138
|
+
osImage: '',
|
|
139
|
+
configTemplates: [],
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
exports.getInitialValues = getInitialValues;
|
|
143
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/components/Fleet/CreateFleet/utils.ts"],"names":[],"mappings":"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"}
|