@selfcommunity/react-ui 0.7.0-alpha.325 → 0.7.0-alpha.326

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.
@@ -84,7 +84,7 @@ export interface CommentObjectProps {
84
84
  * Props to spread to sub comments object
85
85
  * @default {elevation: 0, WidgetProps: {variant: 'outlined'} as WidgetProps}
86
86
  */
87
- CommentsObjectProps?: CommentsObjectProps;
87
+ CommentsObjectComponentProps?: CommentsObjectProps;
88
88
  /**
89
89
  * If datetime is linkable or not
90
90
  * @default true
@@ -95,7 +95,7 @@ function CommentObject(inProps) {
95
95
  props: inProps,
96
96
  name: PREFIX
97
97
  });
98
- const { id = `comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, feedObjectId, feedObject, feedObjectType = types_1.SCContributionType.POST, commentReply, onOpenReply, onDelete, onVote, elevation = 0, truncateContent = false, CommentObjectSkeletonProps = { elevation, WidgetProps: { variant: 'outlined' } }, CommentObjectReplyProps = { elevation, WidgetProps: { variant: 'outlined' } }, linkableCommentDateTime = true, cacheStrategy = utils_1.CacheStrategies.NETWORK_ONLY, CommentsObjectProps = {} } = props, rest = tslib_1.__rest(props, ["id", "className", "commentObjectId", "commentObject", "feedObjectId", "feedObject", "feedObjectType", "commentReply", "onOpenReply", "onDelete", "onVote", "elevation", "truncateContent", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "linkableCommentDateTime", "cacheStrategy", "CommentsObjectProps"]);
98
+ const { id = `comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, feedObjectId, feedObject, feedObjectType = types_1.SCContributionType.POST, commentReply, onOpenReply, onDelete, onVote, elevation = 0, truncateContent = false, CommentObjectSkeletonProps = { elevation, WidgetProps: { variant: 'outlined' } }, CommentObjectReplyProps = { elevation, WidgetProps: { variant: 'outlined' } }, linkableCommentDateTime = true, cacheStrategy = utils_1.CacheStrategies.NETWORK_ONLY, CommentsObjectComponentProps = {} } = props, rest = tslib_1.__rest(props, ["id", "className", "commentObjectId", "commentObject", "feedObjectId", "feedObject", "feedObjectType", "commentReply", "onOpenReply", "onDelete", "onVote", "elevation", "truncateContent", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "linkableCommentDateTime", "cacheStrategy", "CommentsObjectComponentProps"]);
99
99
  // CONTEXT
100
100
  const scContext = (0, react_core_1.useSCContext)();
101
101
  const scUserContext = (0, react_1.useContext)(react_core_1.SCUserContext);
@@ -366,7 +366,7 @@ function CommentObject(inProps) {
366
366
  */
367
367
  function renderLatestComment(comment) {
368
368
  return (react_1.default.createElement(CommentsObject_1.default, Object.assign({ feedObject: commentsObject.feedObject, feedObjectType: commentsObject.feedObject ? commentsObject.feedObject.type : feedObjectType, hideAdvertising: true, comments: [].concat(commentsObject.comments).reverse(), endComments: comment.latest_comments, previous: comment.comment_count > comment.latest_comments.length ? commentsObject.next : null, isLoadingPrevious: commentsObject.isLoadingNext, handlePrevious: commentsObject.getNextPage, CommentComponentProps: Object.assign(Object.assign({ onOpenReply: reply, CommentObjectSkeletonProps, elevation: elevation, linkableCommentDateTime: linkableCommentDateTime }, rest), { cacheStrategy,
369
- truncateContent }), CommentsObjectSkeletonProps: { count: 1, CommentObjectSkeletonProps: CommentObjectSkeletonProps }, inPlaceLoadMoreContents: true }, CommentsObjectProps, { cacheStrategy: cacheStrategy })));
369
+ truncateContent }), CommentsObjectSkeletonProps: { count: 1, CommentObjectSkeletonProps: CommentObjectSkeletonProps }, inPlaceLoadMoreContents: true }, CommentsObjectComponentProps, { cacheStrategy: cacheStrategy })));
370
370
  }
371
371
  /**
372
372
  * Render comments
@@ -94,9 +94,8 @@ function ImageComponent({ src, altText, nodeKey, maxWidth }) {
94
94
  unregister();
95
95
  };
96
96
  }, [clearSelection, editor, isSelected, nodeKey, onDelete, onEnter, onEscape, setSelected]);
97
- const isFocused = isSelected;
98
97
  return (react_1.default.createElement(react_1.Suspense, { fallback: null },
99
- react_1.default.createElement(LazyImage, { className: isFocused ? `focused` : null, src: src, altText: altText, imageRef: imageRef, maxWidth: maxWidth })));
98
+ react_1.default.createElement(LazyImage, { className: isSelected ? `selected` : null, src: src, altText: altText, imageRef: imageRef, maxWidth: maxWidth })));
100
99
  }
101
100
  function convertImageElement(domNode) {
102
101
  if (domNode instanceof HTMLImageElement) {
@@ -130,13 +129,13 @@ class ImageNode extends lexical_1.DecoratorNode {
130
129
  }
131
130
  // View
132
131
  createDOM(config) {
133
- const span = document.createElement('span');
132
+ const div = document.createElement('div');
134
133
  const theme = config.theme;
135
134
  const className = theme.image;
136
135
  if (className !== undefined) {
137
- span.className = className;
136
+ div.className = className;
138
137
  }
139
- return span;
138
+ return div;
140
139
  }
141
140
  updateDOM() {
142
141
  return false;
@@ -4,6 +4,7 @@ exports.INSERT_IMAGE_COMMAND = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
6
  const lexical_1 = require("lexical");
7
+ const utils_1 = require("@lexical/utils");
7
8
  const LexicalComposerContext_1 = require("@lexical/react/LexicalComposerContext");
8
9
  const material_1 = require("@mui/material");
9
10
  const styles_1 = require("@mui/material/styles");
@@ -40,7 +41,6 @@ function Image({ editor, className = '' }) {
40
41
  };
41
42
  editor.focus();
42
43
  editor.dispatchCommand(exports.INSERT_IMAGE_COMMAND, data);
43
- editor.dispatchCommand(lexical_1.INSERT_PARAGRAPH_COMMAND, undefined);
44
44
  };
45
45
  const handleUploadProgress = (chunks) => {
46
46
  setUploading(Object.assign({}, chunks));
@@ -84,20 +84,15 @@ function ImagePlugin() {
84
84
  return;
85
85
  }
86
86
  return editor.registerCommand(exports.INSERT_IMAGE_COMMAND, (payload) => {
87
- const selection = (0, lexical_1.$getSelection)();
88
- if ((0, lexical_1.$isRangeSelection)(selection)) {
89
- if ((0, lexical_1.$isRootNode)(selection.anchor.getNode())) {
90
- selection.insertParagraph();
91
- }
92
- const imageNode = (0, ImageNode_1.$createImageNode)({
93
- src: payload.src,
94
- altText: payload.altText,
95
- maxWidth: '100%',
96
- width: payload.width,
97
- height: payload.height
98
- });
99
- selection.insertNodes([imageNode]);
100
- }
87
+ const imageNode = (0, ImageNode_1.$createImageNode)({
88
+ src: payload.src,
89
+ altText: payload.altText,
90
+ maxWidth: '100%',
91
+ width: payload.width,
92
+ height: payload.height
93
+ });
94
+ // The image is not editable so it is better to position it near the root element
95
+ (0, utils_1.$insertNodeToNearestRoot)(imageNode);
101
96
  return true;
102
97
  }, lexical_1.COMMAND_PRIORITY_EDITOR);
103
98
  }, [editor]);
@@ -3,61 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const react_1 = tslib_1.__importDefault(require("react"));
5
5
  const LexicalOnChangePlugin_1 = require("@lexical/react/LexicalOnChangePlugin");
6
- const ImageNode_1 = require("../nodes/ImageNode");
7
- const MentionNode_1 = require("../nodes/MentionNode");
8
- const rich_text_1 = require("@lexical/rich-text");
9
- const link_1 = require("@lexical/link");
10
- const code_1 = require("@lexical/code");
11
6
  const html_1 = require("@lexical/html");
12
- const IS_BOLD = 1;
13
- const IS_ITALIC = 2;
14
- const convertText = (node) => {
15
- if (node.getFormat() === IS_BOLD) {
16
- return `<strong>${node.__text}</strong>`;
17
- }
18
- else if (node.getFormat() === IS_ITALIC) {
19
- return `<em>${node.__text}</em>`;
20
- }
21
- return `<span>${node.__text}</span>`;
22
- };
23
- const convertNode = (node, children) => {
24
- switch (node.getType()) {
25
- case ImageNode_1.ImageNode.getType():
26
- return `<img src="${node.__src}" alt="${node.__altText}" width="${node.__width}" height="${node.__height}" style="max-width: ${node.__maxWidth}px;" />`;
27
- case MentionNode_1.MentionNode.getType():
28
- return `<mention id="${node.__user.id}" ext-id="${node.__user.ext_id}">@${node.__user.username}</mention>`;
29
- case link_1.AutoLinkNode.getType():
30
- case link_1.LinkNode.getType():
31
- return `<a href="${node.__url}">${node.__url}</a>`;
32
- case 'list':
33
- return `<${node.__tag}>${children}</${node.__tag}>`;
34
- case 'listitem':
35
- return `<li>${node.__value}</li>`;
36
- case rich_text_1.QuoteNode.getType():
37
- return `<blockquote>${children}</blockquote>`;
38
- case code_1.CodeNode.getType():
39
- return `<pre>${children}</pre>`;
40
- case 'linebreak':
41
- return `<br/>`;
42
- case 'text':
43
- return convertText(node);
44
- case rich_text_1.HeadingNode.getType():
45
- return `<${node.__tag}>${children}</${node.__tag}>`;
46
- case 'paragraph':
47
- return `<p>${children ? children : '<br/>'}</p>`;
48
- case 'root':
49
- return children;
50
- default:
51
- return '';
52
- }
53
- };
54
- const $toHtml = (node) => {
55
- let html = '';
56
- // Create html for child nodes
57
- node.getChildren && node.getChildren().map((child) => (html += $toHtml(child)));
58
- // Return new html
59
- return convertNode(node, html);
60
- };
61
7
  const OnChangePlugin = (props) => {
62
8
  // PROPS
63
9
  const { onChange } = props;
@@ -90,7 +90,7 @@ function Activities(inProps) {
90
90
  * Render comments of feedObject
91
91
  */
92
92
  function renderComments() {
93
- return (react_1.default.createElement(react_1.default.Fragment, null, (commentsObject.feedObject.comment_count > 0 || comments.length > 0) && (react_1.default.createElement(CommentsObject_1.default, Object.assign({ feedObject: commentsObject.feedObject, comments: commentsObject.comments, startComments: comments, next: commentsObject.next, isLoadingNext: commentsObject.isLoadingNext, handleNext: handleNext, totalLoadedComments: commentsObject.comments.length + comments.length, totalComments: commentsObject.feedObject.comment_count, hideAdvertising: true }, CommentsObjectProps, { cacheStrategy: cacheStrategy, CommentsObjectSkeletonProps: { count: skeletonsCount }, CommentComponentProps: Object.assign(Object.assign(Object.assign({ truncateContent: true }, CommentComponentProps), { cacheStrategy }), { CommentsObjectProps: Object.assign({ inPlaceLoadMoreContents: false }, CommentsObjectProps) }), inPlaceLoadMoreContents: false })))));
93
+ return (react_1.default.createElement(react_1.default.Fragment, null, (commentsObject.feedObject.comment_count > 0 || comments.length > 0) && (react_1.default.createElement(CommentsObject_1.default, Object.assign({ feedObject: commentsObject.feedObject, comments: commentsObject.comments, startComments: comments, next: commentsObject.next, isLoadingNext: commentsObject.isLoadingNext, handleNext: handleNext, totalLoadedComments: commentsObject.comments.length + comments.length, totalComments: commentsObject.feedObject.comment_count, hideAdvertising: true }, CommentsObjectProps, { cacheStrategy: cacheStrategy, CommentsObjectSkeletonProps: { count: skeletonsCount }, CommentComponentProps: Object.assign(Object.assign(Object.assign(Object.assign({}, (CommentsObjectProps.CommentComponentProps ? CommentsObjectProps.CommentComponentProps : {})), { truncateContent: true }), CommentComponentProps), { cacheStrategy }), inPlaceLoadMoreContents: false })))));
94
94
  }
95
95
  /**
96
96
  * Renders root object
@@ -461,7 +461,7 @@ function FeedObject(inProps) {
461
461
  template === feedObject_1.SCFeedObjectTemplateType.PREVIEW && (obj.comment_count > 0 || (feedObjectActivities && feedObjectActivities.length > 0)) && (react_1.default.createElement(material_1.Collapse, { in: expandedActivities, timeout: "auto", classes: { root: classes.activitiesSection } },
462
462
  react_1.default.createElement(CardContent_1.default, { className: classes.activitiesContent },
463
463
  react_1.default.createElement(Activities_1.default, Object.assign({ feedObject: obj, key: selectedActivities, feedObjectActivities: feedObjectActivities, activitiesType: selectedActivities, onSetSelectedActivities: handleSelectedActivities, comments: comments, CommentsObjectProps: {
464
- CommentComponentProps: Object.assign({ onDelete: handleDeleteComment, truncateContent: true, CommentsObjectProps: { inPlaceLoadMoreContents: false } }, CommentComponentProps),
464
+ CommentComponentProps: Object.assign({ onDelete: handleDeleteComment, truncateContent: true, CommentsObjectComponentProps: { inPlaceLoadMoreContents: false } }, CommentComponentProps),
465
465
  CommentObjectSkeletonProps: CommentObjectSkeletonProps
466
466
  }, cacheStrategy: cacheStrategy }, ActivitiesProps))))),
467
467
  composerOpen && (react_1.default.createElement(Composer_1.default, { open: composerOpen, feedObject: obj, onClose: handleToggleEdit, onSuccess: handleEditSuccess, maxWidth: "sm", fullWidth: true, scroll: "body" })))) : (react_1.default.createElement(Skeleton_1.default, Object.assign({ template: template }, FeedObjectSkeletonProps)))));
@@ -84,7 +84,7 @@ export interface CommentObjectProps {
84
84
  * Props to spread to sub comments object
85
85
  * @default {elevation: 0, WidgetProps: {variant: 'outlined'} as WidgetProps}
86
86
  */
87
- CommentsObjectProps?: CommentsObjectProps;
87
+ CommentsObjectComponentProps?: CommentsObjectProps;
88
88
  /**
89
89
  * If datetime is linkable or not
90
90
  * @default true
@@ -93,7 +93,7 @@ export default function CommentObject(inProps) {
93
93
  props: inProps,
94
94
  name: PREFIX
95
95
  });
96
- const { id = `comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, feedObjectId, feedObject, feedObjectType = SCContributionType.POST, commentReply, onOpenReply, onDelete, onVote, elevation = 0, truncateContent = false, CommentObjectSkeletonProps = { elevation, WidgetProps: { variant: 'outlined' } }, CommentObjectReplyProps = { elevation, WidgetProps: { variant: 'outlined' } }, linkableCommentDateTime = true, cacheStrategy = CacheStrategies.NETWORK_ONLY, CommentsObjectProps = {} } = props, rest = __rest(props, ["id", "className", "commentObjectId", "commentObject", "feedObjectId", "feedObject", "feedObjectType", "commentReply", "onOpenReply", "onDelete", "onVote", "elevation", "truncateContent", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "linkableCommentDateTime", "cacheStrategy", "CommentsObjectProps"]);
96
+ const { id = `comment_object_${props.commentObjectId ? props.commentObjectId : props.commentObject ? props.commentObject.id : ''}`, className, commentObjectId, commentObject, feedObjectId, feedObject, feedObjectType = SCContributionType.POST, commentReply, onOpenReply, onDelete, onVote, elevation = 0, truncateContent = false, CommentObjectSkeletonProps = { elevation, WidgetProps: { variant: 'outlined' } }, CommentObjectReplyProps = { elevation, WidgetProps: { variant: 'outlined' } }, linkableCommentDateTime = true, cacheStrategy = CacheStrategies.NETWORK_ONLY, CommentsObjectComponentProps = {} } = props, rest = __rest(props, ["id", "className", "commentObjectId", "commentObject", "feedObjectId", "feedObject", "feedObjectType", "commentReply", "onOpenReply", "onDelete", "onVote", "elevation", "truncateContent", "CommentObjectSkeletonProps", "CommentObjectReplyProps", "linkableCommentDateTime", "cacheStrategy", "CommentsObjectComponentProps"]);
97
97
  // CONTEXT
98
98
  const scContext = useSCContext();
99
99
  const scUserContext = useContext(SCUserContext);
@@ -364,7 +364,7 @@ export default function CommentObject(inProps) {
364
364
  */
365
365
  function renderLatestComment(comment) {
366
366
  return (React.createElement(CommentsObject, Object.assign({ feedObject: commentsObject.feedObject, feedObjectType: commentsObject.feedObject ? commentsObject.feedObject.type : feedObjectType, hideAdvertising: true, comments: [].concat(commentsObject.comments).reverse(), endComments: comment.latest_comments, previous: comment.comment_count > comment.latest_comments.length ? commentsObject.next : null, isLoadingPrevious: commentsObject.isLoadingNext, handlePrevious: commentsObject.getNextPage, CommentComponentProps: Object.assign(Object.assign({ onOpenReply: reply, CommentObjectSkeletonProps, elevation: elevation, linkableCommentDateTime: linkableCommentDateTime }, rest), { cacheStrategy,
367
- truncateContent }), CommentsObjectSkeletonProps: { count: 1, CommentObjectSkeletonProps: CommentObjectSkeletonProps }, inPlaceLoadMoreContents: true }, CommentsObjectProps, { cacheStrategy: cacheStrategy })));
367
+ truncateContent }), CommentsObjectSkeletonProps: { count: 1, CommentObjectSkeletonProps: CommentObjectSkeletonProps }, inPlaceLoadMoreContents: true }, CommentsObjectComponentProps, { cacheStrategy: cacheStrategy })));
368
368
  }
369
369
  /**
370
370
  * Render comments
@@ -90,9 +90,8 @@ function ImageComponent({ src, altText, nodeKey, maxWidth }) {
90
90
  unregister();
91
91
  };
92
92
  }, [clearSelection, editor, isSelected, nodeKey, onDelete, onEnter, onEscape, setSelected]);
93
- const isFocused = isSelected;
94
93
  return (React.createElement(Suspense, { fallback: null },
95
- React.createElement(LazyImage, { className: isFocused ? `focused` : null, src: src, altText: altText, imageRef: imageRef, maxWidth: maxWidth })));
94
+ React.createElement(LazyImage, { className: isSelected ? `selected` : null, src: src, altText: altText, imageRef: imageRef, maxWidth: maxWidth })));
96
95
  }
97
96
  function convertImageElement(domNode) {
98
97
  if (domNode instanceof HTMLImageElement) {
@@ -126,13 +125,13 @@ export class ImageNode extends DecoratorNode {
126
125
  }
127
126
  // View
128
127
  createDOM(config) {
129
- const span = document.createElement('span');
128
+ const div = document.createElement('div');
130
129
  const theme = config.theme;
131
130
  const className = theme.image;
132
131
  if (className !== undefined) {
133
- span.className = className;
132
+ div.className = className;
134
133
  }
135
- return span;
134
+ return div;
136
135
  }
137
136
  updateDOM() {
138
137
  return false;
@@ -1,6 +1,7 @@
1
1
  import { __rest } from "tslib";
2
2
  import React, { forwardRef, useEffect, useState } from 'react';
3
- import { $getSelection, $isRangeSelection, $isRootNode, COMMAND_PRIORITY_EDITOR, createCommand, INSERT_PARAGRAPH_COMMAND } from 'lexical';
3
+ import { COMMAND_PRIORITY_EDITOR, createCommand, } from 'lexical';
4
+ import { $insertNodeToNearestRoot } from '@lexical/utils';
4
5
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
5
6
  import { CircularProgress, Icon, IconButton } from '@mui/material';
6
7
  import { styled } from '@mui/material/styles';
@@ -37,7 +38,6 @@ function Image({ editor, className = '' }) {
37
38
  };
38
39
  editor.focus();
39
40
  editor.dispatchCommand(INSERT_IMAGE_COMMAND, data);
40
- editor.dispatchCommand(INSERT_PARAGRAPH_COMMAND, undefined);
41
41
  };
42
42
  const handleUploadProgress = (chunks) => {
43
43
  setUploading(Object.assign({}, chunks));
@@ -81,20 +81,15 @@ export default function ImagePlugin() {
81
81
  return;
82
82
  }
83
83
  return editor.registerCommand(INSERT_IMAGE_COMMAND, (payload) => {
84
- const selection = $getSelection();
85
- if ($isRangeSelection(selection)) {
86
- if ($isRootNode(selection.anchor.getNode())) {
87
- selection.insertParagraph();
88
- }
89
- const imageNode = $createImageNode({
90
- src: payload.src,
91
- altText: payload.altText,
92
- maxWidth: '100%',
93
- width: payload.width,
94
- height: payload.height
95
- });
96
- selection.insertNodes([imageNode]);
97
- }
84
+ const imageNode = $createImageNode({
85
+ src: payload.src,
86
+ altText: payload.altText,
87
+ maxWidth: '100%',
88
+ width: payload.width,
89
+ height: payload.height
90
+ });
91
+ // The image is not editable so it is better to position it near the root element
92
+ $insertNodeToNearestRoot(imageNode);
98
93
  return true;
99
94
  }, COMMAND_PRIORITY_EDITOR);
100
95
  }, [editor]);
@@ -1,60 +1,6 @@
1
1
  import React from 'react';
2
2
  import { OnChangePlugin as LexicalOnChangePlugin } from '@lexical/react/LexicalOnChangePlugin';
3
- import { ImageNode } from '../nodes/ImageNode';
4
- import { MentionNode } from '../nodes/MentionNode';
5
- import { HeadingNode, QuoteNode } from '@lexical/rich-text';
6
- import { AutoLinkNode, LinkNode } from '@lexical/link';
7
- import { CodeNode } from '@lexical/code';
8
3
  import { $generateHtmlFromNodes } from '@lexical/html';
9
- const IS_BOLD = 1;
10
- const IS_ITALIC = 2;
11
- const convertText = (node) => {
12
- if (node.getFormat() === IS_BOLD) {
13
- return `<strong>${node.__text}</strong>`;
14
- }
15
- else if (node.getFormat() === IS_ITALIC) {
16
- return `<em>${node.__text}</em>`;
17
- }
18
- return `<span>${node.__text}</span>`;
19
- };
20
- const convertNode = (node, children) => {
21
- switch (node.getType()) {
22
- case ImageNode.getType():
23
- return `<img src="${node.__src}" alt="${node.__altText}" width="${node.__width}" height="${node.__height}" style="max-width: ${node.__maxWidth}px;" />`;
24
- case MentionNode.getType():
25
- return `<mention id="${node.__user.id}" ext-id="${node.__user.ext_id}">@${node.__user.username}</mention>`;
26
- case AutoLinkNode.getType():
27
- case LinkNode.getType():
28
- return `<a href="${node.__url}">${node.__url}</a>`;
29
- case 'list':
30
- return `<${node.__tag}>${children}</${node.__tag}>`;
31
- case 'listitem':
32
- return `<li>${node.__value}</li>`;
33
- case QuoteNode.getType():
34
- return `<blockquote>${children}</blockquote>`;
35
- case CodeNode.getType():
36
- return `<pre>${children}</pre>`;
37
- case 'linebreak':
38
- return `<br/>`;
39
- case 'text':
40
- return convertText(node);
41
- case HeadingNode.getType():
42
- return `<${node.__tag}>${children}</${node.__tag}>`;
43
- case 'paragraph':
44
- return `<p>${children ? children : '<br/>'}</p>`;
45
- case 'root':
46
- return children;
47
- default:
48
- return '';
49
- }
50
- };
51
- const $toHtml = (node) => {
52
- let html = '';
53
- // Create html for child nodes
54
- node.getChildren && node.getChildren().map((child) => (html += $toHtml(child)));
55
- // Return new html
56
- return convertNode(node, html);
57
- };
58
4
  const OnChangePlugin = (props) => {
59
5
  // PROPS
60
6
  const { onChange } = props;
@@ -88,7 +88,7 @@ export default function Activities(inProps) {
88
88
  * Render comments of feedObject
89
89
  */
90
90
  function renderComments() {
91
- return (React.createElement(React.Fragment, null, (commentsObject.feedObject.comment_count > 0 || comments.length > 0) && (React.createElement(CommentsObject, Object.assign({ feedObject: commentsObject.feedObject, comments: commentsObject.comments, startComments: comments, next: commentsObject.next, isLoadingNext: commentsObject.isLoadingNext, handleNext: handleNext, totalLoadedComments: commentsObject.comments.length + comments.length, totalComments: commentsObject.feedObject.comment_count, hideAdvertising: true }, CommentsObjectProps, { cacheStrategy: cacheStrategy, CommentsObjectSkeletonProps: { count: skeletonsCount }, CommentComponentProps: Object.assign(Object.assign(Object.assign({ truncateContent: true }, CommentComponentProps), { cacheStrategy }), { CommentsObjectProps: Object.assign({ inPlaceLoadMoreContents: false }, CommentsObjectProps) }), inPlaceLoadMoreContents: false })))));
91
+ return (React.createElement(React.Fragment, null, (commentsObject.feedObject.comment_count > 0 || comments.length > 0) && (React.createElement(CommentsObject, Object.assign({ feedObject: commentsObject.feedObject, comments: commentsObject.comments, startComments: comments, next: commentsObject.next, isLoadingNext: commentsObject.isLoadingNext, handleNext: handleNext, totalLoadedComments: commentsObject.comments.length + comments.length, totalComments: commentsObject.feedObject.comment_count, hideAdvertising: true }, CommentsObjectProps, { cacheStrategy: cacheStrategy, CommentsObjectSkeletonProps: { count: skeletonsCount }, CommentComponentProps: Object.assign(Object.assign(Object.assign(Object.assign({}, (CommentsObjectProps.CommentComponentProps ? CommentsObjectProps.CommentComponentProps : {})), { truncateContent: true }), CommentComponentProps), { cacheStrategy }), inPlaceLoadMoreContents: false })))));
92
92
  }
93
93
  /**
94
94
  * Renders root object
@@ -459,7 +459,7 @@ export default function FeedObject(inProps) {
459
459
  template === SCFeedObjectTemplateType.PREVIEW && (obj.comment_count > 0 || (feedObjectActivities && feedObjectActivities.length > 0)) && (React.createElement(Collapse, { in: expandedActivities, timeout: "auto", classes: { root: classes.activitiesSection } },
460
460
  React.createElement(CardContent, { className: classes.activitiesContent },
461
461
  React.createElement(Activities, Object.assign({ feedObject: obj, key: selectedActivities, feedObjectActivities: feedObjectActivities, activitiesType: selectedActivities, onSetSelectedActivities: handleSelectedActivities, comments: comments, CommentsObjectProps: {
462
- CommentComponentProps: Object.assign({ onDelete: handleDeleteComment, truncateContent: true, CommentsObjectProps: { inPlaceLoadMoreContents: false } }, CommentComponentProps),
462
+ CommentComponentProps: Object.assign({ onDelete: handleDeleteComment, truncateContent: true, CommentsObjectComponentProps: { inPlaceLoadMoreContents: false } }, CommentComponentProps),
463
463
  CommentObjectSkeletonProps: CommentObjectSkeletonProps
464
464
  }, cacheStrategy: cacheStrategy }, ActivitiesProps))))),
465
465
  composerOpen && (React.createElement(Composer, { open: composerOpen, feedObject: obj, onClose: handleToggleEdit, onSuccess: handleEditSuccess, maxWidth: "sm", fullWidth: true, scroll: "body" })))) : (React.createElement(FeedObjectSkeleton, Object.assign({ template: template }, FeedObjectSkeletonProps)))));