Skip to content

Commit

Permalink
Clear values when switching to AAD template fields
Browse files Browse the repository at this point in the history
  • Loading branch information
Zacqary committed Oct 30, 2023
1 parent cc1ccb4 commit 5feab9d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 11 deletions.
Expand Up @@ -37,7 +37,7 @@ export const ServerLogParamsFields: React.FunctionComponent<
editAction('level', 'info', index);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
}, [actionParams.level]);

const [[isUsingDefault, defaultMessageUsed], setDefaultMessageUsage] = useState<
[boolean, string | undefined]
Expand Down
Expand Up @@ -43,6 +43,7 @@ import {
getDurationUnitValue,
parseDuration,
} from '@kbn/alerting-plugin/common/parse_duration';
import { SavedObjectAttribute } from '@kbn/core-saved-objects-api-server';
import { getIsExperimentalFeatureEnabled } from '../../../common/get_experimental_features';
import { betaBadgeProps } from './beta_badge_props';
import {
Expand Down Expand Up @@ -186,6 +187,9 @@ export const ActionTypeForm = ({
const [useAadTemplateFields, setUseAadTemplateField] = useState(
actionItem?.useAlertDataForTemplate ?? false
);
const [storedActionParamsForAadToggle, setStoredActionParamsForAadToggle] = useState<
Record<string, SavedObjectAttribute>
>({});

const { fields: aadTemplateFields } = useRuleTypeAadTemplateFields(
http,
Expand All @@ -207,16 +211,26 @@ export const ActionTypeForm = ({
showMustacheAutocompleteSwitch = false;
}

const handleUseAadTemplateFields = useCallback(
() =>
setUseAadTemplateField((prevVal) => {
if (setActionUseAlertDataForTemplate) {
setActionUseAlertDataForTemplate(!prevVal, index);
}
return !prevVal;
}),
[setActionUseAlertDataForTemplate, index]
);
const handleUseAadTemplateFields = useCallback(() => {
setUseAadTemplateField((prevVal) => {
if (setActionUseAlertDataForTemplate) {
setActionUseAlertDataForTemplate(!prevVal, index);
}
return !prevVal;
});
const currentActionParams = { ...actionItem.params };
for (const key of Object.keys(currentActionParams)) {
setActionParamsProperty(key, storedActionParamsForAadToggle[key] ?? '', index);
}
setStoredActionParamsForAadToggle(currentActionParams);
}, [
setActionUseAlertDataForTemplate,
storedActionParamsForAadToggle,
setStoredActionParamsForAadToggle,
setActionParamsProperty,
actionItem.params,
index,
]);

const getDefaultParams = async () => {
const connectorType = await actionTypeRegistry.get(actionItem.actionTypeId);
Expand Down Expand Up @@ -313,6 +327,12 @@ export const ActionTypeForm = ({
})();
}, [actionItem, disableErrorMessages]);

useEffect(() => {
if (isEmpty(storedActionParamsForAadToggle) && actionItem.params.subAction) {
setStoredActionParamsForAadToggle(actionItem.params);
}
}, [actionItem.params, storedActionParamsForAadToggle]);

const canSave = hasSaveActionsCapability(capabilities);

const actionGroupDisplay = (
Expand Down Expand Up @@ -527,6 +547,7 @@ export const ActionTypeForm = ({
availableActionVariables
)
);
console.trace('setActionParamsProperty', key, value, i);
setActionParamsProperty(key, value, i);
}}
messageVariables={templateFields}
Expand Down

0 comments on commit 5feab9d

Please sign in to comment.