@postnord/pn-marketweb-components 4.3.5 → 4.3.6
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/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header-salesforce-loader.stories.js +479 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header-salesforce-loader.stories.js.map +1 -0
- package/package.json +1 -1
- package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header-salesforce-loader.stories.d.ts +11 -0
- package/umd/pn-marketweb-salesforce-header.js +95 -0
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
const ORIGINAL_FETCH = window.fetch.bind(window);
|
|
2
|
+
const RELOAD_CLICK_HANDLER_KEY = '__mwSalesforceHeaderReloadHandler';
|
|
3
|
+
const TOGGLER_MOCKED_RESPONSE = {
|
|
4
|
+
value: {
|
|
5
|
+
sitedefinition: {
|
|
6
|
+
name: 'PostNord Denmark',
|
|
7
|
+
url: '/',
|
|
8
|
+
},
|
|
9
|
+
search: {
|
|
10
|
+
formActionUrl: 'https://www.postnord.dk/sog/',
|
|
11
|
+
AutocompleteEndpoint: 'https://www.postnord.dk/api/search/autocomplete',
|
|
12
|
+
},
|
|
13
|
+
languageSelectorViewModel: {
|
|
14
|
+
currentLanguageNativeName: 'Dansk',
|
|
15
|
+
languages: [
|
|
16
|
+
{ twoLetterISOLanguageName: 'da', nativeName: 'Dansk', isCurrent: true },
|
|
17
|
+
{ twoLetterISOLanguageName: 'en', nativeName: 'English', isCurrent: false },
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
siteSelectorViewModel: {
|
|
21
|
+
siteSelectorButtonText: 'postnord.dk',
|
|
22
|
+
siteSelectorTitle: 'PostNord',
|
|
23
|
+
currentSiteTitle: 'postnord.dk',
|
|
24
|
+
currentSiteDescription: 'Kundeservice og værktøjer',
|
|
25
|
+
siteSelections: [],
|
|
26
|
+
},
|
|
27
|
+
loginViewModel: {
|
|
28
|
+
loginMenuLinks: [],
|
|
29
|
+
legacyLoginLinks: [],
|
|
30
|
+
loggedInLinks: [],
|
|
31
|
+
overrideLoginMenu: false,
|
|
32
|
+
loginMenuLinkText: 'Log ind',
|
|
33
|
+
countryCode: 'DK',
|
|
34
|
+
locale: 'da',
|
|
35
|
+
loginUrl: '',
|
|
36
|
+
registerUrl: '',
|
|
37
|
+
loggedInButtonText: 'Min side',
|
|
38
|
+
loginTitle: 'Log ind',
|
|
39
|
+
loginLinkText: 'Log ind',
|
|
40
|
+
createLoginLinkText: 'Opret konto',
|
|
41
|
+
loginInfo: '',
|
|
42
|
+
},
|
|
43
|
+
mainMenu: {
|
|
44
|
+
// all but last are switchable roots; last is shared root
|
|
45
|
+
menuItems: [
|
|
46
|
+
{
|
|
47
|
+
name: 'Privat',
|
|
48
|
+
href: '/',
|
|
49
|
+
id: 'root-private',
|
|
50
|
+
selected: false,
|
|
51
|
+
open: false,
|
|
52
|
+
children: [
|
|
53
|
+
{
|
|
54
|
+
name: 'Send pakke',
|
|
55
|
+
href: '/',
|
|
56
|
+
id: 'private-send-package',
|
|
57
|
+
selected: false,
|
|
58
|
+
open: false,
|
|
59
|
+
children: [],
|
|
60
|
+
navigationHeading: '',
|
|
61
|
+
promotedMenuItemsHeader: '',
|
|
62
|
+
promotedMenuItems: [],
|
|
63
|
+
hasChildren: false,
|
|
64
|
+
linkTarget: '',
|
|
65
|
+
trackingId: 'private-send-package',
|
|
66
|
+
level: 1,
|
|
67
|
+
isMegaMenuParent: false,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Track forsendelse',
|
|
71
|
+
href: '/',
|
|
72
|
+
id: 'private-track',
|
|
73
|
+
selected: false,
|
|
74
|
+
open: false,
|
|
75
|
+
children: [],
|
|
76
|
+
navigationHeading: '',
|
|
77
|
+
promotedMenuItemsHeader: '',
|
|
78
|
+
promotedMenuItems: [],
|
|
79
|
+
hasChildren: false,
|
|
80
|
+
linkTarget: '',
|
|
81
|
+
trackingId: 'private-track',
|
|
82
|
+
level: 1,
|
|
83
|
+
isMegaMenuParent: false,
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
navigationHeading: '',
|
|
87
|
+
promotedMenuItemsHeader: '',
|
|
88
|
+
promotedMenuItems: [],
|
|
89
|
+
hasChildren: true,
|
|
90
|
+
linkTarget: '',
|
|
91
|
+
trackingId: 'private',
|
|
92
|
+
level: 0,
|
|
93
|
+
isMegaMenuParent: true,
|
|
94
|
+
toggleTheme: 'private',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Erhverv',
|
|
98
|
+
href: '/',
|
|
99
|
+
id: 'root-business',
|
|
100
|
+
selected: false,
|
|
101
|
+
open: false,
|
|
102
|
+
children: [
|
|
103
|
+
{
|
|
104
|
+
name: 'Book pickup',
|
|
105
|
+
href: '/',
|
|
106
|
+
id: 'business-book-pickup',
|
|
107
|
+
selected: false,
|
|
108
|
+
open: false,
|
|
109
|
+
children: [],
|
|
110
|
+
navigationHeading: '',
|
|
111
|
+
promotedMenuItemsHeader: '',
|
|
112
|
+
promotedMenuItems: [],
|
|
113
|
+
hasChildren: false,
|
|
114
|
+
linkTarget: '',
|
|
115
|
+
trackingId: 'business-book-pickup',
|
|
116
|
+
level: 1,
|
|
117
|
+
isMegaMenuParent: false,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: 'Business portal',
|
|
121
|
+
href: '/',
|
|
122
|
+
id: 'business-portal',
|
|
123
|
+
selected: false,
|
|
124
|
+
open: false,
|
|
125
|
+
children: [],
|
|
126
|
+
navigationHeading: '',
|
|
127
|
+
promotedMenuItemsHeader: '',
|
|
128
|
+
promotedMenuItems: [],
|
|
129
|
+
hasChildren: false,
|
|
130
|
+
linkTarget: '',
|
|
131
|
+
trackingId: 'business-portal',
|
|
132
|
+
level: 1,
|
|
133
|
+
isMegaMenuParent: false,
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
navigationHeading: '',
|
|
137
|
+
promotedMenuItemsHeader: '',
|
|
138
|
+
promotedMenuItems: [],
|
|
139
|
+
hasChildren: true,
|
|
140
|
+
linkTarget: '',
|
|
141
|
+
trackingId: 'business',
|
|
142
|
+
level: 0,
|
|
143
|
+
isMegaMenuParent: true,
|
|
144
|
+
toggleTheme: 'business',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'Fælles',
|
|
148
|
+
href: '/',
|
|
149
|
+
id: 'root-shared',
|
|
150
|
+
selected: false,
|
|
151
|
+
open: false,
|
|
152
|
+
children: [],
|
|
153
|
+
navigationHeading: '',
|
|
154
|
+
promotedMenuItemsHeader: '',
|
|
155
|
+
promotedMenuItems: [],
|
|
156
|
+
hasChildren: false,
|
|
157
|
+
linkTarget: '',
|
|
158
|
+
trackingId: 'shared',
|
|
159
|
+
level: 0,
|
|
160
|
+
isMegaMenuParent: false,
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
formatters: [],
|
|
166
|
+
contentTypes: [],
|
|
167
|
+
declaredType: null,
|
|
168
|
+
statusCode: 200,
|
|
169
|
+
};
|
|
170
|
+
const OLD_SITEHEADER_MOCKED_RESPONSE = {
|
|
171
|
+
value: {
|
|
172
|
+
sitedefinition: {
|
|
173
|
+
name: 'PostNord Denmark',
|
|
174
|
+
url: '/',
|
|
175
|
+
},
|
|
176
|
+
search: {
|
|
177
|
+
formActionUrl: 'https://www.postnord.dk/sog/',
|
|
178
|
+
AutocompleteEndpoint: 'https://www.postnord.dk/api/search/autocomplete',
|
|
179
|
+
},
|
|
180
|
+
languageSelectorViewModel: {
|
|
181
|
+
currentLanguageNativeName: 'Dansk',
|
|
182
|
+
languages: [
|
|
183
|
+
{ twoLetterISOLanguageName: 'da', nativeName: 'Dansk', isCurrent: true },
|
|
184
|
+
{ twoLetterISOLanguageName: 'en', nativeName: 'English', isCurrent: false },
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
siteSelectorViewModel: {
|
|
188
|
+
siteSelectorButtonText: 'postnord.dk',
|
|
189
|
+
siteSelectorTitle: 'PostNord',
|
|
190
|
+
currentSiteTitle: 'postnord.dk',
|
|
191
|
+
currentSiteDescription: 'Kundeservice og værktøjer',
|
|
192
|
+
siteSelections: [],
|
|
193
|
+
},
|
|
194
|
+
loginViewModel: {
|
|
195
|
+
loginMenuLinks: [],
|
|
196
|
+
legacyLoginLinks: [],
|
|
197
|
+
loggedInLinks: [],
|
|
198
|
+
overrideLoginMenu: false,
|
|
199
|
+
loginMenuLinkText: 'Log ind',
|
|
200
|
+
countryCode: 'DK',
|
|
201
|
+
locale: 'da',
|
|
202
|
+
loginUrl: '',
|
|
203
|
+
registerUrl: '',
|
|
204
|
+
loggedInButtonText: 'Min side',
|
|
205
|
+
loginTitle: 'Log ind',
|
|
206
|
+
loginLinkText: 'Log ind',
|
|
207
|
+
createLoginLinkText: 'Opret konto',
|
|
208
|
+
loginInfo: '',
|
|
209
|
+
},
|
|
210
|
+
mainMenu: {
|
|
211
|
+
// old siteheader mock data (siteheader endpoint shape)
|
|
212
|
+
menuItems: [
|
|
213
|
+
{
|
|
214
|
+
name: 'Sende',
|
|
215
|
+
href: '/',
|
|
216
|
+
id: '4571',
|
|
217
|
+
selected: false,
|
|
218
|
+
open: false,
|
|
219
|
+
children: [
|
|
220
|
+
{
|
|
221
|
+
name: 'Breve, q-breve og breve til udlandet',
|
|
222
|
+
href: '/',
|
|
223
|
+
id: '144202',
|
|
224
|
+
selected: false,
|
|
225
|
+
open: false,
|
|
226
|
+
children: [],
|
|
227
|
+
navigationHeading: '',
|
|
228
|
+
promotedMenuItemsHeader: '',
|
|
229
|
+
promotedMenuItems: [],
|
|
230
|
+
hasChildren: false,
|
|
231
|
+
linkTarget: '',
|
|
232
|
+
trackingId: 'breveqbreveogbrevetiludlandet144202',
|
|
233
|
+
level: 2,
|
|
234
|
+
isMegaMenuParent: false,
|
|
235
|
+
isDefaultToggleParent: false,
|
|
236
|
+
toggleTheme: 'Private',
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
navigationHeading: '',
|
|
240
|
+
promotedMenuItemsHeader: '',
|
|
241
|
+
promotedMenuItems: [],
|
|
242
|
+
hasChildren: true,
|
|
243
|
+
linkTarget: '',
|
|
244
|
+
trackingId: 'sende4571',
|
|
245
|
+
level: 1,
|
|
246
|
+
isMegaMenuParent: false,
|
|
247
|
+
isDefaultToggleParent: false,
|
|
248
|
+
toggleTheme: 'Private',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'Modtage',
|
|
252
|
+
href: '/',
|
|
253
|
+
id: '5501',
|
|
254
|
+
selected: false,
|
|
255
|
+
open: false,
|
|
256
|
+
children: [],
|
|
257
|
+
navigationHeading: '',
|
|
258
|
+
promotedMenuItemsHeader: '',
|
|
259
|
+
promotedMenuItems: [],
|
|
260
|
+
hasChildren: false,
|
|
261
|
+
linkTarget: '',
|
|
262
|
+
trackingId: 'modtage5501',
|
|
263
|
+
level: 1,
|
|
264
|
+
isMegaMenuParent: false,
|
|
265
|
+
isDefaultToggleParent: false,
|
|
266
|
+
toggleTheme: 'Private',
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
name: 'Kundeservice',
|
|
270
|
+
href: '/',
|
|
271
|
+
id: '5509',
|
|
272
|
+
selected: false,
|
|
273
|
+
open: false,
|
|
274
|
+
children: [
|
|
275
|
+
{
|
|
276
|
+
name: 'Privat',
|
|
277
|
+
href: '/',
|
|
278
|
+
id: '15088',
|
|
279
|
+
selected: false,
|
|
280
|
+
open: false,
|
|
281
|
+
children: [],
|
|
282
|
+
navigationHeading: '',
|
|
283
|
+
promotedMenuItemsHeader: '',
|
|
284
|
+
promotedMenuItems: [],
|
|
285
|
+
hasChildren: false,
|
|
286
|
+
linkTarget: '',
|
|
287
|
+
trackingId: 'privat15088',
|
|
288
|
+
level: 2,
|
|
289
|
+
isMegaMenuParent: false,
|
|
290
|
+
isDefaultToggleParent: false,
|
|
291
|
+
toggleTheme: 'Private',
|
|
292
|
+
},
|
|
293
|
+
],
|
|
294
|
+
navigationHeading: '',
|
|
295
|
+
promotedMenuItemsHeader: '',
|
|
296
|
+
promotedMenuItems: [],
|
|
297
|
+
hasChildren: true,
|
|
298
|
+
linkTarget: '',
|
|
299
|
+
trackingId: 'kundeservice5509',
|
|
300
|
+
level: 1,
|
|
301
|
+
isMegaMenuParent: false,
|
|
302
|
+
isDefaultToggleParent: false,
|
|
303
|
+
toggleTheme: 'Private',
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
activeMenuToggleParentIndex: -1,
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
formatters: [],
|
|
310
|
+
contentTypes: [],
|
|
311
|
+
declaredType: null,
|
|
312
|
+
statusCode: 200,
|
|
313
|
+
};
|
|
314
|
+
function createRouteSafeMockedResponse(baseResponse) {
|
|
315
|
+
const currentUrl = window.location.href;
|
|
316
|
+
const response = JSON.parse(JSON.stringify(baseResponse));
|
|
317
|
+
response.value.sitedefinition.url = currentUrl;
|
|
318
|
+
response.value.search.formActionUrl = currentUrl;
|
|
319
|
+
if (Array.isArray(response.value.mainMenu?.menuItems)) {
|
|
320
|
+
response.value.mainMenu.menuItems.forEach((menuItem) => {
|
|
321
|
+
menuItem.href = currentUrl;
|
|
322
|
+
if (Array.isArray(menuItem.children)) {
|
|
323
|
+
menuItem.children.forEach((child) => {
|
|
324
|
+
child.href = currentUrl;
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
return response;
|
|
330
|
+
}
|
|
331
|
+
function createRouteSafeSiteheaderResponse(baseResponse) {
|
|
332
|
+
const currentUrl = window.location.href;
|
|
333
|
+
const rootResponse = baseResponse?.value ? baseResponse.value : baseResponse;
|
|
334
|
+
const response = JSON.parse(JSON.stringify(rootResponse));
|
|
335
|
+
response.sitedefinition.url = currentUrl;
|
|
336
|
+
response.search.formActionUrl = currentUrl;
|
|
337
|
+
if (Array.isArray(response.mainMenu?.menuItems)) {
|
|
338
|
+
response.mainMenu.menuItems.forEach((menuItem) => {
|
|
339
|
+
menuItem.href = currentUrl;
|
|
340
|
+
if (Array.isArray(menuItem.children)) {
|
|
341
|
+
menuItem.children.forEach((child) => {
|
|
342
|
+
child.href = currentUrl;
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
return response;
|
|
348
|
+
}
|
|
349
|
+
const meta = {
|
|
350
|
+
title: 'Marketweb/Header/pn-marketweb-header Salesforce loader',
|
|
351
|
+
parameters: {
|
|
352
|
+
layout: 'fullscreen',
|
|
353
|
+
docs: {
|
|
354
|
+
description: {
|
|
355
|
+
story: 'Executes /umd/pn-marketweb-salesforce-header.js exactly like an external site integration. The script injects header/footer, then loads standalone-loader-salesforce.js and CSS.',
|
|
356
|
+
},
|
|
357
|
+
},
|
|
358
|
+
},
|
|
359
|
+
argTypes: {
|
|
360
|
+
hostLanguage: {
|
|
361
|
+
control: 'select',
|
|
362
|
+
options: ['da', 'en', 'en-US', 'en_US'],
|
|
363
|
+
},
|
|
364
|
+
componentVersion: {
|
|
365
|
+
control: 'text',
|
|
366
|
+
description: 'Injected into ?componentversion so the UMD bootstrap script can resolve CDN loader/CSS.',
|
|
367
|
+
},
|
|
368
|
+
useMockedResponse: {
|
|
369
|
+
control: 'boolean',
|
|
370
|
+
description: 'Intercepts /api/navigation/toggle-header to return Storybook mock data (recommended for toggler testing).',
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
};
|
|
374
|
+
export default meta;
|
|
375
|
+
function cleanupInjectedArtifacts() {
|
|
376
|
+
clearInterval(window['renderpncomponent-interval']);
|
|
377
|
+
window.fetch = ORIGINAL_FETCH;
|
|
378
|
+
const existingReloadHandler = window[RELOAD_CLICK_HANDLER_KEY];
|
|
379
|
+
if (existingReloadHandler) {
|
|
380
|
+
document.removeEventListener('click', existingReloadHandler, true);
|
|
381
|
+
delete window[RELOAD_CLICK_HANDLER_KEY];
|
|
382
|
+
}
|
|
383
|
+
delete document.body.dataset.marketwebComponentsSalesforceInit;
|
|
384
|
+
delete document.body.dataset.marketwebComponentsSalesforceHeaderInit;
|
|
385
|
+
document
|
|
386
|
+
.querySelectorAll('pn-marketweb-header, pn-marketweb-siteheader, pn-marketweb-sitefooter, script[src*="pn-marketweb-salesforce-header.js"], script[src*="pn-marketweb-salesforce.js"], script[src*="standalone-loader-salesforce.js"], link[href*="pn-marketweb-wrongrembase.css"]')
|
|
387
|
+
.forEach((el) => el.remove());
|
|
388
|
+
}
|
|
389
|
+
function installHeaderLinkReloadBehavior() {
|
|
390
|
+
const reloadHandler = (event) => {
|
|
391
|
+
const path = (event.composedPath?.() ?? []);
|
|
392
|
+
const clickedLink = path.find((node) => node instanceof HTMLAnchorElement && node.hasAttribute('href'));
|
|
393
|
+
const headerHost = path.find((node) => node instanceof HTMLElement && node.tagName === 'PN-MARKETWEB-HEADER');
|
|
394
|
+
if (!clickedLink || !headerHost) {
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
event.preventDefault();
|
|
398
|
+
const currentUrl = window.location.href;
|
|
399
|
+
window.location.href = currentUrl;
|
|
400
|
+
};
|
|
401
|
+
window[RELOAD_CLICK_HANDLER_KEY] = reloadHandler;
|
|
402
|
+
document.addEventListener('click', reloadHandler, true);
|
|
403
|
+
}
|
|
404
|
+
function installHeaderFetchMock(mockedResponse) {
|
|
405
|
+
window.fetch = async (input, init) => {
|
|
406
|
+
const requestUrl = typeof input === 'string'
|
|
407
|
+
? input
|
|
408
|
+
: input instanceof URL
|
|
409
|
+
? input.toString()
|
|
410
|
+
: input.url;
|
|
411
|
+
if (requestUrl.includes('/api/navigation/header')) {
|
|
412
|
+
return new Response(JSON.stringify(createRouteSafeSiteheaderResponse(mockedResponse)), {
|
|
413
|
+
status: 200,
|
|
414
|
+
headers: { 'Content-Type': 'application/json' },
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
if (requestUrl.includes('/api/navigation/toggle-header')) {
|
|
418
|
+
return new Response(JSON.stringify(createRouteSafeMockedResponse(mockedResponse)), {
|
|
419
|
+
status: 200,
|
|
420
|
+
headers: { 'Content-Type': 'application/json' },
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
return ORIGINAL_FETCH(input, init);
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
function applyComponentVersion(version) {
|
|
427
|
+
const url = new URL(window.location.href);
|
|
428
|
+
url.searchParams.set('componentversion', version);
|
|
429
|
+
window.history.replaceState({}, '', url.toString());
|
|
430
|
+
}
|
|
431
|
+
function renderExternalBootstrap(args) {
|
|
432
|
+
cleanupInjectedArtifacts();
|
|
433
|
+
installHeaderLinkReloadBehavior();
|
|
434
|
+
if (args.useMockedResponse) {
|
|
435
|
+
installHeaderFetchMock(TOGGLER_MOCKED_RESPONSE);
|
|
436
|
+
}
|
|
437
|
+
document.documentElement.setAttribute('lang', args.hostLanguage);
|
|
438
|
+
applyComponentVersion(args.componentVersion);
|
|
439
|
+
const root = document.createElement('div');
|
|
440
|
+
root.innerHTML =
|
|
441
|
+
'<main style="min-height:50vh;padding:2rem;background:#f8f8f8;"><h1>External host page</h1><p>The header/footer in this preview are injected by the real UMD bootstrap script, not by Storybook render code.</p></main>';
|
|
442
|
+
const script = document.createElement('script');
|
|
443
|
+
script.src = `/umd/pn-marketweb-salesforce-header.js?storyReload=${Date.now()}`;
|
|
444
|
+
document.head.appendChild(script);
|
|
445
|
+
return root;
|
|
446
|
+
}
|
|
447
|
+
export const ExternalSiteScript = {
|
|
448
|
+
name: 'External site script bootstrap toggle menu/mega menu(new header)',
|
|
449
|
+
render: (args) => renderExternalBootstrap(args),
|
|
450
|
+
args: {
|
|
451
|
+
hostLanguage: 'da',
|
|
452
|
+
componentVersion: '4.3.5',
|
|
453
|
+
useMockedResponse: true,
|
|
454
|
+
},
|
|
455
|
+
};
|
|
456
|
+
export const ExternalSiteScriptOld = {
|
|
457
|
+
name: 'External site script bootstrap siteheader (old header)',
|
|
458
|
+
render: (args) => {
|
|
459
|
+
cleanupInjectedArtifacts();
|
|
460
|
+
if (args.useMockedResponse) {
|
|
461
|
+
installHeaderFetchMock(OLD_SITEHEADER_MOCKED_RESPONSE);
|
|
462
|
+
}
|
|
463
|
+
document.documentElement.setAttribute('lang', args.hostLanguage);
|
|
464
|
+
applyComponentVersion(args.componentVersion);
|
|
465
|
+
const root = document.createElement('div');
|
|
466
|
+
root.innerHTML =
|
|
467
|
+
'<main style="min-height:50vh;padding:2rem;background:#f8f8f8;"><h1>External host page</h1><p>This preview injects the old Salesforce bootstrap script (pn-marketweb-salesforce.js).</p></main>';
|
|
468
|
+
const script = document.createElement('script');
|
|
469
|
+
script.src = `/umd/pn-marketweb-salesforce.js?storyReload=${Date.now()}`;
|
|
470
|
+
document.head.appendChild(script);
|
|
471
|
+
return root;
|
|
472
|
+
},
|
|
473
|
+
args: {
|
|
474
|
+
hostLanguage: 'da',
|
|
475
|
+
componentVersion: '4.3.5',
|
|
476
|
+
useMockedResponse: true,
|
|
477
|
+
},
|
|
478
|
+
};
|
|
479
|
+
//# sourceMappingURL=pn-marketweb-header-salesforce-loader.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pn-marketweb-header-salesforce-loader.stories.js","sourceRoot":"","sources":["../../../../src/components/layout-components/pn-marketweb-header/pn-marketweb-header-salesforce-loader.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryObj } from '@storybook/web-components';\n\ninterface SalesforceLoaderStoryArgs {\n hostLanguage: 'da' | 'en' | 'en-US' | 'en_US';\n componentVersion: string;\n useMockedResponse: boolean;\n}\n\nconst ORIGINAL_FETCH = window.fetch.bind(window);\nconst RELOAD_CLICK_HANDLER_KEY = '__mwSalesforceHeaderReloadHandler';\n\nconst TOGGLER_MOCKED_RESPONSE = {\n value: {\n sitedefinition: {\n name: 'PostNord Denmark',\n url: '/',\n },\n search: {\n formActionUrl: 'https://www.postnord.dk/sog/',\n AutocompleteEndpoint: 'https://www.postnord.dk/api/search/autocomplete',\n },\n languageSelectorViewModel: {\n currentLanguageNativeName: 'Dansk',\n languages: [\n { twoLetterISOLanguageName: 'da', nativeName: 'Dansk', isCurrent: true },\n { twoLetterISOLanguageName: 'en', nativeName: 'English', isCurrent: false },\n ],\n },\n siteSelectorViewModel: {\n siteSelectorButtonText: 'postnord.dk',\n siteSelectorTitle: 'PostNord',\n currentSiteTitle: 'postnord.dk',\n currentSiteDescription: 'Kundeservice og værktøjer',\n siteSelections: [],\n },\n loginViewModel: {\n loginMenuLinks: [],\n legacyLoginLinks: [],\n loggedInLinks: [],\n overrideLoginMenu: false,\n loginMenuLinkText: 'Log ind',\n countryCode: 'DK',\n locale: 'da',\n loginUrl: '',\n registerUrl: '',\n loggedInButtonText: 'Min side',\n loginTitle: 'Log ind',\n loginLinkText: 'Log ind',\n createLoginLinkText: 'Opret konto',\n loginInfo: '',\n },\n mainMenu: {\n // all but last are switchable roots; last is shared root\n menuItems: [\n {\n name: 'Privat',\n href: '/',\n id: 'root-private',\n selected: false,\n open: false,\n children: [\n {\n name: 'Send pakke',\n href: '/',\n id: 'private-send-package',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'private-send-package',\n level: 1,\n isMegaMenuParent: false,\n },\n {\n name: 'Track forsendelse',\n href: '/',\n id: 'private-track',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'private-track',\n level: 1,\n isMegaMenuParent: false,\n },\n ],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: true,\n linkTarget: '',\n trackingId: 'private',\n level: 0,\n isMegaMenuParent: true,\n toggleTheme: 'private',\n },\n {\n name: 'Erhverv',\n href: '/',\n id: 'root-business',\n selected: false,\n open: false,\n children: [\n {\n name: 'Book pickup',\n href: '/',\n id: 'business-book-pickup',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'business-book-pickup',\n level: 1,\n isMegaMenuParent: false,\n },\n {\n name: 'Business portal',\n href: '/',\n id: 'business-portal',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'business-portal',\n level: 1,\n isMegaMenuParent: false,\n },\n ],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: true,\n linkTarget: '',\n trackingId: 'business',\n level: 0,\n isMegaMenuParent: true,\n toggleTheme: 'business',\n },\n {\n name: 'Fælles',\n href: '/',\n id: 'root-shared',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'shared',\n level: 0,\n isMegaMenuParent: false,\n },\n ],\n },\n },\n formatters: [],\n contentTypes: [],\n declaredType: null,\n statusCode: 200,\n};\n\nconst OLD_SITEHEADER_MOCKED_RESPONSE = {\n value: {\n sitedefinition: {\n name: 'PostNord Denmark',\n url: '/',\n },\n search: {\n formActionUrl: 'https://www.postnord.dk/sog/',\n AutocompleteEndpoint: 'https://www.postnord.dk/api/search/autocomplete',\n },\n languageSelectorViewModel: {\n currentLanguageNativeName: 'Dansk',\n languages: [\n { twoLetterISOLanguageName: 'da', nativeName: 'Dansk', isCurrent: true },\n { twoLetterISOLanguageName: 'en', nativeName: 'English', isCurrent: false },\n ],\n },\n siteSelectorViewModel: {\n siteSelectorButtonText: 'postnord.dk',\n siteSelectorTitle: 'PostNord',\n currentSiteTitle: 'postnord.dk',\n currentSiteDescription: 'Kundeservice og værktøjer',\n siteSelections: [],\n },\n loginViewModel: {\n loginMenuLinks: [],\n legacyLoginLinks: [],\n loggedInLinks: [],\n overrideLoginMenu: false,\n loginMenuLinkText: 'Log ind',\n countryCode: 'DK',\n locale: 'da',\n loginUrl: '',\n registerUrl: '',\n loggedInButtonText: 'Min side',\n loginTitle: 'Log ind',\n loginLinkText: 'Log ind',\n createLoginLinkText: 'Opret konto',\n loginInfo: '',\n },\n mainMenu: {\n // old siteheader mock data (siteheader endpoint shape)\n menuItems: [\n {\n name: 'Sende',\n href: '/',\n id: '4571',\n selected: false,\n open: false,\n children: [\n {\n name: 'Breve, q-breve og breve til udlandet',\n href: '/',\n id: '144202',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'breveqbreveogbrevetiludlandet144202',\n level: 2,\n isMegaMenuParent: false,\n isDefaultToggleParent: false,\n toggleTheme: 'Private',\n },\n ],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: true,\n linkTarget: '',\n trackingId: 'sende4571',\n level: 1,\n isMegaMenuParent: false,\n isDefaultToggleParent: false,\n toggleTheme: 'Private',\n },\n {\n name: 'Modtage',\n href: '/',\n id: '5501',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'modtage5501',\n level: 1,\n isMegaMenuParent: false,\n isDefaultToggleParent: false,\n toggleTheme: 'Private',\n },\n {\n name: 'Kundeservice',\n href: '/',\n id: '5509',\n selected: false,\n open: false,\n children: [\n {\n name: 'Privat',\n href: '/',\n id: '15088',\n selected: false,\n open: false,\n children: [],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: false,\n linkTarget: '',\n trackingId: 'privat15088',\n level: 2,\n isMegaMenuParent: false,\n isDefaultToggleParent: false,\n toggleTheme: 'Private',\n },\n ],\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: true,\n linkTarget: '',\n trackingId: 'kundeservice5509',\n level: 1,\n isMegaMenuParent: false,\n isDefaultToggleParent: false,\n toggleTheme: 'Private',\n },\n ],\n activeMenuToggleParentIndex: -1,\n },\n },\n formatters: [],\n contentTypes: [],\n declaredType: null,\n statusCode: 200,\n};\n\nfunction createRouteSafeMockedResponse(baseResponse: any) {\n const currentUrl = window.location.href;\n const response = JSON.parse(JSON.stringify(baseResponse));\n\n response.value.sitedefinition.url = currentUrl;\n response.value.search.formActionUrl = currentUrl;\n\n if (Array.isArray(response.value.mainMenu?.menuItems)) {\n response.value.mainMenu.menuItems.forEach((menuItem: any) => {\n menuItem.href = currentUrl;\n if (Array.isArray(menuItem.children)) {\n menuItem.children.forEach((child: any) => {\n child.href = currentUrl;\n });\n }\n });\n }\n\n return response;\n}\n\nfunction createRouteSafeSiteheaderResponse(baseResponse: any) {\n const currentUrl = window.location.href;\n const rootResponse = baseResponse?.value ? baseResponse.value : baseResponse;\n const response = JSON.parse(JSON.stringify(rootResponse));\n\n response.sitedefinition.url = currentUrl;\n response.search.formActionUrl = currentUrl;\n\n if (Array.isArray(response.mainMenu?.menuItems)) {\n response.mainMenu.menuItems.forEach((menuItem: any) => {\n menuItem.href = currentUrl;\n if (Array.isArray(menuItem.children)) {\n menuItem.children.forEach((child: any) => {\n child.href = currentUrl;\n });\n }\n });\n }\n\n return response;\n}\n\nconst meta: Meta<SalesforceLoaderStoryArgs> = {\n title: 'Marketweb/Header/pn-marketweb-header Salesforce loader',\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n story:\n 'Executes /umd/pn-marketweb-salesforce-header.js exactly like an external site integration. The script injects header/footer, then loads standalone-loader-salesforce.js and CSS.',\n },\n },\n },\n argTypes: {\n hostLanguage: {\n control: 'select',\n options: ['da', 'en', 'en-US', 'en_US'],\n },\n componentVersion: {\n control: 'text',\n description: 'Injected into ?componentversion so the UMD bootstrap script can resolve CDN loader/CSS.',\n },\n useMockedResponse: {\n control: 'boolean',\n description: 'Intercepts /api/navigation/toggle-header to return Storybook mock data (recommended for toggler testing).',\n },\n },\n};\n\nexport default meta;\n\ntype Story = StoryObj<SalesforceLoaderStoryArgs>;\n\nfunction cleanupInjectedArtifacts() {\n clearInterval((window as any)['renderpncomponent-interval']);\n window.fetch = ORIGINAL_FETCH;\n\n const existingReloadHandler = (window as any)[RELOAD_CLICK_HANDLER_KEY];\n if (existingReloadHandler) {\n document.removeEventListener('click', existingReloadHandler, true);\n delete (window as any)[RELOAD_CLICK_HANDLER_KEY];\n }\n\n delete (document.body.dataset as any).marketwebComponentsSalesforceInit;\n delete (document.body.dataset as any).marketwebComponentsSalesforceHeaderInit;\n\n document\n .querySelectorAll(\n 'pn-marketweb-header, pn-marketweb-siteheader, pn-marketweb-sitefooter, script[src*=\"pn-marketweb-salesforce-header.js\"], script[src*=\"pn-marketweb-salesforce.js\"], script[src*=\"standalone-loader-salesforce.js\"], link[href*=\"pn-marketweb-wrongrembase.css\"]'\n )\n .forEach((el) => el.remove());\n}\n\nfunction installHeaderLinkReloadBehavior() {\n const reloadHandler = (event: Event) => {\n const path = (event.composedPath?.() ?? []) as Array<EventTarget>;\n const clickedLink = path.find(\n (node): node is HTMLAnchorElement => node instanceof HTMLAnchorElement && node.hasAttribute('href')\n );\n const headerHost = path.find((node) => node instanceof HTMLElement && node.tagName === 'PN-MARKETWEB-HEADER');\n\n if (!clickedLink || !headerHost) {\n return;\n }\n\n event.preventDefault();\n const currentUrl = window.location.href;\n window.location.href = currentUrl;\n };\n\n (window as any)[RELOAD_CLICK_HANDLER_KEY] = reloadHandler;\n document.addEventListener('click', reloadHandler, true);\n}\n\nfunction installHeaderFetchMock(mockedResponse: any) {\n window.fetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n const requestUrl =\n typeof input === 'string'\n ? input\n : input instanceof URL\n ? input.toString()\n : input.url;\n\n if (requestUrl.includes('/api/navigation/header')) {\n return new Response(JSON.stringify(createRouteSafeSiteheaderResponse(mockedResponse)), {\n status: 200,\n headers: { 'Content-Type': 'application/json' },\n });\n }\n\n if (requestUrl.includes('/api/navigation/toggle-header')) {\n return new Response(JSON.stringify(createRouteSafeMockedResponse(mockedResponse)), {\n status: 200,\n headers: { 'Content-Type': 'application/json' },\n });\n }\n\n return ORIGINAL_FETCH(input as any, init);\n };\n}\n\nfunction applyComponentVersion(version: string) {\n const url = new URL(window.location.href);\n url.searchParams.set('componentversion', version);\n window.history.replaceState({}, '', url.toString());\n}\n\nfunction renderExternalBootstrap(args: SalesforceLoaderStoryArgs): HTMLElement {\n cleanupInjectedArtifacts();\n installHeaderLinkReloadBehavior();\n\n if (args.useMockedResponse) {\n installHeaderFetchMock(TOGGLER_MOCKED_RESPONSE);\n }\n\n document.documentElement.setAttribute('lang', args.hostLanguage);\n applyComponentVersion(args.componentVersion);\n\n const root = document.createElement('div');\n root.innerHTML =\n '<main style=\"min-height:50vh;padding:2rem;background:#f8f8f8;\"><h1>External host page</h1><p>The header/footer in this preview are injected by the real UMD bootstrap script, not by Storybook render code.</p></main>';\n\n const script = document.createElement('script');\n script.src = `/umd/pn-marketweb-salesforce-header.js?storyReload=${Date.now()}`;\n document.head.appendChild(script);\n\n return root;\n}\n\nexport const ExternalSiteScript: Story = {\n name: 'External site script bootstrap toggle menu/mega menu(new header)',\n render: (args) => renderExternalBootstrap(args),\n args: {\n hostLanguage: 'da',\n componentVersion: '4.3.5',\n useMockedResponse: true,\n },\n};\n\nexport const ExternalSiteScriptOld: Story = {\n name: 'External site script bootstrap siteheader (old header)',\n render: (args) => {\n cleanupInjectedArtifacts();\n\n if (args.useMockedResponse) {\n installHeaderFetchMock(OLD_SITEHEADER_MOCKED_RESPONSE);\n }\n\n document.documentElement.setAttribute('lang', args.hostLanguage);\n applyComponentVersion(args.componentVersion);\n\n const root = document.createElement('div');\n root.innerHTML =\n '<main style=\"min-height:50vh;padding:2rem;background:#f8f8f8;\"><h1>External host page</h1><p>This preview injects the old Salesforce bootstrap script (pn-marketweb-salesforce.js).</p></main>';\n\n const script = document.createElement('script');\n script.src = `/umd/pn-marketweb-salesforce.js?storyReload=${Date.now()}`;\n document.head.appendChild(script);\n\n return root;\n },\n args: {\n hostLanguage: 'da',\n componentVersion: '4.3.5',\n useMockedResponse: true,\n },\n};\n"]}
|
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
+
interface SalesforceLoaderStoryArgs {
|
|
3
|
+
hostLanguage: 'da' | 'en' | 'en-US' | 'en_US';
|
|
4
|
+
componentVersion: string;
|
|
5
|
+
useMockedResponse: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const meta: Meta<SalesforceLoaderStoryArgs>;
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj<SalesforceLoaderStoryArgs>;
|
|
10
|
+
export declare const ExternalSiteScript: Story;
|
|
11
|
+
export declare const ExternalSiteScriptOld: Story;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
if (document.body.dataset["marketwebComponentsSalesforceHeaderInit"]) {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
document.body.dataset["marketwebComponentsSalesforceHeaderInit"] = true;
|
|
6
|
+
|
|
7
|
+
const header = document.createElement("pn-marketweb-header");
|
|
8
|
+
const footer = document.createElement("pn-marketweb-sitefooter");
|
|
9
|
+
let currentLanguage = document.querySelector("html").getAttribute("lang");
|
|
10
|
+
if (currentLanguage === "en-US" || currentLanguage === "en_US") {
|
|
11
|
+
currentLanguage = "en";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
[header, footer].forEach((comp) => {
|
|
15
|
+
comp.setAttribute("market", "dk");
|
|
16
|
+
comp.setAttribute("language", currentLanguage);
|
|
17
|
+
comp.setAttribute("site-domain-in-urls", "true");
|
|
18
|
+
comp.setAttribute("hide-site-selector", "true");
|
|
19
|
+
comp.setAttribute("spa-mode", "true");
|
|
20
|
+
const environment =
|
|
21
|
+
window.location.href.indexOf("kundeservice.postnord.dk") !== -1 ? "production" : "preproduction";
|
|
22
|
+
comp.setAttribute("environment", environment);
|
|
23
|
+
});
|
|
24
|
+
document.body.insertBefore(header, document.body.firstElementChild);
|
|
25
|
+
document.body.appendChild(footer);
|
|
26
|
+
|
|
27
|
+
const currentMinorVersion = "#packageversion#";
|
|
28
|
+
const requestedComponentVersion = new URLSearchParams(window.location.search).get("componentversion");
|
|
29
|
+
const versionToLoad = requestedComponentVersion ? requestedComponentVersion : currentMinorVersion;
|
|
30
|
+
|
|
31
|
+
const s = document.createElement("script");
|
|
32
|
+
s.setAttribute("type", "module");
|
|
33
|
+
s.setAttribute(
|
|
34
|
+
"src",
|
|
35
|
+
`https://cdn.jsdelivr.net/npm/@postnord/pn-marketweb-components@${versionToLoad}/umd/standalone-loader-salesforce.js`
|
|
36
|
+
);
|
|
37
|
+
document.querySelector("head").appendChild(s);
|
|
38
|
+
|
|
39
|
+
const style = document.createElement("link");
|
|
40
|
+
style.setAttribute("rel", "stylesheet");
|
|
41
|
+
style.setAttribute(
|
|
42
|
+
"href",
|
|
43
|
+
`https://cdn.jsdelivr.net/npm/@postnord/pn-marketweb-components@${versionToLoad}/umd/pn-marketweb-wrongrembase.css`
|
|
44
|
+
);
|
|
45
|
+
document.querySelector("head").appendChild(style);
|
|
46
|
+
|
|
47
|
+
window["bindLanguageSelector"] = function () {
|
|
48
|
+
if (window["haslangchange"]) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
window.addEventListener("marketweb-languagechange", (e) => {
|
|
52
|
+
let lang = e.detail;
|
|
53
|
+
if (lang === "en") {
|
|
54
|
+
lang = "en_US";
|
|
55
|
+
}
|
|
56
|
+
const queryParams = new URLSearchParams(window.location.search);
|
|
57
|
+
const currentLanguageValue = queryParams.get("language");
|
|
58
|
+
|
|
59
|
+
if (lang.indexOf("en") !== -1) {
|
|
60
|
+
const rootUrl = window.location.href.indexOf("kundeservice-test.postnord.dk" !== -1)
|
|
61
|
+
? "https://www.postnord.dk"
|
|
62
|
+
: "https://dk-prep.postnord.com";
|
|
63
|
+
window.location.href = `${rootUrl}/en/help-and-support/private`;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
window.location.href = newUrl;
|
|
67
|
+
});
|
|
68
|
+
window["haslangchange"] = true;
|
|
69
|
+
};
|
|
70
|
+
document.addEventListener("DOMContentLoaded", () => {
|
|
71
|
+
window["bindLanguageSelector"]();
|
|
72
|
+
});
|
|
73
|
+
window.setTimeout(() => {
|
|
74
|
+
window["bindLanguageSelector"]();
|
|
75
|
+
}, 200);
|
|
76
|
+
window["renderpncomponent-interval"] = window.setInterval(renderPNComponents, 150);
|
|
77
|
+
renderPNComponents();
|
|
78
|
+
})();
|
|
79
|
+
|
|
80
|
+
function renderPNComponents() {
|
|
81
|
+
const componentsDivs = [...document.querySelectorAll("[data-component]:not([data-component-rendered])")];
|
|
82
|
+
componentsDivs.forEach((componentDiv) => {
|
|
83
|
+
const component = document.createElement(componentDiv.getAttribute("data-component"));
|
|
84
|
+
[...componentDiv.attributes].map((dataAttribute) => {
|
|
85
|
+
if (dataAttribute.name.indexOf("data-component-") === -1) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
component.setAttribute(dataAttribute.name.replace("data-component-", ""), dataAttribute.value);
|
|
89
|
+
});
|
|
90
|
+
component.innerHTML = componentDiv.innerHTML;
|
|
91
|
+
componentDiv.innerHTML = "";
|
|
92
|
+
componentDiv.appendChild(component);
|
|
93
|
+
componentDiv.setAttribute("data-component-rendered", "");
|
|
94
|
+
});
|
|
95
|
+
}
|