UNPKG

@atlaskit/profilecard

Version:

A React component to display a card with user information.

126 lines (125 loc) 6.46 kB
/* Actions.tsx generated by @compiled/babel-plugin v0.39.1 */ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.AgentActions = void 0; require("./Actions.compiled.css"); var _runtime = require("@compiled/react/runtime"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _reactIntlNext = require("react-intl-next"); var _new = _interopRequireDefault(require("@atlaskit/button/new")); var _compiled = require("@atlaskit/primitives/compiled"); var _AgentDropdownMenu = require("@atlaskit/rovo-agent-components/ui/AgentDropdownMenu"); var _teamsAppInternalAnalytics = require("@atlaskit/teams-app-internal-analytics"); var _AgentDeleteConfirmationModal = require("./AgentDeleteConfirmationModal"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } var styles = { chatToAgentButtonContainer: "_1bsb1osq", chatToAgentButtonWrapper: "_1e0c1txw _1bah1h6o _k48p1wq8 _4t3igktf", chatPillTextStyles: "_1nmz1hna _y3gn1e5h _o5721jtm", actionsWrapperStyles: "_ca0qutpp _u5f3utpp _n3tdutpp _19bvutpp _syazi7uo" }; var AgentActions = exports.AgentActions = function AgentActions(_ref) { var onEditAgent = _ref.onEditAgent, onDeleteAgent = _ref.onDeleteAgent, onDuplicateAgent = _ref.onDuplicateAgent, onCopyAgent = _ref.onCopyAgent, onChatClick = _ref.onChatClick, onViewFullProfileClick = _ref.onViewFullProfileClick, agent = _ref.agent, resourceClient = _ref.resourceClient, hideMoreActions = _ref.hideMoreActions; var _useIntl = (0, _reactIntlNext.useIntl)(), formatMessage = _useIntl.formatMessage; var _useAnalyticsEvents = (0, _teamsAppInternalAnalytics.useAnalyticsEvents)(), fireEvent = _useAnalyticsEvents.fireEvent; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isDeleteModalOpen = _useState2[0], setIsDeleteModalOpen = _useState2[1]; var isForgeAgent = agent.creator_type === 'FORGE' || agent.creator_type === 'THIRD_PARTY'; var loadAgentPermissions = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var _yield$resourceClient, _yield$resourceClient2, AGENT_CREATE, AGENT_UPDATE, AGENT_DEACTIVATE; return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return resourceClient.getRovoAgentPermissions(agent.id); case 2: _yield$resourceClient = _context.sent; _yield$resourceClient2 = _yield$resourceClient.permissions; AGENT_CREATE = _yield$resourceClient2.AGENT_CREATE; AGENT_UPDATE = _yield$resourceClient2.AGENT_UPDATE; AGENT_DEACTIVATE = _yield$resourceClient2.AGENT_DEACTIVATE; return _context.abrupt("return", { isCreateEnabled: AGENT_CREATE.permitted, isEditEnabled: AGENT_UPDATE.permitted, isDeleteEnabled: AGENT_DEACTIVATE.permitted }); case 8: case "end": return _context.stop(); } }, _callee); })), [agent.id, resourceClient]); var handleDeleteAgent = (0, _react.useCallback)(function () { fireEvent('ui.button.clicked.deleteAgentButton', { agentId: agent.id, source: 'agentProfileCard' }); setIsDeleteModalOpen(true); }, [agent.id, fireEvent]); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_compiled.Inline, { space: "space.100", xcss: styles.actionsWrapperStyles }, /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: styles.chatToAgentButtonContainer }, /*#__PURE__*/_react.default.createElement(_new.default, { shouldFitContainer: true, onClick: function onClick(e) { e.stopPropagation(); onChatClick(e); } }, /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: styles.chatToAgentButtonWrapper }, /*#__PURE__*/_react.default.createElement(_compiled.Inline, { space: "space.050", alignBlock: "center" }, /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: styles.chatPillTextStyles }, formatMessage(messages.actionChatToAgent)))))), !hideMoreActions && /*#__PURE__*/_react.default.createElement(_AgentDropdownMenu.AgentDropdownMenu, { agentId: agent.id, onDeleteAgent: handleDeleteAgent, onEditAgent: onEditAgent, onDuplicateAgent: onDuplicateAgent, onCopyAgent: onCopyAgent, isForgeAgent: isForgeAgent, loadAgentPermissions: loadAgentPermissions, loadPermissionsOnMount: true, onViewAgentFullProfileClick: onViewFullProfileClick, doesAgentHaveIdentityAccountId: !!agent.identity_account_id, shouldTriggerStopPropagation: true, dropdownMenuTestId: "agent-dropdown-menu" })), /*#__PURE__*/_react.default.createElement(_AgentDeleteConfirmationModal.AgentDeleteConfirmationModal, { isOpen: isDeleteModalOpen, onClose: function onClose() { setIsDeleteModalOpen(false); }, onSubmit: onDeleteAgent, agentId: agent.id, agentName: agent.name })); }; var messages = (0, _reactIntlNext.defineMessages)({ actionChatToAgent: { id: 'ptc-directory.agent-profile.action.dropdown.chat-with-agent', defaultMessage: 'Chat with Agent', description: 'Text for the "chat with agent" action to chat to the agent' } });