UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

37 lines (35 loc) 1.6 kB
"use strict"; 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. }