[Search] Fix connector config resetting without changes (#176235)

## Summary

This fixes an issue in the connector configuration where the config
would keep resetting without config changes.
This commit is contained in:
Sander Philipse 2024-02-06 15:08:19 +01:00 committed by GitHub
parent 086c32e766
commit 9ccd7cc571
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
import React, { createContext, useEffect, useState } from 'react';
import React, { createContext, useEffect, useRef, useState } from 'react';
import {
EuiButton,
@ -20,8 +20,15 @@ import {
import { i18n } from '@kbn/i18n';
import { isDeepEqual } from 'react-use/lib/util';
import { sortAndFilterConnectorConfiguration } from '../../utils/connector_configuration_utils';
import { Connector, ConnectorConfigProperties, ConnectorStatus, FeatureName } from '../..';
import {
Connector,
ConnectorConfigProperties,
ConnectorConfiguration,
ConnectorStatus,
FeatureName,
} from '../..';
import { ConnectorConfigurationForm } from './connector_configuration_form';
@ -82,6 +89,7 @@ export const ConnectorConfigurationComponent: React.FC<ConnectorConfigurationPro
subscriptionLink,
stackManagementLink,
}) => {
const configurationRef = useRef<ConnectorConfiguration>({});
const {
configuration,
error,
@ -95,7 +103,10 @@ export const ConnectorConfigurationComponent: React.FC<ConnectorConfigurationPro
const [isEditing, setIsEditing] = useState(false);
useEffect(() => {
setIsEditing(false);
if (!isDeepEqual(configuration, configurationRef.current)) {
configurationRef.current = configuration;
setIsEditing(false);
}
}, [configuration]);
useEffect(() => {