@progressive-development/pd-spa-helper 0.8.10-f → 0.8.12

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.
@@ -78,5 +78,6 @@ export declare abstract class PdSpaHelper extends LitElement {
78
78
  _createTemporaryToast(e: any): void;
79
79
  static _scrollToTop(): void;
80
80
  _scrollToContent(el: HTMLElement): void;
81
+ private _navigateToPage;
81
82
  }
82
83
  //# sourceMappingURL=PdSpaHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PdSpaHelper.d.ts","sourceRoot":"","sources":["../src/PdSpaHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,cAAc,EACd,cAAc,EAEf,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,0CAA0C,CAAC;AAClD,OAAO,4CAA4C,CAAC;AACpD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,8CAA8C,CAAC;AAStD,OAAO,EACL,gBAAgB,EAChB,MAAM,EAGN,cAAc,EACf,MAAM,8CAA8C,CAAC;AAItD,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,gCAAgC,CAAC;AACxC,OAAO,oCAAoC,CAAC;AAE5C,OAAO,sBAAsB,CAAC;AAC9B,OAAO,8BAA8B,CAAC;AAStC,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAyD3D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,gBAAgB,SAgCjD,CAAC;AAIF;;GAEG;AACH,8BAAsB,WAAY,SAAQ,UAAU;IAGlD,KAAK,SAAe;IAEpB;;OAEG;IAEH,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAG3B,QAAQ,EAAE,GAAG,GAAG,SAAS,CAAC;IAG1B,aAAa,EAAE,YAAY,EAAE,CAAM;IAEnC;;;OAGG;IAEH,SAAS,CAAC,MAAM,SAAM;IAEtB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE/C;;OAEG;IAEH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE9C;;OAEG;IAEH,OAAO,CAAC,aAAa,CAAS;IAG9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAErC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAS;IAG7C,aAAa,CAAC,EAAE,YAAY,CAAC;IAE7B,MAAM,CAAC,MAAM,EA+EN,cAAc,CAAC;;IA0CtB,iBAAiB,IAAI,IAAI;IAmBzB,oBAAoB,IAAI,IAAI;IAM5B,gBAAgB,CAAC,KAAK,EAAE,KAAK;IAS7B;;OAEG;IAGH;;;OAGG;IACH,oBAAoB;IAgCpB,MAAM;IAuCN,OAAO,CAAC,aAAa;IAerB,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;IAsB3D,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;IAsB9D,aAAa,IAAI,cAAc,GAAG,MAAM;IAkBxC,aAAa;IAcb,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,KAAK,CAAC,cAAc,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;IAEvC,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,cAAc;IAEhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,GAAG;IAE3C,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAEnD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,GAAG;IAE9C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM;IAE9D,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAkB7C,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IASnC,qBAAqB,CAAC,CAAC,EAAE,GAAG;IAW5B,uBAAuB,CAAC,CAAC,EAAE,WAAW;IAYtC,iBAAiB,CAAC,CAAC,EAAE,GAAG;IAexB,qBAAqB,CAAC,CAAC,EAAE,GAAG;IAgB5B,MAAM,CAAC,YAAY;IAUnB,gBAAgB,CAAC,EAAE,EAAE,WAAW;CAUjC"}
1
+ {"version":3,"file":"PdSpaHelper.d.ts","sourceRoot":"","sources":["../src/PdSpaHelper.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,14 @@ const MADE_BY = {
32
32
  email: "info@progressive-development.com"
33
33
  };
34
34
  const TOAST_DURATION = 6e3;
35
+ let routeMap;
35
36
  let transformedRoutes;
36
37
  let navigationConfig;
38
+ const getNavigationPage = (routeName) => {
39
+ const page = routeMap.get(routeName);
40
+ if (!page) throw new Error(`Navigation page not defined for: ${routeName}`);
41
+ return page;
42
+ };
37
43
  const transformRoutes = () => {
38
44
  const routeDefs = [];
39
45
  navigationConfig.pages.forEach((page) => {
@@ -47,16 +53,6 @@ const transformRoutes = () => {
47
53
  };
48
54
  routeDefs.push(routeDef);
49
55
  });
50
- routeDefs.push({
51
- name: "unauthorized",
52
- pattern: "/unauthorized",
53
- auth: false
54
- });
55
- routeDefs.push({
56
- name: "not-found",
57
- pattern: "/:wildcard",
58
- auth: false
59
- });
60
56
  return routeDefs;
61
57
  };
62
58
  const spaLogger = createLogger("PdSpaHelper");
@@ -67,16 +63,29 @@ const startInit = (config) => {
67
63
  initializeStore(config.storeConfigParam);
68
64
  }
69
65
  initAppImpl(config);
70
- if (config.navigationConfigParam.includeLogin) {
71
- config.navigationConfigParam.pages.push({
66
+ navigationConfig = config.navigationConfigParam;
67
+ if (navigationConfig.includeLogin) {
68
+ navigationConfig.pages.push({
72
69
  name: "login",
73
- menu: [{ key: "login", name: "Login" }],
70
+ menu: [],
74
71
  pattern: ["/login"],
75
72
  auth: false
76
73
  });
77
74
  }
78
- navigationConfig = config.navigationConfigParam;
75
+ navigationConfig.pages.push({
76
+ name: "unauthorized",
77
+ menu: [],
78
+ pattern: ["/unauthorized"],
79
+ auth: false
80
+ });
81
+ navigationConfig.pages.push({
82
+ name: "not-found",
83
+ menu: [],
84
+ pattern: ["/:wildcard"],
85
+ auth: false
86
+ });
79
87
  transformedRoutes = transformRoutes();
88
+ routeMap = new Map(navigationConfig.pages.map((p) => [p.name, p]));
80
89
  pdRouterService.configureRoutes(transformedRoutes);
81
90
  document.dispatchEvent(new CustomEvent("init-app-event"));
82
91
  spaLogger.debug("Init done, init-app-event created");
@@ -183,9 +192,10 @@ const _PdSpaHelper = (_a = class extends LitElement {
183
192
  authStateChangedImpl(callback);
184
193
  }
185
194
  render() {
186
- const pageConf = navigationConfig.pages.filter(
187
- (p) => p.name === this._route
188
- )[0];
195
+ if (this._route === "") {
196
+ return html`<p>Routing page...</p>`;
197
+ }
198
+ const pageConf = getNavigationPage(this._route);
189
199
  const hideTeaser = this._teaserClosed || !(pageConf == null ? void 0 : pageConf.withTeaser);
190
200
  return html`
191
201
  <header id="headerElementId" class="default-header">
@@ -312,16 +322,14 @@ const _PdSpaHelper = (_a = class extends LitElement {
312
322
  if (e.detail.el) {
313
323
  this._scrollToContent(e.detail.el);
314
324
  } else {
315
- _a._scrollToTop();
316
- pdRouterService.navigate(e.detail.route);
325
+ this._navigateToPage(e.detail.route);
317
326
  }
318
327
  }
319
328
  // eslint-disable-next-line class-methods-use-this
320
329
  _handleFooterRouteEvent(e) {
321
330
  const { linkObj } = e.detail;
322
331
  if (linkObj.link) {
323
- _a._scrollToTop();
324
- pdRouterService.navigate(linkObj.link);
332
+ this._navigateToPage(linkObj.link);
325
333
  }
326
334
  if (linkObj.action) {
327
335
  linkObj.action();
@@ -330,11 +338,9 @@ const _PdSpaHelper = (_a = class extends LitElement {
330
338
  // eslint-disable-next-line class-methods-use-this
331
339
  _initMenuSections(e) {
332
340
  var _a2;
333
- const menRefConf = navigationConfig.pages.filter(
334
- (p) => p.name === e.detail.name
335
- )[0];
336
- if (menRefConf) {
337
- menRefConf.menu = (_a2 = menRefConf.menu) == null ? void 0 : _a2.map(
341
+ const pageConf = getNavigationPage(this._route);
342
+ if (pageConf) {
343
+ pageConf.menu = (_a2 = pageConf.menu) == null ? void 0 : _a2.map(
338
344
  (menuElement, index) => ({
339
345
  ...menuElement,
340
346
  ref: e.detail.menuRefs[index]
@@ -371,6 +377,10 @@ const _PdSpaHelper = (_a = class extends LitElement {
371
377
  });
372
378
  }
373
379
  }
380
+ _navigateToPage(routeURL) {
381
+ _a._scrollToTop();
382
+ pdRouterService.navigate(routeURL);
383
+ }
374
384
  }, _a.styles = // Ref: Additional use classmap to add custom classes in concrete impl
375
385
  css`
376
386
  :host {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progressive-development/pd-spa-helper",
3
- "version": "0.8.10f",
3
+ "version": "0.8.12",
4
4
  "description": "Webcomponent pd-spa-helper following open-wc recommendations",
5
5
  "author": "PD Progressive Development",
6
6
  "license": "SEE LICENSE IN LICENSE",