@atlaskit/editor-plugin-tasks-and-decisions
Version:
Tasks and decisions plugin for @atlaskit/editor-core
41 lines (40 loc) • 2.1 kB
JavaScript
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';
var ToolbarDecision = function ToolbarDecision(_ref) {
var isDisabled = _ref.isDisabled,
isReducedSpacing = _ref.isReducedSpacing,
formatMessage = _ref.intl.formatMessage,
editorView = _ref.editorView,
editorAPI = _ref.editorAPI;
var label = formatMessage(messages.decision);
var handleInsertDecision = function handleInsertDecision() {
var _editorAPI$analytics;
if (!editorView) {
return false;
}
var getContextIdentifier = function getContextIdentifier() {
var _editorAPI$contextIde;
return editorAPI === null || editorAPI === void 0 || (_editorAPI$contextIde = editorAPI.contextIdentifier) === null || _editorAPI$contextIde === void 0 || (_editorAPI$contextIde = _editorAPI$contextIde.sharedState.currentState()) === null || _editorAPI$contextIde === void 0 ? void 0 : _editorAPI$contextIde.contextIdentifierProvider;
};
insertTaskDecisionCommand(editorAPI === null || editorAPI === 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: "".concat(label, " <>"),
"aria-keyshortcuts": "Shift+, Shift+. space",
iconBefore: /*#__PURE__*/React.createElement(DecisionIcon, {
label: label
})
});
};
// eslint-disable-next-line @typescript-eslint/ban-types
var _default_1 = injectIntl(ToolbarDecision);
export default _default_1;