@flightctl/ui-components 1.1.0-rc1 → 1.1.0-rc3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.css +5 -1
- package/dist/types/imagebuilder/index.d.ts +2 -0
- package/dist/types/imagebuilder/index.d.ts.map +1 -1
- package/dist/types/imagebuilder/index.js +3 -1
- package/dist/types/imagebuilder/index.js.map +1 -1
- package/dist/types/imagebuilder/models/ApiVersion.d.ts +8 -0
- package/dist/types/imagebuilder/models/ApiVersion.d.ts.map +1 -0
- package/dist/types/imagebuilder/models/ApiVersion.js +16 -0
- package/dist/types/imagebuilder/models/ApiVersion.js.map +1 -0
- package/dist/types/imagebuilder/models/ImageBuild.d.ts +2 -4
- package/dist/types/imagebuilder/models/ImageBuild.d.ts.map +1 -1
- package/dist/types/imagebuilder/models/ImageBuildList.d.ts +2 -4
- package/dist/types/imagebuilder/models/ImageBuildList.d.ts.map +1 -1
- package/dist/types/imagebuilder/models/ImageExport.d.ts +2 -4
- package/dist/types/imagebuilder/models/ImageExport.d.ts.map +1 -1
- package/dist/types/imagebuilder/models/ImageExportList.d.ts +2 -4
- package/dist/types/imagebuilder/models/ImageExportList.d.ts.map +1 -1
- package/dist/types/imagebuilder/models/Status.d.ts +28 -0
- package/dist/types/imagebuilder/models/Status.d.ts.map +1 -0
- package/dist/types/imagebuilder/models/Status.js +3 -0
- package/dist/types/imagebuilder/models/Status.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/models/ApiVersion.d.ts +9 -0
- package/dist/types/models/ApiVersion.d.ts.map +1 -0
- package/dist/types/models/ApiVersion.js +17 -0
- package/dist/types/models/ApiVersion.js.map +1 -0
- package/dist/types/models/ApplicationProviderBase.d.ts +12 -0
- package/dist/types/models/ApplicationProviderBase.d.ts.map +1 -0
- package/dist/types/models/ApplicationProviderBase.js +3 -0
- package/dist/types/models/ApplicationProviderBase.js.map +1 -0
- package/dist/types/models/ApplicationProviderSpec.d.ts +5 -15
- package/dist/types/models/ApplicationProviderSpec.d.ts.map +1 -1
- package/dist/types/models/ApplicationUser.d.ts +7 -0
- package/dist/types/models/ApplicationUser.d.ts.map +1 -0
- package/dist/types/models/ApplicationUser.js +3 -0
- package/dist/types/models/ApplicationUser.js.map +1 -0
- package/dist/types/models/AuthConfig.d.ts +2 -4
- package/dist/types/models/AuthConfig.d.ts.map +1 -1
- package/dist/types/models/AuthProvider.d.ts +2 -4
- package/dist/types/models/AuthProvider.d.ts.map +1 -1
- package/dist/types/models/AuthProviderList.d.ts +2 -4
- package/dist/types/models/AuthProviderList.d.ts.map +1 -1
- package/dist/types/models/CertificateSigningRequest.d.ts +2 -4
- package/dist/types/models/CertificateSigningRequest.d.ts.map +1 -1
- package/dist/types/models/CertificateSigningRequestList.d.ts +2 -4
- package/dist/types/models/CertificateSigningRequestList.d.ts.map +1 -1
- package/dist/types/models/ComposeApplication.d.ts +7 -0
- package/dist/types/models/ComposeApplication.d.ts.map +1 -0
- package/dist/types/models/ComposeApplication.js +3 -0
- package/dist/types/models/ComposeApplication.js.map +1 -0
- package/dist/types/models/ContainerApplication.d.ts +18 -0
- package/dist/types/models/ContainerApplication.d.ts.map +1 -0
- package/dist/types/models/ContainerApplication.js +3 -0
- package/dist/types/models/ContainerApplication.js.map +1 -0
- package/dist/types/models/ContainerApplicationProperties.d.ts +13 -0
- package/dist/types/models/ContainerApplicationProperties.d.ts.map +1 -0
- package/dist/types/models/ContainerApplicationProperties.js +3 -0
- package/dist/types/models/ContainerApplicationProperties.js.map +1 -0
- package/dist/types/models/Device.d.ts +2 -4
- package/dist/types/models/Device.d.ts.map +1 -1
- package/dist/types/models/DeviceList.d.ts +2 -4
- package/dist/types/models/DeviceList.d.ts.map +1 -1
- package/dist/types/models/EnrollmentRequest.d.ts +2 -4
- package/dist/types/models/EnrollmentRequest.d.ts.map +1 -1
- package/dist/types/models/EnrollmentRequestList.d.ts +2 -4
- package/dist/types/models/EnrollmentRequestList.d.ts.map +1 -1
- package/dist/types/models/Event.d.ts +2 -4
- package/dist/types/models/Event.d.ts.map +1 -1
- package/dist/types/models/Event.js.map +1 -1
- package/dist/types/models/EventList.d.ts +2 -4
- package/dist/types/models/EventList.d.ts.map +1 -1
- package/dist/types/models/Fleet.d.ts +2 -4
- package/dist/types/models/Fleet.d.ts.map +1 -1
- package/dist/types/models/FleetList.d.ts +2 -4
- package/dist/types/models/FleetList.d.ts.map +1 -1
- package/dist/types/models/HelmApplication.d.ts +20 -0
- package/dist/types/models/HelmApplication.d.ts.map +1 -0
- package/dist/types/models/HelmApplication.js +3 -0
- package/dist/types/models/HelmApplication.js.map +1 -0
- package/dist/types/models/ImageApplicationProviderSpec.d.ts +2 -22
- package/dist/types/models/ImageApplicationProviderSpec.d.ts.map +1 -1
- package/dist/types/models/InlineApplicationProviderSpec.d.ts +2 -3
- package/dist/types/models/InlineApplicationProviderSpec.d.ts.map +1 -1
- package/dist/types/models/Organization.d.ts +2 -4
- package/dist/types/models/Organization.d.ts.map +1 -1
- package/dist/types/models/OrganizationList.d.ts +2 -4
- package/dist/types/models/OrganizationList.d.ts.map +1 -1
- package/dist/types/models/QuadletApplication.d.ts +8 -0
- package/dist/types/models/QuadletApplication.d.ts.map +1 -0
- package/dist/types/models/QuadletApplication.js +3 -0
- package/dist/types/models/QuadletApplication.js.map +1 -0
- package/dist/types/models/Repository.d.ts +2 -4
- package/dist/types/models/Repository.d.ts.map +1 -1
- package/dist/types/models/RepositoryList.d.ts +2 -4
- package/dist/types/models/RepositoryList.d.ts.map +1 -1
- package/dist/types/models/ResourceSync.d.ts +2 -4
- package/dist/types/models/ResourceSync.d.ts.map +1 -1
- package/dist/types/models/ResourceSyncList.d.ts +2 -4
- package/dist/types/models/ResourceSyncList.d.ts.map +1 -1
- package/dist/types/models/Status.d.ts +2 -4
- package/dist/types/models/Status.d.ts.map +1 -1
- package/dist/types/models/TemplateVersion.d.ts +2 -4
- package/dist/types/models/TemplateVersion.d.ts.map +1 -1
- package/dist/types/models/TemplateVersionList.d.ts +2 -4
- package/dist/types/models/TemplateVersionList.d.ts.map +1 -1
- package/dist/ui-components/src/components/AuthProvider/CreateAuthProvider/utils.d.ts.map +1 -1
- package/dist/ui-components/src/components/AuthProvider/CreateAuthProvider/utils.js +51 -51
- package/dist/ui-components/src/components/AuthProvider/CreateAuthProvider/utils.js.map +1 -1
- package/dist/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.js +1 -1
- package/dist/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -1
- package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.js +5 -4
- package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -1
- package/dist/ui-components/src/components/Device/DeviceDetails/TerminalTab.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/DeviceDetails/TerminalTab.js +5 -1
- package/dist/ui-components/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts +3 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +310 -363
- package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.d.ts +1 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.js +18 -19
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.d.ts +1 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.js +5 -4
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.d.ts +1 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.js +2 -2
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.d.ts +3 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js +20 -23
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationIntegritySettings.js +3 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationIntegritySettings.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js +25 -45
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.d.ts +8 -0
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.d.ts.map +1 -0
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.js +37 -0
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.js.map +1 -0
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.d.ts +1 -3
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.d.ts.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.js +5 -8
- package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.js.map +1 -1
- package/dist/ui-components/src/components/Device/EditDeviceWizard/utils.d.ts +18 -18
- package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.d.ts +4 -2
- package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.d.ts.map +1 -1
- package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.js +2 -2
- package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.js.map +1 -1
- package/dist/ui-components/src/components/Fleet/CreateFleet/utils.d.ts +1 -1
- package/dist/ui-components/src/components/Fleet/CreateFleet/utils.d.ts.map +1 -1
- package/dist/ui-components/src/components/Fleet/CreateFleet/utils.js +3 -3
- package/dist/ui-components/src/components/Fleet/CreateFleet/utils.js.map +1 -1
- package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.d.ts.map +1 -1
- package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js +3 -1
- package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.d.ts +7 -0
- package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.d.ts.map +1 -0
- package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.js +40 -0
- package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.js.map +1 -0
- package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.d.ts +8 -0
- package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.d.ts.map +1 -0
- package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.js +37 -0
- package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.js.map +1 -0
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.js +4 -3
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.js +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.js +13 -10
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.js +4 -2
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.js +7 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/types.d.ts +3 -5
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/types.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.d.ts +3 -2
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.js +139 -34
- package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.js +23 -12
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.js +115 -39
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.d.ts +1 -0
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.js +17 -18
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.d.ts +5 -2
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.js +22 -12
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.js +17 -8
- package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.js.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.d.ts +10 -9
- package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.d.ts.map +1 -1
- package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.js +122 -26
- package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.js.map +1 -1
- package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.d.ts +2 -1
- package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.d.ts.map +1 -1
- package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.js +10 -4
- package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -1
- package/dist/ui-components/src/components/Repository/CreateRepository/utils.d.ts.map +1 -1
- package/dist/ui-components/src/components/Repository/CreateRepository/utils.js +3 -4
- package/dist/ui-components/src/components/Repository/CreateRepository/utils.js.map +1 -1
- package/dist/ui-components/src/components/form/RepositorySelect.d.ts.map +1 -1
- package/dist/ui-components/src/components/form/RepositorySelect.js +1 -1
- package/dist/ui-components/src/components/form/RepositorySelect.js.map +1 -1
- package/dist/ui-components/src/components/form/UploadField.d.ts.map +1 -1
- package/dist/ui-components/src/components/form/UploadField.js +25 -16
- package/dist/ui-components/src/components/form/UploadField.js.map +1 -1
- package/dist/ui-components/src/components/form/validations.d.ts +25 -18
- package/dist/ui-components/src/components/form/validations.d.ts.map +1 -1
- package/dist/ui-components/src/components/form/validations.js +79 -33
- package/dist/ui-components/src/components/form/validations.js.map +1 -1
- package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.d.ts +2 -1
- package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.d.ts.map +1 -1
- package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js +2 -2
- package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js.map +1 -1
- package/dist/ui-components/src/constants.d.ts +5 -6
- package/dist/ui-components/src/constants.d.ts.map +1 -1
- package/dist/ui-components/src/constants.js +19 -11
- package/dist/ui-components/src/constants.js.map +1 -1
- package/dist/ui-components/src/hooks/useWebSocket.d.ts.map +1 -1
- package/dist/ui-components/src/hooks/useWebSocket.js +25 -4
- package/dist/ui-components/src/hooks/useWebSocket.js.map +1 -1
- package/dist/ui-components/src/types/deviceSpec.d.ts +44 -76
- package/dist/ui-components/src/types/deviceSpec.d.ts.map +1 -1
- package/dist/ui-components/src/types/deviceSpec.js +13 -26
- package/dist/ui-components/src/types/deviceSpec.js.map +1 -1
- package/dist/ui-components/src/types/extraTypes.d.ts +1 -7
- package/dist/ui-components/src/types/extraTypes.d.ts.map +1 -1
- package/dist/ui-components/src/types/extraTypes.js.map +1 -1
- package/dist/ui-components/src/types/rbac.d.ts +7 -1
- package/dist/ui-components/src/types/rbac.d.ts.map +1 -1
- package/dist/ui-components/src/types/rbac.js +6 -0
- package/dist/ui-components/src/types/rbac.js.map +1 -1
- package/dist/ui-components/src/utils/imageBuilds.d.ts +1 -0
- package/dist/ui-components/src/utils/imageBuilds.d.ts.map +1 -1
- package/dist/ui-components/src/utils/imageBuilds.js +20 -29
- package/dist/ui-components/src/utils/imageBuilds.js.map +1 -1
- package/dist/ui-components/src/utils/search.d.ts +2 -1
- package/dist/ui-components/src/utils/search.d.ts.map +1 -1
- package/dist/ui-components/src/utils/search.js +2 -2
- package/dist/ui-components/src/utils/search.js.map +1 -1
- package/package.json +2 -2
- package/src/components/AuthProvider/CreateAuthProvider/utils.ts +2 -2
- package/src/components/DetailsPage/Tables/ApplicationsTable.tsx +2 -2
- package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +10 -4
- package/src/components/Device/DeviceDetails/TerminalTab.tsx +9 -1
- package/src/components/Device/EditDeviceWizard/deviceSpecUtils.ts +361 -425
- package/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.tsx +19 -29
- package/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.tsx +5 -13
- package/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.tsx +2 -16
- package/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.tsx +8 -7
- package/src/components/Device/EditDeviceWizard/steps/ApplicationIntegritySettings.tsx +5 -5
- package/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.tsx +29 -101
- package/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.tsx +87 -0
- package/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.tsx +5 -10
- package/src/components/ErrorAlert/ErrorAlert.tsx +13 -3
- package/src/components/Fleet/CreateFleet/utils.ts +4 -5
- package/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.tsx +11 -8
- package/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.tsx +81 -0
- package/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.tsx +61 -0
- package/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.tsx +8 -3
- package/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.tsx +1 -1
- package/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.tsx +18 -10
- package/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.tsx +5 -1
- package/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.tsx +13 -1
- package/src/components/ImageBuilds/CreateImageBuildWizard/types.ts +3 -6
- package/src/components/ImageBuilds/CreateImageBuildWizard/utils.ts +161 -37
- package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.tsx +36 -17
- package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.tsx +131 -44
- package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.tsx +22 -26
- package/src/components/ImageBuilds/ImageBuildRow.tsx +41 -20
- package/src/components/ImageBuilds/ImageBuildsPage.tsx +34 -15
- package/src/components/ImageBuilds/ImageExportCards.tsx +198 -80
- package/src/components/Repository/CreateRepository/CreateRepositoryForm.css +5 -1
- package/src/components/Repository/CreateRepository/CreateRepositoryForm.tsx +14 -4
- package/src/components/Repository/CreateRepository/utils.ts +4 -4
- package/src/components/form/RepositorySelect.tsx +1 -0
- package/src/components/form/UploadField.tsx +29 -30
- package/src/components/form/validations.ts +156 -106
- package/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.tsx +3 -1
- package/src/constants.ts +19 -6
- package/src/hooks/useWebSocket.ts +25 -3
- package/src/types/deviceSpec.ts +68 -108
- package/src/types/extraTypes.ts +2 -12
- package/src/types/rbac.ts +6 -0
- package/src/utils/imageBuilds.ts +22 -32
- package/src/utils/search.ts +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BatchLimitType = exports.isHttpProviderSpec = exports.isHttpConfigTemplate = exports.isInlineProviderSpec = exports.isInlineConfigTemplate = exports.isKubeProviderSpec = exports.isKubeSecretTemplate = exports.getRepoName = exports.getConfigFullRepoUrl = exports.getAppIdentifier = exports.
|
|
4
|
-
|
|
5
|
-
exports.RUN_AS_DEFAULT_USER = 'flightctl';
|
|
3
|
+
exports.BatchLimitType = exports.isHttpProviderSpec = exports.isHttpConfigTemplate = exports.isInlineProviderSpec = exports.isInlineConfigTemplate = exports.isKubeProviderSpec = exports.isKubeSecretTemplate = exports.getRepoName = exports.getConfigFullRepoUrl = exports.getAppIdentifier = exports.isInlineVariantApp = exports.isImageVariantApp = exports.isRepoConfig = exports.isGitProviderSpec = exports.isGitConfigTemplate = exports.AppSpecType = exports.ConfigType = exports.RUN_AS_FLIGHTCTL_USER = exports.RUN_AS_ROOT_USER = void 0;
|
|
4
|
+
// At the moment the "root" user is the default user when no user is specified.
|
|
6
5
|
exports.RUN_AS_ROOT_USER = 'root';
|
|
6
|
+
exports.RUN_AS_FLIGHTCTL_USER = 'flightctl';
|
|
7
7
|
var ConfigType;
|
|
8
8
|
(function (ConfigType) {
|
|
9
9
|
ConfigType["GIT"] = "git";
|
|
@@ -11,6 +11,7 @@ var ConfigType;
|
|
|
11
11
|
ConfigType["K8S_SECRET"] = "secret";
|
|
12
12
|
ConfigType["INLINE"] = "inline";
|
|
13
13
|
})(ConfigType || (exports.ConfigType = ConfigType = {}));
|
|
14
|
+
/** Used when adding a Compose/Quadlet app to choose image vs inline source. */
|
|
14
15
|
var AppSpecType;
|
|
15
16
|
(function (AppSpecType) {
|
|
16
17
|
AppSpecType["OCI_IMAGE"] = "image";
|
|
@@ -22,31 +23,17 @@ const isGitProviderSpec = (providerSpec) => 'gitRef' in providerSpec;
|
|
|
22
23
|
exports.isGitProviderSpec = isGitProviderSpec;
|
|
23
24
|
const isRepoConfig = (config) => (0, exports.isGitProviderSpec)(config) || (0, exports.isHttpProviderSpec)(config);
|
|
24
25
|
exports.isRepoConfig = isRepoConfig;
|
|
25
|
-
const
|
|
26
|
-
exports.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
exports.isQuadletImageAppForm = isQuadletImageAppForm;
|
|
30
|
-
const isQuadletInlineAppForm = (app) => app.appType === types_1.AppType.AppTypeQuadlet && app.specType === AppSpecType.INLINE;
|
|
31
|
-
exports.isQuadletInlineAppForm = isQuadletInlineAppForm;
|
|
32
|
-
const isComposeImageAppForm = (app) => app.appType === types_1.AppType.AppTypeCompose && app.specType === AppSpecType.OCI_IMAGE;
|
|
33
|
-
exports.isComposeImageAppForm = isComposeImageAppForm;
|
|
34
|
-
const isComposeInlineAppForm = (app) => app.appType === types_1.AppType.AppTypeCompose && app.specType === AppSpecType.INLINE;
|
|
35
|
-
exports.isComposeInlineAppForm = isComposeInlineAppForm;
|
|
36
|
-
const isSingleContainerAppForm = (app) => app.appType === types_1.AppType.AppTypeContainer;
|
|
37
|
-
exports.isSingleContainerAppForm = isSingleContainerAppForm;
|
|
38
|
-
const isHelmImageAppForm = (app) => app.appType === types_1.AppType.AppTypeHelm && app.specType === AppSpecType.OCI_IMAGE;
|
|
39
|
-
exports.isHelmImageAppForm = isHelmImageAppForm;
|
|
26
|
+
const isImageVariantApp = (app) => 'image' in app;
|
|
27
|
+
exports.isImageVariantApp = isImageVariantApp;
|
|
28
|
+
const isInlineVariantApp = (app) => 'inline' in app;
|
|
29
|
+
exports.isInlineVariantApp = isInlineVariantApp;
|
|
40
30
|
const hasTemplateVariables = (str) => /{{.+?}}/.test(str);
|
|
41
31
|
const getAppIdentifier = (app) => {
|
|
42
|
-
if (
|
|
43
|
-
return app.name
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
// Name is mandatory for inline applications
|
|
49
|
-
return app.name;
|
|
32
|
+
if (app.name)
|
|
33
|
+
return app.name;
|
|
34
|
+
if ('image' in app && app.image)
|
|
35
|
+
return app.image;
|
|
36
|
+
return '';
|
|
50
37
|
};
|
|
51
38
|
exports.getAppIdentifier = getAppIdentifier;
|
|
52
39
|
const removeSlashes = (url) => (url || '').replace(/^\/+|\/+$/g, '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceSpec.js","sourceRoot":"","sources":["../../../../src/types/deviceSpec.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"deviceSpec.js","sourceRoot":"","sources":["../../../../src/types/deviceSpec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuthProvider, Condition, ConditionType, Device, EnrollmentRequest, FileContent, Fleet, OAuth2ProviderSpec, OIDCProviderSpec, RelativePath, ResourceKind, ResourceSync } from '@flightctl/types';
|
|
2
2
|
import { ImageBuild, ImageBuildCondition, ImageBuildConditionType, ResourceKind as ImageBuilderResourceKind, ImageExport, ImageExportCondition, ImageExportConditionType } from '@flightctl/types/imagebuilder';
|
|
3
3
|
export interface FlightCtlLabel {
|
|
4
4
|
key: string;
|
|
@@ -21,12 +21,6 @@ export declare const isEnrollmentRequest: (resource: Device | EnrollmentRequest)
|
|
|
21
21
|
export type AnnotationType = DeviceAnnotation;
|
|
22
22
|
export declare const isFleet: (resource: ResourceSync | Fleet) => resource is Fleet;
|
|
23
23
|
export type InlineApplicationFileFixed = FileContent & RelativePath;
|
|
24
|
-
export type ApplicationProviderSpecFixed = ApplicationEnvVars & ApplicationVolumeProviderSpec & {
|
|
25
|
-
name?: string;
|
|
26
|
-
appType: AppType;
|
|
27
|
-
} & (ImageApplicationProviderSpec | {
|
|
28
|
-
inline: InlineApplicationFileFixed[];
|
|
29
|
-
});
|
|
30
24
|
type CliArtifact = {
|
|
31
25
|
os: string;
|
|
32
26
|
arch: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraTypes.d.ts","sourceRoot":"","sources":["../../../../src/types/extraTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"extraTypes.d.ts","sourceRoot":"","sources":["../../../../src/types/extraTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraTypes.js","sourceRoot":"","sources":["../../../../src/types/extraTypes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"extraTypes.js","sourceRoot":"","sources":["../../../../src/types/extraTypes.ts"],"names":[],"mappings":";;;AAqCA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,wEAAoD,CAAA;IACpD,yEAAqD,CAAA;AACvD,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAMM,MAAM,mBAAmB,GAAG,CAAC,QAAoC,EAAiC,EAAE,CACzG,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC;AAD3B,QAAA,mBAAmB,uBACQ;AAIjC,MAAM,OAAO,GAAG,CAAC,QAA8B,EAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;AAA3F,QAAA,OAAO,WAAoF;AA6CjG,MAAM,qBAAqB,GAAG,CAAC,QAAsB,EAAmC,EAAE,CAC/F,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,MAAM,CAAC;AAD5F,QAAA,qBAAqB,yBACuE;AAEzG,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,uCAAuB,CAAA;AACzB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
|
|
@@ -19,6 +19,12 @@ export declare enum RESOURCE {
|
|
|
19
19
|
ENROLLMENT_REQUEST_APPROVAL = "enrollmentrequests/approval",
|
|
20
20
|
ALERTS = "alerts",
|
|
21
21
|
AUTH_PROVIDER = "authproviders",
|
|
22
|
-
IMAGE_BUILD = "imagebuilds"
|
|
22
|
+
IMAGE_BUILD = "imagebuilds",
|
|
23
|
+
IMAGE_BUILD_LOG = "imagebuilds/log",
|
|
24
|
+
IMAGE_BUILD_CANCEL = "imagebuilds/cancel",
|
|
25
|
+
IMAGE_EXPORT = "imageexports",
|
|
26
|
+
IMAGE_EXPORT_LOG = "imageexports/log",
|
|
27
|
+
IMAGE_EXPORT_CANCEL = "imageexports/cancel",
|
|
28
|
+
IMAGE_EXPORT_DOWNLOAD = "imageexports/download"
|
|
23
29
|
}
|
|
24
30
|
//# sourceMappingURL=rbac.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../../src/types/rbac.ts"],"names":[],"mappings":"AAAA,oBAAY,IAAI;IACd,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,QAAQ;IAClB,KAAK,WAAW;IAChB,MAAM,YAAY;IAClB,cAAc,oBAAoB;IAClC,mBAAmB,yBAAyB;IAC5C,aAAa,mBAAmB;IAChC,UAAU,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,2BAA2B,gCAAgC;IAC3D,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../../src/types/rbac.ts"],"names":[],"mappings":"AAAA,oBAAY,IAAI;IACd,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,QAAQ;IAClB,KAAK,WAAW;IAChB,MAAM,YAAY;IAClB,cAAc,oBAAoB;IAClC,mBAAmB,yBAAyB;IAC5C,aAAa,mBAAmB;IAChC,UAAU,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,2BAA2B,gCAAgC;IAC3D,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;CAChD"}
|
|
@@ -25,5 +25,11 @@ var RESOURCE;
|
|
|
25
25
|
RESOURCE["ALERTS"] = "alerts";
|
|
26
26
|
RESOURCE["AUTH_PROVIDER"] = "authproviders";
|
|
27
27
|
RESOURCE["IMAGE_BUILD"] = "imagebuilds";
|
|
28
|
+
RESOURCE["IMAGE_BUILD_LOG"] = "imagebuilds/log";
|
|
29
|
+
RESOURCE["IMAGE_BUILD_CANCEL"] = "imagebuilds/cancel";
|
|
30
|
+
RESOURCE["IMAGE_EXPORT"] = "imageexports";
|
|
31
|
+
RESOURCE["IMAGE_EXPORT_LOG"] = "imageexports/log";
|
|
32
|
+
RESOURCE["IMAGE_EXPORT_CANCEL"] = "imageexports/cancel";
|
|
33
|
+
RESOURCE["IMAGE_EXPORT_DOWNLOAD"] = "imageexports/download";
|
|
28
34
|
})(RESOURCE || (exports.RESOURCE = RESOURCE = {}));
|
|
29
35
|
//# sourceMappingURL=rbac.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../../../src/types/rbac.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAQX;AARD,WAAY,IAAI;IACd,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;IACb,mBAAW,CAAA;IACX,uBAAe,CAAA;IACf,qBAAa,CAAA;IACb,yBAAiB,CAAA;AACnB,CAAC,EARW,IAAI,oBAAJ,IAAI,QAQf;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../../../src/types/rbac.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAQX;AARD,WAAY,IAAI;IACd,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;IACb,mBAAW,CAAA;IACX,uBAAe,CAAA;IACf,qBAAa,CAAA;IACb,yBAAiB,CAAA;AACnB,CAAC,EARW,IAAI,oBAAJ,IAAI,QAQf;AAED,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,4BAAgB,CAAA;IAChB,8BAAkB,CAAA;IAClB,8CAAkC,CAAA;IAClC,wDAA4C,CAAA;IAC5C,4CAAgC,CAAA;IAChC,uCAA2B,CAAA;IAC3B,2CAA+B,CAAA;IAC/B,qDAAyC,CAAA;IACzC,uEAA2D,CAAA;IAC3D,6BAAiB,CAAA;IACjB,2CAA+B,CAAA;IAC/B,uCAA2B,CAAA;IAC3B,+CAAmC,CAAA;IACnC,qDAAyC,CAAA;IACzC,yCAA6B,CAAA;IAC7B,iDAAqC,CAAA;IACrC,uDAA2C,CAAA;IAC3C,2DAA+C,CAAA;AACjD,CAAC,EAnBW,QAAQ,wBAAR,QAAQ,QAmBnB"}
|
|
@@ -9,6 +9,7 @@ export declare const getImageReference: (repositories: Repository[], imageTarget
|
|
|
9
9
|
export declare const getImageBuildStatusReason: (imageBuild: ImageBuild) => ImageBuildConditionReason;
|
|
10
10
|
export declare const getImageExportStatusReason: (imageExport: ImageExport) => ImageExportConditionReason;
|
|
11
11
|
export declare const isImageBuildActiveReason: (reason: ImageBuildConditionReason) => boolean;
|
|
12
|
+
export declare const isImageBuildCancelable: (reason: ImageBuildConditionReason) => boolean;
|
|
12
13
|
export declare const isImageExportActiveReason: (reason: ImageExportConditionReason) => boolean;
|
|
13
14
|
export type ExportDownloadResult = {
|
|
14
15
|
type: 'redirect';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageBuilds.d.ts","sourceRoot":"","sources":["../../../../src/utils/imageBuilds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,yBAAyB,EAEzB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAE3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,mBAAmB,0BAK/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,gBAAgB,GAAG,qBAAqB,GAAG,SAAS,WAKhG,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAAO,SAAS,UAAU,gBAAgB,WAWhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,MAAO,SAAS,UAAU,gBAAgB,WAO1E,CAAC;AAUF,eAAO,MAAM,iBAAiB,iBACd,UAAU,EAAE,eACb,gBAAgB,GAAG,qBAAqB,uBAUtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,eAAgB,UAAU,KAAG,yBAOlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,gBAAiB,WAAW,KAAG,0BAQrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAAY,yBAAyB,KAAG,OAO5E,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAAY,0BAA0B,KAAG,OAO9E,CAAC;
|
|
1
|
+
{"version":3,"file":"imageBuilds.d.ts","sourceRoot":"","sources":["../../../../src/utils/imageBuilds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,yBAAyB,EAEzB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAE3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,mBAAmB,0BAK/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,gBAAgB,GAAG,qBAAqB,GAAG,SAAS,WAKhG,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAAO,SAAS,UAAU,gBAAgB,WAWhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,MAAO,SAAS,UAAU,gBAAgB,WAO1E,CAAC;AAUF,eAAO,MAAM,iBAAiB,iBACd,UAAU,EAAE,eACb,gBAAgB,GAAG,qBAAqB,uBAUtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,eAAgB,UAAU,KAAG,yBAOlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,gBAAiB,WAAW,KAAG,0BAQrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAAY,yBAAyB,KAAG,OAO5E,CAAC;AAEF,eAAO,MAAM,sBAAsB,WAAY,yBAAyB,KAAG,OAM1E,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAAY,0BAA0B,KAAG,OAO9E,CAAC;AAYF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAK/D,eAAO,MAAM,uBAAuB,aAAoB,QAAQ,KAAG,QAAQ,oBAAoB,GAAG,IAAI,CA6BrG,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getExportDownloadResult = exports.isImageExportActiveReason = exports.isImageBuildActiveReason = exports.getImageExportStatusReason = exports.getImageBuildStatusReason = exports.getImageReference = exports.getExportFormatLabel = exports.getExportFormatDescription = exports.getImageBuildImage = exports.getAllExportFormats = void 0;
|
|
3
|
+
exports.getExportDownloadResult = exports.isImageExportActiveReason = exports.isImageBuildCancelable = exports.isImageBuildActiveReason = exports.getImageExportStatusReason = exports.getImageBuildStatusReason = exports.getImageReference = exports.getExportFormatLabel = exports.getExportFormatDescription = exports.getImageBuildImage = exports.getAllExportFormats = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const imagebuilder_1 = require("@flightctl/types/imagebuilder");
|
|
6
6
|
const utils_1 = require("../components/Repository/CreateRepository/utils");
|
|
@@ -78,6 +78,12 @@ const isImageBuildActiveReason = (reason) => {
|
|
|
78
78
|
reason === imagebuilder_1.ImageBuildConditionReason.ImageBuildConditionReasonCanceling);
|
|
79
79
|
};
|
|
80
80
|
exports.isImageBuildActiveReason = isImageBuildActiveReason;
|
|
81
|
+
const isImageBuildCancelable = (reason) => {
|
|
82
|
+
return (reason === imagebuilder_1.ImageBuildConditionReason.ImageBuildConditionReasonPending ||
|
|
83
|
+
reason === imagebuilder_1.ImageBuildConditionReason.ImageBuildConditionReasonBuilding ||
|
|
84
|
+
reason === imagebuilder_1.ImageBuildConditionReason.ImageBuildConditionReasonPushing);
|
|
85
|
+
};
|
|
86
|
+
exports.isImageBuildCancelable = isImageBuildCancelable;
|
|
81
87
|
const isImageExportActiveReason = (reason) => {
|
|
82
88
|
return (reason === imagebuilder_1.ImageExportConditionReason.ImageExportConditionReasonPending ||
|
|
83
89
|
reason === imagebuilder_1.ImageExportConditionReason.ImageExportConditionReasonConverting ||
|
|
@@ -85,14 +91,6 @@ const isImageExportActiveReason = (reason) => {
|
|
|
85
91
|
reason === imagebuilder_1.ImageExportConditionReason.ImageExportConditionReasonCanceling);
|
|
86
92
|
};
|
|
87
93
|
exports.isImageExportActiveReason = isImageExportActiveReason;
|
|
88
|
-
const isDownloadResultRedirect = (response) => {
|
|
89
|
-
return (response.status === 302 ||
|
|
90
|
-
response.status === 301 ||
|
|
91
|
-
response.status === 307 ||
|
|
92
|
-
response.status === 308 ||
|
|
93
|
-
response.type === 'opaqueredirect' ||
|
|
94
|
-
response.status === 0);
|
|
95
|
-
};
|
|
96
94
|
// Validate that a URL is safe to use for download (only http/https protocols)
|
|
97
95
|
const isValidDownloadUrl = (url) => {
|
|
98
96
|
try {
|
|
@@ -103,31 +101,24 @@ const isValidDownloadUrl = (url) => {
|
|
|
103
101
|
return false;
|
|
104
102
|
}
|
|
105
103
|
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (redirectUrl) {
|
|
110
|
-
return redirectUrl;
|
|
111
|
-
}
|
|
112
|
-
if (isDownloadResultRedirect(response) && response.url) {
|
|
113
|
-
return response.url;
|
|
114
|
-
}
|
|
115
|
-
return undefined;
|
|
116
|
-
};
|
|
117
|
-
// The download endpoint returns two types of responses: a redirect URL or a blob.
|
|
118
|
-
// If a redirect URL is found, we should use it to trigger the download in the browser.
|
|
119
|
-
// If no redirect URL is found, we should download the blob directly.
|
|
104
|
+
// The ImageBuilder API download endpoint returns two types of responses: a redirect URL or a blob.
|
|
105
|
+
// When it returns a redirect URL, the UI proxy rewrites the response to 200 with { redirectUrl: CDN_URL }
|
|
106
|
+
// When no redirect URL is found, we should download the blob directly.
|
|
120
107
|
const getExportDownloadResult = (response) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
121
|
-
if (!response.ok
|
|
108
|
+
if (!response.ok || response.type === 'opaqueredirect' || response.status === 0) {
|
|
122
109
|
return null;
|
|
123
110
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
111
|
+
// Extract the redirect URL returned by the UI proxy
|
|
112
|
+
const contentType = response.headers.get('Content-Type') || '';
|
|
113
|
+
if (response.ok && contentType.includes('application/json')) {
|
|
114
|
+
const data = (yield response.json());
|
|
115
|
+
const url = data === null || data === void 0 ? void 0 : data.redirectUrl;
|
|
116
|
+
if (url && isValidDownloadUrl(url)) {
|
|
117
|
+
return { type: 'redirect', url };
|
|
128
118
|
}
|
|
129
|
-
return
|
|
119
|
+
return null;
|
|
130
120
|
}
|
|
121
|
+
// Download the blob directly
|
|
131
122
|
const blob = yield response.blob();
|
|
132
123
|
let filename = '';
|
|
133
124
|
const disposition = response.headers.get('Content-Disposition');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageBuilds.js","sourceRoot":"","sources":["../../../../src/utils/imageBuilds.ts"],"names":[],"mappings":";;;;AACA,gEAUuC;AAEvC,2EAAgF;AAEzE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC;IACvC,+BAAgB,CAAC,mBAAmB;IACpC,+BAAgB,CAAC,kCAAkC;IACnD,+BAAgB,CAAC,qBAAqB;IACtC,+BAAgB,CAAC,oBAAoB;CACtC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,kBAAkB,GAAG,CAAC,QAA8D,EAAE,EAAE;IACnG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtD,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEK,MAAM,0BAA0B,GAAG,CAAC,CAAY,EAAE,MAAwB,EAAE,EAAE;IACnF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,+BAAgB,CAAC,oBAAoB;YACxC,OAAO,CAAC,CAAC,0CAA0C,CAAC,CAAC;QACvD,KAAK,+BAAgB,CAAC,qBAAqB;YACzC,OAAO,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,+BAAgB,CAAC,kCAAkC;YACtD,OAAO,CAAC,CAAC,+BAA+B,CAAC,CAAC;QAC5C,KAAK,+BAAgB,CAAC,mBAAmB;YACvC,OAAO,CAAC,CAAC,2CAA2C,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC;AAEK,MAAM,oBAAoB,GAAG,CAAC,CAAY,EAAE,MAAwB,EAAE,EAAE;IAC7E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,+BAAgB,CAAC,kCAAkC;YACtD,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAChC;YACE,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B;AAEF,MAAM,mBAAmB,GAAG,CAAC,YAA0B,EAAE,cAAsB,EAAsB,EAAE;IACrG,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5B,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,YAA0B,EAC1B,WAAqD,EACrD,EAAE;IACF,MAAM,WAAW,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,WAAW,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC3E,CAAC,CAAC;AAZW,QAAA,iBAAiB,qBAY5B;AAEK,MAAM,yBAAyB,GAAG,CAAC,UAAsB,EAA6B,EAAE;;IAC7F,MAAM,cAAc,GAAG,MAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,UAAU,0CAAE,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sCAAuB,CAAC,4BAA4B,CACvE,CAAC;IACF,OAAO,CACL,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAoC,KAAI,wCAAyB,CAAC,gCAAgC,CACpH,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,yBAAyB,6BAOpC;AAEK,MAAM,0BAA0B,GAAG,CAAC,WAAwB,EAA8B,EAAE;;IACjG,MAAM,cAAc,GAAG,MAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,UAAU,0CAAE,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uCAAwB,CAAC,6BAA6B,CACzE,CAAC;IACF,OAAO,CACL,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAqC;QACtD,yCAA0B,CAAC,iCAAiC,CAC7D,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,0BAA0B,8BAQrC;AAEK,MAAM,wBAAwB,GAAG,CAAC,MAAiC,EAAW,EAAE;IACrF,OAAO,CACL,MAAM,KAAK,wCAAyB,CAAC,gCAAgC;QACrE,MAAM,KAAK,wCAAyB,CAAC,iCAAiC;QACtE,MAAM,KAAK,wCAAyB,CAAC,gCAAgC;QACrE,MAAM,KAAK,wCAAyB,CAAC,kCAAkC,CACxE,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,wBAAwB,4BAOnC;AAEK,MAAM,
|
|
1
|
+
{"version":3,"file":"imageBuilds.js","sourceRoot":"","sources":["../../../../src/utils/imageBuilds.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { ApiVersion } from '@flightctl/types';
|
|
1
2
|
export declare const MAX_TOTAL_SEARCH_RESULTS = 10;
|
|
2
3
|
export declare const fuzzySeach: (filter: string | undefined, value?: string) => boolean;
|
|
3
4
|
export declare const getSearchResultsCount: (labelCount: number, fleetCount: number) => number[];
|
|
4
5
|
export declare const getEmptyFleetSearch: () => {
|
|
5
|
-
apiVersion:
|
|
6
|
+
apiVersion: ApiVersion;
|
|
6
7
|
kind: string;
|
|
7
8
|
metadata: {};
|
|
8
9
|
items: never[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/utils/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/utils/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,UAAU,WAAY,MAAM,GAAG,SAAS,UAAU,MAAM,KAAG,OAMvE,CAAC;AAEF,eAAO,MAAM,qBAAqB,eAAgB,MAAM,cAAc,MAAM,aAW3E,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;CAK9B,CAAC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getEmptyFleetSearch = exports.getSearchResultsCount = exports.fuzzySeach = exports.MAX_TOTAL_SEARCH_RESULTS = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const fuzzysearch_1 = tslib_1.__importDefault(require("fuzzysearch"));
|
|
6
|
-
const
|
|
6
|
+
const types_1 = require("@flightctl/types");
|
|
7
7
|
// Must be an even number for "getSearchResultsCount" to work
|
|
8
8
|
exports.MAX_TOTAL_SEARCH_RESULTS = 10;
|
|
9
9
|
const fuzzySeach = (filter, value) => {
|
|
@@ -27,7 +27,7 @@ const getSearchResultsCount = (labelCount, fleetCount) => {
|
|
|
27
27
|
};
|
|
28
28
|
exports.getSearchResultsCount = getSearchResultsCount;
|
|
29
29
|
const getEmptyFleetSearch = () => ({
|
|
30
|
-
apiVersion:
|
|
30
|
+
apiVersion: types_1.ApiVersion.ApiVersionV1beta1,
|
|
31
31
|
kind: 'Fleet',
|
|
32
32
|
metadata: {},
|
|
33
33
|
items: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/utils/search.ts"],"names":[],"mappings":";;;;AAAA,sEAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/utils/search.ts"],"names":[],"mappings":";;;;AAAA,sEAAgC;AAChC,4CAA8C;AAE9C,6DAA6D;AAChD,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAEpC,MAAM,UAAU,GAAG,CAAC,MAA0B,EAAE,KAAc,EAAW,EAAE;IAChF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6DAA6D;IAC7D,OAAO,IAAA,qBAAK,EAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAY,CAAC;AACrF,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB;AAEK,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAE,UAAkB,EAAE,EAAE;IAC9E,IAAI,UAAU,GAAG,UAAU,IAAI,gCAAwB,EAAE,CAAC;QACxD,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,gCAAwB,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,GAAG,KAAK,gCAAwB,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,gCAAwB,GAAG,CAAC,EAAE,gCAAwB,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,gCAAwB,GAAG,GAAG,CAAC;IAC5C,OAAO,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,kBAAU,CAAC,iBAAiB;IACxC,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;CACV,CAAC,CAAC;AALU,QAAA,mBAAmB,uBAK7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flightctl/ui-components",
|
|
3
|
-
"version": "1.1.0-
|
|
3
|
+
"version": "1.1.0-rc3",
|
|
4
4
|
"description": "Components for Flightctl UI",
|
|
5
5
|
"repository": "https://github.com/flightctl/flightctl-ui.git",
|
|
6
6
|
"homepage": "https://github.com/flightctl/flightctl-ui.git",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"file-saver": "^2.0.2",
|
|
36
36
|
"formik": "^2.4.5",
|
|
37
37
|
"fuzzysearch": "^1.0.3",
|
|
38
|
-
"js-yaml": "^4.1.
|
|
38
|
+
"js-yaml": "^4.1.1",
|
|
39
39
|
"percent-round": "^2.3.1",
|
|
40
40
|
"use-debounce": "^10.0.1",
|
|
41
41
|
"yup": "^1.3.3"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Yup from 'yup';
|
|
2
2
|
import { TFunction } from 'i18next';
|
|
3
3
|
import {
|
|
4
|
+
ApiVersion,
|
|
4
5
|
AuthDynamicRoleAssignment,
|
|
5
6
|
AuthOrganizationAssignment,
|
|
6
7
|
AuthProvider,
|
|
@@ -25,7 +26,6 @@ import {
|
|
|
25
26
|
} from './types';
|
|
26
27
|
import { validKubernetesDnsSubdomain } from '../../form/validations';
|
|
27
28
|
import { DynamicAuthProviderSpec, ProviderType } from '../../../types/extraTypes';
|
|
28
|
-
import { API_VERSION } from '../../../constants';
|
|
29
29
|
|
|
30
30
|
export const getAssignmentTypeLabel = (
|
|
31
31
|
type: AuthOrganizationAssignment['type'] | AuthRoleAssignment['type'] | undefined,
|
|
@@ -317,7 +317,7 @@ export const getAuthProvider = (values: AuthProviderFormValues): AuthProvider =>
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
return {
|
|
320
|
-
apiVersion:
|
|
320
|
+
apiVersion: ApiVersion.ApiVersionV1beta1,
|
|
321
321
|
kind: 'AuthProvider',
|
|
322
322
|
metadata: {
|
|
323
323
|
name: values.name,
|
|
@@ -6,7 +6,7 @@ import { DeviceApplicationStatus } from '@flightctl/types';
|
|
|
6
6
|
import { useTranslation } from '../../../hooks/useTranslation';
|
|
7
7
|
import ApplicationStatus from '../../Status/ApplicationStatus';
|
|
8
8
|
import { getAppTypeLabel } from '../../../utils/apps';
|
|
9
|
-
import {
|
|
9
|
+
import { RUN_AS_ROOT_USER } from '../../../types/deviceSpec';
|
|
10
10
|
|
|
11
11
|
type ApplicationsTableProps = {
|
|
12
12
|
appsStatus: DeviceApplicationStatus[];
|
|
@@ -45,7 +45,7 @@ const ApplicationsTable = ({ appsStatus }: ApplicationsTableProps) => {
|
|
|
45
45
|
<Td dataLabel={t('Type')}>
|
|
46
46
|
{app.appType ? <Label variant="outline">{getAppTypeLabel(app.appType, t)}</Label> : '-'}
|
|
47
47
|
</Td>
|
|
48
|
-
<Td dataLabel={t('Run as user')}>{app.runAs ||
|
|
48
|
+
<Td dataLabel={t('Run as user')}>{app.runAs || RUN_AS_ROOT_USER}</Td>
|
|
49
49
|
<Td dataLabel={t('Embedded')}>{app.embedded ? t('Yes') : t('No')}</Td>
|
|
50
50
|
</Tr>
|
|
51
51
|
);
|
|
@@ -59,9 +59,10 @@ const DeviceDetailsPage = ({ children, hideTerminal }: DeviceDetailsPageProps) =
|
|
|
59
59
|
const isEnrolled = !device || isDeviceEnrolled(device);
|
|
60
60
|
|
|
61
61
|
const { checkPermissions } = usePermissionsContext();
|
|
62
|
-
const [hasTerminalAccess, canDelete,
|
|
62
|
+
const [hasTerminalAccess, canDelete, hasEditPermissions, canDecommission, canResume] =
|
|
63
63
|
checkPermissions(deviceDetailsPermissions);
|
|
64
64
|
|
|
65
|
+
const canEdit = hasEditPermissions && isEnrolled;
|
|
65
66
|
const canOpenTerminal = hasTerminalAccess && isEnrolled;
|
|
66
67
|
|
|
67
68
|
const { deleteAction, deleteModal } = useDeleteAction({
|
|
@@ -159,7 +160,7 @@ const DeviceDetailsPage = ({ children, hideTerminal }: DeviceDetailsPageProps) =
|
|
|
159
160
|
isEnrolled ? (
|
|
160
161
|
<DetailsPageActions>
|
|
161
162
|
<DropdownList>
|
|
162
|
-
{
|
|
163
|
+
{hasEditPermissions && (
|
|
163
164
|
<DropdownItem
|
|
164
165
|
onClick={() => navigate({ route: ROUTE.DEVICE_EDIT, postfix: deviceId })}
|
|
165
166
|
{...editActionProps}
|
|
@@ -186,7 +187,7 @@ const DeviceDetailsPage = ({ children, hideTerminal }: DeviceDetailsPageProps) =
|
|
|
186
187
|
<Route
|
|
187
188
|
path="details"
|
|
188
189
|
element={
|
|
189
|
-
<DeviceDetailsTab device={device} refetch={refetch} canEdit={
|
|
190
|
+
<DeviceDetailsTab device={device} refetch={refetch} canEdit={hasEditPermissions}>
|
|
190
191
|
{children}
|
|
191
192
|
</DeviceDetailsTab>
|
|
192
193
|
}
|
|
@@ -194,7 +195,12 @@ const DeviceDetailsPage = ({ children, hideTerminal }: DeviceDetailsPageProps) =
|
|
|
194
195
|
<Route
|
|
195
196
|
path="yaml"
|
|
196
197
|
element={
|
|
197
|
-
<YamlEditor
|
|
198
|
+
<YamlEditor
|
|
199
|
+
apiObj={device}
|
|
200
|
+
refetch={refetch}
|
|
201
|
+
disabledEditReason={editDisabledReason}
|
|
202
|
+
canEdit={hasEditPermissions}
|
|
203
|
+
/>
|
|
198
204
|
}
|
|
199
205
|
/>
|
|
200
206
|
{!hideTerminal && canOpenTerminal && <Route path="terminal" element={<TerminalTab device={device} />} />}
|
|
@@ -97,7 +97,15 @@ const TerminalTab = ({ device }: TerminalTabProps) => {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
if (error) {
|
|
100
|
-
return
|
|
100
|
+
return (
|
|
101
|
+
<ErrorAlert
|
|
102
|
+
error={error}
|
|
103
|
+
onRetry={() => {
|
|
104
|
+
terminal.current?.reset();
|
|
105
|
+
reconnect();
|
|
106
|
+
}}
|
|
107
|
+
/>
|
|
108
|
+
);
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
return (
|