@atlaskit/editor-plugin-help-dialog
Version:
Help Dialog plugin for @atlaskit/editor-core
29 lines • 1.17 kB
JavaScript
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
import { bindKeymapWithCommand, openHelp } from '@atlaskit/editor-common/keymaps';
import { keymap } from '@atlaskit/editor-prosemirror/keymap';
import { openHelpCommand } from './commands';
import { pluginKey } from './plugin-key';
export var keymapPlugin = function keymapPlugin(editorAnalyticsAPI) {
var list = {};
bindKeymapWithCommand(
// Ignored via go/ees005
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
openHelp.common, function (state, dispatch) {
var tr = state.tr;
var isVisible = tr.getMeta(pluginKey);
if (!isVisible) {
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
action: ACTION.CLICKED,
actionSubject: ACTION_SUBJECT.BUTTON,
actionSubjectId: ACTION_SUBJECT_ID.BUTTON_HELP,
attributes: {
inputMethod: INPUT_METHOD.SHORTCUT
},
eventType: EVENT_TYPE.UI
})(tr);
openHelpCommand(tr, dispatch);
}
return true;
}, list);
return keymap(list);
};