@selfcommunity/react-ui 0.7.9-alpha.19 → 0.7.9-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/Composer/Attributes/Attributes.js +3 -3
- package/lib/cjs/components/FeedObject/FeedObject.js +6 -1
- package/lib/cjs/components/PrivateMessageSnippets/PrivateMessageSnippets.js +5 -1
- package/lib/cjs/components/PrivateMessageThread/PrivateMessageThread.js +12 -4
- package/lib/esm/components/Composer/Attributes/Attributes.js +3 -3
- package/lib/esm/components/FeedObject/FeedObject.js +6 -1
- package/lib/esm/components/PrivateMessageSnippets/PrivateMessageSnippets.js +5 -1
- package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.js +13 -5
- package/lib/umd/react-ui.js +1 -1
- package/package.json +6 -6
|
@@ -16,7 +16,7 @@ const Root = (0, styles_1.styled)(material_1.Box, {
|
|
|
16
16
|
slot: 'AttributesRoot'
|
|
17
17
|
})(() => ({}));
|
|
18
18
|
exports.default = (props) => {
|
|
19
|
-
var _a, _b;
|
|
19
|
+
var _a, _b, _c;
|
|
20
20
|
// PROPS
|
|
21
21
|
const { className = null, value = null, onChange = null, onClick = null } = props;
|
|
22
22
|
// HANDLERS
|
|
@@ -47,8 +47,8 @@ exports.default = (props) => {
|
|
|
47
47
|
return (react_1.default.createElement(Root, { className: (0, classnames_1.default)(classes.root, className) },
|
|
48
48
|
((_a = value === null || value === void 0 ? void 0 : value.categories) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
|
|
49
49
|
(value === null || value === void 0 ? void 0 : value.categories.map((c) => (react_1.default.createElement(material_1.Chip, { key: c.id, label: c.name, onDelete: handleDeleteCategory(c.id), icon: react_1.default.createElement(Icon_1.default, null, "category"), onClick: handleClickCategory })))),
|
|
50
|
-
(value === null || value === void 0 ? void 0 : value.group) && (react_1.default.createElement(material_1.Chip, { key: value === null || value === void 0 ? void 0 : value.group.id, label: value === null || value === void 0 ? void 0 : value.group.name, onDelete: handleDeleteGroup, icon: react_1.default.createElement(Icon_1.default, null, "groups"), onClick: handleClickGroup })),
|
|
51
|
-
((
|
|
50
|
+
(value === null || value === void 0 ? void 0 : value.group) && (react_1.default.createElement(material_1.Chip, { key: value === null || value === void 0 ? void 0 : value.group.id, label: value === null || value === void 0 ? void 0 : value.group.name, onDelete: handleDeleteGroup, icon: react_1.default.createElement(Icon_1.default, null, "groups"), onClick: handleClickGroup, disabled: !((_b = value === null || value === void 0 ? void 0 : value.group) === null || _b === void 0 ? void 0 : _b.subscription_status) })),
|
|
51
|
+
((_c = value === null || value === void 0 ? void 0 : value.addressing) === null || _c === void 0 ? void 0 : _c.length) > 0 &&
|
|
52
52
|
(value === null || value === void 0 ? void 0 : value.addressing.map((t) => (react_1.default.createElement(TagChip_1.default, { key: t.id, tag: t, onDelete: handleDeleteTag(t.id), icon: react_1.default.createElement(Icon_1.default, null, "label"), onClick: handleClickTag })))),
|
|
53
53
|
(value === null || value === void 0 ? void 0 : value.location) && (react_1.default.createElement(material_1.Chip, { icon: react_1.default.createElement(Icon_1.default, null, "add_location_alt"), label: value === null || value === void 0 ? void 0 : value.location.location, onDelete: handleDeleteLocation, onClick: handleClickLocation }))));
|
|
54
54
|
};
|
|
@@ -42,6 +42,10 @@ const messages = (0, react_intl_1.defineMessages)({
|
|
|
42
42
|
visibleToAll: {
|
|
43
43
|
id: 'ui.feedObject.visibleToAll',
|
|
44
44
|
defaultMessage: 'ui.feedObject.visibleToAll'
|
|
45
|
+
},
|
|
46
|
+
visibleToGroup: {
|
|
47
|
+
id: 'ui.feedObject.visibleToGroup',
|
|
48
|
+
defaultMessage: 'ui.feedObject.visibleToGroup'
|
|
45
49
|
}
|
|
46
50
|
});
|
|
47
51
|
const classes = {
|
|
@@ -446,7 +450,8 @@ function FeedObject(inProps) {
|
|
|
446
450
|
react_1.default.createElement(Icon_1.default, null, "add_location_alt"), (_a = obj.location) === null || _a === void 0 ? void 0 :
|
|
447
451
|
_a.location))),
|
|
448
452
|
react_1.default.createElement(Bullet_1.default, null),
|
|
449
|
-
react_1.default.createElement(material_1.Box, { className: classes.tag }, obj.addressing.length > 0 ? (react_1.default.createElement(Tags_1.default, { tags: obj.addressing, TagChipProps: { disposable: false, clickable: false } })) : (react_1.default.createElement(material_1.Tooltip, { title: `${intl.formatMessage(messages.
|
|
453
|
+
react_1.default.createElement(material_1.Box, { className: classes.tag }, obj.addressing.length > 0 ? (react_1.default.createElement(Tags_1.default, { tags: obj.addressing, TagChipProps: { disposable: false, clickable: false } })) : obj.group ? (react_1.default.createElement(material_1.Tooltip, { title: `${intl.formatMessage(messages.visibleToGroup, { group: obj.group.name })}` },
|
|
454
|
+
react_1.default.createElement(Icon_1.default, { color: "disabled", fontSize: "small" }, "groups"))) : (react_1.default.createElement(material_1.Tooltip, { title: `${intl.formatMessage(messages.visibleToAll)}` },
|
|
450
455
|
react_1.default.createElement(Icon_1.default, { color: "disabled", fontSize: "small" }, "public"))))), action: renderHeaderAction() }),
|
|
451
456
|
react_1.default.createElement(CardContent_1.default, { classes: { root: classes.content } },
|
|
452
457
|
react_1.default.createElement(material_1.Box, { className: classes.titleSection }, 'title' in obj && (react_1.default.createElement(react_1.default.Fragment, null, template === feedObject_1.SCFeedObjectTemplateType.DETAIL ? (react_1.default.createElement(material_1.Typography, { variant: "body1", gutterBottom: true, className: classes.title }, obj.title)) : (react_1.default.createElement(react_core_1.Link, { to: scRoutingContext.url((0, contribution_1.getContributionRouteName)(obj), (0, contribution_1.getRouteData)(obj)) },
|
|
@@ -87,10 +87,14 @@ function PrivateMessageSnippets(inProps) {
|
|
|
87
87
|
const refreshSubscription = (0, react_1.useRef)(null);
|
|
88
88
|
// CONST
|
|
89
89
|
const filteredSnippets = data.snippets.filter((el) => {
|
|
90
|
+
var _a;
|
|
90
91
|
if (search === '') {
|
|
91
92
|
return el;
|
|
92
93
|
}
|
|
93
|
-
else if (el.
|
|
94
|
+
else if (el.group) {
|
|
95
|
+
return el.group.slug.includes(search.toLowerCase());
|
|
96
|
+
}
|
|
97
|
+
else if (((_a = el === null || el === void 0 ? void 0 : el.receiver) === null || _a === void 0 ? void 0 : _a.id) === authUserId) {
|
|
94
98
|
return el.sender.username.includes(search.toLowerCase());
|
|
95
99
|
}
|
|
96
100
|
return el.receiver.username.includes(search.toLowerCase());
|
|
@@ -43,6 +43,8 @@ const classes = {
|
|
|
43
43
|
newMessageContent: `${constants_1.PREFIX}-new-message-content`,
|
|
44
44
|
sender: `${constants_1.PREFIX}-sender`,
|
|
45
45
|
receiver: `${constants_1.PREFIX}-receiver`,
|
|
46
|
+
avatar: `${constants_1.PREFIX}-avatar`,
|
|
47
|
+
item: `${constants_1.PREFIX}-item`,
|
|
46
48
|
autocomplete: `${constants_1.PREFIX}-autocomplete`,
|
|
47
49
|
autocompleteDialog: `${constants_1.PREFIX}-autocomplete-dialog`,
|
|
48
50
|
editor: `${constants_1.PREFIX}-editor`
|
|
@@ -470,10 +472,16 @@ function PrivateMessageThread(inProps) {
|
|
|
470
472
|
react_1.default.createElement("ul", null,
|
|
471
473
|
react_1.default.createElement(material_1.ListSubheader, null,
|
|
472
474
|
react_1.default.createElement(material_1.Typography, { align: "center", className: classes.subHeader }, key)),
|
|
473
|
-
formattedMessages[key].map((msg) =>
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
475
|
+
formattedMessages[key].map((msg) => {
|
|
476
|
+
var _a;
|
|
477
|
+
return (react_1.default.createElement(material_1.Box, { className: classes.item, key: msg.id },
|
|
478
|
+
msg.group && ((_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.username) !== msg.sender.username && (react_1.default.createElement(material_1.ListItemAvatar, null,
|
|
479
|
+
react_1.default.createElement(material_1.Avatar, { alt: msg.sender.username, src: msg.sender.avatar, className: classes.avatar }))),
|
|
480
|
+
react_1.default.createElement(PrivateMessageThreadItem_1.default, { className: authUserId === msg.sender.id ? classes.sender : classes.receiver, message: msg, key: msg.id, mouseEvents: {
|
|
481
|
+
onMouseEnter: () => handleMouseEnter(msg.id),
|
|
482
|
+
onMouseLeave: () => handleMouseLeave(msg.id)
|
|
483
|
+
}, isHovering: isHovered[msg.id], showMenuIcon: authUserId === msg.sender.id, onMenuIconClick: () => handleOpenDeleteMessageDialog(msg) })));
|
|
484
|
+
}))))))),
|
|
477
485
|
react_1.default.createElement(PrivateMessageEditor_1.default, { className: classes.editor, send: handleSend, autoHide: type === types_1.SCPrivateMessageType.USER && !(scUser === null || scUser === void 0 ? void 0 : scUser.can_send_pm_to), autoHideDeletion: type === types_1.SCPrivateMessageType.USER && ((receiver === null || receiver === void 0 ? void 0 : receiver.deleted) || (scUser === null || scUser === void 0 ? void 0 : scUser.deleted)), onThreadChangeId: isNumber ? threadObj : type === types_1.SCPrivateMessageType.USER ? threadObj.receiver.id : threadObj.group.id, error: error, onErrorRemove: () => setError(false) }),
|
|
478
486
|
openDeleteMessageDialog && (react_1.default.createElement(ConfirmDialog_1.default, { open: openDeleteMessageDialog, title: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessage.component.delete.message.dialog.msg", defaultMessage: "ui.privateMessage.component.delete.message.dialog.msg" }), btnConfirm: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessage.component.delete.message.dialog.confirm", defaultMessage: "ui.privateMessage.component.delete.message.dialog.confirm" }), onConfirm: handleDeleteMessage, onClose: handleCloseDeleteMessageDialog }))));
|
|
479
487
|
}
|
|
@@ -13,7 +13,7 @@ const Root = styled(Box, {
|
|
|
13
13
|
slot: 'AttributesRoot'
|
|
14
14
|
})(() => ({}));
|
|
15
15
|
export default (props) => {
|
|
16
|
-
var _a, _b;
|
|
16
|
+
var _a, _b, _c;
|
|
17
17
|
// PROPS
|
|
18
18
|
const { className = null, value = null, onChange = null, onClick = null } = props;
|
|
19
19
|
// HANDLERS
|
|
@@ -44,8 +44,8 @@ export default (props) => {
|
|
|
44
44
|
return (React.createElement(Root, { className: classNames(classes.root, className) },
|
|
45
45
|
((_a = value === null || value === void 0 ? void 0 : value.categories) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
|
|
46
46
|
(value === null || value === void 0 ? void 0 : value.categories.map((c) => (React.createElement(Chip, { key: c.id, label: c.name, onDelete: handleDeleteCategory(c.id), icon: React.createElement(Icon, null, "category"), onClick: handleClickCategory })))),
|
|
47
|
-
(value === null || value === void 0 ? void 0 : value.group) && (React.createElement(Chip, { key: value === null || value === void 0 ? void 0 : value.group.id, label: value === null || value === void 0 ? void 0 : value.group.name, onDelete: handleDeleteGroup, icon: React.createElement(Icon, null, "groups"), onClick: handleClickGroup })),
|
|
48
|
-
((
|
|
47
|
+
(value === null || value === void 0 ? void 0 : value.group) && (React.createElement(Chip, { key: value === null || value === void 0 ? void 0 : value.group.id, label: value === null || value === void 0 ? void 0 : value.group.name, onDelete: handleDeleteGroup, icon: React.createElement(Icon, null, "groups"), onClick: handleClickGroup, disabled: !((_b = value === null || value === void 0 ? void 0 : value.group) === null || _b === void 0 ? void 0 : _b.subscription_status) })),
|
|
48
|
+
((_c = value === null || value === void 0 ? void 0 : value.addressing) === null || _c === void 0 ? void 0 : _c.length) > 0 &&
|
|
49
49
|
(value === null || value === void 0 ? void 0 : value.addressing.map((t) => (React.createElement(TagChip, { key: t.id, tag: t, onDelete: handleDeleteTag(t.id), icon: React.createElement(Icon, null, "label"), onClick: handleClickTag })))),
|
|
50
50
|
(value === null || value === void 0 ? void 0 : value.location) && (React.createElement(Chip, { icon: React.createElement(Icon, null, "add_location_alt"), label: value === null || value === void 0 ? void 0 : value.location.location, onDelete: handleDeleteLocation, onClick: handleClickLocation }))));
|
|
51
51
|
};
|
|
@@ -40,6 +40,10 @@ const messages = defineMessages({
|
|
|
40
40
|
visibleToAll: {
|
|
41
41
|
id: 'ui.feedObject.visibleToAll',
|
|
42
42
|
defaultMessage: 'ui.feedObject.visibleToAll'
|
|
43
|
+
},
|
|
44
|
+
visibleToGroup: {
|
|
45
|
+
id: 'ui.feedObject.visibleToGroup',
|
|
46
|
+
defaultMessage: 'ui.feedObject.visibleToGroup'
|
|
43
47
|
}
|
|
44
48
|
});
|
|
45
49
|
const classes = {
|
|
@@ -444,7 +448,8 @@ export default function FeedObject(inProps) {
|
|
|
444
448
|
React.createElement(Icon, null, "add_location_alt"), (_a = obj.location) === null || _a === void 0 ? void 0 :
|
|
445
449
|
_a.location))),
|
|
446
450
|
React.createElement(Bullet, null),
|
|
447
|
-
React.createElement(Box, { className: classes.tag }, obj.addressing.length > 0 ? (React.createElement(Tags, { tags: obj.addressing, TagChipProps: { disposable: false, clickable: false } })) : (React.createElement(Tooltip, { title: `${intl.formatMessage(messages.
|
|
451
|
+
React.createElement(Box, { className: classes.tag }, obj.addressing.length > 0 ? (React.createElement(Tags, { tags: obj.addressing, TagChipProps: { disposable: false, clickable: false } })) : obj.group ? (React.createElement(Tooltip, { title: `${intl.formatMessage(messages.visibleToGroup, { group: obj.group.name })}` },
|
|
452
|
+
React.createElement(Icon, { color: "disabled", fontSize: "small" }, "groups"))) : (React.createElement(Tooltip, { title: `${intl.formatMessage(messages.visibleToAll)}` },
|
|
448
453
|
React.createElement(Icon, { color: "disabled", fontSize: "small" }, "public"))))), action: renderHeaderAction() }),
|
|
449
454
|
React.createElement(CardContent, { classes: { root: classes.content } },
|
|
450
455
|
React.createElement(Box, { className: classes.titleSection }, 'title' in obj && (React.createElement(React.Fragment, null, template === SCFeedObjectTemplateType.DETAIL ? (React.createElement(Typography, { variant: "body1", gutterBottom: true, className: classes.title }, obj.title)) : (React.createElement(Link, { to: scRoutingContext.url(getContributionRouteName(obj), getRouteData(obj)) },
|
|
@@ -85,10 +85,14 @@ export default function PrivateMessageSnippets(inProps) {
|
|
|
85
85
|
const refreshSubscription = useRef(null);
|
|
86
86
|
// CONST
|
|
87
87
|
const filteredSnippets = data.snippets.filter((el) => {
|
|
88
|
+
var _a;
|
|
88
89
|
if (search === '') {
|
|
89
90
|
return el;
|
|
90
91
|
}
|
|
91
|
-
else if (el.
|
|
92
|
+
else if (el.group) {
|
|
93
|
+
return el.group.slug.includes(search.toLowerCase());
|
|
94
|
+
}
|
|
95
|
+
else if (((_a = el === null || el === void 0 ? void 0 : el.receiver) === null || _a === void 0 ? void 0 : _a.id) === authUserId) {
|
|
92
96
|
return el.sender.username.includes(search.toLowerCase());
|
|
93
97
|
}
|
|
94
98
|
return el.receiver.username.includes(search.toLowerCase());
|
|
@@ -7,7 +7,7 @@ import { SCNotificationTopicType, SCNotificationTypologyType, SCPrivateMessageSt
|
|
|
7
7
|
import PrivateMessageThreadItem, { PrivateMessageThreadItemSkeleton } from '../PrivateMessageThreadItem';
|
|
8
8
|
import PubSub from 'pubsub-js';
|
|
9
9
|
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
|
|
10
|
-
import { Box, Card, CardContent, IconButton, List, ListSubheader, TextField, Typography } from '@mui/material';
|
|
10
|
+
import { Avatar, Box, Card, CardContent, IconButton, List, ListItemAvatar, ListSubheader, TextField, Typography } from '@mui/material';
|
|
11
11
|
import PrivateMessageEditor from '../PrivateMessageEditor';
|
|
12
12
|
import Autocomplete from '@mui/material/Autocomplete';
|
|
13
13
|
import classNames from 'classnames';
|
|
@@ -41,6 +41,8 @@ const classes = {
|
|
|
41
41
|
newMessageContent: `${PREFIX}-new-message-content`,
|
|
42
42
|
sender: `${PREFIX}-sender`,
|
|
43
43
|
receiver: `${PREFIX}-receiver`,
|
|
44
|
+
avatar: `${PREFIX}-avatar`,
|
|
45
|
+
item: `${PREFIX}-item`,
|
|
44
46
|
autocomplete: `${PREFIX}-autocomplete`,
|
|
45
47
|
autocompleteDialog: `${PREFIX}-autocomplete-dialog`,
|
|
46
48
|
editor: `${PREFIX}-editor`
|
|
@@ -468,10 +470,16 @@ export default function PrivateMessageThread(inProps) {
|
|
|
468
470
|
React.createElement("ul", null,
|
|
469
471
|
React.createElement(ListSubheader, null,
|
|
470
472
|
React.createElement(Typography, { align: "center", className: classes.subHeader }, key)),
|
|
471
|
-
formattedMessages[key].map((msg) =>
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
473
|
+
formattedMessages[key].map((msg) => {
|
|
474
|
+
var _a;
|
|
475
|
+
return (React.createElement(Box, { className: classes.item, key: msg.id },
|
|
476
|
+
msg.group && ((_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.username) !== msg.sender.username && (React.createElement(ListItemAvatar, null,
|
|
477
|
+
React.createElement(Avatar, { alt: msg.sender.username, src: msg.sender.avatar, className: classes.avatar }))),
|
|
478
|
+
React.createElement(PrivateMessageThreadItem, { className: authUserId === msg.sender.id ? classes.sender : classes.receiver, message: msg, key: msg.id, mouseEvents: {
|
|
479
|
+
onMouseEnter: () => handleMouseEnter(msg.id),
|
|
480
|
+
onMouseLeave: () => handleMouseLeave(msg.id)
|
|
481
|
+
}, isHovering: isHovered[msg.id], showMenuIcon: authUserId === msg.sender.id, onMenuIconClick: () => handleOpenDeleteMessageDialog(msg) })));
|
|
482
|
+
}))))))),
|
|
475
483
|
React.createElement(PrivateMessageEditor, { className: classes.editor, send: handleSend, autoHide: type === SCPrivateMessageType.USER && !(scUser === null || scUser === void 0 ? void 0 : scUser.can_send_pm_to), autoHideDeletion: type === SCPrivateMessageType.USER && ((receiver === null || receiver === void 0 ? void 0 : receiver.deleted) || (scUser === null || scUser === void 0 ? void 0 : scUser.deleted)), onThreadChangeId: isNumber ? threadObj : type === SCPrivateMessageType.USER ? threadObj.receiver.id : threadObj.group.id, error: error, onErrorRemove: () => setError(false) }),
|
|
476
484
|
openDeleteMessageDialog && (React.createElement(ConfirmDialog, { open: openDeleteMessageDialog, title: React.createElement(FormattedMessage, { id: "ui.privateMessage.component.delete.message.dialog.msg", defaultMessage: "ui.privateMessage.component.delete.message.dialog.msg" }), btnConfirm: React.createElement(FormattedMessage, { id: "ui.privateMessage.component.delete.message.dialog.confirm", defaultMessage: "ui.privateMessage.component.delete.message.dialog.confirm" }), onConfirm: handleDeleteMessage, onClose: handleCloseDeleteMessageDialog }))));
|
|
477
485
|
}
|