UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

70 lines (67 loc) 2.82 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactIntl = require("react-intl"); var _uiMenu = require("@atlaskit/editor-common/ui-menu"); var _questionCircle = _interopRequireDefault(require("@atlaskit/icon/core/question-circle")); var _EditorContext = require("../EditorContext"); var _messages = require("./messages"); // Please, do not copy or use this kind of code below // This is just a temporary solution to keep the tooltip trigger working for Trello since it's not using the composable editor // @ts-ignore var fakePluginKey = { key: 'helpDialog$', getState: function getState(state) { // eslint-disable-next-line @typescript-eslint/no-explicit-any return state['helpDialog$']; } }; var openHelpCommand = function openHelpCommand(tr, dispatch) { tr = tr.setMeta(fakePluginKey, true); if (dispatch) { dispatch(tr); return true; } return false; }; var TooltipHelpTrigger = function TooltipHelpTrigger(_ref) { var _ref$title = _ref.title, title = _ref$title === void 0 ? 'Open help dialog' : _ref$title, _ref$titlePosition = _ref.titlePosition, titlePosition = _ref$titlePosition === void 0 ? 'left' : _ref$titlePosition, intl = _ref.intl, editorApi = _ref.editorApi; var editorContext = (0, _EditorContext.useEditorContext)(); // to have translation for the default tooltip helper var displayTitle = title; if (title === 'Open help dialog') { displayTitle = intl.formatMessage(_messages.messages.toolbarHelpTitle); } var showHelp = function showHelp() { if (editorApi) { var _editorApi$helpDialog; editorApi === null || editorApi === void 0 || (_editorApi$helpDialog = editorApi.helpDialog) === null || _editorApi$helpDialog === void 0 || _editorApi$helpDialog.actions.openHelp(); } else { var _editorContext$editor; var editorView = editorContext === null || editorContext === void 0 || (_editorContext$editor = editorContext.editorActions) === null || _editorContext$editor === void 0 ? void 0 : _editorContext$editor._privateGetEditorView(); if (editorView) { openHelpCommand(editorView.state.tr, editorView.dispatch); } } }; return /*#__PURE__*/_react.default.createElement(_uiMenu.ToolbarButton, { onClick: showHelp, title: displayTitle, titlePosition: titlePosition, iconBefore: /*#__PURE__*/_react.default.createElement(_questionCircle.default, { label: displayTitle }) }); }; // eslint-disable-next-line @typescript-eslint/ban-types var _default_1 = (0, _reactIntl.injectIntl)(TooltipHelpTrigger); var _default = exports.default = _default_1;