Skip to content

Commit

Permalink
[APM] Add validations to general settings
Browse files Browse the repository at this point in the history
  • Loading branch information
ElenaStoeva committed Jan 31, 2024
1 parent cc43dab commit cb322c9
Showing 1 changed file with 7 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import {
useUiTracker,
} from '@kbn/observability-shared-plugin/public';
import { FieldRowProvider } from '@kbn/management-settings-components-field-row';
import { ValueValidation } from '@kbn/core-ui-settings-browser/src/types';
import { useApmFeatureFlag } from '../../../../hooks/use_apm_feature_flag';
import { ApmFeatureFlagName } from '../../../../../common/apm_feature_flags';
import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context';
Expand Down Expand Up @@ -66,7 +65,7 @@ function getApmSettingsKeys(isProfilingIntegrationEnabled: boolean) {

export function GeneralSettings() {
const trackApmEvent = useUiTracker({ app: 'apm' });
const { docLinks, notifications } = useApmPluginContext().core;
const { docLinks, notifications, settings } = useApmPluginContext().core;
const isProfilingIntegrationEnabled = useApmFeatureFlag(
ApmFeatureFlagName.ProfilingIntegrationAvailable
);
Expand Down Expand Up @@ -101,11 +100,9 @@ export function GeneralSettings() {
}
}

// We don't validate the user input on these settings
const settingsValidationResponse: ValueValidation = {
successfulValidation: true,
valid: true,
};
const hasInvalidChanges = Object.values(unsavedChanges).some(
({ isInvalid }) => isInvalid
);

return (
<>
Expand All @@ -118,7 +115,8 @@ export function GeneralSettings() {
links: docLinks.links.management,
showDanger: (message: string) =>
notifications.toasts.addDanger(message),
validateChange: async () => settingsValidationResponse,
validateChange: async (key: string, value: any) =>
settings.client.validateValue(key, value),
}}
>
<FieldRow
Expand All @@ -140,6 +138,7 @@ export function GeneralSettings() {
})}
unsavedChangesCount={Object.keys(unsavedChanges).length}
appTestSubj="apm"
areChangesInvalid={hasInvalidChanges}
/>
)}
</>
Expand Down

0 comments on commit cb322c9

Please sign in to comment.