From 4d4e55eb982a3fc1c314153a10dca5f8df2e272b Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Wed, 16 Jul 2025 00:01:14 +0530 Subject: [PATCH 01/51] feat: add new icons and update MaterialHistory component props --- src/Assets/IconV2/ic-group-filter-applied.svg | 20 ++++++++++++++++++ src/Assets/IconV2/ic-group-filter.svg | 19 +++++++++++++++++ src/Assets/IconV2/ic-storage.svg | 21 +++++++++++++++++++ src/Assets/IconV2/ic-visibility-off.svg | 19 +++++++++++++++++ src/Assets/IconV2/ic-visibility-on.svg | 20 ++++++++++++++++++ src/Shared/Components/Icon/Icon.tsx | 10 +++++++++ .../MaterialHistory.component.tsx | 10 ++------- .../Components/MaterialHistory/types.ts | 3 +-- 8 files changed, 112 insertions(+), 10 deletions(-) create mode 100644 src/Assets/IconV2/ic-group-filter-applied.svg create mode 100644 src/Assets/IconV2/ic-group-filter.svg create mode 100644 src/Assets/IconV2/ic-storage.svg create mode 100644 src/Assets/IconV2/ic-visibility-off.svg create mode 100644 src/Assets/IconV2/ic-visibility-on.svg diff --git a/src/Assets/IconV2/ic-group-filter-applied.svg b/src/Assets/IconV2/ic-group-filter-applied.svg new file mode 100644 index 000000000..6b1507d4c --- /dev/null +++ b/src/Assets/IconV2/ic-group-filter-applied.svg @@ -0,0 +1,20 @@ + + + + + + diff --git a/src/Assets/IconV2/ic-group-filter.svg b/src/Assets/IconV2/ic-group-filter.svg new file mode 100644 index 000000000..8ca69eb28 --- /dev/null +++ b/src/Assets/IconV2/ic-group-filter.svg @@ -0,0 +1,19 @@ + + + + + diff --git a/src/Assets/IconV2/ic-storage.svg b/src/Assets/IconV2/ic-storage.svg new file mode 100644 index 000000000..bbdcc3ac3 --- /dev/null +++ b/src/Assets/IconV2/ic-storage.svg @@ -0,0 +1,21 @@ + + + + + + + diff --git a/src/Assets/IconV2/ic-visibility-off.svg b/src/Assets/IconV2/ic-visibility-off.svg new file mode 100644 index 000000000..3f75690db --- /dev/null +++ b/src/Assets/IconV2/ic-visibility-off.svg @@ -0,0 +1,19 @@ + + + + + diff --git a/src/Assets/IconV2/ic-visibility-on.svg b/src/Assets/IconV2/ic-visibility-on.svg new file mode 100644 index 000000000..14ca7e888 --- /dev/null +++ b/src/Assets/IconV2/ic-visibility-on.svg @@ -0,0 +1,20 @@ + + + + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 1d29db585..f2653051b 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -105,6 +105,8 @@ import { ReactComponent as ICGoogleArtifactRegistry } from '@IconsV2/ic-google-a import { ReactComponent as ICGoogleContainerRegistry } from '@IconsV2/ic-google-container-registry.svg' import { ReactComponent as ICGoogleGke } from '@IconsV2/ic-google-gke.svg' import { ReactComponent as ICGridView } from '@IconsV2/ic-grid-view.svg' +import { ReactComponent as ICGroupFilter } from '@IconsV2/ic-group-filter.svg' +import { ReactComponent as ICGroupFilterApplied } from '@IconsV2/ic-group-filter-applied.svg' import { ReactComponent as ICHandPointing } from '@IconsV2/ic-hand-pointing.svg' import { ReactComponent as ICHeartGreen } from '@IconsV2/ic-heart-green.svg' import { ReactComponent as ICHeartRed } from '@IconsV2/ic-heart-red.svg' @@ -180,6 +182,7 @@ import { ReactComponent as ICSprayCan } from '@IconsV2/ic-spray-can.svg' import { ReactComponent as ICStack } from '@IconsV2/ic-stack.svg' import { ReactComponent as ICStamp } from '@IconsV2/ic-stamp.svg' import { ReactComponent as ICStopFill } from '@IconsV2/ic-stop-fill.svg' +import { ReactComponent as ICStorage } from '@IconsV2/ic-storage.svg' import { ReactComponent as ICStrategyBlueGreen } from '@IconsV2/ic-strategy-blue-green.svg' import { ReactComponent as ICStrategyBlueGreenColor } from '@IconsV2/ic-strategy-blue-green-color.svg' import { ReactComponent as ICStrategyCanary } from '@IconsV2/ic-strategy-canary.svg' @@ -208,6 +211,8 @@ import { ReactComponent as ICUserCircle } from '@IconsV2/ic-user-circle.svg' import { ReactComponent as ICUserKey } from '@IconsV2/ic-user-key.svg' import { ReactComponent as ICUsers } from '@IconsV2/ic-users.svg' import { ReactComponent as ICViewVariableToggle } from '@IconsV2/ic-view-variable-toggle.svg' +import { ReactComponent as ICVisibilityOff } from '@IconsV2/ic-visibility-off.svg' +import { ReactComponent as ICVisibilityOn } from '@IconsV2/ic-visibility-on.svg' import { ReactComponent as ICWarning } from '@IconsV2/ic-warning.svg' import { ReactComponent as ICWebhook } from '@IconsV2/ic-webhook.svg' import { ReactComponent as ICWifiSlash } from '@IconsV2/ic-wifi-slash.svg' @@ -323,6 +328,8 @@ export const iconMap = { 'ic-google-gke': ICGoogleGke, 'ic-google': ICGoogle, 'ic-grid-view': ICGridView, + 'ic-group-filter-applied': ICGroupFilterApplied, + 'ic-group-filter': ICGroupFilter, 'ic-hand-pointing': ICHandPointing, 'ic-heart-green': ICHeartGreen, 'ic-heart-red-animated': ICHeartRedAnimated, @@ -398,6 +405,7 @@ export const iconMap = { 'ic-stack': ICStack, 'ic-stamp': ICStamp, 'ic-stop-fill': ICStopFill, + 'ic-storage': ICStorage, 'ic-strategy-blue-green-color': ICStrategyBlueGreenColor, 'ic-strategy-blue-green': ICStrategyBlueGreen, 'ic-strategy-canary-color': ICStrategyCanaryColor, @@ -426,6 +434,8 @@ export const iconMap = { 'ic-user-key': ICUserKey, 'ic-users': ICUsers, 'ic-view-variable-toggle': ICViewVariableToggle, + 'ic-visibility-off': ICVisibilityOff, + 'ic-visibility-on': ICVisibilityOn, 'ic-warning': ICWarning, 'ic-webhook': ICWebhook, 'ic-wifi-slash': ICWifiSlash, diff --git a/src/Shared/Components/MaterialHistory/MaterialHistory.component.tsx b/src/Shared/Components/MaterialHistory/MaterialHistory.component.tsx index 9764a8292..1ae48b6bb 100644 --- a/src/Shared/Components/MaterialHistory/MaterialHistory.component.tsx +++ b/src/Shared/Components/MaterialHistory/MaterialHistory.component.tsx @@ -23,17 +23,11 @@ import { SourceTypeMap } from '../../../Common' import { GitCommitInfoGeneric } from '../GitCommitInfoGeneric' import { MaterialHistoryProps } from './types' -const MaterialHistory = ({ - material, - pipelineName, - ciPipelineId, - selectCommit, - isCommitInfoModal, -}: MaterialHistoryProps) => { +const MaterialHistory = ({ material, pipelineName, selectCommit, isCommitInfoModal }: MaterialHistoryProps) => { const onClickMaterialHistory = (e, _commitId, isExcluded) => { e.stopPropagation() if (selectCommit && !isExcluded) { - selectCommit(material.id.toString(), _commitId, ciPipelineId) + selectCommit(_commitId) } } diff --git a/src/Shared/Components/MaterialHistory/types.ts b/src/Shared/Components/MaterialHistory/types.ts index a19a58c3e..261d44359 100644 --- a/src/Shared/Components/MaterialHistory/types.ts +++ b/src/Shared/Components/MaterialHistory/types.ts @@ -19,7 +19,6 @@ import { CIMaterialType } from '../../Services/app.types' export interface MaterialHistoryProps { material: CIMaterialType pipelineName: string - ciPipelineId?: string - selectCommit?: (materialId: string, commit: string, ciPipelineId?: string) => void + selectCommit?: (commitId: string) => void isCommitInfoModal?: boolean } From 5d8fe1f97ac6a954ddad6db1611296995c5b1173 Mon Sep 17 00:00:00 2001 From: AbhishekA1509 Date: Wed, 16 Jul 2025 17:18:57 +0530 Subject: [PATCH 02/51] fix: update fill color of circle in ic-group-filter-applied.svg --- src/Assets/IconV2/ic-group-filter-applied.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Assets/IconV2/ic-group-filter-applied.svg b/src/Assets/IconV2/ic-group-filter-applied.svg index 6b1507d4c..6fd688648 100644 --- a/src/Assets/IconV2/ic-group-filter-applied.svg +++ b/src/Assets/IconV2/ic-group-filter-applied.svg @@ -16,5 +16,5 @@ - + From 557f8eea37ee4003e8bd05611f5ea81e05513832 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Thu, 17 Jul 2025 12:27:31 +0530 Subject: [PATCH 03/51] chore: diff icon added --- src/Assets/IconV2/ic-diff-added.svg | 3 +++ src/Assets/IconV2/ic-diff-deleted.svg | 3 +++ src/Assets/IconV2/ic-diff-updated.svg | 4 ++++ src/Shared/Components/Icon/Icon.tsx | 6 ++++++ 4 files changed, 16 insertions(+) create mode 100644 src/Assets/IconV2/ic-diff-added.svg create mode 100644 src/Assets/IconV2/ic-diff-deleted.svg create mode 100644 src/Assets/IconV2/ic-diff-updated.svg diff --git a/src/Assets/IconV2/ic-diff-added.svg b/src/Assets/IconV2/ic-diff-added.svg new file mode 100644 index 000000000..9a19936ec --- /dev/null +++ b/src/Assets/IconV2/ic-diff-added.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-diff-deleted.svg b/src/Assets/IconV2/ic-diff-deleted.svg new file mode 100644 index 000000000..11b3b4bf2 --- /dev/null +++ b/src/Assets/IconV2/ic-diff-deleted.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/Assets/IconV2/ic-diff-updated.svg b/src/Assets/IconV2/ic-diff-updated.svg new file mode 100644 index 000000000..0a0176c6a --- /dev/null +++ b/src/Assets/IconV2/ic-diff-updated.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx index 9b0e8a49e..6f659f692 100644 --- a/src/Shared/Components/Icon/Icon.tsx +++ b/src/Shared/Components/Icon/Icon.tsx @@ -66,6 +66,9 @@ import { ReactComponent as ICDevtronAi } from '@IconsV2/ic-devtron-ai.svg' import { ReactComponent as ICDevtronApp } from '@IconsV2/ic-devtron-app.svg' import { ReactComponent as ICDevtronHeaderLogo } from '@IconsV2/ic-devtron-header-logo.svg' import { ReactComponent as ICDevtronJob } from '@IconsV2/ic-devtron-job.svg' +import { ReactComponent as ICDiffAdded } from '@IconsV2/ic-diff-added.svg' +import { ReactComponent as ICDiffDeleted } from '@IconsV2/ic-diff-deleted.svg' +import { ReactComponent as ICDiffUpdated } from '@IconsV2/ic-diff-updated.svg' import { ReactComponent as ICDisconnect } from '@IconsV2/ic-disconnect.svg' import { ReactComponent as ICDiscordFill } from '@IconsV2/ic-discord-fill.svg' import { ReactComponent as ICDockerhub } from '@IconsV2/ic-dockerhub.svg' @@ -289,6 +292,9 @@ export const iconMap = { 'ic-devtron-header-logo': ICDevtronHeaderLogo, 'ic-devtron-job': ICDevtronJob, 'ic-devtron': ICDevtron, + 'ic-diff-added': ICDiffAdded, + 'ic-diff-deleted': ICDiffDeleted, + 'ic-diff-updated': ICDiffUpdated, 'ic-disconnect': ICDisconnect, 'ic-discord-fill': ICDiscordFill, 'ic-dockerhub': ICDockerhub, From b627ddbb328f7f1afdba414f75539d23c871f096 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Thu, 17 Jul 2025 18:19:46 +0530 Subject: [PATCH 04/51] chore: Interactive cell text --- .../InteractiveCellText.tsx | 48 +++++++++++++++++++ src/Common/InteractiveCellText/index.ts | 2 + src/Common/InteractiveCellText/types.ts | 24 ++++++++++ src/Common/index.ts | 1 + 4 files changed, 75 insertions(+) create mode 100644 src/Common/InteractiveCellText/InteractiveCellText.tsx create mode 100644 src/Common/InteractiveCellText/index.ts create mode 100644 src/Common/InteractiveCellText/types.ts diff --git a/src/Common/InteractiveCellText/InteractiveCellText.tsx b/src/Common/InteractiveCellText/InteractiveCellText.tsx new file mode 100644 index 000000000..dbceb2cd8 --- /dev/null +++ b/src/Common/InteractiveCellText/InteractiveCellText.tsx @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2024. Devtron Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Tooltip } from '@Common/Tooltip' + +import { InteractiveCellTextProps } from './types' + +export const InteractiveCellText = ({ + text, + onClickHandler, + dataTestId, + rootClassName, + interactive = false, + fontSize = 13, +}: InteractiveCellTextProps) => ( + + {typeof onClickHandler === 'function' ? ( + + ) : ( +

+ {text || '-'} +

+ )} +
+) diff --git a/src/Common/InteractiveCellText/index.ts b/src/Common/InteractiveCellText/index.ts new file mode 100644 index 000000000..1e2222661 --- /dev/null +++ b/src/Common/InteractiveCellText/index.ts @@ -0,0 +1,2 @@ +export * from './InteractiveCellText' +export * from './types' diff --git a/src/Common/InteractiveCellText/types.ts b/src/Common/InteractiveCellText/types.ts new file mode 100644 index 000000000..5be06f3aa --- /dev/null +++ b/src/Common/InteractiveCellText/types.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2024. Devtron Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface InteractiveCellTextProps { + text: string + onClickHandler?: () => void + dataTestId?: string + rootClassName?: string + interactive?: boolean + fontSize?: number +} diff --git a/src/Common/index.ts b/src/Common/index.ts index b0e642893..44b595cc9 100644 --- a/src/Common/index.ts +++ b/src/Common/index.ts @@ -41,6 +41,7 @@ export * from './Helper' export * from './Hooks' export * from './ImageTags' export * from './ImageTags.Types' +export * from './InteractiveCellText' export * from './Markdown' export * from './Modals/Modal' export * from './Modals/VisibleModal' From ff2655f8b6c0578f9c010a2944ada10054e2a7ae Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 18 Jul 2025 15:39:38 +0530 Subject: [PATCH 05/51] chore: tippy content prop added --- src/Common/InteractiveCellText/InteractiveCellText.tsx | 8 +++++++- src/Common/InteractiveCellText/types.ts | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Common/InteractiveCellText/InteractiveCellText.tsx b/src/Common/InteractiveCellText/InteractiveCellText.tsx index dbceb2cd8..7c3307bb6 100644 --- a/src/Common/InteractiveCellText/InteractiveCellText.tsx +++ b/src/Common/InteractiveCellText/InteractiveCellText.tsx @@ -25,8 +25,14 @@ export const InteractiveCellText = ({ rootClassName, interactive = false, fontSize = 13, + tippyContent = null, }: InteractiveCellTextProps) => ( - + {typeof onClickHandler === 'function' ? (