@devtron-labs/devtron-fe-common-lib 0.0.58-beta-1 → 0.0.58-beta-4

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 (588) hide show
  1. package/.eslintignore +96 -0
  2. package/.eslintrc.js +109 -0
  3. package/.github/pull_request_template.md +25 -0
  4. package/.github/workflows/ci.yml +31 -0
  5. package/.github/workflows/release-package.yml +48 -0
  6. package/.husky/pre-commit +5 -0
  7. package/.lintstagedrc +3 -0
  8. package/.nvmrc +1 -0
  9. package/.prettierrc.js +7 -0
  10. package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -3
  11. package/dist/Common/AddCDButton/index.d.ts +2 -2
  12. package/dist/Common/AddCDButton/types.d.ts +26 -26
  13. package/dist/Common/AddCDButton/utils.d.ts +2 -2
  14. package/dist/Common/Api.d.ts +5 -5
  15. package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
  16. package/dist/Common/AppStatus/constants.d.ts +51 -51
  17. package/dist/Common/AppStatus/index.d.ts +1 -1
  18. package/dist/Common/AppStatus/types.d.ts +12 -12
  19. package/dist/Common/AppStatus/utils.d.ts +1 -1
  20. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
  21. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
  22. package/dist/Common/BreadCrumb/Types.d.ts +28 -28
  23. package/dist/Common/CIPipeline.Types.d.ts +265 -265
  24. package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -3
  25. package/dist/Common/Checkbox.d.ts +5 -5
  26. package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
  27. package/dist/Common/ClipboardButton/types.d.ts +8 -8
  28. package/dist/Common/Common.service.d.ts +20 -20
  29. package/dist/Common/Constants.d.ts +76 -81
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -3
  31. package/dist/Common/CustomInput/Types.d.ts +30 -30
  32. package/dist/Common/CustomInput/index.d.ts +2 -2
  33. package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
  34. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -3
  35. package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
  36. package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
  37. package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
  38. package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
  39. package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
  40. package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
  41. package/dist/Common/CustomTagSelector/index.d.ts +6 -6
  42. package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +17 -17
  43. package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
  44. package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
  45. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -4
  46. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  47. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -3
  48. package/dist/Common/DevtronProgressing/index.d.ts +1 -1
  49. package/dist/Common/DevtronProgressing/types.d.ts +4 -4
  50. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -9
  51. package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
  52. package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
  53. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
  54. package/dist/Common/Dialogs/Types.d.ts +45 -45
  55. package/dist/Common/Dialogs/index.d.ts +4 -4
  56. package/dist/Common/DraggableWrapper/DraggableButton.d.ts +3 -3
  57. package/dist/Common/DraggableWrapper/DraggableWrapper.d.ts +9 -9
  58. package/dist/Common/DraggableWrapper/index.d.ts +3 -3
  59. package/dist/Common/DraggableWrapper/types.d.ts +23 -23
  60. package/dist/Common/Drawer/Drawer.d.ts +16 -14
  61. package/dist/Common/EmptyState/EmptyState.d.ts +25 -28
  62. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -4
  63. package/dist/Common/Error.d.ts +17 -17
  64. package/dist/Common/ErrorScreenNotFound.d.ts +3 -3
  65. package/dist/Common/Grid/Grid.d.ts +3 -3
  66. package/dist/Common/Grid/types.d.ts +10 -10
  67. package/dist/Common/Helper.d.ts +64 -65
  68. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
  69. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
  70. package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
  71. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.d.ts +4 -4
  72. package/dist/Common/Hooks/index.d.ts +3 -3
  73. package/dist/Common/ImageTags.Types.d.ts +40 -40
  74. package/dist/Common/ImageTags.d.ts +4 -3
  75. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -4
  76. package/dist/Common/Modals/Modal.d.ts +3 -3
  77. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  78. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  79. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  80. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  81. package/dist/Common/Pagination/PageSizeSelector.d.ts +4 -3
  82. package/dist/Common/Pagination/Pagination.d.ts +5 -3
  83. package/dist/Common/Pagination/constants.d.ts +5 -5
  84. package/dist/Common/Pagination/index.d.ts +1 -1
  85. package/dist/Common/Pagination/types.d.ts +51 -51
  86. package/dist/Common/Pagination/utils.d.ts +6 -6
  87. package/dist/Common/Policy.Types.d.ts +56 -56
  88. package/dist/Common/PopupMenu.d.ts +8 -8
  89. package/dist/Common/Progressing.d.ts +4 -4
  90. package/dist/Common/RJSF/Form.d.ts +4 -2
  91. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
  92. package/dist/Common/RJSF/common/types.d.ts +8 -8
  93. package/dist/Common/RJSF/config.d.ts +4 -4
  94. package/dist/Common/RJSF/constants.d.ts +7 -7
  95. package/dist/Common/RJSF/index.d.ts +3 -3
  96. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
  97. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
  98. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
  99. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
  100. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
  101. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
  102. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
  103. package/dist/Common/RJSF/templates/Description.d.ts +3 -2
  104. package/dist/Common/RJSF/templates/Field.d.ts +3 -2
  105. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
  106. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
  107. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
  108. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
  109. package/dist/Common/RJSF/templates/index.d.ts +10 -10
  110. package/dist/Common/RJSF/types.d.ts +3 -3
  111. package/dist/Common/RJSF/utils.d.ts +26 -25
  112. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
  113. package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
  114. package/dist/Common/RJSF/widgets/index.d.ts +2 -2
  115. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  116. package/dist/Common/RadioGroup.d.ts +8 -8
  117. package/dist/Common/Reload.d.ts +3 -3
  118. package/dist/Common/ResizableTextarea.d.ts +3 -3
  119. package/dist/Common/SearchBar/SearchBar.component.d.ts +39 -37
  120. package/dist/Common/SearchBar/index.d.ts +2 -2
  121. package/dist/Common/SearchBar/types.d.ts +35 -35
  122. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  123. package/dist/Common/ServerError.d.ts +15 -15
  124. package/dist/Common/TippyCustomized.d.ts +4 -3
  125. package/dist/Common/ToastBody.d.ts +23 -23
  126. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  127. package/dist/Common/Types.d.ts +692 -691
  128. package/dist/Common/index.d.ts +50 -51
  129. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.d.ts +4 -0
  130. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.d.ts +4 -0
  131. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.d.ts +7 -0
  132. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.d.ts +4 -0
  133. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.d.ts +4 -0
  134. package/dist/Pages/GlobalConfigurations/BuildInfra/Descriptor.d.ts +4 -0
  135. package/dist/Pages/GlobalConfigurations/BuildInfra/Footer.d.ts +4 -0
  136. package/dist/Pages/GlobalConfigurations/BuildInfra/constants.d.ts +48 -0
  137. package/dist/Pages/GlobalConfigurations/BuildInfra/index.d.ts +7 -0
  138. package/dist/Pages/GlobalConfigurations/BuildInfra/services.d.ts +13 -0
  139. package/dist/Pages/GlobalConfigurations/BuildInfra/types.d.ts +281 -0
  140. package/dist/Pages/GlobalConfigurations/BuildInfra/utils.d.ts +12 -0
  141. package/dist/Pages/GlobalConfigurations/index.d.ts +1 -0
  142. package/dist/Pages/index.d.ts +1 -0
  143. package/dist/Shared/Components/APIResponseHandler/APIResponseHandler.d.ts +4 -0
  144. package/dist/Shared/Components/APIResponseHandler/index.d.ts +2 -0
  145. package/dist/Shared/Components/APIResponseHandler/types.d.ts +37 -0
  146. package/dist/Shared/Components/ReactSelect/index.d.ts +1 -0
  147. package/dist/Shared/Components/ReactSelect/utils.d.ts +12 -0
  148. package/dist/Shared/Components/index.d.ts +2 -0
  149. package/dist/Shared/index.d.ts +2 -0
  150. package/dist/Shared/validations.d.ts +7 -0
  151. package/dist/index.d.ts +3 -1
  152. package/dist/index.js +29849 -225
  153. package/package.json +23 -35
  154. package/rollup.config.js +31 -0
  155. package/src/Assets/Icon/ic-add.svg +3 -0
  156. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  157. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  158. package/src/Assets/Icon/ic-check.svg +5 -0
  159. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  160. package/src/Assets/Icon/ic-copy.svg +3 -0
  161. package/src/Assets/Icon/ic-cpu.svg +4 -0
  162. package/src/Assets/Icon/ic-cross.svg +3 -0
  163. package/src/Assets/Icon/ic-drag.svg +8 -0
  164. package/src/Assets/Icon/ic-enter.svg +3 -0
  165. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  166. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  167. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  168. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  169. package/src/Assets/Icon/ic-help.svg +3 -0
  170. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  171. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  172. package/src/Assets/Icon/ic-memory.svg +3 -0
  173. package/src/Assets/Icon/ic-minus.svg +3 -0
  174. package/src/Assets/Icon/ic-pencil.svg +3 -0
  175. package/src/Assets/Icon/ic-progressing.svg +6 -0
  176. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  177. package/src/Assets/Icon/ic-search.svg +6 -0
  178. package/src/Assets/Icon/ic-timer.svg +3 -0
  179. package/src/Assets/Icon/ic-warning.svg +7 -0
  180. package/src/Assets/Icon/inject-tag.svg +5 -0
  181. package/src/Assets/Img/app-not-deployed.png +0 -0
  182. package/src/Assets/Img/delete-medium.svg +15 -0
  183. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  184. package/src/Assets/Img/ic-loading-failure.png +0 -0
  185. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  186. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  187. package/src/Common/AddCDButton/index.ts +2 -0
  188. package/src/Common/AddCDButton/types.ts +38 -0
  189. package/src/Common/AddCDButton/utils.tsx +35 -0
  190. package/src/Common/Api.ts +230 -0
  191. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  192. package/src/Common/AppStatus/constants.ts +53 -0
  193. package/src/Common/AppStatus/index.ts +1 -0
  194. package/src/Common/AppStatus/types.ts +12 -0
  195. package/src/Common/AppStatus/utils.ts +14 -0
  196. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  197. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  198. package/src/Common/BreadCrumb/Types.ts +29 -0
  199. package/src/Common/CIPipeline.Types.ts +277 -0
  200. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  201. package/src/Common/Checkbox.tsx +37 -0
  202. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  203. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  204. package/src/Common/ClipboardButton/types.ts +7 -0
  205. package/src/Common/Common.service.ts +315 -0
  206. package/src/Common/Constants.ts +255 -0
  207. package/src/Common/CustomInput/CustomInput.tsx +132 -0
  208. package/src/Common/CustomInput/Types.ts +31 -0
  209. package/src/Common/CustomInput/index.ts +2 -0
  210. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  211. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  212. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  213. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  214. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  215. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  216. package/src/Common/CustomTagSelector/Types.ts +72 -0
  217. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  218. package/src/Common/CustomTagSelector/index.ts +6 -0
  219. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
  220. package/src/Common/DebouncedSearch/Types.ts +13 -0
  221. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  222. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  223. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  224. package/src/Common/DeleteComponentModal/types.ts +15 -0
  225. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  226. package/src/Common/DevtronProgressing/index.ts +1 -0
  227. package/src/Common/DevtronProgressing/types.ts +4 -0
  228. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  229. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  230. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  231. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  232. package/src/Common/Dialogs/Types.ts +47 -0
  233. package/src/Common/Dialogs/index.ts +4 -0
  234. package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
  235. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +118 -0
  236. package/src/Common/DraggableWrapper/index.ts +3 -0
  237. package/src/Common/DraggableWrapper/types.ts +27 -0
  238. package/src/Common/Drawer/Drawer.scss +40 -0
  239. package/src/Common/Drawer/Drawer.tsx +49 -0
  240. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  241. package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
  242. package/src/Common/EmptyState/emptyState.scss +74 -0
  243. package/src/Common/Error.tsx +61 -0
  244. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  245. package/src/Common/Grid/Grid.tsx +44 -0
  246. package/src/Common/Grid/types.ts +11 -0
  247. package/src/Common/Helper.tsx +576 -0
  248. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  249. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  250. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  251. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  252. package/src/Common/Hooks/index.ts +3 -0
  253. package/src/Common/ImageTags.Types.ts +44 -0
  254. package/src/Common/ImageTags.tsx +586 -0
  255. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  256. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  257. package/src/Common/Modals/Modal.tsx +68 -0
  258. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  259. package/src/Common/Modals/VisibleModal.tsx +55 -0
  260. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  261. package/src/Common/MultiSelectCustomization.tsx +148 -0
  262. package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
  263. package/src/Common/Pagination/Pagination.tsx +127 -0
  264. package/src/Common/Pagination/constants.ts +6 -0
  265. package/src/Common/Pagination/index.tsx +3 -0
  266. package/src/Common/Pagination/pagination.scss +123 -0
  267. package/src/Common/Pagination/types.ts +55 -0
  268. package/src/Common/Pagination/utils.tsx +24 -0
  269. package/src/Common/Policy.Types.ts +63 -0
  270. package/src/Common/PopupMenu.tsx +199 -0
  271. package/src/Common/Progressing.tsx +53 -0
  272. package/src/Common/RJSF/Form.tsx +29 -0
  273. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  274. package/src/Common/RJSF/common/types.ts +9 -0
  275. package/src/Common/RJSF/config.ts +37 -0
  276. package/src/Common/RJSF/constants.ts +10 -0
  277. package/src/Common/RJSF/index.ts +3 -0
  278. package/src/Common/RJSF/rjsfForm.scss +18 -0
  279. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  280. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  281. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  282. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  283. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  284. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  285. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  286. package/src/Common/RJSF/templates/Description.tsx +12 -0
  287. package/src/Common/RJSF/templates/Field.tsx +30 -0
  288. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  289. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  290. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  291. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  292. package/src/Common/RJSF/templates/index.ts +10 -0
  293. package/src/Common/RJSF/types.ts +4 -0
  294. package/src/Common/RJSF/utils.ts +126 -0
  295. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  296. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  297. package/src/Common/RJSF/widgets/index.ts +2 -0
  298. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  299. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  300. package/src/Common/RadioGroup.tsx +53 -0
  301. package/src/Common/Reload.tsx +23 -0
  302. package/src/Common/ResizableTextarea.tsx +73 -0
  303. package/src/Common/SearchBar/SearchBar.component.tsx +133 -0
  304. package/src/Common/SearchBar/index.ts +2 -0
  305. package/src/Common/SearchBar/searchBar.scss +31 -0
  306. package/src/Common/SearchBar/types.ts +36 -0
  307. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  308. package/src/Common/Security/scanVulnerabilities.css +69 -0
  309. package/src/Common/ServerError.ts +31 -0
  310. package/src/Common/TippyCustomized.tsx +172 -0
  311. package/src/Common/ToastBody.tsx +62 -0
  312. package/src/Common/Toggle/Toggle.scss +78 -0
  313. package/src/Common/Toggle/Toggle.tsx +50 -0
  314. package/src/Common/Types.ts +765 -0
  315. package/src/Common/index.ts +50 -0
  316. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.tsx +121 -0
  317. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.tsx +44 -0
  318. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.tsx +99 -0
  319. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.tsx +55 -0
  320. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.tsx +32 -0
  321. package/src/Pages/GlobalConfigurations/BuildInfra/Descriptor.tsx +38 -0
  322. package/src/Pages/GlobalConfigurations/BuildInfra/Footer.tsx +45 -0
  323. package/src/Pages/GlobalConfigurations/BuildInfra/Readme.md +4 -0
  324. package/src/Pages/GlobalConfigurations/BuildInfra/constants.tsx +137 -0
  325. package/src/Pages/GlobalConfigurations/BuildInfra/index.ts +7 -0
  326. package/src/Pages/GlobalConfigurations/BuildInfra/services.tsx +183 -0
  327. package/src/Pages/GlobalConfigurations/BuildInfra/types.tsx +334 -0
  328. package/src/Pages/GlobalConfigurations/BuildInfra/utils.tsx +489 -0
  329. package/src/Pages/GlobalConfigurations/index.ts +1 -0
  330. package/src/Pages/index.ts +1 -0
  331. package/src/Shared/Components/APIResponseHandler/APIResponseHandler.tsx +39 -0
  332. package/src/Shared/Components/APIResponseHandler/index.ts +2 -0
  333. package/src/Shared/Components/APIResponseHandler/types.tsx +39 -0
  334. package/src/Shared/Components/ReactSelect/index.ts +1 -0
  335. package/src/Shared/Components/ReactSelect/utils.tsx +97 -0
  336. package/src/Shared/Components/index.ts +2 -0
  337. package/src/Shared/index.ts +2 -0
  338. package/src/Shared/validations.tsx +72 -0
  339. package/src/custom.d.ts +13 -0
  340. package/src/index.ts +3 -0
  341. package/tsconfig.json +40 -0
  342. package/dist/CodeEditor-3c2aaef5.js +0 -103695
  343. package/dist/Common/AddCDButton/AddCDButton.js +0 -61
  344. package/dist/Common/AddCDButton/index.js +0 -6
  345. package/dist/Common/AddCDButton/types.js +0 -1
  346. package/dist/Common/AddCDButton/utils.js +0 -19
  347. package/dist/Common/Api.js +0 -167
  348. package/dist/Common/AppStatus/AppStatus.js +0 -37
  349. package/dist/Common/AppStatus/constants.js +0 -37
  350. package/dist/Common/AppStatus/index.js +0 -4
  351. package/dist/Common/AppStatus/types.js +0 -1
  352. package/dist/Common/AppStatus/utils.js +0 -8
  353. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -71
  354. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  355. package/dist/Common/BreadCrumb/Types.js +0 -1
  356. package/dist/Common/CIPipeline.Types.js +0 -10
  357. package/dist/Common/ChartVersionAndTypeSelector.js +0 -61
  358. package/dist/Common/Checkbox.js +0 -28
  359. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  360. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +0 -1
  361. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  362. package/dist/Common/ClipboardButton/types.js +0 -1
  363. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  364. package/dist/Common/CodeEditor/CodeEditor.js +0 -15
  365. package/dist/Common/Common.service.js +0 -191
  366. package/dist/Common/Constants.js +0 -239
  367. package/dist/Common/CustomInput/CustomInput.js +0 -81
  368. package/dist/Common/CustomInput/Types.js +0 -1
  369. package/dist/Common/CustomInput/index.js +0 -4
  370. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  371. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  372. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  373. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  374. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  375. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  376. package/dist/Common/CustomTagSelector/Types.js +0 -1
  377. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  378. package/dist/Common/CustomTagSelector/index.js +0 -12
  379. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -56
  380. package/dist/Common/DebouncedSearch/Types.js +0 -1
  381. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  382. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  383. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -34
  384. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  385. package/dist/Common/DeleteComponentModal/types.js +0 -1
  386. package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -98
  387. package/dist/Common/DevtronProgressing/index.js +0 -4
  388. package/dist/Common/DevtronProgressing/types.js +0 -1
  389. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  390. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  391. package/dist/Common/Dialogs/DialogForm.js +0 -63
  392. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  393. package/dist/Common/Dialogs/Types.js +0 -1
  394. package/dist/Common/Dialogs/index.js +0 -11
  395. package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
  396. package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -73
  397. package/dist/Common/DraggableWrapper/index.js +0 -8
  398. package/dist/Common/DraggableWrapper/types.js +0 -4
  399. package/dist/Common/Drawer/Drawer.js +0 -22
  400. package/dist/Common/EmptyState/EmptyState.js +0 -32
  401. package/dist/Common/EmptyState/GenericEmptyState.js +0 -79
  402. package/dist/Common/Error.js +0 -49
  403. package/dist/Common/ErrorScreenNotFound.js +0 -23
  404. package/dist/Common/Grid/Grid.js +0 -31
  405. package/dist/Common/Grid/types.js +0 -1
  406. package/dist/Common/Helper.js +0 -39
  407. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  408. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  409. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  410. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
  411. package/dist/Common/Hooks/index.js +0 -8
  412. package/dist/Common/ImageTags.Types.js +0 -1
  413. package/dist/Common/ImageTags.js +0 -384
  414. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  415. package/dist/Common/Modals/Modal.js +0 -48
  416. package/dist/Common/Modals/OpaqueModal.js +0 -32
  417. package/dist/Common/Modals/VisibleModal.js +0 -31
  418. package/dist/Common/Modals/VisibleModal2.js +0 -31
  419. package/dist/Common/MultiSelectCustomization.js +0 -97
  420. package/dist/Common/Pagination/PageSizeSelector.js +0 -52
  421. package/dist/Common/Pagination/Pagination.js +0 -98
  422. package/dist/Common/Pagination/constants.js +0 -9
  423. package/dist/Common/Pagination/index.js +0 -4
  424. package/dist/Common/Pagination/types.js +0 -1
  425. package/dist/Common/Pagination/utils.js +0 -15
  426. package/dist/Common/Policy.Types.js +0 -6
  427. package/dist/Common/PopupMenu.js +0 -148
  428. package/dist/Common/Progressing.js +0 -52
  429. package/dist/Common/RJSF/Form.js +0 -25
  430. package/dist/Common/RJSF/common/FieldRow.js +0 -25
  431. package/dist/Common/RJSF/common/types.js +0 -1
  432. package/dist/Common/RJSF/config.js +0 -33
  433. package/dist/Common/RJSF/constants.js +0 -10
  434. package/dist/Common/RJSF/index.js +0 -7
  435. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
  436. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -60
  437. package/dist/Common/RJSF/templates/BaseInput.js +0 -16
  438. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
  439. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
  440. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -17
  441. package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
  442. package/dist/Common/RJSF/templates/Description.js +0 -9
  443. package/dist/Common/RJSF/templates/Field.js +0 -18
  444. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -13
  445. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -71
  446. package/dist/Common/RJSF/templates/TitleField.js +0 -8
  447. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -43
  448. package/dist/Common/RJSF/templates/index.js +0 -26
  449. package/dist/Common/RJSF/types.js +0 -1
  450. package/dist/Common/RJSF/utils.js +0 -95
  451. package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
  452. package/dist/Common/RJSF/widgets/Select.js +0 -625
  453. package/dist/Common/RJSF/widgets/index.js +0 -6
  454. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  455. package/dist/Common/RadioGroup.js +0 -47
  456. package/dist/Common/Reload.js +0 -16
  457. package/dist/Common/ResizableTextarea.js +0 -60
  458. package/dist/Common/SearchBar/SearchBar.component.js +0 -66
  459. package/dist/Common/SearchBar/index.js +0 -4
  460. package/dist/Common/SearchBar/types.js +0 -1
  461. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  462. package/dist/Common/Select/Select.d.ts +0 -4
  463. package/dist/Common/Select/Select.js +0 -193
  464. package/dist/Common/Select/types.d.ts +0 -29
  465. package/dist/Common/Select/types.js +0 -1
  466. package/dist/Common/ServerError.js +0 -26
  467. package/dist/Common/TippyCustomized.js +0 -10
  468. package/dist/Common/ToastBody.js +0 -41
  469. package/dist/Common/Toggle/Toggle.js +0 -40
  470. package/dist/Common/Types.js +0 -24
  471. package/dist/Common/index.js +0 -226
  472. package/dist/Helper-a0caa238.js +0 -9834
  473. package/dist/TippyCustomized-7b9b46b9.js +0 -124
  474. package/dist/_commonjsHelpers-aeeeeb92.js +0 -30
  475. package/dist/abap-9f67f57a.js +0 -1314
  476. package/dist/apex-ff62e532.js +0 -315
  477. package/dist/assets/CodeEditor.css +0 -1
  478. package/dist/assets/Drawer.css +0 -1
  479. package/dist/assets/Form.css +0 -1
  480. package/dist/assets/GenericEmptyState.css +0 -1
  481. package/dist/assets/InfoColourbar.css +0 -1
  482. package/dist/assets/Pagination.css +0 -1
  483. package/dist/assets/RadioGroup.css +0 -1
  484. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  485. package/dist/assets/SearchBar.component.css +0 -1
  486. package/dist/assets/Select.css +0 -1
  487. package/dist/assets/TippyCustomized.css +0 -1
  488. package/dist/assets/Toggle.css +0 -1
  489. package/dist/assets/editor.worker-d26000ef.js +0 -9
  490. package/dist/assets/json.worker-f23a4654.js +0 -40
  491. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  492. package/dist/azcli-31e64a7f.js +0 -74
  493. package/dist/bat-0ffe897e.js +0 -95
  494. package/dist/bicep-3414a2b1.js +0 -108
  495. package/dist/cameligo-df1f3f25.js +0 -168
  496. package/dist/clojure-65b0f010.js +0 -754
  497. package/dist/coffee-437f0fba.js +0 -228
  498. package/dist/cpp-66843dd5.js +0 -390
  499. package/dist/csharp-621d9a49.js +0 -320
  500. package/dist/csp-de0d5244.js +0 -57
  501. package/dist/css-7cd5ed4c.js +0 -186
  502. package/dist/cssMode-c5cae484.js +0 -1446
  503. package/dist/cypher-70ad96fe.js +0 -262
  504. package/dist/dart-33ae3739.js +0 -270
  505. package/dist/dockerfile-f2274a50.js +0 -132
  506. package/dist/ecl-3b8294a3.js +0 -454
  507. package/dist/elixir-b9dcc73a.js +0 -489
  508. package/dist/extends-70f3d2a3.js +0 -13
  509. package/dist/flow9-bdde8316.js +0 -141
  510. package/dist/freemarker2-b9a8615c.js +0 -643
  511. package/dist/fsharp-eac2e449.js +0 -210
  512. package/dist/go-d12ed8d4.js +0 -208
  513. package/dist/graphql-c7356b69.js +0 -141
  514. package/dist/handlebars-3803af36.js +0 -391
  515. package/dist/hcl-e883a0d4.js +0 -177
  516. package/dist/html-498f0150.js +0 -281
  517. package/dist/htmlMode-a8ae8cc5.js +0 -1456
  518. package/dist/ic-add-4787ded5.js +0 -5
  519. package/dist/ic-chevron-down-eb7fd953.js +0 -6
  520. package/dist/ic-copy-118b83dc.js +0 -5
  521. package/dist/ic-cross-0e71861d.js +0 -6
  522. package/dist/ic-error-cross-2760059a.js +0 -5
  523. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  524. package/dist/ic-info-filled-31a15add.js +0 -6
  525. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  526. package/dist/ic-warning-42534af1.js +0 -5
  527. package/dist/ini-425ab711.js +0 -68
  528. package/dist/inject-tag-824bf92c.js +0 -5
  529. package/dist/java-2bc0fd68.js +0 -221
  530. package/dist/javascript-4363ced3.js +0 -75
  531. package/dist/jsonMode-80290b9e.js +0 -1867
  532. package/dist/jsx-runtime-0dcb030c.js +0 -667
  533. package/dist/julia-1c932615.js +0 -496
  534. package/dist/kotlin-1ab839c8.js +0 -245
  535. package/dist/less-6fe856f5.js +0 -168
  536. package/dist/lexon-4955ac52.js +0 -151
  537. package/dist/liquid-1398df0a.js +0 -238
  538. package/dist/lua-3cca0047.js +0 -157
  539. package/dist/m3-132e9cb6.js +0 -210
  540. package/dist/markdown-ea59a0c1.js +0 -202
  541. package/dist/mips-19811f4b.js +0 -194
  542. package/dist/msdax-69954a10.js +0 -377
  543. package/dist/mysql-82088e5d.js +0 -876
  544. package/dist/objective-c-1976eccc.js +0 -188
  545. package/dist/pascal-8ef177cb.js +0 -245
  546. package/dist/pascaligo-bc517b9e.js +0 -158
  547. package/dist/perl-8b93582c.js +0 -599
  548. package/dist/pgsql-00c11a6d.js +0 -847
  549. package/dist/php-4c8c276f.js +0 -471
  550. package/dist/pla-e9b4ffb1.js +0 -131
  551. package/dist/postiats-2071af8c.js +0 -544
  552. package/dist/powerquery-8e388ceb.js +0 -890
  553. package/dist/powershell-e35db398.js +0 -233
  554. package/dist/protobuf-a24b9176.js +0 -422
  555. package/dist/pug-2c94d9b8.js +0 -393
  556. package/dist/python-dd2d43e8.js +0 -259
  557. package/dist/qsharp-d730d7fe.js +0 -282
  558. package/dist/r-be193556.js +0 -245
  559. package/dist/razor-20a66096.js +0 -512
  560. package/dist/react-select.esm-97f26847.js +0 -4160
  561. package/dist/react-toastify.esm-1042de65.js +0 -792
  562. package/dist/react.esm-2c92920f.js +0 -13727
  563. package/dist/redis-9690c6ac.js +0 -298
  564. package/dist/redshift-6bdcdeaa.js +0 -806
  565. package/dist/restructuredtext-a08c1d20.js +0 -162
  566. package/dist/ruby-2247692b.js +0 -444
  567. package/dist/rust-1dffb4d5.js +0 -337
  568. package/dist/sb-136598e9.js +0 -110
  569. package/dist/scala-b1100fed.js +0 -353
  570. package/dist/scheme-038c8094.js +0 -114
  571. package/dist/scss-700d1b52.js +0 -244
  572. package/dist/shell-86c16e0f.js +0 -224
  573. package/dist/solidity-c05fdf3c.js +0 -1351
  574. package/dist/sophia-cd645d71.js +0 -190
  575. package/dist/sparql-01d9ec9c.js +0 -193
  576. package/dist/sql-4c33df41.js +0 -818
  577. package/dist/st-52cf1408.js +0 -414
  578. package/dist/swift-13c792ba.js +0 -315
  579. package/dist/systemverilog-0bd8b730.js +0 -556
  580. package/dist/tcl-463d7c75.js +0 -232
  581. package/dist/tippy-react.esm-8dc66a75.js +0 -2018
  582. package/dist/tsMode-3fa4eb6a.js +0 -811
  583. package/dist/twig-0d98f5ec.js +0 -323
  584. package/dist/typescript-1bbaf605.js +0 -328
  585. package/dist/vb-3a2b0a51.js +0 -364
  586. package/dist/wgsl-b2ddb3e4.js +0 -420
  587. package/dist/xml-a2693dbd.js +0 -95
  588. package/dist/yaml-01ce4fdd.js +0 -184
@@ -0,0 +1,38 @@
1
+ import { AddCDPositions, AddPipelineType, EdgeEndNodeType, EdgeNodeType, Point } from '../Types'
2
+
3
+ export interface AddCDButtonProps {
4
+ position: AddCDPositions
5
+ addCDButtons: AddCDPositions[]
6
+ endNode: Point & EdgeEndNodeType
7
+ startNode: Point & EdgeNodeType
8
+ handleAddCD: (position: AddCDPositions) => void
9
+ tooltipContent?: string
10
+ }
11
+
12
+ export interface HandleAddCD {
13
+ position: AddCDPositions
14
+ handleCDSelect: (
15
+ workflowId: number | string,
16
+ ciPipelineId: number | string,
17
+ parentPipelineType: string,
18
+ parentPipelineId: number | string,
19
+ isWebhookCD?: boolean,
20
+ childPipelineId?: number | string,
21
+ addType?: AddPipelineType,
22
+ ) => void
23
+ startNode: EdgeNodeType
24
+ endNode: EdgeEndNodeType
25
+ workflowId: number | string
26
+ ciPipelineId: number | string
27
+ isWebhookCD: boolean
28
+ isParallelEdge: boolean
29
+ }
30
+
31
+ export interface GetPipelineType {
32
+ isWebhookCD: boolean
33
+ startNode: EdgeNodeType
34
+ }
35
+
36
+ export interface TooltipContentProps {
37
+ tooltipContent?: string
38
+ }
@@ -0,0 +1,35 @@
1
+ import { AddCDPositions, AddPipelineType, PipelineType, WorkflowNodeType } from '../Types'
2
+ import { HandleAddCD, GetPipelineType } from './types'
3
+
4
+ const getPipelineType = ({ isWebhookCD, startNode }: GetPipelineType) => {
5
+ if (isWebhookCD) {
6
+ return PipelineType.WEBHOOK
7
+ }
8
+
9
+ if (startNode.type === WorkflowNodeType.CI) {
10
+ return PipelineType.CI_PIPELINE
11
+ }
12
+
13
+ return PipelineType.CD_PIPELINE
14
+ }
15
+
16
+ export const handleAddCD = ({
17
+ position,
18
+ handleCDSelect,
19
+ startNode,
20
+ endNode,
21
+ workflowId,
22
+ ciPipelineId,
23
+ isWebhookCD,
24
+ isParallelEdge,
25
+ }: HandleAddCD) => {
26
+ if (!handleCDSelect) {
27
+ return
28
+ }
29
+ const pipelineType = getPipelineType({ isWebhookCD, startNode })
30
+ const addPipelineType =
31
+ isParallelEdge && position === AddCDPositions.RIGHT ? AddPipelineType.PARALLEL : AddPipelineType.SEQUENTIAL
32
+ const endNodeId = !isParallelEdge && position === AddCDPositions.RIGHT ? endNode.id : null
33
+
34
+ handleCDSelect(workflowId, ciPipelineId, pipelineType, startNode.id, isWebhookCD, endNodeId, addPipelineType)
35
+ }
@@ -0,0 +1,230 @@
1
+ import { ServerErrors } from './ServerError'
2
+ import { FALLBACK_REQUEST_TIMEOUT, Host, URLS } from './Constants'
3
+ import { ResponseType, APIOptions } from './Types'
4
+
5
+ const responseMessages = {
6
+ 100: 'Continue',
7
+ 101: 'Switching Protocols',
8
+ 102: 'Processing(WebDAV)',
9
+ 200: 'OK',
10
+ 201: 'Created',
11
+ 202: 'Accepted',
12
+ 203: 'Non - Authoritative Information',
13
+ 204: 'No Content',
14
+ 205: 'Reset Content',
15
+ 206: 'Partial Content',
16
+ 207: 'Multi - Status(WebDAV)',
17
+ 208: 'Already Reported(WebDAV)',
18
+ 226: 'IM Used',
19
+ 300: 'Multiple Choices',
20
+ 301: 'Moved Permanently',
21
+ 302: 'Found',
22
+ 303: 'See Other',
23
+ 304: 'Not Modified',
24
+ 305: 'Use Proxy',
25
+ 307: 'Temporary Redirect',
26
+ 308: 'Permanent Redirect(experimental)',
27
+ 400: 'Bad Request',
28
+ 401: 'Unauthorized',
29
+ 402: 'Payment Required',
30
+ 403: 'Forbidden',
31
+ 404: 'Not Found',
32
+ 405: 'Method Not Allowed',
33
+ 406: 'Not Acceptable',
34
+ 407: 'Proxy Authentication Required',
35
+ 408: 'Request Timeout',
36
+ 409: 'Conflict',
37
+ 410: 'Gone',
38
+ 411: 'Length Required',
39
+ 412: 'Precondition Failed',
40
+ 413: 'Request Entity Too Large',
41
+ 414: 'Request - URI Too Long',
42
+ 415: 'Unsupported Media Type',
43
+ 416: 'Requested Range Not Satisfiable',
44
+ 417: 'Expectation Failed',
45
+ 418: "I'm a teapot",
46
+ 420: 'Enhance Your Calm(Twitter)',
47
+ 422: 'Unprocessable Entity(WebDAV)',
48
+ 423: 'Locked(WebDAV)',
49
+ 424: 'Failed Dependency(WebDAV)',
50
+ 425: 'Reserved for WebDAV',
51
+ 426: 'Upgrade Required',
52
+ 428: 'Precondition Required',
53
+ 429: 'Too Many Requests',
54
+ 431: 'Request Header Fields Too Large',
55
+ 444: 'No Response(Nginx)',
56
+ 449: 'Retry With(Microsoft)',
57
+ 450: 'Blocked by Windows Parental Controls(Microsoft)',
58
+ 451: 'Unavailable For Legal Reasons',
59
+ 499: 'Client Closed Request(Nginx)',
60
+ 500: 'Internal Server Error',
61
+ 501: 'Not Implemented',
62
+ 502: 'Bad Gateway',
63
+ 503: 'Service Unavailable',
64
+ 504: 'Gateway Timeout',
65
+ 505: 'HTTP Version Not Supported',
66
+ 506: 'Variant Also Negotiates(Experimental)',
67
+ 507: 'Insufficient Storage(WebDAV)',
68
+ 508: 'Loop Detected(WebDAV)',
69
+ 509: 'Bandwidth Limit Exceeded(Apache)',
70
+ 510: 'Not Extended',
71
+ 511: 'Network Authentication Required',
72
+ 598: 'Network read timeout error',
73
+ 599: 'Network connect timeout error',
74
+ }
75
+
76
+ function handleLogout() {
77
+ const continueParam = `${window.location.pathname.replace(process.env.PUBLIC_URL, '')}${window.location.search}`
78
+ window.location.href = `${window.location.origin}${process.env.PUBLIC_URL}${URLS.LOGIN_SSO}?continue=${continueParam}`
79
+ }
80
+
81
+ async function handleServerError(contentType, response) {
82
+ //Test for HTTP Status Code
83
+ let code: number = response.status
84
+ let status: string = response.statusText || responseMessages[code]
85
+ let serverError = new ServerErrors({ code, errors: [] })
86
+ if (contentType !== 'application/json') {
87
+ //used for better debugging,
88
+ status = `${responseMessages[code]}. Please try again.`
89
+ } else {
90
+ const responseBody = await response.json()
91
+ if (responseBody.errors) {
92
+ serverError.errors = responseBody.errors
93
+ }
94
+ }
95
+ serverError.errors =
96
+ serverError.errors.length > 0 ? serverError.errors : [{ code, internalMessage: status, userMessage: status }]
97
+ throw serverError
98
+ }
99
+
100
+ async function fetchAPI(
101
+ url: string,
102
+ type: string,
103
+ data: object,
104
+ signal: AbortSignal,
105
+ preventAutoLogout = false,
106
+ isMultipartRequest?: boolean,
107
+ ): Promise<ResponseType> {
108
+ let options = {
109
+ method: type,
110
+ signal,
111
+ body: data ? JSON.stringify(data) : undefined,
112
+ }
113
+ options['credentials'] = 'include' as RequestCredentials
114
+ return fetch(
115
+ `${Host}/${url}`,
116
+ !isMultipartRequest
117
+ ? options
118
+ : ({
119
+ method: type,
120
+ body: data,
121
+ } as RequestInit),
122
+ ).then(
123
+ async (response) => {
124
+ let contentType = response.headers.get('Content-Type')
125
+ if (response.status === 401) {
126
+ if (preventAutoLogout) {
127
+ throw new ServerErrors({
128
+ code: 401,
129
+ errors: [
130
+ { code: 401, internalMessage: 'Please login again', userMessage: 'Please login again' },
131
+ ],
132
+ })
133
+ } else {
134
+ handleLogout()
135
+ return { code: 401, status: 'Unauthorized', result: [] }
136
+ }
137
+ } else if (response.status >= 300 && response.status <= 599) {
138
+ return await handleServerError(contentType, response)
139
+ } else {
140
+ if (contentType === 'application/json') {
141
+ return response.json().then((responseBody) => {
142
+ if (responseBody.code >= 300 && responseBody.code <= 599) {
143
+ //Test Code in Response Body, despite successful HTTP Response Code
144
+ throw new ServerErrors({ code: responseBody.code, errors: responseBody.errors })
145
+ } else {
146
+ //Successfull Response. Expected Response Type {code, result, status}
147
+ return responseBody
148
+ }
149
+ })
150
+ } else if (contentType === 'octet-stream' || contentType === 'application/octet-stream') {
151
+ //used in getArtifact() API only
152
+ return response
153
+ }
154
+ }
155
+ },
156
+ (error) => {
157
+ //Network call fails. Handle Failed to Fetch
158
+ let err = {
159
+ code: 0,
160
+ userMessage: error.message,
161
+ internalMessage: error.message,
162
+ moreInfo: error.message,
163
+ }
164
+ throw new ServerErrors({ code: 0, errors: [err] })
165
+ },
166
+ )
167
+ }
168
+
169
+ function fetchInTime(
170
+ url: string,
171
+ type: string,
172
+ data: object,
173
+ options?: APIOptions,
174
+ isMultipartRequest?: boolean,
175
+ ): Promise<ResponseType> {
176
+ const controller = new AbortController()
177
+ const { signal } = controller
178
+ const timeoutPromise: Promise<ResponseType> = new Promise((resolve, reject) => {
179
+ const requestTimeout = (window as any)?._env_?.GLOBAL_API_TIMEOUT || FALLBACK_REQUEST_TIMEOUT
180
+ const timeout = options?.timeout ? options.timeout : requestTimeout
181
+
182
+ setTimeout(() => {
183
+ controller.abort()
184
+ reject({
185
+ code: 408,
186
+ errors: [{ code: 408, internalMessage: 'Request cancelled', userMessage: 'Request Cancelled' }],
187
+ })
188
+ }, timeout)
189
+ })
190
+ return Promise.race([
191
+ fetchAPI(url, type, data, options?.signal || signal, options?.preventAutoLogout || false, isMultipartRequest),
192
+ timeoutPromise,
193
+ ]).catch((err) => {
194
+ if (err instanceof ServerErrors) {
195
+ throw err
196
+ } else {
197
+ throw new ServerErrors({
198
+ code: 408,
199
+ errors: [
200
+ {
201
+ code: 408,
202
+ internalMessage: 'That took longer than expected.',
203
+ userMessage: 'That took longer than expected.',
204
+ },
205
+ ],
206
+ })
207
+ }
208
+ })
209
+ }
210
+
211
+ export const post = (
212
+ url: string,
213
+ data: object,
214
+ options?: APIOptions,
215
+ isMultipartRequest?: boolean,
216
+ ): Promise<ResponseType> => {
217
+ return fetchInTime(url, 'POST', data, options, isMultipartRequest)
218
+ }
219
+
220
+ export const put = (url: string, data: object, options?: APIOptions): Promise<ResponseType> => {
221
+ return fetchInTime(url, 'PUT', data, options)
222
+ }
223
+
224
+ export const get = (url: string, options?: APIOptions): Promise<ResponseType> => {
225
+ return fetchInTime(url, 'GET', null, options)
226
+ }
227
+
228
+ export const trash = (url: string, data?: object, options?: APIOptions): Promise<ResponseType> => {
229
+ return fetchInTime(url, 'DELETE', data, options)
230
+ }
@@ -0,0 +1,64 @@
1
+ import Tippy from '@tippyjs/react'
2
+ import { ReactComponent as InfoIcon } from '../../Assets/Icon/ic-info-outlined.svg'
3
+ import { StatusConstants, YET_TO_RUN } from './constants'
4
+ import { AppStatusType } from './types'
5
+ import { triggerStatus } from './utils'
6
+
7
+ export default function AppStatus({
8
+ appStatus,
9
+ isDeploymentStatus = false,
10
+ isJobView = false,
11
+ isVirtualEnv,
12
+ hideStatusMessage = false,
13
+ }: AppStatusType) {
14
+ let status = appStatus
15
+ if (isDeploymentStatus) {
16
+ status = triggerStatus(appStatus)
17
+ }
18
+ const appStatusLowerCase = status?.toLowerCase()
19
+ const isNotDeployed = appStatusLowerCase === StatusConstants.NOT_DEPLOYED.noSpaceLower
20
+ const iconClass = isNotDeployed ? StatusConstants.NOT_DEPLOYED.lowerCase : appStatusLowerCase
21
+ const statusMessage = status || (isVirtualEnv ? StatusConstants.NOT_AVILABLE.normalCase : '-')
22
+ const notDeployed = isJobView ? YET_TO_RUN : StatusConstants.NOT_DEPLOYED.normalCase
23
+ const textContent = isNotDeployed ? notDeployed : statusMessage
24
+
25
+ const renderIcon = () => {
26
+ if (iconClass) {
27
+ return <span className={`dc__app-summary__icon icon-dim-16 ${iconClass} ${iconClass}--node`} />
28
+ } else if (isVirtualEnv) {
29
+ return (
30
+ <span
31
+ className={`dc__app-summary__icon icon-dim-16 ${StatusConstants.NOT_DEPLOYED.lowerCase} ${StatusConstants.NOT_DEPLOYED.lowerCase}--node`}
32
+ />
33
+ )
34
+ } else {
35
+ return (
36
+ <Tippy
37
+ className="default-tt w-200"
38
+ arrow={false}
39
+ placement="top"
40
+ content="To fetch app status for GitOps based deployments open the app detail page"
41
+ >
42
+ <InfoIcon className="icon-dim-16 fcn-6" />
43
+ </Tippy>
44
+ )
45
+ }
46
+ }
47
+
48
+ return hideStatusMessage ? (
49
+ iconClass || isVirtualEnv ? (
50
+ <Tippy className="default-tt" arrow={false} placement="top" content={textContent}>
51
+ <div className="flex">{renderIcon()}</div>
52
+ </Tippy>
53
+ ) : (
54
+ renderIcon()
55
+ )
56
+ ) : (
57
+ <div className="flex left">
58
+ <div className="flex mr-6">{renderIcon()}</div>
59
+ <p data-testid={`${status}-app-status`} className="dc__truncate-text dc__first-letter-capitalize cn-6 m-0">
60
+ {textContent}
61
+ </p>
62
+ </div>
63
+ )
64
+ }
@@ -0,0 +1,53 @@
1
+ export const StatusConstants = {
2
+ NOT_DEPLOYED: {
3
+ noSpaceLower: 'notdeployed',
4
+ normalCase: 'Not deployed',
5
+ lowerCase: 'not-deployed',
6
+ },
7
+ APP_STATUS: {
8
+ noSpaceLower: 'appStatus',
9
+ normalText: 'App status',
10
+ },
11
+ PROJECT: {
12
+ pluralLower: 'projects',
13
+ lowerCase: 'project',
14
+ },
15
+ CLUSTER: {
16
+ pluralLower: 'clusters',
17
+ lowerCase: 'cluster',
18
+ },
19
+ NAMESPACE: {
20
+ pluralLower: 'namespaces',
21
+ lowerCase: 'namespace',
22
+ },
23
+ ENVIRONMENT: {
24
+ pluralLower: 'environments',
25
+ lowerCase: 'environment',
26
+ },
27
+ NOT_AVILABLE: {
28
+ normalCase: 'Not available',
29
+ },
30
+ }
31
+
32
+ export enum TIMELINE_STATUS {
33
+ DEPLOYMENT_INITIATED = 'DEPLOYMENT_INITIATED',
34
+ GIT_COMMIT = 'GIT_COMMIT',
35
+ GIT_COMMIT_FAILED = 'GIT_COMMIT_FAILED',
36
+ KUBECTL_APPLY = 'KUBECTL_APPLY',
37
+ KUBECTL_APPLY_STARTED = 'KUBECTL_APPLY_STARTED',
38
+ KUBECTL_APPLY_SYNCED = 'KUBECTL_APPLY_SYNCED',
39
+ HEALTHY = 'HEALTHY',
40
+ APP_HEALTH = 'APP_HEALTH',
41
+ DEPLOYMENT_FAILED = 'FAILED',
42
+ FETCH_TIMED_OUT = 'TIMED_OUT',
43
+ UNABLE_TO_FETCH_STATUS = 'UNABLE_TO_FETCH_STATUS',
44
+ DEGRADED = 'DEGRADED',
45
+ DEPLOYMENT_SUPERSEDED = 'DEPLOYMENT_SUPERSEDED',
46
+ ABORTED = 'ABORTED',
47
+ INPROGRESS = 'INPROGRESS',
48
+ HELM_PACKAGE_GENERATED = 'HELM_PACKAGE_GENERATED',
49
+ HELM_MANIFEST_PUSHED_TO_HELM_REPO = 'HELM_MANIFEST_PUSHED_TO_HELM_REPO',
50
+ HELM_MANIFEST_PUSHED_TO_HELM_REPO_FAILED = 'HELM_MANIFEST_PUSHED_TO_HELM_REPO_FAILED',
51
+ }
52
+
53
+ export const YET_TO_RUN = 'Yet to run'
@@ -0,0 +1 @@
1
+ export { default as AppStatus } from './AppStatus'
@@ -0,0 +1,12 @@
1
+ export interface AppStatusType {
2
+ appStatus: string
3
+ isDeploymentStatus?: boolean
4
+ isJobView?: boolean
5
+ isVirtualEnv?: boolean
6
+ /**
7
+ * Hide the status message if true and show status message in tooltip
8
+ *
9
+ * @default false
10
+ */
11
+ hideStatusMessage?: boolean
12
+ }
@@ -0,0 +1,14 @@
1
+ import { TIMELINE_STATUS } from './constants'
2
+
3
+ export const triggerStatus = (triggerDetailStatus: string): string => {
4
+ let triggerStatus = triggerDetailStatus?.toUpperCase()
5
+ if (triggerStatus === TIMELINE_STATUS.ABORTED || triggerStatus === TIMELINE_STATUS.DEGRADED) {
6
+ return 'Failed'
7
+ } else if (triggerStatus === TIMELINE_STATUS.HEALTHY) {
8
+ return 'Succeeded'
9
+ } else if (triggerStatus === TIMELINE_STATUS.INPROGRESS) {
10
+ return 'Inprogress'
11
+ } else {
12
+ return triggerDetailStatus
13
+ }
14
+ }
@@ -0,0 +1,105 @@
1
+ import React, { useMemo, useEffect } from 'react'
2
+ import { Link, useRouteMatch, useParams } from 'react-router-dom'
3
+ import { useBreadcrumbContext } from './BreadcrumbStore'
4
+ import { ConditionalWrap } from '../Helper'
5
+ import { Breadcrumb, Breadcrumbs, UseBreadcrumbOptionalProps, UseBreadcrumbState } from './Types'
6
+ export const BreadcrumbContext = React.createContext(null)
7
+
8
+ export function useBreadcrumb(props?: UseBreadcrumbOptionalProps, deps?: any[]): UseBreadcrumbState {
9
+ let sep = props?.sep || '/'
10
+ deps = deps || []
11
+ const { url, path } = useRouteMatch()
12
+ const params = useParams()
13
+ const { state, setState } = useBreadcrumbContext()
14
+
15
+ useEffect(() => {
16
+ if (!props || !props.alias) return
17
+ setState((state) => ({ ...state, alias: { ...state.alias, ...props.alias } }))
18
+ return () => resetCrumb(Object.keys(props.alias))
19
+ }, deps)
20
+
21
+ function setCrumb(props) {
22
+ setState((state) => ({ ...state, alias: { ...state.alias, ...props } }))
23
+ }
24
+
25
+ function resetCrumb(props: string[]) {
26
+ const tempAlias = props.reduce((agg, curr, idx) => {
27
+ delete agg[curr]
28
+ return agg
29
+ }, state.alias)
30
+ setState((state) => ({ ...state, alias: tempAlias }))
31
+ }
32
+
33
+ let levels: Breadcrumb[] = useMemo(() => {
34
+ const paths = path.split('/').filter(Boolean)
35
+ const urls = url.split('/').filter(Boolean)
36
+ return paths.map((path, idx) => {
37
+ const crumb: Breadcrumb = { to: urls[idx], name: path }
38
+ if (path.startsWith(':') && params[path.replace(':', '')]) {
39
+ crumb.className = 'param'
40
+ }
41
+ return crumb
42
+ })
43
+ }, [path, url])
44
+ const { res: breadcrumbs } = useMemo(() => {
45
+ return levels.reduce(
46
+ (agg, curr, idx) => {
47
+ const { res, prefix } = agg
48
+ const { to, name } = curr
49
+ res.push({
50
+ to:
51
+ !state.alias[name]?.component || (state.alias[name]?.component && state.alias[name]?.linked)
52
+ ? `${prefix}${to}`
53
+ : null,
54
+ name:
55
+ typeof state.alias[name] === 'object'
56
+ ? !!state.alias[name]?.component
57
+ ? state.alias[name].component
58
+ : null
59
+ : state.alias[name] || name,
60
+ className: curr.className || '',
61
+ })
62
+ return { res, prefix: `${prefix}${curr.to}${sep}` }
63
+ },
64
+ { res: [], prefix: '/' },
65
+ )
66
+ }, [levels, state])
67
+
68
+ return { breadcrumbs, setCrumb, resetCrumb }
69
+ }
70
+
71
+ export const BreadCrumb: React.FC<Breadcrumbs> = ({
72
+ breadcrumbs,
73
+ sep = '/',
74
+ className = 'dc__devtron-breadcrumb__item',
75
+ }) => {
76
+ const { url } = useRouteMatch()
77
+ const filteredCrumbs = breadcrumbs.filter((crumb) => !!crumb.name)
78
+ return (
79
+ <React.Fragment>
80
+ {filteredCrumbs.map((breadcrumb, idx) => (
81
+ <React.Fragment key={idx}>
82
+ <ConditionalWrap
83
+ condition={!!breadcrumb.to}
84
+ wrap={(children) => (
85
+ <Link
86
+ className={`${url === breadcrumb.to ? 'active' : ''} ${className} ${
87
+ breadcrumb.className || ''
88
+ }`}
89
+ to={breadcrumb.to}
90
+ >
91
+ {children}
92
+ </Link>
93
+ )}
94
+ >
95
+ {breadcrumb.name}
96
+ </ConditionalWrap>
97
+
98
+ {idx + 1 !== filteredCrumbs.length && breadcrumb.name && (
99
+ <span className={`${className}__separator cn-5`}>{sep}</span>
100
+ )}
101
+ </React.Fragment>
102
+ ))}
103
+ </React.Fragment>
104
+ )
105
+ }
@@ -0,0 +1,25 @@
1
+ import React, { createContext, useState } from 'react'
2
+
3
+ const initialState = {
4
+ alias: {},
5
+ }
6
+
7
+ const Store = ({ children }) => {
8
+ const [state, setState] = useState(initialState)
9
+ return <BreadcrumbContext.Provider value={{ state, setState }}>{children}</BreadcrumbContext.Provider>
10
+ }
11
+
12
+ export const BreadcrumbContext = createContext({
13
+ state: { alias: {} },
14
+ setState: null,
15
+ })
16
+
17
+ export function useBreadcrumbContext() {
18
+ const context = React.useContext(BreadcrumbContext)
19
+ if (!context) {
20
+ throw new Error(`breadcrumb components cannot be used outside Breadcrumb context`)
21
+ }
22
+ return context
23
+ }
24
+
25
+ export default Store
@@ -0,0 +1,29 @@
1
+ export interface Breadcrumb {
2
+ to: string
3
+ name: string
4
+ className?: string
5
+ }
6
+
7
+ export interface UseBreadcrumbState {
8
+ breadcrumbs: Breadcrumb[]
9
+ setCrumb: (props: { [key: string]: any }) => void
10
+ resetCrumb: (props: string[]) => void
11
+ }
12
+
13
+ export interface AdvancedAlias {
14
+ component: any
15
+ linked: boolean
16
+ }
17
+
18
+ export interface UseBreadcrumbProps {
19
+ sep?: string
20
+ alias?: { [key: string]: AdvancedAlias | any }
21
+ }
22
+
23
+ export interface Breadcrumbs {
24
+ breadcrumbs: Breadcrumb[]
25
+ sep?: string
26
+ className?: string
27
+ }
28
+
29
+ export type UseBreadcrumbOptionalProps = UseBreadcrumbProps | null