application.ts 1.0.2 → 1.0.4
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/README.md +17 -3
- package/dist/app/App.js +8 -4
- package/dist/app/App.js.map +1 -1
- package/dist/app/AppView.d.ts +4 -3
- package/dist/app/AppView.js +43 -7
- package/dist/app/AppView.js.map +1 -1
- package/dist/navigation/router.d.ts +7 -1
- package/dist/navigation/router.js +38 -10
- package/dist/navigation/router.js.map +1 -1
- package/dist/navigation/types.d.ts +3 -1
- package/dist/navigation/types.js.map +1 -1
- package/package.json +15 -6
- package/src/app/App.ts +0 -391
- package/src/app/AppView.ts +0 -359
- package/src/app/types.ts +0 -78
- package/src/index.ts +0 -28
- package/src/navigation/route.ts +0 -87
- package/src/navigation/router.ts +0 -284
- package/src/navigation/types.ts +0 -73
package/README.md
CHANGED
|
@@ -154,10 +154,16 @@ export class MyComponent extends AppView {
|
|
|
154
154
|
Wrap views with shared layouts:
|
|
155
155
|
|
|
156
156
|
```typescript
|
|
157
|
+
import { DefaultLayout } from './layouts/default.layout';
|
|
158
|
+
|
|
159
|
+
// Register and set default layout
|
|
160
|
+
app.registerLayout('default', DefaultLayout);
|
|
161
|
+
app.setDefaultLayout('default');
|
|
162
|
+
|
|
163
|
+
// Or specify layout per route
|
|
157
164
|
app.router
|
|
158
165
|
.map('/', HomeView)
|
|
159
|
-
.map('/about', AboutView)
|
|
160
|
-
.setLayout(DefaultLayout);
|
|
166
|
+
.map('/about', AboutView, { meta: { layout: 'default' } });
|
|
161
167
|
```
|
|
162
168
|
|
|
163
169
|
### 🎯 View Lifecycle
|
|
@@ -317,12 +323,20 @@ app.start() // Start the application
|
|
|
317
323
|
|
|
318
324
|
```typescript
|
|
319
325
|
router.map(path: string, view: typeof AppView, options?: RouteOptions)
|
|
320
|
-
router.setLayout(layout: typeof AppView)
|
|
321
326
|
router.notFound(view: typeof AppView)
|
|
322
327
|
router.navigate(path: string)
|
|
323
328
|
router.start()
|
|
324
329
|
```
|
|
325
330
|
|
|
331
|
+
### App
|
|
332
|
+
|
|
333
|
+
```typescript
|
|
334
|
+
app.registerLayout(handler: string, layoutClass: typeof AppView)
|
|
335
|
+
app.setDefaultLayout(handler: string)
|
|
336
|
+
app.registerView(handler: string, viewClass: typeof AppView)
|
|
337
|
+
app.start()
|
|
338
|
+
```
|
|
339
|
+
|
|
326
340
|
### AppView
|
|
327
341
|
|
|
328
342
|
```typescript
|
package/dist/app/App.js
CHANGED
|
@@ -68,8 +68,10 @@ export class App {
|
|
|
68
68
|
* @param viewClass - The AppView class constructor
|
|
69
69
|
*/
|
|
70
70
|
registerView(handler, viewClass) {
|
|
71
|
-
// Auto-register the custom element
|
|
72
|
-
viewClass.register
|
|
71
|
+
// Auto-register the custom element if register method exists
|
|
72
|
+
if (typeof viewClass.register === 'function') {
|
|
73
|
+
viewClass.register();
|
|
74
|
+
}
|
|
73
75
|
this.viewRegistry.set(handler, viewClass);
|
|
74
76
|
return this;
|
|
75
77
|
}
|
|
@@ -89,8 +91,10 @@ export class App {
|
|
|
89
91
|
* @param layoutClass - The AppView layout class constructor
|
|
90
92
|
*/
|
|
91
93
|
registerLayout(handler, layoutClass) {
|
|
92
|
-
// Auto-register the custom element
|
|
93
|
-
layoutClass.register
|
|
94
|
+
// Auto-register the custom element if register method exists
|
|
95
|
+
if (typeof layoutClass.register === 'function') {
|
|
96
|
+
layoutClass.register();
|
|
97
|
+
}
|
|
94
98
|
this.layoutRegistry.set(handler, layoutClass);
|
|
95
99
|
return this;
|
|
96
100
|
}
|
package/dist/app/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAA8B,MAAM,qBAAqB,CAAC;AAGnF,2DAA2D;AAC3D,sEAAsE;AAEtE,6DAA6D;AAC7D,MAAM,UAAU,GAAG,SAAS,CAAC;AAO7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,GAAG;IAWZ;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,OAA2B;QAC1C,IAAI,OAAO,GAAG,OAAO,CAAC;QAEtB,OAAO,OAAO,EAAE,CAAC;YACb,IAAK,OAAe,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAQ,OAAe,CAAC,OAAO,CAAC;YACpC,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,YAAqB;QA3BzB,cAAS,GAAQ,IAAI,CAAC;QACtB,gBAAW,GAAuB,IAAI,CAAC;QACvC,iBAAY,GAAiC,IAAI,GAAG,EAAE,CAAC;QACvD,mBAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;QACzD,wBAAmB,GAAwB,IAAI,CAAC;QAChD,0BAAqB,GAAwB,IAAI,CAAC;QAClD,qBAAgB,GAAkB,IAAI,CAAC;QACvC,kBAAa,GAAkB,IAAI,CAAC;QAqBxC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAE3B,8BAA8B;QAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAqC,EAAE,EAAE;YAC/F,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAkB,CAAC,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAqC,EAAE,EAAE;YAChG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAkB,CAAC,CAAC;QAErB,oDAAoD;QACpD,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAAe,EAAE,SAA0B;QACpD,
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.ts"],"names":[],"mappings":"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"}
|
package/dist/app/AppView.d.ts
CHANGED
|
@@ -143,10 +143,11 @@ export declare abstract class AppView<TState extends AppViewState = AppViewState
|
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
145
|
* Decorator to register a view as a custom element
|
|
146
|
-
*
|
|
146
|
+
* Supports both @Register and @Register('tag-name') syntax
|
|
147
147
|
*
|
|
148
148
|
* @example
|
|
149
|
-
* @Register
|
|
149
|
+
* @Register // Auto-generates tag name from class name
|
|
150
|
+
* @Register() // Same as above
|
|
150
151
|
* @Register('my-component') // Explicit tag name (recommended for production)
|
|
151
152
|
*/
|
|
152
|
-
export declare function Register(
|
|
153
|
+
export declare function Register(tagNameOrTarget?: string | any): any;
|
package/dist/app/AppView.js
CHANGED
|
@@ -265,17 +265,23 @@ export class AppView extends HTMLElement {
|
|
|
265
265
|
}
|
|
266
266
|
/**
|
|
267
267
|
* Decorator to register a view as a custom element
|
|
268
|
-
*
|
|
268
|
+
* Supports both @Register and @Register('tag-name') syntax
|
|
269
269
|
*
|
|
270
270
|
* @example
|
|
271
|
-
* @Register
|
|
271
|
+
* @Register // Auto-generates tag name from class name
|
|
272
|
+
* @Register() // Same as above
|
|
272
273
|
* @Register('my-component') // Explicit tag name (recommended for production)
|
|
273
274
|
*/
|
|
274
|
-
export function Register(
|
|
275
|
-
|
|
275
|
+
export function Register(tagNameOrTarget) {
|
|
276
|
+
// Helper function to do the actual registration
|
|
277
|
+
const registerClass = (target, customTagName) => {
|
|
278
|
+
if (!target) {
|
|
279
|
+
console.warn('Register decorator: target is undefined');
|
|
280
|
+
return target;
|
|
281
|
+
}
|
|
276
282
|
// Use provided tag name or generate from class name
|
|
277
|
-
if (
|
|
278
|
-
target.tagName =
|
|
283
|
+
if (customTagName) {
|
|
284
|
+
target.tagName = customTagName;
|
|
279
285
|
}
|
|
280
286
|
else if (!target.tagName) {
|
|
281
287
|
// Fallback to class name conversion (may fail with minification)
|
|
@@ -283,8 +289,38 @@ export function Register(tagName) {
|
|
|
283
289
|
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')
|
|
284
290
|
.toLowerCase();
|
|
285
291
|
}
|
|
286
|
-
|
|
292
|
+
// Check if register method exists (for safety with inheritance)
|
|
293
|
+
if (typeof target.register === 'function') {
|
|
294
|
+
try {
|
|
295
|
+
target.register();
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
console.warn('Register decorator: failed to call register method', error);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
// Fallback: manually register the element
|
|
303
|
+
try {
|
|
304
|
+
const elementTagName = target.tagName || target.name
|
|
305
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')
|
|
306
|
+
.toLowerCase();
|
|
307
|
+
if (!customElements.get(elementTagName)) {
|
|
308
|
+
customElements.define(elementTagName, target);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
console.warn('Register decorator: failed to register custom element', error);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
287
315
|
return target;
|
|
288
316
|
};
|
|
317
|
+
// Check if used as @Register (without parentheses) - target is passed directly
|
|
318
|
+
if (typeof tagNameOrTarget === 'function') {
|
|
319
|
+
return registerClass(tagNameOrTarget);
|
|
320
|
+
}
|
|
321
|
+
// Used as @Register() or @Register('tag-name') - return decorator function
|
|
322
|
+
return function (target) {
|
|
323
|
+
return registerClass(target, tagNameOrTarget);
|
|
324
|
+
};
|
|
289
325
|
}
|
|
290
326
|
//# sourceMappingURL=AppView.js.map
|
package/dist/app/AppView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppView.js","sourceRoot":"","sources":["../../src/app/AppView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAO5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAgB,OAAoD,SAAQ,WAAW;IAOzF,YAAY,OAAwB;QAChC,KAAK,EAAE,CAAC;QAPF,WAAM,GAA0B,IAAI,CAAC;QACrC,WAAM,GAAkB,IAAI,CAAC;QAG/B,mBAAc,GAAY,KAAK,CAAC;QAKpC,IAAI,CAAC,QAAQ,GAAG;YACZ,eAAe,EAAE,iBAAiB;YAClC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;YACnB,GAAG,OAAO;SACb,CAAC;QAEF,gCAAgC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAiB,YAAY,WAAW,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,iBAAgC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,YAAY,WAAW,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAgC,CAAC;QACvD,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/B,mBAAmB;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3B,gCAAgC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAC5B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CAAC,eAAe,CAChC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU;QACb,kEAAkE;QAClE,IAAK,IAAY,CAAC,OAAO,IAAI,OAAQ,IAAY,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrE,OAAQ,IAAY,CAAC,OAAO,CAAC;QACjC,CAAC;QAED,kEAAkE;QAClE,OAAO,IAAI,CAAC,IAAI;aACX,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;aACtC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAW,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAgBD;;OAEG;IACH,IAAc,SAAS;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAc,MAAM;QAChB,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAc,GAAG;QACb,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACO,QAAQ,CAAC,IAAY;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;QAC7B,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,QAAQ,CAAyB,GAAM,EAAE,KAAgB;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACvD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAEzB,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,GAAa,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,SAAS,CAAC,OAAwB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACvD,OAAO;QACX,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpC,uCAAuC;QACvC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,gBAAyB,IAAI;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,SAAsB,EAAE;QACvC,0DAA0D;QAC1D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QAClB,yBAAyB;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACnB,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB;QAChB,wCAAwC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;CASJ;AAED
|
|
1
|
+
{"version":3,"file":"AppView.js","sourceRoot":"","sources":["../../src/app/AppView.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export declare class Router extends EventTarget {
|
|
|
42
42
|
start(): void;
|
|
43
43
|
/**
|
|
44
44
|
* Navigate to a specific path
|
|
45
|
-
* @param path - The path to navigate to (relative to basePath)
|
|
45
|
+
* @param path - The path to navigate to (relative to basePath), can include query string
|
|
46
46
|
* @param replaceState - If true, replaces current history entry instead of pushing
|
|
47
47
|
*/
|
|
48
48
|
navigate(path: string, replaceState?: boolean): Promise<void>;
|
|
@@ -89,4 +89,10 @@ export declare class Router extends EventTarget {
|
|
|
89
89
|
* @returns The generated URL (with basePath) or null if route not found
|
|
90
90
|
*/
|
|
91
91
|
generateUrl(path: string, params?: RouteParams): string | null;
|
|
92
|
+
/**
|
|
93
|
+
* Parse query string parameters from URL
|
|
94
|
+
* @param search - The query string (e.g., '?code=123&state=abc')
|
|
95
|
+
* @returns Object with query parameters
|
|
96
|
+
*/
|
|
97
|
+
private parseQueryParams;
|
|
92
98
|
}
|
|
@@ -22,7 +22,7 @@ export class Router extends EventTarget {
|
|
|
22
22
|
const link = target.closest('a[href]');
|
|
23
23
|
if (link && link.href.startsWith(window.location.origin) && !link.hasAttribute('target')) {
|
|
24
24
|
e.preventDefault();
|
|
25
|
-
this.navigate(link.pathname);
|
|
25
|
+
this.navigate(link.pathname + link.search);
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
}
|
|
@@ -91,21 +91,27 @@ export class Router extends EventTarget {
|
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
93
|
* Navigate to a specific path
|
|
94
|
-
* @param path - The path to navigate to (relative to basePath)
|
|
94
|
+
* @param path - The path to navigate to (relative to basePath), can include query string
|
|
95
95
|
* @param replaceState - If true, replaces current history entry instead of pushing
|
|
96
96
|
*/
|
|
97
97
|
async navigate(path, replaceState = false) {
|
|
98
|
+
// Split path and query string
|
|
99
|
+
const [pathPart, queryPart] = path.split('?');
|
|
98
100
|
// Strip basePath if present to get route path
|
|
99
|
-
const routePath = this.stripBasePath(
|
|
101
|
+
const routePath = this.stripBasePath(pathPart);
|
|
100
102
|
// Find matching route
|
|
101
103
|
const match = this.findRoute(routePath);
|
|
102
104
|
if (!match) {
|
|
103
105
|
this.emitNotFound(routePath);
|
|
104
106
|
return;
|
|
105
107
|
}
|
|
106
|
-
const { route, handler, params } = match;
|
|
107
|
-
//
|
|
108
|
-
const
|
|
108
|
+
const { route, handler, params: pathParams } = match;
|
|
109
|
+
// Parse query string parameters
|
|
110
|
+
const queryParams = this.parseQueryParams(queryPart || '');
|
|
111
|
+
// Merge path params and query params (query params can override path params)
|
|
112
|
+
const allParams = { ...pathParams, ...queryParams };
|
|
113
|
+
// Check route guard with merged params
|
|
114
|
+
const guardResult = await route.canEnter(allParams);
|
|
109
115
|
if (guardResult === false) {
|
|
110
116
|
// Navigation denied
|
|
111
117
|
console.warn(`Navigation to ${path} was denied by route guard`);
|
|
@@ -117,7 +123,7 @@ export class Router extends EventTarget {
|
|
|
117
123
|
return;
|
|
118
124
|
}
|
|
119
125
|
// Add basePath to create full URL
|
|
120
|
-
const fullPath = this.addBasePath(routePath);
|
|
126
|
+
const fullPath = this.addBasePath(routePath) + (queryPart ? '?' + queryPart : '');
|
|
121
127
|
// Update browser history
|
|
122
128
|
if (replaceState) {
|
|
123
129
|
window.history.replaceState({ path: fullPath }, '', fullPath);
|
|
@@ -125,8 +131,8 @@ export class Router extends EventTarget {
|
|
|
125
131
|
else {
|
|
126
132
|
window.history.pushState({ path: fullPath }, '', fullPath);
|
|
127
133
|
}
|
|
128
|
-
// Emit navigation event for Application.ts to handle
|
|
129
|
-
this.emitNavigation(routePath,
|
|
134
|
+
// Emit navigation event for Application.ts to handle with merged params
|
|
135
|
+
this.emitNavigation(routePath, allParams, handler, route.options.meta);
|
|
130
136
|
}
|
|
131
137
|
/**
|
|
132
138
|
* Get the current path (route pattern)
|
|
@@ -164,7 +170,8 @@ export class Router extends EventTarget {
|
|
|
164
170
|
*/
|
|
165
171
|
async handleRouteChange() {
|
|
166
172
|
const routePath = this.stripBasePath(window.location.pathname);
|
|
167
|
-
|
|
173
|
+
const fullPath = routePath + window.location.search;
|
|
174
|
+
await this.navigate(fullPath, true);
|
|
168
175
|
}
|
|
169
176
|
/**
|
|
170
177
|
* Strip base path from a full path
|
|
@@ -242,5 +249,26 @@ export class Router extends EventTarget {
|
|
|
242
249
|
const routePath = routeEntry.route.generate(params);
|
|
243
250
|
return this.addBasePath(routePath);
|
|
244
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Parse query string parameters from URL
|
|
254
|
+
* @param search - The query string (e.g., '?code=123&state=abc')
|
|
255
|
+
* @returns Object with query parameters
|
|
256
|
+
*/
|
|
257
|
+
parseQueryParams(search) {
|
|
258
|
+
const params = {};
|
|
259
|
+
if (!search || search.length <= 1) {
|
|
260
|
+
return params;
|
|
261
|
+
}
|
|
262
|
+
// Remove leading '?' if present
|
|
263
|
+
const queryString = search.startsWith('?') ? search.slice(1) : search;
|
|
264
|
+
// Parse each parameter
|
|
265
|
+
queryString.split('&').forEach(param => {
|
|
266
|
+
const [key, value] = param.split('=');
|
|
267
|
+
if (key) {
|
|
268
|
+
params[decodeURIComponent(key)] = value ? decodeURIComponent(value) : '';
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
return params;
|
|
272
|
+
}
|
|
245
273
|
}
|
|
246
274
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/navigation/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,WAAW;IASnC;QACI,KAAK,EAAE,CAAC;QATJ,WAAM,GAAyD,IAAI,GAAG,EAAE,CAAC;QAEzE,kBAAa,GAAY,KAAK,CAAC;QAC/B,aAAQ,GAAW,EAAE,CAAC;QACtB,iBAAY,GAAW,GAAG,CAAC;QAC3B,mBAAc,GAAgB,EAAE,CAAC;QAMrC,oDAAoD;QACpD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAsB,CAAC;YAE5D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvF,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/navigation/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Route parameters extracted from URL path
|
|
2
|
+
* Route parameters extracted from URL path and query string
|
|
3
|
+
* Path params come from :param patterns in routes
|
|
4
|
+
* Query params come from ?key=value in the URL
|
|
3
5
|
*/
|
|
4
6
|
export type RouteParams = Record<string, string>;
|
|
5
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"AAmEA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,eAAe,EAAE,mBAAmB;IACpC,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,qBAAqB;CAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "application.ts",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Simplified Web SPA app framework with vanilla JavaScript and CSS",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
7
16
|
"files": [
|
|
8
|
-
"src/",
|
|
9
17
|
"dist/",
|
|
10
18
|
"README.md",
|
|
11
19
|
"LICENSE"
|
|
@@ -57,12 +65,13 @@
|
|
|
57
65
|
"template.ts": "^2.0.0"
|
|
58
66
|
},
|
|
59
67
|
"devDependencies": {
|
|
68
|
+
"@types/node": "^22.0.0",
|
|
60
69
|
"@typescript-eslint/eslint-plugin": "^8.18.0",
|
|
61
70
|
"@typescript-eslint/parser": "^8.18.0",
|
|
62
|
-
"
|
|
71
|
+
"eslint": "^8.57.0",
|
|
72
|
+
"terser": "^5.44.1",
|
|
63
73
|
"typescript": "^5.9.3",
|
|
64
|
-
"vite": "^7.2.4"
|
|
65
|
-
"eslint": "^8.57.0"
|
|
74
|
+
"vite": "^7.2.4"
|
|
66
75
|
},
|
|
67
76
|
"eslintConfig": {
|
|
68
77
|
"extends": [
|