This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit 274cae118075c846e3cf32ba8835a2e78f430dfc Author: Marat Gubaidullin <[email protected]> AuthorDate: Fri May 12 17:13:53 2023 -0400 Show development pamel on running #757 --- .../main/webui/src/projects/ProjectDevelopment.tsx | 12 +++-- .../main/webui/src/projects/RunnerInfoContext.tsx | 55 ++++++++++++---------- .../main/webui/src/projects/RunnerInfoMemory.tsx | 53 +++++++++++---------- .../src/main/webui/src/projects/RunnerInfoPod.tsx | 51 ++++++++++---------- .../src/main/webui/src/projects/RunnerToolbar.tsx | 47 +++++++----------- 5 files changed, 110 insertions(+), 108 deletions(-) diff --git a/karavan-app/src/main/webui/src/projects/ProjectDevelopment.tsx b/karavan-app/src/main/webui/src/projects/ProjectDevelopment.tsx index a58b52bc..64f16999 100644 --- a/karavan-app/src/main/webui/src/projects/ProjectDevelopment.tsx +++ b/karavan-app/src/main/webui/src/projects/ProjectDevelopment.tsx @@ -76,6 +76,10 @@ export const ProjectDevelopment = (props: Props) => { }) } + function showConsole(): boolean { + return podStatus.phase !== '' ; + } + const {project, config} = props; return ( <Card className="project-development"> @@ -83,19 +87,19 @@ export const ProjectDevelopment = (props: Props) => { <Flex direction={{default: "row"}} justifyContent={{default: "justifyContentSpaceBetween"}}> <FlexItem flex={{default: "flex_1"}}> - <RunnerInfoPod podStatus={podStatus} config={config} /> + <RunnerInfoPod podStatus={podStatus} config={config} showConsole={showConsole()} /> </FlexItem> <Divider orientation={{default: "vertical"}}/> <FlexItem flex={{default: "flex_1"}}> - <RunnerInfoMemory jvm={jvm} memory={memory} config={config} /> + <RunnerInfoMemory jvm={jvm} memory={memory} config={config} showConsole={showConsole()} /> </FlexItem> <Divider orientation={{default: "vertical"}}/> <FlexItem flex={{default: "flex_1"}}> - <RunnerInfoContext context={context} config={config} /> + <RunnerInfoContext context={context} config={config} showConsole={showConsole()} /> </FlexItem> <Divider orientation={{default: "vertical"}}/> <FlexItem> - <RunnerToolbar project={project} config={config} /> + <RunnerToolbar project={project} config={config} showConsole={showConsole()} /> </FlexItem> </Flex> </CardBody> diff --git a/karavan-app/src/main/webui/src/projects/RunnerInfoContext.tsx b/karavan-app/src/main/webui/src/projects/RunnerInfoContext.tsx index 57ce057e..8f49c15b 100644 --- a/karavan-app/src/main/webui/src/projects/RunnerInfoContext.tsx +++ b/karavan-app/src/main/webui/src/projects/RunnerInfoContext.tsx @@ -19,6 +19,7 @@ import UpIcon from "@patternfly/react-icons/dist/esm/icons/check-circle-icon"; interface Props { context: any, config: any, + showConsole: boolean } export const RunnerInfoContext = (props: Props) => { @@ -127,7 +128,7 @@ export const RunnerInfoContext = (props: Props) => { } function getRunning(): boolean { - return isRunning(props.context); + return props.context ? isRunning(props.context) : false; } @@ -138,35 +139,37 @@ export const RunnerInfoContext = (props: Props) => { return ( <DescriptionList isHorizontal> <DescriptionListGroup> - <DescriptionListTerm>Camel Context</DescriptionListTerm> + <DescriptionListTerm>Camel</DescriptionListTerm> <DescriptionListDescription> {getContextInfo()} </DescriptionListDescription> </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Version</DescriptionListTerm> - <DescriptionListDescription> - {getVersionInfo()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>State</DescriptionListTerm> - <DescriptionListDescription> - {getContextState()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Exchanges:</DescriptionListTerm> - <DescriptionListDescription> - {getExchanges()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Processing Time</DescriptionListTerm> - <DescriptionListDescription> - {getProcessingTime()} - </DescriptionListDescription> - </DescriptionListGroup> + {props.showConsole && <> + <DescriptionListGroup> + <DescriptionListTerm>Version</DescriptionListTerm> + <DescriptionListDescription> + {getVersionInfo()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>State</DescriptionListTerm> + <DescriptionListDescription> + {getContextState()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Exchanges:</DescriptionListTerm> + <DescriptionListDescription> + {getExchanges()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Processing Time</DescriptionListTerm> + <DescriptionListDescription> + {getProcessingTime()} + </DescriptionListDescription> + </DescriptionListGroup> + </>} </DescriptionList> ); } diff --git a/karavan-app/src/main/webui/src/projects/RunnerInfoMemory.tsx b/karavan-app/src/main/webui/src/projects/RunnerInfoMemory.tsx index 1e44a4c9..2511b79d 100644 --- a/karavan-app/src/main/webui/src/projects/RunnerInfoMemory.tsx +++ b/karavan-app/src/main/webui/src/projects/RunnerInfoMemory.tsx @@ -20,6 +20,7 @@ interface Props { jvm: any, memory: any, config: any, + showConsole: boolean } export const RunnerInfoMemory = (props: Props) => { @@ -122,35 +123,37 @@ export const RunnerInfoMemory = (props: Props) => { return ( <DescriptionList isHorizontal> <DescriptionListGroup> - <DescriptionListTerm>JVM Memory</DescriptionListTerm> + <DescriptionListTerm>JVM</DescriptionListTerm> <DescriptionListDescription> {getJvmInfo()} </DescriptionListDescription> </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>PID</DescriptionListTerm> - <DescriptionListDescription> - {getPid()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Uptime</DescriptionListTerm> - <DescriptionListDescription> - {getJvmUptime()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Heap</DescriptionListTerm> - <DescriptionListDescription> - {getHeapInfo()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Non-Heap</DescriptionListTerm> - <DescriptionListDescription> - {getNonHeapInfo()} - </DescriptionListDescription> - </DescriptionListGroup> + {props.showConsole && <> + <DescriptionListGroup> + <DescriptionListTerm>PID</DescriptionListTerm> + <DescriptionListDescription> + {getPid()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Uptime</DescriptionListTerm> + <DescriptionListDescription> + {getJvmUptime()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Heap</DescriptionListTerm> + <DescriptionListDescription> + {getHeapInfo()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Non-Heap</DescriptionListTerm> + <DescriptionListDescription> + {getNonHeapInfo()} + </DescriptionListDescription> + </DescriptionListGroup> + </>} </DescriptionList> ); } diff --git a/karavan-app/src/main/webui/src/projects/RunnerInfoPod.tsx b/karavan-app/src/main/webui/src/projects/RunnerInfoPod.tsx index 5590be7c..be606cd3 100644 --- a/karavan-app/src/main/webui/src/projects/RunnerInfoPod.tsx +++ b/karavan-app/src/main/webui/src/projects/RunnerInfoPod.tsx @@ -18,6 +18,7 @@ import {isRunning} from "./ProjectDevelopment"; interface Props { podStatus: PodStatus, config: any, + showConsole: boolean } export const RunnerInfoPod = (props: Props) => { @@ -97,30 +98,32 @@ export const RunnerInfoPod = (props: Props) => { {getPodInfo()} </DescriptionListDescription> </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Status</DescriptionListTerm> - <DescriptionListDescription> - {getPodStatus()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Requests</DescriptionListTerm> - <DescriptionListDescription> - {getPodRequests()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Limits</DescriptionListTerm> - <DescriptionListDescription> - {getPodLimits()} - </DescriptionListDescription> - </DescriptionListGroup> - <DescriptionListGroup> - <DescriptionListTerm>Created</DescriptionListTerm> - <DescriptionListDescription> - {getPodCreation()} - </DescriptionListDescription> - </DescriptionListGroup> + {props.showConsole && <> + <DescriptionListGroup> + <DescriptionListTerm>Status</DescriptionListTerm> + <DescriptionListDescription> + {getPodStatus()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Requests</DescriptionListTerm> + <DescriptionListDescription> + {getPodRequests()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Limits</DescriptionListTerm> + <DescriptionListDescription> + {getPodLimits()} + </DescriptionListDescription> + </DescriptionListGroup> + <DescriptionListGroup> + <DescriptionListTerm>Created</DescriptionListTerm> + <DescriptionListDescription> + {getPodCreation()} + </DescriptionListDescription> + </DescriptionListGroup> + </>} </DescriptionList> ); } diff --git a/karavan-app/src/main/webui/src/projects/RunnerToolbar.tsx b/karavan-app/src/main/webui/src/projects/RunnerToolbar.tsx index 532b91bb..cd972fe3 100644 --- a/karavan-app/src/main/webui/src/projects/RunnerToolbar.tsx +++ b/karavan-app/src/main/webui/src/projects/RunnerToolbar.tsx @@ -16,6 +16,7 @@ import {ProjectEventBus} from "./ProjectEventBus"; interface Props { project: Project, config: any, + showConsole: boolean } export const RunnerToolbar = (props: Props) => { @@ -25,7 +26,7 @@ export const RunnerToolbar = (props: Props) => { const [isRunning, setIsRunning] = useState(false); const [isDeletingPod, setIsDeletingPod] = useState(false); - function jbangRun () { + function jbangRun() { setJbangIsRunning(true); KaravanApi.runProject(props.project, res => { if (res.status === 200 || res.status === 201) { @@ -39,7 +40,7 @@ export const RunnerToolbar = (props: Props) => { }); } - function deleteRunner () { + function deleteRunner() { setIsDeletingPod(true); KaravanApi.deleteRunner(podName, res => { if (res.status === 202) { @@ -55,7 +56,7 @@ export const RunnerToolbar = (props: Props) => { <React.Fragment> <div className="runner-toolbar"> <div className="row"> - <Tooltip content="JBang run" position={TooltipPosition.left}> + <Tooltip content="Run in development mode" position={TooltipPosition.left}> <Button isLoading={isJbangRunning ? true : undefined} isSmall variant={"primary"} @@ -66,32 +67,20 @@ export const RunnerToolbar = (props: Props) => { </Button> </Tooltip> </div> - <div className="row"> - <Tooltip content="Runtime run" position={TooltipPosition.left}> - <Button isLoading={isRunning ? true : undefined} - isDisabled - isSmall - variant={"secondary"} - className="project-button" - icon={!isRunning ? <PlayIcon/> : <div></div>} - onClick={() => { - }}> - {isRunning ? "..." : "Run"} - </Button> - </Tooltip> - </div> - <div className="row"> - <Tooltip content="Delete pod" position={TooltipPosition.left}> - <Button isLoading={isDeletingPod ? true : undefined} - isSmall - variant={"secondary"} - className="project-button" - icon={!isRunning ? <DeleteIcon/> : <div></div>} - onClick={() => deleteRunner()}> - {isDeletingPod ? "..." : "Delete"} - </Button> - </Tooltip> - </div> + {props.showConsole && <> + <div className="row"> + <Tooltip content="Delete pod" position={TooltipPosition.left}> + <Button isLoading={isDeletingPod ? true : undefined} + isSmall + variant={"secondary"} + className="project-button" + icon={!isRunning ? <DeleteIcon/> : <div></div>} + onClick={() => deleteRunner()}> + {isDeletingPod ? "..." : "Delete"} + </Button> + </Tooltip> + </div> + </>} </div> </React.Fragment> );
