@atlaskit/editor-plugin-avatar-group
Version:
Avatar Group plugin for @atlaskit/editor-core.
54 lines (52 loc) • 2.52 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactIntl = require("react-intl");
var _hooks = require("@atlaskit/editor-common/hooks");
var _messages = _interopRequireDefault(require("@atlaskit/editor-common/messages"));
var _avatars = require("./avatars");
var _inviteToEdit = require("./invite-to-edit");
var AvatarsWithPluginState = function AvatarsWithPluginState(props) {
var title = props.intl.formatMessage(_messages.default.inviteToEditButtonTitle);
var selected = props.isInviteToEditButtonSelected,
onClick = props.inviteToEditHandler,
Component = props.inviteToEditComponent,
editorView = props.editorView,
featureFlags = props.featureFlags,
editorAnalyticsAPI = props.editorAnalyticsAPI,
editorAPI = props.editorAPI;
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(editorAPI, ['collabEdit'], function (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
};
}),
sessionId = _useSharedPluginState.sessionId,
activeParticipants = _useSharedPluginState.activeParticipants,
initialised = _useSharedPluginState.initialised;
if (!initialised) {
return null;
}
return /*#__PURE__*/_react.default.createElement(_avatars.Avatars, {
sessionId: sessionId,
participants: activeParticipants,
editorView: editorView,
featureFlags: featureFlags,
editorAnalyticsAPI: editorAnalyticsAPI,
editorAPI: editorAPI
}, /*#__PURE__*/_react.default.createElement(_inviteToEdit.InviteToEditButton, {
title: title,
selected: selected,
onClick: onClick,
Component: Component
}));
};
// eslint-disable-next-line @typescript-eslint/ban-types
var _default_1 = (0, _reactIntl.injectIntl)(AvatarsWithPluginState);
var _default = exports.default = _default_1;