mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[Search] Fix: Enterprise Search gated form submission (#196983)
## Summary Updated the gate forms to explicit reload the browser after the api call succeeds to avoid race conditions from relying on the form default behavior to reload the browser.
This commit is contained in:
parent
79f9112d80
commit
f25c12b8c7
4 changed files with 28 additions and 18 deletions
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { useActions, useValues } from 'kea';
|
||||
|
||||
|
@ -447,10 +447,14 @@ export const AppSearchGate: React.FC = () => {
|
|||
const { feature, participateInUXLabs } = useValues(AppSearchGateLogic);
|
||||
const { formSubmitRequest, setAdditionalFeedback, setParticipateInUXLabs, setFeature } =
|
||||
useActions(AppSearchGateLogic);
|
||||
const onSubmitForm = useCallback((e: React.FormEvent<HTMLFormElement>) => {
|
||||
e.preventDefault();
|
||||
formSubmitRequest();
|
||||
}, []);
|
||||
const options = getOptionsFeaturesList();
|
||||
return (
|
||||
<EuiPanel hasShadow={false}>
|
||||
<EuiForm component="form" fullWidth>
|
||||
<EuiForm component="form" fullWidth onSubmit={onSubmitForm}>
|
||||
<EuiFormLabel>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.gateForm.features.Label', {
|
||||
defaultMessage: 'What App Search feature are you looking to use?',
|
||||
|
@ -595,12 +599,7 @@ export const AppSearchGate: React.FC = () => {
|
|||
<EuiSpacer />
|
||||
<EuiFlexGroup justifyContent="flexEnd">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiButton
|
||||
isDisabled={!feature ?? false}
|
||||
type="submit"
|
||||
fill
|
||||
onClick={() => formSubmitRequest()}
|
||||
>
|
||||
<EuiButton isDisabled={!feature ?? false} type="submit" fill>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.gateForm.submit', {
|
||||
defaultMessage: 'Submit',
|
||||
})}
|
||||
|
|
|
@ -39,7 +39,10 @@ export const AppSearchGateLogic = kea<MakeLogicType<AppSearchGateValues, AppSear
|
|||
setParticipateInUXLabs: (participateInUXLabs) => ({ participateInUXLabs }),
|
||||
},
|
||||
connect: {
|
||||
actions: [UpdateAppSearchGatedFormDataApiLogic, ['makeRequest as submitGatedFormDataRequest']],
|
||||
actions: [
|
||||
UpdateAppSearchGatedFormDataApiLogic,
|
||||
['makeRequest as submitGatedFormDataRequest', 'apiSuccess as submitGatedFormSuccess'],
|
||||
],
|
||||
},
|
||||
listeners: ({ actions, values }) => ({
|
||||
formSubmitRequest: () => {
|
||||
|
@ -52,6 +55,9 @@ export const AppSearchGateLogic = kea<MakeLogicType<AppSearchGateValues, AppSear
|
|||
});
|
||||
}
|
||||
},
|
||||
submitGatedFormSuccess: () => {
|
||||
window.location.reload();
|
||||
},
|
||||
}),
|
||||
path: ['enterprise_search', 'app_search', 'gate_form'],
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import React, { Fragment } from 'react';
|
||||
import React, { Fragment, useCallback } from 'react';
|
||||
|
||||
import { useActions, useValues } from 'kea';
|
||||
|
||||
|
@ -538,10 +538,14 @@ export const WorkplaceSearchGate: React.FC = () => {
|
|||
useActions(WorkplaceSearchGateLogic);
|
||||
|
||||
const { feature, participateInUXLabs } = useValues(WorkplaceSearchGateLogic);
|
||||
const onSubmitForm = useCallback((e: React.FormEvent<HTMLFormElement>) => {
|
||||
e.preventDefault();
|
||||
formSubmitRequest();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<EuiPanel hasShadow={false}>
|
||||
<EuiForm component="form" fullWidth>
|
||||
<EuiForm component="form" fullWidth onSubmit={onSubmitForm}>
|
||||
<EuiFormLabel>
|
||||
{i18n.translate('xpack.enterpriseSearch.workplaceSearch.gateForm.features.Label', {
|
||||
defaultMessage: 'What Workplace Search feature are you looking to use?',
|
||||
|
@ -686,12 +690,7 @@ export const WorkplaceSearchGate: React.FC = () => {
|
|||
<EuiSpacer />
|
||||
<EuiFlexGroup justifyContent="flexEnd">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiButton
|
||||
isDisabled={!feature ?? false}
|
||||
type="submit"
|
||||
fill
|
||||
onClick={() => formSubmitRequest()}
|
||||
>
|
||||
<EuiButton isDisabled={!feature ?? false} type="submit" fill>
|
||||
{i18n.translate('xpack.enterpriseSearch.workplaceSearch.gateForm.submit', {
|
||||
defaultMessage: 'Submit',
|
||||
})}
|
||||
|
|
|
@ -36,7 +36,10 @@ export const WorkplaceSearchGateLogic = kea<
|
|||
setParticipateInUXLabs: (participateInUXLabs) => ({ participateInUXLabs }),
|
||||
},
|
||||
connect: {
|
||||
actions: [UpdateGatedFormDataApiLogic, ['makeRequest as submitGatedFormDataRequest']],
|
||||
actions: [
|
||||
UpdateGatedFormDataApiLogic,
|
||||
['makeRequest as submitGatedFormDataRequest', 'apiSuccess as submitGatedFormSuccess'],
|
||||
],
|
||||
},
|
||||
listeners: ({ actions, values }) => ({
|
||||
formSubmitRequest: () => {
|
||||
|
@ -49,6 +52,9 @@ export const WorkplaceSearchGateLogic = kea<
|
|||
});
|
||||
}
|
||||
},
|
||||
submitGatedFormSuccess: () => {
|
||||
window.location.reload();
|
||||
},
|
||||
}),
|
||||
path: ['enterprise_search', 'workplace_search', 'gate_form'],
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue