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.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;
|
|
@@ -10374,7 +10376,7 @@ var messageSlice = createSlice({
|
|
|
10374
10376
|
return msg.tid === message.tid || msg.id === message.id;
|
|
10375
10377
|
});
|
|
10376
10378
|
});
|
|
10377
|
-
if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
|
|
10379
|
+
if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
|
|
10378
10380
|
if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
|
|
10379
10381
|
var _state$activeChannelM;
|
|
10380
10382
|
setHasNextCached(true);
|
|
@@ -10396,7 +10398,7 @@ var messageSlice = createSlice({
|
|
|
10396
10398
|
var _state$activeChannelM3;
|
|
10397
10399
|
(_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
|
|
10398
10400
|
}
|
|
10399
|
-
} else if (direction === 'next') {
|
|
10401
|
+
} else if (direction === 'next' && newMessagesLength > 0) {
|
|
10400
10402
|
if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
|
|
10401
10403
|
var _state$activeChannelM4;
|
|
10402
10404
|
setHasPrevCached(true);
|
|
@@ -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,9 +18497,9 @@ 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
|
-
_context9.n =
|
|
18502
|
+
_context9.n = 48;
|
|
18496
18503
|
break;
|
|
18497
18504
|
}
|
|
18498
18505
|
SceytChatClient = getClient();
|
|
@@ -18520,6 +18527,7 @@ function getMessagesQuery(action) {
|
|
|
18520
18527
|
break;
|
|
18521
18528
|
}
|
|
18522
18529
|
setHasPrevCached(false);
|
|
18530
|
+
setMessagesToMap(channel.id, []);
|
|
18523
18531
|
setAllMessages([]);
|
|
18524
18532
|
_context9.n = 3;
|
|
18525
18533
|
return call(messageQuery.loadPreviousMessageId, '0');
|
|
@@ -18576,13 +18584,13 @@ function getMessagesQuery(action) {
|
|
|
18576
18584
|
break;
|
|
18577
18585
|
}
|
|
18578
18586
|
_context9.n = 12;
|
|
18579
|
-
return put(setScrollToMessagesAC(messageId, highlight));
|
|
18587
|
+
return put(setScrollToMessagesAC(messageId, highlight, behavior));
|
|
18580
18588
|
case 12:
|
|
18581
|
-
_context9.n =
|
|
18589
|
+
_context9.n = 46;
|
|
18582
18590
|
break;
|
|
18583
18591
|
case 13:
|
|
18584
18592
|
if (!messageId) {
|
|
18585
|
-
_context9.n =
|
|
18593
|
+
_context9.n = 26;
|
|
18586
18594
|
break;
|
|
18587
18595
|
}
|
|
18588
18596
|
_allMessages = getAllMessages();
|
|
@@ -18591,7 +18599,7 @@ function getMessagesQuery(action) {
|
|
|
18591
18599
|
});
|
|
18592
18600
|
maxLengthPart = MESSAGES_MAX_LENGTH / 2;
|
|
18593
18601
|
if (!(messageIndex >= maxLengthPart)) {
|
|
18594
|
-
_context9.n =
|
|
18602
|
+
_context9.n = 16;
|
|
18595
18603
|
break;
|
|
18596
18604
|
}
|
|
18597
18605
|
result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
|
|
@@ -18600,151 +18608,160 @@ function getMessagesQuery(action) {
|
|
|
18600
18608
|
case 14:
|
|
18601
18609
|
setHasPrevCached(messageIndex > maxLengthPart);
|
|
18602
18610
|
setHasNextCached(_allMessages.length > maxLengthPart);
|
|
18611
|
+
_context9.n = 15;
|
|
18612
|
+
return put(setMessagesHasPrevAC(true));
|
|
18613
|
+
case 15:
|
|
18603
18614
|
_context9.n = 22;
|
|
18604
18615
|
break;
|
|
18605
|
-
case
|
|
18616
|
+
case 16:
|
|
18606
18617
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18607
18618
|
log.info('load by message id from server ...............', messageId);
|
|
18608
|
-
_context9.n =
|
|
18619
|
+
_context9.n = 17;
|
|
18609
18620
|
return call(messageQuery.loadNearMessageId, messageId);
|
|
18610
|
-
case
|
|
18621
|
+
case 17:
|
|
18611
18622
|
result = _context9.v;
|
|
18612
18623
|
if (!(result.messages.length === 50)) {
|
|
18613
|
-
_context9.n =
|
|
18624
|
+
_context9.n = 20;
|
|
18614
18625
|
break;
|
|
18615
18626
|
}
|
|
18616
|
-
messageQuery.limit =
|
|
18617
|
-
_context9.n =
|
|
18627
|
+
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18628
|
+
_context9.n = 18;
|
|
18618
18629
|
return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18619
|
-
case
|
|
18630
|
+
case 18:
|
|
18620
18631
|
_secondResult = _context9.v;
|
|
18621
18632
|
messageQuery.reverse = false;
|
|
18622
|
-
_context9.n =
|
|
18633
|
+
_context9.n = 19;
|
|
18623
18634
|
return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18624
|
-
case
|
|
18635
|
+
case 19:
|
|
18625
18636
|
thirdResult = _context9.v;
|
|
18626
18637
|
result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
|
|
18627
18638
|
result.hasNext = _secondResult.hasNext;
|
|
18628
18639
|
messageQuery.reverse = true;
|
|
18629
|
-
case 19:
|
|
18630
|
-
log.info('result from server ....... ', result);
|
|
18631
18640
|
_context9.n = 20;
|
|
18632
|
-
return put(
|
|
18641
|
+
return put(setMessagesHasPrevAC(_secondResult.hasNext));
|
|
18633
18642
|
case 20:
|
|
18643
|
+
log.info('result from server ....... ', result);
|
|
18634
18644
|
_context9.n = 21;
|
|
18635
18645
|
return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18636
18646
|
case 21:
|
|
18647
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18637
18648
|
setAllMessages([].concat(result.messages));
|
|
18638
18649
|
setHasPrevCached(false);
|
|
18639
18650
|
setHasNextCached(false);
|
|
18640
18651
|
case 22:
|
|
18641
18652
|
_context9.n = 23;
|
|
18642
|
-
return put(
|
|
18653
|
+
return put(setMessagesHasNextAC(true));
|
|
18643
18654
|
case 23:
|
|
18644
18655
|
_context9.n = 24;
|
|
18645
|
-
return put(
|
|
18656
|
+
return put(setScrollToMessagesAC(messageId, true, behavior));
|
|
18646
18657
|
case 24:
|
|
18647
|
-
_context9.n =
|
|
18648
|
-
|
|
18658
|
+
_context9.n = 25;
|
|
18659
|
+
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18649
18660
|
case 25:
|
|
18661
|
+
_context9.n = 46;
|
|
18662
|
+
break;
|
|
18663
|
+
case 26:
|
|
18650
18664
|
if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
|
|
18651
|
-
_context9.n =
|
|
18665
|
+
_context9.n = 39;
|
|
18652
18666
|
break;
|
|
18653
18667
|
}
|
|
18668
|
+
setMessagesToMap(channel.id, []);
|
|
18654
18669
|
setAllMessages([]);
|
|
18655
18670
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18656
18671
|
if (!Number(channel.lastDisplayedMessageId)) {
|
|
18657
|
-
_context9.n =
|
|
18672
|
+
_context9.n = 32;
|
|
18658
18673
|
break;
|
|
18659
18674
|
}
|
|
18660
|
-
_context9.n =
|
|
18675
|
+
_context9.n = 27;
|
|
18661
18676
|
return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
|
|
18662
|
-
case
|
|
18677
|
+
case 27:
|
|
18663
18678
|
result = _context9.v;
|
|
18664
18679
|
if (!(result.messages.length === 50)) {
|
|
18665
|
-
_context9.n =
|
|
18680
|
+
_context9.n = 31;
|
|
18666
18681
|
break;
|
|
18667
18682
|
}
|
|
18668
18683
|
messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
|
|
18669
|
-
_context9.n =
|
|
18684
|
+
_context9.n = 28;
|
|
18670
18685
|
return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18671
|
-
case
|
|
18686
|
+
case 28:
|
|
18672
18687
|
_secondResult2 = _context9.v;
|
|
18673
18688
|
if (!(channel.newMessageCount > 25)) {
|
|
18674
|
-
_context9.n =
|
|
18689
|
+
_context9.n = 30;
|
|
18675
18690
|
break;
|
|
18676
18691
|
}
|
|
18677
18692
|
messageQuery.reverse = false;
|
|
18678
|
-
_context9.n =
|
|
18693
|
+
_context9.n = 29;
|
|
18679
18694
|
return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18680
|
-
case
|
|
18695
|
+
case 29:
|
|
18681
18696
|
_thirdResult = _context9.v;
|
|
18682
18697
|
result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
|
|
18683
18698
|
messageQuery.reverse = true;
|
|
18684
|
-
_context9.n =
|
|
18699
|
+
_context9.n = 31;
|
|
18685
18700
|
break;
|
|
18686
|
-
case 29:
|
|
18687
|
-
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18688
18701
|
case 30:
|
|
18689
|
-
|
|
18690
|
-
break;
|
|
18702
|
+
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18691
18703
|
case 31:
|
|
18692
|
-
_context9.n =
|
|
18693
|
-
|
|
18704
|
+
_context9.n = 35;
|
|
18705
|
+
break;
|
|
18694
18706
|
case 32:
|
|
18707
|
+
_context9.n = 33;
|
|
18708
|
+
return call(messageQuery.loadPrevious);
|
|
18709
|
+
case 33:
|
|
18695
18710
|
result = _context9.v;
|
|
18696
18711
|
if (!(result.messages.length === 50)) {
|
|
18697
|
-
_context9.n =
|
|
18712
|
+
_context9.n = 35;
|
|
18698
18713
|
break;
|
|
18699
18714
|
}
|
|
18700
18715
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18701
|
-
_context9.n =
|
|
18716
|
+
_context9.n = 34;
|
|
18702
18717
|
return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18703
|
-
case
|
|
18718
|
+
case 34:
|
|
18704
18719
|
_secondResult3 = _context9.v;
|
|
18705
18720
|
result.messages = [].concat(_secondResult3.messages, result.messages);
|
|
18706
18721
|
result.hasNext = _secondResult3.hasNext;
|
|
18707
|
-
case 34:
|
|
18708
|
-
setMessagesToMap(channel.id, result.messages);
|
|
18709
|
-
_context9.n = 35;
|
|
18710
|
-
return put(setMessagesHasPrevAC(true));
|
|
18711
18722
|
case 35:
|
|
18712
18723
|
_context9.n = 36;
|
|
18713
|
-
return put(
|
|
18724
|
+
return put(setMessagesHasPrevAC(true));
|
|
18714
18725
|
case 36:
|
|
18715
|
-
setAllMessages([].concat(result.messages));
|
|
18716
18726
|
_context9.n = 37;
|
|
18717
|
-
return put(
|
|
18727
|
+
return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
|
|
18718
18728
|
case 37:
|
|
18719
|
-
|
|
18720
|
-
|
|
18729
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18730
|
+
setAllMessages([].concat(result.messages));
|
|
18731
|
+
_context9.n = 38;
|
|
18732
|
+
return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18721
18733
|
case 38:
|
|
18734
|
+
_context9.n = 46;
|
|
18735
|
+
break;
|
|
18736
|
+
case 39:
|
|
18737
|
+
setMessagesToMap(channel.id, []);
|
|
18722
18738
|
setAllMessages([]);
|
|
18723
18739
|
if (!(cachedMessages && cachedMessages.length)) {
|
|
18724
|
-
_context9.n =
|
|
18740
|
+
_context9.n = 40;
|
|
18725
18741
|
break;
|
|
18726
18742
|
}
|
|
18743
|
+
setMessagesToMap(channel.id, []);
|
|
18727
18744
|
setAllMessages([].concat(cachedMessages));
|
|
18728
|
-
_context9.n =
|
|
18745
|
+
_context9.n = 40;
|
|
18729
18746
|
return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
|
|
18730
|
-
case
|
|
18747
|
+
case 40:
|
|
18731
18748
|
log.info('load message from server');
|
|
18732
|
-
_context9.n =
|
|
18749
|
+
_context9.n = 41;
|
|
18733
18750
|
return call(messageQuery.loadPrevious);
|
|
18734
|
-
case
|
|
18751
|
+
case 41:
|
|
18735
18752
|
result = _context9.v;
|
|
18736
18753
|
if (!(result.messages.length === 50)) {
|
|
18737
|
-
_context9.n =
|
|
18754
|
+
_context9.n = 43;
|
|
18738
18755
|
break;
|
|
18739
18756
|
}
|
|
18740
18757
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18741
|
-
_context9.n =
|
|
18758
|
+
_context9.n = 42;
|
|
18742
18759
|
return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18743
|
-
case
|
|
18760
|
+
case 42:
|
|
18744
18761
|
_secondResult4 = _context9.v;
|
|
18745
18762
|
result.messages = [].concat(_secondResult4.messages, result.messages);
|
|
18746
18763
|
result.hasNext = _secondResult4.hasNext;
|
|
18747
|
-
case
|
|
18764
|
+
case 43:
|
|
18748
18765
|
updatedMessages = [];
|
|
18749
18766
|
result.messages.forEach(function (msg) {
|
|
18750
18767
|
var updatedMessage = updateMessageOnMap(channel.id, {
|
|
@@ -18756,18 +18773,18 @@ function getMessagesQuery(action) {
|
|
|
18756
18773
|
});
|
|
18757
18774
|
setMessagesToMap(channel.id, updatedMessages);
|
|
18758
18775
|
setAllMessages([].concat(updatedMessages));
|
|
18759
|
-
_context9.n = 43;
|
|
18760
|
-
return put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18761
|
-
case 43:
|
|
18762
18776
|
_context9.n = 44;
|
|
18763
|
-
return put(
|
|
18777
|
+
return put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18764
18778
|
case 44:
|
|
18765
18779
|
_context9.n = 45;
|
|
18766
|
-
return put(
|
|
18780
|
+
return put(setMessagesHasPrevAC(result.hasNext));
|
|
18767
18781
|
case 45:
|
|
18782
|
+
_context9.n = 46;
|
|
18783
|
+
return put(setMessagesHasNextAC(false));
|
|
18784
|
+
case 46:
|
|
18768
18785
|
pendingMessages = getPendingMessages(channel.id);
|
|
18769
18786
|
if (!(pendingMessages && pendingMessages.length)) {
|
|
18770
|
-
_context9.n =
|
|
18787
|
+
_context9.n = 47;
|
|
18771
18788
|
break;
|
|
18772
18789
|
}
|
|
18773
18790
|
_messagesMap = {};
|
|
@@ -18777,35 +18794,35 @@ function getMessagesQuery(action) {
|
|
|
18777
18794
|
filteredPendingMessages = pendingMessages.filter(function (msg) {
|
|
18778
18795
|
return !_messagesMap[msg.tid || ''];
|
|
18779
18796
|
});
|
|
18780
|
-
_context9.n =
|
|
18797
|
+
_context9.n = 47;
|
|
18781
18798
|
return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
|
|
18782
|
-
case 46:
|
|
18783
|
-
_context9.n = 48;
|
|
18784
|
-
break;
|
|
18785
18799
|
case 47:
|
|
18800
|
+
_context9.n = 49;
|
|
18801
|
+
break;
|
|
18802
|
+
case 48:
|
|
18786
18803
|
if (!channel.isMockChannel) {
|
|
18787
|
-
_context9.n =
|
|
18804
|
+
_context9.n = 49;
|
|
18788
18805
|
break;
|
|
18789
18806
|
}
|
|
18790
|
-
_context9.n =
|
|
18807
|
+
_context9.n = 49;
|
|
18791
18808
|
return put(setMessagesAC([]));
|
|
18792
|
-
case 48:
|
|
18793
|
-
_context9.n = 50;
|
|
18794
|
-
break;
|
|
18795
18809
|
case 49:
|
|
18796
|
-
_context9.
|
|
18797
|
-
|
|
18798
|
-
log.error('error in message query', _t9);
|
|
18810
|
+
_context9.n = 51;
|
|
18811
|
+
break;
|
|
18799
18812
|
case 50:
|
|
18800
18813
|
_context9.p = 50;
|
|
18801
|
-
|
|
18802
|
-
|
|
18814
|
+
_t9 = _context9.v;
|
|
18815
|
+
log.error('error in message query', _t9);
|
|
18803
18816
|
case 51:
|
|
18804
|
-
|
|
18817
|
+
_context9.p = 51;
|
|
18818
|
+
_context9.n = 52;
|
|
18819
|
+
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18805
18820
|
case 52:
|
|
18821
|
+
return _context9.f(51);
|
|
18822
|
+
case 53:
|
|
18806
18823
|
return _context9.a(2);
|
|
18807
18824
|
}
|
|
18808
|
-
}, _marked7$1, null, [[0,
|
|
18825
|
+
}, _marked7$1, null, [[0, 50, 51, 53]]);
|
|
18809
18826
|
}
|
|
18810
18827
|
function getMessageQuery(action) {
|
|
18811
18828
|
var payload, channelId, messageId, channel, messages, fetchedMessage, _t0;
|
|
@@ -18951,25 +18968,38 @@ function loadMoreMessages(action) {
|
|
|
18951
18968
|
_context1.n = 11;
|
|
18952
18969
|
return put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
|
|
18953
18970
|
case 11:
|
|
18954
|
-
_context1.n =
|
|
18971
|
+
_context1.n = 16;
|
|
18955
18972
|
break;
|
|
18956
18973
|
case 12:
|
|
18957
18974
|
_context1.n = 13;
|
|
18958
18975
|
return put(addMessagesAC([], direction));
|
|
18959
18976
|
case 13:
|
|
18977
|
+
if (!(direction === MESSAGE_LOAD_DIRECTION.NEXT)) {
|
|
18978
|
+
_context1.n = 15;
|
|
18979
|
+
break;
|
|
18980
|
+
}
|
|
18960
18981
|
_context1.n = 14;
|
|
18961
|
-
return put(
|
|
18982
|
+
return put(setMessagesHasNextAC(false));
|
|
18962
18983
|
case 14:
|
|
18963
18984
|
_context1.n = 16;
|
|
18964
18985
|
break;
|
|
18965
18986
|
case 15:
|
|
18966
|
-
_context1.
|
|
18987
|
+
_context1.n = 16;
|
|
18988
|
+
return put(setMessagesHasPrevAC(false));
|
|
18989
|
+
case 16:
|
|
18990
|
+
_context1.n = 17;
|
|
18991
|
+
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18992
|
+
case 17:
|
|
18993
|
+
_context1.n = 19;
|
|
18994
|
+
break;
|
|
18995
|
+
case 18:
|
|
18996
|
+
_context1.p = 18;
|
|
18967
18997
|
_t1 = _context1.v;
|
|
18968
18998
|
log.error('error in load more messages', _t1);
|
|
18969
|
-
case
|
|
18999
|
+
case 19:
|
|
18970
19000
|
return _context1.a(2);
|
|
18971
19001
|
}
|
|
18972
|
-
}, _marked9$1, null, [[0,
|
|
19002
|
+
}, _marked9$1, null, [[0, 18]]);
|
|
18973
19003
|
}
|
|
18974
19004
|
function addReaction(action) {
|
|
18975
19005
|
var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
|
|
@@ -26121,6 +26151,7 @@ var Message = function Message(_ref) {
|
|
|
26121
26151
|
var _useColor = useColors(),
|
|
26122
26152
|
textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
|
|
26123
26153
|
overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
|
|
26154
|
+
var scrollToNewMessage = useSelector(scrollToNewMessageSelector);
|
|
26124
26155
|
var dispatch = useDispatch();
|
|
26125
26156
|
var ChatClient = getClient();
|
|
26126
26157
|
var user = ChatClient.user;
|
|
@@ -26139,7 +26170,19 @@ var Message = function Message(_ref) {
|
|
|
26139
26170
|
};
|
|
26140
26171
|
useEffect(function () {
|
|
26141
26172
|
if (isVisible) {
|
|
26173
|
+
var _channel$lastMessage;
|
|
26142
26174
|
handleSendReadMarker();
|
|
26175
|
+
if (!channel.isLinkedChannel) {
|
|
26176
|
+
setMessageToVisibleMessagesMap(message);
|
|
26177
|
+
}
|
|
26178
|
+
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))) {
|
|
26179
|
+
dispatch(scrollToNewMessageAC(false, false, false));
|
|
26180
|
+
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
26181
|
+
}
|
|
26182
|
+
} else {
|
|
26183
|
+
if (!channel.isLinkedChannel) {
|
|
26184
|
+
removeMessageFromVisibleMessagesMap(message);
|
|
26185
|
+
}
|
|
26143
26186
|
}
|
|
26144
26187
|
}, [isVisible]);
|
|
26145
26188
|
useDidUpdate(function () {
|
|
@@ -32792,14 +32835,6 @@ var HiddenMessageProperty;
|
|
|
32792
32835
|
})(HiddenMessageProperty || (HiddenMessageProperty = {}));
|
|
32793
32836
|
|
|
32794
32837
|
var _templateObject$D, _templateObject2$y, _templateObject3$s, _templateObject4$o, _templateObject5$k, _templateObject6$h, _templateObject7$f, _templateObject8$e, _templateObject9$c, _templateObject0$b, _templateObject1$8;
|
|
32795
|
-
var loadFromServer = false;
|
|
32796
|
-
var loadDirection = '';
|
|
32797
|
-
var nextDisable = false;
|
|
32798
|
-
var prevDisable = false;
|
|
32799
|
-
var scrollToBottom = false;
|
|
32800
|
-
var shouldLoadMessages;
|
|
32801
|
-
var loading = false;
|
|
32802
|
-
var messagesIndexMap = {};
|
|
32803
32838
|
var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
32804
32839
|
var lastIndex = _ref.lastIndex,
|
|
32805
32840
|
currentMessageDate = _ref.currentMessageDate,
|
|
@@ -33009,6 +33044,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33009
33044
|
var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, shallowEqual);
|
|
33010
33045
|
var scrollToRepliedMessage = useSelector(scrollToMessageSelector, shallowEqual);
|
|
33011
33046
|
var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, shallowEqual);
|
|
33047
|
+
var scrollToMessageBehavior = useSelector(scrollToMessageBehaviorSelector, shallowEqual);
|
|
33012
33048
|
var browserTabIsActive = useSelector(browserTabIsActiveSelector, shallowEqual);
|
|
33013
33049
|
var hasNextMessages = useSelector(messagesHasNextSelector, shallowEqual);
|
|
33014
33050
|
var hasPrevMessages = useSelector(messagesHasPrevSelector, shallowEqual);
|
|
@@ -33049,35 +33085,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33049
33085
|
setShouldPreserveScroll = _useState0[1];
|
|
33050
33086
|
var messageForReply = {};
|
|
33051
33087
|
var attachmentsSelected = false;
|
|
33052
|
-
var
|
|
33088
|
+
var _useState1 = useState(''),
|
|
33089
|
+
topDateLabel = _useState1[0],
|
|
33090
|
+
setTopDateLabel = _useState1[1];
|
|
33053
33091
|
var scrollRef = useRef(null);
|
|
33092
|
+
var loadFromServerRef = useRef(false);
|
|
33093
|
+
var loadDirectionRef = useRef('');
|
|
33094
|
+
var nextDisableRef = useRef(false);
|
|
33095
|
+
var prevDisableRef = useRef(false);
|
|
33096
|
+
var scrollToBottomRef = useRef(false);
|
|
33097
|
+
var shouldLoadMessagesRef = useRef('');
|
|
33098
|
+
var loadingRef = useRef(false);
|
|
33099
|
+
var messagesIndexMapRef = useRef({});
|
|
33100
|
+
var scrollRafRef = useRef(null);
|
|
33101
|
+
var loadingMessagesTimeoutRef = useRef(null);
|
|
33054
33102
|
var renderTopDate = function renderTopDate() {
|
|
33055
|
-
var
|
|
33056
|
-
|
|
33103
|
+
var container = scrollRef.current;
|
|
33104
|
+
if (!container) return;
|
|
33105
|
+
var dateLabels = container.querySelectorAll('.divider');
|
|
33057
33106
|
var text = '';
|
|
33058
33107
|
for (var i = dateLabels.length - 1; i >= 0; i--) {
|
|
33059
|
-
var _dateLabel$firstChild;
|
|
33060
33108
|
var dateLabel = dateLabels[i];
|
|
33061
|
-
|
|
33062
|
-
|
|
33063
|
-
text = span
|
|
33064
|
-
span.style.display = 'none';
|
|
33065
|
-
} else {
|
|
33066
|
-
span.style.display = 'block';
|
|
33109
|
+
if (!text && container.scrollTop > dateLabel.offsetTop) {
|
|
33110
|
+
var span = (dateLabel === null || dateLabel === void 0 ? void 0 : dateLabel.firstChild) && dateLabel.firstChild.firstChild;
|
|
33111
|
+
text = span ? span.innerText || '' : '';
|
|
33067
33112
|
}
|
|
33068
33113
|
}
|
|
33069
|
-
|
|
33070
|
-
messageTopDate.innerText = text;
|
|
33071
|
-
messageTopDate.style.display = 'inline';
|
|
33072
|
-
} else {
|
|
33073
|
-
messageTopDate.style.display = 'none';
|
|
33074
|
-
}
|
|
33114
|
+
setTopDateLabel(text);
|
|
33075
33115
|
};
|
|
33076
|
-
var handleMessagesListScroll = useCallback(function (
|
|
33116
|
+
var handleMessagesListScroll = useCallback(function () {
|
|
33077
33117
|
try {
|
|
33118
|
+
var target = scrollRef.current;
|
|
33119
|
+
if (!target) return Promise.resolve();
|
|
33078
33120
|
if (scrollToMentionedMessage) {
|
|
33079
|
-
|
|
33080
|
-
if (_target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33121
|
+
if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33081
33122
|
dispatch(showScrollToNewMessageButtonAC(true));
|
|
33082
33123
|
} else {
|
|
33083
33124
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
@@ -33090,7 +33131,6 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33090
33131
|
setShowTopDate(false);
|
|
33091
33132
|
}, 1000);
|
|
33092
33133
|
renderTopDate();
|
|
33093
|
-
var target = event.target;
|
|
33094
33134
|
var forceLoadPrevMessages = false;
|
|
33095
33135
|
if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
|
|
33096
33136
|
forceLoadPrevMessages = true;
|
|
@@ -33105,51 +33145,68 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33105
33145
|
}
|
|
33106
33146
|
if (scrollToReply) {
|
|
33107
33147
|
target.scrollTop = scrollToReply;
|
|
33108
|
-
|
|
33109
|
-
|
|
33110
|
-
|
|
33111
|
-
|
|
33112
|
-
|
|
33113
|
-
|
|
33114
|
-
|
|
33115
|
-
|
|
33116
|
-
|
|
33117
|
-
|
|
33118
|
-
|
|
33119
|
-
|
|
33120
|
-
|
|
33121
|
-
|
|
33122
|
-
|
|
33148
|
+
return Promise.resolve();
|
|
33149
|
+
}
|
|
33150
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33151
|
+
var hasIndex = typeof currentIndex === 'number';
|
|
33152
|
+
if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
|
|
33153
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
|
|
33154
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
|
|
33155
|
+
shouldLoadMessagesRef.current = 'prev';
|
|
33156
|
+
} else {
|
|
33157
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33158
|
+
shouldLoadMessagesRef.current = '';
|
|
33159
|
+
}
|
|
33160
|
+
loadDirectionRef.current = 'prev';
|
|
33161
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33162
|
+
if (!getHasPrevCached()) {
|
|
33163
|
+
loadFromServerRef.current = true;
|
|
33123
33164
|
}
|
|
33165
|
+
nextDisableRef.current = true;
|
|
33124
33166
|
}
|
|
33125
33167
|
}
|
|
33126
|
-
|
|
33127
|
-
|
|
33128
|
-
|
|
33129
|
-
|
|
33130
|
-
|
|
33131
|
-
|
|
33132
|
-
|
|
33133
|
-
|
|
33134
|
-
loadDirection = 'next';
|
|
33135
|
-
prevDisable = true;
|
|
33136
|
-
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33168
|
+
}
|
|
33169
|
+
if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
|
|
33170
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
|
|
33171
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
|
|
33172
|
+
shouldLoadMessagesRef.current = 'next';
|
|
33173
|
+
} else {
|
|
33174
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33175
|
+
shouldLoadMessagesRef.current = '';
|
|
33137
33176
|
}
|
|
33177
|
+
loadDirectionRef.current = 'next';
|
|
33178
|
+
prevDisableRef.current = true;
|
|
33179
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33138
33180
|
}
|
|
33139
33181
|
}
|
|
33140
|
-
|
|
33141
|
-
|
|
33142
|
-
|
|
33182
|
+
}
|
|
33183
|
+
if (hasIndex && currentIndex > messages.length - 10) {
|
|
33184
|
+
nextDisableRef.current = false;
|
|
33143
33185
|
}
|
|
33144
33186
|
return Promise.resolve();
|
|
33145
33187
|
} catch (e) {
|
|
33146
33188
|
return Promise.reject(e);
|
|
33147
33189
|
}
|
|
33148
|
-
}, [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,
|
|
33190
|
+
}, [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]);
|
|
33191
|
+
var onScroll = useCallback(function () {
|
|
33192
|
+
if (scrollRafRef.current !== null) return;
|
|
33193
|
+
scrollRafRef.current = window.requestAnimationFrame(function () {
|
|
33194
|
+
scrollRafRef.current = null;
|
|
33195
|
+
handleMessagesListScroll();
|
|
33196
|
+
});
|
|
33197
|
+
}, [handleMessagesListScroll]);
|
|
33198
|
+
useEffect(function () {
|
|
33199
|
+
return function () {
|
|
33200
|
+
if (scrollRafRef.current !== null) {
|
|
33201
|
+
cancelAnimationFrame(scrollRafRef.current);
|
|
33202
|
+
scrollRafRef.current = null;
|
|
33203
|
+
}
|
|
33204
|
+
};
|
|
33205
|
+
}, []);
|
|
33149
33206
|
var handleScrollToRepliedMessage = function handleScrollToRepliedMessage(messageId) {
|
|
33150
33207
|
try {
|
|
33151
|
-
|
|
33152
|
-
|
|
33208
|
+
prevDisableRef.current = true;
|
|
33209
|
+
nextDisableRef.current = true;
|
|
33153
33210
|
if (messages.findIndex(function (msg) {
|
|
33154
33211
|
return msg.id === messageId;
|
|
33155
33212
|
}) >= 10) {
|
|
@@ -33163,8 +33220,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33163
33220
|
var positiveValue = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2 < 0 ? repliedMessage.offsetTop - scrollRef.current.offsetHeight * -1 : repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
|
|
33164
33221
|
setTimeout(function () {
|
|
33165
33222
|
repliedMessage.classList.remove('highlight');
|
|
33166
|
-
|
|
33167
|
-
|
|
33223
|
+
prevDisableRef.current = false;
|
|
33224
|
+
nextDisableRef.current = false;
|
|
33168
33225
|
}, 1000 + positiveValue * 0.1);
|
|
33169
33226
|
}
|
|
33170
33227
|
} else {
|
|
@@ -33185,10 +33242,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33185
33242
|
var hasNextCached = getHasNextCached();
|
|
33186
33243
|
if (messagesLoading === LOADING_STATE.LOADED && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33187
33244
|
if (direction === MESSAGE_LOAD_DIRECTION.PREV && firstMessageId && (hasPrevMessages || hasPrevCached)) {
|
|
33188
|
-
|
|
33245
|
+
loadingRef.current = true;
|
|
33189
33246
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, firstMessageId, hasPrevMessages));
|
|
33190
33247
|
} else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && lastMessageId && (hasNextMessages || hasNextCached)) {
|
|
33191
|
-
|
|
33248
|
+
loadingRef.current = true;
|
|
33192
33249
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, lastMessageId, hasNextMessages));
|
|
33193
33250
|
}
|
|
33194
33251
|
}
|
|
@@ -33219,39 +33276,42 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33219
33276
|
setIsDragging(false);
|
|
33220
33277
|
}
|
|
33221
33278
|
};
|
|
33279
|
+
var readDroppedFiles = function readDroppedFiles(e) {
|
|
33280
|
+
return new Promise(function (resolve) {
|
|
33281
|
+
var fileList = Object.values(e.dataTransfer.files);
|
|
33282
|
+
var attachmentsFiles = [];
|
|
33283
|
+
var readFiles = 0;
|
|
33284
|
+
var errorCount = 0;
|
|
33285
|
+
fileList.forEach(function (attachment) {
|
|
33286
|
+
var fileReader = new FileReader();
|
|
33287
|
+
fileReader.onload = function (event) {
|
|
33288
|
+
var file = event.target.result;
|
|
33289
|
+
attachmentsFiles.push({
|
|
33290
|
+
name: attachment.name,
|
|
33291
|
+
data: file,
|
|
33292
|
+
type: attachment.type
|
|
33293
|
+
});
|
|
33294
|
+
readFiles++;
|
|
33295
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33296
|
+
resolve(attachmentsFiles);
|
|
33297
|
+
}
|
|
33298
|
+
};
|
|
33299
|
+
fileReader.onerror = function () {
|
|
33300
|
+
errorCount++;
|
|
33301
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33302
|
+
resolve(attachmentsFiles);
|
|
33303
|
+
}
|
|
33304
|
+
};
|
|
33305
|
+
fileReader.readAsDataURL(attachment);
|
|
33306
|
+
});
|
|
33307
|
+
});
|
|
33308
|
+
};
|
|
33222
33309
|
var handleDropFile = function handleDropFile(e) {
|
|
33223
33310
|
e.preventDefault();
|
|
33224
33311
|
e.stopPropagation();
|
|
33225
33312
|
setIsDragging(false);
|
|
33226
33313
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33227
|
-
|
|
33228
|
-
new Promise(function (resolve) {
|
|
33229
|
-
var attachmentsFiles = [];
|
|
33230
|
-
var readFiles = 0;
|
|
33231
|
-
var errorCount = 0;
|
|
33232
|
-
fileList.forEach(function (attachment) {
|
|
33233
|
-
var fileReader = new FileReader();
|
|
33234
|
-
fileReader.onload = function (event) {
|
|
33235
|
-
var file = event.target.result;
|
|
33236
|
-
attachmentsFiles.push({
|
|
33237
|
-
name: attachment.name,
|
|
33238
|
-
data: file,
|
|
33239
|
-
type: attachment.type
|
|
33240
|
-
});
|
|
33241
|
-
readFiles++;
|
|
33242
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33243
|
-
resolve(attachmentsFiles);
|
|
33244
|
-
}
|
|
33245
|
-
};
|
|
33246
|
-
fileReader.onerror = function () {
|
|
33247
|
-
errorCount++;
|
|
33248
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33249
|
-
resolve(attachmentsFiles);
|
|
33250
|
-
}
|
|
33251
|
-
};
|
|
33252
|
-
fileReader.readAsDataURL(attachment);
|
|
33253
|
-
});
|
|
33254
|
-
}).then(function (result) {
|
|
33314
|
+
readDroppedFiles(e).then(function (result) {
|
|
33255
33315
|
dispatch(setDraggedAttachmentsAC(result, 'file'));
|
|
33256
33316
|
})["catch"](function (error) {
|
|
33257
33317
|
console.error('Error in handleDropFile:', error);
|
|
@@ -33264,34 +33324,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33264
33324
|
e.stopPropagation();
|
|
33265
33325
|
setIsDragging(false);
|
|
33266
33326
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33267
|
-
|
|
33268
|
-
new Promise(function (resolve) {
|
|
33269
|
-
var attachmentsFiles = [];
|
|
33270
|
-
var readFiles = 0;
|
|
33271
|
-
var errorCount = 0;
|
|
33272
|
-
fileList.forEach(function (attachment) {
|
|
33273
|
-
var fileReader = new FileReader();
|
|
33274
|
-
fileReader.onload = function (event) {
|
|
33275
|
-
var file = event.target.result;
|
|
33276
|
-
attachmentsFiles.push({
|
|
33277
|
-
name: attachment.name,
|
|
33278
|
-
data: file,
|
|
33279
|
-
type: attachment.type
|
|
33280
|
-
});
|
|
33281
|
-
readFiles++;
|
|
33282
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33283
|
-
resolve(attachmentsFiles);
|
|
33284
|
-
}
|
|
33285
|
-
};
|
|
33286
|
-
fileReader.onerror = function () {
|
|
33287
|
-
errorCount++;
|
|
33288
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33289
|
-
resolve(attachmentsFiles);
|
|
33290
|
-
}
|
|
33291
|
-
};
|
|
33292
|
-
fileReader.readAsDataURL(attachment);
|
|
33293
|
-
});
|
|
33294
|
-
}).then(function (result) {
|
|
33327
|
+
readDroppedFiles(e).then(function (result) {
|
|
33295
33328
|
dispatch(setDraggedAttachmentsAC(result, 'media'));
|
|
33296
33329
|
})["catch"](function (error) {
|
|
33297
33330
|
console.error('Error in handleDropMedia:', error);
|
|
@@ -33303,21 +33336,21 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33303
33336
|
var _messages, _channel$lastMessage2;
|
|
33304
33337
|
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) {
|
|
33305
33338
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33306
|
-
|
|
33339
|
+
prevDisableRef.current = false;
|
|
33307
33340
|
}
|
|
33308
33341
|
}, [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]);
|
|
33309
33342
|
useEffect(function () {
|
|
33310
33343
|
if (scrollToRepliedMessage) {
|
|
33311
|
-
|
|
33344
|
+
loadingRef.current = false;
|
|
33312
33345
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33313
33346
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33314
33347
|
if (repliedMessage) {
|
|
33315
33348
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
33316
33349
|
scrollRef.current.scrollTo({
|
|
33317
33350
|
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
33318
|
-
behavior:
|
|
33351
|
+
behavior: scrollToMessageBehavior
|
|
33319
33352
|
});
|
|
33320
|
-
scrollRef.current.style.scrollBehavior =
|
|
33353
|
+
scrollRef.current.style.scrollBehavior = scrollToMessageBehavior;
|
|
33321
33354
|
if (!channel.backToLinkedChannel && scrollToMessageHighlight) {
|
|
33322
33355
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
33323
33356
|
}
|
|
@@ -33327,9 +33360,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33327
33360
|
var _repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33328
33361
|
_repliedMessage && _repliedMessage.classList.remove('highlight');
|
|
33329
33362
|
}
|
|
33330
|
-
|
|
33363
|
+
prevDisableRef.current = false;
|
|
33331
33364
|
setScrollToReply(null);
|
|
33332
|
-
scrollRef.current.style.scrollBehavior = '
|
|
33365
|
+
scrollRef.current.style.scrollBehavior = 'instant';
|
|
33333
33366
|
}, 1000 + positiveValue * 0.1);
|
|
33334
33367
|
}
|
|
33335
33368
|
dispatch(setScrollToMessagesAC(null));
|
|
@@ -33345,15 +33378,15 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33345
33378
|
});
|
|
33346
33379
|
}
|
|
33347
33380
|
} else {
|
|
33348
|
-
|
|
33349
|
-
|
|
33381
|
+
nextDisableRef.current = true;
|
|
33382
|
+
prevDisableRef.current = true;
|
|
33350
33383
|
scrollRef.current.scrollTo({
|
|
33351
33384
|
top: 0,
|
|
33352
33385
|
behavior: 'smooth'
|
|
33353
33386
|
});
|
|
33354
33387
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33355
33388
|
setTimeout(function () {
|
|
33356
|
-
|
|
33389
|
+
prevDisableRef.current = false;
|
|
33357
33390
|
}, 800);
|
|
33358
33391
|
}
|
|
33359
33392
|
}
|
|
@@ -33371,11 +33404,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33371
33404
|
useEffect(function () {
|
|
33372
33405
|
setHasNextCached(false);
|
|
33373
33406
|
setHasPrevCached(false);
|
|
33407
|
+
messagesIndexMapRef.current = {};
|
|
33408
|
+
loadFromServerRef.current = false;
|
|
33409
|
+
loadDirectionRef.current = '';
|
|
33410
|
+
nextDisableRef.current = false;
|
|
33411
|
+
prevDisableRef.current = false;
|
|
33412
|
+
shouldLoadMessagesRef.current = '';
|
|
33413
|
+
loadingRef.current = false;
|
|
33374
33414
|
if (channel.backToLinkedChannel) {
|
|
33375
33415
|
var visibleMessages = getVisibleMessagesMap();
|
|
33376
33416
|
var visibleMessagesIds = Object.keys(visibleMessages);
|
|
33377
33417
|
var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
|
|
33378
|
-
dispatch(getMessagesAC(channel, undefined, messageId));
|
|
33418
|
+
dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
|
|
33379
33419
|
setUnreadMessageId(messageId);
|
|
33380
33420
|
} else {
|
|
33381
33421
|
if (!channel.isLinkedChannel) {
|
|
@@ -33398,9 +33438,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33398
33438
|
}
|
|
33399
33439
|
setPreviousScrollTop(0);
|
|
33400
33440
|
setShouldPreserveScroll(false);
|
|
33401
|
-
|
|
33402
|
-
|
|
33403
|
-
|
|
33441
|
+
nextDisableRef.current = false;
|
|
33442
|
+
prevDisableRef.current = false;
|
|
33443
|
+
scrollToBottomRef.current = true;
|
|
33404
33444
|
setAllowEditDeleteIncomingMessage(allowEditDeleteIncomingMessage);
|
|
33405
33445
|
}, [channel.id]);
|
|
33406
33446
|
useEffect(function () {
|
|
@@ -33415,7 +33455,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33415
33455
|
setUnreadMessageId('');
|
|
33416
33456
|
}
|
|
33417
33457
|
}
|
|
33418
|
-
}, [messages]);
|
|
33458
|
+
}, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
|
|
33419
33459
|
useEffect(function () {
|
|
33420
33460
|
if (scrollRef.current) {
|
|
33421
33461
|
var isAtBottom = scrollRef.current.scrollTop > -50;
|
|
@@ -33424,35 +33464,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33424
33464
|
setShouldPreserveScroll(true);
|
|
33425
33465
|
}
|
|
33426
33466
|
}
|
|
33427
|
-
if (
|
|
33428
|
-
if (
|
|
33467
|
+
if (loadingRef.current) {
|
|
33468
|
+
if (loadDirectionRef.current !== 'next') {
|
|
33429
33469
|
var lastVisibleMessage = document.getElementById(lastVisibleMessageId);
|
|
33430
33470
|
if (lastVisibleMessage) {
|
|
33431
33471
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33432
33472
|
scrollRef.current.scrollTop = lastVisibleMessage.offsetTop;
|
|
33433
33473
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33434
33474
|
}
|
|
33435
|
-
if (
|
|
33436
|
-
setTimeout(function () {
|
|
33437
|
-
|
|
33438
|
-
|
|
33439
|
-
|
|
33440
|
-
|
|
33475
|
+
if (loadFromServerRef.current) {
|
|
33476
|
+
var timeout = setTimeout(function () {
|
|
33477
|
+
loadingRef.current = false;
|
|
33478
|
+
loadFromServerRef.current = false;
|
|
33479
|
+
nextDisableRef.current = false;
|
|
33480
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33481
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33441
33482
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33442
33483
|
}
|
|
33443
|
-
if (
|
|
33484
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33444
33485
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33445
33486
|
}
|
|
33446
33487
|
}, 50);
|
|
33488
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33489
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33490
|
+
}
|
|
33491
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33447
33492
|
} else {
|
|
33448
|
-
|
|
33449
|
-
if (
|
|
33493
|
+
loadingRef.current = false;
|
|
33494
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33450
33495
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33451
|
-
|
|
33496
|
+
shouldLoadMessagesRef.current = '';
|
|
33452
33497
|
}
|
|
33453
|
-
if (
|
|
33498
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33454
33499
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33455
|
-
|
|
33500
|
+
shouldLoadMessagesRef.current = '';
|
|
33456
33501
|
}
|
|
33457
33502
|
}
|
|
33458
33503
|
} else {
|
|
@@ -33462,22 +33507,26 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33462
33507
|
scrollRef.current.scrollTop = _lastVisibleMessage.offsetTop - scrollRef.current.offsetHeight + _lastVisibleMessage.offsetHeight;
|
|
33463
33508
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33464
33509
|
}
|
|
33465
|
-
|
|
33466
|
-
|
|
33467
|
-
if (
|
|
33510
|
+
loadingRef.current = false;
|
|
33511
|
+
prevDisableRef.current = false;
|
|
33512
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33468
33513
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33469
|
-
|
|
33514
|
+
shouldLoadMessagesRef.current = '';
|
|
33470
33515
|
}
|
|
33471
|
-
if (
|
|
33516
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33472
33517
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33473
|
-
|
|
33518
|
+
shouldLoadMessagesRef.current = '';
|
|
33474
33519
|
}
|
|
33475
33520
|
}
|
|
33476
33521
|
}
|
|
33477
33522
|
renderTopDate();
|
|
33478
|
-
if (
|
|
33479
|
-
|
|
33480
|
-
|
|
33523
|
+
if (scrollToBottomRef.current) {
|
|
33524
|
+
if (channel.backToLinkedChannel) {
|
|
33525
|
+
dispatch(scrollToNewMessageAC(false));
|
|
33526
|
+
} else {
|
|
33527
|
+
dispatch(scrollToNewMessageAC(true));
|
|
33528
|
+
}
|
|
33529
|
+
scrollToBottomRef.current = false;
|
|
33481
33530
|
}
|
|
33482
33531
|
if (shouldPreserveScroll && scrollRef.current && previousScrollTop > 0) {
|
|
33483
33532
|
requestAnimationFrame(function () {
|
|
@@ -33490,13 +33539,43 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33490
33539
|
setPreviousScrollTop(0);
|
|
33491
33540
|
});
|
|
33492
33541
|
}
|
|
33542
|
+
return function () {
|
|
33543
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33544
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33545
|
+
}
|
|
33546
|
+
};
|
|
33493
33547
|
}, [messages]);
|
|
33548
|
+
useEffect(function () {
|
|
33549
|
+
if (messagesLoading === LOADING_STATE.LOADED) {
|
|
33550
|
+
var timeout = setTimeout(function () {
|
|
33551
|
+
loadingRef.current = false;
|
|
33552
|
+
loadFromServerRef.current = false;
|
|
33553
|
+
nextDisableRef.current = false;
|
|
33554
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33555
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33556
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33557
|
+
}
|
|
33558
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33559
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33560
|
+
}
|
|
33561
|
+
}, 50);
|
|
33562
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33563
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33564
|
+
}
|
|
33565
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33566
|
+
}
|
|
33567
|
+
return function () {
|
|
33568
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33569
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33570
|
+
}
|
|
33571
|
+
};
|
|
33572
|
+
}, [messagesLoading, messages, lastVisibleMessageId]);
|
|
33494
33573
|
useEffect(function () {
|
|
33495
33574
|
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
33496
33575
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33497
|
-
|
|
33498
|
-
|
|
33499
|
-
|
|
33576
|
+
loadingRef.current = false;
|
|
33577
|
+
prevDisableRef.current = false;
|
|
33578
|
+
nextDisableRef.current = false;
|
|
33500
33579
|
clearMessagesMap();
|
|
33501
33580
|
removeAllMessages();
|
|
33502
33581
|
if (channel.id) {
|
|
@@ -33505,7 +33584,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33505
33584
|
}
|
|
33506
33585
|
}, [connectionStatus]);
|
|
33507
33586
|
useEffect(function () {
|
|
33508
|
-
|
|
33587
|
+
var unreadScrollTo = getUnreadScrollTo();
|
|
33588
|
+
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
33509
33589
|
if (scrollRef.current) {
|
|
33510
33590
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33511
33591
|
}
|
|
@@ -33518,7 +33598,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33518
33598
|
setUnreadScrollTo(false);
|
|
33519
33599
|
}
|
|
33520
33600
|
}
|
|
33521
|
-
});
|
|
33601
|
+
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
33602
|
+
useEffect(function () {
|
|
33603
|
+
return function () {
|
|
33604
|
+
if (hideTopDateTimeout.current) {
|
|
33605
|
+
clearTimeout(hideTopDateTimeout.current);
|
|
33606
|
+
}
|
|
33607
|
+
};
|
|
33608
|
+
}, []);
|
|
33522
33609
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isDragging && !(attachmentsPreview !== null && attachmentsPreview !== void 0 && attachmentsPreview.show && mediaFile) && (/*#__PURE__*/React__default.createElement(DragAndDropContainer, {
|
|
33523
33610
|
id: 'draggingContainer',
|
|
33524
33611
|
draggable: true,
|
|
@@ -33561,14 +33648,12 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33561
33648
|
dateDividerBackgroundColor: dateDividerBackgroundColor || overlayBackground,
|
|
33562
33649
|
dateDividerBorderRadius: dateDividerBorderRadius,
|
|
33563
33650
|
topOffset: scrollRef && scrollRef.current && scrollRef.current.offsetTop
|
|
33564
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
33565
|
-
ref: messageTopDateRef
|
|
33566
|
-
}))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33651
|
+
}, /*#__PURE__*/React__default.createElement("span", null, topDateLabel))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33567
33652
|
id: 'scrollableDiv',
|
|
33568
33653
|
className: isScrolling ? 'show-scrollbar' : '',
|
|
33569
33654
|
ref: scrollRef,
|
|
33570
33655
|
stopScrolling: stopScrolling,
|
|
33571
|
-
onScroll:
|
|
33656
|
+
onScroll: onScroll,
|
|
33572
33657
|
onMouseEnter: function onMouseEnter() {
|
|
33573
33658
|
return setIsScrolling(true);
|
|
33574
33659
|
},
|
|
@@ -33587,8 +33672,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33587
33672
|
var prevMessage = messages[index - 1];
|
|
33588
33673
|
var nextMessage = messages[index + 1];
|
|
33589
33674
|
var isUnreadMessage = !!(unreadMessageId && unreadMessageId === message.id && nextMessage) && !channel.backToLinkedChannel;
|
|
33590
|
-
|
|
33591
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment,
|
|
33675
|
+
messagesIndexMapRef.current[message.id] = index;
|
|
33676
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
|
33677
|
+
key: message.id || message.tid
|
|
33678
|
+
}, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
|
|
33592
33679
|
noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
|
|
33593
33680
|
theme: theme,
|
|
33594
33681
|
lastIndex: false,
|
|
@@ -41118,10 +41205,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
|
|
|
41118
41205
|
};
|
|
41119
41206
|
var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {
|
|
41120
41207
|
try {
|
|
41121
|
-
dispatch(scrollToNewMessageAC(true, false, false));
|
|
41122
41208
|
if (messages.findIndex(function (msg) {
|
|
41123
41209
|
return msg.id === messageId;
|
|
41124
41210
|
}) >= 10) {
|
|
41211
|
+
dispatch(scrollToNewMessageAC(true, false, false));
|
|
41125
41212
|
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
41126
41213
|
var repliedMessage = document.getElementById(messageId);
|
|
41127
41214
|
if (repliedMessage) {
|