@equinor/fusion-framework-react-app 8.0.1-cli-search-index.0 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -11
- package/dist/esm/analytics/index.js +2 -0
- package/dist/esm/analytics/index.js.map +1 -0
- package/dist/esm/analytics/useTrackFeature.js +48 -0
- package/dist/esm/analytics/useTrackFeature.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/analytics/index.d.ts +1 -0
- package/dist/types/analytics/useTrackFeature.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +24 -16
- package/src/analytics/README.md +41 -0
- package/src/analytics/index.ts +1 -0
- package/src/analytics/useTrackFeature.ts +56 -0
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,20 +1,48 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
## 8.
|
|
3
|
+
## 8.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#3849](https://github.com/equinor/fusion-framework/pull/3849) [`7caca57`](https://github.com/equinor/fusion-framework/commit/7caca573584ae4daedfb17e287d0329c2633771a) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - `trackFeature` now has an extra optional argument for passing additional analytics
|
|
8
|
+
data.
|
|
9
|
+
|
|
10
|
+
Example
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
const trackFeature = useTrackFeature();
|
|
14
|
+
|
|
15
|
+
// Without extra data
|
|
16
|
+
trackFeature("SomeComponent:loaded");
|
|
17
|
+
|
|
18
|
+
// Send additional data
|
|
19
|
+
trackFeature("some:feature:happened", {
|
|
20
|
+
extra: "data",
|
|
21
|
+
foo: "bar",
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 8.1.1
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
6
28
|
|
|
7
|
-
- [#
|
|
29
|
+
- [#3845](https://github.com/equinor/fusion-framework/pull/3845) [`5114ac4`](https://github.com/equinor/fusion-framework/commit/5114ac4f71a60935d0194b9b2766f95adff0ba1e) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Fix tsconfig references
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [[`5114ac4`](https://github.com/equinor/fusion-framework/commit/5114ac4f71a60935d0194b9b2766f95adff0ba1e)]:
|
|
32
|
+
- @equinor/fusion-framework-module-app@7.2.1
|
|
33
|
+
- @equinor/fusion-framework-app@10.2.1
|
|
34
|
+
|
|
35
|
+
## 8.1.0
|
|
36
|
+
|
|
37
|
+
### Minor Changes
|
|
38
|
+
|
|
39
|
+
- [#3842](https://github.com/equinor/fusion-framework/pull/3842) [`d38cd60`](https://github.com/equinor/fusion-framework/commit/d38cd60472380d60282c2a5672dc6e3bba3e7ca9) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Add module fusion-framework-module-analytics
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
8
42
|
|
|
9
|
-
- Updated dependencies [[`
|
|
10
|
-
- @equinor/fusion-framework-app@
|
|
11
|
-
- @equinor/fusion-framework-
|
|
12
|
-
- @equinor/fusion-framework-module@5.0.6-cli-search-index.0
|
|
13
|
-
- @equinor/fusion-framework-module-msal@6.0.1-cli-search-index.0
|
|
14
|
-
- @equinor/fusion-framework-module-navigation@6.0.1-cli-search-index.0
|
|
15
|
-
- @equinor/fusion-framework-react@7.4.20-cli-search-index.0
|
|
16
|
-
- @equinor/fusion-framework-react-module-http@10.0.1-cli-search-index.0
|
|
17
|
-
- @equinor/fusion-framework-react-module@3.1.14-cli-search-index.0
|
|
43
|
+
- Updated dependencies [[`d38cd60`](https://github.com/equinor/fusion-framework/commit/d38cd60472380d60282c2a5672dc6e3bba3e7ca9)]:
|
|
44
|
+
- @equinor/fusion-framework-module-app@7.2.0
|
|
45
|
+
- @equinor/fusion-framework-app@10.2.0
|
|
18
46
|
|
|
19
47
|
## 8.0.0
|
|
20
48
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { useFrameworkModule } from '@equinor/fusion-framework-react';
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for using analytics module configured in the framework.
|
|
5
|
+
*/
|
|
6
|
+
export const useTrackFeature = () => {
|
|
7
|
+
const analyticsProvider = useFrameworkModule('analytics');
|
|
8
|
+
const appProvider = useFrameworkModule('app');
|
|
9
|
+
const contextProvider = useFrameworkModule('context');
|
|
10
|
+
const telemetryProvider = useFrameworkModule('telemetry');
|
|
11
|
+
/**
|
|
12
|
+
* Tracks a analytics event.
|
|
13
|
+
*
|
|
14
|
+
* Can be used both in useCallback or useEffects - see README.md for examples.
|
|
15
|
+
*
|
|
16
|
+
* @param name - The feature to track
|
|
17
|
+
* @param data - Optional map of additional key-value pairs to include with the analytics event
|
|
18
|
+
*/
|
|
19
|
+
const trackFeature = useCallback((name, data) => {
|
|
20
|
+
if (!analyticsProvider) {
|
|
21
|
+
telemetryProvider?.trackException({
|
|
22
|
+
name: 'AnalyticsProviderNotFound',
|
|
23
|
+
exception: new Error(`Analytics provider not found`),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
analyticsProvider?.trackAnalytic({
|
|
27
|
+
name: 'app-feature',
|
|
28
|
+
value: {
|
|
29
|
+
feature: name,
|
|
30
|
+
data,
|
|
31
|
+
},
|
|
32
|
+
attributes: {
|
|
33
|
+
appKey: appProvider?.current?.appKey,
|
|
34
|
+
context: contextProvider?.currentContext
|
|
35
|
+
? {
|
|
36
|
+
id: contextProvider.currentContext.id,
|
|
37
|
+
externalId: contextProvider.currentContext.externalId,
|
|
38
|
+
title: contextProvider.currentContext.title,
|
|
39
|
+
type: contextProvider.currentContext.type.id,
|
|
40
|
+
source: contextProvider.currentContext.source,
|
|
41
|
+
}
|
|
42
|
+
: undefined,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}, [analyticsProvider, appProvider, contextProvider, telemetryProvider]);
|
|
46
|
+
return trackFeature;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=useTrackFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTrackFeature.js","sourceRoot":"","sources":["../../../src/analytics/useTrackFeature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,iBAAiB,GAAG,kBAAkB,CAAkB,WAAW,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,kBAAkB,CAAY,KAAK,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE1D;;;;;;;OAOG;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAY,EAAE,IAAkB,EAAE,EAAE;QACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,EAAE,cAAc,CAAC;gBAChC,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE,IAAI,KAAK,CAAC,8BAA8B,CAAC;aACrD,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,EAAE,aAAa,CAAC;YAC/B,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI;aACL;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;gBACpC,OAAO,EAAE,eAAe,EAAE,cAAc;oBACtC,CAAC,CAAC;wBACE,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC,EAAE;wBACrC,UAAU,EAAE,eAAe,CAAC,cAAc,CAAC,UAAU;wBACrD,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK;wBAC3C,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC5C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,MAAM;qBAC9C;oBACH,CAAC,CAAC,SAAS;aACd;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,CAAC,CACrE,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
package/dist/esm/version.js
CHANGED
package/dist/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|