@jetshop/core 5.8.3 → 5.11.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/ChannelHandler/ChannelHandler.d.ts +9 -13
- package/ChannelHandler/ChannelHandler.js +24 -66
- package/ChannelHandler/ChannelHandler.js.map +1 -1
- package/ChannelHandler/channelUtils.d.ts +13 -0
- package/ChannelHandler/channelUtils.js +26 -15
- package/ChannelHandler/channelUtils.js.map +1 -1
- package/ChannelHandler/redirectUtils.d.ts +3 -0
- package/ChannelHandler/redirectUtils.js +48 -0
- package/ChannelHandler/redirectUtils.js.map +1 -0
- package/ChannelHandler/redirectUtils.test.js +8 -0
- package/analytics/AnalyticsProvider.js +9 -2
- package/analytics/AnalyticsProvider.js.map +1 -1
- package/analytics/integrations/ga4.d.ts +2 -1
- package/analytics/integrations/ga4.js +15 -6
- package/analytics/integrations/ga4.js.map +1 -1
- package/analytics/integrations/gtag/gtag.d.ts +2 -1
- package/analytics/integrations/gtag/gtag.js +20 -10
- package/analytics/integrations/gtag/gtag.js.map +1 -1
- package/analytics/integrations/gtm/index.d.ts +10 -1
- package/analytics/integrations/gtm/index.js +175 -2
- package/analytics/integrations/gtm/index.js.map +1 -1
- package/boot/SharedTree.js +1 -1
- package/boot/SharedTree.js.map +1 -1
- package/boot/apollo.d.ts +5 -4
- package/boot/apollo.js +18 -18
- package/boot/apollo.js.map +1 -1
- package/boot/client/startClient.js +7 -16
- package/boot/client/startClient.js.map +1 -1
- package/boot/server/createRenderer.js +10 -9
- package/boot/server/createRenderer.js.map +1 -1
- package/boot/server/index.js +2 -2
- package/boot/server/index.js.map +1 -1
- package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
- package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
- package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
- package/cart/useAddToCart.d.ts +2 -2
- package/cart/useAddToCart.js +13 -12
- package/cart/useAddToCart.js.map +1 -1
- package/components/Auth/CustomerUpdateForm.js +7 -7
- package/components/Auth/CustomerUpdateForm.js.map +1 -1
- package/components/Cart/CartIdContext.js +18 -18
- package/components/Cart/CartIdContext.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.d.ts +1 -3
- package/components/ChannelContext/ChannelProvider.js +6 -13
- package/components/ChannelContext/ChannelProvider.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.test.js +110 -0
- package/components/ConfigProvider.d.ts +1 -0
- package/components/ConfigProvider.js.map +1 -1
- package/components/DynamicRoute/ContentRoute.d.ts +1 -1
- package/components/DynamicRoute/ProductRoute.d.ts +1 -0
- package/components/DynamicRoute/ProductRoute.js +4 -2
- package/components/DynamicRoute/ProductRoute.js.map +1 -1
- package/components/DynamicRoute/RouteResolver.js +4 -2
- package/components/DynamicRoute/RouteResolver.js.map +1 -1
- package/components/Mutation/AddToCart/addToCartUtils.js +3 -2
- package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
- package/components/Mutation/RemoveFromCart.d.ts +1 -1
- package/components/Mutation/cartMutationUtils.js +7 -6
- package/components/Mutation/cartMutationUtils.js.map +1 -1
- package/components/OpenGraph/OpenGraph.test.js +32 -5
- package/components/OpenGraph/OpenGraphProductData.d.ts +6 -1
- package/components/OpenGraph/OpenGraphProductData.js +18 -12
- package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
- package/components/Query/CartProvider.js +32 -22
- package/components/Query/CartProvider.js.map +1 -1
- package/components/StructuredData/StructuredBreadcrumbData.js +4 -3
- package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
- package/hooks/PackageProducts/packagePriceQuery.gql +1 -1
- package/hooks/ProductList/ProductListContext.js +37 -14
- package/hooks/ProductList/ProductListContext.js.map +1 -1
- package/hooks/ProductList/action-creators.d.ts +20 -7
- package/hooks/ProductList/action-creators.js +138 -44
- package/hooks/ProductList/action-creators.js.map +1 -1
- package/hooks/ProductList/index.d.ts +34 -8
- package/hooks/ProductList/index.js +19 -0
- package/hooks/ProductList/index.js.map +1 -1
- package/hooks/ProductList/list-transforms.d.ts +3 -2
- package/hooks/ProductList/list-transforms.js +22 -22
- package/hooks/ProductList/list-transforms.js.map +1 -1
- package/hooks/ProductList/list-transforms.test.js +103 -100
- package/hooks/ProductList/product-list-reducer.d.ts +37 -14
- package/hooks/ProductList/product-list-reducer.js +106 -43
- package/hooks/ProductList/product-list-reducer.js.map +1 -1
- package/hooks/ProductList/product-list-reducer.test.js +144 -82
- package/hooks/ProductList/useProductList.d.ts +2 -2
- package/hooks/ProductList/useProductList.js +12 -5
- package/hooks/ProductList/useProductList.js.map +1 -1
- package/hooks/ProductList/useProductListItems.d.ts +1 -1
- package/hooks/ProductList/useProductListItems.js +8 -6
- package/hooks/ProductList/useProductListItems.js.map +1 -1
- package/hooks/useInfinitePagination.js +2 -2
- package/hooks/useInfinitePagination.js.map +1 -1
- package/hooks/useRoutePreload.js +2 -2
- package/hooks/useRoutePreload.js.map +1 -1
- package/package.json +5 -5
- package/resolvers/index.d.ts +3 -0
- package/resolvers/index.js +3 -0
- package/resolvers/index.js.map +1 -1
- package/sentry/client.js +9 -4
- package/sentry/client.js.map +1 -1
- package/sentry/common.d.ts +1 -0
- package/sentry/common.js +5 -0
- package/sentry/common.js.map +1 -0
- package/sentry/server.js +11 -2
- package/sentry/server.js.map +1 -1
- package/time.d.ts +1 -0
- package/time.js +6 -0
- package/time.js.map +1 -0
- package/types.d.ts +31 -7
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { SelectedChannel } from '@jetshop/core/components/ChannelContext/ChannelContext';
|
|
2
2
|
import { Channel } from '@jetshop/core/types';
|
|
3
3
|
import { RendererOptions } from '@jetshop/core/boot/server/createRenderer';
|
|
4
|
-
import ApolloClient from 'apollo-client';
|
|
5
4
|
import { BootOptions, Routes } from '@jetshop/core/components/ConfigProvider';
|
|
5
|
+
import type { GetPrimaryRoutePath } from './redirectUtils';
|
|
6
6
|
export declare class ChannelHandler {
|
|
7
7
|
selectedChannel?: SelectedChannel;
|
|
8
8
|
recommendedChannel?: SelectedChannel;
|
|
9
9
|
channels?: Channel[];
|
|
10
|
+
getPrimaryRoutePath?: GetPrimaryRoutePath;
|
|
10
11
|
constructor(args?: {
|
|
11
|
-
selectedChannel
|
|
12
|
-
recommendedChannel
|
|
13
|
-
channels
|
|
12
|
+
selectedChannel?: SelectedChannel;
|
|
13
|
+
recommendedChannel?: SelectedChannel;
|
|
14
|
+
channels?: Channel[];
|
|
15
|
+
getPrimaryRoutePath?: GetPrimaryRoutePath;
|
|
14
16
|
});
|
|
17
|
+
setGetPrimaryRoutePath: (getPrimaryRoutePath: GetPrimaryRoutePath) => GetPrimaryRoutePath;
|
|
15
18
|
getSelectedChannel: () => SelectedChannel;
|
|
16
19
|
setSelectedChannel: (selectedChannel: SelectedChannel) => void;
|
|
17
20
|
setRecommendedChannel: (recommendedChannel: SelectedChannel) => void;
|
|
@@ -32,21 +35,14 @@ export declare class ChannelHandler {
|
|
|
32
35
|
name?: undefined;
|
|
33
36
|
};
|
|
34
37
|
getChannelBasename: () => string;
|
|
35
|
-
getPreservedRedirect
|
|
36
|
-
|
|
37
|
-
url: string;
|
|
38
|
-
newChannel: SelectedChannel;
|
|
39
|
-
routes?: Routes;
|
|
40
|
-
}) => Promise<string>;
|
|
41
|
-
getRedirectUrl: ({ newChannel, client, preserveRedirect, url, routes }: {
|
|
42
|
-
client: ApolloClient<any>;
|
|
38
|
+
private getPreservedRedirect;
|
|
39
|
+
getRedirectUrl: ({ newChannel, preserveRedirect, url, routes }: {
|
|
43
40
|
newChannel: SelectedChannel;
|
|
44
41
|
preserveRedirect?: boolean;
|
|
45
42
|
url: string;
|
|
46
43
|
routes?: Routes;
|
|
47
44
|
}) => Promise<string>;
|
|
48
45
|
updateChannel: ({ config, ...args }: {
|
|
49
|
-
client: ApolloClient<any>;
|
|
50
46
|
newChannel: SelectedChannel;
|
|
51
47
|
config: BootOptions | RendererOptions;
|
|
52
48
|
}) => void;
|
|
@@ -10,24 +10,15 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import qs from 'qs';
|
|
13
|
-
import
|
|
14
|
-
import ProductPathnameRedirectQuery from './ProductPathnameRedirectQuery.gql';
|
|
15
|
-
import CategoryPathnameRedirectQuery from './CategoryPathnameRedirectQuery.gql';
|
|
16
|
-
import StartPagePathnameRedirectQuery from './StartPagePathnameRedirectQuery.gql';
|
|
17
|
-
import PagePathnameRedirectQuery from './PagePathnameRedirectQuery.gql';
|
|
18
|
-
import { getChannelBasename, getLanguageFromCulture, isInDev } from './channelUtils';
|
|
19
|
-
const PathnameRedirectQueryMap = {
|
|
20
|
-
Product: ProductPathnameRedirectQuery,
|
|
21
|
-
Category: CategoryPathnameRedirectQuery,
|
|
22
|
-
StartPage: StartPagePathnameRedirectQuery,
|
|
23
|
-
Page: PagePathnameRedirectQuery
|
|
24
|
-
};
|
|
13
|
+
import { getChannelBasename, getChannelHeaders, getLanguageFromCulture, isInDev } from './channelUtils';
|
|
25
14
|
export class ChannelHandler {
|
|
26
15
|
constructor(args = {
|
|
27
16
|
selectedChannel: undefined,
|
|
28
17
|
recommendedChannel: undefined,
|
|
29
|
-
channels: undefined
|
|
18
|
+
channels: undefined,
|
|
19
|
+
getPrimaryRoutePath: undefined
|
|
30
20
|
}) {
|
|
21
|
+
this.setGetPrimaryRoutePath = (getPrimaryRoutePath) => (this.getPrimaryRoutePath = getPrimaryRoutePath);
|
|
31
22
|
this.getSelectedChannel = () => this.selectedChannel;
|
|
32
23
|
this.setSelectedChannel = (selectedChannel) => {
|
|
33
24
|
this.selectedChannel = selectedChannel;
|
|
@@ -40,63 +31,30 @@ export class ChannelHandler {
|
|
|
40
31
|
this.channels = channels;
|
|
41
32
|
};
|
|
42
33
|
this.getChannels = () => this.channels;
|
|
43
|
-
this.getChannelHeaders = () =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
currency: this.selectedChannel.currency.id,
|
|
47
|
-
channelid: this.selectedChannel.id,
|
|
48
|
-
culture: this.selectedChannel.language.culture,
|
|
49
|
-
country: this.selectedChannel.country.code,
|
|
50
|
-
name: this.selectedChannel.name
|
|
51
|
-
}
|
|
52
|
-
: {};
|
|
53
|
-
};
|
|
54
|
-
this.getChannelBasename = () => {
|
|
55
|
-
return getChannelBasename(this.selectedChannel);
|
|
56
|
-
};
|
|
57
|
-
this.getPreservedRedirect = ({ client, url, newChannel, routes }) => {
|
|
34
|
+
this.getChannelHeaders = () => getChannelHeaders(this.selectedChannel);
|
|
35
|
+
this.getChannelBasename = () => getChannelBasename(this.selectedChannel);
|
|
36
|
+
this.getPreservedRedirect = ({ url, newChannel, routes }) => {
|
|
58
37
|
const path = this.getPathWithoutBasename(url);
|
|
59
38
|
const routePathsArray = routes
|
|
60
|
-
? Object.keys(routes).map(key => routes[key].path)
|
|
39
|
+
? Object.keys(routes).map((key) => routes[key].path)
|
|
61
40
|
: [];
|
|
62
41
|
if (routePathsArray.includes(path)) {
|
|
63
42
|
return Promise.resolve(path);
|
|
64
43
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
variables: {
|
|
69
|
-
path
|
|
70
|
-
}
|
|
71
|
-
})
|
|
72
|
-
.then(routeQueryResult => {
|
|
73
|
-
const { id, __typename } = routeQueryResult.data.route.object;
|
|
44
|
+
if (path) {
|
|
45
|
+
// Make sure we set the selected channel so any queries in
|
|
46
|
+
// getPrimaryRoutePath will pick up the selected channel
|
|
74
47
|
this.setSelectedChannel(newChannel);
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
id
|
|
81
|
-
}
|
|
82
|
-
})
|
|
83
|
-
.then(pathnameQueryResult => {
|
|
84
|
-
let newPath = '';
|
|
85
|
-
newPath = pathnameQueryResult.data[__typename].primaryRoute.path;
|
|
86
|
-
return newPath;
|
|
87
|
-
})
|
|
88
|
-
.catch(() => {
|
|
89
|
-
return '/';
|
|
90
|
-
});
|
|
91
|
-
})
|
|
92
|
-
.catch(() => {
|
|
93
|
-
return '/';
|
|
94
|
-
});
|
|
48
|
+
return this.getPrimaryRoutePath(path);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return Promise.resolve('/');
|
|
52
|
+
}
|
|
95
53
|
};
|
|
96
|
-
this.getRedirectUrl = ({ newChannel,
|
|
54
|
+
this.getRedirectUrl = ({ newChannel, preserveRedirect = true, url, routes }) => {
|
|
97
55
|
// If no country is set, select the default country
|
|
98
56
|
if (!newChannel.country) {
|
|
99
|
-
newChannel = Object.assign(Object.assign({}, newChannel), { country: newChannel.countries.find(c => c.isDefault) });
|
|
57
|
+
newChannel = Object.assign(Object.assign({}, newChannel), { country: newChannel.countries.find((c) => c.isDefault) });
|
|
100
58
|
}
|
|
101
59
|
let baseUrl = newChannel.url;
|
|
102
60
|
if (!newChannel.language.isDefault) {
|
|
@@ -117,12 +75,11 @@ export class ChannelHandler {
|
|
|
117
75
|
//Unless they specifically disable redirect we want to preserve the route
|
|
118
76
|
if (preserveRedirect) {
|
|
119
77
|
return this.getPreservedRedirect({
|
|
120
|
-
client,
|
|
121
78
|
url,
|
|
122
79
|
newChannel,
|
|
123
80
|
routes
|
|
124
81
|
})
|
|
125
|
-
.then(newPath => constructUrl(`${baseUrl}${newPath}`))
|
|
82
|
+
.then((newPath) => constructUrl(`${baseUrl}${newPath}`))
|
|
126
83
|
.catch(() => constructUrl(baseUrl));
|
|
127
84
|
}
|
|
128
85
|
else {
|
|
@@ -133,13 +90,14 @@ export class ChannelHandler {
|
|
|
133
90
|
this.updateChannel = (_a) => {
|
|
134
91
|
var { config } = _a, args = __rest(_a, ["config"]);
|
|
135
92
|
this.getRedirectUrl(Object.assign(Object.assign({}, args), { url: window.location.href, preserveRedirect: config.preserveRedirect }))
|
|
136
|
-
.then(url =>
|
|
137
|
-
.catch(url =>
|
|
93
|
+
.then((url) => window.location.assign(url))
|
|
94
|
+
.catch((url) => window.location.assign(url));
|
|
138
95
|
};
|
|
139
|
-
const { selectedChannel, recommendedChannel, channels } = args;
|
|
96
|
+
const { selectedChannel, recommendedChannel, channels, getPrimaryRoutePath } = args;
|
|
140
97
|
this.selectedChannel = selectedChannel;
|
|
141
98
|
this.recommendedChannel = recommendedChannel;
|
|
142
99
|
this.channels = channels;
|
|
100
|
+
this.getPrimaryRoutePath = getPrimaryRoutePath;
|
|
143
101
|
}
|
|
144
102
|
getPathWithoutBasename(url) {
|
|
145
103
|
const urlObject = new URL(url);
|
|
@@ -147,7 +105,7 @@ export class ChannelHandler {
|
|
|
147
105
|
const basenameParts = (basename === null || basename === void 0 ? void 0 : basename.split('/')) || [];
|
|
148
106
|
basenameParts.shift();
|
|
149
107
|
let path = urlObject.pathname;
|
|
150
|
-
basenameParts.forEach(part => (path = path.replace(new RegExp(`^/${part}`), '')));
|
|
108
|
+
basenameParts.forEach((part) => (path = path.replace(new RegExp(`^/${part}`), '')));
|
|
151
109
|
return path;
|
|
152
110
|
}
|
|
153
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelHandler.js","sourceRoot":"","sources":["ChannelHandler.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ChannelHandler.js","sourceRoot":"","sources":["ChannelHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,3 +53,16 @@ export declare function getSelectedAndRecommendedChannel({ url, singleDomainMode
|
|
|
53
53
|
selectedChannel: SelectedChannel;
|
|
54
54
|
recommendedChannel: SelectedChannel;
|
|
55
55
|
};
|
|
56
|
+
export declare function getChannelHeaders(channel?: SelectedChannel): {
|
|
57
|
+
currency: string;
|
|
58
|
+
channelid: number;
|
|
59
|
+
culture: string;
|
|
60
|
+
country: string;
|
|
61
|
+
name: string;
|
|
62
|
+
} | {
|
|
63
|
+
currency?: undefined;
|
|
64
|
+
channelid?: undefined;
|
|
65
|
+
culture?: undefined;
|
|
66
|
+
country?: undefined;
|
|
67
|
+
name?: undefined;
|
|
68
|
+
};
|
|
@@ -16,7 +16,7 @@ export const getURLLanguageBasename = ({ url, singleDomainMode }) => {
|
|
|
16
16
|
* @param channels List of channels to search through
|
|
17
17
|
*/
|
|
18
18
|
export const getDefaultChannel = (channels) => {
|
|
19
|
-
return channels.find(channel => channel.isDefault) || channels[0];
|
|
19
|
+
return channels.find((channel) => channel.isDefault) || channels[0];
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* Converts a Channel object to a SelectedChannel with the specified culture and currency
|
|
@@ -26,14 +26,14 @@ export const getDefaultChannel = (channels) => {
|
|
|
26
26
|
* @param country? Optional desired country code
|
|
27
27
|
*/
|
|
28
28
|
export const createSelectedChannel = (channel, culture, currency, country, urlBasenameLanguage) => {
|
|
29
|
-
const selectedLanguage = channel.languages.find(language => getLanguageFromCulture(language.culture) === urlBasenameLanguage) ||
|
|
30
|
-
channel.languages.find(language => language.culture === culture) ||
|
|
31
|
-
channel.languages.find(language => language.isDefault);
|
|
32
|
-
const selectedCurrency = channel.currencies.find(c => c.id === currency) ||
|
|
33
|
-
channel.currencies.find(c => c.isDefault);
|
|
29
|
+
const selectedLanguage = channel.languages.find((language) => getLanguageFromCulture(language.culture) === urlBasenameLanguage) ||
|
|
30
|
+
channel.languages.find((language) => language.culture === culture) ||
|
|
31
|
+
channel.languages.find((language) => language.isDefault);
|
|
32
|
+
const selectedCurrency = channel.currencies.find((c) => c.id === currency) ||
|
|
33
|
+
channel.currencies.find((c) => c.isDefault);
|
|
34
34
|
// Set selectedCountry to the prop `country`, else use the default
|
|
35
|
-
const selectedCountry = channel.countries.find(c => c.code === country) ||
|
|
36
|
-
channel.countries.find(c => c.isDefault);
|
|
35
|
+
const selectedCountry = channel.countries.find((c) => c.code === country) ||
|
|
36
|
+
channel.countries.find((c) => c.isDefault);
|
|
37
37
|
return Object.assign(Object.assign({}, channel), { currency: selectedCurrency || channel.defaultCurrency, language: selectedLanguage || channel.defaultLanguage, country: selectedCountry });
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
@@ -42,20 +42,20 @@ export const createSelectedChannel = (channel, culture, currency, country, urlBa
|
|
|
42
42
|
* @param channels Array of channels to search through
|
|
43
43
|
*/
|
|
44
44
|
export const findChannel = (channelName, channels) => {
|
|
45
|
-
return channels.find(channel => channel.name === channelName);
|
|
45
|
+
return channels.find((channel) => channel.name === channelName);
|
|
46
46
|
};
|
|
47
47
|
const sanitizeURL = (url) => String(url).replace(/^(?:[\w]+:\/\/)?(?:www\.)?/, '');
|
|
48
48
|
export const findChannelById = (id, channels) => {
|
|
49
|
-
return channels.find(channel => channel.id === id);
|
|
49
|
+
return channels.find((channel) => channel.id === id);
|
|
50
50
|
};
|
|
51
51
|
export const findChannelByCountry = (countryCode, channels) => {
|
|
52
52
|
// We want to give priority to channels that have the country we are looking for as a default country
|
|
53
|
-
const channelWithDefaultCountry = channels.find(channel => channel.countries.find(country => country.code === countryCode && country.isDefault)
|
|
53
|
+
const channelWithDefaultCountry = channels.find((channel) => channel.countries.find((country) => country.code === countryCode && country.isDefault)
|
|
54
54
|
? true
|
|
55
55
|
: false);
|
|
56
56
|
if (!channelWithDefaultCountry) {
|
|
57
57
|
// If we don't find a channel with the default country then just return the first channel we find with that country
|
|
58
|
-
return channels.find(channel => channel.countries.find(country => country.code === countryCode)
|
|
58
|
+
return channels.find((channel) => channel.countries.find((country) => country.code === countryCode)
|
|
59
59
|
? true
|
|
60
60
|
: false);
|
|
61
61
|
}
|
|
@@ -115,7 +115,7 @@ export function isInDev(url) {
|
|
|
115
115
|
function getChannelFromPathOrUrl({ url, singleDomainMode, channels }) {
|
|
116
116
|
if (isInDev(url) && singleDomainMode) {
|
|
117
117
|
const basename = getURLBasename(new URL(url));
|
|
118
|
-
const activeChannels = channels.filter(channel => basename === getURLBasename(new URL(channel.url)));
|
|
118
|
+
const activeChannels = channels.filter((channel) => basename === getURLBasename(new URL(channel.url)));
|
|
119
119
|
// If we find more than one active channel we will end up in an infinite redirect so we return the first channel
|
|
120
120
|
// This likely means that there are multiple channels with the same basename but different domains
|
|
121
121
|
// To handle channel switching on development we also return the activeChannels array
|
|
@@ -127,7 +127,7 @@ function getChannelFromPathOrUrl({ url, singleDomainMode, channels }) {
|
|
|
127
127
|
else {
|
|
128
128
|
const currentUrl = sanitizeURL(url);
|
|
129
129
|
const sorted = channels.slice().sort((a, b) => b.url.length - a.url.length);
|
|
130
|
-
const activeChannels = sorted.filter(channel => currentUrl.indexOf(sanitizeURL(channel.url)) === 0);
|
|
130
|
+
const activeChannels = sorted.filter((channel) => currentUrl.indexOf(sanitizeURL(channel.url)) === 0);
|
|
131
131
|
// If we find more than one active channel we will end up in an infinite redirect so we return false
|
|
132
132
|
// This likely means that there are multiple channels with the same domain
|
|
133
133
|
return {
|
|
@@ -162,7 +162,7 @@ function getCultureFromAcceptLanguages({ channel, acceptedLanguages }) {
|
|
|
162
162
|
const acceptedLanguagesString = typeof acceptedLanguages !== 'string'
|
|
163
163
|
? acceptedLanguages[0]
|
|
164
164
|
: acceptedLanguages;
|
|
165
|
-
const channelLanguages = channel.languages.map(language => language.culture);
|
|
165
|
+
const channelLanguages = channel.languages.map((language) => language.culture);
|
|
166
166
|
return (acceptedLanguages &&
|
|
167
167
|
acceptLanguageParser.pick(channelLanguages, acceptedLanguagesString));
|
|
168
168
|
}
|
|
@@ -253,4 +253,15 @@ export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channe
|
|
|
253
253
|
recommendedChannel
|
|
254
254
|
};
|
|
255
255
|
}
|
|
256
|
+
export function getChannelHeaders(channel) {
|
|
257
|
+
return channel
|
|
258
|
+
? {
|
|
259
|
+
currency: channel.currency.id,
|
|
260
|
+
channelid: channel.id,
|
|
261
|
+
culture: channel.language.culture,
|
|
262
|
+
country: channel.country.code,
|
|
263
|
+
name: channel.name
|
|
264
|
+
}
|
|
265
|
+
: {};
|
|
266
|
+
}
|
|
256
267
|
//# sourceMappingURL=channelUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelUtils.js","sourceRoot":"","sources":["channelUtils.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,MAAM,IAAI,CAAC;AAWpB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,GAAG,EACH,gBAAgB,EAIjB,EAAE,EAAE;IACH,IAAI,gBAAgB,EAAE;QACpB,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;SAAM;QACL,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;KAC5B;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,EAAE;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"channelUtils.js","sourceRoot":"","sources":["channelUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import preserveRedirectRouteQuery from './PreserveRedirectRouteQuery.gql';
|
|
11
|
+
import ProductPathnameRedirectQuery from './ProductPathnameRedirectQuery.gql';
|
|
12
|
+
import CategoryPathnameRedirectQuery from './CategoryPathnameRedirectQuery.gql';
|
|
13
|
+
import StartPagePathnameRedirectQuery from './StartPagePathnameRedirectQuery.gql';
|
|
14
|
+
import PagePathnameRedirectQuery from './PagePathnameRedirectQuery.gql';
|
|
15
|
+
const PathnameRedirectQueryMap = {
|
|
16
|
+
Product: ProductPathnameRedirectQuery,
|
|
17
|
+
Category: CategoryPathnameRedirectQuery,
|
|
18
|
+
StartPage: StartPagePathnameRedirectQuery,
|
|
19
|
+
Page: PagePathnameRedirectQuery
|
|
20
|
+
};
|
|
21
|
+
export function primaryRouteForPathFetcher(client) {
|
|
22
|
+
return (path) => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
try {
|
|
24
|
+
if (!path) {
|
|
25
|
+
throw new Error('No path was provided');
|
|
26
|
+
}
|
|
27
|
+
const routeQueryResult = yield client.query({
|
|
28
|
+
query: preserveRedirectRouteQuery,
|
|
29
|
+
variables: {
|
|
30
|
+
path
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const { id, __typename } = routeQueryResult.data.route.object;
|
|
34
|
+
const pathnameQueryResult = yield client.query({
|
|
35
|
+
fetchPolicy: 'network-only',
|
|
36
|
+
query: PathnameRedirectQueryMap[__typename],
|
|
37
|
+
variables: {
|
|
38
|
+
id
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return pathnameQueryResult.data[__typename].primaryRoute.path;
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
return '/';
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=redirectUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectUtils.js","sourceRoot":"","sources":["redirectUtils.ts"],"names":[],"mappings":";;;;;;;;;AASA,OAAO,0BAA0B,MAAM,kCAAkC,CAAC;AAC1E,OAAO,4BAA4B,MAAM,oCAAoC,CAAC;AAC9E,OAAO,6BAA6B,MAAM,qCAAqC,CAAC;AAChF,OAAO,8BAA8B,MAAM,sCAAsC,CAAC;AAClF,OAAO,yBAAyB,MAAM,iCAAiC,CAAC;AAExE,MAAM,wBAAwB,GAAG;IAC/B,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,6BAA6B;IACvC,SAAS,EAAE,8BAA8B;IACzC,IAAI,EAAE,yBAAyB;CAChC,CAAC;AAKF,MAAM,UAAU,0BAA0B,CACxC,MAAyB;IAEzB,OAAO,CAAO,IAAI,EAAE,EAAE;QACpB,IAAI;YACF,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAED,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,KAAK,CAOxC;gBACD,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE;oBACT,IAAI;iBACL;aACF,CAAC,CAAC;YAEH,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAE9D,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,KAAK,CAK3C;gBACD,WAAW,EAAE,cAAc;gBAC3B,KAAK,EAAE,wBAAwB,CAAC,UAAU,CAAC;gBAC3C,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAC;YAEH,OAAO,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;SAC/D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CAAA,CAAC;AACJ,CAAC"}
|
|
@@ -9,6 +9,7 @@ import gql from 'graphql-tag';
|
|
|
9
9
|
import { ChannelHandler } from './ChannelHandler';
|
|
10
10
|
import { channels, singleDomainChannels } from '../test-utils/variables';
|
|
11
11
|
import { Cookies } from 'react-cookie';
|
|
12
|
+
import { primaryRouteForPathFetcher } from './redirectUtils';
|
|
12
13
|
|
|
13
14
|
const preserveRedirectRouteQuery = gql`
|
|
14
15
|
query preserveRedirectRouteQuery($path: String!) {
|
|
@@ -180,6 +181,7 @@ function createClient(mocks) {
|
|
|
180
181
|
}
|
|
181
182
|
|
|
182
183
|
const client = createClient(redirectQueryMocks);
|
|
184
|
+
const getPrimaryRoutePath = primaryRouteForPathFetcher(client);
|
|
183
185
|
|
|
184
186
|
const selectedChannelSingleDomain = createSelectedChannel(
|
|
185
187
|
singleDomainChannels[0]
|
|
@@ -199,6 +201,7 @@ describe('Channel utils', () => {
|
|
|
199
201
|
const channelHandler = new ChannelHandler({
|
|
200
202
|
selectedChannel,
|
|
201
203
|
recommendedChannel,
|
|
204
|
+
getPrimaryRoutePath,
|
|
202
205
|
channels
|
|
203
206
|
});
|
|
204
207
|
const redirectUrl = channelHandler.getRedirectUrl({
|
|
@@ -382,6 +385,7 @@ describe('Single domain mode', () => {
|
|
|
382
385
|
const channelHandler = new ChannelHandler({
|
|
383
386
|
selectedChannel,
|
|
384
387
|
recommendedChannel,
|
|
388
|
+
getPrimaryRoutePath,
|
|
385
389
|
channels
|
|
386
390
|
});
|
|
387
391
|
|
|
@@ -411,6 +415,7 @@ describe('Single domain mode', () => {
|
|
|
411
415
|
const channelHandler = new ChannelHandler({
|
|
412
416
|
selectedChannel,
|
|
413
417
|
recommendedChannel,
|
|
418
|
+
getPrimaryRoutePath,
|
|
414
419
|
channels
|
|
415
420
|
});
|
|
416
421
|
|
|
@@ -440,6 +445,7 @@ describe('Single domain mode', () => {
|
|
|
440
445
|
const channelHandler = new ChannelHandler({
|
|
441
446
|
selectedChannel,
|
|
442
447
|
recommendedChannel,
|
|
448
|
+
getPrimaryRoutePath,
|
|
443
449
|
channels
|
|
444
450
|
});
|
|
445
451
|
|
|
@@ -489,6 +495,7 @@ describe('Single domain mode', () => {
|
|
|
489
495
|
const channelHandler = new ChannelHandler({
|
|
490
496
|
selectedChannel,
|
|
491
497
|
recommendedChannel,
|
|
498
|
+
getPrimaryRoutePath,
|
|
492
499
|
channels
|
|
493
500
|
});
|
|
494
501
|
const redirectUrl = channelHandler.getRedirectUrl({
|
|
@@ -516,6 +523,7 @@ describe('Single domain mode', () => {
|
|
|
516
523
|
const channelHandler = new ChannelHandler({
|
|
517
524
|
selectedChannel,
|
|
518
525
|
recommendedChannel,
|
|
526
|
+
getPrimaryRoutePath,
|
|
519
527
|
channels
|
|
520
528
|
});
|
|
521
529
|
const redirectUrl = channelHandler.getRedirectUrl({
|
|
@@ -32,7 +32,7 @@ export const AnalyticsContext = createContext({
|
|
|
32
32
|
});
|
|
33
33
|
export const getGoogleAnalytics = (config, selectedChannel) => {
|
|
34
34
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
35
|
-
// Channel overrides are used in order to support channel specific overrides for certain shop config variables. You can read more here: https://docs.dev.jetshop.se/
|
|
35
|
+
// Channel overrides are used in order to support channel specific overrides for certain shop config variables. You can read more here: https://docs.dev.jetshop.se/features/shop-config#other-options
|
|
36
36
|
const channelOverrides = config.channelOverrides
|
|
37
37
|
? config.channelOverrides[selectedChannel.name]
|
|
38
38
|
: {};
|
|
@@ -91,6 +91,7 @@ const AnalyticsProvider = function AnalyticsProvider(props) {
|
|
|
91
91
|
currency: selectedChannel.currency.format.code,
|
|
92
92
|
trackingId: gtag.trackingId,
|
|
93
93
|
additionalGtagTrackingIds: gtag.additionalGtagTrackingIds,
|
|
94
|
+
brandCustomField: shopConfig.brandCustomField,
|
|
94
95
|
useArticleNumberAsId: gtag.useArticleNumberAsId
|
|
95
96
|
}));
|
|
96
97
|
}
|
|
@@ -99,6 +100,7 @@ const AnalyticsProvider = function AnalyticsProvider(props) {
|
|
|
99
100
|
currency: selectedChannel.currency.format.code,
|
|
100
101
|
trackingId: gtag.trackingId,
|
|
101
102
|
additionalGtagTrackingIds: gtag.additionalGtagTrackingIds,
|
|
103
|
+
brandCustomField: shopConfig.brandCustomField,
|
|
102
104
|
useArticleNumberAsId: gtag.useArticleNumberAsId
|
|
103
105
|
}));
|
|
104
106
|
}
|
|
@@ -108,7 +110,12 @@ const AnalyticsProvider = function AnalyticsProvider(props) {
|
|
|
108
110
|
}
|
|
109
111
|
if (gtm === null || gtm === void 0 ? void 0 : gtm.containerId) {
|
|
110
112
|
referrerModifier(trackingID);
|
|
111
|
-
registry.add(gtmTracker({
|
|
113
|
+
registry.add(gtmTracker({
|
|
114
|
+
containerId: gtm.containerId,
|
|
115
|
+
currency: selectedChannel.currency.format.code,
|
|
116
|
+
brandCustomField: shopConfig.brandCustomField,
|
|
117
|
+
useArticleNumberAsId
|
|
118
|
+
}));
|
|
112
119
|
}
|
|
113
120
|
if (shopConfig.trackers) {
|
|
114
121
|
shopConfig.trackers.forEach((tracker) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsProvider.js","sourceRoot":"","sources":["AnalyticsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA8BhD,SAAS,YAAY,CAAC,QAAkB;IACtC,OAAO,6BAA6B,IAAI,QAAQ,CAAC;AACnD,CAAC;AAED,MAAM,sBAAsB,GAAoB;IAC9C,IAAI,EAAE;QACJ,UAAU,EAAE,IAAI;QAChB,oBAAoB,EAAE,KAAK;QAC3B,yBAAyB,EAAE,IAAI;KAChC;IACD,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;IAC1B,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,IAAI;KACV;IACD,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,aAAa,CAAC;IACZ,MAAM,EAAE,sBAAsB;IAC9B,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC;AAML,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAmB,EACnB,eAAgC,EAChC,EAAE;;IACF,
|
|
1
|
+
{"version":3,"file":"AnalyticsProvider.js","sourceRoot":"","sources":["AnalyticsProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,10 @@ export interface GA4Item {
|
|
|
14
14
|
index?: number;
|
|
15
15
|
quantity?: number;
|
|
16
16
|
}
|
|
17
|
-
export declare function ga4Tracker({ trackingId, additionalGtagTrackingIds, currency, useArticleNumberAsId }: {
|
|
17
|
+
export declare function ga4Tracker({ trackingId, additionalGtagTrackingIds, currency, brandCustomField, useArticleNumberAsId }: {
|
|
18
18
|
trackingId: string;
|
|
19
19
|
additionalGtagTrackingIds: string[];
|
|
20
20
|
currency: string;
|
|
21
|
+
brandCustomField: string;
|
|
21
22
|
useArticleNumberAsId?: boolean;
|
|
22
23
|
}): Tracker;
|