@atlaskit/editor-plugin-media-insert
Version:
Media Insert plugin for @atlaskit/editor-core
61 lines (60 loc) • 2.86 kB
JavaScript
"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]);
}