UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

56 lines (55 loc) 2.09 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = sendDurationAnalytics; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _analytics = require("@atlaskit/editor-common/analytics"); /** * * Util function to be used with the Editor component to send duration analytics * * @param action * @param props * @param getCreateAnalyticsEvent return the CreateUIAnalyticsEvent of the Editor * @returns */ function sendDurationAnalytics(action, props, createAnalyticsEvent) { return /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(duration, startTime) { var contextIdentifier, objectId; return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return props.contextIdentifierProvider; case 2: contextIdentifier = _context.sent; objectId = contextIdentifier === null || contextIdentifier === void 0 ? void 0 : contextIdentifier.objectId; if (createAnalyticsEvent) { (0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)({ payload: { action: action, actionSubject: _analytics.ACTION_SUBJECT.EDITOR, attributes: { duration: duration, startTime: startTime, objectId: objectId }, eventType: _analytics.EVENT_TYPE.OPERATIONAL } }); } case 5: case "end": return _context.stop(); } }, _callee); })); return function (_x, _x2) { return _ref.apply(this, arguments); }; }(); }