Skip to content

Commit

Permalink
bug fix for duplicate notification channels (opensearch-project#981)
Browse files Browse the repository at this point in the history
* bug fix for duplicate notification channels

Signed-off-by: Riya Saxena <[email protected]>

* bug fix for UI dropdown

Signed-off-by: Riya Saxena <[email protected]>

---------

Signed-off-by: Riya Saxena <[email protected]>
  • Loading branch information
riysaxen-amzn committed Jun 26, 2024
1 parent 722047d commit 738295f
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 9 deletions.
2 changes: 1 addition & 1 deletion public/pages/CreateTrigger/components/Action/Action.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ const Action = ({
</EuiText>
</React.Fragment>
),
rowHeight: 45,
rowHeight: 30,
isLoading: !flyoutMode && loadingDestinations,
}}
/>
Expand Down
32 changes: 24 additions & 8 deletions public/pages/CreateTrigger/utils/helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,30 @@ import moment from 'moment-timezone';
import { formikToTrigger } from '../containers/CreateTrigger/utils/formikToTrigger';
import { getUISettings } from '../../../services';

export const getChannelOptions = (channels) =>
channels.map((channel) => ({
key: channel.type,
label: channel.type,
options: channels
.filter((local_channel) => local_channel.type === channel.type)
.map((option) => ({ key: option.value, ...option })),
}));
export const getChannelOptions = (channels) => {
const channelMap = {};

// Iterate over channels to group options by channel type
channels.forEach(channel => {
if (!channelMap[channel.type]) {
channelMap[channel.type] = {
key: channel.type,
label: channel.type,
options: []
};
}
// Add the option to the corresponding channel type
channelMap[channel.type].options.push({
key: channel.value,
...channel
});
});

// Convert the channelMap object to an array of values
const channelOptions = Object.values(channelMap);

return channelOptions;
};

// Custom Webhooks for Destinations used `custom_webhook` for the type whereas Notification Channels use 'webhook'
// This conversion ensures Notifications' nomenclature is used for the labeling for consistency
Expand Down

0 comments on commit 738295f

Please sign in to comment.