Skip to content

Commit f29e42f

Browse files
enhancement: settings for servers are disabled if the server is not enabled in source node
1 parent 5061149 commit f29e42f

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

ui/src/components/diagram-maker/edge-properties/new-edge-properties.tsx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,12 +383,21 @@ export const NewEdgeProperties = (props: NewEdgePropertiesProps) => {
383383
});
384384
};
385385

386+
const isRestServerDisabled = () => {
387+
const edgeConfig: CompageEdge = parsedCurrentConfig.edges[props.edgeId];
388+
const srcNode: CompageNode = parsedModifiedState.nodes[edgeConfig?.src];
389+
if (srcNode && srcNode.consumerData && srcNode.consumerData.restConfig && srcNode.consumerData.restConfig.server) {
390+
return srcNode.consumerData.restConfig.server.port === "";
391+
}
392+
return true;
393+
};
394+
386395
const getRestServerCheck = () => {
387396
return <React.Fragment>
388397
<FormControlLabel
389398
label="Rest Server"
390399
control={<Checkbox
391-
size="medium" checked={payload.isRestServer}
400+
size="medium" disabled={isRestServerDisabled()} checked={payload.isRestServer}
392401
onChange={handleIsRestServerChange}
393402
/>}
394403
/>
@@ -432,11 +441,21 @@ export const NewEdgeProperties = (props: NewEdgePropertiesProps) => {
432441
});
433442
};
434443

444+
const isGrpcServerDisabled = () => {
445+
const edgeConfig: CompageEdge = parsedCurrentConfig.edges[props.edgeId];
446+
const srcNode: CompageNode = parsedModifiedState.nodes[edgeConfig?.src];
447+
if (srcNode && srcNode.consumerData && srcNode.consumerData.grpcConfig && srcNode.consumerData.grpcConfig.server) {
448+
return srcNode.consumerData.grpcConfig.server.port === "";
449+
}
450+
return true;
451+
};
452+
435453
const getGrpcServerCheck = () => {
436454
return <React.Fragment>
437455
<FormControlLabel
438456
label="Grpc Server"
439457
control={<Checkbox
458+
disabled={isGrpcServerDisabled()}
440459
size="medium" checked={payload.isGrpcServer}
441460
onChange={handleIsGrpcServerChange}
442461
/>}

ui/src/components/diagram-maker/node-properties/new-node-properties.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ export const NewNodeProperties = (props: NewNodePropertiesProps) => {
233233
};
234234

235235
const getRestServerPort = (template: string, port: string) => {
236-
return isCompageTemplate(template) ? port || "8080" : "8080";
236+
return isCompageTemplate(template) ? port : "8080";
237237
};
238238

239239
// TODO this is a hack as there is no NODE_UPDATE action in diagram-maker. We may later update this impl when we fork diagram-maker repo.

0 commit comments

Comments
 (0)