@devtron-labs/devtron-fe-common-lib 0.0.55-beta-7 → 0.0.56

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