@jetshop/core 5.8.3 → 5.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/ChannelHandler/ChannelHandler.d.ts +9 -13
  2. package/ChannelHandler/ChannelHandler.js +24 -66
  3. package/ChannelHandler/ChannelHandler.js.map +1 -1
  4. package/ChannelHandler/channelUtils.d.ts +13 -0
  5. package/ChannelHandler/channelUtils.js +26 -15
  6. package/ChannelHandler/channelUtils.js.map +1 -1
  7. package/ChannelHandler/redirectUtils.d.ts +3 -0
  8. package/ChannelHandler/redirectUtils.js +48 -0
  9. package/ChannelHandler/redirectUtils.js.map +1 -0
  10. package/ChannelHandler/redirectUtils.test.js +8 -0
  11. package/analytics/AnalyticsProvider.js +9 -2
  12. package/analytics/AnalyticsProvider.js.map +1 -1
  13. package/analytics/integrations/ga4.d.ts +2 -1
  14. package/analytics/integrations/ga4.js +15 -6
  15. package/analytics/integrations/ga4.js.map +1 -1
  16. package/analytics/integrations/gtag/gtag.d.ts +2 -1
  17. package/analytics/integrations/gtag/gtag.js +20 -10
  18. package/analytics/integrations/gtag/gtag.js.map +1 -1
  19. package/analytics/integrations/gtm/index.d.ts +10 -1
  20. package/analytics/integrations/gtm/index.js +175 -2
  21. package/analytics/integrations/gtm/index.js.map +1 -1
  22. package/boot/SharedTree.js +1 -1
  23. package/boot/SharedTree.js.map +1 -1
  24. package/boot/apollo.d.ts +5 -4
  25. package/boot/apollo.js +18 -18
  26. package/boot/apollo.js.map +1 -1
  27. package/boot/client/startClient.js +7 -16
  28. package/boot/client/startClient.js.map +1 -1
  29. package/boot/server/createRenderer.js +10 -9
  30. package/boot/server/createRenderer.js.map +1 -1
  31. package/boot/server/index.js +2 -2
  32. package/boot/server/index.js.map +1 -1
  33. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
  34. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
  35. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
  36. package/cart/useAddToCart.d.ts +2 -2
  37. package/cart/useAddToCart.js +13 -12
  38. package/cart/useAddToCart.js.map +1 -1
  39. package/components/Auth/CustomerUpdateForm.js +7 -7
  40. package/components/Auth/CustomerUpdateForm.js.map +1 -1
  41. package/components/Cart/CartIdContext.js +18 -18
  42. package/components/Cart/CartIdContext.js.map +1 -1
  43. package/components/ChannelContext/ChannelProvider.d.ts +1 -3
  44. package/components/ChannelContext/ChannelProvider.js +6 -13
  45. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  46. package/components/ChannelContext/ChannelProvider.test.js +110 -0
  47. package/components/ConfigProvider.d.ts +1 -0
  48. package/components/ConfigProvider.js.map +1 -1
  49. package/components/DynamicRoute/ContentRoute.d.ts +1 -1
  50. package/components/DynamicRoute/ProductRoute.d.ts +1 -0
  51. package/components/DynamicRoute/ProductRoute.js +4 -2
  52. package/components/DynamicRoute/ProductRoute.js.map +1 -1
  53. package/components/DynamicRoute/RouteResolver.js +4 -2
  54. package/components/DynamicRoute/RouteResolver.js.map +1 -1
  55. package/components/Mutation/AddToCart/addToCartUtils.js +3 -2
  56. package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
  57. package/components/Mutation/RemoveFromCart.d.ts +1 -1
  58. package/components/Mutation/cartMutationUtils.js +7 -6
  59. package/components/Mutation/cartMutationUtils.js.map +1 -1
  60. package/components/OpenGraph/OpenGraph.test.js +32 -5
  61. package/components/OpenGraph/OpenGraphProductData.d.ts +6 -1
  62. package/components/OpenGraph/OpenGraphProductData.js +18 -12
  63. package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
  64. package/components/Query/CartProvider.js +32 -22
  65. package/components/Query/CartProvider.js.map +1 -1
  66. package/components/StructuredData/StructuredBreadcrumbData.js +4 -3
  67. package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
  68. package/hooks/PackageProducts/packagePriceQuery.gql +1 -1
  69. package/hooks/ProductList/ProductListContext.js +37 -14
  70. package/hooks/ProductList/ProductListContext.js.map +1 -1
  71. package/hooks/ProductList/action-creators.d.ts +20 -7
  72. package/hooks/ProductList/action-creators.js +138 -44
  73. package/hooks/ProductList/action-creators.js.map +1 -1
  74. package/hooks/ProductList/index.d.ts +34 -8
  75. package/hooks/ProductList/index.js +19 -0
  76. package/hooks/ProductList/index.js.map +1 -1
  77. package/hooks/ProductList/list-transforms.d.ts +3 -2
  78. package/hooks/ProductList/list-transforms.js +22 -22
  79. package/hooks/ProductList/list-transforms.js.map +1 -1
  80. package/hooks/ProductList/list-transforms.test.js +103 -100
  81. package/hooks/ProductList/product-list-reducer.d.ts +37 -14
  82. package/hooks/ProductList/product-list-reducer.js +106 -43
  83. package/hooks/ProductList/product-list-reducer.js.map +1 -1
  84. package/hooks/ProductList/product-list-reducer.test.js +144 -82
  85. package/hooks/ProductList/useProductList.d.ts +2 -2
  86. package/hooks/ProductList/useProductList.js +12 -5
  87. package/hooks/ProductList/useProductList.js.map +1 -1
  88. package/hooks/ProductList/useProductListItems.d.ts +1 -1
  89. package/hooks/ProductList/useProductListItems.js +8 -6
  90. package/hooks/ProductList/useProductListItems.js.map +1 -1
  91. package/hooks/useInfinitePagination.js +2 -2
  92. package/hooks/useInfinitePagination.js.map +1 -1
  93. package/hooks/useRoutePreload.js +2 -2
  94. package/hooks/useRoutePreload.js.map +1 -1
  95. package/package.json +5 -5
  96. package/resolvers/index.d.ts +3 -0
  97. package/resolvers/index.js +3 -0
  98. package/resolvers/index.js.map +1 -1
  99. package/sentry/client.js +9 -4
  100. package/sentry/client.js.map +1 -1
  101. package/sentry/common.d.ts +1 -0
  102. package/sentry/common.js +5 -0
  103. package/sentry/common.js.map +1 -0
  104. package/sentry/server.js +11 -2
  105. package/sentry/server.js.map +1 -1
  106. package/time.d.ts +1 -0
  107. package/time.js +6 -0
  108. package/time.js.map +1 -0
  109. package/types.d.ts +31 -7
@@ -2,7 +2,7 @@ import { injectScript } from '../utils/script';
2
2
  import { unSlugify } from './gtag';
3
3
  import { getBrand } from '../../../core/components/OpenGraph/OpenGraphProductData';
4
4
  const gtag = () => window.gtag;
5
- function productToItem(product, selectedVariation, useArticleNumberAsId = false) {
5
+ function productToItem(product, selectedVariation, useArticleNumberAsId = false, brandCustomField) {
6
6
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
7
7
  return {
8
8
  item_name: product === null || product === void 0 ? void 0 : product.name,
@@ -15,16 +15,25 @@ function productToItem(product, selectedVariation, useArticleNumberAsId = false)
15
15
  item_category3: unSlugify((product === null || product === void 0 ? void 0 : product.categories) && ((_j = (_h = product === null || product === void 0 ? void 0 : product.categories[2]) === null || _h === void 0 ? void 0 : _h.primaryRoute) === null || _j === void 0 ? void 0 : _j.path)),
16
16
  item_category4: unSlugify((product === null || product === void 0 ? void 0 : product.categories) && ((_l = (_k = product === null || product === void 0 ? void 0 : product.categories[3]) === null || _k === void 0 ? void 0 : _k.primaryRoute) === null || _l === void 0 ? void 0 : _l.path)),
17
17
  item_variant: (_m = selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.values) === null || _m === void 0 ? void 0 : _m.join('_'),
18
- item_brand: getBrand(product)
18
+ item_brand: getBrand(product, brandCustomField)
19
19
  };
20
20
  }
21
- export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currency, useArticleNumberAsId = false }) {
21
+ export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currency, brandCustomField, useArticleNumberAsId = false }) {
22
22
  return {
23
23
  name: 'ga4',
24
24
  initBrowser() {
25
25
  const script = `https://www.googletagmanager.com/gtag/js?id=${trackingId}`;
26
26
  const w = window;
27
27
  w.dataLayer = w.dataLayer || [];
28
+ w.dataLayer.push({
29
+ 'gtm.start': new Date().getTime(),
30
+ event: 'gtm.js',
31
+ originalLocation: document.location.protocol +
32
+ '//' +
33
+ document.location.hostname +
34
+ document.location.pathname +
35
+ document.location.search
36
+ });
28
37
  w.gtag = function gtag() {
29
38
  w.dataLayer.push(arguments);
30
39
  };
@@ -43,7 +52,7 @@ export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currenc
43
52
  gtag();
44
53
  },
45
54
  trackProduct({ quantity, action, product, selectedVariation, list, listName, index }, context, eventId) {
46
- const productItem = Object.assign(Object.assign({}, productToItem(product, selectedVariation, useArticleNumberAsId)), { quantity, item_list_name: list || listName || context.list, index: index });
55
+ const productItem = Object.assign(Object.assign({}, productToItem(product, selectedVariation, useArticleNumberAsId, brandCustomField)), { quantity, item_list_name: list || listName || context.list, index: index });
47
56
  switch (action) {
48
57
  case 'click':
49
58
  gtag()('event', 'select_item', {
@@ -83,7 +92,7 @@ export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currenc
83
92
  }
84
93
  },
85
94
  trackCartCheckout({ cart }, _context, eventId) {
86
- const items = cart.items.map((item) => (Object.assign(Object.assign({}, productToItem(item.product, item.variant, useArticleNumberAsId)), { quantity: item.quantity, eventId })));
95
+ const items = cart.items.map((item) => (Object.assign(Object.assign({}, productToItem(item.product, item.variant, useArticleNumberAsId, brandCustomField)), { quantity: item.quantity, eventId })));
87
96
  gtag()('event', 'begin_checkout', {
88
97
  ecommerce: {
89
98
  items
@@ -101,7 +110,7 @@ export function ga4Tracker({ trackingId, additionalGtagTrackingIds = [], currenc
101
110
  trackList({ listName, products }, _context, eventId) {
102
111
  const items = products.map((product, i) => {
103
112
  var _a;
104
- return (Object.assign(Object.assign({}, productToItem(product, null, useArticleNumberAsId)), { price: (_a = product.price) === null || _a === void 0 ? void 0 : _a.incVat, item_list_name: listName, index: i }));
113
+ return (Object.assign(Object.assign({}, productToItem(product, null, useArticleNumberAsId, brandCustomField)), { price: (_a = product.price) === null || _a === void 0 ? void 0 : _a.incVat, item_list_name: listName, index: i }));
105
114
  });
106
115
  gtag()('event', 'view_item_list', {
107
116
  ecommerce: {
@@ -1 +1 @@
1
- {"version":3,"file":"ga4.js","sourceRoot":"","sources":["ga4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ga4.js","sourceRoot":"","sources":["ga4.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { Tracker } from '../../trackerRegistry';
2
2
  export declare function unSlugify(slug?: string): string;
3
- export declare const gtagTracker: ({ trackingId, additionalGtagTrackingIds, currency, useArticleNumberAsId }: {
3
+ export declare const gtagTracker: ({ trackingId, additionalGtagTrackingIds, currency, brandCustomField, useArticleNumberAsId }: {
4
4
  trackingId: string;
5
5
  additionalGtagTrackingIds: string[];
6
6
  currency: string;
7
+ brandCustomField?: string;
7
8
  useArticleNumberAsId?: boolean;
8
9
  }) => Tracker;
@@ -5,17 +5,18 @@ export function unSlugify(slug) {
5
5
  if (slug) {
6
6
  slug = slug
7
7
  .split('-')
8
- .map(part => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
8
+ .map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
9
9
  .join(' ');
10
10
  slug = slug
11
11
  .split('/')
12
- .map(part => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
12
+ .map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
13
13
  .join('/');
14
14
  }
15
15
  return slug;
16
16
  }
17
- function getProductData(product, selectedVariation, useArticleNumberAsId = false) {
17
+ function getProductData(product, selectedVariation, useArticleNumberAsId = false, brandCustomField) {
18
18
  var _a, _b, _c, _d;
19
+ const brand = getBrand(product, brandCustomField);
19
20
  if (useArticleNumberAsId) {
20
21
  return {
21
22
  id: product.articleNumber,
@@ -26,7 +27,7 @@ function getProductData(product, selectedVariation, useArticleNumberAsId = false
26
27
  name: product.name,
27
28
  base_product: product.articleNumber,
28
29
  category: unSlugify((_b = (_a = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _a === void 0 ? void 0 : _a.primaryRoute) === null || _b === void 0 ? void 0 : _b.path),
29
- brand: getBrand(product)
30
+ brand
30
31
  };
31
32
  }
32
33
  else {
@@ -40,16 +41,25 @@ function getProductData(product, selectedVariation, useArticleNumberAsId = false
40
41
  name: product.name,
41
42
  base_product: product.articleNumber,
42
43
  category: unSlugify((_d = (_c = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _c === void 0 ? void 0 : _c.primaryRoute) === null || _d === void 0 ? void 0 : _d.path),
43
- brand: getBrand(product)
44
+ brand
44
45
  };
45
46
  }
46
47
  }
47
- export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], currency, useArticleNumberAsId = false }) => ({
48
+ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], currency, brandCustomField, useArticleNumberAsId = false }) => ({
48
49
  name: 'gtag',
49
50
  initBrowser() {
50
51
  const script = `https://www.googletagmanager.com/gtag/js?id=${trackingId}`;
51
52
  const w = window;
52
53
  w.dataLayer = w.dataLayer || [];
54
+ w.dataLayer.push({
55
+ 'gtm.start': new Date().getTime(),
56
+ event: 'gtm.js',
57
+ originalLocation: document.location.protocol +
58
+ '//' +
59
+ document.location.hostname +
60
+ document.location.pathname +
61
+ document.location.search
62
+ });
53
63
  w.gtag = function gtag() {
54
64
  w.dataLayer.push(arguments); // I'm not sure why but this dosen't work using rest params. Don't change this line
55
65
  };
@@ -58,7 +68,7 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
58
68
  currency,
59
69
  send_page_view: false
60
70
  });
61
- additionalGtagTrackingIds.forEach(id => {
71
+ additionalGtagTrackingIds.forEach((id) => {
62
72
  gtag()('config', id, {
63
73
  currency,
64
74
  send_page_view: false
@@ -68,7 +78,7 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
68
78
  gtag();
69
79
  },
70
80
  trackProduct({ quantity, action, product, selectedVariation, list, listName, index }, context, eventId) {
71
- const productData = Object.assign(Object.assign({}, getProductData(product, selectedVariation, useArticleNumberAsId)), { price: (selectedVariation && selectedVariation.price.incVat) ||
81
+ const productData = Object.assign(Object.assign({}, getProductData(product, selectedVariation, useArticleNumberAsId, brandCustomField)), { price: (selectedVariation && selectedVariation.price.incVat) ||
72
82
  (product.price && product.price.incVat), quantity, list_name: list || listName || context.list, list_position: index });
73
83
  switch (action) {
74
84
  case 'click':
@@ -107,7 +117,7 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
107
117
  }
108
118
  },
109
119
  trackCartCheckout({ cart }, _context, eventId) {
110
- const items = cart.items.map(item => (Object.assign(Object.assign({}, getProductData(item.product, item.variant, useArticleNumberAsId)), { price: item.total.incVat, quantity: item.quantity })));
120
+ const items = cart.items.map((item) => (Object.assign(Object.assign({}, getProductData(item.product, item.variant, useArticleNumberAsId, brandCustomField)), { price: item.total.incVat, quantity: item.quantity })));
111
121
  gtag()('event', 'begin_checkout', {
112
122
  currency,
113
123
  items,
@@ -125,7 +135,7 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
125
135
  trackList({ listName, products }, _context, eventId) {
126
136
  const productData = products.map((product, i) => {
127
137
  var _a;
128
- return (Object.assign(Object.assign({}, getProductData(product, null, useArticleNumberAsId)), { price: (_a = product.price) === null || _a === void 0 ? void 0 : _a.incVat, list_name: listName, list_position: i }));
138
+ return (Object.assign(Object.assign({}, getProductData(product, null, useArticleNumberAsId, brandCustomField)), { price: (_a = product.price) === null || _a === void 0 ? void 0 : _a.incVat, list_name: listName, list_position: i }));
129
139
  });
130
140
  gtag()('event', 'view_item_list', {
131
141
  currency,
@@ -1 +1 @@
1
- {"version":3,"file":"gtag.js","sourceRoot":"","sources":["gtag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gtag.js","sourceRoot":"","sources":["gtag.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
1
  import { Tracker } from './../../trackerRegistry';
2
- export declare const gtmTracker: ({ containerId }: {
2
+ declare global {
3
+ interface Window {
4
+ dataLayer: any[];
5
+ }
6
+ }
7
+ export declare function unSlugify(slug?: string): string;
8
+ export declare const gtmTracker: ({ containerId, currency, useArticleNumberAsId, brandCustomField }: {
3
9
  containerId: string;
10
+ currency: string;
11
+ brandCustomField?: string;
12
+ useArticleNumberAsId?: boolean;
4
13
  }) => Tracker;
@@ -1,5 +1,57 @@
1
1
  import { injectScript } from '../../utils/script';
2
- export const gtmTracker = ({ containerId }) => ({
2
+ import { getBrand } from '@jetshop/core/components/OpenGraph/OpenGraphProductData';
3
+ function push(event) {
4
+ if (window.dataLayer) {
5
+ if (event.ecommerce) {
6
+ window.dataLayer.push({ ecommerce: null });
7
+ }
8
+ window.dataLayer.push(event);
9
+ }
10
+ }
11
+ export function unSlugify(slug) {
12
+ if (slug) {
13
+ slug = slug
14
+ .split('-')
15
+ .map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
16
+ .join(' ');
17
+ slug = slug
18
+ .split('/')
19
+ .map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
20
+ .join('/');
21
+ }
22
+ return slug;
23
+ }
24
+ function getProductData(product, selectedVariation, useArticleNumberAsId = false, brandCustomField) {
25
+ var _a, _b, _c, _d;
26
+ if (useArticleNumberAsId) {
27
+ return {
28
+ id: product.articleNumber,
29
+ productId: product.id,
30
+ productSKU: product.articleNumber,
31
+ variant: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.values.join('_'),
32
+ variantSKU: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber,
33
+ name: product.name,
34
+ base_product: product.articleNumber,
35
+ category: unSlugify((_b = (_a = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _a === void 0 ? void 0 : _a.primaryRoute) === null || _b === void 0 ? void 0 : _b.path),
36
+ brand: getBrand(product, brandCustomField)
37
+ };
38
+ }
39
+ else {
40
+ // This is kept as backwards compatibility. Some shops rely on the product id being the internal Jetshop id, instead of the article number.
41
+ // Changing this could affect the statistics in Google Ads/Merchant/Analytics, so we want the new behaviour to be opt-in.
42
+ return {
43
+ id: product.id,
44
+ variant: selectedVariation
45
+ ? selectedVariation.articleNumber
46
+ : product.articleNumber,
47
+ name: product.name,
48
+ base_product: product.articleNumber,
49
+ category: unSlugify((_d = (_c = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _c === void 0 ? void 0 : _c.primaryRoute) === null || _d === void 0 ? void 0 : _d.path),
50
+ brand: getBrand(product, brandCustomField)
51
+ };
52
+ }
53
+ }
54
+ export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false, brandCustomField }) => ({
3
55
  name: 'gtm',
4
56
  initBrowser() {
5
57
  const script = `https://www.googletagmanager.com/gtm.js?id=${containerId}`;
@@ -7,9 +59,130 @@ export const gtmTracker = ({ containerId }) => ({
7
59
  w.dataLayer = w.dataLayer || [];
8
60
  w.dataLayer.push({
9
61
  'gtm.start': new Date().getTime(),
10
- event: 'gtm.js'
62
+ event: 'gtm.js',
63
+ originalLocation: document.location.protocol +
64
+ '//' +
65
+ document.location.hostname +
66
+ document.location.pathname +
67
+ document.location.search
11
68
  });
12
69
  injectScript({ src: script });
70
+ },
71
+ trackProduct({ quantity, action, product, selectedVariation, list, listName, index }, context) {
72
+ const productData = Object.assign(Object.assign({}, getProductData(product, selectedVariation, useArticleNumberAsId, brandCustomField)), { price: (selectedVariation && selectedVariation.price.incVat) ||
73
+ (product.price && product.price.incVat), quantity, position: index });
74
+ switch (action) {
75
+ case 'click':
76
+ push({
77
+ event: 'productClick',
78
+ productIds: product.articleNumber,
79
+ ecommerce: {
80
+ click: {
81
+ actionField: { list: list || listName || context.list },
82
+ products: [productData]
83
+ }
84
+ }
85
+ });
86
+ break;
87
+ case 'view':
88
+ push({
89
+ event: 'productDetails',
90
+ ecommerce: {
91
+ currencyCode: currency,
92
+ detail: {
93
+ products: [productData]
94
+ }
95
+ }
96
+ });
97
+ break;
98
+ case 'add':
99
+ push({
100
+ event: 'addToCart',
101
+ productIds: product.articleNumber,
102
+ ecommerce: {
103
+ actionField: {
104
+ list: list || listName || context.list
105
+ },
106
+ currencyCode: currency,
107
+ add: {
108
+ products: [productData]
109
+ }
110
+ }
111
+ });
112
+ break;
113
+ case 'remove':
114
+ push({
115
+ event: 'removeFromCart',
116
+ productIds: product.articleNumber,
117
+ pageType: 'cart',
118
+ ecommerce: {
119
+ currencyCode: currency,
120
+ remove: {
121
+ products: [productData]
122
+ }
123
+ }
124
+ });
125
+ break;
126
+ default:
127
+ console.log('Error: Gtag can not track action ' + action);
128
+ break;
129
+ }
130
+ },
131
+ trackCartCheckout({ cart }) {
132
+ const items = cart.items.map((item) => (Object.assign(Object.assign({}, getProductData(item.product, item.variant, useArticleNumberAsId, brandCustomField)), { price: item.total.incVat, quantity: item.quantity })));
133
+ push({
134
+ event: 'checkout',
135
+ ecommerce: {
136
+ products: items
137
+ }
138
+ });
139
+ },
140
+ trackPageView({ pathname, title }) {
141
+ push({
142
+ event: 'pageView',
143
+ pagePath: pathname,
144
+ pageTitle: title
145
+ });
146
+ },
147
+ trackList({ listName, products }) {
148
+ const productData = products.map((product, i) => {
149
+ var _a;
150
+ return (Object.assign(Object.assign({}, getProductData(product, null, useArticleNumberAsId, brandCustomField)), { price: (_a = product.price) === null || _a === void 0 ? void 0 : _a.incVat, position: i, list: listName }));
151
+ });
152
+ push({
153
+ event: 'productList',
154
+ ecommerce: {
155
+ currencyCode: currency,
156
+ impressions: productData
157
+ }
158
+ });
159
+ },
160
+ trackExperiment({ id, variant }) {
161
+ push({
162
+ experiment: `${id}.${variant}`
163
+ });
164
+ },
165
+ trackUser({ userId }) {
166
+ push({
167
+ userId
168
+ });
169
+ },
170
+ trackLogin() {
171
+ push({
172
+ event: 'login'
173
+ });
174
+ },
175
+ trackRegister() {
176
+ push({
177
+ event: 'register'
178
+ });
179
+ },
180
+ trackAddToWishList({ articleNumber, productName }) {
181
+ push({
182
+ event: 'addToWishlist',
183
+ articleNumber,
184
+ productName
185
+ });
13
186
  }
14
187
  });
15
188
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,WAAW,EAGZ,EAAW,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,KAAK;IACX,WAAW;QACT,MAAM,MAAM,GAAG,8CAA8C,WAAW,EAAE,CAAC;QAE3E,MAAM,CAAC,GAAQ,MAAM,CAAC;QACtB,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;YACf,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YACjC,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ const SharedTree = ({ activeBreakpoint, cookies, helmetContext, releware, client
19
19
  React.createElement(HelmetProvider, { context: helmetContext },
20
20
  React.createElement(BreakpointProvider, { value: activeBreakpoint },
21
21
  React.createElement(ApolloProvider, { client: client },
22
- React.createElement(ChannelProvider, { config: config, client: client, channelHandler: channelHandler },
22
+ React.createElement(ChannelProvider, { config: config, channelHandler: channelHandler },
23
23
  React.createElement(AnalyticsProvider, { releware: releware },
24
24
  React.createElement(PreviewProvider, { previewHandler: previewHandler },
25
25
  React.createElement(Router, Object.assign({ basename: channelHandler.getChannelBasename() || undefined }, routerProps),
@@ -1 +1 @@
1
- {"version":3,"file":"SharedTree.js","sourceRoot":"","sources":["SharedTree.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,UAAU;AACV,OAAO,EAAW,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgBpE,MAAM,UAAU,GAAG,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACE,EAAgB,EAAE;IAClC,OAAO,CACL,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;QAC5B,oBAAC,qBAAqB;YACpB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;gBAC/B,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa;oBACpC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,gBAAgB;wBACzC,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;4BAC5B,oBAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;gCAE9B,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ;oCACnC,oBAAC,eAAe,IAAC,cAAc,EAAE,cAAc;wCAC7C,oBAAC,MAAM,kBACL,QAAQ,EACN,cAAc,CAAC,kBAAkB,EAAE,IAAI,SAAS,IAE9C,WAAW;4CAEf,oBAAC,YAAY,IAAC,IAAI,EAAE,WAAW,IAC5B,QAAQ,CACI,CACR,CACO,CACA,CACJ,CACH,CACE,CACN,CACD,CACI,CACT,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"SharedTree.js","sourceRoot":"","sources":["SharedTree.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,UAAU;AACV,OAAO,EAAW,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgBpE,MAAM,UAAU,GAAG,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACE,EAAgB,EAAE;IAClC,OAAO,CACL,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;QAC5B,oBAAC,qBAAqB;YACpB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;gBAC/B,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa;oBACpC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,gBAAgB;wBACzC,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;4BAC5B,oBAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;gCAE9B,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ;oCACnC,oBAAC,eAAe,IAAC,cAAc,EAAE,cAAc;wCAC7C,oBAAC,MAAM,kBACL,QAAQ,EACN,cAAc,CAAC,kBAAkB,EAAE,IAAI,SAAS,IAE9C,WAAW;4CAEf,oBAAC,YAAY,IAAC,IAAI,EAAE,WAAW,IAC5B,QAAQ,CACI,CACR,CACO,CACA,CACJ,CACH,CACE,CACN,CACD,CACI,CACT,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
package/boot/apollo.d.ts CHANGED
@@ -2,19 +2,20 @@ import { NormalizedCacheObject } from 'apollo-cache-inmemory';
2
2
  import { ApolloClient } from 'apollo-client';
3
3
  import { Request } from 'express';
4
4
  import { GraphQLSchema } from 'graphql';
5
- import { ChannelHandler } from '../ChannelHandler/ChannelHandler';
6
5
  import { ApolloConfig } from '../components/ConfigProvider';
7
6
  import { AuthHandler } from './AuthHandler';
8
7
  import { PreviewHandler } from './PreviewHandler';
8
+ import { SelectedChannel } from '../components/ChannelContext/ChannelContext';
9
+ import { ChannelHandler } from '../ChannelHandler/ChannelHandler';
9
10
  export interface CreateClientOpts {
10
11
  apolloConfig: ApolloConfig;
11
12
  schema?: GraphQLSchema;
12
13
  authHandler?: AuthHandler;
13
- channelHandler?: ChannelHandler;
14
+ selectedChannel?: SelectedChannel;
14
15
  previewHandler?: PreviewHandler;
15
16
  req?: Request;
17
+ channelHandler?: ChannelHandler;
16
18
  }
17
- export declare const createClient: ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler, channelHandler, previewHandler, req }: CreateClientOpts) => {
19
+ export declare const createClient: ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler, previewHandler, req, channelHandler }: CreateClientOpts) => {
18
20
  client: ApolloClient<NormalizedCacheObject>;
19
- NetworkStatusNotifier: any;
20
21
  };
package/boot/apollo.js CHANGED
@@ -16,19 +16,16 @@ import { createHttpLink } from 'apollo-link-http';
16
16
  import { createPersistedQueryLink } from 'apollo-link-persisted-queries';
17
17
  import { SchemaLink } from 'apollo-link-schema';
18
18
  import qs from 'qs';
19
- import { createNetworkStatusNotifier } from 'react-apollo-network-status';
20
19
  import createCache from '../data/cache';
21
20
  import report from '../errorReporting';
22
21
  import { resolvers } from '../resolvers';
23
22
  import typeDefs from './client-schema.gql';
24
23
  import { logOperationTime } from './utils/queryLoggingMiddleware';
25
- export const createClient = ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler, channelHandler, previewHandler, req }) => {
24
+ import { link as networkStatusLink } from '@jetshop/ui/Loading/NetworkStatusNotifier';
25
+ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler, previewHandler, req, channelHandler }) => {
26
26
  if (!token || !shopid) {
27
27
  throw new Error(`Missing ${!token && `token`} ${!shopid && `shopid`}`);
28
28
  }
29
- const channelHeaders = channelHandler
30
- ? channelHandler.getChannelHeaders()
31
- : {};
32
29
  const authHeaders = authHandler ? authHandler.getAuthHeaders() : {};
33
30
  const previewHeaders = previewHandler
34
31
  ? previewHandler.getPreviewHeaders()
@@ -48,7 +45,7 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
48
45
  ? new SchemaLink({
49
46
  schema,
50
47
  context: {
51
- headers: Object.assign(Object.assign(Object.assign({}, channelHeaders), authHeaders), previewHeaders)
48
+ headers: Object.assign(Object.assign(Object.assign({}, ((channelHandler === null || channelHandler === void 0 ? void 0 : channelHandler.getChannelHeaders()) || {})), authHeaders), previewHeaders)
52
49
  }
53
50
  })
54
51
  : createHttpLink({
@@ -94,14 +91,13 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
94
91
  : enableGateway
95
92
  ? createGatewayLink()
96
93
  : createDirectLink();
97
- const channelMiddleware = channelHandler &&
98
- new ApolloLink((operation, forward) => {
99
- // Sets the current channel before each new HTTP request is made
100
- operation.setContext(({ headers = {} }) => ({
101
- headers: Object.assign(Object.assign({}, headers), channelHandler.getChannelHeaders())
102
- }));
103
- return forward ? forward(operation) : null;
104
- });
94
+ const channelMiddleware = new ApolloLink((operation, forward) => {
95
+ // Sets the current channel before each new HTTP request is made
96
+ operation.setContext(({ headers = {} }) => ({
97
+ headers: Object.assign(Object.assign({}, headers), ((channelHandler === null || channelHandler === void 0 ? void 0 : channelHandler.getChannelHeaders()) || {}))
98
+ }));
99
+ return forward ? forward(operation) : null;
100
+ });
105
101
  const authMiddleware = authHandler &&
106
102
  new ApolloLink((operation, forward) => {
107
103
  // Sets the auth token when a new request is made
@@ -122,7 +118,7 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
122
118
  var _b, _c;
123
119
  var { graphQLErrors, networkError, operation } = _a, rest = __rest(_a, ["graphQLErrors", "networkError", "operation"]);
124
120
  if (graphQLErrors) {
125
- graphQLErrors.forEach(error => {
121
+ graphQLErrors.forEach((error) => {
126
122
  var _a;
127
123
  const code = (_a = error === null || error === void 0 ? void 0 : error.extensions) === null || _a === void 0 ? void 0 : _a.code;
128
124
  if (code === 'EmptyRoute') {
@@ -135,6 +131,11 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
135
131
  window.location.href = '/';
136
132
  }
137
133
  }
134
+ else if (code === 'InvalidCreateCustomerInput' ||
135
+ code === 'UnableToLoginCustomer') {
136
+ // Don't report this to Sentry
137
+ console.log(error);
138
+ }
138
139
  else {
139
140
  console.log(error);
140
141
  // Other graph errors will be logged to Sentry
@@ -165,14 +166,13 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
165
166
  report(networkError);
166
167
  }
167
168
  });
168
- const { link: networkStatusNotifierLink, NetworkStatusNotifier } = createNetworkStatusNotifier();
169
169
  const links = [
170
+ ...(__IN_SERVER__ ? [] : [networkStatusLink]),
170
171
  errorMiddleware,
171
172
  // Only add the middleware to the links array if the exist
172
173
  ...(channelMiddleware ? [channelMiddleware] : []),
173
174
  ...(authMiddleware ? [authMiddleware] : []),
174
175
  ...(previewMiddleware ? [previewMiddleware] : []),
175
- networkStatusNotifierLink,
176
176
  apiLink
177
177
  ];
178
178
  if (process.env.DEBUG_MODE === 'true') {
@@ -193,6 +193,6 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
193
193
  resolvers: resolvers(qs.stringify(req === null || req === void 0 ? void 0 : req.query, { encode: true, encodeValuesOnly: true })),
194
194
  typeDefs
195
195
  });
196
- return { client, NetworkStatusNotifier };
196
+ return { client };
197
197
  };
198
198
  //# sourceMappingURL=apollo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apollo.js","sourceRoot":"","sources":["apollo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apollo.js","sourceRoot":"","sources":["apollo.ts"],"names":[],"mappings":"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"}