@devtron-labs/devtron-fe-common-lib 0.0.59 → 0.0.60-beta-1
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/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 +3 -4
- 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/CodeEditor/CodeEditor.d.ts +47 -0
- package/dist/Common/Common.service.d.ts +20 -20
- package/dist/Common/Constants.d.ts +81 -75
- package/dist/Common/CustomInput/CustomInput.d.ts +2 -3
- package/dist/Common/CustomInput/Types.d.ts +31 -31
- 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 +2 -3
- package/dist/Common/CustomTagSelector/TagDetails.d.ts +2 -3
- package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +2 -3
- package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +2 -3
- 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 +3 -4
- package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
- package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +2 -3
- 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 +8 -9
- 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 +14 -16
- package/dist/Common/EmptyState/GenericEmptyState.d.ts +3 -5
- package/dist/Common/Error.d.ts +17 -17
- package/dist/Common/ErrorScreenNotFound.d.ts +2 -3
- package/dist/Common/Grid/Grid.d.ts +3 -3
- package/dist/Common/Grid/types.d.ts +10 -10
- package/dist/Common/Helper.d.ts +68 -64
- 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 +3 -4
- package/dist/Common/InfoColorBar/InfoColourbar.d.ts +3 -5
- 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 +3 -4
- package/dist/Common/Pagination/Pagination.d.ts +3 -5
- 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 +7 -8
- package/dist/Common/Progressing.d.ts +3 -4
- package/dist/Common/RJSF/Form.d.ts +2 -4
- package/dist/Common/RJSF/common/FieldRow.d.ts +5 -6
- 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 +2 -3
- package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +2 -3
- package/dist/Common/RJSF/templates/BaseInput.d.ts +2 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +2 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +2 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +2 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
- package/dist/Common/RJSF/templates/Description.d.ts +2 -3
- package/dist/Common/RJSF/templates/Field.d.ts +2 -3
- package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +2 -3
- package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +2 -3
- package/dist/Common/RJSF/templates/TitleField.d.ts +2 -3
- package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +2 -3
- 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 +25 -26
- package/dist/Common/RJSF/widgets/Checkbox.d.ts +2 -3
- package/dist/Common/RJSF/widgets/Select.d.ts +2 -3
- package/dist/Common/RJSF/widgets/index.d.ts +2 -2
- package/dist/Common/RadioGroup/RadioGroup.d.ts +16 -17
- 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 +37 -39
- package/dist/Common/SearchBar/index.d.ts +2 -2
- package/dist/Common/SearchBar/types.d.ts +35 -35
- package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +3 -4
- package/dist/Common/Select/Select.d.ts +4 -0
- package/dist/Common/Select/types.d.ts +29 -0
- package/dist/Common/ServerError.d.ts +15 -15
- package/dist/Common/TippyCustomized.d.ts +2 -4
- package/dist/Common/ToastBody.d.ts +23 -23
- package/dist/Common/Toggle/Toggle.d.ts +12 -14
- package/dist/Common/Types.d.ts +691 -691
- package/dist/Common/index.d.ts +50 -50
- package/dist/abap-9f67f57a.js +1314 -0
- package/dist/apex-ff62e532.js +315 -0
- package/dist/assets/editor.worker-d26000ef.js +9 -0
- package/dist/assets/index.css +1 -0
- package/dist/assets/json.worker-f23a4654.js +40 -0
- package/dist/assets/yaml.worker-35ea3f9a.js +467 -0
- package/dist/azcli-31e64a7f.js +74 -0
- package/dist/bat-0ffe897e.js +95 -0
- package/dist/bicep-3414a2b1.js +108 -0
- package/dist/cameligo-df1f3f25.js +168 -0
- package/dist/clojure-65b0f010.js +754 -0
- package/dist/coffee-437f0fba.js +228 -0
- package/dist/cpp-66843dd5.js +390 -0
- package/dist/csharp-621d9a49.js +320 -0
- package/dist/csp-de0d5244.js +57 -0
- package/dist/css-7cd5ed4c.js +186 -0
- package/dist/cssMode-6b75f943.js +1446 -0
- package/dist/cypher-70ad96fe.js +262 -0
- package/dist/dart-33ae3739.js +270 -0
- package/dist/dockerfile-f2274a50.js +132 -0
- package/dist/ecl-3b8294a3.js +454 -0
- package/dist/elixir-b9dcc73a.js +489 -0
- package/dist/flow9-bdde8316.js +141 -0
- package/dist/freemarker2-af9f92ac.js +643 -0
- package/dist/fsharp-eac2e449.js +210 -0
- package/dist/go-d12ed8d4.js +208 -0
- package/dist/graphql-c7356b69.js +141 -0
- package/dist/handlebars-cc9800dd.js +391 -0
- package/dist/hcl-e883a0d4.js +177 -0
- package/dist/html-edc1e4c2.js +281 -0
- package/dist/htmlMode-17cc8a79.js +1456 -0
- package/dist/index-32e797ab.js +126102 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.js +162 -28883
- package/dist/ini-425ab711.js +68 -0
- package/dist/java-2bc0fd68.js +221 -0
- package/dist/javascript-5e615a9b.js +75 -0
- package/dist/jsonMode-742c1a1b.js +1867 -0
- package/dist/julia-1c932615.js +496 -0
- package/dist/kotlin-1ab839c8.js +245 -0
- package/dist/less-6fe856f5.js +168 -0
- package/dist/lexon-4955ac52.js +151 -0
- package/dist/liquid-843d0e9e.js +238 -0
- package/dist/lua-3cca0047.js +157 -0
- package/dist/m3-132e9cb6.js +210 -0
- package/dist/markdown-ea59a0c1.js +202 -0
- package/dist/mips-19811f4b.js +194 -0
- package/dist/msdax-69954a10.js +377 -0
- package/dist/mysql-82088e5d.js +876 -0
- package/dist/objective-c-1976eccc.js +188 -0
- package/dist/pascal-8ef177cb.js +245 -0
- package/dist/pascaligo-bc517b9e.js +158 -0
- package/dist/perl-8b93582c.js +599 -0
- package/dist/pgsql-00c11a6d.js +847 -0
- package/dist/php-4c8c276f.js +471 -0
- package/dist/pla-e9b4ffb1.js +131 -0
- package/dist/postiats-2071af8c.js +544 -0
- package/dist/powerquery-8e388ceb.js +890 -0
- package/dist/powershell-e35db398.js +233 -0
- package/dist/protobuf-a24b9176.js +422 -0
- package/dist/pug-2c94d9b8.js +393 -0
- package/dist/python-67e4059c.js +259 -0
- package/dist/qsharp-d730d7fe.js +282 -0
- package/dist/r-be193556.js +245 -0
- package/dist/razor-8e9d6aa5.js +512 -0
- package/dist/redis-9690c6ac.js +298 -0
- package/dist/redshift-6bdcdeaa.js +806 -0
- package/dist/restructuredtext-a08c1d20.js +162 -0
- package/dist/ruby-2247692b.js +444 -0
- package/dist/rust-1dffb4d5.js +337 -0
- package/dist/sb-136598e9.js +110 -0
- package/dist/scala-b1100fed.js +353 -0
- package/dist/scheme-038c8094.js +114 -0
- package/dist/scss-700d1b52.js +244 -0
- package/dist/shell-86c16e0f.js +224 -0
- package/dist/solidity-c05fdf3c.js +1351 -0
- package/dist/sophia-cd645d71.js +190 -0
- package/dist/sparql-01d9ec9c.js +193 -0
- package/dist/sql-4c33df41.js +818 -0
- package/dist/st-52cf1408.js +414 -0
- package/dist/swift-13c792ba.js +315 -0
- package/dist/systemverilog-0bd8b730.js +556 -0
- package/dist/tcl-463d7c75.js +232 -0
- package/dist/tsMode-d5db18bc.js +811 -0
- package/dist/twig-0d98f5ec.js +323 -0
- package/dist/typescript-302557e6.js +328 -0
- package/dist/vb-3a2b0a51.js +364 -0
- package/dist/wgsl-b2ddb3e4.js +420 -0
- package/dist/xml-47f08bc4.js +95 -0
- package/dist/yaml-49f075d9.js +184 -0
- package/package.json +34 -23
- package/.eslintignore +0 -96
- package/.eslintrc.js +0 -109
- package/.github/pull_request_template.md +0 -25
- package/.github/workflows/ci.yml +0 -31
- package/.github/workflows/release-package.yml +0 -48
- package/.husky/pre-commit +0 -5
- package/.lintstagedrc +0 -3
- package/.nvmrc +0 -1
- package/.prettierrc.js +0 -7
- package/dist/Common/EmptyState/EmptyState.d.ts +0 -25
- package/rollup.config.js +0 -31
- package/src/Assets/Icon/ic-add.svg +0 -3
- package/src/Assets/Icon/ic-appstatus-cancelled.svg +0 -6
- package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +0 -5
- package/src/Assets/Icon/ic-check.svg +0 -5
- package/src/Assets/Icon/ic-chevron-down.svg +0 -5
- package/src/Assets/Icon/ic-copy.svg +0 -3
- package/src/Assets/Icon/ic-cross.svg +0 -3
- package/src/Assets/Icon/ic-drag.svg +0 -8
- package/src/Assets/Icon/ic-enter.svg +0 -3
- package/src/Assets/Icon/ic-error-cross.svg +0 -8
- package/src/Assets/Icon/ic-error-exclamation.svg +0 -6
- package/src/Assets/Icon/ic-error-medium.svg +0 -6
- package/src/Assets/Icon/ic-help-outline.svg +0 -3
- package/src/Assets/Icon/ic-help.svg +0 -3
- package/src/Assets/Icon/ic-info-filled.svg +0 -7
- package/src/Assets/Icon/ic-info-outlined.svg +0 -13
- package/src/Assets/Icon/ic-minus.svg +0 -3
- package/src/Assets/Icon/ic-pencil.svg +0 -3
- package/src/Assets/Icon/ic-progressing.svg +0 -6
- package/src/Assets/Icon/ic-rotate-devtron.svg +0 -103
- package/src/Assets/Icon/ic-search.svg +0 -6
- package/src/Assets/Icon/ic-warning.svg +0 -7
- package/src/Assets/Icon/inject-tag.svg +0 -5
- package/src/Assets/Img/app-not-deployed.png +0 -0
- package/src/Assets/Img/delete-medium.svg +0 -15
- 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 +0 -62
- package/src/Common/AddCDButton/AddCDButton.tsx +0 -68
- package/src/Common/AddCDButton/index.ts +0 -2
- package/src/Common/AddCDButton/types.ts +0 -38
- package/src/Common/AddCDButton/utils.tsx +0 -35
- package/src/Common/Api.ts +0 -230
- package/src/Common/AppStatus/AppStatus.tsx +0 -64
- package/src/Common/AppStatus/constants.ts +0 -53
- package/src/Common/AppStatus/index.ts +0 -1
- package/src/Common/AppStatus/types.ts +0 -12
- package/src/Common/AppStatus/utils.ts +0 -14
- package/src/Common/BreadCrumb/BreadCrumb.tsx +0 -105
- package/src/Common/BreadCrumb/BreadcrumbStore.tsx +0 -25
- package/src/Common/BreadCrumb/Types.ts +0 -30
- package/src/Common/CIPipeline.Types.ts +0 -277
- package/src/Common/ChartVersionAndTypeSelector.tsx +0 -78
- package/src/Common/Checkbox.tsx +0 -36
- package/src/Common/ClipboardButton/ClipboardButton.tsx +0 -61
- package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +0 -43
- package/src/Common/ClipboardButton/types.ts +0 -7
- package/src/Common/Common.service.ts +0 -315
- package/src/Common/Constants.ts +0 -254
- package/src/Common/CustomInput/CustomInput.tsx +0 -134
- package/src/Common/CustomInput/Types.ts +0 -32
- package/src/Common/CustomInput/index.ts +0 -2
- package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +0 -46
- package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +0 -84
- package/src/Common/CustomTagSelector/TagDetails.tsx +0 -76
- package/src/Common/CustomTagSelector/TagLabelSelect.tsx +0 -61
- package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +0 -198
- package/src/Common/CustomTagSelector/TagSelector.utils.ts +0 -71
- package/src/Common/CustomTagSelector/Types.ts +0 -72
- package/src/Common/CustomTagSelector/ValidationRules.ts +0 -58
- package/src/Common/CustomTagSelector/index.ts +0 -6
- package/src/Common/DebouncedSearch/DebouncedSearch.tsx +0 -78
- package/src/Common/DebouncedSearch/Types.ts +0 -13
- package/src/Common/DebouncedSearch/Utils.ts +0 -19
- package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +0 -61
- package/src/Common/DeleteComponentModal/DeleteComponent.tsx +0 -95
- package/src/Common/DeleteComponentModal/types.ts +0 -15
- package/src/Common/DevtronProgressing/DevtronProgressing.tsx +0 -11
- package/src/Common/DevtronProgressing/index.ts +0 -1
- package/src/Common/DevtronProgressing/types.ts +0 -4
- package/src/Common/Dialogs/ConfirmationDialog.tsx +0 -34
- package/src/Common/Dialogs/DeleteDialog.tsx +0 -69
- package/src/Common/Dialogs/DialogForm.tsx +0 -86
- package/src/Common/Dialogs/ForceDeleteDialog.tsx +0 -19
- package/src/Common/Dialogs/Types.ts +0 -47
- package/src/Common/Dialogs/index.ts +0 -4
- package/src/Common/DraggableWrapper/DraggableButton.tsx +0 -14
- package/src/Common/DraggableWrapper/DraggableWrapper.tsx +0 -116
- package/src/Common/DraggableWrapper/index.ts +0 -3
- package/src/Common/DraggableWrapper/types.ts +0 -27
- package/src/Common/Drawer/Drawer.scss +0 -40
- package/src/Common/Drawer/Drawer.tsx +0 -49
- package/src/Common/EmptyState/EmptyState.tsx +0 -42
- package/src/Common/EmptyState/GenericEmptyState.tsx +0 -81
- package/src/Common/EmptyState/emptyState.scss +0 -74
- package/src/Common/Error.tsx +0 -61
- package/src/Common/ErrorScreenNotFound.tsx +0 -31
- package/src/Common/Grid/Grid.tsx +0 -44
- package/src/Common/Grid/types.ts +0 -11
- package/src/Common/Helper.tsx +0 -576
- package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +0 -15
- package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +0 -24
- package/src/Common/Hooks/UseSuperAdmin/types.ts +0 -3
- package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +0 -31
- package/src/Common/Hooks/index.ts +0 -3
- package/src/Common/ImageTags.Types.ts +0 -44
- package/src/Common/ImageTags.tsx +0 -586
- package/src/Common/InfoColorBar/InfoColourbar.tsx +0 -80
- package/src/Common/InfoColorBar/infoColourBar.scss +0 -28
- package/src/Common/Modals/Modal.tsx +0 -68
- package/src/Common/Modals/OpaqueModal.tsx +0 -36
- package/src/Common/Modals/VisibleModal.tsx +0 -55
- package/src/Common/Modals/VisibleModal2.tsx +0 -35
- package/src/Common/MultiSelectCustomization.tsx +0 -148
- package/src/Common/Pagination/PageSizeSelector.tsx +0 -78
- package/src/Common/Pagination/Pagination.tsx +0 -127
- package/src/Common/Pagination/constants.ts +0 -6
- package/src/Common/Pagination/index.tsx +0 -3
- package/src/Common/Pagination/pagination.scss +0 -123
- package/src/Common/Pagination/types.ts +0 -55
- package/src/Common/Pagination/utils.tsx +0 -24
- package/src/Common/Policy.Types.ts +0 -63
- package/src/Common/PopupMenu.tsx +0 -199
- package/src/Common/Progressing.tsx +0 -53
- package/src/Common/RJSF/Form.tsx +0 -29
- package/src/Common/RJSF/common/FieldRow.tsx +0 -35
- package/src/Common/RJSF/common/types.ts +0 -9
- package/src/Common/RJSF/config.ts +0 -37
- package/src/Common/RJSF/constants.ts +0 -10
- package/src/Common/RJSF/index.ts +0 -3
- package/src/Common/RJSF/rjsfForm.scss +0 -18
- package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +0 -31
- package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +0 -78
- package/src/Common/RJSF/templates/BaseInput.tsx +0 -16
- package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +0 -18
- package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +0 -10
- package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +0 -18
- package/src/Common/RJSF/templates/ButtonTemplates/index.ts +0 -3
- package/src/Common/RJSF/templates/Description.tsx +0 -12
- package/src/Common/RJSF/templates/Field.tsx +0 -30
- package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +0 -25
- package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +0 -105
- package/src/Common/RJSF/templates/TitleField.tsx +0 -9
- package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +0 -51
- package/src/Common/RJSF/templates/index.ts +0 -10
- package/src/Common/RJSF/types.ts +0 -4
- package/src/Common/RJSF/utils.ts +0 -123
- package/src/Common/RJSF/widgets/Checkbox.tsx +0 -44
- package/src/Common/RJSF/widgets/Select.tsx +0 -77
- package/src/Common/RJSF/widgets/index.ts +0 -2
- package/src/Common/RadioGroup/RadioGroup.tsx +0 -105
- package/src/Common/RadioGroup/radioGroup.scss +0 -46
- package/src/Common/RadioGroup.tsx +0 -53
- package/src/Common/Reload.tsx +0 -23
- package/src/Common/ResizableTextarea.tsx +0 -73
- package/src/Common/SearchBar/SearchBar.component.tsx +0 -119
- package/src/Common/SearchBar/index.ts +0 -2
- package/src/Common/SearchBar/searchBar.scss +0 -31
- package/src/Common/SearchBar/types.ts +0 -34
- package/src/Common/Security/ScanVulnerabilitiesTable.tsx +0 -55
- package/src/Common/Security/scanVulnerabilities.css +0 -69
- package/src/Common/ServerError.ts +0 -31
- package/src/Common/TippyCustomized.tsx +0 -172
- package/src/Common/ToastBody.tsx +0 -62
- package/src/Common/Toggle/Toggle.scss +0 -78
- package/src/Common/Toggle/Toggle.tsx +0 -50
- package/src/Common/Types.ts +0 -764
- package/src/Common/index.ts +0 -50
- package/src/custom.d.ts +0 -13
- package/src/index.ts +0 -1
- package/tsconfig.json +0 -40
package/src/Common/Helper.tsx
DELETED
|
@@ -1,576 +0,0 @@
|
|
|
1
|
-
import * as Sentry from '@sentry/browser'
|
|
2
|
-
import moment from 'moment'
|
|
3
|
-
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
|
4
|
-
import { useLocation } from 'react-router-dom'
|
|
5
|
-
import { toast } from 'react-toastify'
|
|
6
|
-
import { ERROR_EMPTY_SCREEN, TOKEN_COOKIE_NAME } from './Constants'
|
|
7
|
-
import { ServerErrors } from './ServerError'
|
|
8
|
-
import { toastAccessDenied } from './ToastBody'
|
|
9
|
-
import { AsyncOptions, AsyncState, UseSearchString } from './Types'
|
|
10
|
-
import { JSONPath } from 'jsonpath-plus'
|
|
11
|
-
import * as jsonpatch from 'fast-json-patch'
|
|
12
|
-
|
|
13
|
-
toast.configure({
|
|
14
|
-
autoClose: 3000,
|
|
15
|
-
hideProgressBar: true,
|
|
16
|
-
pauseOnHover: true,
|
|
17
|
-
pauseOnFocusLoss: true,
|
|
18
|
-
closeOnClick: false,
|
|
19
|
-
newestOnTop: true,
|
|
20
|
-
toastClassName: 'devtron-toast',
|
|
21
|
-
bodyClassName: 'devtron-toast__body',
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
export function showError(serverError, showToastOnUnknownError = true, hideAccessError = false) {
|
|
25
|
-
if (serverError instanceof ServerErrors && Array.isArray(serverError.errors)) {
|
|
26
|
-
serverError.errors.map(({ userMessage, internalMessage }) => {
|
|
27
|
-
if (
|
|
28
|
-
serverError.code === 403 &&
|
|
29
|
-
(userMessage === ERROR_EMPTY_SCREEN.UNAUTHORIZED || userMessage === ERROR_EMPTY_SCREEN.FORBIDDEN)
|
|
30
|
-
) {
|
|
31
|
-
if (!hideAccessError) {
|
|
32
|
-
toastAccessDenied()
|
|
33
|
-
}
|
|
34
|
-
} else {
|
|
35
|
-
toast.error(userMessage || internalMessage)
|
|
36
|
-
}
|
|
37
|
-
})
|
|
38
|
-
} else {
|
|
39
|
-
if (serverError.code !== 403 && serverError.code !== 408) {
|
|
40
|
-
Sentry.captureException(serverError)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (showToastOnUnknownError) {
|
|
44
|
-
if (serverError.message) {
|
|
45
|
-
toast.error(serverError.message)
|
|
46
|
-
} else {
|
|
47
|
-
toast.error('Some Error Occurred')
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
interface ConditionalWrapper<T> {
|
|
54
|
-
condition: boolean
|
|
55
|
-
wrap: (children: T) => T
|
|
56
|
-
children: T
|
|
57
|
-
}
|
|
58
|
-
export const ConditionalWrap: React.FC<ConditionalWrapper<any>> = ({ condition, wrap, children }) =>
|
|
59
|
-
condition ? wrap(children) : <>{children}</>
|
|
60
|
-
|
|
61
|
-
export function sortCallback(key: string, a: any, b: any, isCaseSensitive?: boolean) {
|
|
62
|
-
let x = a[key]
|
|
63
|
-
let y = b[key]
|
|
64
|
-
if (isCaseSensitive) {
|
|
65
|
-
x = x.toLowerCase()
|
|
66
|
-
y = y.toLowerCase()
|
|
67
|
-
}
|
|
68
|
-
if (x < y) {
|
|
69
|
-
return -1
|
|
70
|
-
}
|
|
71
|
-
if (x > y) {
|
|
72
|
-
return 1
|
|
73
|
-
}
|
|
74
|
-
return 0
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export const stopPropagation = (event): void => {
|
|
78
|
-
event.stopPropagation()
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export function useThrottledEffect(callback, delay, deps = []) {
|
|
82
|
-
//function will be executed only once in a given time interval.
|
|
83
|
-
const lastRan = useRef(Date.now())
|
|
84
|
-
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
const handler = setTimeout(function () {
|
|
87
|
-
if (Date.now() - lastRan.current >= delay) {
|
|
88
|
-
callback()
|
|
89
|
-
lastRan.current = Date.now()
|
|
90
|
-
}
|
|
91
|
-
}, delay - (Date.now() - lastRan.current))
|
|
92
|
-
|
|
93
|
-
return () => {
|
|
94
|
-
clearTimeout(handler)
|
|
95
|
-
}
|
|
96
|
-
}, [delay, ...deps])
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const colors = [
|
|
100
|
-
'#FFB900',
|
|
101
|
-
'#D83B01',
|
|
102
|
-
'#B50E0E',
|
|
103
|
-
'#E81123',
|
|
104
|
-
'#B4009E',
|
|
105
|
-
'#5C2D91',
|
|
106
|
-
'#0078D7',
|
|
107
|
-
'#00B4FF',
|
|
108
|
-
'#008272',
|
|
109
|
-
'#107C10',
|
|
110
|
-
]
|
|
111
|
-
|
|
112
|
-
export function getRandomColor(email: string): string {
|
|
113
|
-
let sum = 0
|
|
114
|
-
for (let i = 0; i < email.length; i++) {
|
|
115
|
-
sum += email.charCodeAt(i)
|
|
116
|
-
}
|
|
117
|
-
return colors[sum % colors.length]
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export const getAlphabetIcon = (str: string, rootClassName: string = "") => {
|
|
121
|
-
if (!str) return null
|
|
122
|
-
return (
|
|
123
|
-
<span
|
|
124
|
-
className={`${rootClassName} alphabet-icon__initial fs-13 icon-dim-20 flex cn-0 mr-8`}
|
|
125
|
-
style={{ backgroundColor: getRandomColor(str) }}
|
|
126
|
-
>
|
|
127
|
-
{str[0]}
|
|
128
|
-
</span>
|
|
129
|
-
)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export const getEmptyArrayOfLength = (length: number) => {
|
|
133
|
-
return Array.from({ length })
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export function noop(...args): any {}
|
|
137
|
-
|
|
138
|
-
export function not(e) {
|
|
139
|
-
return !e
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export function useEffectAfterMount(cb, dependencies) {
|
|
143
|
-
const justMounted = React.useRef(true)
|
|
144
|
-
React.useEffect(() => {
|
|
145
|
-
if (!justMounted.current) {
|
|
146
|
-
return cb()
|
|
147
|
-
}
|
|
148
|
-
justMounted.current = false
|
|
149
|
-
}, dependencies)
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
export function getCookie(sKey) {
|
|
153
|
-
if (!sKey) {
|
|
154
|
-
return null
|
|
155
|
-
}
|
|
156
|
-
return (
|
|
157
|
-
document.cookie.replace(
|
|
158
|
-
new RegExp('(?:(?:^|.*;)\\s*' + sKey.replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$'),
|
|
159
|
-
'$1',
|
|
160
|
-
) || null
|
|
161
|
-
)
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
export function getLoginInfo() {
|
|
165
|
-
const argocdToken = getCookie(TOKEN_COOKIE_NAME)
|
|
166
|
-
if (argocdToken) {
|
|
167
|
-
const jwts = argocdToken.split('.')
|
|
168
|
-
try {
|
|
169
|
-
return JSON.parse(atob(jwts[1]))
|
|
170
|
-
} catch (err) {
|
|
171
|
-
console.error('error in setting user ', err)
|
|
172
|
-
return null
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export function useForm(stateSchema, validationSchema = {}, callback) {
|
|
178
|
-
const [state, setState] = useState(stateSchema)
|
|
179
|
-
const [disable, setDisable] = useState(true)
|
|
180
|
-
const [isDirty, setIsDirty] = useState(false)
|
|
181
|
-
|
|
182
|
-
// Disable button in initial render.
|
|
183
|
-
useEffect(() => {
|
|
184
|
-
setDisable(true)
|
|
185
|
-
}, [])
|
|
186
|
-
|
|
187
|
-
// For every changed in our state this will be fired
|
|
188
|
-
// To be able to disable the button
|
|
189
|
-
useEffect(() => {
|
|
190
|
-
if (isDirty) {
|
|
191
|
-
setDisable(validateState(state))
|
|
192
|
-
}
|
|
193
|
-
}, [state, isDirty])
|
|
194
|
-
|
|
195
|
-
// Used to disable submit button if there's an error in state
|
|
196
|
-
// or the required field in state has no value.
|
|
197
|
-
// Wrapped in useCallback to cached the function to avoid intensive memory leaked
|
|
198
|
-
// in every re-render in component
|
|
199
|
-
const validateState = useCallback(
|
|
200
|
-
(state) => {
|
|
201
|
-
//check errors in all fields
|
|
202
|
-
const hasErrorInState = Object.keys(validationSchema).some((key) => {
|
|
203
|
-
const isInputFieldRequired = validationSchema[key].required
|
|
204
|
-
const stateValue = state[key].value // state value
|
|
205
|
-
const stateError = state[key].error // state error
|
|
206
|
-
return (isInputFieldRequired && !stateValue) || stateError
|
|
207
|
-
})
|
|
208
|
-
return hasErrorInState
|
|
209
|
-
},
|
|
210
|
-
[state, validationSchema],
|
|
211
|
-
)
|
|
212
|
-
|
|
213
|
-
function validateField(name, value): string | string[] {
|
|
214
|
-
if (validationSchema[name].required) {
|
|
215
|
-
if (!value) {
|
|
216
|
-
return 'This is a required field.'
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
function _validateSingleValidator(validator, value) {
|
|
221
|
-
if (value && !validator.regex.test(value)) {
|
|
222
|
-
return false
|
|
223
|
-
}
|
|
224
|
-
return true
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
// single validator
|
|
228
|
-
let _validator = validationSchema[name].validator
|
|
229
|
-
if (_validator && typeof _validator === 'object') {
|
|
230
|
-
if (!_validateSingleValidator(_validator, value)) {
|
|
231
|
-
return _validator.error
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// multiple validators
|
|
236
|
-
let _validators = validationSchema[name].validators
|
|
237
|
-
if (_validators && typeof _validators === 'object' && Array.isArray(_validators)) {
|
|
238
|
-
let errors = []
|
|
239
|
-
_validators.forEach((_validator) => {
|
|
240
|
-
if (!_validateSingleValidator(_validator, value)) {
|
|
241
|
-
errors.push(_validator.error)
|
|
242
|
-
}
|
|
243
|
-
})
|
|
244
|
-
if (errors.length > 0) {
|
|
245
|
-
return errors
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
return ''
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
const handleOnChange = useCallback(
|
|
253
|
-
(event) => {
|
|
254
|
-
setIsDirty(true)
|
|
255
|
-
|
|
256
|
-
const { name, value } = event.target
|
|
257
|
-
let error = validateField(name, value)
|
|
258
|
-
setState((prevState) => ({
|
|
259
|
-
...prevState,
|
|
260
|
-
[name]: { value, error },
|
|
261
|
-
}))
|
|
262
|
-
},
|
|
263
|
-
[validationSchema],
|
|
264
|
-
)
|
|
265
|
-
|
|
266
|
-
const handleOnSubmit = (event) => {
|
|
267
|
-
event.preventDefault()
|
|
268
|
-
const newState = Object.keys(validationSchema).reduce((agg, curr) => {
|
|
269
|
-
agg[curr] = { ...state[curr], error: validateField(curr, state[curr].value) }
|
|
270
|
-
return agg
|
|
271
|
-
}, state)
|
|
272
|
-
if (!validateState(newState)) {
|
|
273
|
-
callback(state)
|
|
274
|
-
} else {
|
|
275
|
-
setState({ ...newState })
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
return { state, disable, handleOnChange, handleOnSubmit }
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
export function handleUTCTime(ts: string, isRelativeTime = false) {
|
|
282
|
-
let timestamp = ''
|
|
283
|
-
try {
|
|
284
|
-
if (ts && ts.length) {
|
|
285
|
-
let date = moment(ts)
|
|
286
|
-
if (isRelativeTime) timestamp = date.fromNow()
|
|
287
|
-
else timestamp = date.format('ddd DD MMM YYYY HH:mm:ss')
|
|
288
|
-
}
|
|
289
|
-
} catch (error) {
|
|
290
|
-
console.error('Error Parsing Date:', ts)
|
|
291
|
-
}
|
|
292
|
-
return timestamp
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
export function useSearchString(): UseSearchString {
|
|
296
|
-
const location = useLocation()
|
|
297
|
-
const queryParams: URLSearchParams = useMemo(() => {
|
|
298
|
-
const queryParams = new URLSearchParams(location.search)
|
|
299
|
-
return queryParams
|
|
300
|
-
}, [location])
|
|
301
|
-
|
|
302
|
-
// const searchParams={}
|
|
303
|
-
// for (let [key, value] of queryParams.entries()){
|
|
304
|
-
// searchParams[key]=value
|
|
305
|
-
// }
|
|
306
|
-
const searchParams = Array.from(queryParams.entries()).reduce((agg, curr, idx) => {
|
|
307
|
-
agg[curr[0]] = curr[1]
|
|
308
|
-
return agg
|
|
309
|
-
}, {})
|
|
310
|
-
|
|
311
|
-
return { queryParams, searchParams }
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
export const closeOnEscKeyPressed = (e: any, actionClose: () => void) => {
|
|
315
|
-
if (e.keyCode === 27 || e.key === 'Escape') {
|
|
316
|
-
actionClose()
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
const unsecureCopyToClipboard = (str, callback = noop) => {
|
|
321
|
-
const listener = function (ev) {
|
|
322
|
-
ev.preventDefault()
|
|
323
|
-
ev.clipboardData.setData('text/plain', str)
|
|
324
|
-
}
|
|
325
|
-
document.addEventListener('copy', listener)
|
|
326
|
-
document.execCommand('copy')
|
|
327
|
-
document.removeEventListener('copy', listener)
|
|
328
|
-
callback()
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* It will copy the passed content to clipboard and invoke the callback function, in case of error it will show the toast message.
|
|
333
|
-
* On HTTP system clipboard is not supported, so it will use the unsecureCopyToClipboard function
|
|
334
|
-
* @param str
|
|
335
|
-
* @param callback
|
|
336
|
-
*/
|
|
337
|
-
export function copyToClipboard(str, callback = noop) {
|
|
338
|
-
if (!str) {
|
|
339
|
-
return
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
if (window.isSecureContext && navigator.clipboard) {
|
|
343
|
-
navigator.clipboard
|
|
344
|
-
.writeText(str)
|
|
345
|
-
.then(() => {
|
|
346
|
-
callback()
|
|
347
|
-
})
|
|
348
|
-
.catch(() => {
|
|
349
|
-
toast.error('Failed to copy to clipboard')
|
|
350
|
-
})
|
|
351
|
-
} else {
|
|
352
|
-
unsecureCopyToClipboard(str, callback)
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
export function useAsync<T>(
|
|
357
|
-
func: (...rest) => Promise<T>,
|
|
358
|
-
dependencyArray: any[] = [],
|
|
359
|
-
shouldRun = true,
|
|
360
|
-
options: AsyncOptions = { resetOnChange: true },
|
|
361
|
-
): [boolean, T, any | null, () => void, React.Dispatch<any>, any[]] {
|
|
362
|
-
const [state, setState] = useState<AsyncState<T>>({
|
|
363
|
-
loading: true,
|
|
364
|
-
result: null,
|
|
365
|
-
error: null,
|
|
366
|
-
dependencies: dependencyArray,
|
|
367
|
-
})
|
|
368
|
-
const mounted = useRef(true)
|
|
369
|
-
const dependencies: any[] = useMemo(() => {
|
|
370
|
-
return [...dependencyArray, shouldRun]
|
|
371
|
-
}, [...dependencyArray, shouldRun])
|
|
372
|
-
|
|
373
|
-
const reload = () => {
|
|
374
|
-
async function call() {
|
|
375
|
-
try {
|
|
376
|
-
setState((state) => ({
|
|
377
|
-
...state,
|
|
378
|
-
loading: true,
|
|
379
|
-
}))
|
|
380
|
-
const result = await func()
|
|
381
|
-
if (mounted.current)
|
|
382
|
-
setState((state) => ({
|
|
383
|
-
...state,
|
|
384
|
-
result,
|
|
385
|
-
error: null,
|
|
386
|
-
loading: false,
|
|
387
|
-
}))
|
|
388
|
-
} catch (error: any) {
|
|
389
|
-
if (mounted.current)
|
|
390
|
-
setState((state) => ({
|
|
391
|
-
...state,
|
|
392
|
-
error,
|
|
393
|
-
loading: false,
|
|
394
|
-
}))
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
call()
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
useEffect(() => {
|
|
401
|
-
if (!shouldRun) {
|
|
402
|
-
setState((state) => ({ ...state, loading: false }))
|
|
403
|
-
return
|
|
404
|
-
}
|
|
405
|
-
setState((state) => ({ ...state, dependencies: dependencyArray }))
|
|
406
|
-
reload()
|
|
407
|
-
return () =>
|
|
408
|
-
setState((state) => ({
|
|
409
|
-
...state,
|
|
410
|
-
loading: false,
|
|
411
|
-
error: null,
|
|
412
|
-
...(options.resetOnChange ? { result: null } : {}),
|
|
413
|
-
}))
|
|
414
|
-
}, dependencies)
|
|
415
|
-
|
|
416
|
-
useEffect(() => {
|
|
417
|
-
mounted.current = true
|
|
418
|
-
return () => {
|
|
419
|
-
mounted.current = false
|
|
420
|
-
}
|
|
421
|
-
}, [])
|
|
422
|
-
|
|
423
|
-
const setResult = (param) => {
|
|
424
|
-
if (typeof param === 'function') {
|
|
425
|
-
setState((state) => ({ ...state, result: param(state.result) }))
|
|
426
|
-
} else {
|
|
427
|
-
setState((state) => ({ ...state, result: param }))
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
return [state.loading, state.result, state.error, reload, setResult, state.dependencies]
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
export const processDeployedTime = (lastDeployed, isArgoInstalled) => {
|
|
435
|
-
if (lastDeployed) {
|
|
436
|
-
return handleUTCTime(lastDeployed, true)
|
|
437
|
-
} else {
|
|
438
|
-
return isArgoInstalled ? '' : 'Not deployed'
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
/**
|
|
443
|
-
* Appends search parameters to the url as a query string
|
|
444
|
-
*
|
|
445
|
-
* @param url URL to which the search params needs to be added
|
|
446
|
-
* @param params Object for the search parameters
|
|
447
|
-
*/
|
|
448
|
-
export const getUrlWithSearchParams = (url: string, params: Record<string | number, any>) => {
|
|
449
|
-
const searchParams = new URLSearchParams()
|
|
450
|
-
Object.keys(params).forEach((key) => {
|
|
451
|
-
if (params[key]) {
|
|
452
|
-
searchParams.append(key, params[key])
|
|
453
|
-
}
|
|
454
|
-
})
|
|
455
|
-
const queryString = searchParams.toString()
|
|
456
|
-
return url + (queryString ? `?${queryString}` : '')
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* Custom exception logger function for logging errors to sentry
|
|
461
|
-
*/
|
|
462
|
-
export const logExceptionToSentry = Sentry.captureException.bind(window)
|
|
463
|
-
|
|
464
|
-
export const customStyles = {
|
|
465
|
-
control: (base, state) => ({
|
|
466
|
-
...base,
|
|
467
|
-
minHeight: '32px',
|
|
468
|
-
boxShadow: 'none',
|
|
469
|
-
border: 'none',
|
|
470
|
-
cursor: 'pointer',
|
|
471
|
-
background: 'transparent',
|
|
472
|
-
}),
|
|
473
|
-
indicatorSeparator: (base, state) => ({
|
|
474
|
-
...base,
|
|
475
|
-
width: 0,
|
|
476
|
-
}),
|
|
477
|
-
valueContainer: (base, state) => ({
|
|
478
|
-
...base,
|
|
479
|
-
padding: '0',
|
|
480
|
-
fontSize: '13px',
|
|
481
|
-
fontWeight: '600',
|
|
482
|
-
}),
|
|
483
|
-
dropdownIndicator: (base, state) => ({
|
|
484
|
-
...base,
|
|
485
|
-
color: 'var(--N400)',
|
|
486
|
-
padding: '0 8px',
|
|
487
|
-
transition: 'all .2s ease',
|
|
488
|
-
transform: state.selectProps.menuIsOpen ? 'rotate(180deg)' : 'rotate(0deg)',
|
|
489
|
-
}),
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
export const getFilteredChartVersions = (charts, selectedChartType) => {
|
|
493
|
-
// Filter chart versions based on selected chart type
|
|
494
|
-
return charts
|
|
495
|
-
.filter((item) => item?.chartType === selectedChartType.value)
|
|
496
|
-
.map((item) => ({
|
|
497
|
-
value: item?.chartVersion,
|
|
498
|
-
label: item?.chartVersion,
|
|
499
|
-
chartRefId: item.chartRefId,
|
|
500
|
-
}))
|
|
501
|
-
}
|
|
502
|
-
function removeEmptyObjectKeysAndNullValues(obj) {
|
|
503
|
-
// It recursively removes empty object keys and array values that are null
|
|
504
|
-
for (let key in obj) {
|
|
505
|
-
if (Array.isArray(obj[key])) {
|
|
506
|
-
if (obj[key].length === 0) continue
|
|
507
|
-
obj[key] = obj[key].filter((item) => item !== null)
|
|
508
|
-
// Check if the array is empty
|
|
509
|
-
if (obj[key].length === 0) {
|
|
510
|
-
delete obj[key] // Delete the key if the array is empty
|
|
511
|
-
}
|
|
512
|
-
} else if (obj[key] && typeof obj[key] === 'object') {
|
|
513
|
-
if (removeEmptyObjectKeysAndNullValues(obj[key])) {
|
|
514
|
-
delete obj[key]
|
|
515
|
-
}
|
|
516
|
-
} else if (obj[key] === undefined) {
|
|
517
|
-
delete obj[key]
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
|
-
return Object.keys(obj).length === 0
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
export function getUnlockedJSON(json, jsonPathArray) {
|
|
524
|
-
const jsonCopy = JSON.parse(JSON.stringify(json))
|
|
525
|
-
let patches = jsonPathArray.flatMap((jsonPath) => {
|
|
526
|
-
const pathsToRemove = JSONPath({ path: jsonPath, json: jsonCopy, resultType: 'all' })
|
|
527
|
-
return pathsToRemove.map((result) =>
|
|
528
|
-
Array.isArray(result.parent)
|
|
529
|
-
? { op: 'replace', path: result.pointer, value: null }
|
|
530
|
-
: { op: 'remove', path: result.pointer },
|
|
531
|
-
)
|
|
532
|
-
})
|
|
533
|
-
let newDocument = jsonpatch.applyPatch(jsonCopy, patches).newDocument
|
|
534
|
-
|
|
535
|
-
removeEmptyObjectKeysAndNullValues(newDocument)
|
|
536
|
-
return newDocument
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
export function getLockedJSON(json, jsonPathArray: string[]) {
|
|
540
|
-
const jsonCopy = JSON.parse(JSON.stringify(json))
|
|
541
|
-
let resultJson = {}
|
|
542
|
-
jsonPathArray.forEach((jsonPath) => {
|
|
543
|
-
const elements = JSONPath({ path: jsonPath, json: jsonCopy, resultType: 'all' })
|
|
544
|
-
elements.forEach((element) => {
|
|
545
|
-
const pathArray: string[] = JSONPath.toPathArray(element.path)
|
|
546
|
-
const lastPath = pathArray.pop()
|
|
547
|
-
let current = resultJson
|
|
548
|
-
for (let i = 0; i < pathArray.length; i++) {
|
|
549
|
-
let key = isNaN(Number(pathArray[i])) ? pathArray[i] : parseInt(pathArray[i])
|
|
550
|
-
if (!current[key]) {
|
|
551
|
-
current[key] = isNaN(Number(pathArray[i + 1]??lastPath)) ? {} : []
|
|
552
|
-
}
|
|
553
|
-
current = current[key]
|
|
554
|
-
}
|
|
555
|
-
let key = isNaN(Number(lastPath)) ? lastPath : parseInt(lastPath)
|
|
556
|
-
current[key] = element.value
|
|
557
|
-
})
|
|
558
|
-
})
|
|
559
|
-
return resultJson['$']
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
/**
|
|
563
|
-
* Returns a debounced variant of the function
|
|
564
|
-
*/
|
|
565
|
-
export const debounce = (func, timeout = 500) => {
|
|
566
|
-
let timer
|
|
567
|
-
|
|
568
|
-
return function (this, ...args) {
|
|
569
|
-
const context = this
|
|
570
|
-
if (timer) clearTimeout(timer)
|
|
571
|
-
timer = setTimeout(() => {
|
|
572
|
-
timer = null
|
|
573
|
-
func.apply(context, args)
|
|
574
|
-
}, timeout)
|
|
575
|
-
}
|
|
576
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React, { useEffect } from 'react'
|
|
2
|
-
|
|
3
|
-
export const useClickOutside = (ref: any, callback: () => void) => {
|
|
4
|
-
useEffect(() => {
|
|
5
|
-
const handleClickOutside = (e: any) => {
|
|
6
|
-
if (ref?.current && !ref.current.contains(e.target)) {
|
|
7
|
-
callback()
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
document.addEventListener('click', handleClickOutside)
|
|
11
|
-
return () => {
|
|
12
|
-
document.removeEventListener('click', handleClickOutside)
|
|
13
|
-
}
|
|
14
|
-
}, [ref, callback])
|
|
15
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react'
|
|
2
|
-
import { getUserRole } from '../../Common.service'
|
|
3
|
-
import { useSuperAdminType } from './types'
|
|
4
|
-
import { showError } from '../../Helper'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @description It will return isSuperAdmin and would be set to false by default, might need few optimizations like dep, etc
|
|
8
|
-
* @returns {useSuperAdminType} isSuperAdmin
|
|
9
|
-
*/
|
|
10
|
-
export const useSuperAdmin = (): useSuperAdminType => {
|
|
11
|
-
const [isSuperAdmin, setSuperAdmin] = useState<boolean>(false)
|
|
12
|
-
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
getUserRole()
|
|
15
|
-
.then((response) => {
|
|
16
|
-
setSuperAdmin(response.result.superAdmin ?? false)
|
|
17
|
-
})
|
|
18
|
-
.catch((error) => {
|
|
19
|
-
showError(error)
|
|
20
|
-
})
|
|
21
|
-
}, [])
|
|
22
|
-
|
|
23
|
-
return { isSuperAdmin }
|
|
24
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react'
|
|
2
|
-
|
|
3
|
-
let timeout
|
|
4
|
-
|
|
5
|
-
const getSize = () => {
|
|
6
|
-
return {
|
|
7
|
-
width: window.innerWidth,
|
|
8
|
-
height: window.innerHeight,
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const useWindowSize = () => {
|
|
13
|
-
const [windowSize, setWindowSize] = useState(getSize)
|
|
14
|
-
|
|
15
|
-
function handleResize(e) {
|
|
16
|
-
if (timeout) {
|
|
17
|
-
window.cancelAnimationFrame(timeout)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
timeout = window.requestAnimationFrame(function () {
|
|
21
|
-
setWindowSize(getSize())
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
window.addEventListener('resize', handleResize, false)
|
|
27
|
-
return () => window.removeEventListener('resize', handleResize, false)
|
|
28
|
-
}, [])
|
|
29
|
-
|
|
30
|
-
return windowSize
|
|
31
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export interface ReleaseTag {
|
|
2
|
-
id: number
|
|
3
|
-
tagName: string
|
|
4
|
-
appId: number
|
|
5
|
-
deleted: boolean
|
|
6
|
-
artifactId: number
|
|
7
|
-
duplicateTag: boolean
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface ImageComment {
|
|
11
|
-
id: number
|
|
12
|
-
comment: string
|
|
13
|
-
artifactId: number
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export interface ImageTaggingContainerType {
|
|
18
|
-
ciPipelineId?: number
|
|
19
|
-
artifactId?: number
|
|
20
|
-
imageComment?: ImageComment
|
|
21
|
-
imageReleaseTags?: ReleaseTag[]
|
|
22
|
-
updateCurrentAppMaterial? : (matId:number, releaseTags?:ReleaseTag[], imageComment?:ImageComment) => void
|
|
23
|
-
appReleaseTagNames?: string[]
|
|
24
|
-
tagsEditable?: boolean
|
|
25
|
-
forceReInit?: boolean
|
|
26
|
-
setAppReleaseTagNames?: (appReleaseTags: string[]) => void
|
|
27
|
-
setTagsEditable?: (tagsEditable: boolean) => void
|
|
28
|
-
toggleCardMode?: (id: number) => void
|
|
29
|
-
hideHardDelete?: boolean
|
|
30
|
-
isSuperAdmin?: boolean
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface ImageButtonType {
|
|
34
|
-
text: string
|
|
35
|
-
isSoftDeleted: boolean
|
|
36
|
-
isEditing: boolean
|
|
37
|
-
onSoftDeleteClick?: any
|
|
38
|
-
onHardDeleteClick?: any
|
|
39
|
-
tagId: number
|
|
40
|
-
softDeleteTags: any
|
|
41
|
-
isSuperAdmin: any
|
|
42
|
-
duplicateTag?: boolean
|
|
43
|
-
hideHardDelete?: boolean
|
|
44
|
-
}
|