@selfcommunity/react-ui 0.7.0-alpha.94 → 0.7.0-alpha.95

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.
Files changed (70) hide show
  1. package/lib/cjs/components/PrivateMessageComponent/PrivateMessageComponent.d.ts +53 -0
  2. package/lib/cjs/components/PrivateMessageComponent/PrivateMessageComponent.d.ts.map +1 -0
  3. package/lib/cjs/components/PrivateMessageComponent/PrivateMessageComponent.js +460 -0
  4. package/lib/cjs/components/PrivateMessageComponent/PrivateMessageComponent.js.map +1 -0
  5. package/lib/cjs/components/PrivateMessageComponent/Skeleton.d.ts +34 -0
  6. package/lib/cjs/components/PrivateMessageComponent/Skeleton.d.ts.map +1 -0
  7. package/lib/cjs/components/PrivateMessageComponent/Skeleton.js +54 -0
  8. package/lib/cjs/components/PrivateMessageComponent/Skeleton.js.map +1 -0
  9. package/lib/cjs/components/PrivateMessageComponent/index.d.ts +5 -0
  10. package/lib/cjs/components/PrivateMessageComponent/index.d.ts.map +1 -0
  11. package/lib/cjs/components/PrivateMessageComponent/index.js +11 -0
  12. package/lib/cjs/components/PrivateMessageComponent/index.js.map +1 -0
  13. package/lib/cjs/components/PrivateMessageSnippetItem/Skeleton.d.ts.map +1 -1
  14. package/lib/cjs/components/PrivateMessageSnippetItem/Skeleton.js +2 -1
  15. package/lib/cjs/components/PrivateMessageSnippetItem/Skeleton.js.map +1 -1
  16. package/lib/cjs/components/PrivateMessageSnippets/PrivateMessageSnippets.d.ts.map +1 -1
  17. package/lib/cjs/components/PrivateMessageSnippets/PrivateMessageSnippets.js +0 -1
  18. package/lib/cjs/components/PrivateMessageSnippets/PrivateMessageSnippets.js.map +1 -1
  19. package/lib/cjs/components/PrivateMessageSnippets/Skeleton.d.ts +2 -0
  20. package/lib/cjs/components/PrivateMessageSnippets/Skeleton.d.ts.map +1 -1
  21. package/lib/cjs/components/PrivateMessageSnippets/Skeleton.js +8 -1
  22. package/lib/cjs/components/PrivateMessageSnippets/Skeleton.js.map +1 -1
  23. package/lib/cjs/components/PrivateMessageThread/PrivateMessageThread.d.ts +25 -11
  24. package/lib/cjs/components/PrivateMessageThread/PrivateMessageThread.d.ts.map +1 -1
  25. package/lib/cjs/components/PrivateMessageThread/PrivateMessageThread.js +17 -175
  26. package/lib/cjs/components/PrivateMessageThread/PrivateMessageThread.js.map +1 -1
  27. package/lib/cjs/components/PrivateMessageThread/Skeleton.d.ts.map +1 -1
  28. package/lib/cjs/components/PrivateMessageThread/Skeleton.js +1 -10
  29. package/lib/cjs/components/PrivateMessageThread/Skeleton.js.map +1 -1
  30. package/lib/cjs/index.d.ts +2 -1
  31. package/lib/cjs/index.d.ts.map +1 -1
  32. package/lib/cjs/index.js +5 -2
  33. package/lib/cjs/index.js.map +1 -1
  34. package/lib/esm/components/PrivateMessageComponent/PrivateMessageComponent.d.ts +53 -0
  35. package/lib/esm/components/PrivateMessageComponent/PrivateMessageComponent.d.ts.map +1 -0
  36. package/lib/esm/components/PrivateMessageComponent/PrivateMessageComponent.js +431 -0
  37. package/lib/esm/components/PrivateMessageComponent/PrivateMessageComponent.js.map +1 -0
  38. package/lib/esm/components/PrivateMessageComponent/Skeleton.d.ts +34 -0
  39. package/lib/esm/components/PrivateMessageComponent/Skeleton.d.ts.map +1 -0
  40. package/lib/esm/components/PrivateMessageComponent/Skeleton.js +48 -0
  41. package/lib/esm/components/PrivateMessageComponent/Skeleton.js.map +1 -0
  42. package/lib/esm/components/PrivateMessageComponent/index.d.ts +5 -0
  43. package/lib/esm/components/PrivateMessageComponent/index.d.ts.map +1 -0
  44. package/lib/esm/components/PrivateMessageComponent/index.js +5 -0
  45. package/lib/esm/components/PrivateMessageComponent/index.js.map +1 -0
  46. package/lib/esm/components/PrivateMessageSnippetItem/Skeleton.d.ts.map +1 -1
  47. package/lib/esm/components/PrivateMessageSnippetItem/Skeleton.js +2 -1
  48. package/lib/esm/components/PrivateMessageSnippetItem/Skeleton.js.map +1 -1
  49. package/lib/esm/components/PrivateMessageSnippets/PrivateMessageSnippets.d.ts.map +1 -1
  50. package/lib/esm/components/PrivateMessageSnippets/PrivateMessageSnippets.js +0 -1
  51. package/lib/esm/components/PrivateMessageSnippets/PrivateMessageSnippets.js.map +1 -1
  52. package/lib/esm/components/PrivateMessageSnippets/Skeleton.d.ts +2 -0
  53. package/lib/esm/components/PrivateMessageSnippets/Skeleton.d.ts.map +1 -1
  54. package/lib/esm/components/PrivateMessageSnippets/Skeleton.js +9 -2
  55. package/lib/esm/components/PrivateMessageSnippets/Skeleton.js.map +1 -1
  56. package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.d.ts +25 -11
  57. package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.d.ts.map +1 -1
  58. package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.js +20 -178
  59. package/lib/esm/components/PrivateMessageThread/PrivateMessageThread.js.map +1 -1
  60. package/lib/esm/components/PrivateMessageThread/Skeleton.d.ts.map +1 -1
  61. package/lib/esm/components/PrivateMessageThread/Skeleton.js +1 -10
  62. package/lib/esm/components/PrivateMessageThread/Skeleton.js.map +1 -1
  63. package/lib/esm/index.d.ts +2 -1
  64. package/lib/esm/index.d.ts.map +1 -1
  65. package/lib/esm/index.js +2 -1
  66. package/lib/esm/index.js.map +1 -1
  67. package/lib/umd/react-ui.js +6 -6
  68. package/lib/umd/react-ui.js.LICENSE.txt +2 -2
  69. package/lib/umd/react-ui.js.map +1 -1
  70. package/package.json +4 -4
@@ -0,0 +1,53 @@
1
+ export interface PrivateMessageComponentProps {
2
+ /**
3
+ * Thread receiver id
4
+ * @default null
5
+ */
6
+ id?: number | string;
7
+ /**
8
+ * Handler on message click
9
+ * @default null
10
+ */
11
+ onItemClick?: (id: any) => void;
12
+ /**
13
+ * Overrides or extends the styles applied to the component.
14
+ * @default null
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Hides this component
19
+ * @default false
20
+ */
21
+ autoHide?: boolean;
22
+ /**
23
+ * Any other properties
24
+ */
25
+ [p: string]: any;
26
+ }
27
+ /**
28
+ *
29
+ > API documentation for the Community-JS Private Messages template. Learn about the available props and the CSS API.
30
+
31
+ #### Import
32
+
33
+ ```jsx
34
+ import {PrivateMessageComponent} from '@selfcommunity/react-templates';
35
+ ```
36
+
37
+ #### Component Name
38
+
39
+ The name `SCPrivateMessageComponent` can be used when providing style overrides in the theme.
40
+
41
+
42
+ #### CSS
43
+
44
+ |Rule Name|Global class|Description|
45
+ |---|---|---|
46
+ |root|.SCPrivateMessageComponent-root|Styles applied to the root element.|
47
+ |snippetsBox|.SCPrivateMessageComponent-snippets-box|Styles applied to the snippets box element.|
48
+ |threadBox|.SCPrivateMessageComponent-thread-box|Styles applied to the thread box element.|
49
+
50
+ * @param inProps
51
+ */
52
+ export default function PrivateMessageComponent(inProps: PrivateMessageComponentProps): JSX.Element;
53
+ //# sourceMappingURL=PrivateMessageComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivateMessageComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/PrivateMessageComponent/PrivateMessageComponent.tsx"],"names":[],"mappings":"AAgCA,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,KAAA,KAAK,IAAI,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AACD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,OAAO,EAAE,4BAA4B,GAAG,GAAG,CAAC,OAAO,CA8blG"}
@@ -0,0 +1,460 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const react_1 = __importStar(require("react"));
41
+ const styles_1 = require("@mui/material/styles");
42
+ const material_1 = require("@mui/material");
43
+ const react_intl_1 = require("react-intl");
44
+ const react_core_1 = require("@selfcommunity/react-core");
45
+ const classnames_1 = __importDefault(require("classnames"));
46
+ const system_1 = require("@mui/system");
47
+ const api_services_1 = require("@selfcommunity/api-services");
48
+ const types_1 = require("@selfcommunity/types");
49
+ const pubsub_js_1 = __importDefault(require("pubsub-js"));
50
+ const PrivateMessageThread_1 = __importDefault(require("../PrivateMessageThread"));
51
+ const PrivateMessageSnippets_1 = __importDefault(require("../PrivateMessageSnippets"));
52
+ const ConfirmDialog_1 = __importDefault(require("../../shared/ConfirmDialog/ConfirmDialog"));
53
+ const notistack_1 = require("notistack");
54
+ const Errors_1 = require("../../constants/Errors");
55
+ const utils_1 = require("@selfcommunity/utils");
56
+ const HiddenPlaceholder_1 = __importDefault(require("../../shared/HiddenPlaceholder"));
57
+ const PREFIX = 'SCPrivateMessageComponent';
58
+ const classes = {
59
+ root: `${PREFIX}-root`,
60
+ snippetsBox: `${PREFIX}-snippets-box`,
61
+ threadBox: `${PREFIX}-thread-box`
62
+ };
63
+ const Root = (0, styles_1.styled)(material_1.Grid, {
64
+ name: PREFIX,
65
+ slot: 'Root',
66
+ overridesResolver: (props, styles) => styles.root
67
+ })(({ theme }) => ({}));
68
+ /**
69
+ *
70
+ > API documentation for the Community-JS Private Messages template. Learn about the available props and the CSS API.
71
+
72
+ #### Import
73
+
74
+ ```jsx
75
+ import {PrivateMessageComponent} from '@selfcommunity/react-templates';
76
+ ```
77
+
78
+ #### Component Name
79
+
80
+ The name `SCPrivateMessageComponent` can be used when providing style overrides in the theme.
81
+
82
+
83
+ #### CSS
84
+
85
+ |Rule Name|Global class|Description|
86
+ |---|---|---|
87
+ |root|.SCPrivateMessageComponent-root|Styles applied to the root element.|
88
+ |snippetsBox|.SCPrivateMessageComponent-snippets-box|Styles applied to the snippets box element.|
89
+ |threadBox|.SCPrivateMessageComponent-thread-box|Styles applied to the thread box element.|
90
+
91
+ * @param inProps
92
+ */
93
+ function PrivateMessageComponent(inProps) {
94
+ //PROPS
95
+ const props = (0, system_1.useThemeProps)({
96
+ props: inProps,
97
+ name: PREFIX
98
+ });
99
+ const { id = null, autoHide = false, className = null, onItemClick = null } = props, rest = __rest(props, ["id", "autoHide", "className", "onItemClick"]);
100
+ // STATE
101
+ const theme = (0, material_1.useTheme)();
102
+ const [snippets, setSnippets] = (0, react_1.useState)([]);
103
+ const [messageObjs, setMessageObjs] = (0, react_1.useState)([]);
104
+ const [clear, setClear] = (0, react_1.useState)(false);
105
+ const [loading, setLoading] = (0, react_1.useState)(true);
106
+ const [loadingMessageObjs, setLoadingMessageObjs] = (0, react_1.useState)(true);
107
+ const isMobile = (0, material_1.useMediaQuery)(theme.breakpoints.down('md'));
108
+ const [layout, setLayout] = (0, react_1.useState)('default');
109
+ const [obj, setObj] = (0, react_1.useState)(id !== null && id !== void 0 ? id : null);
110
+ const [deletingThread, setDeletingThread] = (0, react_1.useState)(null);
111
+ const [deletingMsg, setDeletingMsg] = (0, react_1.useState)(null);
112
+ const [openNewMessage, setOpenNewMessage] = (0, react_1.useState)(false);
113
+ const [openDeleteThreadDialog, setOpenDeleteThreadDialog] = (0, react_1.useState)(false);
114
+ const [openDeleteMessageDialog, setOpenDeleteMessageDialog] = (0, react_1.useState)(false);
115
+ const [receiver, setReceiver] = (0, react_1.useState)(null);
116
+ const [recipients, setRecipients] = (0, react_1.useState)([]);
117
+ const mobileSnippetsView = (layout === 'default' && !id) || (layout === 'mobile' && id);
118
+ const mobileThreadView = (layout === 'mobile' && !id) || (layout === 'default' && id);
119
+ const [newMessageThread, setNewMessageThread] = (0, react_1.useState)(false);
120
+ const { enqueueSnackbar, closeSnackbar } = (0, notistack_1.useSnackbar)();
121
+ // REFS
122
+ const refreshSubscription = (0, react_1.useRef)(null);
123
+ // CONTEXT
124
+ const scUserContext = (0, react_1.useContext)(react_core_1.SCUserContext);
125
+ const authUserId = scUserContext.user ? scUserContext.user.id : null;
126
+ // HANDLERS
127
+ /**
128
+ * Handles thread opening on click
129
+ * @param item
130
+ */
131
+ const handleThreadOpening = (item) => {
132
+ updateSnippetsParams(item.id, 'seen');
133
+ onItemClick && onItemClick(item.id);
134
+ setObj(item);
135
+ setOpenNewMessage(false);
136
+ isMobile && setLayout('mobile');
137
+ id && setLayout('default');
138
+ };
139
+ /**
140
+ * Handles new message opening on button action click
141
+ */
142
+ const handleOpenNewMessage = () => {
143
+ setOpenNewMessage(!openNewMessage);
144
+ setObj(null);
145
+ isMobile && setLayout('mobile');
146
+ id && setLayout('default');
147
+ };
148
+ /**
149
+ * Handles delete message dialog opening
150
+ * @param msg
151
+ */
152
+ const handleOpenDeleteMessageDialog = (msg) => {
153
+ setOpenDeleteMessageDialog(true);
154
+ setDeletingMsg(msg);
155
+ };
156
+ /**
157
+ * Handles delete message dialog close
158
+ */
159
+ const handleCloseDeleteMessageDialog = () => {
160
+ setOpenDeleteMessageDialog(false);
161
+ };
162
+ /**
163
+ * Handles delete thread dialog opening
164
+ */
165
+ function handleOpenDeleteThreadDialog(threadObj) {
166
+ setOpenDeleteThreadDialog(true);
167
+ setDeletingThread(threadObj.id);
168
+ }
169
+ /**
170
+ * Handles delete thread dialog close
171
+ */
172
+ const handleCloseDeleteThreadDialog = () => {
173
+ setOpenDeleteThreadDialog(false);
174
+ };
175
+ /**
176
+ * Handles
177
+ */
178
+ const handleMessageBack = () => {
179
+ setLayout('default');
180
+ id && setLayout('mobile');
181
+ setOpenNewMessage(false);
182
+ };
183
+ /**
184
+ * Handles snippets list update on message changes inside thread component
185
+ * @param message
186
+ */
187
+ const handleSnippetsUpdate = (message) => {
188
+ updateSnippetsList(message);
189
+ if (openNewMessage) {
190
+ setObj(message);
191
+ setOpenNewMessage(false);
192
+ }
193
+ };
194
+ /**
195
+ * Handles autocomplete recipients selection
196
+ * @param event
197
+ * @param recipient
198
+ */
199
+ const handleRecipientSelect = (event, recipient) => {
200
+ setRecipients(recipient);
201
+ };
202
+ /**
203
+ * Memoized message recipients ids
204
+ */
205
+ const ids = (0, react_1.useMemo)(() => {
206
+ if (recipients !== null && openNewMessage) {
207
+ return recipients.map((u) => {
208
+ return parseInt(u.id, 10);
209
+ });
210
+ }
211
+ if (newMessageThread && !openNewMessage) {
212
+ return recipients;
213
+ }
214
+ }, [recipients]);
215
+ /**
216
+ * Updates snippet headline and status or just snippet status
217
+ * @param id
218
+ * @param status
219
+ * @param headline
220
+ */
221
+ function updateSnippetsParams(id, status, headline) {
222
+ const newSnippets = [...snippets];
223
+ const index = newSnippets.findIndex((s) => s.id === id);
224
+ if (index !== -1) {
225
+ newSnippets[index].headline = headline !== null && headline !== void 0 ? headline : newSnippets[index].headline;
226
+ newSnippets[index].thread_status = status;
227
+ setSnippets(newSnippets);
228
+ }
229
+ }
230
+ /**
231
+ * Updates snippets list when a new message is sent or another one is deleted
232
+ * @param message
233
+ */
234
+ function updateSnippetsList(message) {
235
+ const newSnippets = [...snippets];
236
+ const inList = newSnippets.some((o) => o.receiver.id === message.receiver.id);
237
+ //if snippet is already present in the list, its headline gets updated
238
+ if (inList) {
239
+ const index = newSnippets.findIndex((s) => s.receiver.id === message.receiver.id);
240
+ if (index !== -1) {
241
+ newSnippets[index].headline = message.message;
242
+ setSnippets(newSnippets);
243
+ }
244
+ //a new snippets gets added to the list
245
+ }
246
+ else {
247
+ setSnippets((prev) => [...prev, message]);
248
+ }
249
+ }
250
+ /**
251
+ * Handles thread deletion
252
+ */
253
+ function handleDeleteThread() {
254
+ api_services_1.PrivateMessageService.deleteAThread(deletingThread !== null && deletingThread !== void 0 ? deletingThread : obj.id)
255
+ .then(() => {
256
+ if (layout === 'mobile') {
257
+ setLayout('default');
258
+ }
259
+ id && setLayout('mobile');
260
+ setOpenDeleteThreadDialog(false);
261
+ deletingThread === (obj === null || obj === void 0 ? void 0 : obj.id) && setObj(null);
262
+ const _snippets = snippets.filter((s) => s.id !== deletingThread);
263
+ setSnippets(_snippets);
264
+ setClear(true);
265
+ })
266
+ .catch((error) => {
267
+ setOpenDeleteThreadDialog(false);
268
+ console.log(error);
269
+ });
270
+ }
271
+ /**
272
+ * Handles the deletion of a single message
273
+ */
274
+ function handleDeleteMessage() {
275
+ api_services_1.PrivateMessageService.deleteAMessage(deletingMsg.id)
276
+ .then(() => {
277
+ const result = messageObjs.filter((m) => m.id !== deletingMsg.id);
278
+ setMessageObjs(result);
279
+ handleSnippetsUpdate(result.length >= 1 ? result.slice(-1)[0] : deletingMsg);
280
+ handleCloseDeleteMessageDialog();
281
+ })
282
+ .catch((error) => {
283
+ console.log(error);
284
+ let _snackBar = enqueueSnackbar(react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.common.error", defaultMessage: "ui.common.error" }), {
285
+ variant: 'error',
286
+ onClick: () => {
287
+ closeSnackbar(_snackBar);
288
+ }
289
+ });
290
+ });
291
+ }
292
+ /**
293
+ * Handles message sending
294
+ * @param message
295
+ * @param file
296
+ */
297
+ function handleSend(message, file) {
298
+ if (react_core_1.UserUtils.isBlocked(scUserContext.user)) {
299
+ enqueueSnackbar(react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.common.userBlocked", defaultMessage: "ui.common.userBlocked" }), {
300
+ variant: 'warning',
301
+ autoHideDuration: 3000
302
+ });
303
+ }
304
+ else {
305
+ api_services_1.http
306
+ .request({
307
+ url: api_services_1.Endpoints.SendMessage.url(),
308
+ method: api_services_1.Endpoints.SendMessage.method,
309
+ data: {
310
+ recipients: openNewMessage ? ids : [obj.receiver.id],
311
+ message: message,
312
+ file_uuid: file && !message ? file : null
313
+ }
314
+ })
315
+ .then((res) => {
316
+ setMessageObjs((prev) => [...prev, res.data]);
317
+ handleSnippetsUpdate(res.data);
318
+ if (openNewMessage || newMessageThread) {
319
+ setNewMessageThread(false);
320
+ setRecipients([]);
321
+ }
322
+ })
323
+ .catch((error) => {
324
+ console.log(error);
325
+ let _snackBar = enqueueSnackbar(react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.common.error.messageError", defaultMessage: "ui.common.error.messageError" }), {
326
+ variant: 'error',
327
+ onClick: () => {
328
+ closeSnackbar(_snackBar);
329
+ }
330
+ });
331
+ });
332
+ }
333
+ }
334
+ /**
335
+ * Fetches thread
336
+ */
337
+ function fetchThread() {
338
+ //const _threadObjId = isNumber ? threadObj : threadObj?.id;
339
+ api_services_1.http
340
+ .request({
341
+ url: api_services_1.Endpoints.GetAThread.url(),
342
+ method: api_services_1.Endpoints.GetAThread.method,
343
+ params: {
344
+ thread: obj.id
345
+ }
346
+ })
347
+ .then((res) => {
348
+ const data = res.data;
349
+ setMessageObjs(data.results);
350
+ if (data.results.length) {
351
+ if (data.results[0].receiver.id !== scUserContext.user.id) {
352
+ setReceiver(data.results[0].receiver);
353
+ }
354
+ else {
355
+ setReceiver(data.results[0].sender);
356
+ }
357
+ setNewMessageThread(false);
358
+ }
359
+ else {
360
+ setNewMessageThread(true);
361
+ setRecipients(obj.receiver.id);
362
+ }
363
+ setLoadingMessageObjs(false);
364
+ })
365
+ .catch((error) => {
366
+ setLoadingMessageObjs(false);
367
+ console.log(error);
368
+ utils_1.Logger.error(Errors_1.SCOPE_SC_UI, { error });
369
+ });
370
+ }
371
+ /**
372
+ * Memoized fetchSnippets
373
+ */
374
+ const fetchSnippets = (0, react_1.useMemo)(() => () => {
375
+ return api_services_1.PrivateMessageService.getAllSnippets()
376
+ .then((data) => {
377
+ setSnippets(data.results);
378
+ setLoading(false);
379
+ })
380
+ .catch((error) => {
381
+ setLoading(false);
382
+ console.log(error);
383
+ utils_1.Logger.error(Errors_1.SCOPE_SC_UI, { error });
384
+ });
385
+ }, []);
386
+ /**
387
+ * On mount, fetches snippets
388
+ */
389
+ (0, react_1.useEffect)(() => {
390
+ authUserId && fetchSnippets();
391
+ }, [authUserId]);
392
+ /**
393
+ * On mount, if obj, fetches thread
394
+ */
395
+ (0, react_1.useEffect)(() => {
396
+ obj && fetchThread();
397
+ }, [obj, authUserId]);
398
+ /**
399
+ * Notification subscriber
400
+ */
401
+ const subscriber = (msg, data) => {
402
+ const res = data.data;
403
+ updateSnippetsParams(res.thread_id, res.notification_obj.snippet.thread_status, res.notification_obj.snippet.headline);
404
+ const newMessages = [...messageObjs];
405
+ const index = newMessages.findIndex((m) => m.sender.id === res.notification_obj.message.sender.id);
406
+ if (index !== -1) {
407
+ setMessageObjs((prev) => [...prev, res.notification_obj.message]);
408
+ }
409
+ };
410
+ /**
411
+ * When a ws notification arrives, updates thread and snippets data
412
+ */
413
+ (0, react_1.useEffect)(() => {
414
+ refreshSubscription.current = pubsub_js_1.default.subscribe(`${types_1.SCNotificationTopicType.INTERACTION}.${types_1.SCNotificationTypologyType.PRIVATE_MESSAGE}`, subscriber);
415
+ return () => {
416
+ pubsub_js_1.default.unsubscribe(refreshSubscription.current);
417
+ };
418
+ }, [snippets, messageObjs]);
419
+ /**
420
+ * Renders snippets section
421
+ */
422
+ function renderSnippets() {
423
+ return (react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 5, className: classes.snippetsBox },
424
+ react_1.default.createElement(PrivateMessageSnippets_1.default, { snippets: snippets, loading: loading, snippetActions: {
425
+ onSnippetClick: handleThreadOpening,
426
+ onNewMessageClick: handleOpenNewMessage,
427
+ onMenuItemClick: handleOpenDeleteThreadDialog
428
+ }, threadObj: obj !== null && obj !== void 0 ? obj : null, clearSearch: clear }),
429
+ openDeleteThreadDialog && (react_1.default.createElement(ConfirmDialog_1.default, { open: openDeleteThreadDialog, title: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessage.component.delete.thread.dialog.msg", defaultMessage: "ui.privateMessage.component.delete.thread.dialog.msg" }), btnConfirm: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.privateMessage.component.delete.thread.dialog.confirm", defaultMessage: "ui.privateMessage.component.delete.thread.dialog.confirm" }), onConfirm: handleDeleteThread, onClose: handleCloseDeleteThreadDialog }))));
430
+ }
431
+ /**
432
+ * Renders thread section
433
+ */
434
+ function renderThread() {
435
+ return (react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 7, className: classes.threadBox },
436
+ react_1.default.createElement(PrivateMessageThread_1.default, { receiver: receiver, recipients: recipients, threadObj: obj !== null && obj !== void 0 ? obj : null, loadingMessageObjs: loadingMessageObjs, messages: messageObjs, openNewMessage: openNewMessage, newMessageThread: newMessageThread, threadCallbacks: {
437
+ onMessageBack: handleMessageBack,
438
+ onMessageDelete: handleOpenDeleteMessageDialog,
439
+ onRecipientSelect: handleRecipientSelect,
440
+ onMessageSend: handleSend
441
+ } }),
442
+ 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 }))));
443
+ }
444
+ /**
445
+ * Renders the component (if not hidden by autoHide prop)
446
+ */
447
+ if (!scUserContext.user) {
448
+ return react_1.default.createElement(HiddenPlaceholder_1.default, null);
449
+ }
450
+ if (!autoHide) {
451
+ return (react_1.default.createElement(Root, Object.assign({ container: true }, rest, { className: (0, classnames_1.default)(classes.root, className) }), isMobile ? (react_1.default.createElement(react_1.default.Fragment, null,
452
+ mobileSnippetsView && react_1.default.createElement(react_1.default.Fragment, null, renderSnippets()),
453
+ mobileThreadView && react_1.default.createElement(react_1.default.Fragment, null, renderThread()))) : (react_1.default.createElement(react_1.default.Fragment, null,
454
+ renderSnippets(),
455
+ renderThread()))));
456
+ }
457
+ return react_1.default.createElement(HiddenPlaceholder_1.default, null);
458
+ }
459
+ exports.default = PrivateMessageComponent;
460
+ //# sourceMappingURL=PrivateMessageComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivateMessageComponent.js","sourceRoot":"","sources":["../../../../src/components/PrivateMessageComponent/PrivateMessageComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8E;AAC9E,iDAA4C;AAC5C,4CAA4D;AAC5D,2CAA4C;AAC5C,0DAAmG;AACnG,4DAAoC;AACpC,wCAA0C;AAC1C,8DAAiG;AACjG,gDAA+I;AAC/I,0DAA+B;AAC/B,mFAA2D;AAC3D,uFAA+D;AAC/D,6FAAqE;AACrE,yCAAsC;AACtC,mDAAmD;AACnD,gDAA4C;AAC5C,uFAA+D;AAE/D,MAAM,MAAM,GAAG,2BAA2B,CAAC;AAE3C,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,GAAG,MAAM,OAAO;IACtB,WAAW,EAAE,GAAG,MAAM,eAAe;IACrC,SAAS,EAAE,GAAG,MAAM,aAAa;CAClC,CAAC;AAEF,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,eAAI,EAAE;IACxB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;CAClD,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AA4BtB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAwB,uBAAuB,CAAC,OAAqC;IACnF,OAAO;IACP,MAAM,KAAK,GAAiC,IAAA,sBAAa,EAAC;QACxD,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,MAAM,EAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,KAAa,KAAK,EAAb,IAAI,UAAI,KAAK,EAApF,8CAA4E,CAAQ,CAAC;IAE3F,QAAQ;IACR,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAe,CAAC;IACtC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAQ,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAU,IAAI,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAA,wBAAa,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAM,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACrF,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACvF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAM,EAAE,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACzE,MAAM,EAAC,eAAe,EAAE,aAAa,EAAC,GAAG,IAAA,uBAAW,GAAE,CAAC;IACvD,OAAO;IACP,MAAM,mBAAmB,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACzC,UAAU;IACV,MAAM,aAAa,GAAsB,IAAA,kBAAU,EAAC,0BAAa,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErE,YAAY;IACZ;;;OAGG;IACH,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE;QACnC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF;;OAEG;IACH,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF;;;OAGG;IACH,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,EAAE;QAC5C,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACjC,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC;IACF;;OAEG;IACH,MAAM,8BAA8B,GAAG,GAAG,EAAE;QAC1C,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IACF;;OAEG;IACH,SAAS,4BAA4B,CAAC,SAAS;QAC7C,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD;;OAEG;IACH,MAAM,6BAA6B,GAAG,GAAG,EAAE;QACzC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IACF;;OAEG;IACH,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1B,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF;;;OAGG;IACH,MAAM,oBAAoB,GAAG,CAAC,OAAmC,EAAE,EAAE;QACnE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,CAAC;YAChB,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjD,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF;;OAEG;IACH,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,IAAI,UAAU,KAAK,IAAI,IAAI,cAAc,EAAE;YACzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,CAAC,cAAc,EAAE;YACvC,OAAO,UAAU,CAAC;SACnB;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,oBAAoB,CAAC,EAAU,EAAE,MAAc,EAAE,QAAiB;QACzE,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;YACtE,WAAW,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC;YAC1C,WAAW,CAAC,WAAW,CAAC,CAAC;SAC1B;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,kBAAkB,CAAC,OAAO;QACjC,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9E,sEAAsE;QACtE,IAAI,MAAM,EAAE;YACV,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC9C,WAAW,CAAC,WAAW,CAAC,CAAC;aAC1B;YACD,uCAAuC;SACxC;aAAM;YACL,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC;IACD;;OAEG;IACH,SAAS,kBAAkB;QACzB,oCAAqB,CAAC,aAAa,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,GAAG,CAAC,EAAE,CAAC;aAC1D,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,SAAS,CAAC,SAAS,CAAC,CAAC;aACtB;YACD,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1B,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACjC,cAAc,MAAK,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,CAAA,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;YAClE,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,SAAS,mBAAmB;QAC1B,oCAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;aACjD,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,oBAAoB,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC7E,8BAA8B,EAAE,CAAC;QACnC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,SAAS,GAAG,eAAe,CAAC,8BAAC,6BAAgB,IAAC,EAAE,EAAC,iBAAiB,EAAC,cAAc,EAAC,iBAAiB,GAAG,EAAE;gBAC1G,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;;;OAIG;IACH,SAAS,UAAU,CAAC,OAAe,EAAE,IAA8B;QACjE,IAAI,sBAAS,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC3C,eAAe,CAAC,8BAAC,6BAAgB,IAAC,EAAE,EAAC,uBAAuB,EAAC,cAAc,EAAC,uBAAuB,GAAG,EAAE;gBACtG,OAAO,EAAE,SAAS;gBAClB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;SACJ;aAAM;YACL,mBAAI;iBACD,OAAO,CAAC;gBACP,GAAG,EAAE,wBAAS,CAAC,WAAW,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,wBAAS,CAAC,WAAW,CAAC,MAAM;gBACpC,IAAI,EAAE;oBACJ,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpD,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;iBAC1C;aACF,CAAC;iBACD,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACjB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,cAAc,IAAI,gBAAgB,EAAE;oBACtC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAC3B,aAAa,CAAC,EAAE,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,SAAS,GAAG,eAAe,CAAC,8BAAC,6BAAgB,IAAC,EAAE,EAAC,8BAA8B,EAAC,cAAc,EAAC,8BAA8B,GAAG,EAAE;oBACpI,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,GAAG,EAAE;wBACZ,aAAa,CAAC,SAAS,CAAC,CAAC;oBAC3B,CAAC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED;;OAEG;IACH,SAAS,WAAW;QAClB,4DAA4D;QAC5D,mBAAI;aACD,OAAO,CAAC;YACP,GAAG,EAAE,wBAAS,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,wBAAS,CAAC,UAAU,CAAC,MAAM;YACnC,MAAM,EAAE;gBACN,MAAM,EAAE,GAAG,CAAC,EAAE;aACf;SACF,CAAC;aACD,IAAI,CAAC,CAAC,GAAsB,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;oBACzD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM;oBACL,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBACrC;gBACD,mBAAmB,CAAC,KAAK,CAAC,CAAC;aAC5B;iBAAM;gBACL,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC1B,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAChC;YACD,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,cAAM,CAAC,KAAK,CAAC,oBAAW,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;OAEG;IACH,MAAM,aAAa,GAAG,IAAA,eAAO,EAC3B,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,oCAAqB,CAAC,cAAc,EAAE;aAC1C,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YAClB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,cAAM,CAAC,KAAK,CAAC,oBAAW,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,EAAE,CACH,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,UAAU,IAAI,aAAa,EAAE,CAAC;IAChC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,GAAG,IAAI,WAAW,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtB;;OAEG;IACH,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvH,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;SACnE;IACH,CAAC,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,OAAO,GAAG,mBAAM,CAAC,SAAS,CAC5C,GAAG,+BAAuB,CAAC,WAAW,IAAI,kCAA0B,CAAC,eAAe,EAAE,EACtF,UAAU,CACX,CAAC;QACF,OAAO,GAAG,EAAE;YACV,mBAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5B;;OAEG;IACH,SAAS,cAAc;QACrB,OAAO,CACL,8BAAC,eAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW;YACtD,8BAAC,gCAAsB,IACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE;oBACd,cAAc,EAAE,mBAAmB;oBACnC,iBAAiB,EAAE,oBAAoB;oBACvC,eAAe,EAAE,4BAA4B;iBAC9C,EACD,SAAS,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,EACtB,WAAW,EAAE,KAAK,GAClB;YACD,sBAAsB,IAAI,CACzB,8BAAC,uBAAa,IACZ,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EACH,8BAAC,6BAAgB,IACf,EAAE,EAAC,sDAAsD,EACzD,cAAc,EAAC,sDAAsD,GACrE,EAEJ,UAAU,EACR,8BAAC,6BAAgB,IACf,EAAE,EAAC,0DAA0D,EAC7D,cAAc,EAAC,0DAA0D,GACzE,EAEJ,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,6BAA6B,GACtC,CACH,CACI,CACR,CAAC;IACJ,CAAC;IACD;;OAEG;IACH,SAAS,YAAY;QACnB,OAAO,CACL,8BAAC,eAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;YACpD,8BAAC,8BAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,WAAW,EACrB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE;oBACf,aAAa,EAAE,iBAAiB;oBAChC,eAAe,EAAE,6BAA6B;oBAC9C,iBAAiB,EAAE,qBAAqB;oBACxC,aAAa,EAAE,UAAU;iBAC1B,GACD;YACD,uBAAuB,IAAI,CAC1B,8BAAC,uBAAa,IACZ,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EACH,8BAAC,6BAAgB,IACf,EAAE,EAAC,uDAAuD,EAC1D,cAAc,EAAC,uDAAuD,GACtE,EAEJ,UAAU,EACR,8BAAC,6BAAgB,IACf,EAAE,EAAC,2DAA2D,EAC9D,cAAc,EAAC,2DAA2D,GAC1E,EAEJ,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,8BAA8B,GACvC,CACH,CACI,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;QACvB,OAAO,8BAAC,2BAAiB,OAAG,CAAC;KAC9B;IACD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,CACL,8BAAC,IAAI,kBAAC,SAAS,UAAK,IAAI,IAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KACrE,QAAQ,CAAC,CAAC,CAAC,CACV;YACG,kBAAkB,IAAI,8DAAG,cAAc,EAAE,CAAI;YAC7C,gBAAgB,IAAI,8DAAG,YAAY,EAAE,CAAI,CACzC,CACJ,CAAC,CAAC,CAAC,CACF;YACG,cAAc,EAAE;YAChB,YAAY,EAAE,CACd,CACJ,CACI,CACR,CAAC;KACH;IACD,OAAO,8BAAC,2BAAiB,OAAG,CAAC;AAC/B,CAAC;AA9bD,0CA8bC"}
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ interface PrivateMessageComponentSkeletonMap {
3
+ /**
4
+ * Overrides or extends the styles applied to the component.
5
+ * @default null
6
+ */
7
+ className?: string;
8
+ }
9
+ export declare type PrivateMessageComponentProps = React.PropsWithChildren<PrivateMessageComponentSkeletonMap>;
10
+ /**
11
+ * > API documentation for the Community-JS Private Messages Skeleton Template. Learn about the available props and the CSS API.
12
+
13
+ #### Import
14
+
15
+ ```jsx
16
+ import {PrivateMessageComponentSkeleton} from '@selfcommunity/react-templates';
17
+ ```
18
+
19
+ #### Component Name
20
+
21
+ The name `SCPrivateMessageComponentSkeleton` can be used when providing style overrides in the theme.
22
+
23
+ #### CSS
24
+
25
+ |Rule Name|Global class|Description|
26
+ |---|---|---|
27
+ |root|.SCPrivateMessageComponentSkeleton-root|Styles applied to the root element.|
28
+ |snippetsSection|.SCPrivateMessageComponentSkeleton-snippets-section|Styles applied to the snippets section|
29
+ |threadSection|.SCPrivateMessageComponentSkeleton-thread-section|Styles applied to the thread section|
30
+ *
31
+ */
32
+ export default function PrivateMessageComponentSkeleton(props: PrivateMessageComponentProps): JSX.Element;
33
+ export {};
34
+ //# sourceMappingURL=Skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/PrivateMessageComponent/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAoB1B,UAAU,kCAAkC;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,oBAAY,4BAA4B,GAAG,KAAK,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;AACvG;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,UAAU,+BAA+B,CAAC,KAAK,EAAE,4BAA4B,GAAG,GAAG,CAAC,OAAO,CAYxG"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const styles_1 = require("@mui/material/styles");
8
+ const material_1 = require("@mui/material");
9
+ const PrivateMessageSnippets_1 = __importDefault(require("../PrivateMessageSnippets"));
10
+ const PrivateMessageThread_1 = __importDefault(require("../PrivateMessageThread"));
11
+ const classnames_1 = __importDefault(require("classnames"));
12
+ const PREFIX = 'SCPrivateMessageComponentSkeleton';
13
+ const classes = {
14
+ root: `${PREFIX}-root`,
15
+ snippetsSection: `${PREFIX}-snippets-section`,
16
+ threadSection: `${PREFIX}-thread-section`
17
+ };
18
+ const Root = (0, styles_1.styled)(material_1.Grid, {
19
+ name: PREFIX,
20
+ slot: 'Root',
21
+ overridesResolver: (props, styles) => styles.root
22
+ })(() => ({}));
23
+ /**
24
+ * > API documentation for the Community-JS Private Messages Skeleton Template. Learn about the available props and the CSS API.
25
+
26
+ #### Import
27
+
28
+ ```jsx
29
+ import {PrivateMessageComponentSkeleton} from '@selfcommunity/react-templates';
30
+ ```
31
+
32
+ #### Component Name
33
+
34
+ The name `SCPrivateMessageComponentSkeleton` can be used when providing style overrides in the theme.
35
+
36
+ #### CSS
37
+
38
+ |Rule Name|Global class|Description|
39
+ |---|---|---|
40
+ |root|.SCPrivateMessageComponentSkeleton-root|Styles applied to the root element.|
41
+ |snippetsSection|.SCPrivateMessageComponentSkeleton-snippets-section|Styles applied to the snippets section|
42
+ |threadSection|.SCPrivateMessageComponentSkeleton-thread-section|Styles applied to the thread section|
43
+ *
44
+ */
45
+ function PrivateMessageComponentSkeleton(props) {
46
+ const { className } = props;
47
+ return (react_1.default.createElement(Root, { container: true, className: (0, classnames_1.default)(classes.root, className) },
48
+ react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 5, className: classes.snippetsSection },
49
+ react_1.default.createElement(PrivateMessageSnippets_1.default, null)),
50
+ react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 7, className: classes.threadSection },
51
+ react_1.default.createElement(PrivateMessageThread_1.default, null))));
52
+ }
53
+ exports.default = PrivateMessageComponentSkeleton;
54
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../../src/components/PrivateMessageComponent/Skeleton.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,iDAA4C;AAC5C,4CAAmC;AACnC,uFAAuE;AACvE,mFAAmE;AACnE,4DAAoC;AAEpC,MAAM,MAAM,GAAG,mCAAmC,CAAC;AAEnD,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,GAAG,MAAM,OAAO;IACtB,eAAe,EAAE,GAAG,MAAM,mBAAmB;IAC7C,aAAa,EAAE,GAAG,MAAM,iBAAiB;CAC1C,CAAC;AACF,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,eAAI,EAAE;IACxB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;CAClD,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAUf;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAwB,+BAA+B,CAAC,KAAmC;IACzF,MAAM,EAAC,SAAS,EAAC,GAAG,KAAK,CAAC;IAC1B,OAAO,CACL,8BAAC,IAAI,IAAC,SAAS,QAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;QAC5D,8BAAC,eAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe;YAC1D,8BAAC,gCAA8B,OAAG,CAC7B;QACP,8BAAC,eAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,aAAa;YACxD,8BAAC,8BAA4B,OAAG,CAC3B,CACF,CACR,CAAC;AACJ,CAAC;AAZD,kDAYC"}
@@ -0,0 +1,5 @@
1
+ import PrivateMessageComponent, { PrivateMessageComponentProps } from './PrivateMessageComponent';
2
+ import PrivateMessageComponentSkeleton from './Skeleton';
3
+ export default PrivateMessageComponent;
4
+ export { PrivateMessageComponentProps, PrivateMessageComponentSkeleton };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/PrivateMessageComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,EAAE,EAAC,4BAA4B,EAAC,MAAM,2BAA2B,CAAC;AAChG,OAAO,+BAA+B,MAAM,YAAY,CAAC;AACzD,eAAe,uBAAuB,CAAC;AACvC,OAAO,EAAC,4BAA4B,EAAE,+BAA+B,EAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PrivateMessageComponentSkeleton = void 0;
7
+ const PrivateMessageComponent_1 = __importDefault(require("./PrivateMessageComponent"));
8
+ const Skeleton_1 = __importDefault(require("./Skeleton"));
9
+ exports.PrivateMessageComponentSkeleton = Skeleton_1.default;
10
+ exports.default = PrivateMessageComponent_1.default;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/PrivateMessageComponent/index.tsx"],"names":[],"mappings":";;;;;;AAAA,wFAAgG;AAChG,0DAAyD;AAEnB,0CAF/B,kBAA+B,CAE+B;AADrE,kBAAe,iCAAuB,CAAC"}