sceyt-chat-react-uikit 1.7.7 → 1.7.8-beta.1

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.
Files changed (3) hide show
  1. package/index.js +78 -41
  2. package/index.modern.js +78 -41
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -11913,7 +11913,7 @@ var _messageSlice$actions = messageSlice.actions,
11913
11913
  var MessageReducer = messageSlice.reducer;
11914
11914
 
11915
11915
  var initialState$2 = {
11916
- membersLoadingState: false,
11916
+ membersLoadingState: 0,
11917
11917
  membersHasNext: true,
11918
11918
  activeChannelMembers: [],
11919
11919
  roles: [],
@@ -11998,6 +11998,9 @@ var memberSlice = createSlice({
11998
11998
  } else {
11999
11999
  state.getRolesFail = undefined;
12000
12000
  }
12001
+ },
12002
+ setMembersHasNext: function setMembersHasNext(state, action) {
12003
+ state.membersHasNext = action.payload.hasNext;
12001
12004
  }
12002
12005
  },
12003
12006
  extraReducers: function extraReducers(builder) {
@@ -12014,7 +12017,8 @@ var _memberSlice$actions = memberSlice.actions,
12014
12017
  removeMemberFromList = _memberSlice$actions.removeMemberFromList,
12015
12018
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12016
12019
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12017
- getRolesFail = _memberSlice$actions.getRolesFail;
12020
+ getRolesFail = _memberSlice$actions.getRolesFail,
12021
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext;
12018
12022
  var MembersReducer = memberSlice.reducer;
12019
12023
 
12020
12024
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -13190,7 +13194,7 @@ var updateMembersPresenceAC = function updateMembersPresenceAC(usersMap) {
13190
13194
  };
13191
13195
  var setMembersLoadingStateAC = function setMembersLoadingStateAC(state) {
13192
13196
  return setMembersLoadingState({
13193
- state: !!state
13197
+ state: state
13194
13198
  });
13195
13199
  };
13196
13200
  var removeMemberFromListAC = function removeMemberFromListAC(members) {
@@ -13209,6 +13213,11 @@ var getRolesFailAC = function getRolesFailAC(timeout, attempts) {
13209
13213
  attempts: attempts
13210
13214
  });
13211
13215
  };
13216
+ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13217
+ return setMembersHasNext({
13218
+ hasNext: hasNext
13219
+ });
13220
+ };
13212
13221
 
13213
13222
  var connectionStatusSelector = function connectionStatusSelector(store) {
13214
13223
  return store.UserReducer.connectionStatus;
@@ -14157,7 +14166,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
14157
14166
  var _marked = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersAdd),
14158
14167
  _marked2 = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersRemove);
14159
14168
  function updateActiveChannelMembersAdd(addedMembers) {
14160
- var state, activeChannel, updatedMembers;
14169
+ var state, activeChannel, members, shouldUpdateMembers, updatedMembers;
14161
14170
  return _regenerator().w(function (_context) {
14162
14171
  while (1) switch (_context.n) {
14163
14172
  case 0:
@@ -14166,11 +14175,17 @@ function updateActiveChannelMembersAdd(addedMembers) {
14166
14175
  case 1:
14167
14176
  state = _context.v;
14168
14177
  activeChannel = state.ChannelReducer.activeChannel;
14178
+ members = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members) || [];
14179
+ shouldUpdateMembers = addedMembers.filter(function (member) {
14180
+ return !members.some(function (m) {
14181
+ return m.id === member.id;
14182
+ });
14183
+ });
14169
14184
  if (!(activeChannel && activeChannel.id)) {
14170
14185
  _context.n = 2;
14171
14186
  break;
14172
14187
  }
14173
- updatedMembers = [].concat(activeChannel.members || [], addedMembers);
14188
+ updatedMembers = [].concat(activeChannel.members || [], shouldUpdateMembers);
14174
14189
  updatedMembers = Array.from(new Set(updatedMembers));
14175
14190
  return _context.a(2, {
14176
14191
  members: updatedMembers
@@ -22245,54 +22260,71 @@ var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
22245
22260
  _marked8$2 = /*#__PURE__*/_regenerator().m(getRoles),
22246
22261
  _marked9$2 = /*#__PURE__*/_regenerator().m(MembersSaga);
22247
22262
  function getMembers(action) {
22248
- var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, _t;
22263
+ var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, hasNext, updateChannelData, _t;
22249
22264
  return _regenerator().w(function (_context) {
22250
22265
  while (1) switch (_context.p = _context.n) {
22251
22266
  case 0:
22252
22267
  _context.p = 0;
22268
+ _context.n = 1;
22269
+ return effects.put(setMembersHasNextAC(true));
22270
+ case 1:
22253
22271
  payload = action.payload;
22254
22272
  channelId = payload.channelId;
22255
22273
  if (channelId) {
22256
- _context.n = 1;
22274
+ _context.n = 2;
22257
22275
  break;
22258
22276
  }
22259
22277
  return _context.a(2);
22260
- case 1:
22278
+ case 2:
22261
22279
  SceytChatClient = getClient();
22262
22280
  membersQueryBuilder = new SceytChatClient.MemberListQueryBuilder(channelId);
22263
22281
  membersQueryBuilder.all().byAffiliationOrder().orderKeyByUsername().limit(50);
22264
- _context.n = 2;
22282
+ _context.n = 3;
22265
22283
  return effects.call(membersQueryBuilder.build);
22266
- case 2:
22284
+ case 3:
22267
22285
  membersQuery = _context.v;
22268
22286
  query.membersQuery = membersQuery;
22269
- _context.n = 3;
22270
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22271
- case 3:
22272
22287
  _context.n = 4;
22273
- return effects.call(membersQuery.loadNextPage);
22288
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22274
22289
  case 4:
22275
- _yield$call = _context.v;
22276
- members = _yield$call.members;
22277
22290
  _context.n = 5;
22278
- return effects.put(setMembersToListAC(members));
22291
+ return effects.call(membersQuery.loadNextPage);
22279
22292
  case 5:
22293
+ _yield$call = _context.v;
22294
+ members = _yield$call.members;
22295
+ hasNext = _yield$call.hasNext;
22280
22296
  _context.n = 6;
22281
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22297
+ return effects.put(setMembersToListAC(members));
22282
22298
  case 6:
22299
+ _context.n = 7;
22300
+ return effects.put(setMembersHasNextAC(hasNext));
22301
+ case 7:
22283
22302
  _context.n = 8;
22303
+ return effects.call(updateActiveChannelMembersAdd, members) || {};
22304
+ case 8:
22305
+ updateChannelData = _context.v;
22306
+ _context.n = 9;
22307
+ return effects.put(updateChannelDataAC(channelId, updateChannelData));
22308
+ case 9:
22309
+ _context.n = 11;
22284
22310
  break;
22285
- case 7:
22286
- _context.p = 7;
22311
+ case 10:
22312
+ _context.p = 10;
22287
22313
  _t = _context.v;
22288
22314
  log.error('ERROR in get members - ', _t.message);
22289
- case 8:
22315
+ case 11:
22316
+ _context.p = 11;
22317
+ _context.n = 12;
22318
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22319
+ case 12:
22320
+ return _context.f(11);
22321
+ case 13:
22290
22322
  return _context.a(2);
22291
22323
  }
22292
- }, _marked$4, null, [[0, 7]]);
22324
+ }, _marked$4, null, [[0, 10, 11, 13]]);
22293
22325
  }
22294
22326
  function loadMoreMembers(action) {
22295
- var payload, limit, channelId, membersQuery, _yield$call2, members, updateChannelData;
22327
+ var payload, limit, channelId, membersQuery, _yield$call2, members, hasNext, updateChannelData;
22296
22328
  return _regenerator().w(function (_context2) {
22297
22329
  while (1) switch (_context2.p = _context2.n) {
22298
22330
  case 0:
@@ -22312,27 +22344,34 @@ function loadMoreMembers(action) {
22312
22344
  case 2:
22313
22345
  _yield$call2 = _context2.v;
22314
22346
  members = _yield$call2.members;
22347
+ hasNext = _yield$call2.hasNext;
22315
22348
  _context2.n = 3;
22316
22349
  return effects.put(addMembersToListAC(members));
22317
22350
  case 3:
22318
22351
  _context2.n = 4;
22319
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22352
+ return effects.put(setMembersHasNextAC(hasNext));
22320
22353
  case 4:
22321
22354
  _context2.n = 5;
22322
22355
  return effects.call(updateActiveChannelMembersAdd, members) || {};
22323
22356
  case 5:
22324
22357
  updateChannelData = _context2.v;
22325
22358
  _context2.n = 6;
22326
- return effects.put(updateChannelDataAC(channelId, _extends({}, updateChannelData)));
22359
+ return effects.put(updateChannelDataAC(channelId, updateChannelData));
22327
22360
  case 6:
22328
22361
  _context2.n = 8;
22329
22362
  break;
22330
22363
  case 7:
22331
22364
  _context2.p = 7;
22332
22365
  case 8:
22366
+ _context2.p = 8;
22367
+ _context2.n = 9;
22368
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22369
+ case 9:
22370
+ return _context2.f(8);
22371
+ case 10:
22333
22372
  return _context2.a(2);
22334
22373
  }
22335
- }, _marked2$3, null, [[0, 7]]);
22374
+ }, _marked2$3, null, [[0, 7, 8, 10]]);
22336
22375
  }
22337
22376
  function addMembers(action) {
22338
22377
  var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
@@ -23108,6 +23147,9 @@ var rolesMapSelector = function rolesMapSelector(store) {
23108
23147
  var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23109
23148
  return store.MembersReducer.membersLoadingState;
23110
23149
  };
23150
+ var membersHasNextSelector = function membersHasNextSelector(store) {
23151
+ return store.MembersReducer.membersHasNext;
23152
+ };
23111
23153
 
23112
23154
  var useDidUpdate = function useDidUpdate(callback, deps) {
23113
23155
  var hasMount = React.useRef(false);
@@ -43329,7 +43371,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43329
43371
  if (activeChannel.id) {
43330
43372
  prevActiveChannelId = activeChannel.id;
43331
43373
  }
43332
- dispatch(getMembersAC(activeChannel.id));
43374
+ if (activeChannel.id) {
43375
+ dispatch(getMembersAC(activeChannel.id));
43376
+ }
43333
43377
  setMentionedUsers([]);
43334
43378
  }, [activeChannel.id]);
43335
43379
  React.useEffect(function () {
@@ -45939,19 +45983,11 @@ var Members = function Members(_ref) {
45939
45983
  setCloseMenu = _useState9[1];
45940
45984
  var members = useSelector(activeChannelMembersSelector) || [];
45941
45985
  var contactsMap = useSelector(contactsMapSelector) || {};
45942
- var membersLoading = useSelector(membersLoadingStateSelector) || {};
45943
45986
  var user = getClient().user;
45944
45987
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45945
45988
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
45946
45989
  var displayMemberText = memberDisplayText && memberDisplayText[channel.type] ? memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'subscribers' : 'members';
45947
45990
  var noMemberEditPermissions = !checkActionPermission('changeMemberRole') && !checkActionPermission('kickAndBlockMember') && !checkActionPermission('kickMember');
45948
- var handleMembersListScroll = function handleMembersListScroll(event) {
45949
- if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
45950
- if (membersLoading === LOADING_STATE.LOADED) {
45951
- dispatch(loadMoreMembersAC(15, channel.id));
45952
- }
45953
- }
45954
- };
45955
45991
  var watchDropdownState = function watchDropdownState(state, memberId) {
45956
45992
  if (state) {
45957
45993
  setCloseMenu(memberId);
@@ -46049,16 +46085,16 @@ var Members = function Members(_ref) {
46049
46085
  if (getFromContacts) {
46050
46086
  dispatch(getContactsAC());
46051
46087
  }
46052
- dispatch(getMembersAC(channel.id));
46053
- }, [channel]);
46088
+ if (channel !== null && channel !== void 0 && channel.id) {
46089
+ dispatch(getMembersAC(channel.id));
46090
+ }
46091
+ }, [channel === null || channel === void 0 ? void 0 : channel.id]);
46054
46092
  var currentUserRole = (_members$find = members.find(function (member) {
46055
46093
  return member.id === user.id;
46056
46094
  })) === null || _members$find === void 0 ? void 0 : _members$find.role;
46057
46095
  return /*#__PURE__*/React__default.createElement(Container$o, {
46058
46096
  theme: theme
46059
- }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, {
46060
- onScroll: handleMembersListScroll
46061
- }, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46097
+ }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, null, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46062
46098
  key: 1,
46063
46099
  onClick: handleAddMemberPopup,
46064
46100
  color: textPrimary,
@@ -47463,6 +47499,7 @@ var Details = function Details(_ref) {
47463
47499
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
47464
47500
  checkActionPermission = _usePermissions[0];
47465
47501
  var membersLoading = useSelector(membersLoadingStateSelector);
47502
+ var membersHasNext = useSelector(membersHasNextSelector);
47466
47503
  var messagesLoading = useSelector(messagesLoadingState);
47467
47504
  var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
47468
47505
  var contactsMap = useSelector(contactsMapSelector);
@@ -47486,7 +47523,7 @@ var Details = function Details(_ref) {
47486
47523
  var handleMembersListScroll = function handleMembersListScroll(event) {
47487
47524
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
47488
47525
  if (activeTab === channelDetailsTabs.member) {
47489
- if (membersLoading === LOADING_STATE.LOADED) {
47526
+ if (membersLoading === LOADING_STATE.LOADED && membersHasNext) {
47490
47527
  dispatch(loadMoreMembersAC(15, activeChannel.id));
47491
47528
  }
47492
47529
  } else if (messagesLoading === LOADING_STATE.LOADED && attachmentsHasNex) {
package/index.modern.js CHANGED
@@ -11912,7 +11912,7 @@ var _messageSlice$actions = messageSlice.actions,
11912
11912
  var MessageReducer = messageSlice.reducer;
11913
11913
 
11914
11914
  var initialState$2 = {
11915
- membersLoadingState: false,
11915
+ membersLoadingState: 0,
11916
11916
  membersHasNext: true,
11917
11917
  activeChannelMembers: [],
11918
11918
  roles: [],
@@ -11997,6 +11997,9 @@ var memberSlice = createSlice({
11997
11997
  } else {
11998
11998
  state.getRolesFail = undefined;
11999
11999
  }
12000
+ },
12001
+ setMembersHasNext: function setMembersHasNext(state, action) {
12002
+ state.membersHasNext = action.payload.hasNext;
12000
12003
  }
12001
12004
  },
12002
12005
  extraReducers: function extraReducers(builder) {
@@ -12013,7 +12016,8 @@ var _memberSlice$actions = memberSlice.actions,
12013
12016
  removeMemberFromList = _memberSlice$actions.removeMemberFromList,
12014
12017
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12015
12018
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12016
- getRolesFail = _memberSlice$actions.getRolesFail;
12019
+ getRolesFail = _memberSlice$actions.getRolesFail,
12020
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext;
12017
12021
  var MembersReducer = memberSlice.reducer;
12018
12022
 
12019
12023
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -13189,7 +13193,7 @@ var updateMembersPresenceAC = function updateMembersPresenceAC(usersMap) {
13189
13193
  };
13190
13194
  var setMembersLoadingStateAC = function setMembersLoadingStateAC(state) {
13191
13195
  return setMembersLoadingState({
13192
- state: !!state
13196
+ state: state
13193
13197
  });
13194
13198
  };
13195
13199
  var removeMemberFromListAC = function removeMemberFromListAC(members) {
@@ -13208,6 +13212,11 @@ var getRolesFailAC = function getRolesFailAC(timeout, attempts) {
13208
13212
  attempts: attempts
13209
13213
  });
13210
13214
  };
13215
+ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13216
+ return setMembersHasNext({
13217
+ hasNext: hasNext
13218
+ });
13219
+ };
13211
13220
 
13212
13221
  var connectionStatusSelector = function connectionStatusSelector(store) {
13213
13222
  return store.UserReducer.connectionStatus;
@@ -14156,7 +14165,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
14156
14165
  var _marked = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersAdd),
14157
14166
  _marked2 = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersRemove);
14158
14167
  function updateActiveChannelMembersAdd(addedMembers) {
14159
- var state, activeChannel, updatedMembers;
14168
+ var state, activeChannel, members, shouldUpdateMembers, updatedMembers;
14160
14169
  return _regenerator().w(function (_context) {
14161
14170
  while (1) switch (_context.n) {
14162
14171
  case 0:
@@ -14165,11 +14174,17 @@ function updateActiveChannelMembersAdd(addedMembers) {
14165
14174
  case 1:
14166
14175
  state = _context.v;
14167
14176
  activeChannel = state.ChannelReducer.activeChannel;
14177
+ members = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members) || [];
14178
+ shouldUpdateMembers = addedMembers.filter(function (member) {
14179
+ return !members.some(function (m) {
14180
+ return m.id === member.id;
14181
+ });
14182
+ });
14168
14183
  if (!(activeChannel && activeChannel.id)) {
14169
14184
  _context.n = 2;
14170
14185
  break;
14171
14186
  }
14172
- updatedMembers = [].concat(activeChannel.members || [], addedMembers);
14187
+ updatedMembers = [].concat(activeChannel.members || [], shouldUpdateMembers);
14173
14188
  updatedMembers = Array.from(new Set(updatedMembers));
14174
14189
  return _context.a(2, {
14175
14190
  members: updatedMembers
@@ -22244,54 +22259,71 @@ var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
22244
22259
  _marked8$2 = /*#__PURE__*/_regenerator().m(getRoles),
22245
22260
  _marked9$2 = /*#__PURE__*/_regenerator().m(MembersSaga);
22246
22261
  function getMembers(action) {
22247
- var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, _t;
22262
+ var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, hasNext, updateChannelData, _t;
22248
22263
  return _regenerator().w(function (_context) {
22249
22264
  while (1) switch (_context.p = _context.n) {
22250
22265
  case 0:
22251
22266
  _context.p = 0;
22267
+ _context.n = 1;
22268
+ return put(setMembersHasNextAC(true));
22269
+ case 1:
22252
22270
  payload = action.payload;
22253
22271
  channelId = payload.channelId;
22254
22272
  if (channelId) {
22255
- _context.n = 1;
22273
+ _context.n = 2;
22256
22274
  break;
22257
22275
  }
22258
22276
  return _context.a(2);
22259
- case 1:
22277
+ case 2:
22260
22278
  SceytChatClient = getClient();
22261
22279
  membersQueryBuilder = new SceytChatClient.MemberListQueryBuilder(channelId);
22262
22280
  membersQueryBuilder.all().byAffiliationOrder().orderKeyByUsername().limit(50);
22263
- _context.n = 2;
22281
+ _context.n = 3;
22264
22282
  return call(membersQueryBuilder.build);
22265
- case 2:
22283
+ case 3:
22266
22284
  membersQuery = _context.v;
22267
22285
  query.membersQuery = membersQuery;
22268
- _context.n = 3;
22269
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22270
- case 3:
22271
22286
  _context.n = 4;
22272
- return call(membersQuery.loadNextPage);
22287
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22273
22288
  case 4:
22274
- _yield$call = _context.v;
22275
- members = _yield$call.members;
22276
22289
  _context.n = 5;
22277
- return put(setMembersToListAC(members));
22290
+ return call(membersQuery.loadNextPage);
22278
22291
  case 5:
22292
+ _yield$call = _context.v;
22293
+ members = _yield$call.members;
22294
+ hasNext = _yield$call.hasNext;
22279
22295
  _context.n = 6;
22280
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22296
+ return put(setMembersToListAC(members));
22281
22297
  case 6:
22298
+ _context.n = 7;
22299
+ return put(setMembersHasNextAC(hasNext));
22300
+ case 7:
22282
22301
  _context.n = 8;
22302
+ return call(updateActiveChannelMembersAdd, members) || {};
22303
+ case 8:
22304
+ updateChannelData = _context.v;
22305
+ _context.n = 9;
22306
+ return put(updateChannelDataAC(channelId, updateChannelData));
22307
+ case 9:
22308
+ _context.n = 11;
22283
22309
  break;
22284
- case 7:
22285
- _context.p = 7;
22310
+ case 10:
22311
+ _context.p = 10;
22286
22312
  _t = _context.v;
22287
22313
  log.error('ERROR in get members - ', _t.message);
22288
- case 8:
22314
+ case 11:
22315
+ _context.p = 11;
22316
+ _context.n = 12;
22317
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22318
+ case 12:
22319
+ return _context.f(11);
22320
+ case 13:
22289
22321
  return _context.a(2);
22290
22322
  }
22291
- }, _marked$4, null, [[0, 7]]);
22323
+ }, _marked$4, null, [[0, 10, 11, 13]]);
22292
22324
  }
22293
22325
  function loadMoreMembers(action) {
22294
- var payload, limit, channelId, membersQuery, _yield$call2, members, updateChannelData;
22326
+ var payload, limit, channelId, membersQuery, _yield$call2, members, hasNext, updateChannelData;
22295
22327
  return _regenerator().w(function (_context2) {
22296
22328
  while (1) switch (_context2.p = _context2.n) {
22297
22329
  case 0:
@@ -22311,27 +22343,34 @@ function loadMoreMembers(action) {
22311
22343
  case 2:
22312
22344
  _yield$call2 = _context2.v;
22313
22345
  members = _yield$call2.members;
22346
+ hasNext = _yield$call2.hasNext;
22314
22347
  _context2.n = 3;
22315
22348
  return put(addMembersToListAC(members));
22316
22349
  case 3:
22317
22350
  _context2.n = 4;
22318
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22351
+ return put(setMembersHasNextAC(hasNext));
22319
22352
  case 4:
22320
22353
  _context2.n = 5;
22321
22354
  return call(updateActiveChannelMembersAdd, members) || {};
22322
22355
  case 5:
22323
22356
  updateChannelData = _context2.v;
22324
22357
  _context2.n = 6;
22325
- return put(updateChannelDataAC(channelId, _extends({}, updateChannelData)));
22358
+ return put(updateChannelDataAC(channelId, updateChannelData));
22326
22359
  case 6:
22327
22360
  _context2.n = 8;
22328
22361
  break;
22329
22362
  case 7:
22330
22363
  _context2.p = 7;
22331
22364
  case 8:
22365
+ _context2.p = 8;
22366
+ _context2.n = 9;
22367
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22368
+ case 9:
22369
+ return _context2.f(8);
22370
+ case 10:
22332
22371
  return _context2.a(2);
22333
22372
  }
22334
- }, _marked2$3, null, [[0, 7]]);
22373
+ }, _marked2$3, null, [[0, 7, 8, 10]]);
22335
22374
  }
22336
22375
  function addMembers(action) {
22337
22376
  var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
@@ -23107,6 +23146,9 @@ var rolesMapSelector = function rolesMapSelector(store) {
23107
23146
  var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23108
23147
  return store.MembersReducer.membersLoadingState;
23109
23148
  };
23149
+ var membersHasNextSelector = function membersHasNextSelector(store) {
23150
+ return store.MembersReducer.membersHasNext;
23151
+ };
23110
23152
 
23111
23153
  var useDidUpdate = function useDidUpdate(callback, deps) {
23112
23154
  var hasMount = useRef(false);
@@ -43328,7 +43370,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43328
43370
  if (activeChannel.id) {
43329
43371
  prevActiveChannelId = activeChannel.id;
43330
43372
  }
43331
- dispatch(getMembersAC(activeChannel.id));
43373
+ if (activeChannel.id) {
43374
+ dispatch(getMembersAC(activeChannel.id));
43375
+ }
43332
43376
  setMentionedUsers([]);
43333
43377
  }, [activeChannel.id]);
43334
43378
  useEffect(function () {
@@ -45938,19 +45982,11 @@ var Members = function Members(_ref) {
45938
45982
  setCloseMenu = _useState9[1];
45939
45983
  var members = useSelector(activeChannelMembersSelector) || [];
45940
45984
  var contactsMap = useSelector(contactsMapSelector) || {};
45941
- var membersLoading = useSelector(membersLoadingStateSelector) || {};
45942
45985
  var user = getClient().user;
45943
45986
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45944
45987
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
45945
45988
  var displayMemberText = memberDisplayText && memberDisplayText[channel.type] ? memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'subscribers' : 'members';
45946
45989
  var noMemberEditPermissions = !checkActionPermission('changeMemberRole') && !checkActionPermission('kickAndBlockMember') && !checkActionPermission('kickMember');
45947
- var handleMembersListScroll = function handleMembersListScroll(event) {
45948
- if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
45949
- if (membersLoading === LOADING_STATE.LOADED) {
45950
- dispatch(loadMoreMembersAC(15, channel.id));
45951
- }
45952
- }
45953
- };
45954
45990
  var watchDropdownState = function watchDropdownState(state, memberId) {
45955
45991
  if (state) {
45956
45992
  setCloseMenu(memberId);
@@ -46048,16 +46084,16 @@ var Members = function Members(_ref) {
46048
46084
  if (getFromContacts) {
46049
46085
  dispatch(getContactsAC());
46050
46086
  }
46051
- dispatch(getMembersAC(channel.id));
46052
- }, [channel]);
46087
+ if (channel !== null && channel !== void 0 && channel.id) {
46088
+ dispatch(getMembersAC(channel.id));
46089
+ }
46090
+ }, [channel === null || channel === void 0 ? void 0 : channel.id]);
46053
46091
  var currentUserRole = (_members$find = members.find(function (member) {
46054
46092
  return member.id === user.id;
46055
46093
  })) === null || _members$find === void 0 ? void 0 : _members$find.role;
46056
46094
  return /*#__PURE__*/React__default.createElement(Container$o, {
46057
46095
  theme: theme
46058
- }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, {
46059
- onScroll: handleMembersListScroll
46060
- }, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46096
+ }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, null, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46061
46097
  key: 1,
46062
46098
  onClick: handleAddMemberPopup,
46063
46099
  color: textPrimary,
@@ -47462,6 +47498,7 @@ var Details = function Details(_ref) {
47462
47498
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
47463
47499
  checkActionPermission = _usePermissions[0];
47464
47500
  var membersLoading = useSelector(membersLoadingStateSelector);
47501
+ var membersHasNext = useSelector(membersHasNextSelector);
47465
47502
  var messagesLoading = useSelector(messagesLoadingState);
47466
47503
  var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
47467
47504
  var contactsMap = useSelector(contactsMapSelector);
@@ -47485,7 +47522,7 @@ var Details = function Details(_ref) {
47485
47522
  var handleMembersListScroll = function handleMembersListScroll(event) {
47486
47523
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
47487
47524
  if (activeTab === channelDetailsTabs.member) {
47488
- if (membersLoading === LOADING_STATE.LOADED) {
47525
+ if (membersLoading === LOADING_STATE.LOADED && membersHasNext) {
47489
47526
  dispatch(loadMoreMembersAC(15, activeChannel.id));
47490
47527
  }
47491
47528
  } else if (messagesLoading === LOADING_STATE.LOADED && attachmentsHasNex) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.7.7",
3
+ "version": "1.7.8-beta.1",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",