UNPKG

@atlaskit/editor-plugin-tasks-and-decisions

Version:

Tasks and decisions plugin for @atlaskit/editor-core

44 lines (43 loc) 1.97 kB
import React from 'react'; import { injectIntl } from 'react-intl'; import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages'; import { TOOLBAR_BUTTON, ToolbarButton } from '@atlaskit/editor-common/ui-menu'; import DecisionIcon from '@atlaskit/icon/core/decision'; import { insertTaskDecisionCommand } from '../../pm-plugins/insert-commands'; const ToolbarDecision = ({ isDisabled, isReducedSpacing, intl: { formatMessage }, editorView, editorAPI }) => { const label = formatMessage(messages.decision); const handleInsertDecision = () => { var _editorAPI$analytics; if (!editorView) { return false; } const getContextIdentifier = () => { var _editorAPI$contextIde, _editorAPI$contextIde2; return editorAPI === null || editorAPI === void 0 ? void 0 : (_editorAPI$contextIde = editorAPI.contextIdentifier) === null || _editorAPI$contextIde === void 0 ? void 0 : (_editorAPI$contextIde2 = _editorAPI$contextIde.sharedState.currentState()) === null || _editorAPI$contextIde2 === void 0 ? void 0 : _editorAPI$contextIde2.contextIdentifierProvider; }; insertTaskDecisionCommand(editorAPI === null || editorAPI === void 0 ? void 0 : (_editorAPI$analytics = editorAPI.analytics) === null || _editorAPI$analytics === void 0 ? void 0 : _editorAPI$analytics.actions, getContextIdentifier)('decisionList')(editorView.state, editorView.dispatch); return true; }; return /*#__PURE__*/React.createElement(ToolbarButton, { buttonId: TOOLBAR_BUTTON.DECISION_LIST, onClick: handleInsertDecision, disabled: isDisabled, spacing: isReducedSpacing ? 'none' : 'default', title: `${label} <>`, "aria-keyshortcuts": "Shift+, Shift+. space", iconBefore: /*#__PURE__*/React.createElement(DecisionIcon, { label: label }) }); }; // eslint-disable-next-line @typescript-eslint/ban-types const _default_1 = injectIntl(ToolbarDecision); export default _default_1;