@devtron-labs/devtron-fe-common-lib 0.0.58-beta-1 → 0.0.58-beta-4
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 +76 -81
- package/dist/Common/CustomInput/CustomInput.d.ts +3 -3
- package/dist/Common/CustomInput/Types.d.ts +30 -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 -3
- 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 -4
- package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
- package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -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 +9 -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 +16 -14
- package/dist/Common/EmptyState/EmptyState.d.ts +25 -28
- package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -4
- package/dist/Common/Error.d.ts +17 -17
- package/dist/Common/ErrorScreenNotFound.d.ts +3 -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 +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 -4
- 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 -8
- package/dist/Common/Progressing.d.ts +4 -4
- 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 +35 -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 -3
- package/dist/Common/ToastBody.d.ts +23 -23
- package/dist/Common/Toggle/Toggle.d.ts +14 -12
- package/dist/Common/Types.d.ts +692 -691
- package/dist/Common/index.d.ts +50 -51
- package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.d.ts +4 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.d.ts +4 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.d.ts +7 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.d.ts +4 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.d.ts +4 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/Descriptor.d.ts +4 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/Footer.d.ts +4 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/constants.d.ts +48 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/index.d.ts +7 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/services.d.ts +13 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/types.d.ts +281 -0
- package/dist/Pages/GlobalConfigurations/BuildInfra/utils.d.ts +12 -0
- package/dist/Pages/GlobalConfigurations/index.d.ts +1 -0
- package/dist/Pages/index.d.ts +1 -0
- package/dist/Shared/Components/APIResponseHandler/APIResponseHandler.d.ts +4 -0
- package/dist/Shared/Components/APIResponseHandler/index.d.ts +2 -0
- package/dist/Shared/Components/APIResponseHandler/types.d.ts +37 -0
- package/dist/Shared/Components/ReactSelect/index.d.ts +1 -0
- package/dist/Shared/Components/ReactSelect/utils.d.ts +12 -0
- package/dist/Shared/Components/index.d.ts +2 -0
- package/dist/Shared/index.d.ts +2 -0
- package/dist/Shared/validations.d.ts +7 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +29849 -225
- package/package.json +23 -35
- 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-cpu.svg +4 -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-memory.svg +3 -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-timer.svg +3 -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 +29 -0
- package/src/Common/CIPipeline.Types.ts +277 -0
- package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
- package/src/Common/Checkbox.tsx +37 -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 +255 -0
- package/src/Common/CustomInput/CustomInput.tsx +132 -0
- package/src/Common/CustomInput/Types.ts +31 -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 +118 -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 +126 -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 +133 -0
- package/src/Common/SearchBar/index.ts +2 -0
- package/src/Common/SearchBar/searchBar.scss +31 -0
- package/src/Common/SearchBar/types.ts +36 -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 +765 -0
- package/src/Common/index.ts +50 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.tsx +121 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.tsx +44 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.tsx +99 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.tsx +55 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.tsx +32 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/Descriptor.tsx +38 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/Footer.tsx +45 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/Readme.md +4 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/constants.tsx +137 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/index.ts +7 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/services.tsx +183 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/types.tsx +334 -0
- package/src/Pages/GlobalConfigurations/BuildInfra/utils.tsx +489 -0
- package/src/Pages/GlobalConfigurations/index.ts +1 -0
- package/src/Pages/index.ts +1 -0
- package/src/Shared/Components/APIResponseHandler/APIResponseHandler.tsx +39 -0
- package/src/Shared/Components/APIResponseHandler/index.ts +2 -0
- package/src/Shared/Components/APIResponseHandler/types.tsx +39 -0
- package/src/Shared/Components/ReactSelect/index.ts +1 -0
- package/src/Shared/Components/ReactSelect/utils.tsx +97 -0
- package/src/Shared/Components/index.ts +2 -0
- package/src/Shared/index.ts +2 -0
- package/src/Shared/validations.tsx +72 -0
- package/src/custom.d.ts +13 -0
- package/src/index.ts +3 -0
- package/tsconfig.json +40 -0
- package/dist/CodeEditor-3c2aaef5.js +0 -103695
- package/dist/Common/AddCDButton/AddCDButton.js +0 -61
- 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 -167
- 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 -71
- 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.d.ts +0 -1
- 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 -191
- 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 -65
- package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
- 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.d.ts +0 -1
- 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 -98
- package/dist/Common/DevtronProgressing/index.js +0 -4
- package/dist/Common/DevtronProgressing/types.js +0 -1
- package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
- package/dist/Common/Dialogs/DeleteDialog.js +0 -49
- package/dist/Common/Dialogs/DialogForm.js +0 -63
- package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
- 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 -32
- package/dist/Common/EmptyState/GenericEmptyState.js +0 -79
- package/dist/Common/Error.js +0 -49
- package/dist/Common/ErrorScreenNotFound.js +0 -23
- 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 -384
- package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
- package/dist/Common/Modals/Modal.js +0 -48
- package/dist/Common/Modals/OpaqueModal.js +0 -32
- package/dist/Common/Modals/VisibleModal.js +0 -31
- package/dist/Common/Modals/VisibleModal2.js +0 -31
- package/dist/Common/MultiSelectCustomization.js +0 -97
- package/dist/Common/Pagination/PageSizeSelector.js +0 -52
- 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 -148
- package/dist/Common/Progressing.js +0 -52
- 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 -17
- 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 -18
- 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 -76
- package/dist/Common/RadioGroup.js +0 -47
- 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-a0caa238.js +0 -9834
- package/dist/TippyCustomized-7b9b46b9.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-64fecd27.js +0 -463
- 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-c5cae484.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-b9a8615c.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-3803af36.js +0 -391
- package/dist/hcl-e883a0d4.js +0 -177
- package/dist/html-498f0150.js +0 -281
- package/dist/htmlMode-a8ae8cc5.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-4363ced3.js +0 -75
- package/dist/jsonMode-80290b9e.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-1398df0a.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-dd2d43e8.js +0 -259
- package/dist/qsharp-d730d7fe.js +0 -282
- package/dist/r-be193556.js +0 -245
- package/dist/razor-20a66096.js +0 -512
- package/dist/react-select.esm-97f26847.js +0 -4160
- package/dist/react-toastify.esm-1042de65.js +0 -792
- package/dist/react.esm-2c92920f.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-8dc66a75.js +0 -2018
- package/dist/tsMode-3fa4eb6a.js +0 -811
- package/dist/twig-0d98f5ec.js +0 -323
- package/dist/typescript-1bbaf605.js +0 -328
- package/dist/vb-3a2b0a51.js +0 -364
- package/dist/wgsl-b2ddb3e4.js +0 -420
- package/dist/xml-a2693dbd.js +0 -95
- package/dist/yaml-01ce4fdd.js +0 -184
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export * from './Constants'
|
|
2
|
+
export * from './ServerError'
|
|
3
|
+
export * from './Types'
|
|
4
|
+
export * from './Api'
|
|
5
|
+
export * from './EmptyState/EmptyState'
|
|
6
|
+
export * from './ToastBody'
|
|
7
|
+
export { default as Reload } from './Reload'
|
|
8
|
+
export * from './Error'
|
|
9
|
+
export * from './Helper'
|
|
10
|
+
export * from './Progressing'
|
|
11
|
+
export * from './Drawer/Drawer'
|
|
12
|
+
export * from './Modals/Modal'
|
|
13
|
+
export * from './Modals/OpaqueModal'
|
|
14
|
+
export * from './Modals/VisibleModal'
|
|
15
|
+
export * from './Modals/VisibleModal2'
|
|
16
|
+
export { BreadCrumb, useBreadcrumb } from './BreadCrumb/BreadCrumb'
|
|
17
|
+
export { default as BreadcrumbStore } from './BreadCrumb/BreadcrumbStore'
|
|
18
|
+
export * from './RadioGroup'
|
|
19
|
+
export { default as PopupMenu } from './PopupMenu'
|
|
20
|
+
export * from './TippyCustomized'
|
|
21
|
+
export * from './CustomTagSelector'
|
|
22
|
+
export * from './Dialogs'
|
|
23
|
+
export * from './MultiSelectCustomization'
|
|
24
|
+
export { default as InfoColourBar } from './InfoColorBar/InfoColourbar'
|
|
25
|
+
export * from './Common.service'
|
|
26
|
+
export * from './Checkbox'
|
|
27
|
+
export { default as EmptyState } from './EmptyState/EmptyState'
|
|
28
|
+
export { default as GenericEmptyState } from './EmptyState/GenericEmptyState'
|
|
29
|
+
export * from './SearchBar'
|
|
30
|
+
export { default as Toggle } from './Toggle/Toggle'
|
|
31
|
+
export { default as ScanVulnerabilitiesTable } from './Security/ScanVulnerabilitiesTable'
|
|
32
|
+
export { default as StyledRadioGroup } from './RadioGroup/RadioGroup'
|
|
33
|
+
export * from './CIPipeline.Types'
|
|
34
|
+
export * from './Policy.Types'
|
|
35
|
+
export { default as DeleteComponent } from './DeleteComponentModal/DeleteComponent'
|
|
36
|
+
export * from './ImageTags'
|
|
37
|
+
export * from './ImageTags.Types'
|
|
38
|
+
export * from './ResizableTextarea'
|
|
39
|
+
export { default as DebouncedSearch } from './DebouncedSearch/DebouncedSearch'
|
|
40
|
+
export { default as Grid } from './Grid/Grid'
|
|
41
|
+
export { default as ClipboardButton } from './ClipboardButton/ClipboardButton'
|
|
42
|
+
export * from './Hooks'
|
|
43
|
+
export { AppStatus } from './AppStatus'
|
|
44
|
+
export * from './RJSF'
|
|
45
|
+
export * from './DevtronProgressing'
|
|
46
|
+
export { default as ChartVersionAndTypeSelector } from './ChartVersionAndTypeSelector'
|
|
47
|
+
export * from './AddCDButton'
|
|
48
|
+
export * from './CustomInput'
|
|
49
|
+
export * from './DraggableWrapper'
|
|
50
|
+
export * from './Pagination'
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { FunctionComponent } from 'react'
|
|
2
|
+
import { Progressing } from '../../../Common'
|
|
3
|
+
import BuildInfraFormAction from './BuildInfraFormAction'
|
|
4
|
+
import BuildInfraFormItem from './BuildInfraFormItem'
|
|
5
|
+
import BuildInfraProfileDescriptionField from './BuildInfraDescriptionField'
|
|
6
|
+
import BuildInfraProfileNameField from './BuildInfraProfileNameField'
|
|
7
|
+
import { BUILD_INFRA_FORM_FIELDS, BUILD_INFRA_TEXT } from './constants'
|
|
8
|
+
import { BuildInfraActionType, BuildInfraConfigFormProps, InheritingHeaderProps } from './types'
|
|
9
|
+
|
|
10
|
+
const InheritingHeader = ({
|
|
11
|
+
defaultHeading,
|
|
12
|
+
inheritingData,
|
|
13
|
+
isInheriting,
|
|
14
|
+
isDefaultProfile,
|
|
15
|
+
}: InheritingHeaderProps) => {
|
|
16
|
+
const inheritingDataString = inheritingData.map((data) => `${data.value} ${data.unit ?? ''}`).join(' - ')
|
|
17
|
+
|
|
18
|
+
if (isDefaultProfile || !isInheriting) {
|
|
19
|
+
// For typing issues
|
|
20
|
+
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
21
|
+
return <>{defaultHeading}</>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<div className="flexbox dc__align-items-center dc__content-space w-100">
|
|
26
|
+
{defaultHeading}
|
|
27
|
+
|
|
28
|
+
<p className="m-0 flexbox pt-0 pb-0 pl-4 pr-4 fs-13 lh-20 fw-4 cn-9">{inheritingDataString}</p>
|
|
29
|
+
|
|
30
|
+
<p className="m-0 cn-7 fs-13 fw-4 lh-20">{BUILD_INFRA_TEXT.INHERITING_HEADING_DESCRIPTION}</p>
|
|
31
|
+
</div>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const BuildInfraConfigForm: FunctionComponent<BuildInfraConfigFormProps> = ({
|
|
36
|
+
profileInput,
|
|
37
|
+
profileInputErrors,
|
|
38
|
+
handleProfileInputChange,
|
|
39
|
+
isDefaultProfile,
|
|
40
|
+
unitsMap,
|
|
41
|
+
configurationContainerLabel,
|
|
42
|
+
}) => {
|
|
43
|
+
const currentConfigurations = profileInput?.configurations
|
|
44
|
+
|
|
45
|
+
// will get the desired configuration from the currentConfigurations and then check if it is active or not
|
|
46
|
+
const isInheritingProfileValues = (actions: BuildInfraActionType[]) =>
|
|
47
|
+
actions.some((action) => !currentConfigurations[action.actionType].active)
|
|
48
|
+
|
|
49
|
+
// Had to show loader for an instance due to batching of state updates not working as expected :/
|
|
50
|
+
if (!currentConfigurations) {
|
|
51
|
+
return <Progressing pageLoader />
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<div className="flexbox-col dc__mxw-920 dc__gap-16">
|
|
56
|
+
{!isDefaultProfile && (
|
|
57
|
+
<div className="flexbox-col dc__gap-12">
|
|
58
|
+
<BuildInfraProfileNameField
|
|
59
|
+
handleProfileInputChange={handleProfileInputChange}
|
|
60
|
+
currentValue={profileInput.name}
|
|
61
|
+
error={profileInputErrors.name}
|
|
62
|
+
/>
|
|
63
|
+
|
|
64
|
+
<BuildInfraProfileDescriptionField
|
|
65
|
+
handleProfileInputChange={handleProfileInputChange}
|
|
66
|
+
currentValue={profileInput.description}
|
|
67
|
+
error={profileInputErrors.description}
|
|
68
|
+
/>
|
|
69
|
+
</div>
|
|
70
|
+
)}
|
|
71
|
+
|
|
72
|
+
<div className="flexbox-col dc__gap-12">
|
|
73
|
+
{configurationContainerLabel}
|
|
74
|
+
|
|
75
|
+
<div className="w-100 flexbox-col dc__gap-16 br-4 dc__border-n1 p-16">
|
|
76
|
+
{BUILD_INFRA_FORM_FIELDS.map((field, index) => (
|
|
77
|
+
<BuildInfraFormItem
|
|
78
|
+
key={field.locator}
|
|
79
|
+
marker={field.marker}
|
|
80
|
+
heading={
|
|
81
|
+
<InheritingHeader
|
|
82
|
+
defaultHeading={field.heading}
|
|
83
|
+
inheritingData={field.actions.map(
|
|
84
|
+
(action) => currentConfigurations[action.actionType],
|
|
85
|
+
)}
|
|
86
|
+
isInheriting={isInheritingProfileValues(field.actions)}
|
|
87
|
+
isDefaultProfile={isDefaultProfile}
|
|
88
|
+
/>
|
|
89
|
+
}
|
|
90
|
+
showDivider={index !== BUILD_INFRA_FORM_FIELDS.length - 1}
|
|
91
|
+
isInheriting={isInheritingProfileValues(field.actions)}
|
|
92
|
+
handleProfileInputChange={handleProfileInputChange}
|
|
93
|
+
locator={field.locator}
|
|
94
|
+
isDefaultProfile={isDefaultProfile}
|
|
95
|
+
>
|
|
96
|
+
<div className="w-50 flexbox dc__gap-12 w-100 dc__align-start">
|
|
97
|
+
{field.actions.map((action) => (
|
|
98
|
+
<BuildInfraFormAction
|
|
99
|
+
key={action.actionType}
|
|
100
|
+
actionType={action.actionType}
|
|
101
|
+
label={action.label}
|
|
102
|
+
placeholder={action.placeholder}
|
|
103
|
+
error={profileInputErrors[action.actionType]}
|
|
104
|
+
// Assumption is for default profiles all input fields are required
|
|
105
|
+
isRequired={isDefaultProfile}
|
|
106
|
+
profileUnitsMap={unitsMap[action.actionType]}
|
|
107
|
+
handleProfileInputChange={handleProfileInputChange}
|
|
108
|
+
currentUnitName={currentConfigurations[action.actionType].unit}
|
|
109
|
+
currentValue={currentConfigurations[action.actionType].value}
|
|
110
|
+
/>
|
|
111
|
+
))}
|
|
112
|
+
</div>
|
|
113
|
+
</BuildInfraFormItem>
|
|
114
|
+
))}
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default BuildInfraConfigForm
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FormEvent, FunctionComponent } from 'react'
|
|
2
|
+
import { ReactComponent as ErrorIcon } from '../../../Assets/Icon/ic-warning.svg'
|
|
3
|
+
import { BuildInfraInputFieldComponentProps, BuildInfraMetaConfigTypes } from './types'
|
|
4
|
+
import { BUILD_INFRA_TEXT } from './constants'
|
|
5
|
+
|
|
6
|
+
const BuildInfraProfileDescriptionField: FunctionComponent<BuildInfraInputFieldComponentProps> = ({
|
|
7
|
+
handleProfileInputChange,
|
|
8
|
+
currentValue,
|
|
9
|
+
error,
|
|
10
|
+
}) => {
|
|
11
|
+
const handleChange = (e: FormEvent<HTMLTextAreaElement>) => {
|
|
12
|
+
handleProfileInputChange({
|
|
13
|
+
action: BuildInfraMetaConfigTypes.DESCRIPTION,
|
|
14
|
+
data: { value: e.currentTarget.value },
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<div className="flexbox-col dc__gap-4 w-100 dc__align-start">
|
|
20
|
+
<label htmlFor="build-infra-profile-description" className="m-0 fs-13 fw-4 lh-20 cn-7">
|
|
21
|
+
{BUILD_INFRA_TEXT.DESCRIPTION_LABEL}
|
|
22
|
+
</label>
|
|
23
|
+
|
|
24
|
+
<textarea
|
|
25
|
+
data-testid="build-infra-profile-description"
|
|
26
|
+
name="profile-description"
|
|
27
|
+
className="form__textarea mxh-140 dc__hover-border-n300"
|
|
28
|
+
id="build-infra-profile-description"
|
|
29
|
+
placeholder={BUILD_INFRA_TEXT.DESCRIPTION_PLACEHOLDER}
|
|
30
|
+
value={currentValue}
|
|
31
|
+
onChange={handleChange}
|
|
32
|
+
/>
|
|
33
|
+
|
|
34
|
+
{error && (
|
|
35
|
+
<div className="form__error">
|
|
36
|
+
<ErrorIcon className="form__icon form__icon--error" />
|
|
37
|
+
{error}
|
|
38
|
+
</div>
|
|
39
|
+
)}
|
|
40
|
+
</div>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export default BuildInfraProfileDescriptionField
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { FormEvent, FunctionComponent } from 'react'
|
|
2
|
+
import ReactSelect from 'react-select'
|
|
3
|
+
import { BuildInfraFormActionProps } from './types'
|
|
4
|
+
import { OptionType } from '../../../Common'
|
|
5
|
+
import { unitSelectorStyles } from './utils'
|
|
6
|
+
import { BUILD_INFRA_INPUT_CONSTRAINTS } from './constants'
|
|
7
|
+
import { ReactComponent as ErrorIcon } from '../../../Assets/Icon/ic-warning.svg'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* In case need arise for variants break this CustomInput and Select as a separate component
|
|
11
|
+
*/
|
|
12
|
+
const BuildInfraFormAction: FunctionComponent<BuildInfraFormActionProps> = ({
|
|
13
|
+
actionType,
|
|
14
|
+
label,
|
|
15
|
+
placeholder,
|
|
16
|
+
error,
|
|
17
|
+
isRequired,
|
|
18
|
+
profileUnitsMap,
|
|
19
|
+
handleProfileInputChange,
|
|
20
|
+
currentUnitName,
|
|
21
|
+
currentValue,
|
|
22
|
+
}) => {
|
|
23
|
+
const handleUnitChange = (selectedUnit: OptionType) => {
|
|
24
|
+
const data = {
|
|
25
|
+
unit: selectedUnit.label,
|
|
26
|
+
value: currentValue,
|
|
27
|
+
}
|
|
28
|
+
handleProfileInputChange({ action: actionType, data })
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const handleInputChange = (e: FormEvent<HTMLInputElement>) => {
|
|
32
|
+
const data = {
|
|
33
|
+
unit: currentUnitName,
|
|
34
|
+
value: e.currentTarget.value,
|
|
35
|
+
}
|
|
36
|
+
handleProfileInputChange({ action: actionType, data })
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const unitOptions: OptionType[] =
|
|
40
|
+
Object.values(profileUnitsMap)?.map((unit) => ({
|
|
41
|
+
label: unit.name,
|
|
42
|
+
value: unit.name,
|
|
43
|
+
})) ?? []
|
|
44
|
+
const currentUnit = unitOptions.find((unit) => unit.value === currentUnitName)
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<div className="flexbox-col dc__gap-4 dc__mxw-420 w-100 dc__align-start">
|
|
48
|
+
<label
|
|
49
|
+
htmlFor={`${actionType}-input`}
|
|
50
|
+
className={`fs-13 fw-4 lh-20 cn-7 ${isRequired ? 'dc__required-field' : ''}`}
|
|
51
|
+
>
|
|
52
|
+
{label}
|
|
53
|
+
</label>
|
|
54
|
+
<div className="w-100 flexbox dc__align-items-center">
|
|
55
|
+
<div className="flex-grow-1">
|
|
56
|
+
<input
|
|
57
|
+
data-testid={actionType}
|
|
58
|
+
name={actionType}
|
|
59
|
+
type="number"
|
|
60
|
+
step={BUILD_INFRA_INPUT_CONSTRAINTS.STEP}
|
|
61
|
+
min={BUILD_INFRA_INPUT_CONSTRAINTS.MIN}
|
|
62
|
+
className="form__input dc__no-right-border dc__no-right-radius"
|
|
63
|
+
placeholder={placeholder}
|
|
64
|
+
value={currentValue}
|
|
65
|
+
onChange={handleInputChange}
|
|
66
|
+
required={isRequired}
|
|
67
|
+
autoComplete="off"
|
|
68
|
+
id={`${actionType}-input`}
|
|
69
|
+
/>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
{profileUnitsMap && (
|
|
73
|
+
<ReactSelect
|
|
74
|
+
name={`${actionType}-unit`}
|
|
75
|
+
className="bcn-0 dc__mxw-120"
|
|
76
|
+
options={unitOptions}
|
|
77
|
+
value={currentUnit}
|
|
78
|
+
onChange={handleUnitChange}
|
|
79
|
+
isSearchable={false}
|
|
80
|
+
components={{
|
|
81
|
+
IndicatorSeparator: null,
|
|
82
|
+
ClearIndicator: null,
|
|
83
|
+
}}
|
|
84
|
+
styles={unitSelectorStyles()}
|
|
85
|
+
/>
|
|
86
|
+
)}
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
{error && (
|
|
90
|
+
<div className="form__error">
|
|
91
|
+
<ErrorIcon className="form__icon form__icon--error" />
|
|
92
|
+
{error}
|
|
93
|
+
</div>
|
|
94
|
+
)}
|
|
95
|
+
</div>
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export default BuildInfraFormAction
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { FormEvent, FunctionComponent } from 'react'
|
|
2
|
+
import { BuildInfraFormItemProps, BuildInfraInheritActions } from './types'
|
|
3
|
+
import { CHECKBOX_VALUE, Checkbox } from '../../../Common'
|
|
4
|
+
|
|
5
|
+
const BuildInfraFormItem: FunctionComponent<BuildInfraFormItemProps> = ({
|
|
6
|
+
heading,
|
|
7
|
+
marker: Marker,
|
|
8
|
+
children,
|
|
9
|
+
isInheriting,
|
|
10
|
+
showDivider,
|
|
11
|
+
handleProfileInputChange,
|
|
12
|
+
locator,
|
|
13
|
+
isDefaultProfile,
|
|
14
|
+
}) => {
|
|
15
|
+
const handleActivationChange = (e: FormEvent<HTMLInputElement>) => {
|
|
16
|
+
const { checked } = e.currentTarget
|
|
17
|
+
const action = (checked ? `activate_${locator}` : `de_activate_${locator}`) as BuildInfraInheritActions
|
|
18
|
+
handleProfileInputChange({ action })
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const renderMarker = () => {
|
|
22
|
+
if (isDefaultProfile) {
|
|
23
|
+
return <Marker className="icon-dim-20 dc__no-shrink" />
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<Checkbox
|
|
28
|
+
onChange={handleActivationChange}
|
|
29
|
+
isChecked={!isInheriting}
|
|
30
|
+
value={CHECKBOX_VALUE.CHECKED}
|
|
31
|
+
dataTestId={`${locator}_marker`}
|
|
32
|
+
/>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// If in configuration active is false, means it is inheriting values from other profile
|
|
37
|
+
return (
|
|
38
|
+
<>
|
|
39
|
+
<div className="flexbox-col dc__gap-8 w-100">
|
|
40
|
+
<div className="flexbox dc__gap-12 dc__align-start w-100">
|
|
41
|
+
{renderMarker()}
|
|
42
|
+
|
|
43
|
+
<div className="flexbox-col dc__gap-8 w-100">
|
|
44
|
+
{heading}
|
|
45
|
+
{!isInheriting && children}
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
{showDivider && <div className="w-100 dc__border-bottom-n1" />}
|
|
51
|
+
</>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export default BuildInfraFormItem
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FormEvent, FunctionComponent } from 'react'
|
|
2
|
+
import { BuildInfraMetaConfigTypes, BuildInfraInputFieldComponentProps } from './types'
|
|
3
|
+
import { CustomInput } from '../../../Common'
|
|
4
|
+
import { BUILD_INFRA_TEXT } from './constants'
|
|
5
|
+
|
|
6
|
+
const BuildInfraProfileNameField: FunctionComponent<BuildInfraInputFieldComponentProps> = ({
|
|
7
|
+
handleProfileInputChange,
|
|
8
|
+
currentValue,
|
|
9
|
+
error,
|
|
10
|
+
}) => {
|
|
11
|
+
const handleChange = (e: FormEvent<HTMLInputElement>) => {
|
|
12
|
+
handleProfileInputChange({ action: BuildInfraMetaConfigTypes.NAME, data: { value: e.currentTarget.value } })
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<div className="flexbox-col dc__gap-4 w-100 dc__align-start">
|
|
17
|
+
<CustomInput
|
|
18
|
+
name="profile-name"
|
|
19
|
+
label={BUILD_INFRA_TEXT.PROFILE_LABEL}
|
|
20
|
+
labelClassName="m-0 dc__required-field fs-13 fw-4 lh-20 cn-7"
|
|
21
|
+
placeholder={BUILD_INFRA_TEXT.PROFILE_PLACEHOLDER}
|
|
22
|
+
value={currentValue}
|
|
23
|
+
onChange={handleChange}
|
|
24
|
+
error={error}
|
|
25
|
+
required
|
|
26
|
+
inputWrapClassName="w-100"
|
|
27
|
+
/>
|
|
28
|
+
</div>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default BuildInfraProfileNameField
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DescriptorProps } from './types'
|
|
2
|
+
import { BreadCrumb, TippyCustomized, TippyTheme } from '../../../Common'
|
|
3
|
+
import { ReactComponent as QuestionFilled } from '../../../Assets/Icon/ic-help.svg'
|
|
4
|
+
import { ReactComponent as ICHelpOutline } from '../../../Assets/Icon/ic-help-outline.svg'
|
|
5
|
+
import { BUILD_INFRA_TEXT } from './constants'
|
|
6
|
+
|
|
7
|
+
const Descriptor = ({ additionalContainerClasses, breadCrumbs, children }: DescriptorProps) => (
|
|
8
|
+
<div className={`flexbox dc__content-space dc__align-items-center w-100 ${additionalContainerClasses ?? ''}`}>
|
|
9
|
+
<div className="flexbox dc__align-items-center dc__gap-4">
|
|
10
|
+
<BreadCrumb breadcrumbs={breadCrumbs} />
|
|
11
|
+
|
|
12
|
+
<TippyCustomized
|
|
13
|
+
theme={TippyTheme.white}
|
|
14
|
+
className="w-300 h-100 dc__align-left"
|
|
15
|
+
placement="right"
|
|
16
|
+
Icon={QuestionFilled}
|
|
17
|
+
iconClass="fcv-5"
|
|
18
|
+
infoText={BUILD_INFRA_TEXT.EDIT_DEFAULT_TOOLTIP}
|
|
19
|
+
heading={BUILD_INFRA_TEXT.HEADING}
|
|
20
|
+
showCloseButton
|
|
21
|
+
trigger="click"
|
|
22
|
+
interactive
|
|
23
|
+
>
|
|
24
|
+
<button
|
|
25
|
+
className="p-0 h-20 dc__no-background dc__no-border dc__tab-focus"
|
|
26
|
+
type="button"
|
|
27
|
+
aria-label="build-infra-info"
|
|
28
|
+
>
|
|
29
|
+
<ICHelpOutline className="icon-dim-20" />
|
|
30
|
+
</button>
|
|
31
|
+
</TippyCustomized>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
{children}
|
|
35
|
+
</div>
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
export default Descriptor
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FunctionComponent, ReactElement } from 'react'
|
|
2
|
+
import Tippy from '@tippyjs/react'
|
|
3
|
+
import { BUILD_INFRA_TEXT } from './constants'
|
|
4
|
+
import { FooterProps } from './types'
|
|
5
|
+
import { ConditionalWrap, Progressing } from '../../../Common'
|
|
6
|
+
|
|
7
|
+
const Footer: FunctionComponent<FooterProps> = ({ disabled, hideCancelButton, editProfile, loading }) => {
|
|
8
|
+
const disableMessage = disabled
|
|
9
|
+
? BUILD_INFRA_TEXT.SUBMIT_BUTTON_TIPPY.INVALID_INPUT
|
|
10
|
+
: BUILD_INFRA_TEXT.SUBMIT_BUTTON_TIPPY.REQUEST_IN_PROGRESS
|
|
11
|
+
|
|
12
|
+
const getButtonText = () => {
|
|
13
|
+
if (editProfile) {
|
|
14
|
+
return BUILD_INFRA_TEXT.EDIT_SUBMIT
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return BUILD_INFRA_TEXT.SAVE_SUBMIT
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const renderTippy = (children: ReactElement) => (
|
|
21
|
+
<Tippy content={disableMessage} placement="top" className="default-tt" arrow={false}>
|
|
22
|
+
{children}
|
|
23
|
+
</Tippy>
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<div className="flex pl pr pb pt h-64 dc__gap-12 dc__border-top dc__content-start">
|
|
28
|
+
<ConditionalWrap condition={disabled || loading} wrap={renderTippy}>
|
|
29
|
+
<div className="flexbox dc__align-items-center">
|
|
30
|
+
<button type="submit" className="cta submit h-32 flex" disabled={disabled || loading}>
|
|
31
|
+
{loading ? <Progressing size={16} /> : getButtonText()}
|
|
32
|
+
</button>
|
|
33
|
+
</div>
|
|
34
|
+
</ConditionalWrap>
|
|
35
|
+
|
|
36
|
+
{!hideCancelButton && (
|
|
37
|
+
<button type="button" className="cta cancel h-32 flex">
|
|
38
|
+
{BUILD_INFRA_TEXT.EDIT_CANCEL}
|
|
39
|
+
</button>
|
|
40
|
+
)}
|
|
41
|
+
</div>
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default Footer
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
In case someone wants to add a new build infrastructure field, the following steps should be followed:
|
|
2
|
+
- Update the BUILD_INFRA_FORM_FIELDS, in constants.tsx
|
|
3
|
+
- Add BuildInfraConfigTypes, BuildInfraLocators, BuildInfraInheritActions(If any) in types.tsx
|
|
4
|
+
- In utils.tsx, update the handleProfileInputChange and validation functions accordingly
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { ReactComponent as ICCpu } from '../../../Assets/Icon/ic-cpu.svg'
|
|
2
|
+
import { ReactComponent as ICMemory } from '../../../Assets/Icon/ic-memory.svg'
|
|
3
|
+
import { ReactComponent as ICTimer } from '../../../Assets/Icon/ic-timer.svg'
|
|
4
|
+
import { UseBreadcrumbProps } from '../../../Common/BreadCrumb/Types'
|
|
5
|
+
import {
|
|
6
|
+
BuildInfraConfigTypes,
|
|
7
|
+
BuildInfraFormFieldType,
|
|
8
|
+
BuildInfraLocators,
|
|
9
|
+
BuildInfraMetaConfigTypes,
|
|
10
|
+
ProfileInputErrorType,
|
|
11
|
+
BuildInfraProfileBase,
|
|
12
|
+
BuildInfraProfileVariants,
|
|
13
|
+
HandleProfileInputChangeType,
|
|
14
|
+
} from './types'
|
|
15
|
+
|
|
16
|
+
export const BUILD_INFRA_TEXT = {
|
|
17
|
+
HEADING: 'Build Infra Configuration',
|
|
18
|
+
EDIT_SUBMIT: 'Save changes',
|
|
19
|
+
SAVE_SUBMIT: 'Save',
|
|
20
|
+
EDIT_CANCEL: 'Cancel',
|
|
21
|
+
EDIT_DEFAULT_TOOLTIP:
|
|
22
|
+
'Efficiently control infrastructure settings such as CPU, Memory, and Build timeout for your build pipelines. Streamline resource management to optimise build time and cost effortlessly.',
|
|
23
|
+
DESCRIPTION_LABEL: 'Description',
|
|
24
|
+
DESCRIPTION_PLACEHOLDER: 'Enter a description here',
|
|
25
|
+
PROFILE_LABEL: 'Profile name',
|
|
26
|
+
PROFILE_PLACEHOLDER: 'Eg. Java or Node',
|
|
27
|
+
INHERITING_HEADING_DESCRIPTION: 'Inheriting from default',
|
|
28
|
+
SUBMIT_BUTTON_TIPPY: {
|
|
29
|
+
INVALID_INPUT: 'Valid input is required for all mandatory fields.',
|
|
30
|
+
REQUEST_IN_PROGRESS: 'Request in progress.',
|
|
31
|
+
},
|
|
32
|
+
VALIDATE_REQUEST_LIMIT: {
|
|
33
|
+
NEGATIVE_REQUEST: 'Request should be a positive number.',
|
|
34
|
+
NEGATIVE_LIMIT: 'Limit should be a positive number.',
|
|
35
|
+
REQUEST_LESS_THAN_LIMIT: 'Request should be less than or equal to limit.',
|
|
36
|
+
REQUEST_TOO_BIG: 'Request is too big to compute.',
|
|
37
|
+
LIMIT_TOO_BIG: 'Limit is too big to compute.',
|
|
38
|
+
REQUEST_DECIMAL_PLACES: 'Request should be upto 2 decimal places.',
|
|
39
|
+
LIMIT_DECIMAL_PLACES: 'Limit should be upto 2 decimal places.',
|
|
40
|
+
},
|
|
41
|
+
getInvalidActionMessage: (action: HandleProfileInputChangeType['action']) => `Invalid action type: ${action}`,
|
|
42
|
+
getSubmitSuccessMessage: (profileName: string, isEdited: boolean) =>
|
|
43
|
+
`${profileName} is ${isEdited ? 'updated' : 'created'}`,
|
|
44
|
+
PROFILE_NOT_FOUND: {
|
|
45
|
+
title: 'Profile not found',
|
|
46
|
+
subTitle: 'The profile you are looking for does not exist.',
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const BUILD_INFRA_BREADCRUMB: UseBreadcrumbProps = {
|
|
51
|
+
alias: {
|
|
52
|
+
'global-config': null,
|
|
53
|
+
'build-infra': {
|
|
54
|
+
component: <h2 className="m-0 cn-9 fs-16 fw-6 lh-32">{BUILD_INFRA_TEXT.HEADING}</h2>,
|
|
55
|
+
linked: false,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export const BUILD_INFRA_FORM_FIELDS: BuildInfraFormFieldType[] = [
|
|
61
|
+
{
|
|
62
|
+
heading: <h3 className="m-0 cn-9 fs-13 fw-6 lh-20">CPU (Request - Limit)</h3>,
|
|
63
|
+
marker: ICCpu,
|
|
64
|
+
actions: [
|
|
65
|
+
{
|
|
66
|
+
actionType: BuildInfraConfigTypes.CPU_REQUEST,
|
|
67
|
+
label: 'Request',
|
|
68
|
+
placeholder: 'Type CPU request',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
actionType: BuildInfraConfigTypes.CPU_LIMIT,
|
|
72
|
+
label: 'Limit',
|
|
73
|
+
placeholder: 'Type CPU limit',
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
locator: BuildInfraLocators.CPU,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
heading: <h3 className="m-0 cn-9 fs-13 fw-6 lh-20">Memory (Request - Limit)</h3>,
|
|
80
|
+
marker: ICMemory,
|
|
81
|
+
actions: [
|
|
82
|
+
{
|
|
83
|
+
actionType: BuildInfraConfigTypes.MEMORY_REQUEST,
|
|
84
|
+
label: 'Request',
|
|
85
|
+
placeholder: 'Type memory request',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
actionType: BuildInfraConfigTypes.MEMORY_LIMIT,
|
|
89
|
+
label: 'Limit',
|
|
90
|
+
placeholder: 'Type memory limit',
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
locator: BuildInfraLocators.MEMORY,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
heading: <h3 className="m-0 cn-9 fs-13 fw-6 lh-20">Build timeout</h3>,
|
|
97
|
+
marker: ICTimer,
|
|
98
|
+
actions: [
|
|
99
|
+
{
|
|
100
|
+
actionType: BuildInfraConfigTypes.BUILD_TIMEOUT,
|
|
101
|
+
label: 'Timeout',
|
|
102
|
+
placeholder: 'Type build timeout',
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
locator: BuildInfraLocators.BUILD_TIMEOUT,
|
|
106
|
+
},
|
|
107
|
+
]
|
|
108
|
+
|
|
109
|
+
// TODO: Handle the case of create profile to disable save button initially and enable it when all the fields are filled
|
|
110
|
+
export const PROFILE_INPUT_ERROR_FIELDS = {
|
|
111
|
+
...Object.fromEntries(
|
|
112
|
+
Object.keys({ ...BuildInfraConfigTypes, ...BuildInfraMetaConfigTypes }).map((key) => [key, null]),
|
|
113
|
+
),
|
|
114
|
+
} as ProfileInputErrorType
|
|
115
|
+
|
|
116
|
+
// All fields in BuildInfraConfigTypes are required and name in BuildInfraMetaConfigTypes is required
|
|
117
|
+
export const REQUIRED_INPUT_FIELDS = [...Object.keys(BuildInfraConfigTypes), BuildInfraMetaConfigTypes.NAME]
|
|
118
|
+
|
|
119
|
+
export const DEFAULT_PROFILE_NAME = 'default'
|
|
120
|
+
|
|
121
|
+
export const CREATE_PROFILE_BASE_VALUE: BuildInfraProfileBase = {
|
|
122
|
+
name: '',
|
|
123
|
+
description: '',
|
|
124
|
+
type: BuildInfraProfileVariants.NORMAL,
|
|
125
|
+
appCount: 0,
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const CREATE_VIEW_CHECKED_CONFIGS = {
|
|
129
|
+
[BuildInfraConfigTypes.CPU_REQUEST]: true,
|
|
130
|
+
[BuildInfraConfigTypes.CPU_LIMIT]: true,
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export const BUILD_INFRA_INPUT_CONSTRAINTS = {
|
|
134
|
+
STEP: 0.01,
|
|
135
|
+
MIN: 0,
|
|
136
|
+
DECIMAL_PLACES: 2,
|
|
137
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as BuildInfraDescriptor } from './Descriptor'
|
|
2
|
+
export { default as BuildInfraFooter } from './Footer'
|
|
3
|
+
export { default as BuildInfraConfigForm } from './BuildInfraConfigForm'
|
|
4
|
+
export * from './services'
|
|
5
|
+
export * from './utils'
|
|
6
|
+
export * from './types'
|
|
7
|
+
export * from './constants'
|