@atlaskit/editor-plugin-media
Version:
Media plugin for @atlaskit/editor-core
80 lines (79 loc) • 2.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.findChangeFromLocation = findChangeFromLocation;
exports.getMediaResizeAnalyticsEvent = exports.getMediaInputResizeAnalyticsEvent = exports.getChangeMediaAnalytics = void 0;
var _analytics = require("@atlaskit/editor-common/analytics");
var _utils = require("@atlaskit/editor-prosemirror/utils");
var getMediaResizeAnalyticsEvent = exports.getMediaResizeAnalyticsEvent = function getMediaResizeAnalyticsEvent(type, attributes) {
if (!attributes) {
return;
}
var width = attributes.width,
widthType = attributes.widthType,
layout = attributes.layout,
snapType = attributes.snapType,
parentNode = attributes.parentNode,
inputMethod = attributes.inputMethod;
var actionSubject = type === 'embed' ? _analytics.ACTION_SUBJECT.EMBEDS : _analytics.ACTION_SUBJECT.MEDIA_SINGLE;
return {
action: _analytics.ACTION.EDITED,
actionSubject: actionSubject,
actionSubjectId: _analytics.ACTION_SUBJECT_ID.RESIZED,
attributes: {
width: width,
layout: layout,
widthType: widthType,
snapType: snapType,
parentNode: parentNode,
inputMethod: inputMethod
},
eventType: _analytics.EVENT_TYPE.UI
};
};
var getMediaInputResizeAnalyticsEvent = exports.getMediaInputResizeAnalyticsEvent = function getMediaInputResizeAnalyticsEvent(type, attributes) {
if (!attributes) {
return;
}
var width = attributes.width,
layout = attributes.layout,
validation = attributes.validation,
parentNode = attributes.parentNode,
inputMethod = attributes.inputMethod;
var actionSubject = type === 'embed' ? _analytics.ACTION_SUBJECT.EMBEDS : _analytics.ACTION_SUBJECT.MEDIA_SINGLE;
return {
action: _analytics.ACTION.EDITED,
actionSubject: actionSubject,
actionSubjectId: _analytics.ACTION_SUBJECT_ID.RESIZED,
attributes: {
width: width,
layout: layout,
validation: validation,
parentNode: parentNode,
inputMethod: inputMethod
},
eventType: _analytics.EVENT_TYPE.UI
};
};
var getChangeMediaAnalytics = exports.getChangeMediaAnalytics = function getChangeMediaAnalytics(previousType, newType, changeFromLocation) {
return {
action: _analytics.ACTION.CHANGED_TYPE,
actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
eventType: _analytics.EVENT_TYPE.TRACK,
attributes: {
newType: newType,
previousType: previousType,
changeFromLocation: changeFromLocation
}
};
};
function findChangeFromLocation(selection) {
var _selection$$from$doc$ = selection.$from.doc.type,
schema = _selection$$from$doc$.schema,
name = _selection$$from$doc$.name;
var parentNodeInfo = (0, _utils.findParentNode)(function (node) {
return node.type !== schema.nodes.paragraph;
})(selection);
return parentNodeInfo ? parentNodeInfo.node.type.name : name;
}