@selfcommunity/react-ui 0.7.50-events.62 → 0.7.50-events.64
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/lib/cjs/components/Event/Event.d.ts +6 -0
- package/lib/cjs/components/Event/Event.js +4 -4
- package/lib/cjs/components/EventMembersWidget/EventMembersWidget.d.ts +1 -0
- package/lib/cjs/components/EventMembersWidget/EventMembersWidget.js +15 -15
- package/lib/cjs/components/{EventPartecipantsButton/EventPartecipantsButton.d.ts → EventParticipantsButton/EventParticipantsButton.d.ts} +13 -8
- package/lib/cjs/components/{EventPartecipantsButton/EventPartecipantsButton.js → EventParticipantsButton/EventParticipantsButton.js} +12 -12
- package/lib/cjs/components/EventParticipantsButton/index.d.ts +3 -0
- package/lib/cjs/components/EventParticipantsButton/index.js +5 -0
- package/lib/cjs/components/NavigationToolbar/NavigationToolbar.js +1 -1
- package/lib/cjs/components/RelatedEventsWidget/RelatedEventsWidget.d.ts +1 -0
- package/lib/cjs/components/RelatedEventsWidget/RelatedEventsWidget.js +4 -4
- package/lib/cjs/components/SuggestedEventsWidget/Arrow.js +2 -2
- package/lib/cjs/components/SuggestedEventsWidget/SuggestedEventsWidget.js +18 -10
- package/lib/cjs/index.d.ts +2 -2
- package/lib/cjs/index.js +3 -3
- package/lib/esm/components/Event/Event.d.ts +6 -0
- package/lib/esm/components/Event/Event.js +4 -4
- package/lib/esm/components/EventMembersWidget/EventMembersWidget.d.ts +1 -0
- package/lib/esm/components/EventMembersWidget/EventMembersWidget.js +15 -15
- package/lib/esm/components/{EventPartecipantsButton/EventPartecipantsButton.d.ts → EventParticipantsButton/EventParticipantsButton.d.ts} +13 -8
- package/lib/esm/components/{EventPartecipantsButton/EventPartecipantsButton.js → EventParticipantsButton/EventParticipantsButton.js} +11 -11
- package/lib/esm/components/EventParticipantsButton/index.d.ts +3 -0
- package/lib/esm/components/EventParticipantsButton/index.js +2 -0
- package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +1 -1
- package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.d.ts +1 -0
- package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.js +4 -4
- package/lib/esm/components/SuggestedEventsWidget/Arrow.js +3 -3
- package/lib/esm/components/SuggestedEventsWidget/SuggestedEventsWidget.js +19 -11
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +2 -2
- package/lib/umd/react-ui.js +1 -1
- package/package.json +7 -7
- package/lib/cjs/components/EventPartecipantsButton/index.d.ts +0 -3
- package/lib/cjs/components/EventPartecipantsButton/index.js +0 -5
- package/lib/esm/components/EventPartecipantsButton/index.d.ts +0 -3
- package/lib/esm/components/EventPartecipantsButton/index.js +0 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SCEventType } from '@selfcommunity/types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { SCEventTemplateType } from '../../types/event';
|
|
4
|
+
import { EventParticipantsButtonProps } from '../EventParticipantsButton';
|
|
4
5
|
import { WidgetProps } from '../Widget';
|
|
5
6
|
import { EventSkeletonProps } from './Skeleton';
|
|
6
7
|
export interface EventProps extends WidgetProps {
|
|
@@ -29,6 +30,11 @@ export interface EventProps extends WidgetProps {
|
|
|
29
30
|
* @default false
|
|
30
31
|
*/
|
|
31
32
|
hideEventParticipants?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Props to spread to EventParticipantsButton component
|
|
35
|
+
* @default {}
|
|
36
|
+
*/
|
|
37
|
+
EventParticipantsButtonComponentProps?: EventParticipantsButtonProps;
|
|
32
38
|
/**
|
|
33
39
|
* Hide event planner
|
|
34
40
|
* @default false
|
|
@@ -13,7 +13,7 @@ const BaseItem_1 = tslib_1.__importDefault(require("../../shared/BaseItem"));
|
|
|
13
13
|
const Calendar_1 = tslib_1.__importDefault(require("../../shared/Calendar"));
|
|
14
14
|
const EventInfoDetails_1 = tslib_1.__importDefault(require("../../shared/EventInfoDetails"));
|
|
15
15
|
const event_1 = require("../../types/event");
|
|
16
|
-
const
|
|
16
|
+
const EventParticipantsButton_1 = tslib_1.__importDefault(require("../EventParticipantsButton"));
|
|
17
17
|
const User_1 = tslib_1.__importDefault(require("../User"));
|
|
18
18
|
const Widget_1 = tslib_1.__importDefault(require("../Widget"));
|
|
19
19
|
const constants_1 = require("./constants");
|
|
@@ -101,7 +101,7 @@ function Event(inProps) {
|
|
|
101
101
|
props: inProps,
|
|
102
102
|
name: constants_1.PREFIX
|
|
103
103
|
});
|
|
104
|
-
const { id = `event_object_${props.eventId ? props.eventId : props.event ? props.event.id : ''}`, eventId = null, event = null, className = null, template = event_1.SCEventTemplateType.SNIPPET, hideEventParticipants = false, hideEventPlanner = false, actions, EventSkeletonComponentProps = {} } = props, rest = tslib_1.__rest(props, ["id", "eventId", "event", "className", "template", "hideEventParticipants", "hideEventPlanner", "actions", "EventSkeletonComponentProps"]);
|
|
104
|
+
const { id = `event_object_${props.eventId ? props.eventId : props.event ? props.event.id : ''}`, eventId = null, event = null, className = null, template = event_1.SCEventTemplateType.SNIPPET, hideEventParticipants = false, hideEventPlanner = false, actions, EventParticipantsButtonComponentProps = {}, EventSkeletonComponentProps = {} } = props, rest = tslib_1.__rest(props, ["id", "eventId", "event", "className", "template", "hideEventParticipants", "hideEventPlanner", "actions", "EventParticipantsButtonComponentProps", "EventSkeletonComponentProps"]);
|
|
105
105
|
// STATE
|
|
106
106
|
const { scEvent } = (0, react_core_1.useSCFetchEvent)({ id: eventId, event });
|
|
107
107
|
// CONTEXT
|
|
@@ -119,10 +119,10 @@ function Event(inProps) {
|
|
|
119
119
|
*/
|
|
120
120
|
let contentObj;
|
|
121
121
|
if (template === event_1.SCEventTemplateType.DETAIL) {
|
|
122
|
-
contentObj = ((0, jsx_runtime_1.jsxs)(DetailRoot, Object.assign({ className: classes.detailRoot }, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ className: classes.detailImageWrapper }, { children: [(0, jsx_runtime_1.jsx)(material_1.CardMedia, { component: "img", image: scEvent.image_medium, alt: scEvent.name, className: classes.detailImage }), (0, jsx_runtime_1.jsx)(Calendar_1.default, { day: new Date(scEvent.start_date).getDate() })] })), (0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.detailContent }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.detailNameWrapper }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h3", className: classes.detailName }, { children: scEvent.name })) })), (0, jsx_runtime_1.jsx)(EventInfoDetails_1.default, { event: scEvent }), !hideEventPlanner && ((0, jsx_runtime_1.jsx)(User_1.default, { user: scEvent.managed_by, elevation: 0, secondary: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "caption" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.myEventsWidget.planner", defaultMessage: "ui.myEventsWidget.planner" }) })), actions: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), className: classes.detailUser })), !hideEventParticipants && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Divider, { className: classes.detailFirstDivider }), (0, jsx_runtime_1.jsx)(
|
|
122
|
+
contentObj = ((0, jsx_runtime_1.jsxs)(DetailRoot, Object.assign({ className: classes.detailRoot }, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ className: classes.detailImageWrapper }, { children: [(0, jsx_runtime_1.jsx)(material_1.CardMedia, { component: "img", image: scEvent.image_medium, alt: scEvent.name, className: classes.detailImage }), (0, jsx_runtime_1.jsx)(Calendar_1.default, { day: new Date(scEvent.start_date).getDate() })] })), (0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.detailContent }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.detailNameWrapper }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h3", className: classes.detailName }, { children: scEvent.name })) })), (0, jsx_runtime_1.jsx)(EventInfoDetails_1.default, { event: scEvent }), !hideEventPlanner && ((0, jsx_runtime_1.jsx)(User_1.default, { user: scEvent.managed_by, elevation: 0, secondary: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "caption" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.myEventsWidget.planner", defaultMessage: "ui.myEventsWidget.planner" }) })), actions: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), className: classes.detailUser })), !hideEventParticipants && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Divider, { className: classes.detailFirstDivider }), (0, jsx_runtime_1.jsx)(EventParticipantsButton_1.default, Object.assign({ event: scEvent, eventId: scEvent.id }, EventParticipantsButtonComponentProps))] })), (0, jsx_runtime_1.jsx)(material_1.Divider, { className: classes.detailSecondDivider })] })), actions !== null && actions !== void 0 ? actions : ((0, jsx_runtime_1.jsx)(material_1.CardActions, Object.assign({ className: classes.detailActions }, { children: (0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", variant: "outlined", component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { defaultMessage: "ui.event.see", id: "ui.event.see" }) })) })))] })));
|
|
123
123
|
}
|
|
124
124
|
else if (template === event_1.SCEventTemplateType.PREVIEW) {
|
|
125
|
-
contentObj = ((0, jsx_runtime_1.jsxs)(PreviewRoot, Object.assign({ className: classes.previewRoot }, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ position: "relative", className: classes.previewImageWrapper }, { children: (0, jsx_runtime_1.jsx)(material_1.CardMedia, { component: "img", height: "100px", image: scEvent.image_medium, alt: scEvent.name, className: classes.previewImage }) })), (0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.previewContent }, { children: [(0, jsx_runtime_1.jsx)(EventInfoDetails_1.default, { event: scEvent, hidePrivacyIcon: true, hasLocationInfo: false, beforePrivacyInfo: (0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.previewNameWrapper }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5", className: classes.previewName }, { children: scEvent.name })) })) }), !hideEventParticipants && (0, jsx_runtime_1.jsx)(
|
|
125
|
+
contentObj = ((0, jsx_runtime_1.jsxs)(PreviewRoot, Object.assign({ className: classes.previewRoot }, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ position: "relative", className: classes.previewImageWrapper }, { children: (0, jsx_runtime_1.jsx)(material_1.CardMedia, { component: "img", height: "100px", image: scEvent.image_medium, alt: scEvent.name, className: classes.previewImage }) })), (0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.previewContent }, { children: [(0, jsx_runtime_1.jsx)(EventInfoDetails_1.default, { event: scEvent, hidePrivacyIcon: true, hasLocationInfo: false, beforePrivacyInfo: (0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.previewNameWrapper }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5", className: classes.previewName }, { children: scEvent.name })) })) }), !hideEventParticipants && (0, jsx_runtime_1.jsx)(EventParticipantsButton_1.default, Object.assign({ event: scEvent, hideCaption: true }, EventParticipantsButtonComponentProps))] })), actions !== null && actions !== void 0 ? actions : ((0, jsx_runtime_1.jsx)(material_1.CardActions, Object.assign({ className: classes.previewActions }, { children: (0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", variant: "outlined", component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { defaultMessage: "ui.event.see", id: "ui.event.see" }) })) })))] })));
|
|
126
126
|
}
|
|
127
127
|
else {
|
|
128
128
|
contentObj = ((0, jsx_runtime_1.jsx)(SnippetRoot, { elevation: 0, square: true, disableTypography: true, className: classes.snippetRoot, image: (0, jsx_runtime_1.jsx)(material_1.Avatar, { variant: "square", alt: scEvent.name, src: scEvent.image_medium, className: classes.snippetAvatar }), primary: (0, jsx_runtime_1.jsxs)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.snippetPrimary }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ component: "span" }, { children: `${intl.formatDate(scEvent.start_date, {
|
|
@@ -51,44 +51,44 @@ function EventMembersWidget(inProps) {
|
|
|
51
51
|
props: inProps,
|
|
52
52
|
name: constants_1.PREFIX
|
|
53
53
|
});
|
|
54
|
-
const { event, eventId, userProps = {}, endpointQueryParams = { limit: Pagination_1.DEFAULT_PAGINATION_LIMIT, offset: Pagination_1.DEFAULT_PAGINATION_OFFSET }, cacheStrategy, dialogProps } = props, rest = tslib_1.__rest(props, ["event", "eventId", "userProps", "endpointQueryParams", "cacheStrategy", "dialogProps"]);
|
|
54
|
+
const { event, eventId, userProps = {}, endpointQueryParams = { limit: Pagination_1.DEFAULT_PAGINATION_LIMIT, offset: Pagination_1.DEFAULT_PAGINATION_OFFSET }, cacheStrategy, dialogProps, limit } = props, rest = tslib_1.__rest(props, ["event", "eventId", "userProps", "endpointQueryParams", "cacheStrategy", "dialogProps", "limit"]);
|
|
55
55
|
// STATE
|
|
56
|
-
const [
|
|
56
|
+
const [participants, dispatchParticipants] = (0, react_1.useReducer)(widget_1.dataWidgetReducer, {
|
|
57
57
|
isLoadingNext: false,
|
|
58
58
|
next: null,
|
|
59
|
-
cacheKey: react_core_1.SCCache.getWidgetStateCacheKey(react_core_1.SCCache.
|
|
59
|
+
cacheKey: react_core_1.SCCache.getWidgetStateCacheKey(react_core_1.SCCache.USER_PARTECIPANTS_EVENTS_STATE_CACHE_PREFIX_KEY, eventId || event.id),
|
|
60
60
|
cacheStrategy,
|
|
61
|
-
visibleItems:
|
|
61
|
+
visibleItems: limit
|
|
62
62
|
}, widget_1.stateWidgetInitializer);
|
|
63
63
|
const [invited, dispatchInvited] = (0, react_1.useReducer)(widget_1.dataWidgetReducer, {
|
|
64
64
|
isLoadingNext: false,
|
|
65
65
|
next: null,
|
|
66
|
-
cacheKey: react_core_1.SCCache.getWidgetStateCacheKey(react_core_1.SCCache.
|
|
66
|
+
cacheKey: react_core_1.SCCache.getWidgetStateCacheKey(react_core_1.SCCache.USER_INVITED_EVENTS_STATE_CACHE_PREFIX_KEY, eventId || event.id),
|
|
67
67
|
cacheStrategy,
|
|
68
68
|
visibleItems: Pagination_1.DEFAULT_PAGINATION_LIMIT
|
|
69
69
|
}, widget_1.stateWidgetInitializer);
|
|
70
70
|
const [openDialog, setOpenDialog] = (0, react_1.useState)(false);
|
|
71
71
|
const [invitedNumber, setInvitedNumber] = (0, react_1.useState)(0);
|
|
72
72
|
const [tabValue, setTabValue] = (0, react_1.useState)('1');
|
|
73
|
-
const state = (0, react_1.useMemo)(() => (tabValue === '1' ?
|
|
74
|
-
const dispatch = (0, react_1.useCallback)((value) => (tabValue === '1' ?
|
|
73
|
+
const state = (0, react_1.useMemo)(() => (tabValue === '1' ? participants : invited), [tabValue, participants, invited]);
|
|
74
|
+
const dispatch = (0, react_1.useCallback)((value) => (tabValue === '1' ? dispatchParticipants(value) : dispatchInvited(value)), [tabValue, dispatchParticipants, dispatchInvited]);
|
|
75
75
|
// CONTEXT
|
|
76
76
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
77
77
|
// HOOKS
|
|
78
78
|
const { scEvent } = (0, react_core_1.useSCFetchEvent)({ id: eventId, event });
|
|
79
|
-
const
|
|
80
|
-
if (!
|
|
81
|
-
|
|
79
|
+
const _initParticipants = (0, react_1.useCallback)(() => {
|
|
80
|
+
if (!participants.initialized && !participants.isLoadingNext) {
|
|
81
|
+
dispatchParticipants({ type: widget_1.actionWidgetTypes.LOADING_NEXT });
|
|
82
82
|
api_services_1.EventService.getUsersGoingToEvent(scEvent.id, Object.assign({}, endpointQueryParams))
|
|
83
83
|
.then((payload) => {
|
|
84
|
-
|
|
84
|
+
dispatchParticipants({ type: widget_1.actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: Object.assign(Object.assign({}, payload), { initialized: true }) });
|
|
85
85
|
})
|
|
86
86
|
.catch((error) => {
|
|
87
|
-
|
|
87
|
+
dispatchParticipants({ type: widget_1.actionWidgetTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
|
|
88
88
|
utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
}, [
|
|
91
|
+
}, [participants.isLoadingNext, participants.initialized, dispatchParticipants, scEvent]);
|
|
92
92
|
const _initInvited = (0, react_1.useCallback)(() => {
|
|
93
93
|
var _a;
|
|
94
94
|
if (!invited.initialized && !invited.isLoadingNext && ((_a = scUserContext.user) === null || _a === void 0 ? void 0 : _a.id) === scEvent.managed_by.id) {
|
|
@@ -109,7 +109,7 @@ function EventMembersWidget(inProps) {
|
|
|
109
109
|
let _t;
|
|
110
110
|
if (scUserContext.user && scEvent) {
|
|
111
111
|
_t = setTimeout(() => {
|
|
112
|
-
|
|
112
|
+
_initParticipants();
|
|
113
113
|
_initInvited();
|
|
114
114
|
});
|
|
115
115
|
return () => {
|
|
@@ -145,6 +145,6 @@ function EventMembersWidget(inProps) {
|
|
|
145
145
|
if (!scEvent) {
|
|
146
146
|
return (0, jsx_runtime_1.jsx)(HiddenPlaceholder_1.default, {});
|
|
147
147
|
}
|
|
148
|
-
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: classes.root }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.content }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5", className: classes.title }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.invited", defaultMessage: "ui.eventMembersWidget.invited" }) })), (0, jsx_runtime_1.jsxs)(lab_1.TabContext, Object.assign({ value: tabValue }, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.tabsWrapper }, { children: (0, jsx_runtime_1.jsxs)(lab_1.TabList, Object.assign({ onChange: handleTabChange, textColor: "secondary", indicatorColor: "secondary", variant: "fullWidth" }, { children: [(0, jsx_runtime_1.jsx)(material_1.Tab, { label: (0, jsx_runtime_1.jsxs)(material_1.Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h3" }, { children:
|
|
148
|
+
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: classes.root }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.content }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5", className: classes.title }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.invited", defaultMessage: "ui.eventMembersWidget.invited" }) })), (0, jsx_runtime_1.jsxs)(lab_1.TabContext, Object.assign({ value: tabValue }, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.tabsWrapper }, { children: (0, jsx_runtime_1.jsxs)(lab_1.TabList, Object.assign({ onChange: handleTabChange, textColor: "secondary", indicatorColor: "secondary", variant: "fullWidth" }, { children: [(0, jsx_runtime_1.jsx)(material_1.Tab, { label: (0, jsx_runtime_1.jsxs)(material_1.Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h3" }, { children: participants.count })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "subtitle2" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.participants", defaultMessage: "ui.eventMembersWidget.participants" }) }))] })), value: "1" }), invited && ((0, jsx_runtime_1.jsx)(material_1.Tab, { label: (0, jsx_runtime_1.jsxs)(material_1.Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h3" }, { children: invitedNumber })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "subtitle2" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.eventMembersWidget.invited", defaultMessage: "ui.eventMembersWidget.invited" }) }))] })), value: "2" }))] })) })), (0, jsx_runtime_1.jsx)(lab_1.TabPanel, Object.assign({ value: "1", className: classes.tabPanel }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: participants.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))) }) })), invited && ((0, jsx_runtime_1.jsx)(lab_1.TabPanel, Object.assign({ value: "2", className: classes.tabPanel }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: invited.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, { actions: (0, jsx_runtime_1.jsx)(InviteEventButton_1.default, { event: scEvent, userId: user.id, setInvitedNumber: setInvitedNumber }) })) }, user.id))) }) })))] }))] })), state.count > state.visibleItems && ((0, jsx_runtime_1.jsx)(material_1.CardActions, Object.assign({ className: classes.actions }, { children: (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))) }) })) })))] })));
|
|
149
149
|
}
|
|
150
150
|
exports.default = EventMembersWidget;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ButtonProps } from '@mui/material/Button/Button';
|
|
2
2
|
import { SCEventType } from '@selfcommunity/types';
|
|
3
3
|
import { BaseDialogProps } from '../../shared/BaseDialog';
|
|
4
|
-
export interface
|
|
4
|
+
export interface EventParticipantsButtonProps extends Pick<ButtonProps, Exclude<keyof ButtonProps, 'onClick' | 'disabled'>> {
|
|
5
5
|
/**
|
|
6
6
|
* Event Object
|
|
7
7
|
* @default null
|
|
@@ -12,6 +12,11 @@ export interface EventPartecipantsButtonProps extends Pick<ButtonProps, Exclude<
|
|
|
12
12
|
* @default null
|
|
13
13
|
*/
|
|
14
14
|
eventId?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Hide button label
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
19
|
+
hideCaption?: boolean;
|
|
15
20
|
/**
|
|
16
21
|
* Props to spread to followedBy dialog
|
|
17
22
|
* @default {}
|
|
@@ -23,24 +28,24 @@ export interface EventPartecipantsButtonProps extends Pick<ButtonProps, Exclude<
|
|
|
23
28
|
[p: string]: any;
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
|
-
*> API documentation for the Community-JS Event
|
|
31
|
+
*> API documentation for the Community-JS Event Participants Button component. Learn about the available props and the CSS API.
|
|
27
32
|
*
|
|
28
33
|
#### Import
|
|
29
34
|
```jsx
|
|
30
|
-
import {
|
|
35
|
+
import {EventParticipantsButton} from '@selfcommunity/react-ui';
|
|
31
36
|
```
|
|
32
37
|
#### Component Name
|
|
33
38
|
|
|
34
|
-
The name `
|
|
39
|
+
The name `SCEventParticipantsButton` can be used when providing style overrides in the theme.
|
|
35
40
|
|
|
36
41
|
* #### CSS
|
|
37
42
|
*
|
|
38
43
|
|Rule Name|Global class|Description|
|
|
39
44
|
|---|---|---|
|
|
40
|
-
|root|.
|
|
41
|
-
|dialogRoot|.
|
|
42
|
-
|endMessage|.
|
|
45
|
+
|root|.SCEventParticipantsButton-root|Styles applied to the root element.|
|
|
46
|
+
|dialogRoot|.SCEventParticipantsButton-dialog-root|Styles applied to the root element.|
|
|
47
|
+
|endMessage|.SCEventParticipantsButton-end-message|Styles applied to the end message element.|
|
|
43
48
|
|
|
44
49
|
* @param inProps
|
|
45
50
|
*/
|
|
46
|
-
export default function
|
|
51
|
+
export default function EventParticipantsButton(inProps: EventParticipantsButtonProps): JSX.Element;
|
|
@@ -17,11 +17,11 @@ const BaseDialog_1 = tslib_1.__importDefault(require("../../shared/BaseDialog"))
|
|
|
17
17
|
const InfiniteScroll_1 = tslib_1.__importDefault(require("../../shared/InfiniteScroll"));
|
|
18
18
|
const AvatarGroupSkeleton_1 = tslib_1.__importDefault(require("../Skeleton/AvatarGroupSkeleton"));
|
|
19
19
|
const User_1 = tslib_1.__importStar(require("../User"));
|
|
20
|
-
const PREFIX = '
|
|
20
|
+
const PREFIX = 'SCEventParticipantsButton';
|
|
21
21
|
const classes = {
|
|
22
22
|
root: `${PREFIX}-root`,
|
|
23
23
|
avatar: `${PREFIX}-avatar`,
|
|
24
|
-
|
|
24
|
+
participants: `${PREFIX}-participants`,
|
|
25
25
|
dialogRoot: `${PREFIX}-dialog-root`,
|
|
26
26
|
infiniteScroll: `${PREFIX}-infinite-scroll`,
|
|
27
27
|
endMessage: `${PREFIX}-end-message`
|
|
@@ -37,33 +37,33 @@ const DialogRoot = (0, styles_1.styled)(BaseDialog_1.default, {
|
|
|
37
37
|
overridesResolver: (_props, styles) => styles.dialogRoot
|
|
38
38
|
})(() => ({}));
|
|
39
39
|
/**
|
|
40
|
-
*> API documentation for the Community-JS Event
|
|
40
|
+
*> API documentation for the Community-JS Event Participants Button component. Learn about the available props and the CSS API.
|
|
41
41
|
*
|
|
42
42
|
#### Import
|
|
43
43
|
```jsx
|
|
44
|
-
import {
|
|
44
|
+
import {EventParticipantsButton} from '@selfcommunity/react-ui';
|
|
45
45
|
```
|
|
46
46
|
#### Component Name
|
|
47
47
|
|
|
48
|
-
The name `
|
|
48
|
+
The name `SCEventParticipantsButton` can be used when providing style overrides in the theme.
|
|
49
49
|
|
|
50
50
|
* #### CSS
|
|
51
51
|
*
|
|
52
52
|
|Rule Name|Global class|Description|
|
|
53
53
|
|---|---|---|
|
|
54
|
-
|root|.
|
|
55
|
-
|dialogRoot|.
|
|
56
|
-
|endMessage|.
|
|
54
|
+
|root|.SCEventParticipantsButton-root|Styles applied to the root element.|
|
|
55
|
+
|dialogRoot|.SCEventParticipantsButton-dialog-root|Styles applied to the root element.|
|
|
56
|
+
|endMessage|.SCEventParticipantsButton-end-message|Styles applied to the end message element.|
|
|
57
57
|
|
|
58
58
|
* @param inProps
|
|
59
59
|
*/
|
|
60
|
-
function
|
|
60
|
+
function EventParticipantsButton(inProps) {
|
|
61
61
|
// PROPS
|
|
62
62
|
const props = (0, system_1.useThemeProps)({
|
|
63
63
|
props: inProps,
|
|
64
64
|
name: PREFIX
|
|
65
65
|
});
|
|
66
|
-
const { className, eventId, event, DialogProps = {} } = props, rest = tslib_1.__rest(props, ["className", "eventId", "event", "DialogProps"]);
|
|
66
|
+
const { className, eventId, event, hideCaption = false, DialogProps = {} } = props, rest = tslib_1.__rest(props, ["className", "eventId", "event", "hideCaption", "DialogProps"]);
|
|
67
67
|
// STATE
|
|
68
68
|
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
69
69
|
const [next, setNext] = (0, react_1.useState)(null);
|
|
@@ -124,6 +124,6 @@ function EventPartecipantsButton(inProps) {
|
|
|
124
124
|
const handleToggleDialogOpen = (0, react_1.useCallback)(() => {
|
|
125
125
|
setOpen((prev) => !prev);
|
|
126
126
|
}, [setOpen]);
|
|
127
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), onClick: handleToggleDialogOpen, disabled: loading || !scEvent || scEvent.goings_counter === 0 }, rest, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.
|
|
127
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), onClick: handleToggleDialogOpen, disabled: loading || !scEvent || scEvent.goings_counter === 0 }, rest, { children: [!hideCaption && ((0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ className: classes.participants, variant: "caption" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { defaultMessage: "ui.eventParticipantsButton.participants", id: "ui.eventParticipantsButton.participants" }) }))), loading || !scEvent ? ((0, jsx_runtime_1.jsx)(AvatarGroupSkeleton_1.default, Object.assign({}, rest))) : ((0, jsx_runtime_1.jsx)(material_1.AvatarGroup, Object.assign({ total: scEvent.goings_counter }, { children: followers.map((c) => ((0, jsx_runtime_1.jsx)(material_1.Avatar, { alt: c.username, src: c.avatar, className: classes.avatar }, c.id))) })))] })), open && ((0, jsx_runtime_1.jsx)(DialogRoot, Object.assign({ className: classes.dialogRoot, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { defaultMessage: "ui.eventParticipantsButton.dialogTitle", id: "ui.eventParticipantsButton.dialogTitle", values: { total: scEvent.goings_counter } }), onClose: handleToggleDialogOpen, open: open }, DialogProps, { children: (0, jsx_runtime_1.jsx)(InfiniteScroll_1.default, Object.assign({ dataLength: followers.length, next: fetchFollowers, hasMoreNext: next !== null || loading, loaderNext: (0, jsx_runtime_1.jsx)(User_1.UserSkeleton, { elevation: 0 }), 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.eventParticipantsButton.noOtherParticipants", defaultMessage: "ui.eventParticipantsButton.noOtherParticipants" }) })) }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: followers.map((follower) => ((0, jsx_runtime_1.jsx)(material_1.ListItem, { children: (0, jsx_runtime_1.jsx)(User_1.default, { elevation: 0, user: follower }) }, follower.id))) }) })) })))] }));
|
|
128
128
|
}
|
|
129
|
-
exports.default =
|
|
129
|
+
exports.default = EventParticipantsButton;
|
|
@@ -136,7 +136,7 @@ function NavigationToolbar(inProps) {
|
|
|
136
136
|
[classes.active]: value.startsWith(scRoutingContext.url(react_core_1.SCRoutes.GROUPS_SUBSCRIBED_ROUTE_NAME, {})) ||
|
|
137
137
|
value.startsWith(scRoutingContext.url(react_core_1.SCRoutes.GROUPS_ROUTE_NAME, {}))
|
|
138
138
|
}), "aria-label": "Groups", to: scRoutingContext.url(react_core_1.SCRoutes.GROUPS_SUBSCRIBED_ROUTE_NAME, {}), component: react_core_1.Link }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "groups" }) }))), eventsEnabled && scUserContext.user && ((0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ className: (0, classnames_1.default)(classes.events, {
|
|
139
|
-
[classes.active]: value.startsWith(scRoutingContext.url(react_core_1.SCRoutes.
|
|
139
|
+
[classes.active]: value.startsWith(scRoutingContext.url(react_core_1.SCRoutes.EVENTS_ROUTE_NAME, {}))
|
|
140
140
|
}), "aria-label": "Groups", to: scRoutingContext.url(react_core_1.SCRoutes.EVENTS_ROUTE_NAME, {}), component: react_core_1.Link }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "CalendarIcon" }) })))] })));
|
|
141
141
|
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(className, classes.root) }, rest, { children: [(0, jsx_runtime_1.jsx)(NavigationMenuIconButtonComponent, {}), (0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes.HOME_ROUTE_NAME, {}), className: classes.logo }, { children: (0, jsx_runtime_1.jsx)("img", { src: preferences[react_core_1.SCPreferences.LOGO_NAVBAR_LOGO], alt: "logo" }) })), !scUserContext.user && !preferences[react_core_1.SCPreferences.ADDONS_CLOSED_COMMUNITY] && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ color: "inherit", component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.SIGNUP_ROUTE_NAME, {}), className: classes.register }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.appBar.navigation.register", defaultMessage: "ui.appBar.navigation.register" }) }))), preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED] && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT] ? ((0, jsx_runtime_1.jsx)(material_1.Tooltip, Object.assign({ title: preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT] }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ target: "blank", to: preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL], className: classes.customItem }, { children: (0, jsx_runtime_1.jsx)("img", { src: preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE], alt: "custom_item" }) })) }))) : ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ target: "blank", to: preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL], className: classes.customItem }, { children: (0, jsx_runtime_1.jsx)("img", { src: preferences[react_core_1.SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE], alt: "custom_item" }) }))) })), _children, (preferences[react_core_1.SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY] || scUserContext.user) && !disableSearch ? ((0, jsx_runtime_1.jsx)(SearchAutocomplete_1.default, Object.assign({ className: classes.search, blurOnSelect: true }, SearchAutocompleteProps))) : ((0, jsx_runtime_1.jsx)(material_1.Box, { className: classes.search })), startActions, scUserContext.user ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [showComposer && (0, jsx_runtime_1.jsx)(ComposerIconButton_1.default, Object.assign({ className: classes.composer }, ComposerIconButtonProps)), (0, jsx_runtime_1.jsx)(material_1.Tooltip, Object.assign({ title: scUserContext.user.username }, { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.USER_PROFILE_ROUTE_NAME, scUserContext.user), "aria-label": "Profile", className: classes.profile }, { children: (0, jsx_runtime_1.jsx)(material_1.Avatar, { alt: scUserContext.user.username, src: scUserContext.user.avatar }) })) })), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ className: (0, classnames_1.default)(classes.notification, {
|
|
142
142
|
[classes.active]: value.startsWith(scRoutingContext.url(react_core_1.SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}))
|
|
@@ -56,14 +56,14 @@ function RelatedEventsWidget(inProps) {
|
|
|
56
56
|
props: inProps,
|
|
57
57
|
name: constants_1.PREFIX
|
|
58
58
|
});
|
|
59
|
-
const { event, eventId, eventComponentProps = { elevation: 0, square: true }, endpointQueryParams = { limit: Pagination_1.DEFAULT_PAGINATION_LIMIT, offset: Pagination_1.DEFAULT_PAGINATION_OFFSET }, cacheStrategy, dialogProps } = props, rest = tslib_1.__rest(props, ["event", "eventId", "eventComponentProps", "endpointQueryParams", "cacheStrategy", "dialogProps"]);
|
|
59
|
+
const { event, eventId, eventComponentProps = { elevation: 0, square: true }, endpointQueryParams = { limit: Pagination_1.DEFAULT_PAGINATION_LIMIT, offset: Pagination_1.DEFAULT_PAGINATION_OFFSET }, cacheStrategy, dialogProps, limit = 5 } = props, rest = tslib_1.__rest(props, ["event", "eventId", "eventComponentProps", "endpointQueryParams", "cacheStrategy", "dialogProps", "limit"]);
|
|
60
60
|
// STATE
|
|
61
61
|
const [state, dispatch] = (0, react_1.useReducer)(widget_1.dataWidgetReducer, {
|
|
62
62
|
isLoadingNext: false,
|
|
63
63
|
next: null,
|
|
64
|
-
cacheKey: react_core_1.SCCache.getWidgetStateCacheKey(react_core_1.SCCache.
|
|
64
|
+
cacheKey: react_core_1.SCCache.getWidgetStateCacheKey(react_core_1.SCCache.USER_OTHER_EVENTS_STATE_CACHE_PREFIX_KEY, eventId || event.id),
|
|
65
65
|
cacheStrategy,
|
|
66
|
-
visibleItems:
|
|
66
|
+
visibleItems: limit
|
|
67
67
|
}, widget_1.stateWidgetInitializer);
|
|
68
68
|
const [openDialog, setOpenDialog] = (0, react_1.useState)(false);
|
|
69
69
|
// CONTEXT
|
|
@@ -104,7 +104,7 @@ function RelatedEventsWidget(inProps) {
|
|
|
104
104
|
api_services_1.http
|
|
105
105
|
.request({
|
|
106
106
|
url: state.next,
|
|
107
|
-
method: api_services_1.Endpoints.
|
|
107
|
+
method: api_services_1.Endpoints.GetEventRelated.method
|
|
108
108
|
})
|
|
109
109
|
.then((res) => {
|
|
110
110
|
dispatch({ type: widget_1.actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: res.data });
|
|
@@ -23,8 +23,8 @@ function Arrow(props) {
|
|
|
23
23
|
setCurrentItem(swiper.snapIndex);
|
|
24
24
|
}, [type]);
|
|
25
25
|
if (type === 'prev') {
|
|
26
|
-
return (currentItem > 0 && ((0, jsx_runtime_1.jsx)(material_1.
|
|
26
|
+
return (currentItem > 0 && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ variant: "contained", className: className, size: "medium", onClick: () => handleChange('prev') }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "chevron_left" }) }))));
|
|
27
27
|
}
|
|
28
|
-
return (currentItem < itemsLength - 1 && ((0, jsx_runtime_1.jsx)(material_1.
|
|
28
|
+
return (currentItem < itemsLength - 1 && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ variant: "contained", className: className, size: "medium", onClick: () => handleChange('next') }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "chevron_right" }) }))));
|
|
29
29
|
}
|
|
30
30
|
exports.default = Arrow;
|
|
@@ -7,6 +7,7 @@ const system_1 = require("@mui/system");
|
|
|
7
7
|
const api_services_1 = require("@selfcommunity/api-services");
|
|
8
8
|
const react_core_1 = require("@selfcommunity/react-core");
|
|
9
9
|
const utils_1 = require("@selfcommunity/utils");
|
|
10
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
10
11
|
const react_1 = require("react");
|
|
11
12
|
const react_intl_1 = require("react-intl");
|
|
12
13
|
const react_2 = require("swiper/react");
|
|
@@ -25,6 +26,7 @@ const classes = {
|
|
|
25
26
|
title: `${constants_1.PREFIX}-title`,
|
|
26
27
|
swiper: `${constants_1.PREFIX}-swiper`,
|
|
27
28
|
swiperSlide: `${constants_1.PREFIX}-swiper-slide`,
|
|
29
|
+
swiperArrow: `${constants_1.PREFIX}-swiper-arrow`,
|
|
28
30
|
swiperPrevArrow: `${constants_1.PREFIX}-swiper-prev-arrow`,
|
|
29
31
|
swiperNextArrow: `${constants_1.PREFIX}-swiper-next-arrow`,
|
|
30
32
|
event: `${constants_1.PREFIX}-event`,
|
|
@@ -42,9 +44,11 @@ function SuggestedEventsWidget(inProps) {
|
|
|
42
44
|
props: inProps,
|
|
43
45
|
name: constants_1.PREFIX
|
|
44
46
|
});
|
|
45
|
-
const { endpointQueryParams = { limit:
|
|
47
|
+
const { endpointQueryParams = { limit: 3, offset: Pagination_1.DEFAULT_PAGINATION_OFFSET } } = props, rest = tslib_1.__rest(props, ["endpointQueryParams"]);
|
|
46
48
|
// STATE
|
|
47
|
-
const [
|
|
49
|
+
const [count, setCount] = (0, react_1.useState)(null);
|
|
50
|
+
const [next, setNext] = (0, react_1.useState)(null);
|
|
51
|
+
const [events, setEvents] = (0, react_1.useState)(null);
|
|
48
52
|
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
49
53
|
const [showSkeleton, setShowSkeleton] = (0, react_1.useState)(false);
|
|
50
54
|
const [currentItem, setCurrentItem] = (0, react_1.useState)(0);
|
|
@@ -53,7 +57,9 @@ function SuggestedEventsWidget(inProps) {
|
|
|
53
57
|
(0, react_1.useEffect)(() => {
|
|
54
58
|
api_services_1.SuggestionService.getEventSuggestion(Object.assign({}, endpointQueryParams))
|
|
55
59
|
.then((payload) => {
|
|
56
|
-
|
|
60
|
+
setCount(payload.count);
|
|
61
|
+
setNext(payload.next);
|
|
62
|
+
setEvents(payload.results);
|
|
57
63
|
setLoading(false);
|
|
58
64
|
})
|
|
59
65
|
.catch((error) => {
|
|
@@ -61,29 +67,31 @@ function SuggestedEventsWidget(inProps) {
|
|
|
61
67
|
});
|
|
62
68
|
}, []);
|
|
63
69
|
const handleReachEnd = (0, react_1.useCallback)(() => {
|
|
64
|
-
if (
|
|
70
|
+
if (count > events.length && next) {
|
|
65
71
|
setShowSkeleton(true);
|
|
66
72
|
api_services_1.http
|
|
67
73
|
.request({
|
|
68
|
-
url:
|
|
74
|
+
url: next,
|
|
69
75
|
method: api_services_1.Endpoints.GetEventSuggestedUsers.method
|
|
70
76
|
})
|
|
71
77
|
.then((res) => {
|
|
72
|
-
|
|
78
|
+
setCount(res.data.count);
|
|
79
|
+
setNext(res.data.next);
|
|
80
|
+
setEvents((prevEvents) => [...prevEvents, ...res.data.results]);
|
|
73
81
|
setShowSkeleton(false);
|
|
74
82
|
})
|
|
75
83
|
.catch((error) => {
|
|
76
84
|
utils_1.Logger.error(Errors_1.SCOPE_SC_UI, error);
|
|
77
85
|
});
|
|
78
86
|
}
|
|
79
|
-
}, [
|
|
87
|
+
}, [count, events, next]);
|
|
80
88
|
// RENDER
|
|
81
|
-
if (!
|
|
89
|
+
if (!events && loading) {
|
|
82
90
|
return (0, jsx_runtime_1.jsx)(Skeleton_1.default, {});
|
|
83
91
|
}
|
|
84
|
-
if (!
|
|
92
|
+
if (!events || count === 0) {
|
|
85
93
|
return (0, jsx_runtime_1.jsx)(HiddenPlaceholder_1.default, {});
|
|
86
94
|
}
|
|
87
|
-
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: classes.root }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.content }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5", className: classes.title }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.suggestedEventsWidget.title", defaultMessage: "ui.suggestedEventsWidget.title" }) })), (0, jsx_runtime_1.jsxs)(react_2.Swiper, Object.assign({ spaceBetween: 8, slidesPerView: "auto", grabCursor: true, onReachEnd: handleReachEnd, onSlideChange: (swiper) => setCurrentItem(swiper.snapIndex), className: classes.swiper }, { children: [(showSkeleton ? [...
|
|
95
|
+
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: classes.root }, rest, { children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, Object.assign({ className: classes.content }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5", className: classes.title }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.suggestedEventsWidget.title", defaultMessage: "ui.suggestedEventsWidget.title" }) })), (0, jsx_runtime_1.jsxs)(react_2.Swiper, Object.assign({ spaceBetween: 8, slidesPerView: "auto", grabCursor: true, onReachEnd: handleReachEnd, onSlideChange: (swiper) => setCurrentItem(swiper.snapIndex), className: classes.swiper }, { children: [(showSkeleton ? [...events, undefined] : events).map((event, i) => ((0, jsx_runtime_1.jsx)(react_2.SwiperSlide, Object.assign({ className: classes.swiperSlide }, { children: (0, jsx_runtime_1.jsx)(Event_1.default, { event: event, template: event_1.SCEventTemplateType.PREVIEW, actions: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), variant: "outlined", className: classes.event }) }), i))), (0, jsx_runtime_1.jsx)(Arrow_1.default, { className: (0, classnames_1.default)(classes.swiperArrow, classes.swiperPrevArrow), type: "prev", currentItem: currentItem, setCurrentItem: setCurrentItem }), (0, jsx_runtime_1.jsx)(Arrow_1.default, { className: (0, classnames_1.default)(classes.swiperArrow, classes.swiperNextArrow), type: "next", currentItem: currentItem, setCurrentItem: setCurrentItem })] }))] })), (0, jsx_runtime_1.jsx)(material_1.CardActions, Object.assign({ className: classes.actions }, { children: (0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ component: react_core_1.Link, to: scRoutingContext.url(react_core_1.SCRoutes.EVENTS_SUGGESTED_ROUTE_NAME, {}), 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.suggestedEventsWidget.showAll", defaultMessage: "ui.suggestedEventsWidget.showAll" }) })) })) }))] })));
|
|
88
96
|
}
|
|
89
97
|
exports.default = SuggestedEventsWidget;
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ import EventInfoWidget, { EventInfoWidgetProps } from './components/EventInfoWid
|
|
|
47
47
|
import EventInviteButton, { EventInviteButtonProps } from './components/EventInviteButton';
|
|
48
48
|
import EventLocationWidget, { EventLocationWidgetProps, EventLocationWidgetSkeleton } from './components/EventLocationWidget';
|
|
49
49
|
import EventMembersWidget, { EventMembersWidgetProps, EventMembersWidgetSkeleton } from './components/EventMembersWidget';
|
|
50
|
-
import
|
|
50
|
+
import EventParticipantsButton, { EventParticipantsButtonProps } from './components/EventParticipantsButton';
|
|
51
51
|
import Events, { EventsProps, EventsSkeleton, EventsSkeletonProps } from './components/Events';
|
|
52
52
|
import Feed, { FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton } from './components/Feed';
|
|
53
53
|
import FeedObject, { FeedObjectProps, FeedObjectSkeleton } from './components/FeedObject';
|
|
@@ -169,4 +169,4 @@ import LogoSelfCommunity from './assets/logo';
|
|
|
169
169
|
/**
|
|
170
170
|
* List all exports
|
|
171
171
|
*/
|
|
172
|
-
export { AccountChangeMailValidation, AccountChangeMailValidationProps, AccountDataPortability, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDataPortabilityProps, AccountDelete, AccountDeleteButton, AccountDeleteButtonProps, AccountDeleteProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AvatarGroupSkeleton, BaseDialog, BaseDialogProps, BaseItem, BaseItemProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, bytesToSize, Calendar, CalendarProps, Categories, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, Category, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowButton, CategoryFollowButtonProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, CategoryProps, CategorySkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingPeopleWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CentralProgress, ChangeCover, ChangeCoverProps, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, ChangePicture, ChangePictureProps, CommentObject, CommentObjectProps, CommentObjectReply, CommentObjectReplyProps, CommentObjectSkeleton, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, CommentsObject, CommentsObjectProps, CommentsObjectSkeleton, Composer, ComposerIconButton, ComposerIconButtonProps, ComposerProps, ConfirmDialog, ConnectionUserButton, ConsentSolution, ConsentSolutionButton, ConsentSolutionButtonProps, ConsentSolutionProps, ConsentSolutionSkeleton, ContributionUtils, CreateEventButton, CreateEventButtonProps, CreateEventWidget, CreateEventWidgetProps, CreateEventWidgetSkeleton, CreateGroupButton, CreateGroupButtonProps, CustomAdv, CustomAdvProps, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultDrawerContentProps, DefaultHeaderContent, DefaultHeaderContentProps, EditEventButton, EditEventButtonProps, EditGroupButton, EditGroupButtonProps, EditMediaProps, Editor, EditorProps, EditorSkeleton, EmailTextField, Event, EventActionsMenu, EventActionsMenuProps, EventHeader, EventHeaderProps, EventHeaderSkeleton, EventInfoDetails, EventInfoDetailsProps, EventInfoWidget, EventInfoWidgetProps, EventInviteButton, EventInviteButtonProps, EventLocationWidget, EventLocationWidgetProps, EventLocationWidgetSkeleton, EventMembersWidget, EventMembersWidgetProps, EventMembersWidgetSkeleton,
|
|
172
|
+
export { AccountChangeMailValidation, AccountChangeMailValidationProps, AccountDataPortability, AccountDataPortabilityButton, AccountDataPortabilityButtonProps, AccountDataPortabilityProps, AccountDelete, AccountDeleteButton, AccountDeleteButtonProps, AccountDeleteProps, AccountRecover, AccountRecoverProps, AccountReset, AccountResetProps, AccountVerify, AccountVerifyProps, AvatarGroupSkeleton, BaseDialog, BaseDialogProps, BaseItem, BaseItemProps, BottomNavigation, BottomNavigationProps, BroadcastMessages, BroadcastMessagesProps, BroadcastMessagesSkeleton, bytesToSize, Calendar, CalendarProps, Categories, CategoriesPopularWidget, CategoriesPopularWidgetSkeleton, CategoriesProps, CategoriesSkeleton, CategoriesSkeletonProps, CategoriesSuggestionWidget, CategoriesSuggestionWidgetProps, CategoriesSuggestionWidgetSkeleton, Category, CategoryAutocomplete, CategoryAutocompleteProps, CategoryFollowButton, CategoryFollowButtonProps, CategoryFollowersButton, CategoryFollowersButtonProps, CategoryHeader, CategoryHeaderProps, CategoryHeaderSkeleton, CategoryProps, CategorySkeleton, CategoryTrendingFeedWidget, CategoryTrendingFeedWidgetProps, CategoryTrendingFeedWidgetSkeleton, CategoryTrendingPeopleWidgetSkeleton, CategoryTrendingUsersWidget, CategoryTrendingUsersWidgetProps, CentralProgress, ChangeCover, ChangeCoverProps, ChangeGroupCover, ChangeGroupCoverProps, ChangeGroupPicture, ChangeGroupPictureProps, ChangePicture, ChangePictureProps, CommentObject, CommentObjectProps, CommentObjectReply, CommentObjectReplyProps, CommentObjectSkeleton, CommentsFeedObject, CommentsFeedObjectProps, CommentsFeedObjectSkeleton, CommentsObject, CommentsObjectProps, CommentsObjectSkeleton, Composer, ComposerIconButton, ComposerIconButtonProps, ComposerProps, ConfirmDialog, ConnectionUserButton, ConsentSolution, ConsentSolutionButton, ConsentSolutionButtonProps, ConsentSolutionProps, ConsentSolutionSkeleton, ContributionUtils, CreateEventButton, CreateEventButtonProps, CreateEventWidget, CreateEventWidgetProps, CreateEventWidgetSkeleton, CreateGroupButton, CreateGroupButtonProps, CustomAdv, CustomAdvProps, CustomAdvSkeleton, DEFAULT_FIELDS, DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET, DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WIDGETS_NUMBER, DefaultDrawerContent, DefaultDrawerContentProps, DefaultHeaderContent, DefaultHeaderContentProps, EditEventButton, EditEventButtonProps, EditGroupButton, EditGroupButtonProps, EditMediaProps, Editor, EditorProps, EditorSkeleton, EmailTextField, Event, EventActionsMenu, EventActionsMenuProps, EventHeader, EventHeaderProps, EventHeaderSkeleton, EventInfoDetails, EventInfoDetailsProps, EventInfoWidget, EventInfoWidgetProps, EventInviteButton, EventInviteButtonProps, EventLocationWidget, EventLocationWidgetProps, EventLocationWidgetSkeleton, EventMembersWidget, EventMembersWidgetProps, EventMembersWidgetSkeleton, EventParticipantsButton, EventParticipantsButtonProps, EventProps, Events, EventSkeleton, EventSkeletonProps, EventsProps, EventsSkeleton, EventsSkeletonProps, FACEBOOK_SHARE, Feed, FeedObject, FeedObjectMediaPreview, FeedObjectMediaPreviewProps, FeedObjectProps, FeedObjectSkeleton, FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton, FeedUpdatesWidget, FeedUpdatesWidgetProps, FeedUpdatesWidgetSkeleton, File, FollowUserButton, FollowUserButtonProps, Footer, FooterProps, FooterSkeleton, FriendshipButtonProps, FriendshipUserButton, GenericSkeleton, getRelativeTime, getUnseenNotification, getUnseenNotificationCounter, Group, GroupForm, GroupFormProps, GroupHeader, GroupHeaderProps, GroupHeaderSkeleton, GroupInfoWidget, GroupInfoWidgetProps, GroupInfoWidgetSkeleton, GroupInviteButton, GroupInviteButtonProps, GroupInvitedWidget, GroupInvitedWidgetProps, GroupInvitedWidgetSkeleton, GroupMembersButton, GroupMembersButtonProps, GroupMembersWidget, GroupMembersWidgetProps, GroupMembersWidgetSkeleton, GroupProps, GroupRequestsWidget, GroupRequestsWidgetProps, GroupRequestsWidgetSkeleton, Groups, GroupSettingsIconButton, GroupSettingsIconButtonProps, GroupSkeleton, GroupsProps, GroupsSkeleton, GroupSubscribeButton, GroupSubscribeButtonProps, HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorDetailProps, IncubatorListWidget, IncubatorListWidgetProps, IncubatorProps, IncubatorSubscribeButton, IncubatorSubscribeButtonProps, IncubatorSuggestionWidget, IncubatorSuggestionWidgetProps, InfiniteScroll, InlineComposerWidget, InlineComposerWidgetProps, InlineComposerWidgetSkeleton, InviteEventButton, InviteEventButtonProps, LanguageSwitcher, LEGAL_POLICIES, Lightbox, Link, LINKEDIN_SHARE, LocationAutocomplete, LocationAutocompleteProps, LogoSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_IMAGE, MEDIA_TYPE_LINK, MEDIA_TYPE_SHARE, MEDIA_TYPE_URL, MEDIA_TYPE_VIDEO, MediaChunkUploader, MediaChunkUploaderProps, MessageUploaderUtils, MetadataField, MetadataFieldProps, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetProps, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuHeader, NavigationMenuIconButton, NavigationMenuIconButtonProps, NavigationSettingsIconButton, NavigationSettingsIconButtonProps, NavigationSettingsItem, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileProps, NavigationToolbarMobileSkeleton, NavigationToolbarProps, NavigationToolbarSkeleton, Notification, NotificationProps, NotificationSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetActionType, PlatformWidgetProps, PlatformWidgetSkeleton, PollSuggestionWidget, PollSuggestionWidgetProps, PrivateMessageComponent, PrivateMessageComponentProps, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorProps, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSettingsIconButtonProps, PrivateMessageSnippetItem, PrivateMessageSnippetItemProps, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton, PrivateMessageThreadProps, PrivateMessageThreadSkeleton, RelatedEventsWidget, RelatedEventsWidgetProps, RelatedEventsWidgetSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, RelatedFeedObjectWidgetProps, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCFeedWidgetType, SCMediaChunkType, SCMediaObjectType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchAutocompleteProps, SearchDialog, SearchDialogProps, Share, SnippetNotifications, SnippetNotificationsProps, SnippetNotificationsSkeleton, StickyBox, StickyBoxComponent, StickyBoxProps, SuggestedEventsWidget, SuggestedEventsWidgetProps, SuggestedEventsWidgetSkeleton, TagChip, TagChipProps, ToastNotifications, ToastNotificationsProps, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserActionIconButtonProps, UserAvatar, UserAvatarProps, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetProps, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetProps, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetProps, UserConnectionsWidgetSkeleton, UserCounters, UserCountersProps, UserDeletedSnackBar, UserDeletedSnackBarProps, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetProps, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetProps, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetProps, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoDialogProps, UserInfoProps, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileBlockedProps, UserProfileEdit, UserProfileEditProps, UserProfileEditSectionAccount, UserProfileEditSectionAccountProps, UserProfileEditSectionPublicInfo, UserProfileEditSectionPublicInfoProps, UserProfileEditSectionSettings, UserProfileEditSectionSettingsProps, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderProps, UserProfileHeaderSkeleton, UserProps, UserSkeleton, UserSocialAssociation, UserSocialAssociationProps, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton, useStickyBox, UseStickyBoxProps, VirtualScrollerItemProps, Widget, WidgetProps, X_SHARE };
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConsentSolution = exports.ConnectionUserButton = exports.ConfirmDialog = exports.ComposerIconButton = exports.Composer = exports.CommentsObjectSkeleton = exports.CommentsObject = exports.CommentsFeedObjectSkeleton = exports.CommentsFeedObject = exports.CommentObjectSkeleton = exports.CommentObjectReply = exports.CommentObject = exports.ChangePicture = exports.ChangeGroupPicture = exports.ChangeGroupCover = exports.ChangeCover = exports.CentralProgress = exports.CategoryTrendingUsersWidget = exports.CategoryTrendingPeopleWidgetSkeleton = exports.CategoryTrendingFeedWidgetSkeleton = exports.CategoryTrendingFeedWidget = exports.CategorySkeleton = exports.CategoryHeaderSkeleton = exports.CategoryHeader = exports.CategoryFollowersButton = exports.CategoryFollowButton = exports.CategoryAutocomplete = exports.Category = exports.CategoriesSuggestionWidgetSkeleton = exports.CategoriesSuggestionWidget = exports.CategoriesSkeleton = exports.CategoriesPopularWidgetSkeleton = exports.CategoriesPopularWidget = exports.Categories = exports.Calendar = exports.bytesToSize = exports.BroadcastMessagesSkeleton = exports.BroadcastMessages = exports.BottomNavigation = exports.BaseItem = exports.BaseDialog = exports.AvatarGroupSkeleton = exports.AccountVerify = exports.AccountReset = exports.AccountRecover = exports.AccountDeleteButton = exports.AccountDelete = exports.AccountDataPortabilityButton = exports.AccountDataPortability = exports.AccountChangeMailValidation = void 0;
|
|
4
|
-
exports.FriendshipUserButton = exports.FooterSkeleton = exports.Footer = exports.FollowUserButton = exports.File = exports.FeedUpdatesWidgetSkeleton = exports.FeedUpdatesWidget = exports.FeedSkeleton = exports.FeedObjectSkeleton = exports.FeedObjectMediaPreview = exports.FeedObject = exports.Feed = exports.FACEBOOK_SHARE = exports.EventsSkeleton = exports.EventSkeleton = exports.Events = exports.
|
|
4
|
+
exports.FriendshipUserButton = exports.FooterSkeleton = exports.Footer = exports.FollowUserButton = exports.File = exports.FeedUpdatesWidgetSkeleton = exports.FeedUpdatesWidget = exports.FeedSkeleton = exports.FeedObjectSkeleton = exports.FeedObjectMediaPreview = exports.FeedObject = exports.Feed = exports.FACEBOOK_SHARE = exports.EventsSkeleton = exports.EventSkeleton = exports.Events = exports.EventParticipantsButton = exports.EventMembersWidgetSkeleton = exports.EventMembersWidget = exports.EventLocationWidgetSkeleton = exports.EventLocationWidget = exports.EventInviteButton = exports.EventInfoWidget = exports.EventInfoDetails = exports.EventHeaderSkeleton = exports.EventHeader = exports.EventActionsMenu = exports.Event = exports.EmailTextField = exports.EditorSkeleton = exports.Editor = exports.EditGroupButton = exports.EditEventButton = exports.DefaultHeaderContent = exports.DefaultDrawerContent = exports.DEFAULT_WIDGETS_NUMBER = exports.DEFAULT_PRELOAD_OFFSET_VIEWPORT = exports.DEFAULT_PAGINATION_QUERY_PARAM_NAME = exports.DEFAULT_PAGINATION_OFFSET = exports.DEFAULT_PAGINATION_LIMIT = exports.DEFAULT_FIELDS = exports.CustomAdvSkeleton = exports.CustomAdv = exports.CreateGroupButton = exports.CreateEventWidgetSkeleton = exports.CreateEventWidget = exports.CreateEventButton = exports.ContributionUtils = exports.ConsentSolutionSkeleton = exports.ConsentSolutionButton = void 0;
|
|
5
5
|
exports.MEDIA_TYPE_IMAGE = exports.MEDIA_TYPE_EVENT = exports.MEDIA_TYPE_EMBED = exports.MEDIA_TYPE_DOCUMENT = exports.MEDIA_EMBED_SC_SHARED_OBJECT = exports.MEDIA_EMBED_SC_SHARED_EVENT = exports.MEDIA_EMBED_SC_LINK_TYPE = exports.MAX_PRELOAD_OFFSET_VIEWPORT = exports.LoyaltyProgramWidgetSkeleton = exports.LoyaltyProgramWidget = exports.LogoSelfCommunity = exports.LocationAutocomplete = exports.LINKEDIN_SHARE = exports.Link = exports.Lightbox = exports.LEGAL_POLICIES = exports.LanguageSwitcher = exports.InviteEventButton = exports.InlineComposerWidgetSkeleton = exports.InlineComposerWidget = exports.InfiniteScroll = exports.IncubatorSuggestionWidget = exports.IncubatorSubscribeButton = exports.IncubatorListWidget = exports.IncubatorDetail = exports.Incubator = exports.HiddenPlaceholder = exports.GroupSubscribeButton = exports.GroupsSkeleton = exports.GroupSkeleton = exports.GroupSettingsIconButton = exports.Groups = exports.GroupRequestsWidgetSkeleton = exports.GroupRequestsWidget = exports.GroupMembersWidgetSkeleton = exports.GroupMembersWidget = exports.GroupMembersButton = exports.GroupInvitedWidgetSkeleton = exports.GroupInvitedWidget = exports.GroupInviteButton = exports.GroupInfoWidgetSkeleton = exports.GroupInfoWidget = exports.GroupHeaderSkeleton = exports.GroupHeader = exports.GroupForm = exports.Group = exports.getUnseenNotificationCounter = exports.getUnseenNotification = exports.getRelativeTime = exports.GenericSkeleton = void 0;
|
|
6
6
|
exports.SCUserProfileSettings = exports.SCUserProfileFields = exports.SCNotificationObjectTemplateType = exports.SCFeedObjectTemplateType = exports.SCFeedObjectActivitiesType = exports.SCCommentsOrderBy = exports.SCBroadcastMessageTemplateType = exports.ReplyComment = exports.RelatedFeedObjectsWidgetSkeleton = exports.RelatedFeedObjectsWidget = exports.RelatedEventsWidgetSkeleton = exports.RelatedEventsWidget = exports.PrivateMessageThreadSkeleton = exports.PrivateMessageThreadItemSkeleton = exports.PrivateMessageThreadItem = exports.PrivateMessageThread = exports.PrivateMessageSnippetsSkeleton = exports.PrivateMessageSnippets = exports.PrivateMessageSnippetItemSkeleton = exports.PrivateMessageSnippetItem = exports.PrivateMessageSettingsIconButton = exports.PrivateMessageEditorSkeleton = exports.PrivateMessageEditor = exports.PrivateMessageComponentSkeleton = exports.PrivateMessageComponent = exports.PollSuggestionWidget = exports.PlatformWidgetSkeleton = exports.PlatformWidget = exports.PhoneTextField = exports.PasswordTextField = exports.NotificationSkeleton = exports.Notification = exports.NavigationToolbarSkeleton = exports.NavigationToolbarMobileSkeleton = exports.NavigationToolbarMobile = exports.NavigationToolbar = exports.NavigationSettingsIconButton = exports.NavigationMenuIconButton = exports.NavigationMenuHeader = exports.NavigationMenuContent = exports.MyEventsWidgetSkeleton = exports.MyEventsWidget = exports.MIN_PRELOAD_OFFSET_VIEWPORT = exports.MetadataField = exports.MessageUploaderUtils = exports.MediaChunkUploader = exports.MEDIA_TYPE_VIDEO = exports.MEDIA_TYPE_URL = exports.MEDIA_TYPE_SHARE = exports.MEDIA_TYPE_LINK = void 0;
|
|
7
7
|
exports.Widget = exports.useStickyBox = exports.UserSuggestionWidgetSkeleton = exports.UserSuggestionWidget = exports.UserSubscribedGroupsWidgetSkeleton = exports.UserSubscribedGroupsWidget = exports.UserSocialAssociation = exports.UserSkeleton = exports.UserProfileHeaderSkeleton = exports.UserProfileHeader = exports.UserProfileEditSkeleton = exports.UserProfileEditSectionSettings = exports.UserProfileEditSectionPublicInfo = exports.UserProfileEditSectionAccount = exports.UserProfileEdit = exports.UserProfileBlocked = exports.UsernameTextField = exports.UserInfoSkeleton = exports.UserInfoDialog = exports.UserInfo = exports.UserFollowersWidgetSkeleton = exports.UserFollowersWidget = exports.UserFollowedUsersWidgetSkeleton = exports.UserFollowedUsersWidget = exports.UserFollowedCategoriesWidgetSkeleton = exports.UserFollowedCategoriesWidget = exports.UserDeletedSnackBar = exports.UserCounters = exports.UserConnectionsWidgetSkeleton = exports.UserConnectionsWidget = exports.UserConnectionsRequestsWidgetSkeleton = exports.UserConnectionsRequestsWidget = exports.UserConnectionsRequestsSentWidgetSkeleton = exports.UserConnectionsRequestsSentWidget = exports.UserAvatar = exports.UserActionIconButton = exports.User = exports.UrlTextField = exports.ToastNotificationsSkeleton = exports.ToastNotifications = exports.TagChip = exports.SuggestedEventsWidgetSkeleton = exports.SuggestedEventsWidget = exports.StickyBox = exports.SnippetNotificationsSkeleton = exports.SnippetNotifications = exports.Share = exports.SearchDialog = exports.SearchAutocomplete = exports.SCUserSocialAssociations = void 0;
|
|
@@ -122,8 +122,8 @@ Object.defineProperty(exports, "EventLocationWidgetSkeleton", { enumerable: true
|
|
|
122
122
|
const EventMembersWidget_1 = tslib_1.__importStar(require("./components/EventMembersWidget"));
|
|
123
123
|
exports.EventMembersWidget = EventMembersWidget_1.default;
|
|
124
124
|
Object.defineProperty(exports, "EventMembersWidgetSkeleton", { enumerable: true, get: function () { return EventMembersWidget_1.EventMembersWidgetSkeleton; } });
|
|
125
|
-
const
|
|
126
|
-
exports.
|
|
125
|
+
const EventParticipantsButton_1 = tslib_1.__importDefault(require("./components/EventParticipantsButton"));
|
|
126
|
+
exports.EventParticipantsButton = EventParticipantsButton_1.default;
|
|
127
127
|
const Events_1 = tslib_1.__importStar(require("./components/Events"));
|
|
128
128
|
exports.Events = Events_1.default;
|
|
129
129
|
Object.defineProperty(exports, "EventsSkeleton", { enumerable: true, get: function () { return Events_1.EventsSkeleton; } });
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SCEventType } from '@selfcommunity/types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { SCEventTemplateType } from '../../types/event';
|
|
4
|
+
import { EventParticipantsButtonProps } from '../EventParticipantsButton';
|
|
4
5
|
import { WidgetProps } from '../Widget';
|
|
5
6
|
import { EventSkeletonProps } from './Skeleton';
|
|
6
7
|
export interface EventProps extends WidgetProps {
|
|
@@ -29,6 +30,11 @@ export interface EventProps extends WidgetProps {
|
|
|
29
30
|
* @default false
|
|
30
31
|
*/
|
|
31
32
|
hideEventParticipants?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Props to spread to EventParticipantsButton component
|
|
35
|
+
* @default {}
|
|
36
|
+
*/
|
|
37
|
+
EventParticipantsButtonComponentProps?: EventParticipantsButtonProps;
|
|
32
38
|
/**
|
|
33
39
|
* Hide event planner
|
|
34
40
|
* @default false
|