@atlaskit/editor-plugin-content-insertion
Version:
Content insertion plugin for @atlaskit/editor-core
43 lines • 1.29 kB
JavaScript
import { handleInsertContent } from './insert-content-handlers';
export var createInsertNodeAPI = function createInsertNodeAPI(analyticsApi) {
return {
actions: {
insert: function insert(_ref) {
var state = _ref.state,
dispatch = _ref.dispatch,
node = _ref.node,
options = _ref.options;
if (!state || !dispatch) {
return false;
}
var tr = state.tr;
handleInsertContent({
node: node,
options: options
})(tr);
if (options.analyticsPayload) {
analyticsApi === null || analyticsApi === void 0 || analyticsApi.attachAnalyticsEvent(options.analyticsPayload)(tr);
}
dispatch(tr);
return true;
}
},
commands: {
insert: function insert(_ref2) {
var node = _ref2.node,
options = _ref2.options;
return function (_ref3) {
var tr = _ref3.tr;
handleInsertContent({
node: node,
options: options
})(tr);
if (options.analyticsPayload) {
analyticsApi === null || analyticsApi === void 0 || analyticsApi.attachAnalyticsEvent(options.analyticsPayload)(tr);
}
return tr;
};
}
}
};
};