@atlaskit/editor-plugin-expand
Version:
Expand plugin for @atlaskit/editor-core
63 lines (62 loc) • 3.02 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getToolbarConfig = void 0;
var _messages = _interopRequireDefault(require("@atlaskit/editor-common/messages"));
var _utils = require("@atlaskit/editor-prosemirror/utils");
var _delete = _interopRequireDefault(require("@atlaskit/icon/core/delete"));
var _commands = require("./commands");
var _utils2 = require("./utils");
var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(api) {
return function (state, _ref) {
var _api$decorations$acti, _api$decorations, _api$analytics;
var formatMessage = _ref.formatMessage;
var _ref2 = (_api$decorations$acti = api === null || api === void 0 || (_api$decorations = api.decorations) === null || _api$decorations === void 0 ? void 0 : _api$decorations.actions) !== null && _api$decorations$acti !== void 0 ? _api$decorations$acti : {},
hoverDecoration = _ref2.hoverDecoration;
var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
var selectedExpandNode = (0, _utils2.findSelectedParentExpandNode)(state);
if (selectedExpandNode) {
var _state$schema$nodes = state.schema.nodes,
nestedExpand = _state$schema$nodes.nestedExpand,
expand = _state$schema$nodes.expand;
return {
title: 'Expand toolbar',
getDomRef: function getDomRef(view) {
return (
// Ignored via go/ees005
// eslint-disable-next-line @atlaskit/editor/no-as-casting
(0, _utils.findDomRefAtPos)(selectedExpandNode.pos, view.domAtPos.bind(view))
);
},
nodeType: [nestedExpand, expand],
offset: [0, 6],
items: [{
type: 'copy-button',
items: [{
state: state,
formatMessage: formatMessage,
nodeType: [nestedExpand, expand]
}]
}, {
type: 'separator'
}, {
id: 'editor.expand.delete',
type: 'button',
appearance: 'danger',
focusEditoronEnter: true,
icon: _delete.default,
onClick: (0, _commands.deleteExpand)(editorAnalyticsAPI),
onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], true),
onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], false),
onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], true),
onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], false),
title: formatMessage(_messages.default.remove),
tabIndex: null
}]
};
}
return;
};
};