New: Show current tags for Connections

(cherry picked from commit 2016f11b1c322fcd5f9e2f09328ca19d2114629d)

Fixes #3696
pull/3697/head v1.2.1.3216
Bogdan 1 year ago
parent 5d1a2a3a59
commit 28e4186835

@ -3,6 +3,7 @@ import React, { Component } from 'react';
import Card from 'Components/Card'; import Card from 'Components/Card';
import Label from 'Components/Label'; import Label from 'Components/Label';
import ConfirmModal from 'Components/Modal/ConfirmModal'; import ConfirmModal from 'Components/Modal/ConfirmModal';
import TagList from 'Components/TagList';
import { kinds } from 'Helpers/Props'; import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate'; import translate from 'Utilities/String/translate';
import EditNotificationModalConnector from './EditNotificationModalConnector'; import EditNotificationModalConnector from './EditNotificationModalConnector';
@ -78,7 +79,9 @@ class Notification extends Component {
supportsOnDownloadFailure, supportsOnDownloadFailure,
supportsOnImportFailure, supportsOnImportFailure,
supportsOnTrackRetag, supportsOnTrackRetag,
supportsOnApplicationUpdate supportsOnApplicationUpdate,
tags,
tagList
} = this.props; } = this.props;
return ( return (
@ -187,6 +190,11 @@ class Notification extends Component {
</Label> </Label>
} }
<TagList
tags={tags}
tagList={tagList}
/>
<EditNotificationModalConnector <EditNotificationModalConnector
id={id} id={id}
isOpen={this.state.isEditNotificationModalOpen} isOpen={this.state.isEditNotificationModalOpen}
@ -235,6 +243,8 @@ Notification.propTypes = {
supportsOnImportFailure: PropTypes.bool.isRequired, supportsOnImportFailure: PropTypes.bool.isRequired,
supportsOnTrackRetag: PropTypes.bool.isRequired, supportsOnTrackRetag: PropTypes.bool.isRequired,
supportsOnApplicationUpdate: PropTypes.bool.isRequired, supportsOnApplicationUpdate: PropTypes.bool.isRequired,
tags: PropTypes.arrayOf(PropTypes.number).isRequired,
tagList: PropTypes.arrayOf(PropTypes.object).isRequired,
onConfirmDeleteNotification: PropTypes.func.isRequired onConfirmDeleteNotification: PropTypes.func.isRequired
}; };

@ -49,6 +49,7 @@ class Notifications extends Component {
render() { render() {
const { const {
items, items,
tagList,
onConfirmDeleteNotification, onConfirmDeleteNotification,
...otherProps ...otherProps
} = this.props; } = this.props;
@ -71,6 +72,7 @@ class Notifications extends Component {
<Notification <Notification
key={item.id} key={item.id}
{...item} {...item}
tagList={tagList}
onConfirmDeleteNotification={onConfirmDeleteNotification} onConfirmDeleteNotification={onConfirmDeleteNotification}
/> />
); );
@ -109,6 +111,7 @@ Notifications.propTypes = {
isFetching: PropTypes.bool.isRequired, isFetching: PropTypes.bool.isRequired,
error: PropTypes.object, error: PropTypes.object,
items: PropTypes.arrayOf(PropTypes.object).isRequired, items: PropTypes.arrayOf(PropTypes.object).isRequired,
tagList: PropTypes.arrayOf(PropTypes.object).isRequired,
onConfirmDeleteNotification: PropTypes.func.isRequired onConfirmDeleteNotification: PropTypes.func.isRequired
}; };

@ -4,13 +4,20 @@ import { connect } from 'react-redux';
import { createSelector } from 'reselect'; import { createSelector } from 'reselect';
import { deleteNotification, fetchNotifications } from 'Store/Actions/settingsActions'; import { deleteNotification, fetchNotifications } from 'Store/Actions/settingsActions';
import createSortedSectionSelector from 'Store/Selectors/createSortedSectionSelector'; import createSortedSectionSelector from 'Store/Selectors/createSortedSectionSelector';
import createTagsSelector from 'Store/Selectors/createTagsSelector';
import sortByName from 'Utilities/Array/sortByName'; import sortByName from 'Utilities/Array/sortByName';
import Notifications from './Notifications'; import Notifications from './Notifications';
function createMapStateToProps() { function createMapStateToProps() {
return createSelector( return createSelector(
createSortedSectionSelector('settings.notifications', sortByName), createSortedSectionSelector('settings.notifications', sortByName),
(notifications) => notifications createTagsSelector(),
(notifications, tagList) => {
return {
...notifications,
tagList
};
}
); );
} }

Loading…
Cancel
Save