@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
37 lines (35 loc) • 1.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useMeasureEditorMountTime;
var _react = require("react");
var _analytics = require("@atlaskit/editor-common/analytics");
var _performanceMeasures = require("@atlaskit/editor-common/performance-measures");
var _measureEnum = _interopRequireDefault(require("../../utils/performance/measure-enum"));
var _sendDurationAnalytics = _interopRequireDefault(require("../utils/sendDurationAnalytics"));
var _useEditorMeasuresConstructor = _interopRequireDefault(require("./useEditorMeasuresConstructor"));
/**
* @jsxRuntime classic
* @jsx jsx
*/
/**
*
* Hook to run the analytics for the Editor component.
* WARNING: Consider any changes to also make to `src/editor.tsx`
*
* @param props EditorProps
* @param createAnalyticsEvent
*/
function useMeasureEditorMountTime(props, createAnalyticsEvent) {
(0, _useEditorMeasuresConstructor.default)();
(0, _react.useEffect)(function () {
(0, _performanceMeasures.stopMeasure)(_measureEnum.default.EDITOR_MOUNTED, (0, _sendDurationAnalytics.default)(_analytics.ACTION.EDITOR_MOUNTED, props, createAnalyticsEvent));
return function () {
(0, _performanceMeasures.clearMeasure)(_measureEnum.default.EDITOR_MOUNTED);
(0, _performanceMeasures.clearMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK);
};
}, []); // eslint-disable-line react-hooks/exhaustive-deps
// Disable Exhaustive Deps here since we only want to stop the measure on mount.
}