@selfcommunity/react-ui 0.10.4-alpha.12 → 0.10.4-alpha.13

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.
@@ -99,7 +99,7 @@ function EventMembersWidget(inProps) {
99
99
  utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
100
100
  });
101
101
  }
102
- }, [participants.isLoadingNext, participants.initialized, scEvent, dispatchParticipants, setParticipantsCount]);
102
+ }, [participants.isLoadingNext, participants.initialized, scEvent, endpointQueryParams, dispatchParticipants, setParticipantsCount]);
103
103
  const _initInvited = (0, react_1.useCallback)(() => {
104
104
  if (!invited.initialized && !invited.isLoadingNext && hasAllow) {
105
105
  dispatchInvited({ type: widget_1.actionWidgetTypes.LOADING_NEXT });
@@ -113,7 +113,7 @@ function EventMembersWidget(inProps) {
113
113
  utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
114
114
  });
115
115
  }
116
- }, [invited.isLoadingNext, invited.initialized, scEvent, dispatchInvited, setInvitedCount]);
116
+ }, [invited.isLoadingNext, invited.initialized, scEvent, hasAllow, endpointQueryParams, dispatchInvited, setInvitedCount]);
117
117
  const _initRequests = (0, react_1.useCallback)(() => {
118
118
  if (!requests.initialized && !requests.isLoadingNext && hasAllow) {
119
119
  dispatchRequests({ type: widget_1.actionWidgetTypes.LOADING_NEXT });
@@ -128,7 +128,7 @@ function EventMembersWidget(inProps) {
128
128
  utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
129
129
  });
130
130
  }
131
- }, [requests.isLoadingNext, requests.initialized, scEvent, dispatchRequests, setRequestsCount, setRequestsUsers]);
131
+ }, [requests.isLoadingNext, requests.initialized, scEvent, hasAllow, endpointQueryParams, dispatchRequests, setRequestsCount, setRequestsUsers]);
132
132
  // EFFECTS
133
133
  (0, react_1.useEffect)(() => {
134
134
  let _t;
@@ -152,18 +152,18 @@ function EventMembersWidget(inProps) {
152
152
  clearTimeout(_t);
153
153
  };
154
154
  }
155
- }, [scUserContext.user, scEvent, refresh]);
155
+ }, [scUserContext.user, scEvent, refresh, _initParticipants, _initInvited, _initRequests]);
156
156
  (0, react_1.useEffect)(() => {
157
157
  if (participants.initialized && scEvent && Boolean((eventId !== undefined && scEvent.id !== eventId) || (event && scEvent.id !== event.id))) {
158
158
  dispatchParticipants({ type: widget_1.actionWidgetTypes.RESET, payload: {} });
159
159
  dispatchRequests({ type: widget_1.actionWidgetTypes.RESET, payload: {} });
160
160
  dispatchInvited({ type: widget_1.actionWidgetTypes.RESET, payload: {} });
161
161
  }
162
- }, [participants.initialized, scEvent, eventId, event]);
162
+ }, [participants.initialized, scEvent, eventId, event, dispatchParticipants, dispatchInvited, dispatchRequests]);
163
163
  // HANDLERS
164
164
  const handleTabChange = (0, react_1.useCallback)((_evt, newTabValue) => {
165
165
  setTabValue(newTabValue);
166
- }, []);
166
+ }, [setTabValue]);
167
167
  const handleRefresh = (0, react_1.useCallback)((_tabValue) => {
168
168
  if (_tabValue === types_1.TabContentEnum.PARTICIPANTS) {
169
169
  dispatchParticipants({ type: widget_1.actionWidgetTypes.RESET });
@@ -172,7 +172,7 @@ function EventMembersWidget(inProps) {
172
172
  dispatchInvited({ type: widget_1.actionWidgetTypes.RESET });
173
173
  }
174
174
  setRefresh(_tabValue);
175
- }, []);
175
+ }, [dispatchParticipants, dispatchInvited, setRefresh]);
176
176
  if (!scUserContext.user) {
177
177
  return (0, jsx_runtime_1.jsx)(HiddenPlaceholder_1.default, {});
178
178
  }
@@ -43,7 +43,7 @@ function TabContentComponent(props) {
43
43
  // HOOKS
44
44
  const { enqueueSnackbar } = (0, notistack_1.useSnackbar)();
45
45
  // CONSTS
46
- const users = (0, react_1.useMemo)(() => (tabValue === types_1.TabContentEnum.REQUESTS ? actionProps === null || actionProps === void 0 ? void 0 : actionProps.users : state.results), [tabValue, actionProps, state]);
46
+ const users = (0, react_1.useMemo)(() => (tabValue === types_1.TabContentEnum.REQUESTS ? actionProps === null || actionProps === void 0 ? void 0 : actionProps.users : state.results), [tabValue, actionProps === null || actionProps === void 0 ? void 0 : actionProps.users, state.results]);
47
47
  // EFFECTS
48
48
  (0, react_1.useEffect)(() => {
49
49
  updatesInvited.current = pubsub_js_1.default.subscribe(`${PubSub_1.SCTopicType.EVENT}.${PubSub_1.SCGroupEventType.INVITE_MEMBER}`, handleInviteMember);
@@ -53,6 +53,11 @@ function TabContentComponent(props) {
53
53
  updatesParticipants.current && pubsub_js_1.default.unsubscribe(updatesParticipants.current);
54
54
  };
55
55
  }, []);
56
+ (0, react_1.useEffect)(() => {
57
+ if (openDialog && state.next && state.initialized) {
58
+ handleNext();
59
+ }
60
+ }, [openDialog, state.next, state.initialized]);
56
61
  // HANDLERS
57
62
  /**
58
63
  * Handles pagination
@@ -70,16 +75,16 @@ function TabContentComponent(props) {
70
75
  .catch((error) => {
71
76
  utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
72
77
  });
73
- }, [state.next, state.isLoadingNext, state.initialized]);
78
+ }, [state.next, state.isLoadingNext, state.initialized, dispatch]);
74
79
  const handleToggleDialogOpen = (0, react_1.useCallback)(() => {
75
80
  setOpenDialog((prev) => !prev);
76
- }, []);
81
+ }, [setOpenDialog]);
77
82
  const handleToggleMember = (0, react_1.useCallback)(() => {
78
83
  handleRefresh === null || handleRefresh === void 0 ? void 0 : handleRefresh(types_1.TabContentEnum.PARTICIPANTS);
79
- }, []);
84
+ }, [handleRefresh]);
80
85
  const handleInviteMember = (0, react_1.useCallback)(() => {
81
86
  handleRefresh === null || handleRefresh === void 0 ? void 0 : handleRefresh(types_1.TabContentEnum.INVITED);
82
- }, []);
87
+ }, [handleRefresh]);
83
88
  const getActionsComponent = (0, react_1.useCallback)((userId) => {
84
89
  if (tabValue === types_1.TabContentEnum.INVITED && actionProps) {
85
90
  const _handleInvitations = (invited) => {
@@ -130,6 +135,6 @@ function TabContentComponent(props) {
130
135
  else if (tabValue === types_1.TabContentEnum.REQUESTS && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.count) === 0) {
131
136
  return ((0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "body1" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.noOtherRequests", defaultMessage: "ui.eventMembersWidget.noOtherRequests" }) })));
132
137
  }
133
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.List, { children: users === null || users === void 0 ? void 0 : users.map((user) => ((0, jsx_runtime_1.jsx)(material_1.ListItem, { children: (0, jsx_runtime_1.jsx)(User_1.default, Object.assign({ elevation: 0, user: user }, userProps, { actions: getActionsComponent(user.id) })) }, user.id))) }), state.count > state.visibleItems && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ onClick: handleToggleDialogOpen, className: classes.actionButton }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "caption" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.showAll", defaultMessage: "ui.eventMembersWidget.showAll" }) })) }))), openDialog && ((0, jsx_runtime_1.jsx)(DialogRoot, Object.assign({ className: classes.dialogRoot, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { defaultMessage: "ui.eventMembersWidget.title", id: "ui.eventMembersWidget.title" }), onClose: handleToggleDialogOpen, open: openDialog }, dialogProps, { children: (0, jsx_runtime_1.jsx)(InfiniteScroll_1.default, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: (0, jsx_runtime_1.jsx)(User_1.UserSkeleton, Object.assign({ elevation: 0 }, userProps)), className: classes.infiniteScroll, endMessage: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.endMessage }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.noMoreResults", defaultMessage: "ui.eventMembersWidget.noMoreResults" }) })) }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: state.results.map((user) => ((0, jsx_runtime_1.jsx)(material_1.ListItem, { children: (0, jsx_runtime_1.jsx)(User_1.default, Object.assign({ elevation: 0, user: user }, userProps)) }, user.id))) }) })) })))] }));
138
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.List, { children: users === null || users === void 0 ? void 0 : users.slice(0, state.visibleItems).map((user) => ((0, jsx_runtime_1.jsx)(material_1.ListItem, { children: (0, jsx_runtime_1.jsx)(User_1.default, Object.assign({ elevation: 0, user: user }, userProps, { actions: getActionsComponent(user.id) })) }, user.id))) }), state.count > state.visibleItems && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ onClick: handleToggleDialogOpen, className: classes.actionButton }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "caption" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.showAll", defaultMessage: "ui.eventMembersWidget.showAll" }) })) }))), openDialog && ((0, jsx_runtime_1.jsx)(DialogRoot, Object.assign({ className: classes.dialogRoot, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { defaultMessage: "ui.eventMembersWidget.title", id: "ui.eventMembersWidget.title" }), onClose: handleToggleDialogOpen, open: openDialog }, dialogProps, { children: (0, jsx_runtime_1.jsx)(InfiniteScroll_1.default, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: (0, jsx_runtime_1.jsx)(User_1.UserSkeleton, Object.assign({ elevation: 0 }, userProps)), className: classes.infiniteScroll, endMessage: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.endMessage }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.noMoreResults", defaultMessage: "ui.eventMembersWidget.noMoreResults" }) })) }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: state.results.map((user) => ((0, jsx_runtime_1.jsx)(material_1.ListItem, { children: (0, jsx_runtime_1.jsx)(User_1.default, Object.assign({ elevation: 0, user: user }, userProps)) }, user.id))) }) })) })))] }));
134
139
  }
135
140
  exports.default = TabContentComponent;
@@ -97,7 +97,7 @@ export default function EventMembersWidget(inProps) {
97
97
  Logger.error(SCOPE_SC_UI, error);
98
98
  });
99
99
  }
100
- }, [participants.isLoadingNext, participants.initialized, scEvent, dispatchParticipants, setParticipantsCount]);
100
+ }, [participants.isLoadingNext, participants.initialized, scEvent, endpointQueryParams, dispatchParticipants, setParticipantsCount]);
101
101
  const _initInvited = useCallback(() => {
102
102
  if (!invited.initialized && !invited.isLoadingNext && hasAllow) {
103
103
  dispatchInvited({ type: actionWidgetTypes.LOADING_NEXT });
@@ -111,7 +111,7 @@ export default function EventMembersWidget(inProps) {
111
111
  Logger.error(SCOPE_SC_UI, error);
112
112
  });
113
113
  }
114
- }, [invited.isLoadingNext, invited.initialized, scEvent, dispatchInvited, setInvitedCount]);
114
+ }, [invited.isLoadingNext, invited.initialized, scEvent, hasAllow, endpointQueryParams, dispatchInvited, setInvitedCount]);
115
115
  const _initRequests = useCallback(() => {
116
116
  if (!requests.initialized && !requests.isLoadingNext && hasAllow) {
117
117
  dispatchRequests({ type: actionWidgetTypes.LOADING_NEXT });
@@ -126,7 +126,7 @@ export default function EventMembersWidget(inProps) {
126
126
  Logger.error(SCOPE_SC_UI, error);
127
127
  });
128
128
  }
129
- }, [requests.isLoadingNext, requests.initialized, scEvent, dispatchRequests, setRequestsCount, setRequestsUsers]);
129
+ }, [requests.isLoadingNext, requests.initialized, scEvent, hasAllow, endpointQueryParams, dispatchRequests, setRequestsCount, setRequestsUsers]);
130
130
  // EFFECTS
131
131
  useEffect(() => {
132
132
  let _t;
@@ -150,18 +150,18 @@ export default function EventMembersWidget(inProps) {
150
150
  clearTimeout(_t);
151
151
  };
152
152
  }
153
- }, [scUserContext.user, scEvent, refresh]);
153
+ }, [scUserContext.user, scEvent, refresh, _initParticipants, _initInvited, _initRequests]);
154
154
  useEffect(() => {
155
155
  if (participants.initialized && scEvent && Boolean((eventId !== undefined && scEvent.id !== eventId) || (event && scEvent.id !== event.id))) {
156
156
  dispatchParticipants({ type: actionWidgetTypes.RESET, payload: {} });
157
157
  dispatchRequests({ type: actionWidgetTypes.RESET, payload: {} });
158
158
  dispatchInvited({ type: actionWidgetTypes.RESET, payload: {} });
159
159
  }
160
- }, [participants.initialized, scEvent, eventId, event]);
160
+ }, [participants.initialized, scEvent, eventId, event, dispatchParticipants, dispatchInvited, dispatchRequests]);
161
161
  // HANDLERS
162
162
  const handleTabChange = useCallback((_evt, newTabValue) => {
163
163
  setTabValue(newTabValue);
164
- }, []);
164
+ }, [setTabValue]);
165
165
  const handleRefresh = useCallback((_tabValue) => {
166
166
  if (_tabValue === TabContentEnum.PARTICIPANTS) {
167
167
  dispatchParticipants({ type: actionWidgetTypes.RESET });
@@ -170,7 +170,7 @@ export default function EventMembersWidget(inProps) {
170
170
  dispatchInvited({ type: actionWidgetTypes.RESET });
171
171
  }
172
172
  setRefresh(_tabValue);
173
- }, []);
173
+ }, [dispatchParticipants, dispatchInvited, setRefresh]);
174
174
  if (!scUserContext.user) {
175
175
  return _jsx(HiddenPlaceholder, {});
176
176
  }
@@ -40,7 +40,7 @@ export default function TabContentComponent(props) {
40
40
  // HOOKS
41
41
  const { enqueueSnackbar } = useSnackbar();
42
42
  // CONSTS
43
- const users = useMemo(() => (tabValue === TabContentEnum.REQUESTS ? actionProps === null || actionProps === void 0 ? void 0 : actionProps.users : state.results), [tabValue, actionProps, state]);
43
+ const users = useMemo(() => (tabValue === TabContentEnum.REQUESTS ? actionProps === null || actionProps === void 0 ? void 0 : actionProps.users : state.results), [tabValue, actionProps === null || actionProps === void 0 ? void 0 : actionProps.users, state.results]);
44
44
  // EFFECTS
45
45
  useEffect(() => {
46
46
  updatesInvited.current = PubSub.subscribe(`${SCTopicType.EVENT}.${SCGroupEventType.INVITE_MEMBER}`, handleInviteMember);
@@ -50,6 +50,11 @@ export default function TabContentComponent(props) {
50
50
  updatesParticipants.current && PubSub.unsubscribe(updatesParticipants.current);
51
51
  };
52
52
  }, []);
53
+ useEffect(() => {
54
+ if (openDialog && state.next && state.initialized) {
55
+ handleNext();
56
+ }
57
+ }, [openDialog, state.next, state.initialized]);
53
58
  // HANDLERS
54
59
  /**
55
60
  * Handles pagination
@@ -67,16 +72,16 @@ export default function TabContentComponent(props) {
67
72
  .catch((error) => {
68
73
  Logger.error(SCOPE_SC_UI, error);
69
74
  });
70
- }, [state.next, state.isLoadingNext, state.initialized]);
75
+ }, [state.next, state.isLoadingNext, state.initialized, dispatch]);
71
76
  const handleToggleDialogOpen = useCallback(() => {
72
77
  setOpenDialog((prev) => !prev);
73
- }, []);
78
+ }, [setOpenDialog]);
74
79
  const handleToggleMember = useCallback(() => {
75
80
  handleRefresh === null || handleRefresh === void 0 ? void 0 : handleRefresh(TabContentEnum.PARTICIPANTS);
76
- }, []);
81
+ }, [handleRefresh]);
77
82
  const handleInviteMember = useCallback(() => {
78
83
  handleRefresh === null || handleRefresh === void 0 ? void 0 : handleRefresh(TabContentEnum.INVITED);
79
- }, []);
84
+ }, [handleRefresh]);
80
85
  const getActionsComponent = useCallback((userId) => {
81
86
  if (tabValue === TabContentEnum.INVITED && actionProps) {
82
87
  const _handleInvitations = (invited) => {
@@ -127,5 +132,5 @@ export default function TabContentComponent(props) {
127
132
  else if (tabValue === TabContentEnum.REQUESTS && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.count) === 0) {
128
133
  return (_jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.noOtherRequests", defaultMessage: "ui.eventMembersWidget.noOtherRequests" }) })));
129
134
  }
130
- return (_jsxs(_Fragment, { children: [_jsx(List, { children: users === null || users === void 0 ? void 0 : users.map((user) => (_jsx(ListItem, { children: _jsx(User, Object.assign({ elevation: 0, user: user }, userProps, { actions: getActionsComponent(user.id) })) }, user.id))) }), state.count > state.visibleItems && (_jsx(Button, Object.assign({ onClick: handleToggleDialogOpen, className: classes.actionButton }, { children: _jsx(Typography, Object.assign({ variant: "caption" }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.showAll", defaultMessage: "ui.eventMembersWidget.showAll" }) })) }))), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.eventMembersWidget.title", id: "ui.eventMembersWidget.title" }), onClose: handleToggleDialogOpen, open: openDialog }, dialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, userProps)), className: classes.infiniteScroll, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.noMoreResults", defaultMessage: "ui.eventMembersWidget.noMoreResults" }) })) }, { children: _jsx(List, { children: state.results.map((user) => (_jsx(ListItem, { children: _jsx(User, Object.assign({ elevation: 0, user: user }, userProps)) }, user.id))) }) })) })))] }));
135
+ return (_jsxs(_Fragment, { children: [_jsx(List, { children: users === null || users === void 0 ? void 0 : users.slice(0, state.visibleItems).map((user) => (_jsx(ListItem, { children: _jsx(User, Object.assign({ elevation: 0, user: user }, userProps, { actions: getActionsComponent(user.id) })) }, user.id))) }), state.count > state.visibleItems && (_jsx(Button, Object.assign({ onClick: handleToggleDialogOpen, className: classes.actionButton }, { children: _jsx(Typography, Object.assign({ variant: "caption" }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.showAll", defaultMessage: "ui.eventMembersWidget.showAll" }) })) }))), openDialog && (_jsx(DialogRoot, Object.assign({ className: classes.dialogRoot, title: _jsx(FormattedMessage, { defaultMessage: "ui.eventMembersWidget.title", id: "ui.eventMembersWidget.title" }), onClose: handleToggleDialogOpen, open: openDialog }, dialogProps, { children: _jsx(InfiniteScroll, Object.assign({ dataLength: state.results.length, next: handleNext, hasMoreNext: Boolean(state.next), loaderNext: _jsx(UserSkeleton, Object.assign({ elevation: 0 }, userProps)), className: classes.infiniteScroll, endMessage: _jsx(Typography, Object.assign({ className: classes.endMessage }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.noMoreResults", defaultMessage: "ui.eventMembersWidget.noMoreResults" }) })) }, { children: _jsx(List, { children: state.results.map((user) => (_jsx(ListItem, { children: _jsx(User, Object.assign({ elevation: 0, user: user }, userProps)) }, user.id))) }) })) })))] }));
131
136
  }