UNPKG

@atlaskit/editor-plugin-media-insert

Version:

Media Insert plugin for @atlaskit/editor-core

61 lines (60 loc) 2.86 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useAnalyticsEvents = useAnalyticsEvents; var _react = _interopRequireDefault(require("react")); var _analytics = require("@atlaskit/editor-common/analytics"); function useAnalyticsEvents(dispatchAnalyticsEvent) { var onUploadButtonClickedAnalytics = _react.default.useCallback(function () { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: _analytics.ACTION.CLICKED, actionSubject: _analytics.ACTION_SUBJECT.BUTTON, actionSubjectId: _analytics.ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: _analytics.EVENT_TYPE.UI }); }, [dispatchAnalyticsEvent]); var onUploadCommencedAnalytics = _react.default.useCallback(function (mediaUploadSource) { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: _analytics.ACTION.UPLOAD_COMMENCED, actionSubject: _analytics.ACTION_SUBJECT.MEDIA, actionSubjectId: _analytics.ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: _analytics.EVENT_TYPE.OPERATIONAL, attributes: { mediaUploadSource: mediaUploadSource } }); }, [dispatchAnalyticsEvent]); var onUploadSuccessAnalytics = _react.default.useCallback(function (mediaUploadSource) { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: _analytics.ACTION.UPLOAD_SUCCEEDED, actionSubject: _analytics.ACTION_SUBJECT.MEDIA, actionSubjectId: _analytics.ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: _analytics.EVENT_TYPE.OPERATIONAL, attributes: { mediaUploadSource: mediaUploadSource } }); }, [dispatchAnalyticsEvent]); var onUploadFailureAnalytics = _react.default.useCallback(function (reason, mediaUploadSource) { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: _analytics.ACTION.UPLOAD_FAILED, actionSubject: _analytics.ACTION_SUBJECT.MEDIA, actionSubjectId: _analytics.ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: _analytics.EVENT_TYPE.OPERATIONAL, attributes: { reason: reason, mediaUploadSource: mediaUploadSource } }); }, [dispatchAnalyticsEvent]); return _react.default.useMemo(function () { return { onUploadButtonClickedAnalytics: onUploadButtonClickedAnalytics, onUploadCommencedAnalytics: onUploadCommencedAnalytics, onUploadSuccessAnalytics: onUploadSuccessAnalytics, onUploadFailureAnalytics: onUploadFailureAnalytics }; }, [onUploadButtonClickedAnalytics, onUploadCommencedAnalytics, onUploadSuccessAnalytics, onUploadFailureAnalytics]); }