@atlaskit/editor-plugin-toolbar
Version:
Toolbar plugin for @atlaskit/editor-core
42 lines (41 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getDomRefFromSelection = void 0;
var _analytics = require("@atlaskit/editor-common/analytics");
var _monitoring = require("@atlaskit/editor-common/monitoring");
var _utils = require("@atlaskit/editor-prosemirror/utils");
var getDomRefFromSelection = exports.getDomRefFromSelection = function getDomRefFromSelection(view, dispatchAnalyticsEvent) {
try {
var domRef = (0, _utils.findDomRefAtPos)(view.state.selection.from, view.domAtPos.bind(view));
if (domRef instanceof HTMLElement) {
return domRef;
}
throw new Error('Invalid DOM reference');
} catch (error) {
if (dispatchAnalyticsEvent) {
var payload = {
action: _analytics.ACTION.ERRORED,
actionSubject: _analytics.ACTION_SUBJECT.CONTENT_COMPONENT,
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
attributes: {
component: _analytics.CONTENT_COMPONENT.SELECTION_TOOLBAR,
selection: view.state.selection.toJSON(),
position: view.state.selection.from,
docSize: view.state.doc.nodeSize,
error: error instanceof Error ? error.toString() : String(error),
// @ts-expect-error - Object literal may only specify known properties, 'errorStack' does not exist in type
// This error was introduced after upgrading to TypeScript 5
errorStack: error instanceof Error ? error.stack : undefined
}
};
dispatchAnalyticsEvent(payload);
}
if (error instanceof Error) {
(0, _monitoring.logException)(error, {
location: 'editor-plugin-toolbar/selectionToolbar'
});
}
}
};