@reidelsaltres/pureper 0.1.65 → 0.1.67

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.
@@ -1,10 +1,3 @@
1
- declare global {
2
- interface Window {
3
- RouterConfig?: {
4
- ASSET_PATH: string;
5
- };
6
- }
7
- }
8
1
  import UniHtml from "../component_api/UniHtml.js";
9
2
  export interface Route<T extends UniHtml = UniHtml> {
10
3
  route: string;
@@ -23,7 +16,7 @@ export declare abstract class Router {
23
16
  static getPersistedRoute(): URL | null;
24
17
  static clearPersistedRoute(): void;
25
18
  static legacyRouteTo(route: string): void;
26
- static tryRouteTo(url: URL): void;
19
+ static tryRouteTo(url: URL, pushState?: boolean): void;
27
20
  static tryFindRoute(url: URL): Route;
28
21
  static registerRoute<T extends UniHtml>(path: string, route: string, pageFactory: (search?: URLSearchParams) => T, inheritedRoute?: Route): Promise<Route>;
29
22
  private static createPage;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/foundation/worker/Router.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KACvC;CACF;AACD,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAKlD,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,CAAC,CAAC;CAC9C;AACD,oBAAY,UAAU;IACpB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,EAAO,CAAC;AAClC,eAAO,MAAM,QAAQ,EAAE,MAAM,EAAO,CAAC;AAErC,8BAAsB,MAAM;WACZ,kBAAkB,CAAC,GAAG,EAAE,GAAG;WAO3B,iBAAiB,IAAI,GAAG,GAAG,IAAI;WAS/B,mBAAmB;WASnB,aAAa,CAAC,KAAK,EAAE,MAAM;WAM3B,UAAU,CAAC,GAAG,EAAE,GAAG;WAcnB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK;WAQvB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,CAAC,EAC5H,cAAc,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAczC,OAAO,CAAC,MAAM,CAAC,UAAU;CAG1B"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/foundation/worker/Router.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,CAAC,CAAC;CAC9C;AACD,oBAAY,UAAU;IACpB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,EAAO,CAAC;AAClC,eAAO,MAAM,QAAQ,EAAE,MAAM,EAAO,CAAC;AAErC,8BAAsB,MAAM;WACZ,kBAAkB,CAAC,GAAG,EAAE,GAAG;WAO3B,iBAAiB,IAAI,GAAG,GAAG,IAAI;WAS/B,mBAAmB;WASnB,aAAa,CAAC,KAAK,EAAE,MAAM;WAM3B,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,GAAE,OAAc;WAc9C,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK;WAQvB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,CAAC,EAC5H,cAAc,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAazC,OAAO,CAAC,MAAM,CAAC,UAAU;CAG1B"}
@@ -1,4 +1,3 @@
1
- const globals = self;
2
1
  export var AccessType;
3
2
  (function (AccessType) {
4
3
  AccessType[AccessType["OFFLINE"] = 0] = "OFFLINE";
@@ -40,12 +39,12 @@ export class Router {
40
39
  window.location.replace(url.href);
41
40
  }
42
41
  }
43
- static tryRouteTo(url) {
42
+ static tryRouteTo(url, pushState = true) {
44
43
  try {
45
44
  const found = this.tryFindRoute(url);
46
45
  const page = this.createPage(found, url.searchParams);
47
46
  page.load(document.getElementById('page'));
48
- if (typeof window !== "undefined" && window.location) {
47
+ if (pushState && typeof window !== "undefined" && window.location) {
49
48
  window.history.pushState(page, '', url.href);
50
49
  }
51
50
  }
@@ -72,6 +71,7 @@ export class Router {
72
71
  return route.pageFactory(search);
73
72
  }
74
73
  }
74
+ //For SPA navigation
75
75
  document.addEventListener('click', e => {
76
76
  const target = e.target;
77
77
  if (target) {
@@ -83,6 +83,16 @@ document.addEventListener('click', e => {
83
83
  }
84
84
  }
85
85
  });
86
+ //For back/forward navigation
87
+ window.addEventListener('popstate', e => {
88
+ try {
89
+ const url = new URL(window.location.href);
90
+ Router.tryRouteTo(url, false);
91
+ }
92
+ catch (error) {
93
+ console.error('[Router] (popstate): failed to route to current location', error);
94
+ }
95
+ });
86
96
  window.addEventListener('DOMContentLoaded', () => {
87
97
  const checkRoutes = () => {
88
98
  const routes = ROUTES;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/foundation/worker/Router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/foundation/worker/Router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceWorker.d.ts","sourceRoot":"","sources":["../../../src/foundation/worker/ServiceWorker.ts"],"names":[],"mappings":"AAqEA,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B;;;OAGG;WACU,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,IAAI;IAM1B;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBpC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;CAQ5C"}
1
+ {"version":3,"file":"ServiceWorker.d.ts","sourceRoot":"","sources":["../../../src/foundation/worker/ServiceWorker.ts"],"names":[],"mappings":"AAgEA,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B;;;OAGG;WACU,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,IAAI;IAM1B;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBpC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;CAQ5C"}
@@ -2,14 +2,12 @@ const swSelf = self;
2
2
  // Автоматически генерируем CACHE_NAME из base.json
3
3
  //import base from '../../../data/base.json';
4
4
  const CACHE_NAME = `pureper-v1`;
5
- const BASE_PATH = '/Pureper'; // GitHub Pages base path
6
- const IS_GITHUB_PAGES = swSelf.location.hostname.includes('github.io');
7
5
  const STATIC_ASSETS = [
8
6
  '/index.html'
9
7
  ];
10
8
  if ('serviceWorker' in navigator) {
11
9
  window.addEventListener('load', () => {
12
- navigator.serviceWorker.register('serviceWorker.js', { type: 'module' })
10
+ navigator.serviceWorker.register('./serviceWorker.js', { type: 'module' })
13
11
  .then((registration) => {
14
12
  console.log('ServiceWorker registration successful:', registration.scope);
15
13
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceWorker.js","sourceRoot":"","sources":["../../../src/foundation/worker/ServiceWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceWorker.js","sourceRoot":"","sources":["../../../src/foundation/worker/ServiceWorker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reidelsaltres/pureper",
3
- "version": "0.1.65",
3
+ "version": "0.1.67",
4
4
  "description": "Minimal library extracted from the Pureper SPA foundation — utilities and base classes for components/pages.",
5
5
  "type": "module",
6
6
  "main": "out/src/index.js",
@@ -1,13 +1,4 @@
1
- // Add RouterConfig type to window for TypeScript
2
- declare global {
3
- interface Window {
4
- RouterConfig?: { ASSET_PATH: string };
5
- }
6
- }
7
1
  import UniHtml from "../component_api/UniHtml.js";
8
- import { ServiceWorkerGlobalScope } from "./api/ServiceWorkerGlobalScope.js";
9
-
10
- const globals = self as any as ServiceWorkerGlobalScope;
11
2
 
12
3
  export interface Route<T extends UniHtml = UniHtml> {
13
4
  route: string;
@@ -56,14 +47,14 @@ export abstract class Router {
56
47
  window.location.replace(url.href);
57
48
  }
58
49
  }
59
- public static tryRouteTo(url: URL) {
50
+ public static tryRouteTo(url: URL, pushState: boolean = true) {
60
51
  try {
61
52
  const found: Route = this.tryFindRoute(url);
62
53
  const page: UniHtml = this.createPage(found, url.searchParams);
63
54
 
64
55
  page.load(document.getElementById('page')!);
65
56
 
66
- if (typeof window !== "undefined" && window.location) {
57
+ if (pushState && typeof window !== "undefined" && window.location) {
67
58
  window.history.pushState(page, '', url.href);
68
59
  }
69
60
  } catch (error) {
@@ -92,12 +83,12 @@ export abstract class Router {
92
83
  return Promise.resolve(routeObj);
93
84
  }
94
85
 
95
-
96
86
  private static createPage(route: Route, search?: URLSearchParams): UniHtml {
97
87
  return route.pageFactory(search);
98
88
  }
99
89
  }
100
90
 
91
+ //For SPA navigation
101
92
  document.addEventListener('click', e => {
102
93
  const target = e.target as Element | null;
103
94
  if (target) {
@@ -110,6 +101,16 @@ document.addEventListener('click', e => {
110
101
  }
111
102
  });
112
103
 
104
+ //For back/forward navigation
105
+ window.addEventListener('popstate', e => {
106
+ try {
107
+ const url = new URL(window.location.href);
108
+ Router.tryRouteTo(url, false);
109
+ } catch (error) {
110
+ console.error('[Router] (popstate): failed to route to current location', error);
111
+ }
112
+ });
113
+
113
114
  window.addEventListener('DOMContentLoaded', () => {
114
115
  const checkRoutes = () => {
115
116
  const routes = ROUTES;
@@ -5,8 +5,6 @@
5
5
  */
6
6
  import type { ExtendableEvent } from './api/ExtendableEvent.js';
7
7
  import type { FetchEvent } from './api/FetchEvent.js';
8
- import type { ExtendableMessageEvent } from './api/ExtendableMessageEvent.js';
9
- import type { Clients } from './api/Clients.js';
10
8
  import type { ServiceWorkerGlobalScope } from './api/ServiceWorkerGlobalScope.js';
11
9
 
12
10
  // Type assertion for Service Worker context
@@ -17,16 +15,13 @@ const swSelf = self;
17
15
  //import base from '../../../data/base.json';
18
16
  const CACHE_NAME = `pureper-v1`;
19
17
 
20
- const BASE_PATH = '/Pureper'; // GitHub Pages base path
21
- const IS_GITHUB_PAGES = swSelf.location.hostname.includes('github.io');
22
-
23
18
  const STATIC_ASSETS: string[] = [
24
19
  '/index.html'
25
20
  ];
26
21
 
27
22
  if ('serviceWorker' in navigator) {
28
23
  window.addEventListener('load', () => {
29
- navigator.serviceWorker.register('serviceWorker.js', { type: 'module' })
24
+ navigator.serviceWorker.register('./serviceWorker.js', { type: 'module' })
30
25
  .then((registration) => {
31
26
  console.log('ServiceWorker registration successful:', registration.scope);
32
27
  })