@gravity-ui/page-constructor 2.5.0 → 2.6.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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.6.0](https://github.com/gravity-ui/page-constructor/compare/v2.5.0...v2.6.0) (2023-04-05)
4
+
5
+
6
+ ### Features
7
+
8
+ * add options to useAnalytics ([#287](https://github.com/gravity-ui/page-constructor/issues/287)) ([17c2c75](https://github.com/gravity-ui/page-constructor/commit/17c2c750042718ca4f90d23245cf8d2caadde3b2))
9
+
3
10
  ## [2.5.0](https://github.com/gravity-ui/page-constructor/compare/v2.4.0...v2.5.0) (2023-04-05)
4
11
 
5
12
 
@@ -1,2 +1,2 @@
1
1
  import { AnalyticsEvent } from '../models';
2
- export declare const useAnalytics: (name?: string, target?: string) => ((e?: AnalyticsEvent | AnalyticsEvent[]) => void) & import("lodash").MemoizedFunction;
2
+ export declare const useAnalytics: (name?: string, target?: string) => ((e?: AnalyticsEvent | AnalyticsEvent[] | null, additionalContext?: Record<string, string>) => void) & import("lodash").MemoizedFunction;
@@ -21,7 +21,7 @@ const useAnalytics = (name = '', target) => {
21
21
  return (0, lodash_1.memoize)(() => { });
22
22
  }
23
23
  const defaultEvents = defaultEvent && autoEvents ? [defaultEvent] : [];
24
- return (0, lodash_1.memoize)((e) => {
24
+ return (0, lodash_1.memoize)((e, additionalContext) => {
25
25
  let events = defaultEvents;
26
26
  if (e) {
27
27
  events = Array.isArray(e) ? [...events, ...e] : [...events, e];
@@ -29,7 +29,10 @@ const useAnalytics = (name = '', target) => {
29
29
  if (!events) {
30
30
  return;
31
31
  }
32
- sendEvents(events);
32
+ const preparedEvents = additionalContext
33
+ ? events.map((event) => (Object.assign(Object.assign({}, event), additionalContext)))
34
+ : events;
35
+ sendEvents(preparedEvents);
33
36
  });
34
37
  };
35
38
  exports.useAnalytics = useAnalytics;
@@ -1,2 +1,2 @@
1
1
  import { AnalyticsEvent } from '../models';
2
- export declare const useAnalytics: (name?: string, target?: string) => ((e?: AnalyticsEvent | AnalyticsEvent[]) => void) & import("lodash").MemoizedFunction;
2
+ export declare const useAnalytics: (name?: string, target?: string) => ((e?: AnalyticsEvent | AnalyticsEvent[] | null, additionalContext?: Record<string, string>) => void) & import("lodash").MemoizedFunction;
@@ -18,7 +18,7 @@ export const useAnalytics = (name = '', target) => {
18
18
  return memoize(() => { });
19
19
  }
20
20
  const defaultEvents = defaultEvent && autoEvents ? [defaultEvent] : [];
21
- return memoize((e) => {
21
+ return memoize((e, additionalContext) => {
22
22
  let events = defaultEvents;
23
23
  if (e) {
24
24
  events = Array.isArray(e) ? [...events, ...e] : [...events, e];
@@ -26,6 +26,9 @@ export const useAnalytics = (name = '', target) => {
26
26
  if (!events) {
27
27
  return;
28
28
  }
29
- sendEvents(events);
29
+ const preparedEvents = additionalContext
30
+ ? events.map((event) => (Object.assign(Object.assign({}, event), additionalContext)))
31
+ : events;
32
+ sendEvents(preparedEvents);
30
33
  });
31
34
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {