@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.
Files changed (408) hide show
  1. package/dist/__mocks__/fileMock.js +3 -0
  2. package/dist/__mocks__/fileMock.js.map +1 -0
  3. package/dist/__mocks__/styleMock.js +3 -0
  4. package/dist/__mocks__/styleMock.js.map +1 -0
  5. package/dist/jest.config.js +24 -0
  6. package/dist/jest.config.js.map +1 -0
  7. package/dist/src/components/DetailsPage/DetailsNotFound.js +69 -0
  8. package/dist/src/components/DetailsPage/DetailsNotFound.js.map +1 -0
  9. package/dist/src/components/DetailsPage/DetailsPage.css +3 -0
  10. package/dist/src/components/DetailsPage/DetailsPage.js +42 -0
  11. package/dist/src/components/DetailsPage/DetailsPage.js.map +1 -0
  12. package/dist/src/components/DetailsPage/DetailsPage.spec.js +81 -0
  13. package/dist/src/components/DetailsPage/DetailsPage.spec.js.map +1 -0
  14. package/dist/src/components/DetailsPage/DetailsPageActions.js +30 -0
  15. package/dist/src/components/DetailsPage/DetailsPageActions.js.map +1 -0
  16. package/dist/src/components/DetailsPage/DetailsPageCard.css +8 -0
  17. package/dist/src/components/DetailsPage/DetailsPageCard.js +12 -0
  18. package/dist/src/components/DetailsPage/DetailsPageCard.js.map +1 -0
  19. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js +27 -0
  20. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -0
  21. package/dist/src/components/DetailsPage/Tables/ConditionsTable.js +24 -0
  22. package/dist/src/components/DetailsPage/Tables/ConditionsTable.js.map +1 -0
  23. package/dist/src/components/DetailsPage/Tables/IntegrityDetails.js +22 -0
  24. package/dist/src/components/DetailsPage/Tables/IntegrityDetails.js.map +1 -0
  25. package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js +40 -0
  26. package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js.map +1 -0
  27. package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js +63 -0
  28. package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js.map +1 -0
  29. package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +57 -0
  30. package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -0
  31. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.css +4 -0
  32. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js +114 -0
  33. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js.map +1 -0
  34. package/dist/src/components/Device/DeviceDetails/DeviceFleet.css +3 -0
  35. package/dist/src/components/Device/DeviceDetails/DeviceFleet.js +50 -0
  36. package/dist/src/components/Device/DeviceDetails/DeviceFleet.js.map +1 -0
  37. package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.css +3 -0
  38. package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.js +34 -0
  39. package/dist/src/components/Device/DeviceDetails/DeviceStatusDebugModal.js.map +1 -0
  40. package/dist/src/components/Device/DeviceDetails/SystemdTable.js +38 -0
  41. package/dist/src/components/Device/DeviceDetails/SystemdTable.js.map +1 -0
  42. package/dist/src/components/Device/DeviceDetails/TerminalTab.js +31 -0
  43. package/dist/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -0
  44. package/dist/src/components/Device/DeviceList/DeviceFilterSelect.js +87 -0
  45. package/dist/src/components/Device/DeviceList/DeviceFilterSelect.js.map +1 -0
  46. package/dist/src/components/Device/DeviceList/DeviceList.js +157 -0
  47. package/dist/src/components/Device/DeviceList/DeviceList.js.map +1 -0
  48. package/dist/src/components/Device/DeviceList/DeviceTableRow.js +62 -0
  49. package/dist/src/components/Device/DeviceList/DeviceTableRow.js.map +1 -0
  50. package/dist/src/components/Device/DeviceList/DeviceTableToolbar.js +80 -0
  51. package/dist/src/components/Device/DeviceList/DeviceTableToolbar.js.map +1 -0
  52. package/dist/src/components/Device/DeviceList/types.js +4 -0
  53. package/dist/src/components/Device/DeviceList/types.js.map +1 -0
  54. package/dist/src/components/Device/DeviceList/useDeviceBackendFilters.js +94 -0
  55. package/dist/src/components/Device/DeviceList/useDeviceBackendFilters.js.map +1 -0
  56. package/dist/src/components/Device/DeviceList/useDeviceFilters.js +16 -0
  57. package/dist/src/components/Device/DeviceList/useDeviceFilters.js.map +1 -0
  58. package/dist/src/components/Device/DeviceList/useDeviceLikeResources.js +98 -0
  59. package/dist/src/components/Device/DeviceList/useDeviceLikeResources.js.map +1 -0
  60. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.css +4 -0
  61. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js +92 -0
  62. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js.map +1 -0
  63. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js +32 -0
  64. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.js.map +1 -0
  65. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js +36 -0
  66. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizardNav.js.map +1 -0
  67. package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +171 -0
  68. package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -0
  69. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js +15 -0
  70. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js.map +1 -0
  71. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js +22 -0
  72. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.js.map +1 -0
  73. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.css +3 -0
  74. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js +96 -0
  75. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js.map +1 -0
  76. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js +94 -0
  77. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js.map +1 -0
  78. package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js +45 -0
  79. package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js.map +1 -0
  80. package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.js +48 -0
  81. package/dist/src/components/Device/EditDeviceWizard/steps/GeneralInfoStep.js.map +1 -0
  82. package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js +45 -0
  83. package/dist/src/components/Device/EditDeviceWizard/steps/ReviewDeviceStep.js.map +1 -0
  84. package/dist/src/components/Device/EditDeviceWizard/types.js +3 -0
  85. package/dist/src/components/Device/EditDeviceWizard/types.js.map +1 -0
  86. package/dist/src/components/Device/EditDeviceWizard/useEditDevice.js +35 -0
  87. package/dist/src/components/Device/EditDeviceWizard/useEditDevice.js.map +1 -0
  88. package/dist/src/components/Device/EditDeviceWizard/utils.js +65 -0
  89. package/dist/src/components/Device/EditDeviceWizard/utils.js.map +1 -0
  90. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js +39 -0
  91. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js.map +1 -0
  92. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js +46 -0
  93. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js.map +1 -0
  94. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.css +3 -0
  95. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js +103 -0
  96. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js.map +1 -0
  97. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js +42 -0
  98. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js.map +1 -0
  99. package/dist/src/components/ErrorAlert/ErrorAlert.js +13 -0
  100. package/dist/src/components/ErrorAlert/ErrorAlert.js.map +1 -0
  101. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.css +3 -0
  102. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js +82 -0
  103. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js.map +1 -0
  104. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js +32 -0
  105. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizardFooter.js.map +1 -0
  106. package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js +85 -0
  107. package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js.map +1 -0
  108. package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js +30 -0
  109. package/dist/src/components/Fleet/CreateFleet/steps/GeneralInfoStep.js.map +1 -0
  110. package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js +46 -0
  111. package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js.map +1 -0
  112. package/dist/src/components/Fleet/CreateFleet/types.js +3 -0
  113. package/dist/src/components/Fleet/CreateFleet/types.js.map +1 -0
  114. package/dist/src/components/Fleet/CreateFleet/useEditFleet.js +35 -0
  115. package/dist/src/components/Fleet/CreateFleet/useEditFleet.js.map +1 -0
  116. package/dist/src/components/Fleet/CreateFleet/utils.js +143 -0
  117. package/dist/src/components/Fleet/CreateFleet/utils.js.map +1 -0
  118. package/dist/src/components/Fleet/DeleteFleetModal/DeleteFleetModal.js +55 -0
  119. package/dist/src/components/Fleet/DeleteFleetModal/DeleteFleetModal.js.map +1 -0
  120. package/dist/src/components/Fleet/FleetDetails/FleetDetails.js +49 -0
  121. package/dist/src/components/Fleet/FleetDetails/FleetDetails.js.map +1 -0
  122. package/dist/src/components/Fleet/FleetDetails/FleetDetailsContent.js +69 -0
  123. package/dist/src/components/Fleet/FleetDetails/FleetDetailsContent.js.map +1 -0
  124. package/dist/src/components/Fleet/FleetDetails/FleetDevices.js +40 -0
  125. package/dist/src/components/Fleet/FleetDetails/FleetDevices.js.map +1 -0
  126. package/dist/src/components/Fleet/FleetDetails/FleetOwnerLink.js +37 -0
  127. package/dist/src/components/Fleet/FleetDetails/FleetOwnerLink.js.map +1 -0
  128. package/dist/src/components/Fleet/FleetDetails/chartUtils.js +29 -0
  129. package/dist/src/components/Fleet/FleetDetails/chartUtils.js.map +1 -0
  130. package/dist/src/components/Fleet/FleetList.js +130 -0
  131. package/dist/src/components/Fleet/FleetList.js.map +1 -0
  132. package/dist/src/components/Fleet/FleetRow.js +64 -0
  133. package/dist/src/components/Fleet/FleetRow.js.map +1 -0
  134. package/dist/src/components/Fleet/FleetStatus.js +34 -0
  135. package/dist/src/components/Fleet/FleetStatus.js.map +1 -0
  136. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.css +3 -0
  137. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js +106 -0
  138. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js.map +1 -0
  139. package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js +69 -0
  140. package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +1 -0
  141. package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js +31 -0
  142. package/dist/src/components/Fleet/ImportFleetWizard/steps/ResourceSyncStep.js.map +1 -0
  143. package/dist/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js +37 -0
  144. package/dist/src/components/Fleet/ImportFleetWizard/steps/ReviewStep.js.map +1 -0
  145. package/dist/src/components/Fleet/ImportFleetWizard/types.js +3 -0
  146. package/dist/src/components/Fleet/ImportFleetWizard/types.js.map +1 -0
  147. package/dist/src/components/Fleet/ResourceSyncRow.js +36 -0
  148. package/dist/src/components/Fleet/ResourceSyncRow.js.map +1 -0
  149. package/dist/src/components/ListPage/ListPage.js +12 -0
  150. package/dist/src/components/ListPage/ListPage.js.map +1 -0
  151. package/dist/src/components/ListPage/ListPageActions.js +30 -0
  152. package/dist/src/components/ListPage/ListPageActions.js.map +1 -0
  153. package/dist/src/components/ListPage/ListPageBody.js +21 -0
  154. package/dist/src/components/ListPage/ListPageBody.js.map +1 -0
  155. package/dist/src/components/ListPage/types.js +3 -0
  156. package/dist/src/components/ListPage/types.js.map +1 -0
  157. package/dist/src/components/NavItem/NavItem.js +20 -0
  158. package/dist/src/components/NavItem/NavItem.js.map +1 -0
  159. package/dist/src/components/OverviewPage/Cards/Status/ApplicationStatusChart.js +30 -0
  160. package/dist/src/components/OverviewPage/Cards/Status/ApplicationStatusChart.js.map +1 -0
  161. package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js +32 -0
  162. package/dist/src/components/OverviewPage/Cards/Status/DeviceStatusChart.js.map +1 -0
  163. package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js +61 -0
  164. package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js.map +1 -0
  165. package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js +64 -0
  166. package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js.map +1 -0
  167. package/dist/src/components/OverviewPage/Cards/Status/SystemUpdateStatusChart.js +30 -0
  168. package/dist/src/components/OverviewPage/Cards/Status/SystemUpdateStatusChart.js.map +1 -0
  169. package/dist/src/components/OverviewPage/Cards/Status/utils.js +31 -0
  170. package/dist/src/components/OverviewPage/Cards/Status/utils.js.map +1 -0
  171. package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js +46 -0
  172. package/dist/src/components/OverviewPage/Cards/ToDo/ToDoCard.js.map +1 -0
  173. package/dist/src/components/OverviewPage/Overview.js +16 -0
  174. package/dist/src/components/OverviewPage/Overview.js.map +1 -0
  175. package/dist/src/components/OverviewPage/OverviewPage.js +17 -0
  176. package/dist/src/components/OverviewPage/OverviewPage.js.map +1 -0
  177. package/dist/src/components/Repository/CreateRepository/CreateRepository.js +102 -0
  178. package/dist/src/components/Repository/CreateRepository/CreateRepository.js.map +1 -0
  179. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.css +7 -0
  180. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js +215 -0
  181. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -0
  182. package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js +31 -0
  183. package/dist/src/components/Repository/CreateRepository/CreateResourceSyncsForm.js.map +1 -0
  184. package/dist/src/components/Repository/CreateRepository/types.js +3 -0
  185. package/dist/src/components/Repository/CreateRepository/types.js.map +1 -0
  186. package/dist/src/components/Repository/CreateRepository/utils.js +454 -0
  187. package/dist/src/components/Repository/CreateRepository/utils.js.map +1 -0
  188. package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js +93 -0
  189. package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js.map +1 -0
  190. package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js +39 -0
  191. package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js.map +1 -0
  192. package/dist/src/components/Repository/RepositoryDetails/RepositoryGeneralDetailsCard.js +64 -0
  193. package/dist/src/components/Repository/RepositoryDetails/RepositoryGeneralDetailsCard.js.map +1 -0
  194. package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js +18 -0
  195. package/dist/src/components/Repository/RepositoryDetails/RepositoryResourceSyncsCard.js.map +1 -0
  196. package/dist/src/components/Repository/RepositoryDetails/RepositorySource.js +24 -0
  197. package/dist/src/components/Repository/RepositoryDetails/RepositorySource.js.map +1 -0
  198. package/dist/src/components/Repository/RepositoryDetails/RepositorySourceList.js +64 -0
  199. package/dist/src/components/Repository/RepositoryDetails/RepositorySourceList.js.map +1 -0
  200. package/dist/src/components/Repository/RepositoryList.js +133 -0
  201. package/dist/src/components/Repository/RepositoryList.js.map +1 -0
  202. package/dist/src/components/ResourceSync/RepositoryResourceSyncList.css +7 -0
  203. package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js +140 -0
  204. package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -0
  205. package/dist/src/components/ResourceSync/ResourceSyncStatus.js +65 -0
  206. package/dist/src/components/ResourceSync/ResourceSyncStatus.js.map +1 -0
  207. package/dist/src/components/ResourceSync/ResourceSyncToRepository.js +49 -0
  208. package/dist/src/components/ResourceSync/ResourceSyncToRepository.js.map +1 -0
  209. package/dist/src/components/Status/ApplicationStatus.js +23 -0
  210. package/dist/src/components/Status/ApplicationStatus.js.map +1 -0
  211. package/dist/src/components/Status/ApplicationSummaryStatus.js +23 -0
  212. package/dist/src/components/Status/ApplicationSummaryStatus.js.map +1 -0
  213. package/dist/src/components/Status/DeviceResourceStatus.js +84 -0
  214. package/dist/src/components/Status/DeviceResourceStatus.js.map +1 -0
  215. package/dist/src/components/Status/DeviceStatus.js +18 -0
  216. package/dist/src/components/Status/DeviceStatus.js.map +1 -0
  217. package/dist/src/components/Status/EnrollmentRequestStatus.js +18 -0
  218. package/dist/src/components/Status/EnrollmentRequestStatus.js.map +1 -0
  219. package/dist/src/components/Status/IntegrityStatus.js +17 -0
  220. package/dist/src/components/Status/IntegrityStatus.js.map +1 -0
  221. package/dist/src/components/Status/RepositoryStatus.js +37 -0
  222. package/dist/src/components/Status/RepositoryStatus.js.map +1 -0
  223. package/dist/src/components/Status/StatusDisplay.css +9 -0
  224. package/dist/src/components/Status/StatusDisplay.js +33 -0
  225. package/dist/src/components/Status/StatusDisplay.js.map +1 -0
  226. package/dist/src/components/Status/SystemUpdateStatus.js +24 -0
  227. package/dist/src/components/Status/SystemUpdateStatus.js.map +1 -0
  228. package/dist/src/components/Status/SystemdStatus.js +21 -0
  229. package/dist/src/components/Status/SystemdStatus.js.map +1 -0
  230. package/dist/src/components/Status/utils.js +10 -0
  231. package/dist/src/components/Status/utils.js.map +1 -0
  232. package/dist/src/components/Table/Table.js +28 -0
  233. package/dist/src/components/Table/Table.js.map +1 -0
  234. package/dist/src/components/Table/TableActions.js +16 -0
  235. package/dist/src/components/Table/TableActions.js.map +1 -0
  236. package/dist/src/components/Table/TableTextSearch.js +13 -0
  237. package/dist/src/components/Table/TableTextSearch.js.map +1 -0
  238. package/dist/src/components/Terminal/Terminal.css +1 -0
  239. package/dist/src/components/Terminal/Terminal.js +79 -0
  240. package/dist/src/components/Terminal/Terminal.js.map +1 -0
  241. package/dist/src/components/UserPreferences/UserPreferencesModal.js +34 -0
  242. package/dist/src/components/UserPreferences/UserPreferencesModal.js.map +1 -0
  243. package/dist/src/components/UserPreferences/UserPreferencesProvider.js +19 -0
  244. package/dist/src/components/UserPreferences/UserPreferencesProvider.js.map +1 -0
  245. package/dist/src/components/charts/DonutChart.css +10 -0
  246. package/dist/src/components/charts/DonutChart.js +47 -0
  247. package/dist/src/components/charts/DonutChart.js.map +1 -0
  248. package/dist/src/components/common/CopyButton.js +18 -0
  249. package/dist/src/components/common/CopyButton.js.map +1 -0
  250. package/dist/src/components/common/EditableLabelControl.js +39 -0
  251. package/dist/src/components/common/EditableLabelControl.js.map +1 -0
  252. package/dist/src/components/common/ErrorBoundary.js +36 -0
  253. package/dist/src/components/common/ErrorBoundary.js.map +1 -0
  254. package/dist/src/components/common/HelperTextItems.js +25 -0
  255. package/dist/src/components/common/HelperTextItems.js.map +1 -0
  256. package/dist/src/components/common/LabelsView.css +9 -0
  257. package/dist/src/components/common/LabelsView.js +18 -0
  258. package/dist/src/components/common/LabelsView.js.map +1 -0
  259. package/dist/src/components/common/LeaveFormConfirmation.js +51 -0
  260. package/dist/src/components/common/LeaveFormConfirmation.js.map +1 -0
  261. package/dist/src/components/common/ResourceLink.css +29 -0
  262. package/dist/src/components/common/ResourceLink.js +30 -0
  263. package/dist/src/components/common/ResourceLink.js.map +1 -0
  264. package/dist/src/components/common/ResourceListEmptyState.js +10 -0
  265. package/dist/src/components/common/ResourceListEmptyState.js.map +1 -0
  266. package/dist/src/components/common/WithHelperText.css +3 -0
  267. package/dist/src/components/common/WithHelperText.js +16 -0
  268. package/dist/src/components/common/WithHelperText.js.map +1 -0
  269. package/dist/src/components/common/WithTooltip.js +8 -0
  270. package/dist/src/components/common/WithTooltip.js.map +1 -0
  271. package/dist/src/components/form/CheckboxField.js +29 -0
  272. package/dist/src/components/form/CheckboxField.js.map +1 -0
  273. package/dist/src/components/form/FieldHelperText.js +27 -0
  274. package/dist/src/components/form/FieldHelperText.js.map +1 -0
  275. package/dist/src/components/form/FilterSelect.css +8 -0
  276. package/dist/src/components/form/FilterSelect.js +30 -0
  277. package/dist/src/components/form/FilterSelect.js.map +1 -0
  278. package/dist/src/components/form/FlightCtlActionGroup.css +9 -0
  279. package/dist/src/components/form/FlightCtlActionGroup.js +10 -0
  280. package/dist/src/components/form/FlightCtlActionGroup.js.map +1 -0
  281. package/dist/src/components/form/FlightCtlForm.js +13 -0
  282. package/dist/src/components/form/FlightCtlForm.js.map +1 -0
  283. package/dist/src/components/form/FormSelect.css +8 -0
  284. package/dist/src/components/form/FormSelect.js +50 -0
  285. package/dist/src/components/form/FormSelect.js.map +1 -0
  286. package/dist/src/components/form/LabelsField.js +61 -0
  287. package/dist/src/components/form/LabelsField.js.map +1 -0
  288. package/dist/src/components/form/NameField.js +63 -0
  289. package/dist/src/components/form/NameField.js.map +1 -0
  290. package/dist/src/components/form/RadioField.js +32 -0
  291. package/dist/src/components/form/RadioField.js.map +1 -0
  292. package/dist/src/components/form/RichValidationTextField.js +66 -0
  293. package/dist/src/components/form/RichValidationTextField.js.map +1 -0
  294. package/dist/src/components/form/TextAreaField.js +28 -0
  295. package/dist/src/components/form/TextAreaField.js.map +1 -0
  296. package/dist/src/components/form/TextField.js +29 -0
  297. package/dist/src/components/form/TextField.js.map +1 -0
  298. package/dist/src/components/form/validations.js +286 -0
  299. package/dist/src/components/form/validations.js.map +1 -0
  300. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js +36 -0
  301. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceForm.js.map +1 -0
  302. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js +43 -0
  303. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js.map +1 -0
  304. package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.css +24 -0
  305. package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.js +62 -0
  306. package/dist/src/components/modals/ApproveDeviceModal/DeviceLabelMatch.js.map +1 -0
  307. package/dist/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js +14 -0
  308. package/dist/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js.map +1 -0
  309. package/dist/src/components/modals/DeleteModal/DeleteModal.js +41 -0
  310. package/dist/src/components/modals/DeleteModal/DeleteModal.js.map +1 -0
  311. package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js +63 -0
  312. package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js.map +1 -0
  313. package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.css +4 -0
  314. package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js +126 -0
  315. package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js.map +1 -0
  316. package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js +64 -0
  317. package/dist/src/components/modals/massModals/MassDeleteDeviceModal/MassDeleteDeviceModal.js.map +1 -0
  318. package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js +84 -0
  319. package/dist/src/components/modals/massModals/MassDeleteFleetModal/MassDeleteFleetModal.js.map +1 -0
  320. package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js +94 -0
  321. package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js.map +1 -0
  322. package/dist/src/components/modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal.js +62 -0
  323. package/dist/src/components/modals/massModals/MassDeleteResourceSyncModal/MassDeleteResourceSyncModal.js.map +1 -0
  324. package/dist/src/constants.js +8 -0
  325. package/dist/src/constants.js.map +1 -0
  326. package/dist/src/hooks/useAppContext.js +61 -0
  327. package/dist/src/hooks/useAppContext.js.map +1 -0
  328. package/dist/src/hooks/useDeviceLabelMatch.js +78 -0
  329. package/dist/src/hooks/useDeviceLabelMatch.js.map +1 -0
  330. package/dist/src/hooks/useDocumentTitle.js +17 -0
  331. package/dist/src/hooks/useDocumentTitle.js.map +1 -0
  332. package/dist/src/hooks/useFetch.js +10 -0
  333. package/dist/src/hooks/useFetch.js.map +1 -0
  334. package/dist/src/hooks/useFetchPeriodically.js +75 -0
  335. package/dist/src/hooks/useFetchPeriodically.js.map +1 -0
  336. package/dist/src/hooks/useNavigate.js +65 -0
  337. package/dist/src/hooks/useNavigate.js.map +1 -0
  338. package/dist/src/hooks/useTableSelect.js +45 -0
  339. package/dist/src/hooks/useTableSelect.js.map +1 -0
  340. package/dist/src/hooks/useTableSort.js +38 -0
  341. package/dist/src/hooks/useTableSort.js.map +1 -0
  342. package/dist/src/hooks/useTableTextSearch.js +23 -0
  343. package/dist/src/hooks/useTableTextSearch.js.map +1 -0
  344. package/dist/src/hooks/useTemplateVersion.js +22 -0
  345. package/dist/src/hooks/useTemplateVersion.js.map +1 -0
  346. package/dist/src/hooks/useThemePreferences.js +61 -0
  347. package/dist/src/hooks/useThemePreferences.js.map +1 -0
  348. package/dist/src/hooks/useTranslation.js +12 -0
  349. package/dist/src/hooks/useTranslation.js.map +1 -0
  350. package/dist/src/hooks/useUserPreferences.js +16 -0
  351. package/dist/src/hooks/useUserPreferences.js.map +1 -0
  352. package/dist/src/hooks/useWebSocket.js +69 -0
  353. package/dist/src/hooks/useWebSocket.js.map +1 -0
  354. package/dist/src/setupTests.js +24 -0
  355. package/dist/src/setupTests.js.map +1 -0
  356. package/dist/src/tests/test-utils.js +21 -0
  357. package/dist/src/tests/test-utils.js.map +1 -0
  358. package/dist/src/types/deviceSpec.js +20 -0
  359. package/dist/src/types/deviceSpec.js.map +1 -0
  360. package/dist/src/types/extraTypes.js +20 -0
  361. package/dist/src/types/extraTypes.js.map +1 -0
  362. package/dist/src/types/typeUtils.js +12 -0
  363. package/dist/src/types/typeUtils.js.map +1 -0
  364. package/dist/src/utils/api.js +68 -0
  365. package/dist/src/utils/api.js.map +1 -0
  366. package/dist/src/utils/dates.js +53 -0
  367. package/dist/src/utils/dates.js.map +1 -0
  368. package/dist/src/utils/devices.js +37 -0
  369. package/dist/src/utils/devices.js.map +1 -0
  370. package/dist/src/utils/error.js +25 -0
  371. package/dist/src/utils/error.js.map +1 -0
  372. package/dist/src/utils/labels.js +44 -0
  373. package/dist/src/utils/labels.js.map +1 -0
  374. package/dist/src/utils/metrics.js +48 -0
  375. package/dist/src/utils/metrics.js.map +1 -0
  376. package/dist/src/utils/patch.js +108 -0
  377. package/dist/src/utils/patch.js.map +1 -0
  378. package/dist/src/utils/resource.js +6 -0
  379. package/dist/src/utils/resource.js.map +1 -0
  380. package/dist/src/utils/search.js +14 -0
  381. package/dist/src/utils/search.js.map +1 -0
  382. package/dist/src/utils/sort/device.js +89 -0
  383. package/dist/src/utils/sort/device.js.map +1 -0
  384. package/dist/src/utils/sort/fleet.js +20 -0
  385. package/dist/src/utils/sort/fleet.js.map +1 -0
  386. package/dist/src/utils/sort/generic.js +34 -0
  387. package/dist/src/utils/sort/generic.js.map +1 -0
  388. package/dist/src/utils/sort/repository.js +28 -0
  389. package/dist/src/utils/sort/repository.js.map +1 -0
  390. package/dist/src/utils/sort/resourceSync.js +29 -0
  391. package/dist/src/utils/sort/resourceSync.js.map +1 -0
  392. package/dist/src/utils/status/applications.js +56 -0
  393. package/dist/src/utils/status/applications.js.map +1 -0
  394. package/dist/src/utils/status/common.js +63 -0
  395. package/dist/src/utils/status/common.js.map +1 -0
  396. package/dist/src/utils/status/devices.js +65 -0
  397. package/dist/src/utils/status/devices.js.map +1 -0
  398. package/dist/src/utils/status/enrollmentRequest.js +49 -0
  399. package/dist/src/utils/status/enrollmentRequest.js.map +1 -0
  400. package/dist/src/utils/status/fleet.js +38 -0
  401. package/dist/src/utils/status/fleet.js.map +1 -0
  402. package/dist/src/utils/status/integrity.js +28 -0
  403. package/dist/src/utils/status/integrity.js.map +1 -0
  404. package/dist/src/utils/status/repository.js +88 -0
  405. package/dist/src/utils/status/repository.js.map +1 -0
  406. package/dist/src/utils/status/system.js +29 -0
  407. package/dist/src/utils/status/system.js.map +1 -0
  408. package/package.json +48 -0
@@ -0,0 +1,92 @@
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 error_1 = require("../../../utils/error");
8
+ const labels_1 = require("../../../utils/labels");
9
+ const useTranslation_1 = require("../../../hooks/useTranslation");
10
+ const useNavigate_1 = require("../../../hooks/useNavigate");
11
+ const LeaveFormConfirmation_1 = tslib_1.__importDefault(require("../../common/LeaveFormConfirmation"));
12
+ const ErrorBoundary_1 = tslib_1.__importDefault(require("../../common/ErrorBoundary"));
13
+ const GeneralInfoStep_1 = tslib_1.__importStar(require("./steps/GeneralInfoStep"));
14
+ const DeviceTemplateStep_1 = tslib_1.__importStar(require("./steps/DeviceTemplateStep"));
15
+ const ReviewDeviceStep_1 = tslib_1.__importStar(require("./steps/ReviewDeviceStep"));
16
+ const utils_1 = require("./utils");
17
+ const deviceSpecUtils_1 = require("./deviceSpecUtils");
18
+ const useFetch_1 = require("../../../hooks/useFetch");
19
+ const useEditDevice_1 = require("./useEditDevice");
20
+ const EditDeviceWizardNav_1 = tslib_1.__importDefault(require("./EditDeviceWizardNav"));
21
+ const EditDeviceWizardFooter_1 = tslib_1.__importDefault(require("./EditDeviceWizardFooter"));
22
+ require("./EditDeviceWizard.css");
23
+ const EditDeviceWizard = () => {
24
+ var _a, _b, _c;
25
+ const { t } = (0, useTranslation_1.useTranslation)();
26
+ const [submitError, setSubmitError] = React.useState();
27
+ const navigate = (0, useNavigate_1.useNavigate)();
28
+ const { patch } = (0, useFetch_1.useFetch)();
29
+ const [deviceId, device, isLoading, loadError] = (0, useEditDevice_1.useEditDevice)();
30
+ const deviceAlias = ((_a = device === null || device === void 0 ? void 0 : device.metadata.labels) === null || _a === void 0 ? void 0 : _a.alias) || '';
31
+ const displayText = device ? deviceAlias || t('Untitled') : deviceId;
32
+ let body;
33
+ if (isLoading) {
34
+ body = (React.createElement(react_core_1.Bullseye, null,
35
+ React.createElement(react_core_1.Spinner, null)));
36
+ }
37
+ else if (loadError) {
38
+ body = (React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('An error occurred') }, (0, error_1.getErrorMessage)(loadError)));
39
+ }
40
+ else if (!!(device === null || device === void 0 ? void 0 : device.metadata.owner)) {
41
+ body = (React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: t('Device is non-editable') }, t('This device is managed by a fleet and it cannot be edited directly.')));
42
+ }
43
+ else if (device) {
44
+ body = (React.createElement(formik_1.Formik, { initialValues: {
45
+ deviceAlias,
46
+ osImage: (_c = (_b = device.spec) === null || _b === void 0 ? void 0 : _b.os) === null || _c === void 0 ? void 0 : _c.image,
47
+ labels: (0, labels_1.fromAPILabel)(device.metadata.labels || {}).filter((label) => label.key !== 'alias'),
48
+ configTemplates: (0, deviceSpecUtils_1.getConfigTemplatesValues)(device.spec),
49
+ fleetMatch: '', // Initially this is always a fleetless device
50
+ }, validationSchema: (0, utils_1.getValidationSchema)(t), validateOnMount: true, onSubmit: (values) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
51
+ setSubmitError(undefined);
52
+ try {
53
+ const patches = (0, utils_1.getDevicePatches)(device, values);
54
+ if (patches.length > 0) {
55
+ yield patch(`devices/${deviceId}`, patches);
56
+ }
57
+ navigate({ route: useNavigate_1.ROUTE.DEVICE_DETAILS, postfix: deviceId });
58
+ }
59
+ catch (e) {
60
+ setSubmitError((0, error_1.getErrorMessage)(e));
61
+ }
62
+ }) }, ({ values, errors: formikErrors }) => {
63
+ const generalStepValid = (0, GeneralInfoStep_1.isGeneralInfoStepValid)(formikErrors);
64
+ const templateStepValid = (0, DeviceTemplateStep_1.isDeviceTemplateStepValid)(formikErrors);
65
+ const canEditTemplate = !values.fleetMatch;
66
+ const isTemplateStepDisabled = !(generalStepValid && canEditTemplate);
67
+ return (React.createElement(React.Fragment, null,
68
+ React.createElement(LeaveFormConfirmation_1.default, null),
69
+ React.createElement(react_core_1.Wizard, { className: "fctl-edit-device__wizard", footer: React.createElement(EditDeviceWizardFooter_1.default, null), nav: React.createElement(EditDeviceWizardNav_1.default, null) },
70
+ React.createElement(react_core_1.WizardStep, { name: t('General info'), id: GeneralInfoStep_1.generalInfoStepId },
71
+ React.createElement(GeneralInfoStep_1.default, null)),
72
+ React.createElement(react_core_1.WizardStep, { name: t('Device template'), id: DeviceTemplateStep_1.deviceTemplateStepId, isDisabled: isTemplateStepDisabled },
73
+ React.createElement(DeviceTemplateStep_1.default, { isFleet: false })),
74
+ React.createElement(react_core_1.WizardStep, { name: t('Review and update'), id: ReviewDeviceStep_1.reviewDeviceStepId, isDisabled: !templateStepValid },
75
+ React.createElement(ReviewDeviceStep_1.default, { error: submitError })))));
76
+ }));
77
+ }
78
+ return (React.createElement(React.Fragment, null,
79
+ React.createElement(react_core_1.PageSection, { variant: "light", type: "breadcrumb" },
80
+ React.createElement(react_core_1.Breadcrumb, null,
81
+ React.createElement(react_core_1.BreadcrumbItem, null,
82
+ React.createElement(useNavigate_1.Link, { to: useNavigate_1.ROUTE.DEVICES }, t('Devices'))),
83
+ deviceId && (React.createElement(react_core_1.BreadcrumbItem, null,
84
+ React.createElement(useNavigate_1.Link, { to: { route: useNavigate_1.ROUTE.DEVICE_DETAILS, postfix: deviceId } }, displayText))),
85
+ React.createElement(react_core_1.BreadcrumbItem, { isActive: true }, t('Edit device')))),
86
+ React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light },
87
+ React.createElement(react_core_1.Title, { headingLevel: "h1", size: "3xl" }, t('Edit device'))),
88
+ React.createElement(react_core_1.PageSection, { variant: react_core_1.PageSectionVariants.light, type: "wizard" },
89
+ React.createElement(ErrorBoundary_1.default, null, body))));
90
+ };
91
+ exports.default = EditDeviceWizard;
92
+ //# sourceMappingURL=EditDeviceWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditDeviceWizard.js","sourceRoot":"","sources":["../../../../../src/components/Device/EditDeviceWizard/EditDeviceWizard.tsx"],"names":[],"mappings":"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"}
@@ -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 formik_1 = require("formik");
6
+ const react_core_1 = require("@patternfly/react-core");
7
+ const useTranslation_1 = require("../../../hooks/useTranslation");
8
+ const useNavigate_1 = require("../../../hooks/useNavigate");
9
+ const GeneralInfoStep_1 = require("./steps/GeneralInfoStep");
10
+ const DeviceTemplateStep_1 = require("./steps/DeviceTemplateStep");
11
+ const ReviewDeviceStep_1 = require("./steps/ReviewDeviceStep");
12
+ const EditDeviceWizardFooter = () => {
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 isSubmitStep = activeStep.id === ReviewDeviceStep_1.reviewDeviceStepId;
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 = isSubmitStep ? (React.createElement(react_core_1.Button, { variant: "primary", onClick: submitForm, isDisabled: isSubmitting, isLoading: isSubmitting }, t('Save'))) : (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 = EditDeviceWizardFooter;
32
+ //# sourceMappingURL=EditDeviceWizardFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditDeviceWizardFooter.js","sourceRoot":"","sources":["../../../../../src/components/Device/EditDeviceWizard/EditDeviceWizardFooter.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,mCAA0C;AAC1C,uDAAuF;AAGvF,kEAA+D;AAC/D,4DAAyD;AACzD,6DAAoF;AACpF,mEAA6F;AAC7F,+DAA8D;AAE9D,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,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,GAAwB,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE,KAAK,qCAAkB,CAAC;IAE1D,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;IAED,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,CAAC,CAAC,MAAM,CAAC,CACH,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,sBAAsB,CAAC"}
@@ -0,0 +1,36 @@
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 info_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/info-circle-icon");
7
+ const useTranslation_1 = require("../../../hooks/useTranslation");
8
+ const generalInfoStepIndex = 0;
9
+ const deviceTemplateStepIndex = 1;
10
+ const reviewDeviceStepIndex = 2;
11
+ const disabledTemplateReason = (t) => t('The device will be bound to a fleet. As a result, its configurations cannot be edited directly.');
12
+ const EditDeviceWizardNav = () => {
13
+ var _a, _b;
14
+ const { t } = (0, useTranslation_1.useTranslation)();
15
+ const { activeStep, steps, goToStepByIndex } = (0, react_core_1.useWizardContext)();
16
+ const isEditTemplateDisabled = (_a = steps[deviceTemplateStepIndex]) === null || _a === void 0 ? void 0 : _a.isDisabled;
17
+ const isReviewDeviceDisabled = (_b = steps[reviewDeviceStepIndex]) === null || _b === void 0 ? void 0 : _b.isDisabled;
18
+ return (React.createElement(react_core_1.WizardNav, null,
19
+ React.createElement(react_core_1.WizardNavItem, { stepIndex: generalInfoStepIndex, content: t('General info'), isCurrent: !activeStep || (activeStep === null || activeStep === void 0 ? void 0 : activeStep.index) === generalInfoStepIndex + 1, onClick: () => {
20
+ goToStepByIndex(generalInfoStepIndex + 1);
21
+ } }),
22
+ React.createElement(react_core_1.WizardNavItem, { stepIndex: deviceTemplateStepIndex, content: t('Device template'), isCurrent: (activeStep === null || activeStep === void 0 ? void 0 : activeStep.index) === deviceTemplateStepIndex + 1, isDisabled: isEditTemplateDisabled, onClick: () => {
23
+ if (!isEditTemplateDisabled) {
24
+ goToStepByIndex(deviceTemplateStepIndex + 1);
25
+ }
26
+ } }, isEditTemplateDisabled && (React.createElement(react_core_1.Tooltip, { content: disabledTemplateReason(t) },
27
+ React.createElement(react_core_1.Icon, { status: "info", size: "sm" },
28
+ React.createElement(info_circle_icon_1.InfoCircleIcon, null))))),
29
+ React.createElement(react_core_1.WizardNavItem, { stepIndex: reviewDeviceStepIndex, content: t('Review and update'), isCurrent: (activeStep === null || activeStep === void 0 ? void 0 : activeStep.index) === reviewDeviceStepIndex + 1, isDisabled: isReviewDeviceDisabled, onClick: () => {
30
+ if (!isReviewDeviceDisabled) {
31
+ goToStepByIndex(reviewDeviceStepIndex + 1);
32
+ }
33
+ } })));
34
+ };
35
+ exports.default = EditDeviceWizardNav;
36
+ //# sourceMappingURL=EditDeviceWizardNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditDeviceWizardNav.js","sourceRoot":"","sources":["../../../../../src/components/Device/EditDeviceWizard/EditDeviceWizardNav.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAmG;AACnG,6FAAwF;AAExF,kEAA+D;AAG/D,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,sBAAsB,GAAG,CAAC,CAAY,EAAE,EAAE,CAC9C,CAAC,CAAC,iGAAiG,CAAC,CAAC;AAEvG,MAAM,mBAAmB,GAAG,GAAG,EAAE;;IAC/B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,IAAA,6BAAgB,GAAE,CAAC;IAElE,MAAM,sBAAsB,GAAG,MAAA,KAAK,CAAC,uBAAuB,CAAC,0CAAE,UAAU,CAAC;IAC1E,MAAM,sBAAsB,GAAG,MAAA,KAAK,CAAC,qBAAqB,CAAC,0CAAE,UAAU,CAAC;IAExE,OAAO,CACL,oBAAC,sBAAS;QACR,oBAAC,0BAAa,IACZ,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,EAC1B,SAAS,EAAE,CAAC,UAAU,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,oBAAoB,GAAG,CAAC,EACxE,OAAO,EAAE,GAAG,EAAE;gBACZ,eAAe,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC,GACD;QACF,oBAAC,0BAAa,IACZ,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC7B,SAAS,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,uBAAuB,GAAG,CAAC,EAC5D,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,eAAe,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,IAEA,sBAAsB,IAAI,CACzB,oBAAC,oBAAO,IAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC;YACzC,oBAAC,iBAAI,IAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI;gBAC3B,oBAAC,iCAAc,OAAG,CACb,CACC,CACX,CACa;QAChB,oBAAC,0BAAa,IACZ,SAAS,EAAE,qBAAqB,EAChC,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAC/B,SAAS,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,qBAAqB,GAAG,CAAC,EAC1D,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,eAAe,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC,GACD,CACQ,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfigTemplatesValues = exports.getAPIConfig = exports.getDeviceSpecConfigPatches = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const yaml = tslib_1.__importStar(require("js-yaml"));
6
+ const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
7
+ const deviceSpec_1 = require("../../../types/deviceSpec");
8
+ const isSameGitConf = (a, b) => {
9
+ const aRef = a.gitRef;
10
+ const bRef = b.gitRef;
11
+ return (a.name === b.name &&
12
+ aRef.path === bRef.path &&
13
+ aRef.repository === bRef.repository &&
14
+ aRef.targetRevision === bRef.targetRevision &&
15
+ (aRef.mountPath || '') === (bRef.mountPath || ''));
16
+ };
17
+ const isSameHttpConf = (a, b) => {
18
+ const aRef = a.httpRef;
19
+ const bRef = b.httpRef;
20
+ return (a.name === b.name &&
21
+ aRef.filePath === bRef.filePath &&
22
+ aRef.repository === bRef.repository &&
23
+ (aRef.suffix || '') === (bRef.suffix || ''));
24
+ };
25
+ const isSameSecretConf = (a, b) => {
26
+ const aRef = a.secretRef;
27
+ const bRef = b.secretRef;
28
+ return (a.name === b.name &&
29
+ aRef.name === bRef.name &&
30
+ aRef.namespace === bRef.namespace &&
31
+ aRef.mountPath === bRef.mountPath);
32
+ };
33
+ const isSameInlineConf = (a, b) => {
34
+ return a.name === b.name && (0, isEqual_1.default)(a.inline, b.inline);
35
+ };
36
+ const getDeviceSpecConfigPatches = (currentConfigs, newConfigs, configPath) => {
37
+ const allPatches = [];
38
+ if (currentConfigs.length === 0 && newConfigs.length > 0) {
39
+ allPatches.push({
40
+ path: configPath,
41
+ op: 'add',
42
+ value: newConfigs,
43
+ });
44
+ }
45
+ else if (currentConfigs.length > 0 && newConfigs.length === 0) {
46
+ allPatches.push({
47
+ path: configPath,
48
+ op: 'remove',
49
+ });
50
+ }
51
+ else if (currentConfigs.length !== newConfigs.length) {
52
+ allPatches.push({
53
+ path: configPath,
54
+ op: 'replace',
55
+ value: newConfigs,
56
+ });
57
+ }
58
+ else {
59
+ const hasConfigChanges = newConfigs.some((newConfig) => {
60
+ // Attempts to find a new config which has been changed from "currentConfigs"
61
+ const isUnchanged = currentConfigs.some((conf) => {
62
+ if (conf.configType !== newConfig.configType) {
63
+ return false;
64
+ }
65
+ switch (conf.configType) {
66
+ case 'GitConfigProviderSpec':
67
+ return isSameGitConf(newConfig, conf);
68
+ case 'HttpConfigProviderSpec':
69
+ return isSameHttpConf(newConfig, conf);
70
+ case 'KubernetesSecretProviderSpec':
71
+ return isSameSecretConf(newConfig, conf);
72
+ case 'InlineConfigProviderSpec':
73
+ return isSameInlineConf(newConfig, conf);
74
+ }
75
+ return false;
76
+ });
77
+ return !isUnchanged;
78
+ });
79
+ if (hasConfigChanges) {
80
+ allPatches.push({
81
+ path: configPath,
82
+ op: 'replace',
83
+ value: newConfigs,
84
+ });
85
+ }
86
+ }
87
+ return allPatches;
88
+ };
89
+ exports.getDeviceSpecConfigPatches = getDeviceSpecConfigPatches;
90
+ const getAPIConfig = (ct) => {
91
+ if ((0, deviceSpec_1.isGitConfigTemplate)(ct)) {
92
+ return {
93
+ configType: 'GitConfigProviderSpec',
94
+ name: ct.name,
95
+ gitRef: {
96
+ path: ct.path,
97
+ repository: ct.repository,
98
+ targetRevision: ct.targetRevision,
99
+ mountPath: ct.mountPath,
100
+ },
101
+ };
102
+ }
103
+ if ((0, deviceSpec_1.isKubeSecretTemplate)(ct)) {
104
+ return {
105
+ configType: 'KubernetesSecretProviderSpec',
106
+ name: ct.name,
107
+ secretRef: {
108
+ mountPath: ct.mountPath,
109
+ name: ct.secretName,
110
+ namespace: ct.secretNs,
111
+ },
112
+ };
113
+ }
114
+ if ((0, deviceSpec_1.isHttpConfigTemplate)(ct)) {
115
+ return {
116
+ configType: 'HttpConfigProviderSpec',
117
+ name: ct.name,
118
+ httpRef: {
119
+ repository: ct.repository,
120
+ suffix: ct.suffix,
121
+ filePath: ct.filePath,
122
+ },
123
+ };
124
+ }
125
+ return {
126
+ configType: 'InlineConfigProviderSpec',
127
+ inline: yaml.load(ct.inline),
128
+ name: ct.name,
129
+ };
130
+ };
131
+ exports.getAPIConfig = getAPIConfig;
132
+ const getConfigTemplatesValues = (deviceSpec) => {
133
+ var _a;
134
+ return ((_a = deviceSpec === null || deviceSpec === void 0 ? void 0 : deviceSpec.config) === null || _a === void 0 ? void 0 : _a.map((c) => {
135
+ if ((0, deviceSpec_1.isGitProviderSpec)(c)) {
136
+ return {
137
+ type: 'git',
138
+ name: c.name,
139
+ path: c.gitRef.path,
140
+ mountPath: c.gitRef.mountPath,
141
+ repository: c.gitRef.repository,
142
+ targetRevision: c.gitRef.targetRevision,
143
+ };
144
+ }
145
+ if ((0, deviceSpec_1.isKubeProviderSpec)(c)) {
146
+ return {
147
+ type: 'secret',
148
+ name: c.name,
149
+ mountPath: c.secretRef.mountPath,
150
+ secretName: c.secretRef.name,
151
+ secretNs: c.secretRef.namespace,
152
+ };
153
+ }
154
+ if ((0, deviceSpec_1.isHttpProviderSpec)(c)) {
155
+ return {
156
+ type: 'http',
157
+ name: c.name,
158
+ repository: c.httpRef.repository,
159
+ suffix: c.httpRef.suffix,
160
+ filePath: c.httpRef.filePath,
161
+ };
162
+ }
163
+ return {
164
+ type: 'inline',
165
+ name: c.name,
166
+ inline: yaml.dump(c.inline),
167
+ };
168
+ })) || [];
169
+ };
170
+ exports.getConfigTemplatesValues = getConfigTemplatesValues;
171
+ //# sourceMappingURL=deviceSpecUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceSpecUtils.js","sourceRoot":"","sources":["../../../../../src/components/Device/EditDeviceWizard/deviceSpecUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
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 HelperTextItems_1 = require("../../../common/HelperTextItems");
8
+ const TextAreaField_1 = tslib_1.__importDefault(require("../../../form/TextAreaField"));
9
+ const ConfigInlineTemplateForm = ({ index }) => {
10
+ const { t } = (0, useTranslation_1.useTranslation)();
11
+ return (React.createElement(react_core_1.FormGroup, { label: t('Inline'), isRequired: true },
12
+ React.createElement(TextAreaField_1.default, { name: `configTemplates.${index}.inline`, helperText: React.createElement(HelperTextItems_1.IgnitionFileHelperText, null) })));
13
+ };
14
+ exports.default = ConfigInlineTemplateForm;
15
+ //# sourceMappingURL=ConfigInlineTemplateForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigInlineTemplateForm.js","sourceRoot":"","sources":["../../../../../../src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAmD;AAEnD,qEAAkE;AAClE,qEAAyE;AACzE,wFAAwD;AAMxD,MAAM,wBAAwB,GAAG,CAAC,EAAE,KAAK,EAAiC,EAAE,EAAE;IAC5E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,OAAO,CACL,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU;QACvC,oBAAC,uBAAa,IAAC,IAAI,EAAE,mBAAmB,KAAK,SAAS,EAAE,UAAU,EAAE,oBAAC,wCAAsB,OAAG,GAAI,CACxF,CACb,CAAC;AACJ,CAAC,CAAC;AACF,kBAAe,wBAAwB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const formik_1 = require("formik");
6
+ const react_core_1 = require("@patternfly/react-core");
7
+ const useTranslation_1 = require("../../../../hooks/useTranslation");
8
+ const TextField_1 = tslib_1.__importDefault(require("../../../form/TextField"));
9
+ const ConfigK8sSecretTemplateForm = ({ index }) => {
10
+ const { t } = (0, useTranslation_1.useTranslation)();
11
+ const { values } = (0, formik_1.useFormikContext)();
12
+ const template = values.configTemplates[index];
13
+ return (React.createElement(React.Fragment, null,
14
+ React.createElement(react_core_1.FormGroup, { label: t('Secret name'), isRequired: true },
15
+ React.createElement(TextField_1.default, { "aria-label": t('Secret name'), value: template.secretName, name: `configTemplates.${index}.secretName` })),
16
+ React.createElement(react_core_1.FormGroup, { label: t('Secret namespace'), isRequired: true },
17
+ React.createElement(TextField_1.default, { "aria-label": t('Secret namespace'), name: `configTemplates.${index}.secretNs`, value: template.secretNs })),
18
+ React.createElement(react_core_1.FormGroup, { label: t('Mount path'), isRequired: true },
19
+ React.createElement(TextField_1.default, { "aria-label": t('Mount path'), name: `configTemplates.${index}.mountPath`, value: template.mountPath, placeholder: t('/absolute/path') }))));
20
+ };
21
+ exports.default = ConfigK8sSecretTemplateForm;
22
+ //# sourceMappingURL=ConfigK8sSecretTemplateForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigK8sSecretTemplateForm.js","sourceRoot":"","sources":["../../../../../../src/components/Device/EditDeviceWizard/steps/ConfigK8sSecretTemplateForm.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,mCAA0C;AAC1C,uDAAmD;AAEnD,qEAAkE;AAElE,gFAAgD;AAQhD,MAAM,2BAA2B,GAAG,CAAC,EAAE,KAAK,EAAoC,EAAE,EAAE;IAClF,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,yBAAgB,GAA8B,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAuB,CAAC;IACrE,OAAO,CACL;QACE,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,UAAU;YAC5C,oBAAC,mBAAS,kBACI,CAAC,CAAC,aAAa,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,UAAU,EAC1B,IAAI,EAAE,mBAAmB,KAAK,aAAa,GAC3C,CACQ;QACZ,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,UAAU;YACjD,oBAAC,mBAAS,kBACI,CAAC,CAAC,kBAAkB,CAAC,EACjC,IAAI,EAAE,mBAAmB,KAAK,WAAW,EACzC,KAAK,EAAE,QAAQ,CAAC,QAAQ,GACxB,CACQ;QACZ,oBAAC,sBAAS,IAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU;YAC3C,oBAAC,mBAAS,kBACI,CAAC,CAAC,YAAY,CAAC,EAC3B,IAAI,EAAE,mBAAmB,KAAK,YAAY,EAC1C,KAAK,EAAE,QAAQ,CAAC,SAAS,EACzB,WAAW,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAChC,CACQ,CACX,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
@@ -0,0 +1,3 @@
1
+ .fctl-config-template--error {
2
+ color: var(--pf-v5-global--danger-color--100)
3
+ }
@@ -0,0 +1,96 @@
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 formik_1 = require("formik");
7
+ const minus_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/minus-circle-icon");
8
+ const plus_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/plus-circle-icon");
9
+ const exclamation_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/exclamation-circle-icon");
10
+ const useTranslation_1 = require("../../../../hooks/useTranslation");
11
+ const useFetchPeriodically_1 = require("../../../../hooks/useFetchPeriodically");
12
+ const error_1 = require("../../../../utils/error");
13
+ const generic_1 = require("../../../../utils/sort/generic");
14
+ const WithTooltip_1 = tslib_1.__importDefault(require("../../../common/WithTooltip"));
15
+ const validations_1 = require("../../../form/validations");
16
+ const FieldHelperText_1 = tslib_1.__importDefault(require("../../../form/FieldHelperText"));
17
+ const FormSelect_1 = tslib_1.__importDefault(require("../../../form/FormSelect"));
18
+ const RichValidationTextField_1 = tslib_1.__importDefault(require("../../../form/RichValidationTextField"));
19
+ const ConfigWithRepositoryTemplateForm_1 = tslib_1.__importDefault(require("./ConfigWithRepositoryTemplateForm"));
20
+ const ConfigK8sSecretTemplateForm_1 = tslib_1.__importDefault(require("./ConfigK8sSecretTemplateForm"));
21
+ const ConfigInlineTemplateForm_1 = tslib_1.__importDefault(require("./ConfigInlineTemplateForm"));
22
+ require("./ConfigTemplateForm.css");
23
+ const useValidateOnMount = () => {
24
+ const { validateForm } = (0, formik_1.useFormikContext)();
25
+ // validate new config section on mount
26
+ React.useEffect(() => {
27
+ validateForm();
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ }, []);
30
+ };
31
+ const ConfigSection = ({ ct, index, repositories, repoRefetch }) => {
32
+ const { t } = (0, useTranslation_1.useTranslation)();
33
+ const [isExpanded, setIsExpanded] = React.useState(true);
34
+ const fieldName = `configTemplates[${index}]`;
35
+ const { setFieldTouched } = (0, formik_1.useFormikContext)();
36
+ const [{ value: template }, { error }, { setTouched }] = (0, formik_1.useField)(fieldName);
37
+ useValidateOnMount();
38
+ return (React.createElement(react_core_1.ExpandableSection, { toggleContent: React.createElement(react_core_1.Split, { hasGutter: true },
39
+ React.createElement(react_core_1.SplitItem, null, t('Configurations/applications')),
40
+ !isExpanded && !!template.name && React.createElement(react_core_1.SplitItem, { style: { color: 'black' } }, template.name),
41
+ !isExpanded && error && (React.createElement(react_core_1.SplitItem, null,
42
+ React.createElement(WithTooltip_1.default, { showTooltip: true, content: t('Invalid configuration') },
43
+ React.createElement(exclamation_circle_icon_1.ExclamationCircleIcon, { className: "fctl-config-template--error" }))))), isIndented: true, isExpanded: isExpanded, onToggle: (_, expanded) => {
44
+ setTouched(true);
45
+ Object.keys(error || {}).forEach((key) => {
46
+ setFieldTouched(`${fieldName}.${key}`, true);
47
+ });
48
+ setIsExpanded(expanded);
49
+ } },
50
+ React.createElement(react_core_1.Grid, { hasGutter: true },
51
+ React.createElement(RichValidationTextField_1.default, { fieldName: `${fieldName}.name`, "aria-label": t('Source name'), validations: (0, validations_1.getDnsSubdomainValidations)(t), isRequired: true }),
52
+ React.createElement(react_core_1.FormGroup, { label: t('Source type'), isRequired: true },
53
+ React.createElement(FormSelect_1.default, { items: {
54
+ git: t('Git config provider'),
55
+ http: t('Http config provider'),
56
+ // secret: t('Kubernetes secret provider'), not supported yet
57
+ inline: t('Inline config provider'),
58
+ }, name: `${fieldName}.type`, placeholderText: t('Select a source type') })),
59
+ ct.type === 'secret' && React.createElement(ConfigK8sSecretTemplateForm_1.default, { index: index }),
60
+ ct.type === 'inline' && React.createElement(ConfigInlineTemplateForm_1.default, { index: index }),
61
+ (ct.type === 'http' || ct.type === 'git') && (React.createElement(ConfigWithRepositoryTemplateForm_1.default, { repoType: ct.type, index: index, repositories: repositories, repoRefetch: repoRefetch })))));
62
+ };
63
+ const ConfigTemplateForm = () => {
64
+ const { t } = (0, useTranslation_1.useTranslation)();
65
+ const { values, errors } = (0, formik_1.useFormikContext)();
66
+ const [repositoryList, isLoading, error, refetch] = (0, useFetchPeriodically_1.useFetchPeriodically)({
67
+ endpoint: 'repositories',
68
+ });
69
+ const repositories = React.useMemo(() => (0, generic_1.sortByName)((repositoryList === null || repositoryList === void 0 ? void 0 : repositoryList.items) || []), [repositoryList]);
70
+ const generalError = typeof errors.configTemplates === 'string' ? errors.configTemplates : undefined;
71
+ if (error) {
72
+ return (React.createElement(react_core_1.Alert, { isInline: true, variant: "danger", title: t('Failed to load repositories') }, (0, error_1.getErrorMessage)(error)));
73
+ }
74
+ else if (isLoading) {
75
+ return (React.createElement(react_core_1.Bullseye, null,
76
+ React.createElement(react_core_1.Spinner, null)));
77
+ }
78
+ return (React.createElement(formik_1.FieldArray, { name: "configTemplates" }, ({ push, remove }) => (React.createElement(React.Fragment, null,
79
+ values.configTemplates.map((ct, index) => (React.createElement(react_core_1.FormSection, { key: index },
80
+ React.createElement(react_core_1.Split, { hasGutter: true },
81
+ React.createElement(react_core_1.SplitItem, { isFilled: true },
82
+ React.createElement(ConfigSection, { ct: ct, index: index, repositories: repositories, repoRefetch: refetch })),
83
+ React.createElement(react_core_1.SplitItem, null,
84
+ React.createElement(react_core_1.Button, { variant: "link", icon: React.createElement(minus_circle_icon_1.MinusCircleIcon, null), iconPosition: "start", onClick: () => remove(index) })))))),
85
+ React.createElement(react_core_1.FormSection, null,
86
+ React.createElement(react_core_1.FormGroup, null,
87
+ React.createElement(react_core_1.Button, { variant: "link", icon: React.createElement(plus_circle_icon_1.PlusCircleIcon, null), iconPosition: "start", onClick: () => {
88
+ push({
89
+ name: '',
90
+ type: '',
91
+ });
92
+ } }, t('Add configurations/applications')))),
93
+ React.createElement(FieldHelperText_1.default, { error: generalError })))));
94
+ };
95
+ exports.default = ConfigTemplateForm;
96
+ //# sourceMappingURL=ConfigTemplateForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigTemplateForm.js","sourceRoot":"","sources":["../../../../../../src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.tsx"],"names":[],"mappings":"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"}