@atlaskit/editor-plugin-ufo
Version:
Ufo plugin for @atlaskit/editor-core
32 lines (31 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.traceUFOInteractionOnFirstInteraction = void 0;
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
var _selection = require("@atlaskit/editor-common/selection");
var _utils = require("@atlaskit/editor-common/utils");
var _interactionMetrics = require("@atlaskit/react-ufo/interaction-metrics");
var traceUFOInteractionOnFirstInteraction = exports.traceUFOInteractionOnFirstInteraction = function traceUFOInteractionOnFirstInteraction() {
return new _safePlugin.SafePlugin({
view: function view() {
var aborted = false;
return {
update: function update(view, prevState) {
if (aborted) {
// opt out of additional logic if already aborted
return;
}
if (!view.state.selection.eq(prevState.selection) && !(0, _selection.atTheBeginningOfDoc)(view.state) && !(0, _utils.isEmptyDocument)(view.state.doc)) {
var activeInteraction = (0, _interactionMetrics.getActiveInteraction)();
if (activeInteraction && ['edit-page', 'live-edit'].includes(activeInteraction.ufoName)) {
(0, _interactionMetrics.abortAll)('new_interaction', "selection-changed-on-editor-element");
}
aborted = true;
}
}
};
}
});
};