Skip to content

Commit 3a8fc0b

Browse files
Merge branch 'main' into feat/devtron-loader
2 parents a3a2f11 + abd92eb commit 3a8fc0b

Some content is hidden

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

51 files changed

+2346
-758
lines changed
Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 8 additions & 0 deletions
Loading

src/assets/icons/ic-hibernate-3.svg

Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 6 additions & 0 deletions
Loading
Lines changed: 14 additions & 0 deletions
Loading

src/assets/icons/ic-secure.svg

Lines changed: 17 additions & 0 deletions
Loading

src/assets/icons/ic-unhibernate.svg

Lines changed: 5 additions & 0 deletions
Loading

src/components/ApplicationGroup/AppGroup.service.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
CheckPermissionResponse,
2020
CheckPermissionType,
2121
ConfigAppListType,
22+
EditDescRequestResponse,
2223
EnvAppType,
2324
EnvDeploymentStatusType,
2425
EnvGroupListResponse,
@@ -193,7 +194,7 @@ export const getAppGroupList = (envId: number): Promise<AppGroupList> => {
193194
return get(`${Routes.APP_LIST_GROUP}/${envId}`)
194195
}
195196

196-
export const getEnvGroupList = (envId: number, filterParentType?:string): Promise<EnvGroupListResponse> => {
197+
export const getEnvGroupList = (envId: number, filterParentType?:string): Promise<EnvGroupListResponse> => {
197198
let filterParentTypeQuery = ''
198199
if (filterParentType) {
199200
filterParentTypeQuery = `?groupType=${filterParentType}`
@@ -223,3 +224,7 @@ export const deleteEnvGroup = (envId: string, groupId: string, filterParentType?
223224
}
224225
return trash(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}/${groupId}${filterParentTypeQuery}`)
225226
}
227+
228+
export const editDescription = (payload): Promise<EditDescRequestResponse> => {
229+
return put(Routes.ENVIRONMENT, payload)
230+
}

src/components/ApplicationGroup/AppGroup.types.ts

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
} from '@devtron-labs/devtron-fe-common-lib'
88
import { MultiValue } from 'react-select'
99
import { WebhookPayloads, WorkflowNodeType, WorkflowType } from '../app/details/triggerView/types'
10-
import { OptionType } from '../app/types'
10+
import { EditDescRequest, OptionType } from '../app/types'
1111
import { AppFilterTabs, BulkResponseStatus } from './Constants'
1212

1313
interface BulkTriggerAppDetailType {
@@ -207,8 +207,11 @@ export interface AppInfoListType {
207207
appStatus: string
208208
deploymentStatus: string
209209
lastDeployed: string
210+
lastDeployedImage?: string
211+
lastDeployedBy?: string
210212
appId: number
211213
envId: number
214+
pipelineId?: number
212215
}
213216

214217
export interface AppListDataType {
@@ -269,6 +272,9 @@ export interface AppGroupDetailDefaultType {
269272
appGroupListData?: AppGroupListType
270273
isVirtualEnv?: boolean
271274
envName?: string
275+
description?: string
276+
getAppListData?: () => Promise<void>
277+
handleSaveDescription?: (description: string) => Promise<void>
272278
}
273279

274280
interface CIPipeline {
@@ -326,6 +332,8 @@ export interface ApplistEnvType {
326332
appName: string
327333
appStatus: string
328334
lastDeployedTime: string
335+
lastDeployedBy?: string
336+
lastDeployedImage?: string
329337
}
330338

331339
export interface AppGroupListType {
@@ -334,6 +342,11 @@ export interface AppGroupListType {
334342
clusterName: string
335343
environmentId: number
336344
apps: ApplistEnvType[]
345+
description?: string
346+
environmentType?: 'Non-Production' | 'Production'
347+
createdOn?: string
348+
createdBy?: string
349+
clusterId?: number
337350
}
338351
export interface ConfigAppListType extends ResponseType {
339352
result?: ConfigAppList[]
@@ -391,7 +404,57 @@ export interface SearchBarType {
391404
setSearchApplied: React.Dispatch<React.SetStateAction<boolean>>
392405
}
393406

407+
export interface EditDescRequestResponse extends ResponseType {
408+
result?: EditDescRequest
409+
}
410+
394411
export enum FilterParentType {
395412
app = 'env-group',
396413
env = 'app-group',
397-
}
414+
}
415+
416+
export interface HibernateStatusRowType {
417+
rowData: HibernateResponseRowType
418+
index: number
419+
isHibernateOperation: boolean
420+
isVirtualEnv?: boolean
421+
}
422+
423+
export interface HibernateResponseRowType {
424+
id: number
425+
appName: string
426+
success: boolean
427+
authError?: boolean
428+
error?: string
429+
skipped?: string
430+
}
431+
432+
export interface BaseModalProps {
433+
selectedAppIds: number[]
434+
envName: string
435+
envId: string
436+
setAppStatusResponseList: React.Dispatch<React.SetStateAction<any[]>>
437+
setShowHibernateStatusDrawer: React.Dispatch<React.SetStateAction<StatusDrawer>>
438+
}
439+
440+
export interface HibernateModalProps extends BaseModalProps {
441+
setOpenHiberateModal: React.Dispatch<React.SetStateAction<boolean>>
442+
}
443+
444+
export interface UnhibernateModalProps extends BaseModalProps {
445+
setOpenUnhiberateModal: React.Dispatch<React.SetStateAction<boolean>>
446+
}
447+
448+
export interface StatusDrawer {
449+
hibernationOperation: boolean
450+
showStatus: boolean
451+
}
452+
453+
export interface ManageAppsResponse {
454+
appName: string
455+
id: number
456+
success: boolean
457+
skipped?: string
458+
error?: string
459+
authError?: boolean
460+
}

src/components/ApplicationGroup/AppGroupAppFilter.components.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ export const Option = (props): JSX.Element => {
8282
}
8383

8484
const renderOptionIcon = (): JSX.Element => {
85+
8586
if (selectedFilterTab === AppFilterTabs.APP_FILTER) {
8687
if (props.isSelected || props.isFocused) {
8788
return (
@@ -92,7 +93,9 @@ export const Option = (props): JSX.Element => {
9293
)
9394
}
9495
} else {
95-
if (props.isFocused) {
96+
// hide edit and delete icon for predefined filter
97+
if (props.isFocused && props.data.value !== props.data.label) {
98+
// for predefined filter, value and label are same (done in fe)
9699
return (
97100
<div className="flex">
98101
<Tippy className="default-tt" arrow={false} content="Edit group">

0 commit comments

Comments
 (0)