Merge pull request #1157 from psjostrom/sda-2571-bi

fix: SDA-2571 Fixed triggering multiple BI calls
This commit is contained in:
psjostrom 2020-12-18 14:33:04 +01:00 committed by GitHub
commit 37d7497688
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 19 deletions

View File

@ -148,7 +148,7 @@ describe('<AnnotateArea/>', () => {
const path = wrapper.find('[data-testid="path0"]');
const expectedValue = { type: 'annotate_erased', element: 'screen_capture_annotate' };
path.simulate('click');
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
});
it('should send annotate_added_pen event when drawn with pen', () => {
@ -158,7 +158,7 @@ describe('<AnnotateArea/>', () => {
const area = wrapper.find('[data-testid="annotate-area"]');
area.simulate('mousedown', { pageX: 2, pageY: 49 });
area.simulate('mouseup');
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
});
it('should send annotate_added_highlight event when drawn with highlight', () => {
@ -178,6 +178,6 @@ describe('<AnnotateArea/>', () => {
const area = wrapper.find('[data-testid="annotate-area"]');
area.simulate('mousedown', { pageX: 2, pageY: 49 });
area.simulate('mouseup');
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
});
});

View File

@ -25,7 +25,7 @@ describe('Snipping Tool', () => {
const spy = jest.spyOn(ipcRenderer, 'send');
const expectedValue = { type: 'screenshot_taken', element: 'screen_capture_annotate' };
mount(React.createElement(SnippingTool));
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
});
it('should send capture_sent BI event when clicking done', async () => {
@ -35,7 +35,7 @@ describe('Snipping Tool', () => {
wrapper.find('[data-testid="done-button"]').simulate('click');
wrapper.update();
await waitForPromisesToResolve();
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
});
it('should send annotate_cleared BI event when clicking clear', async () => {
@ -45,7 +45,7 @@ describe('Snipping Tool', () => {
wrapper.find('[data-testid="clear-button"]').simulate('click');
wrapper.update();
await waitForPromisesToResolve();
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
});
it('should render pen color picker when clicked on pen', () => {

View File

@ -52,6 +52,10 @@ class ScreenSnippet {
if (isLinux) {
this.captureUtil = '/usr/bin/gnome-screenshot';
}
ipcMain.on('snippet-analytics-data', async (_event, eventData: { element: AnalyticsElements, type: ScreenSnippetActionTypes }) => {
analytics.track({ element: eventData.element, action_type: eventData.type });
});
}
/**
@ -116,7 +120,6 @@ class ScreenSnippet {
windowHandler.closeSnippingToolWindow();
windowHandler.createSnippingToolWindow(this.outputFilePath, dimensions);
this.uploadSnippet(webContents);
this.sendAnalytics();
return;
}
const {
@ -287,16 +290,6 @@ class ScreenSnippet {
}
});
}
/**
* Send analytics data to analytics module
*/
private sendAnalytics() {
ipcMain.on('send-tracking-data-to-main', async (_event, eventData: { element: AnalyticsElements, type: ScreenSnippetActionTypes }) => {
analytics.track({element: eventData.element, action_type: eventData.type});
});
}
}
const screenSnippet = new ScreenSnippet();

View File

@ -1021,7 +1021,6 @@ export class WindowHandler {
const scaleFactor = display.scaleFactor;
const scaledImageDimensions = { height: Math.floor(snipDimensions.height / scaleFactor), width: Math.floor(snipDimensions.width / scaleFactor) };
logger.info('window-handler, createSnippingToolWindow: Image will open with scaled dimensions: ' + JSON.stringify(scaledImageDimensions));
// const scaledImageDimensions = snipDimensions;
const annotateAreaHeight = scaledImageDimensions.height > availableAnnotateAreaHeight ?
availableAnnotateAreaHeight :

View File

@ -52,7 +52,7 @@ const availableHighlightColors: IColor[] = [
const SNIPPING_TOOL_NAMESPACE = 'ScreenSnippet';
export const sendAnalyticsToMain = (element: AnalyticsElements, type: ScreenSnippetActionTypes): void => {
ipcRenderer.send('send-tracking-data-to-main', { element, type });
ipcRenderer.send('snippet-analytics-data', { element, type });
};
const SnippingTool: React.FunctionComponent<ISnippingToolProps> = ({ existingPaths }) => {