@atlaskit/editor-plugin-card
Version:
Card plugin for @atlaskit/editor-core
70 lines (69 loc) • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUpdateType = exports.getSourceEventFromMetadata = exports.getMethod = exports.getDeleteType = void 0;
var _analyticsNext = require("@atlaskit/analytics-next");
var _analytics = require("@atlaskit/editor-common/analytics");
/**
* If the metadata is for a history event,
* returns undo/redo instead of instead of what fn(metadata) would have otherwise
* returned
*/
var withHistoryMethod = function withHistoryMethod(fn) {
return function (metadata) {
var isUndo = metadata.isUndo,
isRedo = metadata.isRedo;
if (isUndo) {
return 'undo';
}
if (isRedo) {
return 'redo';
}
return fn(metadata);
};
};
var getMethod = exports.getMethod = withHistoryMethod(function (_ref) {
var _payload;
var inputMethod = _ref.inputMethod,
sourceEvent = _ref.sourceEvent;
inputMethod = inputMethod !== null && inputMethod !== void 0 ? inputMethod : sourceEvent === null || sourceEvent === void 0 || (_payload = sourceEvent.payload) === null || _payload === void 0 || (_payload = _payload.attributes) === null || _payload === void 0 ? void 0 : _payload.inputMethod;
switch (inputMethod) {
case _analytics.INPUT_METHOD.CLIPBOARD:
return 'editor_paste';
case _analytics.INPUT_METHOD.FLOATING_TB:
return 'editor_floatingToolbar';
case _analytics.INPUT_METHOD.AUTO_DETECT:
case _analytics.INPUT_METHOD.FORMATTING:
return 'editor_type';
case _analytics.INPUT_METHOD.TYPEAHEAD:
return 'linkpicker_searchResult';
case _analytics.INPUT_METHOD.MANUAL:
return 'linkpicker_manual';
case _analytics.INPUT_METHOD.DATASOURCE:
return 'datasource_config';
default:
return 'unknown';
}
});
var getUpdateType = exports.getUpdateType = withHistoryMethod(function (_ref2) {
var action = _ref2.action;
switch (action) {
case _analytics.ACTION.CHANGED_TYPE:
return 'display_update';
case _analytics.ACTION.UPDATED:
return 'link_update';
default:
return 'unknown';
}
});
var getDeleteType = exports.getDeleteType = withHistoryMethod(function (_ref3) {
var action = _ref3.action;
if (action === _analytics.ACTION.UNLINK) {
return 'unlink';
}
return 'delete';
});
var getSourceEventFromMetadata = exports.getSourceEventFromMetadata = function getSourceEventFromMetadata(metadata) {
return metadata.sourceEvent instanceof _analyticsNext.UIAnalyticsEvent ? metadata.sourceEvent : null;
};