@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
22 lines • 975 B
JavaScript
import { useEffect } from 'react';
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
import { usePreviousState } from '@atlaskit/editor-common/hooks';
import { formatFullWidthAppearance } from './formatFullWidthAppearance';
export const useFireFullWidthEvent = (appearance, dispatchAnalyticsEvent) => {
const previousAppearance = usePreviousState(appearance);
useEffect(() => {
if (appearance !== previousAppearance) {
if (appearance === 'full-width' || previousAppearance === 'full-width') {
dispatchAnalyticsEvent({
action: ACTION.CHANGED_FULL_WIDTH_MODE,
actionSubject: ACTION_SUBJECT.EDITOR,
eventType: EVENT_TYPE.TRACK,
attributes: {
previousMode: formatFullWidthAppearance(previousAppearance),
newMode: formatFullWidthAppearance(appearance)
}
});
}
}
}, [appearance, previousAppearance, dispatchAnalyticsEvent]);
};