UNPKG

@atlaskit/editor-plugin-media-insert

Version:

Media Insert plugin for @atlaskit/editor-core

54 lines 2.44 kB
import React from 'react'; import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics'; export function useAnalyticsEvents(dispatchAnalyticsEvent) { var onUploadButtonClickedAnalytics = React.useCallback(function () { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: ACTION.CLICKED, actionSubject: ACTION_SUBJECT.BUTTON, actionSubjectId: ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: EVENT_TYPE.UI }); }, [dispatchAnalyticsEvent]); var onUploadCommencedAnalytics = React.useCallback(function (mediaUploadSource) { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: ACTION.UPLOAD_COMMENCED, actionSubject: ACTION_SUBJECT.MEDIA, actionSubjectId: ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: EVENT_TYPE.OPERATIONAL, attributes: { mediaUploadSource: mediaUploadSource } }); }, [dispatchAnalyticsEvent]); var onUploadSuccessAnalytics = React.useCallback(function (mediaUploadSource) { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: ACTION.UPLOAD_SUCCEEDED, actionSubject: ACTION_SUBJECT.MEDIA, actionSubjectId: ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: EVENT_TYPE.OPERATIONAL, attributes: { mediaUploadSource: mediaUploadSource } }); }, [dispatchAnalyticsEvent]); var onUploadFailureAnalytics = React.useCallback(function (reason, mediaUploadSource) { dispatchAnalyticsEvent === null || dispatchAnalyticsEvent === void 0 || dispatchAnalyticsEvent({ action: ACTION.UPLOAD_FAILED, actionSubject: ACTION_SUBJECT.MEDIA, actionSubjectId: ACTION_SUBJECT_ID.UPLOAD_MEDIA, eventType: EVENT_TYPE.OPERATIONAL, attributes: { reason: reason, mediaUploadSource: mediaUploadSource } }); }, [dispatchAnalyticsEvent]); return React.useMemo(function () { return { onUploadButtonClickedAnalytics: onUploadButtonClickedAnalytics, onUploadCommencedAnalytics: onUploadCommencedAnalytics, onUploadSuccessAnalytics: onUploadSuccessAnalytics, onUploadFailureAnalytics: onUploadFailureAnalytics }; }, [onUploadButtonClickedAnalytics, onUploadCommencedAnalytics, onUploadSuccessAnalytics, onUploadFailureAnalytics]); }