Skip to content

Commit 9664670

Browse files
committed
feat(User Interaction): Adds additional event types
- Adds additional mouse and form event types - Adds a session DataContext for capturing user-session details
1 parent 9ff9401 commit 9664670

File tree

9 files changed

+32
-17
lines changed

9 files changed

+32
-17
lines changed

dist/react/components/withTracking.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from 'react';
2-
import { Object, UserInteraction } from '../../resources/userInteractionResource';
2+
import { Object } from '../../resources/baseResource';
3+
import { UserInteraction } from '../../resources/userInteractionResource';
34
/**
45
* Props required for the Tracking component
56
*/

dist/react/components/withTracking.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/resources/baseResource.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export interface BaseResource {
77
app: {
88
version: string;
99
};
10+
session?: Object<any>;
1011
date: Date;
1112
browser: {
1213
name: string;
@@ -23,5 +24,8 @@ export interface BaseResource {
2324
version: string;
2425
};
2526
}
27+
export declare type Object<T> = {
28+
[P in keyof T]: T[P];
29+
};
2630
export default BaseResource;
2731
//# sourceMappingURL=baseResource.d.ts.map

dist/resources/baseResource.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/resources/userInteractionResource.d.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
import BaseResource from './baseResource';
2-
export declare type Object<T> = {
3-
[P in keyof T]: T[P];
4-
};
1+
import BaseResource, { Object } from './baseResource';
52
/**
63
* Resource object returned by a `tracker`'s `track` function
74
*
@@ -30,14 +27,15 @@ export interface UserInteractionResource extends BaseResource {
3027
export declare namespace UserInteraction {
3128
interface DataContext {
3229
app: BaseResource["app"];
30+
session?: BaseResource["session"];
3331
context: UserInteractionResource["source"]["context"];
3432
}
3533
const TYPE = "UserInteraction";
3634
/**
3735
* Type of the event to be tracked. Must be a **valid** React Synthetic event.
3836
*
3937
*/
40-
type Action = "onClick" | "onChange";
38+
type Action = "onClick" | "onMouseOver" | "onMouseEnter" | "onMouseLeave" | "onChange" | "onSubmit" | "onReset" | "onSelect" | "onScroll";
4139
/**
4240
* Type of the individual object in `trackers=Trackers[]` used as the prop in the Tracking component
4341
*

dist/resources/userInteractionResource.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/library/react/components/withTracking.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { useContext } from 'react';
2-
2+
import { Object } from '../../resources/baseResource';
33
import {
4-
Object,
54
UserInteraction,
65
} from '../../resources/userInteractionResource';
76

src/library/resources/baseResource.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export interface BaseResource {
77
app: {
88
version: string,
99
};
10+
session?: Object<any>, // User-session details
1011
date: Date;
1112
browser: {
1213
name: string,
@@ -24,4 +25,8 @@ export interface BaseResource {
2425
};
2526
}
2627

28+
export type Object<T> = {
29+
[P in keyof T]: T[P]
30+
};
31+
2732
export default BaseResource;

src/library/resources/userInteractionResource.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
import BaseResource from './baseResource';
1+
import BaseResource, { Object } from './baseResource';
22

33
import { getUserOS } from '../browser/utils';
44

5-
export type Object<T> = {
6-
[P in keyof T]: T[P]
7-
};
8-
95
/**
106
* Resource object returned by a `tracker`'s `track` function
117
*
@@ -35,6 +31,7 @@ export interface UserInteractionResource extends BaseResource {
3531
export namespace UserInteraction {
3632
export interface DataContext {
3733
app: BaseResource["app"],
34+
session?: BaseResource["session"],
3835
context: UserInteractionResource["source"]["context"],
3936
}
4037

@@ -45,8 +42,19 @@ export namespace UserInteraction {
4542
*
4643
*/
4744
export type Action =
48-
| "onClick"
45+
| "onClick"
46+
| "onMouseOver"
47+
| "onMouseEnter"
48+
| "onMouseLeave"
49+
4950
| "onChange"
51+
| "onSubmit"
52+
| "onReset"
53+
54+
| "onSelect"
55+
56+
| "onScroll"
57+
5058

5159
/**
5260
* Type of the individual object in `trackers=Trackers[]` used as the prop in the Tracking component

0 commit comments

Comments
 (0)