UNPKG

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

Version:

Tasks and decisions plugin for @atlaskit/editor-core

43 lines (42 loc) 1.9 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 TaskIcon from '@atlaskit/icon/core/checkbox-checked'; import { insertTaskDecisionCommand } from '../../pm-plugins/insert-commands'; const ToolbarTask = ({ isDisabled, isReducedSpacing, intl: { formatMessage }, editorAPI, editorView }) => { const label = formatMessage(messages.action); const handleInsertTask = () => { 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)('taskList')(editorView.state, editorView.dispatch); return true; }; return /*#__PURE__*/React.createElement(ToolbarButton, { buttonId: TOOLBAR_BUTTON.TASK_LIST, onClick: handleInsertTask, disabled: isDisabled, spacing: isReducedSpacing ? 'none' : 'default', title: `${label} []`, iconBefore: /*#__PURE__*/React.createElement(TaskIcon, { label: label }) }); }; // eslint-disable-next-line @typescript-eslint/ban-types const _default_1 = injectIntl(ToolbarTask); export default _default_1;