sceyt-chat-react-uikit 1.7.1-beta.15 → 1.7.1-beta.17
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/index.js +247 -215
- package/index.modern.js +247 -215
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -10340,6 +10340,7 @@ var initialState$1 = {
|
|
|
10340
10340
|
attachmentsUploadingState: {},
|
|
10341
10341
|
scrollToMessage: null,
|
|
10342
10342
|
scrollToMessageHighlight: true,
|
|
10343
|
+
scrollToMessageBehavior: 'smooth',
|
|
10343
10344
|
scrollToMentionedMessage: false,
|
|
10344
10345
|
reactionsList: [],
|
|
10345
10346
|
reactionsHasNext: true,
|
|
@@ -10366,6 +10367,7 @@ var messageSlice = createSlice({
|
|
|
10366
10367
|
setScrollToMessage: function setScrollToMessage(state, action) {
|
|
10367
10368
|
state.scrollToMessage = action.payload.messageId;
|
|
10368
10369
|
state.scrollToMessageHighlight = action.payload.highlight;
|
|
10370
|
+
state.scrollToMessageBehavior = action.payload.behavior || 'smooth';
|
|
10369
10371
|
},
|
|
10370
10372
|
setScrollToMentionedMessage: function setScrollToMentionedMessage(state, action) {
|
|
10371
10373
|
state.scrollToMentionedMessage = action.payload.isScrollToMentionedMessage;
|
|
@@ -11617,7 +11619,7 @@ function setMessageToEditAC(message) {
|
|
|
11617
11619
|
message: message
|
|
11618
11620
|
});
|
|
11619
11621
|
}
|
|
11620
|
-
function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight) {
|
|
11622
|
+
function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior) {
|
|
11621
11623
|
if (highlight === void 0) {
|
|
11622
11624
|
highlight = true;
|
|
11623
11625
|
}
|
|
@@ -11629,7 +11631,8 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
|
|
|
11629
11631
|
messageId: messageId,
|
|
11630
11632
|
limit: limit,
|
|
11631
11633
|
withDeliveredMessages: withDeliveredMessages,
|
|
11632
|
-
highlight: highlight
|
|
11634
|
+
highlight: highlight,
|
|
11635
|
+
behavior: behavior
|
|
11633
11636
|
}
|
|
11634
11637
|
};
|
|
11635
11638
|
}
|
|
@@ -11643,13 +11646,14 @@ function getMessageAC(channelId, messageId, limit) {
|
|
|
11643
11646
|
}
|
|
11644
11647
|
};
|
|
11645
11648
|
}
|
|
11646
|
-
function setScrollToMessagesAC(messageId, highlight) {
|
|
11649
|
+
function setScrollToMessagesAC(messageId, highlight, behavior) {
|
|
11647
11650
|
if (highlight === void 0) {
|
|
11648
11651
|
highlight = true;
|
|
11649
11652
|
}
|
|
11650
11653
|
return setScrollToMessage({
|
|
11651
11654
|
messageId: messageId || '',
|
|
11652
|
-
highlight: highlight
|
|
11655
|
+
highlight: highlight,
|
|
11656
|
+
behavior: behavior
|
|
11653
11657
|
});
|
|
11654
11658
|
}
|
|
11655
11659
|
function setScrollToMentionedMessageAC(isScrollToMentionedMessage) {
|
|
@@ -17110,6 +17114,9 @@ var scrollToMessageSelector = function scrollToMessageSelector(store) {
|
|
|
17110
17114
|
var scrollToMessageHighlightSelector = function scrollToMessageHighlightSelector(store) {
|
|
17111
17115
|
return store.MessageReducer.scrollToMessageHighlight;
|
|
17112
17116
|
};
|
|
17117
|
+
var scrollToMessageBehaviorSelector = function scrollToMessageBehaviorSelector(store) {
|
|
17118
|
+
return store.MessageReducer.scrollToMessageBehavior;
|
|
17119
|
+
};
|
|
17113
17120
|
var reactionsListSelector = function reactionsListSelector(store) {
|
|
17114
17121
|
return store.MessageReducer.reactionsList;
|
|
17115
17122
|
};
|
|
@@ -18503,7 +18510,7 @@ function editMessage(action) {
|
|
|
18503
18510
|
}, _marked6$1, null, [[0, 5]]);
|
|
18504
18511
|
}
|
|
18505
18512
|
function getMessagesQuery(action) {
|
|
18506
|
-
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
18513
|
+
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
18507
18514
|
return _regenerator().w(function (_context9) {
|
|
18508
18515
|
while (1) switch (_context9.p = _context9.n) {
|
|
18509
18516
|
case 0:
|
|
@@ -18511,7 +18518,7 @@ function getMessagesQuery(action) {
|
|
|
18511
18518
|
_context9.n = 1;
|
|
18512
18519
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
18513
18520
|
case 1:
|
|
18514
|
-
_action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight;
|
|
18521
|
+
_action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior;
|
|
18515
18522
|
if (!(channel.id && !channel.isMockChannel)) {
|
|
18516
18523
|
_context9.n = 47;
|
|
18517
18524
|
break;
|
|
@@ -18597,7 +18604,7 @@ function getMessagesQuery(action) {
|
|
|
18597
18604
|
break;
|
|
18598
18605
|
}
|
|
18599
18606
|
_context9.n = 12;
|
|
18600
|
-
return effects.put(setScrollToMessagesAC(messageId, highlight));
|
|
18607
|
+
return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
|
|
18601
18608
|
case 12:
|
|
18602
18609
|
_context9.n = 45;
|
|
18603
18610
|
break;
|
|
@@ -18660,7 +18667,7 @@ function getMessagesQuery(action) {
|
|
|
18660
18667
|
setHasNextCached(false);
|
|
18661
18668
|
case 22:
|
|
18662
18669
|
_context9.n = 23;
|
|
18663
|
-
return effects.put(setScrollToMessagesAC(messageId));
|
|
18670
|
+
return effects.put(setScrollToMessagesAC(messageId, true, behavior));
|
|
18664
18671
|
case 23:
|
|
18665
18672
|
_context9.n = 24;
|
|
18666
18673
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
@@ -18840,44 +18847,50 @@ function getMessageQuery(action) {
|
|
|
18840
18847
|
return effects.call(getChannelFromAllChannels, channelId);
|
|
18841
18848
|
case 1:
|
|
18842
18849
|
channel = _context0.v;
|
|
18843
|
-
|
|
18844
|
-
|
|
18850
|
+
if (channel) {
|
|
18851
|
+
_context0.n = 2;
|
|
18852
|
+
break;
|
|
18853
|
+
}
|
|
18854
|
+
return _context0.a(2);
|
|
18845
18855
|
case 2:
|
|
18856
|
+
_context0.n = 3;
|
|
18857
|
+
return effects.call(channel.getMessagesById, [messageId]);
|
|
18858
|
+
case 3:
|
|
18846
18859
|
messages = _context0.v;
|
|
18847
18860
|
fetchedMessage = messages && messages[0] ? JSON.parse(JSON.stringify(messages[0])) : null;
|
|
18848
18861
|
if (!fetchedMessage) {
|
|
18849
|
-
_context0.n =
|
|
18862
|
+
_context0.n = 6;
|
|
18850
18863
|
break;
|
|
18851
18864
|
}
|
|
18852
|
-
_context0.n =
|
|
18865
|
+
_context0.n = 4;
|
|
18853
18866
|
return effects.put(updateMessageAC(messageId, fetchedMessage));
|
|
18854
|
-
case
|
|
18867
|
+
case 4:
|
|
18855
18868
|
updateMessageOnMap(channel.id, {
|
|
18856
18869
|
messageId: messageId,
|
|
18857
18870
|
params: fetchedMessage
|
|
18858
18871
|
});
|
|
18859
18872
|
updateMessageOnAllMessages(messageId, fetchedMessage);
|
|
18860
|
-
_context0.n =
|
|
18873
|
+
_context0.n = 5;
|
|
18861
18874
|
return effects.put(setScrollToMessagesAC(messageId, false));
|
|
18862
|
-
case
|
|
18875
|
+
case 5:
|
|
18863
18876
|
if (!(channel.lastMessage && channel.lastMessage.id === messageId)) {
|
|
18864
|
-
_context0.n =
|
|
18877
|
+
_context0.n = 6;
|
|
18865
18878
|
break;
|
|
18866
18879
|
}
|
|
18867
18880
|
updateChannelLastMessageOnAllChannels(channel.id, fetchedMessage);
|
|
18868
|
-
_context0.n =
|
|
18881
|
+
_context0.n = 6;
|
|
18869
18882
|
return effects.put(updateChannelLastMessageAC(fetchedMessage, channel));
|
|
18870
|
-
case 5:
|
|
18871
|
-
_context0.n = 7;
|
|
18872
|
-
break;
|
|
18873
18883
|
case 6:
|
|
18874
|
-
_context0.
|
|
18884
|
+
_context0.n = 8;
|
|
18885
|
+
break;
|
|
18886
|
+
case 7:
|
|
18887
|
+
_context0.p = 7;
|
|
18875
18888
|
_t0 = _context0.v;
|
|
18876
18889
|
log.error('error in message query', _t0);
|
|
18877
|
-
case
|
|
18890
|
+
case 8:
|
|
18878
18891
|
return _context0.a(2);
|
|
18879
18892
|
}
|
|
18880
|
-
}, _marked8$1, null, [[0,
|
|
18893
|
+
}, _marked8$1, null, [[0, 7]]);
|
|
18881
18894
|
}
|
|
18882
18895
|
function loadMoreMessages(action) {
|
|
18883
18896
|
var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t1;
|
|
@@ -26136,6 +26149,7 @@ var Message = function Message(_ref) {
|
|
|
26136
26149
|
var _useColor = useColors(),
|
|
26137
26150
|
textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
|
|
26138
26151
|
overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
|
|
26152
|
+
var scrollToNewMessage = useSelector(scrollToNewMessageSelector);
|
|
26139
26153
|
var dispatch = useDispatch();
|
|
26140
26154
|
var ChatClient = getClient();
|
|
26141
26155
|
var user = ChatClient.user;
|
|
@@ -26154,7 +26168,19 @@ var Message = function Message(_ref) {
|
|
|
26154
26168
|
};
|
|
26155
26169
|
React.useEffect(function () {
|
|
26156
26170
|
if (isVisible) {
|
|
26171
|
+
var _channel$lastMessage;
|
|
26157
26172
|
handleSendReadMarker();
|
|
26173
|
+
if (!channel.isLinkedChannel) {
|
|
26174
|
+
setMessageToVisibleMessagesMap(message);
|
|
26175
|
+
}
|
|
26176
|
+
if (scrollToNewMessage.scrollToBottom && ((message === null || message === void 0 ? void 0 : message.id) === ((_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id) || !(message !== null && message !== void 0 && message.id))) {
|
|
26177
|
+
dispatch(scrollToNewMessageAC(false, false, false));
|
|
26178
|
+
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
26179
|
+
}
|
|
26180
|
+
} else {
|
|
26181
|
+
if (!channel.isLinkedChannel) {
|
|
26182
|
+
removeMessageFromVisibleMessagesMap(message);
|
|
26183
|
+
}
|
|
26158
26184
|
}
|
|
26159
26185
|
}, [isVisible]);
|
|
26160
26186
|
useDidUpdate(function () {
|
|
@@ -31421,53 +31447,50 @@ var OGMetadataContainer = styled__default.div(_templateObject$A || (_templateObj
|
|
|
31421
31447
|
var showOGMetadata = _ref2.showOGMetadata;
|
|
31422
31448
|
return showOGMetadata ? '0.8rem' : '0';
|
|
31423
31449
|
});
|
|
31424
|
-
var ImageContainer = styled__default.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n
|
|
31450
|
+
var ImageContainer = styled__default.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n ", "\n\n ", "\n\n opacity: ", ";\n overflow: hidden;\n margin: 0 auto;\n padding: ", ";\n transition: height 0.2s ease;\n"])), function (_ref3) {
|
|
31425
31451
|
var width = _ref3.width;
|
|
31426
|
-
return width + "px";
|
|
31452
|
+
return width ? "\n max-width: " + (width + "px") + ";\n " : "\n max-width: 100%;\n width: 100%;\n ";
|
|
31427
31453
|
}, function (_ref4) {
|
|
31428
|
-
var height = _ref4.height
|
|
31429
|
-
|
|
31454
|
+
var height = _ref4.height,
|
|
31455
|
+
showOGMetadata = _ref4.showOGMetadata;
|
|
31456
|
+
return height ? "\n max-height: " + (height + "px") + ";\n height: " + (showOGMetadata ? height + "px" : '0') + ";\n " : "\n max-height: 200px;\n height: " + (showOGMetadata ? '200px' : '0') + ";\n ";
|
|
31430
31457
|
}, function (_ref5) {
|
|
31431
31458
|
var showOGMetadata = _ref5.showOGMetadata;
|
|
31432
31459
|
return showOGMetadata ? 1 : 0;
|
|
31433
31460
|
}, function (_ref6) {
|
|
31434
31461
|
var showOGMetadata = _ref6.showOGMetadata;
|
|
31435
31462
|
return showOGMetadata ? '0.3rem' : '0';
|
|
31436
|
-
}, function (_ref7) {
|
|
31437
|
-
var showOGMetadata = _ref7.showOGMetadata,
|
|
31438
|
-
height = _ref7.height;
|
|
31439
|
-
return showOGMetadata ? height + "px" : '0';
|
|
31440
31463
|
});
|
|
31441
|
-
var OGText = styled__default.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n
|
|
31442
|
-
var Url = styled__default.p(_templateObject4$l || (_templateObject4$l = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n margin: 0 0 12px 0;\n color: gray;\n
|
|
31464
|
+
var OGText = styled__default.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n padding: 0.5rem;\n margin: 0;\n transition: all 0.2s ease;\n"])));
|
|
31465
|
+
var Url = styled__default.p(_templateObject4$l || (_templateObject4$l = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n margin: 0 0 12px 0;\n color: gray;\n ", "\n transition: all 0.2s ease;\n"])), function (_ref7) {
|
|
31466
|
+
var maxWidth = _ref7.maxWidth;
|
|
31467
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31468
|
+
});
|
|
31469
|
+
var Title = styled__default.p(_templateObject5$h || (_templateObject5$h = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n font-size: 13px;\n padding: 0;\n display: flex;\n align-items: center;\n ", "\n transition: all 0.2s ease;\n"])), function (_ref8) {
|
|
31443
31470
|
var maxWidth = _ref8.maxWidth;
|
|
31444
|
-
return maxWidth + "px";
|
|
31471
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31445
31472
|
});
|
|
31446
|
-
var
|
|
31473
|
+
var Desc = styled__default.p(_templateObject6$f || (_templateObject6$f = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n ", "\n transition: all 0.2s ease;\n"])), function (_ref9) {
|
|
31447
31474
|
var maxWidth = _ref9.maxWidth;
|
|
31448
|
-
return maxWidth + "px";
|
|
31449
|
-
});
|
|
31450
|
-
var Desc = styled__default.p(_templateObject6$f || (_templateObject6$f = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n max-width: ", ";\n transition: all 0.2s ease;\n"])), function (_ref0) {
|
|
31451
|
-
var maxWidth = _ref0.maxWidth;
|
|
31452
|
-
return maxWidth + "px";
|
|
31475
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31453
31476
|
});
|
|
31454
|
-
var Img = styled__default.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n max-width: ", ";\n min-width: ", ";\n max-height: ", ";\n min-height: ", ";\n width: ", ";\n height: ", ";\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (
|
|
31477
|
+
var Img = styled__default.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n max-width: ", ";\n min-width: ", ";\n max-height: ", ";\n min-height: ", ";\n width: ", ";\n height: ", ";\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (_ref0) {
|
|
31478
|
+
var width = _ref0.width;
|
|
31479
|
+
return width + "px";
|
|
31480
|
+
}, function (_ref1) {
|
|
31455
31481
|
var width = _ref1.width;
|
|
31456
31482
|
return width + "px";
|
|
31457
31483
|
}, function (_ref10) {
|
|
31458
|
-
var
|
|
31459
|
-
return
|
|
31484
|
+
var height = _ref10.height;
|
|
31485
|
+
return height + "px";
|
|
31460
31486
|
}, function (_ref11) {
|
|
31461
31487
|
var height = _ref11.height;
|
|
31462
31488
|
return height + "px";
|
|
31463
31489
|
}, function (_ref12) {
|
|
31464
|
-
var
|
|
31465
|
-
return height + "px";
|
|
31466
|
-
}, function (_ref13) {
|
|
31467
|
-
var width = _ref13.width;
|
|
31490
|
+
var width = _ref12.width;
|
|
31468
31491
|
return width + "px";
|
|
31469
|
-
}, function (
|
|
31470
|
-
var height =
|
|
31492
|
+
}, function (_ref13) {
|
|
31493
|
+
var height = _ref13.height;
|
|
31471
31494
|
return height + "px";
|
|
31472
31495
|
});
|
|
31473
31496
|
var Favicon = styled__default.img(_templateObject8$c || (_templateObject8$c = _taggedTemplateLiteralLoose(["\n transition: all 0.2s ease;\n width: 24px;\n height: 24px;\n object-fit: contain;\n margin-right: 4px;\n"])));
|
|
@@ -32810,14 +32833,6 @@ var HiddenMessageProperty;
|
|
|
32810
32833
|
})(HiddenMessageProperty || (HiddenMessageProperty = {}));
|
|
32811
32834
|
|
|
32812
32835
|
var _templateObject$D, _templateObject2$y, _templateObject3$s, _templateObject4$o, _templateObject5$k, _templateObject6$h, _templateObject7$f, _templateObject8$e, _templateObject9$c, _templateObject0$b, _templateObject1$8;
|
|
32813
|
-
var loadFromServer = false;
|
|
32814
|
-
var loadDirection = '';
|
|
32815
|
-
var nextDisable = false;
|
|
32816
|
-
var prevDisable = false;
|
|
32817
|
-
var scrollToBottom = false;
|
|
32818
|
-
var shouldLoadMessages;
|
|
32819
|
-
var loading = false;
|
|
32820
|
-
var messagesIndexMap = {};
|
|
32821
32836
|
var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
32822
32837
|
var lastIndex = _ref.lastIndex,
|
|
32823
32838
|
currentMessageDate = _ref.currentMessageDate,
|
|
@@ -33027,6 +33042,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33027
33042
|
var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, reactRedux.shallowEqual);
|
|
33028
33043
|
var scrollToRepliedMessage = useSelector(scrollToMessageSelector, reactRedux.shallowEqual);
|
|
33029
33044
|
var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, reactRedux.shallowEqual);
|
|
33045
|
+
var scrollToMessageBehavior = useSelector(scrollToMessageBehaviorSelector, reactRedux.shallowEqual);
|
|
33030
33046
|
var browserTabIsActive = useSelector(browserTabIsActiveSelector, reactRedux.shallowEqual);
|
|
33031
33047
|
var hasNextMessages = useSelector(messagesHasNextSelector, reactRedux.shallowEqual);
|
|
33032
33048
|
var hasPrevMessages = useSelector(messagesHasPrevSelector, reactRedux.shallowEqual);
|
|
@@ -33067,35 +33083,39 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33067
33083
|
setShouldPreserveScroll = _useState0[1];
|
|
33068
33084
|
var messageForReply = {};
|
|
33069
33085
|
var attachmentsSelected = false;
|
|
33070
|
-
var
|
|
33086
|
+
var _useState1 = React.useState(''),
|
|
33087
|
+
topDateLabel = _useState1[0],
|
|
33088
|
+
setTopDateLabel = _useState1[1];
|
|
33071
33089
|
var scrollRef = React.useRef(null);
|
|
33090
|
+
var loadFromServerRef = React.useRef(false);
|
|
33091
|
+
var loadDirectionRef = React.useRef('');
|
|
33092
|
+
var nextDisableRef = React.useRef(false);
|
|
33093
|
+
var prevDisableRef = React.useRef(false);
|
|
33094
|
+
var scrollToBottomRef = React.useRef(false);
|
|
33095
|
+
var shouldLoadMessagesRef = React.useRef('');
|
|
33096
|
+
var loadingRef = React.useRef(false);
|
|
33097
|
+
var messagesIndexMapRef = React.useRef({});
|
|
33098
|
+
var scrollRafRef = React.useRef(null);
|
|
33072
33099
|
var renderTopDate = function renderTopDate() {
|
|
33073
|
-
var
|
|
33074
|
-
|
|
33100
|
+
var container = scrollRef.current;
|
|
33101
|
+
if (!container) return;
|
|
33102
|
+
var dateLabels = container.querySelectorAll('.divider');
|
|
33075
33103
|
var text = '';
|
|
33076
33104
|
for (var i = dateLabels.length - 1; i >= 0; i--) {
|
|
33077
|
-
var _dateLabel$firstChild;
|
|
33078
33105
|
var dateLabel = dateLabels[i];
|
|
33079
|
-
|
|
33080
|
-
|
|
33081
|
-
text = span
|
|
33082
|
-
span.style.display = 'none';
|
|
33083
|
-
} else {
|
|
33084
|
-
span.style.display = 'block';
|
|
33106
|
+
if (!text && container.scrollTop > dateLabel.offsetTop) {
|
|
33107
|
+
var span = (dateLabel === null || dateLabel === void 0 ? void 0 : dateLabel.firstChild) && dateLabel.firstChild.firstChild;
|
|
33108
|
+
text = span ? span.innerText || '' : '';
|
|
33085
33109
|
}
|
|
33086
33110
|
}
|
|
33087
|
-
|
|
33088
|
-
messageTopDate.innerText = text;
|
|
33089
|
-
messageTopDate.style.display = 'inline';
|
|
33090
|
-
} else {
|
|
33091
|
-
messageTopDate.style.display = 'none';
|
|
33092
|
-
}
|
|
33111
|
+
setTopDateLabel(text);
|
|
33093
33112
|
};
|
|
33094
|
-
var handleMessagesListScroll = React.useCallback(function (
|
|
33113
|
+
var handleMessagesListScroll = React.useCallback(function () {
|
|
33095
33114
|
try {
|
|
33115
|
+
var target = scrollRef.current;
|
|
33116
|
+
if (!target) return Promise.resolve();
|
|
33096
33117
|
if (scrollToMentionedMessage) {
|
|
33097
|
-
|
|
33098
|
-
if (_target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33118
|
+
if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33099
33119
|
dispatch(showScrollToNewMessageButtonAC(true));
|
|
33100
33120
|
} else {
|
|
33101
33121
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
@@ -33108,7 +33128,6 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33108
33128
|
setShowTopDate(false);
|
|
33109
33129
|
}, 1000);
|
|
33110
33130
|
renderTopDate();
|
|
33111
|
-
var target = event.target;
|
|
33112
33131
|
var forceLoadPrevMessages = false;
|
|
33113
33132
|
if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
|
|
33114
33133
|
forceLoadPrevMessages = true;
|
|
@@ -33123,51 +33142,68 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33123
33142
|
}
|
|
33124
33143
|
if (scrollToReply) {
|
|
33125
33144
|
target.scrollTop = scrollToReply;
|
|
33126
|
-
|
|
33127
|
-
|
|
33128
|
-
|
|
33129
|
-
|
|
33130
|
-
|
|
33131
|
-
|
|
33132
|
-
|
|
33133
|
-
|
|
33134
|
-
|
|
33135
|
-
|
|
33136
|
-
|
|
33137
|
-
if (!getHasPrevCached()) {
|
|
33138
|
-
loadFromServer = true;
|
|
33139
|
-
}
|
|
33140
|
-
nextDisable = true;
|
|
33145
|
+
return Promise.resolve();
|
|
33146
|
+
}
|
|
33147
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33148
|
+
var hasIndex = typeof currentIndex === 'number';
|
|
33149
|
+
if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
|
|
33150
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
|
|
33151
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
|
|
33152
|
+
shouldLoadMessagesRef.current = 'prev';
|
|
33153
|
+
} else {
|
|
33154
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33155
|
+
shouldLoadMessagesRef.current = '';
|
|
33141
33156
|
}
|
|
33157
|
+
loadDirectionRef.current = 'prev';
|
|
33158
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33159
|
+
if (!getHasPrevCached()) {
|
|
33160
|
+
loadFromServerRef.current = true;
|
|
33161
|
+
}
|
|
33162
|
+
nextDisableRef.current = true;
|
|
33142
33163
|
}
|
|
33143
33164
|
}
|
|
33144
|
-
|
|
33145
|
-
|
|
33146
|
-
|
|
33147
|
-
|
|
33148
|
-
|
|
33149
|
-
|
|
33150
|
-
|
|
33151
|
-
|
|
33152
|
-
loadDirection = 'next';
|
|
33153
|
-
prevDisable = true;
|
|
33154
|
-
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33165
|
+
}
|
|
33166
|
+
if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
|
|
33167
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
|
|
33168
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
|
|
33169
|
+
shouldLoadMessagesRef.current = 'next';
|
|
33170
|
+
} else {
|
|
33171
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33172
|
+
shouldLoadMessagesRef.current = '';
|
|
33155
33173
|
}
|
|
33174
|
+
loadDirectionRef.current = 'next';
|
|
33175
|
+
prevDisableRef.current = true;
|
|
33176
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33156
33177
|
}
|
|
33157
33178
|
}
|
|
33158
|
-
|
|
33159
|
-
|
|
33160
|
-
|
|
33179
|
+
}
|
|
33180
|
+
if (hasIndex && currentIndex > messages.length - 10) {
|
|
33181
|
+
nextDisableRef.current = false;
|
|
33161
33182
|
}
|
|
33162
33183
|
return Promise.resolve();
|
|
33163
33184
|
} catch (e) {
|
|
33164
33185
|
return Promise.reject(e);
|
|
33165
33186
|
}
|
|
33166
|
-
}, [channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id, messages, scrollToMentionedMessage, scrollToNewMessage, messagesLoading, hasPrevMessages, hasNextMessages,
|
|
33187
|
+
}, [channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id, messages, scrollToMentionedMessage, scrollToNewMessage, messagesLoading, hasPrevMessages, hasNextMessages, lastVisibleMessageId, connectionStatus, getHasPrevCached, getHasNextCached, scrollToReply]);
|
|
33188
|
+
var onScroll = React.useCallback(function () {
|
|
33189
|
+
if (scrollRafRef.current !== null) return;
|
|
33190
|
+
scrollRafRef.current = window.requestAnimationFrame(function () {
|
|
33191
|
+
scrollRafRef.current = null;
|
|
33192
|
+
handleMessagesListScroll();
|
|
33193
|
+
});
|
|
33194
|
+
}, [handleMessagesListScroll]);
|
|
33195
|
+
React.useEffect(function () {
|
|
33196
|
+
return function () {
|
|
33197
|
+
if (scrollRafRef.current !== null) {
|
|
33198
|
+
cancelAnimationFrame(scrollRafRef.current);
|
|
33199
|
+
scrollRafRef.current = null;
|
|
33200
|
+
}
|
|
33201
|
+
};
|
|
33202
|
+
}, []);
|
|
33167
33203
|
var handleScrollToRepliedMessage = function handleScrollToRepliedMessage(messageId) {
|
|
33168
33204
|
try {
|
|
33169
|
-
|
|
33170
|
-
|
|
33205
|
+
prevDisableRef.current = true;
|
|
33206
|
+
nextDisableRef.current = true;
|
|
33171
33207
|
if (messages.findIndex(function (msg) {
|
|
33172
33208
|
return msg.id === messageId;
|
|
33173
33209
|
}) >= 10) {
|
|
@@ -33181,8 +33217,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33181
33217
|
var positiveValue = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2 < 0 ? repliedMessage.offsetTop - scrollRef.current.offsetHeight * -1 : repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
|
|
33182
33218
|
setTimeout(function () {
|
|
33183
33219
|
repliedMessage.classList.remove('highlight');
|
|
33184
|
-
|
|
33185
|
-
|
|
33220
|
+
prevDisableRef.current = false;
|
|
33221
|
+
nextDisableRef.current = false;
|
|
33186
33222
|
}, 1000 + positiveValue * 0.1);
|
|
33187
33223
|
}
|
|
33188
33224
|
} else {
|
|
@@ -33203,10 +33239,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33203
33239
|
var hasNextCached = getHasNextCached();
|
|
33204
33240
|
if (messagesLoading === LOADING_STATE.LOADED && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33205
33241
|
if (direction === MESSAGE_LOAD_DIRECTION.PREV && firstMessageId && (hasPrevMessages || hasPrevCached)) {
|
|
33206
|
-
|
|
33242
|
+
loadingRef.current = true;
|
|
33207
33243
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, firstMessageId, hasPrevMessages));
|
|
33208
33244
|
} else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && lastMessageId && (hasNextMessages || hasNextCached)) {
|
|
33209
|
-
|
|
33245
|
+
loadingRef.current = true;
|
|
33210
33246
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, lastMessageId, hasNextMessages));
|
|
33211
33247
|
}
|
|
33212
33248
|
}
|
|
@@ -33237,39 +33273,42 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33237
33273
|
setIsDragging(false);
|
|
33238
33274
|
}
|
|
33239
33275
|
};
|
|
33276
|
+
var readDroppedFiles = function readDroppedFiles(e) {
|
|
33277
|
+
return new Promise(function (resolve) {
|
|
33278
|
+
var fileList = Object.values(e.dataTransfer.files);
|
|
33279
|
+
var attachmentsFiles = [];
|
|
33280
|
+
var readFiles = 0;
|
|
33281
|
+
var errorCount = 0;
|
|
33282
|
+
fileList.forEach(function (attachment) {
|
|
33283
|
+
var fileReader = new FileReader();
|
|
33284
|
+
fileReader.onload = function (event) {
|
|
33285
|
+
var file = event.target.result;
|
|
33286
|
+
attachmentsFiles.push({
|
|
33287
|
+
name: attachment.name,
|
|
33288
|
+
data: file,
|
|
33289
|
+
type: attachment.type
|
|
33290
|
+
});
|
|
33291
|
+
readFiles++;
|
|
33292
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33293
|
+
resolve(attachmentsFiles);
|
|
33294
|
+
}
|
|
33295
|
+
};
|
|
33296
|
+
fileReader.onerror = function () {
|
|
33297
|
+
errorCount++;
|
|
33298
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33299
|
+
resolve(attachmentsFiles);
|
|
33300
|
+
}
|
|
33301
|
+
};
|
|
33302
|
+
fileReader.readAsDataURL(attachment);
|
|
33303
|
+
});
|
|
33304
|
+
});
|
|
33305
|
+
};
|
|
33240
33306
|
var handleDropFile = function handleDropFile(e) {
|
|
33241
33307
|
e.preventDefault();
|
|
33242
33308
|
e.stopPropagation();
|
|
33243
33309
|
setIsDragging(false);
|
|
33244
33310
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33245
|
-
|
|
33246
|
-
new Promise(function (resolve) {
|
|
33247
|
-
var attachmentsFiles = [];
|
|
33248
|
-
var readFiles = 0;
|
|
33249
|
-
var errorCount = 0;
|
|
33250
|
-
fileList.forEach(function (attachment) {
|
|
33251
|
-
var fileReader = new FileReader();
|
|
33252
|
-
fileReader.onload = function (event) {
|
|
33253
|
-
var file = event.target.result;
|
|
33254
|
-
attachmentsFiles.push({
|
|
33255
|
-
name: attachment.name,
|
|
33256
|
-
data: file,
|
|
33257
|
-
type: attachment.type
|
|
33258
|
-
});
|
|
33259
|
-
readFiles++;
|
|
33260
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33261
|
-
resolve(attachmentsFiles);
|
|
33262
|
-
}
|
|
33263
|
-
};
|
|
33264
|
-
fileReader.onerror = function () {
|
|
33265
|
-
errorCount++;
|
|
33266
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33267
|
-
resolve(attachmentsFiles);
|
|
33268
|
-
}
|
|
33269
|
-
};
|
|
33270
|
-
fileReader.readAsDataURL(attachment);
|
|
33271
|
-
});
|
|
33272
|
-
}).then(function (result) {
|
|
33311
|
+
readDroppedFiles(e).then(function (result) {
|
|
33273
33312
|
dispatch(setDraggedAttachmentsAC(result, 'file'));
|
|
33274
33313
|
})["catch"](function (error) {
|
|
33275
33314
|
console.error('Error in handleDropFile:', error);
|
|
@@ -33282,34 +33321,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33282
33321
|
e.stopPropagation();
|
|
33283
33322
|
setIsDragging(false);
|
|
33284
33323
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33285
|
-
|
|
33286
|
-
new Promise(function (resolve) {
|
|
33287
|
-
var attachmentsFiles = [];
|
|
33288
|
-
var readFiles = 0;
|
|
33289
|
-
var errorCount = 0;
|
|
33290
|
-
fileList.forEach(function (attachment) {
|
|
33291
|
-
var fileReader = new FileReader();
|
|
33292
|
-
fileReader.onload = function (event) {
|
|
33293
|
-
var file = event.target.result;
|
|
33294
|
-
attachmentsFiles.push({
|
|
33295
|
-
name: attachment.name,
|
|
33296
|
-
data: file,
|
|
33297
|
-
type: attachment.type
|
|
33298
|
-
});
|
|
33299
|
-
readFiles++;
|
|
33300
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33301
|
-
resolve(attachmentsFiles);
|
|
33302
|
-
}
|
|
33303
|
-
};
|
|
33304
|
-
fileReader.onerror = function () {
|
|
33305
|
-
errorCount++;
|
|
33306
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33307
|
-
resolve(attachmentsFiles);
|
|
33308
|
-
}
|
|
33309
|
-
};
|
|
33310
|
-
fileReader.readAsDataURL(attachment);
|
|
33311
|
-
});
|
|
33312
|
-
}).then(function (result) {
|
|
33324
|
+
readDroppedFiles(e).then(function (result) {
|
|
33313
33325
|
dispatch(setDraggedAttachmentsAC(result, 'media'));
|
|
33314
33326
|
})["catch"](function (error) {
|
|
33315
33327
|
console.error('Error in handleDropMedia:', error);
|
|
@@ -33321,21 +33333,21 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33321
33333
|
var _messages, _channel$lastMessage2;
|
|
33322
33334
|
if (messages.length > 0 && ((_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id) === ((_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id) && scrollRef.current && scrollRef.current.scrollTop > -50 && !showScrollToNewMessageButton) {
|
|
33323
33335
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33324
|
-
|
|
33336
|
+
prevDisableRef.current = false;
|
|
33325
33337
|
}
|
|
33326
33338
|
}, [messages, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollTop, showScrollToNewMessageButton]);
|
|
33327
33339
|
React.useEffect(function () {
|
|
33328
33340
|
if (scrollToRepliedMessage) {
|
|
33329
|
-
|
|
33341
|
+
loadingRef.current = false;
|
|
33330
33342
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33331
33343
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33332
33344
|
if (repliedMessage) {
|
|
33333
33345
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
33334
33346
|
scrollRef.current.scrollTo({
|
|
33335
33347
|
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
33336
|
-
behavior:
|
|
33348
|
+
behavior: scrollToMessageBehavior
|
|
33337
33349
|
});
|
|
33338
|
-
scrollRef.current.style.scrollBehavior =
|
|
33350
|
+
scrollRef.current.style.scrollBehavior = scrollToMessageBehavior;
|
|
33339
33351
|
if (!channel.backToLinkedChannel && scrollToMessageHighlight) {
|
|
33340
33352
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
33341
33353
|
}
|
|
@@ -33345,9 +33357,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33345
33357
|
var _repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33346
33358
|
_repliedMessage && _repliedMessage.classList.remove('highlight');
|
|
33347
33359
|
}
|
|
33348
|
-
|
|
33360
|
+
prevDisableRef.current = false;
|
|
33349
33361
|
setScrollToReply(null);
|
|
33350
|
-
scrollRef.current.style.scrollBehavior = '
|
|
33362
|
+
scrollRef.current.style.scrollBehavior = 'instant';
|
|
33351
33363
|
}, 1000 + positiveValue * 0.1);
|
|
33352
33364
|
}
|
|
33353
33365
|
dispatch(setScrollToMessagesAC(null));
|
|
@@ -33363,15 +33375,15 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33363
33375
|
});
|
|
33364
33376
|
}
|
|
33365
33377
|
} else {
|
|
33366
|
-
|
|
33367
|
-
|
|
33378
|
+
nextDisableRef.current = true;
|
|
33379
|
+
prevDisableRef.current = true;
|
|
33368
33380
|
scrollRef.current.scrollTo({
|
|
33369
33381
|
top: 0,
|
|
33370
33382
|
behavior: 'smooth'
|
|
33371
33383
|
});
|
|
33372
33384
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33373
33385
|
setTimeout(function () {
|
|
33374
|
-
|
|
33386
|
+
prevDisableRef.current = false;
|
|
33375
33387
|
}, 800);
|
|
33376
33388
|
}
|
|
33377
33389
|
}
|
|
@@ -33389,11 +33401,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33389
33401
|
React.useEffect(function () {
|
|
33390
33402
|
setHasNextCached(false);
|
|
33391
33403
|
setHasPrevCached(false);
|
|
33404
|
+
messagesIndexMapRef.current = {};
|
|
33405
|
+
loadFromServerRef.current = false;
|
|
33406
|
+
loadDirectionRef.current = '';
|
|
33407
|
+
nextDisableRef.current = false;
|
|
33408
|
+
prevDisableRef.current = false;
|
|
33409
|
+
shouldLoadMessagesRef.current = '';
|
|
33410
|
+
loadingRef.current = false;
|
|
33392
33411
|
if (channel.backToLinkedChannel) {
|
|
33393
33412
|
var visibleMessages = getVisibleMessagesMap();
|
|
33394
33413
|
var visibleMessagesIds = Object.keys(visibleMessages);
|
|
33395
33414
|
var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
|
|
33396
|
-
dispatch(getMessagesAC(channel, undefined, messageId));
|
|
33415
|
+
dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
|
|
33397
33416
|
setUnreadMessageId(messageId);
|
|
33398
33417
|
} else {
|
|
33399
33418
|
if (!channel.isLinkedChannel) {
|
|
@@ -33416,9 +33435,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33416
33435
|
}
|
|
33417
33436
|
setPreviousScrollTop(0);
|
|
33418
33437
|
setShouldPreserveScroll(false);
|
|
33419
|
-
|
|
33420
|
-
|
|
33421
|
-
|
|
33438
|
+
nextDisableRef.current = false;
|
|
33439
|
+
prevDisableRef.current = false;
|
|
33440
|
+
scrollToBottomRef.current = true;
|
|
33422
33441
|
setAllowEditDeleteIncomingMessage(allowEditDeleteIncomingMessage);
|
|
33423
33442
|
}, [channel.id]);
|
|
33424
33443
|
React.useEffect(function () {
|
|
@@ -33442,35 +33461,36 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33442
33461
|
setShouldPreserveScroll(true);
|
|
33443
33462
|
}
|
|
33444
33463
|
}
|
|
33445
|
-
if (
|
|
33446
|
-
if (
|
|
33464
|
+
if (loadingRef.current) {
|
|
33465
|
+
if (loadDirectionRef.current !== 'next') {
|
|
33447
33466
|
var lastVisibleMessage = document.getElementById(lastVisibleMessageId);
|
|
33448
33467
|
if (lastVisibleMessage) {
|
|
33449
33468
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33450
33469
|
scrollRef.current.scrollTop = lastVisibleMessage.offsetTop;
|
|
33451
33470
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33452
33471
|
}
|
|
33453
|
-
if (
|
|
33472
|
+
if (loadFromServerRef.current) {
|
|
33454
33473
|
setTimeout(function () {
|
|
33455
|
-
|
|
33456
|
-
|
|
33457
|
-
|
|
33458
|
-
|
|
33474
|
+
loadingRef.current = false;
|
|
33475
|
+
loadFromServerRef.current = false;
|
|
33476
|
+
nextDisableRef.current = false;
|
|
33477
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33478
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33459
33479
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33460
33480
|
}
|
|
33461
|
-
if (
|
|
33481
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33462
33482
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33463
33483
|
}
|
|
33464
33484
|
}, 50);
|
|
33465
33485
|
} else {
|
|
33466
|
-
|
|
33467
|
-
if (
|
|
33486
|
+
loadingRef.current = false;
|
|
33487
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33468
33488
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33469
|
-
|
|
33489
|
+
shouldLoadMessagesRef.current = '';
|
|
33470
33490
|
}
|
|
33471
|
-
if (
|
|
33491
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33472
33492
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33473
|
-
|
|
33493
|
+
shouldLoadMessagesRef.current = '';
|
|
33474
33494
|
}
|
|
33475
33495
|
}
|
|
33476
33496
|
} else {
|
|
@@ -33480,22 +33500,26 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33480
33500
|
scrollRef.current.scrollTop = _lastVisibleMessage.offsetTop - scrollRef.current.offsetHeight + _lastVisibleMessage.offsetHeight;
|
|
33481
33501
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33482
33502
|
}
|
|
33483
|
-
|
|
33484
|
-
|
|
33485
|
-
if (
|
|
33503
|
+
loadingRef.current = false;
|
|
33504
|
+
prevDisableRef.current = false;
|
|
33505
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33486
33506
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33487
|
-
|
|
33507
|
+
shouldLoadMessagesRef.current = '';
|
|
33488
33508
|
}
|
|
33489
|
-
if (
|
|
33509
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33490
33510
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33491
|
-
|
|
33511
|
+
shouldLoadMessagesRef.current = '';
|
|
33492
33512
|
}
|
|
33493
33513
|
}
|
|
33494
33514
|
}
|
|
33495
33515
|
renderTopDate();
|
|
33496
|
-
if (
|
|
33497
|
-
|
|
33498
|
-
|
|
33516
|
+
if (scrollToBottomRef.current) {
|
|
33517
|
+
if (channel.backToLinkedChannel) {
|
|
33518
|
+
dispatch(scrollToNewMessageAC(false));
|
|
33519
|
+
} else {
|
|
33520
|
+
dispatch(scrollToNewMessageAC(true));
|
|
33521
|
+
}
|
|
33522
|
+
scrollToBottomRef.current = false;
|
|
33499
33523
|
}
|
|
33500
33524
|
if (shouldPreserveScroll && scrollRef.current && previousScrollTop > 0) {
|
|
33501
33525
|
requestAnimationFrame(function () {
|
|
@@ -33512,9 +33536,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33512
33536
|
React.useEffect(function () {
|
|
33513
33537
|
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
33514
33538
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33515
|
-
|
|
33516
|
-
|
|
33517
|
-
|
|
33539
|
+
loadingRef.current = false;
|
|
33540
|
+
prevDisableRef.current = false;
|
|
33541
|
+
nextDisableRef.current = false;
|
|
33518
33542
|
clearMessagesMap();
|
|
33519
33543
|
removeAllMessages();
|
|
33520
33544
|
if (channel.id) {
|
|
@@ -33523,7 +33547,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33523
33547
|
}
|
|
33524
33548
|
}, [connectionStatus]);
|
|
33525
33549
|
React.useEffect(function () {
|
|
33526
|
-
|
|
33550
|
+
var unreadScrollTo = getUnreadScrollTo();
|
|
33551
|
+
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
33527
33552
|
if (scrollRef.current) {
|
|
33528
33553
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33529
33554
|
}
|
|
@@ -33536,7 +33561,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33536
33561
|
setUnreadScrollTo(false);
|
|
33537
33562
|
}
|
|
33538
33563
|
}
|
|
33539
|
-
});
|
|
33564
|
+
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
33565
|
+
React.useEffect(function () {
|
|
33566
|
+
return function () {
|
|
33567
|
+
if (hideTopDateTimeout.current) {
|
|
33568
|
+
clearTimeout(hideTopDateTimeout.current);
|
|
33569
|
+
}
|
|
33570
|
+
};
|
|
33571
|
+
}, []);
|
|
33540
33572
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isDragging && !(attachmentsPreview !== null && attachmentsPreview !== void 0 && attachmentsPreview.show && mediaFile) && (/*#__PURE__*/React__default.createElement(DragAndDropContainer, {
|
|
33541
33573
|
id: 'draggingContainer',
|
|
33542
33574
|
draggable: true,
|
|
@@ -33579,14 +33611,12 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33579
33611
|
dateDividerBackgroundColor: dateDividerBackgroundColor || overlayBackground,
|
|
33580
33612
|
dateDividerBorderRadius: dateDividerBorderRadius,
|
|
33581
33613
|
topOffset: scrollRef && scrollRef.current && scrollRef.current.offsetTop
|
|
33582
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
33583
|
-
ref: messageTopDateRef
|
|
33584
|
-
}))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33614
|
+
}, /*#__PURE__*/React__default.createElement("span", null, topDateLabel))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33585
33615
|
id: 'scrollableDiv',
|
|
33586
33616
|
className: isScrolling ? 'show-scrollbar' : '',
|
|
33587
33617
|
ref: scrollRef,
|
|
33588
33618
|
stopScrolling: stopScrolling,
|
|
33589
|
-
onScroll:
|
|
33619
|
+
onScroll: onScroll,
|
|
33590
33620
|
onMouseEnter: function onMouseEnter() {
|
|
33591
33621
|
return setIsScrolling(true);
|
|
33592
33622
|
},
|
|
@@ -33605,8 +33635,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33605
33635
|
var prevMessage = messages[index - 1];
|
|
33606
33636
|
var nextMessage = messages[index + 1];
|
|
33607
33637
|
var isUnreadMessage = !!(unreadMessageId && unreadMessageId === message.id && nextMessage) && !channel.backToLinkedChannel;
|
|
33608
|
-
|
|
33609
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment,
|
|
33638
|
+
messagesIndexMapRef.current[message.id] = index;
|
|
33639
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
|
33640
|
+
key: message.id || message.tid
|
|
33641
|
+
}, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
|
|
33610
33642
|
noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
|
|
33611
33643
|
theme: theme,
|
|
33612
33644
|
lastIndex: false,
|