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 0d521f4518123ed842dcde32bb603e6f8c5f0c8b Author: Marat Gubaidullin <[email protected]> AuthorDate: Tue Nov 28 17:54:07 2023 -0500 Fix #1005 --- .../src/designer/route/property/InfrastructureSelector.tsx | 11 ++++++----- .../apache/camel/karavan/api/InfrastructureResource.java | 9 +++++---- .../src/designer/route/property/InfrastructureSelector.tsx | 11 ++++++----- .../src/main/webui/src/project/DevModeToolbar.tsx | 13 ++++++++----- 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx b/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx index 38555892..e849b94d 100644 --- a/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx +++ b/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx @@ -34,7 +34,8 @@ interface Props { export function InfrastructureSelector(props: Props) { - const [tabIndex, setTabIndex] = useState<string | number>("configMap"); + const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services']; + const [tabIndex, setTabIndex] = useState<string | number>(tabs[0]); const [filter, setFilter] = useState<string>(); function checkFilter (name: string): boolean { @@ -49,9 +50,9 @@ export function InfrastructureSelector(props: Props) { return ( <Form isHorizontal className="search" autoComplete="off"> <FormGroup fieldId="search"> - <TextInput className="text-field" type="text" id="search" name="search" - value={filter} - onChange={(_, value) => setFilter(value)}/> + <TextInput className="text-field" type="text" id="search" name="search" + value={filter} + onChange={(_, value) => setFilter(value)}/> </FormGroup> </Form> ) @@ -190,7 +191,7 @@ export function InfrastructureSelector(props: Props) { ) } - const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services']; + return ( <Modal aria-label="Select from Infrastructure" diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java index 8b62d4c0..1385c384 100644 --- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java +++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java @@ -64,9 +64,9 @@ public class InfrastructureResource { @Path("/deployment/{env}") public List<DeploymentStatus> getDeploymentStatusesByEnv(@PathParam("env") String env) throws Exception { if (infinispanService.isReady()) { - return infinispanService.getDeploymentStatuses(env).stream() - .sorted(Comparator.comparing(DeploymentStatus::getProjectId)) - .collect(Collectors.toList()); + return infinispanService.getDeploymentStatuses(env).stream() + .sorted(Comparator.comparing(DeploymentStatus::getProjectId)) + .collect(Collectors.toList()); } else { return List.of(); } @@ -140,7 +140,8 @@ public class InfrastructureResource { return Response.ok(kubernetesService.getServices(kubernetesService.getNamespace())).build(); } else { List<String> list = infinispanService.getContainerStatuses(environment).stream() - .map(ci -> ci.getPorts().stream().map(i -> ci.getContainerName() + ":" + i).collect(Collectors.toList())) + .filter(ci -> !ci.getPorts().isEmpty()) + .map(ci -> ci.getPorts().stream().map(i -> ci.getContainerName() + "|" + ci.getContainerName() + ":" + i.getPrivatePort()).collect(Collectors.toList())) .flatMap(List::stream).collect(Collectors.toList()); return Response.ok(list).build(); } diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx index 38555892..e849b94d 100644 --- a/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx +++ b/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx @@ -34,7 +34,8 @@ interface Props { export function InfrastructureSelector(props: Props) { - const [tabIndex, setTabIndex] = useState<string | number>("configMap"); + const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services']; + const [tabIndex, setTabIndex] = useState<string | number>(tabs[0]); const [filter, setFilter] = useState<string>(); function checkFilter (name: string): boolean { @@ -49,9 +50,9 @@ export function InfrastructureSelector(props: Props) { return ( <Form isHorizontal className="search" autoComplete="off"> <FormGroup fieldId="search"> - <TextInput className="text-field" type="text" id="search" name="search" - value={filter} - onChange={(_, value) => setFilter(value)}/> + <TextInput className="text-field" type="text" id="search" name="search" + value={filter} + onChange={(_, value) => setFilter(value)}/> </FormGroup> </Form> ) @@ -190,7 +191,7 @@ export function InfrastructureSelector(props: Props) { ) } - const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services']; + return ( <Modal aria-label="Select from Infrastructure" diff --git a/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx b/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx index f9056c14..bcb46dc4 100644 --- a/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx +++ b/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx @@ -81,10 +81,10 @@ export function DevModeToolbar(props: Props) { <FlexItem className="refresher"> {poll && <Spinner className="spinner" size="lg" aria-label="Refresh"/>} <Tooltip content={poll ? "Stop refresh" : "Refresh auto"} position={TooltipPosition.bottom}> - <Button className="button" - icon={poll ? <StopIcon/> : <RefreshIcon/>} - variant={"link"} - onClick={e => setPoll(!poll)}/> + <Button className="button" + icon={poll ? <StopIcon/> : <RefreshIcon/>} + variant={"link"} + onClick={e => setPoll(!poll)}/> </Tooltip> </FlexItem> {/*Replace with something else because Spinner is used fo refresh*/} @@ -145,7 +145,10 @@ export function DevModeToolbar(props: Props) { isDisabled={!commands.includes('delete') || inTransit} variant={"control"} icon={<DeleteIcon/>} - onClick={() => ProjectService.deleteDevModeContainer(project)}> + onClick={() => { + setPoll(true); + ProjectService.deleteDevModeContainer(project); + }}> </Button> </Tooltip> </FlexItem>}
