Update counter only on success
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -144,8 +144,10 @@ export default function TaskFormDialog(props: Props) {
|
|||||||
},
|
},
|
||||||
connections: [props.connection!],
|
connections: [props.connection!],
|
||||||
},
|
},
|
||||||
onCompleted: () => {
|
onCompleted: (_response, errors) => {
|
||||||
updateStoreCounter(relayEnv, data.measureId, "tasks(first:0)", 1);
|
if (!errors) {
|
||||||
|
updateStoreCounter(relayEnv, data.measureId, "tasks(first:0)", 1);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
reset();
|
reset();
|
||||||
|
|||||||
@@ -165,8 +165,8 @@ function TaskRow(props: TaskRowProps) {
|
|||||||
input: { taskId: props.task.id },
|
input: { taskId: props.task.id },
|
||||||
connections: [props.connectionId],
|
connections: [props.connectionId],
|
||||||
},
|
},
|
||||||
onCompleted: () => {
|
onCompleted: (_response, errors) => {
|
||||||
if (params.measureId) {
|
if (!errors && params.measureId) {
|
||||||
updateStoreCounter(
|
updateStoreCounter(
|
||||||
relayEnv,
|
relayEnv,
|
||||||
params.measureId,
|
params.measureId,
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ import {
|
|||||||
} from "react-relay";
|
} from "react-relay";
|
||||||
import {
|
import {
|
||||||
commitLocalUpdate,
|
commitLocalUpdate,
|
||||||
|
type Environment,
|
||||||
type GraphQLTaggedNode,
|
type GraphQLTaggedNode,
|
||||||
type MutationParameters,
|
type MutationParameters,
|
||||||
} from "relay-runtime";
|
} from "relay-runtime";
|
||||||
import type RelayModernEnvironment from "relay-runtime/lib/store/RelayModernEnvironment";
|
|
||||||
|
|
||||||
const defaultOptions = {
|
const defaultOptions = {
|
||||||
field: "totalCount",
|
field: "totalCount",
|
||||||
@@ -36,13 +36,15 @@ export function useMutationWithIncrement<T extends MutationParameters>(
|
|||||||
return mutate({
|
return mutate({
|
||||||
...queryOptions,
|
...queryOptions,
|
||||||
onCompleted: (response, error) => {
|
onCompleted: (response, error) => {
|
||||||
updateStoreCounter(
|
if (!error) {
|
||||||
relayEnv,
|
updateStoreCounter(
|
||||||
options.id,
|
relayEnv,
|
||||||
options.node,
|
options.id,
|
||||||
options.value,
|
options.node,
|
||||||
options.field,
|
options.value,
|
||||||
);
|
options.field,
|
||||||
|
);
|
||||||
|
}
|
||||||
queryOptions.onCompleted?.(response, error);
|
queryOptions.onCompleted?.(response, error);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -54,7 +56,7 @@ export function useMutationWithIncrement<T extends MutationParameters>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function updateStoreCounter(
|
export function updateStoreCounter(
|
||||||
relayEnv: RelayModernEnvironment,
|
relayEnv: Environment,
|
||||||
recordId: string,
|
recordId: string,
|
||||||
nodeName: string,
|
nodeName: string,
|
||||||
value: number = 1,
|
value: number = 1,
|
||||||
|
|||||||
@@ -180,13 +180,15 @@ function EvidenceRow(props: {
|
|||||||
evidenceId: evidence.id,
|
evidenceId: evidence.id,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onCompleted: () => {
|
onCompleted: (_response, errors) => {
|
||||||
updateStoreCounter(
|
if (!errors) {
|
||||||
relayEnv,
|
updateStoreCounter(
|
||||||
props.measureId,
|
relayEnv,
|
||||||
"evidences(first:0)",
|
props.measureId,
|
||||||
-1
|
"evidences(first:0)",
|
||||||
);
|
-1
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user