diff --git a/.nvmrc b/.nvmrc index 53d1c14db..a3b7a31ee 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v22 +v24.14.1 diff --git a/package-lock.json b/package-lock.json index 4eee5c6a9..337987dc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.4-pre-2", + "version": "1.23.5-pre-1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.4-pre-2", + "version": "1.23.5-pre-1", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0a411dabb..759ac2863 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "1.23.4-pre-2", + "version": "1.23.5-pre-1", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Common/ClipboardButton/ClipboardButton.tsx b/src/Common/ClipboardButton/ClipboardButton.tsx index 71ea2d40b..9c1fe9ab9 100644 --- a/src/Common/ClipboardButton/ClipboardButton.tsx +++ b/src/Common/ClipboardButton/ClipboardButton.tsx @@ -45,7 +45,7 @@ export const ClipboardButton = ({ size, }: ClipboardProps) => { const [copied, setCopied] = useState(false) - const setCopiedFalseTimeoutRef = useRef>(-1) + const setCopiedFalseTimeoutRef = useRef | number>(-1) const handleTriggerCopy = () => { setCopied(true) @@ -90,7 +90,7 @@ export const ClipboardButton = ({ useEffect( () => () => { - if (setCopiedFalseTimeoutRef.current > -1) { + if ((setCopiedFalseTimeoutRef.current as number) > -1) { clearTimeout(setCopiedFalseTimeoutRef.current) } }, diff --git a/src/Common/Hooks/UseRegisterShortcut/UseRegisterShortcutProvider.tsx b/src/Common/Hooks/UseRegisterShortcut/UseRegisterShortcutProvider.tsx index e93934753..3758f54a9 100644 --- a/src/Common/Hooks/UseRegisterShortcut/UseRegisterShortcutProvider.tsx +++ b/src/Common/Hooks/UseRegisterShortcut/UseRegisterShortcutProvider.tsx @@ -36,7 +36,7 @@ const UseRegisterShortcutProvider = ({ const disableShortcutsRef = useRef(false) const shortcutsRef = useRef>({}) const keysDownRef = useRef>>(new Set()) - const keyDownTimeoutRef = useRef>(-1) + const keyDownTimeoutRef = useRef | number>(-1) const ignoredTags = ignoreTags ?? IGNORE_TAGS_FALLBACK const registerShortcut: UseRegisterShortcutContextType['registerShortcut'] = useCallback( @@ -113,7 +113,7 @@ const UseRegisterShortcutProvider = ({ keysDownRef.current.clear() - if (keyDownTimeoutRef.current > -1) { + if ((keyDownTimeoutRef.current as number) > -1) { clearTimeout(keyDownTimeoutRef.current) keyDownTimeoutRef.current = -1 } @@ -178,7 +178,7 @@ const UseRegisterShortcutProvider = ({ window.removeEventListener('keyup', handleKeyupEvent) window.removeEventListener('blur', handleBlur) - if (keyDownTimeoutRef.current > -1) { + if ((keyDownTimeoutRef.current as number) > -1) { clearTimeout(keyDownTimeoutRef.current) } } diff --git a/src/Shared/Components/BulkOperations/BulkOperations.component.tsx b/src/Shared/Components/BulkOperations/BulkOperations.component.tsx index e71f5b23b..4481a300e 100644 --- a/src/Shared/Components/BulkOperations/BulkOperations.component.tsx +++ b/src/Shared/Components/BulkOperations/BulkOperations.component.tsx @@ -70,10 +70,10 @@ const BulkOperations = ({ try { setApiCallInProgress(true) - let timeout = -1 + let timeout: ReturnType | number = -1 const triggerUpdate = () => { - if (timeout >= 0) { + if ((timeout as number) >= 0) { return } diff --git a/src/Shared/Components/CodeEditor/Extensions/readOnlyTooltip.ts b/src/Shared/Components/CodeEditor/Extensions/readOnlyTooltip.ts index 85889773a..034722ea0 100644 --- a/src/Shared/Components/CodeEditor/Extensions/readOnlyTooltip.ts +++ b/src/Shared/Components/CodeEditor/Extensions/readOnlyTooltip.ts @@ -74,7 +74,7 @@ const createTooltip = (view: EditorView): Tooltip => { // Plugin to show and remove tooltip on keypress const keypressTooltipPlugin = ViewPlugin.fromClass( class { - private timeoutId: number | null = null + private timeoutId: ReturnType | number | null = null constructor(public view: EditorView) { this.view.dom.addEventListener('keydown', this.handleKeyPress) diff --git a/src/Shared/Components/Table/types.ts b/src/Shared/Components/Table/types.ts index 1e357df0b..5ea8e4cc4 100644 --- a/src/Shared/Components/Table/types.ts +++ b/src/Shared/Components/Table/types.ts @@ -450,7 +450,7 @@ export type ConfigurableColumnsConfigType< > = Record['visibleColumns']> export interface GetFilteringPromiseProps { - searchSortTimeoutRef: React.MutableRefObject + searchSortTimeoutRef: React.MutableRefObject | number> callback: () => Promise> | RowsType } diff --git a/src/Shared/Store/IndexStore.tsx b/src/Shared/Store/IndexStore.tsx index 376344a78..de39de7e9 100644 --- a/src/Shared/Store/IndexStore.tsx +++ b/src/Shared/Store/IndexStore.tsx @@ -116,20 +116,33 @@ export function getiNodesByRootNodeWithChildNodes( }) }) - // Add containers to Pod type nodes + // Add init containers and containers to Pod type nodes children .filter((_child) => _child.kind.toLowerCase() == Nodes.Pod.toLowerCase()) .map((_pn) => { + const podMeta = (podMetadata || _appDetailsSubject.getValue().resourceTree?.podMetadata)?.filter( + (_pmd) => _pmd.uid === _pn.uid, + )[0] + + const initNodes: iNode[] = (podMeta?.initContainers || []).map((_c: string) => { + const initNode = {} as iNode + initNode.kind = Nodes.Containers + initNode.name = _c + initNode.pNode = _pn + initNode.isInitContainer = true + return initNode + }) + + const containerNodes: iNode[] = (podMeta?.containers || []).map((_c: string) => { + const childNode = {} as iNode + childNode.kind = Nodes.Containers + childNode.name = _c + childNode.pNode = _pn + return childNode + }) + // eslint-disable-next-line no-param-reassign - _pn.childNodes = (podMetadata || _appDetailsSubject.getValue().resourceTree?.podMetadata) - ?.filter((_pmd) => _pmd.uid === _pn.uid)[0] - ?.containers?.map((_c) => { - const childNode = {} as iNode - childNode.kind = Nodes.Containers - childNode.pNode = _pn - childNode.name = _c - return childNode - }) + _pn.childNodes = [...initNodes, ...containerNodes] }) children = children.flatMap((_node) => _node.childNodes ?? []) } diff --git a/src/Shared/types.ts b/src/Shared/types.ts index 0c3fc9cfa..2d4f96fcd 100644 --- a/src/Shared/types.ts +++ b/src/Shared/types.ts @@ -347,6 +347,8 @@ export interface iNode extends Node { type: NodeType status: string pNode?: iNode + /** Marks a node as an init container, used for display purposes in the resource tree. */ + isInitContainer?: boolean } export interface HelmReleaseStatus {