@smartbit4all/ng-client 1.2.0 → 2.0.0

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 (86) hide show
  1. package/esm2020/lib/session/api/api/session.service.mjs +4 -4
  2. package/esm2020/lib/session/cookie-service/smart-cookie.service.mjs +4 -4
  3. package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.mjs +4 -4
  4. package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs +4 -4
  5. package/esm2020/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.mjs +4 -4
  6. package/esm2020/lib/session/dev-tool/smart-dev-tool.interceptor.mjs +7 -7
  7. package/esm2020/lib/session/dev-tool/smart-dev-tool.service.mjs +7 -7
  8. package/esm2020/lib/session/smart-error-catching.interceptor.mjs +4 -4
  9. package/esm2020/lib/session/smart-header-maintainer.interceptor.mjs +4 -4
  10. package/esm2020/lib/session/smart-session.module.mjs +5 -5
  11. package/esm2020/lib/session/smart-session.service.mjs +4 -4
  12. package/esm2020/lib/session/smart-timer/smart-session-timer.component.mjs +4 -4
  13. package/esm2020/lib/session/smart-timer/smart-session-timer.service.mjs +4 -4
  14. package/esm2020/lib/smart-client/smart-authentication.service.mjs +4 -4
  15. package/esm2020/lib/smart-client/smart-component-api-client.mjs +2 -2
  16. package/esm2020/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +4 -4
  17. package/esm2020/lib/smart-client/smart.component.mjs +4 -4
  18. package/esm2020/lib/smart-client/smart.service.mjs +4 -4
  19. package/esm2020/lib/smart-ng-client.module.mjs +19 -8
  20. package/esm2020/lib/smart-ng-client.service.mjs +4 -4
  21. package/esm2020/lib/smart-tree/projects.mjs +9 -0
  22. package/esm2020/lib/smart-tree/smarttree-generic.service.mjs +292 -0
  23. package/esm2020/lib/smart-tree/smarttree.component.mjs +180 -0
  24. package/esm2020/lib/smart-tree/smarttree.model.mjs +7 -0
  25. package/esm2020/lib/smart-tree/smarttree.module.mjs +50 -0
  26. package/esm2020/lib/smart-tree/smarttree.node.model.mjs +6 -0
  27. package/esm2020/lib/smart-tree/smarttree.service.interface.mjs +2 -0
  28. package/esm2020/lib/smart-tree/smarttree.service.mjs +47 -0
  29. package/esm2020/lib/smart-tree/tree-api/api/tree.service.mjs +644 -0
  30. package/esm2020/lib/smart-tree/tree-api/configuration.mjs +91 -0
  31. package/esm2020/lib/smart-tree/tree-api/encoder.mjs +19 -0
  32. package/esm2020/lib/smart-tree/tree-api/param.mjs +2 -0
  33. package/esm2020/lib/smart-tree/tree-api/variables.mjs +9 -0
  34. package/esm2020/lib/view-context/api/api/view.service.mjs +4 -4
  35. package/esm2020/lib/view-context/api/api.module.mjs +5 -5
  36. package/esm2020/lib/view-context/message-dialog/message-dialog.component.mjs +4 -4
  37. package/esm2020/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +4 -4
  38. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +4 -4
  39. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +4 -4
  40. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +4 -4
  41. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +4 -4
  42. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +4 -4
  43. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +4 -4
  44. package/esm2020/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +4 -4
  45. package/esm2020/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +4 -4
  46. package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +4 -4
  47. package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +4 -4
  48. package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +4 -4
  49. package/esm2020/lib/view-context/smart-view-context.interceptor.mjs +4 -4
  50. package/esm2020/lib/view-context/smart-view-context.module.mjs +5 -5
  51. package/esm2020/lib/view-context/smart-view-context.service.mjs +7 -7
  52. package/esm2020/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +4 -4
  53. package/esm2020/lib/view-context/value-api/api/value.service.mjs +4 -4
  54. package/esm2020/lib/view-context/value-api/api.module.mjs +5 -5
  55. package/esm2020/projects.mjs +2 -1
  56. package/fesm2015/smartbit4all-ng-client.mjs +1536 -188
  57. package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
  58. package/fesm2020/smartbit4all-ng-client.mjs +1498 -188
  59. package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
  60. package/lib/smart-client/smart-component-api-client.d.ts +1 -1
  61. package/lib/smart-ng-client.module.d.ts +2 -1
  62. package/lib/smart-tree/projects.d.ts +5 -0
  63. package/lib/smart-tree/smarttree-generic.service.d.ts +50 -0
  64. package/lib/smart-tree/smarttree.component.d.ts +42 -0
  65. package/lib/smart-tree/smarttree.model.d.ts +41 -0
  66. package/lib/smart-tree/smarttree.module.d.ts +14 -0
  67. package/lib/smart-tree/smarttree.node.model.d.ts +13 -0
  68. package/lib/smart-tree/smarttree.service.d.ts +24 -0
  69. package/lib/smart-tree/smarttree.service.interface.d.ts +43 -0
  70. package/lib/smart-tree/tree-api/api/tree.service.d.ts +177 -0
  71. package/lib/smart-tree/tree-api/configuration.d.ts +104 -0
  72. package/lib/smart-tree/tree-api/encoder.d.ts +11 -0
  73. package/lib/smart-tree/tree-api/param.d.ts +37 -0
  74. package/lib/smart-tree/tree-api/variables.d.ts +8 -0
  75. package/package.json +1 -2
  76. package/projects.d.ts +1 -0
  77. package/smartbit4all-ng-client-2.0.0.tgz +0 -0
  78. package/src/lib/smart-tree/tree-api/README.md +226 -0
  79. package/schematics/collection.json +0 -11
  80. package/schematics/smart-component/index.ts +0 -26
  81. package/schematics/smart-component/schema.json +0 -20
  82. package/schematics/smart-component/smart-component.schema.ts +0 -4
  83. package/schematics/smart-component/templates/__name@dasherize__.component.css.template +0 -0
  84. package/schematics/smart-component/templates/__name@dasherize__.component.html.template +0 -3
  85. package/schematics/smart-component/templates/__name@dasherize__.component.ts.template +0 -26
  86. package/smartbit4all-ng-client-1.2.0.tgz +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, Optional, Inject, PLATFORM_ID, NgModule, SkipSelf, Component, Pipe, CUSTOM_ELEMENTS_SCHEMA, ViewChild, Input } from '@angular/core';
2
+ import { InjectionToken, Injectable, Optional, Inject, PLATFORM_ID, NgModule, SkipSelf, Component, Pipe, CUSTOM_ELEMENTS_SCHEMA, ViewChild, Input, ViewChildren } from '@angular/core';
3
3
  import { Subject, takeUntil, map, catchError, throwError, from } from 'rxjs';
4
4
  import { SmartSubject } from '@smartbit4all/subject';
5
5
  import * as i1 from '@angular/common/http';
@@ -28,15 +28,19 @@ import { catchError as catchError$1, switchMap } from 'rxjs/operators';
28
28
  import * as i4$4 from '@angular/material/snack-bar';
29
29
  import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
30
30
  import { Validators } from '@angular/forms';
31
+ import * as i5$1 from '@angular/material/menu';
32
+ import { MatMenuTrigger, MatMenuModule } from '@angular/material/menu';
33
+ import * as i1$2 from '@angular/material/tree';
34
+ import { MatTreeNestedDataSource, MatTreeModule } from '@angular/material/tree';
35
+ import { NestedTreeControl } from '@angular/cdk/tree';
31
36
  import { __decorate, __param } from 'tslib';
32
37
  import { SmartGridComponent } from '@smartbit4all/grid';
33
- import { SmarttreeGenericService } from '@smartbit4all/tree';
34
38
 
35
39
  /**
36
40
  * Custom HttpParameterCodec
37
41
  * Workaround for https://github.com/angular/angular/issues/18261
38
42
  */
39
- class CustomHttpParameterCodec$1 {
43
+ class CustomHttpParameterCodec$2 {
40
44
  encodeKey(k) {
41
45
  return encodeURIComponent(k);
42
46
  }
@@ -51,15 +55,15 @@ class CustomHttpParameterCodec$1 {
51
55
  }
52
56
  }
53
57
 
54
- const BASE_PATH$1 = new InjectionToken('basePath');
55
- const COLLECTION_FORMATS$1 = {
58
+ const BASE_PATH$2 = new InjectionToken('basePath');
59
+ const COLLECTION_FORMATS$2 = {
56
60
  'csv': ',',
57
61
  'tsv': ' ',
58
62
  'ssv': ' ',
59
63
  'pipes': '|'
60
64
  };
61
65
 
62
- class Configuration$1 {
66
+ class Configuration$2 {
63
67
  constructor(configurationParameters = {}) {
64
68
  this.apiKeys = configurationParameters.apiKeys;
65
69
  this.username = configurationParameters.username;
@@ -166,7 +170,7 @@ class SessionService {
166
170
  this.httpClient = httpClient;
167
171
  this.basePath = 'http://localhost';
168
172
  this.defaultHeaders = new HttpHeaders();
169
- this.configuration = new Configuration$1();
173
+ this.configuration = new Configuration$2();
170
174
  if (configuration) {
171
175
  this.configuration = configuration;
172
176
  }
@@ -179,7 +183,7 @@ class SessionService {
179
183
  }
180
184
  this.configuration.basePath = basePath;
181
185
  }
182
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$1();
186
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$2();
183
187
  }
184
188
  // @ts-ignore
185
189
  addToHttpParams(httpParams, value, key) {
@@ -430,9 +434,9 @@ class SessionService {
430
434
  });
431
435
  }
432
436
  }
433
- SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$1, optional: true }, { token: Configuration$1, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
434
- SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionService, providedIn: 'root' });
435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionService, decorators: [{
437
+ SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$2, optional: true }, { token: Configuration$2, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
438
+ SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SessionService, providedIn: 'root' });
439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SessionService, decorators: [{
436
440
  type: Injectable,
437
441
  args: [{
438
442
  providedIn: 'root'
@@ -441,8 +445,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
441
445
  type: Optional
442
446
  }, {
443
447
  type: Inject,
444
- args: [BASE_PATH$1]
445
- }] }, { type: Configuration$1, decorators: [{
448
+ args: [BASE_PATH$2]
449
+ }] }, { type: Configuration$2, decorators: [{
446
450
  type: Optional
447
451
  }] }]; } });
448
452
 
@@ -713,9 +717,9 @@ class SmartCookieService {
713
717
  }
714
718
  }
715
719
  }
716
- SmartCookieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartCookieService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
717
- SmartCookieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartCookieService, providedIn: "root" });
718
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartCookieService, decorators: [{
720
+ SmartCookieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartCookieService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
721
+ SmartCookieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartCookieService, providedIn: "root" });
722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartCookieService, decorators: [{
719
723
  type: Injectable,
720
724
  args: [{
721
725
  providedIn: "root",
@@ -938,9 +942,9 @@ class SmartSessionService {
938
942
  }
939
943
  }
940
944
  }
941
- SmartSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, deps: [{ token: SessionService }, { token: SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
942
- SmartSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, providedIn: 'root' });
943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, decorators: [{
945
+ SmartSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionService, deps: [{ token: SessionService }, { token: SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
946
+ SmartSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionService, providedIn: 'root' });
947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionService, decorators: [{
944
948
  type: Injectable,
945
949
  args: [{
946
950
  providedIn: 'root',
@@ -951,7 +955,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
951
955
  * Custom HttpParameterCodec
952
956
  * Workaround for https://github.com/angular/angular/issues/18261
953
957
  */
954
- class CustomHttpParameterCodec {
958
+ class CustomHttpParameterCodec$1 {
955
959
  encodeKey(k) {
956
960
  return encodeURIComponent(k);
957
961
  }
@@ -966,15 +970,15 @@ class CustomHttpParameterCodec {
966
970
  }
967
971
  }
968
972
 
969
- const BASE_PATH = new InjectionToken('basePath');
970
- const COLLECTION_FORMATS = {
973
+ const BASE_PATH$1 = new InjectionToken('basePath');
974
+ const COLLECTION_FORMATS$1 = {
971
975
  'csv': ',',
972
976
  'tsv': ' ',
973
977
  'ssv': ' ',
974
978
  'pipes': '|'
975
979
  };
976
980
 
977
- class Configuration {
981
+ class Configuration$1 {
978
982
  constructor(configurationParameters = {}) {
979
983
  this.apiKeys = configurationParameters.apiKeys;
980
984
  this.username = configurationParameters.username;
@@ -1081,7 +1085,7 @@ class ViewService {
1081
1085
  this.httpClient = httpClient;
1082
1086
  this.basePath = 'http://localhost';
1083
1087
  this.defaultHeaders = new HttpHeaders();
1084
- this.configuration = new Configuration();
1088
+ this.configuration = new Configuration$1();
1085
1089
  if (configuration) {
1086
1090
  this.configuration = configuration;
1087
1091
  }
@@ -1094,7 +1098,7 @@ class ViewService {
1094
1098
  }
1095
1099
  this.configuration.basePath = basePath;
1096
1100
  }
1097
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1101
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$1();
1098
1102
  }
1099
1103
  /**
1100
1104
  * @param consumes string[] mime-types
@@ -1871,7 +1875,7 @@ class ViewService {
1871
1875
  });
1872
1876
  }
1873
1877
  else {
1874
- localVarFormParams = localVarFormParams.append('contents', [...contents].join(COLLECTION_FORMATS['csv'])) || localVarFormParams;
1878
+ localVarFormParams = localVarFormParams.append('contents', [...contents].join(COLLECTION_FORMATS$1['csv'])) || localVarFormParams;
1875
1879
  }
1876
1880
  }
1877
1881
  let responseType_ = 'json';
@@ -1898,9 +1902,9 @@ class ViewService {
1898
1902
  });
1899
1903
  }
1900
1904
  }
1901
- ViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1902
- ViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, providedIn: 'root' });
1903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, decorators: [{
1905
+ ViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ViewService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$1, optional: true }, { token: Configuration$1, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1906
+ ViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ViewService, providedIn: 'root' });
1907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ViewService, decorators: [{
1904
1908
  type: Injectable,
1905
1909
  args: [{
1906
1910
  providedIn: 'root'
@@ -1909,8 +1913,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1909
1913
  type: Optional
1910
1914
  }, {
1911
1915
  type: Inject,
1912
- args: [BASE_PATH]
1913
- }] }, { type: Configuration, decorators: [{
1916
+ args: [BASE_PATH$1]
1917
+ }] }, { type: Configuration$1, decorators: [{
1914
1918
  type: Optional
1915
1919
  }] }]; } });
1916
1920
 
@@ -2213,14 +2217,14 @@ class ApiModule {
2213
2217
  static forRoot(configurationFactory) {
2214
2218
  return {
2215
2219
  ngModule: ApiModule,
2216
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
2220
+ providers: [{ provide: Configuration$1, useFactory: configurationFactory }]
2217
2221
  };
2218
2222
  }
2219
2223
  }
2220
- ApiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
2221
- ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule });
2222
- ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, providers: [], imports: [[]] });
2223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, decorators: [{
2224
+ ApiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
2225
+ ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule });
2226
+ ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule, providers: [], imports: [[]] });
2227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule, decorators: [{
2224
2228
  type: NgModule,
2225
2229
  args: [{
2226
2230
  imports: [],
@@ -2285,9 +2289,9 @@ class MessageDialogComponent {
2285
2289
  });
2286
2290
  }
2287
2291
  }
2288
- MessageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessageDialogComponent, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Component });
2289
- MessageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MessageDialogComponent, selector: "app-message-dialog", ngImport: i0, template: "<div class=\"taskDialogContainer\" *ngIf=\"messageData\">\r\n\t<h2>\r\n\t\t{{ messageData.header }}\r\n\t</h2>\r\n\t<p>{{ messageData.text }}</p>\r\n\t<div class=\"buttonsContainer\">\r\n\t\t<button\r\n\t\t\t*ngFor=\"let option of messageData.options\"\r\n\t\t\tmat-button\r\n\t\t\tclass=\"taskDialogButton\"\r\n\t\t\t[ngClass]=\"getType(option)\"\r\n\t\t\tcolor=\"{{ getColor(option) }}\"\r\n\t\t\t(click)=\"onClick(option)\"\r\n\t\t>\r\n\t\t\t<mat-icon *ngIf=\"option.icon\">\r\n\t\t\t\t{{ option.icon }}\r\n\t\t\t</mat-icon>\r\n\t\t\t{{ option.label }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".taskDialogContainer{width:400px;display:flex;flex-direction:column;gap:.5rem}.spacer{flex:1}.buttonsContainer{display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end}.taskDialogButton{min-width:100px}h2,p{margin:0!important}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessageDialogComponent, decorators: [{
2292
+ MessageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MessageDialogComponent, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Component });
2293
+ MessageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MessageDialogComponent, selector: "app-message-dialog", ngImport: i0, template: "<div class=\"taskDialogContainer\" *ngIf=\"messageData\">\r\n\t<h2>\r\n\t\t{{ messageData.header }}\r\n\t</h2>\r\n\t<p>{{ messageData.text }}</p>\r\n\t<div class=\"buttonsContainer\">\r\n\t\t<button\r\n\t\t\t*ngFor=\"let option of messageData.options\"\r\n\t\t\tmat-button\r\n\t\t\tclass=\"taskDialogButton\"\r\n\t\t\t[ngClass]=\"getType(option)\"\r\n\t\t\tcolor=\"{{ getColor(option) }}\"\r\n\t\t\t(click)=\"onClick(option)\"\r\n\t\t>\r\n\t\t\t<mat-icon *ngIf=\"option.icon\">\r\n\t\t\t\t{{ option.icon }}\r\n\t\t\t</mat-icon>\r\n\t\t\t{{ option.label }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".taskDialogContainer{width:400px;display:flex;flex-direction:column;gap:.5rem}.spacer{flex:1}.buttonsContainer{display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end}.taskDialogButton{min-width:100px}h2,p{margin:0!important}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MessageDialogComponent, decorators: [{
2291
2295
  type: Component,
2292
2296
  args: [{ selector: "app-message-dialog", template: "<div class=\"taskDialogContainer\" *ngIf=\"messageData\">\r\n\t<h2>\r\n\t\t{{ messageData.header }}\r\n\t</h2>\r\n\t<p>{{ messageData.text }}</p>\r\n\t<div class=\"buttonsContainer\">\r\n\t\t<button\r\n\t\t\t*ngFor=\"let option of messageData.options\"\r\n\t\t\tmat-button\r\n\t\t\tclass=\"taskDialogButton\"\r\n\t\t\t[ngClass]=\"getType(option)\"\r\n\t\t\tcolor=\"{{ getColor(option) }}\"\r\n\t\t\t(click)=\"onClick(option)\"\r\n\t\t>\r\n\t\t\t<mat-icon *ngIf=\"option.icon\">\r\n\t\t\t\t{{ option.icon }}\r\n\t\t\t</mat-icon>\r\n\t\t\t{{ option.label }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".taskDialogContainer{width:400px;display:flex;flex-direction:column;gap:.5rem}.spacer{flex:1}.buttonsContainer{display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end}.taskDialogButton{min-width:100px}h2,p{margin:0!important}\n"] }]
2293
2297
  }], ctorParameters: function () { return [{ type: SmartViewContextService }]; } });
@@ -2764,9 +2768,9 @@ class SmartViewContextService {
2764
2768
  return await this.view.getComponentModel(uuid).toPromise();
2765
2769
  }
2766
2770
  }
2767
- SmartViewContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextService, deps: [{ token: ViewService }, { token: SmartSessionService }, { token: i3$1.SmartNavigationService }, { token: i4$1.SmartdialogService }, { token: ApiQueueService }], target: i0.ɵɵFactoryTarget.Injectable });
2768
- SmartViewContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextService, providedIn: 'root' });
2769
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextService, decorators: [{
2771
+ SmartViewContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextService, deps: [{ token: ViewService }, { token: SmartSessionService }, { token: i3$1.SmartNavigationService }, { token: i4$1.SmartdialogService }, { token: ApiQueueService }], target: i0.ɵɵFactoryTarget.Injectable });
2772
+ SmartViewContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextService, providedIn: 'root' });
2773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextService, decorators: [{
2770
2774
  type: Injectable,
2771
2775
  args: [{
2772
2776
  providedIn: 'root',
@@ -2809,9 +2813,9 @@ class ApiQueueService {
2809
2813
  }
2810
2814
  }
2811
2815
  }
2812
- ApiQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiQueueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2813
- ApiQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiQueueService, providedIn: 'root' });
2814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiQueueService, decorators: [{
2816
+ ApiQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiQueueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2817
+ ApiQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiQueueService, providedIn: 'root' });
2818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiQueueService, decorators: [{
2815
2819
  type: Injectable,
2816
2820
  args: [{
2817
2821
  providedIn: 'root',
@@ -2824,9 +2828,9 @@ class SmartNgClientService {
2824
2828
  this.viewContext = viewContext;
2825
2829
  }
2826
2830
  }
2827
- SmartNgClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, deps: [{ token: SmartSessionService }, { token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
2828
- SmartNgClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, providedIn: "root" });
2829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, decorators: [{
2831
+ SmartNgClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientService, deps: [{ token: SmartSessionService }, { token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
2832
+ SmartNgClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientService, providedIn: "root" });
2833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientService, decorators: [{
2830
2834
  type: Injectable,
2831
2835
  args: [{
2832
2836
  providedIn: "root",
@@ -2970,9 +2974,9 @@ class SmartDevToolService {
2970
2974
  return localStorage.getItem(this.smartDevToolName);
2971
2975
  }
2972
2976
  }
2973
- SmartDevToolService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolService, deps: [{ token: SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
2974
- SmartDevToolService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolService, providedIn: 'root' });
2975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolService, decorators: [{
2977
+ SmartDevToolService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, deps: [{ token: SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
2978
+ SmartDevToolService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, providedIn: 'root' });
2979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, decorators: [{
2976
2980
  type: Injectable,
2977
2981
  args: [{
2978
2982
  providedIn: 'root',
@@ -2983,9 +2987,9 @@ class SmartDevToolDatePipe extends DatePipe {
2983
2987
  return super.transform(value, format);
2984
2988
  }
2985
2989
  }
2986
- SmartDevToolDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
2987
- SmartDevToolDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDatePipe, name: "smartDevToolDatePipe" });
2988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDatePipe, decorators: [{
2990
+ SmartDevToolDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
2991
+ SmartDevToolDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, name: "smartDevToolDatePipe" });
2992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, decorators: [{
2989
2993
  type: Pipe,
2990
2994
  args: [{
2991
2995
  name: 'smartDevToolDatePipe',
@@ -3019,9 +3023,9 @@ class SmartDevToolDialogService extends SmartdialogService {
3019
3023
  this.service.clear();
3020
3024
  }
3021
3025
  }
3022
- SmartDevToolDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }, { token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3023
- SmartDevToolDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogService, providedIn: 'root' });
3024
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogService, decorators: [{
3026
+ SmartDevToolDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }, { token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3027
+ SmartDevToolDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, providedIn: 'root' });
3028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, decorators: [{
3025
3029
  type: Injectable,
3026
3030
  args: [{
3027
3031
  providedIn: 'root'
@@ -3080,9 +3084,9 @@ class SmartDevToolDialogComponent {
3080
3084
  this.service.closeDialog();
3081
3085
  }
3082
3086
  }
3083
- SmartDevToolDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3084
- SmartDevToolDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartDevToolDialogComponent, selector: "app-smart-dev-tool-dialog", ngImport: i0, template: "<div class=\"smartDevToolDialogContainer\">\r\n <div class=\"header\">\r\n <h2>Developer tool</h2>\r\n <button mat-icon-button title=\"close\" (click)=\"close()\">\r\n <smart-icon icon=\"close\"></smart-icon>\r\n </button>\r\n </div>\r\n <div class=\"requestsContainer\">\r\n <mat-accordion multi>\r\n <mat-expansion-panel\r\n class=\"requestCard\"\r\n [ngClass]=\"apiCall.responseStatus === 200 ? '' : 'hasError'\"\r\n *ngFor=\"let apiCall of descriptor?.apiCalls; let i = index\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"titlePanel\">\r\n <span class=\"date\">\r\n {{ apiCall.responseDate | smartDevToolDatePipe }}\r\n </span>\r\n <span class=\"urlText\">\r\n {{ apiCall.url }}\r\n </span>\r\n <div [ngClass]=\"apiCall.requestMethod\">\r\n {{ apiCall.requestMethod }}\r\n </div>\r\n <div [ngClass]=\"'statusCode-' + apiCall.responseStatus.toString()[0]\">\r\n {{ apiCall.responseStatus }}\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div>\r\n <div class=\"table\">\r\n <div class=\"row\">\r\n <div class=\"mainCol heading\">Request</div>\r\n <div class=\"mainCol heading\">Response</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Date</div>\r\n <div class=\"data\">\r\n {{ apiCall.requestDate | smartDevToolDatePipe }}\r\n </div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Date</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseDate | smartDevToolDatePipe }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Headers</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Headers</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.requestHeader\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.requestHeader)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.requestHeader\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.responseHeader\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.responseHeader)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.responseHeader\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\"></div>\r\n <div class=\"data\"></div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Status</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseStatus }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\"></div>\r\n <div class=\"data\"></div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Status text</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseStatusText }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Body</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Body</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.requestBody\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.requestBody)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.requestBody\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.responseBody\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.responseBody)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.responseBody\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Session Storage</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Local Storage</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Cookies</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.sessionStorage\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.sessionStorage)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.sessionStorage\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.localStorage\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.localStorage)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.localStorage\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.cookies\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.cookies)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.cookies\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n <div class=\"buttonsContainer\">\r\n <button color=\"primary\" mat-raised-button (click)=\"copy()\">Copy</button>\r\n <button color=\"warn\" mat-raised-button (click)=\"clear()\">Clear</button>\r\n </div>\r\n</div>\r\n", styles: [".smartDevToolDialogContainer{display:flex;flex-direction:column;gap:1rem;width:78vw;height:90vh}.header{display:flex;flex-direction:row;justify-content:space-between}.requestsContainer{display:flex;flex-direction:column;gap:1rem;flex:1;overflow:auto}.requestCard{background-color:var(--primary-lighter-color);padding:.5rem;border-radius:.5rem;display:flex;flex-direction:column}.table{display:flex;flex-direction:column;gap:.25rem}.row{display:flex;flex-direction:row;gap:1rem}.mainCol{flex:1;display:flex;flex-direction:row;gap:.5rem;overflow:auto}.heading{font-weight:700}.data{word-wrap:break-word}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}pre{outline:1px solid #000;padding:5px;margin:5px}.string{color:green}.number{color:#ff8c00}.boolean{color:#00f}.null{color:#f0f}.key{color:red}@media only screen and (max-width: 1000px){.row{flex-direction:column;gap:.5rem}.mainCol{flex-direction:column;overflow-x:auto;overflow-y:visible;flex:auto}.requestCard h4{font-size:small;overflow:auto}.smartDevToolDialogContainer{width:calc(80vw - 3rem)}}.hasError{background-color:var(--warn-lighter-color)}.titlePanel{flex:1;display:flex;flex-direction:row;gap:1rem}.urlText{flex:1;text-decoration:underline}.PATCH{color:#d38042}.DELETE{color:#a41e22}.GET{color:#0f6ab4}.POST{color:#10a54a}.PUT{color:#c5862b}.HEAD{color:#ffd20f}.statusCode-2{color:#5fb442}.statusCode-3{color:#5970f6}.statusCode-4{color:#ec6762}.statusCode-5{color:#f2a63b}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i4$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i4$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }], directives: [{ type: i4$3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "smartDevToolDatePipe": SmartDevToolDatePipe } });
3085
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogComponent, decorators: [{
3087
+ SmartDevToolDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3088
+ SmartDevToolDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartDevToolDialogComponent, selector: "app-smart-dev-tool-dialog", ngImport: i0, template: "<div class=\"smartDevToolDialogContainer\">\r\n <div class=\"header\">\r\n <h2>Developer tool</h2>\r\n <button mat-icon-button title=\"close\" (click)=\"close()\">\r\n <smart-icon icon=\"close\"></smart-icon>\r\n </button>\r\n </div>\r\n <div class=\"requestsContainer\">\r\n <mat-accordion multi>\r\n <mat-expansion-panel\r\n class=\"requestCard\"\r\n [ngClass]=\"apiCall.responseStatus === 200 ? '' : 'hasError'\"\r\n *ngFor=\"let apiCall of descriptor?.apiCalls; let i = index\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"titlePanel\">\r\n <span class=\"date\">\r\n {{ apiCall.responseDate | smartDevToolDatePipe }}\r\n </span>\r\n <span class=\"urlText\">\r\n {{ apiCall.url }}\r\n </span>\r\n <div [ngClass]=\"apiCall.requestMethod\">\r\n {{ apiCall.requestMethod }}\r\n </div>\r\n <div [ngClass]=\"'statusCode-' + apiCall.responseStatus.toString()[0]\">\r\n {{ apiCall.responseStatus }}\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div>\r\n <div class=\"table\">\r\n <div class=\"row\">\r\n <div class=\"mainCol heading\">Request</div>\r\n <div class=\"mainCol heading\">Response</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Date</div>\r\n <div class=\"data\">\r\n {{ apiCall.requestDate | smartDevToolDatePipe }}\r\n </div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Date</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseDate | smartDevToolDatePipe }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Headers</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Headers</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.requestHeader\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.requestHeader)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.requestHeader\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.responseHeader\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.responseHeader)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.responseHeader\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\"></div>\r\n <div class=\"data\"></div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Status</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseStatus }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\"></div>\r\n <div class=\"data\"></div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Status text</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseStatusText }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Body</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Body</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.requestBody\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.requestBody)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.requestBody\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.responseBody\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.responseBody)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.responseBody\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Session Storage</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Local Storage</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Cookies</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.sessionStorage\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.sessionStorage)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.sessionStorage\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.localStorage\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.localStorage)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.localStorage\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.cookies\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.cookies)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.cookies\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n <div class=\"buttonsContainer\">\r\n <button color=\"primary\" mat-raised-button (click)=\"copy()\">Copy</button>\r\n <button color=\"warn\" mat-raised-button (click)=\"clear()\">Clear</button>\r\n </div>\r\n</div>\r\n", styles: [".smartDevToolDialogContainer{display:flex;flex-direction:column;gap:1rem;width:78vw;height:90vh}.header{display:flex;flex-direction:row;justify-content:space-between}.requestsContainer{display:flex;flex-direction:column;gap:1rem;flex:1;overflow:auto}.requestCard{background-color:var(--primary-lighter-color);padding:.5rem;border-radius:.5rem;display:flex;flex-direction:column}.table{display:flex;flex-direction:column;gap:.25rem}.row{display:flex;flex-direction:row;gap:1rem}.mainCol{flex:1;display:flex;flex-direction:row;gap:.5rem;overflow:auto}.heading{font-weight:700}.data{word-wrap:break-word}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}pre{outline:1px solid #000;padding:5px;margin:5px}.string{color:green}.number{color:#ff8c00}.boolean{color:#00f}.null{color:#f0f}.key{color:red}@media only screen and (max-width: 1000px){.row{flex-direction:column;gap:.5rem}.mainCol{flex-direction:column;overflow-x:auto;overflow-y:visible;flex:auto}.requestCard h4{font-size:small;overflow:auto}.smartDevToolDialogContainer{width:calc(80vw - 3rem)}}.hasError{background-color:var(--warn-lighter-color)}.titlePanel{flex:1;display:flex;flex-direction:row;gap:1rem}.urlText{flex:1;text-decoration:underline}.PATCH{color:#d38042}.DELETE{color:#a41e22}.GET{color:#0f6ab4}.POST{color:#10a54a}.PUT{color:#c5862b}.HEAD{color:#ffd20f}.statusCode-2{color:#5fb442}.statusCode-3{color:#5970f6}.statusCode-4{color:#ec6762}.statusCode-5{color:#f2a63b}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i4$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i4$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }], directives: [{ type: i4$3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "smartDevToolDatePipe": SmartDevToolDatePipe } });
3089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogComponent, decorators: [{
3086
3090
  type: Component,
3087
3091
  args: [{ selector: 'app-smart-dev-tool-dialog', template: "<div class=\"smartDevToolDialogContainer\">\r\n <div class=\"header\">\r\n <h2>Developer tool</h2>\r\n <button mat-icon-button title=\"close\" (click)=\"close()\">\r\n <smart-icon icon=\"close\"></smart-icon>\r\n </button>\r\n </div>\r\n <div class=\"requestsContainer\">\r\n <mat-accordion multi>\r\n <mat-expansion-panel\r\n class=\"requestCard\"\r\n [ngClass]=\"apiCall.responseStatus === 200 ? '' : 'hasError'\"\r\n *ngFor=\"let apiCall of descriptor?.apiCalls; let i = index\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"titlePanel\">\r\n <span class=\"date\">\r\n {{ apiCall.responseDate | smartDevToolDatePipe }}\r\n </span>\r\n <span class=\"urlText\">\r\n {{ apiCall.url }}\r\n </span>\r\n <div [ngClass]=\"apiCall.requestMethod\">\r\n {{ apiCall.requestMethod }}\r\n </div>\r\n <div [ngClass]=\"'statusCode-' + apiCall.responseStatus.toString()[0]\">\r\n {{ apiCall.responseStatus }}\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div>\r\n <div class=\"table\">\r\n <div class=\"row\">\r\n <div class=\"mainCol heading\">Request</div>\r\n <div class=\"mainCol heading\">Response</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Date</div>\r\n <div class=\"data\">\r\n {{ apiCall.requestDate | smartDevToolDatePipe }}\r\n </div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Date</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseDate | smartDevToolDatePipe }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Headers</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Headers</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.requestHeader\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.requestHeader)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.requestHeader\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.responseHeader\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.responseHeader)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.responseHeader\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\"></div>\r\n <div class=\"data\"></div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Status</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseStatus }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\"></div>\r\n <div class=\"data\"></div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Status text</div>\r\n <div class=\"data\">\r\n {{ apiCall.responseStatusText }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Body</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Body</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.requestBody\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.requestBody)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.requestBody\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.responseBody\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.responseBody)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.responseBody\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Session Storage</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Local Storage</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <div class=\"heading\">Cookies</div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.sessionStorage\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.sessionStorage)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.sessionStorage\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.localStorage\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.localStorage)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.localStorage\" class=\"data\">null</div>\r\n </div>\r\n <div class=\"mainCol\">\r\n <pre\r\n *ngIf=\"apiCall.cookies\"\r\n class=\"data\"\r\n [innerHTML]=\"getBody(apiCall.cookies)\"\r\n ></pre>\r\n <div *ngIf=\"!apiCall.cookies\" class=\"data\">null</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n <div class=\"buttonsContainer\">\r\n <button color=\"primary\" mat-raised-button (click)=\"copy()\">Copy</button>\r\n <button color=\"warn\" mat-raised-button (click)=\"clear()\">Clear</button>\r\n </div>\r\n</div>\r\n", styles: [".smartDevToolDialogContainer{display:flex;flex-direction:column;gap:1rem;width:78vw;height:90vh}.header{display:flex;flex-direction:row;justify-content:space-between}.requestsContainer{display:flex;flex-direction:column;gap:1rem;flex:1;overflow:auto}.requestCard{background-color:var(--primary-lighter-color);padding:.5rem;border-radius:.5rem;display:flex;flex-direction:column}.table{display:flex;flex-direction:column;gap:.25rem}.row{display:flex;flex-direction:row;gap:1rem}.mainCol{flex:1;display:flex;flex-direction:row;gap:.5rem;overflow:auto}.heading{font-weight:700}.data{word-wrap:break-word}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}pre{outline:1px solid #000;padding:5px;margin:5px}.string{color:green}.number{color:#ff8c00}.boolean{color:#00f}.null{color:#f0f}.key{color:red}@media only screen and (max-width: 1000px){.row{flex-direction:column;gap:.5rem}.mainCol{flex-direction:column;overflow-x:auto;overflow-y:visible;flex:auto}.requestCard h4{font-size:small;overflow:auto}.smartDevToolDialogContainer{width:calc(80vw - 3rem)}}.hasError{background-color:var(--warn-lighter-color)}.titlePanel{flex:1;display:flex;flex-direction:row;gap:1rem}.urlText{flex:1;text-decoration:underline}.PATCH{color:#d38042}.DELETE{color:#a41e22}.GET{color:#0f6ab4}.POST{color:#10a54a}.PUT{color:#c5862b}.HEAD{color:#ffd20f}.statusCode-2{color:#5fb442}.statusCode-3{color:#5970f6}.statusCode-4{color:#ec6762}.statusCode-5{color:#f2a63b}\n"] }]
3088
3092
  }], ctorParameters: function () { return [{ type: SmartDevToolDialogService }]; } });
@@ -3135,9 +3139,9 @@ class SmartDevToolFloatingButtonComponent {
3135
3139
  this.service.openDialog();
3136
3140
  }
3137
3141
  }
3138
- SmartDevToolFloatingButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolFloatingButtonComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3139
- SmartDevToolFloatingButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartDevToolFloatingButtonComponent, selector: "smart-session-dev-tool", ngImport: i0, template: "<button\r\n *ngIf=\"isShown\"\r\n mat-fab\r\n [color]=\"errorsCount.length ? 'warn' : 'accent'\"\r\n class=\"floatingButton\"\r\n extended\r\n title=\"devTool\"\r\n (click)=\"openDevToolDialog()\"\r\n>\r\n <smart-icon color=\"white\" icon=\"developer_mode\"></smart-icon>\r\n {{ errorsCount }}\r\n</button>\r\n", styles: [".floatingButton{position:fixed;right:2rem;bottom:2rem}.mat-icon.mat-white{color:#fff}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolFloatingButtonComponent, decorators: [{
3142
+ SmartDevToolFloatingButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolFloatingButtonComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3143
+ SmartDevToolFloatingButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartDevToolFloatingButtonComponent, selector: "smart-session-dev-tool", ngImport: i0, template: "<button\r\n *ngIf=\"isShown\"\r\n mat-fab\r\n [color]=\"errorsCount.length ? 'warn' : 'accent'\"\r\n class=\"floatingButton\"\r\n extended\r\n title=\"devTool\"\r\n (click)=\"openDevToolDialog()\"\r\n>\r\n <smart-icon color=\"white\" icon=\"developer_mode\"></smart-icon>\r\n {{ errorsCount }}\r\n</button>\r\n", styles: [".floatingButton{position:fixed;right:2rem;bottom:2rem}.mat-icon.mat-white{color:#fff}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolFloatingButtonComponent, decorators: [{
3141
3145
  type: Component,
3142
3146
  args: [{ selector: 'smart-session-dev-tool', template: "<button\r\n *ngIf=\"isShown\"\r\n mat-fab\r\n [color]=\"errorsCount.length ? 'warn' : 'accent'\"\r\n class=\"floatingButton\"\r\n extended\r\n title=\"devTool\"\r\n (click)=\"openDevToolDialog()\"\r\n>\r\n <smart-icon color=\"white\" icon=\"developer_mode\"></smart-icon>\r\n {{ errorsCount }}\r\n</button>\r\n", styles: [".floatingButton{position:fixed;right:2rem;bottom:2rem}.mat-icon.mat-white{color:#fff}\n"] }]
3143
3147
  }], ctorParameters: function () { return [{ type: SmartDevToolDialogService }]; } });
@@ -3160,9 +3164,9 @@ class SmartDevToolInterceptor {
3160
3164
  }));
3161
3165
  }
3162
3166
  }
3163
- SmartDevToolInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3164
- SmartDevToolInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolInterceptor });
3165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolInterceptor, decorators: [{
3167
+ SmartDevToolInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3168
+ SmartDevToolInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor });
3169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor, decorators: [{
3166
3170
  type: Injectable
3167
3171
  }], ctorParameters: function () { return [{ type: SmartDevToolService }]; } });
3168
3172
  class SmartDevToolErrorInterceptor {
@@ -3183,9 +3187,9 @@ class SmartDevToolErrorInterceptor {
3183
3187
  }));
3184
3188
  }
3185
3189
  }
3186
- SmartDevToolErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolErrorInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3187
- SmartDevToolErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolErrorInterceptor });
3188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolErrorInterceptor, decorators: [{
3190
+ SmartDevToolErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3191
+ SmartDevToolErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor });
3192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor, decorators: [{
3189
3193
  type: Injectable
3190
3194
  }], ctorParameters: function () { return [{ type: SmartDevToolService }]; } });
3191
3195
 
@@ -3233,9 +3237,9 @@ class SmartSessionTimerService {
3233
3237
  this.onTimerExpired.next();
3234
3238
  }
3235
3239
  }
3236
- SmartSessionTimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3237
- SmartSessionTimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, providedIn: 'root' });
3238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, decorators: [{
3240
+ SmartSessionTimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerService, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3241
+ SmartSessionTimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerService, providedIn: 'root' });
3242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerService, decorators: [{
3239
3243
  type: Injectable,
3240
3244
  args: [{
3241
3245
  providedIn: 'root',
@@ -3264,9 +3268,9 @@ class SmartSessionTimerComponent {
3264
3268
  return `${minutes}:${remainingSeconds < 10 ? '0' : ''}${remainingSeconds}`;
3265
3269
  }
3266
3270
  }
3267
- SmartSessionTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerComponent, deps: [{ token: SmartSessionTimerService }], target: i0.ɵɵFactoryTarget.Component });
3268
- SmartSessionTimerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartSessionTimerComponent, selector: "smart-session-timer", providers: [SmartSessionTimerService], ngImport: i0, template: "<div class=\"smart-session-timer-container\">\r\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\r\n {{ formatTime(timeInSeconds!) }}\r\n </span>\r\n</div>\r\n", styles: [""], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerComponent, decorators: [{
3271
+ SmartSessionTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerComponent, deps: [{ token: SmartSessionTimerService }], target: i0.ɵɵFactoryTarget.Component });
3272
+ SmartSessionTimerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartSessionTimerComponent, selector: "smart-session-timer", providers: [SmartSessionTimerService], ngImport: i0, template: "<div class=\"smart-session-timer-container\">\r\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\r\n {{ formatTime(timeInSeconds!) }}\r\n </span>\r\n</div>\r\n", styles: [""], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerComponent, decorators: [{
3270
3274
  type: Component,
3271
3275
  args: [{ selector: 'smart-session-timer', providers: [SmartSessionTimerService], template: "<div class=\"smart-session-timer-container\">\r\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\r\n {{ formatTime(timeInSeconds!) }}\r\n </span>\r\n</div>\r\n", styles: [""] }]
3272
3276
  }], ctorParameters: function () { return [{ type: SmartSessionTimerService }]; } });
@@ -3334,9 +3338,9 @@ class SmartErrorCatchingInterceptor {
3334
3338
  return from(this.session.refreshSession());
3335
3339
  }
3336
3340
  }
3337
- SmartErrorCatchingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3338
- SmartErrorCatchingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartErrorCatchingInterceptor });
3339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
3341
+ SmartErrorCatchingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3342
+ SmartErrorCatchingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor });
3343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
3340
3344
  type: Injectable
3341
3345
  }], ctorParameters: function () { return [{ type: SmartSessionService }]; } });
3342
3346
 
@@ -3377,20 +3381,20 @@ class SmartHeaderMaintainerInterceptor {
3377
3381
  return next.handle(request);
3378
3382
  }
3379
3383
  }
3380
- SmartHeaderMaintainerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartHeaderMaintainerInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3381
- SmartHeaderMaintainerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartHeaderMaintainerInterceptor });
3382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartHeaderMaintainerInterceptor, decorators: [{
3384
+ SmartHeaderMaintainerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartHeaderMaintainerInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3385
+ SmartHeaderMaintainerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartHeaderMaintainerInterceptor });
3386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartHeaderMaintainerInterceptor, decorators: [{
3383
3387
  type: Injectable
3384
3388
  }], ctorParameters: function () { return [{ type: SmartSessionService }]; } });
3385
3389
 
3386
3390
  class SmartSessionModule {
3387
3391
  }
3388
- SmartSessionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3389
- SmartSessionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, declarations: [SmartDevToolDialogComponent,
3392
+ SmartSessionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3393
+ SmartSessionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, declarations: [SmartDevToolDialogComponent,
3390
3394
  SmartDevToolFloatingButtonComponent,
3391
3395
  SmartDevToolDatePipe,
3392
3396
  SmartSessionTimerComponent], imports: [BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule], exports: [SmartDevToolFloatingButtonComponent, SmartSessionTimerComponent] });
3393
- SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, providers: [
3397
+ SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, providers: [
3394
3398
  SmartCookieService,
3395
3399
  SmartSessionService,
3396
3400
  SmartdialogModule,
@@ -3407,7 +3411,7 @@ SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
3407
3411
  { provide: HTTP_INTERCEPTORS, useClass: SmartDevToolInterceptor, multi: true },
3408
3412
  { provide: HTTP_INTERCEPTORS, useClass: SmartDevToolErrorInterceptor, multi: true },
3409
3413
  ], imports: [[BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule]] });
3410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, decorators: [{
3414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, decorators: [{
3411
3415
  type: NgModule,
3412
3416
  args: [{
3413
3417
  declarations: [
@@ -3491,9 +3495,9 @@ class SmartViewContextErrorDialogService extends SmartdialogService {
3491
3495
  };
3492
3496
  }
3493
3497
  }
3494
- SmartViewContextErrorDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }, { token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
3495
- SmartViewContextErrorDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogService, providedIn: 'root' });
3496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogService, decorators: [{
3498
+ SmartViewContextErrorDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }, { token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
3499
+ SmartViewContextErrorDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogService, providedIn: 'root' });
3500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogService, decorators: [{
3497
3501
  type: Injectable,
3498
3502
  args: [{
3499
3503
  providedIn: 'root',
@@ -3517,9 +3521,9 @@ class SmartViewContextErrorDialogComponent {
3517
3521
  this.service.closeDialog();
3518
3522
  }
3519
3523
  }
3520
- SmartViewContextErrorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component });
3521
- SmartViewContextErrorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
3524
+ SmartViewContextErrorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component });
3525
+ SmartViewContextErrorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
3523
3527
  type: Component,
3524
3528
  args: [{ selector: 'lib-smart-view-context-error-dialog', template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
3525
3529
  }], ctorParameters: function () { return [{ type: SmartViewContextErrorDialogService }]; } });
@@ -3552,9 +3556,9 @@ class SmartViewContextInterceptor {
3552
3556
  this.viewContextErrorDialog.openDialog();
3553
3557
  }
3554
3558
  }
3555
- SmartViewContextInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextInterceptor, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
3556
- SmartViewContextInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextInterceptor });
3557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextInterceptor, decorators: [{
3559
+ SmartViewContextInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextInterceptor, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
3560
+ SmartViewContextInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextInterceptor });
3561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextInterceptor, decorators: [{
3558
3562
  type: Injectable
3559
3563
  }], ctorParameters: function () { return [{ type: SmartViewContextErrorDialogService }]; } });
3560
3564
 
@@ -3574,9 +3578,9 @@ class SmartViewRedirect {
3574
3578
  });
3575
3579
  }
3576
3580
  }
3577
- SmartViewRedirect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewRedirect, deps: [{ token: SmartViewContextService }, { token: i3$1.SmartNavigationService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
3578
- SmartViewRedirect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartViewRedirect, selector: "app-redirect", ngImport: i0, template: "<div>Smart redirect</div>", isInline: true });
3579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewRedirect, decorators: [{
3581
+ SmartViewRedirect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewRedirect, deps: [{ token: SmartViewContextService }, { token: i3$1.SmartNavigationService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
3582
+ SmartViewRedirect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartViewRedirect, selector: "app-redirect", ngImport: i0, template: "<div>Smart redirect</div>", isInline: true });
3583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewRedirect, decorators: [{
3580
3584
  type: Component,
3581
3585
  args: [{
3582
3586
  selector: "app-redirect",
@@ -3690,9 +3694,9 @@ class UiActionDescriptorService {
3690
3694
  return uiActionDescriptor;
3691
3695
  }
3692
3696
  }
3693
- UiActionDescriptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionDescriptorService, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
3694
- UiActionDescriptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionDescriptorService, providedIn: 'root' });
3695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionDescriptorService, decorators: [{
3697
+ UiActionDescriptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionDescriptorService, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
3698
+ UiActionDescriptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionDescriptorService, providedIn: 'root' });
3699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionDescriptorService, decorators: [{
3696
3700
  type: Injectable,
3697
3701
  args: [{
3698
3702
  providedIn: 'root',
@@ -3714,9 +3718,9 @@ class SuccessSnackBarComponent {
3714
3718
  });
3715
3719
  }
3716
3720
  }
3717
- SuccessSnackBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SuccessSnackBarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: SmartViewContextService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
3718
- SuccessSnackBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SuccessSnackBarComponent, selector: "app-success-snack-bar", ngImport: i0, template: "<span class=\"successSnakBarContainer\" matSnackBarLabel> {{ text }} </span>\r\n", styles: ["::ng-deep .mat-snack-bar-container{text-align:center;border-radius:2rem}.successSnakBarContainer{color:#fff}\n"] });
3719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
3721
+ SuccessSnackBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SuccessSnackBarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: SmartViewContextService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
3722
+ SuccessSnackBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SuccessSnackBarComponent, selector: "app-success-snack-bar", ngImport: i0, template: "<span class=\"successSnakBarContainer\" matSnackBarLabel> {{ text }} </span>\r\n", styles: ["::ng-deep .mat-snack-bar-container{text-align:center;border-radius:2rem}.successSnakBarContainer{color:#fff}\n"] });
3723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
3720
3724
  type: Component,
3721
3725
  args: [{ selector: "app-success-snack-bar", template: "<span class=\"successSnakBarContainer\" matSnackBarLabel> {{ text }} </span>\r\n", styles: ["::ng-deep .mat-snack-bar-container{text-align:center;border-radius:2rem}.successSnakBarContainer{color:#fff}\n"] }]
3722
3726
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -3764,9 +3768,9 @@ class UiActionConfirmDialogComponent {
3764
3768
  this.service.cancel();
3765
3769
  }
3766
3770
  }
3767
- UiActionConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogComponent, deps: [{ token: UiActionConfirmDialogService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
3768
- UiActionConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UiActionConfirmDialogComponent, selector: "app-ui-action-confirm-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n\t<div class=\"headerContainer\">\r\n\t\t<h3 class=\"color-accent-700\">\r\n\t\t\t{{ getTitle() }}\r\n\t\t</h3>\r\n\t\t<button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n\t\t\t<smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<p>\r\n\t\t{{ getText() }}\r\n\t</p>\r\n\t<div class=\"folderNameDialogButtonsContainer\">\r\n\t\t<button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n\t\t\t{{ getCancelButtonLabel() }}\r\n\t\t</button>\r\n\t\t<button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"doAction()\">\r\n\t\t\t{{ getActionButtonLabel() }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }] });
3769
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogComponent, decorators: [{
3771
+ UiActionConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogComponent, deps: [{ token: UiActionConfirmDialogService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
3772
+ UiActionConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionConfirmDialogComponent, selector: "app-ui-action-confirm-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n\t<div class=\"headerContainer\">\r\n\t\t<h3 class=\"color-accent-700\">\r\n\t\t\t{{ getTitle() }}\r\n\t\t</h3>\r\n\t\t<button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n\t\t\t<smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<p>\r\n\t\t{{ getText() }}\r\n\t</p>\r\n\t<div class=\"folderNameDialogButtonsContainer\">\r\n\t\t<button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n\t\t\t{{ getCancelButtonLabel() }}\r\n\t\t</button>\r\n\t\t<button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"doAction()\">\r\n\t\t\t{{ getActionButtonLabel() }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }] });
3773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogComponent, decorators: [{
3770
3774
  type: Component,
3771
3775
  args: [{ selector: "app-ui-action-confirm-dialog", template: "<div class=\"folderNameDialogContainer\">\r\n\t<div class=\"headerContainer\">\r\n\t\t<h3 class=\"color-accent-700\">\r\n\t\t\t{{ getTitle() }}\r\n\t\t</h3>\r\n\t\t<button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n\t\t\t<smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<p>\r\n\t\t{{ getText() }}\r\n\t</p>\r\n\t<div class=\"folderNameDialogButtonsContainer\">\r\n\t\t<button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n\t\t\t{{ getCancelButtonLabel() }}\r\n\t\t</button>\r\n\t\t<button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"doAction()\">\r\n\t\t\t{{ getActionButtonLabel() }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
3772
3776
  }], ctorParameters: function () { return [{ type: UiActionConfirmDialogService }, { type: UiActionDescriptorService }]; } });
@@ -3802,9 +3806,9 @@ class UiActionConfirmDialogService extends SmartdialogService {
3802
3806
  this.onAction = new SmartSubject(this._destroy$);
3803
3807
  }
3804
3808
  }
3805
- UiActionConfirmDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
3806
- UiActionConfirmDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogService, providedIn: 'root' });
3807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogService, decorators: [{
3809
+ UiActionConfirmDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
3810
+ UiActionConfirmDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogService, providedIn: 'root' });
3811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogService, decorators: [{
3808
3812
  type: Injectable,
3809
3813
  args: [{
3810
3814
  providedIn: 'root',
@@ -3910,9 +3914,9 @@ class UiActionInputDialogComponent {
3910
3914
  this.service.cancel();
3911
3915
  }
3912
3916
  }
3913
- UiActionInputDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogComponent, deps: [{ token: UiActionInputDialogService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
3914
- UiActionInputDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UiActionInputDialogComponent, selector: "smart-ui-action-input-dialog", viewQueries: [{ propertyName: "folderFormChild", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n\t<div class=\"headerContainer\">\r\n\t\t<h3 class=\"color-accent-700\">\r\n\t\t\t{{ getTitle() }}\r\n\t\t</h3>\r\n\t\t<button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n\t\t\t<smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<p>\r\n\t\t{{ getText() }}\r\n\t</p>\r\n\t<smartform #form [smartForm]=\"folderForm\"></smartform>\r\n\t<div class=\"folderNameDialogButtonsContainer\">\r\n\t\t<button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n\t\t\t{{ getCancelButtonLabel() }}\r\n\t\t</button>\r\n\t\t<button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"save()\">\r\n\t\t\t{{ getActionButtonLabel() }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i5.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }] });
3915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogComponent, decorators: [{
3917
+ UiActionInputDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogComponent, deps: [{ token: UiActionInputDialogService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
3918
+ UiActionInputDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionInputDialogComponent, selector: "smart-ui-action-input-dialog", viewQueries: [{ propertyName: "folderFormChild", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n\t<div class=\"headerContainer\">\r\n\t\t<h3 class=\"color-accent-700\">\r\n\t\t\t{{ getTitle() }}\r\n\t\t</h3>\r\n\t\t<button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n\t\t\t<smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<p>\r\n\t\t{{ getText() }}\r\n\t</p>\r\n\t<smartform #form [smartForm]=\"folderForm\"></smartform>\r\n\t<div class=\"folderNameDialogButtonsContainer\">\r\n\t\t<button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n\t\t\t{{ getCancelButtonLabel() }}\r\n\t\t</button>\r\n\t\t<button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"save()\">\r\n\t\t\t{{ getActionButtonLabel() }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i5.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }] });
3919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogComponent, decorators: [{
3916
3920
  type: Component,
3917
3921
  args: [{ selector: 'smart-ui-action-input-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n\t<div class=\"headerContainer\">\r\n\t\t<h3 class=\"color-accent-700\">\r\n\t\t\t{{ getTitle() }}\r\n\t\t</h3>\r\n\t\t<button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n\t\t\t<smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<p>\r\n\t\t{{ getText() }}\r\n\t</p>\r\n\t<smartform #form [smartForm]=\"folderForm\"></smartform>\r\n\t<div class=\"folderNameDialogButtonsContainer\">\r\n\t\t<button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n\t\t\t{{ getCancelButtonLabel() }}\r\n\t\t</button>\r\n\t\t<button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"save()\">\r\n\t\t\t{{ getActionButtonLabel() }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
3918
3922
  }], ctorParameters: function () { return [{ type: UiActionInputDialogService }, { type: UiActionDescriptorService }]; }, propDecorators: { folderFormChild: [{
@@ -3955,9 +3959,9 @@ class UiActionInputDialogService extends SmartdialogService {
3955
3959
  this.onAction = new SmartSubject(this._destroy$);
3956
3960
  }
3957
3961
  }
3958
- UiActionInputDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
3959
- UiActionInputDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogService, providedIn: 'root' });
3960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogService, decorators: [{
3962
+ UiActionInputDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
3963
+ UiActionInputDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogService, providedIn: 'root' });
3964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogService, decorators: [{
3961
3965
  type: Injectable,
3962
3966
  args: [{
3963
3967
  providedIn: 'root',
@@ -4018,9 +4022,9 @@ class UiActionFileUploadDialogComponent {
4018
4022
  this.service.cancel();
4019
4023
  }
4020
4024
  }
4021
- UiActionFileUploadDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogComponent, deps: [{ token: UiActionFileUploadDialogService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
4022
- UiActionFileUploadDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i5.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }] });
4023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
4025
+ UiActionFileUploadDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogComponent, deps: [{ token: UiActionFileUploadDialogService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
4026
+ UiActionFileUploadDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i5.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }] });
4027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
4024
4028
  type: Component,
4025
4029
  args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
4026
4030
  }], ctorParameters: function () { return [{ type: UiActionFileUploadDialogService }, { type: UiActionDescriptorService }]; } });
@@ -4061,9 +4065,9 @@ class UiActionFileUploadDialogService extends SmartdialogService {
4061
4065
  this.onAction = new SmartSubject(this._destroy$);
4062
4066
  }
4063
4067
  }
4064
- UiActionFileUploadDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
4065
- UiActionFileUploadDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogService, providedIn: 'root' });
4066
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogService, decorators: [{
4068
+ UiActionFileUploadDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogService, deps: [{ token: i1$1.MatDialog }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
4069
+ UiActionFileUploadDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogService, providedIn: 'root' });
4070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogService, decorators: [{
4067
4071
  type: Injectable,
4068
4072
  args: [{
4069
4073
  providedIn: 'root',
@@ -4233,9 +4237,9 @@ class UiActionService {
4233
4237
  });
4234
4238
  }
4235
4239
  }
4236
- UiActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, deps: [{ token: UiActionConfirmDialogService }, { token: UiActionInputDialogService }, { token: UiActionFileUploadDialogService }, { token: i4$4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
4237
- UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, providedIn: 'root' });
4238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, decorators: [{
4240
+ UiActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionService, deps: [{ token: UiActionConfirmDialogService }, { token: UiActionInputDialogService }, { token: UiActionFileUploadDialogService }, { token: i4$4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
4241
+ UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionService, providedIn: 'root' });
4242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionService, decorators: [{
4239
4243
  type: Injectable,
4240
4244
  args: [{
4241
4245
  providedIn: 'root',
@@ -4331,9 +4335,9 @@ class UiActionToolbarComponent {
4331
4335
  uiActionModel.descriptor?.type === UiActionButtonType.Fab);
4332
4336
  }
4333
4337
  }
4334
- UiActionToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: UiActionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4335
- UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap;min-height:2.25rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
4338
+ UiActionToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: UiActionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4339
+ UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap;min-height:2.25rem}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
4337
4341
  type: Component,
4338
4342
  args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\r\n <button\r\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\r\n mat-button\r\n [ngClass]=\"getType(uiActionModel)\"\r\n class=\"{{ uiActionModel.cssClass }}\"\r\n [color]=\"uiActionModel.descriptor?.color\"\r\n (click)=\"onActionClicked($event, uiActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\r\n <ng-template #iconOnly>\r\n <smart-icon\r\n *ngIf=\"uiActionModel.descriptor?.icon\"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n <ng-template #text>\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n {{ uiActionModel.descriptor?.title }}\r\n <smart-icon\r\n *ngIf=\"\r\n uiActionModel.descriptor?.icon &&\r\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\r\n \"\r\n [icon]=\"uiActionModel.descriptor!.icon!\"\r\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\r\n ></smart-icon>\r\n </ng-template>\r\n </button>\r\n</div>\r\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap;min-height:2.25rem}\n"] }]
4339
4343
  }], ctorParameters: function () { return [{ type: UiActionService }, { type: i0.Injector }]; }, propDecorators: { uiActionModels: [{
@@ -4344,8 +4348,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4344
4348
 
4345
4349
  class SmartViewContextModule {
4346
4350
  }
4347
- SmartViewContextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4348
- SmartViewContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, declarations: [MessageDialogComponent,
4351
+ SmartViewContextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4352
+ SmartViewContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, declarations: [MessageDialogComponent,
4349
4353
  SmartViewContextErrorDialogComponent,
4350
4354
  SmartViewRedirect,
4351
4355
  UiActionToolbarComponent,
@@ -4359,7 +4363,7 @@ SmartViewContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
4359
4363
  MatSnackBarModule,
4360
4364
  SmartIconModule,
4361
4365
  SmartformModule], exports: [UiActionToolbarComponent, UiActionInputDialogComponent] });
4362
- SmartViewContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, providers: [
4366
+ SmartViewContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, providers: [
4363
4367
  SmartViewContextService,
4364
4368
  {
4365
4369
  provide: HTTP_INTERCEPTORS,
@@ -4376,7 +4380,7 @@ SmartViewContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
4376
4380
  SmartIconModule,
4377
4381
  SmartformModule,
4378
4382
  ]] });
4379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, decorators: [{
4383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, decorators: [{
4380
4384
  type: NgModule,
4381
4385
  args: [{
4382
4386
  declarations: [
@@ -4457,65 +4461,1371 @@ class SmartFileUploaderComponent {
4457
4461
  this.uiActionService.execute(this.uiActionModel.uiAction);
4458
4462
  }
4459
4463
  }
4460
- SmartFileUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartFileUploaderComponent, deps: [{ token: UiActionService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
4461
- SmartFileUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartFileUploaderComponent, selector: "smart-file-uploader4sc", inputs: { config: "config" }, usesOnChanges: true, ngImport: i0, template: "<smartfileuploader\r\n *ngIf=\"i18n\"\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"config?.fileFormats\"\r\n [isMultiple]=\"config?.isMultiple\"\r\n [maxSizeMb]=\"config?.maxSizeMb\"\r\n [uploadCallback]=\"executeUpload.bind(this)\"\r\n></smartfileuploader>\r\n", styles: [""], components: [{ type: i5.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4462
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartFileUploaderComponent, decorators: [{
4464
+ SmartFileUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFileUploaderComponent, deps: [{ token: UiActionService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component });
4465
+ SmartFileUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFileUploaderComponent, selector: "smart-file-uploader4sc", inputs: { config: "config" }, usesOnChanges: true, ngImport: i0, template: "<smartfileuploader\r\n *ngIf=\"i18n\"\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"config?.fileFormats\"\r\n [isMultiple]=\"config?.isMultiple\"\r\n [maxSizeMb]=\"config?.maxSizeMb\"\r\n [uploadCallback]=\"executeUpload.bind(this)\"\r\n></smartfileuploader>\r\n", styles: [""], components: [{ type: i5.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFileUploaderComponent, decorators: [{
4463
4467
  type: Component,
4464
4468
  args: [{ selector: 'smart-file-uploader4sc', template: "<smartfileuploader\r\n *ngIf=\"i18n\"\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"config?.fileFormats\"\r\n [isMultiple]=\"config?.isMultiple\"\r\n [maxSizeMb]=\"config?.maxSizeMb\"\r\n [uploadCallback]=\"executeUpload.bind(this)\"\r\n></smartfileuploader>\r\n", styles: [""] }]
4465
4469
  }], ctorParameters: function () { return [{ type: UiActionService }, { type: UiActionDescriptorService }]; }, propDecorators: { config: [{
4466
4470
  type: Input
4467
4471
  }] } });
4468
4472
 
4469
- class SmartNgClientModule {
4470
- }
4471
- SmartNgClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4472
- SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, declarations: [SmartFileUploaderComponent], imports: [BrowserModule,
4473
- MatCommonModule,
4474
- SmartSessionModule,
4475
- SmartViewContextModule,
4476
- SmartformModule,
4477
- SmartExpandableSectionModule], exports: [SmartSessionModule, SmartViewContextModule, SmartFileUploaderComponent] });
4478
- SmartNgClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, providers: [SmartNgClientService], imports: [[
4479
- BrowserModule,
4480
- MatCommonModule,
4481
- SmartSessionModule,
4482
- SmartViewContextModule,
4483
- SmartformModule,
4484
- SmartExpandableSectionModule,
4485
- ], SmartSessionModule, SmartViewContextModule] });
4486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, decorators: [{
4487
- type: NgModule,
4488
- args: [{
4489
- declarations: [SmartFileUploaderComponent],
4490
- imports: [
4491
- BrowserModule,
4492
- MatCommonModule,
4493
- SmartSessionModule,
4494
- SmartViewContextModule,
4495
- SmartformModule,
4496
- SmartExpandableSectionModule,
4497
- ],
4498
- exports: [SmartSessionModule, SmartViewContextModule, SmartFileUploaderComponent],
4499
- providers: [SmartNgClientService],
4500
- }]
4501
- }] });
4473
+ /**
4474
+ * Custom HttpParameterCodec
4475
+ * Workaround for https://github.com/angular/angular/issues/18261
4476
+ */
4477
+ class CustomHttpParameterCodec {
4478
+ encodeKey(k) {
4479
+ return encodeURIComponent(k);
4480
+ }
4481
+ encodeValue(v) {
4482
+ return encodeURIComponent(v);
4483
+ }
4484
+ decodeKey(k) {
4485
+ return decodeURIComponent(k);
4486
+ }
4487
+ decodeValue(v) {
4488
+ return decodeURIComponent(v);
4489
+ }
4490
+ }
4502
4491
 
4503
- class SmartAuthService {
4504
- constructor() {
4505
- this.bffApisHaveBeenSetUp = false;
4506
- this._destroy$ = new Subject();
4507
- this.headersUpdated = new SmartSubject(this._destroy$);
4492
+ const BASE_PATH = new InjectionToken('basePath');
4493
+ const COLLECTION_FORMATS = {
4494
+ 'csv': ',',
4495
+ 'tsv': ' ',
4496
+ 'ssv': ' ',
4497
+ 'pipes': '|'
4498
+ };
4499
+
4500
+ class Configuration {
4501
+ constructor(configurationParameters = {}) {
4502
+ this.apiKeys = configurationParameters.apiKeys;
4503
+ this.username = configurationParameters.username;
4504
+ this.password = configurationParameters.password;
4505
+ this.accessToken = configurationParameters.accessToken;
4506
+ this.basePath = configurationParameters.basePath;
4507
+ this.withCredentials = configurationParameters.withCredentials;
4508
+ this.encoder = configurationParameters.encoder;
4509
+ if (configurationParameters.encodeParam) {
4510
+ this.encodeParam = configurationParameters.encodeParam;
4511
+ }
4512
+ else {
4513
+ this.encodeParam = param => this.defaultEncodeParam(param);
4514
+ }
4515
+ if (configurationParameters.credentials) {
4516
+ this.credentials = configurationParameters.credentials;
4517
+ }
4518
+ else {
4519
+ this.credentials = {};
4520
+ }
4508
4521
  }
4509
- ngOnDestroy() {
4510
- this._destroy$.next();
4511
- this._destroy$.complete();
4522
+ /**
4523
+ * Select the correct content-type to use for a request.
4524
+ * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
4525
+ * If no content type is found return the first found type if the contentTypes is not empty
4526
+ * @param contentTypes - the array of content types that are available for selection
4527
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
4528
+ */
4529
+ selectHeaderContentType(contentTypes) {
4530
+ if (contentTypes.length === 0) {
4531
+ return undefined;
4532
+ }
4533
+ const type = contentTypes.find((x) => this.isJsonMime(x));
4534
+ if (type === undefined) {
4535
+ return contentTypes[0];
4536
+ }
4537
+ return type;
4512
4538
  }
4513
- }
4514
- SmartAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4515
- SmartAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartAuthService });
4516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartAuthService, decorators: [{
4517
- type: Injectable
4518
- }] });
4539
+ /**
4540
+ * Select the correct accept content-type to use for a request.
4541
+ * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
4542
+ * If no content type is found return the first found type if the contentTypes is not empty
4543
+ * @param accepts - the array of content types that are available for selection.
4544
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
4545
+ */
4546
+ selectHeaderAccept(accepts) {
4547
+ if (accepts.length === 0) {
4548
+ return undefined;
4549
+ }
4550
+ const type = accepts.find((x) => this.isJsonMime(x));
4551
+ if (type === undefined) {
4552
+ return accepts[0];
4553
+ }
4554
+ return type;
4555
+ }
4556
+ /**
4557
+ * Check if the given MIME is a JSON MIME.
4558
+ * JSON MIME examples:
4559
+ * application/json
4560
+ * application/json; charset=UTF8
4561
+ * APPLICATION/JSON
4562
+ * application/vnd.company+json
4563
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
4564
+ * @return True if the given MIME is JSON, false otherwise.
4565
+ */
4566
+ isJsonMime(mime) {
4567
+ const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
4568
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
4569
+ }
4570
+ lookupCredential(key) {
4571
+ const value = this.credentials[key];
4572
+ return typeof value === 'function'
4573
+ ? value()
4574
+ : value;
4575
+ }
4576
+ defaultEncodeParam(param) {
4577
+ // This implementation exists as fallback for missing configuration
4578
+ // and for backwards compatibility to older typescript-angular generator versions.
4579
+ // It only works for the 'simple' parameter style.
4580
+ // Date-handling only works for the 'date-time' format.
4581
+ // All other styles and Date-formats are probably handled incorrectly.
4582
+ //
4583
+ // But: if that's all you need (i.e.: the most common use-case): no need for customization!
4584
+ const value = param.dataFormat === 'date-time'
4585
+ ? param.value.toISOString()
4586
+ : param.value;
4587
+ return encodeURIComponent(String(value));
4588
+ }
4589
+ }
4590
+
4591
+ /**
4592
+ * UiTree domain objects
4593
+ * Tree domain objects
4594
+ *
4595
+ * The version of the OpenAPI document: 1.0.0
4596
+ * Contact: info@it4all.hu
4597
+ *
4598
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
4599
+ * https://openapi-generator.tech
4600
+ * Do not edit the class manually.
4601
+ */
4602
+ class TreeService {
4603
+ constructor(httpClient, basePath, configuration) {
4604
+ this.httpClient = httpClient;
4605
+ this.basePath = 'http://localhost';
4606
+ this.defaultHeaders = new HttpHeaders();
4607
+ this.configuration = new Configuration();
4608
+ if (configuration) {
4609
+ this.configuration = configuration;
4610
+ }
4611
+ if (typeof this.configuration.basePath !== 'string') {
4612
+ if (Array.isArray(basePath) && basePath.length > 0) {
4613
+ basePath = basePath[0];
4614
+ }
4615
+ if (typeof basePath !== 'string') {
4616
+ basePath = this.basePath;
4617
+ }
4618
+ this.configuration.basePath = basePath;
4619
+ }
4620
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
4621
+ }
4622
+ // @ts-ignore
4623
+ addToHttpParams(httpParams, value, key) {
4624
+ if (typeof value === 'object' && value instanceof Date === false) {
4625
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
4626
+ }
4627
+ else {
4628
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
4629
+ }
4630
+ return httpParams;
4631
+ }
4632
+ addToHttpParamsRecursive(httpParams, value, key) {
4633
+ if (value == null) {
4634
+ return httpParams;
4635
+ }
4636
+ if (typeof value === 'object') {
4637
+ if (Array.isArray(value)) {
4638
+ value.forEach((elem) => (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)));
4639
+ }
4640
+ else if (value instanceof Date) {
4641
+ if (key != null) {
4642
+ httpParams = httpParams.append(key, value.toISOString().substr(0, 10));
4643
+ }
4644
+ else {
4645
+ throw Error('key may not be null if value is Date');
4646
+ }
4647
+ }
4648
+ else {
4649
+ Object.keys(value).forEach((k) => (httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k)));
4650
+ }
4651
+ }
4652
+ else if (key != null) {
4653
+ httpParams = httpParams.append(key, value);
4654
+ }
4655
+ else {
4656
+ throw Error('key may not be null if value is not object or array');
4657
+ }
4658
+ return httpParams;
4659
+ }
4660
+ collapseNode(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
4661
+ if (viewUuid === null || viewUuid === undefined) {
4662
+ throw new Error('Required parameter viewUuid was null or undefined when calling collapseNode.');
4663
+ }
4664
+ if (treeId === null || treeId === undefined) {
4665
+ throw new Error('Required parameter treeId was null or undefined when calling collapseNode.');
4666
+ }
4667
+ if (nodeId === null || nodeId === undefined) {
4668
+ throw new Error('Required parameter nodeId was null or undefined when calling collapseNode.');
4669
+ }
4670
+ let localVarHeaders = this.defaultHeaders;
4671
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4672
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4673
+ // to determine the Accept header
4674
+ const httpHeaderAccepts = ['application/json'];
4675
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4676
+ }
4677
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4678
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4679
+ }
4680
+ let localVarHttpContext = options && options.context;
4681
+ if (localVarHttpContext === undefined) {
4682
+ localVarHttpContext = new HttpContext();
4683
+ }
4684
+ let responseType_ = 'json';
4685
+ if (localVarHttpHeaderAcceptSelected) {
4686
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4687
+ responseType_ = 'text';
4688
+ }
4689
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4690
+ responseType_ = 'json';
4691
+ }
4692
+ else {
4693
+ responseType_ = 'blob';
4694
+ }
4695
+ }
4696
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4697
+ name: 'viewUuid',
4698
+ value: viewUuid,
4699
+ in: 'path',
4700
+ style: 'simple',
4701
+ explode: false,
4702
+ dataType: 'string',
4703
+ dataFormat: 'uuid',
4704
+ })}/${this.configuration.encodeParam({
4705
+ name: 'treeId',
4706
+ value: treeId,
4707
+ in: 'path',
4708
+ style: 'simple',
4709
+ explode: false,
4710
+ dataType: 'string',
4711
+ dataFormat: undefined,
4712
+ })}/${this.configuration.encodeParam({
4713
+ name: 'nodeId',
4714
+ value: nodeId,
4715
+ in: 'path',
4716
+ style: 'simple',
4717
+ explode: false,
4718
+ dataType: 'string',
4719
+ dataFormat: undefined,
4720
+ })}/collapse`;
4721
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
4722
+ context: localVarHttpContext,
4723
+ responseType: responseType_,
4724
+ withCredentials: this.configuration.withCredentials,
4725
+ headers: localVarHeaders,
4726
+ observe: observe,
4727
+ reportProgress: reportProgress,
4728
+ });
4729
+ }
4730
+ expandNode(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
4731
+ if (viewUuid === null || viewUuid === undefined) {
4732
+ throw new Error('Required parameter viewUuid was null or undefined when calling expandNode.');
4733
+ }
4734
+ if (treeId === null || treeId === undefined) {
4735
+ throw new Error('Required parameter treeId was null or undefined when calling expandNode.');
4736
+ }
4737
+ if (nodeId === null || nodeId === undefined) {
4738
+ throw new Error('Required parameter nodeId was null or undefined when calling expandNode.');
4739
+ }
4740
+ let localVarHeaders = this.defaultHeaders;
4741
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4742
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4743
+ // to determine the Accept header
4744
+ const httpHeaderAccepts = ['application/json'];
4745
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4746
+ }
4747
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4748
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4749
+ }
4750
+ let localVarHttpContext = options && options.context;
4751
+ if (localVarHttpContext === undefined) {
4752
+ localVarHttpContext = new HttpContext();
4753
+ }
4754
+ let responseType_ = 'json';
4755
+ if (localVarHttpHeaderAcceptSelected) {
4756
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4757
+ responseType_ = 'text';
4758
+ }
4759
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4760
+ responseType_ = 'json';
4761
+ }
4762
+ else {
4763
+ responseType_ = 'blob';
4764
+ }
4765
+ }
4766
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4767
+ name: 'viewUuid',
4768
+ value: viewUuid,
4769
+ in: 'path',
4770
+ style: 'simple',
4771
+ explode: false,
4772
+ dataType: 'string',
4773
+ dataFormat: 'uuid',
4774
+ })}/${this.configuration.encodeParam({
4775
+ name: 'treeId',
4776
+ value: treeId,
4777
+ in: 'path',
4778
+ style: 'simple',
4779
+ explode: false,
4780
+ dataType: 'string',
4781
+ dataFormat: undefined,
4782
+ })}/${this.configuration.encodeParam({
4783
+ name: 'nodeId',
4784
+ value: nodeId,
4785
+ in: 'path',
4786
+ style: 'simple',
4787
+ explode: false,
4788
+ dataType: 'string',
4789
+ dataFormat: undefined,
4790
+ })}/expand`;
4791
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
4792
+ context: localVarHttpContext,
4793
+ responseType: responseType_,
4794
+ withCredentials: this.configuration.withCredentials,
4795
+ headers: localVarHeaders,
4796
+ observe: observe,
4797
+ reportProgress: reportProgress,
4798
+ });
4799
+ }
4800
+ getChildrenNodes(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
4801
+ if (viewUuid === null || viewUuid === undefined) {
4802
+ throw new Error('Required parameter viewUuid was null or undefined when calling getChildrenNodes.');
4803
+ }
4804
+ if (treeId === null || treeId === undefined) {
4805
+ throw new Error('Required parameter treeId was null or undefined when calling getChildrenNodes.');
4806
+ }
4807
+ if (nodeId === null || nodeId === undefined) {
4808
+ throw new Error('Required parameter nodeId was null or undefined when calling getChildrenNodes.');
4809
+ }
4810
+ let localVarHeaders = this.defaultHeaders;
4811
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4812
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4813
+ // to determine the Accept header
4814
+ const httpHeaderAccepts = ['application/json'];
4815
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4816
+ }
4817
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4818
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4819
+ }
4820
+ let localVarHttpContext = options && options.context;
4821
+ if (localVarHttpContext === undefined) {
4822
+ localVarHttpContext = new HttpContext();
4823
+ }
4824
+ let responseType_ = 'json';
4825
+ if (localVarHttpHeaderAcceptSelected) {
4826
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4827
+ responseType_ = 'text';
4828
+ }
4829
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4830
+ responseType_ = 'json';
4831
+ }
4832
+ else {
4833
+ responseType_ = 'blob';
4834
+ }
4835
+ }
4836
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4837
+ name: 'viewUuid',
4838
+ value: viewUuid,
4839
+ in: 'path',
4840
+ style: 'simple',
4841
+ explode: false,
4842
+ dataType: 'string',
4843
+ dataFormat: 'uuid',
4844
+ })}/${this.configuration.encodeParam({
4845
+ name: 'treeId',
4846
+ value: treeId,
4847
+ in: 'path',
4848
+ style: 'simple',
4849
+ explode: false,
4850
+ dataType: 'string',
4851
+ dataFormat: undefined,
4852
+ })}/${this.configuration.encodeParam({
4853
+ name: 'nodeId',
4854
+ value: nodeId,
4855
+ in: 'path',
4856
+ style: 'simple',
4857
+ explode: false,
4858
+ dataType: 'string',
4859
+ dataFormat: undefined,
4860
+ })}`;
4861
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
4862
+ context: localVarHttpContext,
4863
+ responseType: responseType_,
4864
+ withCredentials: this.configuration.withCredentials,
4865
+ headers: localVarHeaders,
4866
+ observe: observe,
4867
+ reportProgress: reportProgress,
4868
+ });
4869
+ }
4870
+ getMainActions(viewUuid, treeId, observe = 'body', reportProgress = false, options) {
4871
+ if (viewUuid === null || viewUuid === undefined) {
4872
+ throw new Error('Required parameter viewUuid was null or undefined when calling getMainActions.');
4873
+ }
4874
+ if (treeId === null || treeId === undefined) {
4875
+ throw new Error('Required parameter treeId was null or undefined when calling getMainActions.');
4876
+ }
4877
+ let localVarHeaders = this.defaultHeaders;
4878
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4879
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4880
+ // to determine the Accept header
4881
+ const httpHeaderAccepts = ['application/json'];
4882
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4883
+ }
4884
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4885
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4886
+ }
4887
+ let localVarHttpContext = options && options.context;
4888
+ if (localVarHttpContext === undefined) {
4889
+ localVarHttpContext = new HttpContext();
4890
+ }
4891
+ let responseType_ = 'json';
4892
+ if (localVarHttpHeaderAcceptSelected) {
4893
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4894
+ responseType_ = 'text';
4895
+ }
4896
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4897
+ responseType_ = 'json';
4898
+ }
4899
+ else {
4900
+ responseType_ = 'blob';
4901
+ }
4902
+ }
4903
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4904
+ name: 'viewUuid',
4905
+ value: viewUuid,
4906
+ in: 'path',
4907
+ style: 'simple',
4908
+ explode: false,
4909
+ dataType: 'string',
4910
+ dataFormat: 'uuid',
4911
+ })}/${this.configuration.encodeParam({
4912
+ name: 'treeId',
4913
+ value: treeId,
4914
+ in: 'path',
4915
+ style: 'simple',
4916
+ explode: false,
4917
+ dataType: 'string',
4918
+ dataFormat: undefined,
4919
+ })}/action`;
4920
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
4921
+ context: localVarHttpContext,
4922
+ responseType: responseType_,
4923
+ withCredentials: this.configuration.withCredentials,
4924
+ headers: localVarHeaders,
4925
+ observe: observe,
4926
+ reportProgress: reportProgress,
4927
+ });
4928
+ }
4929
+ getRootNodes(viewUuid, treeId, observe = 'body', reportProgress = false, options) {
4930
+ if (viewUuid === null || viewUuid === undefined) {
4931
+ throw new Error('Required parameter viewUuid was null or undefined when calling getRootNodes.');
4932
+ }
4933
+ if (treeId === null || treeId === undefined) {
4934
+ throw new Error('Required parameter treeId was null or undefined when calling getRootNodes.');
4935
+ }
4936
+ let localVarHeaders = this.defaultHeaders;
4937
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4938
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4939
+ // to determine the Accept header
4940
+ const httpHeaderAccepts = ['application/json'];
4941
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4942
+ }
4943
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4944
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4945
+ }
4946
+ let localVarHttpContext = options && options.context;
4947
+ if (localVarHttpContext === undefined) {
4948
+ localVarHttpContext = new HttpContext();
4949
+ }
4950
+ let responseType_ = 'json';
4951
+ if (localVarHttpHeaderAcceptSelected) {
4952
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4953
+ responseType_ = 'text';
4954
+ }
4955
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4956
+ responseType_ = 'json';
4957
+ }
4958
+ else {
4959
+ responseType_ = 'blob';
4960
+ }
4961
+ }
4962
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4963
+ name: 'viewUuid',
4964
+ value: viewUuid,
4965
+ in: 'path',
4966
+ style: 'simple',
4967
+ explode: false,
4968
+ dataType: 'string',
4969
+ dataFormat: 'uuid',
4970
+ })}/${this.configuration.encodeParam({
4971
+ name: 'treeId',
4972
+ value: treeId,
4973
+ in: 'path',
4974
+ style: 'simple',
4975
+ explode: false,
4976
+ dataType: 'string',
4977
+ dataFormat: undefined,
4978
+ })}`;
4979
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
4980
+ context: localVarHttpContext,
4981
+ responseType: responseType_,
4982
+ withCredentials: this.configuration.withCredentials,
4983
+ headers: localVarHeaders,
4984
+ observe: observe,
4985
+ reportProgress: reportProgress,
4986
+ });
4987
+ }
4988
+ performAction(viewUuid, treeId, nodeId, body, observe = 'body', reportProgress = false, options) {
4989
+ if (viewUuid === null || viewUuid === undefined) {
4990
+ throw new Error('Required parameter viewUuid was null or undefined when calling performAction.');
4991
+ }
4992
+ if (treeId === null || treeId === undefined) {
4993
+ throw new Error('Required parameter treeId was null or undefined when calling performAction.');
4994
+ }
4995
+ if (nodeId === null || nodeId === undefined) {
4996
+ throw new Error('Required parameter nodeId was null or undefined when calling performAction.');
4997
+ }
4998
+ if (body === null || body === undefined) {
4999
+ throw new Error('Required parameter body was null or undefined when calling performAction.');
5000
+ }
5001
+ let localVarHeaders = this.defaultHeaders;
5002
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
5003
+ if (localVarHttpHeaderAcceptSelected === undefined) {
5004
+ // to determine the Accept header
5005
+ const httpHeaderAccepts = ['application/json'];
5006
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
5007
+ }
5008
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
5009
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
5010
+ }
5011
+ let localVarHttpContext = options && options.context;
5012
+ if (localVarHttpContext === undefined) {
5013
+ localVarHttpContext = new HttpContext();
5014
+ }
5015
+ // to determine the Content-Type header
5016
+ const consumes = ['application/json'];
5017
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
5018
+ if (httpContentTypeSelected !== undefined) {
5019
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
5020
+ }
5021
+ let responseType_ = 'json';
5022
+ if (localVarHttpHeaderAcceptSelected) {
5023
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
5024
+ responseType_ = 'text';
5025
+ }
5026
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
5027
+ responseType_ = 'json';
5028
+ }
5029
+ else {
5030
+ responseType_ = 'blob';
5031
+ }
5032
+ }
5033
+ let localVarPath = `/tree/${this.configuration.encodeParam({
5034
+ name: 'viewUuid',
5035
+ value: viewUuid,
5036
+ in: 'path',
5037
+ style: 'simple',
5038
+ explode: false,
5039
+ dataType: 'string',
5040
+ dataFormat: 'uuid',
5041
+ })}/${this.configuration.encodeParam({
5042
+ name: 'treeId',
5043
+ value: treeId,
5044
+ in: 'path',
5045
+ style: 'simple',
5046
+ explode: false,
5047
+ dataType: 'string',
5048
+ dataFormat: undefined,
5049
+ })}/${this.configuration.encodeParam({
5050
+ name: 'nodeId',
5051
+ value: nodeId,
5052
+ in: 'path',
5053
+ style: 'simple',
5054
+ explode: false,
5055
+ dataType: 'string',
5056
+ dataFormat: undefined,
5057
+ })}/action`;
5058
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
5059
+ context: localVarHttpContext,
5060
+ body: body,
5061
+ responseType: responseType_,
5062
+ withCredentials: this.configuration.withCredentials,
5063
+ headers: localVarHeaders,
5064
+ observe: observe,
5065
+ reportProgress: reportProgress,
5066
+ });
5067
+ }
5068
+ performMainAction(viewUuid, treeId, body, observe = 'body', reportProgress = false, options) {
5069
+ if (viewUuid === null || viewUuid === undefined) {
5070
+ throw new Error('Required parameter viewUuid was null or undefined when calling performMainAction.');
5071
+ }
5072
+ if (treeId === null || treeId === undefined) {
5073
+ throw new Error('Required parameter treeId was null or undefined when calling performMainAction.');
5074
+ }
5075
+ if (body === null || body === undefined) {
5076
+ throw new Error('Required parameter body was null or undefined when calling performMainAction.');
5077
+ }
5078
+ let localVarHeaders = this.defaultHeaders;
5079
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
5080
+ if (localVarHttpHeaderAcceptSelected === undefined) {
5081
+ // to determine the Accept header
5082
+ const httpHeaderAccepts = ['application/json'];
5083
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
5084
+ }
5085
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
5086
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
5087
+ }
5088
+ let localVarHttpContext = options && options.context;
5089
+ if (localVarHttpContext === undefined) {
5090
+ localVarHttpContext = new HttpContext();
5091
+ }
5092
+ // to determine the Content-Type header
5093
+ const consumes = ['application/json'];
5094
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
5095
+ if (httpContentTypeSelected !== undefined) {
5096
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
5097
+ }
5098
+ let responseType_ = 'json';
5099
+ if (localVarHttpHeaderAcceptSelected) {
5100
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
5101
+ responseType_ = 'text';
5102
+ }
5103
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
5104
+ responseType_ = 'json';
5105
+ }
5106
+ else {
5107
+ responseType_ = 'blob';
5108
+ }
5109
+ }
5110
+ let localVarPath = `/tree/${this.configuration.encodeParam({
5111
+ name: 'viewUuid',
5112
+ value: viewUuid,
5113
+ in: 'path',
5114
+ style: 'simple',
5115
+ explode: false,
5116
+ dataType: 'string',
5117
+ dataFormat: 'uuid',
5118
+ })}/${this.configuration.encodeParam({
5119
+ name: 'treeId',
5120
+ value: treeId,
5121
+ in: 'path',
5122
+ style: 'simple',
5123
+ explode: false,
5124
+ dataType: 'string',
5125
+ dataFormat: undefined,
5126
+ })}/action`;
5127
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
5128
+ context: localVarHttpContext,
5129
+ body: body,
5130
+ responseType: responseType_,
5131
+ withCredentials: this.configuration.withCredentials,
5132
+ headers: localVarHeaders,
5133
+ observe: observe,
5134
+ reportProgress: reportProgress,
5135
+ });
5136
+ }
5137
+ selectNode(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
5138
+ if (viewUuid === null || viewUuid === undefined) {
5139
+ throw new Error('Required parameter viewUuid was null or undefined when calling selectNode.');
5140
+ }
5141
+ if (treeId === null || treeId === undefined) {
5142
+ throw new Error('Required parameter treeId was null or undefined when calling selectNode.');
5143
+ }
5144
+ if (nodeId === null || nodeId === undefined) {
5145
+ throw new Error('Required parameter nodeId was null or undefined when calling selectNode.');
5146
+ }
5147
+ let localVarHeaders = this.defaultHeaders;
5148
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
5149
+ if (localVarHttpHeaderAcceptSelected === undefined) {
5150
+ // to determine the Accept header
5151
+ const httpHeaderAccepts = ['application/json'];
5152
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
5153
+ }
5154
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
5155
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
5156
+ }
5157
+ let localVarHttpContext = options && options.context;
5158
+ if (localVarHttpContext === undefined) {
5159
+ localVarHttpContext = new HttpContext();
5160
+ }
5161
+ let responseType_ = 'json';
5162
+ if (localVarHttpHeaderAcceptSelected) {
5163
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
5164
+ responseType_ = 'text';
5165
+ }
5166
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
5167
+ responseType_ = 'json';
5168
+ }
5169
+ else {
5170
+ responseType_ = 'blob';
5171
+ }
5172
+ }
5173
+ let localVarPath = `/tree/${this.configuration.encodeParam({
5174
+ name: 'viewUuid',
5175
+ value: viewUuid,
5176
+ in: 'path',
5177
+ style: 'simple',
5178
+ explode: false,
5179
+ dataType: 'string',
5180
+ dataFormat: 'uuid',
5181
+ })}/${this.configuration.encodeParam({
5182
+ name: 'treeId',
5183
+ value: treeId,
5184
+ in: 'path',
5185
+ style: 'simple',
5186
+ explode: false,
5187
+ dataType: 'string',
5188
+ dataFormat: undefined,
5189
+ })}/${this.configuration.encodeParam({
5190
+ name: 'nodeId',
5191
+ value: nodeId,
5192
+ in: 'path',
5193
+ style: 'simple',
5194
+ explode: false,
5195
+ dataType: 'string',
5196
+ dataFormat: undefined,
5197
+ })}/select`;
5198
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
5199
+ context: localVarHttpContext,
5200
+ responseType: responseType_,
5201
+ withCredentials: this.configuration.withCredentials,
5202
+ headers: localVarHeaders,
5203
+ observe: observe,
5204
+ reportProgress: reportProgress,
5205
+ });
5206
+ }
5207
+ }
5208
+ TreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TreeService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5209
+ TreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TreeService, providedIn: 'root' });
5210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TreeService, decorators: [{
5211
+ type: Injectable,
5212
+ args: [{
5213
+ providedIn: 'root',
5214
+ }]
5215
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
5216
+ type: Optional
5217
+ }, {
5218
+ type: Inject,
5219
+ args: [BASE_PATH]
5220
+ }] }, { type: Configuration, decorators: [{
5221
+ type: Optional
5222
+ }] }]; } });
5223
+
5224
+ var SmartTreeNodeButtonType;
5225
+ (function (SmartTreeNodeButtonType) {
5226
+ SmartTreeNodeButtonType["MENU"] = "MENU";
5227
+ SmartTreeNodeButtonType["ICON"] = "ICON";
5228
+ SmartTreeNodeButtonType["NORMAL"] = "NORMAL";
5229
+ })(SmartTreeNodeButtonType || (SmartTreeNodeButtonType = {}));
5230
+
5231
+ class SmarttreeService {
5232
+ constructor() {
5233
+ this.errorMessage = 'The tree is currently unavailable';
5234
+ this.smartTreeModelChanged = new Subject();
5235
+ this.uiActionModelsChanged = new Subject();
5236
+ }
5237
+ get uiActionModels() {
5238
+ return this._uiActionModels;
5239
+ }
5240
+ set uiActionModels(uiActionModels) {
5241
+ this._uiActionModels = uiActionModels;
5242
+ this.uiActionModelsChanged.next();
5243
+ }
5244
+ async initialize() {
5245
+ await this.downloadTree().then((rootNodes) => {
5246
+ this.treeFromBackend = rootNodes;
5247
+ this.syncTree();
5248
+ });
5249
+ }
5250
+ async downloadTree() {
5251
+ throw new Error('downloadTree method not implemented.');
5252
+ }
5253
+ async downloadChildren(parentNode) {
5254
+ throw new Error('downloadChildren method not implemented.');
5255
+ }
5256
+ onTreeNodeClick(treeNode) {
5257
+ throw new Error('onTreeNodeClick method not implemented.');
5258
+ }
5259
+ onTreeNodeOpen(treeNode) {
5260
+ throw new Error('onTreeNodeOpen method not implemented.');
5261
+ }
5262
+ syncTree() {
5263
+ throw new Error('syncTree method not implemented.');
5264
+ }
5265
+ }
5266
+ SmarttreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5267
+ SmarttreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeService, providedIn: 'root' });
5268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeService, decorators: [{
5269
+ type: Injectable,
5270
+ args: [{
5271
+ providedIn: 'root',
5272
+ }]
5273
+ }], ctorParameters: function () { return []; } });
5274
+
5275
+ class SmarttreeGenericService extends SmarttreeService {
5276
+ constructor(inject, pageName, treeId) {
5277
+ super();
5278
+ this.pageName = pageName;
5279
+ this.treeId = treeId;
5280
+ // UseUiAction properties
5281
+ this.submit = new Subject();
5282
+ this.reSubscribeToChange = new Subject();
5283
+ this.uiActionDescriptors = new Map();
5284
+ this.viewContextName = 'viewContextUuid';
5285
+ this.configureTree({
5286
+ pageName: this.pageName,
5287
+ treeid: this.treeId,
5288
+ viewContextName: this.viewContextName,
5289
+ });
5290
+ this.viewContext = inject.get(SmartViewContextService);
5291
+ this.service = inject.get(TreeService);
5292
+ this.uiActionService = inject.get(UiActionService);
5293
+ this.uiActionDescriptorService = inject.get(UiActionDescriptorService);
5294
+ this.initialize();
5295
+ }
5296
+ constructUiActionModels(uiActions) {
5297
+ this.uiActionModels = uiActions.map((uiAction) => {
5298
+ return {
5299
+ serviceToUse: this,
5300
+ uiAction,
5301
+ };
5302
+ });
5303
+ }
5304
+ configureTree(configuration) {
5305
+ this.treeId = configuration.treeid;
5306
+ this.viewContextName = configuration.viewContextName;
5307
+ this.pageName = configuration.pageName;
5308
+ }
5309
+ async initialize() {
5310
+ if (sessionStorage.getItem(this.viewContextName)) {
5311
+ await this.downloadTree().then((rootNodes) => {
5312
+ this.treeFromBackend = rootNodes;
5313
+ this.syncTree();
5314
+ });
5315
+ }
5316
+ }
5317
+ async downloadTree() {
5318
+ let uuid = this.viewContext.getUuidOfPage(this.pageName);
5319
+ const rootNodes = await this.service.getRootNodes(uuid, this.treeId).toPromise();
5320
+ const uiActions = await this.service.getMainActions(uuid, this.treeId).toPromise();
5321
+ if (uiActions) {
5322
+ this.constructUiActionModels(uiActions);
5323
+ }
5324
+ if (!rootNodes) {
5325
+ throw new Error('RootNodes are undefined!');
5326
+ }
5327
+ return rootNodes;
5328
+ }
5329
+ async downloadChildren(parentNode) {
5330
+ let uuid = this.viewContext.getUuidOfPage(this.pageName);
5331
+ const children = await this.service
5332
+ .getChildrenNodes(uuid, this.treeId, parentNode.identifier)
5333
+ .toPromise();
5334
+ if (!children) {
5335
+ throw new Error(`Node with identifier ${parentNode.identifier} does not have children.`);
5336
+ }
5337
+ return children;
5338
+ }
5339
+ async onTreeNodeOpen(treeNode) {
5340
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5341
+ if (treeNode?.expanded) {
5342
+ let tempTreeNode = await this.service
5343
+ .collapseNode(viewUuid, this.treeId, treeNode.identifier)
5344
+ .toPromise();
5345
+ treeNode = tempTreeNode;
5346
+ }
5347
+ else if (!treeNode?.expanded) {
5348
+ let tempTreeNode = await this.service
5349
+ .expandNode(viewUuid, this.treeId, treeNode?.identifier)
5350
+ .toPromise();
5351
+ treeNode = tempTreeNode;
5352
+ }
5353
+ let node = this.deepSearchTreeNode(treeNode?.identifier, this.treeFromBackend);
5354
+ node.expanded = treeNode?.expanded;
5355
+ node.childrenNodes = treeNode?.childrenNodes;
5356
+ this.syncTree();
5357
+ }
5358
+ onTreeNodeClick(treeNode) {
5359
+ this.selectFolder(treeNode.identifier, treeNode);
5360
+ }
5361
+ async selectFolder(folderUri, treeNode) {
5362
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5363
+ await this.service
5364
+ .selectNode(viewUuid, this.treeId, treeNode.identifier)
5365
+ .toPromise()
5366
+ .then((updatedTreeNode) => {
5367
+ if (this.selectedNode) {
5368
+ this.selectedNode.selected = false;
5369
+ }
5370
+ this.selectedNode = updatedTreeNode;
5371
+ let node = this.deepSearchTreeNode(updatedTreeNode?.identifier, this.treeFromBackend);
5372
+ if (!node) {
5373
+ throw Error('Tree node does not exist');
5374
+ }
5375
+ node.expanded = updatedTreeNode?.expanded;
5376
+ node.childrenNodes = updatedTreeNode?.childrenNodes;
5377
+ node.selected = updatedTreeNode?.selected;
5378
+ treeNode = updatedTreeNode;
5379
+ this.syncTree();
5380
+ this.viewContext.getAndSyncViewContext(this.viewContext.getUuidOfPage(this.viewContextName));
5381
+ });
5382
+ }
5383
+ async updateTreeOnTheFly() {
5384
+ await this.initialize();
5385
+ }
5386
+ async syncTree() {
5387
+ await this.cacheActionDesciptors(this.getAllNodes(this.treeFromBackend));
5388
+ if (!this.treeFromBackend) {
5389
+ throw new Error('There is no treeFromBackend available!');
5390
+ }
5391
+ if (!this.smartTreeModel) {
5392
+ this.smartTreeModel = {
5393
+ rootNodes: [],
5394
+ };
5395
+ }
5396
+ let smartTreeNodes = this.createButtonsForTreeNodes(this.treeFromBackend);
5397
+ this.smartTreeModel = undefined;
5398
+ this.smartTreeModel = {
5399
+ rootNodes: [],
5400
+ };
5401
+ this.smartTreeModelChanged.next(this.smartTreeModel);
5402
+ this.smartTreeModel.rootNodes = smartTreeNodes;
5403
+ this.findSelected(this.smartTreeModel.rootNodes);
5404
+ this.smartTreeModelChanged.next(this.smartTreeModel);
5405
+ }
5406
+ deepSearchTreeNode(identifier, nodes) {
5407
+ let treeNode;
5408
+ for (let index = 0; index < nodes.length; index++) {
5409
+ const node = nodes[index];
5410
+ if (node.identifier === identifier) {
5411
+ treeNode = node;
5412
+ break;
5413
+ }
5414
+ if (node.childrenNodes && node.childrenNodes.length) {
5415
+ treeNode = this.deepSearchTreeNode(identifier, node.childrenNodes);
5416
+ if (treeNode) {
5417
+ break;
5418
+ }
5419
+ }
5420
+ }
5421
+ return treeNode;
5422
+ }
5423
+ findSelected(nodes) {
5424
+ return nodes.forEach((node) => {
5425
+ if (node.selected) {
5426
+ this.selectedNode = node;
5427
+ return;
5428
+ }
5429
+ else if (node.childrenNodes && node.childrenNodes.length) {
5430
+ return this.findSelected(node.childrenNodes);
5431
+ }
5432
+ });
5433
+ }
5434
+ createButtonsForTreeNodes(nodes) {
5435
+ nodes.map((node) => {
5436
+ node.button = node.actions?.length
5437
+ ? {
5438
+ type: SmartTreeNodeButtonType.MENU,
5439
+ icon: 'more_vert',
5440
+ menuItemButtons: node.actions.map((action) => {
5441
+ return {
5442
+ type: SmartTreeNodeButtonType.NORMAL,
5443
+ label: this.getLabelByAction(action),
5444
+ callback: this.doAction.bind(this),
5445
+ args: [action, node.identifier],
5446
+ };
5447
+ }),
5448
+ }
5449
+ : undefined;
5450
+ node.icon = 'Folders';
5451
+ if (node.childrenNodes) {
5452
+ node.childrenNodes = this.createButtonsForTreeNodes(node.childrenNodes);
5453
+ }
5454
+ });
5455
+ return nodes;
5456
+ }
5457
+ async doAction(args) {
5458
+ let uiAction = args[0];
5459
+ let nodeUuid = args[1];
5460
+ if (uiAction.params) {
5461
+ uiAction.params['nodeUuid'] = nodeUuid;
5462
+ }
5463
+ else {
5464
+ uiAction.params = {
5465
+ nodeUuid: nodeUuid,
5466
+ };
5467
+ }
5468
+ let uiActionModel = {
5469
+ serviceToUse: this,
5470
+ uiAction,
5471
+ };
5472
+ this.uiActionService.uiActionModel = uiActionModel;
5473
+ this.uiActionService.execute(uiAction);
5474
+ }
5475
+ getAllNodes(nodes) {
5476
+ return nodes.flatMap((n) => [n, ...this.getAllNodes(n.childrenNodes)]);
5477
+ }
5478
+ async cacheActionDesciptors(nodes) {
5479
+ await Promise.all(nodes.map(async (node) => {
5480
+ let newUiActions = node.actions?.filter((uiAction) => !this.uiActionDescriptors.get(uiAction.code));
5481
+ if (!newUiActions) {
5482
+ return;
5483
+ }
5484
+ await Promise.all(newUiActions.map(async (uiAction) => {
5485
+ if (!this.uiActionDescriptors.get(uiAction.code)) {
5486
+ let descriptor = await this.uiActionDescriptorService.getActionDescriptor(uiAction);
5487
+ this.uiActionDescriptors.set(uiAction.code, descriptor);
5488
+ }
5489
+ }));
5490
+ }));
5491
+ }
5492
+ getLabelByAction(action) {
5493
+ let desc = this.uiActionDescriptors.get(action.code);
5494
+ return desc.title;
5495
+ }
5496
+ // #region UseUiAction
5497
+ getAdditionalParams(uiAction) {
5498
+ if (uiAction.params && uiAction.params['nodeUuid']) {
5499
+ let nodeUuid = uiAction.params['nodeUuid'];
5500
+ let nodeName;
5501
+ if (uiAction.code === 'RENAME') {
5502
+ nodeName = this.deepSearchTreeNode(nodeUuid, this.treeFromBackend)?.caption;
5503
+ }
5504
+ return {
5505
+ forTextArea: '',
5506
+ forTextField: nodeName ? nodeName : '',
5507
+ };
5508
+ }
5509
+ return {
5510
+ forTextArea: '',
5511
+ forTextField: '',
5512
+ };
5513
+ }
5514
+ getModel() {
5515
+ return {};
5516
+ }
5517
+ async performUiActionRequest(uiActionRequest) {
5518
+ if (uiActionRequest.params['nodeUuid']) {
5519
+ await this.performNodeUiActionRequest(uiActionRequest);
5520
+ }
5521
+ else {
5522
+ await this.performMainUiActionRequest(uiActionRequest);
5523
+ }
5524
+ await this.viewContext.getAndSyncViewContext();
5525
+ this.syncTree();
5526
+ }
5527
+ async performNodeUiActionRequest(uiActionRequest) {
5528
+ let nodeId = uiActionRequest.params['nodeUuid'];
5529
+ delete uiActionRequest.params['nodeUuid'];
5530
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5531
+ this.treeFromBackend = await this.service
5532
+ .performAction(viewUuid, this.treeId, nodeId, uiActionRequest)
5533
+ .toPromise();
5534
+ }
5535
+ async performMainUiActionRequest(uiActionRequest) {
5536
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5537
+ this.treeFromBackend = await this.service
5538
+ .performMainAction(viewUuid, this.treeId, uiActionRequest)
5539
+ .toPromise();
5540
+ }
5541
+ handleSpecificDemandsAsynchronously(uiAction, uiActionRequest) {
5542
+ throw new Error('Method not implemented.');
5543
+ }
5544
+ }
5545
+ SmarttreeGenericService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeGenericService, deps: [{ token: i0.Injector }, { token: 'pageName' }, { token: 'treeId' }], target: i0.ɵɵFactoryTarget.Injectable });
5546
+ SmarttreeGenericService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeGenericService, providedIn: 'root' });
5547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeGenericService, decorators: [{
5548
+ type: Injectable,
5549
+ args: [{
5550
+ providedIn: 'root',
5551
+ }]
5552
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: undefined, decorators: [{
5553
+ type: Inject,
5554
+ args: ['pageName']
5555
+ }] }, { type: undefined, decorators: [{
5556
+ type: Inject,
5557
+ args: ['treeId']
5558
+ }] }]; } });
5559
+
5560
+ class SmartTreeComponent {
5561
+ constructor(cdr) {
5562
+ this.cdr = cdr;
5563
+ this._destroy$ = new Subject();
5564
+ this.treeControl = new NestedTreeControl((node) => node.childrenNodes);
5565
+ this.dataSource = new MatTreeNestedDataSource();
5566
+ this.smartTreeNodeButtonType = SmartTreeNodeButtonType;
5567
+ this.uiActionModels = [];
5568
+ this.hasChild = (_, node) => node.hasChildren;
5569
+ }
5570
+ ngOnInit() {
5571
+ if (!this.treeService) {
5572
+ throw new Error('TreeService has not been given!');
5573
+ }
5574
+ this.errorMessage = this.treeService.errorMessage;
5575
+ this.treeService.smartTreeModelChanged.subscribe((newSmartTree) => {
5576
+ this.treeData = newSmartTree;
5577
+ this.dataSource.data = this.treeData.rootNodes;
5578
+ this.expandTreeNodes();
5579
+ });
5580
+ this.treeService.uiActionModelsChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
5581
+ if (this.treeService.uiActionModels) {
5582
+ this.uiActionModels = this.treeService.uiActionModels;
5583
+ }
5584
+ });
5585
+ }
5586
+ ngOnDestroy() {
5587
+ this._destroy$.next();
5588
+ this._destroy$.complete();
5589
+ }
5590
+ getIfExpanded(node) {
5591
+ return this.treeControl.isExpanded(node);
5592
+ }
5593
+ expandTreeNodes() {
5594
+ this.expandTreeNodesDeeply(this.dataSource.data);
5595
+ }
5596
+ expandTreeNodesDeeply(nodes) {
5597
+ nodes.forEach((node) => {
5598
+ if (node.expanded) {
5599
+ this.treeControl.expand(node);
5600
+ this.cdr.markForCheck();
5601
+ if (node.childrenNodes && node.childrenNodes.length) {
5602
+ this.expandTreeNodesDeeply(node.childrenNodes);
5603
+ }
5604
+ }
5605
+ else {
5606
+ this.treeControl.collapse(node);
5607
+ }
5608
+ });
5609
+ }
5610
+ onNodeClick(event, node) {
5611
+ event.stopPropagation();
5612
+ if (this.tempActiveNode)
5613
+ this.tempActiveNode.selected = false;
5614
+ node.selected = true;
5615
+ this.tempActiveNode = node;
5616
+ this.treeService.onTreeNodeClick(node);
5617
+ }
5618
+ onOpenNode(event, node) {
5619
+ event.stopPropagation();
5620
+ this.treeService.onTreeNodeOpen(node);
5621
+ }
5622
+ getNodeStyle(node) {
5623
+ if (this.treeStyle) {
5624
+ var style = node.selected
5625
+ ? {
5626
+ background: this.treeStyle.activeStyle?.backgroundColor,
5627
+ color: this.treeStyle.activeStyle?.color,
5628
+ }
5629
+ : {
5630
+ background: this.treeStyle.levelBackgroundColor[node.level],
5631
+ color: this.treeStyle.color,
5632
+ };
5633
+ return style;
5634
+ }
5635
+ return {};
5636
+ }
5637
+ getNodePadding(node) {
5638
+ if (this.treeStyle) {
5639
+ var style = node.selected
5640
+ ? {
5641
+ 'padding-left': 15 * node.level + 'px',
5642
+ }
5643
+ : {
5644
+ 'padding-left': 15 * node.level + 'px',
5645
+ };
5646
+ return style;
5647
+ }
5648
+ return {};
5649
+ }
5650
+ customButtonClicked(event, button, close) {
5651
+ event.stopPropagation();
5652
+ if (button.type === SmartTreeNodeButtonType.MENU) {
5653
+ return;
5654
+ }
5655
+ if (!button.callback) {
5656
+ throw new Error(`Button with name ${button.label || button.icon} does not have a callback!`);
5657
+ }
5658
+ button.callback(button.args);
5659
+ if (close) {
5660
+ let openMenus = this.trigger.filter((matMenuTrigger) => matMenuTrigger.menuOpen);
5661
+ openMenus.forEach((matMenuTrigger) => {
5662
+ matMenuTrigger.closeMenu();
5663
+ });
5664
+ }
5665
+ }
5666
+ getClassesForTreeNode(node) {
5667
+ let classes = [];
5668
+ if (node.expanded) {
5669
+ classes.push(this.getCustomClass('expanded', node.level));
5670
+ }
5671
+ else {
5672
+ classes.push(this.getCustomClass('collapsed', node.level));
5673
+ }
5674
+ if (node.selected) {
5675
+ classes.push(this.getCustomClass('selected', node.level));
5676
+ }
5677
+ else {
5678
+ classes.push(this.getCustomClass('unselected', node.level));
5679
+ }
5680
+ if (node.level !== 0) {
5681
+ classes.push(this.getCustomClass('child', node.level));
5682
+ }
5683
+ return classes;
5684
+ }
5685
+ getInnerClassesForTreeNode(node) {
5686
+ let classes = [];
5687
+ if (node.expanded) {
5688
+ classes.push(this.getCustomClass('inner-expanded', node.level));
5689
+ }
5690
+ else {
5691
+ classes.push(this.getCustomClass('inner-collapsed', node.level));
5692
+ }
5693
+ if (node.selected) {
5694
+ classes.push(this.getCustomClass('inner-selected', node.level));
5695
+ }
5696
+ else {
5697
+ classes.push(this.getCustomClass('inner-unselected', node.level));
5698
+ }
5699
+ return classes;
5700
+ }
5701
+ getClassesForTreeNodeChildren(node) {
5702
+ let classes = [];
5703
+ classes.push(this.getCustomClass('group', node.level));
5704
+ return classes;
5705
+ }
5706
+ getCustomClass(cssClass, plusProperty) {
5707
+ return `${cssClass}-${plusProperty}`;
5708
+ }
5709
+ }
5710
+ SmartTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartTreeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5711
+ SmartTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartTreeComponent, selector: "smart-tree", inputs: { treeStyle: "treeStyle", treeService: "treeService" }, viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true }, { propertyName: "trigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"smartTreeContainer\">\r\n <smart-ui-action-toolbar\r\n *ngIf=\"uiActionModels.length\"\r\n [uiActionModels]=\"uiActionModels\"\r\n ></smart-ui-action-toolbar>\r\n <mat-tree\r\n #tree\r\n *ngIf=\"treeData\"\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle=\"{{ getIfExpanded(node) }}\"\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror\"\r\n matTreeNodeToggle\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n <div *ngIf=\"hasChild(node.level, node)\">\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n </mat-icon>\r\n </button>\r\n <smart-icon [icon]=\"node.icon\"> </smart-icon>\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n <div class=\"sm-tree-row-caption\">\r\n {{ node.caption }}\r\n </div>\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n <div *ngIf=\"node.button\" class=\"sm-tree-node-button\" [ngSwitch]=\"node.button.type\">\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.ICON\"\r\n mat-icon-button\r\n >\r\n <smart-icon title=\"{{ node.button.icon }}\" [icon]=\"node.button.icon\"></smart-icon>\r\n </button>\r\n <div *ngSwitchCase=\"smartTreeNodeButtonType.MENU\">\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon\r\n >{{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of node.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n >\r\n <smart-icon *ngIf=\"button.icon\" [icon]=\"button.icon\"></smart-icon\r\n >{{ button.label }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.NORMAL\"\r\n mat-raised-button\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon>\r\n {{ node.button.icon }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n <div *ngIf=\"!treeData\">\r\n <h3>\r\n {{ errorMessage }}\r\n </h3>\r\n </div>\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}\n"], components: [{ type: i1$2.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i5$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { type: i1$2.MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: ["role", "disabled", "tabIndex", "matNestedTreeNode"], exportAs: ["matNestedTreeNode"] }, { type: i1$2.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$2.MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }] });
5712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartTreeComponent, decorators: [{
5713
+ type: Component,
5714
+ args: [{ selector: 'smart-tree', template: "<div class=\"smartTreeContainer\">\r\n <smart-ui-action-toolbar\r\n *ngIf=\"uiActionModels.length\"\r\n [uiActionModels]=\"uiActionModels\"\r\n ></smart-ui-action-toolbar>\r\n <mat-tree\r\n #tree\r\n *ngIf=\"treeData\"\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle=\"{{ getIfExpanded(node) }}\"\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror\"\r\n matTreeNodeToggle\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n <div *ngIf=\"hasChild(node.level, node)\">\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n </mat-icon>\r\n </button>\r\n <smart-icon [icon]=\"node.icon\"> </smart-icon>\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n <div class=\"sm-tree-row-caption\">\r\n {{ node.caption }}\r\n </div>\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n <div *ngIf=\"node.button\" class=\"sm-tree-node-button\" [ngSwitch]=\"node.button.type\">\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.ICON\"\r\n mat-icon-button\r\n >\r\n <smart-icon title=\"{{ node.button.icon }}\" [icon]=\"node.button.icon\"></smart-icon>\r\n </button>\r\n <div *ngSwitchCase=\"smartTreeNodeButtonType.MENU\">\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon\r\n >{{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of node.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n >\r\n <smart-icon *ngIf=\"button.icon\" [icon]=\"button.icon\"></smart-icon\r\n >{{ button.label }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.NORMAL\"\r\n mat-raised-button\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon>\r\n {{ node.button.icon }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n <div *ngIf=\"!treeData\">\r\n <h3>\r\n {{ errorMessage }}\r\n </h3>\r\n </div>\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}\n"] }]
5715
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { trigger: [{
5716
+ type: ViewChildren,
5717
+ args: [MatMenuTrigger]
5718
+ }], tree: [{
5719
+ type: ViewChild,
5720
+ args: ['tree']
5721
+ }], treeStyle: [{
5722
+ type: Input
5723
+ }], treeService: [{
5724
+ type: Input
5725
+ }] } });
5726
+
5727
+ class SmarttreeModule {
5728
+ }
5729
+ SmarttreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5730
+ SmarttreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, declarations: [SmartTreeComponent], imports: [BrowserModule,
5731
+ MatCommonModule,
5732
+ MatButtonModule,
5733
+ MatIconModule,
5734
+ MatTreeModule,
5735
+ MatMenuModule,
5736
+ SmartIconModule], exports: [SmartTreeComponent] });
5737
+ SmarttreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, providers: [SmarttreeService, SmarttreeGenericService], imports: [[
5738
+ BrowserModule,
5739
+ MatCommonModule,
5740
+ MatButtonModule,
5741
+ MatIconModule,
5742
+ MatTreeModule,
5743
+ MatMenuModule,
5744
+ SmartIconModule,
5745
+ ]] });
5746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, decorators: [{
5747
+ type: NgModule,
5748
+ args: [{
5749
+ declarations: [SmartTreeComponent],
5750
+ imports: [
5751
+ BrowserModule,
5752
+ MatCommonModule,
5753
+ MatButtonModule,
5754
+ MatIconModule,
5755
+ MatTreeModule,
5756
+ MatMenuModule,
5757
+ SmartIconModule,
5758
+ ],
5759
+ exports: [SmartTreeComponent],
5760
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
5761
+ providers: [SmarttreeService, SmarttreeGenericService],
5762
+ }]
5763
+ }] });
5764
+
5765
+ class SmartNgClientModule {
5766
+ }
5767
+ SmartNgClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5768
+ SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, declarations: [SmartFileUploaderComponent], imports: [BrowserModule,
5769
+ MatCommonModule,
5770
+ SmartSessionModule,
5771
+ SmartViewContextModule,
5772
+ SmartformModule,
5773
+ SmartExpandableSectionModule], exports: [SmartSessionModule,
5774
+ SmartViewContextModule,
5775
+ SmartFileUploaderComponent,
5776
+ SmarttreeModule] });
5777
+ SmartNgClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, providers: [SmartNgClientService], imports: [[
5778
+ BrowserModule,
5779
+ MatCommonModule,
5780
+ SmartSessionModule,
5781
+ SmartViewContextModule,
5782
+ SmartformModule,
5783
+ SmartExpandableSectionModule,
5784
+ ], SmartSessionModule,
5785
+ SmartViewContextModule,
5786
+ SmarttreeModule] });
5787
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, decorators: [{
5788
+ type: NgModule,
5789
+ args: [{
5790
+ declarations: [SmartFileUploaderComponent],
5791
+ imports: [
5792
+ BrowserModule,
5793
+ MatCommonModule,
5794
+ SmartSessionModule,
5795
+ SmartViewContextModule,
5796
+ SmartformModule,
5797
+ SmartExpandableSectionModule,
5798
+ ],
5799
+ exports: [
5800
+ SmartSessionModule,
5801
+ SmartViewContextModule,
5802
+ SmartFileUploaderComponent,
5803
+ SmarttreeModule,
5804
+ ],
5805
+ providers: [SmartNgClientService],
5806
+ }]
5807
+ }] });
5808
+
5809
+ class SmartAuthService {
5810
+ constructor() {
5811
+ this.bffApisHaveBeenSetUp = false;
5812
+ this._destroy$ = new Subject();
5813
+ this.headersUpdated = new SmartSubject(this._destroy$);
5814
+ }
5815
+ ngOnDestroy() {
5816
+ this._destroy$.next();
5817
+ this._destroy$.complete();
5818
+ }
5819
+ }
5820
+ SmartAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5821
+ SmartAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartAuthService });
5822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartAuthService, decorators: [{
5823
+ type: Injectable
5824
+ }] });
5825
+
5826
+ /*
5827
+ * Public API Surface of smarttree
5828
+ */
4519
5829
 
4520
5830
  let SmartComponentApiClient = class SmartComponentApiClient {
4521
5831
  constructor(inject, auth, pageName) {
@@ -4890,9 +6200,9 @@ class SmartComponent extends SmartComponentApiClient {
4890
6200
  this._ngOnDestroy();
4891
6201
  }
4892
6202
  }
4893
- SmartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponent, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Component });
4894
- SmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
4895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponent, decorators: [{
6203
+ SmartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponent, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Component });
6204
+ SmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
6205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponent, decorators: [{
4896
6206
  type: Component,
4897
6207
  args: [{
4898
6208
  template: '',
@@ -4916,9 +6226,9 @@ class SmartService extends SmartComponentApiClient {
4916
6226
  this._ngOnDestroy();
4917
6227
  }
4918
6228
  }
4919
- SmartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartService, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Injectable });
4920
- SmartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartService, providedIn: 'root' });
4921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartService, decorators: [{
6229
+ SmartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Injectable });
6230
+ SmartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, providedIn: 'root' });
6231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, decorators: [{
4922
6232
  type: Injectable,
4923
6233
  args: [{
4924
6234
  providedIn: 'root',
@@ -4939,5 +6249,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4939
6249
  * Generated bundle index. Do not edit.
4940
6250
  */
4941
6251
 
4942
- export { APIS, ApiModule, ApiQueueService, BASE_PATH, COLLECTION_FORMATS, CloseResult, Configuration, DataChangeKind, IS_ASYNC_PARAM_NAME, MessageOptionType, MessageType, SessionAPIS, SessionErrorBehaviour, SessionService, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartDevToolDatePipe, SmartDevToolFloatingButtonComponent, SmartDevToolService, SmartFileUploaderComponent, SmartLinkChannelVariableInPath, SmartLinkUuidVariableInPath, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, UiActionButtonIconPos, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, ViewEventHandler, ViewService, ViewState, ViewType, WidgetMap };
6252
+ export { APIS, ApiModule, ApiQueueService, BASE_PATH$1 as BASE_PATH, COLLECTION_FORMATS$1 as COLLECTION_FORMATS, CloseResult, Configuration$1 as Configuration, DataChangeKind, IS_ASYNC_PARAM_NAME, MessageOptionType, MessageType, SessionAPIS, SessionErrorBehaviour, SessionService, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartDevToolDatePipe, SmartDevToolFloatingButtonComponent, SmartDevToolService, SmartFileUploaderComponent, SmartLinkChannelVariableInPath, SmartLinkUuidVariableInPath, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartTreeComponent, SmartTreeNodeButtonType, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmarttreeGenericService, SmarttreeModule, SmarttreeService, UiActionButtonIconPos, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, ViewEventHandler, ViewService, ViewState, ViewType, WidgetMap };
4943
6253
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map