@postnord/pn-marketweb-components 1.0.21 → 1.0.23
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/cjs/loader.cjs.js +1 -1
- package/cjs/pn-language-selector_9.cjs.entry.js +21 -9
- package/cjs/pn-market-web-components.cjs.js +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +29 -8
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +44 -5
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-loginmanager.js +9 -5
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +77 -8
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +18 -3
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js +19 -2
- package/custom-elements/index.js +53 -20
- package/esm/loader.js +1 -1
- package/esm/pn-language-selector_9.entry.js +22 -10
- package/esm/pn-market-web-components.js +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +29 -8
- package/esm-es5/loader.js +1 -1
- package/esm-es5/pn-language-selector_9.entry.js +1 -1
- package/esm-es5/pn-market-web-components.js +1 -1
- package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/p-25bdf3f8.system.js +1 -1
- package/pn-market-web-components/p-8680c074.entry.js +1 -0
- package/pn-market-web-components/p-88ab0d91.system.entry.js +1 -0
- package/pn-market-web-components/p-d7441208.entry.js +1 -0
- package/pn-market-web-components/p-dd22803d.system.entry.js +1 -0
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +3 -0
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-loginmanager.d.ts +7 -2
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.d.ts +8 -1
- package/types/components/navigation/pn-language-selector/pn-language-selector.d.ts +2 -0
- package/types/components.d.ts +20 -0
- package/pn-market-web-components/p-2da203c9.system.entry.js +0 -1
- package/pn-market-web-components/p-363a27ff.entry.js +0 -1
- package/pn-market-web-components/p-582dbd9c.entry.js +0 -1
- package/pn-market-web-components/p-ecfabe25.system.entry.js +0 -1
package/custom-elements/index.js
CHANGED
|
@@ -2403,6 +2403,7 @@ let PnlanguageSelector = class extends HTMLElement {
|
|
|
2403
2403
|
constructor() {
|
|
2404
2404
|
super();
|
|
2405
2405
|
this.__registerHost();
|
|
2406
|
+
this.setLanguage = createEvent(this, "setLanguage", 7);
|
|
2406
2407
|
/* Current language code */
|
|
2407
2408
|
this.value = "";
|
|
2408
2409
|
this.selectedLanguageName = "";
|
|
@@ -2442,6 +2443,7 @@ let PnlanguageSelector = class extends HTMLElement {
|
|
|
2442
2443
|
onSetCurrentLanguage(option) {
|
|
2443
2444
|
this.value = option.code;
|
|
2444
2445
|
this.selectedLanguageName = option.name;
|
|
2446
|
+
this.setLanguage.emit(this.value);
|
|
2445
2447
|
}
|
|
2446
2448
|
setTranslations() {
|
|
2447
2449
|
if (translations$5[this.value]) {
|
|
@@ -3162,6 +3164,10 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3162
3164
|
this.hideSearch = false;
|
|
3163
3165
|
/** Hides the login if set to true*/
|
|
3164
3166
|
this.hideLogin = false;
|
|
3167
|
+
/** Forward session to backend */
|
|
3168
|
+
this.sessionForward = false;
|
|
3169
|
+
/** Event based only language switch */
|
|
3170
|
+
this.spaMode = false;
|
|
3165
3171
|
this.gotData = false;
|
|
3166
3172
|
this.fetchingData = false;
|
|
3167
3173
|
// Menu state
|
|
@@ -3202,11 +3208,6 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3202
3208
|
this.endpoint = "";
|
|
3203
3209
|
}
|
|
3204
3210
|
}
|
|
3205
|
-
// TODO
|
|
3206
|
-
//* Expose market and language attributes when changed internally
|
|
3207
|
-
//* Business logic to select market and language depending on domains / html tag.
|
|
3208
|
-
//* Property to stop language change from changeing url, throw an event instead.
|
|
3209
|
-
//* Fetch new data when langauge or market is changed
|
|
3210
3211
|
async init() {
|
|
3211
3212
|
this.setTranslations();
|
|
3212
3213
|
await this.fetchData();
|
|
@@ -3217,6 +3218,9 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3217
3218
|
this.i18n = translations$2[this.language];
|
|
3218
3219
|
}
|
|
3219
3220
|
}
|
|
3221
|
+
onLanguageSelectorChange(e) {
|
|
3222
|
+
this.language = e.detail;
|
|
3223
|
+
}
|
|
3220
3224
|
onLanguageChange() {
|
|
3221
3225
|
this.setTranslations();
|
|
3222
3226
|
this.changeLanguage.emit(this.language);
|
|
@@ -3236,9 +3240,12 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3236
3240
|
const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
|
|
3237
3241
|
const response = await fetch(fetchUrl);
|
|
3238
3242
|
const data = await response.json();
|
|
3239
|
-
this.setStateFromData(data);
|
|
3243
|
+
await this.setStateFromData(data);
|
|
3240
3244
|
}
|
|
3241
3245
|
getLanguageVersionUrl(item) {
|
|
3246
|
+
if (this.spaMode) {
|
|
3247
|
+
return null;
|
|
3248
|
+
}
|
|
3242
3249
|
const alternativeTag = document.querySelector(`link[rel="alternate"][hreflang="${item.twoLetterISOLanguageName}"]`);
|
|
3243
3250
|
if (alternativeTag) {
|
|
3244
3251
|
return alternativeTag.getAttribute('href');
|
|
@@ -3247,7 +3254,7 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3247
3254
|
// Add trailing slash to domain if it's missing
|
|
3248
3255
|
return siteUrl + ((siteUrl.lastIndexOf("/") !== siteUrl.length - 1) ? "/" : "") + item.twoLetterISOLanguageName;
|
|
3249
3256
|
}
|
|
3250
|
-
setStateFromData(data) {
|
|
3257
|
+
async setStateFromData(data) {
|
|
3251
3258
|
if (typeof data !== "object") {
|
|
3252
3259
|
console.warn('Data was not valid', data);
|
|
3253
3260
|
}
|
|
@@ -3271,10 +3278,26 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3271
3278
|
// Set language selector
|
|
3272
3279
|
this.languageSelector = data.languageSelectorViewModel;
|
|
3273
3280
|
this.loginDialog = data.loginViewModel;
|
|
3281
|
+
await this.spaModeAdjustments();
|
|
3274
3282
|
this.gotData = true;
|
|
3275
3283
|
this.fetchingData = true;
|
|
3276
3284
|
window.setTimeout(() => { this.checkMenuOverflow(); }, 100);
|
|
3277
3285
|
}
|
|
3286
|
+
async spaModeAdjustments() {
|
|
3287
|
+
if (!this.spaMode) {
|
|
3288
|
+
return;
|
|
3289
|
+
}
|
|
3290
|
+
return;
|
|
3291
|
+
}
|
|
3292
|
+
onLoginStateChange(e) {
|
|
3293
|
+
var _a, _b;
|
|
3294
|
+
if (((_a = e.detail) === null || _a === void 0 ? void 0 : _a.loggedIn) && ((_b = e.detail) === null || _b === void 0 ? void 0 : _b.token) && this.sessionForward) {
|
|
3295
|
+
try {
|
|
3296
|
+
fetch('/api/userprofile/sync?token=' + e.detail.token);
|
|
3297
|
+
}
|
|
3298
|
+
catch (e) { }
|
|
3299
|
+
}
|
|
3300
|
+
}
|
|
3278
3301
|
promotedItemId(item) {
|
|
3279
3302
|
return "promo-" + item.linkText.replace(/[^A-Za-z0-9.\\\/]/igm, "");
|
|
3280
3303
|
}
|
|
@@ -3319,7 +3342,7 @@ let PnMarketwebSiteheader$1 = class extends HTMLElement {
|
|
|
3319
3342
|
return (h("pn-mainnav-link", { name: childitem.name, href: childitem.href, target: (_a = childitem.linkTarget) !== null && _a !== void 0 ? _a : "_self", linkid: childitem.trackingId }));
|
|
3320
3343
|
})), (item.promotedMenuItems && item.promotedMenuItems.length > 0) &&
|
|
3321
3344
|
h("pn-mainnav-list", { heading: item.promotedMenuItemsHeader }, item.promotedMenuItems.map((childitem) => (h("pn-mainnav-link", { href: childitem.href, name: childitem.linkText, target: childitem.openInNewWindow ? "_blank" : "_self", linkid: this.promotedItemId(childitem) })))))));
|
|
3322
|
-
})), h("div", { slot: "footer", class: "siteheader-menu-footer" }, (this.gotData && this.loginDialog && !this.hideLogin) && (h("pn-marketweb-siteheader-login", { loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_h = this.languageSelector) === null || _h === void 0 ? void 0 : _h.languages)) && !this.hideLanguageSelector &&
|
|
3345
|
+
})), h("div", { slot: "footer", class: "siteheader-menu-footer" }, (this.gotData && this.loginDialog && !this.hideLogin) && (h("pn-marketweb-siteheader-login", { emitEvents: false, loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_h = this.languageSelector) === null || _h === void 0 ? void 0 : _h.languages)) && !this.hideLanguageSelector &&
|
|
3323
3346
|
h("pn-language-selector", { value: this.language }, this.languageSelector.languages.map(language => h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))), !this.hideSiteSelector &&
|
|
3324
3347
|
h("pn-site-selector", { language: this.language }, (this.gotData && ((_j = this.siteSelector) === null || _j === void 0 ? void 0 : _j.currentSiteTitle)) &&
|
|
3325
3348
|
h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription }), (this.gotData && ((_k = this.siteSelector) === null || _k === void 0 ? void 0 : _k.siteSelections)) && this.siteSelector.siteSelections.map((site) => h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))), h("div", { slot: "top", class: "siteheader-menu-top" }, h("pn-marketweb-siteheader-search", { search: this.search, "hide-search": this.hideSearch, i18n: this.i18n }))))), h("pn-marketweb-siteheader-search", { search: this.search, "hide-search": this.hideSearch, "show-only-link": this.minimizeSearch, i18n: this.i18n })))));
|
|
@@ -3443,10 +3466,11 @@ class PNLoginManager {
|
|
|
3443
3466
|
const params = new URLSearchParams(window.location.search);
|
|
3444
3467
|
if (params.get("oneTimeCode")) {
|
|
3445
3468
|
const oneTimeCode = params.get("oneTimeCode");
|
|
3446
|
-
this.
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3469
|
+
this.exchangeToken(oneTimeCode).then(() => {
|
|
3470
|
+
const currentHref = window.location.href;
|
|
3471
|
+
const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
|
|
3472
|
+
history.replaceState({}, document.querySelector('title').innerText, currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, ''));
|
|
3473
|
+
});
|
|
3450
3474
|
}
|
|
3451
3475
|
}
|
|
3452
3476
|
async fetchUserInfo() {
|
|
@@ -3482,7 +3506,10 @@ class PNLoginManager {
|
|
|
3482
3506
|
this.store.remove(this.keys.expire);
|
|
3483
3507
|
this.store.remove(this.keys.expireDate);
|
|
3484
3508
|
}
|
|
3485
|
-
|
|
3509
|
+
getToken() {
|
|
3510
|
+
return this.store.get(this.keys.token);
|
|
3511
|
+
}
|
|
3512
|
+
async exchangeToken(oneTimeCode) {
|
|
3486
3513
|
this.clearUserData();
|
|
3487
3514
|
const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
|
|
3488
3515
|
const { token } = await response.json();
|
|
@@ -3523,8 +3550,10 @@ let PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
|
|
|
3523
3550
|
constructor() {
|
|
3524
3551
|
super();
|
|
3525
3552
|
this.__registerHost();
|
|
3553
|
+
this.loginStateChange = createEvent(this, "loginStateChange", 7);
|
|
3526
3554
|
/** Specifies which endpoint domain we should load from */
|
|
3527
3555
|
this.endpoint = "";
|
|
3556
|
+
this.emitEvents = true;
|
|
3528
3557
|
// Login dialog
|
|
3529
3558
|
this.loginDialog = null;
|
|
3530
3559
|
this.loginManager = null;
|
|
@@ -3533,11 +3562,12 @@ let PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
|
|
|
3533
3562
|
}
|
|
3534
3563
|
componentWillLoad() {
|
|
3535
3564
|
this.loginManager = new PNLoginManager({ endpoint: this.endpoint, eventTarget: this.hostElement });
|
|
3565
|
+
this.hostElement["loginmanager"] = this.loginManager;
|
|
3566
|
+
this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
|
|
3536
3567
|
this.init();
|
|
3537
3568
|
}
|
|
3538
3569
|
async init() {
|
|
3539
3570
|
this.toggleButtonText = this.loginDialog.loginMenuLinkText;
|
|
3540
|
-
this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
|
|
3541
3571
|
this.loginManager.init();
|
|
3542
3572
|
this.setToggleButtonText();
|
|
3543
3573
|
}
|
|
@@ -3556,8 +3586,11 @@ let PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
|
|
|
3556
3586
|
}
|
|
3557
3587
|
}
|
|
3558
3588
|
onLoginStateChange(e) {
|
|
3559
|
-
this.loggedIn
|
|
3560
|
-
|
|
3589
|
+
if (this.loggedIn !== e.detail && this.emitEvents) {
|
|
3590
|
+
this.loggedIn = e.detail;
|
|
3591
|
+
this.loginStateChange.emit({ loggedIn: this.loggedIn, token: this.loginManager.getToken() });
|
|
3592
|
+
this.setToggleButtonText();
|
|
3593
|
+
}
|
|
3561
3594
|
}
|
|
3562
3595
|
render() {
|
|
3563
3596
|
var _a, _b, _c;
|
|
@@ -3575,7 +3608,7 @@ let PnMarketwebSiteheaderLogin$1 = class extends HTMLElement {
|
|
|
3575
3608
|
:
|
|
3576
3609
|
h("div", null, h("ul", null, this.loginDialog.loggedInLinks.map((link) => {
|
|
3577
3610
|
const isLogoutLink = link.href.indexOf('logout');
|
|
3578
|
-
const href = (isLogoutLink) ? this.loginManager.getLogoutUrl(link.href.replace('logout', '')) : link.href;
|
|
3611
|
+
const href = (isLogoutLink) ? this.loginManager.getLogoutUrl(link.href.replace('logout', '').replace('http://window.location.href/?', '').replace('https://window.location.href/?', '')) : link.href;
|
|
3579
3612
|
return (h("li", null, h("a", Object.assign({ href: href }, (link.openInNewWindow && { target: '_blank' })), h("pn-button", { appearance: (link.primaryLinkApperance ? "dark" : "light"), onClick: () => {
|
|
3580
3613
|
if (isLogoutLink) {
|
|
3581
3614
|
this.loginManager.clearUserData();
|
|
@@ -4227,15 +4260,15 @@ const PnFilterCheckbox = /*@__PURE__*/proxyCustomElement(PnFilterCheckbox$1, [1,
|
|
|
4227
4260
|
const PnFilterSearch = /*@__PURE__*/proxyCustomElement(PnFilterSearch$1, [1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]);
|
|
4228
4261
|
const PnFindServiceAndPrice = /*@__PURE__*/proxyCustomElement(PnfindServiceAndPrice, [0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]);
|
|
4229
4262
|
const PnFindServiceAndPriceResult = /*@__PURE__*/proxyCustomElement(PnfindServiceAndPriceResult, [0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]);
|
|
4230
|
-
const PnLanguageSelector = /*@__PURE__*/proxyCustomElement(PnlanguageSelector, [4,"pn-language-selector",{"value":[
|
|
4263
|
+
const PnLanguageSelector = /*@__PURE__*/proxyCustomElement(PnlanguageSelector, [4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}]);
|
|
4231
4264
|
const PnLanguageSelectorOption = /*@__PURE__*/proxyCustomElement(PnlanguageSelectorOption, [0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}]);
|
|
4232
4265
|
const PnMainnav = /*@__PURE__*/proxyCustomElement(PnMainnav$1, [4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]]);
|
|
4233
4266
|
const PnMainnavLevel = /*@__PURE__*/proxyCustomElement(PnMainnavLevel$1, [4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}]);
|
|
4234
4267
|
const PnMainnavLink = /*@__PURE__*/proxyCustomElement(PnMainnavLink$1, [4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]);
|
|
4235
4268
|
const PnMainnavList = /*@__PURE__*/proxyCustomElement(PnMainnavList$1, [4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}]);
|
|
4236
4269
|
const PnMarketwebSitefooter = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheader$2, [0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]);
|
|
4237
|
-
const PnMarketwebSiteheader = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheader$1, [4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[9,"resize","handleResize"]]]);
|
|
4238
|
-
const PnMarketwebSiteheaderLogin = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLogin$1, [0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}]);
|
|
4270
|
+
const PnMarketwebSiteheader = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheader$1, [4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]);
|
|
4271
|
+
const PnMarketwebSiteheaderLogin = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderLogin$1, [0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}]);
|
|
4239
4272
|
const PnMarketwebSiteheaderSearch = /*@__PURE__*/proxyCustomElement(PnMarketwebSiteheaderSearch$1, [0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}]);
|
|
4240
4273
|
const PnProductPricelist = /*@__PURE__*/proxyCustomElement(PnFindProductPricelist, [4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]);
|
|
4241
4274
|
const PnProductPricelistResult = /*@__PURE__*/proxyCustomElement(PnFindProductPricelistResult, [0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]);
|
package/esm/loader.js
CHANGED
|
@@ -10,7 +10,7 @@ const patchEsm = () => {
|
|
|
10
10
|
const defineCustomElements = (win, options) => {
|
|
11
11
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
12
12
|
return patchEsm().then(() => {
|
|
13
|
-
return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[
|
|
13
|
+
return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
|
|
14
14
|
});
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, a as Host, g as getElement
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-1537f439.js';
|
|
2
2
|
import { s as state, o as onChange } from './pn-mainnav-store-8e518460.js';
|
|
3
3
|
import './index-e34aec9d.js';
|
|
4
4
|
|
|
@@ -25,6 +25,7 @@ const pnLanguageSelectorCss = ".languageselector{position:relative}.languagesele
|
|
|
25
25
|
let PnlanguageSelector = class {
|
|
26
26
|
constructor(hostRef) {
|
|
27
27
|
registerInstance(this, hostRef);
|
|
28
|
+
this.setLanguage = createEvent(this, "setLanguage", 7);
|
|
28
29
|
/* Current language code */
|
|
29
30
|
this.value = "";
|
|
30
31
|
this.selectedLanguageName = "";
|
|
@@ -64,6 +65,7 @@ let PnlanguageSelector = class {
|
|
|
64
65
|
onSetCurrentLanguage(option) {
|
|
65
66
|
this.value = option.code;
|
|
66
67
|
this.selectedLanguageName = option.name;
|
|
68
|
+
this.setLanguage.emit(this.value);
|
|
67
69
|
}
|
|
68
70
|
setTranslations() {
|
|
69
71
|
if (translations$1[this.value]) {
|
|
@@ -422,10 +424,11 @@ class PNLoginManager {
|
|
|
422
424
|
const params = new URLSearchParams(window.location.search);
|
|
423
425
|
if (params.get("oneTimeCode")) {
|
|
424
426
|
const oneTimeCode = params.get("oneTimeCode");
|
|
425
|
-
this.
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
427
|
+
this.exchangeToken(oneTimeCode).then(() => {
|
|
428
|
+
const currentHref = window.location.href;
|
|
429
|
+
const paramPrefix = (currentHref.indexOf('?oneTimeCode') !== -1) ? "?" : "&";
|
|
430
|
+
history.replaceState({}, document.querySelector('title').innerText, currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, ''));
|
|
431
|
+
});
|
|
429
432
|
}
|
|
430
433
|
}
|
|
431
434
|
async fetchUserInfo() {
|
|
@@ -461,7 +464,10 @@ class PNLoginManager {
|
|
|
461
464
|
this.store.remove(this.keys.expire);
|
|
462
465
|
this.store.remove(this.keys.expireDate);
|
|
463
466
|
}
|
|
464
|
-
|
|
467
|
+
getToken() {
|
|
468
|
+
return this.store.get(this.keys.token);
|
|
469
|
+
}
|
|
470
|
+
async exchangeToken(oneTimeCode) {
|
|
465
471
|
this.clearUserData();
|
|
466
472
|
const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
|
|
467
473
|
const { token } = await response.json();
|
|
@@ -501,8 +507,10 @@ const pnMarketwebSiteheaderLoginCss = "pn-marketweb-siteheader-login{padding:1re
|
|
|
501
507
|
let PnMarketwebSiteheaderLogin = class {
|
|
502
508
|
constructor(hostRef) {
|
|
503
509
|
registerInstance(this, hostRef);
|
|
510
|
+
this.loginStateChange = createEvent(this, "loginStateChange", 7);
|
|
504
511
|
/** Specifies which endpoint domain we should load from */
|
|
505
512
|
this.endpoint = "";
|
|
513
|
+
this.emitEvents = true;
|
|
506
514
|
// Login dialog
|
|
507
515
|
this.loginDialog = null;
|
|
508
516
|
this.loginManager = null;
|
|
@@ -511,11 +519,12 @@ let PnMarketwebSiteheaderLogin = class {
|
|
|
511
519
|
}
|
|
512
520
|
componentWillLoad() {
|
|
513
521
|
this.loginManager = new PNLoginManager({ endpoint: this.endpoint, eventTarget: this.hostElement });
|
|
522
|
+
this.hostElement["loginmanager"] = this.loginManager;
|
|
523
|
+
this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
|
|
514
524
|
this.init();
|
|
515
525
|
}
|
|
516
526
|
async init() {
|
|
517
527
|
this.toggleButtonText = this.loginDialog.loginMenuLinkText;
|
|
518
|
-
this.hostElement.addEventListener(this.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
|
|
519
528
|
this.loginManager.init();
|
|
520
529
|
this.setToggleButtonText();
|
|
521
530
|
}
|
|
@@ -534,8 +543,11 @@ let PnMarketwebSiteheaderLogin = class {
|
|
|
534
543
|
}
|
|
535
544
|
}
|
|
536
545
|
onLoginStateChange(e) {
|
|
537
|
-
this.loggedIn
|
|
538
|
-
|
|
546
|
+
if (this.loggedIn !== e.detail && this.emitEvents) {
|
|
547
|
+
this.loggedIn = e.detail;
|
|
548
|
+
this.loginStateChange.emit({ loggedIn: this.loggedIn, token: this.loginManager.getToken() });
|
|
549
|
+
this.setToggleButtonText();
|
|
550
|
+
}
|
|
539
551
|
}
|
|
540
552
|
render() {
|
|
541
553
|
var _a, _b, _c;
|
|
@@ -553,7 +565,7 @@ let PnMarketwebSiteheaderLogin = class {
|
|
|
553
565
|
:
|
|
554
566
|
h("div", null, h("ul", null, this.loginDialog.loggedInLinks.map((link) => {
|
|
555
567
|
const isLogoutLink = link.href.indexOf('logout');
|
|
556
|
-
const href = (isLogoutLink) ? this.loginManager.getLogoutUrl(link.href.replace('logout', '')) : link.href;
|
|
568
|
+
const href = (isLogoutLink) ? this.loginManager.getLogoutUrl(link.href.replace('logout', '').replace('http://window.location.href/?', '').replace('https://window.location.href/?', '')) : link.href;
|
|
557
569
|
return (h("li", null, h("a", Object.assign({ href: href }, (link.openInNewWindow && { target: '_blank' })), h("pn-button", { appearance: (link.primaryLinkApperance ? "dark" : "light"), onClick: () => {
|
|
558
570
|
if (isLogoutLink) {
|
|
559
571
|
this.loginManager.clearUserData();
|
|
@@ -53,5 +53,5 @@ const patchCloneNodeFix = (HTMLElementPrototype) => {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
patchBrowser().then(options => {
|
|
56
|
-
return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[
|
|
56
|
+
return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"hideSiteSelector":[1540,"hide-site-selector"],"hideLanguageSelector":[1540,"hide-language-selector"],"hideSearch":[1540,"hide-search"],"hideLogin":[1540,"hide-login"],"sessionForward":[4,"session-forward"],"spaMode":[4,"spa-mode"],"i18n":[32],"gotData":[32],"fetchingData":[32],"menuItems":[32],"siteDefinition":[32],"search":[32],"siteSelector":[32],"languageSelector":[32],"loginDialog":[32],"minimizeSearch":[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{"source":[1],"language":[1025],"market":[1025],"filteredItems":[32],"postagetype":[32],"weight":[32],"weightvalue":[32],"deliveryscope":[32],"sourceData":[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{"source":[1],"language":[1025],"market":[1025],"productid":[1],"filteredItems":[32],"sourceData":[32],"gotData":[32],"loading":[32],"postagetype":[32],"weight":[32],"weightvalue":[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{"market":[1537],"language":[1537],"environment":[1537],"endpoint":[1],"siteDefinition":[32],"footerContent":[32],"i18n":[32],"gotData":[32],"fetchingData":[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{"value":[520],"name":[1],"checkboxid":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{"disabled":[4],"placeholder":[1],"inputid":[1],"name":[1],"autocomplete":[1],"value":[1],"label":[1],"loading":[4],"button":[1],"light":[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{"language":[1],"navLabel":[1,"nav-label"],"i18n":[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"alignment":[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"icon":[1],"current":[4],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{"item":[1040],"shownitems":[16],"weightText":[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{"item":[1040],"shownitems":[16],"weightText":[32]}],[4,"pn-choice-button",{"value":[520],"name":[1],"choiceid":[1],"type":[1],"disabled":[4],"checked":[4],"indeterminate":[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{"url":[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{"name":[1],"href":[1],"target":[1],"linkid":[1],"levelId":[32],"open":[32],"hasChildren":[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{"level":[32],"levelId":[32],"isOpen":[32],"parentName":[32],"parentHref":[32],"parentLinkId":[32],"listCount":[32],"alignment":[32]}],[4,"pn-language-selector",{"value":[1537],"selectedLanguageName":[32],"options":[32],"i18n":[32]}],[0,"pn-language-selector-option",{"name":[1],"code":[1],"url":[1],"selected":[4],"currentLanguage":[1,"current-language"]}],[4,"pn-mainnav",{"market":[1],"language":[1],"navigationId":[1,"navigation-id"],"openMenu":[1028,"open-menu"],"navLabel":[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{"heading":[1],"linkCount":[32]}],[0,"pn-marketweb-siteheader-login",{"endpoint":[1],"i18n":[8,"i-1-8n"],"emitEvents":[4,"emit-events"],"loginDialog":[1040],"loginManager":[32],"loggedIn":[32],"toggleButtonText":[32]}],[0,"pn-marketweb-siteheader-search",{"i18n":[8,"i-1-8n"],"showOnlyLink":[1028,"show-only-link"],"hideSearch":[1028,"hide-search"],"search":[1040]}],[4,"pn-site-selector",{"buttontext":[1537],"heading":[1537],"language":[1537],"i18n":[32]}],[0,"pn-site-selector-item",{"url":[1],"heading":[1],"description":[1],"newwindow":[4]}]]],["pn-product-tile_3",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{"label":[1],"text":[1],"icon":[1]}],[0,"pn-product-tile-price",{"label":[1],"amount":[1],"currency":[1],"url":[1]}]]]], options);
|
|
57
57
|
});
|
|
@@ -75,6 +75,10 @@ let PnMarketwebSiteheader = class {
|
|
|
75
75
|
this.hideSearch = false;
|
|
76
76
|
/** Hides the login if set to true*/
|
|
77
77
|
this.hideLogin = false;
|
|
78
|
+
/** Forward session to backend */
|
|
79
|
+
this.sessionForward = false;
|
|
80
|
+
/** Event based only language switch */
|
|
81
|
+
this.spaMode = false;
|
|
78
82
|
this.gotData = false;
|
|
79
83
|
this.fetchingData = false;
|
|
80
84
|
// Menu state
|
|
@@ -115,11 +119,6 @@ let PnMarketwebSiteheader = class {
|
|
|
115
119
|
this.endpoint = "";
|
|
116
120
|
}
|
|
117
121
|
}
|
|
118
|
-
// TODO
|
|
119
|
-
//* Expose market and language attributes when changed internally
|
|
120
|
-
//* Business logic to select market and language depending on domains / html tag.
|
|
121
|
-
//* Property to stop language change from changeing url, throw an event instead.
|
|
122
|
-
//* Fetch new data when langauge or market is changed
|
|
123
122
|
async init() {
|
|
124
123
|
this.setTranslations();
|
|
125
124
|
await this.fetchData();
|
|
@@ -130,6 +129,9 @@ let PnMarketwebSiteheader = class {
|
|
|
130
129
|
this.i18n = translations[this.language];
|
|
131
130
|
}
|
|
132
131
|
}
|
|
132
|
+
onLanguageSelectorChange(e) {
|
|
133
|
+
this.language = e.detail;
|
|
134
|
+
}
|
|
133
135
|
onLanguageChange() {
|
|
134
136
|
this.setTranslations();
|
|
135
137
|
this.changeLanguage.emit(this.language);
|
|
@@ -149,9 +151,12 @@ let PnMarketwebSiteheader = class {
|
|
|
149
151
|
const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
|
|
150
152
|
const response = await fetch(fetchUrl);
|
|
151
153
|
const data = await response.json();
|
|
152
|
-
this.setStateFromData(data);
|
|
154
|
+
await this.setStateFromData(data);
|
|
153
155
|
}
|
|
154
156
|
getLanguageVersionUrl(item) {
|
|
157
|
+
if (this.spaMode) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
155
160
|
const alternativeTag = document.querySelector(`link[rel="alternate"][hreflang="${item.twoLetterISOLanguageName}"]`);
|
|
156
161
|
if (alternativeTag) {
|
|
157
162
|
return alternativeTag.getAttribute('href');
|
|
@@ -160,7 +165,7 @@ let PnMarketwebSiteheader = class {
|
|
|
160
165
|
// Add trailing slash to domain if it's missing
|
|
161
166
|
return siteUrl + ((siteUrl.lastIndexOf("/") !== siteUrl.length - 1) ? "/" : "") + item.twoLetterISOLanguageName;
|
|
162
167
|
}
|
|
163
|
-
setStateFromData(data) {
|
|
168
|
+
async setStateFromData(data) {
|
|
164
169
|
if (typeof data !== "object") {
|
|
165
170
|
console.warn('Data was not valid', data);
|
|
166
171
|
}
|
|
@@ -184,10 +189,26 @@ let PnMarketwebSiteheader = class {
|
|
|
184
189
|
// Set language selector
|
|
185
190
|
this.languageSelector = data.languageSelectorViewModel;
|
|
186
191
|
this.loginDialog = data.loginViewModel;
|
|
192
|
+
await this.spaModeAdjustments();
|
|
187
193
|
this.gotData = true;
|
|
188
194
|
this.fetchingData = true;
|
|
189
195
|
window.setTimeout(() => { this.checkMenuOverflow(); }, 100);
|
|
190
196
|
}
|
|
197
|
+
async spaModeAdjustments() {
|
|
198
|
+
if (!this.spaMode) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
onLoginStateChange(e) {
|
|
204
|
+
var _a, _b;
|
|
205
|
+
if (((_a = e.detail) === null || _a === void 0 ? void 0 : _a.loggedIn) && ((_b = e.detail) === null || _b === void 0 ? void 0 : _b.token) && this.sessionForward) {
|
|
206
|
+
try {
|
|
207
|
+
fetch('/api/userprofile/sync?token=' + e.detail.token);
|
|
208
|
+
}
|
|
209
|
+
catch (e) { }
|
|
210
|
+
}
|
|
211
|
+
}
|
|
191
212
|
promotedItemId(item) {
|
|
192
213
|
return "promo-" + item.linkText.replace(/[^A-Za-z0-9.\\\/]/igm, "");
|
|
193
214
|
}
|
|
@@ -232,7 +253,7 @@ let PnMarketwebSiteheader = class {
|
|
|
232
253
|
return (h("pn-mainnav-link", { name: childitem.name, href: childitem.href, target: (_a = childitem.linkTarget) !== null && _a !== void 0 ? _a : "_self", linkid: childitem.trackingId }));
|
|
233
254
|
})), (item.promotedMenuItems && item.promotedMenuItems.length > 0) &&
|
|
234
255
|
h("pn-mainnav-list", { heading: item.promotedMenuItemsHeader }, item.promotedMenuItems.map((childitem) => (h("pn-mainnav-link", { href: childitem.href, name: childitem.linkText, target: childitem.openInNewWindow ? "_blank" : "_self", linkid: this.promotedItemId(childitem) })))))));
|
|
235
|
-
})), h("div", { slot: "footer", class: "siteheader-menu-footer" }, (this.gotData && this.loginDialog && !this.hideLogin) && (h("pn-marketweb-siteheader-login", { loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_h = this.languageSelector) === null || _h === void 0 ? void 0 : _h.languages)) && !this.hideLanguageSelector &&
|
|
256
|
+
})), h("div", { slot: "footer", class: "siteheader-menu-footer" }, (this.gotData && this.loginDialog && !this.hideLogin) && (h("pn-marketweb-siteheader-login", { emitEvents: false, loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n })), (this.gotData && ((_h = this.languageSelector) === null || _h === void 0 ? void 0 : _h.languages)) && !this.hideLanguageSelector &&
|
|
236
257
|
h("pn-language-selector", { value: this.language }, this.languageSelector.languages.map(language => h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))), !this.hideSiteSelector &&
|
|
237
258
|
h("pn-site-selector", { language: this.language }, (this.gotData && ((_j = this.siteSelector) === null || _j === void 0 ? void 0 : _j.currentSiteTitle)) &&
|
|
238
259
|
h("pn-site-selector-item", { heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription }), (this.gotData && ((_k = this.siteSelector) === null || _k === void 0 ? void 0 : _k.siteSelections)) && this.siteSelector.siteSelections.map((site) => h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))), h("div", { slot: "top", class: "siteheader-menu-top" }, h("pn-marketweb-siteheader-search", { search: this.search, "hide-search": this.hideSearch, i18n: this.i18n }))))), h("pn-marketweb-siteheader-search", { search: this.search, "hide-search": this.hideSearch, "show-only-link": this.minimizeSearch, i18n: this.i18n })))));
|
package/esm-es5/loader.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as promiseResolve,b as bootstrapLazy}from"./index-1537f439.js";var patchEsm=function(){return promiseResolve()};var defineCustomElements=function(e,n){if(typeof window==="undefined")return Promise.resolve();return patchEsm().then((function(){return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{market:[1537],language:[1537],environment:[1537],endpoint:[1],hideSiteSelector:[1540,"hide-site-selector"],hideLanguageSelector:[1540,"hide-language-selector"],hideSearch:[1540,"hide-search"],hideLogin:[1540,"hide-login"],i18n:[32],gotData:[32],fetchingData:[32],menuItems:[32],siteDefinition:[32],search:[32],siteSelector:[32],languageSelector:[32],loginDialog:[32],minimizeSearch:[32]},[[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{source:[1],language:[1025],market:[1025],filteredItems:[32],postagetype:[32],weight:[32],weightvalue:[32],deliveryscope:[32],sourceData:[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{source:[1],language:[1025],market:[1025],productid:[1],filteredItems:[32],sourceData:[32],gotData:[32],loading:[32],postagetype:[32],weight:[32],weightvalue:[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{market:[1537],language:[1537],environment:[1537],endpoint:[1],siteDefinition:[32],footerContent:[32],i18n:[32],gotData:[32],fetchingData:[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{value:[520],name:[1],checkboxid:[1],disabled:[4],checked:[4],indeterminate:[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{disabled:[4],placeholder:[1],inputid:[1],name:[1],autocomplete:[1],value:[1],label:[1],loading:[4],button:[1],light:[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{language:[1],navLabel:[1,"nav-label"],i18n:[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{level:[32],levelId:[32],isOpen:[32],parentName:[32],parentHref:[32],parentLinkId:[32],alignment:[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{name:[1],href:[1],target:[1],linkid:[1],icon:[1],current:[4],levelId:[32],open:[32],hasChildren:[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{item:[1040],shownitems:[16],weightText:[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{item:[1040],shownitems:[16],weightText:[32]}],[4,"pn-choice-button",{value:[520],name:[1],choiceid:[1],type:[1],disabled:[4],checked:[4],indeterminate:[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{url:[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{name:[1],href:[1],target:[1],linkid:[1],levelId:[32],open:[32],hasChildren:[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{level:[32],levelId:[32],isOpen:[32],parentName:[32],parentHref:[32],parentLinkId:[32],listCount:[32],alignment:[32]}],[4,"pn-language-selector",{value:[
|
|
1
|
+
import{p as promiseResolve,b as bootstrapLazy}from"./index-1537f439.js";var patchEsm=function(){return promiseResolve()};var defineCustomElements=function(e,n){if(typeof window==="undefined")return Promise.resolve();return patchEsm().then((function(){return bootstrapLazy([["pn-marketweb-siteheader",[[4,"pn-marketweb-siteheader",{market:[1537],language:[1537],environment:[1537],endpoint:[1],hideSiteSelector:[1540,"hide-site-selector"],hideLanguageSelector:[1540,"hide-language-selector"],hideSearch:[1540,"hide-search"],hideLogin:[1540,"hide-login"],sessionForward:[4,"session-forward"],spaMode:[4,"spa-mode"],i18n:[32],gotData:[32],fetchingData:[32],menuItems:[32],siteDefinition:[32],search:[32],siteSelector:[32],languageSelector:[32],loginDialog:[32],minimizeSearch:[32]},[[0,"setLanguage","onLanguageSelectorChange"],[0,"loginStateChange","onLoginStateChange"],[9,"resize","handleResize"]]]]],["pn-find-service-and-price",[[0,"pn-find-service-and-price",{source:[1],language:[1025],market:[1025],filteredItems:[32],postagetype:[32],weight:[32],weightvalue:[32],deliveryscope:[32],sourceData:[32]}]]],["pn-product-pricelist",[[4,"pn-product-pricelist",{source:[1],language:[1025],market:[1025],productid:[1],filteredItems:[32],sourceData:[32],gotData:[32],loading:[32],postagetype:[32],weight:[32],weightvalue:[32]}]]],["pn-marketweb-sitefooter",[[0,"pn-marketweb-sitefooter",{market:[1537],language:[1537],environment:[1537],endpoint:[1],siteDefinition:[32],footerContent:[32],i18n:[32],gotData:[32],fetchingData:[32]}]]],["pn-filter-checkbox",[[1,"pn-filter-checkbox",{value:[520],name:[1],checkboxid:[1],disabled:[4],checked:[4],indeterminate:[1028]},[[0,"change","handlechange"]]]]],["pn-filter-search",[[1,"pn-filter-search",{disabled:[4],placeholder:[1],inputid:[1],name:[1],autocomplete:[1],value:[1],label:[1],loading:[4],button:[1],light:[4]},[[0,"input","inputHandler"]]]]],["pn-sidenav",[[4,"pn-sidenav",{language:[1],navLabel:[1,"nav-label"],i18n:[32]},[[0,"language","setLanguage"],[0,"openSubMenuLevelChange","onOpenSubMenuLevelChange"]]]]],["pn-sidenav-level",[[4,"pn-sidenav-level",{level:[32],levelId:[32],isOpen:[32],parentName:[32],parentHref:[32],parentLinkId:[32],alignment:[32]}]]],["pn-sidenav-link",[[4,"pn-sidenav-link",{name:[1],href:[1],target:[1],linkid:[1],icon:[1],current:[4],levelId:[32],open:[32],hasChildren:[32]}]]],["pn-product-pricelist-result",[[0,"pn-product-pricelist-result",{item:[1040],shownitems:[16],weightText:[32]}]]],["pn-choice-button_2",[[0,"pn-find-service-and-price-result",{item:[1040],shownitems:[16],weightText:[32]}],[4,"pn-choice-button",{value:[520],name:[1],choiceid:[1],type:[1],disabled:[4],checked:[4],indeterminate:[1028]},[[0,"change","handlechange"]]]]],["pn-site-footer_2",[[4,"pn-site-footer",{url:[1]}],[4,"pn-site-footer-col"]]],["pn-mainnav-link",[[4,"pn-mainnav-link",{name:[1],href:[1],target:[1],linkid:[1],levelId:[32],open:[32],hasChildren:[32]}]]],["pn-language-selector_9",[[4,"pn-mainnav-level",{level:[32],levelId:[32],isOpen:[32],parentName:[32],parentHref:[32],parentLinkId:[32],listCount:[32],alignment:[32]}],[4,"pn-language-selector",{value:[1537],selectedLanguageName:[32],options:[32],i18n:[32]}],[0,"pn-language-selector-option",{name:[1],code:[1],url:[1],selected:[4],currentLanguage:[1,"current-language"]}],[4,"pn-mainnav",{market:[1],language:[1],navigationId:[1,"navigation-id"],openMenu:[1028,"open-menu"],navLabel:[1,"nav-label"]},[[0,"language","setLanguage"],[0,"market","setMarket"],[0,"menuLanguageChange","onLanguageChange"],[0,"setmenuopenstate","setMenuOpenState"],[0,"openMenuLevelChange","onOpenMenuLevelChange"]]],[4,"pn-mainnav-list",{heading:[1],linkCount:[32]}],[0,"pn-marketweb-siteheader-login",{endpoint:[1],i18n:[8,"i-1-8n"],emitEvents:[4,"emit-events"],loginDialog:[1040],loginManager:[32],loggedIn:[32],toggleButtonText:[32]}],[0,"pn-marketweb-siteheader-search",{i18n:[8,"i-1-8n"],showOnlyLink:[1028,"show-only-link"],hideSearch:[1028,"hide-search"],search:[1040]}],[4,"pn-site-selector",{buttontext:[1537],heading:[1537],language:[1537],i18n:[32]}],[0,"pn-site-selector-item",{url:[1],heading:[1],description:[1],newwindow:[4]}]]],["pn-product-tile_3",[[4,"pn-product-tile"],[0,"pn-product-tile-info",{label:[1],text:[1],icon:[1]}],[0,"pn-product-tile-price",{label:[1],amount:[1],currency:[1],url:[1]}]]]],n)}))};export{defineCustomElements};
|