UNPKG

@atlaskit/editor-plugin-avatar-group

Version:

Avatar Group plugin for @atlaskit/editor-core.

50 lines (49 loc) 1.96 kB
import React from 'react'; import { injectIntl } from 'react-intl'; import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks'; import messages from '@atlaskit/editor-common/messages'; import { Avatars } from './avatars'; import { InviteToEditButton } from './invite-to-edit'; const AvatarsWithPluginState = props => { const title = props.intl.formatMessage(messages.inviteToEditButtonTitle); const { isInviteToEditButtonSelected: selected, inviteToEditHandler: onClick, inviteToEditComponent: Component, editorView, featureFlags, editorAnalyticsAPI, editorAPI } = props; const { sessionId, activeParticipants, initialised } = useSharedPluginStateWithSelector(editorAPI, ['collabEdit'], states => { var _states$collabEditSta, _states$collabEditSta2, _states$collabEditSta3; return { sessionId: (_states$collabEditSta = states.collabEditState) === null || _states$collabEditSta === void 0 ? void 0 : _states$collabEditSta.sessionId, activeParticipants: (_states$collabEditSta2 = states.collabEditState) === null || _states$collabEditSta2 === void 0 ? void 0 : _states$collabEditSta2.activeParticipants, initialised: (_states$collabEditSta3 = states.collabEditState) === null || _states$collabEditSta3 === void 0 ? void 0 : _states$collabEditSta3.initialised }; }); if (!initialised) { return null; } return /*#__PURE__*/React.createElement(Avatars, { sessionId: sessionId, participants: activeParticipants, editorView: editorView, featureFlags: featureFlags, editorAnalyticsAPI: editorAnalyticsAPI, editorAPI: editorAPI }, /*#__PURE__*/React.createElement(InviteToEditButton, { title: title, selected: selected, onClick: onClick, Component: Component })); }; // eslint-disable-next-line @typescript-eslint/ban-types const _default_1 = injectIntl(AvatarsWithPluginState); export default _default_1;