@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 { __awaiter, __decorate, __param } from 'tslib';
4
4
  import { Subject, takeUntil, map, catchError, throwError, from } from 'rxjs';
5
5
  import { SmartSubject } from '@smartbit4all/subject';
@@ -29,14 +29,18 @@ import { catchError as catchError$1, switchMap } from 'rxjs/operators';
29
29
  import * as i4$4 from '@angular/material/snack-bar';
30
30
  import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
31
31
  import { Validators } from '@angular/forms';
32
+ import * as i5$1 from '@angular/material/menu';
33
+ import { MatMenuTrigger, MatMenuModule } from '@angular/material/menu';
34
+ import * as i1$2 from '@angular/material/tree';
35
+ import { MatTreeNestedDataSource, MatTreeModule } from '@angular/material/tree';
36
+ import { NestedTreeControl } from '@angular/cdk/tree';
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'
@@ -442,8 +446,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
442
446
  type: Optional
443
447
  }, {
444
448
  type: Inject,
445
- args: [BASE_PATH$1]
446
- }] }, { type: Configuration$1, decorators: [{
449
+ args: [BASE_PATH$2]
450
+ }] }, { type: Configuration$2, decorators: [{
447
451
  type: Optional
448
452
  }] }];
449
453
  } });
@@ -655,9 +659,9 @@ class SmartCookieService {
655
659
  }
656
660
  }
657
661
  }
658
- 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 });
659
- SmartCookieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartCookieService, providedIn: "root" });
660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartCookieService, decorators: [{
662
+ 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 });
663
+ SmartCookieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartCookieService, providedIn: "root" });
664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartCookieService, decorators: [{
661
665
  type: Injectable,
662
666
  args: [{
663
667
  providedIn: "root",
@@ -901,9 +905,9 @@ class SmartSessionService {
901
905
  });
902
906
  }
903
907
  }
904
- 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 });
905
- SmartSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, providedIn: 'root' });
906
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, decorators: [{
908
+ 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 });
909
+ SmartSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionService, providedIn: 'root' });
910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionService, decorators: [{
907
911
  type: Injectable,
908
912
  args: [{
909
913
  providedIn: 'root',
@@ -914,7 +918,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
914
918
  * Custom HttpParameterCodec
915
919
  * Workaround for https://github.com/angular/angular/issues/18261
916
920
  */
917
- class CustomHttpParameterCodec {
921
+ class CustomHttpParameterCodec$1 {
918
922
  encodeKey(k) {
919
923
  return encodeURIComponent(k);
920
924
  }
@@ -929,15 +933,15 @@ class CustomHttpParameterCodec {
929
933
  }
930
934
  }
931
935
 
932
- const BASE_PATH = new InjectionToken('basePath');
933
- const COLLECTION_FORMATS = {
936
+ const BASE_PATH$1 = new InjectionToken('basePath');
937
+ const COLLECTION_FORMATS$1 = {
934
938
  'csv': ',',
935
939
  'tsv': ' ',
936
940
  'ssv': ' ',
937
941
  'pipes': '|'
938
942
  };
939
943
 
940
- class Configuration {
944
+ class Configuration$1 {
941
945
  constructor(configurationParameters = {}) {
942
946
  this.apiKeys = configurationParameters.apiKeys;
943
947
  this.username = configurationParameters.username;
@@ -1044,7 +1048,7 @@ class ViewService {
1044
1048
  this.httpClient = httpClient;
1045
1049
  this.basePath = 'http://localhost';
1046
1050
  this.defaultHeaders = new HttpHeaders();
1047
- this.configuration = new Configuration();
1051
+ this.configuration = new Configuration$1();
1048
1052
  if (configuration) {
1049
1053
  this.configuration = configuration;
1050
1054
  }
@@ -1057,7 +1061,7 @@ class ViewService {
1057
1061
  }
1058
1062
  this.configuration.basePath = basePath;
1059
1063
  }
1060
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1064
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$1();
1061
1065
  }
1062
1066
  /**
1063
1067
  * @param consumes string[] mime-types
@@ -1834,7 +1838,7 @@ class ViewService {
1834
1838
  });
1835
1839
  }
1836
1840
  else {
1837
- localVarFormParams = localVarFormParams.append('contents', [...contents].join(COLLECTION_FORMATS['csv'])) || localVarFormParams;
1841
+ localVarFormParams = localVarFormParams.append('contents', [...contents].join(COLLECTION_FORMATS$1['csv'])) || localVarFormParams;
1838
1842
  }
1839
1843
  }
1840
1844
  let responseType_ = 'json';
@@ -1861,9 +1865,9 @@ class ViewService {
1861
1865
  });
1862
1866
  }
1863
1867
  }
1864
- 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 });
1865
- ViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, providedIn: 'root' });
1866
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, decorators: [{
1868
+ 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 });
1869
+ ViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ViewService, providedIn: 'root' });
1870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ViewService, decorators: [{
1867
1871
  type: Injectable,
1868
1872
  args: [{
1869
1873
  providedIn: 'root'
@@ -1873,8 +1877,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1873
1877
  type: Optional
1874
1878
  }, {
1875
1879
  type: Inject,
1876
- args: [BASE_PATH]
1877
- }] }, { type: Configuration, decorators: [{
1880
+ args: [BASE_PATH$1]
1881
+ }] }, { type: Configuration$1, decorators: [{
1878
1882
  type: Optional
1879
1883
  }] }];
1880
1884
  } });
@@ -2094,14 +2098,14 @@ class ApiModule {
2094
2098
  static forRoot(configurationFactory) {
2095
2099
  return {
2096
2100
  ngModule: ApiModule,
2097
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
2101
+ providers: [{ provide: Configuration$1, useFactory: configurationFactory }]
2098
2102
  };
2099
2103
  }
2100
2104
  }
2101
- 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 });
2102
- ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule });
2103
- ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, providers: [], imports: [[]] });
2104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, decorators: [{
2105
+ 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 });
2106
+ ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule });
2107
+ ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule, providers: [], imports: [[]] });
2108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiModule, decorators: [{
2105
2109
  type: NgModule,
2106
2110
  args: [{
2107
2111
  imports: [],
@@ -2170,9 +2174,9 @@ class MessageDialogComponent {
2170
2174
  });
2171
2175
  }
2172
2176
  }
2173
- MessageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessageDialogComponent, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Component });
2174
- 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"] }] });
2175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessageDialogComponent, decorators: [{
2177
+ MessageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MessageDialogComponent, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Component });
2178
+ 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"] }] });
2179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MessageDialogComponent, decorators: [{
2176
2180
  type: Component,
2177
2181
  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"] }]
2178
2182
  }], ctorParameters: function () { return [{ type: SmartViewContextService }]; } });
@@ -2707,9 +2711,9 @@ class SmartViewContextService {
2707
2711
  });
2708
2712
  }
2709
2713
  }
2710
- 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 });
2711
- SmartViewContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextService, providedIn: 'root' });
2712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextService, decorators: [{
2714
+ 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 });
2715
+ SmartViewContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextService, providedIn: 'root' });
2716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextService, decorators: [{
2713
2717
  type: Injectable,
2714
2718
  args: [{
2715
2719
  providedIn: 'root',
@@ -2754,9 +2758,9 @@ class ApiQueueService {
2754
2758
  });
2755
2759
  }
2756
2760
  }
2757
- ApiQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiQueueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2758
- ApiQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiQueueService, providedIn: 'root' });
2759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiQueueService, decorators: [{
2761
+ ApiQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiQueueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2762
+ ApiQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiQueueService, providedIn: 'root' });
2763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ApiQueueService, decorators: [{
2760
2764
  type: Injectable,
2761
2765
  args: [{
2762
2766
  providedIn: 'root',
@@ -2769,9 +2773,9 @@ class SmartNgClientService {
2769
2773
  this.viewContext = viewContext;
2770
2774
  }
2771
2775
  }
2772
- 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 });
2773
- SmartNgClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, providedIn: "root" });
2774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, decorators: [{
2776
+ 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 });
2777
+ SmartNgClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientService, providedIn: "root" });
2778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientService, decorators: [{
2775
2779
  type: Injectable,
2776
2780
  args: [{
2777
2781
  providedIn: "root",
@@ -2917,9 +2921,9 @@ class SmartDevToolService {
2917
2921
  return localStorage.getItem(this.smartDevToolName);
2918
2922
  }
2919
2923
  }
2920
- SmartDevToolService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolService, deps: [{ token: SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
2921
- SmartDevToolService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolService, providedIn: 'root' });
2922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolService, decorators: [{
2924
+ SmartDevToolService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, deps: [{ token: SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
2925
+ SmartDevToolService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, providedIn: 'root' });
2926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolService, decorators: [{
2923
2927
  type: Injectable,
2924
2928
  args: [{
2925
2929
  providedIn: 'root',
@@ -2930,9 +2934,9 @@ class SmartDevToolDatePipe extends DatePipe {
2930
2934
  return super.transform(value, format);
2931
2935
  }
2932
2936
  }
2933
- SmartDevToolDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
2934
- SmartDevToolDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDatePipe, name: "smartDevToolDatePipe" });
2935
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDatePipe, decorators: [{
2937
+ SmartDevToolDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
2938
+ SmartDevToolDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, name: "smartDevToolDatePipe" });
2939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDatePipe, decorators: [{
2936
2940
  type: Pipe,
2937
2941
  args: [{
2938
2942
  name: 'smartDevToolDatePipe',
@@ -2966,9 +2970,9 @@ class SmartDevToolDialogService extends SmartdialogService {
2966
2970
  this.service.clear();
2967
2971
  }
2968
2972
  }
2969
- 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 });
2970
- SmartDevToolDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogService, providedIn: 'root' });
2971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogService, decorators: [{
2973
+ 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 });
2974
+ SmartDevToolDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, providedIn: 'root' });
2975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogService, decorators: [{
2972
2976
  type: Injectable,
2973
2977
  args: [{
2974
2978
  providedIn: 'root'
@@ -3027,9 +3031,9 @@ class SmartDevToolDialogComponent {
3027
3031
  this.service.closeDialog();
3028
3032
  }
3029
3033
  }
3030
- SmartDevToolDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3031
- 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 } });
3032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolDialogComponent, decorators: [{
3034
+ SmartDevToolDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3035
+ 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 } });
3036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolDialogComponent, decorators: [{
3033
3037
  type: Component,
3034
3038
  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"] }]
3035
3039
  }], ctorParameters: function () { return [{ type: SmartDevToolDialogService }]; } });
@@ -3082,9 +3086,9 @@ class SmartDevToolFloatingButtonComponent {
3082
3086
  this.service.openDialog();
3083
3087
  }
3084
3088
  }
3085
- SmartDevToolFloatingButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolFloatingButtonComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3086
- 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"] }] });
3087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolFloatingButtonComponent, decorators: [{
3089
+ SmartDevToolFloatingButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolFloatingButtonComponent, deps: [{ token: SmartDevToolDialogService }], target: i0.ɵɵFactoryTarget.Component });
3090
+ 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"] }] });
3091
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolFloatingButtonComponent, decorators: [{
3088
3092
  type: Component,
3089
3093
  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"] }]
3090
3094
  }], ctorParameters: function () { return [{ type: SmartDevToolDialogService }]; } });
@@ -3107,9 +3111,9 @@ class SmartDevToolInterceptor {
3107
3111
  }));
3108
3112
  }
3109
3113
  }
3110
- SmartDevToolInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3111
- SmartDevToolInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolInterceptor });
3112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolInterceptor, decorators: [{
3114
+ SmartDevToolInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3115
+ SmartDevToolInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor });
3116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolInterceptor, decorators: [{
3113
3117
  type: Injectable
3114
3118
  }], ctorParameters: function () { return [{ type: SmartDevToolService }]; } });
3115
3119
  class SmartDevToolErrorInterceptor {
@@ -3130,9 +3134,9 @@ class SmartDevToolErrorInterceptor {
3130
3134
  }));
3131
3135
  }
3132
3136
  }
3133
- SmartDevToolErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolErrorInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3134
- SmartDevToolErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolErrorInterceptor });
3135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartDevToolErrorInterceptor, decorators: [{
3137
+ SmartDevToolErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor, deps: [{ token: SmartDevToolService }], target: i0.ɵɵFactoryTarget.Injectable });
3138
+ SmartDevToolErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor });
3139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartDevToolErrorInterceptor, decorators: [{
3136
3140
  type: Injectable
3137
3141
  }], ctorParameters: function () { return [{ type: SmartDevToolService }]; } });
3138
3142
 
@@ -3180,9 +3184,9 @@ class SmartSessionTimerService {
3180
3184
  this.onTimerExpired.next();
3181
3185
  }
3182
3186
  }
3183
- SmartSessionTimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3184
- SmartSessionTimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, providedIn: 'root' });
3185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, decorators: [{
3187
+ SmartSessionTimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerService, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3188
+ SmartSessionTimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerService, providedIn: 'root' });
3189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerService, decorators: [{
3186
3190
  type: Injectable,
3187
3191
  args: [{
3188
3192
  providedIn: 'root',
@@ -3211,9 +3215,9 @@ class SmartSessionTimerComponent {
3211
3215
  return `${minutes}:${remainingSeconds < 10 ? '0' : ''}${remainingSeconds}`;
3212
3216
  }
3213
3217
  }
3214
- SmartSessionTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerComponent, deps: [{ token: SmartSessionTimerService }], target: i0.ɵɵFactoryTarget.Component });
3215
- 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"] }] });
3216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerComponent, decorators: [{
3218
+ SmartSessionTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerComponent, deps: [{ token: SmartSessionTimerService }], target: i0.ɵɵFactoryTarget.Component });
3219
+ 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"] }] });
3220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionTimerComponent, decorators: [{
3217
3221
  type: Component,
3218
3222
  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: [""] }]
3219
3223
  }], ctorParameters: function () { return [{ type: SmartSessionTimerService }]; } });
@@ -3281,9 +3285,9 @@ class SmartErrorCatchingInterceptor {
3281
3285
  return from(this.session.refreshSession());
3282
3286
  }
3283
3287
  }
3284
- SmartErrorCatchingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3285
- SmartErrorCatchingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartErrorCatchingInterceptor });
3286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
3288
+ SmartErrorCatchingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3289
+ SmartErrorCatchingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor });
3290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
3287
3291
  type: Injectable
3288
3292
  }], ctorParameters: function () { return [{ type: SmartSessionService }]; } });
3289
3293
 
@@ -3324,20 +3328,20 @@ class SmartHeaderMaintainerInterceptor {
3324
3328
  return next.handle(request);
3325
3329
  }
3326
3330
  }
3327
- SmartHeaderMaintainerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartHeaderMaintainerInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3328
- SmartHeaderMaintainerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartHeaderMaintainerInterceptor });
3329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartHeaderMaintainerInterceptor, decorators: [{
3331
+ SmartHeaderMaintainerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartHeaderMaintainerInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
3332
+ SmartHeaderMaintainerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartHeaderMaintainerInterceptor });
3333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartHeaderMaintainerInterceptor, decorators: [{
3330
3334
  type: Injectable
3331
3335
  }], ctorParameters: function () { return [{ type: SmartSessionService }]; } });
3332
3336
 
3333
3337
  class SmartSessionModule {
3334
3338
  }
3335
- SmartSessionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3336
- SmartSessionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, declarations: [SmartDevToolDialogComponent,
3339
+ SmartSessionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3340
+ SmartSessionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, declarations: [SmartDevToolDialogComponent,
3337
3341
  SmartDevToolFloatingButtonComponent,
3338
3342
  SmartDevToolDatePipe,
3339
3343
  SmartSessionTimerComponent], imports: [BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule], exports: [SmartDevToolFloatingButtonComponent, SmartSessionTimerComponent] });
3340
- SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, providers: [
3344
+ SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, providers: [
3341
3345
  SmartCookieService,
3342
3346
  SmartSessionService,
3343
3347
  SmartdialogModule,
@@ -3354,7 +3358,7 @@ SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
3354
3358
  { provide: HTTP_INTERCEPTORS, useClass: SmartDevToolInterceptor, multi: true },
3355
3359
  { provide: HTTP_INTERCEPTORS, useClass: SmartDevToolErrorInterceptor, multi: true },
3356
3360
  ], imports: [[BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule]] });
3357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionModule, decorators: [{
3361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, decorators: [{
3358
3362
  type: NgModule,
3359
3363
  args: [{
3360
3364
  declarations: [
@@ -3443,9 +3447,9 @@ class SmartViewContextErrorDialogService extends SmartdialogService {
3443
3447
  });
3444
3448
  }
3445
3449
  }
3446
- 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 });
3447
- SmartViewContextErrorDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogService, providedIn: 'root' });
3448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogService, decorators: [{
3450
+ 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 });
3451
+ SmartViewContextErrorDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogService, providedIn: 'root' });
3452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogService, decorators: [{
3449
3453
  type: Injectable,
3450
3454
  args: [{
3451
3455
  providedIn: 'root',
@@ -3470,9 +3474,9 @@ class SmartViewContextErrorDialogComponent {
3470
3474
  this.service.closeDialog();
3471
3475
  }
3472
3476
  }
3473
- SmartViewContextErrorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component });
3474
- 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"] }] });
3475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
3477
+ SmartViewContextErrorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component });
3478
+ 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"] }] });
3479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
3476
3480
  type: Component,
3477
3481
  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"] }]
3478
3482
  }], ctorParameters: function () { return [{ type: SmartViewContextErrorDialogService }]; } });
@@ -3505,9 +3509,9 @@ class SmartViewContextInterceptor {
3505
3509
  this.viewContextErrorDialog.openDialog();
3506
3510
  }
3507
3511
  }
3508
- SmartViewContextInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextInterceptor, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
3509
- SmartViewContextInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextInterceptor });
3510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextInterceptor, decorators: [{
3512
+ SmartViewContextInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextInterceptor, deps: [{ token: SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
3513
+ SmartViewContextInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextInterceptor });
3514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextInterceptor, decorators: [{
3511
3515
  type: Injectable
3512
3516
  }], ctorParameters: function () { return [{ type: SmartViewContextErrorDialogService }]; } });
3513
3517
 
@@ -3527,9 +3531,9 @@ class SmartViewRedirect {
3527
3531
  });
3528
3532
  }
3529
3533
  }
3530
- 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 });
3531
- 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 });
3532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewRedirect, decorators: [{
3534
+ 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 });
3535
+ 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 });
3536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewRedirect, decorators: [{
3533
3537
  type: Component,
3534
3538
  args: [{
3535
3539
  selector: "app-redirect",
@@ -3650,9 +3654,9 @@ class UiActionDescriptorService {
3650
3654
  return uiActionDescriptor;
3651
3655
  }
3652
3656
  }
3653
- UiActionDescriptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionDescriptorService, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
3654
- UiActionDescriptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionDescriptorService, providedIn: 'root' });
3655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionDescriptorService, decorators: [{
3657
+ UiActionDescriptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionDescriptorService, deps: [{ token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
3658
+ UiActionDescriptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionDescriptorService, providedIn: 'root' });
3659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionDescriptorService, decorators: [{
3656
3660
  type: Injectable,
3657
3661
  args: [{
3658
3662
  providedIn: 'root',
@@ -3675,9 +3679,9 @@ class SuccessSnackBarComponent {
3675
3679
  });
3676
3680
  }
3677
3681
  }
3678
- 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 });
3679
- 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"] });
3680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
3682
+ 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 });
3683
+ 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"] });
3684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
3681
3685
  type: Component,
3682
3686
  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"] }]
3683
3687
  }], ctorParameters: function () {
@@ -3730,9 +3734,9 @@ class UiActionConfirmDialogComponent {
3730
3734
  this.service.cancel();
3731
3735
  }
3732
3736
  }
3733
- 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 });
3734
- 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"] }] });
3735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogComponent, decorators: [{
3737
+ 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 });
3738
+ 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"] }] });
3739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogComponent, decorators: [{
3736
3740
  type: Component,
3737
3741
  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"] }]
3738
3742
  }], ctorParameters: function () { return [{ type: UiActionConfirmDialogService }, { type: UiActionDescriptorService }]; } });
@@ -3768,9 +3772,9 @@ class UiActionConfirmDialogService extends SmartdialogService {
3768
3772
  this.onAction = new SmartSubject(this._destroy$);
3769
3773
  }
3770
3774
  }
3771
- 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 });
3772
- UiActionConfirmDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogService, providedIn: 'root' });
3773
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionConfirmDialogService, decorators: [{
3775
+ 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 });
3776
+ UiActionConfirmDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogService, providedIn: 'root' });
3777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionConfirmDialogService, decorators: [{
3774
3778
  type: Injectable,
3775
3779
  args: [{
3776
3780
  providedIn: 'root',
@@ -3880,9 +3884,9 @@ class UiActionInputDialogComponent {
3880
3884
  this.service.cancel();
3881
3885
  }
3882
3886
  }
3883
- 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 });
3884
- 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"] }] });
3885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogComponent, decorators: [{
3887
+ 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 });
3888
+ 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"] }] });
3889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogComponent, decorators: [{
3886
3890
  type: Component,
3887
3891
  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"] }]
3888
3892
  }], ctorParameters: function () { return [{ type: UiActionInputDialogService }, { type: UiActionDescriptorService }]; }, propDecorators: { folderFormChild: [{
@@ -3927,9 +3931,9 @@ class UiActionInputDialogService extends SmartdialogService {
3927
3931
  this.onAction = new SmartSubject(this._destroy$);
3928
3932
  }
3929
3933
  }
3930
- 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 });
3931
- UiActionInputDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogService, providedIn: 'root' });
3932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionInputDialogService, decorators: [{
3934
+ 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 });
3935
+ UiActionInputDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogService, providedIn: 'root' });
3936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionInputDialogService, decorators: [{
3933
3937
  type: Injectable,
3934
3938
  args: [{
3935
3939
  providedIn: 'root',
@@ -3994,9 +3998,9 @@ class UiActionFileUploadDialogComponent {
3994
3998
  this.service.cancel();
3995
3999
  }
3996
4000
  }
3997
- 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 });
3998
- 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"] }] });
3999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
4001
+ 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 });
4002
+ 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"] }] });
4003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
4000
4004
  type: Component,
4001
4005
  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"] }]
4002
4006
  }], ctorParameters: function () { return [{ type: UiActionFileUploadDialogService }, { type: UiActionDescriptorService }]; } });
@@ -4039,9 +4043,9 @@ class UiActionFileUploadDialogService extends SmartdialogService {
4039
4043
  this.onAction = new SmartSubject(this._destroy$);
4040
4044
  }
4041
4045
  }
4042
- 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 });
4043
- UiActionFileUploadDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogService, providedIn: 'root' });
4044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionFileUploadDialogService, decorators: [{
4046
+ 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 });
4047
+ UiActionFileUploadDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogService, providedIn: 'root' });
4048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionFileUploadDialogService, decorators: [{
4045
4049
  type: Injectable,
4046
4050
  args: [{
4047
4051
  providedIn: 'root',
@@ -4217,9 +4221,9 @@ class UiActionService {
4217
4221
  });
4218
4222
  }
4219
4223
  }
4220
- 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 });
4221
- UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, providedIn: 'root' });
4222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, decorators: [{
4224
+ 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 });
4225
+ UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionService, providedIn: 'root' });
4226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionService, decorators: [{
4223
4227
  type: Injectable,
4224
4228
  args: [{
4225
4229
  providedIn: 'root',
@@ -4322,9 +4326,9 @@ class UiActionToolbarComponent {
4322
4326
  ((_c = uiActionModel.descriptor) === null || _c === void 0 ? void 0 : _c.type) === UiActionButtonType.Fab);
4323
4327
  }
4324
4328
  }
4325
- 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 });
4326
- 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"] }] });
4327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
4329
+ 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 });
4330
+ 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"] }] });
4331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
4328
4332
  type: Component,
4329
4333
  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"] }]
4330
4334
  }], ctorParameters: function () { return [{ type: UiActionService }, { type: i0.Injector }]; }, propDecorators: { uiActionModels: [{
@@ -4335,8 +4339,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4335
4339
 
4336
4340
  class SmartViewContextModule {
4337
4341
  }
4338
- SmartViewContextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4339
- SmartViewContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, declarations: [MessageDialogComponent,
4342
+ SmartViewContextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4343
+ SmartViewContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, declarations: [MessageDialogComponent,
4340
4344
  SmartViewContextErrorDialogComponent,
4341
4345
  SmartViewRedirect,
4342
4346
  UiActionToolbarComponent,
@@ -4350,7 +4354,7 @@ SmartViewContextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
4350
4354
  MatSnackBarModule,
4351
4355
  SmartIconModule,
4352
4356
  SmartformModule], exports: [UiActionToolbarComponent, UiActionInputDialogComponent] });
4353
- SmartViewContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, providers: [
4357
+ SmartViewContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, providers: [
4354
4358
  SmartViewContextService,
4355
4359
  {
4356
4360
  provide: HTTP_INTERCEPTORS,
@@ -4367,7 +4371,7 @@ SmartViewContextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
4367
4371
  SmartIconModule,
4368
4372
  SmartformModule,
4369
4373
  ]] });
4370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextModule, decorators: [{
4374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewContextModule, decorators: [{
4371
4375
  type: NgModule,
4372
4376
  args: [{
4373
4377
  declarations: [
@@ -4447,65 +4451,1409 @@ class SmartFileUploaderComponent {
4447
4451
  this.uiActionService.execute(this.uiActionModel.uiAction);
4448
4452
  }
4449
4453
  }
4450
- 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 });
4451
- 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"] }] });
4452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartFileUploaderComponent, decorators: [{
4454
+ 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 });
4455
+ 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"] }] });
4456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFileUploaderComponent, decorators: [{
4453
4457
  type: Component,
4454
4458
  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: [""] }]
4455
4459
  }], ctorParameters: function () { return [{ type: UiActionService }, { type: UiActionDescriptorService }]; }, propDecorators: { config: [{
4456
4460
  type: Input
4457
4461
  }] } });
4458
4462
 
4459
- class SmartNgClientModule {
4460
- }
4461
- SmartNgClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4462
- SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, declarations: [SmartFileUploaderComponent], imports: [BrowserModule,
4463
- MatCommonModule,
4464
- SmartSessionModule,
4465
- SmartViewContextModule,
4466
- SmartformModule,
4467
- SmartExpandableSectionModule], exports: [SmartSessionModule, SmartViewContextModule, SmartFileUploaderComponent] });
4468
- SmartNgClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, providers: [SmartNgClientService], imports: [[
4469
- BrowserModule,
4470
- MatCommonModule,
4471
- SmartSessionModule,
4472
- SmartViewContextModule,
4473
- SmartformModule,
4474
- SmartExpandableSectionModule,
4475
- ], SmartSessionModule, SmartViewContextModule] });
4476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, decorators: [{
4477
- type: NgModule,
4478
- args: [{
4479
- declarations: [SmartFileUploaderComponent],
4480
- imports: [
4481
- BrowserModule,
4482
- MatCommonModule,
4483
- SmartSessionModule,
4484
- SmartViewContextModule,
4485
- SmartformModule,
4486
- SmartExpandableSectionModule,
4487
- ],
4488
- exports: [SmartSessionModule, SmartViewContextModule, SmartFileUploaderComponent],
4489
- providers: [SmartNgClientService],
4490
- }]
4491
- }] });
4463
+ /**
4464
+ * Custom HttpParameterCodec
4465
+ * Workaround for https://github.com/angular/angular/issues/18261
4466
+ */
4467
+ class CustomHttpParameterCodec {
4468
+ encodeKey(k) {
4469
+ return encodeURIComponent(k);
4470
+ }
4471
+ encodeValue(v) {
4472
+ return encodeURIComponent(v);
4473
+ }
4474
+ decodeKey(k) {
4475
+ return decodeURIComponent(k);
4476
+ }
4477
+ decodeValue(v) {
4478
+ return decodeURIComponent(v);
4479
+ }
4480
+ }
4492
4481
 
4493
- class SmartAuthService {
4494
- constructor() {
4495
- this.bffApisHaveBeenSetUp = false;
4496
- this._destroy$ = new Subject();
4497
- this.headersUpdated = new SmartSubject(this._destroy$);
4482
+ const BASE_PATH = new InjectionToken('basePath');
4483
+ const COLLECTION_FORMATS = {
4484
+ 'csv': ',',
4485
+ 'tsv': ' ',
4486
+ 'ssv': ' ',
4487
+ 'pipes': '|'
4488
+ };
4489
+
4490
+ class Configuration {
4491
+ constructor(configurationParameters = {}) {
4492
+ this.apiKeys = configurationParameters.apiKeys;
4493
+ this.username = configurationParameters.username;
4494
+ this.password = configurationParameters.password;
4495
+ this.accessToken = configurationParameters.accessToken;
4496
+ this.basePath = configurationParameters.basePath;
4497
+ this.withCredentials = configurationParameters.withCredentials;
4498
+ this.encoder = configurationParameters.encoder;
4499
+ if (configurationParameters.encodeParam) {
4500
+ this.encodeParam = configurationParameters.encodeParam;
4501
+ }
4502
+ else {
4503
+ this.encodeParam = param => this.defaultEncodeParam(param);
4504
+ }
4505
+ if (configurationParameters.credentials) {
4506
+ this.credentials = configurationParameters.credentials;
4507
+ }
4508
+ else {
4509
+ this.credentials = {};
4510
+ }
4498
4511
  }
4499
- ngOnDestroy() {
4500
- this._destroy$.next();
4501
- this._destroy$.complete();
4512
+ /**
4513
+ * Select the correct content-type to use for a request.
4514
+ * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
4515
+ * If no content type is found return the first found type if the contentTypes is not empty
4516
+ * @param contentTypes - the array of content types that are available for selection
4517
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
4518
+ */
4519
+ selectHeaderContentType(contentTypes) {
4520
+ if (contentTypes.length === 0) {
4521
+ return undefined;
4522
+ }
4523
+ const type = contentTypes.find((x) => this.isJsonMime(x));
4524
+ if (type === undefined) {
4525
+ return contentTypes[0];
4526
+ }
4527
+ return type;
4502
4528
  }
4503
- }
4504
- SmartAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4505
- SmartAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartAuthService });
4506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartAuthService, decorators: [{
4507
- type: Injectable
4508
- }] });
4529
+ /**
4530
+ * Select the correct accept content-type to use for a request.
4531
+ * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
4532
+ * If no content type is found return the first found type if the contentTypes is not empty
4533
+ * @param accepts - the array of content types that are available for selection.
4534
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
4535
+ */
4536
+ selectHeaderAccept(accepts) {
4537
+ if (accepts.length === 0) {
4538
+ return undefined;
4539
+ }
4540
+ const type = accepts.find((x) => this.isJsonMime(x));
4541
+ if (type === undefined) {
4542
+ return accepts[0];
4543
+ }
4544
+ return type;
4545
+ }
4546
+ /**
4547
+ * Check if the given MIME is a JSON MIME.
4548
+ * JSON MIME examples:
4549
+ * application/json
4550
+ * application/json; charset=UTF8
4551
+ * APPLICATION/JSON
4552
+ * application/vnd.company+json
4553
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
4554
+ * @return True if the given MIME is JSON, false otherwise.
4555
+ */
4556
+ isJsonMime(mime) {
4557
+ const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
4558
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
4559
+ }
4560
+ lookupCredential(key) {
4561
+ const value = this.credentials[key];
4562
+ return typeof value === 'function'
4563
+ ? value()
4564
+ : value;
4565
+ }
4566
+ defaultEncodeParam(param) {
4567
+ // This implementation exists as fallback for missing configuration
4568
+ // and for backwards compatibility to older typescript-angular generator versions.
4569
+ // It only works for the 'simple' parameter style.
4570
+ // Date-handling only works for the 'date-time' format.
4571
+ // All other styles and Date-formats are probably handled incorrectly.
4572
+ //
4573
+ // But: if that's all you need (i.e.: the most common use-case): no need for customization!
4574
+ const value = param.dataFormat === 'date-time'
4575
+ ? param.value.toISOString()
4576
+ : param.value;
4577
+ return encodeURIComponent(String(value));
4578
+ }
4579
+ }
4580
+
4581
+ /**
4582
+ * UiTree domain objects
4583
+ * Tree domain objects
4584
+ *
4585
+ * The version of the OpenAPI document: 1.0.0
4586
+ * Contact: info@it4all.hu
4587
+ *
4588
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
4589
+ * https://openapi-generator.tech
4590
+ * Do not edit the class manually.
4591
+ */
4592
+ class TreeService {
4593
+ constructor(httpClient, basePath, configuration) {
4594
+ this.httpClient = httpClient;
4595
+ this.basePath = 'http://localhost';
4596
+ this.defaultHeaders = new HttpHeaders();
4597
+ this.configuration = new Configuration();
4598
+ if (configuration) {
4599
+ this.configuration = configuration;
4600
+ }
4601
+ if (typeof this.configuration.basePath !== 'string') {
4602
+ if (Array.isArray(basePath) && basePath.length > 0) {
4603
+ basePath = basePath[0];
4604
+ }
4605
+ if (typeof basePath !== 'string') {
4606
+ basePath = this.basePath;
4607
+ }
4608
+ this.configuration.basePath = basePath;
4609
+ }
4610
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
4611
+ }
4612
+ // @ts-ignore
4613
+ addToHttpParams(httpParams, value, key) {
4614
+ if (typeof value === 'object' && value instanceof Date === false) {
4615
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
4616
+ }
4617
+ else {
4618
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
4619
+ }
4620
+ return httpParams;
4621
+ }
4622
+ addToHttpParamsRecursive(httpParams, value, key) {
4623
+ if (value == null) {
4624
+ return httpParams;
4625
+ }
4626
+ if (typeof value === 'object') {
4627
+ if (Array.isArray(value)) {
4628
+ value.forEach((elem) => (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)));
4629
+ }
4630
+ else if (value instanceof Date) {
4631
+ if (key != null) {
4632
+ httpParams = httpParams.append(key, value.toISOString().substr(0, 10));
4633
+ }
4634
+ else {
4635
+ throw Error('key may not be null if value is Date');
4636
+ }
4637
+ }
4638
+ else {
4639
+ Object.keys(value).forEach((k) => (httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k)));
4640
+ }
4641
+ }
4642
+ else if (key != null) {
4643
+ httpParams = httpParams.append(key, value);
4644
+ }
4645
+ else {
4646
+ throw Error('key may not be null if value is not object or array');
4647
+ }
4648
+ return httpParams;
4649
+ }
4650
+ collapseNode(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
4651
+ if (viewUuid === null || viewUuid === undefined) {
4652
+ throw new Error('Required parameter viewUuid was null or undefined when calling collapseNode.');
4653
+ }
4654
+ if (treeId === null || treeId === undefined) {
4655
+ throw new Error('Required parameter treeId was null or undefined when calling collapseNode.');
4656
+ }
4657
+ if (nodeId === null || nodeId === undefined) {
4658
+ throw new Error('Required parameter nodeId was null or undefined when calling collapseNode.');
4659
+ }
4660
+ let localVarHeaders = this.defaultHeaders;
4661
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4662
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4663
+ // to determine the Accept header
4664
+ const httpHeaderAccepts = ['application/json'];
4665
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4666
+ }
4667
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4668
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4669
+ }
4670
+ let localVarHttpContext = options && options.context;
4671
+ if (localVarHttpContext === undefined) {
4672
+ localVarHttpContext = new HttpContext();
4673
+ }
4674
+ let responseType_ = 'json';
4675
+ if (localVarHttpHeaderAcceptSelected) {
4676
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4677
+ responseType_ = 'text';
4678
+ }
4679
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4680
+ responseType_ = 'json';
4681
+ }
4682
+ else {
4683
+ responseType_ = 'blob';
4684
+ }
4685
+ }
4686
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4687
+ name: 'viewUuid',
4688
+ value: viewUuid,
4689
+ in: 'path',
4690
+ style: 'simple',
4691
+ explode: false,
4692
+ dataType: 'string',
4693
+ dataFormat: 'uuid',
4694
+ })}/${this.configuration.encodeParam({
4695
+ name: 'treeId',
4696
+ value: treeId,
4697
+ in: 'path',
4698
+ style: 'simple',
4699
+ explode: false,
4700
+ dataType: 'string',
4701
+ dataFormat: undefined,
4702
+ })}/${this.configuration.encodeParam({
4703
+ name: 'nodeId',
4704
+ value: nodeId,
4705
+ in: 'path',
4706
+ style: 'simple',
4707
+ explode: false,
4708
+ dataType: 'string',
4709
+ dataFormat: undefined,
4710
+ })}/collapse`;
4711
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
4712
+ context: localVarHttpContext,
4713
+ responseType: responseType_,
4714
+ withCredentials: this.configuration.withCredentials,
4715
+ headers: localVarHeaders,
4716
+ observe: observe,
4717
+ reportProgress: reportProgress,
4718
+ });
4719
+ }
4720
+ expandNode(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
4721
+ if (viewUuid === null || viewUuid === undefined) {
4722
+ throw new Error('Required parameter viewUuid was null or undefined when calling expandNode.');
4723
+ }
4724
+ if (treeId === null || treeId === undefined) {
4725
+ throw new Error('Required parameter treeId was null or undefined when calling expandNode.');
4726
+ }
4727
+ if (nodeId === null || nodeId === undefined) {
4728
+ throw new Error('Required parameter nodeId was null or undefined when calling expandNode.');
4729
+ }
4730
+ let localVarHeaders = this.defaultHeaders;
4731
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4732
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4733
+ // to determine the Accept header
4734
+ const httpHeaderAccepts = ['application/json'];
4735
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4736
+ }
4737
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4738
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4739
+ }
4740
+ let localVarHttpContext = options && options.context;
4741
+ if (localVarHttpContext === undefined) {
4742
+ localVarHttpContext = new HttpContext();
4743
+ }
4744
+ let responseType_ = 'json';
4745
+ if (localVarHttpHeaderAcceptSelected) {
4746
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4747
+ responseType_ = 'text';
4748
+ }
4749
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4750
+ responseType_ = 'json';
4751
+ }
4752
+ else {
4753
+ responseType_ = 'blob';
4754
+ }
4755
+ }
4756
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4757
+ name: 'viewUuid',
4758
+ value: viewUuid,
4759
+ in: 'path',
4760
+ style: 'simple',
4761
+ explode: false,
4762
+ dataType: 'string',
4763
+ dataFormat: 'uuid',
4764
+ })}/${this.configuration.encodeParam({
4765
+ name: 'treeId',
4766
+ value: treeId,
4767
+ in: 'path',
4768
+ style: 'simple',
4769
+ explode: false,
4770
+ dataType: 'string',
4771
+ dataFormat: undefined,
4772
+ })}/${this.configuration.encodeParam({
4773
+ name: 'nodeId',
4774
+ value: nodeId,
4775
+ in: 'path',
4776
+ style: 'simple',
4777
+ explode: false,
4778
+ dataType: 'string',
4779
+ dataFormat: undefined,
4780
+ })}/expand`;
4781
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
4782
+ context: localVarHttpContext,
4783
+ responseType: responseType_,
4784
+ withCredentials: this.configuration.withCredentials,
4785
+ headers: localVarHeaders,
4786
+ observe: observe,
4787
+ reportProgress: reportProgress,
4788
+ });
4789
+ }
4790
+ getChildrenNodes(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
4791
+ if (viewUuid === null || viewUuid === undefined) {
4792
+ throw new Error('Required parameter viewUuid was null or undefined when calling getChildrenNodes.');
4793
+ }
4794
+ if (treeId === null || treeId === undefined) {
4795
+ throw new Error('Required parameter treeId was null or undefined when calling getChildrenNodes.');
4796
+ }
4797
+ if (nodeId === null || nodeId === undefined) {
4798
+ throw new Error('Required parameter nodeId was null or undefined when calling getChildrenNodes.');
4799
+ }
4800
+ let localVarHeaders = this.defaultHeaders;
4801
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4802
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4803
+ // to determine the Accept header
4804
+ const httpHeaderAccepts = ['application/json'];
4805
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4806
+ }
4807
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4808
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4809
+ }
4810
+ let localVarHttpContext = options && options.context;
4811
+ if (localVarHttpContext === undefined) {
4812
+ localVarHttpContext = new HttpContext();
4813
+ }
4814
+ let responseType_ = 'json';
4815
+ if (localVarHttpHeaderAcceptSelected) {
4816
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4817
+ responseType_ = 'text';
4818
+ }
4819
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4820
+ responseType_ = 'json';
4821
+ }
4822
+ else {
4823
+ responseType_ = 'blob';
4824
+ }
4825
+ }
4826
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4827
+ name: 'viewUuid',
4828
+ value: viewUuid,
4829
+ in: 'path',
4830
+ style: 'simple',
4831
+ explode: false,
4832
+ dataType: 'string',
4833
+ dataFormat: 'uuid',
4834
+ })}/${this.configuration.encodeParam({
4835
+ name: 'treeId',
4836
+ value: treeId,
4837
+ in: 'path',
4838
+ style: 'simple',
4839
+ explode: false,
4840
+ dataType: 'string',
4841
+ dataFormat: undefined,
4842
+ })}/${this.configuration.encodeParam({
4843
+ name: 'nodeId',
4844
+ value: nodeId,
4845
+ in: 'path',
4846
+ style: 'simple',
4847
+ explode: false,
4848
+ dataType: 'string',
4849
+ dataFormat: undefined,
4850
+ })}`;
4851
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
4852
+ context: localVarHttpContext,
4853
+ responseType: responseType_,
4854
+ withCredentials: this.configuration.withCredentials,
4855
+ headers: localVarHeaders,
4856
+ observe: observe,
4857
+ reportProgress: reportProgress,
4858
+ });
4859
+ }
4860
+ getMainActions(viewUuid, treeId, observe = 'body', reportProgress = false, options) {
4861
+ if (viewUuid === null || viewUuid === undefined) {
4862
+ throw new Error('Required parameter viewUuid was null or undefined when calling getMainActions.');
4863
+ }
4864
+ if (treeId === null || treeId === undefined) {
4865
+ throw new Error('Required parameter treeId was null or undefined when calling getMainActions.');
4866
+ }
4867
+ let localVarHeaders = this.defaultHeaders;
4868
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4869
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4870
+ // to determine the Accept header
4871
+ const httpHeaderAccepts = ['application/json'];
4872
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4873
+ }
4874
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4875
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4876
+ }
4877
+ let localVarHttpContext = options && options.context;
4878
+ if (localVarHttpContext === undefined) {
4879
+ localVarHttpContext = new HttpContext();
4880
+ }
4881
+ let responseType_ = 'json';
4882
+ if (localVarHttpHeaderAcceptSelected) {
4883
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4884
+ responseType_ = 'text';
4885
+ }
4886
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4887
+ responseType_ = 'json';
4888
+ }
4889
+ else {
4890
+ responseType_ = 'blob';
4891
+ }
4892
+ }
4893
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4894
+ name: 'viewUuid',
4895
+ value: viewUuid,
4896
+ in: 'path',
4897
+ style: 'simple',
4898
+ explode: false,
4899
+ dataType: 'string',
4900
+ dataFormat: 'uuid',
4901
+ })}/${this.configuration.encodeParam({
4902
+ name: 'treeId',
4903
+ value: treeId,
4904
+ in: 'path',
4905
+ style: 'simple',
4906
+ explode: false,
4907
+ dataType: 'string',
4908
+ dataFormat: undefined,
4909
+ })}/action`;
4910
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
4911
+ context: localVarHttpContext,
4912
+ responseType: responseType_,
4913
+ withCredentials: this.configuration.withCredentials,
4914
+ headers: localVarHeaders,
4915
+ observe: observe,
4916
+ reportProgress: reportProgress,
4917
+ });
4918
+ }
4919
+ getRootNodes(viewUuid, treeId, observe = 'body', reportProgress = false, options) {
4920
+ if (viewUuid === null || viewUuid === undefined) {
4921
+ throw new Error('Required parameter viewUuid was null or undefined when calling getRootNodes.');
4922
+ }
4923
+ if (treeId === null || treeId === undefined) {
4924
+ throw new Error('Required parameter treeId was null or undefined when calling getRootNodes.');
4925
+ }
4926
+ let localVarHeaders = this.defaultHeaders;
4927
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4928
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4929
+ // to determine the Accept header
4930
+ const httpHeaderAccepts = ['application/json'];
4931
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4932
+ }
4933
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4934
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
4935
+ }
4936
+ let localVarHttpContext = options && options.context;
4937
+ if (localVarHttpContext === undefined) {
4938
+ localVarHttpContext = new HttpContext();
4939
+ }
4940
+ let responseType_ = 'json';
4941
+ if (localVarHttpHeaderAcceptSelected) {
4942
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
4943
+ responseType_ = 'text';
4944
+ }
4945
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
4946
+ responseType_ = 'json';
4947
+ }
4948
+ else {
4949
+ responseType_ = 'blob';
4950
+ }
4951
+ }
4952
+ let localVarPath = `/tree/${this.configuration.encodeParam({
4953
+ name: 'viewUuid',
4954
+ value: viewUuid,
4955
+ in: 'path',
4956
+ style: 'simple',
4957
+ explode: false,
4958
+ dataType: 'string',
4959
+ dataFormat: 'uuid',
4960
+ })}/${this.configuration.encodeParam({
4961
+ name: 'treeId',
4962
+ value: treeId,
4963
+ in: 'path',
4964
+ style: 'simple',
4965
+ explode: false,
4966
+ dataType: 'string',
4967
+ dataFormat: undefined,
4968
+ })}`;
4969
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
4970
+ context: localVarHttpContext,
4971
+ responseType: responseType_,
4972
+ withCredentials: this.configuration.withCredentials,
4973
+ headers: localVarHeaders,
4974
+ observe: observe,
4975
+ reportProgress: reportProgress,
4976
+ });
4977
+ }
4978
+ performAction(viewUuid, treeId, nodeId, body, observe = 'body', reportProgress = false, options) {
4979
+ if (viewUuid === null || viewUuid === undefined) {
4980
+ throw new Error('Required parameter viewUuid was null or undefined when calling performAction.');
4981
+ }
4982
+ if (treeId === null || treeId === undefined) {
4983
+ throw new Error('Required parameter treeId was null or undefined when calling performAction.');
4984
+ }
4985
+ if (nodeId === null || nodeId === undefined) {
4986
+ throw new Error('Required parameter nodeId was null or undefined when calling performAction.');
4987
+ }
4988
+ if (body === null || body === undefined) {
4989
+ throw new Error('Required parameter body was null or undefined when calling performAction.');
4990
+ }
4991
+ let localVarHeaders = this.defaultHeaders;
4992
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
4993
+ if (localVarHttpHeaderAcceptSelected === undefined) {
4994
+ // to determine the Accept header
4995
+ const httpHeaderAccepts = ['application/json'];
4996
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
4997
+ }
4998
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
4999
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
5000
+ }
5001
+ let localVarHttpContext = options && options.context;
5002
+ if (localVarHttpContext === undefined) {
5003
+ localVarHttpContext = new HttpContext();
5004
+ }
5005
+ // to determine the Content-Type header
5006
+ const consumes = ['application/json'];
5007
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
5008
+ if (httpContentTypeSelected !== undefined) {
5009
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
5010
+ }
5011
+ let responseType_ = 'json';
5012
+ if (localVarHttpHeaderAcceptSelected) {
5013
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
5014
+ responseType_ = 'text';
5015
+ }
5016
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
5017
+ responseType_ = 'json';
5018
+ }
5019
+ else {
5020
+ responseType_ = 'blob';
5021
+ }
5022
+ }
5023
+ let localVarPath = `/tree/${this.configuration.encodeParam({
5024
+ name: 'viewUuid',
5025
+ value: viewUuid,
5026
+ in: 'path',
5027
+ style: 'simple',
5028
+ explode: false,
5029
+ dataType: 'string',
5030
+ dataFormat: 'uuid',
5031
+ })}/${this.configuration.encodeParam({
5032
+ name: 'treeId',
5033
+ value: treeId,
5034
+ in: 'path',
5035
+ style: 'simple',
5036
+ explode: false,
5037
+ dataType: 'string',
5038
+ dataFormat: undefined,
5039
+ })}/${this.configuration.encodeParam({
5040
+ name: 'nodeId',
5041
+ value: nodeId,
5042
+ in: 'path',
5043
+ style: 'simple',
5044
+ explode: false,
5045
+ dataType: 'string',
5046
+ dataFormat: undefined,
5047
+ })}/action`;
5048
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
5049
+ context: localVarHttpContext,
5050
+ body: body,
5051
+ responseType: responseType_,
5052
+ withCredentials: this.configuration.withCredentials,
5053
+ headers: localVarHeaders,
5054
+ observe: observe,
5055
+ reportProgress: reportProgress,
5056
+ });
5057
+ }
5058
+ performMainAction(viewUuid, treeId, body, observe = 'body', reportProgress = false, options) {
5059
+ if (viewUuid === null || viewUuid === undefined) {
5060
+ throw new Error('Required parameter viewUuid was null or undefined when calling performMainAction.');
5061
+ }
5062
+ if (treeId === null || treeId === undefined) {
5063
+ throw new Error('Required parameter treeId was null or undefined when calling performMainAction.');
5064
+ }
5065
+ if (body === null || body === undefined) {
5066
+ throw new Error('Required parameter body was null or undefined when calling performMainAction.');
5067
+ }
5068
+ let localVarHeaders = this.defaultHeaders;
5069
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
5070
+ if (localVarHttpHeaderAcceptSelected === undefined) {
5071
+ // to determine the Accept header
5072
+ const httpHeaderAccepts = ['application/json'];
5073
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
5074
+ }
5075
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
5076
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
5077
+ }
5078
+ let localVarHttpContext = options && options.context;
5079
+ if (localVarHttpContext === undefined) {
5080
+ localVarHttpContext = new HttpContext();
5081
+ }
5082
+ // to determine the Content-Type header
5083
+ const consumes = ['application/json'];
5084
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
5085
+ if (httpContentTypeSelected !== undefined) {
5086
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
5087
+ }
5088
+ let responseType_ = 'json';
5089
+ if (localVarHttpHeaderAcceptSelected) {
5090
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
5091
+ responseType_ = 'text';
5092
+ }
5093
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
5094
+ responseType_ = 'json';
5095
+ }
5096
+ else {
5097
+ responseType_ = 'blob';
5098
+ }
5099
+ }
5100
+ let localVarPath = `/tree/${this.configuration.encodeParam({
5101
+ name: 'viewUuid',
5102
+ value: viewUuid,
5103
+ in: 'path',
5104
+ style: 'simple',
5105
+ explode: false,
5106
+ dataType: 'string',
5107
+ dataFormat: 'uuid',
5108
+ })}/${this.configuration.encodeParam({
5109
+ name: 'treeId',
5110
+ value: treeId,
5111
+ in: 'path',
5112
+ style: 'simple',
5113
+ explode: false,
5114
+ dataType: 'string',
5115
+ dataFormat: undefined,
5116
+ })}/action`;
5117
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
5118
+ context: localVarHttpContext,
5119
+ body: body,
5120
+ responseType: responseType_,
5121
+ withCredentials: this.configuration.withCredentials,
5122
+ headers: localVarHeaders,
5123
+ observe: observe,
5124
+ reportProgress: reportProgress,
5125
+ });
5126
+ }
5127
+ selectNode(viewUuid, treeId, nodeId, observe = 'body', reportProgress = false, options) {
5128
+ if (viewUuid === null || viewUuid === undefined) {
5129
+ throw new Error('Required parameter viewUuid was null or undefined when calling selectNode.');
5130
+ }
5131
+ if (treeId === null || treeId === undefined) {
5132
+ throw new Error('Required parameter treeId was null or undefined when calling selectNode.');
5133
+ }
5134
+ if (nodeId === null || nodeId === undefined) {
5135
+ throw new Error('Required parameter nodeId was null or undefined when calling selectNode.');
5136
+ }
5137
+ let localVarHeaders = this.defaultHeaders;
5138
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
5139
+ if (localVarHttpHeaderAcceptSelected === undefined) {
5140
+ // to determine the Accept header
5141
+ const httpHeaderAccepts = ['application/json'];
5142
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
5143
+ }
5144
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
5145
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
5146
+ }
5147
+ let localVarHttpContext = options && options.context;
5148
+ if (localVarHttpContext === undefined) {
5149
+ localVarHttpContext = new HttpContext();
5150
+ }
5151
+ let responseType_ = 'json';
5152
+ if (localVarHttpHeaderAcceptSelected) {
5153
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
5154
+ responseType_ = 'text';
5155
+ }
5156
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
5157
+ responseType_ = 'json';
5158
+ }
5159
+ else {
5160
+ responseType_ = 'blob';
5161
+ }
5162
+ }
5163
+ let localVarPath = `/tree/${this.configuration.encodeParam({
5164
+ name: 'viewUuid',
5165
+ value: viewUuid,
5166
+ in: 'path',
5167
+ style: 'simple',
5168
+ explode: false,
5169
+ dataType: 'string',
5170
+ dataFormat: 'uuid',
5171
+ })}/${this.configuration.encodeParam({
5172
+ name: 'treeId',
5173
+ value: treeId,
5174
+ in: 'path',
5175
+ style: 'simple',
5176
+ explode: false,
5177
+ dataType: 'string',
5178
+ dataFormat: undefined,
5179
+ })}/${this.configuration.encodeParam({
5180
+ name: 'nodeId',
5181
+ value: nodeId,
5182
+ in: 'path',
5183
+ style: 'simple',
5184
+ explode: false,
5185
+ dataType: 'string',
5186
+ dataFormat: undefined,
5187
+ })}/select`;
5188
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
5189
+ context: localVarHttpContext,
5190
+ responseType: responseType_,
5191
+ withCredentials: this.configuration.withCredentials,
5192
+ headers: localVarHeaders,
5193
+ observe: observe,
5194
+ reportProgress: reportProgress,
5195
+ });
5196
+ }
5197
+ }
5198
+ 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 });
5199
+ TreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TreeService, providedIn: 'root' });
5200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TreeService, decorators: [{
5201
+ type: Injectable,
5202
+ args: [{
5203
+ providedIn: 'root',
5204
+ }]
5205
+ }], ctorParameters: function () {
5206
+ return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
5207
+ type: Optional
5208
+ }, {
5209
+ type: Inject,
5210
+ args: [BASE_PATH]
5211
+ }] }, { type: Configuration, decorators: [{
5212
+ type: Optional
5213
+ }] }];
5214
+ } });
5215
+
5216
+ var SmartTreeNodeButtonType;
5217
+ (function (SmartTreeNodeButtonType) {
5218
+ SmartTreeNodeButtonType["MENU"] = "MENU";
5219
+ SmartTreeNodeButtonType["ICON"] = "ICON";
5220
+ SmartTreeNodeButtonType["NORMAL"] = "NORMAL";
5221
+ })(SmartTreeNodeButtonType || (SmartTreeNodeButtonType = {}));
5222
+
5223
+ class SmarttreeService {
5224
+ constructor() {
5225
+ this.errorMessage = 'The tree is currently unavailable';
5226
+ this.smartTreeModelChanged = new Subject();
5227
+ this.uiActionModelsChanged = new Subject();
5228
+ }
5229
+ get uiActionModels() {
5230
+ return this._uiActionModels;
5231
+ }
5232
+ set uiActionModels(uiActionModels) {
5233
+ this._uiActionModels = uiActionModels;
5234
+ this.uiActionModelsChanged.next();
5235
+ }
5236
+ initialize() {
5237
+ return __awaiter(this, void 0, void 0, function* () {
5238
+ yield this.downloadTree().then((rootNodes) => {
5239
+ this.treeFromBackend = rootNodes;
5240
+ this.syncTree();
5241
+ });
5242
+ });
5243
+ }
5244
+ downloadTree() {
5245
+ return __awaiter(this, void 0, void 0, function* () {
5246
+ throw new Error('downloadTree method not implemented.');
5247
+ });
5248
+ }
5249
+ downloadChildren(parentNode) {
5250
+ return __awaiter(this, void 0, void 0, function* () {
5251
+ throw new Error('downloadChildren method not implemented.');
5252
+ });
5253
+ }
5254
+ onTreeNodeClick(treeNode) {
5255
+ throw new Error('onTreeNodeClick method not implemented.');
5256
+ }
5257
+ onTreeNodeOpen(treeNode) {
5258
+ throw new Error('onTreeNodeOpen method not implemented.');
5259
+ }
5260
+ syncTree() {
5261
+ throw new Error('syncTree method not implemented.');
5262
+ }
5263
+ }
5264
+ SmarttreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5265
+ SmarttreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeService, providedIn: 'root' });
5266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeService, decorators: [{
5267
+ type: Injectable,
5268
+ args: [{
5269
+ providedIn: 'root',
5270
+ }]
5271
+ }], ctorParameters: function () { return []; } });
5272
+
5273
+ class SmarttreeGenericService extends SmarttreeService {
5274
+ constructor(inject, pageName, treeId) {
5275
+ super();
5276
+ this.pageName = pageName;
5277
+ this.treeId = treeId;
5278
+ // UseUiAction properties
5279
+ this.submit = new Subject();
5280
+ this.reSubscribeToChange = new Subject();
5281
+ this.uiActionDescriptors = new Map();
5282
+ this.viewContextName = 'viewContextUuid';
5283
+ this.configureTree({
5284
+ pageName: this.pageName,
5285
+ treeid: this.treeId,
5286
+ viewContextName: this.viewContextName,
5287
+ });
5288
+ this.viewContext = inject.get(SmartViewContextService);
5289
+ this.service = inject.get(TreeService);
5290
+ this.uiActionService = inject.get(UiActionService);
5291
+ this.uiActionDescriptorService = inject.get(UiActionDescriptorService);
5292
+ this.initialize();
5293
+ }
5294
+ constructUiActionModels(uiActions) {
5295
+ this.uiActionModels = uiActions.map((uiAction) => {
5296
+ return {
5297
+ serviceToUse: this,
5298
+ uiAction,
5299
+ };
5300
+ });
5301
+ }
5302
+ configureTree(configuration) {
5303
+ this.treeId = configuration.treeid;
5304
+ this.viewContextName = configuration.viewContextName;
5305
+ this.pageName = configuration.pageName;
5306
+ }
5307
+ initialize() {
5308
+ return __awaiter(this, void 0, void 0, function* () {
5309
+ if (sessionStorage.getItem(this.viewContextName)) {
5310
+ yield this.downloadTree().then((rootNodes) => {
5311
+ this.treeFromBackend = rootNodes;
5312
+ this.syncTree();
5313
+ });
5314
+ }
5315
+ });
5316
+ }
5317
+ downloadTree() {
5318
+ return __awaiter(this, void 0, void 0, function* () {
5319
+ let uuid = this.viewContext.getUuidOfPage(this.pageName);
5320
+ const rootNodes = yield this.service.getRootNodes(uuid, this.treeId).toPromise();
5321
+ const uiActions = yield this.service.getMainActions(uuid, this.treeId).toPromise();
5322
+ if (uiActions) {
5323
+ this.constructUiActionModels(uiActions);
5324
+ }
5325
+ if (!rootNodes) {
5326
+ throw new Error('RootNodes are undefined!');
5327
+ }
5328
+ return rootNodes;
5329
+ });
5330
+ }
5331
+ downloadChildren(parentNode) {
5332
+ return __awaiter(this, void 0, void 0, function* () {
5333
+ let uuid = this.viewContext.getUuidOfPage(this.pageName);
5334
+ const children = yield this.service
5335
+ .getChildrenNodes(uuid, this.treeId, parentNode.identifier)
5336
+ .toPromise();
5337
+ if (!children) {
5338
+ throw new Error(`Node with identifier ${parentNode.identifier} does not have children.`);
5339
+ }
5340
+ return children;
5341
+ });
5342
+ }
5343
+ onTreeNodeOpen(treeNode) {
5344
+ return __awaiter(this, void 0, void 0, function* () {
5345
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5346
+ if (treeNode === null || treeNode === void 0 ? void 0 : treeNode.expanded) {
5347
+ let tempTreeNode = yield this.service
5348
+ .collapseNode(viewUuid, this.treeId, treeNode.identifier)
5349
+ .toPromise();
5350
+ treeNode = tempTreeNode;
5351
+ }
5352
+ else if (!(treeNode === null || treeNode === void 0 ? void 0 : treeNode.expanded)) {
5353
+ let tempTreeNode = yield this.service
5354
+ .expandNode(viewUuid, this.treeId, treeNode === null || treeNode === void 0 ? void 0 : treeNode.identifier)
5355
+ .toPromise();
5356
+ treeNode = tempTreeNode;
5357
+ }
5358
+ let node = this.deepSearchTreeNode(treeNode === null || treeNode === void 0 ? void 0 : treeNode.identifier, this.treeFromBackend);
5359
+ node.expanded = treeNode === null || treeNode === void 0 ? void 0 : treeNode.expanded;
5360
+ node.childrenNodes = treeNode === null || treeNode === void 0 ? void 0 : treeNode.childrenNodes;
5361
+ this.syncTree();
5362
+ });
5363
+ }
5364
+ onTreeNodeClick(treeNode) {
5365
+ this.selectFolder(treeNode.identifier, treeNode);
5366
+ }
5367
+ selectFolder(folderUri, treeNode) {
5368
+ return __awaiter(this, void 0, void 0, function* () {
5369
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5370
+ yield this.service
5371
+ .selectNode(viewUuid, this.treeId, treeNode.identifier)
5372
+ .toPromise()
5373
+ .then((updatedTreeNode) => {
5374
+ if (this.selectedNode) {
5375
+ this.selectedNode.selected = false;
5376
+ }
5377
+ this.selectedNode = updatedTreeNode;
5378
+ let node = this.deepSearchTreeNode(updatedTreeNode === null || updatedTreeNode === void 0 ? void 0 : updatedTreeNode.identifier, this.treeFromBackend);
5379
+ if (!node) {
5380
+ throw Error('Tree node does not exist');
5381
+ }
5382
+ node.expanded = updatedTreeNode === null || updatedTreeNode === void 0 ? void 0 : updatedTreeNode.expanded;
5383
+ node.childrenNodes = updatedTreeNode === null || updatedTreeNode === void 0 ? void 0 : updatedTreeNode.childrenNodes;
5384
+ node.selected = updatedTreeNode === null || updatedTreeNode === void 0 ? void 0 : updatedTreeNode.selected;
5385
+ treeNode = updatedTreeNode;
5386
+ this.syncTree();
5387
+ this.viewContext.getAndSyncViewContext(this.viewContext.getUuidOfPage(this.viewContextName));
5388
+ });
5389
+ });
5390
+ }
5391
+ updateTreeOnTheFly() {
5392
+ return __awaiter(this, void 0, void 0, function* () {
5393
+ yield this.initialize();
5394
+ });
5395
+ }
5396
+ syncTree() {
5397
+ return __awaiter(this, void 0, void 0, function* () {
5398
+ yield this.cacheActionDesciptors(this.getAllNodes(this.treeFromBackend));
5399
+ if (!this.treeFromBackend) {
5400
+ throw new Error('There is no treeFromBackend available!');
5401
+ }
5402
+ if (!this.smartTreeModel) {
5403
+ this.smartTreeModel = {
5404
+ rootNodes: [],
5405
+ };
5406
+ }
5407
+ let smartTreeNodes = this.createButtonsForTreeNodes(this.treeFromBackend);
5408
+ this.smartTreeModel = undefined;
5409
+ this.smartTreeModel = {
5410
+ rootNodes: [],
5411
+ };
5412
+ this.smartTreeModelChanged.next(this.smartTreeModel);
5413
+ this.smartTreeModel.rootNodes = smartTreeNodes;
5414
+ this.findSelected(this.smartTreeModel.rootNodes);
5415
+ this.smartTreeModelChanged.next(this.smartTreeModel);
5416
+ });
5417
+ }
5418
+ deepSearchTreeNode(identifier, nodes) {
5419
+ let treeNode;
5420
+ for (let index = 0; index < nodes.length; index++) {
5421
+ const node = nodes[index];
5422
+ if (node.identifier === identifier) {
5423
+ treeNode = node;
5424
+ break;
5425
+ }
5426
+ if (node.childrenNodes && node.childrenNodes.length) {
5427
+ treeNode = this.deepSearchTreeNode(identifier, node.childrenNodes);
5428
+ if (treeNode) {
5429
+ break;
5430
+ }
5431
+ }
5432
+ }
5433
+ return treeNode;
5434
+ }
5435
+ findSelected(nodes) {
5436
+ return nodes.forEach((node) => {
5437
+ if (node.selected) {
5438
+ this.selectedNode = node;
5439
+ return;
5440
+ }
5441
+ else if (node.childrenNodes && node.childrenNodes.length) {
5442
+ return this.findSelected(node.childrenNodes);
5443
+ }
5444
+ });
5445
+ }
5446
+ createButtonsForTreeNodes(nodes) {
5447
+ nodes.map((node) => {
5448
+ var _a;
5449
+ node.button = ((_a = node.actions) === null || _a === void 0 ? void 0 : _a.length)
5450
+ ? {
5451
+ type: SmartTreeNodeButtonType.MENU,
5452
+ icon: 'more_vert',
5453
+ menuItemButtons: node.actions.map((action) => {
5454
+ return {
5455
+ type: SmartTreeNodeButtonType.NORMAL,
5456
+ label: this.getLabelByAction(action),
5457
+ callback: this.doAction.bind(this),
5458
+ args: [action, node.identifier],
5459
+ };
5460
+ }),
5461
+ }
5462
+ : undefined;
5463
+ node.icon = 'Folders';
5464
+ if (node.childrenNodes) {
5465
+ node.childrenNodes = this.createButtonsForTreeNodes(node.childrenNodes);
5466
+ }
5467
+ });
5468
+ return nodes;
5469
+ }
5470
+ doAction(args) {
5471
+ return __awaiter(this, void 0, void 0, function* () {
5472
+ let uiAction = args[0];
5473
+ let nodeUuid = args[1];
5474
+ if (uiAction.params) {
5475
+ uiAction.params['nodeUuid'] = nodeUuid;
5476
+ }
5477
+ else {
5478
+ uiAction.params = {
5479
+ nodeUuid: nodeUuid,
5480
+ };
5481
+ }
5482
+ let uiActionModel = {
5483
+ serviceToUse: this,
5484
+ uiAction,
5485
+ };
5486
+ this.uiActionService.uiActionModel = uiActionModel;
5487
+ this.uiActionService.execute(uiAction);
5488
+ });
5489
+ }
5490
+ getAllNodes(nodes) {
5491
+ return nodes.flatMap((n) => [n, ...this.getAllNodes(n.childrenNodes)]);
5492
+ }
5493
+ cacheActionDesciptors(nodes) {
5494
+ return __awaiter(this, void 0, void 0, function* () {
5495
+ yield Promise.all(nodes.map((node) => __awaiter(this, void 0, void 0, function* () {
5496
+ var _a;
5497
+ let newUiActions = (_a = node.actions) === null || _a === void 0 ? void 0 : _a.filter((uiAction) => !this.uiActionDescriptors.get(uiAction.code));
5498
+ if (!newUiActions) {
5499
+ return;
5500
+ }
5501
+ yield Promise.all(newUiActions.map((uiAction) => __awaiter(this, void 0, void 0, function* () {
5502
+ if (!this.uiActionDescriptors.get(uiAction.code)) {
5503
+ let descriptor = yield this.uiActionDescriptorService.getActionDescriptor(uiAction);
5504
+ this.uiActionDescriptors.set(uiAction.code, descriptor);
5505
+ }
5506
+ })));
5507
+ })));
5508
+ });
5509
+ }
5510
+ getLabelByAction(action) {
5511
+ let desc = this.uiActionDescriptors.get(action.code);
5512
+ return desc.title;
5513
+ }
5514
+ // #region UseUiAction
5515
+ getAdditionalParams(uiAction) {
5516
+ var _a;
5517
+ if (uiAction.params && uiAction.params['nodeUuid']) {
5518
+ let nodeUuid = uiAction.params['nodeUuid'];
5519
+ let nodeName;
5520
+ if (uiAction.code === 'RENAME') {
5521
+ nodeName = (_a = this.deepSearchTreeNode(nodeUuid, this.treeFromBackend)) === null || _a === void 0 ? void 0 : _a.caption;
5522
+ }
5523
+ return {
5524
+ forTextArea: '',
5525
+ forTextField: nodeName ? nodeName : '',
5526
+ };
5527
+ }
5528
+ return {
5529
+ forTextArea: '',
5530
+ forTextField: '',
5531
+ };
5532
+ }
5533
+ getModel() {
5534
+ return {};
5535
+ }
5536
+ performUiActionRequest(uiActionRequest) {
5537
+ return __awaiter(this, void 0, void 0, function* () {
5538
+ if (uiActionRequest.params['nodeUuid']) {
5539
+ yield this.performNodeUiActionRequest(uiActionRequest);
5540
+ }
5541
+ else {
5542
+ yield this.performMainUiActionRequest(uiActionRequest);
5543
+ }
5544
+ yield this.viewContext.getAndSyncViewContext();
5545
+ this.syncTree();
5546
+ });
5547
+ }
5548
+ performNodeUiActionRequest(uiActionRequest) {
5549
+ return __awaiter(this, void 0, void 0, function* () {
5550
+ let nodeId = uiActionRequest.params['nodeUuid'];
5551
+ delete uiActionRequest.params['nodeUuid'];
5552
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5553
+ this.treeFromBackend = yield this.service
5554
+ .performAction(viewUuid, this.treeId, nodeId, uiActionRequest)
5555
+ .toPromise();
5556
+ });
5557
+ }
5558
+ performMainUiActionRequest(uiActionRequest) {
5559
+ return __awaiter(this, void 0, void 0, function* () {
5560
+ let viewUuid = this.viewContext.getUuidOfPage(this.pageName);
5561
+ this.treeFromBackend = yield this.service
5562
+ .performMainAction(viewUuid, this.treeId, uiActionRequest)
5563
+ .toPromise();
5564
+ });
5565
+ }
5566
+ handleSpecificDemandsAsynchronously(uiAction, uiActionRequest) {
5567
+ throw new Error('Method not implemented.');
5568
+ }
5569
+ }
5570
+ 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 });
5571
+ SmarttreeGenericService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeGenericService, providedIn: 'root' });
5572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeGenericService, decorators: [{
5573
+ type: Injectable,
5574
+ args: [{
5575
+ providedIn: 'root',
5576
+ }]
5577
+ }], ctorParameters: function () {
5578
+ return [{ type: i0.Injector }, { type: undefined, decorators: [{
5579
+ type: Inject,
5580
+ args: ['pageName']
5581
+ }] }, { type: undefined, decorators: [{
5582
+ type: Inject,
5583
+ args: ['treeId']
5584
+ }] }];
5585
+ } });
5586
+
5587
+ class SmartTreeComponent {
5588
+ constructor(cdr) {
5589
+ this.cdr = cdr;
5590
+ this._destroy$ = new Subject();
5591
+ this.treeControl = new NestedTreeControl((node) => node.childrenNodes);
5592
+ this.dataSource = new MatTreeNestedDataSource();
5593
+ this.smartTreeNodeButtonType = SmartTreeNodeButtonType;
5594
+ this.uiActionModels = [];
5595
+ this.hasChild = (_, node) => node.hasChildren;
5596
+ }
5597
+ ngOnInit() {
5598
+ if (!this.treeService) {
5599
+ throw new Error('TreeService has not been given!');
5600
+ }
5601
+ this.errorMessage = this.treeService.errorMessage;
5602
+ this.treeService.smartTreeModelChanged.subscribe((newSmartTree) => {
5603
+ this.treeData = newSmartTree;
5604
+ this.dataSource.data = this.treeData.rootNodes;
5605
+ this.expandTreeNodes();
5606
+ });
5607
+ this.treeService.uiActionModelsChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
5608
+ if (this.treeService.uiActionModels) {
5609
+ this.uiActionModels = this.treeService.uiActionModels;
5610
+ }
5611
+ });
5612
+ }
5613
+ ngOnDestroy() {
5614
+ this._destroy$.next();
5615
+ this._destroy$.complete();
5616
+ }
5617
+ getIfExpanded(node) {
5618
+ return this.treeControl.isExpanded(node);
5619
+ }
5620
+ expandTreeNodes() {
5621
+ this.expandTreeNodesDeeply(this.dataSource.data);
5622
+ }
5623
+ expandTreeNodesDeeply(nodes) {
5624
+ nodes.forEach((node) => {
5625
+ if (node.expanded) {
5626
+ this.treeControl.expand(node);
5627
+ this.cdr.markForCheck();
5628
+ if (node.childrenNodes && node.childrenNodes.length) {
5629
+ this.expandTreeNodesDeeply(node.childrenNodes);
5630
+ }
5631
+ }
5632
+ else {
5633
+ this.treeControl.collapse(node);
5634
+ }
5635
+ });
5636
+ }
5637
+ onNodeClick(event, node) {
5638
+ event.stopPropagation();
5639
+ if (this.tempActiveNode)
5640
+ this.tempActiveNode.selected = false;
5641
+ node.selected = true;
5642
+ this.tempActiveNode = node;
5643
+ this.treeService.onTreeNodeClick(node);
5644
+ }
5645
+ onOpenNode(event, node) {
5646
+ event.stopPropagation();
5647
+ this.treeService.onTreeNodeOpen(node);
5648
+ }
5649
+ getNodeStyle(node) {
5650
+ var _a, _b;
5651
+ if (this.treeStyle) {
5652
+ var style = node.selected
5653
+ ? {
5654
+ background: (_a = this.treeStyle.activeStyle) === null || _a === void 0 ? void 0 : _a.backgroundColor,
5655
+ color: (_b = this.treeStyle.activeStyle) === null || _b === void 0 ? void 0 : _b.color,
5656
+ }
5657
+ : {
5658
+ background: this.treeStyle.levelBackgroundColor[node.level],
5659
+ color: this.treeStyle.color,
5660
+ };
5661
+ return style;
5662
+ }
5663
+ return {};
5664
+ }
5665
+ getNodePadding(node) {
5666
+ if (this.treeStyle) {
5667
+ var style = node.selected
5668
+ ? {
5669
+ 'padding-left': 15 * node.level + 'px',
5670
+ }
5671
+ : {
5672
+ 'padding-left': 15 * node.level + 'px',
5673
+ };
5674
+ return style;
5675
+ }
5676
+ return {};
5677
+ }
5678
+ customButtonClicked(event, button, close) {
5679
+ event.stopPropagation();
5680
+ if (button.type === SmartTreeNodeButtonType.MENU) {
5681
+ return;
5682
+ }
5683
+ if (!button.callback) {
5684
+ throw new Error(`Button with name ${button.label || button.icon} does not have a callback!`);
5685
+ }
5686
+ button.callback(button.args);
5687
+ if (close) {
5688
+ let openMenus = this.trigger.filter((matMenuTrigger) => matMenuTrigger.menuOpen);
5689
+ openMenus.forEach((matMenuTrigger) => {
5690
+ matMenuTrigger.closeMenu();
5691
+ });
5692
+ }
5693
+ }
5694
+ getClassesForTreeNode(node) {
5695
+ let classes = [];
5696
+ if (node.expanded) {
5697
+ classes.push(this.getCustomClass('expanded', node.level));
5698
+ }
5699
+ else {
5700
+ classes.push(this.getCustomClass('collapsed', node.level));
5701
+ }
5702
+ if (node.selected) {
5703
+ classes.push(this.getCustomClass('selected', node.level));
5704
+ }
5705
+ else {
5706
+ classes.push(this.getCustomClass('unselected', node.level));
5707
+ }
5708
+ if (node.level !== 0) {
5709
+ classes.push(this.getCustomClass('child', node.level));
5710
+ }
5711
+ return classes;
5712
+ }
5713
+ getInnerClassesForTreeNode(node) {
5714
+ let classes = [];
5715
+ if (node.expanded) {
5716
+ classes.push(this.getCustomClass('inner-expanded', node.level));
5717
+ }
5718
+ else {
5719
+ classes.push(this.getCustomClass('inner-collapsed', node.level));
5720
+ }
5721
+ if (node.selected) {
5722
+ classes.push(this.getCustomClass('inner-selected', node.level));
5723
+ }
5724
+ else {
5725
+ classes.push(this.getCustomClass('inner-unselected', node.level));
5726
+ }
5727
+ return classes;
5728
+ }
5729
+ getClassesForTreeNodeChildren(node) {
5730
+ let classes = [];
5731
+ classes.push(this.getCustomClass('group', node.level));
5732
+ return classes;
5733
+ }
5734
+ getCustomClass(cssClass, plusProperty) {
5735
+ return `${cssClass}-${plusProperty}`;
5736
+ }
5737
+ }
5738
+ SmartTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartTreeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5739
+ 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]" }] });
5740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartTreeComponent, decorators: [{
5741
+ type: Component,
5742
+ 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"] }]
5743
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { trigger: [{
5744
+ type: ViewChildren,
5745
+ args: [MatMenuTrigger]
5746
+ }], tree: [{
5747
+ type: ViewChild,
5748
+ args: ['tree']
5749
+ }], treeStyle: [{
5750
+ type: Input
5751
+ }], treeService: [{
5752
+ type: Input
5753
+ }] } });
5754
+
5755
+ class SmarttreeModule {
5756
+ }
5757
+ SmarttreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5758
+ SmarttreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, declarations: [SmartTreeComponent], imports: [BrowserModule,
5759
+ MatCommonModule,
5760
+ MatButtonModule,
5761
+ MatIconModule,
5762
+ MatTreeModule,
5763
+ MatMenuModule,
5764
+ SmartIconModule], exports: [SmartTreeComponent] });
5765
+ SmarttreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, providers: [SmarttreeService, SmarttreeGenericService], imports: [[
5766
+ BrowserModule,
5767
+ MatCommonModule,
5768
+ MatButtonModule,
5769
+ MatIconModule,
5770
+ MatTreeModule,
5771
+ MatMenuModule,
5772
+ SmartIconModule,
5773
+ ]] });
5774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmarttreeModule, decorators: [{
5775
+ type: NgModule,
5776
+ args: [{
5777
+ declarations: [SmartTreeComponent],
5778
+ imports: [
5779
+ BrowserModule,
5780
+ MatCommonModule,
5781
+ MatButtonModule,
5782
+ MatIconModule,
5783
+ MatTreeModule,
5784
+ MatMenuModule,
5785
+ SmartIconModule,
5786
+ ],
5787
+ exports: [SmartTreeComponent],
5788
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
5789
+ providers: [SmarttreeService, SmarttreeGenericService],
5790
+ }]
5791
+ }] });
5792
+
5793
+ class SmartNgClientModule {
5794
+ }
5795
+ SmartNgClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5796
+ SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, declarations: [SmartFileUploaderComponent], imports: [BrowserModule,
5797
+ MatCommonModule,
5798
+ SmartSessionModule,
5799
+ SmartViewContextModule,
5800
+ SmartformModule,
5801
+ SmartExpandableSectionModule], exports: [SmartSessionModule,
5802
+ SmartViewContextModule,
5803
+ SmartFileUploaderComponent,
5804
+ SmarttreeModule] });
5805
+ SmartNgClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, providers: [SmartNgClientService], imports: [[
5806
+ BrowserModule,
5807
+ MatCommonModule,
5808
+ SmartSessionModule,
5809
+ SmartViewContextModule,
5810
+ SmartformModule,
5811
+ SmartExpandableSectionModule,
5812
+ ], SmartSessionModule,
5813
+ SmartViewContextModule,
5814
+ SmarttreeModule] });
5815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartNgClientModule, decorators: [{
5816
+ type: NgModule,
5817
+ args: [{
5818
+ declarations: [SmartFileUploaderComponent],
5819
+ imports: [
5820
+ BrowserModule,
5821
+ MatCommonModule,
5822
+ SmartSessionModule,
5823
+ SmartViewContextModule,
5824
+ SmartformModule,
5825
+ SmartExpandableSectionModule,
5826
+ ],
5827
+ exports: [
5828
+ SmartSessionModule,
5829
+ SmartViewContextModule,
5830
+ SmartFileUploaderComponent,
5831
+ SmarttreeModule,
5832
+ ],
5833
+ providers: [SmartNgClientService],
5834
+ }]
5835
+ }] });
5836
+
5837
+ class SmartAuthService {
5838
+ constructor() {
5839
+ this.bffApisHaveBeenSetUp = false;
5840
+ this._destroy$ = new Subject();
5841
+ this.headersUpdated = new SmartSubject(this._destroy$);
5842
+ }
5843
+ ngOnDestroy() {
5844
+ this._destroy$.next();
5845
+ this._destroy$.complete();
5846
+ }
5847
+ }
5848
+ SmartAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5849
+ SmartAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartAuthService });
5850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartAuthService, decorators: [{
5851
+ type: Injectable
5852
+ }] });
5853
+
5854
+ /*
5855
+ * Public API Surface of smarttree
5856
+ */
4509
5857
 
4510
5858
  let SmartComponentApiClient = class SmartComponentApiClient {
4511
5859
  constructor(inject, auth, pageName) {
@@ -4888,9 +6236,9 @@ class SmartComponent extends SmartComponentApiClient {
4888
6236
  this._ngOnDestroy();
4889
6237
  }
4890
6238
  }
4891
- 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 });
4892
- SmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
4893
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponent, decorators: [{
6239
+ 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 });
6240
+ SmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
6241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponent, decorators: [{
4894
6242
  type: Component,
4895
6243
  args: [{
4896
6244
  template: '',
@@ -4916,9 +6264,9 @@ class SmartService extends SmartComponentApiClient {
4916
6264
  this._ngOnDestroy();
4917
6265
  }
4918
6266
  }
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: [{
6267
+ 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 });
6268
+ SmartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, providedIn: 'root' });
6269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartService, decorators: [{
4922
6270
  type: Injectable,
4923
6271
  args: [{
4924
6272
  providedIn: 'root',
@@ -4941,5 +6289,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4941
6289
  * Generated bundle index. Do not edit.
4942
6290
  */
4943
6291
 
4944
- 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 };
6292
+ 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 };
4945
6293
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map