@devtron-labs/devtron-fe-common-lib 0.0.55-beta-1 → 0.0.55

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