sceyt-chat-react-uikit 1.7.1-beta.16 → 1.7.1-beta.18
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 +350 -263
- package/index.modern.js +350 -263
- 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;
|
|
@@ -10395,7 +10397,7 @@ var messageSlice = createSlice({
|
|
|
10395
10397
|
return msg.tid === message.tid || msg.id === message.id;
|
|
10396
10398
|
});
|
|
10397
10399
|
});
|
|
10398
|
-
if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
|
|
10400
|
+
if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
|
|
10399
10401
|
if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
|
|
10400
10402
|
var _state$activeChannelM;
|
|
10401
10403
|
setHasNextCached(true);
|
|
@@ -10417,7 +10419,7 @@ var messageSlice = createSlice({
|
|
|
10417
10419
|
var _state$activeChannelM3;
|
|
10418
10420
|
(_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
|
|
10419
10421
|
}
|
|
10420
|
-
} else if (direction === 'next') {
|
|
10422
|
+
} else if (direction === 'next' && newMessagesLength > 0) {
|
|
10421
10423
|
if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
|
|
10422
10424
|
var _state$activeChannelM4;
|
|
10423
10425
|
setHasPrevCached(true);
|
|
@@ -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,9 +18518,9 @@ 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
|
-
_context9.n =
|
|
18523
|
+
_context9.n = 48;
|
|
18517
18524
|
break;
|
|
18518
18525
|
}
|
|
18519
18526
|
SceytChatClient = getClient();
|
|
@@ -18541,6 +18548,7 @@ function getMessagesQuery(action) {
|
|
|
18541
18548
|
break;
|
|
18542
18549
|
}
|
|
18543
18550
|
setHasPrevCached(false);
|
|
18551
|
+
setMessagesToMap(channel.id, []);
|
|
18544
18552
|
setAllMessages([]);
|
|
18545
18553
|
_context9.n = 3;
|
|
18546
18554
|
return effects.call(messageQuery.loadPreviousMessageId, '0');
|
|
@@ -18597,13 +18605,13 @@ function getMessagesQuery(action) {
|
|
|
18597
18605
|
break;
|
|
18598
18606
|
}
|
|
18599
18607
|
_context9.n = 12;
|
|
18600
|
-
return effects.put(setScrollToMessagesAC(messageId, highlight));
|
|
18608
|
+
return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
|
|
18601
18609
|
case 12:
|
|
18602
|
-
_context9.n =
|
|
18610
|
+
_context9.n = 46;
|
|
18603
18611
|
break;
|
|
18604
18612
|
case 13:
|
|
18605
18613
|
if (!messageId) {
|
|
18606
|
-
_context9.n =
|
|
18614
|
+
_context9.n = 26;
|
|
18607
18615
|
break;
|
|
18608
18616
|
}
|
|
18609
18617
|
_allMessages = getAllMessages();
|
|
@@ -18612,7 +18620,7 @@ function getMessagesQuery(action) {
|
|
|
18612
18620
|
});
|
|
18613
18621
|
maxLengthPart = MESSAGES_MAX_LENGTH / 2;
|
|
18614
18622
|
if (!(messageIndex >= maxLengthPart)) {
|
|
18615
|
-
_context9.n =
|
|
18623
|
+
_context9.n = 16;
|
|
18616
18624
|
break;
|
|
18617
18625
|
}
|
|
18618
18626
|
result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
|
|
@@ -18621,151 +18629,160 @@ function getMessagesQuery(action) {
|
|
|
18621
18629
|
case 14:
|
|
18622
18630
|
setHasPrevCached(messageIndex > maxLengthPart);
|
|
18623
18631
|
setHasNextCached(_allMessages.length > maxLengthPart);
|
|
18632
|
+
_context9.n = 15;
|
|
18633
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
18634
|
+
case 15:
|
|
18624
18635
|
_context9.n = 22;
|
|
18625
18636
|
break;
|
|
18626
|
-
case
|
|
18637
|
+
case 16:
|
|
18627
18638
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18628
18639
|
log.info('load by message id from server ...............', messageId);
|
|
18629
|
-
_context9.n =
|
|
18640
|
+
_context9.n = 17;
|
|
18630
18641
|
return effects.call(messageQuery.loadNearMessageId, messageId);
|
|
18631
|
-
case
|
|
18642
|
+
case 17:
|
|
18632
18643
|
result = _context9.v;
|
|
18633
18644
|
if (!(result.messages.length === 50)) {
|
|
18634
|
-
_context9.n =
|
|
18645
|
+
_context9.n = 20;
|
|
18635
18646
|
break;
|
|
18636
18647
|
}
|
|
18637
|
-
messageQuery.limit =
|
|
18638
|
-
_context9.n =
|
|
18648
|
+
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18649
|
+
_context9.n = 18;
|
|
18639
18650
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18640
|
-
case
|
|
18651
|
+
case 18:
|
|
18641
18652
|
_secondResult = _context9.v;
|
|
18642
18653
|
messageQuery.reverse = false;
|
|
18643
|
-
_context9.n =
|
|
18654
|
+
_context9.n = 19;
|
|
18644
18655
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18645
|
-
case
|
|
18656
|
+
case 19:
|
|
18646
18657
|
thirdResult = _context9.v;
|
|
18647
18658
|
result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
|
|
18648
18659
|
result.hasNext = _secondResult.hasNext;
|
|
18649
18660
|
messageQuery.reverse = true;
|
|
18650
|
-
case 19:
|
|
18651
|
-
log.info('result from server ....... ', result);
|
|
18652
18661
|
_context9.n = 20;
|
|
18653
|
-
return effects.put(
|
|
18662
|
+
return effects.put(setMessagesHasPrevAC(_secondResult.hasNext));
|
|
18654
18663
|
case 20:
|
|
18664
|
+
log.info('result from server ....... ', result);
|
|
18655
18665
|
_context9.n = 21;
|
|
18656
18666
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18657
18667
|
case 21:
|
|
18668
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18658
18669
|
setAllMessages([].concat(result.messages));
|
|
18659
18670
|
setHasPrevCached(false);
|
|
18660
18671
|
setHasNextCached(false);
|
|
18661
18672
|
case 22:
|
|
18662
18673
|
_context9.n = 23;
|
|
18663
|
-
return effects.put(
|
|
18674
|
+
return effects.put(setMessagesHasNextAC(true));
|
|
18664
18675
|
case 23:
|
|
18665
18676
|
_context9.n = 24;
|
|
18666
|
-
return effects.put(
|
|
18677
|
+
return effects.put(setScrollToMessagesAC(messageId, true, behavior));
|
|
18667
18678
|
case 24:
|
|
18668
|
-
_context9.n =
|
|
18669
|
-
|
|
18679
|
+
_context9.n = 25;
|
|
18680
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18670
18681
|
case 25:
|
|
18682
|
+
_context9.n = 46;
|
|
18683
|
+
break;
|
|
18684
|
+
case 26:
|
|
18671
18685
|
if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
|
|
18672
|
-
_context9.n =
|
|
18686
|
+
_context9.n = 39;
|
|
18673
18687
|
break;
|
|
18674
18688
|
}
|
|
18689
|
+
setMessagesToMap(channel.id, []);
|
|
18675
18690
|
setAllMessages([]);
|
|
18676
18691
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18677
18692
|
if (!Number(channel.lastDisplayedMessageId)) {
|
|
18678
|
-
_context9.n =
|
|
18693
|
+
_context9.n = 32;
|
|
18679
18694
|
break;
|
|
18680
18695
|
}
|
|
18681
|
-
_context9.n =
|
|
18696
|
+
_context9.n = 27;
|
|
18682
18697
|
return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
|
|
18683
|
-
case
|
|
18698
|
+
case 27:
|
|
18684
18699
|
result = _context9.v;
|
|
18685
18700
|
if (!(result.messages.length === 50)) {
|
|
18686
|
-
_context9.n =
|
|
18701
|
+
_context9.n = 31;
|
|
18687
18702
|
break;
|
|
18688
18703
|
}
|
|
18689
18704
|
messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
|
|
18690
|
-
_context9.n =
|
|
18705
|
+
_context9.n = 28;
|
|
18691
18706
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18692
|
-
case
|
|
18707
|
+
case 28:
|
|
18693
18708
|
_secondResult2 = _context9.v;
|
|
18694
18709
|
if (!(channel.newMessageCount > 25)) {
|
|
18695
|
-
_context9.n =
|
|
18710
|
+
_context9.n = 30;
|
|
18696
18711
|
break;
|
|
18697
18712
|
}
|
|
18698
18713
|
messageQuery.reverse = false;
|
|
18699
|
-
_context9.n =
|
|
18714
|
+
_context9.n = 29;
|
|
18700
18715
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18701
|
-
case
|
|
18716
|
+
case 29:
|
|
18702
18717
|
_thirdResult = _context9.v;
|
|
18703
18718
|
result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
|
|
18704
18719
|
messageQuery.reverse = true;
|
|
18705
|
-
_context9.n =
|
|
18720
|
+
_context9.n = 31;
|
|
18706
18721
|
break;
|
|
18707
|
-
case 29:
|
|
18708
|
-
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18709
18722
|
case 30:
|
|
18710
|
-
|
|
18711
|
-
break;
|
|
18723
|
+
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18712
18724
|
case 31:
|
|
18713
|
-
_context9.n =
|
|
18714
|
-
|
|
18725
|
+
_context9.n = 35;
|
|
18726
|
+
break;
|
|
18715
18727
|
case 32:
|
|
18728
|
+
_context9.n = 33;
|
|
18729
|
+
return effects.call(messageQuery.loadPrevious);
|
|
18730
|
+
case 33:
|
|
18716
18731
|
result = _context9.v;
|
|
18717
18732
|
if (!(result.messages.length === 50)) {
|
|
18718
|
-
_context9.n =
|
|
18733
|
+
_context9.n = 35;
|
|
18719
18734
|
break;
|
|
18720
18735
|
}
|
|
18721
18736
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18722
|
-
_context9.n =
|
|
18737
|
+
_context9.n = 34;
|
|
18723
18738
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18724
|
-
case
|
|
18739
|
+
case 34:
|
|
18725
18740
|
_secondResult3 = _context9.v;
|
|
18726
18741
|
result.messages = [].concat(_secondResult3.messages, result.messages);
|
|
18727
18742
|
result.hasNext = _secondResult3.hasNext;
|
|
18728
|
-
case 34:
|
|
18729
|
-
setMessagesToMap(channel.id, result.messages);
|
|
18730
|
-
_context9.n = 35;
|
|
18731
|
-
return effects.put(setMessagesHasPrevAC(true));
|
|
18732
18743
|
case 35:
|
|
18733
18744
|
_context9.n = 36;
|
|
18734
|
-
return effects.put(
|
|
18745
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
18735
18746
|
case 36:
|
|
18736
|
-
setAllMessages([].concat(result.messages));
|
|
18737
18747
|
_context9.n = 37;
|
|
18738
|
-
return effects.put(
|
|
18748
|
+
return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
|
|
18739
18749
|
case 37:
|
|
18740
|
-
|
|
18741
|
-
|
|
18750
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18751
|
+
setAllMessages([].concat(result.messages));
|
|
18752
|
+
_context9.n = 38;
|
|
18753
|
+
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18742
18754
|
case 38:
|
|
18755
|
+
_context9.n = 46;
|
|
18756
|
+
break;
|
|
18757
|
+
case 39:
|
|
18758
|
+
setMessagesToMap(channel.id, []);
|
|
18743
18759
|
setAllMessages([]);
|
|
18744
18760
|
if (!(cachedMessages && cachedMessages.length)) {
|
|
18745
|
-
_context9.n =
|
|
18761
|
+
_context9.n = 40;
|
|
18746
18762
|
break;
|
|
18747
18763
|
}
|
|
18764
|
+
setMessagesToMap(channel.id, []);
|
|
18748
18765
|
setAllMessages([].concat(cachedMessages));
|
|
18749
|
-
_context9.n =
|
|
18766
|
+
_context9.n = 40;
|
|
18750
18767
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
|
|
18751
|
-
case
|
|
18768
|
+
case 40:
|
|
18752
18769
|
log.info('load message from server');
|
|
18753
|
-
_context9.n =
|
|
18770
|
+
_context9.n = 41;
|
|
18754
18771
|
return effects.call(messageQuery.loadPrevious);
|
|
18755
|
-
case
|
|
18772
|
+
case 41:
|
|
18756
18773
|
result = _context9.v;
|
|
18757
18774
|
if (!(result.messages.length === 50)) {
|
|
18758
|
-
_context9.n =
|
|
18775
|
+
_context9.n = 43;
|
|
18759
18776
|
break;
|
|
18760
18777
|
}
|
|
18761
18778
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18762
|
-
_context9.n =
|
|
18779
|
+
_context9.n = 42;
|
|
18763
18780
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18764
|
-
case
|
|
18781
|
+
case 42:
|
|
18765
18782
|
_secondResult4 = _context9.v;
|
|
18766
18783
|
result.messages = [].concat(_secondResult4.messages, result.messages);
|
|
18767
18784
|
result.hasNext = _secondResult4.hasNext;
|
|
18768
|
-
case
|
|
18785
|
+
case 43:
|
|
18769
18786
|
updatedMessages = [];
|
|
18770
18787
|
result.messages.forEach(function (msg) {
|
|
18771
18788
|
var updatedMessage = updateMessageOnMap(channel.id, {
|
|
@@ -18777,18 +18794,18 @@ function getMessagesQuery(action) {
|
|
|
18777
18794
|
});
|
|
18778
18795
|
setMessagesToMap(channel.id, updatedMessages);
|
|
18779
18796
|
setAllMessages([].concat(updatedMessages));
|
|
18780
|
-
_context9.n = 43;
|
|
18781
|
-
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18782
|
-
case 43:
|
|
18783
18797
|
_context9.n = 44;
|
|
18784
|
-
return effects.put(
|
|
18798
|
+
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18785
18799
|
case 44:
|
|
18786
18800
|
_context9.n = 45;
|
|
18787
|
-
return effects.put(
|
|
18801
|
+
return effects.put(setMessagesHasPrevAC(result.hasNext));
|
|
18788
18802
|
case 45:
|
|
18803
|
+
_context9.n = 46;
|
|
18804
|
+
return effects.put(setMessagesHasNextAC(false));
|
|
18805
|
+
case 46:
|
|
18789
18806
|
pendingMessages = getPendingMessages(channel.id);
|
|
18790
18807
|
if (!(pendingMessages && pendingMessages.length)) {
|
|
18791
|
-
_context9.n =
|
|
18808
|
+
_context9.n = 47;
|
|
18792
18809
|
break;
|
|
18793
18810
|
}
|
|
18794
18811
|
_messagesMap = {};
|
|
@@ -18798,35 +18815,35 @@ function getMessagesQuery(action) {
|
|
|
18798
18815
|
filteredPendingMessages = pendingMessages.filter(function (msg) {
|
|
18799
18816
|
return !_messagesMap[msg.tid || ''];
|
|
18800
18817
|
});
|
|
18801
|
-
_context9.n =
|
|
18818
|
+
_context9.n = 47;
|
|
18802
18819
|
return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
|
|
18803
|
-
case 46:
|
|
18804
|
-
_context9.n = 48;
|
|
18805
|
-
break;
|
|
18806
18820
|
case 47:
|
|
18821
|
+
_context9.n = 49;
|
|
18822
|
+
break;
|
|
18823
|
+
case 48:
|
|
18807
18824
|
if (!channel.isMockChannel) {
|
|
18808
|
-
_context9.n =
|
|
18825
|
+
_context9.n = 49;
|
|
18809
18826
|
break;
|
|
18810
18827
|
}
|
|
18811
|
-
_context9.n =
|
|
18828
|
+
_context9.n = 49;
|
|
18812
18829
|
return effects.put(setMessagesAC([]));
|
|
18813
|
-
case 48:
|
|
18814
|
-
_context9.n = 50;
|
|
18815
|
-
break;
|
|
18816
18830
|
case 49:
|
|
18817
|
-
_context9.
|
|
18818
|
-
|
|
18819
|
-
log.error('error in message query', _t9);
|
|
18831
|
+
_context9.n = 51;
|
|
18832
|
+
break;
|
|
18820
18833
|
case 50:
|
|
18821
18834
|
_context9.p = 50;
|
|
18822
|
-
|
|
18823
|
-
|
|
18835
|
+
_t9 = _context9.v;
|
|
18836
|
+
log.error('error in message query', _t9);
|
|
18824
18837
|
case 51:
|
|
18825
|
-
|
|
18838
|
+
_context9.p = 51;
|
|
18839
|
+
_context9.n = 52;
|
|
18840
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18826
18841
|
case 52:
|
|
18842
|
+
return _context9.f(51);
|
|
18843
|
+
case 53:
|
|
18827
18844
|
return _context9.a(2);
|
|
18828
18845
|
}
|
|
18829
|
-
}, _marked7$1, null, [[0,
|
|
18846
|
+
}, _marked7$1, null, [[0, 50, 51, 53]]);
|
|
18830
18847
|
}
|
|
18831
18848
|
function getMessageQuery(action) {
|
|
18832
18849
|
var payload, channelId, messageId, channel, messages, fetchedMessage, _t0;
|
|
@@ -18972,25 +18989,38 @@ function loadMoreMessages(action) {
|
|
|
18972
18989
|
_context1.n = 11;
|
|
18973
18990
|
return effects.put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
|
|
18974
18991
|
case 11:
|
|
18975
|
-
_context1.n =
|
|
18992
|
+
_context1.n = 16;
|
|
18976
18993
|
break;
|
|
18977
18994
|
case 12:
|
|
18978
18995
|
_context1.n = 13;
|
|
18979
18996
|
return effects.put(addMessagesAC([], direction));
|
|
18980
18997
|
case 13:
|
|
18998
|
+
if (!(direction === MESSAGE_LOAD_DIRECTION.NEXT)) {
|
|
18999
|
+
_context1.n = 15;
|
|
19000
|
+
break;
|
|
19001
|
+
}
|
|
18981
19002
|
_context1.n = 14;
|
|
18982
|
-
return effects.put(
|
|
19003
|
+
return effects.put(setMessagesHasNextAC(false));
|
|
18983
19004
|
case 14:
|
|
18984
19005
|
_context1.n = 16;
|
|
18985
19006
|
break;
|
|
18986
19007
|
case 15:
|
|
18987
|
-
_context1.
|
|
19008
|
+
_context1.n = 16;
|
|
19009
|
+
return effects.put(setMessagesHasPrevAC(false));
|
|
19010
|
+
case 16:
|
|
19011
|
+
_context1.n = 17;
|
|
19012
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
19013
|
+
case 17:
|
|
19014
|
+
_context1.n = 19;
|
|
19015
|
+
break;
|
|
19016
|
+
case 18:
|
|
19017
|
+
_context1.p = 18;
|
|
18988
19018
|
_t1 = _context1.v;
|
|
18989
19019
|
log.error('error in load more messages', _t1);
|
|
18990
|
-
case
|
|
19020
|
+
case 19:
|
|
18991
19021
|
return _context1.a(2);
|
|
18992
19022
|
}
|
|
18993
|
-
}, _marked9$1, null, [[0,
|
|
19023
|
+
}, _marked9$1, null, [[0, 18]]);
|
|
18994
19024
|
}
|
|
18995
19025
|
function addReaction(action) {
|
|
18996
19026
|
var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
|
|
@@ -26142,6 +26172,7 @@ var Message = function Message(_ref) {
|
|
|
26142
26172
|
var _useColor = useColors(),
|
|
26143
26173
|
textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
|
|
26144
26174
|
overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
|
|
26175
|
+
var scrollToNewMessage = useSelector(scrollToNewMessageSelector);
|
|
26145
26176
|
var dispatch = useDispatch();
|
|
26146
26177
|
var ChatClient = getClient();
|
|
26147
26178
|
var user = ChatClient.user;
|
|
@@ -26160,7 +26191,19 @@ var Message = function Message(_ref) {
|
|
|
26160
26191
|
};
|
|
26161
26192
|
React.useEffect(function () {
|
|
26162
26193
|
if (isVisible) {
|
|
26194
|
+
var _channel$lastMessage;
|
|
26163
26195
|
handleSendReadMarker();
|
|
26196
|
+
if (!channel.isLinkedChannel) {
|
|
26197
|
+
setMessageToVisibleMessagesMap(message);
|
|
26198
|
+
}
|
|
26199
|
+
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))) {
|
|
26200
|
+
dispatch(scrollToNewMessageAC(false, false, false));
|
|
26201
|
+
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
26202
|
+
}
|
|
26203
|
+
} else {
|
|
26204
|
+
if (!channel.isLinkedChannel) {
|
|
26205
|
+
removeMessageFromVisibleMessagesMap(message);
|
|
26206
|
+
}
|
|
26164
26207
|
}
|
|
26165
26208
|
}, [isVisible]);
|
|
26166
26209
|
useDidUpdate(function () {
|
|
@@ -32813,14 +32856,6 @@ var HiddenMessageProperty;
|
|
|
32813
32856
|
})(HiddenMessageProperty || (HiddenMessageProperty = {}));
|
|
32814
32857
|
|
|
32815
32858
|
var _templateObject$D, _templateObject2$y, _templateObject3$s, _templateObject4$o, _templateObject5$k, _templateObject6$h, _templateObject7$f, _templateObject8$e, _templateObject9$c, _templateObject0$b, _templateObject1$8;
|
|
32816
|
-
var loadFromServer = false;
|
|
32817
|
-
var loadDirection = '';
|
|
32818
|
-
var nextDisable = false;
|
|
32819
|
-
var prevDisable = false;
|
|
32820
|
-
var scrollToBottom = false;
|
|
32821
|
-
var shouldLoadMessages;
|
|
32822
|
-
var loading = false;
|
|
32823
|
-
var messagesIndexMap = {};
|
|
32824
32859
|
var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
32825
32860
|
var lastIndex = _ref.lastIndex,
|
|
32826
32861
|
currentMessageDate = _ref.currentMessageDate,
|
|
@@ -33030,6 +33065,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33030
33065
|
var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, reactRedux.shallowEqual);
|
|
33031
33066
|
var scrollToRepliedMessage = useSelector(scrollToMessageSelector, reactRedux.shallowEqual);
|
|
33032
33067
|
var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, reactRedux.shallowEqual);
|
|
33068
|
+
var scrollToMessageBehavior = useSelector(scrollToMessageBehaviorSelector, reactRedux.shallowEqual);
|
|
33033
33069
|
var browserTabIsActive = useSelector(browserTabIsActiveSelector, reactRedux.shallowEqual);
|
|
33034
33070
|
var hasNextMessages = useSelector(messagesHasNextSelector, reactRedux.shallowEqual);
|
|
33035
33071
|
var hasPrevMessages = useSelector(messagesHasPrevSelector, reactRedux.shallowEqual);
|
|
@@ -33070,35 +33106,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33070
33106
|
setShouldPreserveScroll = _useState0[1];
|
|
33071
33107
|
var messageForReply = {};
|
|
33072
33108
|
var attachmentsSelected = false;
|
|
33073
|
-
var
|
|
33109
|
+
var _useState1 = React.useState(''),
|
|
33110
|
+
topDateLabel = _useState1[0],
|
|
33111
|
+
setTopDateLabel = _useState1[1];
|
|
33074
33112
|
var scrollRef = React.useRef(null);
|
|
33113
|
+
var loadFromServerRef = React.useRef(false);
|
|
33114
|
+
var loadDirectionRef = React.useRef('');
|
|
33115
|
+
var nextDisableRef = React.useRef(false);
|
|
33116
|
+
var prevDisableRef = React.useRef(false);
|
|
33117
|
+
var scrollToBottomRef = React.useRef(false);
|
|
33118
|
+
var shouldLoadMessagesRef = React.useRef('');
|
|
33119
|
+
var loadingRef = React.useRef(false);
|
|
33120
|
+
var messagesIndexMapRef = React.useRef({});
|
|
33121
|
+
var scrollRafRef = React.useRef(null);
|
|
33122
|
+
var loadingMessagesTimeoutRef = React.useRef(null);
|
|
33075
33123
|
var renderTopDate = function renderTopDate() {
|
|
33076
|
-
var
|
|
33077
|
-
|
|
33124
|
+
var container = scrollRef.current;
|
|
33125
|
+
if (!container) return;
|
|
33126
|
+
var dateLabels = container.querySelectorAll('.divider');
|
|
33078
33127
|
var text = '';
|
|
33079
33128
|
for (var i = dateLabels.length - 1; i >= 0; i--) {
|
|
33080
|
-
var _dateLabel$firstChild;
|
|
33081
33129
|
var dateLabel = dateLabels[i];
|
|
33082
|
-
|
|
33083
|
-
|
|
33084
|
-
text = span
|
|
33085
|
-
span.style.display = 'none';
|
|
33086
|
-
} else {
|
|
33087
|
-
span.style.display = 'block';
|
|
33130
|
+
if (!text && container.scrollTop > dateLabel.offsetTop) {
|
|
33131
|
+
var span = (dateLabel === null || dateLabel === void 0 ? void 0 : dateLabel.firstChild) && dateLabel.firstChild.firstChild;
|
|
33132
|
+
text = span ? span.innerText || '' : '';
|
|
33088
33133
|
}
|
|
33089
33134
|
}
|
|
33090
|
-
|
|
33091
|
-
messageTopDate.innerText = text;
|
|
33092
|
-
messageTopDate.style.display = 'inline';
|
|
33093
|
-
} else {
|
|
33094
|
-
messageTopDate.style.display = 'none';
|
|
33095
|
-
}
|
|
33135
|
+
setTopDateLabel(text);
|
|
33096
33136
|
};
|
|
33097
|
-
var handleMessagesListScroll = React.useCallback(function (
|
|
33137
|
+
var handleMessagesListScroll = React.useCallback(function () {
|
|
33098
33138
|
try {
|
|
33139
|
+
var target = scrollRef.current;
|
|
33140
|
+
if (!target) return Promise.resolve();
|
|
33099
33141
|
if (scrollToMentionedMessage) {
|
|
33100
|
-
|
|
33101
|
-
if (_target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33142
|
+
if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33102
33143
|
dispatch(showScrollToNewMessageButtonAC(true));
|
|
33103
33144
|
} else {
|
|
33104
33145
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
@@ -33111,7 +33152,6 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33111
33152
|
setShowTopDate(false);
|
|
33112
33153
|
}, 1000);
|
|
33113
33154
|
renderTopDate();
|
|
33114
|
-
var target = event.target;
|
|
33115
33155
|
var forceLoadPrevMessages = false;
|
|
33116
33156
|
if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
|
|
33117
33157
|
forceLoadPrevMessages = true;
|
|
@@ -33126,51 +33166,68 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33126
33166
|
}
|
|
33127
33167
|
if (scrollToReply) {
|
|
33128
33168
|
target.scrollTop = scrollToReply;
|
|
33129
|
-
|
|
33130
|
-
|
|
33131
|
-
|
|
33132
|
-
|
|
33133
|
-
|
|
33134
|
-
|
|
33135
|
-
|
|
33136
|
-
|
|
33137
|
-
|
|
33138
|
-
|
|
33139
|
-
|
|
33140
|
-
|
|
33141
|
-
|
|
33142
|
-
|
|
33143
|
-
|
|
33169
|
+
return Promise.resolve();
|
|
33170
|
+
}
|
|
33171
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33172
|
+
var hasIndex = typeof currentIndex === 'number';
|
|
33173
|
+
if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
|
|
33174
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
|
|
33175
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
|
|
33176
|
+
shouldLoadMessagesRef.current = 'prev';
|
|
33177
|
+
} else {
|
|
33178
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33179
|
+
shouldLoadMessagesRef.current = '';
|
|
33180
|
+
}
|
|
33181
|
+
loadDirectionRef.current = 'prev';
|
|
33182
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33183
|
+
if (!getHasPrevCached()) {
|
|
33184
|
+
loadFromServerRef.current = true;
|
|
33144
33185
|
}
|
|
33186
|
+
nextDisableRef.current = true;
|
|
33145
33187
|
}
|
|
33146
33188
|
}
|
|
33147
|
-
|
|
33148
|
-
|
|
33149
|
-
|
|
33150
|
-
|
|
33151
|
-
|
|
33152
|
-
|
|
33153
|
-
|
|
33154
|
-
|
|
33155
|
-
loadDirection = 'next';
|
|
33156
|
-
prevDisable = true;
|
|
33157
|
-
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33189
|
+
}
|
|
33190
|
+
if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
|
|
33191
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
|
|
33192
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
|
|
33193
|
+
shouldLoadMessagesRef.current = 'next';
|
|
33194
|
+
} else {
|
|
33195
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33196
|
+
shouldLoadMessagesRef.current = '';
|
|
33158
33197
|
}
|
|
33198
|
+
loadDirectionRef.current = 'next';
|
|
33199
|
+
prevDisableRef.current = true;
|
|
33200
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33159
33201
|
}
|
|
33160
33202
|
}
|
|
33161
|
-
|
|
33162
|
-
|
|
33163
|
-
|
|
33203
|
+
}
|
|
33204
|
+
if (hasIndex && currentIndex > messages.length - 10) {
|
|
33205
|
+
nextDisableRef.current = false;
|
|
33164
33206
|
}
|
|
33165
33207
|
return Promise.resolve();
|
|
33166
33208
|
} catch (e) {
|
|
33167
33209
|
return Promise.reject(e);
|
|
33168
33210
|
}
|
|
33169
|
-
}, [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,
|
|
33211
|
+
}, [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]);
|
|
33212
|
+
var onScroll = React.useCallback(function () {
|
|
33213
|
+
if (scrollRafRef.current !== null) return;
|
|
33214
|
+
scrollRafRef.current = window.requestAnimationFrame(function () {
|
|
33215
|
+
scrollRafRef.current = null;
|
|
33216
|
+
handleMessagesListScroll();
|
|
33217
|
+
});
|
|
33218
|
+
}, [handleMessagesListScroll]);
|
|
33219
|
+
React.useEffect(function () {
|
|
33220
|
+
return function () {
|
|
33221
|
+
if (scrollRafRef.current !== null) {
|
|
33222
|
+
cancelAnimationFrame(scrollRafRef.current);
|
|
33223
|
+
scrollRafRef.current = null;
|
|
33224
|
+
}
|
|
33225
|
+
};
|
|
33226
|
+
}, []);
|
|
33170
33227
|
var handleScrollToRepliedMessage = function handleScrollToRepliedMessage(messageId) {
|
|
33171
33228
|
try {
|
|
33172
|
-
|
|
33173
|
-
|
|
33229
|
+
prevDisableRef.current = true;
|
|
33230
|
+
nextDisableRef.current = true;
|
|
33174
33231
|
if (messages.findIndex(function (msg) {
|
|
33175
33232
|
return msg.id === messageId;
|
|
33176
33233
|
}) >= 10) {
|
|
@@ -33184,8 +33241,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33184
33241
|
var positiveValue = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2 < 0 ? repliedMessage.offsetTop - scrollRef.current.offsetHeight * -1 : repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
|
|
33185
33242
|
setTimeout(function () {
|
|
33186
33243
|
repliedMessage.classList.remove('highlight');
|
|
33187
|
-
|
|
33188
|
-
|
|
33244
|
+
prevDisableRef.current = false;
|
|
33245
|
+
nextDisableRef.current = false;
|
|
33189
33246
|
}, 1000 + positiveValue * 0.1);
|
|
33190
33247
|
}
|
|
33191
33248
|
} else {
|
|
@@ -33206,10 +33263,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33206
33263
|
var hasNextCached = getHasNextCached();
|
|
33207
33264
|
if (messagesLoading === LOADING_STATE.LOADED && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33208
33265
|
if (direction === MESSAGE_LOAD_DIRECTION.PREV && firstMessageId && (hasPrevMessages || hasPrevCached)) {
|
|
33209
|
-
|
|
33266
|
+
loadingRef.current = true;
|
|
33210
33267
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, firstMessageId, hasPrevMessages));
|
|
33211
33268
|
} else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && lastMessageId && (hasNextMessages || hasNextCached)) {
|
|
33212
|
-
|
|
33269
|
+
loadingRef.current = true;
|
|
33213
33270
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, lastMessageId, hasNextMessages));
|
|
33214
33271
|
}
|
|
33215
33272
|
}
|
|
@@ -33240,39 +33297,42 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33240
33297
|
setIsDragging(false);
|
|
33241
33298
|
}
|
|
33242
33299
|
};
|
|
33300
|
+
var readDroppedFiles = function readDroppedFiles(e) {
|
|
33301
|
+
return new Promise(function (resolve) {
|
|
33302
|
+
var fileList = Object.values(e.dataTransfer.files);
|
|
33303
|
+
var attachmentsFiles = [];
|
|
33304
|
+
var readFiles = 0;
|
|
33305
|
+
var errorCount = 0;
|
|
33306
|
+
fileList.forEach(function (attachment) {
|
|
33307
|
+
var fileReader = new FileReader();
|
|
33308
|
+
fileReader.onload = function (event) {
|
|
33309
|
+
var file = event.target.result;
|
|
33310
|
+
attachmentsFiles.push({
|
|
33311
|
+
name: attachment.name,
|
|
33312
|
+
data: file,
|
|
33313
|
+
type: attachment.type
|
|
33314
|
+
});
|
|
33315
|
+
readFiles++;
|
|
33316
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33317
|
+
resolve(attachmentsFiles);
|
|
33318
|
+
}
|
|
33319
|
+
};
|
|
33320
|
+
fileReader.onerror = function () {
|
|
33321
|
+
errorCount++;
|
|
33322
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33323
|
+
resolve(attachmentsFiles);
|
|
33324
|
+
}
|
|
33325
|
+
};
|
|
33326
|
+
fileReader.readAsDataURL(attachment);
|
|
33327
|
+
});
|
|
33328
|
+
});
|
|
33329
|
+
};
|
|
33243
33330
|
var handleDropFile = function handleDropFile(e) {
|
|
33244
33331
|
e.preventDefault();
|
|
33245
33332
|
e.stopPropagation();
|
|
33246
33333
|
setIsDragging(false);
|
|
33247
33334
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33248
|
-
|
|
33249
|
-
new Promise(function (resolve) {
|
|
33250
|
-
var attachmentsFiles = [];
|
|
33251
|
-
var readFiles = 0;
|
|
33252
|
-
var errorCount = 0;
|
|
33253
|
-
fileList.forEach(function (attachment) {
|
|
33254
|
-
var fileReader = new FileReader();
|
|
33255
|
-
fileReader.onload = function (event) {
|
|
33256
|
-
var file = event.target.result;
|
|
33257
|
-
attachmentsFiles.push({
|
|
33258
|
-
name: attachment.name,
|
|
33259
|
-
data: file,
|
|
33260
|
-
type: attachment.type
|
|
33261
|
-
});
|
|
33262
|
-
readFiles++;
|
|
33263
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33264
|
-
resolve(attachmentsFiles);
|
|
33265
|
-
}
|
|
33266
|
-
};
|
|
33267
|
-
fileReader.onerror = function () {
|
|
33268
|
-
errorCount++;
|
|
33269
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33270
|
-
resolve(attachmentsFiles);
|
|
33271
|
-
}
|
|
33272
|
-
};
|
|
33273
|
-
fileReader.readAsDataURL(attachment);
|
|
33274
|
-
});
|
|
33275
|
-
}).then(function (result) {
|
|
33335
|
+
readDroppedFiles(e).then(function (result) {
|
|
33276
33336
|
dispatch(setDraggedAttachmentsAC(result, 'file'));
|
|
33277
33337
|
})["catch"](function (error) {
|
|
33278
33338
|
console.error('Error in handleDropFile:', error);
|
|
@@ -33285,34 +33345,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33285
33345
|
e.stopPropagation();
|
|
33286
33346
|
setIsDragging(false);
|
|
33287
33347
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33288
|
-
|
|
33289
|
-
new Promise(function (resolve) {
|
|
33290
|
-
var attachmentsFiles = [];
|
|
33291
|
-
var readFiles = 0;
|
|
33292
|
-
var errorCount = 0;
|
|
33293
|
-
fileList.forEach(function (attachment) {
|
|
33294
|
-
var fileReader = new FileReader();
|
|
33295
|
-
fileReader.onload = function (event) {
|
|
33296
|
-
var file = event.target.result;
|
|
33297
|
-
attachmentsFiles.push({
|
|
33298
|
-
name: attachment.name,
|
|
33299
|
-
data: file,
|
|
33300
|
-
type: attachment.type
|
|
33301
|
-
});
|
|
33302
|
-
readFiles++;
|
|
33303
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33304
|
-
resolve(attachmentsFiles);
|
|
33305
|
-
}
|
|
33306
|
-
};
|
|
33307
|
-
fileReader.onerror = function () {
|
|
33308
|
-
errorCount++;
|
|
33309
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33310
|
-
resolve(attachmentsFiles);
|
|
33311
|
-
}
|
|
33312
|
-
};
|
|
33313
|
-
fileReader.readAsDataURL(attachment);
|
|
33314
|
-
});
|
|
33315
|
-
}).then(function (result) {
|
|
33348
|
+
readDroppedFiles(e).then(function (result) {
|
|
33316
33349
|
dispatch(setDraggedAttachmentsAC(result, 'media'));
|
|
33317
33350
|
})["catch"](function (error) {
|
|
33318
33351
|
console.error('Error in handleDropMedia:', error);
|
|
@@ -33324,21 +33357,21 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33324
33357
|
var _messages, _channel$lastMessage2;
|
|
33325
33358
|
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) {
|
|
33326
33359
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33327
|
-
|
|
33360
|
+
prevDisableRef.current = false;
|
|
33328
33361
|
}
|
|
33329
33362
|
}, [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]);
|
|
33330
33363
|
React.useEffect(function () {
|
|
33331
33364
|
if (scrollToRepliedMessage) {
|
|
33332
|
-
|
|
33365
|
+
loadingRef.current = false;
|
|
33333
33366
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33334
33367
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33335
33368
|
if (repliedMessage) {
|
|
33336
33369
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
33337
33370
|
scrollRef.current.scrollTo({
|
|
33338
33371
|
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
33339
|
-
behavior:
|
|
33372
|
+
behavior: scrollToMessageBehavior
|
|
33340
33373
|
});
|
|
33341
|
-
scrollRef.current.style.scrollBehavior =
|
|
33374
|
+
scrollRef.current.style.scrollBehavior = scrollToMessageBehavior;
|
|
33342
33375
|
if (!channel.backToLinkedChannel && scrollToMessageHighlight) {
|
|
33343
33376
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
33344
33377
|
}
|
|
@@ -33348,9 +33381,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33348
33381
|
var _repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33349
33382
|
_repliedMessage && _repliedMessage.classList.remove('highlight');
|
|
33350
33383
|
}
|
|
33351
|
-
|
|
33384
|
+
prevDisableRef.current = false;
|
|
33352
33385
|
setScrollToReply(null);
|
|
33353
|
-
scrollRef.current.style.scrollBehavior = '
|
|
33386
|
+
scrollRef.current.style.scrollBehavior = 'instant';
|
|
33354
33387
|
}, 1000 + positiveValue * 0.1);
|
|
33355
33388
|
}
|
|
33356
33389
|
dispatch(setScrollToMessagesAC(null));
|
|
@@ -33366,15 +33399,15 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33366
33399
|
});
|
|
33367
33400
|
}
|
|
33368
33401
|
} else {
|
|
33369
|
-
|
|
33370
|
-
|
|
33402
|
+
nextDisableRef.current = true;
|
|
33403
|
+
prevDisableRef.current = true;
|
|
33371
33404
|
scrollRef.current.scrollTo({
|
|
33372
33405
|
top: 0,
|
|
33373
33406
|
behavior: 'smooth'
|
|
33374
33407
|
});
|
|
33375
33408
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33376
33409
|
setTimeout(function () {
|
|
33377
|
-
|
|
33410
|
+
prevDisableRef.current = false;
|
|
33378
33411
|
}, 800);
|
|
33379
33412
|
}
|
|
33380
33413
|
}
|
|
@@ -33392,11 +33425,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33392
33425
|
React.useEffect(function () {
|
|
33393
33426
|
setHasNextCached(false);
|
|
33394
33427
|
setHasPrevCached(false);
|
|
33428
|
+
messagesIndexMapRef.current = {};
|
|
33429
|
+
loadFromServerRef.current = false;
|
|
33430
|
+
loadDirectionRef.current = '';
|
|
33431
|
+
nextDisableRef.current = false;
|
|
33432
|
+
prevDisableRef.current = false;
|
|
33433
|
+
shouldLoadMessagesRef.current = '';
|
|
33434
|
+
loadingRef.current = false;
|
|
33395
33435
|
if (channel.backToLinkedChannel) {
|
|
33396
33436
|
var visibleMessages = getVisibleMessagesMap();
|
|
33397
33437
|
var visibleMessagesIds = Object.keys(visibleMessages);
|
|
33398
33438
|
var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
|
|
33399
|
-
dispatch(getMessagesAC(channel, undefined, messageId));
|
|
33439
|
+
dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
|
|
33400
33440
|
setUnreadMessageId(messageId);
|
|
33401
33441
|
} else {
|
|
33402
33442
|
if (!channel.isLinkedChannel) {
|
|
@@ -33419,9 +33459,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33419
33459
|
}
|
|
33420
33460
|
setPreviousScrollTop(0);
|
|
33421
33461
|
setShouldPreserveScroll(false);
|
|
33422
|
-
|
|
33423
|
-
|
|
33424
|
-
|
|
33462
|
+
nextDisableRef.current = false;
|
|
33463
|
+
prevDisableRef.current = false;
|
|
33464
|
+
scrollToBottomRef.current = true;
|
|
33425
33465
|
setAllowEditDeleteIncomingMessage(allowEditDeleteIncomingMessage);
|
|
33426
33466
|
}, [channel.id]);
|
|
33427
33467
|
React.useEffect(function () {
|
|
@@ -33436,7 +33476,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33436
33476
|
setUnreadMessageId('');
|
|
33437
33477
|
}
|
|
33438
33478
|
}
|
|
33439
|
-
}, [messages]);
|
|
33479
|
+
}, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
|
|
33440
33480
|
React.useEffect(function () {
|
|
33441
33481
|
if (scrollRef.current) {
|
|
33442
33482
|
var isAtBottom = scrollRef.current.scrollTop > -50;
|
|
@@ -33445,35 +33485,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33445
33485
|
setShouldPreserveScroll(true);
|
|
33446
33486
|
}
|
|
33447
33487
|
}
|
|
33448
|
-
if (
|
|
33449
|
-
if (
|
|
33488
|
+
if (loadingRef.current) {
|
|
33489
|
+
if (loadDirectionRef.current !== 'next') {
|
|
33450
33490
|
var lastVisibleMessage = document.getElementById(lastVisibleMessageId);
|
|
33451
33491
|
if (lastVisibleMessage) {
|
|
33452
33492
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33453
33493
|
scrollRef.current.scrollTop = lastVisibleMessage.offsetTop;
|
|
33454
33494
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33455
33495
|
}
|
|
33456
|
-
if (
|
|
33457
|
-
setTimeout(function () {
|
|
33458
|
-
|
|
33459
|
-
|
|
33460
|
-
|
|
33461
|
-
|
|
33496
|
+
if (loadFromServerRef.current) {
|
|
33497
|
+
var timeout = setTimeout(function () {
|
|
33498
|
+
loadingRef.current = false;
|
|
33499
|
+
loadFromServerRef.current = false;
|
|
33500
|
+
nextDisableRef.current = false;
|
|
33501
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33502
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33462
33503
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33463
33504
|
}
|
|
33464
|
-
if (
|
|
33505
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33465
33506
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33466
33507
|
}
|
|
33467
33508
|
}, 50);
|
|
33509
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33510
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33511
|
+
}
|
|
33512
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33468
33513
|
} else {
|
|
33469
|
-
|
|
33470
|
-
if (
|
|
33514
|
+
loadingRef.current = false;
|
|
33515
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33471
33516
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33472
|
-
|
|
33517
|
+
shouldLoadMessagesRef.current = '';
|
|
33473
33518
|
}
|
|
33474
|
-
if (
|
|
33519
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33475
33520
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33476
|
-
|
|
33521
|
+
shouldLoadMessagesRef.current = '';
|
|
33477
33522
|
}
|
|
33478
33523
|
}
|
|
33479
33524
|
} else {
|
|
@@ -33483,22 +33528,26 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33483
33528
|
scrollRef.current.scrollTop = _lastVisibleMessage.offsetTop - scrollRef.current.offsetHeight + _lastVisibleMessage.offsetHeight;
|
|
33484
33529
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33485
33530
|
}
|
|
33486
|
-
|
|
33487
|
-
|
|
33488
|
-
if (
|
|
33531
|
+
loadingRef.current = false;
|
|
33532
|
+
prevDisableRef.current = false;
|
|
33533
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33489
33534
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33490
|
-
|
|
33535
|
+
shouldLoadMessagesRef.current = '';
|
|
33491
33536
|
}
|
|
33492
|
-
if (
|
|
33537
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33493
33538
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33494
|
-
|
|
33539
|
+
shouldLoadMessagesRef.current = '';
|
|
33495
33540
|
}
|
|
33496
33541
|
}
|
|
33497
33542
|
}
|
|
33498
33543
|
renderTopDate();
|
|
33499
|
-
if (
|
|
33500
|
-
|
|
33501
|
-
|
|
33544
|
+
if (scrollToBottomRef.current) {
|
|
33545
|
+
if (channel.backToLinkedChannel) {
|
|
33546
|
+
dispatch(scrollToNewMessageAC(false));
|
|
33547
|
+
} else {
|
|
33548
|
+
dispatch(scrollToNewMessageAC(true));
|
|
33549
|
+
}
|
|
33550
|
+
scrollToBottomRef.current = false;
|
|
33502
33551
|
}
|
|
33503
33552
|
if (shouldPreserveScroll && scrollRef.current && previousScrollTop > 0) {
|
|
33504
33553
|
requestAnimationFrame(function () {
|
|
@@ -33511,13 +33560,43 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33511
33560
|
setPreviousScrollTop(0);
|
|
33512
33561
|
});
|
|
33513
33562
|
}
|
|
33563
|
+
return function () {
|
|
33564
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33565
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33566
|
+
}
|
|
33567
|
+
};
|
|
33514
33568
|
}, [messages]);
|
|
33569
|
+
React.useEffect(function () {
|
|
33570
|
+
if (messagesLoading === LOADING_STATE.LOADED) {
|
|
33571
|
+
var timeout = setTimeout(function () {
|
|
33572
|
+
loadingRef.current = false;
|
|
33573
|
+
loadFromServerRef.current = false;
|
|
33574
|
+
nextDisableRef.current = false;
|
|
33575
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33576
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33577
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33578
|
+
}
|
|
33579
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33580
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33581
|
+
}
|
|
33582
|
+
}, 50);
|
|
33583
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33584
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33585
|
+
}
|
|
33586
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33587
|
+
}
|
|
33588
|
+
return function () {
|
|
33589
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33590
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33591
|
+
}
|
|
33592
|
+
};
|
|
33593
|
+
}, [messagesLoading, messages, lastVisibleMessageId]);
|
|
33515
33594
|
React.useEffect(function () {
|
|
33516
33595
|
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
33517
33596
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33518
|
-
|
|
33519
|
-
|
|
33520
|
-
|
|
33597
|
+
loadingRef.current = false;
|
|
33598
|
+
prevDisableRef.current = false;
|
|
33599
|
+
nextDisableRef.current = false;
|
|
33521
33600
|
clearMessagesMap();
|
|
33522
33601
|
removeAllMessages();
|
|
33523
33602
|
if (channel.id) {
|
|
@@ -33526,7 +33605,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33526
33605
|
}
|
|
33527
33606
|
}, [connectionStatus]);
|
|
33528
33607
|
React.useEffect(function () {
|
|
33529
|
-
|
|
33608
|
+
var unreadScrollTo = getUnreadScrollTo();
|
|
33609
|
+
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
33530
33610
|
if (scrollRef.current) {
|
|
33531
33611
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33532
33612
|
}
|
|
@@ -33539,7 +33619,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33539
33619
|
setUnreadScrollTo(false);
|
|
33540
33620
|
}
|
|
33541
33621
|
}
|
|
33542
|
-
});
|
|
33622
|
+
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
33623
|
+
React.useEffect(function () {
|
|
33624
|
+
return function () {
|
|
33625
|
+
if (hideTopDateTimeout.current) {
|
|
33626
|
+
clearTimeout(hideTopDateTimeout.current);
|
|
33627
|
+
}
|
|
33628
|
+
};
|
|
33629
|
+
}, []);
|
|
33543
33630
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isDragging && !(attachmentsPreview !== null && attachmentsPreview !== void 0 && attachmentsPreview.show && mediaFile) && (/*#__PURE__*/React__default.createElement(DragAndDropContainer, {
|
|
33544
33631
|
id: 'draggingContainer',
|
|
33545
33632
|
draggable: true,
|
|
@@ -33582,14 +33669,12 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33582
33669
|
dateDividerBackgroundColor: dateDividerBackgroundColor || overlayBackground,
|
|
33583
33670
|
dateDividerBorderRadius: dateDividerBorderRadius,
|
|
33584
33671
|
topOffset: scrollRef && scrollRef.current && scrollRef.current.offsetTop
|
|
33585
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
33586
|
-
ref: messageTopDateRef
|
|
33587
|
-
}))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33672
|
+
}, /*#__PURE__*/React__default.createElement("span", null, topDateLabel))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33588
33673
|
id: 'scrollableDiv',
|
|
33589
33674
|
className: isScrolling ? 'show-scrollbar' : '',
|
|
33590
33675
|
ref: scrollRef,
|
|
33591
33676
|
stopScrolling: stopScrolling,
|
|
33592
|
-
onScroll:
|
|
33677
|
+
onScroll: onScroll,
|
|
33593
33678
|
onMouseEnter: function onMouseEnter() {
|
|
33594
33679
|
return setIsScrolling(true);
|
|
33595
33680
|
},
|
|
@@ -33608,8 +33693,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33608
33693
|
var prevMessage = messages[index - 1];
|
|
33609
33694
|
var nextMessage = messages[index + 1];
|
|
33610
33695
|
var isUnreadMessage = !!(unreadMessageId && unreadMessageId === message.id && nextMessage) && !channel.backToLinkedChannel;
|
|
33611
|
-
|
|
33612
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment,
|
|
33696
|
+
messagesIndexMapRef.current[message.id] = index;
|
|
33697
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
|
33698
|
+
key: message.id || message.tid
|
|
33699
|
+
}, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
|
|
33613
33700
|
noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
|
|
33614
33701
|
theme: theme,
|
|
33615
33702
|
lastIndex: false,
|
|
@@ -41139,10 +41226,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
|
|
|
41139
41226
|
};
|
|
41140
41227
|
var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {
|
|
41141
41228
|
try {
|
|
41142
|
-
dispatch(scrollToNewMessageAC(true, false, false));
|
|
41143
41229
|
if (messages.findIndex(function (msg) {
|
|
41144
41230
|
return msg.id === messageId;
|
|
41145
41231
|
}) >= 10) {
|
|
41232
|
+
dispatch(scrollToNewMessageAC(true, false, false));
|
|
41146
41233
|
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
41147
41234
|
var repliedMessage = document.getElementById(messageId);
|
|
41148
41235
|
if (repliedMessage) {
|