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.modern.js
CHANGED
|
@@ -10319,6 +10319,7 @@ var initialState$1 = {
|
|
|
10319
10319
|
attachmentsUploadingState: {},
|
|
10320
10320
|
scrollToMessage: null,
|
|
10321
10321
|
scrollToMessageHighlight: true,
|
|
10322
|
+
scrollToMessageBehavior: 'smooth',
|
|
10322
10323
|
scrollToMentionedMessage: false,
|
|
10323
10324
|
reactionsList: [],
|
|
10324
10325
|
reactionsHasNext: true,
|
|
@@ -10345,6 +10346,7 @@ var messageSlice = createSlice({
|
|
|
10345
10346
|
setScrollToMessage: function setScrollToMessage(state, action) {
|
|
10346
10347
|
state.scrollToMessage = action.payload.messageId;
|
|
10347
10348
|
state.scrollToMessageHighlight = action.payload.highlight;
|
|
10349
|
+
state.scrollToMessageBehavior = action.payload.behavior || 'smooth';
|
|
10348
10350
|
},
|
|
10349
10351
|
setScrollToMentionedMessage: function setScrollToMentionedMessage(state, action) {
|
|
10350
10352
|
state.scrollToMentionedMessage = action.payload.isScrollToMentionedMessage;
|
|
@@ -11596,7 +11598,7 @@ function setMessageToEditAC(message) {
|
|
|
11596
11598
|
message: message
|
|
11597
11599
|
});
|
|
11598
11600
|
}
|
|
11599
|
-
function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight) {
|
|
11601
|
+
function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior) {
|
|
11600
11602
|
if (highlight === void 0) {
|
|
11601
11603
|
highlight = true;
|
|
11602
11604
|
}
|
|
@@ -11608,7 +11610,8 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
|
|
|
11608
11610
|
messageId: messageId,
|
|
11609
11611
|
limit: limit,
|
|
11610
11612
|
withDeliveredMessages: withDeliveredMessages,
|
|
11611
|
-
highlight: highlight
|
|
11613
|
+
highlight: highlight,
|
|
11614
|
+
behavior: behavior
|
|
11612
11615
|
}
|
|
11613
11616
|
};
|
|
11614
11617
|
}
|
|
@@ -11622,13 +11625,14 @@ function getMessageAC(channelId, messageId, limit) {
|
|
|
11622
11625
|
}
|
|
11623
11626
|
};
|
|
11624
11627
|
}
|
|
11625
|
-
function setScrollToMessagesAC(messageId, highlight) {
|
|
11628
|
+
function setScrollToMessagesAC(messageId, highlight, behavior) {
|
|
11626
11629
|
if (highlight === void 0) {
|
|
11627
11630
|
highlight = true;
|
|
11628
11631
|
}
|
|
11629
11632
|
return setScrollToMessage({
|
|
11630
11633
|
messageId: messageId || '',
|
|
11631
|
-
highlight: highlight
|
|
11634
|
+
highlight: highlight,
|
|
11635
|
+
behavior: behavior
|
|
11632
11636
|
});
|
|
11633
11637
|
}
|
|
11634
11638
|
function setScrollToMentionedMessageAC(isScrollToMentionedMessage) {
|
|
@@ -17089,6 +17093,9 @@ var scrollToMessageSelector = function scrollToMessageSelector(store) {
|
|
|
17089
17093
|
var scrollToMessageHighlightSelector = function scrollToMessageHighlightSelector(store) {
|
|
17090
17094
|
return store.MessageReducer.scrollToMessageHighlight;
|
|
17091
17095
|
};
|
|
17096
|
+
var scrollToMessageBehaviorSelector = function scrollToMessageBehaviorSelector(store) {
|
|
17097
|
+
return store.MessageReducer.scrollToMessageBehavior;
|
|
17098
|
+
};
|
|
17092
17099
|
var reactionsListSelector = function reactionsListSelector(store) {
|
|
17093
17100
|
return store.MessageReducer.reactionsList;
|
|
17094
17101
|
};
|
|
@@ -18482,7 +18489,7 @@ function editMessage(action) {
|
|
|
18482
18489
|
}, _marked6$1, null, [[0, 5]]);
|
|
18483
18490
|
}
|
|
18484
18491
|
function getMessagesQuery(action) {
|
|
18485
|
-
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;
|
|
18492
|
+
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;
|
|
18486
18493
|
return _regenerator().w(function (_context9) {
|
|
18487
18494
|
while (1) switch (_context9.p = _context9.n) {
|
|
18488
18495
|
case 0:
|
|
@@ -18490,7 +18497,7 @@ function getMessagesQuery(action) {
|
|
|
18490
18497
|
_context9.n = 1;
|
|
18491
18498
|
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
18492
18499
|
case 1:
|
|
18493
|
-
_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;
|
|
18500
|
+
_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;
|
|
18494
18501
|
if (!(channel.id && !channel.isMockChannel)) {
|
|
18495
18502
|
_context9.n = 47;
|
|
18496
18503
|
break;
|
|
@@ -18576,7 +18583,7 @@ function getMessagesQuery(action) {
|
|
|
18576
18583
|
break;
|
|
18577
18584
|
}
|
|
18578
18585
|
_context9.n = 12;
|
|
18579
|
-
return put(setScrollToMessagesAC(messageId, highlight));
|
|
18586
|
+
return put(setScrollToMessagesAC(messageId, highlight, behavior));
|
|
18580
18587
|
case 12:
|
|
18581
18588
|
_context9.n = 45;
|
|
18582
18589
|
break;
|
|
@@ -18639,7 +18646,7 @@ function getMessagesQuery(action) {
|
|
|
18639
18646
|
setHasNextCached(false);
|
|
18640
18647
|
case 22:
|
|
18641
18648
|
_context9.n = 23;
|
|
18642
|
-
return put(setScrollToMessagesAC(messageId));
|
|
18649
|
+
return put(setScrollToMessagesAC(messageId, true, behavior));
|
|
18643
18650
|
case 23:
|
|
18644
18651
|
_context9.n = 24;
|
|
18645
18652
|
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
@@ -18819,44 +18826,50 @@ function getMessageQuery(action) {
|
|
|
18819
18826
|
return call(getChannelFromAllChannels, channelId);
|
|
18820
18827
|
case 1:
|
|
18821
18828
|
channel = _context0.v;
|
|
18822
|
-
|
|
18823
|
-
|
|
18829
|
+
if (channel) {
|
|
18830
|
+
_context0.n = 2;
|
|
18831
|
+
break;
|
|
18832
|
+
}
|
|
18833
|
+
return _context0.a(2);
|
|
18824
18834
|
case 2:
|
|
18835
|
+
_context0.n = 3;
|
|
18836
|
+
return call(channel.getMessagesById, [messageId]);
|
|
18837
|
+
case 3:
|
|
18825
18838
|
messages = _context0.v;
|
|
18826
18839
|
fetchedMessage = messages && messages[0] ? JSON.parse(JSON.stringify(messages[0])) : null;
|
|
18827
18840
|
if (!fetchedMessage) {
|
|
18828
|
-
_context0.n =
|
|
18841
|
+
_context0.n = 6;
|
|
18829
18842
|
break;
|
|
18830
18843
|
}
|
|
18831
|
-
_context0.n =
|
|
18844
|
+
_context0.n = 4;
|
|
18832
18845
|
return put(updateMessageAC(messageId, fetchedMessage));
|
|
18833
|
-
case
|
|
18846
|
+
case 4:
|
|
18834
18847
|
updateMessageOnMap(channel.id, {
|
|
18835
18848
|
messageId: messageId,
|
|
18836
18849
|
params: fetchedMessage
|
|
18837
18850
|
});
|
|
18838
18851
|
updateMessageOnAllMessages(messageId, fetchedMessage);
|
|
18839
|
-
_context0.n =
|
|
18852
|
+
_context0.n = 5;
|
|
18840
18853
|
return put(setScrollToMessagesAC(messageId, false));
|
|
18841
|
-
case
|
|
18854
|
+
case 5:
|
|
18842
18855
|
if (!(channel.lastMessage && channel.lastMessage.id === messageId)) {
|
|
18843
|
-
_context0.n =
|
|
18856
|
+
_context0.n = 6;
|
|
18844
18857
|
break;
|
|
18845
18858
|
}
|
|
18846
18859
|
updateChannelLastMessageOnAllChannels(channel.id, fetchedMessage);
|
|
18847
|
-
_context0.n =
|
|
18860
|
+
_context0.n = 6;
|
|
18848
18861
|
return put(updateChannelLastMessageAC(fetchedMessage, channel));
|
|
18849
|
-
case 5:
|
|
18850
|
-
_context0.n = 7;
|
|
18851
|
-
break;
|
|
18852
18862
|
case 6:
|
|
18853
|
-
_context0.
|
|
18863
|
+
_context0.n = 8;
|
|
18864
|
+
break;
|
|
18865
|
+
case 7:
|
|
18866
|
+
_context0.p = 7;
|
|
18854
18867
|
_t0 = _context0.v;
|
|
18855
18868
|
log.error('error in message query', _t0);
|
|
18856
|
-
case
|
|
18869
|
+
case 8:
|
|
18857
18870
|
return _context0.a(2);
|
|
18858
18871
|
}
|
|
18859
|
-
}, _marked8$1, null, [[0,
|
|
18872
|
+
}, _marked8$1, null, [[0, 7]]);
|
|
18860
18873
|
}
|
|
18861
18874
|
function loadMoreMessages(action) {
|
|
18862
18875
|
var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t1;
|
|
@@ -26115,6 +26128,7 @@ var Message = function Message(_ref) {
|
|
|
26115
26128
|
var _useColor = useColors(),
|
|
26116
26129
|
textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
|
|
26117
26130
|
overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
|
|
26131
|
+
var scrollToNewMessage = useSelector(scrollToNewMessageSelector);
|
|
26118
26132
|
var dispatch = useDispatch();
|
|
26119
26133
|
var ChatClient = getClient();
|
|
26120
26134
|
var user = ChatClient.user;
|
|
@@ -26133,7 +26147,19 @@ var Message = function Message(_ref) {
|
|
|
26133
26147
|
};
|
|
26134
26148
|
useEffect(function () {
|
|
26135
26149
|
if (isVisible) {
|
|
26150
|
+
var _channel$lastMessage;
|
|
26136
26151
|
handleSendReadMarker();
|
|
26152
|
+
if (!channel.isLinkedChannel) {
|
|
26153
|
+
setMessageToVisibleMessagesMap(message);
|
|
26154
|
+
}
|
|
26155
|
+
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))) {
|
|
26156
|
+
dispatch(scrollToNewMessageAC(false, false, false));
|
|
26157
|
+
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
26158
|
+
}
|
|
26159
|
+
} else {
|
|
26160
|
+
if (!channel.isLinkedChannel) {
|
|
26161
|
+
removeMessageFromVisibleMessagesMap(message);
|
|
26162
|
+
}
|
|
26137
26163
|
}
|
|
26138
26164
|
}, [isVisible]);
|
|
26139
26165
|
useDidUpdate(function () {
|
|
@@ -31400,53 +31426,50 @@ var OGMetadataContainer = styled.div(_templateObject$A || (_templateObject$A = _
|
|
|
31400
31426
|
var showOGMetadata = _ref2.showOGMetadata;
|
|
31401
31427
|
return showOGMetadata ? '0.8rem' : '0';
|
|
31402
31428
|
});
|
|
31403
|
-
var ImageContainer = styled.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n
|
|
31429
|
+
var ImageContainer = styled.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) {
|
|
31404
31430
|
var width = _ref3.width;
|
|
31405
|
-
return width + "px";
|
|
31431
|
+
return width ? "\n max-width: " + (width + "px") + ";\n " : "\n max-width: 100%;\n width: 100%;\n ";
|
|
31406
31432
|
}, function (_ref4) {
|
|
31407
|
-
var height = _ref4.height
|
|
31408
|
-
|
|
31433
|
+
var height = _ref4.height,
|
|
31434
|
+
showOGMetadata = _ref4.showOGMetadata;
|
|
31435
|
+
return height ? "\n max-height: " + (height + "px") + ";\n height: " + (showOGMetadata ? height + "px" : '0') + ";\n " : "\n max-height: 200px;\n height: " + (showOGMetadata ? '200px' : '0') + ";\n ";
|
|
31409
31436
|
}, function (_ref5) {
|
|
31410
31437
|
var showOGMetadata = _ref5.showOGMetadata;
|
|
31411
31438
|
return showOGMetadata ? 1 : 0;
|
|
31412
31439
|
}, function (_ref6) {
|
|
31413
31440
|
var showOGMetadata = _ref6.showOGMetadata;
|
|
31414
31441
|
return showOGMetadata ? '0.3rem' : '0';
|
|
31415
|
-
}, function (_ref7) {
|
|
31416
|
-
var showOGMetadata = _ref7.showOGMetadata,
|
|
31417
|
-
height = _ref7.height;
|
|
31418
|
-
return showOGMetadata ? height + "px" : '0';
|
|
31419
31442
|
});
|
|
31420
|
-
var OGText = styled.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n
|
|
31421
|
-
var Url = styled.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
|
|
31443
|
+
var OGText = styled.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n padding: 0.5rem;\n margin: 0;\n transition: all 0.2s ease;\n"])));
|
|
31444
|
+
var Url = styled.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) {
|
|
31445
|
+
var maxWidth = _ref7.maxWidth;
|
|
31446
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31447
|
+
});
|
|
31448
|
+
var Title = styled.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) {
|
|
31422
31449
|
var maxWidth = _ref8.maxWidth;
|
|
31423
|
-
return maxWidth + "px";
|
|
31450
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31424
31451
|
});
|
|
31425
|
-
var
|
|
31452
|
+
var Desc = styled.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) {
|
|
31426
31453
|
var maxWidth = _ref9.maxWidth;
|
|
31427
|
-
return maxWidth + "px";
|
|
31428
|
-
});
|
|
31429
|
-
var Desc = styled.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) {
|
|
31430
|
-
var maxWidth = _ref0.maxWidth;
|
|
31431
|
-
return maxWidth + "px";
|
|
31454
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31432
31455
|
});
|
|
31433
|
-
var Img = styled.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 (
|
|
31456
|
+
var Img = styled.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) {
|
|
31457
|
+
var width = _ref0.width;
|
|
31458
|
+
return width + "px";
|
|
31459
|
+
}, function (_ref1) {
|
|
31434
31460
|
var width = _ref1.width;
|
|
31435
31461
|
return width + "px";
|
|
31436
31462
|
}, function (_ref10) {
|
|
31437
|
-
var
|
|
31438
|
-
return
|
|
31463
|
+
var height = _ref10.height;
|
|
31464
|
+
return height + "px";
|
|
31439
31465
|
}, function (_ref11) {
|
|
31440
31466
|
var height = _ref11.height;
|
|
31441
31467
|
return height + "px";
|
|
31442
31468
|
}, function (_ref12) {
|
|
31443
|
-
var
|
|
31444
|
-
return height + "px";
|
|
31445
|
-
}, function (_ref13) {
|
|
31446
|
-
var width = _ref13.width;
|
|
31469
|
+
var width = _ref12.width;
|
|
31447
31470
|
return width + "px";
|
|
31448
|
-
}, function (
|
|
31449
|
-
var height =
|
|
31471
|
+
}, function (_ref13) {
|
|
31472
|
+
var height = _ref13.height;
|
|
31450
31473
|
return height + "px";
|
|
31451
31474
|
});
|
|
31452
31475
|
var Favicon = styled.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"])));
|
|
@@ -32789,14 +32812,6 @@ var HiddenMessageProperty;
|
|
|
32789
32812
|
})(HiddenMessageProperty || (HiddenMessageProperty = {}));
|
|
32790
32813
|
|
|
32791
32814
|
var _templateObject$D, _templateObject2$y, _templateObject3$s, _templateObject4$o, _templateObject5$k, _templateObject6$h, _templateObject7$f, _templateObject8$e, _templateObject9$c, _templateObject0$b, _templateObject1$8;
|
|
32792
|
-
var loadFromServer = false;
|
|
32793
|
-
var loadDirection = '';
|
|
32794
|
-
var nextDisable = false;
|
|
32795
|
-
var prevDisable = false;
|
|
32796
|
-
var scrollToBottom = false;
|
|
32797
|
-
var shouldLoadMessages;
|
|
32798
|
-
var loading = false;
|
|
32799
|
-
var messagesIndexMap = {};
|
|
32800
32815
|
var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
32801
32816
|
var lastIndex = _ref.lastIndex,
|
|
32802
32817
|
currentMessageDate = _ref.currentMessageDate,
|
|
@@ -33006,6 +33021,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33006
33021
|
var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, shallowEqual);
|
|
33007
33022
|
var scrollToRepliedMessage = useSelector(scrollToMessageSelector, shallowEqual);
|
|
33008
33023
|
var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, shallowEqual);
|
|
33024
|
+
var scrollToMessageBehavior = useSelector(scrollToMessageBehaviorSelector, shallowEqual);
|
|
33009
33025
|
var browserTabIsActive = useSelector(browserTabIsActiveSelector, shallowEqual);
|
|
33010
33026
|
var hasNextMessages = useSelector(messagesHasNextSelector, shallowEqual);
|
|
33011
33027
|
var hasPrevMessages = useSelector(messagesHasPrevSelector, shallowEqual);
|
|
@@ -33046,35 +33062,39 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33046
33062
|
setShouldPreserveScroll = _useState0[1];
|
|
33047
33063
|
var messageForReply = {};
|
|
33048
33064
|
var attachmentsSelected = false;
|
|
33049
|
-
var
|
|
33065
|
+
var _useState1 = useState(''),
|
|
33066
|
+
topDateLabel = _useState1[0],
|
|
33067
|
+
setTopDateLabel = _useState1[1];
|
|
33050
33068
|
var scrollRef = useRef(null);
|
|
33069
|
+
var loadFromServerRef = useRef(false);
|
|
33070
|
+
var loadDirectionRef = useRef('');
|
|
33071
|
+
var nextDisableRef = useRef(false);
|
|
33072
|
+
var prevDisableRef = useRef(false);
|
|
33073
|
+
var scrollToBottomRef = useRef(false);
|
|
33074
|
+
var shouldLoadMessagesRef = useRef('');
|
|
33075
|
+
var loadingRef = useRef(false);
|
|
33076
|
+
var messagesIndexMapRef = useRef({});
|
|
33077
|
+
var scrollRafRef = useRef(null);
|
|
33051
33078
|
var renderTopDate = function renderTopDate() {
|
|
33052
|
-
var
|
|
33053
|
-
|
|
33079
|
+
var container = scrollRef.current;
|
|
33080
|
+
if (!container) return;
|
|
33081
|
+
var dateLabels = container.querySelectorAll('.divider');
|
|
33054
33082
|
var text = '';
|
|
33055
33083
|
for (var i = dateLabels.length - 1; i >= 0; i--) {
|
|
33056
|
-
var _dateLabel$firstChild;
|
|
33057
33084
|
var dateLabel = dateLabels[i];
|
|
33058
|
-
|
|
33059
|
-
|
|
33060
|
-
text = span
|
|
33061
|
-
span.style.display = 'none';
|
|
33062
|
-
} else {
|
|
33063
|
-
span.style.display = 'block';
|
|
33085
|
+
if (!text && container.scrollTop > dateLabel.offsetTop) {
|
|
33086
|
+
var span = (dateLabel === null || dateLabel === void 0 ? void 0 : dateLabel.firstChild) && dateLabel.firstChild.firstChild;
|
|
33087
|
+
text = span ? span.innerText || '' : '';
|
|
33064
33088
|
}
|
|
33065
33089
|
}
|
|
33066
|
-
|
|
33067
|
-
messageTopDate.innerText = text;
|
|
33068
|
-
messageTopDate.style.display = 'inline';
|
|
33069
|
-
} else {
|
|
33070
|
-
messageTopDate.style.display = 'none';
|
|
33071
|
-
}
|
|
33090
|
+
setTopDateLabel(text);
|
|
33072
33091
|
};
|
|
33073
|
-
var handleMessagesListScroll = useCallback(function (
|
|
33092
|
+
var handleMessagesListScroll = useCallback(function () {
|
|
33074
33093
|
try {
|
|
33094
|
+
var target = scrollRef.current;
|
|
33095
|
+
if (!target) return Promise.resolve();
|
|
33075
33096
|
if (scrollToMentionedMessage) {
|
|
33076
|
-
|
|
33077
|
-
if (_target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33097
|
+
if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33078
33098
|
dispatch(showScrollToNewMessageButtonAC(true));
|
|
33079
33099
|
} else {
|
|
33080
33100
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
@@ -33087,7 +33107,6 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33087
33107
|
setShowTopDate(false);
|
|
33088
33108
|
}, 1000);
|
|
33089
33109
|
renderTopDate();
|
|
33090
|
-
var target = event.target;
|
|
33091
33110
|
var forceLoadPrevMessages = false;
|
|
33092
33111
|
if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
|
|
33093
33112
|
forceLoadPrevMessages = true;
|
|
@@ -33102,51 +33121,68 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33102
33121
|
}
|
|
33103
33122
|
if (scrollToReply) {
|
|
33104
33123
|
target.scrollTop = scrollToReply;
|
|
33105
|
-
|
|
33106
|
-
|
|
33107
|
-
|
|
33108
|
-
|
|
33109
|
-
|
|
33110
|
-
|
|
33111
|
-
|
|
33112
|
-
|
|
33113
|
-
|
|
33114
|
-
|
|
33115
|
-
|
|
33116
|
-
if (!getHasPrevCached()) {
|
|
33117
|
-
loadFromServer = true;
|
|
33118
|
-
}
|
|
33119
|
-
nextDisable = true;
|
|
33124
|
+
return Promise.resolve();
|
|
33125
|
+
}
|
|
33126
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33127
|
+
var hasIndex = typeof currentIndex === 'number';
|
|
33128
|
+
if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
|
|
33129
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
|
|
33130
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
|
|
33131
|
+
shouldLoadMessagesRef.current = 'prev';
|
|
33132
|
+
} else {
|
|
33133
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33134
|
+
shouldLoadMessagesRef.current = '';
|
|
33120
33135
|
}
|
|
33136
|
+
loadDirectionRef.current = 'prev';
|
|
33137
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33138
|
+
if (!getHasPrevCached()) {
|
|
33139
|
+
loadFromServerRef.current = true;
|
|
33140
|
+
}
|
|
33141
|
+
nextDisableRef.current = true;
|
|
33121
33142
|
}
|
|
33122
33143
|
}
|
|
33123
|
-
|
|
33124
|
-
|
|
33125
|
-
|
|
33126
|
-
|
|
33127
|
-
|
|
33128
|
-
|
|
33129
|
-
|
|
33130
|
-
|
|
33131
|
-
loadDirection = 'next';
|
|
33132
|
-
prevDisable = true;
|
|
33133
|
-
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33144
|
+
}
|
|
33145
|
+
if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
|
|
33146
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
|
|
33147
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
|
|
33148
|
+
shouldLoadMessagesRef.current = 'next';
|
|
33149
|
+
} else {
|
|
33150
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33151
|
+
shouldLoadMessagesRef.current = '';
|
|
33134
33152
|
}
|
|
33153
|
+
loadDirectionRef.current = 'next';
|
|
33154
|
+
prevDisableRef.current = true;
|
|
33155
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33135
33156
|
}
|
|
33136
33157
|
}
|
|
33137
|
-
|
|
33138
|
-
|
|
33139
|
-
|
|
33158
|
+
}
|
|
33159
|
+
if (hasIndex && currentIndex > messages.length - 10) {
|
|
33160
|
+
nextDisableRef.current = false;
|
|
33140
33161
|
}
|
|
33141
33162
|
return Promise.resolve();
|
|
33142
33163
|
} catch (e) {
|
|
33143
33164
|
return Promise.reject(e);
|
|
33144
33165
|
}
|
|
33145
|
-
}, [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,
|
|
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, lastVisibleMessageId, connectionStatus, getHasPrevCached, getHasNextCached, scrollToReply]);
|
|
33167
|
+
var onScroll = useCallback(function () {
|
|
33168
|
+
if (scrollRafRef.current !== null) return;
|
|
33169
|
+
scrollRafRef.current = window.requestAnimationFrame(function () {
|
|
33170
|
+
scrollRafRef.current = null;
|
|
33171
|
+
handleMessagesListScroll();
|
|
33172
|
+
});
|
|
33173
|
+
}, [handleMessagesListScroll]);
|
|
33174
|
+
useEffect(function () {
|
|
33175
|
+
return function () {
|
|
33176
|
+
if (scrollRafRef.current !== null) {
|
|
33177
|
+
cancelAnimationFrame(scrollRafRef.current);
|
|
33178
|
+
scrollRafRef.current = null;
|
|
33179
|
+
}
|
|
33180
|
+
};
|
|
33181
|
+
}, []);
|
|
33146
33182
|
var handleScrollToRepliedMessage = function handleScrollToRepliedMessage(messageId) {
|
|
33147
33183
|
try {
|
|
33148
|
-
|
|
33149
|
-
|
|
33184
|
+
prevDisableRef.current = true;
|
|
33185
|
+
nextDisableRef.current = true;
|
|
33150
33186
|
if (messages.findIndex(function (msg) {
|
|
33151
33187
|
return msg.id === messageId;
|
|
33152
33188
|
}) >= 10) {
|
|
@@ -33160,8 +33196,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33160
33196
|
var positiveValue = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2 < 0 ? repliedMessage.offsetTop - scrollRef.current.offsetHeight * -1 : repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
|
|
33161
33197
|
setTimeout(function () {
|
|
33162
33198
|
repliedMessage.classList.remove('highlight');
|
|
33163
|
-
|
|
33164
|
-
|
|
33199
|
+
prevDisableRef.current = false;
|
|
33200
|
+
nextDisableRef.current = false;
|
|
33165
33201
|
}, 1000 + positiveValue * 0.1);
|
|
33166
33202
|
}
|
|
33167
33203
|
} else {
|
|
@@ -33182,10 +33218,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33182
33218
|
var hasNextCached = getHasNextCached();
|
|
33183
33219
|
if (messagesLoading === LOADING_STATE.LOADED && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33184
33220
|
if (direction === MESSAGE_LOAD_DIRECTION.PREV && firstMessageId && (hasPrevMessages || hasPrevCached)) {
|
|
33185
|
-
|
|
33221
|
+
loadingRef.current = true;
|
|
33186
33222
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, firstMessageId, hasPrevMessages));
|
|
33187
33223
|
} else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && lastMessageId && (hasNextMessages || hasNextCached)) {
|
|
33188
|
-
|
|
33224
|
+
loadingRef.current = true;
|
|
33189
33225
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, lastMessageId, hasNextMessages));
|
|
33190
33226
|
}
|
|
33191
33227
|
}
|
|
@@ -33216,39 +33252,42 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33216
33252
|
setIsDragging(false);
|
|
33217
33253
|
}
|
|
33218
33254
|
};
|
|
33255
|
+
var readDroppedFiles = function readDroppedFiles(e) {
|
|
33256
|
+
return new Promise(function (resolve) {
|
|
33257
|
+
var fileList = Object.values(e.dataTransfer.files);
|
|
33258
|
+
var attachmentsFiles = [];
|
|
33259
|
+
var readFiles = 0;
|
|
33260
|
+
var errorCount = 0;
|
|
33261
|
+
fileList.forEach(function (attachment) {
|
|
33262
|
+
var fileReader = new FileReader();
|
|
33263
|
+
fileReader.onload = function (event) {
|
|
33264
|
+
var file = event.target.result;
|
|
33265
|
+
attachmentsFiles.push({
|
|
33266
|
+
name: attachment.name,
|
|
33267
|
+
data: file,
|
|
33268
|
+
type: attachment.type
|
|
33269
|
+
});
|
|
33270
|
+
readFiles++;
|
|
33271
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33272
|
+
resolve(attachmentsFiles);
|
|
33273
|
+
}
|
|
33274
|
+
};
|
|
33275
|
+
fileReader.onerror = function () {
|
|
33276
|
+
errorCount++;
|
|
33277
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33278
|
+
resolve(attachmentsFiles);
|
|
33279
|
+
}
|
|
33280
|
+
};
|
|
33281
|
+
fileReader.readAsDataURL(attachment);
|
|
33282
|
+
});
|
|
33283
|
+
});
|
|
33284
|
+
};
|
|
33219
33285
|
var handleDropFile = function handleDropFile(e) {
|
|
33220
33286
|
e.preventDefault();
|
|
33221
33287
|
e.stopPropagation();
|
|
33222
33288
|
setIsDragging(false);
|
|
33223
33289
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33224
|
-
|
|
33225
|
-
new Promise(function (resolve) {
|
|
33226
|
-
var attachmentsFiles = [];
|
|
33227
|
-
var readFiles = 0;
|
|
33228
|
-
var errorCount = 0;
|
|
33229
|
-
fileList.forEach(function (attachment) {
|
|
33230
|
-
var fileReader = new FileReader();
|
|
33231
|
-
fileReader.onload = function (event) {
|
|
33232
|
-
var file = event.target.result;
|
|
33233
|
-
attachmentsFiles.push({
|
|
33234
|
-
name: attachment.name,
|
|
33235
|
-
data: file,
|
|
33236
|
-
type: attachment.type
|
|
33237
|
-
});
|
|
33238
|
-
readFiles++;
|
|
33239
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33240
|
-
resolve(attachmentsFiles);
|
|
33241
|
-
}
|
|
33242
|
-
};
|
|
33243
|
-
fileReader.onerror = function () {
|
|
33244
|
-
errorCount++;
|
|
33245
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33246
|
-
resolve(attachmentsFiles);
|
|
33247
|
-
}
|
|
33248
|
-
};
|
|
33249
|
-
fileReader.readAsDataURL(attachment);
|
|
33250
|
-
});
|
|
33251
|
-
}).then(function (result) {
|
|
33290
|
+
readDroppedFiles(e).then(function (result) {
|
|
33252
33291
|
dispatch(setDraggedAttachmentsAC(result, 'file'));
|
|
33253
33292
|
})["catch"](function (error) {
|
|
33254
33293
|
console.error('Error in handleDropFile:', error);
|
|
@@ -33261,34 +33300,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33261
33300
|
e.stopPropagation();
|
|
33262
33301
|
setIsDragging(false);
|
|
33263
33302
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33264
|
-
|
|
33265
|
-
new Promise(function (resolve) {
|
|
33266
|
-
var attachmentsFiles = [];
|
|
33267
|
-
var readFiles = 0;
|
|
33268
|
-
var errorCount = 0;
|
|
33269
|
-
fileList.forEach(function (attachment) {
|
|
33270
|
-
var fileReader = new FileReader();
|
|
33271
|
-
fileReader.onload = function (event) {
|
|
33272
|
-
var file = event.target.result;
|
|
33273
|
-
attachmentsFiles.push({
|
|
33274
|
-
name: attachment.name,
|
|
33275
|
-
data: file,
|
|
33276
|
-
type: attachment.type
|
|
33277
|
-
});
|
|
33278
|
-
readFiles++;
|
|
33279
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33280
|
-
resolve(attachmentsFiles);
|
|
33281
|
-
}
|
|
33282
|
-
};
|
|
33283
|
-
fileReader.onerror = function () {
|
|
33284
|
-
errorCount++;
|
|
33285
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33286
|
-
resolve(attachmentsFiles);
|
|
33287
|
-
}
|
|
33288
|
-
};
|
|
33289
|
-
fileReader.readAsDataURL(attachment);
|
|
33290
|
-
});
|
|
33291
|
-
}).then(function (result) {
|
|
33303
|
+
readDroppedFiles(e).then(function (result) {
|
|
33292
33304
|
dispatch(setDraggedAttachmentsAC(result, 'media'));
|
|
33293
33305
|
})["catch"](function (error) {
|
|
33294
33306
|
console.error('Error in handleDropMedia:', error);
|
|
@@ -33300,21 +33312,21 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33300
33312
|
var _messages, _channel$lastMessage2;
|
|
33301
33313
|
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) {
|
|
33302
33314
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33303
|
-
|
|
33315
|
+
prevDisableRef.current = false;
|
|
33304
33316
|
}
|
|
33305
33317
|
}, [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]);
|
|
33306
33318
|
useEffect(function () {
|
|
33307
33319
|
if (scrollToRepliedMessage) {
|
|
33308
|
-
|
|
33320
|
+
loadingRef.current = false;
|
|
33309
33321
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33310
33322
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33311
33323
|
if (repliedMessage) {
|
|
33312
33324
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
33313
33325
|
scrollRef.current.scrollTo({
|
|
33314
33326
|
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
33315
|
-
behavior:
|
|
33327
|
+
behavior: scrollToMessageBehavior
|
|
33316
33328
|
});
|
|
33317
|
-
scrollRef.current.style.scrollBehavior =
|
|
33329
|
+
scrollRef.current.style.scrollBehavior = scrollToMessageBehavior;
|
|
33318
33330
|
if (!channel.backToLinkedChannel && scrollToMessageHighlight) {
|
|
33319
33331
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
33320
33332
|
}
|
|
@@ -33324,9 +33336,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33324
33336
|
var _repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33325
33337
|
_repliedMessage && _repliedMessage.classList.remove('highlight');
|
|
33326
33338
|
}
|
|
33327
|
-
|
|
33339
|
+
prevDisableRef.current = false;
|
|
33328
33340
|
setScrollToReply(null);
|
|
33329
|
-
scrollRef.current.style.scrollBehavior = '
|
|
33341
|
+
scrollRef.current.style.scrollBehavior = 'instant';
|
|
33330
33342
|
}, 1000 + positiveValue * 0.1);
|
|
33331
33343
|
}
|
|
33332
33344
|
dispatch(setScrollToMessagesAC(null));
|
|
@@ -33342,15 +33354,15 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33342
33354
|
});
|
|
33343
33355
|
}
|
|
33344
33356
|
} else {
|
|
33345
|
-
|
|
33346
|
-
|
|
33357
|
+
nextDisableRef.current = true;
|
|
33358
|
+
prevDisableRef.current = true;
|
|
33347
33359
|
scrollRef.current.scrollTo({
|
|
33348
33360
|
top: 0,
|
|
33349
33361
|
behavior: 'smooth'
|
|
33350
33362
|
});
|
|
33351
33363
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33352
33364
|
setTimeout(function () {
|
|
33353
|
-
|
|
33365
|
+
prevDisableRef.current = false;
|
|
33354
33366
|
}, 800);
|
|
33355
33367
|
}
|
|
33356
33368
|
}
|
|
@@ -33368,11 +33380,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33368
33380
|
useEffect(function () {
|
|
33369
33381
|
setHasNextCached(false);
|
|
33370
33382
|
setHasPrevCached(false);
|
|
33383
|
+
messagesIndexMapRef.current = {};
|
|
33384
|
+
loadFromServerRef.current = false;
|
|
33385
|
+
loadDirectionRef.current = '';
|
|
33386
|
+
nextDisableRef.current = false;
|
|
33387
|
+
prevDisableRef.current = false;
|
|
33388
|
+
shouldLoadMessagesRef.current = '';
|
|
33389
|
+
loadingRef.current = false;
|
|
33371
33390
|
if (channel.backToLinkedChannel) {
|
|
33372
33391
|
var visibleMessages = getVisibleMessagesMap();
|
|
33373
33392
|
var visibleMessagesIds = Object.keys(visibleMessages);
|
|
33374
33393
|
var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
|
|
33375
|
-
dispatch(getMessagesAC(channel, undefined, messageId));
|
|
33394
|
+
dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
|
|
33376
33395
|
setUnreadMessageId(messageId);
|
|
33377
33396
|
} else {
|
|
33378
33397
|
if (!channel.isLinkedChannel) {
|
|
@@ -33395,9 +33414,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33395
33414
|
}
|
|
33396
33415
|
setPreviousScrollTop(0);
|
|
33397
33416
|
setShouldPreserveScroll(false);
|
|
33398
|
-
|
|
33399
|
-
|
|
33400
|
-
|
|
33417
|
+
nextDisableRef.current = false;
|
|
33418
|
+
prevDisableRef.current = false;
|
|
33419
|
+
scrollToBottomRef.current = true;
|
|
33401
33420
|
setAllowEditDeleteIncomingMessage(allowEditDeleteIncomingMessage);
|
|
33402
33421
|
}, [channel.id]);
|
|
33403
33422
|
useEffect(function () {
|
|
@@ -33421,35 +33440,36 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33421
33440
|
setShouldPreserveScroll(true);
|
|
33422
33441
|
}
|
|
33423
33442
|
}
|
|
33424
|
-
if (
|
|
33425
|
-
if (
|
|
33443
|
+
if (loadingRef.current) {
|
|
33444
|
+
if (loadDirectionRef.current !== 'next') {
|
|
33426
33445
|
var lastVisibleMessage = document.getElementById(lastVisibleMessageId);
|
|
33427
33446
|
if (lastVisibleMessage) {
|
|
33428
33447
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33429
33448
|
scrollRef.current.scrollTop = lastVisibleMessage.offsetTop;
|
|
33430
33449
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33431
33450
|
}
|
|
33432
|
-
if (
|
|
33451
|
+
if (loadFromServerRef.current) {
|
|
33433
33452
|
setTimeout(function () {
|
|
33434
|
-
|
|
33435
|
-
|
|
33436
|
-
|
|
33437
|
-
|
|
33453
|
+
loadingRef.current = false;
|
|
33454
|
+
loadFromServerRef.current = false;
|
|
33455
|
+
nextDisableRef.current = false;
|
|
33456
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33457
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33438
33458
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33439
33459
|
}
|
|
33440
|
-
if (
|
|
33460
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33441
33461
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33442
33462
|
}
|
|
33443
33463
|
}, 50);
|
|
33444
33464
|
} else {
|
|
33445
|
-
|
|
33446
|
-
if (
|
|
33465
|
+
loadingRef.current = false;
|
|
33466
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33447
33467
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33448
|
-
|
|
33468
|
+
shouldLoadMessagesRef.current = '';
|
|
33449
33469
|
}
|
|
33450
|
-
if (
|
|
33470
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33451
33471
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33452
|
-
|
|
33472
|
+
shouldLoadMessagesRef.current = '';
|
|
33453
33473
|
}
|
|
33454
33474
|
}
|
|
33455
33475
|
} else {
|
|
@@ -33459,22 +33479,26 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33459
33479
|
scrollRef.current.scrollTop = _lastVisibleMessage.offsetTop - scrollRef.current.offsetHeight + _lastVisibleMessage.offsetHeight;
|
|
33460
33480
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33461
33481
|
}
|
|
33462
|
-
|
|
33463
|
-
|
|
33464
|
-
if (
|
|
33482
|
+
loadingRef.current = false;
|
|
33483
|
+
prevDisableRef.current = false;
|
|
33484
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33465
33485
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33466
|
-
|
|
33486
|
+
shouldLoadMessagesRef.current = '';
|
|
33467
33487
|
}
|
|
33468
|
-
if (
|
|
33488
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33469
33489
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33470
|
-
|
|
33490
|
+
shouldLoadMessagesRef.current = '';
|
|
33471
33491
|
}
|
|
33472
33492
|
}
|
|
33473
33493
|
}
|
|
33474
33494
|
renderTopDate();
|
|
33475
|
-
if (
|
|
33476
|
-
|
|
33477
|
-
|
|
33495
|
+
if (scrollToBottomRef.current) {
|
|
33496
|
+
if (channel.backToLinkedChannel) {
|
|
33497
|
+
dispatch(scrollToNewMessageAC(false));
|
|
33498
|
+
} else {
|
|
33499
|
+
dispatch(scrollToNewMessageAC(true));
|
|
33500
|
+
}
|
|
33501
|
+
scrollToBottomRef.current = false;
|
|
33478
33502
|
}
|
|
33479
33503
|
if (shouldPreserveScroll && scrollRef.current && previousScrollTop > 0) {
|
|
33480
33504
|
requestAnimationFrame(function () {
|
|
@@ -33491,9 +33515,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33491
33515
|
useEffect(function () {
|
|
33492
33516
|
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
33493
33517
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33494
|
-
|
|
33495
|
-
|
|
33496
|
-
|
|
33518
|
+
loadingRef.current = false;
|
|
33519
|
+
prevDisableRef.current = false;
|
|
33520
|
+
nextDisableRef.current = false;
|
|
33497
33521
|
clearMessagesMap();
|
|
33498
33522
|
removeAllMessages();
|
|
33499
33523
|
if (channel.id) {
|
|
@@ -33502,7 +33526,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33502
33526
|
}
|
|
33503
33527
|
}, [connectionStatus]);
|
|
33504
33528
|
useEffect(function () {
|
|
33505
|
-
|
|
33529
|
+
var unreadScrollTo = getUnreadScrollTo();
|
|
33530
|
+
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
33506
33531
|
if (scrollRef.current) {
|
|
33507
33532
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33508
33533
|
}
|
|
@@ -33515,7 +33540,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33515
33540
|
setUnreadScrollTo(false);
|
|
33516
33541
|
}
|
|
33517
33542
|
}
|
|
33518
|
-
});
|
|
33543
|
+
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
33544
|
+
useEffect(function () {
|
|
33545
|
+
return function () {
|
|
33546
|
+
if (hideTopDateTimeout.current) {
|
|
33547
|
+
clearTimeout(hideTopDateTimeout.current);
|
|
33548
|
+
}
|
|
33549
|
+
};
|
|
33550
|
+
}, []);
|
|
33519
33551
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isDragging && !(attachmentsPreview !== null && attachmentsPreview !== void 0 && attachmentsPreview.show && mediaFile) && (/*#__PURE__*/React__default.createElement(DragAndDropContainer, {
|
|
33520
33552
|
id: 'draggingContainer',
|
|
33521
33553
|
draggable: true,
|
|
@@ -33558,14 +33590,12 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33558
33590
|
dateDividerBackgroundColor: dateDividerBackgroundColor || overlayBackground,
|
|
33559
33591
|
dateDividerBorderRadius: dateDividerBorderRadius,
|
|
33560
33592
|
topOffset: scrollRef && scrollRef.current && scrollRef.current.offsetTop
|
|
33561
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
33562
|
-
ref: messageTopDateRef
|
|
33563
|
-
}))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33593
|
+
}, /*#__PURE__*/React__default.createElement("span", null, topDateLabel))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33564
33594
|
id: 'scrollableDiv',
|
|
33565
33595
|
className: isScrolling ? 'show-scrollbar' : '',
|
|
33566
33596
|
ref: scrollRef,
|
|
33567
33597
|
stopScrolling: stopScrolling,
|
|
33568
|
-
onScroll:
|
|
33598
|
+
onScroll: onScroll,
|
|
33569
33599
|
onMouseEnter: function onMouseEnter() {
|
|
33570
33600
|
return setIsScrolling(true);
|
|
33571
33601
|
},
|
|
@@ -33584,8 +33614,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33584
33614
|
var prevMessage = messages[index - 1];
|
|
33585
33615
|
var nextMessage = messages[index + 1];
|
|
33586
33616
|
var isUnreadMessage = !!(unreadMessageId && unreadMessageId === message.id && nextMessage) && !channel.backToLinkedChannel;
|
|
33587
|
-
|
|
33588
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment,
|
|
33617
|
+
messagesIndexMapRef.current[message.id] = index;
|
|
33618
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
|
33619
|
+
key: message.id || message.tid
|
|
33620
|
+
}, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
|
|
33589
33621
|
noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
|
|
33590
33622
|
theme: theme,
|
|
33591
33623
|
lastIndex: false,
|