@selfcommunity/react-ui 0.7.50-events.51 → 0.7.50-events.52
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/Composer/Attributes/Attributes.d.ts +1 -1
- package/lib/cjs/components/Composer/Attributes/Attributes.js +8 -2
- package/lib/cjs/components/Composer/Composer.d.ts +3 -2
- package/lib/cjs/components/Composer/Composer.js +52 -35
- package/lib/cjs/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +1 -0
- package/lib/cjs/components/Composer/Content/ContentPost/ContentPost.js +1 -0
- package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.d.ts +2 -1
- package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.js +17 -7
- package/lib/cjs/components/Event/Event.js +2 -2
- package/lib/cjs/components/EventAutocomplete/EventAutocomplete.d.ts +48 -0
- package/lib/cjs/components/EventAutocomplete/EventAutocomplete.js +97 -0
- package/lib/cjs/components/EventAutocomplete/index.d.ts +3 -0
- package/lib/cjs/components/EventAutocomplete/index.js +5 -0
- package/lib/cjs/components/Events/Events.js +1 -1
- package/lib/cjs/components/FeedObjectMediaPreview/FeedObjectMediaPreview.js +1 -1
- package/lib/cjs/components/InlineComposerWidget/InlineComposerWidget.d.ts +2 -1
- package/lib/cjs/components/MyEventsWidget/MyEventsWidget.js +1 -4
- package/lib/cjs/constants/Media.d.ts +1 -0
- package/lib/cjs/constants/Media.js +2 -1
- package/lib/cjs/index.d.ts +2 -2
- package/lib/cjs/index.js +13 -3
- package/lib/cjs/shared/Media/Share/DisplayComponent.js +4 -1
- package/lib/cjs/shared/Media/Share/filter.js +1 -1
- package/lib/cjs/shared/Media/index.d.ts +1 -2
- package/lib/cjs/shared/Media/index.js +1 -3
- package/lib/esm/components/Composer/Attributes/Attributes.d.ts +1 -1
- package/lib/esm/components/Composer/Attributes/Attributes.js +8 -2
- package/lib/esm/components/Composer/Composer.d.ts +3 -2
- package/lib/esm/components/Composer/Composer.js +52 -35
- package/lib/esm/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +1 -0
- package/lib/esm/components/Composer/Content/ContentPost/ContentPost.js +1 -0
- package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.d.ts +2 -1
- package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +17 -7
- package/lib/esm/components/Event/Event.js +2 -2
- package/lib/esm/components/EventAutocomplete/EventAutocomplete.d.ts +48 -0
- package/lib/esm/components/EventAutocomplete/EventAutocomplete.js +95 -0
- package/lib/esm/components/EventAutocomplete/index.d.ts +3 -0
- package/lib/esm/components/EventAutocomplete/index.js +2 -0
- package/lib/esm/components/Events/Events.js +2 -2
- package/lib/esm/components/FeedObjectMediaPreview/FeedObjectMediaPreview.js +2 -2
- package/lib/esm/components/InlineComposerWidget/InlineComposerWidget.d.ts +2 -1
- package/lib/esm/components/InlineComposerWidget/InlineComposerWidget.js +1 -1
- package/lib/esm/components/MyEventsWidget/MyEventsWidget.js +1 -4
- package/lib/esm/constants/Media.d.ts +1 -0
- package/lib/esm/constants/Media.js +1 -0
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +2 -2
- package/lib/esm/shared/Media/Share/DisplayComponent.js +5 -2
- package/lib/esm/shared/Media/Share/filter.js +2 -2
- package/lib/esm/shared/Media/index.d.ts +1 -2
- package/lib/esm/shared/Media/index.js +1 -2
- package/lib/umd/react-ui.js +1 -1
- package/package.json +7 -7
- package/lib/cjs/shared/Media/Event/DisplayComponent.d.ts +0 -15
- package/lib/cjs/shared/Media/Event/DisplayComponent.js +0 -31
- package/lib/cjs/shared/Media/Event/constants.d.ts +0 -1
- package/lib/cjs/shared/Media/Event/constants.js +0 -4
- package/lib/cjs/shared/Media/Event/filter.d.ts +0 -3
- package/lib/cjs/shared/Media/Event/filter.js +0 -4
- package/lib/cjs/shared/Media/Event/index.d.ts +0 -3
- package/lib/cjs/shared/Media/Event/index.js +0 -14
- package/lib/esm/shared/Media/Event/DisplayComponent.d.ts +0 -15
- package/lib/esm/shared/Media/Event/DisplayComponent.js +0 -29
- package/lib/esm/shared/Media/Event/constants.d.ts +0 -1
- package/lib/esm/shared/Media/Event/constants.js +0 -1
- package/lib/esm/shared/Media/Event/filter.d.ts +0 -3
- package/lib/esm/shared/Media/Event/filter.js +0 -2
- package/lib/esm/shared/Media/Event/index.d.ts +0 -3
- package/lib/esm/shared/Media/Event/index.js +0 -11
|
@@ -15,11 +15,13 @@ import { useSCFetchAddressingTagList, useSCPreferences } from '@selfcommunity/re
|
|
|
15
15
|
import { PREFIX } from '../../constants';
|
|
16
16
|
import GroupAutocomplete from '../../../GroupAutocomplete';
|
|
17
17
|
import { SCFeatureName } from '@selfcommunity/types';
|
|
18
|
+
import EventAutocomplete from '../../../EventAutocomplete';
|
|
18
19
|
export var AudienceTypes;
|
|
19
20
|
(function (AudienceTypes) {
|
|
20
21
|
AudienceTypes["AUDIENCE_ALL"] = "all";
|
|
21
22
|
AudienceTypes["AUDIENCE_TAG"] = "tag";
|
|
22
23
|
AudienceTypes["AUDIENCE_GROUP"] = "group";
|
|
24
|
+
AudienceTypes["AUDIENCE_EVENT"] = "event";
|
|
23
25
|
})(AudienceTypes || (AudienceTypes = {}));
|
|
24
26
|
const classes = {
|
|
25
27
|
root: `${PREFIX}-layer-audience-root`,
|
|
@@ -45,9 +47,11 @@ const AudienceLayer = React.forwardRef((props, ref) => {
|
|
|
45
47
|
// @ts-ignore
|
|
46
48
|
defaultValue === null || defaultValue.length === 0
|
|
47
49
|
? AudienceTypes.AUDIENCE_ALL
|
|
48
|
-
: defaultValue && Object.prototype.hasOwnProperty.call(defaultValue, '
|
|
49
|
-
? AudienceTypes.
|
|
50
|
-
:
|
|
50
|
+
: defaultValue && Object.prototype.hasOwnProperty.call(defaultValue, 'recurring')
|
|
51
|
+
? AudienceTypes.AUDIENCE_EVENT
|
|
52
|
+
: defaultValue && Object.prototype.hasOwnProperty.call(defaultValue, 'managed_by')
|
|
53
|
+
? AudienceTypes.AUDIENCE_GROUP
|
|
54
|
+
: AudienceTypes.AUDIENCE_TAG);
|
|
51
55
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
52
56
|
// @ts-ignore
|
|
53
57
|
const [value, setValue] = useState(defaultValue || undefined);
|
|
@@ -55,19 +59,25 @@ const AudienceLayer = React.forwardRef((props, ref) => {
|
|
|
55
59
|
const { scAddressingTags } = useSCFetchAddressingTagList({ fetch: autocompleteOpen });
|
|
56
60
|
const { features } = useSCPreferences();
|
|
57
61
|
// MEMO
|
|
62
|
+
const eventsEnabled = useMemo(() => features && features.includes(SCFeatureName.EVENT) && features.includes(SCFeatureName.TAGGING), [features]);
|
|
58
63
|
const groupsEnabled = useMemo(() => features && features.includes(SCFeatureName.GROUPING) && features.includes(SCFeatureName.TAGGING), [features]);
|
|
59
64
|
// HANDLERS
|
|
60
65
|
const handleSave = useCallback(() => {
|
|
61
|
-
audience === AudienceTypes.AUDIENCE_GROUP
|
|
66
|
+
audience === AudienceTypes.AUDIENCE_GROUP || audience === AudienceTypes.AUDIENCE_EVENT
|
|
67
|
+
? onSave(value)
|
|
68
|
+
: onSave((value === null || value === void 0 ? void 0 : value.length) && (value === null || value === void 0 ? void 0 : value.length) > 0 ? value : null);
|
|
62
69
|
}, [value, onSave, audience]);
|
|
63
70
|
const handleChange = useCallback((event, tags) => setValue(tags), []);
|
|
71
|
+
const handleEventChange = useCallback((event) => setValue(event), []);
|
|
64
72
|
const handleGroupChange = useCallback((group) => setValue(group), []);
|
|
65
73
|
const handleChangeAudience = useCallback((event, data) => setAudience(data), []);
|
|
66
74
|
const handleAutocompleteOpen = useCallback(() => setAutocompleteOpen(true), []);
|
|
67
75
|
const handleAutocompleteClose = useCallback(() => setAutocompleteOpen(false), []);
|
|
68
|
-
return (_jsxs(Root, Object.assign({ ref: ref, className: classNames(className, classes.root) }, rest, { children: [_jsxs(DialogTitle, Object.assign({ className: classes.title }, { children: [_jsx(IconButton, Object.assign({ onClick: onClose }, { children: _jsx(Icon, { children: "arrow_back" }) })), _jsx(Typography, { children: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.title", defaultMessage: "ui.composer.layer.audience.title" }) }), _jsx(Button, Object.assign({ size: "small", color: "secondary", variant: "contained", onClick: handleSave }, { children: _jsx(FormattedMessage, { id: "ui.composer.layer.save", defaultMessage: "ui.composer.layer.save" }) }))] })), _jsxs(DialogContent, Object.assign({ className: classes.content }, { children: [_jsxs(Tabs, Object.assign({ value: audience, onChange: handleChangeAudience, "aria-label": "audience type" }, { children: [_jsx(Tab, { value: AudienceTypes.AUDIENCE_ALL, icon: _jsx(Icon, { children: "public" }), label: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.all", defaultMessage: "ui.composer.layer.audience.all" }) }),
|
|
76
|
+
return (_jsxs(Root, Object.assign({ ref: ref, className: classNames(className, classes.root) }, rest, { children: [_jsxs(DialogTitle, Object.assign({ className: classes.title }, { children: [_jsx(IconButton, Object.assign({ onClick: onClose }, { children: _jsx(Icon, { children: "arrow_back" }) })), _jsx(Typography, { children: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.title", defaultMessage: "ui.composer.layer.audience.title" }) }), _jsx(Button, Object.assign({ size: "small", color: "secondary", variant: "contained", onClick: handleSave }, { children: _jsx(FormattedMessage, { id: "ui.composer.layer.save", defaultMessage: "ui.composer.layer.save" }) }))] })), _jsxs(DialogContent, Object.assign({ className: classes.content }, { children: [_jsxs(Tabs, Object.assign({ value: audience, onChange: handleChangeAudience, "aria-label": "audience type" }, { children: [_jsx(Tab, { value: AudienceTypes.AUDIENCE_ALL, icon: _jsx(Icon, { children: "public" }), label: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.all", defaultMessage: "ui.composer.layer.audience.all" }) }), eventsEnabled && (_jsx(Tab, { disabled: (Boolean(value === null || value === void 0 ? void 0 : value.length) && !Object.prototype.hasOwnProperty.call(value, 'recurring')) ||
|
|
69
77
|
(value !== undefined && Boolean(!(value === null || value === void 0 ? void 0 : value.length)) && audience !== AudienceTypes.AUDIENCE_ALL) ||
|
|
70
|
-
(Boolean((value === null || value === void 0 ? void 0 : value.length) === 0) && audience === AudienceTypes.AUDIENCE_ALL && Boolean((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.length) !== 0)), value: AudienceTypes.
|
|
78
|
+
(Boolean((value === null || value === void 0 ? void 0 : value.length) === 0) && audience === AudienceTypes.AUDIENCE_ALL && Boolean((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.length) !== 0)), value: AudienceTypes.AUDIENCE_EVENT, icon: _jsx(Icon, { children: "CalendarIcon" }), label: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.event", defaultMessage: "ui.composer.layer.audience.event" }) })), groupsEnabled && (_jsx(Tab, { disabled: (Boolean(value === null || value === void 0 ? void 0 : value.length) && !Object.prototype.hasOwnProperty.call(value, 'managed_by')) ||
|
|
79
|
+
(value !== undefined && Boolean(!(value === null || value === void 0 ? void 0 : value.length)) && audience !== AudienceTypes.AUDIENCE_ALL) ||
|
|
80
|
+
(Boolean((value === null || value === void 0 ? void 0 : value.length) === 0) && audience === AudienceTypes.AUDIENCE_ALL && Boolean((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.length) !== 0)), value: AudienceTypes.AUDIENCE_GROUP, icon: _jsx(Icon, { children: "groups" }), label: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.group", defaultMessage: "ui.composer.layer.audience.group" }) })), _jsx(Tab, { disabled: value && Object.prototype.hasOwnProperty.call(value, 'managed_by'), value: AudienceTypes.AUDIENCE_TAG, icon: _jsx(Icon, { children: "label" }), label: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.tag", defaultMessage: "ui.composer.layer.audience.tag" }) })] })), _jsxs(Typography, Object.assign({ className: classes.message }, { children: [audience === AudienceTypes.AUDIENCE_ALL && (_jsx(FormattedMessage, { id: "ui.composer.layer.audience.all.message", defaultMessage: "ui.composer.audience.layer.all.message" })), audience === AudienceTypes.AUDIENCE_EVENT && (_jsx(FormattedMessage, { id: "ui.composer.layer.audience.event.message", defaultMessage: "ui.composer.audience.layer.event.message" })), audience === AudienceTypes.AUDIENCE_GROUP && (_jsx(FormattedMessage, { id: "ui.composer.layer.audience.group.message", defaultMessage: "ui.composer.audience.layer.group.message" })), audience === AudienceTypes.AUDIENCE_TAG && (_jsx(FormattedMessage, { id: "ui.composer.layer.audience.tag.message", defaultMessage: "ui.composer.audience.layer.tag.message" }))] })), audience === AudienceTypes.AUDIENCE_TAG && (_jsx(Autocomplete, { className: classes.autocomplete, open: autocompleteOpen, onOpen: handleAutocompleteOpen, onClose: handleAutocompleteClose, multiple: true, options: scAddressingTags || [], getOptionLabel: (option) => option.name || '', value: value, selectOnFocus: true, clearOnBlur: true, handleHomeEndKeys: true, clearIcon: null, noOptionsText: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.tags.empty", defaultMessage: "ui.composer.layer.audience.tags.empty" }), onChange: handleChange, isOptionEqualToValue: (option, value) => value.id === option.id, renderTags: (value, getTagProps) => {
|
|
71
81
|
return value.map((option, index) => _jsx(TagChip, Object.assign({ tag: option }, getTagProps({ index })), option.id));
|
|
72
82
|
}, renderOption: (props, option, { selected, inputValue }) => {
|
|
73
83
|
const matches = match(option.name, inputValue);
|
|
@@ -75,6 +85,6 @@ const AudienceLayer = React.forwardRef((props, ref) => {
|
|
|
75
85
|
return (_jsx("li", Object.assign({}, props, { children: _jsx(TagChip, { tag: option, label: _jsx(React.Fragment, { children: parts.map((part, index) => (_jsx("span", Object.assign({ style: { fontWeight: part.highlight ? 700 : 400 } }, { children: part.text }), index))) }) }, option.id) })));
|
|
76
86
|
}, renderInput: (params) => {
|
|
77
87
|
return (_jsx(TextField, Object.assign({}, params, TextFieldProps, { InputProps: Object.assign(Object.assign({}, params.InputProps), { autoComplete: 'addressing', endAdornment: _jsx(React.Fragment, { children: params.InputProps.endAdornment }) }) })));
|
|
78
|
-
} })), audience === AudienceTypes.AUDIENCE_GROUP && _jsx(GroupAutocomplete, { onChange: handleGroupChange, defaultValue: defaultValue })] }))] })));
|
|
88
|
+
} })), audience === AudienceTypes.AUDIENCE_GROUP && _jsx(GroupAutocomplete, { onChange: handleGroupChange, defaultValue: defaultValue }), audience === AudienceTypes.AUDIENCE_EVENT && _jsx(EventAutocomplete, { onChange: handleEventChange, defaultValue: defaultValue })] }))] })));
|
|
79
89
|
});
|
|
80
90
|
export default AudienceLayer;
|
|
@@ -117,13 +117,13 @@ export default function Event(inProps) {
|
|
|
117
117
|
*/
|
|
118
118
|
let contentObj;
|
|
119
119
|
if (template === SCEventTemplateType.DETAIL) {
|
|
120
|
-
contentObj = (_jsxs(DetailRoot, Object.assign({ className: classes.detailRoot }, { children: [_jsxs(Box, Object.assign({ className: classes.detailImageWrapper }, { children: [_jsx(CardMedia, { component: "img", image: scEvent.
|
|
120
|
+
contentObj = (_jsxs(DetailRoot, Object.assign({ className: classes.detailRoot }, { children: [_jsxs(Box, Object.assign({ className: classes.detailImageWrapper }, { children: [_jsx(CardMedia, { component: "img", image: scEvent.image_big, alt: scEvent.name, className: classes.detailImage }), _jsx(Calendar, { day: new Date(scEvent.start_date).getDate() })] })), _jsxs(CardContent, Object.assign({ className: classes.detailContent }, { children: [_jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.detailNameWrapper }, { children: _jsx(Typography, Object.assign({ variant: "h3", className: classes.detailName }, { children: scEvent.name })) })), _jsx(EventInfoDetails, { event: scEvent }), !hideEventPlanner && (_jsx(User, { user: scEvent.managed_by, elevation: 0, secondary: _jsx(Typography, Object.assign({ variant: "caption" }, { children: _jsx(FormattedMessage, { id: "ui.myEventsWidget.planner", defaultMessage: "ui.myEventsWidget.planner" }) })), actions: _jsx(_Fragment, {}), className: classes.detailUser })), !hideEventParticipants && (_jsxs(_Fragment, { children: [_jsx(Divider, { className: classes.detailFirstDivider }), _jsx(EventPartecipantsButton, { event: scEvent, eventId: scEvent.id })] })), _jsx(Divider, { className: classes.detailSecondDivider })] })), actions !== null && actions !== void 0 ? actions : (_jsx(CardActions, Object.assign({ className: classes.detailActions }, { children: _jsx(Button, Object.assign({ size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, scEvent) }, { children: _jsx(FormattedMessage, { defaultMessage: "ui.event.see", id: "ui.event.see" }) })) })))] })));
|
|
121
121
|
}
|
|
122
122
|
else if (template === SCEventTemplateType.PREVIEW) {
|
|
123
123
|
contentObj = (_jsxs(PreviewRoot, Object.assign({ className: classes.previewRoot }, { children: [_jsx(Box, Object.assign({ position: "relative", className: classes.previewImageWrapper }, { children: _jsx(CardMedia, { component: "img", height: "100px", image: scEvent.image_medium, alt: scEvent.name, className: classes.previewImage }) })), _jsxs(CardContent, Object.assign({ className: classes.previewContent }, { children: [_jsx(EventInfoDetails, { event: scEvent, hidePrivacyIcon: true, hasLocationInfo: false, beforePrivacyInfo: _jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.previewNameWrapper }, { children: _jsx(Typography, Object.assign({ variant: "h5", className: classes.previewName }, { children: scEvent.name })) })) }), !hideEventParticipants && _jsx(EventPartecipantsButton, { event: scEvent })] })), actions !== null && actions !== void 0 ? actions : (_jsx(CardActions, Object.assign({ className: classes.previewActions }, { children: _jsx(Button, Object.assign({ size: "small", variant: "outlined", component: Link, to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, scEvent) }, { children: _jsx(FormattedMessage, { defaultMessage: "ui.event.see", id: "ui.event.see" }) })) })))] })));
|
|
124
124
|
}
|
|
125
125
|
else {
|
|
126
|
-
contentObj = (_jsx(SnippetRoot, { elevation: 0, square: true, disableTypography: true, className: classes.snippetRoot, image: _jsx(Avatar, { variant: "square", alt: scEvent.name, src: scEvent.
|
|
126
|
+
contentObj = (_jsx(SnippetRoot, { elevation: 0, square: true, disableTypography: true, className: classes.snippetRoot, image: _jsx(Avatar, { variant: "square", alt: scEvent.name, src: scEvent.image_small, className: classes.snippetAvatar }), primary: _jsxs(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.EVENT_ROUTE_NAME, scEvent), className: classes.snippetPrimary }, { children: [_jsx(Typography, Object.assign({ component: "span" }, { children: `${intl.formatDate(scEvent.start_date, {
|
|
127
127
|
weekday: 'long',
|
|
128
128
|
month: 'long',
|
|
129
129
|
day: 'numeric'
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TextFieldProps } from '@mui/material/TextField';
|
|
2
|
+
import { AutocompleteProps } from '@mui/material';
|
|
3
|
+
import { SCEventType } from '@selfcommunity/types/src/index';
|
|
4
|
+
export interface EventAutocompleteProps extends Pick<AutocompleteProps<SCEventType | null, any, any, any>, Exclude<keyof AutocompleteProps<SCEventType | null, any, any, any>, 'open' | 'onOpen' | 'onClose' | 'onChange' | 'filterSelectedOptions' | 'disableCloseOnSelect' | 'options' | 'getOptionLabel' | 'value' | 'selectOnFocus' | 'clearOnBlur' | 'blurOnSelect' | 'handleHomeEndKeys' | 'clearIcon' | 'noOptionsText' | 'isOptionEqualToValue' | 'renderTags' | 'renderOption' | 'renderInput'>> {
|
|
5
|
+
/**
|
|
6
|
+
* The maximum number of events that will be visible when not focused.
|
|
7
|
+
* @default 0
|
|
8
|
+
*/
|
|
9
|
+
limitCountEvents?: number;
|
|
10
|
+
/**
|
|
11
|
+
* If checkbox is selected
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
checkboxSelect?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The props applied to text field
|
|
17
|
+
* @default {variant: 'outlined, label: events_label}
|
|
18
|
+
*/
|
|
19
|
+
TextFieldProps?: TextFieldProps;
|
|
20
|
+
/**
|
|
21
|
+
* Callback for change event on event object
|
|
22
|
+
* @param value
|
|
23
|
+
*/
|
|
24
|
+
onChange?: (value: any) => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* > API documentation for the Community-JS Event Autocomplete component. Learn about the available props and the CSS API.
|
|
28
|
+
*
|
|
29
|
+
*
|
|
30
|
+
* This component renders a bar that allows users to search (with autocomplete) for all the events available in the application.
|
|
31
|
+
*
|
|
32
|
+
* #### Import
|
|
33
|
+
* ```jsx
|
|
34
|
+
* import {EventAutocomplete} from '@selfcommunity/react-ui';
|
|
35
|
+
* ```
|
|
36
|
+
* #### Component Name
|
|
37
|
+
* The name `SCEventAutocomplete` can be used when providing style overrides in the theme.
|
|
38
|
+
*
|
|
39
|
+
* #### CSS
|
|
40
|
+
*
|
|
41
|
+
* |Rule Name|Global class|Description|
|
|
42
|
+
* |---|---|---|
|
|
43
|
+
* |root|.SCEventAutocomplete-root|Styles applied to the root element.|
|
|
44
|
+
*
|
|
45
|
+
* @param inProps
|
|
46
|
+
*/
|
|
47
|
+
declare const EventAutocomplete: (inProps: EventAutocompleteProps) => JSX.Element;
|
|
48
|
+
export default EventAutocomplete;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { FormattedMessage } from 'react-intl';
|
|
5
|
+
import Autocomplete from '@mui/material/Autocomplete';
|
|
6
|
+
import TextField from '@mui/material/TextField';
|
|
7
|
+
import CircularProgress from '@mui/material/CircularProgress';
|
|
8
|
+
import parse from 'autosuggest-highlight/parse';
|
|
9
|
+
import match from 'autosuggest-highlight/match';
|
|
10
|
+
import { Avatar, Box, Typography } from '@mui/material';
|
|
11
|
+
import { useSCFetchEvents } from '@selfcommunity/react-core';
|
|
12
|
+
import { styled } from '@mui/material/styles';
|
|
13
|
+
import { useThemeProps } from '@mui/system';
|
|
14
|
+
const PREFIX = 'SCEventAutocomplete';
|
|
15
|
+
const classes = {
|
|
16
|
+
root: `${PREFIX}-root`
|
|
17
|
+
};
|
|
18
|
+
const Root = styled(Autocomplete, {
|
|
19
|
+
name: PREFIX,
|
|
20
|
+
slot: 'Root',
|
|
21
|
+
overridesResolver: (props, styles) => styles.root
|
|
22
|
+
})(() => ({}));
|
|
23
|
+
/**
|
|
24
|
+
* > API documentation for the Community-JS Event Autocomplete component. Learn about the available props and the CSS API.
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* This component renders a bar that allows users to search (with autocomplete) for all the events available in the application.
|
|
28
|
+
*
|
|
29
|
+
* #### Import
|
|
30
|
+
* ```jsx
|
|
31
|
+
* import {EventAutocomplete} from '@selfcommunity/react-ui';
|
|
32
|
+
* ```
|
|
33
|
+
* #### Component Name
|
|
34
|
+
* The name `SCEventAutocomplete` can be used when providing style overrides in the theme.
|
|
35
|
+
*
|
|
36
|
+
* #### CSS
|
|
37
|
+
*
|
|
38
|
+
* |Rule Name|Global class|Description|
|
|
39
|
+
* |---|---|---|
|
|
40
|
+
* |root|.SCEventAutocomplete-root|Styles applied to the root element.|
|
|
41
|
+
*
|
|
42
|
+
* @param inProps
|
|
43
|
+
*/
|
|
44
|
+
const EventAutocomplete = (inProps) => {
|
|
45
|
+
const props = useThemeProps({
|
|
46
|
+
props: inProps,
|
|
47
|
+
name: PREFIX
|
|
48
|
+
});
|
|
49
|
+
// Props
|
|
50
|
+
const { onChange, defaultValue = null, disabled = false, TextFieldProps = {
|
|
51
|
+
variant: 'outlined',
|
|
52
|
+
label: _jsx(FormattedMessage, { id: "ui.eventAutocomplete.label", defaultMessage: "ui.eventAutocomplete.label" })
|
|
53
|
+
} } = props, rest = __rest(props, ["onChange", "defaultValue", "disabled", "TextFieldProps"]);
|
|
54
|
+
// State
|
|
55
|
+
const [open, setOpen] = useState(false);
|
|
56
|
+
const [value, setValue] = useState(typeof defaultValue === 'string' ? null : defaultValue);
|
|
57
|
+
// HOOKS
|
|
58
|
+
const { events, isLoading } = useSCFetchEvents();
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (value === null) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
onChange && onChange(value);
|
|
64
|
+
}, [value]);
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (!isLoading && typeof defaultValue === 'string') {
|
|
67
|
+
setValue(events.find((e) => e.id === Number(defaultValue)));
|
|
68
|
+
}
|
|
69
|
+
}, [isLoading]);
|
|
70
|
+
// Handlers
|
|
71
|
+
const handleOpen = () => {
|
|
72
|
+
setOpen(true);
|
|
73
|
+
};
|
|
74
|
+
const handleClose = () => {
|
|
75
|
+
setOpen(false);
|
|
76
|
+
};
|
|
77
|
+
const handleChange = (e, value) => {
|
|
78
|
+
setValue(value);
|
|
79
|
+
};
|
|
80
|
+
// Render
|
|
81
|
+
return (_jsx(Root, Object.assign({ className: classes.root, open: open, onOpen: handleOpen, onClose: handleClose, options: events || [], getOptionLabel: (option) => option.name || '', value: value, selectOnFocus: true, clearOnBlur: true, blurOnSelect: true, handleHomeEndKeys: true, clearIcon: null, disabled: disabled || isLoading, noOptionsText: _jsx(FormattedMessage, { id: "ui.eventAutocomplete.empty", defaultMessage: "ui.eventAutocomplete.empty" }), onChange: handleChange, isOptionEqualToValue: (option, value) => value.id === option.id,
|
|
82
|
+
// renderTags={(value, getTagProps) => {
|
|
83
|
+
// return value.map((option: any, index) => (
|
|
84
|
+
// <Chip key={option.id} id={option.id} label={option.name} color={option.color} {...getTagProps({index})} />
|
|
85
|
+
// ));
|
|
86
|
+
// }}
|
|
87
|
+
renderOption: (props, option, { inputValue }) => {
|
|
88
|
+
const matches = match(option.name, inputValue);
|
|
89
|
+
const parts = parse(option.name, matches);
|
|
90
|
+
return (_jsxs(Box, Object.assign({ component: "li" }, props, { children: [_jsx(Avatar, { alt: option.name, src: option.image_small, sx: { marginRight: 1 } }), _jsx(React.Fragment, { children: parts.map((part, index) => (_jsx(Typography, Object.assign({ sx: { fontWeight: part.highlight ? 700 : 400, marginRight: 0.2 } }, { children: part.text }), index))) })] })));
|
|
91
|
+
}, renderInput: (params) => {
|
|
92
|
+
return (_jsx(TextField, Object.assign({}, params, TextFieldProps, { margin: "dense", InputProps: Object.assign(Object.assign({}, params.InputProps), { autoComplete: 'events', endAdornment: (_jsxs(React.Fragment, { children: [isLoading ? _jsx(CircularProgress, { color: "inherit", size: 20 }) : null, params.InputProps.endAdornment] })) }) })));
|
|
93
|
+
} }, rest)));
|
|
94
|
+
};
|
|
95
|
+
export default EventAutocomplete;
|
|
@@ -5,7 +5,7 @@ import { styled } from '@mui/material/styles';
|
|
|
5
5
|
import { useThemeProps } from '@mui/system';
|
|
6
6
|
import { Endpoints, EventService, http } from '@selfcommunity/api-services';
|
|
7
7
|
import { SCPreferences, SCPreferencesContext, SCUserContext, UserUtils } from '@selfcommunity/react-core';
|
|
8
|
-
import { SCEventDateFilterType } from '@selfcommunity/types';
|
|
8
|
+
import { SCEventDateFilterType, SCEventSubscriptionStatusType } from '@selfcommunity/types';
|
|
9
9
|
import { Logger, sortByAttr } from '@selfcommunity/utils';
|
|
10
10
|
import classNames from 'classnames';
|
|
11
11
|
import { useContext, useEffect, useMemo, useState } from 'react';
|
|
@@ -107,7 +107,7 @@ export default function Events(inProps) {
|
|
|
107
107
|
eventService = EventService.searchEvents(Object.assign(Object.assign(Object.assign(Object.assign({}, endpointQueryParams), (search !== '' && { search: search })), (dateSearch !== SCEventDateFilterType.ANY && { date_filter: dateSearch })), (selected && { follows: selected })));
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
|
-
eventService = EventService.getUserEvents(Object.assign(Object.assign({}, endpointQueryParams), (search !== '' && { search: search })));
|
|
110
|
+
eventService = EventService.getUserEvents(Object.assign(Object.assign(Object.assign({}, endpointQueryParams), { subscription_status: SCEventSubscriptionStatusType.GOING }), (search !== '' && { search: search })));
|
|
111
111
|
}
|
|
112
112
|
eventService
|
|
113
113
|
.then((res) => {
|
|
@@ -4,7 +4,7 @@ import { styled } from '@mui/material/styles';
|
|
|
4
4
|
import Box from '@mui/material/Box';
|
|
5
5
|
import { useSCMediaClick } from '@selfcommunity/react-core';
|
|
6
6
|
import { useThemeProps } from '@mui/system';
|
|
7
|
-
import { File, Link, Share
|
|
7
|
+
import { File, Link, Share } from '../../shared/Media';
|
|
8
8
|
import classNames from 'classnames';
|
|
9
9
|
const PREFIX = 'SCFeedObjectMediaPreview';
|
|
10
10
|
const classes = {
|
|
@@ -42,7 +42,7 @@ export default (inProps) => {
|
|
|
42
42
|
props: inProps,
|
|
43
43
|
name: PREFIX
|
|
44
44
|
});
|
|
45
|
-
const { className, medias, mediaObjectTypes = [File, Link, Share
|
|
45
|
+
const { className, medias, mediaObjectTypes = [File, Link, Share] } = props, rest = __rest(props, ["className", "medias", "mediaObjectTypes"]);
|
|
46
46
|
const { handleMediaClick } = useSCMediaClick();
|
|
47
47
|
if (!medias.length) {
|
|
48
48
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SCCategoryType, SCFeedTypologyType, SCGroupType, SCMediaType, SCPollType, SCTagType } from '@selfcommunity/types';
|
|
1
|
+
import { SCCategoryType, SCEventType, SCFeedTypologyType, SCGroupType, SCMediaType, SCPollType, SCTagType } from '@selfcommunity/types';
|
|
2
2
|
import { SCMediaObjectType } from '../../types/media';
|
|
3
3
|
import { WidgetProps } from '../Widget';
|
|
4
4
|
export interface InlineComposerWidgetProps extends Omit<WidgetProps, 'defaultValue'> {
|
|
@@ -15,6 +15,7 @@ export interface InlineComposerWidgetProps extends Omit<WidgetProps, 'defaultVal
|
|
|
15
15
|
title?: string;
|
|
16
16
|
text?: string;
|
|
17
17
|
categories?: SCCategoryType[];
|
|
18
|
+
event?: SCEventType;
|
|
18
19
|
group?: SCGroupType;
|
|
19
20
|
audience?: string;
|
|
20
21
|
addressing?: SCTagType[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React, { useCallback, useMemo, useState } from 'react';
|
|
4
|
-
import { SCFeedTypologyType } from '@selfcommunity/types';
|
|
4
|
+
import { SCFeedTypologyType, } from '@selfcommunity/types';
|
|
5
5
|
import { Link, SCPreferences, SCRoutes, UserUtils, useSCContext, useSCPreferences, useSCRouting, useSCUser } from '@selfcommunity/react-core';
|
|
6
6
|
import { Avatar, Box, Button, CardContent } from '@mui/material';
|
|
7
7
|
import { styled } from '@mui/material/styles';
|
|
@@ -115,14 +115,11 @@ export default function MyEventsWidget(inProps) {
|
|
|
115
115
|
}
|
|
116
116
|
}, [eventIndex, state.results]);
|
|
117
117
|
// RENDER
|
|
118
|
-
if (!eventsEnabled) {
|
|
118
|
+
if (!eventsEnabled || (state.initialized && state.count === 0)) {
|
|
119
119
|
return _jsx(HiddenPlaceholder, {});
|
|
120
120
|
}
|
|
121
121
|
if (!state.initialized || state.isLoadingNext) {
|
|
122
122
|
return _jsx(Skeleton, {});
|
|
123
123
|
}
|
|
124
|
-
if (state.count === 0) {
|
|
125
|
-
return _jsx(HiddenPlaceholder, {});
|
|
126
|
-
}
|
|
127
124
|
return (_jsxs(Root, Object.assign({ className: classes.root }, rest, { children: [_jsx(Box, Object.assign({ className: classes.titleWrapper }, { children: _jsx(Typography, Object.assign({ variant: "h5" }, { children: _jsx(FormattedMessage, { id: "ui.myEventsWidget.title", defaultMessage: "ui.myEventsWidget.title" }) })) })), _jsx(Event, { event: state.results[eventIndex], template: SCEventTemplateType.DETAIL, actions: _jsx(_Fragment, {}), elevation: 0, square: true }), _jsxs(CardActions, Object.assign({ className: classes.actions }, { children: [_jsx(IconButton, Object.assign({ size: "small", disabled: eventIndex === 0, className: classes.arrows, onClick: handlePrev }, { children: _jsx(Icon, { children: "chevron_left" }) })), _jsx(Button, Object.assign({ href: scRoutingContext.url(SCRoutes.EVENTS_ROUTE_NAME, {}), className: classes.actionButton }, { children: _jsx(Typography, Object.assign({ variant: "caption" }, { children: _jsx(FormattedMessage, { id: "ui.myEventsWidget.showAll", defaultMessage: "ui.myEventsWidget.showAll" }) })) })), _jsx(IconButton, Object.assign({ size: "small", disabled: eventIndex === state.count - 1, className: classes.arrows, onClick: handleNext }, { children: _jsx(Icon, { children: "chevron_right" }) }))] }))] })));
|
|
128
125
|
}
|
|
@@ -10,6 +10,7 @@ export declare const MEDIA_TYPE_EVENT = "event";
|
|
|
10
10
|
* Embed types
|
|
11
11
|
**/
|
|
12
12
|
export declare const MEDIA_EMBED_SC_LINK_TYPE = "sc_link";
|
|
13
|
+
export declare const MEDIA_EMBED_SC_SHARED_OBJECT = "sc_shared_object";
|
|
13
14
|
export declare const MEDIA_EMBED_SC_SHARED_EVENT = "sc_shared_event";
|
|
14
15
|
/**
|
|
15
16
|
* Grid Images
|
|
@@ -10,6 +10,7 @@ export const MEDIA_TYPE_EVENT = 'event';
|
|
|
10
10
|
* Embed types
|
|
11
11
|
**/
|
|
12
12
|
export const MEDIA_EMBED_SC_LINK_TYPE = 'sc_link';
|
|
13
|
+
export const MEDIA_EMBED_SC_SHARED_OBJECT = 'sc_shared_object';
|
|
13
14
|
export const MEDIA_EMBED_SC_SHARED_EVENT = 'sc_shared_event';
|
|
14
15
|
/**
|
|
15
16
|
* Grid Images
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ import UserSocialAssociation, { UserSocialAssociationProps } from './components/
|
|
|
116
116
|
import UserSubscribedGroupsWidget, { UserSubscribedGroupsWidgetProps, UserSubscribedGroupsWidgetSkeleton } from './components/UserSubscribedGroupsWidget';
|
|
117
117
|
import UserSuggestionWidget, { UserSuggestionWidgetProps, UserSuggestionWidgetSkeleton } from './components/UserSuggestionWidget';
|
|
118
118
|
import Widget, { WidgetProps } from './components/Widget';
|
|
119
|
-
import { MEDIA_TYPE_EMBED } from './constants/Media';
|
|
119
|
+
import { MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_SHARE, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_TYPE_URL, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_IMAGE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_VIDEO, MEDIA_TYPE_LINK } from './constants/Media';
|
|
120
120
|
import BaseDialog, { BaseDialogProps } from './shared/BaseDialog';
|
|
121
121
|
import BaseItem, { BaseItemProps } from './shared/BaseItem';
|
|
122
122
|
import Calendar, { CalendarProps } from './shared/Calendar';
|
|
@@ -166,4 +166,4 @@ import LogoSelfCommunity from './assets/logo';
|
|
|
166
166
|
/**
|
|
167
167
|
* List all exports
|
|
168
168
|
*/
|
|
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, MEDIA_TYPE_EMBED, 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, 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 };
|
|
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, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_SHARE, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_TYPE_URL, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_IMAGE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_VIDEO, MEDIA_TYPE_LINK, 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, 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/esm/index.js
CHANGED
|
@@ -116,7 +116,7 @@ import UserSocialAssociation from './components/UserSocialAssociation';
|
|
|
116
116
|
import UserSubscribedGroupsWidget, { UserSubscribedGroupsWidgetSkeleton } from './components/UserSubscribedGroupsWidget';
|
|
117
117
|
import UserSuggestionWidget, { UserSuggestionWidgetSkeleton } from './components/UserSuggestionWidget';
|
|
118
118
|
import Widget from './components/Widget';
|
|
119
|
-
import { MEDIA_TYPE_EMBED } from './constants/Media';
|
|
119
|
+
import { MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_SHARE, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_TYPE_URL, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_IMAGE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_VIDEO, MEDIA_TYPE_LINK } from './constants/Media';
|
|
120
120
|
import BaseDialog from './shared/BaseDialog';
|
|
121
121
|
import BaseItem from './shared/BaseItem';
|
|
122
122
|
import Calendar from './shared/Calendar';
|
|
@@ -174,4 +174,4 @@ DEFAULT_PAGINATION_QUERY_PARAM_NAME, DEFAULT_PRELOAD_OFFSET_VIEWPORT, DEFAULT_WI
|
|
|
174
174
|
/* SC UI SHARED */
|
|
175
175
|
HiddenPlaceholder, Incubator, IncubatorDetail, IncubatorListWidget, IncubatorSubscribeButton, IncubatorSuggestionWidget, InfiniteScroll, InlineComposerWidget, InlineComposerWidgetSkeleton, LanguageSwitcher, LEGAL_POLICIES, Lightbox, Link, LINKEDIN_SHARE, LocationAutocomplete,
|
|
176
176
|
/* Assets */
|
|
177
|
-
LogoSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_TYPE_EMBED, MediaChunkUploader, MessageUploaderUtils, MetadataField, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuHeader, NavigationMenuIconButton, NavigationSettingsIconButton, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileSkeleton, NavigationToolbarSkeleton, Notification, NotificationSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetSkeleton, PollSuggestionWidget, PrivateMessageComponent, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSnippetItem, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemSkeleton, PrivateMessageThreadSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchDialog, Share, SnippetNotifications, SnippetNotificationsSkeleton, StickyBox, SuggestedEventsWidget, SuggestedEventsWidgetSkeleton, TagChip, ToastNotifications, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserAvatar, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetSkeleton, UserCounters, UserDeletedSnackBar, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileEdit, UserProfileEditSectionAccount, UserProfileEditSectionPublicInfo, UserProfileEditSectionSettings, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderSkeleton, UserSkeleton, UserSocialAssociation, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetSkeleton, useStickyBox, Widget, X_SHARE };
|
|
177
|
+
LogoSelfCommunity, LoyaltyProgramWidget, LoyaltyProgramWidgetSkeleton, MAX_PRELOAD_OFFSET_VIEWPORT, MEDIA_TYPE_EMBED, MEDIA_TYPE_EVENT, MEDIA_TYPE_SHARE, MEDIA_EMBED_SC_LINK_TYPE, MEDIA_TYPE_URL, MEDIA_TYPE_DOCUMENT, MEDIA_TYPE_IMAGE, MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_EMBED_SC_SHARED_OBJECT, MEDIA_TYPE_VIDEO, MEDIA_TYPE_LINK, MediaChunkUploader, MessageUploaderUtils, MetadataField, MIN_PRELOAD_OFFSET_VIEWPORT, MyEventsWidget, MyEventsWidgetSkeleton, NavigationMenuContent, NavigationMenuHeader, NavigationMenuIconButton, NavigationSettingsIconButton, NavigationToolbar, NavigationToolbarMobile, NavigationToolbarMobileSkeleton, NavigationToolbarSkeleton, Notification, NotificationSkeleton, PasswordTextField, PhoneTextField, PlatformWidget, PlatformWidgetSkeleton, PollSuggestionWidget, PrivateMessageComponent, PrivateMessageComponentSkeleton, PrivateMessageEditor, PrivateMessageEditorSkeleton, PrivateMessageSettingsIconButton, PrivateMessageSnippetItem, PrivateMessageSnippetItemSkeleton, PrivateMessageSnippets, PrivateMessageSnippetsSkeleton, PrivateMessageThread, PrivateMessageThreadItem, PrivateMessageThreadItemSkeleton, PrivateMessageThreadSkeleton, RelatedFeedObjectsWidget, RelatedFeedObjectsWidgetSkeleton, ReplyComment, SCBroadcastMessageTemplateType, SCCommentsOrderBy, SCFeedObjectActivitiesType, SCFeedObjectTemplateType, SCNotificationObjectTemplateType, SCUserProfileFields, SCUserProfileSettings, SCUserSocialAssociations, SearchAutocomplete, SearchDialog, Share, SnippetNotifications, SnippetNotificationsSkeleton, StickyBox, SuggestedEventsWidget, SuggestedEventsWidgetSkeleton, TagChip, ToastNotifications, ToastNotificationsSkeleton, UrlTextField, User, UserActionIconButton, UserAvatar, UserConnectionsRequestsSentWidget, UserConnectionsRequestsSentWidgetSkeleton, UserConnectionsRequestsWidget, UserConnectionsRequestsWidgetSkeleton, UserConnectionsWidget, UserConnectionsWidgetSkeleton, UserCounters, UserDeletedSnackBar, UserFollowedCategoriesWidget, UserFollowedCategoriesWidgetSkeleton, UserFollowedUsersWidget, UserFollowedUsersWidgetSkeleton, UserFollowersWidget, UserFollowersWidgetSkeleton, UserInfo, UserInfoDialog, UserInfoSkeleton, UsernameTextField, UserProfileBlocked, UserProfileEdit, UserProfileEditSectionAccount, UserProfileEditSectionPublicInfo, UserProfileEditSectionSettings, UserProfileEditSkeleton, UserProfileHeader, UserProfileHeaderSkeleton, UserSkeleton, UserSocialAssociation, UserSubscribedGroupsWidget, UserSubscribedGroupsWidgetSkeleton, UserSuggestionWidget, UserSuggestionWidgetSkeleton, useStickyBox, Widget, X_SHARE };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { styled } from '@mui/material/styles';
|
|
5
5
|
import Box from '@mui/material/Box';
|
|
@@ -9,6 +9,9 @@ import { CacheStrategies } from '@selfcommunity/utils';
|
|
|
9
9
|
import classNames from 'classnames';
|
|
10
10
|
import filter from './filter';
|
|
11
11
|
import { PREFIX } from './constants';
|
|
12
|
+
import { MEDIA_EMBED_SC_SHARED_EVENT, MEDIA_TYPE_EVENT } from '../../../constants/Media';
|
|
13
|
+
import { SCEventTemplateType } from '../../../types/event';
|
|
14
|
+
import Event from '../../../components/Event';
|
|
12
15
|
const classes = {
|
|
13
16
|
displayRoot: `${PREFIX}-display-root`,
|
|
14
17
|
sharePreview: `${PREFIX}-share-preview`,
|
|
@@ -25,5 +28,5 @@ export default (_a) => {
|
|
|
25
28
|
if (_medias.length === 0) {
|
|
26
29
|
return null;
|
|
27
30
|
}
|
|
28
|
-
return (_jsx(Root, Object.assign({ className: classNames(className, classes.displayRoot) }, rest, { children: _medias.map((media, i) => (_jsx(Box, Object.assign({ className: classes.sharePreview, onClick: onMediaClick }, { children: _jsx(FeedObject, { feedObjectId: media.embed.metadata.id, feedObjectType: media.embed.metadata.type, variant: 'outlined', template: SCFeedObjectTemplateType.SHARE, cacheStrategy: CacheStrategies.CACHE_FIRST }) }), i))) })));
|
|
31
|
+
return (_jsx(Root, Object.assign({ className: classNames(className, classes.displayRoot) }, rest, { children: _medias.map((media, i) => (_jsx(Box, Object.assign({ className: classes.sharePreview, onClick: onMediaClick }, { children: media.type === MEDIA_TYPE_EVENT || (media.embed && media.embed.embed_type === MEDIA_EMBED_SC_SHARED_EVENT) ? (_jsx(Event, { event: media.embed.metadata, template: SCEventTemplateType.DETAIL, variant: "outlined", square: true, hideEventParticipants: true, hideEventPlanner: true, actions: _jsx(_Fragment, {}) })) : (_jsx(FeedObject, { feedObjectId: media.embed.metadata.id, feedObjectType: media.embed.metadata.type, variant: 'outlined', template: SCFeedObjectTemplateType.SHARE, cacheStrategy: CacheStrategies.CACHE_FIRST })) }), i))) })));
|
|
29
32
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { MEDIA_TYPE_SHARE } from '../../../constants/Media';
|
|
2
|
-
export default (media) => media.type === MEDIA_TYPE_SHARE;
|
|
1
|
+
import { MEDIA_TYPE_EVENT, MEDIA_TYPE_SHARE } from '../../../constants/Media';
|
|
2
|
+
export default (media) => media.type === MEDIA_TYPE_SHARE || media.type === MEDIA_TYPE_EVENT;
|