@devtron-labs/devtron-fe-common-lib 0.0.53-beta-1 → 0.0.53-beta-2

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 (525) 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 +67 -73
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -3
  31. package/dist/Common/CustomInput/Types.d.ts +29 -29
  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 -15
  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 -24
  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 -61
  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/Policy.Types.d.ts +56 -56
  82. package/dist/Common/PopupMenu.d.ts +8 -8
  83. package/dist/Common/Progressing.d.ts +4 -4
  84. package/dist/Common/RJSF/Form.d.ts +4 -2
  85. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
  86. package/dist/Common/RJSF/common/types.d.ts +8 -8
  87. package/dist/Common/RJSF/config.d.ts +4 -4
  88. package/dist/Common/RJSF/constants.d.ts +7 -7
  89. package/dist/Common/RJSF/index.d.ts +3 -3
  90. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
  91. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
  92. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
  93. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
  94. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
  95. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
  96. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
  97. package/dist/Common/RJSF/templates/Description.d.ts +3 -2
  98. package/dist/Common/RJSF/templates/Field.d.ts +3 -2
  99. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
  100. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
  101. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
  102. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
  103. package/dist/Common/RJSF/templates/index.d.ts +10 -10
  104. package/dist/Common/RJSF/types.d.ts +3 -3
  105. package/dist/Common/RJSF/utils.d.ts +26 -25
  106. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
  107. package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
  108. package/dist/Common/RJSF/widgets/index.d.ts +2 -2
  109. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  110. package/dist/Common/RadioGroup.d.ts +8 -8
  111. package/dist/Common/Reload.d.ts +3 -3
  112. package/dist/Common/ResizableTextarea.d.ts +3 -3
  113. package/dist/Common/SearchBar/SearchBar.component.d.ts +8 -0
  114. package/dist/Common/SearchBar/types.d.ts +35 -0
  115. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  116. package/dist/Common/ServerError.d.ts +15 -15
  117. package/dist/Common/TippyCustomized.d.ts +4 -3
  118. package/dist/Common/ToastBody.d.ts +23 -23
  119. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  120. package/dist/Common/Types.d.ts +677 -677
  121. package/dist/Common/index.d.ts +49 -50
  122. package/dist/index.d.ts +1 -1
  123. package/dist/index.js +28717 -218
  124. package/package.json +26 -31
  125. package/rollup.config.js +31 -0
  126. package/src/Assets/Icon/ic-add.svg +3 -0
  127. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  128. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  129. package/src/Assets/Icon/ic-check.svg +5 -0
  130. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  131. package/src/Assets/Icon/ic-copy.svg +3 -0
  132. package/src/Assets/Icon/ic-cross.svg +3 -0
  133. package/src/Assets/Icon/ic-drag.svg +8 -0
  134. package/src/Assets/Icon/ic-enter.svg +3 -0
  135. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  136. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  137. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  138. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  139. package/src/Assets/Icon/ic-help.svg +3 -0
  140. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  141. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  142. package/src/Assets/Icon/ic-minus.svg +3 -0
  143. package/src/Assets/Icon/ic-pencil.svg +3 -0
  144. package/src/Assets/Icon/ic-progressing.svg +6 -0
  145. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  146. package/src/Assets/Icon/ic-search.svg +6 -0
  147. package/src/Assets/Icon/ic-warning.svg +7 -0
  148. package/src/Assets/Icon/inject-tag.svg +5 -0
  149. package/src/Assets/Img/app-not-deployed.png +0 -0
  150. package/src/Assets/Img/delete-medium.svg +15 -0
  151. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  152. package/src/Assets/Img/ic-loading-failure.png +0 -0
  153. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  154. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  155. package/src/Common/AddCDButton/index.ts +2 -0
  156. package/src/Common/AddCDButton/types.ts +38 -0
  157. package/src/Common/AddCDButton/utils.tsx +35 -0
  158. package/src/Common/Api.ts +230 -0
  159. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  160. package/src/Common/AppStatus/constants.ts +53 -0
  161. package/src/Common/AppStatus/index.ts +1 -0
  162. package/src/Common/AppStatus/types.ts +12 -0
  163. package/src/Common/AppStatus/utils.ts +14 -0
  164. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  165. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  166. package/src/Common/BreadCrumb/Types.ts +30 -0
  167. package/src/Common/CIPipeline.Types.ts +277 -0
  168. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  169. package/src/Common/Checkbox.tsx +36 -0
  170. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  171. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  172. package/src/Common/ClipboardButton/types.ts +7 -0
  173. package/src/Common/Common.service.ts +315 -0
  174. package/src/Common/Constants.ts +245 -0
  175. package/src/Common/CustomInput/CustomInput.tsx +131 -0
  176. package/src/Common/CustomInput/Types.ts +30 -0
  177. package/src/Common/CustomInput/index.ts +2 -0
  178. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  179. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  180. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  181. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  182. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  183. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  184. package/src/Common/CustomTagSelector/Types.ts +72 -0
  185. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  186. package/src/Common/CustomTagSelector/index.ts +6 -0
  187. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
  188. package/src/Common/DebouncedSearch/Types.ts +13 -0
  189. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  190. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  191. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  192. package/src/Common/DeleteComponentModal/types.ts +15 -0
  193. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  194. package/src/Common/DevtronProgressing/index.ts +1 -0
  195. package/src/Common/DevtronProgressing/types.ts +4 -0
  196. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  197. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  198. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  199. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  200. package/src/Common/Dialogs/Types.ts +47 -0
  201. package/src/Common/Dialogs/index.ts +4 -0
  202. package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
  203. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +116 -0
  204. package/src/Common/DraggableWrapper/index.ts +3 -0
  205. package/src/Common/DraggableWrapper/types.ts +27 -0
  206. package/src/Common/Drawer/Drawer.scss +40 -0
  207. package/src/Common/Drawer/Drawer.tsx +49 -0
  208. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  209. package/src/Common/EmptyState/GenericEmptyState.tsx +49 -0
  210. package/src/Common/EmptyState/emptyState.scss +74 -0
  211. package/src/Common/Error.tsx +61 -0
  212. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  213. package/src/Common/Grid/Grid.tsx +44 -0
  214. package/src/Common/Grid/types.ts +11 -0
  215. package/src/Common/Helper.tsx +576 -0
  216. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  217. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  218. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  219. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  220. package/src/Common/Hooks/index.ts +3 -0
  221. package/src/Common/ImageTags.Types.ts +44 -0
  222. package/src/Common/ImageTags.tsx +586 -0
  223. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  224. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  225. package/src/Common/Modals/Modal.tsx +68 -0
  226. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  227. package/src/Common/Modals/VisibleModal.tsx +55 -0
  228. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  229. package/src/Common/MultiSelectCustomization.tsx +148 -0
  230. package/src/Common/Policy.Types.ts +63 -0
  231. package/src/Common/PopupMenu.tsx +199 -0
  232. package/src/Common/Progressing.tsx +53 -0
  233. package/src/Common/RJSF/Form.tsx +29 -0
  234. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  235. package/src/Common/RJSF/common/types.ts +9 -0
  236. package/src/Common/RJSF/config.ts +37 -0
  237. package/src/Common/RJSF/constants.ts +10 -0
  238. package/src/Common/RJSF/index.ts +3 -0
  239. package/src/Common/RJSF/rjsfForm.scss +18 -0
  240. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  241. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  242. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  243. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  244. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  245. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  246. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  247. package/src/Common/RJSF/templates/Description.tsx +12 -0
  248. package/src/Common/RJSF/templates/Field.tsx +30 -0
  249. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  250. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  251. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  252. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  253. package/src/Common/RJSF/templates/index.ts +10 -0
  254. package/src/Common/RJSF/types.ts +4 -0
  255. package/src/Common/RJSF/utils.ts +123 -0
  256. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  257. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  258. package/src/Common/RJSF/widgets/index.ts +2 -0
  259. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  260. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  261. package/src/Common/RadioGroup.tsx +53 -0
  262. package/src/Common/Reload.tsx +23 -0
  263. package/src/Common/ResizableTextarea.tsx +73 -0
  264. package/src/Common/SearchBar/SearchBar.component.tsx +79 -0
  265. package/src/Common/SearchBar/searchBar.scss +65 -0
  266. package/src/Common/SearchBar/types.ts +36 -0
  267. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  268. package/src/Common/Security/scanVulnerabilities.css +69 -0
  269. package/src/Common/ServerError.ts +31 -0
  270. package/src/Common/TippyCustomized.tsx +172 -0
  271. package/src/Common/ToastBody.tsx +62 -0
  272. package/src/Common/Toggle/Toggle.scss +78 -0
  273. package/src/Common/Toggle/Toggle.tsx +50 -0
  274. package/src/Common/Types.ts +750 -0
  275. package/src/Common/index.ts +49 -0
  276. package/src/custom.d.ts +13 -0
  277. package/src/index.ts +1 -0
  278. package/tsconfig.json +40 -0
  279. package/dist/BaseInput-8101e714.js +0 -1686
  280. package/dist/CodeEditor-68cd2e5b.js +0 -103676
  281. package/dist/Common/AddCDButton/AddCDButton.js +0 -61
  282. package/dist/Common/AddCDButton/index.js +0 -6
  283. package/dist/Common/AddCDButton/types.js +0 -1
  284. package/dist/Common/AddCDButton/utils.js +0 -19
  285. package/dist/Common/Api.js +0 -167
  286. package/dist/Common/AppStatus/AppStatus.js +0 -37
  287. package/dist/Common/AppStatus/constants.js +0 -37
  288. package/dist/Common/AppStatus/index.js +0 -4
  289. package/dist/Common/AppStatus/types.js +0 -1
  290. package/dist/Common/AppStatus/utils.js +0 -8
  291. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -71
  292. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  293. package/dist/Common/BreadCrumb/Types.js +0 -1
  294. package/dist/Common/CIPipeline.Types.js +0 -10
  295. package/dist/Common/ChartVersionAndTypeSelector.js +0 -61
  296. package/dist/Common/Checkbox.js +0 -28
  297. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  298. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +0 -1
  299. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  300. package/dist/Common/ClipboardButton/types.js +0 -1
  301. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  302. package/dist/Common/CodeEditor/CodeEditor.js +0 -15
  303. package/dist/Common/Common.service.js +0 -191
  304. package/dist/Common/Constants.js +0 -234
  305. package/dist/Common/CustomInput/CustomInput.js +0 -80
  306. package/dist/Common/CustomInput/Types.js +0 -1
  307. package/dist/Common/CustomInput/index.js +0 -4
  308. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  309. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  310. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  311. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  312. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  313. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  314. package/dist/Common/CustomTagSelector/Types.js +0 -1
  315. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  316. package/dist/Common/CustomTagSelector/index.js +0 -12
  317. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -7
  318. package/dist/Common/DebouncedSearch/Types.js +0 -1
  319. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  320. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  321. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -33
  322. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  323. package/dist/Common/DeleteComponentModal/types.js +0 -1
  324. package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -98
  325. package/dist/Common/DevtronProgressing/index.js +0 -4
  326. package/dist/Common/DevtronProgressing/types.js +0 -1
  327. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  328. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  329. package/dist/Common/Dialogs/DialogForm.js +0 -63
  330. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  331. package/dist/Common/Dialogs/Types.js +0 -1
  332. package/dist/Common/Dialogs/index.js +0 -11
  333. package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
  334. package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -1499
  335. package/dist/Common/DraggableWrapper/index.js +0 -8
  336. package/dist/Common/DraggableWrapper/types.js +0 -4
  337. package/dist/Common/Drawer/Drawer.js +0 -22
  338. package/dist/Common/EmptyState/EmptyState.js +0 -32
  339. package/dist/Common/EmptyState/GenericEmptyState.js +0 -52
  340. package/dist/Common/Error.js +0 -49
  341. package/dist/Common/ErrorScreenNotFound.js +0 -23
  342. package/dist/Common/Grid/Grid.js +0 -31
  343. package/dist/Common/Grid/types.js +0 -1
  344. package/dist/Common/Helper.js +0 -38
  345. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  346. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  347. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  348. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
  349. package/dist/Common/Hooks/index.js +0 -8
  350. package/dist/Common/ImageTags.Types.js +0 -1
  351. package/dist/Common/ImageTags.js +0 -381
  352. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  353. package/dist/Common/Modals/Modal.js +0 -48
  354. package/dist/Common/Modals/OpaqueModal.js +0 -32
  355. package/dist/Common/Modals/VisibleModal.js +0 -31
  356. package/dist/Common/Modals/VisibleModal2.js +0 -31
  357. package/dist/Common/MultiSelectCustomization.js +0 -97
  358. package/dist/Common/Policy.Types.js +0 -6
  359. package/dist/Common/PopupMenu.js +0 -148
  360. package/dist/Common/Progressing.js +0 -52
  361. package/dist/Common/RJSF/Form.js +0 -9888
  362. package/dist/Common/RJSF/common/FieldRow.js +0 -25
  363. package/dist/Common/RJSF/common/types.js +0 -1
  364. package/dist/Common/RJSF/config.js +0 -33
  365. package/dist/Common/RJSF/constants.js +0 -10
  366. package/dist/Common/RJSF/index.js +0 -7
  367. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
  368. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -63
  369. package/dist/Common/RJSF/templates/BaseInput.js +0 -8
  370. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
  371. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
  372. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -19
  373. package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
  374. package/dist/Common/RJSF/templates/Description.js +0 -9
  375. package/dist/Common/RJSF/templates/Field.js +0 -21
  376. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -15
  377. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -76
  378. package/dist/Common/RJSF/templates/TitleField.js +0 -8
  379. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -44
  380. package/dist/Common/RJSF/templates/index.js +0 -26
  381. package/dist/Common/RJSF/types.js +0 -1
  382. package/dist/Common/RJSF/utils.js +0 -98
  383. package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
  384. package/dist/Common/RJSF/widgets/Select.js +0 -56
  385. package/dist/Common/RJSF/widgets/index.js +0 -6
  386. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  387. package/dist/Common/RadioGroup.js +0 -47
  388. package/dist/Common/Reload.js +0 -16
  389. package/dist/Common/ResizableTextarea.js +0 -60
  390. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  391. package/dist/Common/Select/Select.d.ts +0 -4
  392. package/dist/Common/Select/Select.js +0 -131
  393. package/dist/Common/Select/types.d.ts +0 -29
  394. package/dist/Common/Select/types.js +0 -1
  395. package/dist/Common/ServerError.js +0 -26
  396. package/dist/Common/TippyCustomized.js +0 -10
  397. package/dist/Common/ToastBody.js +0 -41
  398. package/dist/Common/Toggle/Toggle.js +0 -40
  399. package/dist/Common/Types.js +0 -24
  400. package/dist/Common/UseWindowSize.d.ts +0 -4
  401. package/dist/Common/UseWindowSize.js +0 -20
  402. package/dist/Common/index.js +0 -219
  403. package/dist/DebouncedSearch-065f3ac2.js +0 -58
  404. package/dist/Helper-1f1cf2ba.js +0 -9824
  405. package/dist/TippyCustomized-0d0b9a6f.js +0 -124
  406. package/dist/_commonjsHelpers-c5d32002.js +0 -30
  407. package/dist/abap-9f67f57a.js +0 -1314
  408. package/dist/apex-ff62e532.js +0 -315
  409. package/dist/assets/CodeEditor.css +0 -1
  410. package/dist/assets/Drawer.css +0 -1
  411. package/dist/assets/Form.css +0 -1
  412. package/dist/assets/InfoColourbar.css +0 -1
  413. package/dist/assets/RadioGroup.css +0 -1
  414. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  415. package/dist/assets/Select.css +0 -1
  416. package/dist/assets/TippyCustomized.css +0 -1
  417. package/dist/assets/Toggle.css +0 -1
  418. package/dist/assets/editor.worker-d26000ef.js +0 -9
  419. package/dist/assets/emptyState.css +0 -1
  420. package/dist/assets/json.worker-f23a4654.js +0 -40
  421. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  422. package/dist/azcli-31e64a7f.js +0 -74
  423. package/dist/bat-0ffe897e.js +0 -95
  424. package/dist/bicep-3414a2b1.js +0 -108
  425. package/dist/cameligo-df1f3f25.js +0 -168
  426. package/dist/canExpand-ab1f6741.js +0 -10
  427. package/dist/clojure-65b0f010.js +0 -754
  428. package/dist/coffee-437f0fba.js +0 -228
  429. package/dist/cpp-66843dd5.js +0 -390
  430. package/dist/csharp-621d9a49.js +0 -320
  431. package/dist/csp-de0d5244.js +0 -57
  432. package/dist/css-7cd5ed4c.js +0 -186
  433. package/dist/cssMode-7289250b.js +0 -1446
  434. package/dist/cypher-70ad96fe.js +0 -262
  435. package/dist/dart-33ae3739.js +0 -270
  436. package/dist/dockerfile-f2274a50.js +0 -132
  437. package/dist/ecl-3b8294a3.js +0 -454
  438. package/dist/elixir-b9dcc73a.js +0 -489
  439. package/dist/englishStringTranslator-2c9a30fc.js +0 -17
  440. package/dist/enums-d0bd3f97.js +0 -6618
  441. package/dist/extends-70f3d2a3.js +0 -13
  442. package/dist/flow9-bdde8316.js +0 -141
  443. package/dist/freemarker2-3b903d5b.js +0 -643
  444. package/dist/fsharp-eac2e449.js +0 -210
  445. package/dist/getSubmitButtonOptions-a1be9bb0.js +0 -20
  446. package/dist/getTemplate-91d3260d.js +0 -11
  447. package/dist/getUiOptions-844b45a7.js +0 -10
  448. package/dist/go-d12ed8d4.js +0 -208
  449. package/dist/graphql-c7356b69.js +0 -141
  450. package/dist/handlebars-702717e9.js +0 -391
  451. package/dist/hcl-e883a0d4.js +0 -177
  452. package/dist/html-9a684e15.js +0 -281
  453. package/dist/htmlMode-3e336aa8.js +0 -1456
  454. package/dist/ic-add-4787ded5.js +0 -5
  455. package/dist/ic-chevron-down-eb7fd953.js +0 -6
  456. package/dist/ic-copy-118b83dc.js +0 -5
  457. package/dist/ic-cross-0e71861d.js +0 -6
  458. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  459. package/dist/ic-info-filled-31a15add.js +0 -6
  460. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  461. package/dist/ic-warning-42534af1.js +0 -5
  462. package/dist/idGenerators-0b33693c.js +0 -35
  463. package/dist/index-5a231705.js +0 -17417
  464. package/dist/index-c855d89c.js +0 -173
  465. package/dist/ini-425ab711.js +0 -68
  466. package/dist/inject-tag-824bf92c.js +0 -5
  467. package/dist/java-2bc0fd68.js +0 -221
  468. package/dist/javascript-101cb9b7.js +0 -75
  469. package/dist/jsonMode-006d8be9.js +0 -1867
  470. package/dist/julia-1c932615.js +0 -496
  471. package/dist/kotlin-1ab839c8.js +0 -245
  472. package/dist/less-6fe856f5.js +0 -168
  473. package/dist/lexon-4955ac52.js +0 -151
  474. package/dist/liquid-729ea99d.js +0 -238
  475. package/dist/lua-3cca0047.js +0 -157
  476. package/dist/m3-132e9cb6.js +0 -210
  477. package/dist/markdown-ea59a0c1.js +0 -202
  478. package/dist/mips-19811f4b.js +0 -194
  479. package/dist/msdax-69954a10.js +0 -377
  480. package/dist/mysql-82088e5d.js +0 -876
  481. package/dist/objective-c-1976eccc.js +0 -188
  482. package/dist/pascal-8ef177cb.js +0 -245
  483. package/dist/pascaligo-bc517b9e.js +0 -158
  484. package/dist/perl-8b93582c.js +0 -599
  485. package/dist/pgsql-00c11a6d.js +0 -847
  486. package/dist/php-4c8c276f.js +0 -471
  487. package/dist/pla-e9b4ffb1.js +0 -131
  488. package/dist/postiats-2071af8c.js +0 -544
  489. package/dist/powerquery-8e388ceb.js +0 -890
  490. package/dist/powershell-e35db398.js +0 -233
  491. package/dist/protobuf-a24b9176.js +0 -422
  492. package/dist/pug-2c94d9b8.js +0 -393
  493. package/dist/python-c9b92f72.js +0 -259
  494. package/dist/qsharp-d730d7fe.js +0 -282
  495. package/dist/r-be193556.js +0 -245
  496. package/dist/razor-c48ef378.js +0 -512
  497. package/dist/react-select.esm-fa95915b.js +0 -3992
  498. package/dist/react-toastify.esm-e28f7200.js +0 -798
  499. package/dist/react.esm-9335a421.js +0 -13150
  500. package/dist/redis-9690c6ac.js +0 -298
  501. package/dist/redshift-6bdcdeaa.js +0 -806
  502. package/dist/restructuredtext-a08c1d20.js +0 -162
  503. package/dist/ruby-2247692b.js +0 -444
  504. package/dist/rust-1dffb4d5.js +0 -337
  505. package/dist/sb-136598e9.js +0 -110
  506. package/dist/scala-b1100fed.js +0 -353
  507. package/dist/scheme-038c8094.js +0 -114
  508. package/dist/scss-700d1b52.js +0 -244
  509. package/dist/shell-86c16e0f.js +0 -224
  510. package/dist/solidity-c05fdf3c.js +0 -1351
  511. package/dist/sophia-cd645d71.js +0 -190
  512. package/dist/sparql-01d9ec9c.js +0 -193
  513. package/dist/sql-4c33df41.js +0 -818
  514. package/dist/st-52cf1408.js +0 -414
  515. package/dist/swift-13c792ba.js +0 -315
  516. package/dist/systemverilog-0bd8b730.js +0 -556
  517. package/dist/tcl-463d7c75.js +0 -232
  518. package/dist/tippy-react.esm-d5c56a0a.js +0 -2018
  519. package/dist/tsMode-da78a323.js +0 -811
  520. package/dist/twig-0d98f5ec.js +0 -323
  521. package/dist/typescript-bd6d35ce.js +0 -328
  522. package/dist/vb-3a2b0a51.js +0 -364
  523. package/dist/wgsl-b2ddb3e4.js +0 -420
  524. package/dist/xml-828eca7a.js +0 -95
  525. package/dist/yaml-89980d67.js +0 -184
@@ -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,30 @@
1
+
2
+ export interface Breadcrumb {
3
+ to: string
4
+ name: string
5
+ className?: string
6
+ }
7
+
8
+ export interface UseBreadcrumbState {
9
+ breadcrumbs: Breadcrumb[]
10
+ setCrumb: (props: { [key: string]: any }) => void
11
+ resetCrumb: (props: string[]) => void
12
+ }
13
+
14
+ export interface AdvancedAlias {
15
+ component: any
16
+ linked: boolean
17
+ }
18
+
19
+ export interface UseBreadcrumbProps {
20
+ sep?: string
21
+ alias?: { [key: string]: AdvancedAlias | any }
22
+ }
23
+
24
+ export interface Breadcrumbs {
25
+ breadcrumbs: Breadcrumb[]
26
+ sep?: string
27
+ className?: string
28
+ }
29
+
30
+ export type UseBreadcrumbOptionalProps = UseBreadcrumbProps | null