@coolon/angular-ui-powerups 16.1.0-aplpha.183 → 16.1.0-aplpha.185

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.
@@ -6,10 +6,10 @@ export class LoadableComponent extends DisposableComponent {
6
6
  #_loaded$ = new MutableValueModel();
7
7
  #asyncLoadables = [];
8
8
  #awaitedLoadables = [];
9
- #loadTracker;
9
+ loadTracker;
10
10
  constructor() {
11
11
  super();
12
- this.#loadTracker = inject(LoadingStateTracker, { optional: true })?.register(this);
12
+ this.loadTracker = inject(LoadingStateTracker, { optional: true })?.register(this);
13
13
  }
14
14
  get loaded$() {
15
15
  return this.#_loaded$.readonly$;
@@ -19,13 +19,19 @@ export class LoadableComponent extends DisposableComponent {
19
19
  this.loadDependencies();
20
20
  }
21
21
  loadDependencies() {
22
+ this.loadTracker?.triggered();
22
23
  if (this.#awaitedLoadables.length > 0) {
23
24
  Promise.all(this.#awaitedLoadables.map((it) => it.ensureLoaded())).then(() => {
24
25
  this.#_loaded$.value = true;
26
+ this.loadTracker?.finished();
27
+ }).catch(e => {
28
+ this.loadTracker.failed(e);
29
+ throw e;
25
30
  });
26
31
  }
27
32
  else {
28
33
  this.#_loaded$.value = true;
34
+ this.loadTracker?.finished();
29
35
  }
30
36
  }
31
37
  injectLoadable(token, options) {
@@ -34,7 +40,7 @@ export class LoadableComponent extends DisposableComponent {
34
40
  registerLoadable(loadable, options) {
35
41
  const shouldWait = !options || options.wait === true;
36
42
  if (shouldWait)
37
- this.#loadTracker?.registerDependency(loadable);
43
+ this.loadTracker?.registerDependency(loadable);
38
44
  if (this.loaded$.value) {
39
45
  loadable.ensureLoaded();
40
46
  }
@@ -54,4 +60,4 @@ export class LoadableComponent extends DisposableComponent {
54
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, decorators: [{
55
61
  type: Directive
56
62
  }], ctorParameters: function () { return []; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGFibGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9sb2FkYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXdDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBWSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUc3RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRS9DLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFXLENBQUM7SUFDN0MsZUFBZSxHQUFlLEVBQUUsQ0FBQztJQUNqQyxpQkFBaUIsR0FBZSxFQUFFLENBQUM7SUFFbkMsWUFBWSxDQUEwQztJQUUvRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQ3RELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVTLGNBQWMsQ0FBcUIsS0FBdUIsRUFBRSxPQUVyRTtRQUNDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGdCQUFnQixDQUFxQixRQUFXLEVBQUUsT0FBMkI7UUFDM0UsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7UUFDckQsSUFBSSxVQUFVO1lBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3RCLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjthQUFNO1lBQ0wsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzt1R0F0RFUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5qZWN0T3B0aW9ucywgT25Jbml0LCBQcm92aWRlclRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkYWJsZSwgTG9hZGluZ1N0YXRlVHJhY2tlciwgTXV0YWJsZVZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIExvYWRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcmVhZG9ubHkgI19sb2FkZWQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5ICNhc3luY0xvYWRhYmxlczogTG9hZGFibGVbXSA9IFtdO1xuICByZWFkb25seSAjYXdhaXRlZExvYWRhYmxlczogTG9hZGFibGVbXSA9IFtdO1xuXG4gIHJlYWRvbmx5ICNsb2FkVHJhY2tlcjogTG9hZGluZ1N0YXRlVHJhY2tlci5UcmFja2VyIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy4jbG9hZFRyYWNrZXIgPSBpbmplY3QoTG9hZGluZ1N0YXRlVHJhY2tlciwgeyBvcHRpb25hbDogdHJ1ZSB9KT8ucmVnaXN0ZXIodGhpcyk7XG4gIH1cblxuICBnZXQgbG9hZGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy4jX2xvYWRlZCQucmVhZG9ubHkkO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmxvYWREZXBlbmRlbmNpZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERlcGVuZGVuY2llcygpIHtcbiAgICBpZiAodGhpcy4jYXdhaXRlZExvYWRhYmxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBQcm9taXNlLmFsbChcbiAgICAgICAgdGhpcy4jYXdhaXRlZExvYWRhYmxlcy5tYXAoKGl0KSA9PiBpdC5lbnN1cmVMb2FkZWQoKSlcbiAgICAgICkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuI19sb2FkZWQkLnZhbHVlID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfbG9hZGVkJC52YWx1ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGluamVjdExvYWRhYmxlPFQgZXh0ZW5kcyBMb2FkYWJsZT4odG9rZW46IFByb3ZpZGVyVG9rZW48VD4sIG9wdGlvbnM/OiBJbmplY3RPcHRpb25zICYge1xuICAgIHdhaXQ6IGJvb2xlYW5cbiAgfSk6IFQge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyTG9hZGFibGUoaW5qZWN0KHRva2VuLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gIH1cblxuICByZWdpc3RlckxvYWRhYmxlPFQgZXh0ZW5kcyBMb2FkYWJsZT4obG9hZGFibGU6IFQsIG9wdGlvbnM/OiB7IHdhaXQ6IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IHNob3VsZFdhaXQgPSAhb3B0aW9ucyB8fCBvcHRpb25zLndhaXQgPT09IHRydWU7XG4gICAgaWYgKHNob3VsZFdhaXQpIHRoaXMuI2xvYWRUcmFja2VyPy5yZWdpc3RlckRlcGVuZGVuY3kobG9hZGFibGUpO1xuXG4gICAgaWYgKHRoaXMubG9hZGVkJC52YWx1ZSkge1xuICAgICAgbG9hZGFibGUuZW5zdXJlTG9hZGVkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzaG91bGRXYWl0KSB7XG4gICAgICAgIHRoaXMuI2F3YWl0ZWRMb2FkYWJsZXMucHVzaChsb2FkYWJsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNhc3luY0xvYWRhYmxlcy5wdXNoKGxvYWRhYmxlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxvYWRhYmxlO1xuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGFibGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9sb2FkYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXdDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBWSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUc3RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRS9DLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFXLENBQUM7SUFDN0MsZUFBZSxHQUFlLEVBQUUsQ0FBQztJQUNqQyxpQkFBaUIsR0FBZSxFQUFFLENBQUM7SUFFekIsV0FBVyxDQUEwQztJQUV4RTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FDdEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRVMsY0FBYyxDQUFxQixLQUF1QixFQUFFLE9BRXJFO1FBQ0MsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0JBQWdCLENBQXFCLFFBQVcsRUFBRSxPQUEyQjtRQUMzRSxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztRQUNyRCxJQUFJLFVBQVU7WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9ELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDdEIsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JDO1NBQ0Y7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO3VHQTVEVSxpQkFBaUI7MkZBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3RPcHRpb25zLCBPbkluaXQsIFByb3ZpZGVyVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRhYmxlLCBMb2FkaW5nU3RhdGVUcmFja2VyLCBNdXRhYmxlVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTG9hZGFibGVDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICByZWFkb25seSAjX2xvYWRlZCQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgI2FzeW5jTG9hZGFibGVzOiBMb2FkYWJsZVtdID0gW107XG4gIHJlYWRvbmx5ICNhd2FpdGVkTG9hZGFibGVzOiBMb2FkYWJsZVtdID0gW107XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvYWRUcmFja2VyOiBMb2FkaW5nU3RhdGVUcmFja2VyLlRyYWNrZXIgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxvYWRUcmFja2VyID0gaW5qZWN0KExvYWRpbmdTdGF0ZVRyYWNrZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk/LnJlZ2lzdGVyKHRoaXMpO1xuICB9XG5cbiAgZ2V0IGxvYWRlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuI19sb2FkZWQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5sb2FkRGVwZW5kZW5jaWVzKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWREZXBlbmRlbmNpZXMoKSB7XG4gICAgdGhpcy5sb2FkVHJhY2tlcj8udHJpZ2dlcmVkKCk7XG4gICAgaWYgKHRoaXMuI2F3YWl0ZWRMb2FkYWJsZXMubGVuZ3RoID4gMCkge1xuICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgIHRoaXMuI2F3YWl0ZWRMb2FkYWJsZXMubWFwKChpdCkgPT4gaXQuZW5zdXJlTG9hZGVkKCkpXG4gICAgICApLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLiNfbG9hZGVkJC52YWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZFRyYWNrZXI/LmZpbmlzaGVkKCk7XG4gICAgICB9KS5jYXRjaChlID0+e1xuICAgICAgICB0aGlzLmxvYWRUcmFja2VyLmZhaWxlZChlKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfbG9hZGVkJC52YWx1ZSA9IHRydWU7XG4gICAgICB0aGlzLmxvYWRUcmFja2VyPy5maW5pc2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpbmplY3RMb2FkYWJsZTxUIGV4dGVuZHMgTG9hZGFibGU+KHRva2VuOiBQcm92aWRlclRva2VuPFQ+LCBvcHRpb25zPzogSW5qZWN0T3B0aW9ucyAmIHtcbiAgICB3YWl0OiBib29sZWFuXG4gIH0pOiBUIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlckxvYWRhYmxlKGluamVjdCh0b2tlbiwgb3B0aW9ucyksIG9wdGlvbnMpO1xuICB9XG5cbiAgcmVnaXN0ZXJMb2FkYWJsZTxUIGV4dGVuZHMgTG9hZGFibGU+KGxvYWRhYmxlOiBULCBvcHRpb25zPzogeyB3YWl0OiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBzaG91bGRXYWl0ID0gIW9wdGlvbnMgfHwgb3B0aW9ucy53YWl0ID09PSB0cnVlO1xuICAgIGlmIChzaG91bGRXYWl0KSB0aGlzLmxvYWRUcmFja2VyPy5yZWdpc3RlckRlcGVuZGVuY3kobG9hZGFibGUpO1xuXG4gICAgaWYgKHRoaXMubG9hZGVkJC52YWx1ZSkge1xuICAgICAgbG9hZGFibGUuZW5zdXJlTG9hZGVkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzaG91bGRXYWl0KSB7XG4gICAgICAgIHRoaXMuI2F3YWl0ZWRMb2FkYWJsZXMucHVzaChsb2FkYWJsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNhc3luY0xvYWRhYmxlcy5wdXNoKGxvYWRhYmxlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxvYWRhYmxlO1xuICB9XG59XG4iXX0=
@@ -5270,10 +5270,10 @@ class LoadableComponent extends DisposableComponent {
5270
5270
  #_loaded$ = new MutableValueModel();
5271
5271
  #asyncLoadables = [];
5272
5272
  #awaitedLoadables = [];
5273
- #loadTracker;
5273
+ loadTracker;
5274
5274
  constructor() {
5275
5275
  super();
5276
- this.#loadTracker = inject(LoadingStateTracker, { optional: true })?.register(this);
5276
+ this.loadTracker = inject(LoadingStateTracker, { optional: true })?.register(this);
5277
5277
  }
5278
5278
  get loaded$() {
5279
5279
  return this.#_loaded$.readonly$;
@@ -5283,13 +5283,19 @@ class LoadableComponent extends DisposableComponent {
5283
5283
  this.loadDependencies();
5284
5284
  }
5285
5285
  loadDependencies() {
5286
+ this.loadTracker?.triggered();
5286
5287
  if (this.#awaitedLoadables.length > 0) {
5287
5288
  Promise.all(this.#awaitedLoadables.map((it) => it.ensureLoaded())).then(() => {
5288
5289
  this.#_loaded$.value = true;
5290
+ this.loadTracker?.finished();
5291
+ }).catch(e => {
5292
+ this.loadTracker.failed(e);
5293
+ throw e;
5289
5294
  });
5290
5295
  }
5291
5296
  else {
5292
5297
  this.#_loaded$.value = true;
5298
+ this.loadTracker?.finished();
5293
5299
  }
5294
5300
  }
5295
5301
  injectLoadable(token, options) {
@@ -5298,7 +5304,7 @@ class LoadableComponent extends DisposableComponent {
5298
5304
  registerLoadable(loadable, options) {
5299
5305
  const shouldWait = !options || options.wait === true;
5300
5306
  if (shouldWait)
5301
- this.#loadTracker?.registerDependency(loadable);
5307
+ this.loadTracker?.registerDependency(loadable);
5302
5308
  if (this.loaded$.value) {
5303
5309
  loadable.ensureLoaded();
5304
5310
  }