@lenne.tech/ng-base 15.0.0-beta → 15.0.0-beta-2

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.
Files changed (109) hide show
  1. package/base-components/base-components.module.d.ts +3 -1
  2. package/base-components/components/input/input.component.d.ts +2 -1
  3. package/base-components/components/refence-input/refence-input.component.d.ts +10 -2
  4. package/base-components/components/select/select.component.d.ts +2 -1
  5. package/base-components/components/tags/tags.component.d.ts +2 -1
  6. package/base-components/components/textarea/textarea.component.d.ts +9 -2
  7. package/base-components/components/upload-image/upload-image.component.d.ts +19 -4
  8. package/base-prototype/pages/login/login.component.d.ts +5 -8
  9. package/base-prototype/pages/profile/profile.component.d.ts +5 -29
  10. package/base-prototype/pages/register/register.component.d.ts +6 -2
  11. package/esm2020/base-cms/base-cms-routing.module.mjs +4 -4
  12. package/esm2020/base-cms/base-cms.module.mjs +4 -4
  13. package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +5 -5
  14. package/esm2020/base-components/base-components.module.mjs +9 -7
  15. package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +3 -3
  16. package/esm2020/base-components/components/change-password/change-password.component.mjs +3 -3
  17. package/esm2020/base-components/components/checkbox/checkbox.component.mjs +3 -3
  18. package/esm2020/base-components/components/delete-account/delete-account.component.mjs +3 -3
  19. package/esm2020/base-components/components/fab-button/fab-button.component.mjs +3 -3
  20. package/esm2020/base-components/components/input/input.component.mjs +8 -5
  21. package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +3 -3
  22. package/esm2020/base-components/components/model-form/model-form-base.component.mjs +3 -3
  23. package/esm2020/base-components/components/model-form/model-form.component.mjs +14 -14
  24. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +5 -5
  25. package/esm2020/base-components/components/model-table/model-table.component.mjs +3 -3
  26. package/esm2020/base-components/components/refence-input/refence-input.component.mjs +24 -10
  27. package/esm2020/base-components/components/select/select.component.mjs +9 -6
  28. package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +3 -3
  29. package/esm2020/base-components/components/tags/tags.component.mjs +8 -5
  30. package/esm2020/base-components/components/textarea/textarea.component.mjs +41 -7
  31. package/esm2020/base-components/components/toast/toast.component.mjs +3 -3
  32. package/esm2020/base-components/components/upload-image/upload-image.component.mjs +100 -28
  33. package/esm2020/base-components/directives/back-button.directive.mjs +3 -3
  34. package/esm2020/base-components/directives/context-menu.directive.mjs +3 -3
  35. package/esm2020/base-components/directives/sort.directive.mjs +3 -3
  36. package/esm2020/base-components/directives/stop-propagation.directive.mjs +3 -3
  37. package/esm2020/base-components/pipes/ellipses.pipe.mjs +3 -3
  38. package/esm2020/base-prototype/base-prototype.module.mjs +4 -4
  39. package/esm2020/base-prototype/pages/email-verification/email-verification.component.mjs +3 -3
  40. package/esm2020/base-prototype/pages/forgot-password/forgot-password.component.mjs +3 -3
  41. package/esm2020/base-prototype/pages/login/login.component.mjs +17 -10
  42. package/esm2020/base-prototype/pages/profile/profile.component.mjs +15 -5
  43. package/esm2020/base-prototype/pages/register/register.component.mjs +15 -8
  44. package/esm2020/base-prototype/pages/set-password/set-password.component.mjs +3 -3
  45. package/esm2020/shared/classes/auth.class.mjs +2 -1
  46. package/esm2020/shared/interfaces/cms-field-config.interface.mjs +1 -1
  47. package/esm2020/shared/interfaces/cropping-options.interface.mjs +2 -0
  48. package/esm2020/shared/interfaces/login-config.interface.mjs +2 -0
  49. package/esm2020/shared/public-api.mjs +3 -1
  50. package/esm2020/shared/services/auth.service.mjs +88 -17
  51. package/esm2020/shared/services/breadcrumb.service.mjs +9 -9
  52. package/esm2020/shared/services/cms.service.mjs +3 -3
  53. package/esm2020/shared/services/file.service.mjs +3 -3
  54. package/esm2020/shared/services/forms.service.mjs +3 -3
  55. package/esm2020/shared/services/graphql-meta.service.mjs +3 -3
  56. package/esm2020/shared/services/graphql-plus.service.mjs +3 -3
  57. package/esm2020/shared/services/graphql.service.mjs +3 -3
  58. package/esm2020/shared/services/image.service.mjs +3 -3
  59. package/esm2020/shared/services/loader.service.mjs +3 -3
  60. package/esm2020/shared/services/navigation.service.mjs +3 -3
  61. package/esm2020/shared/services/scroll.service.mjs +3 -3
  62. package/esm2020/shared/services/storage.service.mjs +3 -3
  63. package/esm2020/shared/services/toast.service.mjs +3 -3
  64. package/esm2020/shared/services/user.service.mjs +12 -10
  65. package/esm2020/shared/services/ws.service.mjs +3 -3
  66. package/esm2020/src/base.module.mjs +4 -4
  67. package/esm2020/src/directives/lazy-load.directive.mjs +3 -3
  68. package/esm2020/src/directives/match-height.directive.mjs +9 -4
  69. package/esm2020/src/directives/resizable.directive.mjs +3 -3
  70. package/esm2020/src/factories/apollo-options.factory.mjs +45 -4
  71. package/esm2020/src/guards/auth.guard.mjs +28 -9
  72. package/esm2020/src/guards/can-deactivate.guard.mjs +3 -3
  73. package/esm2020/src/guards/logout.guard.mjs +3 -3
  74. package/esm2020/src/pipes/date-ago.pipe.mjs +3 -3
  75. package/esm2020/src/pipes/safe-html.pipe.mjs +3 -3
  76. package/esm2020/src/services/fullscreen.service.mjs +3 -3
  77. package/esm2020/src/services/seo.service.mjs +3 -3
  78. package/esm2020/src/services/theme.service.mjs +14 -14
  79. package/fesm2015/lenne.tech-ng-base-base-cms.mjs +12 -13
  80. package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  81. package/fesm2015/lenne.tech-ng-base-base-components.mjs +234 -117
  82. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  83. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +55 -33
  84. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  85. package/fesm2015/lenne.tech-ng-base-shared.mjs +353 -283
  86. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  87. package/fesm2015/lenne.tech-ng-base.mjs +119 -58
  88. package/fesm2015/lenne.tech-ng-base.mjs.map +1 -1
  89. package/fesm2020/lenne.tech-ng-base-base-cms.mjs +12 -13
  90. package/fesm2020/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  91. package/fesm2020/lenne.tech-ng-base-base-components.mjs +241 -117
  92. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  93. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +55 -33
  94. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  95. package/fesm2020/lenne.tech-ng-base-shared.mjs +350 -278
  96. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  97. package/fesm2020/lenne.tech-ng-base.mjs +120 -57
  98. package/fesm2020/lenne.tech-ng-base.mjs.map +1 -1
  99. package/package.json +9 -7
  100. package/shared/classes/auth.class.d.ts +1 -0
  101. package/shared/interfaces/cms-field-config.interface.d.ts +6 -1
  102. package/shared/interfaces/cropping-options.interface.d.ts +12 -0
  103. package/shared/interfaces/field.interface.d.ts +1 -1
  104. package/shared/interfaces/login-config.interface.d.ts +6 -0
  105. package/shared/public-api.d.ts +2 -0
  106. package/shared/services/auth.service.d.ts +16 -4
  107. package/shared/types/graphql-fields.type.d.ts +1 -1
  108. package/shared/types/storage.type.d.ts +1 -1
  109. package/src/directives/match-height.directive.d.ts +1 -0
@@ -1,16 +1,16 @@
1
1
  import { GraphQLInputObjectType, GraphQLScalarType, GraphQLEnumType, GraphQLNonNull, GraphQLList, buildClientSchema, getIntrospectionQuery } from 'graphql';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, Injectable, Inject } from '@angular/core';
4
- import { BehaviorSubject, of, throwError, Observable, map as map$1, filter } from 'rxjs';
4
+ import { of, throwError, Observable, BehaviorSubject, map as map$1, filter } from 'rxjs';
5
5
  import * as i1 from 'apollo-angular';
6
6
  import { gql } from 'apollo-angular';
7
7
  import { sha256 } from 'js-sha256';
8
8
  import { map } from 'rxjs/operators';
9
+ import * as i1$1 from '@angular/router';
10
+ import { NavigationEnd } from '@angular/router';
9
11
  import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
10
12
  import * as i2 from '@angular/common';
11
13
  import { DOCUMENT } from '@angular/common';
12
- import * as i1$1 from '@angular/router';
13
- import { NavigationEnd } from '@angular/router';
14
14
  import Compressor from 'compressorjs';
15
15
  import * as i2$1 from '@angular/common/http';
16
16
  import { HttpHeaders } from '@angular/common/http';
@@ -781,6 +781,7 @@ class GraphQLMeta {
781
781
  class Auth extends Standard {
782
782
  constructor() {
783
783
  super(...arguments);
784
+ this.refreshToken = undefined;
784
785
  this.token = undefined;
785
786
  this.user = undefined;
786
787
  }
@@ -843,230 +844,6 @@ function debounce(delay = 300) {
843
844
  };
844
845
  }
845
846
 
846
- const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
847
-
848
- /**
849
- * Storage service for local data storage
850
- */
851
- class StorageService {
852
- /**
853
- * Initializations
854
- */
855
- constructor(moduleConfig) {
856
- this.moduleConfig = moduleConfig;
857
- /**
858
- * Storage
859
- */
860
- this.storage = null;
861
- /**
862
- * Prefix for storage keys
863
- */
864
- this.prefix = '';
865
- // Set storage
866
- const type = moduleConfig.storageType ? moduleConfig.storageType : 'local';
867
- if (type === 'session') {
868
- this.storage = sessionStorage;
869
- }
870
- else {
871
- if (localStorage) {
872
- this.storage = localStorage;
873
- }
874
- else {
875
- this.storage = null;
876
- }
877
- }
878
- // Set prefix
879
- this.prefix = '';
880
- if (moduleConfig.prefix) {
881
- this.prefix += moduleConfig.prefix + '_';
882
- }
883
- if (moduleConfig.version) {
884
- this.prefix += moduleConfig.version + '_';
885
- }
886
- }
887
- /**
888
- * Save itemKeys
889
- *
890
- * If you want to save one item, use itemKeys and value parameters like these:
891
- * save('KEY_OF_THE_ITEM', ITEM)
892
- *
893
- * If you want to save multiple items, use itemKeys only (value parameter will be ignored):
894
- * save({'KEY_OF_ITEM_1': ITEM_1, 'KEY_OF_ITEM_2': ITEM_2, ...})
895
- */
896
- save(itemKeys, value) {
897
- // Check local storage
898
- if (!this.storage) {
899
- return false;
900
- }
901
- // Check item keys and value
902
- if (!itemKeys ||
903
- (typeof itemKeys === 'object' && !Object.keys(itemKeys).length) ||
904
- (typeof itemKeys === 'string' && value === undefined)) {
905
- return false;
906
- }
907
- if (typeof itemKeys === 'object') {
908
- for (const [itemKey, itemValue] of Object.entries(itemKeys)) {
909
- this.storage.setItem(this.prefix + itemKey, JSON.stringify(itemValue));
910
- }
911
- return true;
912
- }
913
- this.storage.setItem(this.prefix + itemKeys, JSON.stringify(value));
914
- return true;
915
- }
916
- /**
917
- * Load items via key(s)
918
- */
919
- load(itemKeys) {
920
- // Check local storage
921
- if (!this.storage) {
922
- return;
923
- }
924
- // Check item keys
925
- if (!itemKeys || (Array.isArray(itemKeys) && !itemKeys.length)) {
926
- return null;
927
- }
928
- if (Array.isArray(itemKeys)) {
929
- const back = {};
930
- itemKeys.forEach((itemKey) => {
931
- const loadedItem = this.storage.getItem(this.prefix + itemKey);
932
- if (loadedItem) {
933
- back[itemKey] = JSON.parse(loadedItem);
934
- }
935
- else {
936
- back[itemKey] = null;
937
- }
938
- });
939
- return back;
940
- }
941
- let value = this.storage.getItem(this.prefix + itemKeys);
942
- if (value) {
943
- value = JSON.parse(value);
944
- }
945
- return value;
946
- }
947
- /**
948
- * Remove item from storage
949
- *
950
- * @param itemKeys keys or key to remove
951
- */
952
- remove(itemKeys) {
953
- // Check local storage
954
- if (!this.storage) {
955
- return false;
956
- }
957
- if (Array.isArray(itemKeys)) {
958
- itemKeys.forEach((key) => {
959
- this.storage.removeItem(this.prefix + key);
960
- });
961
- return true;
962
- }
963
- this.storage.removeItem(this.prefix + itemKeys);
964
- return true;
965
- }
966
- /**
967
- * Clear local storage
968
- */
969
- reset() {
970
- this.storage.clear();
971
- }
972
- }
973
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: StorageService, deps: [{ token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
974
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: StorageService, providedIn: 'root' });
975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: StorageService, decorators: [{
976
- type: Injectable,
977
- args: [{
978
- providedIn: 'root',
979
- }]
980
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
981
- type: Inject,
982
- args: [BASE_MODULE_CONFIG]
983
- }] }]; } });
984
-
985
- class WsService {
986
- reconnect() {
987
- this.client?.restart();
988
- }
989
- }
990
- WsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: WsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
991
- WsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: WsService, providedIn: 'root' });
992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: WsService, decorators: [{
993
- type: Injectable,
994
- args: [{
995
- providedIn: 'root',
996
- }]
997
- }] });
998
-
999
- /**
1000
- * Authentication service
1001
- */
1002
- class AuthService {
1003
- /**
1004
- * Constructor
1005
- */
1006
- constructor(moduleConfig, storageService, wsService) {
1007
- this.moduleConfig = moduleConfig;
1008
- this.storageService = storageService;
1009
- this.wsService = wsService;
1010
- // Subjects
1011
- this._currentUser = new BehaviorSubject(null);
1012
- this._token = new BehaviorSubject(null);
1013
- this.token = this.storageService.load('token');
1014
- this.currentUser = this.storageService.load('currentUser');
1015
- }
1016
- /**
1017
- * Logout
1018
- */
1019
- logout() {
1020
- this.storageService.remove(['token', 'currentUser']);
1021
- this.currentUser = null;
1022
- this.token = null;
1023
- }
1024
- // #################################################################
1025
- // Current User
1026
- // #################################################################
1027
- get currentUser() {
1028
- if (!localStorage) {
1029
- return undefined;
1030
- }
1031
- return this._currentUser.value;
1032
- }
1033
- set currentUser(user) {
1034
- this._currentUser.next(user);
1035
- this.storageService.save('currentUser', user);
1036
- }
1037
- get currentUserObservable() {
1038
- return this._currentUser.asObservable();
1039
- }
1040
- // #################################################################
1041
- // Token
1042
- // #################################################################
1043
- get token() {
1044
- if (!localStorage) {
1045
- return undefined;
1046
- }
1047
- return this._token.value;
1048
- }
1049
- set token(token) {
1050
- this._token.next(token);
1051
- this.storageService.save('token', token);
1052
- this.wsService.reconnect();
1053
- }
1054
- get tokenObservable() {
1055
- return this._token.asObservable();
1056
- }
1057
- }
1058
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: AuthService, deps: [{ token: BASE_MODULE_CONFIG }, { token: StorageService }, { token: WsService }], target: i0.ɵɵFactoryTarget.Injectable });
1059
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: AuthService, providedIn: 'root' });
1060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: AuthService, decorators: [{
1061
- type: Injectable,
1062
- args: [{
1063
- providedIn: 'root',
1064
- }]
1065
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1066
- type: Inject,
1067
- args: [BASE_MODULE_CONFIG]
1068
- }] }, { type: StorageService }, { type: WsService }]; } });
1069
-
1070
847
  /**
1071
848
  * GraphQL request type enum
1072
849
  */
@@ -1077,6 +854,8 @@ var GraphQLRequestType;
1077
854
  GraphQLRequestType["SUBSCRIPTION"] = "subscription";
1078
855
  })(GraphQLRequestType || (GraphQLRequestType = {}));
1079
856
 
857
+ const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
858
+
1080
859
  /**
1081
860
  * GraphQL meta service
1082
861
  *
@@ -1182,9 +961,9 @@ class GraphQLMetaService {
1182
961
  return observable;
1183
962
  }
1184
963
  }
1185
- GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
1186
- GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
1187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLMetaService, decorators: [{
964
+ GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
965
+ GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLMetaService, decorators: [{
1188
967
  type: Injectable,
1189
968
  args: [{
1190
969
  providedIn: 'root',
@@ -1675,9 +1454,9 @@ class GraphQLService {
1675
1454
  return { fieldsString, schemaFields, usedFields };
1676
1455
  }
1677
1456
  }
1678
- GraphQLService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1679
- GraphQLService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLService, providedIn: 'root' });
1680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLService, decorators: [{
1457
+ GraphQLService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1458
+ GraphQLService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLService, providedIn: 'root' });
1459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLService, decorators: [{
1681
1460
  type: Injectable,
1682
1461
  args: [{
1683
1462
  providedIn: 'root',
@@ -1687,6 +1466,298 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
1687
1466
  args: [BASE_MODULE_CONFIG]
1688
1467
  }] }]; } });
1689
1468
 
1469
+ /**
1470
+ * Storage service for local data storage
1471
+ */
1472
+ class StorageService {
1473
+ /**
1474
+ * Initializations
1475
+ */
1476
+ constructor(moduleConfig) {
1477
+ this.moduleConfig = moduleConfig;
1478
+ /**
1479
+ * Storage
1480
+ */
1481
+ this.storage = null;
1482
+ /**
1483
+ * Prefix for storage keys
1484
+ */
1485
+ this.prefix = '';
1486
+ // Set storage
1487
+ const type = moduleConfig.storageType ? moduleConfig.storageType : 'local';
1488
+ if (type === 'session') {
1489
+ this.storage = sessionStorage;
1490
+ }
1491
+ else {
1492
+ if (localStorage) {
1493
+ this.storage = localStorage;
1494
+ }
1495
+ else {
1496
+ this.storage = null;
1497
+ }
1498
+ }
1499
+ // Set prefix
1500
+ this.prefix = '';
1501
+ if (moduleConfig.prefix) {
1502
+ this.prefix += moduleConfig.prefix + '_';
1503
+ }
1504
+ if (moduleConfig.version) {
1505
+ this.prefix += moduleConfig.version + '_';
1506
+ }
1507
+ }
1508
+ /**
1509
+ * Save itemKeys
1510
+ *
1511
+ * If you want to save one item, use itemKeys and value parameters like these:
1512
+ * save('KEY_OF_THE_ITEM', ITEM)
1513
+ *
1514
+ * If you want to save multiple items, use itemKeys only (value parameter will be ignored):
1515
+ * save({'KEY_OF_ITEM_1': ITEM_1, 'KEY_OF_ITEM_2': ITEM_2, ...})
1516
+ */
1517
+ save(itemKeys, value) {
1518
+ // Check local storage
1519
+ if (!this.storage) {
1520
+ return false;
1521
+ }
1522
+ // Check item keys and value
1523
+ if (!itemKeys ||
1524
+ (typeof itemKeys === 'object' && !Object.keys(itemKeys).length) ||
1525
+ (typeof itemKeys === 'string' && value === undefined)) {
1526
+ return false;
1527
+ }
1528
+ if (typeof itemKeys === 'object') {
1529
+ for (const [itemKey, itemValue] of Object.entries(itemKeys)) {
1530
+ this.storage.setItem(this.prefix + itemKey, JSON.stringify(itemValue));
1531
+ }
1532
+ return true;
1533
+ }
1534
+ this.storage.setItem(this.prefix + itemKeys, JSON.stringify(value));
1535
+ return true;
1536
+ }
1537
+ /**
1538
+ * Load items via key(s)
1539
+ */
1540
+ load(itemKeys) {
1541
+ // Check local storage
1542
+ if (!this.storage) {
1543
+ return;
1544
+ }
1545
+ // Check item keys
1546
+ if (!itemKeys || (Array.isArray(itemKeys) && !itemKeys.length)) {
1547
+ return null;
1548
+ }
1549
+ if (Array.isArray(itemKeys)) {
1550
+ const back = {};
1551
+ itemKeys.forEach((itemKey) => {
1552
+ const loadedItem = this.storage.getItem(this.prefix + itemKey);
1553
+ if (loadedItem) {
1554
+ back[itemKey] = JSON.parse(loadedItem);
1555
+ }
1556
+ else {
1557
+ back[itemKey] = null;
1558
+ }
1559
+ });
1560
+ return back;
1561
+ }
1562
+ let value = this.storage.getItem(this.prefix + itemKeys);
1563
+ if (value) {
1564
+ value = JSON.parse(value);
1565
+ }
1566
+ return value;
1567
+ }
1568
+ /**
1569
+ * Remove item from storage
1570
+ *
1571
+ * @param itemKeys keys or key to remove
1572
+ */
1573
+ remove(itemKeys) {
1574
+ // Check local storage
1575
+ if (!this.storage) {
1576
+ return false;
1577
+ }
1578
+ if (Array.isArray(itemKeys)) {
1579
+ itemKeys.forEach((key) => {
1580
+ this.storage.removeItem(this.prefix + key);
1581
+ });
1582
+ return true;
1583
+ }
1584
+ this.storage.removeItem(this.prefix + itemKeys);
1585
+ return true;
1586
+ }
1587
+ /**
1588
+ * Clear local storage
1589
+ */
1590
+ reset() {
1591
+ this.storage.clear();
1592
+ }
1593
+ }
1594
+ StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: StorageService, deps: [{ token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1595
+ StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: StorageService, providedIn: 'root' });
1596
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: StorageService, decorators: [{
1597
+ type: Injectable,
1598
+ args: [{
1599
+ providedIn: 'root',
1600
+ }]
1601
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1602
+ type: Inject,
1603
+ args: [BASE_MODULE_CONFIG]
1604
+ }] }]; } });
1605
+
1606
+ class WsService {
1607
+ reconnect() {
1608
+ this.client?.restart();
1609
+ }
1610
+ }
1611
+ WsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: WsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1612
+ WsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: WsService, providedIn: 'root' });
1613
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: WsService, decorators: [{
1614
+ type: Injectable,
1615
+ args: [{
1616
+ providedIn: 'root',
1617
+ }]
1618
+ }] });
1619
+
1620
+ /**
1621
+ * Authentication service
1622
+ */
1623
+ class AuthService {
1624
+ /**
1625
+ * Constructor
1626
+ */
1627
+ constructor(storageService, wsService, injector, router) {
1628
+ this.storageService = storageService;
1629
+ this.wsService = wsService;
1630
+ this.injector = injector;
1631
+ this.router = router;
1632
+ // Subjects
1633
+ this._currentUser = new BehaviorSubject(null);
1634
+ this._token = new BehaviorSubject(null);
1635
+ this._refreshToken = new BehaviorSubject(null);
1636
+ this.loadFromStorage();
1637
+ }
1638
+ requestNewToken() {
1639
+ return new Observable((subscriber) => {
1640
+ this.injector
1641
+ .get(GraphQLService)
1642
+ .graphQl('refreshToken', {
1643
+ fields: ['token', 'refreshToken'],
1644
+ })
1645
+ .subscribe({
1646
+ next: (response) => {
1647
+ this.token = response.token;
1648
+ this.refreshToken = response.refreshToken;
1649
+ subscriber.next(response);
1650
+ subscriber.complete();
1651
+ },
1652
+ error: (err) => {
1653
+ subscriber.error(err);
1654
+ },
1655
+ });
1656
+ });
1657
+ }
1658
+ loadFromStorage() {
1659
+ if (localStorage) {
1660
+ this.token = this.storageService.load('token');
1661
+ this.refreshToken = this.storageService.load('refreshToken');
1662
+ this.currentUser = this.storageService.load('currentUser');
1663
+ }
1664
+ }
1665
+ /**
1666
+ * Logout
1667
+ */
1668
+ logout(redirect = true) {
1669
+ return new Observable((subscriber) => {
1670
+ this.injector
1671
+ .get(GraphQLService)
1672
+ .graphQl('logout', {
1673
+ fields: [],
1674
+ })
1675
+ .subscribe({
1676
+ next: () => {
1677
+ this.clearSession(redirect);
1678
+ subscriber.next(true);
1679
+ subscriber.complete();
1680
+ },
1681
+ error: (err) => {
1682
+ subscriber.error(err);
1683
+ },
1684
+ });
1685
+ });
1686
+ }
1687
+ clearSession(redirect = true) {
1688
+ this.storageService.remove(['token', 'refreshToken', 'currentUser']);
1689
+ this.currentUser = null;
1690
+ this.token = null;
1691
+ this.refreshToken = null;
1692
+ if (redirect) {
1693
+ this.router.navigate(['/auth']);
1694
+ }
1695
+ }
1696
+ // #################################################################
1697
+ // Current User
1698
+ // #################################################################
1699
+ get currentUser() {
1700
+ if (!localStorage) {
1701
+ return undefined;
1702
+ }
1703
+ return this._currentUser.value;
1704
+ }
1705
+ set currentUser(user) {
1706
+ this._currentUser.next(user);
1707
+ this.storageService.save('currentUser', user);
1708
+ }
1709
+ get currentUserObservable() {
1710
+ return this._currentUser.asObservable();
1711
+ }
1712
+ // #################################################################
1713
+ // Token
1714
+ // #################################################################
1715
+ get token() {
1716
+ if (!localStorage) {
1717
+ return undefined;
1718
+ }
1719
+ return this._token.value;
1720
+ }
1721
+ set token(token) {
1722
+ this._token.next(token);
1723
+ this.storageService.save('token', token);
1724
+ this.wsService.reconnect();
1725
+ }
1726
+ get tokenObservable() {
1727
+ if (!this._token.value) {
1728
+ this.loadFromStorage();
1729
+ }
1730
+ return this._token.asObservable();
1731
+ }
1732
+ // #################################################################
1733
+ // refreshToken
1734
+ // #################################################################
1735
+ get refreshToken() {
1736
+ if (!localStorage) {
1737
+ return undefined;
1738
+ }
1739
+ return this._refreshToken.value;
1740
+ }
1741
+ set refreshToken(refreshToken) {
1742
+ this._refreshToken.next(refreshToken);
1743
+ this.storageService.save('refreshToken', refreshToken);
1744
+ }
1745
+ get refreshTokenObservable() {
1746
+ if (!this._refreshToken.value) {
1747
+ this.loadFromStorage();
1748
+ }
1749
+ return this._refreshToken.asObservable();
1750
+ }
1751
+ }
1752
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, deps: [{ token: StorageService }, { token: WsService }, { token: i0.Injector }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1753
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, providedIn: 'root' });
1754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, decorators: [{
1755
+ type: Injectable,
1756
+ args: [{
1757
+ providedIn: 'root',
1758
+ }]
1759
+ }], ctorParameters: function () { return [{ type: StorageService }, { type: WsService }, { type: i0.Injector }, { type: i1$1.Router }]; } });
1760
+
1690
1761
  /**
1691
1762
  * Loader service for loading indication
1692
1763
  */
@@ -1754,9 +1825,9 @@ class LoaderService {
1754
1825
  });
1755
1826
  }
1756
1827
  }
1757
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1758
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LoaderService, providedIn: 'root' });
1759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LoaderService, decorators: [{
1828
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1829
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoaderService, providedIn: 'root' });
1830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoaderService, decorators: [{
1760
1831
  type: Injectable,
1761
1832
  args: [{
1762
1833
  providedIn: 'root',
@@ -1831,9 +1902,9 @@ class GraphQLPlusService extends GraphQLService {
1831
1902
  console.error(error);
1832
1903
  }
1833
1904
  }
1834
- GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1835
- GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
1836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLPlusService, decorators: [{
1905
+ GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1906
+ GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
1907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GraphQLPlusService, decorators: [{
1837
1908
  type: Injectable,
1838
1909
  args: [{
1839
1910
  providedIn: 'root',
@@ -1933,9 +2004,9 @@ class ImageService {
1933
2004
  });
1934
2005
  }
1935
2006
  }
1936
- ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1937
- ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ImageService, providedIn: 'root' });
1938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ImageService, decorators: [{
2007
+ ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2008
+ ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ImageService, providedIn: 'root' });
2009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ImageService, decorators: [{
1939
2010
  type: Injectable,
1940
2011
  args: [{
1941
2012
  providedIn: 'root',
@@ -2104,9 +2175,9 @@ class ScrollService {
2104
2175
  return this.scrollPromise;
2105
2176
  }
2106
2177
  }
2107
- ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ScrollService, deps: [{ token: i1$1.Router }, { token: BASE_MODULE_CONFIG }, { token: ImageService }], target: i0.ɵɵFactoryTarget.Injectable });
2108
- ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ScrollService, providedIn: 'root' });
2109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ScrollService, decorators: [{
2178
+ ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ScrollService, deps: [{ token: i1$1.Router }, { token: BASE_MODULE_CONFIG }, { token: ImageService }], target: i0.ɵɵFactoryTarget.Injectable });
2179
+ ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ScrollService, providedIn: 'root' });
2180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ScrollService, decorators: [{
2110
2181
  type: Injectable,
2111
2182
  args: [{
2112
2183
  providedIn: 'root',
@@ -2158,9 +2229,9 @@ class FormsService {
2158
2229
  this.scrollService.scrollTo(invalidForm);
2159
2230
  }
2160
2231
  }
2161
- FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
2162
- FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FormsService, providedIn: 'root' });
2163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FormsService, decorators: [{
2232
+ FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
2233
+ FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FormsService, providedIn: 'root' });
2234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FormsService, decorators: [{
2164
2235
  type: Injectable,
2165
2236
  args: [{
2166
2237
  providedIn: 'root',
@@ -2186,15 +2257,16 @@ class UserService extends GraphQLPlusService {
2186
2257
  */
2187
2258
  login(input) {
2188
2259
  return this.graphQl('signIn', {
2189
- arguments: { input },
2190
- fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2191
- type: GraphQLRequestType.QUERY,
2260
+ arguments: { input: { ...input, deviceDescription: navigator?.userAgent } },
2261
+ fields: ['refreshToken', 'token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2192
2262
  loading: true,
2193
2263
  }).pipe(map$1((response) => {
2194
2264
  this.authService.token = response.token;
2265
+ this.authService.refreshToken = response.refreshToken;
2195
2266
  this.authService.currentUser = response.user;
2196
2267
  return Auth.map({
2197
2268
  token: response.token,
2269
+ refreshToken: response.refreshToken,
2198
2270
  user: BasicUser.map(response.user),
2199
2271
  });
2200
2272
  }));
@@ -2206,15 +2278,16 @@ class UserService extends GraphQLPlusService {
2206
2278
  */
2207
2279
  register(input) {
2208
2280
  return this.graphQl('signUp', {
2209
- arguments: { input },
2210
- fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2211
- type: GraphQLRequestType.MUTATION,
2281
+ arguments: { input: { ...input, deviceDescription: navigator?.userAgent } },
2282
+ fields: ['refreshToken', 'token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2212
2283
  loading: true,
2213
2284
  }).pipe(map$1((response) => {
2214
2285
  this.authService.token = response.token;
2286
+ this.authService.refreshToken = response.refreshToken;
2215
2287
  this.authService.currentUser = response.user;
2216
2288
  return Auth.map({
2217
2289
  token: response.token,
2290
+ refreshToken: response.refreshToken,
2218
2291
  user: BasicUser.map(response.user),
2219
2292
  });
2220
2293
  }));
@@ -2299,9 +2372,9 @@ class UserService extends GraphQLPlusService {
2299
2372
  });
2300
2373
  }
2301
2374
  }
2302
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UserService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: AuthService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
2303
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UserService, providedIn: 'root' });
2304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UserService, decorators: [{
2375
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: AuthService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
2376
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserService, providedIn: 'root' });
2377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserService, decorators: [{
2305
2378
  type: Injectable,
2306
2379
  args: [{
2307
2380
  providedIn: 'root',
@@ -2340,9 +2413,9 @@ class ToastService {
2340
2413
  }
2341
2414
  }
2342
2415
  }
2343
- ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2344
- ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToastService, providedIn: 'root' });
2345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToastService, decorators: [{
2416
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2417
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToastService, providedIn: 'root' });
2418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToastService, decorators: [{
2346
2419
  type: Injectable,
2347
2420
  args: [{
2348
2421
  providedIn: 'root',
@@ -2350,17 +2423,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
2350
2423
  }] });
2351
2424
 
2352
2425
  class BreadcrumbService {
2353
- constructor(router) {
2354
- this.router = router;
2355
- this._breadcrumbs = new BehaviorSubject([]);
2356
- this.subscribeToRouteChanges();
2357
- }
2358
2426
  set breadcrumbs(value) {
2359
2427
  this._breadcrumbs.next(value);
2360
2428
  }
2361
2429
  get breadcrumbsObservable() {
2362
2430
  return this._breadcrumbs.asObservable();
2363
2431
  }
2432
+ constructor(router) {
2433
+ this.router = router;
2434
+ this._breadcrumbs = new BehaviorSubject([]);
2435
+ this.subscribeToRouteChanges();
2436
+ }
2364
2437
  /**
2365
2438
  * Subscribe to route changes and add element to breadcrumb
2366
2439
  */
@@ -2403,9 +2476,9 @@ class BreadcrumbService {
2403
2476
  return typeof data.breadcrumb === 'function' ? data.breadcrumb(data) : data.breadcrumb;
2404
2477
  }
2405
2478
  }
2406
- BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2407
- BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
2408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: BreadcrumbService, decorators: [{
2479
+ BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2480
+ BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
2481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BreadcrumbService, decorators: [{
2409
2482
  type: Injectable,
2410
2483
  args: [{
2411
2484
  providedIn: 'root',
@@ -2436,9 +2509,9 @@ class NavigationService {
2436
2509
  }
2437
2510
  }
2438
2511
  }
2439
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NavigationService, deps: [{ token: i1$1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
2440
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NavigationService, providedIn: 'root' });
2441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NavigationService, decorators: [{
2512
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NavigationService, deps: [{ token: i1$1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
2513
+ NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NavigationService, providedIn: 'root' });
2514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NavigationService, decorators: [{
2442
2515
  type: Injectable,
2443
2516
  args: [{ providedIn: 'root' }]
2444
2517
  }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.Location }]; } });
@@ -2511,9 +2584,9 @@ class CmsService {
2511
2584
  return value.charAt(0).toLowerCase() + value.slice(1);
2512
2585
  }
2513
2586
  }
2514
- CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: CmsService, deps: [{ token: GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
2515
- CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: CmsService, providedIn: 'root' });
2516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: CmsService, decorators: [{
2587
+ CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CmsService, deps: [{ token: GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
2588
+ CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CmsService, providedIn: 'root' });
2589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CmsService, decorators: [{
2517
2590
  type: Injectable,
2518
2591
  args: [{
2519
2592
  providedIn: 'root',
@@ -2589,9 +2662,9 @@ class FileService {
2589
2662
  });
2590
2663
  }
2591
2664
  }
2592
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FileService, deps: [{ token: AuthService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2593
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FileService, providedIn: 'root' });
2594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FileService, decorators: [{
2665
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, deps: [{ token: AuthService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2666
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, providedIn: 'root' });
2667
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, decorators: [{
2595
2668
  type: Injectable,
2596
2669
  args: [{
2597
2670
  providedIn: 'root',
@@ -2729,4 +2802,3 @@ function createRestartableClient(options) {
2729
2802
 
2730
2803
  export { Auth, AuthService, BASE_MODULE_CONFIG, BasicUser, BreadcrumbService, CmsService, ComparisonOperatorEnum, FileService, FormsService, GraphQLEnum, GraphQLMeta, GraphQLMetaService, GraphQLPlusService, GraphQLRequestType, GraphQLService, GraphQLType, Helper, ImageService, LoaderService, LogicalOperatorEnum, NavigationService, ScrollService, SkeletonType, Sort, SortOrderEnum, Standard, StorageService, ToastService, ToastType, UserService, Validation, WsService, createRestartableClient, debounce, fullEmail, securePasswordValidator };
2731
2804
  //# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map
2732
- //# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map