From d35d050321e293f9169f82bacfb2aee81224ac1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Mon, 29 Nov 2021 01:29:00 +0000 Subject: [PATCH] fix: added preflight for lazy query fetching --- .../machineActions/MachineActions.js | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/new-lamassu-admin/src/components/machineActions/MachineActions.js b/new-lamassu-admin/src/components/machineActions/MachineActions.js index 4ae57a6e..d2f58eea 100644 --- a/new-lamassu-admin/src/components/machineActions/MachineActions.js +++ b/new-lamassu-admin/src/components/machineActions/MachineActions.js @@ -70,6 +70,7 @@ const Label = ({ children }) => { const MachineActions = memo(({ machine, onActionSuccess }) => { const [action, setAction] = useState({ command: null }) + const [preflightOptions, setPreflightOptions] = useState({}) const [errorMessage, setErrorMessage] = useState(null) const classes = useStyles() @@ -82,17 +83,7 @@ const MachineActions = memo(({ machine, onActionSuccess }) => { const [fetchMachineEvents, { loading: loadingEvents }] = useLazyQuery( MACHINE, - { - variables: { - deviceId: machine.deviceId - }, - onCompleted: machineEventsLazy => { - const message = !isStaticState(getState(machineEventsLazy)) - ? warningMessage - : null - setAction(action => ({ ...action, message })) - } - } + preflightOptions ) const [machineAction, { loading }] = useMutation(MACHINE_ACTION, { @@ -109,6 +100,19 @@ const MachineActions = memo(({ machine, onActionSuccess }) => { const confirmDialogOpen = Boolean(action.command) const disabled = !!(action?.command === 'restartServices' && loadingEvents) + const machineStatusPreflight = actionToDo => { + setPreflightOptions({ + variables: { deviceId: machine.deviceId }, + onCompleted: machineEventsLazy => { + const message = !isStaticState(getState(machineEventsLazy)) + ? warningMessage + : null + setAction({ ...actionToDo, message }) + } + }) + fetchMachineEvents() + } + return (
@@ -179,8 +183,7 @@ const MachineActions = memo(({ machine, onActionSuccess }) => { InverseIcon={RebootReversedIcon} disabled={loading} onClick={() => { - fetchMachineEvents() - setAction({ + machineStatusPreflight({ command: 'restartServices', display: 'Restart services for' })