mirror of
https://github.com/finos/SymphonyElectron.git
synced 2024-12-31 19:27:00 -06:00
Merge pull request #1157 from psjostrom/sda-2571-bi
fix: SDA-2571 Fixed triggering multiple BI calls
This commit is contained in:
commit
37d7497688
@ -148,7 +148,7 @@ describe('<AnnotateArea/>', () => {
|
|||||||
const path = wrapper.find('[data-testid="path0"]');
|
const path = wrapper.find('[data-testid="path0"]');
|
||||||
const expectedValue = { type: 'annotate_erased', element: 'screen_capture_annotate' };
|
const expectedValue = { type: 'annotate_erased', element: 'screen_capture_annotate' };
|
||||||
path.simulate('click');
|
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', () => {
|
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"]');
|
const area = wrapper.find('[data-testid="annotate-area"]');
|
||||||
area.simulate('mousedown', { pageX: 2, pageY: 49 });
|
area.simulate('mousedown', { pageX: 2, pageY: 49 });
|
||||||
area.simulate('mouseup');
|
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', () => {
|
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"]');
|
const area = wrapper.find('[data-testid="annotate-area"]');
|
||||||
area.simulate('mousedown', { pageX: 2, pageY: 49 });
|
area.simulate('mousedown', { pageX: 2, pageY: 49 });
|
||||||
area.simulate('mouseup');
|
area.simulate('mouseup');
|
||||||
expect(spy).toBeCalledWith('send-tracking-data-to-main', expectedValue);
|
expect(spy).toBeCalledWith('snippet-analytics-data', expectedValue);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -25,7 +25,7 @@ describe('Snipping Tool', () => {
|
|||||||
const spy = jest.spyOn(ipcRenderer, 'send');
|
const spy = jest.spyOn(ipcRenderer, 'send');
|
||||||
const expectedValue = { type: 'screenshot_taken', element: 'screen_capture_annotate' };
|
const expectedValue = { type: 'screenshot_taken', element: 'screen_capture_annotate' };
|
||||||
mount(React.createElement(SnippingTool));
|
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 () => {
|
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.find('[data-testid="done-button"]').simulate('click');
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
await waitForPromisesToResolve();
|
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 () => {
|
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.find('[data-testid="clear-button"]').simulate('click');
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
await waitForPromisesToResolve();
|
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', () => {
|
it('should render pen color picker when clicked on pen', () => {
|
||||||
|
@ -52,6 +52,10 @@ class ScreenSnippet {
|
|||||||
if (isLinux) {
|
if (isLinux) {
|
||||||
this.captureUtil = '/usr/bin/gnome-screenshot';
|
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.closeSnippingToolWindow();
|
||||||
windowHandler.createSnippingToolWindow(this.outputFilePath, dimensions);
|
windowHandler.createSnippingToolWindow(this.outputFilePath, dimensions);
|
||||||
this.uploadSnippet(webContents);
|
this.uploadSnippet(webContents);
|
||||||
this.sendAnalytics();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const {
|
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();
|
const screenSnippet = new ScreenSnippet();
|
||||||
|
@ -1021,7 +1021,6 @@ export class WindowHandler {
|
|||||||
const scaleFactor = display.scaleFactor;
|
const scaleFactor = display.scaleFactor;
|
||||||
const scaledImageDimensions = { height: Math.floor(snipDimensions.height / scaleFactor), width: Math.floor(snipDimensions.width / 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));
|
logger.info('window-handler, createSnippingToolWindow: Image will open with scaled dimensions: ' + JSON.stringify(scaledImageDimensions));
|
||||||
// const scaledImageDimensions = snipDimensions;
|
|
||||||
|
|
||||||
const annotateAreaHeight = scaledImageDimensions.height > availableAnnotateAreaHeight ?
|
const annotateAreaHeight = scaledImageDimensions.height > availableAnnotateAreaHeight ?
|
||||||
availableAnnotateAreaHeight :
|
availableAnnotateAreaHeight :
|
||||||
|
@ -52,7 +52,7 @@ const availableHighlightColors: IColor[] = [
|
|||||||
const SNIPPING_TOOL_NAMESPACE = 'ScreenSnippet';
|
const SNIPPING_TOOL_NAMESPACE = 'ScreenSnippet';
|
||||||
|
|
||||||
export const sendAnalyticsToMain = (element: AnalyticsElements, type: ScreenSnippetActionTypes): void => {
|
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 }) => {
|
const SnippingTool: React.FunctionComponent<ISnippingToolProps> = ({ existingPaths }) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user