@brandup/ui-app 1.0.20 → 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 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
- __isInitialized = false;
373
- __isDestroy = false;
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 "Application"; }
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.__isInitialized)
394
+ if (this.__isInited)
389
395
  throw new Error('Application already initialized.');
390
- this.__isInitialized = true;
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,23 +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
- this.setElement(element || BROWSER.body);
425
- const abort = new AbortController();
436
+ element = element || BROWSER.body;
437
+ this.setElement(element);
426
438
  const context = {
427
- abort: abort.signal,
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
- abort.signal.throwIfAborted();
446
+ this.__abort.signal.throwIfAborted();
435
447
  await this.invoker.invoke("loaded", context);
436
448
  console.info("app load success");
437
- abort.signal.throwIfAborted();
438
- BROWSER.window.addEventListener("submit", this.__globalSubmit = (e) => {
449
+ this.__abort.signal.throwIfAborted();
450
+ element.addEventListener("submit", this.__globalSubmit = (e) => {
439
451
  const form = e.target;
440
452
  if (!form.classList.contains(result.FormClassName))
441
453
  return;
@@ -450,7 +462,7 @@ class Application extends ui.UIElement {
450
462
  throw reason;
451
463
  }
452
464
  try {
453
- await this.nav({ data: context.data });
465
+ await this.nav({ data: context.data, abort: this.__abort.signal });
454
466
  }
455
467
  catch (reason) {
456
468
  if (reason === NAV_OVERIDE_ERROR) {
@@ -479,14 +491,17 @@ class Application extends ui.UIElement {
479
491
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
480
492
  parentNav.context.overided = true;
481
493
  }
482
- const abort = new AbortController();
483
- const externalAbort = opt.abort;
484
- if (externalAbort)
485
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
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);
486
500
  const context = {
501
+ index: navIndex,
487
502
  source: isFirst ? "first" : "nav",
488
503
  app: this,
489
- abort: abort.signal,
504
+ abort: complextAbort,
490
505
  current: this.__lastNav?.context,
491
506
  parent: parentNav?.context,
492
507
  overided: false,
@@ -498,17 +513,78 @@ class Application extends ui.UIElement {
498
513
  query: navUrl.query,
499
514
  hash: navUrl.hash,
500
515
  external: navUrl.external,
501
- replace
516
+ replace,
517
+ redirect: async (options) => {
518
+ complextAbort.throwIfAborted();
519
+ const result = await this.nav(options);
520
+ complextAbort.throwIfAborted();
521
+ return result;
522
+ }
502
523
  };
503
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "navigate", context, abort, status: "work" };
524
+ const currentNav = { method: "navigate", context, abort: navAbort, status: "work" };
504
525
  await this.__execNavigate(currentNav);
505
526
  return context;
506
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
+ }
507
583
  async __onSubmit(options) {
508
584
  const opt = options instanceof HTMLFormElement ? { form: options } : options;
509
585
  const { form, button = null, query, data = {} } = opt;
510
586
  if (!form.checkValidity())
511
- return Promise.reject(new Error('Form is invalid.'));
587
+ throw new Error('Form is invalid.');
512
588
  let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
513
589
  let method = form.method;
514
590
  let enctype = form.enctype;
@@ -525,12 +601,12 @@ class Application extends ui.UIElement {
525
601
  replace = true;
526
602
  }
527
603
  if (form.classList.contains(result.LoadingElementClass))
528
- return Promise.reject(new Error('Form already submitting.'));
604
+ throw new Error('Form already submitting.');
529
605
  form.classList.add(result.LoadingElementClass);
530
606
  method = method.toUpperCase();
531
607
  try {
532
608
  if (method === "GET")
533
- 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 });
534
610
  else {
535
611
  const navUrl = urlHelper.parseUrl(url);
536
612
  if (query)
@@ -541,14 +617,17 @@ class Application extends ui.UIElement {
541
617
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
542
618
  parentNav.context.overided = true;
543
619
  }
544
- const abort = new AbortController();
545
- const externalAbort = opt.abort;
546
- if (externalAbort)
547
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
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);
548
626
  let context = {
627
+ index: navIndex,
549
628
  source: "submit",
550
629
  app: this,
551
- abort: abort.signal,
630
+ abort: complextAbort,
552
631
  current: this.__lastNav?.context,
553
632
  parent: parentNav?.context,
554
633
  overided: false,
@@ -564,9 +643,15 @@ class Application extends ui.UIElement {
564
643
  query: navUrl.query,
565
644
  hash: navUrl.hash,
566
645
  external: navUrl.external,
567
- replace
646
+ replace,
647
+ redirect: async (options) => {
648
+ complextAbort.throwIfAborted();
649
+ const result = await this.nav(options);
650
+ complextAbort.throwIfAborted();
651
+ return result;
652
+ }
568
653
  };
569
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "submit", context, abort, status: "work" };
654
+ const currentNav = { method: "submit", context, abort: submitAbort, status: "work" };
570
655
  await this.__execNavigate(currentNav);
571
656
  }
572
657
  }
@@ -576,60 +661,11 @@ class Application extends ui.UIElement {
576
661
  button.classList.remove(result.LoadingElementClass);
577
662
  }
578
663
  }
579
- /**
580
- * Reload page with nav.
581
- */
582
- reload() {
583
- return this.nav({ replace: true });
584
- }
585
- /**
586
- * Global reload page in browser.
587
- */
588
- restart() {
589
- BROWSER.reload();
590
- }
591
- async destroy(contextData) {
592
- if (this.__isDestroy)
593
- return Promise.reject('Application already destroyed.');
594
- this.__isDestroy = true;
595
- console.info("app destroy begin");
596
- if (this.__globalSubmit)
597
- BROWSER.window.removeEventListener("submit", this.__globalSubmit);
598
- if (this.__execNav)
599
- this.__execNav.abort.abort();
600
- const abort = new AbortController();
601
- const context = {
602
- abort: abort.signal,
603
- app: this,
604
- data: contextData || {}
605
- };
606
- try {
607
- await this.invoker.invoke("stop", context);
608
- console.info("app destroy success");
609
- return context;
610
- }
611
- catch (reason) {
612
- console.error(`app destroy error: ${reason}`);
613
- throw reason;
614
- }
615
- finally {
616
- super.destroy();
617
- }
618
- }
619
- /**
620
- * Generate url of application base url.
621
- * @param path Add optional path of base url.
622
- * @param query Add optional query params.
623
- * @param hash Add optional hash.
624
- * @returns Relative url with base path.
625
- */
626
- buildUrl(path, query, hash) {
627
- return urlHelper.buildUrl(this.env.basePath, path, query, hash);
628
- }
629
664
  async __execNavigate(nav) {
630
- this.__execNav = nav;
631
665
  try {
632
666
  console.info(`${nav.method} begin`, nav.context);
667
+ nav.context.abort.throwIfAborted();
668
+ this.__execNav = nav;
633
669
  await this.invoker.invoke(nav.method, nav.context);
634
670
  this.__lastNav = nav;
635
671
  nav.status = "success";
@@ -686,6 +722,7 @@ class ApplicationBuilder {
686
722
  }
687
723
  }
688
724
 
725
+ exports.APP_TYPENAME = APP_TYPENAME;
689
726
  exports.Application = Application;
690
727
  exports.ApplicationBuilder = ApplicationBuilder;
691
728
  exports.BROWSER = browser;
@@ -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
- __isInitialized = false;
371
- __isDestroy = false;
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 "Application"; }
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.__isInitialized)
392
+ if (this.__isInited)
387
393
  throw new Error('Application already initialized.');
388
- this.__isInitialized = true;
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,23 +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
- this.setElement(element || BROWSER.body);
423
- const abort = new AbortController();
434
+ element = element || BROWSER.body;
435
+ this.setElement(element);
424
436
  const context = {
425
- abort: abort.signal,
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
- abort.signal.throwIfAborted();
444
+ this.__abort.signal.throwIfAborted();
433
445
  await this.invoker.invoke("loaded", context);
434
446
  console.info("app load success");
435
- abort.signal.throwIfAborted();
436
- BROWSER.window.addEventListener("submit", this.__globalSubmit = (e) => {
447
+ this.__abort.signal.throwIfAborted();
448
+ element.addEventListener("submit", this.__globalSubmit = (e) => {
437
449
  const form = e.target;
438
450
  if (!form.classList.contains(result.FormClassName))
439
451
  return;
@@ -448,7 +460,7 @@ class Application extends UIElement {
448
460
  throw reason;
449
461
  }
450
462
  try {
451
- await this.nav({ data: context.data });
463
+ await this.nav({ data: context.data, abort: this.__abort.signal });
452
464
  }
453
465
  catch (reason) {
454
466
  if (reason === NAV_OVERIDE_ERROR) {
@@ -477,14 +489,17 @@ class Application extends UIElement {
477
489
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
478
490
  parentNav.context.overided = true;
479
491
  }
480
- const abort = new AbortController();
481
- const externalAbort = opt.abort;
482
- if (externalAbort)
483
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
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);
484
498
  const context = {
499
+ index: navIndex,
485
500
  source: isFirst ? "first" : "nav",
486
501
  app: this,
487
- abort: abort.signal,
502
+ abort: complextAbort,
488
503
  current: this.__lastNav?.context,
489
504
  parent: parentNav?.context,
490
505
  overided: false,
@@ -496,17 +511,78 @@ class Application extends UIElement {
496
511
  query: navUrl.query,
497
512
  hash: navUrl.hash,
498
513
  external: navUrl.external,
499
- replace
514
+ replace,
515
+ redirect: async (options) => {
516
+ complextAbort.throwIfAborted();
517
+ const result = await this.nav(options);
518
+ complextAbort.throwIfAborted();
519
+ return result;
520
+ }
500
521
  };
501
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "navigate", context, abort, status: "work" };
522
+ const currentNav = { method: "navigate", context, abort: navAbort, status: "work" };
502
523
  await this.__execNavigate(currentNav);
503
524
  return context;
504
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
+ }
505
581
  async __onSubmit(options) {
506
582
  const opt = options instanceof HTMLFormElement ? { form: options } : options;
507
583
  const { form, button = null, query, data = {} } = opt;
508
584
  if (!form.checkValidity())
509
- return Promise.reject(new Error('Form is invalid.'));
585
+ throw new Error('Form is invalid.');
510
586
  let replace = form.hasAttribute(result.NavUrlReplaceAttributeName);
511
587
  let method = form.method;
512
588
  let enctype = form.enctype;
@@ -523,12 +599,12 @@ class Application extends UIElement {
523
599
  replace = true;
524
600
  }
525
601
  if (form.classList.contains(result.LoadingElementClass))
526
- return Promise.reject(new Error('Form already submitting.'));
602
+ throw new Error('Form already submitting.');
527
603
  form.classList.add(result.LoadingElementClass);
528
604
  method = method.toUpperCase();
529
605
  try {
530
606
  if (method === "GET")
531
- 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 });
532
608
  else {
533
609
  const navUrl = urlHelper.parseUrl(url);
534
610
  if (query)
@@ -539,14 +615,17 @@ class Application extends UIElement {
539
615
  parentNav.abort.abort(NAV_OVERIDE_ERROR);
540
616
  parentNav.context.overided = true;
541
617
  }
542
- const abort = new AbortController();
543
- const externalAbort = opt.abort;
544
- if (externalAbort)
545
- externalAbort.addEventListener("abort", () => abort.abort(externalAbort.reason));
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);
546
624
  let context = {
625
+ index: navIndex,
547
626
  source: "submit",
548
627
  app: this,
549
- abort: abort.signal,
628
+ abort: complextAbort,
550
629
  current: this.__lastNav?.context,
551
630
  parent: parentNav?.context,
552
631
  overided: false,
@@ -562,9 +641,15 @@ class Application extends UIElement {
562
641
  query: navUrl.query,
563
642
  hash: navUrl.hash,
564
643
  external: navUrl.external,
565
- replace
644
+ replace,
645
+ redirect: async (options) => {
646
+ complextAbort.throwIfAborted();
647
+ const result = await this.nav(options);
648
+ complextAbort.throwIfAborted();
649
+ return result;
650
+ }
566
651
  };
567
- const currentNav = { id: parentNav ? parentNav.id + 1 : 1, method: "submit", context, abort, status: "work" };
652
+ const currentNav = { method: "submit", context, abort: submitAbort, status: "work" };
568
653
  await this.__execNavigate(currentNav);
569
654
  }
570
655
  }
@@ -574,60 +659,11 @@ class Application extends UIElement {
574
659
  button.classList.remove(result.LoadingElementClass);
575
660
  }
576
661
  }
577
- /**
578
- * Reload page with nav.
579
- */
580
- reload() {
581
- return this.nav({ replace: true });
582
- }
583
- /**
584
- * Global reload page in browser.
585
- */
586
- restart() {
587
- BROWSER.reload();
588
- }
589
- async destroy(contextData) {
590
- if (this.__isDestroy)
591
- return Promise.reject('Application already destroyed.');
592
- this.__isDestroy = true;
593
- console.info("app destroy begin");
594
- if (this.__globalSubmit)
595
- BROWSER.window.removeEventListener("submit", this.__globalSubmit);
596
- if (this.__execNav)
597
- this.__execNav.abort.abort();
598
- const abort = new AbortController();
599
- const context = {
600
- abort: abort.signal,
601
- app: this,
602
- data: contextData || {}
603
- };
604
- try {
605
- await this.invoker.invoke("stop", context);
606
- console.info("app destroy success");
607
- return context;
608
- }
609
- catch (reason) {
610
- console.error(`app destroy error: ${reason}`);
611
- throw reason;
612
- }
613
- finally {
614
- super.destroy();
615
- }
616
- }
617
- /**
618
- * Generate url of application base url.
619
- * @param path Add optional path of base url.
620
- * @param query Add optional query params.
621
- * @param hash Add optional hash.
622
- * @returns Relative url with base path.
623
- */
624
- buildUrl(path, query, hash) {
625
- return urlHelper.buildUrl(this.env.basePath, path, query, hash);
626
- }
627
662
  async __execNavigate(nav) {
628
- this.__execNav = nav;
629
663
  try {
630
664
  console.info(`${nav.method} begin`, nav.context);
665
+ nav.context.abort.throwIfAborted();
666
+ this.__execNav = nav;
631
667
  await this.invoker.invoke(nav.method, nav.context);
632
668
  this.__lastNav = nav;
633
669
  nav.status = "success";
@@ -684,5 +720,5 @@ class ApplicationBuilder {
684
720
  }
685
721
  }
686
722
 
687
- 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 };
688
724
  //# sourceMappingURL=index.js.map
@@ -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":"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"}
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 __isInitialized;
105
- private __isDestroy;
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?: NavigationOptions<TData> | string | null): Promise<NavigateContext<this, TData>>;
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 NavigateSource, type NavigationOptions, type QueryParams, type StartContext, type StopContext, type SubmitContext, type SubmitMethod, type SubmitOptions, url as UrlHelper };
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.20",
27
+ "version": "1.0.21",
28
28
  "dependencies": {
29
- "@brandup/ui": "^1.0.20",
30
- "@brandup/ui-dom": "^1.0.20"
29
+ "@brandup/ui": "^1.0.21",
30
+ "@brandup/ui-dom": "^1.0.21"
31
31
  },
32
32
  "files": [
33
33
  "dist",