@atlaskit/editor-plugin-content-insertion
Version:
Content insertion plugin for @atlaskit/editor-core
44 lines • 990 B
JavaScript
import { handleInsertContent } from './insert-content-handlers';
export const createInsertNodeAPI = analyticsApi => ({
actions: {
insert: ({
state,
dispatch,
node,
options
}) => {
if (!state || !dispatch) {
return false;
}
const {
tr
} = state;
handleInsertContent({
node,
options
})(tr);
if (options.analyticsPayload) {
analyticsApi === null || analyticsApi === void 0 ? void 0 : analyticsApi.attachAnalyticsEvent(options.analyticsPayload)(tr);
}
dispatch(tr);
return true;
}
},
commands: {
insert: ({
node,
options
}) => ({
tr
}) => {
handleInsertContent({
node,
options
})(tr);
if (options.analyticsPayload) {
analyticsApi === null || analyticsApi === void 0 ? void 0 : analyticsApi.attachAnalyticsEvent(options.analyticsPayload)(tr);
}
return tr;
}
}
});