@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
70 lines (67 loc) • 2.82 kB
JavaScript
"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;