@atlaskit/editor-plugin-tasks-and-decisions
Version:
Tasks and decisions plugin for @atlaskit/editor-core
40 lines (39 loc) • 2.01 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 TaskIcon from '@atlaskit/icon/core/checkbox-checked';
import { insertTaskDecisionCommand } from '../../pm-plugins/insert-commands';
var ToolbarTask = function ToolbarTask(_ref) {
var isDisabled = _ref.isDisabled,
isReducedSpacing = _ref.isReducedSpacing,
formatMessage = _ref.intl.formatMessage,
editorAPI = _ref.editorAPI,
editorView = _ref.editorView;
var label = formatMessage(messages.action);
var handleInsertTask = function handleInsertTask() {
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)('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: "".concat(label, " []"),
iconBefore: /*#__PURE__*/React.createElement(TaskIcon, {
label: label
})
});
};
// eslint-disable-next-line @typescript-eslint/ban-types
var _default_1 = injectIntl(ToolbarTask);
export default _default_1;