@flightctl/ui-components 0.0.10 → 0.4.0-rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.css +7 -0
  2. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.d.ts +8 -1
  3. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.d.ts.map +1 -1
  4. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js +91 -9
  5. package/dist/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -1
  6. package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.d.ts.map +1 -1
  7. package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js +15 -51
  8. package/dist/src/components/Device/AddDeviceModal/AddDeviceModal.js.map +1 -1
  9. package/dist/src/components/Device/DeviceDetails/DeviceApplications.d.ts +10 -0
  10. package/dist/src/components/Device/DeviceDetails/DeviceApplications.d.ts.map +1 -0
  11. package/dist/src/components/Device/DeviceDetails/DeviceApplications.js +65 -0
  12. package/dist/src/components/Device/DeviceDetails/DeviceApplications.js.map +1 -0
  13. package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts +5 -4
  14. package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
  15. package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js +18 -9
  16. package/dist/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -1
  17. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.d.ts +3 -4
  18. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.d.ts.map +1 -1
  19. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js +6 -18
  20. package/dist/src/components/Device/DeviceDetails/DeviceDetailsTab.js.map +1 -1
  21. package/dist/src/components/Device/DeviceDetails/TerminalTab.d.ts +4 -3
  22. package/dist/src/components/Device/DeviceDetails/TerminalTab.d.ts.map +1 -1
  23. package/dist/src/components/Device/DeviceDetails/TerminalTab.js +13 -4
  24. package/dist/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -1
  25. package/dist/src/components/Device/DevicesPage/DeviceFilterSelect.d.ts.map +1 -1
  26. package/dist/src/components/Device/DevicesPage/DeviceFilterSelect.js +4 -14
  27. package/dist/src/components/Device/DevicesPage/DeviceFilterSelect.js.map +1 -1
  28. package/dist/src/components/Device/DevicesPage/DeviceTableRow.d.ts +2 -0
  29. package/dist/src/components/Device/DevicesPage/DeviceTableRow.d.ts.map +1 -1
  30. package/dist/src/components/Device/DevicesPage/DeviceTableRow.js +14 -6
  31. package/dist/src/components/Device/DevicesPage/DeviceTableRow.js.map +1 -1
  32. package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.d.ts +0 -3
  33. package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.d.ts.map +1 -1
  34. package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.js +2 -2
  35. package/dist/src/components/Device/DevicesPage/DeviceTableToolbar.js.map +1 -1
  36. package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.d.ts +1 -4
  37. package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.d.ts.map +1 -1
  38. package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.js +70 -16
  39. package/dist/src/components/Device/DevicesPage/DeviceToolbarFilters.js.map +1 -1
  40. package/dist/src/components/Device/DevicesPage/DevicesPage.d.ts +6 -8
  41. package/dist/src/components/Device/DevicesPage/DevicesPage.d.ts.map +1 -1
  42. package/dist/src/components/Device/DevicesPage/DevicesPage.js +41 -37
  43. package/dist/src/components/Device/DevicesPage/DevicesPage.js.map +1 -1
  44. package/dist/src/components/Device/DevicesPage/types.d.ts +1 -10
  45. package/dist/src/components/Device/DevicesPage/types.d.ts.map +1 -1
  46. package/dist/src/components/Device/DevicesPage/types.js.map +1 -1
  47. package/dist/src/components/Device/DevicesPage/useDevices.d.ts +9 -10
  48. package/dist/src/components/Device/DevicesPage/useDevices.d.ts.map +1 -1
  49. package/dist/src/components/Device/DevicesPage/useDevices.js +9 -29
  50. package/dist/src/components/Device/DevicesPage/useDevices.js.map +1 -1
  51. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.d.ts +2 -2
  52. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.d.ts.map +1 -1
  53. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js +19 -4
  54. package/dist/src/components/Device/EditDeviceWizard/EditDeviceWizard.js.map +1 -1
  55. package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts +7 -2
  56. package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts.map +1 -1
  57. package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +99 -7
  58. package/dist/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -1
  59. package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts +5 -0
  60. package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts.map +1 -0
  61. package/dist/src/components/Device/EditDeviceWizard/steps/{ApplicationsForm.js → ApplicationTemplates.js} +31 -24
  62. package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js.map +1 -0
  63. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.d.ts.map +1 -1
  64. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js +9 -10
  65. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.js.map +1 -1
  66. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.d.ts +2 -1
  67. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.d.ts.map +1 -1
  68. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js +5 -6
  69. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.js.map +1 -1
  70. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.d.ts +4 -0
  71. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.d.ts.map +1 -0
  72. package/dist/src/components/Device/EditDeviceWizard/steps/{ConfigTemplateForm.js → ConfigurationTemplates.js} +42 -28
  73. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigurationTemplates.js.map +1 -0
  74. package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.d.ts.map +1 -1
  75. package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js +53 -12
  76. package/dist/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.js.map +1 -1
  77. package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.d.ts +7 -0
  78. package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.d.ts.map +1 -0
  79. package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.js +13 -0
  80. package/dist/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.js.map +1 -0
  81. package/dist/src/components/Device/EditDeviceWizard/steps/SystemdUnitsForm.d.ts +4 -0
  82. package/dist/src/components/Device/EditDeviceWizard/steps/SystemdUnitsForm.d.ts.map +1 -0
  83. package/dist/src/components/Device/EditDeviceWizard/steps/SystemdUnitsForm.js +38 -0
  84. package/dist/src/components/Device/EditDeviceWizard/steps/SystemdUnitsForm.js.map +1 -0
  85. package/dist/src/components/Device/EditDeviceWizard/types.d.ts +3 -0
  86. package/dist/src/components/Device/EditDeviceWizard/types.d.ts.map +1 -1
  87. package/dist/src/components/Device/EditDeviceWizard/utils.d.ts +1 -0
  88. package/dist/src/components/Device/EditDeviceWizard/utils.d.ts.map +1 -1
  89. package/dist/src/components/Device/EditDeviceWizard/utils.js +5 -2
  90. package/dist/src/components/Device/EditDeviceWizard/utils.js.map +1 -1
  91. package/dist/src/components/Device/{MatchPatternsModal/MatchPatternsModal.d.ts → SystemdUnitsModal/SystemdUnitsModal.d.ts} +6 -6
  92. package/dist/src/components/Device/SystemdUnitsModal/SystemdUnitsModal.d.ts.map +1 -0
  93. package/dist/src/components/Device/{MatchPatternsModal/MatchPatternsModal.js → SystemdUnitsModal/SystemdUnitsModal.js} +28 -15
  94. package/dist/src/components/Device/SystemdUnitsModal/SystemdUnitsModal.js.map +1 -0
  95. package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.d.ts +15 -0
  96. package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.d.ts.map +1 -0
  97. package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.js +57 -0
  98. package/dist/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.js.map +1 -0
  99. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.d.ts +2 -2
  100. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.d.ts.map +1 -1
  101. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js +14 -4
  102. package/dist/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.js.map +1 -1
  103. package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.d.ts +9 -0
  104. package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.d.ts.map +1 -0
  105. package/dist/src/components/{Device/DevicesPage → EnrollmentRequest}/EnrollmentRequestList.js +40 -38
  106. package/dist/src/components/EnrollmentRequest/EnrollmentRequestList.js.map +1 -0
  107. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.d.ts +2 -0
  108. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.d.ts.map +1 -1
  109. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js +15 -11
  110. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableRow.js.map +1 -1
  111. package/dist/src/components/{Device/DevicesPage → EnrollmentRequest}/EnrollmentRequestTableToolbar.d.ts +1 -1
  112. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableToolbar.d.ts.map +1 -0
  113. package/dist/src/components/{Device/DevicesPage → EnrollmentRequest}/EnrollmentRequestTableToolbar.js +2 -2
  114. package/dist/src/components/EnrollmentRequest/EnrollmentRequestTableToolbar.js.map +1 -0
  115. package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.d.ts +9 -0
  116. package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.d.ts.map +1 -0
  117. package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.js +42 -0
  118. package/dist/src/components/EnrollmentRequest/useEnrollmentRequests.js.map +1 -0
  119. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.d.ts +2 -2
  120. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.d.ts.map +1 -1
  121. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js +19 -2
  122. package/dist/src/components/Fleet/CreateFleet/CreateFleetWizard.js.map +1 -1
  123. package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.d.ts.map +1 -1
  124. package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js +2 -4
  125. package/dist/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.js.map +1 -1
  126. package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.d.ts.map +1 -1
  127. package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js +6 -1
  128. package/dist/src/components/Fleet/CreateFleet/steps/ReviewStep.js.map +1 -1
  129. package/dist/src/components/Fleet/CreateFleet/utils.d.ts.map +1 -1
  130. package/dist/src/components/Fleet/CreateFleet/utils.js +61 -35
  131. package/dist/src/components/Fleet/CreateFleet/utils.js.map +1 -1
  132. package/dist/src/components/Fleet/FleetDetails/FleetDetails.d.ts +2 -2
  133. package/dist/src/components/Fleet/FleetDetails/FleetDetails.d.ts.map +1 -1
  134. package/dist/src/components/Fleet/FleetDetails/FleetDetails.js +16 -6
  135. package/dist/src/components/Fleet/FleetDetails/FleetDetails.js.map +1 -1
  136. package/dist/src/components/Fleet/FleetResourceSyncs.d.ts +2 -5
  137. package/dist/src/components/Fleet/FleetResourceSyncs.d.ts.map +1 -1
  138. package/dist/src/components/Fleet/FleetResourceSyncs.js +38 -24
  139. package/dist/src/components/Fleet/FleetResourceSyncs.js.map +1 -1
  140. package/dist/src/components/Fleet/FleetRow.d.ts +2 -0
  141. package/dist/src/components/Fleet/FleetRow.d.ts.map +1 -1
  142. package/dist/src/components/Fleet/FleetRow.js +16 -14
  143. package/dist/src/components/Fleet/FleetRow.js.map +1 -1
  144. package/dist/src/components/Fleet/FleetsPage.d.ts +2 -2
  145. package/dist/src/components/Fleet/FleetsPage.d.ts.map +1 -1
  146. package/dist/src/components/Fleet/FleetsPage.js +34 -24
  147. package/dist/src/components/Fleet/FleetsPage.js.map +1 -1
  148. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.d.ts +2 -2
  149. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.d.ts.map +1 -1
  150. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js +11 -2
  151. package/dist/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.js.map +1 -1
  152. package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.d.ts.map +1 -1
  153. package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js +5 -2
  154. package/dist/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +1 -1
  155. package/dist/src/components/Fleet/useFleets.d.ts +11 -3
  156. package/dist/src/components/Fleet/useFleets.d.ts.map +1 -1
  157. package/dist/src/components/Fleet/useFleets.js +22 -12
  158. package/dist/src/components/Fleet/useFleets.js.map +1 -1
  159. package/dist/src/components/OverviewPage/Cards/Status/StatusCard.d.ts.map +1 -1
  160. package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js +5 -14
  161. package/dist/src/components/OverviewPage/Cards/Status/StatusCard.js.map +1 -1
  162. package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.d.ts +0 -3
  163. package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.d.ts.map +1 -1
  164. package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js +2 -2
  165. package/dist/src/components/OverviewPage/Cards/Status/StatusCardFilters.js.map +1 -1
  166. package/dist/src/components/OverviewPage/Overview.d.ts.map +1 -1
  167. package/dist/src/components/OverviewPage/Overview.js +11 -5
  168. package/dist/src/components/OverviewPage/Overview.js.map +1 -1
  169. package/dist/src/components/Repository/CreateRepository/CreateRepository.d.ts +2 -2
  170. package/dist/src/components/Repository/CreateRepository/CreateRepository.d.ts.map +1 -1
  171. package/dist/src/components/Repository/CreateRepository/CreateRepository.js +15 -6
  172. package/dist/src/components/Repository/CreateRepository/CreateRepository.js.map +1 -1
  173. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.d.ts.map +1 -1
  174. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js +4 -1
  175. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -1
  176. package/dist/src/components/Repository/CreateRepository/utils.d.ts.map +1 -1
  177. package/dist/src/components/Repository/CreateRepository/utils.js +22 -6
  178. package/dist/src/components/Repository/CreateRepository/utils.js.map +1 -1
  179. package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.d.ts.map +1 -1
  180. package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js +3 -2
  181. package/dist/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.js.map +1 -1
  182. package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.d.ts +2 -2
  183. package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.d.ts.map +1 -1
  184. package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js +16 -5
  185. package/dist/src/components/Repository/RepositoryDetails/RepositoryDetails.js.map +1 -1
  186. package/dist/src/components/Repository/RepositoryList.d.ts +0 -1
  187. package/dist/src/components/Repository/RepositoryList.d.ts.map +1 -1
  188. package/dist/src/components/Repository/RepositoryList.js +55 -46
  189. package/dist/src/components/Repository/RepositoryList.js.map +1 -1
  190. package/dist/src/components/Repository/useRepositories.d.ts +16 -0
  191. package/dist/src/components/Repository/useRepositories.d.ts.map +1 -0
  192. package/dist/src/components/Repository/useRepositories.js +40 -0
  193. package/dist/src/components/Repository/useRepositories.js.map +1 -0
  194. package/dist/src/components/ResourceSync/RepositoryResourceSyncList.d.ts.map +1 -1
  195. package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js +21 -23
  196. package/dist/src/components/ResourceSync/RepositoryResourceSyncList.js.map +1 -1
  197. package/dist/src/components/Table/Table.d.ts +0 -1
  198. package/dist/src/components/Table/Table.d.ts.map +1 -1
  199. package/dist/src/components/Table/Table.js +2 -2
  200. package/dist/src/components/Table/Table.js.map +1 -1
  201. package/dist/src/components/Table/TablePagination.d.ts +8 -0
  202. package/dist/src/components/Table/TablePagination.d.ts.map +1 -0
  203. package/dist/src/components/Table/TablePagination.js +38 -0
  204. package/dist/src/components/Table/TablePagination.js.map +1 -0
  205. package/dist/src/components/Terminal/Terminal.d.ts.map +1 -1
  206. package/dist/src/components/Terminal/Terminal.js +1 -0
  207. package/dist/src/components/Terminal/Terminal.js.map +1 -1
  208. package/dist/src/components/common/AccessDenied.d.ts +4 -0
  209. package/dist/src/components/common/AccessDenied.d.ts.map +1 -0
  210. package/dist/src/components/common/AccessDenied.js +15 -0
  211. package/dist/src/components/common/AccessDenied.js.map +1 -0
  212. package/dist/src/components/common/ButtonWithPermissions.d.ts +8 -0
  213. package/dist/src/components/common/ButtonWithPermissions.d.ts.map +1 -0
  214. package/dist/src/components/common/ButtonWithPermissions.js +12 -0
  215. package/dist/src/components/common/ButtonWithPermissions.js.map +1 -0
  216. package/dist/src/components/common/LearnMoreLink.d.ts +7 -0
  217. package/dist/src/components/common/LearnMoreLink.d.ts.map +1 -0
  218. package/dist/src/components/common/LearnMoreLink.js +13 -0
  219. package/dist/src/components/common/LearnMoreLink.js.map +1 -0
  220. package/dist/src/components/common/PageWithPermissions.d.ts +7 -0
  221. package/dist/src/components/common/PageWithPermissions.d.ts.map +1 -0
  222. package/dist/src/components/common/PageWithPermissions.js +17 -0
  223. package/dist/src/components/common/PageWithPermissions.js.map +1 -0
  224. package/dist/src/components/form/FilterSelect.d.ts +2 -4
  225. package/dist/src/components/form/FilterSelect.d.ts.map +1 -1
  226. package/dist/src/components/form/FilterSelect.js.map +1 -1
  227. package/dist/src/components/form/FlightCtlForm.css +3 -0
  228. package/dist/src/components/form/FlightCtlForm.d.ts +1 -0
  229. package/dist/src/components/form/FlightCtlForm.d.ts.map +1 -1
  230. package/dist/src/components/form/FlightCtlForm.js +2 -1
  231. package/dist/src/components/form/FlightCtlForm.js.map +1 -1
  232. package/dist/src/components/form/FormSelect.d.ts +1 -0
  233. package/dist/src/components/form/FormSelect.d.ts.map +1 -1
  234. package/dist/src/components/form/FormSelect.js +14 -2
  235. package/dist/src/components/form/FormSelect.js.map +1 -1
  236. package/dist/src/components/form/LabelsField.d.ts +2 -1
  237. package/dist/src/components/form/LabelsField.d.ts.map +1 -1
  238. package/dist/src/components/form/LabelsField.js +6 -6
  239. package/dist/src/components/form/LabelsField.js.map +1 -1
  240. package/dist/src/components/form/validations.d.ts +13 -2
  241. package/dist/src/components/form/validations.d.ts.map +1 -1
  242. package/dist/src/components/form/validations.js +39 -24
  243. package/dist/src/components/form/validations.js.map +1 -1
  244. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.d.ts.map +1 -1
  245. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js +2 -5
  246. package/dist/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.js.map +1 -1
  247. package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.d.ts +2 -1
  248. package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.d.ts.map +1 -1
  249. package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js +4 -4
  250. package/dist/src/components/modals/EditLabelsModal/EditLabelsForm.js.map +1 -1
  251. package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.d.ts.map +1 -1
  252. package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js +2 -3
  253. package/dist/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.js.map +1 -1
  254. package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.d.ts +1 -1
  255. package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.d.ts.map +1 -1
  256. package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js +6 -5
  257. package/dist/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.js.map +1 -1
  258. package/dist/src/constants.d.ts +2 -1
  259. package/dist/src/constants.d.ts.map +1 -1
  260. package/dist/src/constants.js +3 -1
  261. package/dist/src/constants.js.map +1 -1
  262. package/dist/src/hooks/useAccessReview.d.ts +4 -0
  263. package/dist/src/hooks/useAccessReview.d.ts.map +1 -0
  264. package/dist/src/hooks/useAccessReview.js +33 -0
  265. package/dist/src/hooks/useAccessReview.js.map +1 -0
  266. package/dist/src/hooks/useAppContext.d.ts +4 -3
  267. package/dist/src/hooks/useAppContext.d.ts.map +1 -1
  268. package/dist/src/hooks/useAppContext.js +2 -2
  269. package/dist/src/hooks/useAppContext.js.map +1 -1
  270. package/dist/src/hooks/useFetch.d.ts +4 -2
  271. package/dist/src/hooks/useFetch.d.ts.map +1 -1
  272. package/dist/src/hooks/useFetchPeriodically.d.ts +1 -1
  273. package/dist/src/hooks/useFetchPeriodically.d.ts.map +1 -1
  274. package/dist/src/hooks/useFetchPeriodically.js +4 -1
  275. package/dist/src/hooks/useFetchPeriodically.js.map +1 -1
  276. package/dist/src/hooks/useFleetImportAccessReview.d.ts +3 -0
  277. package/dist/src/hooks/useFleetImportAccessReview.d.ts.map +1 -0
  278. package/dist/src/hooks/useFleetImportAccessReview.js +12 -0
  279. package/dist/src/hooks/useFleetImportAccessReview.js.map +1 -0
  280. package/dist/src/hooks/useTablePagination.d.ts +10 -0
  281. package/dist/src/hooks/useTablePagination.d.ts.map +1 -0
  282. package/dist/src/hooks/useTablePagination.js +33 -0
  283. package/dist/src/hooks/useTablePagination.js.map +1 -0
  284. package/dist/src/hooks/useWebSocket.d.ts +2 -2
  285. package/dist/src/hooks/useWebSocket.d.ts.map +1 -1
  286. package/dist/src/hooks/useWebSocket.js.map +1 -1
  287. package/dist/src/links.d.ts +3 -0
  288. package/dist/src/links.d.ts.map +1 -0
  289. package/dist/src/links.js +6 -0
  290. package/dist/src/links.js.map +1 -0
  291. package/dist/src/types/rbac.d.ts +18 -0
  292. package/dist/src/types/rbac.d.ts.map +1 -0
  293. package/dist/src/types/rbac.js +23 -0
  294. package/dist/src/types/rbac.js.map +1 -0
  295. package/dist/src/utils/api.d.ts +3 -3
  296. package/dist/src/utils/api.d.ts.map +1 -1
  297. package/dist/src/utils/api.js.map +1 -1
  298. package/dist/src/utils/labels.d.ts +1 -1
  299. package/dist/src/utils/labels.d.ts.map +1 -1
  300. package/dist/src/utils/labels.js +4 -8
  301. package/dist/src/utils/labels.js.map +1 -1
  302. package/dist/src/utils/query.d.ts +9 -0
  303. package/dist/src/utils/query.d.ts.map +1 -1
  304. package/dist/src/utils/query.js +33 -1
  305. package/dist/src/utils/query.js.map +1 -1
  306. package/dist/src/utils/search.d.ts +1 -0
  307. package/dist/src/utils/search.d.ts.map +1 -1
  308. package/dist/src/utils/search.js +7 -7
  309. package/dist/src/utils/search.js.map +1 -1
  310. package/package.json +5 -5
  311. package/src/components/DetailsPage/Tables/ApplicationsTable.css +7 -0
  312. package/src/components/DetailsPage/Tables/ApplicationsTable.tsx +150 -13
  313. package/src/components/Device/AddDeviceModal/AddDeviceModal.tsx +31 -132
  314. package/src/components/Device/DeviceDetails/DeviceApplications.tsx +102 -0
  315. package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +33 -16
  316. package/src/components/Device/DeviceDetails/DeviceDetailsTab.tsx +8 -38
  317. package/src/components/Device/DeviceDetails/TerminalTab.tsx +21 -4
  318. package/src/components/Device/DevicesPage/DeviceFilterSelect.tsx +13 -34
  319. package/src/components/Device/DevicesPage/DeviceTableRow.tsx +21 -9
  320. package/src/components/Device/DevicesPage/DeviceTableToolbar.tsx +0 -7
  321. package/src/components/Device/DevicesPage/DeviceToolbarFilters.tsx +93 -40
  322. package/src/components/Device/DevicesPage/DevicesPage.tsx +64 -58
  323. package/src/components/Device/DevicesPage/types.ts +1 -13
  324. package/src/components/Device/DevicesPage/useDevices.ts +19 -38
  325. package/src/components/Device/EditDeviceWizard/EditDeviceWizard.tsx +24 -4
  326. package/src/components/Device/EditDeviceWizard/deviceSpecUtils.ts +156 -47
  327. package/src/components/Device/EditDeviceWizard/steps/{ApplicationsForm.tsx → ApplicationTemplates.tsx} +89 -53
  328. package/src/components/Device/EditDeviceWizard/steps/ConfigInlineTemplateForm.tsx +22 -26
  329. package/src/components/Device/EditDeviceWizard/steps/ConfigWithRepositoryTemplateForm.tsx +17 -12
  330. package/src/components/Device/EditDeviceWizard/steps/{ConfigTemplateForm.tsx → ConfigurationTemplates.tsx} +110 -52
  331. package/src/components/Device/EditDeviceWizard/steps/DeviceTemplateStep.tsx +108 -11
  332. package/src/components/Device/EditDeviceWizard/steps/ReviewTrackedSystemdServices.tsx +19 -0
  333. package/src/components/Device/EditDeviceWizard/steps/SystemdUnitsForm.tsx +75 -0
  334. package/src/components/Device/EditDeviceWizard/types.ts +3 -0
  335. package/src/components/Device/EditDeviceWizard/utils.ts +14 -4
  336. package/src/components/Device/{MatchPatternsModal/MatchPatternsModal.tsx → SystemdUnitsModal/SystemdUnitsModal.tsx} +36 -19
  337. package/src/components/Device/SystemdUnitsModal/TrackSystemdUnitsForm.tsx +114 -0
  338. package/src/components/EnrollmentRequest/EnrollmentRequestDetails/EnrollmentRequestDetails.tsx +28 -9
  339. package/src/components/{Device/DevicesPage → EnrollmentRequest}/EnrollmentRequestList.tsx +57 -48
  340. package/src/components/EnrollmentRequest/EnrollmentRequestTableRow.tsx +28 -17
  341. package/src/components/{Device/DevicesPage → EnrollmentRequest}/EnrollmentRequestTableToolbar.tsx +3 -2
  342. package/src/components/EnrollmentRequest/useEnrollmentRequests.ts +63 -0
  343. package/src/components/Fleet/CreateFleet/CreateFleetWizard.tsx +28 -2
  344. package/src/components/Fleet/CreateFleet/steps/DeviceLabelSelector.tsx +2 -5
  345. package/src/components/Fleet/CreateFleet/steps/ReviewStep.tsx +7 -0
  346. package/src/components/Fleet/CreateFleet/utils.ts +101 -49
  347. package/src/components/Fleet/FleetDetails/FleetDetails.tsx +57 -36
  348. package/src/components/Fleet/FleetResourceSyncs.tsx +53 -41
  349. package/src/components/Fleet/FleetRow.tsx +28 -16
  350. package/src/components/Fleet/FleetsPage.tsx +63 -53
  351. package/src/components/Fleet/ImportFleetWizard/ImportFleetWizard.tsx +16 -3
  352. package/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.tsx +25 -19
  353. package/src/components/Fleet/useFleets.ts +40 -22
  354. package/src/components/OverviewPage/Cards/Status/StatusCard.tsx +5 -18
  355. package/src/components/OverviewPage/Cards/Status/StatusCardFilters.tsx +0 -7
  356. package/src/components/OverviewPage/Overview.tsx +20 -8
  357. package/src/components/Repository/CreateRepository/CreateRepository.tsx +25 -9
  358. package/src/components/Repository/CreateRepository/CreateRepositoryForm.tsx +5 -2
  359. package/src/components/Repository/CreateRepository/utils.ts +23 -7
  360. package/src/components/Repository/RepositoryDetails/DeleteRepositoryModal.tsx +5 -3
  361. package/src/components/Repository/RepositoryDetails/RepositoryDetails.tsx +32 -10
  362. package/src/components/Repository/RepositoryList.tsx +113 -71
  363. package/src/components/Repository/useRepositories.ts +59 -0
  364. package/src/components/ResourceSync/RepositoryResourceSyncList.tsx +41 -40
  365. package/src/components/Table/Table.tsx +3 -4
  366. package/src/components/Table/TablePagination.tsx +74 -0
  367. package/src/components/Terminal/Terminal.tsx +1 -0
  368. package/src/components/common/AccessDenied.tsx +17 -0
  369. package/src/components/common/ButtonWithPermissions.tsx +14 -0
  370. package/src/components/common/LearnMoreLink.tsx +26 -0
  371. package/src/components/common/PageWithPermissions.tsx +19 -0
  372. package/src/components/form/FilterSelect.tsx +2 -4
  373. package/src/components/form/FlightCtlForm.css +3 -0
  374. package/src/components/form/FlightCtlForm.tsx +3 -1
  375. package/src/components/form/FormSelect.tsx +22 -2
  376. package/src/components/form/LabelsField.tsx +17 -13
  377. package/src/components/form/validations.ts +53 -25
  378. package/src/components/modals/ApproveDeviceModal/ApproveDeviceModal.tsx +2 -5
  379. package/src/components/modals/EditLabelsModal/EditLabelsForm.tsx +9 -4
  380. package/src/components/modals/massModals/MassApproveDeviceModal/MassApproveDeviceModal.tsx +2 -4
  381. package/src/components/modals/massModals/MassDeleteRepositoryModal/MassDeleteRepositoryModal.tsx +8 -5
  382. package/src/constants.ts +2 -1
  383. package/src/hooks/useAccessReview.ts +33 -0
  384. package/src/hooks/useAppContext.tsx +6 -5
  385. package/src/hooks/useFetchPeriodically.ts +4 -0
  386. package/src/hooks/useFleetImportAccessReview.ts +8 -0
  387. package/src/hooks/useTablePagination.tsx +44 -0
  388. package/src/hooks/useWebSocket.ts +4 -4
  389. package/src/links.ts +5 -0
  390. package/src/types/rbac.ts +18 -0
  391. package/src/utils/api.ts +3 -3
  392. package/src/utils/labels.ts +3 -7
  393. package/src/utils/query.ts +41 -0
  394. package/src/utils/search.ts +1 -1
  395. package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.d.ts +0 -12
  396. package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.d.ts.map +0 -1
  397. package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js +0 -40
  398. package/dist/src/components/DetailsPage/Tables/SystemdDetailsTable.js.map +0 -1
  399. package/dist/src/components/Device/DeviceDetails/SystemdTable.d.ts +0 -10
  400. package/dist/src/components/Device/DeviceDetails/SystemdTable.d.ts.map +0 -1
  401. package/dist/src/components/Device/DeviceDetails/SystemdTable.js +0 -38
  402. package/dist/src/components/Device/DeviceDetails/SystemdTable.js.map +0 -1
  403. package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.d.ts +0 -6
  404. package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.d.ts.map +0 -1
  405. package/dist/src/components/Device/DevicesPage/EnrollmentRequestList.js.map +0 -1
  406. package/dist/src/components/Device/DevicesPage/EnrollmentRequestTableToolbar.d.ts.map +0 -1
  407. package/dist/src/components/Device/DevicesPage/EnrollmentRequestTableToolbar.js.map +0 -1
  408. package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationsForm.d.ts +0 -5
  409. package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationsForm.d.ts.map +0 -1
  410. package/dist/src/components/Device/EditDeviceWizard/steps/ApplicationsForm.js.map +0 -1
  411. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.d.ts +0 -4
  412. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.d.ts.map +0 -1
  413. package/dist/src/components/Device/EditDeviceWizard/steps/ConfigTemplateForm.js.map +0 -1
  414. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.d.ts +0 -11
  415. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.d.ts.map +0 -1
  416. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js +0 -39
  417. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsForm.js.map +0 -1
  418. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.d.ts.map +0 -1
  419. package/dist/src/components/Device/MatchPatternsModal/MatchPatternsModal.js.map +0 -1
  420. package/dist/src/components/common/HelperTextItems.d.ts +0 -3
  421. package/dist/src/components/common/HelperTextItems.d.ts.map +0 -1
  422. package/dist/src/components/common/HelperTextItems.js +0 -17
  423. package/dist/src/components/common/HelperTextItems.js.map +0 -1
  424. package/dist/src/hooks/useApiTableSort.d.ts +0 -8
  425. package/dist/src/hooks/useApiTableSort.d.ts.map +0 -1
  426. package/dist/src/hooks/useApiTableSort.js +0 -44
  427. package/dist/src/hooks/useApiTableSort.js.map +0 -1
  428. package/dist/src/hooks/useTableSort.d.ts +0 -7
  429. package/dist/src/hooks/useTableSort.d.ts.map +0 -1
  430. package/dist/src/hooks/useTableSort.js +0 -38
  431. package/dist/src/hooks/useTableSort.js.map +0 -1
  432. package/dist/src/utils/sort/generic.d.ts +0 -5
  433. package/dist/src/utils/sort/generic.d.ts.map +0 -1
  434. package/dist/src/utils/sort/generic.js +0 -10
  435. package/dist/src/utils/sort/generic.js.map +0 -1
  436. package/dist/src/utils/sort/repository.d.ts +0 -6
  437. package/dist/src/utils/sort/repository.d.ts.map +0 -1
  438. package/dist/src/utils/sort/repository.js +0 -28
  439. package/dist/src/utils/sort/repository.js.map +0 -1
  440. package/dist/src/utils/sort/resourceSync.d.ts +0 -6
  441. package/dist/src/utils/sort/resourceSync.d.ts.map +0 -1
  442. package/dist/src/utils/sort/resourceSync.js +0 -29
  443. package/dist/src/utils/sort/resourceSync.js.map +0 -1
  444. package/src/components/DetailsPage/Tables/SystemdDetailsTable.tsx +0 -63
  445. package/src/components/Device/DeviceDetails/SystemdTable.tsx +0 -65
  446. package/src/components/Device/MatchPatternsModal/MatchPatternsForm.tsx +0 -92
  447. package/src/components/common/HelperTextItems.tsx +0 -25
  448. package/src/hooks/useApiTableSort.ts +0 -49
  449. package/src/hooks/useTableSort.ts +0 -42
  450. package/src/utils/sort/generic.ts +0 -8
  451. package/src/utils/sort/repository.ts +0 -28
  452. package/src/utils/sort/resourceSync.ts +0 -30
@@ -0,0 +1,7 @@
1
+ .fctl-applications-table__row .pf-v5-c-button {
2
+ visibility: hidden;
3
+ }
4
+
5
+ .fctl-applications-table__row:hover .pf-v5-c-button {
6
+ visibility: visible;
7
+ }
@@ -1,8 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { DeviceApplicationStatus } from '@flightctl/types';
3
+ import './ApplicationsTable.css';
3
4
  type ApplicationsTableProps = {
4
5
  appsStatus: DeviceApplicationStatus[];
6
+ specApps: string[];
7
+ specSystemdUnits: string[];
8
+ addedSystemdUnitDates: Record<string, number>;
9
+ onSystemdDelete?: (deletedUnit: string) => void;
10
+ isUpdating: boolean;
11
+ canEdit: boolean;
5
12
  };
6
- declare const ApplicationsTable: ({ appsStatus }: ApplicationsTableProps) => React.JSX.Element;
13
+ declare const ApplicationsTable: ({ appsStatus, specApps, specSystemdUnits, addedSystemdUnitDates, onSystemdDelete, isUpdating, canEdit, }: ApplicationsTableProps) => React.JSX.Element;
7
14
  export default ApplicationsTable;
8
15
  //# sourceMappingURL=ApplicationsTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationsTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/DetailsPage/Tables/ApplicationsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,KAAK,sBAAsB,GAAG;IAC5B,UAAU,EAAE,uBAAuB,EAAE,CAAC;CACvC,CAAC;AAEF,QAAA,MAAM,iBAAiB,mBAAoB,sBAAsB,sBA6BhE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ApplicationsTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/DetailsPage/Tables/ApplicationsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAK3D,OAAO,yBAAyB,CAAC;AAEjC,KAAK,sBAAsB,GAAG;IAE5B,UAAU,EAAE,uBAAuB,EAAE,CAAC;IAEtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAIF,QAAA,MAAM,iBAAiB,6GAQpB,sBAAsB,sBA8IxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -4,23 +4,105 @@ const tslib_1 = require("tslib");
4
4
  const React = tslib_1.__importStar(require("react"));
5
5
  const react_core_1 = require("@patternfly/react-core");
6
6
  const react_table_1 = require("@patternfly/react-table");
7
+ const minus_circle_icon_1 = tslib_1.__importDefault(require("@patternfly/react-icons/dist/js/icons/minus-circle-icon"));
7
8
  const useTranslation_1 = require("../../../hooks/useTranslation");
8
9
  const ApplicationStatus_1 = tslib_1.__importDefault(require("../../Status/ApplicationStatus"));
9
- const ApplicationsTable = ({ appsStatus }) => {
10
+ const WithTooltip_1 = tslib_1.__importDefault(require("../../common/WithTooltip"));
11
+ require("./ApplicationsTable.css");
12
+ const DELETE_SYSTED_TIMEOUT = 30000; // 30 seconds
13
+ const ApplicationsTable = ({ appsStatus, specApps, specSystemdUnits, addedSystemdUnitDates, onSystemdDelete, isUpdating, canEdit, }) => {
10
14
  const { t } = (0, useTranslation_1.useTranslation)();
11
- return appsStatus.length ? (React.createElement(react_table_1.Table, { "aria-label": t('Device applications table') },
15
+ // Required to be able to detect removed systemd units for their correct type.
16
+ // It takes a bit for them to be removed from the applications list.
17
+ const [deletedSystemdUnits, setDeletedSystemdUnits] = React.useState([]);
18
+ React.useEffect(() => {
19
+ // Remove a service from the deleted list if it was added back later
20
+ const filtered = deletedSystemdUnits.filter((deletedUnit) => {
21
+ if (addedSystemdUnitDates[deletedUnit]) {
22
+ return false;
23
+ }
24
+ return true;
25
+ });
26
+ if (filtered.length < deletedSystemdUnits.length) {
27
+ setDeletedSystemdUnits(filtered);
28
+ }
29
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30
+ }, [addedSystemdUnitDates]);
31
+ const appsAndSystemdUnits = [];
32
+ specApps.forEach((app) => {
33
+ appsAndSystemdUnits.push(app);
34
+ });
35
+ specSystemdUnits.forEach((systemdUnit) => {
36
+ appsAndSystemdUnits.push(systemdUnit);
37
+ });
38
+ appsStatus.forEach((appStatus) => {
39
+ if (!appsAndSystemdUnits.includes(appStatus.name)) {
40
+ appsAndSystemdUnits.push(appStatus.name);
41
+ }
42
+ });
43
+ return appsAndSystemdUnits.length ? (React.createElement(react_table_1.Table, { "aria-label": t('Device applications table') },
12
44
  React.createElement(react_table_1.Thead, null,
13
45
  React.createElement(react_table_1.Tr, null,
14
46
  React.createElement(react_table_1.Th, null, t('Name')),
15
47
  React.createElement(react_table_1.Th, { modifier: "wrap" }, t('Status')),
16
48
  React.createElement(react_table_1.Th, { modifier: "wrap" }, t('Ready')),
17
- React.createElement(react_table_1.Th, { modifier: "wrap" }, t('Restarts')))),
18
- React.createElement(react_table_1.Tbody, null, appsStatus.map((appData) => (React.createElement(react_table_1.Tr, { key: appData.name },
19
- React.createElement(react_table_1.Td, { dataLabel: t('Name') }, appData.name),
20
- React.createElement(react_table_1.Td, { dataLabel: t('Status') },
21
- React.createElement(ApplicationStatus_1.default, { status: appData.status })),
22
- React.createElement(react_table_1.Td, { dataLabel: t('Ready') }, appData.ready),
23
- React.createElement(react_table_1.Td, { dataLabel: t('Restarts') }, appData.restarts))))))) : (React.createElement(react_core_1.Bullseye, null, t('No applications found')));
49
+ React.createElement(react_table_1.Th, { modifier: "wrap" }, t('Restarts')),
50
+ React.createElement(react_table_1.Th, { modifier: "wrap" }, t('Type')))),
51
+ React.createElement(react_table_1.Tbody, null, appsAndSystemdUnits.map((appName) => {
52
+ const appDetails = appsStatus.find((app) => app.name === appName);
53
+ const isDeletedSystemdUnit = deletedSystemdUnits.includes(appName);
54
+ const isAddedSystemdUnit = !!addedSystemdUnitDates[appName];
55
+ const isApp = specApps.includes(appName) ||
56
+ !(specSystemdUnits.includes(appName) || isDeletedSystemdUnit || isAddedSystemdUnit);
57
+ const deleteSystemdUnit = canEdit && !isDeletedSystemdUnit && onSystemdDelete && (React.createElement(react_core_1.Button, { "aria-label": t('Delete'), isDisabled: isUpdating, variant: "plain", icon: React.createElement(minus_circle_icon_1.default, null), onClick: () => {
58
+ setDeletedSystemdUnits(deletedSystemdUnits.concat(appName));
59
+ onSystemdDelete(appName);
60
+ } }));
61
+ if (!appDetails) {
62
+ // It's an app or a systemd unit which has not been reported yet
63
+ const appAddedTime = addedSystemdUnitDates[appName] || 0;
64
+ // For apps there are is no spinner since we don't when the app was added to the spec
65
+ const showSpinner = !isApp && Date.now() - appAddedTime < DELETE_SYSTED_TIMEOUT;
66
+ return (React.createElement(react_table_1.Tr, { key: appName, className: "applications-table__row" },
67
+ React.createElement(react_table_1.Td, { dataLabel: t('Name') }, appName),
68
+ React.createElement(react_table_1.Td, { dataLabel: t('Status'), colSpan: 3 }, showSpinner ? (React.createElement(React.Fragment, null,
69
+ React.createElement(react_core_1.Spinner, { size: "sm" }),
70
+ " ",
71
+ t('Waiting for service to be reported...'))) : (t('Information not available yet'))),
72
+ React.createElement(react_table_1.Td, { dataLabel: t('Type') }, isApp ? (React.createElement(React.Fragment, null, t('App'))) : (React.createElement(React.Fragment, null,
73
+ t('Systemd'),
74
+ " ",
75
+ deleteSystemdUnit)))));
76
+ }
77
+ let typeColumnContent;
78
+ if (isApp) {
79
+ typeColumnContent = t('App');
80
+ }
81
+ else if (onSystemdDelete) {
82
+ let extraContent;
83
+ if (isDeletedSystemdUnit) {
84
+ extraContent = (React.createElement(WithTooltip_1.default, { showTooltip: true, content: t('{{ appName }} is being removed, this may take some time.', { appName }) },
85
+ React.createElement(react_core_1.Spinner, { size: "sm" })));
86
+ }
87
+ else {
88
+ extraContent = deleteSystemdUnit;
89
+ }
90
+ typeColumnContent = (React.createElement(React.Fragment, null,
91
+ t('Systemd'),
92
+ " ",
93
+ extraContent));
94
+ }
95
+ else {
96
+ typeColumnContent = t('Systemd');
97
+ }
98
+ return (React.createElement(react_table_1.Tr, { key: appName, className: "fctl-applications-table__row" },
99
+ React.createElement(react_table_1.Td, { dataLabel: t('Name') }, appName),
100
+ React.createElement(react_table_1.Td, { dataLabel: t('Status') },
101
+ React.createElement(ApplicationStatus_1.default, { status: appDetails.status })),
102
+ React.createElement(react_table_1.Td, { dataLabel: t('Ready') }, appDetails.ready),
103
+ React.createElement(react_table_1.Td, { dataLabel: t('Restarts') }, appDetails.restarts),
104
+ React.createElement(react_table_1.Td, { dataLabel: t('Type') }, typeColumnContent)));
105
+ })))) : (React.createElement(react_core_1.Bullseye, null, t('No applications found')));
24
106
  };
25
107
  exports.default = ApplicationsTable;
26
108
  //# sourceMappingURL=ApplicationsTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationsTable.js","sourceRoot":"","sources":["../../../../../src/components/DetailsPage/Tables/ApplicationsTable.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAkD;AAClD,yDAA0E;AAG1E,kEAA+D;AAC/D,+FAA+D;AAM/D,MAAM,iBAAiB,GAAG,CAAC,EAAE,UAAU,EAA0B,EAAE,EAAE;IACnE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACzB,oBAAC,mBAAK,kBAAa,CAAC,CAAC,2BAA2B,CAAC;QAC/C,oBAAC,mBAAK;YACJ,oBAAC,gBAAE;gBACD,oBAAC,gBAAE,QAAE,CAAC,CAAC,MAAM,CAAC,CAAM;gBACpB,oBAAC,gBAAE,IAAC,QAAQ,EAAC,MAAM,IAAE,CAAC,CAAC,QAAQ,CAAC,CAAM;gBACtC,oBAAC,gBAAE,IAAC,QAAQ,EAAC,MAAM,IAAE,CAAC,CAAC,OAAO,CAAC,CAAM;gBACrC,oBAAC,gBAAE,IAAC,QAAQ,EAAC,MAAM,IAAE,CAAC,CAAC,UAAU,CAAC,CAAM,CACrC,CACC;QACR,oBAAC,mBAAK,QACH,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC3B,oBAAC,gBAAE,IAAC,GAAG,EAAE,OAAO,CAAC,IAAI;YACnB,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAG,OAAO,CAAC,IAAI,CAAM;YAC7C,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC;gBACxB,oBAAC,2BAAiB,IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAI,CAC1C;YACL,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAG,OAAO,CAAC,KAAK,CAAM;YAC/C,oBAAC,gBAAE,IAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,IAAG,OAAO,CAAC,QAAQ,CAAM,CAClD,CACN,CAAC,CACI,CACF,CACT,CAAC,CAAC,CAAC,CACF,oBAAC,qBAAQ,QAAE,CAAC,CAAC,uBAAuB,CAAC,CAAY,CAClD,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ApplicationsTable.js","sourceRoot":"","sources":["../../../../../src/components/DetailsPage/Tables/ApplicationsTable.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddDeviceModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/AddDeviceModal/AddDeviceModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,QAAA,MAAM,cAAc;aAA4B,YAAY;uBAwH3D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"AddDeviceModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/AddDeviceModal/AddDeviceModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,QAAA,MAAM,cAAc;aAA4B,YAAY;uBAoC3D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -4,60 +4,24 @@ const tslib_1 = require("tslib");
4
4
  const React = tslib_1.__importStar(require("react"));
5
5
  const react_core_1 = require("@patternfly/react-core");
6
6
  const external_link_alt_icon_1 = require("@patternfly/react-icons/dist/js/icons/external-link-alt-icon");
7
- const FlightCtlForm_1 = tslib_1.__importDefault(require("../../form/FlightCtlForm"));
8
7
  const useTranslation_1 = require("../../../hooks/useTranslation");
9
- const useAppContext_1 = require("../../../hooks/useAppContext");
10
8
  const AddDeviceModal = ({ onClose }) => {
11
9
  const { t } = (0, useTranslation_1.useTranslation)();
12
- const { qcow2ImgUrl, bootcImgUrl } = (0, useAppContext_1.useAppContext)();
13
- const [imgType, setImgType] = React.useState();
14
- React.useEffect(() => {
15
- if (!!bootcImgUrl) {
16
- setImgType('bootc');
17
- }
18
- else if (!!qcow2ImgUrl) {
19
- setImgType('qcow2');
20
- }
21
- }, [qcow2ImgUrl, bootcImgUrl]);
22
- const actions = [
23
- React.createElement(react_core_1.Button, { key: "close", variant: "secondary", onClick: onClose }, t('Close')),
24
- ];
25
- if (imgType === 'qcow2') {
26
- actions.unshift(React.createElement(react_core_1.Button, { key: "download", onClick: () => window.open(qcow2ImgUrl, '_blank') }, t('Download disk')));
27
- }
28
- return (React.createElement(react_core_1.Modal, { variant: "medium", title: t('Add device'), onClose: onClose, isOpen: true, actions: actions },
29
- React.createElement(react_core_1.Grid, { hasGutter: true },
30
- React.createElement(react_core_1.GridItem, null,
31
- React.createElement(react_core_1.Alert, { variant: "info", isInline: true, title: t('Learn how to build a bootable container image') },
32
- React.createElement(react_core_1.Button, { component: "a", variant: "link", isInline: true, href: "https://github.com/flightctl/flightctl/blob/main/docs/user/getting-started.md#building-a-bootable-container-image-including-the-flight-control-agent", target: "_blank", icon: React.createElement(external_link_alt_icon_1.ExternalLinkAltIcon, null), iconPosition: "end" }, t('View documentation')))),
33
- React.createElement(react_core_1.GridItem, null,
34
- React.createElement(react_core_1.Radio, { isChecked: imgType === 'bootc', name: "bootc", onChange: (_, checked) => checked && setImgType('bootc'), label: bootcImgUrl ? t('Use a container image (bootc)') : t('Use a container image (bootc) (Not available)'), id: "bootc", isDisabled: !bootcImgUrl }),
35
- React.createElement(react_core_1.Radio, { isChecked: imgType === 'qcow2', name: "qcow2", onChange: (_, checked) => checked && setImgType('qcow2'), label: qcow2ImgUrl ? t('Use a disk image (qcow2)') : t('Use a disk image (qcow2) (Not available)'), id: "qcow2", isDisabled: !qcow2ImgUrl })),
36
- React.createElement(react_core_1.GridItem, null,
37
- imgType === 'bootc' && (React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: t('Adding devices instructions') },
38
- React.createElement(react_core_1.TextContent, null,
39
- React.createElement(react_core_1.TextList, { component: "ol", type: react_core_1.OrderType.number, style: { marginLeft: 0 } },
40
- React.createElement(react_core_1.TextListItem, null, t('Boot you device.')),
41
- React.createElement(react_core_1.TextListItem, null, t('Ensure that your device has a disk available for installation.')),
42
- React.createElement(react_core_1.TextListItem, null,
43
- t('Execute the following podman command'),
44
- React.createElement(react_core_1.ClipboardCopy, { isReadOnly: true, hoverTip: t('Copy'), clickTip: t('Copied') }, `podman run --rm --privileged --pid=host -v /var/lib/containers:/var/lib/containers --security-opt label=type:unconfined_t ${bootcImgUrl} bootc install to-disk /path/to/disk`)),
45
- React.createElement(react_core_1.TextListItem, null, t('Ensure that your device will boot from `/path/to/disk`.')),
46
- React.createElement(react_core_1.TextListItem, null, t('Reboot the device.')),
47
- React.createElement(react_core_1.TextListItem, null, t('Booted device should appear in the devices table. This might take a few minutes.')))))),
48
- imgType === 'qcow2' && (React.createElement(react_core_1.Stack, { hasGutter: true },
49
- React.createElement(react_core_1.StackItem, null,
50
- React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: t('Adding devices instructions') },
51
- React.createElement(react_core_1.TextContent, null,
52
- React.createElement(react_core_1.TextList, { component: "ol", type: react_core_1.OrderType.number, style: { marginLeft: 0 } },
53
- React.createElement(react_core_1.TextListItem, null, t('Download the qcow2 disk and use it to boot your device.')),
54
- React.createElement(react_core_1.TextListItem, null, t('Booted device should appear in the devices table. This might take a few minutes.')))))),
55
- React.createElement(react_core_1.StackItem, null,
56
- React.createElement(FlightCtlForm_1.default, null,
57
- React.createElement(react_core_1.FormGroup, { label: t('Disk URL') },
58
- React.createElement(react_core_1.ClipboardCopy, { isReadOnly: true, hoverTip: t('Copy'), clickTip: t('Copied') }, qcow2ImgUrl)),
59
- React.createElement(react_core_1.FormGroup, { label: t('Command to download the disk') },
60
- React.createElement(react_core_1.ClipboardCopy, { isReadOnly: true, hoverTip: t('Copy'), clickTip: t('Copied') }, `wget -O disk.qcow2 ${qcow2ImgUrl}`))))))))));
10
+ return (React.createElement(react_core_1.Modal, { variant: "medium", title: t('Add devices'), onClose: onClose, isOpen: true },
11
+ React.createElement(react_core_1.Stack, { hasGutter: true },
12
+ React.createElement(react_core_1.StackItem, null, t('You can add devices following these steps:')),
13
+ React.createElement(react_core_1.StackItem, null,
14
+ React.createElement(react_core_1.List, { component: react_core_1.ListComponent.ol, type: react_core_1.OrderType.number },
15
+ React.createElement(react_core_1.ListItem, null, t('Request an enrollment certificate for your device')),
16
+ React.createElement(react_core_1.ListItem, null, t('Build a bootc OS image')),
17
+ React.createElement(react_core_1.ListItem, null, t('Create, sign and publish a bootable OS disk image')),
18
+ React.createElement(react_core_1.ListItem, null, t('Boot your device into the OS disk image')))),
19
+ React.createElement(react_core_1.StackItem, null,
20
+ React.createElement(react_core_1.Button, { component: "a", variant: "link", isInline: true, href: "https://github.com/flightctl/flightctl/blob/main/docs/user/getting-started.md#building-a-bootable-container-image-including-the-flight-control-agent", target: "_blank", icon: React.createElement(external_link_alt_icon_1.ExternalLinkAltIcon, null), iconPosition: "end" },
21
+ t('Learn more about adding devices'),
22
+ ' ')),
23
+ React.createElement(react_core_1.StackItem, { className: "pf-v5-u-mt-md" },
24
+ React.createElement(react_core_1.Button, { variant: "primary", isInline: true, onClick: onClose }, t('Close'))))));
61
25
  };
62
26
  exports.default = AddDeviceModal;
63
27
  //# sourceMappingURL=AddDeviceModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddDeviceModal.js","sourceRoot":"","sources":["../../../../../src/components/Device/AddDeviceModal/AddDeviceModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddDeviceModal.js","sourceRoot":"","sources":["../../../../../src/components/Device/AddDeviceModal/AddDeviceModal.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAmH;AACnH,yGAAmG;AAEnG,kEAA+D;AAE/D,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAA6B,EAAE,EAAE;IAChE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,OAAO,CACL,oBAAC,kBAAK,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;QACvE,oBAAC,kBAAK,IAAC,SAAS;YACd,oBAAC,sBAAS,QAAE,CAAC,CAAC,4CAA4C,CAAC,CAAa;YACxE,oBAAC,sBAAS;gBACR,oBAAC,iBAAI,IAAC,SAAS,EAAE,0BAAa,CAAC,EAAE,EAAE,IAAI,EAAE,sBAAS,CAAC,MAAM;oBACvD,oBAAC,qBAAQ,QAAE,CAAC,CAAC,mDAAmD,CAAC,CAAY;oBAC7E,oBAAC,qBAAQ,QAAE,CAAC,CAAC,wBAAwB,CAAC,CAAY;oBAClD,oBAAC,qBAAQ,QAAE,CAAC,CAAC,mDAAmD,CAAC,CAAY;oBAC7E,oBAAC,qBAAQ,QAAE,CAAC,CAAC,yCAAyC,CAAC,CAAY,CAC9D,CACG;YACZ,oBAAC,sBAAS;gBACR,oBAAC,mBAAM,IACL,SAAS,EAAC,GAAG,EACb,OAAO,EAAC,MAAM,EACd,QAAQ,QACR,IAAI,EAAC,sJAAsJ,EAC3J,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,oBAAC,4CAAmB,OAAG,EAC7B,YAAY,EAAC,KAAK;oBAEjB,CAAC,CAAC,iCAAiC,CAAC;oBAAE,GAAG,CACnC,CACC;YACZ,oBAAC,sBAAS,IAAC,SAAS,EAAC,eAAe;gBAClC,oBAAC,mBAAM,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,QAAC,OAAO,EAAE,OAAO,IAChD,CAAC,CAAC,OAAO,CAAC,CACJ,CACC,CACN,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { Device } from '@flightctl/types';
3
+ type DeviceDetailsTabProps = {
4
+ device: Required<Device>;
5
+ refetch: VoidFunction;
6
+ canEdit: boolean;
7
+ };
8
+ declare const DeviceApplications: ({ device, refetch, canEdit }: React.PropsWithChildren<DeviceDetailsTabProps>) => React.JSX.Element;
9
+ export default DeviceApplications;
10
+ //# sourceMappingURL=DeviceApplications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceApplications.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceApplications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAS1C,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,kBAAkB,iCAAkC,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,sBAiFvG,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,65 @@
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 useFetch_1 = require("../../../hooks/useFetch");
8
+ const patch_1 = require("../../../utils/patch");
9
+ const devices_1 = require("../../../utils/devices");
10
+ const SystemdUnitsModal_1 = tslib_1.__importDefault(require("../SystemdUnitsModal/SystemdUnitsModal"));
11
+ const ApplicationsTable_1 = tslib_1.__importDefault(require("../../DetailsPage/Tables/ApplicationsTable"));
12
+ const DetailsPageCard_1 = tslib_1.__importStar(require("../../DetailsPage/DetailsPageCard"));
13
+ const DeviceApplications = ({ device, refetch, canEdit }) => {
14
+ var _a, _b, _c, _d;
15
+ const { t } = (0, useTranslation_1.useTranslation)();
16
+ const { patch } = (0, useFetch_1.useFetch)();
17
+ const [showSystemdModal, setShowSystemdModal] = React.useState(false);
18
+ const [isUpdating, setIsUpdating] = React.useState(false);
19
+ const [addedSystemdDates, setAddedSystemdDates] = React.useState({});
20
+ const onClose = (hasChanges, addedUnits) => {
21
+ if (hasChanges) {
22
+ refetch();
23
+ }
24
+ if (addedUnits === null || addedUnits === void 0 ? void 0 : addedUnits.length) {
25
+ const allAddedUnitDates = Object.assign({}, addedSystemdDates);
26
+ const addedDate = Date.now();
27
+ addedUnits.forEach((newUnit) => {
28
+ allAddedUnitDates[newUnit] = addedDate;
29
+ });
30
+ setAddedSystemdDates(allAddedUnitDates);
31
+ }
32
+ setShowSystemdModal(false);
33
+ };
34
+ const isManagedDevice = !!(0, devices_1.getDeviceFleet)(device.metadata);
35
+ const trackedSystemdUnits = ((_b = (_a = device.spec) === null || _a === void 0 ? void 0 : _a.systemd) === null || _b === void 0 ? void 0 : _b.matchPatterns) || [];
36
+ const specApps = ((_d = (_c = device.spec) === null || _c === void 0 ? void 0 : _c.applications) === null || _d === void 0 ? void 0 : _d.map((app) => app.name || app.image)) || [];
37
+ const apps = device.status.applications; // includes available systemdUnits
38
+ const deleteSystemdUnit = isManagedDevice
39
+ ? undefined
40
+ : (removedUnit) => {
41
+ const updateDeviceSpec = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
42
+ const patches = (0, patch_1.getStringListPatches)('/spec/systemd', trackedSystemdUnits, trackedSystemdUnits.filter((unit) => unit !== removedUnit), (units) => ({ matchPatterns: units }));
43
+ if (patches.length > 0) {
44
+ setIsUpdating(true);
45
+ yield patch(`devices/${device.metadata.name}`, patches);
46
+ refetch();
47
+ setIsUpdating(false);
48
+ }
49
+ });
50
+ void updateDeviceSpec();
51
+ };
52
+ return (React.createElement(DetailsPageCard_1.default, null,
53
+ React.createElement(react_core_1.CardTitle, null,
54
+ React.createElement(react_core_1.Flex, { justifyContent: { default: 'justifyContentSpaceBetween' } },
55
+ React.createElement(react_core_1.FlexItem, null, t('Applications')),
56
+ !isManagedDevice && canEdit && (React.createElement(react_core_1.FlexItem, null,
57
+ React.createElement(react_core_1.Button, { variant: "link", isDisabled: isUpdating, onClick: () => {
58
+ setShowSystemdModal(true);
59
+ } }, t('Track systemd services')))))),
60
+ React.createElement(DetailsPageCard_1.DetailsPageCardBody, null,
61
+ React.createElement(ApplicationsTable_1.default, { appsStatus: apps, specApps: specApps, specSystemdUnits: trackedSystemdUnits, onSystemdDelete: deleteSystemdUnit, isUpdating: isUpdating, addedSystemdUnitDates: addedSystemdDates, canEdit: canEdit }),
62
+ showSystemdModal && React.createElement(SystemdUnitsModal_1.default, { device: device, onClose: onClose }))));
63
+ };
64
+ exports.default = DeviceApplications;
65
+ //# sourceMappingURL=DeviceApplications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceApplications.js","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceApplications.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
- declare const DeviceDetailsPage: ({ children, hideTerminal }: React.PropsWithChildren<{
3
- hideTerminal?: boolean | undefined;
4
- }>) => React.JSX.Element;
5
- export default DeviceDetailsPage;
2
+ type DeviceDetailsPageProps = React.PropsWithChildren<{
3
+ hideTerminal?: boolean;
4
+ }>;
5
+ declare const DeviceDetailsPageWithPermissions: (props: DeviceDetailsPageProps) => React.JSX.Element;
6
+ export default DeviceDetailsPageWithPermissions;
6
7
  //# sourceMappingURL=DeviceDetailsPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceDetailsPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,QAAA,MAAM,iBAAiB;;wBAgGtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"DeviceDetailsPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoB/B,KAAK,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAwGlF,QAAA,MAAM,gCAAgC,UAAW,sBAAsB,sBAOtE,CAAC;AAEF,eAAe,gCAAgC,CAAC"}
@@ -11,11 +11,13 @@ const useTranslation_1 = require("../../../hooks/useTranslation");
11
11
  const useNavigate_1 = require("../../../hooks/useNavigate");
12
12
  const useAppContext_1 = require("../../../hooks/useAppContext");
13
13
  const DeviceDetailsTab_1 = tslib_1.__importDefault(require("./DeviceDetailsTab"));
14
- const useTemplateVersion_1 = require("../../../hooks/useTemplateVersion");
15
14
  const TerminalTab_1 = tslib_1.__importDefault(require("./TerminalTab"));
16
15
  const NavItem_1 = tslib_1.__importDefault(require("../../NavItem/NavItem"));
17
16
  const DeviceStatusDebugModal_1 = tslib_1.__importDefault(require("./DeviceStatusDebugModal"));
18
17
  const devices_1 = require("../../../utils/devices");
18
+ const rbac_1 = require("../../../types/rbac");
19
+ const useAccessReview_1 = require("../../../hooks/useAccessReview");
20
+ const PageWithPermissions_1 = tslib_1.__importDefault(require("../../common/PageWithPermissions"));
19
21
  const DeviceDetailsPage = ({ children, hideTerminal }) => {
20
22
  var _a;
21
23
  const { t } = (0, useTranslation_1.useTranslation)();
@@ -23,10 +25,12 @@ const DeviceDetailsPage = ({ children, hideTerminal }) => {
23
25
  const { deviceId } = useParams();
24
26
  const [device, loading, error, refetch] = (0, useFetchPeriodically_1.useFetchPeriodically)({ endpoint: `devices/${deviceId}` });
25
27
  const [showDebugInfo, setShowDebugInfo] = React.useState(false);
26
- const [, /* useTv */ tv, loadingTv, errorTv] = (0, useTemplateVersion_1.useTemplateVersion)(device);
27
28
  const navigate = (0, useNavigate_1.useNavigate)();
28
29
  const { remove } = (0, useFetch_1.useFetch)();
29
30
  const deviceAlias = ((_a = device === null || device === void 0 ? void 0 : device.metadata.labels) === null || _a === void 0 ? void 0 : _a.alias) || deviceId;
31
+ const [canDelete] = (0, useAccessReview_1.useAccessReview)(rbac_1.RESOURCE.DEVICE, rbac_1.VERB.DELETE);
32
+ const [canEdit] = (0, useAccessReview_1.useAccessReview)(rbac_1.RESOURCE.DEVICE, rbac_1.VERB.PATCH);
33
+ const [canOpenTerminal] = (0, useAccessReview_1.useAccessReview)(rbac_1.RESOURCE.DEVICE_CONSOLE, rbac_1.VERB.GET);
30
34
  const { deleteAction, deleteModal } = (0, DetailsPageActions_1.useDeleteAction)({
31
35
  onDelete: () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
36
  yield remove(`devices/${deviceId}`);
@@ -43,24 +47,29 @@ const DeviceDetailsPage = ({ children, hideTerminal }) => {
43
47
  },
44
48
  }
45
49
  : undefined;
46
- return (React.createElement(DetailsPage_1.default, { loading: loading || loadingTv, error: error, id: deviceId, title: deviceAlias, resourceLink: useNavigate_1.ROUTE.DEVICES, resourceType: "Devices", resourceTypeLabel: t('Devices'), nav: React.createElement(react_core_1.Nav, { variant: "tertiary" },
50
+ return (React.createElement(DetailsPage_1.default, { loading: loading, error: error, id: deviceId, title: deviceAlias, resourceLink: useNavigate_1.ROUTE.DEVICES, resourceType: "Devices", resourceTypeLabel: t('Devices'), nav: React.createElement(react_core_1.Nav, { variant: "tertiary" },
47
51
  React.createElement(react_core_1.NavList, null,
48
52
  React.createElement(NavItem_1.default, { to: "details" }, t('Details')),
49
- React.createElement(NavItem_1.default, { to: "terminal" }, t('Terminal')))), actions: React.createElement(DetailsPageActions_1.default, null,
53
+ !hideTerminal && canOpenTerminal && React.createElement(NavItem_1.default, { to: "terminal" }, t('Terminal')))), actions: React.createElement(DetailsPageActions_1.default, null,
50
54
  React.createElement(react_core_1.DropdownList, null,
51
- React.createElement(react_core_1.DropdownItem, Object.assign({ onClick: () => navigate({ route: useNavigate_1.ROUTE.DEVICE_EDIT, postfix: deviceId }) }, editActionProps), t('Edit device configurations')),
52
- deleteAction,
55
+ canEdit && (React.createElement(react_core_1.DropdownItem, Object.assign({ onClick: () => navigate({ route: useNavigate_1.ROUTE.DEVICE_EDIT, postfix: deviceId }) }, editActionProps), t('Edit device configurations'))),
56
+ canDelete && deleteAction,
53
57
  React.createElement(react_core_1.DropdownItem, { onClick: () => {
54
58
  setShowDebugInfo(!showDebugInfo);
55
59
  } }, t('View status debug information')))) },
56
60
  device && (React.createElement(Routes, null,
57
61
  React.createElement(Route, { index: true, element: React.createElement(Navigate, { to: "details", replace: true }) }),
58
- React.createElement(Route, { path: "details", element: React.createElement(DeviceDetailsTab_1.default, { device: device, errorTv: errorTv, tv: tv, refetch: refetch }, children) }),
59
- !hideTerminal && React.createElement(Route, { path: "terminal", element: React.createElement(TerminalTab_1.default, { device: device }) }))),
62
+ React.createElement(Route, { path: "details", element: React.createElement(DeviceDetailsTab_1.default, { device: device, refetch: refetch, canEdit: canEdit }, children) }),
63
+ !hideTerminal && canOpenTerminal && React.createElement(Route, { path: "terminal", element: React.createElement(TerminalTab_1.default, { device: device }) }))),
60
64
  deleteModal,
61
65
  device && showDebugInfo && (React.createElement(DeviceStatusDebugModal_1.default, { status: device.status, onClose: () => {
62
66
  setShowDebugInfo(false);
63
67
  } }))));
64
68
  };
65
- exports.default = DeviceDetailsPage;
69
+ const DeviceDetailsPageWithPermissions = (props) => {
70
+ const [allowed, loading] = (0, useAccessReview_1.useAccessReview)(rbac_1.RESOURCE.DEVICE, rbac_1.VERB.GET);
71
+ return (React.createElement(PageWithPermissions_1.default, { allowed: allowed, loading: loading },
72
+ React.createElement(DeviceDetailsPage, Object.assign({}, props))));
73
+ };
74
+ exports.default = DeviceDetailsPageWithPermissions;
66
75
  //# sourceMappingURL=DeviceDetailsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceDetailsPage.js","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceDetailsPage.js","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsPage.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAAkF;AAGlF,8EAA2E;AAC3E,sDAAmD;AACnD,wFAAwD;AACxD,mGAA2F;AAC3F,kEAA+D;AAC/D,4DAAgE;AAChE,gEAA6D;AAC7D,kFAAkD;AAClD,wEAAwC;AACxC,4EAA4C;AAC5C,8FAA8D;AAC9D,oDAAwD;AACxD,8CAAqD;AACrD,oEAAiE;AACjE,mGAAmE;AAInE,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAA0B,EAAE,EAAE;;IAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,EACJ,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAC/C,GAAG,IAAA,6BAAa,GAAE,CAAC;IACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAA0B,CAAC;IACzD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,IAAA,2CAAoB,EAAmB,EAAE,QAAQ,EAAE,WAAW,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAE9B,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,MAAM,0CAAE,KAAK,KAAI,QAAQ,CAAC;IAE/D,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,iCAAe,EAAC,eAAQ,CAAC,MAAM,EAAE,WAAI,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,iCAAe,EAAC,eAAQ,CAAC,MAAM,EAAE,WAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,iCAAe,EAAC,eAAQ,CAAC,cAAc,EAAE,WAAI,CAAC,GAAG,CAAC,CAAC;IAE7E,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,oCAAe,EAAC;QACpD,QAAQ,EAAE,GAAS,EAAE;YACnB,MAAM,MAAM,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;YACpC,QAAQ,CAAC,mBAAK,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAA;QACD,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,QAAQ;KACvB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAA,wBAAc,EAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,EAAE,CAAC;QAC5D,CAAC,CAAC;YACE,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE;gBACZ,OAAO,EAAE,CAAC,CAAC,iEAAiE,CAAC;aAC9E;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,oBAAC,qBAAW,IACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,mBAAK,CAAC,OAAO,EAC3B,YAAY,EAAC,SAAS,EACtB,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,EAC/B,GAAG,EACD,oBAAC,gBAAG,IAAC,OAAO,EAAC,UAAU;YACrB,oBAAC,oBAAO;gBACN,oBAAC,iBAAO,IAAC,EAAE,EAAC,SAAS,IAAE,CAAC,CAAC,SAAS,CAAC,CAAW;gBAC7C,CAAC,YAAY,IAAI,eAAe,IAAI,oBAAC,iBAAO,IAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,UAAU,CAAC,CAAW,CAC7E,CACN,EAER,OAAO,EACL,oBAAC,4BAAkB;YACjB,oBAAC,yBAAY;gBACV,OAAO,IAAI,CACV,oBAAC,yBAAY,kBACX,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,mBAAK,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IACpE,eAAe,GAElB,CAAC,CAAC,4BAA4B,CAAC,CACnB,CAChB;gBACA,SAAS,IAAI,YAAY;gBAC1B,oBAAC,yBAAY,IACX,OAAO,EAAE,GAAG,EAAE;wBACZ,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnC,CAAC,IAEA,CAAC,CAAC,+BAA+B,CAAC,CACtB,CACF,CACI;QAGtB,MAAM,IAAI,CACT,oBAAC,MAAM;YACL,oBAAC,KAAK,IAAC,KAAK,QAAC,OAAO,EAAE,oBAAC,QAAQ,IAAC,EAAE,EAAC,SAAS,EAAC,OAAO,SAAG,GAAI;YAC3D,oBAAC,KAAK,IACJ,IAAI,EAAC,SAAS,EACd,OAAO,EACL,oBAAC,0BAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IACjE,QAAQ,CACQ,GAErB;YACD,CAAC,YAAY,IAAI,eAAe,IAAI,oBAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,oBAAC,qBAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GAAI,CACjG,CACV;QACA,WAAW;QACX,MAAM,IAAI,aAAa,IAAI,CAC1B,oBAAC,gCAAsB,IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,EAAE,GAAG,EAAE;gBACZ,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,GACD,CACH,CACW,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CAAC,KAA6B,EAAE,EAAE;IACzE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAA,iCAAe,EAAC,eAAQ,CAAC,MAAM,EAAE,WAAI,CAAC,GAAG,CAAC,CAAC;IACtE,OAAO,CACL,oBAAC,6BAAmB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;QACrD,oBAAC,iBAAiB,oBAAK,KAAK,EAAI,CACZ,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gCAAgC,CAAC"}
@@ -1,12 +1,11 @@
1
1
  import * as React from 'react';
2
- import { Device, TemplateVersion } from '@flightctl/types';
2
+ import { Device } from '@flightctl/types';
3
3
  import './DeviceDetailsTab.css';
4
4
  type DeviceDetailsTabProps = {
5
5
  device: Required<Device>;
6
6
  refetch: VoidFunction;
7
- tv: TemplateVersion | undefined;
8
- errorTv: unknown;
7
+ canEdit: boolean;
9
8
  };
10
- declare const DeviceDetailsTab: ({ device, refetch, tv, errorTv, children, }: React.PropsWithChildren<DeviceDetailsTabProps>) => React.JSX.Element;
9
+ declare const DeviceDetailsTab: ({ device, refetch, children, canEdit }: React.PropsWithChildren<DeviceDetailsTabProps>) => React.JSX.Element;
11
10
  export default DeviceDetailsTab;
12
11
  //# sourceMappingURL=DeviceDetailsTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceDetailsTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAmB3D,OAAO,wBAAwB,CAAC;AAEhC,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,eAAe,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,gBAAgB,gDAMnB,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,sBAoKhD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"DeviceDetailsTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAiB1C,OAAO,wBAAwB,CAAC;AAEhC,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,gBAAgB,2CAA4C,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,sBAgJ/G,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -4,29 +4,25 @@ const tslib_1 = require("tslib");
4
4
  const React = tslib_1.__importStar(require("react"));
5
5
  const react_core_1 = require("@patternfly/react-core");
6
6
  const dates_1 = require("../../../utils/dates");
7
- const ApplicationsTable_1 = tslib_1.__importDefault(require("../../DetailsPage/Tables/ApplicationsTable"));
8
7
  const DeviceStatus_1 = tslib_1.__importDefault(require("../../Status/DeviceStatus"));
9
8
  const useTranslation_1 = require("../../../hooks/useTranslation");
10
9
  const EditLabelsForm_1 = tslib_1.__importDefault(require("../../modals/EditLabelsModal/EditLabelsForm"));
11
10
  const ResourceLink_1 = tslib_1.__importDefault(require("../../common/ResourceLink"));
12
- const DeviceFleet_1 = tslib_1.__importDefault(require("./DeviceFleet"));
13
- const DeviceOs_1 = tslib_1.__importDefault(require("./DeviceOs"));
14
11
  const DetailsPageCard_1 = tslib_1.__importStar(require("../../DetailsPage/DetailsPageCard"));
15
- const SystemdTable_1 = tslib_1.__importDefault(require("./SystemdTable"));
16
12
  const FlightCtlDescriptionList_1 = tslib_1.__importDefault(require("../../common/FlightCtlDescriptionList"));
17
13
  const RepositorySourceList_1 = tslib_1.__importDefault(require("../../Repository/RepositoryDetails/RepositorySourceList"));
18
- const error_1 = require("../../../utils/error");
19
14
  const ApplicationSummaryStatus_1 = tslib_1.__importDefault(require("../../Status/ApplicationSummaryStatus"));
20
15
  const WithHelperText_1 = tslib_1.__importDefault(require("../../common/WithHelperText"));
21
16
  const SystemUpdateStatus_1 = tslib_1.__importDefault(require("../../Status/SystemUpdateStatus"));
22
17
  const DeviceResourceStatus_1 = tslib_1.__importDefault(require("../../Status/DeviceResourceStatus"));
18
+ const DeviceFleet_1 = tslib_1.__importDefault(require("./DeviceFleet"));
19
+ const DeviceOs_1 = tslib_1.__importDefault(require("./DeviceOs"));
20
+ const DeviceApplications_1 = tslib_1.__importDefault(require("./DeviceApplications"));
23
21
  require("./DeviceDetailsTab.css");
24
- const DeviceDetailsTab = ({ device, refetch, tv, errorTv, children, }) => {
22
+ const DeviceDetailsTab = ({ device, refetch, children, canEdit }) => {
25
23
  var _a, _b, _c, _d, _e, _f, _g;
26
24
  const { t } = (0, useTranslation_1.useTranslation)();
27
25
  return (React.createElement(react_core_1.Grid, { hasGutter: true },
28
- !!errorTv && (React.createElement(react_core_1.GridItem, { md: 12 },
29
- React.createElement(react_core_1.Alert, { isInline: true, variant: "warning", title: t('Some device details could not be loaded.') }, (0, error_1.getErrorMessage)(errorTv)))),
30
26
  React.createElement(react_core_1.GridItem, { md: 12 },
31
27
  React.createElement(DetailsPageCard_1.default, null,
32
28
  React.createElement(DetailsPageCard_1.DetailsPageCardBody, null,
@@ -46,7 +42,7 @@ const DeviceDetailsTab = ({ device, refetch, tv, errorTv, children, }) => {
46
42
  React.createElement(react_core_1.Stack, null,
47
43
  React.createElement(react_core_1.StackItem, { className: "fctl-device-details-tab__label" }, t('Labels'))),
48
44
  React.createElement(react_core_1.StackItem, null,
49
- React.createElement(EditLabelsForm_1.default, { device: device, onDeviceUpdate: refetch }))))))),
45
+ React.createElement(EditLabelsForm_1.default, { device: device, onDeviceUpdate: refetch, canEdit: canEdit }))))))),
50
46
  React.createElement(react_core_1.GridItem, { md: 12, lg: 6 },
51
47
  React.createElement(DetailsPageCard_1.default, null,
52
48
  React.createElement(react_core_1.CardTitle, null, t('System status')),
@@ -102,15 +98,7 @@ const DeviceDetailsTab = ({ device, refetch, tv, errorTv, children, }) => {
102
98
  React.createElement(react_core_1.DescriptionListDescription, null,
103
99
  React.createElement(RepositorySourceList_1.default, { configs: device.spec.config || [] }))))))),
104
100
  React.createElement(react_core_1.GridItem, { md: 12, lg: 6 },
105
- React.createElement(DetailsPageCard_1.default, null,
106
- React.createElement(react_core_1.CardTitle, null, t('Applications')),
107
- React.createElement(DetailsPageCard_1.DetailsPageCardBody, null,
108
- React.createElement(ApplicationsTable_1.default, { appsStatus: device.status.applications })))),
109
- React.createElement(react_core_1.GridItem, { md: 12, lg: 6 },
110
- React.createElement(DetailsPageCard_1.default, null,
111
- React.createElement(react_core_1.CardTitle, null, t('System services')),
112
- React.createElement(DetailsPageCard_1.DetailsPageCardBody, null,
113
- React.createElement(SystemdTable_1.default, { device: device, templateVersion: tv, onSystemdUnitsUpdate: refetch }))))));
101
+ React.createElement(DeviceApplications_1.default, { device: device, refetch: refetch, canEdit: canEdit }))));
114
102
  };
115
103
  exports.default = DeviceDetailsTab;
116
104
  //# sourceMappingURL=DeviceDetailsTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceDetailsTab.js","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsTab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceDetailsTab.js","sourceRoot":"","sources":["../../../../../src/components/Device/DeviceDetails/DeviceDetailsTab.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { Device } from '@flightctl/types';
3
- declare const TerminalTab: ({ device }: {
3
+ type TerminalTabProps = {
4
4
  device: Device;
5
- }) => React.JSX.Element;
6
- export default TerminalTab;
5
+ };
6
+ declare const TerminalTabWithPermissions: (props: TerminalTabProps) => React.JSX.Element;
7
+ export default TerminalTabWithPermissions;
7
8
  //# sourceMappingURL=TerminalTab.d.ts.map