Skip to content

Commit

Permalink
HPCC-30313 ECL Watch v9 fix Files remote copy dialog replicate checkbox
Browse files Browse the repository at this point in the history
Check if the replicate checkbox should be enabled based upon the selected Group

Signed-off-by: Jeremy Clements <[email protected]>
  • Loading branch information
jeclrsg committed Sep 26, 2023
1 parent 582dc1a commit 152b2f5
Showing 1 changed file with 24 additions and 2 deletions.
26 changes: 24 additions & 2 deletions esp/src/src-react/components/forms/RemoteCopy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Controller, useForm } from "react-hook-form";
import { scopedLogger } from "@hpcc-js/util";
import nlsHPCC from "src/nlsHPCC";
import * as FileSpray from "src/FileSpray";
import * as WsTopology from "src/WsTopology";
import * as FormStyles from "./landing-zone/styles";
import { TargetGroupTextField } from "./Fields";
import { MessageBox } from "../../layouts/MessageBox";
Expand Down Expand Up @@ -58,6 +59,9 @@ export const RemoteCopy: React.FunctionComponent<RemoteCopyProps> = ({
const [showError, setShowError] = React.useState(false);
const [errorMessage, setErrorMessage] = React.useState("");

const [selectedDestGroup, setSelectedDestGroup] = React.useState("");
const [replicateDisabled, setReplicateDisabled] = React.useState(true);

const onSubmit = React.useCallback(() => {
handleSubmit(
(data, evt) => {
Expand Down Expand Up @@ -89,6 +93,23 @@ export const RemoteCopy: React.FunctionComponent<RemoteCopyProps> = ({
}
);

React.useEffect(() => {
WsTopology.TpGroupQuery({
request: {}
}).then(response => {
const groups = response.TpGroupQueryResponse.TpGroups?.TpGroup ?? [];
for (const index in groups) {
if (groups[index].Name === selectedDestGroup && groups[index].ReplicateOutputs === true) {
setReplicateDisabled(false);
break;
} else if (groups[index].Name === selectedDestGroup) {
setReplicateDisabled(true);
break;
}
}
}).catch(err => logger.error(err));
}, [selectedDestGroup]);

return <MessageBox title={nlsHPCC.RemoteCopy} show={showForm} setShow={setShowForm}
footer={<>
<PrimaryButton text={nlsHPCC.Copy} onClick={handleSubmit(onSubmit)} />
Expand Down Expand Up @@ -164,13 +185,14 @@ export const RemoteCopy: React.FunctionComponent<RemoteCopyProps> = ({
<Controller
control={control} name="destGroup"
render={({
field: { onChange, name: fieldName, value },
field: { onChange, name: fieldName },
fieldState: { error }
}) => <TargetGroupTextField
key={fieldName}
label={nlsHPCC.Group}
required={true}
onChange={(evt, option) => {
setSelectedDestGroup(option.key.toString());
onChange(option.key);
}}
errorMessage={error && error.message}
Expand Down Expand Up @@ -233,7 +255,7 @@ export const RemoteCopy: React.FunctionComponent<RemoteCopyProps> = ({
control={control} name="replicate"
render={({
field: { onChange, name: fieldName, value }
}) => <Checkbox name={fieldName} checked={value} onChange={onChange} label={nlsHPCC.Replicate} disabled={true} />}
}) => <Checkbox name={fieldName} checked={value} onChange={onChange} label={nlsHPCC.Replicate} disabled={replicateDisabled} />}
/></td>
<td><Controller
control={control} name="superCopy"
Expand Down

0 comments on commit 152b2f5

Please sign in to comment.