@atlaskit/editor-plugin-media-insert
Version:
Media Insert plugin for @atlaskit/editor-core
54 lines • 2.44 kB
JavaScript
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]);
}