@atlaskit/editor-plugin-card
Version:
Card plugin for @atlaskit/editor-core
79 lines (78 loc) • 2.98 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUpdateType = exports.getSourceEventFromMetadata = exports.getMethod = exports.getLinkCreationType = exports.getDeleteType = void 0;
var _UIAnalyticsEvent = _interopRequireDefault(require("@atlaskit/analytics-next/UIAnalyticsEvent"));
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
/**
* 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 _enums.INPUT_METHOD.CLIPBOARD:
return 'editor_paste';
case _enums.INPUT_METHOD.FLOATING_TB:
return 'editor_floatingToolbar';
case _enums.INPUT_METHOD.AUTO_DETECT:
case _enums.INPUT_METHOD.FORMATTING:
return 'editor_type';
case _enums.INPUT_METHOD.TYPEAHEAD:
case _enums.INPUT_METHOD.MENTION_TYPEAHEAD:
return 'linkpicker_searchResult';
case _enums.INPUT_METHOD.MANUAL:
return 'linkpicker_manual';
case _enums.INPUT_METHOD.DATASOURCE:
return 'datasource_config';
default:
return 'unknown';
}
});
var getLinkCreationType = exports.getLinkCreationType = function getLinkCreationType(_ref2, display) {
var inputMethod = _ref2.inputMethod;
if (inputMethod === _enums.INPUT_METHOD.MENTION_TYPEAHEAD) {
return 'mention';
}
return display === 'url' ? 'link' : 'conventionalSmartLink';
};
var getUpdateType = exports.getUpdateType = withHistoryMethod(function (_ref3) {
var action = _ref3.action;
switch (action) {
case _enums.ACTION.CHANGED_TYPE:
return 'display_update';
case _enums.ACTION.UPDATED:
return 'link_update';
default:
return 'unknown';
}
});
var getDeleteType = exports.getDeleteType = withHistoryMethod(function (_ref4) {
var action = _ref4.action;
if (action === _enums.ACTION.UNLINK) {
return 'unlink';
}
return 'delete';
});
var getSourceEventFromMetadata = exports.getSourceEventFromMetadata = function getSourceEventFromMetadata(metadata) {
return metadata.sourceEvent instanceof _UIAnalyticsEvent.default ? metadata.sourceEvent : null;
};