@selfcommunity/react-ui 0.7.50-events.60 → 0.7.50-events.62
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/EventMembersWidget/EventMembersWidget.d.ts +43 -0
- package/lib/cjs/components/EventMembersWidget/EventMembersWidget.js +150 -0
- package/lib/cjs/components/EventMembersWidget/Skeleton.d.ts +2 -0
- package/lib/cjs/components/EventMembersWidget/Skeleton.js +29 -0
- package/lib/cjs/components/EventMembersWidget/constants.d.ts +1 -0
- package/lib/cjs/components/EventMembersWidget/constants.js +4 -0
- package/lib/cjs/components/EventMembersWidget/index.d.ts +4 -0
- package/lib/cjs/components/EventMembersWidget/index.js +8 -0
- package/lib/cjs/components/InviteEventButton/InviteEventButton.d.ts +60 -0
- package/lib/cjs/components/InviteEventButton/InviteEventButton.js +82 -0
- package/lib/cjs/components/InviteEventButton/index.d.ts +3 -0
- package/lib/cjs/components/InviteEventButton/index.js +5 -0
- package/lib/cjs/components/RelatedEventsWidget/RelatedEventsWidget.d.ts +43 -0
- package/lib/cjs/components/RelatedEventsWidget/RelatedEventsWidget.js +125 -0
- package/lib/cjs/components/RelatedEventsWidget/Skeleton.d.ts +2 -0
- package/lib/cjs/components/RelatedEventsWidget/Skeleton.js +28 -0
- package/lib/cjs/components/RelatedEventsWidget/constants.d.ts +1 -0
- package/lib/cjs/components/RelatedEventsWidget/constants.js +4 -0
- package/lib/cjs/components/RelatedEventsWidget/index.d.ts +4 -0
- package/lib/cjs/components/RelatedEventsWidget/index.js +8 -0
- package/lib/cjs/components/SuggestedEventsWidget/SuggestedEventsWidget.js +2 -3
- package/lib/cjs/index.d.ts +5 -2
- package/lib/cjs/index.js +19 -10
- package/lib/esm/components/EventMembersWidget/EventMembersWidget.d.ts +43 -0
- package/lib/esm/components/EventMembersWidget/EventMembersWidget.js +147 -0
- package/lib/esm/components/EventMembersWidget/Skeleton.d.ts +2 -0
- package/lib/esm/components/EventMembersWidget/Skeleton.js +25 -0
- package/lib/esm/components/EventMembersWidget/constants.d.ts +1 -0
- package/lib/esm/components/EventMembersWidget/constants.js +1 -0
- package/lib/esm/components/EventMembersWidget/index.d.ts +4 -0
- package/lib/esm/components/EventMembersWidget/index.js +4 -0
- package/lib/esm/components/InviteEventButton/InviteEventButton.d.ts +60 -0
- package/lib/esm/components/InviteEventButton/InviteEventButton.js +79 -0
- package/lib/esm/components/InviteEventButton/index.d.ts +3 -0
- package/lib/esm/components/InviteEventButton/index.js +2 -0
- package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.d.ts +43 -0
- package/lib/esm/components/RelatedEventsWidget/RelatedEventsWidget.js +122 -0
- package/lib/esm/components/RelatedEventsWidget/Skeleton.d.ts +2 -0
- package/lib/esm/components/RelatedEventsWidget/Skeleton.js +24 -0
- package/lib/esm/components/RelatedEventsWidget/constants.d.ts +1 -0
- package/lib/esm/components/RelatedEventsWidget/constants.js +1 -0
- package/lib/esm/components/RelatedEventsWidget/index.d.ts +4 -0
- package/lib/esm/components/RelatedEventsWidget/index.js +4 -0
- package/lib/esm/components/SuggestedEventsWidget/SuggestedEventsWidget.js +2 -3
- package/lib/esm/index.d.ts +5 -2
- package/lib/esm/index.js +7 -4
- package/lib/umd/{401.js → 224.js} +2 -2
- package/lib/umd/react-ui.js +1 -1
- package/package.json +7 -7
- /package/lib/umd/{401.js.LICENSE.txt → 224.js.LICENSE.txt} +0 -0
|
@@ -9,7 +9,6 @@ const react_core_1 = require("@selfcommunity/react-core");
|
|
|
9
9
|
const utils_1 = require("@selfcommunity/utils");
|
|
10
10
|
const react_1 = require("react");
|
|
11
11
|
const react_intl_1 = require("react-intl");
|
|
12
|
-
const modules_1 = require("swiper/modules");
|
|
13
12
|
const react_2 = require("swiper/react");
|
|
14
13
|
const Errors_1 = require("../../constants/Errors");
|
|
15
14
|
const Pagination_1 = require("../../constants/Pagination");
|
|
@@ -82,9 +81,9 @@ function SuggestedEventsWidget(inProps) {
|
|
|
82
81
|
if (!eventsData && loading) {
|
|
83
82
|
return (0, jsx_runtime_1.jsx)(Skeleton_1.default, {});
|
|
84
83
|
}
|
|
85
|
-
if (!eventsData) {
|
|
84
|
+
if (!eventsData || eventsData.count === 0) {
|
|
86
85
|
return (0, jsx_runtime_1.jsx)(HiddenPlaceholder_1.default, {});
|
|
87
86
|
}
|
|
88
|
-
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,
|
|
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 ? [...eventsData.results, undefined] : eventsData.results).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: classes.swiperPrevArrow, type: "prev", currentItem: currentItem, setCurrentItem: setCurrentItem }), (0, jsx_runtime_1.jsx)(Arrow_1.default, { className: 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" }) })) })) }))] })));
|
|
89
88
|
}
|
|
90
89
|
exports.default = SuggestedEventsWidget;
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ import EventHeader, { EventHeaderProps, EventHeaderSkeleton } from './components
|
|
|
46
46
|
import EventInfoWidget, { EventInfoWidgetProps } from './components/EventInfoWidget';
|
|
47
47
|
import EventInviteButton, { EventInviteButtonProps } from './components/EventInviteButton';
|
|
48
48
|
import EventLocationWidget, { EventLocationWidgetProps, EventLocationWidgetSkeleton } from './components/EventLocationWidget';
|
|
49
|
+
import EventMembersWidget, { EventMembersWidgetProps, EventMembersWidgetSkeleton } from './components/EventMembersWidget';
|
|
49
50
|
import EventPartecipantsButton, { EventPartecipantsButtonProps } from './components/EventPartecipantsButton';
|
|
50
51
|
import Events, { EventsProps, EventsSkeleton, EventsSkeletonProps } from './components/Events';
|
|
51
52
|
import Feed, { FeedProps, FeedRef, FeedSidebarProps, FeedSkeleton } from './components/Feed';
|
|
@@ -72,6 +73,7 @@ import IncubatorListWidget, { IncubatorListWidgetProps } from './components/Incu
|
|
|
72
73
|
import IncubatorSubscribeButton, { IncubatorSubscribeButtonProps } from './components/IncubatorSubscribeButton';
|
|
73
74
|
import IncubatorSuggestionWidget, { IncubatorSuggestionWidgetProps } from './components/IncubatorSuggestionWidget';
|
|
74
75
|
import InlineComposerWidget, { InlineComposerWidgetProps, InlineComposerWidgetSkeleton } from './components/InlineComposerWidget';
|
|
76
|
+
import InviteEventButton, { InviteEventButtonProps } from './components/InviteEventButton';
|
|
75
77
|
import LocationAutocomplete, { LocationAutocompleteProps } from './components/LocationAutocomplete';
|
|
76
78
|
import LoyaltyProgramWidget, { LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton } from './components/LoyaltyProgramWidget';
|
|
77
79
|
import MyEventsWidget, { MyEventsWidgetProps, MyEventsWidgetSkeleton } from './components/MyEventsWidget';
|
|
@@ -91,6 +93,7 @@ import PrivateMessageSnippetItem, { PrivateMessageSnippetItemProps, PrivateMessa
|
|
|
91
93
|
import PrivateMessageSnippets, { PrivateMessageSnippetsProps, PrivateMessageSnippetsSkeleton } from './components/PrivateMessageSnippets';
|
|
92
94
|
import PrivateMessageThread, { PrivateMessageThreadProps, PrivateMessageThreadSkeleton } from './components/PrivateMessageThread';
|
|
93
95
|
import PrivateMessageThreadItem, { PrivateMessageThreadItemProps, PrivateMessageThreadItemSkeleton } from './components/PrivateMessageThreadItem';
|
|
96
|
+
import RelatedEventsWidget, { RelatedEventsWidgetProps, RelatedEventsWidgetSkeleton } from './components/RelatedEventsWidget';
|
|
94
97
|
import RelatedFeedObjectsWidget, { RelatedFeedObjectsWidgetSkeleton, RelatedFeedObjectWidgetProps } from './components/RelatedFeedObjectsWidget';
|
|
95
98
|
import SearchAutocomplete, { SearchAutocompleteProps } from './components/SearchAutocomplete';
|
|
96
99
|
import SearchDialog, { SearchDialogProps } from './components/SearchDialog';
|
|
@@ -116,7 +119,7 @@ import UserSocialAssociation, { UserSocialAssociationProps } from './components/
|
|
|
116
119
|
import UserSubscribedGroupsWidget, { UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton } from './components/UserSubscribedGroupsWidget';
|
|
117
120
|
import UserSuggestionWidget, { UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton } from './components/UserSuggestionWidget';
|
|
118
121
|
import Widget, { WidgetProps } from './components/Widget';
|
|
119
|
-
import {
|
|
122
|
+
import { 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 } from './constants/Media';
|
|
120
123
|
import BaseDialog, { BaseDialogProps } from './shared/BaseDialog';
|
|
121
124
|
import BaseItem, { BaseItemProps } from './shared/BaseItem';
|
|
122
125
|
import Calendar, { CalendarProps } from './shared/Calendar';
|
|
@@ -166,4 +169,4 @@ import LogoSelfCommunity from './assets/logo';
|
|
|
166
169
|
/**
|
|
167
170
|
* List all exports
|
|
168
171
|
*/
|
|
169
|
-
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, EventPartecipantsButton, EventPartecipantsButtonProps, 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, LanguageSwitcher, LEGAL_POLICIES, Lightbox, Link, LINKEDIN_SHARE, LocationAutocomplete, LocationAutocompleteProps, LogoSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetProps, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT,
|
|
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, EventPartecipantsButton, EventPartecipantsButtonProps, 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,10 +1,11 @@
|
|
|
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.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
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.EventPartecipantsButton = 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
|
+
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
|
+
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
|
+
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;
|
|
8
|
+
exports.X_SHARE = void 0;
|
|
8
9
|
const tslib_1 = require("tslib");
|
|
9
10
|
/**
|
|
10
11
|
* Components
|
|
@@ -118,6 +119,9 @@ exports.EventInviteButton = EventInviteButton_1.default;
|
|
|
118
119
|
const EventLocationWidget_1 = tslib_1.__importStar(require("./components/EventLocationWidget"));
|
|
119
120
|
exports.EventLocationWidget = EventLocationWidget_1.default;
|
|
120
121
|
Object.defineProperty(exports, "EventLocationWidgetSkeleton", { enumerable: true, get: function () { return EventLocationWidget_1.EventLocationWidgetSkeleton; } });
|
|
122
|
+
const EventMembersWidget_1 = tslib_1.__importStar(require("./components/EventMembersWidget"));
|
|
123
|
+
exports.EventMembersWidget = EventMembersWidget_1.default;
|
|
124
|
+
Object.defineProperty(exports, "EventMembersWidgetSkeleton", { enumerable: true, get: function () { return EventMembersWidget_1.EventMembersWidgetSkeleton; } });
|
|
121
125
|
const EventPartecipantsButton_1 = tslib_1.__importDefault(require("./components/EventPartecipantsButton"));
|
|
122
126
|
exports.EventPartecipantsButton = EventPartecipantsButton_1.default;
|
|
123
127
|
const Events_1 = tslib_1.__importStar(require("./components/Events"));
|
|
@@ -183,6 +187,8 @@ exports.IncubatorSuggestionWidget = IncubatorSuggestionWidget_1.default;
|
|
|
183
187
|
const InlineComposerWidget_1 = tslib_1.__importStar(require("./components/InlineComposerWidget"));
|
|
184
188
|
exports.InlineComposerWidget = InlineComposerWidget_1.default;
|
|
185
189
|
Object.defineProperty(exports, "InlineComposerWidgetSkeleton", { enumerable: true, get: function () { return InlineComposerWidget_1.InlineComposerWidgetSkeleton; } });
|
|
190
|
+
const InviteEventButton_1 = tslib_1.__importDefault(require("./components/InviteEventButton"));
|
|
191
|
+
exports.InviteEventButton = InviteEventButton_1.default;
|
|
186
192
|
const LocationAutocomplete_1 = tslib_1.__importDefault(require("./components/LocationAutocomplete"));
|
|
187
193
|
exports.LocationAutocomplete = LocationAutocomplete_1.default;
|
|
188
194
|
const LoyaltyProgramWidget_1 = tslib_1.__importStar(require("./components/LoyaltyProgramWidget"));
|
|
@@ -235,6 +241,9 @@ Object.defineProperty(exports, "PrivateMessageThreadSkeleton", { enumerable: tru
|
|
|
235
241
|
const PrivateMessageThreadItem_1 = tslib_1.__importStar(require("./components/PrivateMessageThreadItem"));
|
|
236
242
|
exports.PrivateMessageThreadItem = PrivateMessageThreadItem_1.default;
|
|
237
243
|
Object.defineProperty(exports, "PrivateMessageThreadItemSkeleton", { enumerable: true, get: function () { return PrivateMessageThreadItem_1.PrivateMessageThreadItemSkeleton; } });
|
|
244
|
+
const RelatedEventsWidget_1 = tslib_1.__importStar(require("./components/RelatedEventsWidget"));
|
|
245
|
+
exports.RelatedEventsWidget = RelatedEventsWidget_1.default;
|
|
246
|
+
Object.defineProperty(exports, "RelatedEventsWidgetSkeleton", { enumerable: true, get: function () { return RelatedEventsWidget_1.RelatedEventsWidgetSkeleton; } });
|
|
238
247
|
const RelatedFeedObjectsWidget_1 = tslib_1.__importStar(require("./components/RelatedFeedObjectsWidget"));
|
|
239
248
|
exports.RelatedFeedObjectsWidget = RelatedFeedObjectsWidget_1.default;
|
|
240
249
|
Object.defineProperty(exports, "RelatedFeedObjectsWidgetSkeleton", { enumerable: true, get: function () { return RelatedFeedObjectsWidget_1.RelatedFeedObjectsWidgetSkeleton; } });
|
|
@@ -306,17 +315,17 @@ Object.defineProperty(exports, "UserSuggestionWidgetSkeleton", { enumerable: tru
|
|
|
306
315
|
const Widget_1 = tslib_1.__importDefault(require("./components/Widget"));
|
|
307
316
|
exports.Widget = Widget_1.default;
|
|
308
317
|
const Media_1 = require("./constants/Media");
|
|
318
|
+
Object.defineProperty(exports, "MEDIA_EMBED_SC_LINK_TYPE", { enumerable: true, get: function () { return Media_1.MEDIA_EMBED_SC_LINK_TYPE; } });
|
|
319
|
+
Object.defineProperty(exports, "MEDIA_EMBED_SC_SHARED_EVENT", { enumerable: true, get: function () { return Media_1.MEDIA_EMBED_SC_SHARED_EVENT; } });
|
|
320
|
+
Object.defineProperty(exports, "MEDIA_EMBED_SC_SHARED_OBJECT", { enumerable: true, get: function () { return Media_1.MEDIA_EMBED_SC_SHARED_OBJECT; } });
|
|
321
|
+
Object.defineProperty(exports, "MEDIA_TYPE_DOCUMENT", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_DOCUMENT; } });
|
|
309
322
|
Object.defineProperty(exports, "MEDIA_TYPE_EMBED", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_EMBED; } });
|
|
310
323
|
Object.defineProperty(exports, "MEDIA_TYPE_EVENT", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_EVENT; } });
|
|
324
|
+
Object.defineProperty(exports, "MEDIA_TYPE_IMAGE", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_IMAGE; } });
|
|
325
|
+
Object.defineProperty(exports, "MEDIA_TYPE_LINK", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_LINK; } });
|
|
311
326
|
Object.defineProperty(exports, "MEDIA_TYPE_SHARE", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_SHARE; } });
|
|
312
|
-
Object.defineProperty(exports, "MEDIA_EMBED_SC_LINK_TYPE", { enumerable: true, get: function () { return Media_1.MEDIA_EMBED_SC_LINK_TYPE; } });
|
|
313
327
|
Object.defineProperty(exports, "MEDIA_TYPE_URL", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_URL; } });
|
|
314
|
-
Object.defineProperty(exports, "MEDIA_TYPE_DOCUMENT", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_DOCUMENT; } });
|
|
315
|
-
Object.defineProperty(exports, "MEDIA_TYPE_IMAGE", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_IMAGE; } });
|
|
316
|
-
Object.defineProperty(exports, "MEDIA_EMBED_SC_SHARED_EVENT", { enumerable: true, get: function () { return Media_1.MEDIA_EMBED_SC_SHARED_EVENT; } });
|
|
317
|
-
Object.defineProperty(exports, "MEDIA_EMBED_SC_SHARED_OBJECT", { enumerable: true, get: function () { return Media_1.MEDIA_EMBED_SC_SHARED_OBJECT; } });
|
|
318
328
|
Object.defineProperty(exports, "MEDIA_TYPE_VIDEO", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_VIDEO; } });
|
|
319
|
-
Object.defineProperty(exports, "MEDIA_TYPE_LINK", { enumerable: true, get: function () { return Media_1.MEDIA_TYPE_LINK; } });
|
|
320
329
|
const BaseDialog_1 = tslib_1.__importDefault(require("./shared/BaseDialog"));
|
|
321
330
|
exports.BaseDialog = BaseDialog_1.default;
|
|
322
331
|
const BaseItem_1 = tslib_1.__importDefault(require("./shared/BaseItem"));
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { SCEventType } from '@selfcommunity/types';
|
|
2
|
+
import { CacheStrategies } from '@selfcommunity/utils';
|
|
3
|
+
import 'swiper/css';
|
|
4
|
+
import { BaseDialogProps } from '../../shared/BaseDialog';
|
|
5
|
+
import { UserProps } from '../User';
|
|
6
|
+
import { WidgetProps } from '../Widget';
|
|
7
|
+
export interface EventMembersWidgetProps extends WidgetProps {
|
|
8
|
+
/**
|
|
9
|
+
* Event Object
|
|
10
|
+
* @default null
|
|
11
|
+
*/
|
|
12
|
+
event?: SCEventType;
|
|
13
|
+
/**
|
|
14
|
+
* Id of event object
|
|
15
|
+
* @default null
|
|
16
|
+
*/
|
|
17
|
+
eventId?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Props to spread to single user object
|
|
20
|
+
* @default empty object
|
|
21
|
+
*/
|
|
22
|
+
userProps?: UserProps;
|
|
23
|
+
/**
|
|
24
|
+
* Feed API Query Params
|
|
25
|
+
* @default [{'limit': 20, 'offset': 0}]
|
|
26
|
+
*/
|
|
27
|
+
endpointQueryParams?: Record<string, string | number>;
|
|
28
|
+
/**
|
|
29
|
+
* Caching strategies
|
|
30
|
+
* @default CacheStrategies.CACHE_FIRST
|
|
31
|
+
*/
|
|
32
|
+
cacheStrategy?: CacheStrategies;
|
|
33
|
+
/**
|
|
34
|
+
* Props to spread to users suggestion dialog
|
|
35
|
+
* @default {}
|
|
36
|
+
*/
|
|
37
|
+
dialogProps?: BaseDialogProps;
|
|
38
|
+
/**
|
|
39
|
+
* Other props
|
|
40
|
+
*/
|
|
41
|
+
[p: string]: any;
|
|
42
|
+
}
|
|
43
|
+
export default function EventMembersWidget(inProps: EventMembersWidgetProps): JSX.Element;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { TabContext, TabList, TabPanel } from '@mui/lab';
|
|
4
|
+
import { Box, Button, CardActions, CardContent, List, ListItem, Stack, Tab, Typography, useThemeProps } from '@mui/material';
|
|
5
|
+
import { styled } from '@mui/system';
|
|
6
|
+
import { Endpoints, EventService, http } from '@selfcommunity/api-services';
|
|
7
|
+
import { SCCache, useSCFetchEvent, useSCUser } from '@selfcommunity/react-core';
|
|
8
|
+
import { Logger } from '@selfcommunity/utils';
|
|
9
|
+
import { useCallback, useEffect, useMemo, useReducer, useState } from 'react';
|
|
10
|
+
import { FormattedMessage } from 'react-intl';
|
|
11
|
+
import 'swiper/css';
|
|
12
|
+
import { SCOPE_SC_UI } from '../../constants/Errors';
|
|
13
|
+
import { DEFAULT_PAGINATION_LIMIT, DEFAULT_PAGINATION_OFFSET } from '../../constants/Pagination';
|
|
14
|
+
import BaseDialog from '../../shared/BaseDialog';
|
|
15
|
+
import HiddenPlaceholder from '../../shared/HiddenPlaceholder';
|
|
16
|
+
import InfiniteScroll from '../../shared/InfiniteScroll';
|
|
17
|
+
import { actionWidgetTypes, dataWidgetReducer, stateWidgetInitializer } from '../../utils/widget';
|
|
18
|
+
import InviteEventButton from '../InviteEventButton';
|
|
19
|
+
import User, { UserSkeleton } from '../User';
|
|
20
|
+
import Widget from '../Widget';
|
|
21
|
+
import { PREFIX } from './constants';
|
|
22
|
+
import Skeleton from './Skeleton';
|
|
23
|
+
const classes = {
|
|
24
|
+
root: `${PREFIX}-root`,
|
|
25
|
+
content: `${PREFIX}-content`,
|
|
26
|
+
title: `${PREFIX}-title`,
|
|
27
|
+
tabsWrapper: `${PREFIX}-tabs-wrapper`,
|
|
28
|
+
tabLabelWrapper: `${PREFIX}-tab-label-wrapper`,
|
|
29
|
+
tabPanel: `${PREFIX}-tab-panel`,
|
|
30
|
+
actions: `${PREFIX}-actions`,
|
|
31
|
+
actionButton: `${PREFIX}-action-button`,
|
|
32
|
+
dialogRoot: `${PREFIX}-dialog-root`,
|
|
33
|
+
infiniteScroll: `${PREFIX}-infinite-scroll`,
|
|
34
|
+
endMessage: `${PREFIX}-end-message`
|
|
35
|
+
};
|
|
36
|
+
const Root = styled(Widget, {
|
|
37
|
+
name: PREFIX,
|
|
38
|
+
slot: 'Root',
|
|
39
|
+
overridesResolver: (_props, styles) => styles.root
|
|
40
|
+
})();
|
|
41
|
+
const DialogRoot = styled(BaseDialog, {
|
|
42
|
+
name: PREFIX,
|
|
43
|
+
slot: 'DialogRoot',
|
|
44
|
+
overridesResolver: (_props, styles) => styles.dialogRoot
|
|
45
|
+
})();
|
|
46
|
+
export default function EventMembersWidget(inProps) {
|
|
47
|
+
// PROPS
|
|
48
|
+
const props = useThemeProps({
|
|
49
|
+
props: inProps,
|
|
50
|
+
name: PREFIX
|
|
51
|
+
});
|
|
52
|
+
const { event, eventId, userProps = {}, endpointQueryParams = { limit: DEFAULT_PAGINATION_LIMIT, offset: DEFAULT_PAGINATION_OFFSET }, cacheStrategy, dialogProps } = props, rest = __rest(props, ["event", "eventId", "userProps", "endpointQueryParams", "cacheStrategy", "dialogProps"]);
|
|
53
|
+
// STATE
|
|
54
|
+
const [partecipants, dispatchPartecipants] = useReducer(dataWidgetReducer, {
|
|
55
|
+
isLoadingNext: false,
|
|
56
|
+
next: null,
|
|
57
|
+
cacheKey: SCCache.getWidgetStateCacheKey(SCCache.USER_EVENTS_STATE_CACHE_PREFIX_KEY),
|
|
58
|
+
cacheStrategy,
|
|
59
|
+
visibleItems: DEFAULT_PAGINATION_LIMIT
|
|
60
|
+
}, stateWidgetInitializer);
|
|
61
|
+
const [invited, dispatchInvited] = useReducer(dataWidgetReducer, {
|
|
62
|
+
isLoadingNext: false,
|
|
63
|
+
next: null,
|
|
64
|
+
cacheKey: SCCache.getWidgetStateCacheKey(SCCache.USER_EVENTS_STATE_CACHE_PREFIX_KEY),
|
|
65
|
+
cacheStrategy,
|
|
66
|
+
visibleItems: DEFAULT_PAGINATION_LIMIT
|
|
67
|
+
}, stateWidgetInitializer);
|
|
68
|
+
const [openDialog, setOpenDialog] = useState(false);
|
|
69
|
+
const [invitedNumber, setInvitedNumber] = useState(0);
|
|
70
|
+
const [tabValue, setTabValue] = useState('1');
|
|
71
|
+
const state = useMemo(() => (tabValue === '1' ? partecipants : invited), [tabValue, partecipants, invited]);
|
|
72
|
+
const dispatch = useCallback((value) => (tabValue === '1' ? dispatchPartecipants(value) : dispatchInvited(value)), [tabValue, dispatchPartecipants, dispatchInvited]);
|
|
73
|
+
// CONTEXT
|
|
74
|
+
const scUserContext = useSCUser();
|
|
75
|
+
// HOOKS
|
|
76
|
+
const { scEvent } = useSCFetchEvent({ id: eventId, event });
|
|
77
|
+
const _initPartecipants = useCallback(() => {
|
|
78
|
+
if (!partecipants.initialized && !partecipants.isLoadingNext) {
|
|
79
|
+
dispatchPartecipants({ type: actionWidgetTypes.LOADING_NEXT });
|
|
80
|
+
EventService.getUsersGoingToEvent(scEvent.id, Object.assign({}, endpointQueryParams))
|
|
81
|
+
.then((payload) => {
|
|
82
|
+
dispatchPartecipants({ type: actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: Object.assign(Object.assign({}, payload), { initialized: true }) });
|
|
83
|
+
})
|
|
84
|
+
.catch((error) => {
|
|
85
|
+
dispatchPartecipants({ type: actionWidgetTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
|
|
86
|
+
Logger.error(SCOPE_SC_UI, error);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}, [partecipants.isLoadingNext, partecipants.initialized, dispatchPartecipants, scEvent]);
|
|
90
|
+
const _initInvited = useCallback(() => {
|
|
91
|
+
var _a;
|
|
92
|
+
if (!invited.initialized && !invited.isLoadingNext && ((_a = scUserContext.user) === null || _a === void 0 ? void 0 : _a.id) === scEvent.managed_by.id) {
|
|
93
|
+
dispatchInvited({ type: actionWidgetTypes.LOADING_NEXT });
|
|
94
|
+
EventService.getEventInvitedUsers(scEvent.id, Object.assign({}, endpointQueryParams))
|
|
95
|
+
.then((payload) => {
|
|
96
|
+
dispatchInvited({ type: actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: Object.assign(Object.assign({}, payload), { initialized: true }) });
|
|
97
|
+
setInvitedNumber(payload.count);
|
|
98
|
+
})
|
|
99
|
+
.catch((error) => {
|
|
100
|
+
dispatchInvited({ type: actionWidgetTypes.LOAD_NEXT_FAILURE, payload: { errorLoadNext: error } });
|
|
101
|
+
Logger.error(SCOPE_SC_UI, error);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, [invited.isLoadingNext, invited.initialized, dispatchInvited, scUserContext.user, scEvent]);
|
|
105
|
+
// EFFECTS
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
let _t;
|
|
108
|
+
if (scUserContext.user && scEvent) {
|
|
109
|
+
_t = setTimeout(() => {
|
|
110
|
+
_initPartecipants();
|
|
111
|
+
_initInvited();
|
|
112
|
+
});
|
|
113
|
+
return () => {
|
|
114
|
+
clearTimeout(_t);
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}, [scUserContext.user, scEvent]);
|
|
118
|
+
// HANDLERS
|
|
119
|
+
/**
|
|
120
|
+
* Handles pagination
|
|
121
|
+
*/
|
|
122
|
+
const handleNext = useCallback(() => {
|
|
123
|
+
dispatch({ type: actionWidgetTypes.LOADING_NEXT });
|
|
124
|
+
http
|
|
125
|
+
.request({
|
|
126
|
+
url: state.next,
|
|
127
|
+
method: Endpoints.UserSuggestion.method
|
|
128
|
+
})
|
|
129
|
+
.then((res) => {
|
|
130
|
+
dispatch({ type: actionWidgetTypes.LOAD_NEXT_SUCCESS, payload: res.data });
|
|
131
|
+
});
|
|
132
|
+
}, [dispatch, state.next, state.isLoadingNext, state.initialized]);
|
|
133
|
+
const handleToggleDialogOpen = useCallback(() => {
|
|
134
|
+
setOpenDialog((prev) => !prev);
|
|
135
|
+
}, []);
|
|
136
|
+
const handleTabChange = useCallback((_evt, newTabValue) => {
|
|
137
|
+
setTabValue(newTabValue);
|
|
138
|
+
}, []);
|
|
139
|
+
if (!scEvent && !state.initialized) {
|
|
140
|
+
return _jsx(Skeleton, {});
|
|
141
|
+
}
|
|
142
|
+
// RENDER
|
|
143
|
+
if (!scEvent) {
|
|
144
|
+
return _jsx(HiddenPlaceholder, {});
|
|
145
|
+
}
|
|
146
|
+
return (_jsxs(Root, Object.assign({ className: classes.root }, rest, { children: [_jsxs(CardContent, Object.assign({ className: classes.content }, { children: [_jsx(Typography, Object.assign({ variant: "h5", className: classes.title }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.invited", defaultMessage: "ui.eventMembersWidget.invited" }) })), _jsxs(TabContext, Object.assign({ value: tabValue }, { children: [_jsx(Box, Object.assign({ className: classes.tabsWrapper }, { children: _jsxs(TabList, Object.assign({ onChange: handleTabChange, textColor: "secondary", indicatorColor: "secondary", variant: "fullWidth" }, { children: [_jsx(Tab, { label: _jsxs(Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [_jsx(Typography, Object.assign({ variant: "h3" }, { children: partecipants.count })), _jsx(Typography, Object.assign({ variant: "subtitle2" }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.partecipants", defaultMessage: "ui.eventMembersWidget.partecipants" }) }))] })), value: "1" }), invited && (_jsx(Tab, { label: _jsxs(Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [_jsx(Typography, Object.assign({ variant: "h3" }, { children: invitedNumber })), _jsx(Typography, Object.assign({ variant: "subtitle2" }, { children: _jsx(FormattedMessage, { id: "ui.eventMembersWidget.invited", defaultMessage: "ui.eventMembersWidget.invited" }) }))] })), value: "2" }))] })) })), _jsx(TabPanel, Object.assign({ value: "1", className: classes.tabPanel }, { children: _jsx(List, { children: partecipants.results.map((user) => (_jsx(ListItem, { children: _jsx(User, Object.assign({ elevation: 0, user: user }, userProps)) }, user.id))) }) })), invited && (_jsx(TabPanel, Object.assign({ value: "2", className: classes.tabPanel }, { children: _jsx(List, { children: invited.results.map((user) => (_jsx(ListItem, { children: _jsx(User, Object.assign({ elevation: 0, user: user }, userProps, { actions: _jsx(InviteEventButton, { event: scEvent, user: scUserContext.user, setInvitedNumber: setInvitedNumber }) })) }, user.id))) }) })))] }))] })), state.count > state.visibleItems && (_jsx(CardActions, Object.assign({ className: classes.actions }, { children: _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))) }) })) })))] })));
|
|
147
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { TabContext, TabList, TabPanel } from '@mui/lab';
|
|
3
|
+
import { CardActions, CardContent, List, ListItem, Skeleton, Stack, Tab } from '@mui/material';
|
|
4
|
+
import { Box, styled } from '@mui/system';
|
|
5
|
+
import 'swiper/css';
|
|
6
|
+
import { UserSkeleton } from '../User';
|
|
7
|
+
import Widget from '../Widget';
|
|
8
|
+
import { PREFIX } from './constants';
|
|
9
|
+
const classes = {
|
|
10
|
+
root: `${PREFIX}-skeleton-root`,
|
|
11
|
+
content: `${PREFIX}-content`,
|
|
12
|
+
title: `${PREFIX}-title`,
|
|
13
|
+
tabsWrapper: `${PREFIX}-tabs-wrapper`,
|
|
14
|
+
tabLabelWrapper: `${PREFIX}-tab-label-wrapper`,
|
|
15
|
+
tabPanel: `${PREFIX}-tab-panel`,
|
|
16
|
+
actions: `${PREFIX}-actions`
|
|
17
|
+
};
|
|
18
|
+
const Root = styled(Widget, {
|
|
19
|
+
name: PREFIX,
|
|
20
|
+
slot: 'SkeletonRoot',
|
|
21
|
+
overridesResolver: (_props, styles) => styles.skeletonRoot
|
|
22
|
+
})();
|
|
23
|
+
export default function EventMembersWidgetSkeleton() {
|
|
24
|
+
return (_jsxs(Root, Object.assign({ className: classes.root }, { children: [_jsxs(CardContent, Object.assign({ className: classes.content }, { children: [_jsx(Skeleton, { animation: "wave", width: "53px", height: "25px", className: classes.title }), _jsxs(TabContext, Object.assign({ value: "1" }, { children: [_jsx(Box, Object.assign({ className: classes.tabsWrapper }, { children: _jsxs(TabList, Object.assign({ variant: "fullWidth" }, { children: [_jsx(Tab, { label: _jsxs(Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [_jsx(Skeleton, { animation: "wave", width: "26px", height: "24px" }), _jsx(Skeleton, { animation: "wave", width: "106px", height: "19px" })] })), value: "1" }), _jsx(Tab, { label: _jsxs(Stack, Object.assign({ className: classes.tabLabelWrapper }, { children: [_jsx(Skeleton, { animation: "wave", width: "26px", height: "24px" }), _jsx(Skeleton, { animation: "wave", width: "106px", height: "19px" })] })), value: "2" })] })) })), _jsx(TabPanel, Object.assign({ value: "1", className: classes.tabPanel }, { children: _jsx(List, { children: [1, 2, 3, 4].map((_element, i) => (_jsx(ListItem, { children: _jsx(UserSkeleton, {}) }, i))) }) })), _jsx(TabPanel, Object.assign({ value: "2", className: classes.tabPanel }, { children: _jsx(List, { children: [1, 2, 3, 4].map((_element, i) => (_jsx(ListItem, { children: _jsx(UserSkeleton, {}) }, i))) }) }))] }))] })), _jsx(CardActions, Object.assign({ className: classes.actions }, { children: _jsx(Skeleton, { animation: "wave", width: "52px", height: "20px" }) }))] })));
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PREFIX = "SCEventMembersWidget";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const PREFIX = 'SCEventMembersWidget';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { SCEventType, SCUserType } from '@selfcommunity/types';
|
|
2
|
+
import { Dispatch, HTMLAttributes, SetStateAction } from 'react';
|
|
3
|
+
export interface InviteEventButtonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Overrides or extends the styles applied to the component.
|
|
6
|
+
* @default null
|
|
7
|
+
*/
|
|
8
|
+
className?: HTMLAttributes<HTMLButtonElement>['className'];
|
|
9
|
+
/**
|
|
10
|
+
* Id of the event
|
|
11
|
+
* @default null
|
|
12
|
+
*/
|
|
13
|
+
eventId?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Event
|
|
16
|
+
* @default null
|
|
17
|
+
*/
|
|
18
|
+
event?: SCEventType;
|
|
19
|
+
/**
|
|
20
|
+
* Id of the user
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
userId?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Event
|
|
26
|
+
* @default null
|
|
27
|
+
*/
|
|
28
|
+
user?: SCUserType;
|
|
29
|
+
/**
|
|
30
|
+
* setInvitedNumber set state action
|
|
31
|
+
*/
|
|
32
|
+
setInvitedNumber?: Dispatch<SetStateAction<number>>;
|
|
33
|
+
/**
|
|
34
|
+
* Others properties
|
|
35
|
+
*/
|
|
36
|
+
[p: string]: any;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* > API documentation for the Community-JS Invite Event Button component. Learn about the available props and the CSS API.
|
|
40
|
+
|
|
41
|
+
#### Import
|
|
42
|
+
|
|
43
|
+
```jsx
|
|
44
|
+
import {InviteEventButton} from '@selfcommunity/react-ui';
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### Component Name
|
|
48
|
+
|
|
49
|
+
The name `SCInviteEventButton` can be used when providing style overrides in the theme.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
#### CSS
|
|
53
|
+
|
|
54
|
+
|Rule Name|Global class|Description|
|
|
55
|
+
|---|---|---|
|
|
56
|
+
|root|.SCInviteEventButton-root|Styles applied to the root element.|
|
|
57
|
+
|
|
58
|
+
* @param inProps
|
|
59
|
+
*/
|
|
60
|
+
export default function InviteEventButton(inProps: InviteEventButtonProps): JSX.Element;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { LoadingButton } from '@mui/lab';
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
5
|
+
import { useThemeProps } from '@mui/system';
|
|
6
|
+
import { EventService } from '@selfcommunity/api-services';
|
|
7
|
+
import { useSCFetchEvent, useSCFetchUser } from '@selfcommunity/react-core';
|
|
8
|
+
import { Logger } from '@selfcommunity/utils';
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
import { useCallback, useState } from 'react';
|
|
11
|
+
import { FormattedMessage } from 'react-intl';
|
|
12
|
+
import { SCOPE_SC_UI } from '../../constants/Errors';
|
|
13
|
+
const PREFIX = 'SCInviteEventButton';
|
|
14
|
+
const classes = {
|
|
15
|
+
root: `${PREFIX}-root`
|
|
16
|
+
};
|
|
17
|
+
const InviteButton = styled(LoadingButton, {
|
|
18
|
+
name: PREFIX,
|
|
19
|
+
slot: 'Root',
|
|
20
|
+
overridesResolver: (_props, styles) => styles.root
|
|
21
|
+
})();
|
|
22
|
+
/**
|
|
23
|
+
* > API documentation for the Community-JS Invite Event Button component. Learn about the available props and the CSS API.
|
|
24
|
+
|
|
25
|
+
#### Import
|
|
26
|
+
|
|
27
|
+
```jsx
|
|
28
|
+
import {InviteEventButton} from '@selfcommunity/react-ui';
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### Component Name
|
|
32
|
+
|
|
33
|
+
The name `SCInviteEventButton` can be used when providing style overrides in the theme.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
#### CSS
|
|
37
|
+
|
|
38
|
+
|Rule Name|Global class|Description|
|
|
39
|
+
|---|---|---|
|
|
40
|
+
|root|.SCInviteEventButton-root|Styles applied to the root element.|
|
|
41
|
+
|
|
42
|
+
* @param inProps
|
|
43
|
+
*/
|
|
44
|
+
export default function InviteEventButton(inProps) {
|
|
45
|
+
// PROPS
|
|
46
|
+
const props = useThemeProps({
|
|
47
|
+
props: inProps,
|
|
48
|
+
name: PREFIX
|
|
49
|
+
});
|
|
50
|
+
const { className, eventId, event, userId, user, setInvitedNumber } = props, rest = __rest(props, ["className", "eventId", "event", "userId", "user", "setInvitedNumber"]);
|
|
51
|
+
// STATE
|
|
52
|
+
const { scEvent } = useSCFetchEvent({ id: eventId, event });
|
|
53
|
+
const { scUser } = useSCFetchUser({ id: userId, user });
|
|
54
|
+
const [invited, setInvited] = useState(true);
|
|
55
|
+
const handleInviteAction = useCallback(() => {
|
|
56
|
+
setInvited(null);
|
|
57
|
+
if (invited) {
|
|
58
|
+
EventService.removeInviteEvent(scEvent.id, { users: [scUser.id] })
|
|
59
|
+
.then(() => {
|
|
60
|
+
setInvited(!invited);
|
|
61
|
+
setInvitedNumber((prev) => prev - 1);
|
|
62
|
+
})
|
|
63
|
+
.catch((_error) => {
|
|
64
|
+
Logger.error(SCOPE_SC_UI, _error);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
EventService.inviteOrAcceptEventRequest(scEvent.id, { users: [scUser.id] })
|
|
69
|
+
.then(() => {
|
|
70
|
+
setInvited(!invited);
|
|
71
|
+
setInvitedNumber((prev) => prev + 1);
|
|
72
|
+
})
|
|
73
|
+
.catch((_error) => {
|
|
74
|
+
Logger.error(SCOPE_SC_UI, _error);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}, [scEvent, scUser]);
|
|
78
|
+
return (_jsx(InviteButton, Object.assign({ size: "small", variant: "outlined", onClick: handleInviteAction, loading: invited === null, className: classNames(classes.root, className) }, rest, { children: invited ? (_jsx(FormattedMessage, { defaultMessage: "ui.inviteEventButton.remove", id: "ui.inviteEventButton.remove" })) : (_jsx(FormattedMessage, { defaultMessage: "ui.inviteEventButton.invite", id: "ui.inviteEventButton.invite" })) })));
|
|
79
|
+
}
|