@devtron-labs/devtron-fe-common-lib 0.0.58-beta-14 → 0.0.58-beta-19
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.
- package/.eslintignore +96 -0
- package/.eslintrc.js +109 -0
- package/.github/pull_request_template.md +25 -0
- package/.github/workflows/ci.yml +31 -0
- package/.github/workflows/release-package.yml +48 -0
- package/.husky/pre-commit +5 -0
- package/.lintstagedrc +3 -0
- package/.nvmrc +1 -0
- package/.prettierrc.js +7 -0
- package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -3
- package/dist/Common/AddCDButton/index.d.ts +2 -2
- package/dist/Common/AddCDButton/types.d.ts +26 -26
- package/dist/Common/AddCDButton/utils.d.ts +2 -2
- package/dist/Common/Api.d.ts +5 -5
- package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
- package/dist/Common/AppStatus/constants.d.ts +51 -51
- package/dist/Common/AppStatus/index.d.ts +1 -1
- package/dist/Common/AppStatus/types.d.ts +12 -12
- package/dist/Common/AppStatus/utils.d.ts +1 -1
- package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
- package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
- package/dist/Common/BreadCrumb/Types.d.ts +28 -28
- package/dist/Common/CIPipeline.Types.d.ts +265 -265
- package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -3
- package/dist/Common/Checkbox.d.ts +5 -5
- package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
- package/dist/Common/ClipboardButton/types.d.ts +8 -8
- package/dist/Common/Common.service.d.ts +20 -20
- package/dist/Common/Constants.d.ts +75 -81
- package/dist/Common/CustomInput/CustomInput.d.ts +3 -2
- package/dist/Common/CustomInput/Types.d.ts +31 -30
- package/dist/Common/CustomInput/index.d.ts +2 -2
- package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
- package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
- package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
- package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
- package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
- package/dist/Common/CustomTagSelector/index.d.ts +6 -6
- package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +17 -17
- package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
- package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
- package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -3
- package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
- package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -2
- package/dist/Common/DevtronProgressing/index.d.ts +1 -1
- package/dist/Common/DevtronProgressing/types.d.ts +4 -4
- package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -8
- package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
- package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
- package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
- package/dist/Common/Dialogs/Types.d.ts +45 -45
- package/dist/Common/Dialogs/index.d.ts +4 -4
- package/dist/Common/DraggableWrapper/DraggableButton.d.ts +3 -3
- package/dist/Common/DraggableWrapper/DraggableWrapper.d.ts +9 -9
- package/dist/Common/DraggableWrapper/index.d.ts +3 -3
- package/dist/Common/DraggableWrapper/types.d.ts +23 -23
- package/dist/Common/Drawer/Drawer.d.ts +16 -14
- package/dist/Common/EmptyState/EmptyState.d.ts +25 -31
- package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -3
- package/dist/Common/Error.d.ts +17 -17
- package/dist/Common/ErrorScreenNotFound.d.ts +3 -2
- package/dist/Common/Grid/Grid.d.ts +3 -3
- package/dist/Common/Grid/types.d.ts +10 -10
- package/dist/Common/Helper.d.ts +64 -65
- package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
- package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
- package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
- package/dist/Common/Hooks/UseWindowSize/UseWindowSize.d.ts +4 -4
- package/dist/Common/Hooks/index.d.ts +3 -3
- package/dist/Common/ImageTags.Types.d.ts +40 -40
- package/dist/Common/ImageTags.d.ts +4 -3
- package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -3
- package/dist/Common/Modals/Modal.d.ts +3 -3
- package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
- package/dist/Common/Modals/VisibleModal.d.ts +15 -15
- package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
- package/dist/Common/MultiSelectCustomization.d.ts +37 -37
- package/dist/Common/Pagination/PageSizeSelector.d.ts +4 -3
- package/dist/Common/Pagination/Pagination.d.ts +5 -3
- package/dist/Common/Pagination/constants.d.ts +5 -5
- package/dist/Common/Pagination/index.d.ts +1 -1
- package/dist/Common/Pagination/types.d.ts +51 -51
- package/dist/Common/Pagination/utils.d.ts +6 -6
- package/dist/Common/Policy.Types.d.ts +56 -56
- package/dist/Common/PopupMenu.d.ts +8 -7
- package/dist/Common/Progressing.d.ts +4 -3
- package/dist/Common/RJSF/Form.d.ts +4 -2
- package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
- package/dist/Common/RJSF/common/types.d.ts +8 -8
- package/dist/Common/RJSF/config.d.ts +4 -4
- package/dist/Common/RJSF/constants.d.ts +7 -7
- package/dist/Common/RJSF/index.d.ts +3 -3
- package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
- package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
- package/dist/Common/RJSF/templates/Description.d.ts +3 -2
- package/dist/Common/RJSF/templates/Field.d.ts +3 -2
- package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
- package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
- package/dist/Common/RJSF/templates/index.d.ts +10 -10
- package/dist/Common/RJSF/types.d.ts +3 -3
- package/dist/Common/RJSF/utils.d.ts +26 -25
- package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
- package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
- package/dist/Common/RJSF/widgets/index.d.ts +2 -2
- package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
- package/dist/Common/RadioGroup.d.ts +8 -8
- package/dist/Common/Reload.d.ts +3 -3
- package/dist/Common/ResizableTextarea.d.ts +3 -3
- package/dist/Common/SearchBar/SearchBar.component.d.ts +39 -37
- package/dist/Common/SearchBar/index.d.ts +2 -2
- package/dist/Common/SearchBar/types.d.ts +48 -35
- package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
- package/dist/Common/ServerError.d.ts +15 -15
- package/dist/Common/TippyCustomized.d.ts +4 -2
- package/dist/Common/ToastBody.d.ts +23 -23
- package/dist/Common/Toggle/Toggle.d.ts +14 -12
- package/dist/Common/Types.d.ts +691 -691
- package/dist/Common/index.d.ts +50 -51
- package/dist/index.d.ts +1 -1
- package/dist/index.js +28883 -225
- package/package.json +23 -34
- package/rollup.config.js +31 -0
- package/src/Assets/Icon/ic-add.svg +3 -0
- package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
- package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
- package/src/Assets/Icon/ic-check.svg +5 -0
- package/src/Assets/Icon/ic-chevron-down.svg +5 -0
- package/src/Assets/Icon/ic-copy.svg +3 -0
- package/src/Assets/Icon/ic-cross.svg +3 -0
- package/src/Assets/Icon/ic-drag.svg +8 -0
- package/src/Assets/Icon/ic-enter.svg +3 -0
- package/src/Assets/Icon/ic-error-cross.svg +8 -0
- package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
- package/src/Assets/Icon/ic-error-medium.svg +6 -0
- package/src/Assets/Icon/ic-help-outline.svg +3 -0
- package/src/Assets/Icon/ic-help.svg +3 -0
- package/src/Assets/Icon/ic-info-filled.svg +7 -0
- package/src/Assets/Icon/ic-info-outlined.svg +13 -0
- package/src/Assets/Icon/ic-minus.svg +3 -0
- package/src/Assets/Icon/ic-pencil.svg +3 -0
- package/src/Assets/Icon/ic-progressing.svg +6 -0
- package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
- package/src/Assets/Icon/ic-search.svg +6 -0
- package/src/Assets/Icon/ic-warning.svg +7 -0
- package/src/Assets/Icon/inject-tag.svg +5 -0
- package/src/Assets/Img/app-not-deployed.png +0 -0
- package/src/Assets/Img/delete-medium.svg +15 -0
- package/src/Assets/Img/ic-empty-error@2x.png +0 -0
- package/src/Assets/Img/ic-loading-failure.png +0 -0
- package/src/Assets/Img/ic-not-authorized.svg +62 -0
- package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
- package/src/Common/AddCDButton/index.ts +2 -0
- package/src/Common/AddCDButton/types.ts +38 -0
- package/src/Common/AddCDButton/utils.tsx +35 -0
- package/src/Common/Api.ts +230 -0
- package/src/Common/AppStatus/AppStatus.tsx +64 -0
- package/src/Common/AppStatus/constants.ts +53 -0
- package/src/Common/AppStatus/index.ts +1 -0
- package/src/Common/AppStatus/types.ts +12 -0
- package/src/Common/AppStatus/utils.ts +14 -0
- package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
- package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
- package/src/Common/BreadCrumb/Types.ts +30 -0
- package/src/Common/CIPipeline.Types.ts +277 -0
- package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
- package/src/Common/Checkbox.tsx +36 -0
- package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
- package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
- package/src/Common/ClipboardButton/types.ts +7 -0
- package/src/Common/Common.service.ts +315 -0
- package/src/Common/Constants.ts +254 -0
- package/src/Common/CustomInput/CustomInput.tsx +133 -0
- package/src/Common/CustomInput/Types.ts +32 -0
- package/src/Common/CustomInput/index.ts +2 -0
- package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
- package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
- package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
- package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
- package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
- package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
- package/src/Common/CustomTagSelector/Types.ts +72 -0
- package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
- package/src/Common/CustomTagSelector/index.ts +6 -0
- package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
- package/src/Common/DebouncedSearch/Types.ts +13 -0
- package/src/Common/DebouncedSearch/Utils.ts +19 -0
- package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
- package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
- package/src/Common/DeleteComponentModal/types.ts +15 -0
- package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
- package/src/Common/DevtronProgressing/index.ts +1 -0
- package/src/Common/DevtronProgressing/types.ts +4 -0
- package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
- package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
- package/src/Common/Dialogs/DialogForm.tsx +86 -0
- package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
- package/src/Common/Dialogs/Types.ts +47 -0
- package/src/Common/Dialogs/index.ts +4 -0
- package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
- package/src/Common/DraggableWrapper/DraggableWrapper.tsx +116 -0
- package/src/Common/DraggableWrapper/index.ts +3 -0
- package/src/Common/DraggableWrapper/types.ts +27 -0
- package/src/Common/Drawer/Drawer.scss +40 -0
- package/src/Common/Drawer/Drawer.tsx +49 -0
- package/src/Common/EmptyState/EmptyState.tsx +42 -0
- package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
- package/src/Common/EmptyState/emptyState.scss +74 -0
- package/src/Common/Error.tsx +61 -0
- package/src/Common/ErrorScreenNotFound.tsx +31 -0
- package/src/Common/Grid/Grid.tsx +44 -0
- package/src/Common/Grid/types.ts +11 -0
- package/src/Common/Helper.tsx +576 -0
- package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
- package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
- package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
- package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
- package/src/Common/Hooks/index.ts +3 -0
- package/src/Common/ImageTags.Types.ts +44 -0
- package/src/Common/ImageTags.tsx +586 -0
- package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
- package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
- package/src/Common/Modals/Modal.tsx +68 -0
- package/src/Common/Modals/OpaqueModal.tsx +36 -0
- package/src/Common/Modals/VisibleModal.tsx +55 -0
- package/src/Common/Modals/VisibleModal2.tsx +35 -0
- package/src/Common/MultiSelectCustomization.tsx +148 -0
- package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
- package/src/Common/Pagination/Pagination.tsx +127 -0
- package/src/Common/Pagination/constants.ts +6 -0
- package/src/Common/Pagination/index.tsx +3 -0
- package/src/Common/Pagination/pagination.scss +123 -0
- package/src/Common/Pagination/types.ts +55 -0
- package/src/Common/Pagination/utils.tsx +24 -0
- package/src/Common/Policy.Types.ts +63 -0
- package/src/Common/PopupMenu.tsx +199 -0
- package/src/Common/Progressing.tsx +53 -0
- package/src/Common/RJSF/Form.tsx +29 -0
- package/src/Common/RJSF/common/FieldRow.tsx +35 -0
- package/src/Common/RJSF/common/types.ts +9 -0
- package/src/Common/RJSF/config.ts +37 -0
- package/src/Common/RJSF/constants.ts +10 -0
- package/src/Common/RJSF/index.ts +3 -0
- package/src/Common/RJSF/rjsfForm.scss +18 -0
- package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
- package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
- package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
- package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
- package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
- package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
- package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
- package/src/Common/RJSF/templates/Description.tsx +12 -0
- package/src/Common/RJSF/templates/Field.tsx +30 -0
- package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
- package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
- package/src/Common/RJSF/templates/TitleField.tsx +9 -0
- package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
- package/src/Common/RJSF/templates/index.ts +10 -0
- package/src/Common/RJSF/types.ts +4 -0
- package/src/Common/RJSF/utils.ts +123 -0
- package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
- package/src/Common/RJSF/widgets/Select.tsx +77 -0
- package/src/Common/RJSF/widgets/index.ts +2 -0
- package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
- package/src/Common/RadioGroup/radioGroup.scss +46 -0
- package/src/Common/RadioGroup.tsx +53 -0
- package/src/Common/Reload.tsx +23 -0
- package/src/Common/ResizableTextarea.tsx +73 -0
- package/src/Common/SearchBar/SearchBar.component.tsx +124 -0
- package/src/Common/SearchBar/index.ts +2 -0
- package/src/Common/SearchBar/searchBar.scss +31 -0
- package/src/Common/SearchBar/types.ts +49 -0
- package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
- package/src/Common/Security/scanVulnerabilities.css +69 -0
- package/src/Common/ServerError.ts +31 -0
- package/src/Common/TippyCustomized.tsx +172 -0
- package/src/Common/ToastBody.tsx +62 -0
- package/src/Common/Toggle/Toggle.scss +78 -0
- package/src/Common/Toggle/Toggle.tsx +50 -0
- package/src/Common/Types.ts +764 -0
- package/src/Common/index.ts +50 -0
- package/src/custom.d.ts +13 -0
- package/src/index.ts +1 -0
- package/tsconfig.json +40 -0
- package/dist/CodeEditor-57d766d0.js +0 -103695
- package/dist/Common/AddCDButton/AddCDButton.js +0 -59
- package/dist/Common/AddCDButton/index.js +0 -6
- package/dist/Common/AddCDButton/types.js +0 -1
- package/dist/Common/AddCDButton/utils.js +0 -19
- package/dist/Common/Api.js +0 -169
- package/dist/Common/AppStatus/AppStatus.js +0 -37
- package/dist/Common/AppStatus/constants.js +0 -37
- package/dist/Common/AppStatus/index.js +0 -4
- package/dist/Common/AppStatus/types.js +0 -1
- package/dist/Common/AppStatus/utils.js +0 -8
- package/dist/Common/BreadCrumb/BreadCrumb.js +0 -73
- package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
- package/dist/Common/BreadCrumb/Types.js +0 -1
- package/dist/Common/CIPipeline.Types.js +0 -10
- package/dist/Common/ChartVersionAndTypeSelector.js +0 -61
- package/dist/Common/Checkbox.js +0 -28
- package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
- package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
- package/dist/Common/ClipboardButton/types.js +0 -1
- package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
- package/dist/Common/CodeEditor/CodeEditor.js +0 -15
- package/dist/Common/Common.service.js +0 -196
- package/dist/Common/Constants.js +0 -239
- package/dist/Common/CustomInput/CustomInput.js +0 -81
- package/dist/Common/CustomInput/Types.js +0 -1
- package/dist/Common/CustomInput/index.js +0 -4
- package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
- package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
- package/dist/Common/CustomTagSelector/TagDetails.js +0 -73
- package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -53
- package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
- package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
- package/dist/Common/CustomTagSelector/Types.js +0 -1
- package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
- package/dist/Common/CustomTagSelector/index.js +0 -12
- package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -56
- package/dist/Common/DebouncedSearch/Types.js +0 -1
- package/dist/Common/DebouncedSearch/Utils.js +0 -19
- package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -34
- package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
- package/dist/Common/DeleteComponentModal/types.js +0 -1
- package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -95
- package/dist/Common/DevtronProgressing/index.js +0 -4
- package/dist/Common/DevtronProgressing/types.js +0 -1
- package/dist/Common/Dialogs/ConfirmationDialog.js +0 -13
- package/dist/Common/Dialogs/DeleteDialog.js +0 -46
- package/dist/Common/Dialogs/DialogForm.js +0 -63
- package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -28
- package/dist/Common/Dialogs/Types.js +0 -1
- package/dist/Common/Dialogs/index.js +0 -11
- package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
- package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -73
- package/dist/Common/DraggableWrapper/index.js +0 -8
- package/dist/Common/DraggableWrapper/types.js +0 -4
- package/dist/Common/Drawer/Drawer.js +0 -22
- package/dist/Common/EmptyState/EmptyState.js +0 -25
- package/dist/Common/EmptyState/GenericEmptyState.js +0 -79
- package/dist/Common/Error.js +0 -49
- package/dist/Common/ErrorScreenNotFound.js +0 -22
- package/dist/Common/Grid/Grid.js +0 -31
- package/dist/Common/Grid/types.js +0 -1
- package/dist/Common/Helper.js +0 -39
- package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
- package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
- package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
- package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
- package/dist/Common/Hooks/index.js +0 -8
- package/dist/Common/ImageTags.Types.js +0 -1
- package/dist/Common/ImageTags.js +0 -382
- package/dist/Common/InfoColorBar/InfoColourbar.js +0 -67
- package/dist/Common/Modals/Modal.js +0 -48
- package/dist/Common/Modals/OpaqueModal.js +0 -40
- package/dist/Common/Modals/VisibleModal.js +0 -39
- package/dist/Common/Modals/VisibleModal2.js +0 -39
- package/dist/Common/MultiSelectCustomization.js +0 -97
- package/dist/Common/Pagination/PageSizeSelector.js +0 -51
- package/dist/Common/Pagination/Pagination.js +0 -98
- package/dist/Common/Pagination/constants.js +0 -9
- package/dist/Common/Pagination/index.js +0 -4
- package/dist/Common/Pagination/types.js +0 -1
- package/dist/Common/Pagination/utils.js +0 -15
- package/dist/Common/Policy.Types.js +0 -6
- package/dist/Common/PopupMenu.js +0 -146
- package/dist/Common/Progressing.js +0 -49
- package/dist/Common/RJSF/Form.js +0 -25
- package/dist/Common/RJSF/common/FieldRow.js +0 -25
- package/dist/Common/RJSF/common/types.js +0 -1
- package/dist/Common/RJSF/config.js +0 -33
- package/dist/Common/RJSF/constants.js +0 -10
- package/dist/Common/RJSF/index.js +0 -7
- package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
- package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -60
- package/dist/Common/RJSF/templates/BaseInput.js +0 -16
- package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
- package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
- package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -9
- package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
- package/dist/Common/RJSF/templates/Description.js +0 -9
- package/dist/Common/RJSF/templates/Field.js +0 -31
- package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -13
- package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -71
- package/dist/Common/RJSF/templates/TitleField.js +0 -8
- package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -43
- package/dist/Common/RJSF/templates/index.js +0 -26
- package/dist/Common/RJSF/types.js +0 -1
- package/dist/Common/RJSF/utils.js +0 -95
- package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
- package/dist/Common/RJSF/widgets/Select.js +0 -625
- package/dist/Common/RJSF/widgets/index.js +0 -6
- package/dist/Common/RadioGroup/RadioGroup.js +0 -69
- package/dist/Common/RadioGroup.js +0 -53
- package/dist/Common/Reload.js +0 -16
- package/dist/Common/ResizableTextarea.js +0 -60
- package/dist/Common/SearchBar/SearchBar.component.js +0 -66
- package/dist/Common/SearchBar/index.js +0 -4
- package/dist/Common/SearchBar/types.js +0 -1
- package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
- package/dist/Common/Select/Select.d.ts +0 -4
- package/dist/Common/Select/Select.js +0 -193
- package/dist/Common/Select/types.d.ts +0 -29
- package/dist/Common/Select/types.js +0 -1
- package/dist/Common/ServerError.js +0 -26
- package/dist/Common/TippyCustomized.js +0 -10
- package/dist/Common/ToastBody.js +0 -41
- package/dist/Common/Toggle/Toggle.js +0 -40
- package/dist/Common/Types.js +0 -24
- package/dist/Common/index.js +0 -226
- package/dist/Helper-6e21d971.js +0 -10200
- package/dist/TippyCustomized-a8eee994.js +0 -124
- package/dist/_commonjsHelpers-aeeeeb92.js +0 -30
- package/dist/abap-9f67f57a.js +0 -1314
- package/dist/apex-ff62e532.js +0 -315
- package/dist/assets/CodeEditor.css +0 -1
- package/dist/assets/Drawer.css +0 -1
- package/dist/assets/Form.css +0 -1
- package/dist/assets/GenericEmptyState.css +0 -1
- package/dist/assets/InfoColourbar.css +0 -1
- package/dist/assets/Pagination.css +0 -1
- package/dist/assets/RadioGroup.css +0 -1
- package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
- package/dist/assets/SearchBar.component.css +0 -1
- package/dist/assets/Select.css +0 -1
- package/dist/assets/TippyCustomized.css +0 -1
- package/dist/assets/Toggle.css +0 -1
- package/dist/assets/editor.worker-d26000ef.js +0 -9
- package/dist/assets/json.worker-f23a4654.js +0 -40
- package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
- package/dist/azcli-31e64a7f.js +0 -74
- package/dist/bat-0ffe897e.js +0 -95
- package/dist/bicep-3414a2b1.js +0 -108
- package/dist/cameligo-df1f3f25.js +0 -168
- package/dist/clojure-65b0f010.js +0 -754
- package/dist/coffee-437f0fba.js +0 -228
- package/dist/cpp-66843dd5.js +0 -390
- package/dist/csharp-621d9a49.js +0 -320
- package/dist/csp-de0d5244.js +0 -57
- package/dist/css-7cd5ed4c.js +0 -186
- package/dist/cssMode-51109c72.js +0 -1446
- package/dist/cypher-70ad96fe.js +0 -262
- package/dist/dart-33ae3739.js +0 -270
- package/dist/dockerfile-f2274a50.js +0 -132
- package/dist/ecl-3b8294a3.js +0 -454
- package/dist/elixir-b9dcc73a.js +0 -489
- package/dist/extends-70f3d2a3.js +0 -13
- package/dist/flow9-bdde8316.js +0 -141
- package/dist/freemarker2-56c268e7.js +0 -643
- package/dist/fsharp-eac2e449.js +0 -210
- package/dist/go-d12ed8d4.js +0 -208
- package/dist/graphql-c7356b69.js +0 -141
- package/dist/handlebars-14160245.js +0 -391
- package/dist/hcl-e883a0d4.js +0 -177
- package/dist/html-b5f7d4c2.js +0 -281
- package/dist/htmlMode-b802d066.js +0 -1456
- package/dist/ic-add-4787ded5.js +0 -5
- package/dist/ic-chevron-down-eb7fd953.js +0 -6
- package/dist/ic-copy-118b83dc.js +0 -5
- package/dist/ic-cross-0e71861d.js +0 -6
- package/dist/ic-error-cross-2760059a.js +0 -5
- package/dist/ic-error-exclamation-5f9af461.js +0 -5
- package/dist/ic-info-filled-31a15add.js +0 -6
- package/dist/ic-info-outlined-8fa45e87.js +0 -5
- package/dist/ic-warning-42534af1.js +0 -5
- package/dist/ini-425ab711.js +0 -68
- package/dist/inject-tag-824bf92c.js +0 -5
- package/dist/java-2bc0fd68.js +0 -221
- package/dist/javascript-1c1abf89.js +0 -75
- package/dist/jsonMode-f9cd720a.js +0 -1867
- package/dist/jsx-runtime-0dcb030c.js +0 -667
- package/dist/julia-1c932615.js +0 -496
- package/dist/kotlin-1ab839c8.js +0 -245
- package/dist/less-6fe856f5.js +0 -168
- package/dist/lexon-4955ac52.js +0 -151
- package/dist/liquid-a38c622a.js +0 -238
- package/dist/lua-3cca0047.js +0 -157
- package/dist/m3-132e9cb6.js +0 -210
- package/dist/markdown-ea59a0c1.js +0 -202
- package/dist/mips-19811f4b.js +0 -194
- package/dist/msdax-69954a10.js +0 -377
- package/dist/mysql-82088e5d.js +0 -876
- package/dist/objective-c-1976eccc.js +0 -188
- package/dist/pascal-8ef177cb.js +0 -245
- package/dist/pascaligo-bc517b9e.js +0 -158
- package/dist/perl-8b93582c.js +0 -599
- package/dist/pgsql-00c11a6d.js +0 -847
- package/dist/php-4c8c276f.js +0 -471
- package/dist/pla-e9b4ffb1.js +0 -131
- package/dist/postiats-2071af8c.js +0 -544
- package/dist/powerquery-8e388ceb.js +0 -890
- package/dist/powershell-e35db398.js +0 -233
- package/dist/protobuf-a24b9176.js +0 -422
- package/dist/pug-2c94d9b8.js +0 -393
- package/dist/python-966fee14.js +0 -259
- package/dist/qsharp-d730d7fe.js +0 -282
- package/dist/r-be193556.js +0 -245
- package/dist/razor-d300ce4c.js +0 -512
- package/dist/react-select.esm-3ab5c599.js +0 -4174
- package/dist/react-toastify.esm-1042de65.js +0 -792
- package/dist/react.esm-d9d3bd77.js +0 -13727
- package/dist/redis-9690c6ac.js +0 -298
- package/dist/redshift-6bdcdeaa.js +0 -806
- package/dist/restructuredtext-a08c1d20.js +0 -162
- package/dist/ruby-2247692b.js +0 -444
- package/dist/rust-1dffb4d5.js +0 -337
- package/dist/sb-136598e9.js +0 -110
- package/dist/scala-b1100fed.js +0 -353
- package/dist/scheme-038c8094.js +0 -114
- package/dist/scss-700d1b52.js +0 -244
- package/dist/shell-86c16e0f.js +0 -224
- package/dist/solidity-c05fdf3c.js +0 -1351
- package/dist/sophia-cd645d71.js +0 -190
- package/dist/sparql-01d9ec9c.js +0 -193
- package/dist/sql-4c33df41.js +0 -818
- package/dist/st-52cf1408.js +0 -414
- package/dist/swift-13c792ba.js +0 -315
- package/dist/systemverilog-0bd8b730.js +0 -556
- package/dist/tcl-463d7c75.js +0 -232
- package/dist/tippy-react.esm-7f62ad0a.js +0 -1919
- package/dist/tsMode-c3995c03.js +0 -811
- package/dist/twig-0d98f5ec.js +0 -323
- package/dist/typescript-18b20a48.js +0 -328
- package/dist/vb-3a2b0a51.js +0 -364
- package/dist/wgsl-b2ddb3e4.js +0 -420
- package/dist/xml-82b60f64.js +0 -95
- package/dist/yaml-229aea3c.js +0 -184
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AddCDPositions, AddPipelineType, EdgeEndNodeType, EdgeNodeType, Point } from '../Types'
|
|
2
|
+
|
|
3
|
+
export interface AddCDButtonProps {
|
|
4
|
+
position: AddCDPositions
|
|
5
|
+
addCDButtons: AddCDPositions[]
|
|
6
|
+
endNode: Point & EdgeEndNodeType
|
|
7
|
+
startNode: Point & EdgeNodeType
|
|
8
|
+
handleAddCD: (position: AddCDPositions) => void
|
|
9
|
+
tooltipContent?: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface HandleAddCD {
|
|
13
|
+
position: AddCDPositions
|
|
14
|
+
handleCDSelect: (
|
|
15
|
+
workflowId: number | string,
|
|
16
|
+
ciPipelineId: number | string,
|
|
17
|
+
parentPipelineType: string,
|
|
18
|
+
parentPipelineId: number | string,
|
|
19
|
+
isWebhookCD?: boolean,
|
|
20
|
+
childPipelineId?: number | string,
|
|
21
|
+
addType?: AddPipelineType,
|
|
22
|
+
) => void
|
|
23
|
+
startNode: EdgeNodeType
|
|
24
|
+
endNode: EdgeEndNodeType
|
|
25
|
+
workflowId: number | string
|
|
26
|
+
ciPipelineId: number | string
|
|
27
|
+
isWebhookCD: boolean
|
|
28
|
+
isParallelEdge: boolean
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface GetPipelineType {
|
|
32
|
+
isWebhookCD: boolean
|
|
33
|
+
startNode: EdgeNodeType
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface TooltipContentProps {
|
|
37
|
+
tooltipContent?: string
|
|
38
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AddCDPositions, AddPipelineType, PipelineType, WorkflowNodeType } from '../Types'
|
|
2
|
+
import { HandleAddCD, GetPipelineType } from './types'
|
|
3
|
+
|
|
4
|
+
const getPipelineType = ({ isWebhookCD, startNode }: GetPipelineType) => {
|
|
5
|
+
if (isWebhookCD) {
|
|
6
|
+
return PipelineType.WEBHOOK
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
if (startNode.type === WorkflowNodeType.CI) {
|
|
10
|
+
return PipelineType.CI_PIPELINE
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return PipelineType.CD_PIPELINE
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const handleAddCD = ({
|
|
17
|
+
position,
|
|
18
|
+
handleCDSelect,
|
|
19
|
+
startNode,
|
|
20
|
+
endNode,
|
|
21
|
+
workflowId,
|
|
22
|
+
ciPipelineId,
|
|
23
|
+
isWebhookCD,
|
|
24
|
+
isParallelEdge,
|
|
25
|
+
}: HandleAddCD) => {
|
|
26
|
+
if (!handleCDSelect) {
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
const pipelineType = getPipelineType({ isWebhookCD, startNode })
|
|
30
|
+
const addPipelineType =
|
|
31
|
+
isParallelEdge && position === AddCDPositions.RIGHT ? AddPipelineType.PARALLEL : AddPipelineType.SEQUENTIAL
|
|
32
|
+
const endNodeId = !isParallelEdge && position === AddCDPositions.RIGHT ? endNode.id : null
|
|
33
|
+
|
|
34
|
+
handleCDSelect(workflowId, ciPipelineId, pipelineType, startNode.id, isWebhookCD, endNodeId, addPipelineType)
|
|
35
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { ServerErrors } from './ServerError'
|
|
2
|
+
import { FALLBACK_REQUEST_TIMEOUT, Host, URLS } from './Constants'
|
|
3
|
+
import { ResponseType, APIOptions } from './Types'
|
|
4
|
+
|
|
5
|
+
const responseMessages = {
|
|
6
|
+
100: 'Continue',
|
|
7
|
+
101: 'Switching Protocols',
|
|
8
|
+
102: 'Processing(WebDAV)',
|
|
9
|
+
200: 'OK',
|
|
10
|
+
201: 'Created',
|
|
11
|
+
202: 'Accepted',
|
|
12
|
+
203: 'Non - Authoritative Information',
|
|
13
|
+
204: 'No Content',
|
|
14
|
+
205: 'Reset Content',
|
|
15
|
+
206: 'Partial Content',
|
|
16
|
+
207: 'Multi - Status(WebDAV)',
|
|
17
|
+
208: 'Already Reported(WebDAV)',
|
|
18
|
+
226: 'IM Used',
|
|
19
|
+
300: 'Multiple Choices',
|
|
20
|
+
301: 'Moved Permanently',
|
|
21
|
+
302: 'Found',
|
|
22
|
+
303: 'See Other',
|
|
23
|
+
304: 'Not Modified',
|
|
24
|
+
305: 'Use Proxy',
|
|
25
|
+
307: 'Temporary Redirect',
|
|
26
|
+
308: 'Permanent Redirect(experimental)',
|
|
27
|
+
400: 'Bad Request',
|
|
28
|
+
401: 'Unauthorized',
|
|
29
|
+
402: 'Payment Required',
|
|
30
|
+
403: 'Forbidden',
|
|
31
|
+
404: 'Not Found',
|
|
32
|
+
405: 'Method Not Allowed',
|
|
33
|
+
406: 'Not Acceptable',
|
|
34
|
+
407: 'Proxy Authentication Required',
|
|
35
|
+
408: 'Request Timeout',
|
|
36
|
+
409: 'Conflict',
|
|
37
|
+
410: 'Gone',
|
|
38
|
+
411: 'Length Required',
|
|
39
|
+
412: 'Precondition Failed',
|
|
40
|
+
413: 'Request Entity Too Large',
|
|
41
|
+
414: 'Request - URI Too Long',
|
|
42
|
+
415: 'Unsupported Media Type',
|
|
43
|
+
416: 'Requested Range Not Satisfiable',
|
|
44
|
+
417: 'Expectation Failed',
|
|
45
|
+
418: "I'm a teapot",
|
|
46
|
+
420: 'Enhance Your Calm(Twitter)',
|
|
47
|
+
422: 'Unprocessable Entity(WebDAV)',
|
|
48
|
+
423: 'Locked(WebDAV)',
|
|
49
|
+
424: 'Failed Dependency(WebDAV)',
|
|
50
|
+
425: 'Reserved for WebDAV',
|
|
51
|
+
426: 'Upgrade Required',
|
|
52
|
+
428: 'Precondition Required',
|
|
53
|
+
429: 'Too Many Requests',
|
|
54
|
+
431: 'Request Header Fields Too Large',
|
|
55
|
+
444: 'No Response(Nginx)',
|
|
56
|
+
449: 'Retry With(Microsoft)',
|
|
57
|
+
450: 'Blocked by Windows Parental Controls(Microsoft)',
|
|
58
|
+
451: 'Unavailable For Legal Reasons',
|
|
59
|
+
499: 'Client Closed Request(Nginx)',
|
|
60
|
+
500: 'Internal Server Error',
|
|
61
|
+
501: 'Not Implemented',
|
|
62
|
+
502: 'Bad Gateway',
|
|
63
|
+
503: 'Service Unavailable',
|
|
64
|
+
504: 'Gateway Timeout',
|
|
65
|
+
505: 'HTTP Version Not Supported',
|
|
66
|
+
506: 'Variant Also Negotiates(Experimental)',
|
|
67
|
+
507: 'Insufficient Storage(WebDAV)',
|
|
68
|
+
508: 'Loop Detected(WebDAV)',
|
|
69
|
+
509: 'Bandwidth Limit Exceeded(Apache)',
|
|
70
|
+
510: 'Not Extended',
|
|
71
|
+
511: 'Network Authentication Required',
|
|
72
|
+
598: 'Network read timeout error',
|
|
73
|
+
599: 'Network connect timeout error',
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function handleLogout() {
|
|
77
|
+
const continueParam = `${window.location.pathname.replace(process.env.PUBLIC_URL, '')}${window.location.search}`
|
|
78
|
+
window.location.href = `${window.location.origin}${process.env.PUBLIC_URL}${URLS.LOGIN_SSO}?continue=${continueParam}`
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async function handleServerError(contentType, response) {
|
|
82
|
+
//Test for HTTP Status Code
|
|
83
|
+
let code: number = response.status
|
|
84
|
+
let status: string = response.statusText || responseMessages[code]
|
|
85
|
+
let serverError = new ServerErrors({ code, errors: [] })
|
|
86
|
+
if (contentType !== 'application/json') {
|
|
87
|
+
//used for better debugging,
|
|
88
|
+
status = `${responseMessages[code]}. Please try again.`
|
|
89
|
+
} else {
|
|
90
|
+
const responseBody = await response.json()
|
|
91
|
+
if (responseBody.errors) {
|
|
92
|
+
serverError.errors = responseBody.errors
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
serverError.errors =
|
|
96
|
+
serverError.errors.length > 0 ? serverError.errors : [{ code, internalMessage: status, userMessage: status }]
|
|
97
|
+
throw serverError
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async function fetchAPI(
|
|
101
|
+
url: string,
|
|
102
|
+
type: string,
|
|
103
|
+
data: object,
|
|
104
|
+
signal: AbortSignal,
|
|
105
|
+
preventAutoLogout = false,
|
|
106
|
+
isMultipartRequest?: boolean,
|
|
107
|
+
): Promise<ResponseType> {
|
|
108
|
+
let options = {
|
|
109
|
+
method: type,
|
|
110
|
+
signal,
|
|
111
|
+
body: data ? JSON.stringify(data) : undefined,
|
|
112
|
+
}
|
|
113
|
+
options['credentials'] = 'include' as RequestCredentials
|
|
114
|
+
return fetch(
|
|
115
|
+
`${Host}/${url}`,
|
|
116
|
+
!isMultipartRequest
|
|
117
|
+
? options
|
|
118
|
+
: ({
|
|
119
|
+
method: type,
|
|
120
|
+
body: data,
|
|
121
|
+
} as RequestInit),
|
|
122
|
+
).then(
|
|
123
|
+
async (response) => {
|
|
124
|
+
let contentType = response.headers.get('Content-Type')
|
|
125
|
+
if (response.status === 401) {
|
|
126
|
+
if (preventAutoLogout) {
|
|
127
|
+
throw new ServerErrors({
|
|
128
|
+
code: 401,
|
|
129
|
+
errors: [
|
|
130
|
+
{ code: 401, internalMessage: 'Please login again', userMessage: 'Please login again' },
|
|
131
|
+
],
|
|
132
|
+
})
|
|
133
|
+
} else {
|
|
134
|
+
handleLogout()
|
|
135
|
+
return { code: 401, status: 'Unauthorized', result: [] }
|
|
136
|
+
}
|
|
137
|
+
} else if (response.status >= 300 && response.status <= 599) {
|
|
138
|
+
return await handleServerError(contentType, response)
|
|
139
|
+
} else {
|
|
140
|
+
if (contentType === 'application/json') {
|
|
141
|
+
return response.json().then((responseBody) => {
|
|
142
|
+
if (responseBody.code >= 300 && responseBody.code <= 599) {
|
|
143
|
+
//Test Code in Response Body, despite successful HTTP Response Code
|
|
144
|
+
throw new ServerErrors({ code: responseBody.code, errors: responseBody.errors })
|
|
145
|
+
} else {
|
|
146
|
+
//Successfull Response. Expected Response Type {code, result, status}
|
|
147
|
+
return responseBody
|
|
148
|
+
}
|
|
149
|
+
})
|
|
150
|
+
} else if (contentType === 'octet-stream' || contentType === 'application/octet-stream') {
|
|
151
|
+
//used in getArtifact() API only
|
|
152
|
+
return response
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
(error) => {
|
|
157
|
+
//Network call fails. Handle Failed to Fetch
|
|
158
|
+
let err = {
|
|
159
|
+
code: 0,
|
|
160
|
+
userMessage: error.message,
|
|
161
|
+
internalMessage: error.message,
|
|
162
|
+
moreInfo: error.message,
|
|
163
|
+
}
|
|
164
|
+
throw new ServerErrors({ code: 0, errors: [err] })
|
|
165
|
+
},
|
|
166
|
+
)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
function fetchInTime(
|
|
170
|
+
url: string,
|
|
171
|
+
type: string,
|
|
172
|
+
data: object,
|
|
173
|
+
options?: APIOptions,
|
|
174
|
+
isMultipartRequest?: boolean,
|
|
175
|
+
): Promise<ResponseType> {
|
|
176
|
+
const controller = new AbortController()
|
|
177
|
+
const { signal } = controller
|
|
178
|
+
const timeoutPromise: Promise<ResponseType> = new Promise((resolve, reject) => {
|
|
179
|
+
const requestTimeout = (window as any)?._env_?.GLOBAL_API_TIMEOUT || FALLBACK_REQUEST_TIMEOUT
|
|
180
|
+
const timeout = options?.timeout ? options.timeout : requestTimeout
|
|
181
|
+
|
|
182
|
+
setTimeout(() => {
|
|
183
|
+
controller.abort()
|
|
184
|
+
reject({
|
|
185
|
+
code: 408,
|
|
186
|
+
errors: [{ code: 408, internalMessage: 'Request cancelled', userMessage: 'Request Cancelled' }],
|
|
187
|
+
})
|
|
188
|
+
}, timeout)
|
|
189
|
+
})
|
|
190
|
+
return Promise.race([
|
|
191
|
+
fetchAPI(url, type, data, options?.signal || signal, options?.preventAutoLogout || false, isMultipartRequest),
|
|
192
|
+
timeoutPromise,
|
|
193
|
+
]).catch((err) => {
|
|
194
|
+
if (err instanceof ServerErrors) {
|
|
195
|
+
throw err
|
|
196
|
+
} else {
|
|
197
|
+
throw new ServerErrors({
|
|
198
|
+
code: 408,
|
|
199
|
+
errors: [
|
|
200
|
+
{
|
|
201
|
+
code: 408,
|
|
202
|
+
internalMessage: 'That took longer than expected.',
|
|
203
|
+
userMessage: 'That took longer than expected.',
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
})
|
|
207
|
+
}
|
|
208
|
+
})
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export const post = (
|
|
212
|
+
url: string,
|
|
213
|
+
data: object,
|
|
214
|
+
options?: APIOptions,
|
|
215
|
+
isMultipartRequest?: boolean,
|
|
216
|
+
): Promise<ResponseType> => {
|
|
217
|
+
return fetchInTime(url, 'POST', data, options, isMultipartRequest)
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export const put = (url: string, data: object, options?: APIOptions): Promise<ResponseType> => {
|
|
221
|
+
return fetchInTime(url, 'PUT', data, options)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export const get = (url: string, options?: APIOptions): Promise<ResponseType> => {
|
|
225
|
+
return fetchInTime(url, 'GET', null, options)
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export const trash = (url: string, data?: object, options?: APIOptions): Promise<ResponseType> => {
|
|
229
|
+
return fetchInTime(url, 'DELETE', data, options)
|
|
230
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import Tippy from '@tippyjs/react'
|
|
2
|
+
import { ReactComponent as InfoIcon } from '../../Assets/Icon/ic-info-outlined.svg'
|
|
3
|
+
import { StatusConstants, YET_TO_RUN } from './constants'
|
|
4
|
+
import { AppStatusType } from './types'
|
|
5
|
+
import { triggerStatus } from './utils'
|
|
6
|
+
|
|
7
|
+
export default function AppStatus({
|
|
8
|
+
appStatus,
|
|
9
|
+
isDeploymentStatus = false,
|
|
10
|
+
isJobView = false,
|
|
11
|
+
isVirtualEnv,
|
|
12
|
+
hideStatusMessage = false,
|
|
13
|
+
}: AppStatusType) {
|
|
14
|
+
let status = appStatus
|
|
15
|
+
if (isDeploymentStatus) {
|
|
16
|
+
status = triggerStatus(appStatus)
|
|
17
|
+
}
|
|
18
|
+
const appStatusLowerCase = status?.toLowerCase()
|
|
19
|
+
const isNotDeployed = appStatusLowerCase === StatusConstants.NOT_DEPLOYED.noSpaceLower
|
|
20
|
+
const iconClass = isNotDeployed ? StatusConstants.NOT_DEPLOYED.lowerCase : appStatusLowerCase
|
|
21
|
+
const statusMessage = status || (isVirtualEnv ? StatusConstants.NOT_AVILABLE.normalCase : '-')
|
|
22
|
+
const notDeployed = isJobView ? YET_TO_RUN : StatusConstants.NOT_DEPLOYED.normalCase
|
|
23
|
+
const textContent = isNotDeployed ? notDeployed : statusMessage
|
|
24
|
+
|
|
25
|
+
const renderIcon = () => {
|
|
26
|
+
if (iconClass) {
|
|
27
|
+
return <span className={`dc__app-summary__icon icon-dim-16 ${iconClass} ${iconClass}--node`} />
|
|
28
|
+
} else if (isVirtualEnv) {
|
|
29
|
+
return (
|
|
30
|
+
<span
|
|
31
|
+
className={`dc__app-summary__icon icon-dim-16 ${StatusConstants.NOT_DEPLOYED.lowerCase} ${StatusConstants.NOT_DEPLOYED.lowerCase}--node`}
|
|
32
|
+
/>
|
|
33
|
+
)
|
|
34
|
+
} else {
|
|
35
|
+
return (
|
|
36
|
+
<Tippy
|
|
37
|
+
className="default-tt w-200"
|
|
38
|
+
arrow={false}
|
|
39
|
+
placement="top"
|
|
40
|
+
content="To fetch app status for GitOps based deployments open the app detail page"
|
|
41
|
+
>
|
|
42
|
+
<InfoIcon className="icon-dim-16 fcn-6" />
|
|
43
|
+
</Tippy>
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return hideStatusMessage ? (
|
|
49
|
+
iconClass || isVirtualEnv ? (
|
|
50
|
+
<Tippy className="default-tt" arrow={false} placement="top" content={textContent}>
|
|
51
|
+
<div className="flex">{renderIcon()}</div>
|
|
52
|
+
</Tippy>
|
|
53
|
+
) : (
|
|
54
|
+
renderIcon()
|
|
55
|
+
)
|
|
56
|
+
) : (
|
|
57
|
+
<div className="flex left">
|
|
58
|
+
<div className="flex mr-6">{renderIcon()}</div>
|
|
59
|
+
<p data-testid={`${status}-app-status`} className="dc__truncate-text dc__first-letter-capitalize cn-6 m-0">
|
|
60
|
+
{textContent}
|
|
61
|
+
</p>
|
|
62
|
+
</div>
|
|
63
|
+
)
|
|
64
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export const StatusConstants = {
|
|
2
|
+
NOT_DEPLOYED: {
|
|
3
|
+
noSpaceLower: 'notdeployed',
|
|
4
|
+
normalCase: 'Not deployed',
|
|
5
|
+
lowerCase: 'not-deployed',
|
|
6
|
+
},
|
|
7
|
+
APP_STATUS: {
|
|
8
|
+
noSpaceLower: 'appStatus',
|
|
9
|
+
normalText: 'App status',
|
|
10
|
+
},
|
|
11
|
+
PROJECT: {
|
|
12
|
+
pluralLower: 'projects',
|
|
13
|
+
lowerCase: 'project',
|
|
14
|
+
},
|
|
15
|
+
CLUSTER: {
|
|
16
|
+
pluralLower: 'clusters',
|
|
17
|
+
lowerCase: 'cluster',
|
|
18
|
+
},
|
|
19
|
+
NAMESPACE: {
|
|
20
|
+
pluralLower: 'namespaces',
|
|
21
|
+
lowerCase: 'namespace',
|
|
22
|
+
},
|
|
23
|
+
ENVIRONMENT: {
|
|
24
|
+
pluralLower: 'environments',
|
|
25
|
+
lowerCase: 'environment',
|
|
26
|
+
},
|
|
27
|
+
NOT_AVILABLE: {
|
|
28
|
+
normalCase: 'Not available',
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export enum TIMELINE_STATUS {
|
|
33
|
+
DEPLOYMENT_INITIATED = 'DEPLOYMENT_INITIATED',
|
|
34
|
+
GIT_COMMIT = 'GIT_COMMIT',
|
|
35
|
+
GIT_COMMIT_FAILED = 'GIT_COMMIT_FAILED',
|
|
36
|
+
KUBECTL_APPLY = 'KUBECTL_APPLY',
|
|
37
|
+
KUBECTL_APPLY_STARTED = 'KUBECTL_APPLY_STARTED',
|
|
38
|
+
KUBECTL_APPLY_SYNCED = 'KUBECTL_APPLY_SYNCED',
|
|
39
|
+
HEALTHY = 'HEALTHY',
|
|
40
|
+
APP_HEALTH = 'APP_HEALTH',
|
|
41
|
+
DEPLOYMENT_FAILED = 'FAILED',
|
|
42
|
+
FETCH_TIMED_OUT = 'TIMED_OUT',
|
|
43
|
+
UNABLE_TO_FETCH_STATUS = 'UNABLE_TO_FETCH_STATUS',
|
|
44
|
+
DEGRADED = 'DEGRADED',
|
|
45
|
+
DEPLOYMENT_SUPERSEDED = 'DEPLOYMENT_SUPERSEDED',
|
|
46
|
+
ABORTED = 'ABORTED',
|
|
47
|
+
INPROGRESS = 'INPROGRESS',
|
|
48
|
+
HELM_PACKAGE_GENERATED = 'HELM_PACKAGE_GENERATED',
|
|
49
|
+
HELM_MANIFEST_PUSHED_TO_HELM_REPO = 'HELM_MANIFEST_PUSHED_TO_HELM_REPO',
|
|
50
|
+
HELM_MANIFEST_PUSHED_TO_HELM_REPO_FAILED = 'HELM_MANIFEST_PUSHED_TO_HELM_REPO_FAILED',
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const YET_TO_RUN = 'Yet to run'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AppStatus } from './AppStatus'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface AppStatusType {
|
|
2
|
+
appStatus: string
|
|
3
|
+
isDeploymentStatus?: boolean
|
|
4
|
+
isJobView?: boolean
|
|
5
|
+
isVirtualEnv?: boolean
|
|
6
|
+
/**
|
|
7
|
+
* Hide the status message if true and show status message in tooltip
|
|
8
|
+
*
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
hideStatusMessage?: boolean
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TIMELINE_STATUS } from './constants'
|
|
2
|
+
|
|
3
|
+
export const triggerStatus = (triggerDetailStatus: string): string => {
|
|
4
|
+
let triggerStatus = triggerDetailStatus?.toUpperCase()
|
|
5
|
+
if (triggerStatus === TIMELINE_STATUS.ABORTED || triggerStatus === TIMELINE_STATUS.DEGRADED) {
|
|
6
|
+
return 'Failed'
|
|
7
|
+
} else if (triggerStatus === TIMELINE_STATUS.HEALTHY) {
|
|
8
|
+
return 'Succeeded'
|
|
9
|
+
} else if (triggerStatus === TIMELINE_STATUS.INPROGRESS) {
|
|
10
|
+
return 'Inprogress'
|
|
11
|
+
} else {
|
|
12
|
+
return triggerDetailStatus
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import React, { useMemo, useEffect } from 'react'
|
|
2
|
+
import { Link, useRouteMatch, useParams } from 'react-router-dom'
|
|
3
|
+
import { useBreadcrumbContext } from './BreadcrumbStore'
|
|
4
|
+
import { ConditionalWrap } from '../Helper'
|
|
5
|
+
import { Breadcrumb, Breadcrumbs, UseBreadcrumbOptionalProps, UseBreadcrumbState } from './Types'
|
|
6
|
+
export const BreadcrumbContext = React.createContext(null)
|
|
7
|
+
|
|
8
|
+
export function useBreadcrumb(props?: UseBreadcrumbOptionalProps, deps?: any[]): UseBreadcrumbState {
|
|
9
|
+
let sep = props?.sep || '/'
|
|
10
|
+
deps = deps || []
|
|
11
|
+
const { url, path } = useRouteMatch()
|
|
12
|
+
const params = useParams()
|
|
13
|
+
const { state, setState } = useBreadcrumbContext()
|
|
14
|
+
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!props || !props.alias) return
|
|
17
|
+
setState((state) => ({ ...state, alias: { ...state.alias, ...props.alias } }))
|
|
18
|
+
return () => resetCrumb(Object.keys(props.alias))
|
|
19
|
+
}, deps)
|
|
20
|
+
|
|
21
|
+
function setCrumb(props) {
|
|
22
|
+
setState((state) => ({ ...state, alias: { ...state.alias, ...props } }))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function resetCrumb(props: string[]) {
|
|
26
|
+
const tempAlias = props.reduce((agg, curr, idx) => {
|
|
27
|
+
delete agg[curr]
|
|
28
|
+
return agg
|
|
29
|
+
}, state.alias)
|
|
30
|
+
setState((state) => ({ ...state, alias: tempAlias }))
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
let levels: Breadcrumb[] = useMemo(() => {
|
|
34
|
+
const paths = path.split('/').filter(Boolean)
|
|
35
|
+
const urls = url.split('/').filter(Boolean)
|
|
36
|
+
return paths.map((path, idx) => {
|
|
37
|
+
const crumb: Breadcrumb = { to: urls[idx], name: path }
|
|
38
|
+
if (path.startsWith(':') && params[path.replace(':', '')]) {
|
|
39
|
+
crumb.className = 'param'
|
|
40
|
+
}
|
|
41
|
+
return crumb
|
|
42
|
+
})
|
|
43
|
+
}, [path, url])
|
|
44
|
+
const { res: breadcrumbs } = useMemo(() => {
|
|
45
|
+
return levels.reduce(
|
|
46
|
+
(agg, curr, idx) => {
|
|
47
|
+
const { res, prefix } = agg
|
|
48
|
+
const { to, name } = curr
|
|
49
|
+
res.push({
|
|
50
|
+
to:
|
|
51
|
+
!state.alias[name]?.component || (state.alias[name]?.component && state.alias[name]?.linked)
|
|
52
|
+
? `${prefix}${to}`
|
|
53
|
+
: null,
|
|
54
|
+
name:
|
|
55
|
+
typeof state.alias[name] === 'object'
|
|
56
|
+
? !!state.alias[name]?.component
|
|
57
|
+
? state.alias[name].component
|
|
58
|
+
: null
|
|
59
|
+
: state.alias[name] || name,
|
|
60
|
+
className: curr.className || '',
|
|
61
|
+
})
|
|
62
|
+
return { res, prefix: `${prefix}${curr.to}${sep}` }
|
|
63
|
+
},
|
|
64
|
+
{ res: [], prefix: '/' },
|
|
65
|
+
)
|
|
66
|
+
}, [levels, state])
|
|
67
|
+
|
|
68
|
+
return { breadcrumbs, setCrumb, resetCrumb }
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const BreadCrumb: React.FC<Breadcrumbs> = ({
|
|
72
|
+
breadcrumbs,
|
|
73
|
+
sep = '/',
|
|
74
|
+
className = 'dc__devtron-breadcrumb__item',
|
|
75
|
+
}) => {
|
|
76
|
+
const { url } = useRouteMatch()
|
|
77
|
+
const filteredCrumbs = breadcrumbs.filter((crumb) => !!crumb.name)
|
|
78
|
+
return (
|
|
79
|
+
<React.Fragment>
|
|
80
|
+
{filteredCrumbs.map((breadcrumb, idx) => (
|
|
81
|
+
<React.Fragment key={idx}>
|
|
82
|
+
<ConditionalWrap
|
|
83
|
+
condition={!!breadcrumb.to}
|
|
84
|
+
wrap={(children) => (
|
|
85
|
+
<Link
|
|
86
|
+
className={`${url === breadcrumb.to ? 'active' : ''} ${className} ${
|
|
87
|
+
breadcrumb.className || ''
|
|
88
|
+
}`}
|
|
89
|
+
to={breadcrumb.to}
|
|
90
|
+
>
|
|
91
|
+
{children}
|
|
92
|
+
</Link>
|
|
93
|
+
)}
|
|
94
|
+
>
|
|
95
|
+
{breadcrumb.name}
|
|
96
|
+
</ConditionalWrap>
|
|
97
|
+
|
|
98
|
+
{idx + 1 !== filteredCrumbs.length && breadcrumb.name && (
|
|
99
|
+
<span className={`${className}__separator cn-5`}>{sep}</span>
|
|
100
|
+
)}
|
|
101
|
+
</React.Fragment>
|
|
102
|
+
))}
|
|
103
|
+
</React.Fragment>
|
|
104
|
+
)
|
|
105
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { createContext, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
const initialState = {
|
|
4
|
+
alias: {},
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const Store = ({ children }) => {
|
|
8
|
+
const [state, setState] = useState(initialState)
|
|
9
|
+
return <BreadcrumbContext.Provider value={{ state, setState }}>{children}</BreadcrumbContext.Provider>
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const BreadcrumbContext = createContext({
|
|
13
|
+
state: { alias: {} },
|
|
14
|
+
setState: null,
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
export function useBreadcrumbContext() {
|
|
18
|
+
const context = React.useContext(BreadcrumbContext)
|
|
19
|
+
if (!context) {
|
|
20
|
+
throw new Error(`breadcrumb components cannot be used outside Breadcrumb context`)
|
|
21
|
+
}
|
|
22
|
+
return context
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default Store
|
|
@@ -0,0 +1,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
|