@brandup/ui-app 1.0.19 → 1.0.21
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/dist/cjs/index.js +126 -86
- package/dist/cjs/index.js.map +1 -1
- package/dist/mjs/index.js +126 -87
- package/dist/mjs/index.js.map +1 -1
- package/dist/types.d.ts +28 -19
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -358,6 +358,7 @@ var url = /*#__PURE__*/Object.freeze({
|
|
|
358
358
|
default: urlHelper
|
|
359
359
|
});
|
|
360
360
|
|
|
361
|
+
const APP_TYPENAME = "brandup-ui-app";
|
|
361
362
|
const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
362
363
|
/**
|
|
363
364
|
* Base application class.
|
|
@@ -369,8 +370,9 @@ class Application extends ui.UIElement {
|
|
|
369
370
|
model;
|
|
370
371
|
/** Application middleware invoker. */
|
|
371
372
|
invoker;
|
|
372
|
-
|
|
373
|
-
|
|
373
|
+
__abort;
|
|
374
|
+
__isInited;
|
|
375
|
+
__isRuned;
|
|
374
376
|
__middlewares = {};
|
|
375
377
|
__globalSubmit;
|
|
376
378
|
__execNav; // current navigation invoking
|
|
@@ -381,13 +383,17 @@ class Application extends ui.UIElement {
|
|
|
381
383
|
this.model = model;
|
|
382
384
|
const core = { name: "app-root" };
|
|
383
385
|
this.invoker = new MiddlewareInvoker(core);
|
|
386
|
+
this.__abort = new AbortController();
|
|
384
387
|
}
|
|
385
|
-
get typeName() { return
|
|
388
|
+
get typeName() { return APP_TYPENAME; }
|
|
389
|
+
get current() { return this.__lastNav?.context; }
|
|
390
|
+
/** Application destroy signal. */
|
|
391
|
+
get abort() { return this.__abort.signal; }
|
|
386
392
|
/** @internal */
|
|
387
393
|
initialize(middlewares) {
|
|
388
|
-
if (this.
|
|
394
|
+
if (this.__isInited)
|
|
389
395
|
throw new Error('Application already initialized.');
|
|
390
|
-
this.
|
|
396
|
+
this.__isInited = true;
|
|
391
397
|
this.onInitialize();
|
|
392
398
|
middlewares.forEach(middleware => {
|
|
393
399
|
var name = middleware.name;
|
|
@@ -407,6 +413,7 @@ class Application extends ui.UIElement {
|
|
|
407
413
|
* @returns Middleware instance.
|
|
408
414
|
*/
|
|
409
415
|
middleware(name) {
|
|
416
|
+
this.__abort.signal.throwIfAborted();
|
|
410
417
|
const middleware = this.__middlewares[name];
|
|
411
418
|
if (!middleware)
|
|
412
419
|
throw new Error(`Middleware ${name} is not registered.`);
|
|
@@ -419,20 +426,28 @@ class Application extends ui.UIElement {
|
|
|
419
426
|
* @returns Promise of runned result.
|
|
420
427
|
*/
|
|
421
428
|
async run(contextData, element) {
|
|
429
|
+
if (this.__abort.signal.aborted)
|
|
430
|
+
throw new Error('Application is destroyed.');
|
|
431
|
+
if (this.__isRuned)
|
|
432
|
+
throw new Error('Application already run.');
|
|
433
|
+
this.__isRuned = true;
|
|
422
434
|
if (!contextData)
|
|
423
435
|
contextData = {};
|
|
424
|
-
|
|
425
|
-
|
|
436
|
+
element = element || BROWSER.body;
|
|
437
|
+
this.setElement(element);
|
|
426
438
|
const context = {
|
|
427
|
-
abort:
|
|
439
|
+
abort: this.__abort.signal,
|
|
428
440
|
app: this,
|
|
429
441
|
data: contextData
|
|
430
442
|
};
|
|
431
443
|
try {
|
|
432
444
|
await this.invoker.invoke("start", context);
|
|
433
445
|
console.info("app start success");
|
|
434
|
-
|
|
435
|
-
|
|
446
|
+
this.__abort.signal.throwIfAborted();
|
|
447
|
+
await this.invoker.invoke("loaded", context);
|
|
448
|
+
console.info("app load success");
|
|
449
|
+
this.__abort.signal.throwIfAborted();
|
|
450
|
+
element.addEventListener("submit", this.__globalSubmit = (e) => {
|
|
436
451
|
const form = e.target;
|
|
437
452
|
if (!form.classList.contains(result.FormClassName))
|
|
438
453
|
return;
|
|
@@ -440,23 +455,23 @@ class Application extends ui.UIElement {
|
|
|
440
455
|
this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
|
|
441
456
|
.catch(() => { });
|
|
442
457
|
}, false);
|
|
443
|
-
await this.invoker.invoke("loaded", context);
|
|
444
|
-
console.info("app load success");
|
|
445
|
-
abort.signal.throwIfAborted();
|
|
446
458
|
console.info("app runned");
|
|
447
|
-
|
|
448
|
-
|
|
459
|
+
}
|
|
460
|
+
catch (reason) {
|
|
461
|
+
console.error(`app run error: ${reason}`);
|
|
462
|
+
throw reason;
|
|
463
|
+
}
|
|
464
|
+
try {
|
|
465
|
+
await this.nav({ data: context.data, abort: this.__abort.signal });
|
|
449
466
|
}
|
|
450
467
|
catch (reason) {
|
|
451
468
|
if (reason === NAV_OVERIDE_ERROR) {
|
|
452
469
|
console.info(`app run nav overided`);
|
|
453
470
|
return context;
|
|
454
471
|
}
|
|
455
|
-
if (this.__globalSubmit)
|
|
456
|
-
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
457
|
-
console.error(`app run error: ${reason}`);
|
|
458
472
|
throw reason;
|
|
459
473
|
}
|
|
474
|
+
return context;
|
|
460
475
|
}
|
|
461
476
|
/**
|
|
462
477
|
* Navigate application to url.
|
|
@@ -476,14 +491,17 @@ class Application extends ui.UIElement {
|
|
|
476
491
|
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
477
492
|
parentNav.context.overided = true;
|
|
478
493
|
}
|
|
479
|
-
const
|
|
480
|
-
const
|
|
481
|
-
|
|
482
|
-
|
|
494
|
+
const navIndex = parentNav ? parentNav.context.index + 1 : 1;
|
|
495
|
+
const navAbort = new AbortController();
|
|
496
|
+
const aborts = [this.__abort.signal, navAbort.signal];
|
|
497
|
+
if (opt.abort)
|
|
498
|
+
aborts.push(opt.abort);
|
|
499
|
+
const complextAbort = AbortSignal.any(aborts);
|
|
483
500
|
const context = {
|
|
501
|
+
index: navIndex,
|
|
484
502
|
source: isFirst ? "first" : "nav",
|
|
485
503
|
app: this,
|
|
486
|
-
abort:
|
|
504
|
+
abort: complextAbort,
|
|
487
505
|
current: this.__lastNav?.context,
|
|
488
506
|
parent: parentNav?.context,
|
|
489
507
|
overided: false,
|
|
@@ -495,17 +513,78 @@ class Application extends ui.UIElement {
|
|
|
495
513
|
query: navUrl.query,
|
|
496
514
|
hash: navUrl.hash,
|
|
497
515
|
external: navUrl.external,
|
|
498
|
-
replace
|
|
516
|
+
replace,
|
|
517
|
+
redirect: async (options) => {
|
|
518
|
+
complextAbort.throwIfAborted();
|
|
519
|
+
const result = await this.nav(options);
|
|
520
|
+
complextAbort.throwIfAborted();
|
|
521
|
+
return result;
|
|
522
|
+
}
|
|
499
523
|
};
|
|
500
|
-
const currentNav = {
|
|
524
|
+
const currentNav = { method: "navigate", context, abort: navAbort, status: "work" };
|
|
501
525
|
await this.__execNavigate(currentNav);
|
|
502
526
|
return context;
|
|
503
527
|
}
|
|
528
|
+
/**
|
|
529
|
+
* Reload page with nav.
|
|
530
|
+
*/
|
|
531
|
+
reload() {
|
|
532
|
+
this.__abort.signal.throwIfAborted();
|
|
533
|
+
return this.nav({ replace: true });
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* Global reload page in browser.
|
|
537
|
+
*/
|
|
538
|
+
restart() {
|
|
539
|
+
this.__abort.signal.throwIfAborted();
|
|
540
|
+
BROWSER.reload();
|
|
541
|
+
}
|
|
542
|
+
async destroy(contextData) {
|
|
543
|
+
if (this.__abort.signal.aborted)
|
|
544
|
+
return Promise.reject('Application already destroyed.');
|
|
545
|
+
this.__abort.abort();
|
|
546
|
+
console.info("app destroy begin");
|
|
547
|
+
if (this.__execNav)
|
|
548
|
+
this.__execNav.abort.abort();
|
|
549
|
+
if (this.__lastNav)
|
|
550
|
+
this.__lastNav.abort.abort();
|
|
551
|
+
if (this.__globalSubmit)
|
|
552
|
+
this.element?.removeEventListener("submit", this.__globalSubmit);
|
|
553
|
+
const destroyAbort = new AbortController();
|
|
554
|
+
const context = {
|
|
555
|
+
abort: destroyAbort.signal,
|
|
556
|
+
app: this,
|
|
557
|
+
data: contextData || {}
|
|
558
|
+
};
|
|
559
|
+
try {
|
|
560
|
+
await this.invoker.invoke("stop", context);
|
|
561
|
+
console.info("app destroy success");
|
|
562
|
+
return context;
|
|
563
|
+
}
|
|
564
|
+
catch (reason) {
|
|
565
|
+
console.error(`app destroy error: ${reason}`);
|
|
566
|
+
throw reason;
|
|
567
|
+
}
|
|
568
|
+
finally {
|
|
569
|
+
super.destroy();
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Generate url of application base url.
|
|
574
|
+
* @param path Add optional path of base url.
|
|
575
|
+
* @param query Add optional query params.
|
|
576
|
+
* @param hash Add optional hash.
|
|
577
|
+
* @returns Relative url with base path.
|
|
578
|
+
*/
|
|
579
|
+
buildUrl(path, query, hash) {
|
|
580
|
+
this.__abort.signal.throwIfAborted();
|
|
581
|
+
return urlHelper.buildUrl(this.env.basePath, path, query, hash);
|
|
582
|
+
}
|
|
504
583
|
async __onSubmit(options) {
|
|
505
584
|
const opt = options instanceof HTMLFormElement ? { form: options } : options;
|
|
506
585
|
const { form, button = null, query, data = {} } = opt;
|
|
507
586
|
if (!form.checkValidity())
|
|
508
|
-
|
|
587
|
+
throw new Error('Form is invalid.');
|
|
509
588
|
let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
|
|
510
589
|
let method = form.method;
|
|
511
590
|
let enctype = form.enctype;
|
|
@@ -522,12 +601,12 @@ class Application extends ui.UIElement {
|
|
|
522
601
|
replace = true;
|
|
523
602
|
}
|
|
524
603
|
if (form.classList.contains(result.LoadingElementClass))
|
|
525
|
-
|
|
604
|
+
throw new Error('Form already submitting.');
|
|
526
605
|
form.classList.add(result.LoadingElementClass);
|
|
527
606
|
method = method.toUpperCase();
|
|
528
607
|
try {
|
|
529
608
|
if (method === "GET")
|
|
530
|
-
await this.nav({ url, query: new FormData(form), data: data, replace });
|
|
609
|
+
await this.nav({ url, query: new FormData(form), data: data, replace, abort: opt.abort });
|
|
531
610
|
else {
|
|
532
611
|
const navUrl = urlHelper.parseUrl(url);
|
|
533
612
|
if (query)
|
|
@@ -538,14 +617,17 @@ class Application extends ui.UIElement {
|
|
|
538
617
|
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
539
618
|
parentNav.context.overided = true;
|
|
540
619
|
}
|
|
541
|
-
const
|
|
542
|
-
const
|
|
543
|
-
|
|
544
|
-
|
|
620
|
+
const navIndex = parentNav ? parentNav.context.index + 1 : 1;
|
|
621
|
+
const submitAbort = new AbortController();
|
|
622
|
+
const aborts = [this.__abort.signal, submitAbort.signal];
|
|
623
|
+
if (opt.abort)
|
|
624
|
+
aborts.push(opt.abort);
|
|
625
|
+
const complextAbort = AbortSignal.any(aborts);
|
|
545
626
|
let context = {
|
|
627
|
+
index: navIndex,
|
|
546
628
|
source: "submit",
|
|
547
629
|
app: this,
|
|
548
|
-
abort:
|
|
630
|
+
abort: complextAbort,
|
|
549
631
|
current: this.__lastNav?.context,
|
|
550
632
|
parent: parentNav?.context,
|
|
551
633
|
overided: false,
|
|
@@ -561,9 +643,15 @@ class Application extends ui.UIElement {
|
|
|
561
643
|
query: navUrl.query,
|
|
562
644
|
hash: navUrl.hash,
|
|
563
645
|
external: navUrl.external,
|
|
564
|
-
replace
|
|
646
|
+
replace,
|
|
647
|
+
redirect: async (options) => {
|
|
648
|
+
complextAbort.throwIfAborted();
|
|
649
|
+
const result = await this.nav(options);
|
|
650
|
+
complextAbort.throwIfAborted();
|
|
651
|
+
return result;
|
|
652
|
+
}
|
|
565
653
|
};
|
|
566
|
-
const currentNav = {
|
|
654
|
+
const currentNav = { method: "submit", context, abort: submitAbort, status: "work" };
|
|
567
655
|
await this.__execNavigate(currentNav);
|
|
568
656
|
}
|
|
569
657
|
}
|
|
@@ -573,60 +661,11 @@ class Application extends ui.UIElement {
|
|
|
573
661
|
button.classList.remove(result.LoadingElementClass);
|
|
574
662
|
}
|
|
575
663
|
}
|
|
576
|
-
/**
|
|
577
|
-
* Reload page with nav.
|
|
578
|
-
*/
|
|
579
|
-
reload() {
|
|
580
|
-
return this.nav({ replace: true });
|
|
581
|
-
}
|
|
582
|
-
/**
|
|
583
|
-
* Global reload page in browser.
|
|
584
|
-
*/
|
|
585
|
-
restart() {
|
|
586
|
-
BROWSER.reload();
|
|
587
|
-
}
|
|
588
|
-
async destroy(contextData) {
|
|
589
|
-
if (this.__isDestroy)
|
|
590
|
-
return Promise.reject('Application already destroyed.');
|
|
591
|
-
this.__isDestroy = true;
|
|
592
|
-
console.info("app destroy begin");
|
|
593
|
-
if (this.__globalSubmit)
|
|
594
|
-
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
595
|
-
if (this.__execNav)
|
|
596
|
-
this.__execNav.abort.abort();
|
|
597
|
-
const abort = new AbortController();
|
|
598
|
-
const context = {
|
|
599
|
-
abort: abort.signal,
|
|
600
|
-
app: this,
|
|
601
|
-
data: contextData || {}
|
|
602
|
-
};
|
|
603
|
-
try {
|
|
604
|
-
await this.invoker.invoke("stop", context);
|
|
605
|
-
console.info("app destroy success");
|
|
606
|
-
return context;
|
|
607
|
-
}
|
|
608
|
-
catch (reason) {
|
|
609
|
-
console.error(`app destroy error: ${reason}`);
|
|
610
|
-
throw reason;
|
|
611
|
-
}
|
|
612
|
-
finally {
|
|
613
|
-
super.destroy();
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
/**
|
|
617
|
-
* Generate url of application base url.
|
|
618
|
-
* @param path Add optional path of base url.
|
|
619
|
-
* @param query Add optional query params.
|
|
620
|
-
* @param hash Add optional hash.
|
|
621
|
-
* @returns Relative url with base path.
|
|
622
|
-
*/
|
|
623
|
-
buildUrl(path, query, hash) {
|
|
624
|
-
return urlHelper.buildUrl(this.env.basePath, path, query, hash);
|
|
625
|
-
}
|
|
626
664
|
async __execNavigate(nav) {
|
|
627
|
-
this.__execNav = nav;
|
|
628
665
|
try {
|
|
629
666
|
console.info(`${nav.method} begin`, nav.context);
|
|
667
|
+
nav.context.abort.throwIfAborted();
|
|
668
|
+
this.__execNav = nav;
|
|
630
669
|
await this.invoker.invoke(nav.method, nav.context);
|
|
631
670
|
this.__lastNav = nav;
|
|
632
671
|
nav.status = "success";
|
|
@@ -683,6 +722,7 @@ class ApplicationBuilder {
|
|
|
683
722
|
}
|
|
684
723
|
}
|
|
685
724
|
|
|
725
|
+
exports.APP_TYPENAME = APP_TYPENAME;
|
|
686
726
|
exports.Application = Application;
|
|
687
727
|
exports.ApplicationBuilder = ApplicationBuilder;
|
|
688
728
|
exports.BROWSER = browser;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","UIElement","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","UIElement","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
|
package/dist/mjs/index.js
CHANGED
|
@@ -356,6 +356,7 @@ var url = /*#__PURE__*/Object.freeze({
|
|
|
356
356
|
default: urlHelper
|
|
357
357
|
});
|
|
358
358
|
|
|
359
|
+
const APP_TYPENAME = "brandup-ui-app";
|
|
359
360
|
const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
360
361
|
/**
|
|
361
362
|
* Base application class.
|
|
@@ -367,8 +368,9 @@ class Application extends UIElement {
|
|
|
367
368
|
model;
|
|
368
369
|
/** Application middleware invoker. */
|
|
369
370
|
invoker;
|
|
370
|
-
|
|
371
|
-
|
|
371
|
+
__abort;
|
|
372
|
+
__isInited;
|
|
373
|
+
__isRuned;
|
|
372
374
|
__middlewares = {};
|
|
373
375
|
__globalSubmit;
|
|
374
376
|
__execNav; // current navigation invoking
|
|
@@ -379,13 +381,17 @@ class Application extends UIElement {
|
|
|
379
381
|
this.model = model;
|
|
380
382
|
const core = { name: "app-root" };
|
|
381
383
|
this.invoker = new MiddlewareInvoker(core);
|
|
384
|
+
this.__abort = new AbortController();
|
|
382
385
|
}
|
|
383
|
-
get typeName() { return
|
|
386
|
+
get typeName() { return APP_TYPENAME; }
|
|
387
|
+
get current() { return this.__lastNav?.context; }
|
|
388
|
+
/** Application destroy signal. */
|
|
389
|
+
get abort() { return this.__abort.signal; }
|
|
384
390
|
/** @internal */
|
|
385
391
|
initialize(middlewares) {
|
|
386
|
-
if (this.
|
|
392
|
+
if (this.__isInited)
|
|
387
393
|
throw new Error('Application already initialized.');
|
|
388
|
-
this.
|
|
394
|
+
this.__isInited = true;
|
|
389
395
|
this.onInitialize();
|
|
390
396
|
middlewares.forEach(middleware => {
|
|
391
397
|
var name = middleware.name;
|
|
@@ -405,6 +411,7 @@ class Application extends UIElement {
|
|
|
405
411
|
* @returns Middleware instance.
|
|
406
412
|
*/
|
|
407
413
|
middleware(name) {
|
|
414
|
+
this.__abort.signal.throwIfAborted();
|
|
408
415
|
const middleware = this.__middlewares[name];
|
|
409
416
|
if (!middleware)
|
|
410
417
|
throw new Error(`Middleware ${name} is not registered.`);
|
|
@@ -417,20 +424,28 @@ class Application extends UIElement {
|
|
|
417
424
|
* @returns Promise of runned result.
|
|
418
425
|
*/
|
|
419
426
|
async run(contextData, element) {
|
|
427
|
+
if (this.__abort.signal.aborted)
|
|
428
|
+
throw new Error('Application is destroyed.');
|
|
429
|
+
if (this.__isRuned)
|
|
430
|
+
throw new Error('Application already run.');
|
|
431
|
+
this.__isRuned = true;
|
|
420
432
|
if (!contextData)
|
|
421
433
|
contextData = {};
|
|
422
|
-
|
|
423
|
-
|
|
434
|
+
element = element || BROWSER.body;
|
|
435
|
+
this.setElement(element);
|
|
424
436
|
const context = {
|
|
425
|
-
abort:
|
|
437
|
+
abort: this.__abort.signal,
|
|
426
438
|
app: this,
|
|
427
439
|
data: contextData
|
|
428
440
|
};
|
|
429
441
|
try {
|
|
430
442
|
await this.invoker.invoke("start", context);
|
|
431
443
|
console.info("app start success");
|
|
432
|
-
|
|
433
|
-
|
|
444
|
+
this.__abort.signal.throwIfAborted();
|
|
445
|
+
await this.invoker.invoke("loaded", context);
|
|
446
|
+
console.info("app load success");
|
|
447
|
+
this.__abort.signal.throwIfAborted();
|
|
448
|
+
element.addEventListener("submit", this.__globalSubmit = (e) => {
|
|
434
449
|
const form = e.target;
|
|
435
450
|
if (!form.classList.contains(result.FormClassName))
|
|
436
451
|
return;
|
|
@@ -438,23 +453,23 @@ class Application extends UIElement {
|
|
|
438
453
|
this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
|
|
439
454
|
.catch(() => { });
|
|
440
455
|
}, false);
|
|
441
|
-
await this.invoker.invoke("loaded", context);
|
|
442
|
-
console.info("app load success");
|
|
443
|
-
abort.signal.throwIfAborted();
|
|
444
456
|
console.info("app runned");
|
|
445
|
-
|
|
446
|
-
|
|
457
|
+
}
|
|
458
|
+
catch (reason) {
|
|
459
|
+
console.error(`app run error: ${reason}`);
|
|
460
|
+
throw reason;
|
|
461
|
+
}
|
|
462
|
+
try {
|
|
463
|
+
await this.nav({ data: context.data, abort: this.__abort.signal });
|
|
447
464
|
}
|
|
448
465
|
catch (reason) {
|
|
449
466
|
if (reason === NAV_OVERIDE_ERROR) {
|
|
450
467
|
console.info(`app run nav overided`);
|
|
451
468
|
return context;
|
|
452
469
|
}
|
|
453
|
-
if (this.__globalSubmit)
|
|
454
|
-
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
455
|
-
console.error(`app run error: ${reason}`);
|
|
456
470
|
throw reason;
|
|
457
471
|
}
|
|
472
|
+
return context;
|
|
458
473
|
}
|
|
459
474
|
/**
|
|
460
475
|
* Navigate application to url.
|
|
@@ -474,14 +489,17 @@ class Application extends UIElement {
|
|
|
474
489
|
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
475
490
|
parentNav.context.overided = true;
|
|
476
491
|
}
|
|
477
|
-
const
|
|
478
|
-
const
|
|
479
|
-
|
|
480
|
-
|
|
492
|
+
const navIndex = parentNav ? parentNav.context.index + 1 : 1;
|
|
493
|
+
const navAbort = new AbortController();
|
|
494
|
+
const aborts = [this.__abort.signal, navAbort.signal];
|
|
495
|
+
if (opt.abort)
|
|
496
|
+
aborts.push(opt.abort);
|
|
497
|
+
const complextAbort = AbortSignal.any(aborts);
|
|
481
498
|
const context = {
|
|
499
|
+
index: navIndex,
|
|
482
500
|
source: isFirst ? "first" : "nav",
|
|
483
501
|
app: this,
|
|
484
|
-
abort:
|
|
502
|
+
abort: complextAbort,
|
|
485
503
|
current: this.__lastNav?.context,
|
|
486
504
|
parent: parentNav?.context,
|
|
487
505
|
overided: false,
|
|
@@ -493,17 +511,78 @@ class Application extends UIElement {
|
|
|
493
511
|
query: navUrl.query,
|
|
494
512
|
hash: navUrl.hash,
|
|
495
513
|
external: navUrl.external,
|
|
496
|
-
replace
|
|
514
|
+
replace,
|
|
515
|
+
redirect: async (options) => {
|
|
516
|
+
complextAbort.throwIfAborted();
|
|
517
|
+
const result = await this.nav(options);
|
|
518
|
+
complextAbort.throwIfAborted();
|
|
519
|
+
return result;
|
|
520
|
+
}
|
|
497
521
|
};
|
|
498
|
-
const currentNav = {
|
|
522
|
+
const currentNav = { method: "navigate", context, abort: navAbort, status: "work" };
|
|
499
523
|
await this.__execNavigate(currentNav);
|
|
500
524
|
return context;
|
|
501
525
|
}
|
|
526
|
+
/**
|
|
527
|
+
* Reload page with nav.
|
|
528
|
+
*/
|
|
529
|
+
reload() {
|
|
530
|
+
this.__abort.signal.throwIfAborted();
|
|
531
|
+
return this.nav({ replace: true });
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Global reload page in browser.
|
|
535
|
+
*/
|
|
536
|
+
restart() {
|
|
537
|
+
this.__abort.signal.throwIfAborted();
|
|
538
|
+
BROWSER.reload();
|
|
539
|
+
}
|
|
540
|
+
async destroy(contextData) {
|
|
541
|
+
if (this.__abort.signal.aborted)
|
|
542
|
+
return Promise.reject('Application already destroyed.');
|
|
543
|
+
this.__abort.abort();
|
|
544
|
+
console.info("app destroy begin");
|
|
545
|
+
if (this.__execNav)
|
|
546
|
+
this.__execNav.abort.abort();
|
|
547
|
+
if (this.__lastNav)
|
|
548
|
+
this.__lastNav.abort.abort();
|
|
549
|
+
if (this.__globalSubmit)
|
|
550
|
+
this.element?.removeEventListener("submit", this.__globalSubmit);
|
|
551
|
+
const destroyAbort = new AbortController();
|
|
552
|
+
const context = {
|
|
553
|
+
abort: destroyAbort.signal,
|
|
554
|
+
app: this,
|
|
555
|
+
data: contextData || {}
|
|
556
|
+
};
|
|
557
|
+
try {
|
|
558
|
+
await this.invoker.invoke("stop", context);
|
|
559
|
+
console.info("app destroy success");
|
|
560
|
+
return context;
|
|
561
|
+
}
|
|
562
|
+
catch (reason) {
|
|
563
|
+
console.error(`app destroy error: ${reason}`);
|
|
564
|
+
throw reason;
|
|
565
|
+
}
|
|
566
|
+
finally {
|
|
567
|
+
super.destroy();
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Generate url of application base url.
|
|
572
|
+
* @param path Add optional path of base url.
|
|
573
|
+
* @param query Add optional query params.
|
|
574
|
+
* @param hash Add optional hash.
|
|
575
|
+
* @returns Relative url with base path.
|
|
576
|
+
*/
|
|
577
|
+
buildUrl(path, query, hash) {
|
|
578
|
+
this.__abort.signal.throwIfAborted();
|
|
579
|
+
return urlHelper.buildUrl(this.env.basePath, path, query, hash);
|
|
580
|
+
}
|
|
502
581
|
async __onSubmit(options) {
|
|
503
582
|
const opt = options instanceof HTMLFormElement ? { form: options } : options;
|
|
504
583
|
const { form, button = null, query, data = {} } = opt;
|
|
505
584
|
if (!form.checkValidity())
|
|
506
|
-
|
|
585
|
+
throw new Error('Form is invalid.');
|
|
507
586
|
let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
|
|
508
587
|
let method = form.method;
|
|
509
588
|
let enctype = form.enctype;
|
|
@@ -520,12 +599,12 @@ class Application extends UIElement {
|
|
|
520
599
|
replace = true;
|
|
521
600
|
}
|
|
522
601
|
if (form.classList.contains(result.LoadingElementClass))
|
|
523
|
-
|
|
602
|
+
throw new Error('Form already submitting.');
|
|
524
603
|
form.classList.add(result.LoadingElementClass);
|
|
525
604
|
method = method.toUpperCase();
|
|
526
605
|
try {
|
|
527
606
|
if (method === "GET")
|
|
528
|
-
await this.nav({ url, query: new FormData(form), data: data, replace });
|
|
607
|
+
await this.nav({ url, query: new FormData(form), data: data, replace, abort: opt.abort });
|
|
529
608
|
else {
|
|
530
609
|
const navUrl = urlHelper.parseUrl(url);
|
|
531
610
|
if (query)
|
|
@@ -536,14 +615,17 @@ class Application extends UIElement {
|
|
|
536
615
|
parentNav.abort.abort(NAV_OVERIDE_ERROR);
|
|
537
616
|
parentNav.context.overided = true;
|
|
538
617
|
}
|
|
539
|
-
const
|
|
540
|
-
const
|
|
541
|
-
|
|
542
|
-
|
|
618
|
+
const navIndex = parentNav ? parentNav.context.index + 1 : 1;
|
|
619
|
+
const submitAbort = new AbortController();
|
|
620
|
+
const aborts = [this.__abort.signal, submitAbort.signal];
|
|
621
|
+
if (opt.abort)
|
|
622
|
+
aborts.push(opt.abort);
|
|
623
|
+
const complextAbort = AbortSignal.any(aborts);
|
|
543
624
|
let context = {
|
|
625
|
+
index: navIndex,
|
|
544
626
|
source: "submit",
|
|
545
627
|
app: this,
|
|
546
|
-
abort:
|
|
628
|
+
abort: complextAbort,
|
|
547
629
|
current: this.__lastNav?.context,
|
|
548
630
|
parent: parentNav?.context,
|
|
549
631
|
overided: false,
|
|
@@ -559,9 +641,15 @@ class Application extends UIElement {
|
|
|
559
641
|
query: navUrl.query,
|
|
560
642
|
hash: navUrl.hash,
|
|
561
643
|
external: navUrl.external,
|
|
562
|
-
replace
|
|
644
|
+
replace,
|
|
645
|
+
redirect: async (options) => {
|
|
646
|
+
complextAbort.throwIfAborted();
|
|
647
|
+
const result = await this.nav(options);
|
|
648
|
+
complextAbort.throwIfAborted();
|
|
649
|
+
return result;
|
|
650
|
+
}
|
|
563
651
|
};
|
|
564
|
-
const currentNav = {
|
|
652
|
+
const currentNav = { method: "submit", context, abort: submitAbort, status: "work" };
|
|
565
653
|
await this.__execNavigate(currentNav);
|
|
566
654
|
}
|
|
567
655
|
}
|
|
@@ -571,60 +659,11 @@ class Application extends UIElement {
|
|
|
571
659
|
button.classList.remove(result.LoadingElementClass);
|
|
572
660
|
}
|
|
573
661
|
}
|
|
574
|
-
/**
|
|
575
|
-
* Reload page with nav.
|
|
576
|
-
*/
|
|
577
|
-
reload() {
|
|
578
|
-
return this.nav({ replace: true });
|
|
579
|
-
}
|
|
580
|
-
/**
|
|
581
|
-
* Global reload page in browser.
|
|
582
|
-
*/
|
|
583
|
-
restart() {
|
|
584
|
-
BROWSER.reload();
|
|
585
|
-
}
|
|
586
|
-
async destroy(contextData) {
|
|
587
|
-
if (this.__isDestroy)
|
|
588
|
-
return Promise.reject('Application already destroyed.');
|
|
589
|
-
this.__isDestroy = true;
|
|
590
|
-
console.info("app destroy begin");
|
|
591
|
-
if (this.__globalSubmit)
|
|
592
|
-
BROWSER.window.removeEventListener("submit", this.__globalSubmit);
|
|
593
|
-
if (this.__execNav)
|
|
594
|
-
this.__execNav.abort.abort();
|
|
595
|
-
const abort = new AbortController();
|
|
596
|
-
const context = {
|
|
597
|
-
abort: abort.signal,
|
|
598
|
-
app: this,
|
|
599
|
-
data: contextData || {}
|
|
600
|
-
};
|
|
601
|
-
try {
|
|
602
|
-
await this.invoker.invoke("stop", context);
|
|
603
|
-
console.info("app destroy success");
|
|
604
|
-
return context;
|
|
605
|
-
}
|
|
606
|
-
catch (reason) {
|
|
607
|
-
console.error(`app destroy error: ${reason}`);
|
|
608
|
-
throw reason;
|
|
609
|
-
}
|
|
610
|
-
finally {
|
|
611
|
-
super.destroy();
|
|
612
|
-
}
|
|
613
|
-
}
|
|
614
|
-
/**
|
|
615
|
-
* Generate url of application base url.
|
|
616
|
-
* @param path Add optional path of base url.
|
|
617
|
-
* @param query Add optional query params.
|
|
618
|
-
* @param hash Add optional hash.
|
|
619
|
-
* @returns Relative url with base path.
|
|
620
|
-
*/
|
|
621
|
-
buildUrl(path, query, hash) {
|
|
622
|
-
return urlHelper.buildUrl(this.env.basePath, path, query, hash);
|
|
623
|
-
}
|
|
624
662
|
async __execNavigate(nav) {
|
|
625
|
-
this.__execNav = nav;
|
|
626
663
|
try {
|
|
627
664
|
console.info(`${nav.method} begin`, nav.context);
|
|
665
|
+
nav.context.abort.throwIfAborted();
|
|
666
|
+
this.__execNav = nav;
|
|
628
667
|
await this.invoker.invoke(nav.method, nav.context);
|
|
629
668
|
this.__lastNav = nav;
|
|
630
669
|
nav.status = "success";
|
|
@@ -681,5 +720,5 @@ class ApplicationBuilder {
|
|
|
681
720
|
}
|
|
682
721
|
}
|
|
683
722
|
|
|
684
|
-
export { Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
|
|
723
|
+
export { APP_TYPENAME, Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
|
|
685
724
|
//# sourceMappingURL=index.js.map
|
package/dist/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware"],"mappings":";;MAEa,iBAAiB,CAAA;AACpB,IAAA,UAAU,CAAa;AACxB,IAAA,MAAM,CAAqB;AAEnC,IAAA,WAAA,CAAY,UAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAC7B;AAED,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,IAAI,IAAI,CAAC,MAAM;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;YAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;KACjD;IAED,MAAM,CAAiC,MAAc,EAAE,OAAiB,EAAA;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC;AAEO,IAAA,MAAM,MAAM,CAAC,MAAc,EAAE,OAAsB,EAAA;AAC1D,QAAA,MAAM,QAAQ,GAAmB,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;AAE7G,QAAA,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAE/B,MAAM,UAAU,GAAqB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7D,QAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACrC,YAAA,MAAM,YAAY,GAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAExF,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,YAAY,OAAO,CAAC;AACtD,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA,UAAA,EAAa,MAAM,CAAA,eAAA,CAAiB,CAAC,CAAC;AAE1F,YAAA,MAAM,YAAY,CAAC;SACnB;;YAEA,MAAM,QAAQ,EAAE,CAAC;KAClB;AACD;;ACxBD,MAAM,MAAM,GAAc;AACzB,IAAA,mBAAmB,EAAE,SAAS;AAC9B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,0BAA0B,EAAE,kBAAkB;AAC9C,IAAA,sBAAsB,EAAE,iBAAiB;AACzC,IAAA,WAAW,EAAE;AACZ,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,KAAK,EAAE,gBAAgB;AACvB,KAAA;CACD;;;;;;;ACvBM,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD,MAAM,sBAAsB,GAAG,MAAiB;IAC/C,IAAI,OAAO,GAAW,CAAC,CAAC;AAGxB,IAAA,MAAM,KAAK,GAAG,CAAC,OAAsB,KAAI;AACxC,QAAA,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AAGf,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAClE;AACF,KAAC,CAAA;AAED,IAAA,MAAM,GAAG,GAAG,CAAC,OAAsB,KAAI;AACtC,QAAA,OAAO,EAAE,CAAC;AAEV,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE;YACjB,OAAO,GAAG,CAAC,CAAC;AAEZ,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACjE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACrE;AACF,KAAC,CAAA;IAED,OAAO;AACN,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;AAEf,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;aACb;YACD,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC,CAAC;AACb,gBAAA,MAAM,MAAM,CAAC;aACb;SACD;AACD,QAAA,MAAM,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;AAC7D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;AAEb,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAChE;YACD,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC,CAAC;AACb,gBAAA,MAAM,MAAM,CAAC;aACb;SACD;AACD,QAAA,QAAQ,EAAE,OAAO,OAAwB,EAAE,IAAoB,KAAI;YAClE,KAAK,CAAC,OAAO,CAAC,CAAC;AAEf,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;aACb;oBACO;AACP,gBAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO;oBAC5B,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEd,GAAG,CAAC,OAAO,CAAC,CAAC;aACb;SACD;AACD,QAAA,MAAM,EAAE,OAAO,OAAsB,EAAE,IAAoB,KAAI;AAC9D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE,CAAC;aACb;oBACO;gBACP,GAAG,CAAC,OAAO,CAAC,CAAC;aACb;SACD;AACD,QAAA,IAAI,EAAE,OAAO,QAAqB,EAAE,IAAoB,KAAI;YAC3D,MAAM,IAAI,EAAE,CAAC;SACb;KACD,CAAC;AACH,CAAC;;AChFD,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACtB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE5B,cAAe;AACd,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,QAAQ,EAAE,GAAG;IACb,IAAI;AACJ,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE;CAC1B;;;;;;;ACPM,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAEzD,MAAM,0BAA0B,GAAG,MAAiB;IACnD,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAA,MAAM,WAAW,GAAG,CAAC,CAAgB,KAAK,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;AACpE,IAAA,IAAI,OAA4C,CAAC;IAEjD,OAAO;AACN,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,MAAM,IAAI,EAAE,CAAC;AAEb,YAAA,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAa,KAAI;AACpE,gBAAA,IAAI,IAAI,GAAgB,CAAC,CAAC,MAAc,CAAC;gBACzC,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,OAAO,IAAI,EAAE;AACZ,oBAAA,IAAI,IAAI,YAAY,OAAO,EAAE;wBAC5B,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,sBAAsB,CAAC,EAAE;4BACxD,MAAM,GAAG,IAAI,CAAC;4BACd,MAAM;yBACN;AAED,wBAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,eAAe,CAAC;4BACvE,MAAM;qBACP;AAED,oBAAA,IAAI,IAAI,KAAK,CAAC,CAAC,aAAa;wBAC3B,OAAO;AAER,oBAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;iBAC1B;AAED,gBAAA,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBACrE,OAAO;gBAER,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AAEpB,gBAAA,IAAI,MAAM;oBACT,OAAO;AAER,gBAAA,IAAI,GAAkB,CAAC;AACvB,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG;AACvB,oBAAA,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC5B,qBAAA,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACxD,GAAG,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;;AAEvD,oBAAA,MAAM,+BAA+B,CAAC;gBAEvC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACzD,OAAO;gBACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAElD,gBAAA,OAAO,CAAC,GAAG;qBACT,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;AACzG,qBAAA,KAAK,CAAC,MAAK,GAAI,CAAC;AAChB,qBAAA,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACtE,EAAE,KAAK,CAAC,CAAC;YAEV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SAC7D;AACD,QAAA,IAAI,EAAE,CAAC,QAAqB,EAAE,IAAoB,KAAI;YACrD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAEhE,OAAO,IAAI,EAAE,CAAC;SACd;KACD,CAAC;AACH,CAAC;;ACvED,MAAM,QAAQ,GAAG,CAAC,GAAkB,KAAe;AAClD,IAAA,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7B,IAAA,IAAI,MAAM,GAAW,GAAG,CAAC,MAAM,CAAC;AAChC,IAAA,IAAI,IAAY,CAAC;IACjB,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,CAAC,GAAG,EAAE;AACT,QAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAEpB,IAAI,GAAG,CAAC,MAAM;YACb,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,GAAG,CAAC,IAAI;AACX,YAAA,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;KACjB;SACI;AACJ,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACxB,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpB,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,GAAG,GAAG,CAAC;SACX;AACI,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,YAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACrB,gBAAA,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;aAClC;AAED,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;AACpB,YAAA,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;SACjC;AACI,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE;AACvB,gBAAA,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC;aAClB;AAED,YAAA,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;AAClB,YAAA,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC;AACvB,YAAA,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;SACtB;aACI;YACJ,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,YAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACrB,gBAAA,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;aAClC;YAED,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACxC,YAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACtB,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;aACnC;YAED,IAAI,GAAG,GAAG,CAAC;YAEX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC1B,gBAAA,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC3B,gBAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACxB,oBAAA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpD,gBAAA,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;aAC5B;SACD;KACD;AAED,IAAA,IAAI,CAAC,IAAI;QACR,IAAI,GAAG,GAAG,CAAC;SACP,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC7C,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAE3C,IAAA,IAAI,CAAC,KAAK;AACT,QAAA,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IAE/B,IAAI,IAAI,KAAK,GAAG;QACf,IAAI,GAAG,IAAI,CAAC;AACR,SAAA,IAAI,IAAI;AACZ,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE1B,IAAA,IAAI,MAAM,GAAG;AACZ,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,IAAI;QACJ,KAAK;QACL,IAAI;AACJ,QAAA,QAAQ,EAAE,UAAU;KACpB,CAAC;IAEF,UAAU,CAAC,MAAM,CAAC,CAAC;AAEnB,IAAA,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;AAIG;AACH,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,KAA+C,KAAI;AACvF,IAAA,IAAI,KAAK,YAAY,eAAe,EAAE;AACrC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAChD;AACI,SAAA,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAC3D;SACI;AACJ,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACtB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC1B;iBACI;AACJ,gBAAA,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtB,gBAAA,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;aACjD;SACD;KACD;IAED,UAAU,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,SAAoB,KAAI;AAC3C,IAAA,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;AAEjC,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI;QACvB,WAAW,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEjD,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;AAC/C,IAAA,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC;IAEjC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,CAAI,CAAA,EAAA,SAAS,CAAC,IAAI,CAAE,CAAA,GAAG,SAAS,CAAC,GAAG,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,IAAa,EAAE,KAAgD,EAAE,IAAa,KAAI;IACrH,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,IAAI,EAAE;AACT,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACvB,YAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,GAAG,IAAI,IAAI,CAAC;KACZ;IAED,IAAI,KAAK,EAAE;AACV,QAAA,IAAI,MAAuB,CAAC;QAC5B,IAAI,KAAK,YAAY,eAAe;YACnC,MAAM,GAAG,KAAK,CAAC;AACX,aAAA,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,YAAA,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;SACnE;aACI;AACJ,YAAA,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AAE/B,YAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACxB,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,gBAAA,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW;oBACjD,SAAS;AAEV,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvB,oBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;;AAE1C,oBAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC3B;SACD;QAED,IAAI,MAAM,CAAC,IAAI;AACd,YAAA,GAAG,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;KAChC;IAED,IAAI,IAAI,EAAE;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QAEnB,IAAI,IAAI,IAAI,GAAG;YACd,GAAG,IAAI,IAAI,CAAC;KACb;AAED,IAAA,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAaF,gBAAe;IACd,QAAQ;IACR,WAAW;IACX,QAAQ;CACR;;;;;;;ACjMM,MAAM,YAAY,GAAG,iBAAiB;AACtC,MAAM,iBAAiB,GAAG,oBAAoB;AAErD;;AAEG;AACG,MAAO,WAAgE,SAAQ,SAAS,CAAA;;AAEpF,IAAA,GAAG,CAAmB;;AAEtB,IAAA,KAAK,CAAS;;AAEd,IAAA,OAAO,CAAoB;AAC5B,IAAA,OAAO,CAAkB;AACzB,IAAA,UAAU,CAAW;AACrB,IAAA,SAAS,CAAW;IACpB,aAAa,GAAkC,EAAE,CAAC;AAClD,IAAA,cAAc,CAA4B;IAC1C,SAAS,CAAsB;IAC/B,SAAS,CAAsB;AAEvC,IAAA,WAAA,CAAY,GAAqB,EAAE,KAAa,EAAE,GAAG,IAAW,EAAA;AAC/D,QAAA,KAAK,EAAE,CAAC;AAER,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,QAAA,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;KACrC;AAED,IAAA,IAAI,QAAQ,GAAa,EAAA,OAAO,YAAY,CAAC,EAAE;IAC/C,IAAI,OAAO,GAAkC,EAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;;IAE9E,IAAI,KAAK,GAAkB,EAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;AAGxD,IAAA,UAAU,CAAC,WAA8B,EAAA;QACxC,IAAI,IAAI,CAAC,UAAU;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,YAAY,EAAE,CAAC;AAEpB,QAAA,WAAW,CAAC,OAAO,CAAC,UAAU,IAAG;AAChC,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAE3B,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1C,gBAAA,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAA,qBAAA,CAAuB,CAAC,CAAC;AAE7D,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAEtC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACH;IAES,YAAY,GAAA;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,sBAAe,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,0BAAmB,EAAE,CAAC,CAAC;KACzC;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAuB,IAAY,EAAA;AAC5C,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,MAAM,UAAU,GAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,UAAU;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAA,mBAAA,CAAqB,CAAC,CAAC;AAE1D,QAAA,OAAU,UAAU,CAAC;KACrB;AAED;;;;;AAKG;AACH,IAAA,MAAM,GAAG,CAA4B,WAA0B,EAAE,OAAqB,EAAA;AACrF,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEtB,QAAA,IAAI,CAAC,WAAW;YACf,WAAW,GAAU,EAAE,CAAC;AAEzB,QAAA,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEzB,QAAA,MAAM,OAAO,GAA8B;AAC1C,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;AAC1B,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,IAAI,EAAE,WAAW;SACjB,CAAC;AAEF,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,YAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAElC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAErC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,YAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAEjC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AAErC,YAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAc,KAAI;AAC3E,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,MAAyB,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACF,MAAS,CAAC,aAAa,CAAC;oBACpD,OAAO;gBAER,CAAC,CAAC,cAAc,EAAE,CAAC;gBAEnB,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,YAAY,iBAAiB,GAAsB,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC;AACjH,qBAAA,KAAK,CAAC,MAAQ,GAAC,CAAC,CAAC;aACnB,EAAE,KAAK,CAAC,CAAC;AAEV,YAAA,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC3B;QACD,OAAO,MAAW,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAA,CAAE,CAAC,CAAC;AAC1C,YAAA,MAAM,MAAM,CAAC;SACb;AAED,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;QACD,OAAO,MAAW,EAAE;AACnB,YAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,oBAAA,CAAsB,CAAC,CAAC;AACrC,gBAAA,OAAO,OAAO,CAAC;aACf;AAED,YAAA,MAAM,MAAM,CAAC;SACb;AAED,QAAA,OAAO,OAAO,CAAC;KACf;AAED;;;;AAIG;IACH,MAAM,GAAG,CAA4B,OAAgD,EAAA;QACpF,MAAM,GAAG,GAA2B,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAU,OAAO,EAAE,GAA2B,OAAO,CAAC;AAC3I,QAAA,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,GAAU,EAAE,EAAE,GAAG,GAAG,CAAC;QAE5D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,KAAK;YACZ,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAEjD,QAAA,IAAI,SAAyC,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACvD,YAAA,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAE3B,YAAA,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACnC,YAAA,SAAS,CAAC,OAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;SACzC;AAED,QAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACvC,QAAA,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,KAAK;AACZ,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9C,QAAA,MAAM,OAAO,GAAiC;AAC7C,YAAA,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK;AACjC,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,OAAO,EAAgC,IAAI,CAAC,SAAS,EAAE,OAAO;YAC9D,MAAM,EAAgC,SAAS,EAAE,OAAO;AACxD,YAAA,QAAQ,EAAE,KAAK;YACf,IAAI;YACJ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;AACP,YAAA,QAAQ,EAAE,OAAO,OAAgD,KAAI;gBACpE,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAQ,OAAO,CAAC,CAAC;gBAC9C,aAAa,CAAC,cAAc,EAAE,CAAC;AAC/B,gBAAA,OAAO,MAAM,CAAC;aACd;SACD,CAAC;AAEF,QAAA,MAAM,UAAU,GAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxG,QAAA,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAEtC,QAAA,OAAO,OAAO,CAAC;KACf;AAED;;AAEG;IACH,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACnC;AAED;;AAEG;IACH,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAErC,OAAO,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,MAAM,OAAO,CAA0C,WAA0B,EAAA;AAChF,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AAC9B,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAErB,QAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAElE,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;AAE3C,QAAA,MAAM,OAAO,GAAoC;YAChD,KAAK,EAAE,YAAY,CAAC,MAAM;AAC1B,YAAA,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,WAAW,IAAW,EAAE;SAC9B,CAAC;AAEF,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,YAAA,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEpC,YAAA,OAAO,OAAO,CAAC;SACf;QACD,OAAO,MAAM,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAA,CAAE,CAAC,CAAC;AAC9C,YAAA,MAAM,MAAM,CAAC;SACb;gBACO;YACP,KAAK,CAAC,OAAO,EAAE,CAAC;SAChB;KACD;AAED;;;;;;AAMG;AACH,IAAA,QAAQ,CAAC,IAAa,EAAE,KAAgD,EAAE,IAAa,EAAA;AACtF,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AAErC,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAChE;IAEO,MAAM,UAAU,CAA4B,OAA+C,EAAA;AAClG,QAAA,MAAM,GAAG,GAAyB,OAAO,YAAY,eAAe,GAAG,EAAE,IAAI,EAAmB,OAAO,EAAE,GAAyB,OAAO,CAAC;AAC1I,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,GAAU,EAAE,EAAE,GAAG,GAAG,CAAC;AAE7D,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAErC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC,CAAC;AACtE,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtB,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;AACpC,gBAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;AACrC,gBAAA,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAC9B,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;AACpC,gBAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;YAEzB,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAEpD,YAAA,IAAI,MAAM,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;gBAC5D,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;AACzD,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAElD,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AAE9B,QAAA,IAAI;YAEH,IAAI,MAAM,KAAK,KAAK;AACnB,gBAAA,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;iBACtF;gBACJ,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,gBAAA,IAAI,KAAK;AACR,oBAAA,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEtC,gBAAA,IAAI,SAAyC,CAAC;AAC9C,gBAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACvD,oBAAA,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAE3B,oBAAA,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACnC,oBAAA,SAAS,CAAC,OAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACzC;AAED,gBAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D,gBAAA,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;AAC1C,gBAAA,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBACxE,IAAI,GAAG,CAAC,KAAK;AACZ,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9C,gBAAA,IAAI,OAAO,GAA+B;AACzC,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,aAAa;AACpB,oBAAA,OAAO,EAAgC,IAAI,CAAC,SAAS,EAAE,OAAO;oBAC9D,MAAM,EAAgC,SAAS,EAAE,OAAO;AACxD,oBAAA,QAAQ,EAAE,KAAK;oBACf,IAAI;oBACJ,IAAI;oBACJ,MAAM;oBACN,MAAM;oBACN,OAAO;oBACP,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;oBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO;AACP,oBAAA,QAAQ,EAAE,OAAO,OAAgD,KAAI;wBACpE,aAAa,CAAC,cAAc,EAAE,CAAC;wBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAQ,OAAO,CAAC,CAAC;wBAC9C,aAAa,CAAC,cAAc,EAAE,CAAC;AAC/B,wBAAA,OAAO,MAAM,CAAC;qBACd;iBACD,CAAC;AAEF,gBAAA,MAAM,UAAU,GAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzG,gBAAA,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aACtC;SACD;gBACO;YACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;AAErD,YAAA,IAAI,MAAM;gBACT,MAAM,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;SACxD;KACD;IAEO,MAAM,cAAc,CAAC,GAAuB,EAAA;AACnD,QAAA,IAAI;AACH,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,CAAA,MAAA,CAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAEjD,YAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AAErB,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAEnD,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AAErB,YAAA,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;SAC/D;QACD,OAAO,MAAW,EAAE;AACnB,YAAA,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY,EAAE;AAClC,gBAAA,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;AACzB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;aAC/D;AACI,iBAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;AACtC,gBAAA,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;aAC/D;iBACI;AACJ,gBAAA,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAK,EAAA,EAAA,MAAM,CAAE,CAAA,CAAC,CAAC;aAC3E;AAED,YAAA,MAAM,MAAM,CAAC;SACb;KACD;AACD;;MC9ZY,kBAAkB,CAAA;AACtB,IAAA,OAAO,CAAS;AAChB,IAAA,SAAS,IAAG,WAAmB,EAAC;IAChC,aAAa,GAAiB,EAAE,CAAC;AAEzC,IAAA,WAAA,CAAY,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACrB;AAED,IAAA,MAAM,CAAC,OAAmC,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AAEzB,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,aAAa,CAAC,UAAgE,EAAE,GAAG,MAAkB,EAAA;AACpG,QAAA,IAAI,CAAC,UAAU;AACd,YAAA,MAAM,iCAAiC,CAAC;AAEzC,QAAA,IAAI,IAAgB,CAAC;QACrB,IAAI,OAAO,UAAU,KAAK,UAAU;AACnC,YAAA,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC;;YAE7B,IAAI,GAAG,UAAU,CAAC;AAEnB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE9B,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,KAAK,CAAC,GAAqB,EAAE,GAAG,IAAW,EAAA;AAC1C,QAAA,IAAI,CAAC,GAAG;AACP,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,QAAQ;AAChB,YAAA,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;AAEpB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3D,QAAA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,QAAA,OAAO,GAAG,CAAC;KACX;AACD;;;;"}
|
package/dist/types.d.ts
CHANGED
|
@@ -38,7 +38,16 @@ interface StopContext<TApplication extends Application = Application, TData exte
|
|
|
38
38
|
readonly app: TApplication;
|
|
39
39
|
readonly data: TData;
|
|
40
40
|
}
|
|
41
|
+
interface NavigateOptions<TData extends ContextData = ContextData> {
|
|
42
|
+
url?: string | null;
|
|
43
|
+
query?: QueryParams | URLSearchParams | FormData;
|
|
44
|
+
replace?: boolean;
|
|
45
|
+
data?: TData;
|
|
46
|
+
abort?: AbortSignal;
|
|
47
|
+
}
|
|
41
48
|
interface NavigateContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends InvokeContext {
|
|
49
|
+
/** Index number of all application navigations. */
|
|
50
|
+
readonly index: number;
|
|
42
51
|
/** Source navigation event. */
|
|
43
52
|
readonly source: NavigateSource;
|
|
44
53
|
/** Application instance of navigation. */
|
|
@@ -65,6 +74,8 @@ interface NavigateContext<TApplication extends Application = Application, TData
|
|
|
65
74
|
readonly external: boolean;
|
|
66
75
|
/** Replace current navigation entry. */
|
|
67
76
|
replace: boolean;
|
|
77
|
+
/** Redirect to new url and throw for end current context. */
|
|
78
|
+
redirect(options?: NavigateOptions<TData> | string | null): Promise<NavigateContext<TApplication, TData>>;
|
|
68
79
|
}
|
|
69
80
|
/**
|
|
70
81
|
* Navigation event source.
|
|
@@ -73,6 +84,13 @@ interface NavigateContext<TApplication extends Application = Application, TData
|
|
|
73
84
|
* submit - from submit form.
|
|
74
85
|
*/
|
|
75
86
|
type NavigateSource = "first" | "nav" | "submit";
|
|
87
|
+
interface SubmitOptions<TData extends ContextData = ContextData> {
|
|
88
|
+
form: HTMLFormElement;
|
|
89
|
+
button?: HTMLButtonElement | null;
|
|
90
|
+
query?: QueryParams | URLSearchParams;
|
|
91
|
+
data?: TData;
|
|
92
|
+
abort?: AbortSignal;
|
|
93
|
+
}
|
|
76
94
|
interface SubmitContext<TApplication extends Application = Application, TData extends ContextData = ContextData> extends NavigateContext<TApplication, TData> {
|
|
77
95
|
readonly form: HTMLFormElement;
|
|
78
96
|
readonly button: HTMLButtonElement | null;
|
|
@@ -90,6 +108,7 @@ declare class MiddlewareInvoker {
|
|
|
90
108
|
private __exec;
|
|
91
109
|
}
|
|
92
110
|
|
|
111
|
+
declare const APP_TYPENAME = "brandup-ui-app";
|
|
93
112
|
declare const NAV_OVERIDE_ERROR = "NavigationOveride";
|
|
94
113
|
/**
|
|
95
114
|
* Base application class.
|
|
@@ -101,14 +120,18 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
101
120
|
readonly model: TModel;
|
|
102
121
|
/** Application middleware invoker. */
|
|
103
122
|
readonly invoker: MiddlewareInvoker;
|
|
104
|
-
private
|
|
105
|
-
private
|
|
123
|
+
private __abort;
|
|
124
|
+
private __isInited?;
|
|
125
|
+
private __isRuned?;
|
|
106
126
|
private __middlewares;
|
|
107
127
|
private __globalSubmit?;
|
|
108
128
|
private __execNav?;
|
|
109
129
|
private __lastNav?;
|
|
110
130
|
constructor(env: EnvironmentModel, model: TModel, ...args: any[]);
|
|
111
131
|
get typeName(): string;
|
|
132
|
+
get current(): NavigateContext | undefined;
|
|
133
|
+
/** Application destroy signal. */
|
|
134
|
+
get abort(): AbortSignal;
|
|
112
135
|
protected onInitialize(): void;
|
|
113
136
|
/**
|
|
114
137
|
* Get middleware by type.
|
|
@@ -128,8 +151,7 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
128
151
|
* @param options Navigate options.
|
|
129
152
|
* @returns Promise of navigated result.
|
|
130
153
|
*/
|
|
131
|
-
nav<TData extends ContextData>(options?:
|
|
132
|
-
private __onSubmit;
|
|
154
|
+
nav<TData extends ContextData>(options?: NavigateOptions<TData> | string | null): Promise<NavigateContext<this, TData>>;
|
|
133
155
|
/**
|
|
134
156
|
* Reload page with nav.
|
|
135
157
|
*/
|
|
@@ -147,22 +169,9 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
|
|
|
147
169
|
* @returns Relative url with base path.
|
|
148
170
|
*/
|
|
149
171
|
buildUrl(path?: string, query?: QueryParams | URLSearchParams | FormData, hash?: string): string;
|
|
172
|
+
private __onSubmit;
|
|
150
173
|
private __execNavigate;
|
|
151
174
|
}
|
|
152
|
-
interface NavigationOptions<TData extends ContextData = ContextData> {
|
|
153
|
-
url?: string | null;
|
|
154
|
-
query?: QueryParams | URLSearchParams | FormData;
|
|
155
|
-
replace?: boolean;
|
|
156
|
-
data?: TData;
|
|
157
|
-
abort?: AbortSignal;
|
|
158
|
-
}
|
|
159
|
-
interface SubmitOptions<TData extends ContextData = ContextData> {
|
|
160
|
-
form: HTMLFormElement;
|
|
161
|
-
button?: HTMLButtonElement | null;
|
|
162
|
-
query?: QueryParams | URLSearchParams;
|
|
163
|
-
data?: TData;
|
|
164
|
-
abort?: AbortSignal;
|
|
165
|
-
}
|
|
166
175
|
|
|
167
176
|
declare class ApplicationBuilder<TModel extends ApplicationModel> {
|
|
168
177
|
private __model;
|
|
@@ -226,4 +235,4 @@ declare namespace browser {
|
|
|
226
235
|
export { _default as default };
|
|
227
236
|
}
|
|
228
237
|
|
|
229
|
-
export { Application, ApplicationBuilder, type ApplicationModel, browser as BROWSER, constants as CONSTANTS, type ContextData, type EnvironmentModel, type InvokeContext, type Middleware, type MiddlewareMethod, type MiddlewareNext, NAV_OVERIDE_ERROR, type NavigateContext, type
|
|
238
|
+
export { APP_TYPENAME, Application, ApplicationBuilder, type ApplicationModel, browser as BROWSER, constants as CONSTANTS, type ContextData, type EnvironmentModel, type InvokeContext, type Middleware, type MiddlewareMethod, type MiddlewareNext, NAV_OVERIDE_ERROR, type NavigateContext, type NavigateOptions, type NavigateSource, type QueryParams, type StartContext, type StopContext, type SubmitContext, type SubmitMethod, type SubmitOptions, url as UrlHelper };
|
package/package.json
CHANGED
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"module": "dist/mjs/index.js",
|
|
25
25
|
"types": "dist/types.d.ts",
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
|
-
"version": "1.0.
|
|
27
|
+
"version": "1.0.21",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@brandup/ui": "^1.0.
|
|
30
|
-
"@brandup/ui-dom": "^1.0.
|
|
29
|
+
"@brandup/ui": "^1.0.21",
|
|
30
|
+
"@brandup/ui-dom": "^1.0.21"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|