@atlaskit/editor-plugin-content-insertion
Version:
Content insertion plugin for @atlaskit/editor-core
49 lines (48 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createInsertNodeAPI = void 0;
var _insertContentHandlers = require("./insert-content-handlers");
var createInsertNodeAPI = exports.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;
(0, _insertContentHandlers.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;
(0, _insertContentHandlers.handleInsertContent)({
node: node,
options: options
})(tr);
if (options.analyticsPayload) {
analyticsApi === null || analyticsApi === void 0 || analyticsApi.attachAnalyticsEvent(options.analyticsPayload)(tr);
}
return tr;
};
}
}
};
};