Skip to content

Commit 162f33d

Browse files
committed
Merge branch 'kubecon-2025' of https://github.com/devtron-labs/dashboard into feat/application-management-overview
2 parents 81f0bba + 2f61145 commit 162f33d

File tree

65 files changed

+1528
-1558
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1528
-1558
lines changed

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,4 @@ FEATURE_GROUPED_APP_LIST_FILTERS_ENABLE=false
7676
FEATURE_FLUX_DEPLOYMENTS_ENABLE=false
7777
FEATURE_LINK_EXTERNAL_FLUX_ENABLE=false
7878
FEATURE_CANARY_ROLLOUT_PROGRESS_ENABLE=true
79+
COMMAND_BAR_REFETCH_INTERVAL=3600

.eslintignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,7 @@ src/components/globalConfigurations/GlobalConfiguration.tsx
253253
src/components/globalConfigurations/GlobalConfigurationProvider.tsx
254254
src/components/hostURL/HostURL.tsx
255255
src/components/hyperion/EnvironmentSelect.tsx
256-
src/components/material/CreateMaterial.tsx
257-
src/components/material/MaterialList.tsx
258256
src/components/material/MaterialView.tsx
259-
src/components/material/UpdateMaterial.tsx
260257
src/components/notifications/AddNotification.tsx
261258
src/components/notifications/ModifyRecipientsModal.tsx
262259
src/components/notifications/NotificationTab.tsx
@@ -288,7 +285,6 @@ src/components/scopedVariables/__tests__/utils.test.tsx
288285
src/components/scopedVariables/utils.tsx
289286
src/components/security/AddCveModal.tsx
290287
src/components/security/DeleteCVEModal.tsx
291-
src/components/security/Security.tsx
292288
src/components/security/SecurityPoliciesTab.tsx
293289
src/components/security/SecurityPolicyApp.tsx
294290
src/components/security/SecurityPolicyCluster.tsx

config.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,5 @@
5252
| LOGIN_PAGE_IMAGE | | Login page image url |
5353
| FEATURE_FLUX_DEPLOYMENTS_ENABLE | false | Enables flux cd deployment type for devtron apps and devtron charts |
5454
| FEATURE_LINK_EXTERNAL_FLUX_ENABLE | false | Enables external flux cd migration |
55-
55+
| COMMAND_BAR_REFETCH_INTERVAL | 3600 | Time interval in seconds to refetch command bar data - Applications List |
5656
# DASHBOARD CONFIG SECRET

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"private": true,
55
"homepage": "/dashboard",
66
"dependencies": {
7-
"@devtron-labs/devtron-fe-common-lib": "1.20.0-pre-2",
7+
"@devtron-labs/devtron-fe-common-lib": "1.20.1-pre-1",
88
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
99
"@rjsf/core": "^5.13.3",
1010
"@rjsf/utils": "^5.13.3",

src/Pages-Devtron-2.0/ApplicationManagement/Configurations/ConfigurationsRouter.tsx

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
import { lazy } from 'react'
2-
import { Redirect, Route, Switch } from 'react-router-dom'
2+
import { Redirect, Route, Switch, useLocation } from 'react-router-dom'
33

4-
import { noop, PageHeader, SERVER_MODE, URLS as COMMON_URLS, useMainContext } from '@devtron-labs/devtron-fe-common-lib'
4+
import {
5+
BreadCrumb,
6+
getApplicationManagementBreadcrumb,
7+
noop,
8+
PageHeader,
9+
SERVER_MODE,
10+
SideNavigation,
11+
URLS as COMMON_URLS,
12+
useBreadcrumb,
13+
useMainContext,
14+
} from '@devtron-labs/devtron-fe-common-lib'
515

616
import ChartRepo from '@Components/chartRepo/ChartRepo'
717
import { importComponentFromFELibrary } from '@Components/common'
18+
import { APPLICATION_MANAGEMENT_CONFIGURATIONS } from '@Components/Navigation'
819
import { AddNotification } from '@Components/notifications/AddNotification'
920
import { URLS } from '@Config/routes'
1021

@@ -23,6 +34,7 @@ const BuildInfra = lazy(() =>
2334
const CatalogFramework = importComponentFromFELibrary('CatalogFramework')
2435

2536
export const Configurations = () => {
37+
const { pathname } = useLocation()
2638
const { featureGitOpsFlags: isFeatureGitOpsEnabled, serverMode, isSuperAdmin } = useMainContext()
2739

2840
const getDefaultRoute = () => {
@@ -33,13 +45,29 @@ export const Configurations = () => {
3345
return URLS.APPLICATION_MANAGEMENT_CONFIGURATIONS_EXTERNAL_LINKS
3446
}
3547

48+
const { breadcrumbs } = useBreadcrumb(
49+
{
50+
alias: {
51+
...getApplicationManagementBreadcrumb(),
52+
configurations: {
53+
component: <span className="cn-9 fs-16 fw-6 lh-24">Configurations</span>,
54+
linked: true,
55+
},
56+
},
57+
},
58+
[pathname],
59+
)
60+
61+
const renderBreadcrumbs = () => <BreadCrumb breadcrumbs={breadcrumbs} />
62+
3663
return (
3764
<>
38-
{/* TODO Rohit: Update with Application Management Header */}
39-
<PageHeader headerName="Application Management / Configurations" />
65+
<PageHeader breadCrumbs={renderBreadcrumbs} isBreadcrumbs />
4066
<div className="application-management-configurations dc__grid flex-grow-1 dc__overflow-auto">
41-
<div className="border__primary--right">SidePanel</div>
42-
<div className="bg__secondary">
67+
<div className="py-12 pl-8 pr-7 border__primary--right">
68+
<SideNavigation list={APPLICATION_MANAGEMENT_CONFIGURATIONS} />
69+
</div>
70+
<div className="bg__secondary dc__overflow-auto">
4371
<Switch>
4472
{isFeatureGitOpsEnabled && (
4573
<Route

src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ export interface AppConfigurationContextType
165165
isJobView: boolean
166166
envIdToEnvApprovalConfigurationMap: ResourceIdToResourceApprovalPolicyConfigMapType
167167
lastUnlockedStage: string
168-
isWorkflowEditorUnlocked: boolean
169168
getRepo: string
170169
envConfig: EnvConfigurationState
171170
}

src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfiguration.provider.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ export const AppConfigurationProvider = (props: AppConfigurationProviderProps) =
5454
deleteApp,
5555
canShowExternalLinks,
5656
showCannotDeleteTooltip,
57-
isWorkflowEditorUnlocked: state.isUnlocked.workflowEditor,
5857
toggleRepoSelectionTippy,
5958
getRepo: showRepoOnDelete,
6059
isJobView: resourceKind === ResourceKindType.job,

src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ const AppComposeRouter = () => {
108108
<div className="flex-grow-1 dc__overflow-auto">
109109
<MaterialList
110110
respondOnSuccess={respondOnSuccess}
111-
isWorkflowEditorUnlocked={isUnlocked.workflowEditor}
112111
toggleRepoSelectionTippy={toggleRepoSelectionTippy}
113112
setRepo={setRepoState}
114113
isJobView={isJobView}
@@ -201,7 +200,6 @@ const AppComposeRouter = () => {
201200
<div className="flex-grow-1 dc__overflow-auto">
202201
<MaterialList
203202
respondOnSuccess={respondOnSuccess}
204-
isWorkflowEditorUnlocked={isUnlocked.workflowEditor}
205203
toggleRepoSelectionTippy={toggleRepoSelectionTippy}
206204
setRepo={setRepoState}
207205
isTemplateView={isTemplateView}

src/Pages/ChartStore/ChartDetails/ChartDetails.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { Route, Switch, useRouteMatch } from 'react-router-dom'
2020
import {
2121
APIResponseHandler,
2222
BreadCrumb,
23+
getApplicationManagementBreadcrumb,
2324
handleAnalyticsEvent,
2425
PageHeader,
2526
SegmentedControl,
@@ -83,6 +84,7 @@ export const ChartDetails = () => {
8384
const { breadcrumbs } = useBreadcrumb(
8485
{
8586
alias: {
87+
...getApplicationManagementBreadcrumb(),
8688
':chartSegment?': null,
8789
':chartId': {
8890
component: (
Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,44 @@
11
import { useEffect } from 'react'
22

3-
import { useRegisterShortcut, UseRegisterShortcutProvider } from '@devtron-labs/devtron-fe-common-lib'
3+
import { useQuery } from '@devtron-labs/devtron-fe-common-lib'
4+
5+
import { getAppListMin } from '@Services/service'
46

57
import CommandBarBackdrop from './CommandBarBackdrop'
6-
import { SHORT_CUTS } from './constants'
78
import { CommandBarProps } from './types'
89

910
import './CommandBar.scss'
1011

1112
const CommandBar = ({ showCommandBar, setShowCommandBar }: CommandBarProps) => {
12-
const { registerShortcut, unregisterShortcut } = useRegisterShortcut()
13-
14-
const handleOpen = () => {
15-
setShowCommandBar(true)
16-
}
13+
const { isLoading: isLoadingAppList, data: appList } = useQuery({
14+
queryKey: ['commandBar__app-list'],
15+
queryFn: () => getAppListMin(),
16+
refetchInterval: (+window._env_.COMMAND_BAR_REFETCH_INTERVAL || 3600) * 1000,
17+
select: ({ result }) => result,
18+
})
1719

1820
const handleClose = () => {
1921
setShowCommandBar(false)
2022
}
2123

2224
useEffect(() => {
23-
const { keys } = SHORT_CUTS.OPEN_COMMAND_BAR
24-
25-
registerShortcut({
26-
keys,
27-
description: SHORT_CUTS.OPEN_COMMAND_BAR.description,
28-
callback: handleOpen,
29-
})
30-
25+
const handleOpen = (e: KeyboardEvent) => {
26+
if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
27+
e.preventDefault()
28+
setShowCommandBar(true)
29+
}
30+
}
31+
window.addEventListener('keydown', handleOpen)
3132
return () => {
32-
unregisterShortcut(keys)
33+
window.removeEventListener('keydown', handleOpen)
3334
}
3435
}, [])
3536

3637
if (!showCommandBar) {
3738
return null
3839
}
3940

40-
return (
41-
<UseRegisterShortcutProvider ignoreTags={[]}>
42-
<CommandBarBackdrop handleClose={handleClose} />
43-
</UseRegisterShortcutProvider>
44-
)
41+
return <CommandBarBackdrop handleClose={handleClose} appList={appList} isLoadingAppList={isLoadingAppList} />
4542
}
4643

4744
export default CommandBar

0 commit comments

Comments
 (0)