@ts-core/angular 11.0.85 → 11.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ts-core/common'), require('@ts-core/common/promise'), require('lodash'), require('@ts-core/frontend/asset'), require('rxjs/operators'), require('@angular/core'), require('moment'), require('numeral'), require('@angular/material/dialog'), require('@ts-core/common/observer'), require('@ts-core/common/util'), require('@ts-core/frontend/language'), require('rxjs'), require('rxjs/internal/operators'), require('@ts-core/frontend/language/LanguageService'), require('@angular/common'), require('@ts-core/common/map/dataSource'), require('@angular/forms'), require('@ts-core/common/logger'), require('@ts-core/frontend/cookie'), require('@ts-core/frontend/logger'), require('@ts-core/frontend/service'), require('ngx-cookie'), require('css-element-queries'), require('interactjs'), require('@angular/material/paginator'), require('@angular/material/button'), require('@angular/material/bottom-sheet'), require('@ts-core/common/dto'), require('@angular/platform-browser'), require('@ts-core/frontend/theme'), require('@angular/material/tabs'), require('@angular/material/list'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/sort'), require('@angular/material/table'), require('@angular/material/progress-bar'), require('@angular/material-moment-adapter'), require('@ts-core/common/error'), require('@ts-core/common/transport'), require('@ts-core/common/map'), require('@angular/cdk/layout'), require('@angular/router')) :
3
- typeof define === 'function' && define.amd ? define('@ts-core/angular', ['exports', '@ts-core/common', '@ts-core/common/promise', 'lodash', '@ts-core/frontend/asset', 'rxjs/operators', '@angular/core', 'moment', 'numeral', '@angular/material/dialog', '@ts-core/common/observer', '@ts-core/common/util', '@ts-core/frontend/language', 'rxjs', 'rxjs/internal/operators', '@ts-core/frontend/language/LanguageService', '@angular/common', '@ts-core/common/map/dataSource', '@angular/forms', '@ts-core/common/logger', '@ts-core/frontend/cookie', '@ts-core/frontend/logger', '@ts-core/frontend/service', 'ngx-cookie', 'css-element-queries', 'interactjs', '@angular/material/paginator', '@angular/material/button', '@angular/material/bottom-sheet', '@ts-core/common/dto', '@angular/platform-browser', '@ts-core/frontend/theme', '@angular/material/tabs', '@angular/material/list', '@angular/material/menu', '@angular/material/select', '@angular/material/sort', '@angular/material/table', '@angular/material/progress-bar', '@angular/material-moment-adapter', '@ts-core/common/error', '@ts-core/common/transport', '@ts-core/common/map', '@angular/cdk/layout', '@angular/router'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['ts-core'] = global['ts-core'] || {}, global['ts-core'].angular = {}), global['@ts-core/common'], global['@ts-core/common/promise'], global._, global['@ts-core/frontend/asset'], global.rxjs.operators, global.ng.core, global.moment, global.numeral, global.ng.material.dialog, global['@ts-core/common/observer'], global['@ts-core/common/util'], global['@ts-core/frontend/language'], global.rxjs, global.rxjs['internal/operators'], global.i2, global.ng.common, global['@ts-core/common/map/dataSource'], global.ng.forms, global['@ts-core/common/logger'], global['@ts-core/frontend/cookie'], global['@ts-core/frontend/logger'], global['@ts-core/frontend/service'], global.ngxCookie, global.cssElementQueries, global.interactjs, global.ng.material.paginator, global.ng.material.button, global.ng.material.bottomSheet, global['@ts-core/common/dto'], global.ng.platformBrowser, global['@ts-core/frontend/theme'], global.ng.material.tabs, global.ng.material.list, global.ng.material.menu, global.ng.material.select, global.ng.material.sort, global.ng.material.table, global.ng.material.progressBar, global.ng.materialMomentAdapter, global['@ts-core/common/error'], global['@ts-core/common/transport'], global['@ts-core/common/map'], global.ng.cdk.layout, global.ng.router));
5
- }(this, (function (exports, common, promise, _, asset, operators, i0, moment, numeral, i1, observer, util, language, rxjs, operators$1, i2, common$1, dataSource, forms, logger, cookie, logger$1, service, Cookie, cssElementQueries, interact, paginator, button, i1$1, dto, platformBrowser, theme, tabs, list, menu, select, sort, table, progressBar, materialMomentAdapter, error, transport, map, i1$2, router) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ts-core/common'), require('@ts-core/common/promise'), require('lodash'), require('@ts-core/frontend/asset'), require('rxjs/operators'), require('@angular/core'), require('moment'), require('numeral'), require('@angular/material/dialog'), require('@ts-core/common/observer'), require('@ts-core/common/util'), require('@ts-core/frontend/language'), require('rxjs'), require('rxjs/internal/operators'), require('@ts-core/frontend/language/LanguageService'), require('@angular/common'), require('@ts-core/common/map/dataSource'), require('@angular/forms'), require('@ts-core/common/logger'), require('@ts-core/frontend/cookie'), require('@ts-core/frontend/logger'), require('@ts-core/frontend/service'), require('ngx-cookie'), require('css-element-queries'), require('interactjs'), require('@angular/material/paginator'), require('@angular/material/button'), require('@angular/material/bottom-sheet'), require('@ts-core/common/dto'), require('@angular/platform-browser'), require('@ts-core/frontend/theme'), require('@angular/material/tabs'), require('@angular/material/list'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/sort'), require('@angular/material/table'), require('@angular/material/progress-bar'), require('@angular/material-moment-adapter'), require('@ts-core/common/error'), require('@ts-core/common/transport'), require('@ts-core/common/map'), require('@angular/cdk/layout'), require('@angular/router'), require('@ts-core/common/transport/local')) :
3
+ typeof define === 'function' && define.amd ? define('@ts-core/angular', ['exports', '@ts-core/common', '@ts-core/common/promise', 'lodash', '@ts-core/frontend/asset', 'rxjs/operators', '@angular/core', 'moment', 'numeral', '@angular/material/dialog', '@ts-core/common/observer', '@ts-core/common/util', '@ts-core/frontend/language', 'rxjs', 'rxjs/internal/operators', '@ts-core/frontend/language/LanguageService', '@angular/common', '@ts-core/common/map/dataSource', '@angular/forms', '@ts-core/common/logger', '@ts-core/frontend/cookie', '@ts-core/frontend/logger', '@ts-core/frontend/service', 'ngx-cookie', 'css-element-queries', 'interactjs', '@angular/material/paginator', '@angular/material/button', '@angular/material/bottom-sheet', '@ts-core/common/dto', '@angular/platform-browser', '@ts-core/frontend/theme', '@angular/material/tabs', '@angular/material/list', '@angular/material/menu', '@angular/material/select', '@angular/material/sort', '@angular/material/table', '@angular/material/progress-bar', '@angular/material-moment-adapter', '@ts-core/common/error', '@ts-core/common/transport', '@ts-core/common/map', '@angular/cdk/layout', '@angular/router', '@ts-core/common/transport/local'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['ts-core'] = global['ts-core'] || {}, global['ts-core'].angular = {}), global['@ts-core/common'], global['@ts-core/common/promise'], global._, global['@ts-core/frontend/asset'], global.rxjs.operators, global.ng.core, global.moment, global.numeral, global.ng.material.dialog, global['@ts-core/common/observer'], global['@ts-core/common/util'], global['@ts-core/frontend/language'], global.rxjs, global.rxjs['internal/operators'], global.i2, global.ng.common, global['@ts-core/common/map/dataSource'], global.ng.forms, global['@ts-core/common/logger'], global['@ts-core/frontend/cookie'], global['@ts-core/frontend/logger'], global['@ts-core/frontend/service'], global.ngxCookie, global.cssElementQueries, global.interactjs, global.ng.material.paginator, global.ng.material.button, global.ng.material.bottomSheet, global['@ts-core/common/dto'], global.ng.platformBrowser, global['@ts-core/frontend/theme'], global.ng.material.tabs, global.ng.material.list, global.ng.material.menu, global.ng.material.select, global.ng.material.sort, global.ng.material.table, global.ng.material.progressBar, global.ng.materialMomentAdapter, global['@ts-core/common/error'], global['@ts-core/common/transport'], global['@ts-core/common/map'], global.ng.cdk.layout, global.ng.router, global.local));
5
+ }(this, (function (exports, common, promise, _, asset, operators, i0, moment, numeral, i1, observer, util, language, rxjs, operators$1, i2, common$1, dataSource, forms, logger, cookie, logger$1, service, Cookie, cssElementQueries, interact, paginator, button, i1$1, dto, platformBrowser, theme, tabs, list, menu, select, sort, table, progressBar, materialMomentAdapter, error, transport, map, i1$2, router, local) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -7385,7 +7385,7 @@
7385
7385
  return;
7386
7386
  }
7387
7387
  this.isTriedThemeDefault = true;
7388
- this.source = this.getSource(this.getDefaultSourceId(this.theme.theme));
7388
+ this.source = this.getSource(this.getDefaultSourceId());
7389
7389
  this.commitSourceProperties();
7390
7390
  };
7391
7391
  // --------------------------------------------------------------------------
@@ -7400,8 +7400,8 @@
7400
7400
  ThemeAssetDirective.prototype.getSourceId = function (theme) {
7401
7401
  return !_.isNil(theme) ? this.name + _.capitalize(theme.name) : null;
7402
7402
  };
7403
- ThemeAssetDirective.prototype.getDefaultSourceId = function (theme) {
7404
- return "" + this.name + (theme.isDark ? 'Dark' : 'Light');
7403
+ ThemeAssetDirective.prototype.getDefaultSourceId = function () {
7404
+ return this.themeAsset.getName(this.name, this.isIgnoreTheme);
7405
7405
  };
7406
7406
  // --------------------------------------------------------------------------
7407
7407
  //
@@ -9015,36 +9015,6 @@
9015
9015
  // Protected Methods
9016
9016
  //
9017
9017
  // --------------------------------------------------------------------------
9018
- /*
9019
- protected async loginByParam(param?: any): Promise<void> {
9020
- if (this.isLoggedIn || this.isLoading) {
9021
- return;
9022
- }
9023
-
9024
- this.status = LoadableStatus.LOADING;
9025
- this.observer.next(new ObservableData(LoadableEvent.STARTED));
9026
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
9027
-
9028
- try {
9029
- this.parseLoginResponse(await this.loginRequest(param));
9030
- this.status = !this.isCanLoginWithSid() ? LoadableStatus.LOADED : LoadableStatus.LOADING;
9031
- if (this.isLoading) {
9032
- this.loginBySid();
9033
- }
9034
- } catch (error) {
9035
- error = ExtendedError.create(error);
9036
-
9037
- this.status = LoadableStatus.ERROR;
9038
- this.parseLoginErrorResponse(error);
9039
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_ERROR, null, error));
9040
- }
9041
-
9042
- if (!this.isLoading) {
9043
- this.observer.next(new ObservableData(LoadableEvent.FINISHED));
9044
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_FINISHED));
9045
- }
9046
- }
9047
- */
9048
9018
  LoginBaseService.prototype.loginByParam = function (param) {
9049
9019
  return __awaiter(this, void 0, void 0, function () {
9050
9020
  var _this = this;
@@ -9150,7 +9120,6 @@
9150
9120
  }
9151
9121
  this.reset();
9152
9122
  };
9153
- // public abstract registration(param: any): void;
9154
9123
  LoginBaseService.prototype.loginByResponse = function (param) {
9155
9124
  return __awaiter(this, void 0, void 0, function () {
9156
9125
  return __generator(this, function (_a) {
@@ -9179,6 +9148,7 @@
9179
9148
  return false;
9180
9149
  }
9181
9150
  if (!this.isLoggedIn && !this.isLoading) {
9151
+ this.status = common.LoadableStatus.LOADING;
9182
9152
  this.observer.next(new observer.ObservableData(common.LoadableEvent.STARTED));
9183
9153
  this.observer.next(new observer.ObservableData(exports.LoginBaseServiceEvent.LOGIN_STARTED));
9184
9154
  this.loginBySid();
@@ -9205,7 +9175,7 @@
9205
9175
  return [3 /*break*/, 5];
9206
9176
  case 3:
9207
9177
  error_3 = _a.sent();
9208
- this.parseLogoutErrorResponse(error.ExtendedError.create(error_3));
9178
+ this.parseLogoutErrorResponse(error_3);
9209
9179
  return [3 /*break*/, 5];
9210
9180
  case 4:
9211
9181
  this.reset();
@@ -9291,33 +9261,6 @@
9291
9261
  LoginBaseServiceEvent["REGISTRATION_FINISHED"] = "REGISTRATION_FINISHED";
9292
9262
  })(exports.LoginBaseServiceEvent || (exports.LoginBaseServiceEvent = {}));
9293
9263
 
9294
- var LoginGuard = /** @class */ (function () {
9295
- // --------------------------------------------------------------------------
9296
- //
9297
- // Constructor
9298
- //
9299
- // --------------------------------------------------------------------------
9300
- function LoginGuard(login) {
9301
- this.login = login;
9302
- }
9303
- // --------------------------------------------------------------------------
9304
- //
9305
- // Public Methods
9306
- //
9307
- // --------------------------------------------------------------------------
9308
- LoginGuard.prototype.canActivate = function (route, state) {
9309
- return this.login.isLoggedIn;
9310
- };
9311
- return LoginGuard;
9312
- }());
9313
- LoginGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoginGuard_Factory() { return new LoginGuard(i0.ɵɵinject(LoginBaseService)); }, token: LoginGuard, providedIn: "root" });
9314
- LoginGuard.decorators = [
9315
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
9316
- ];
9317
- LoginGuard.ctorParameters = function () { return [
9318
- { type: LoginBaseService }
9319
- ]; };
9320
-
9321
9264
  var LoginRequireResolver = /** @class */ (function () {
9322
9265
  // --------------------------------------------------------------------------
9323
9266
  //
@@ -9332,7 +9275,7 @@
9332
9275
  // Public Methods
9333
9276
  //
9334
9277
  // --------------------------------------------------------------------------
9335
- LoginRequireResolver.prototype.resolve = function (route, state) {
9278
+ LoginRequireResolver.prototype.resolve = function () {
9336
9279
  if (this.login.isLoggedIn) {
9337
9280
  return Promise.resolve();
9338
9281
  }
@@ -9353,6 +9296,34 @@
9353
9296
  return LoginRequireResolver;
9354
9297
  }());
9355
9298
 
9299
+ var LoginGuard = /** @class */ (function (_super) {
9300
+ __extends(LoginGuard, _super);
9301
+ // --------------------------------------------------------------------------
9302
+ //
9303
+ // Constructor
9304
+ //
9305
+ // --------------------------------------------------------------------------
9306
+ function LoginGuard(login) {
9307
+ return _super.call(this, login) || this;
9308
+ }
9309
+ // --------------------------------------------------------------------------
9310
+ //
9311
+ // Public Methods
9312
+ //
9313
+ // --------------------------------------------------------------------------
9314
+ LoginGuard.prototype.canActivate = function () {
9315
+ return this.login.isLoggedIn;
9316
+ };
9317
+ return LoginGuard;
9318
+ }(LoginRequireResolver));
9319
+ LoginGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoginGuard_Factory() { return new LoginGuard(i0.ɵɵinject(LoginBaseService)); }, token: LoginGuard, providedIn: "root" });
9320
+ LoginGuard.decorators = [
9321
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
9322
+ ];
9323
+ LoginGuard.ctorParameters = function () { return [
9324
+ { type: LoginBaseService }
9325
+ ]; };
9326
+
9356
9327
  var LoginResolver = /** @class */ (function (_super) {
9357
9328
  __extends(LoginResolver, _super);
9358
9329
  // --------------------------------------------------------------------------
@@ -10777,13 +10748,13 @@
10777
10748
  //
10778
10749
  // --------------------------------------------------------------------------
10779
10750
  UserBaseService.prototype.isUser = function (value) {
10780
- if (!value || !this.user) {
10751
+ if (_.isNil(value) || _.isNil(this.user)) {
10781
10752
  return false;
10782
10753
  }
10783
- if (value.hasOwnProperty('id')) {
10784
- return this.user.id === value.id;
10754
+ if (_.isString(value) || _.isNumber(value)) {
10755
+ return value === this.user.id;
10785
10756
  }
10786
- return this.user.id === value;
10757
+ return value.id === this.user.id;
10787
10758
  };
10788
10759
  UserBaseService.prototype.userUpdate = function (data) {
10789
10760
  if (!this.hasUser) {
@@ -10861,6 +10832,317 @@
10861
10832
  UserBaseServiceEvent["LOGOUTED"] = "LOGOUTED";
10862
10833
  })(exports.UserBaseServiceEvent || (exports.UserBaseServiceEvent = {}));
10863
10834
 
10835
+ var LazyModuleLoader = /** @class */ (function (_super) {
10836
+ __extends(LazyModuleLoader, _super);
10837
+ //--------------------------------------------------------------------------
10838
+ //
10839
+ // Constructor
10840
+ //
10841
+ //--------------------------------------------------------------------------
10842
+ function LazyModuleLoader(compiler, injector) {
10843
+ var _this = _super.call(this) || this;
10844
+ _this.compiler = compiler;
10845
+ _this.injector = injector;
10846
+ _this._modules = new map.MapCollection('id');
10847
+ return _this;
10848
+ }
10849
+ //--------------------------------------------------------------------------
10850
+ //
10851
+ // Protected Methods
10852
+ //
10853
+ //--------------------------------------------------------------------------
10854
+ LazyModuleLoader.prototype.load = function (item) {
10855
+ return __awaiter(this, void 0, void 0, function () {
10856
+ var _a;
10857
+ return __generator(this, function (_b) {
10858
+ switch (_b.label) {
10859
+ case 0:
10860
+ _a = item;
10861
+ return [4 /*yield*/, this.loadReference(item.path)];
10862
+ case 1:
10863
+ _a.reference = _b.sent();
10864
+ return [2 /*return*/];
10865
+ }
10866
+ });
10867
+ });
10868
+ };
10869
+ LazyModuleLoader.prototype.loadReference = function (path) {
10870
+ return __awaiter(this, void 0, void 0, function () {
10871
+ var moduleFactory, elementModuleOrFactory;
10872
+ return __generator(this, function (_a) {
10873
+ switch (_a.label) {
10874
+ case 0:
10875
+ moduleFactory = null;
10876
+ return [4 /*yield*/, path()];
10877
+ case 1:
10878
+ elementModuleOrFactory = _a.sent();
10879
+ if (!(elementModuleOrFactory instanceof i0.NgModuleFactory)) return [3 /*break*/, 2];
10880
+ moduleFactory = elementModuleOrFactory;
10881
+ return [3 /*break*/, 4];
10882
+ case 2: return [4 /*yield*/, this.compiler.compileModuleAsync(elementModuleOrFactory)];
10883
+ case 3:
10884
+ moduleFactory = _a.sent();
10885
+ _a.label = 4;
10886
+ case 4: return [2 /*return*/, moduleFactory.create(this.injector)];
10887
+ }
10888
+ });
10889
+ });
10890
+ };
10891
+ LazyModuleLoader.prototype.isNeedLoad = function (item) {
10892
+ return _.isNil(item.reference);
10893
+ };
10894
+ //--------------------------------------------------------------------------
10895
+ //
10896
+ // Public Methods
10897
+ //
10898
+ //--------------------------------------------------------------------------
10899
+ LazyModuleLoader.prototype.loadIfNeed = function (id) {
10900
+ return __awaiter(this, void 0, void 0, function () {
10901
+ var item;
10902
+ return __generator(this, function (_a) {
10903
+ switch (_a.label) {
10904
+ case 0:
10905
+ item = this.modules.get(id);
10906
+ if (_.isNil(item)) {
10907
+ throw new error.ExtendedError("Unable to find \"" + id + "\" module: it must be registered first");
10908
+ }
10909
+ if (!this.isNeedLoad(item)) {
10910
+ return [2 /*return*/, item];
10911
+ }
10912
+ _a.label = 1;
10913
+ case 1:
10914
+ _a.trys.push([1, , 3, 4]);
10915
+ this.observer.next(new observer.ObservableData(common.LoadableEvent.STARTED));
10916
+ return [4 /*yield*/, this.load(item)];
10917
+ case 2:
10918
+ _a.sent();
10919
+ return [3 /*break*/, 4];
10920
+ case 3:
10921
+ this.observer.next(new observer.ObservableData(common.LoadableEvent.FINISHED));
10922
+ return [7 /*endfinally*/];
10923
+ case 4: return [2 /*return*/, item];
10924
+ }
10925
+ });
10926
+ });
10927
+ };
10928
+ LazyModuleLoader.prototype.destroy = function () {
10929
+ if (this.isDestroyed) {
10930
+ return;
10931
+ }
10932
+ _super.prototype.destroy.call(this);
10933
+ if (!_.isNil(this._modules)) {
10934
+ this._modules.destroy();
10935
+ this._modules = null;
10936
+ }
10937
+ };
10938
+ Object.defineProperty(LazyModuleLoader.prototype, "modules", {
10939
+ //--------------------------------------------------------------------------
10940
+ //
10941
+ // Public Properties
10942
+ //
10943
+ //--------------------------------------------------------------------------
10944
+ get: function () {
10945
+ return this._modules;
10946
+ },
10947
+ enumerable: false,
10948
+ configurable: true
10949
+ });
10950
+ return LazyModuleLoader;
10951
+ }(common.Loadable));
10952
+ LazyModuleLoader.ɵprov = i0.ɵɵdefineInjectable({ factory: function LazyModuleLoader_Factory() { return new LazyModuleLoader(i0.ɵɵinject(i0.Compiler), i0.ɵɵinject(i0.INJECTOR)); }, token: LazyModuleLoader, providedIn: "root" });
10953
+ LazyModuleLoader.decorators = [
10954
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
10955
+ ];
10956
+ LazyModuleLoader.ctorParameters = function () { return [
10957
+ { type: i0.Compiler },
10958
+ { type: i0.Injector }
10959
+ ]; };
10960
+
10961
+ var TransportLazyModuleLoadedEvent = /** @class */ (function (_super) {
10962
+ __extends(TransportLazyModuleLoadedEvent, _super);
10963
+ // --------------------------------------------------------------------------
10964
+ //
10965
+ // Constructor
10966
+ //
10967
+ // --------------------------------------------------------------------------
10968
+ function TransportLazyModuleLoadedEvent(request) {
10969
+ return _super.call(this, TransportLazyModuleLoadedEvent.NAME, request) || this;
10970
+ }
10971
+ return TransportLazyModuleLoadedEvent;
10972
+ }(transport.TransportEvent));
10973
+ // --------------------------------------------------------------------------
10974
+ //
10975
+ // Public Static Properties
10976
+ //
10977
+ // --------------------------------------------------------------------------
10978
+ TransportLazyModuleLoadedEvent.NAME = 'TransportLazyModuleLoadedEvent';
10979
+
10980
+ var TransportLazy = /** @class */ (function (_super_1) {
10981
+ __extends(TransportLazy, _super_1);
10982
+ // --------------------------------------------------------------------------
10983
+ //
10984
+ // Constructor
10985
+ //
10986
+ // --------------------------------------------------------------------------
10987
+ function TransportLazy(logger, loader, settings) {
10988
+ var _this = _super_1.call(this, logger, settings, null) || this;
10989
+ _this.loader = loader;
10990
+ _this.getDispatcher(TransportLazyModuleLoadedEvent.NAME).subscribe(function (event) { return _this.moduleLoadedHandler(event.data); });
10991
+ return _this;
10992
+ }
10993
+ // --------------------------------------------------------------------------
10994
+ //
10995
+ // Event Handlers
10996
+ //
10997
+ // --------------------------------------------------------------------------
10998
+ TransportLazy.prototype.moduleLoadedHandler = function (module) {
10999
+ var item = this.loader.modules.get(module.id);
11000
+ if (_.isNil(item)) {
11001
+ item = this.loader.modules.add(module);
11002
+ }
11003
+ if (_.isNil(item.reference)) {
11004
+ item.reference = module.reference;
11005
+ }
11006
+ };
11007
+ // --------------------------------------------------------------------------
11008
+ //
11009
+ // Protected Methods
11010
+ //
11011
+ // --------------------------------------------------------------------------
11012
+ TransportLazy.prototype.dispatchCommand = function (command, options, isNeedReply) {
11013
+ var _super = Object.create(null, {
11014
+ dispatchCommand: { get: function () { return _super_1.prototype.dispatchCommand; } }
11015
+ });
11016
+ return __awaiter(this, void 0, void 0, function () {
11017
+ var item;
11018
+ return __generator(this, function (_a) {
11019
+ switch (_a.label) {
11020
+ case 0:
11021
+ item = this.getModuleByCommand(command.name);
11022
+ console.log(command.name, item);
11023
+ if (!!_.isNil(item)) return [3 /*break*/, 2];
11024
+ return [4 /*yield*/, this.loader.loadIfNeed(item.id)];
11025
+ case 1:
11026
+ _a.sent();
11027
+ _a.label = 2;
11028
+ case 2:
11029
+ _super.dispatchCommand.call(this, command, options, isNeedReply);
11030
+ return [2 /*return*/];
11031
+ }
11032
+ });
11033
+ });
11034
+ };
11035
+ TransportLazy.prototype.getModuleByCommand = function (name) {
11036
+ var e_1, _a;
11037
+ if (this.loader.modules.length === 0) {
11038
+ return null;
11039
+ }
11040
+ try {
11041
+ for (var _b = __values(this.loader.modules.collection), _c = _b.next(); !_c.done; _c = _b.next()) {
11042
+ var item = _c.value;
11043
+ if (_.isEmpty(item.commands)) {
11044
+ continue;
11045
+ }
11046
+ if (_.includes(item.commands, name)) {
11047
+ return item;
11048
+ }
11049
+ }
11050
+ }
11051
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
11052
+ finally {
11053
+ try {
11054
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
11055
+ }
11056
+ finally { if (e_1) throw e_1.error; }
11057
+ }
11058
+ return null;
11059
+ };
11060
+ TransportLazy.prototype.getModuleByEvent = function (name) {
11061
+ var e_2, _a;
11062
+ if (_.isNil(this.loader) || this.loader.modules.length === 0) {
11063
+ return null;
11064
+ }
11065
+ try {
11066
+ for (var _b = __values(this.loader.modules.collection), _c = _b.next(); !_c.done; _c = _b.next()) {
11067
+ var item = _c.value;
11068
+ if (_.isEmpty(item.events)) {
11069
+ continue;
11070
+ }
11071
+ if (_.includes(item.events, name)) {
11072
+ return item;
11073
+ }
11074
+ }
11075
+ }
11076
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
11077
+ finally {
11078
+ try {
11079
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
11080
+ }
11081
+ finally { if (e_2) throw e_2.error; }
11082
+ }
11083
+ return null;
11084
+ };
11085
+ // --------------------------------------------------------------------------
11086
+ //
11087
+ // Public Methods
11088
+ //
11089
+ // --------------------------------------------------------------------------
11090
+ TransportLazy.prototype.dispatch = function (event) {
11091
+ var _this = this;
11092
+ var item = this.getModuleByEvent(event.name);
11093
+ if (!_.isNil(this.loader) && !_.isNil(item)) {
11094
+ this.loader.loadIfNeed(item.id).then(function () { return _super_1.prototype.dispatch.call(_this, event); });
11095
+ }
11096
+ else {
11097
+ _super_1.prototype.dispatch.call(this, event);
11098
+ }
11099
+ };
11100
+ TransportLazy.prototype.destroy = function () {
11101
+ if (this.isDestroyed) {
11102
+ return;
11103
+ }
11104
+ _super_1.prototype.destroy.call(this);
11105
+ this.loader = null;
11106
+ };
11107
+ return TransportLazy;
11108
+ }(local.TransportLocal));
11109
+
11110
+ var TransportLazyModule = /** @class */ (function () {
11111
+ //--------------------------------------------------------------------------
11112
+ //
11113
+ // Constructor
11114
+ //
11115
+ //--------------------------------------------------------------------------
11116
+ function TransportLazyModule(reference, transport) {
11117
+ this.reference = reference;
11118
+ this.transport = transport;
11119
+ this.moduleLoadedDispatch();
11120
+ }
11121
+ //--------------------------------------------------------------------------
11122
+ //
11123
+ // Protected Methods
11124
+ //
11125
+ //--------------------------------------------------------------------------
11126
+ TransportLazyModule.prototype.moduleLoadedDispatch = function () {
11127
+ this.transport.dispatch(new TransportLazyModuleLoadedEvent(this));
11128
+ };
11129
+ Object.defineProperty(TransportLazyModule.prototype, "events", {
11130
+ get: function () {
11131
+ return new Array();
11132
+ },
11133
+ enumerable: false,
11134
+ configurable: true
11135
+ });
11136
+ Object.defineProperty(TransportLazyModule.prototype, "commands", {
11137
+ get: function () {
11138
+ return new Array();
11139
+ },
11140
+ enumerable: false,
11141
+ configurable: true
11142
+ });
11143
+ return TransportLazyModule;
11144
+ }());
11145
+
10864
11146
  /* ======= */
10865
11147
 
10866
11148
  /**
@@ -10919,6 +11201,7 @@
10919
11201
  exports.LanguageRequireResolver = LanguageRequireResolver;
10920
11202
  exports.LanguageResolver = LanguageResolver;
10921
11203
  exports.LanguageSelectorComponent = LanguageSelectorComponent;
11204
+ exports.LazyModuleLoader = LazyModuleLoader;
10922
11205
  exports.ListItem = ListItem;
10923
11206
  exports.ListItems = ListItems;
10924
11207
  exports.LoginBaseService = LoginBaseService;
@@ -10966,6 +11249,9 @@
10966
11249
  exports.ThemeStyleHoverDirective = ThemeStyleHoverDirective;
10967
11250
  exports.ThemeToggleDirective = ThemeToggleDirective;
10968
11251
  exports.TimePipe = TimePipe;
11252
+ exports.TransportLazy = TransportLazy;
11253
+ exports.TransportLazyModule = TransportLazyModule;
11254
+ exports.TransportLazyModuleLoadedEvent = TransportLazyModuleLoadedEvent;
10969
11255
  exports.TruncatePipe = TruncatePipe;
10970
11256
  exports.UserBaseService = UserBaseService;
10971
11257
  exports.VICommonModule = VICommonModule;