@smartbit4all/ng-client 1.1.36 → 1.1.38

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 (38) hide show
  1. package/esm2020/lib/smart-client/api/api.module.mjs +40 -0
  2. package/esm2020/lib/smart-client/api/configuration.mjs +91 -0
  3. package/esm2020/lib/smart-client/api/index.mjs +6 -0
  4. package/esm2020/lib/smart-client/api/model/componentType.mjs +17 -0
  5. package/esm2020/lib/smart-client/api/model/componentWidgetType.mjs +15 -0
  6. package/esm2020/lib/smart-client/api/model/layoutDirection.mjs +16 -0
  7. package/esm2020/lib/smart-client/api/model/models.mjs +6 -0
  8. package/esm2020/lib/smart-client/api/model/smartComponentLayoutDefinition.mjs +2 -0
  9. package/esm2020/lib/smart-client/api/model/smartComponentWidgetDefinition.mjs +2 -0
  10. package/esm2020/lib/smart-client/api/param.mjs +2 -0
  11. package/esm2020/lib/smart-client/api/variables.mjs +9 -0
  12. package/esm2020/lib/smart-client/smart-component-api-client.mjs +32 -1
  13. package/esm2020/lib/smart-client/smart-component-layout/smart-component-layout.component.mjs +5 -4
  14. package/esm2020/projects.mjs +2 -2
  15. package/fesm2015/smartbit4all-ng-client.mjs +241 -36
  16. package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
  17. package/fesm2020/smartbit4all-ng-client.mjs +234 -32
  18. package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
  19. package/lib/smart-client/api/api.module.d.ts +11 -0
  20. package/lib/smart-client/api/configuration.d.ts +104 -0
  21. package/lib/smart-client/api/index.d.ts +5 -0
  22. package/lib/smart-client/api/model/componentType.d.ts +17 -0
  23. package/lib/smart-client/api/model/componentWidgetType.d.ts +15 -0
  24. package/lib/smart-client/api/model/layoutDirection.d.ts +16 -0
  25. package/lib/smart-client/api/model/models.d.ts +5 -0
  26. package/lib/smart-client/api/model/smartComponentLayoutDefinition.d.ts +28 -0
  27. package/lib/smart-client/api/model/smartComponentWidgetDefinition.d.ts +18 -0
  28. package/lib/smart-client/api/param.d.ts +37 -0
  29. package/lib/smart-client/api/variables.d.ts +8 -0
  30. package/lib/smart-client/smart-component-api-client.d.ts +10 -1
  31. package/lib/smart-client/smart-component-layout/smart-component-layout.component.d.ts +2 -1
  32. package/package.json +1 -1
  33. package/projects.d.ts +1 -1
  34. package/smartbit4all-ng-client-1.1.38.tgz +0 -0
  35. package/src/lib/smart-client/api/README.md +226 -0
  36. package/esm2020/lib/smart-client/smart-component-layout/smart-component-layout.model.mjs +0 -13
  37. package/lib/smart-client/smart-component-layout/smart-component-layout.model.d.ts +0 -30
  38. package/smartbit4all-ng-client-1.1.36.tgz +0 -0
@@ -51,15 +51,15 @@ class CustomHttpParameterCodec$1 {
51
51
  }
52
52
  }
53
53
 
54
- const BASE_PATH$1 = new InjectionToken('basePath');
55
- const COLLECTION_FORMATS$1 = {
54
+ const BASE_PATH$2 = new InjectionToken('basePath');
55
+ const COLLECTION_FORMATS$2 = {
56
56
  'csv': ',',
57
57
  'tsv': ' ',
58
58
  'ssv': ' ',
59
59
  'pipes': '|'
60
60
  };
61
61
 
62
- class Configuration$1 {
62
+ class Configuration$2 {
63
63
  constructor(configurationParameters = {}) {
64
64
  this.apiKeys = configurationParameters.apiKeys;
65
65
  this.username = configurationParameters.username;
@@ -166,7 +166,7 @@ class SessionService {
166
166
  this.httpClient = httpClient;
167
167
  this.basePath = 'http://localhost';
168
168
  this.defaultHeaders = new HttpHeaders();
169
- this.configuration = new Configuration$1();
169
+ this.configuration = new Configuration$2();
170
170
  if (configuration) {
171
171
  this.configuration = configuration;
172
172
  }
@@ -430,7 +430,7 @@ class SessionService {
430
430
  });
431
431
  }
432
432
  }
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 });
433
+ SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$2, optional: true }, { token: Configuration$2, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
434
434
  SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionService, providedIn: 'root' });
435
435
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SessionService, decorators: [{
436
436
  type: Injectable,
@@ -441,8 +441,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
441
441
  type: Optional
442
442
  }, {
443
443
  type: Inject,
444
- args: [BASE_PATH$1]
445
- }] }, { type: Configuration$1, decorators: [{
444
+ args: [BASE_PATH$2]
445
+ }] }, { type: Configuration$2, decorators: [{
446
446
  type: Optional
447
447
  }] }]; } });
448
448
 
@@ -966,15 +966,15 @@ class CustomHttpParameterCodec {
966
966
  }
967
967
  }
968
968
 
969
- const BASE_PATH = new InjectionToken('basePath');
970
- const COLLECTION_FORMATS = {
969
+ const BASE_PATH$1 = new InjectionToken('basePath');
970
+ const COLLECTION_FORMATS$1 = {
971
971
  'csv': ',',
972
972
  'tsv': ' ',
973
973
  'ssv': ' ',
974
974
  'pipes': '|'
975
975
  };
976
976
 
977
- class Configuration {
977
+ class Configuration$1 {
978
978
  constructor(configurationParameters = {}) {
979
979
  this.apiKeys = configurationParameters.apiKeys;
980
980
  this.username = configurationParameters.username;
@@ -1081,7 +1081,7 @@ class ViewService {
1081
1081
  this.httpClient = httpClient;
1082
1082
  this.basePath = 'http://localhost';
1083
1083
  this.defaultHeaders = new HttpHeaders();
1084
- this.configuration = new Configuration();
1084
+ this.configuration = new Configuration$1();
1085
1085
  if (configuration) {
1086
1086
  this.configuration = configuration;
1087
1087
  }
@@ -1871,7 +1871,7 @@ class ViewService {
1871
1871
  });
1872
1872
  }
1873
1873
  else {
1874
- localVarFormParams = localVarFormParams.append('contents', [...contents].join(COLLECTION_FORMATS['csv'])) || localVarFormParams;
1874
+ localVarFormParams = localVarFormParams.append('contents', [...contents].join(COLLECTION_FORMATS$1['csv'])) || localVarFormParams;
1875
1875
  }
1876
1876
  }
1877
1877
  let responseType_ = 'json';
@@ -1898,7 +1898,7 @@ class ViewService {
1898
1898
  });
1899
1899
  }
1900
1900
  }
1901
- ViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1901
+ ViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$1, optional: true }, { token: Configuration$1, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1902
1902
  ViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, providedIn: 'root' });
1903
1903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ViewService, decorators: [{
1904
1904
  type: Injectable,
@@ -1909,8 +1909,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1909
1909
  type: Optional
1910
1910
  }, {
1911
1911
  type: Inject,
1912
- args: [BASE_PATH]
1913
- }] }, { type: Configuration, decorators: [{
1912
+ args: [BASE_PATH$1]
1913
+ }] }, { type: Configuration$1, decorators: [{
1914
1914
  type: Optional
1915
1915
  }] }]; } });
1916
1916
 
@@ -2200,7 +2200,7 @@ const ViewType = {
2200
2200
  Embedded: 'embedded'
2201
2201
  };
2202
2202
 
2203
- class ApiModule {
2203
+ class ApiModule$1 {
2204
2204
  constructor(parentModule, http) {
2205
2205
  if (parentModule) {
2206
2206
  throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
@@ -2212,15 +2212,15 @@ class ApiModule {
2212
2212
  }
2213
2213
  static forRoot(configurationFactory) {
2214
2214
  return {
2215
- ngModule: ApiModule,
2216
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
2215
+ ngModule: ApiModule$1,
2216
+ providers: [{ provide: Configuration$1, useFactory: configurationFactory }]
2217
2217
  };
2218
2218
  }
2219
2219
  }
2220
- ApiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
2221
- ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule });
2222
- ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, providers: [], imports: [[]] });
2223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, decorators: [{
2220
+ ApiModule$1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule$1, deps: [{ token: ApiModule$1, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
2221
+ ApiModule$1.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule$1 });
2222
+ ApiModule$1.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule$1, providers: [], imports: [[]] });
2223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule$1, decorators: [{
2224
2224
  type: NgModule,
2225
2225
  args: [{
2226
2226
  imports: [],
@@ -2228,7 +2228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2228
2228
  exports: [],
2229
2229
  providers: []
2230
2230
  }]
2231
- }], ctorParameters: function () { return [{ type: ApiModule, decorators: [{
2231
+ }], ctorParameters: function () { return [{ type: ApiModule$1, decorators: [{
2232
2232
  type: Optional
2233
2233
  }, {
2234
2234
  type: SkipSelf
@@ -4466,25 +4466,196 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4466
4466
  type: Input
4467
4467
  }] } });
4468
4468
 
4469
- const LayoutDirection = {
4470
- Horizontal: 'horizontal',
4471
- Vertical: 'vertical',
4472
- };
4469
+ /**
4470
+ * Form layout definition
4471
+ * Contains form layout definition objects.
4472
+ *
4473
+ * The version of the OpenAPI document: 1.0.0
4474
+ * Contact: info@it4all.hu
4475
+ *
4476
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
4477
+ * https://openapi-generator.tech
4478
+ * Do not edit the class manually.
4479
+ */
4473
4480
  const ComponentType = {
4474
4481
  Container: 'container',
4475
4482
  Form: 'form',
4476
- Widget: 'widget',
4483
+ Widget: 'widget'
4477
4484
  };
4485
+
4486
+ /**
4487
+ * Form layout definition
4488
+ * Contains form layout definition objects.
4489
+ *
4490
+ * The version of the OpenAPI document: 1.0.0
4491
+ * Contact: info@it4all.hu
4492
+ *
4493
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
4494
+ * https://openapi-generator.tech
4495
+ * Do not edit the class manually.
4496
+ */
4478
4497
  const ComponentWidgetType = {
4479
- Grid: 'grid',
4498
+ Grid: 'grid'
4480
4499
  };
4481
4500
 
4501
+ /**
4502
+ * Form layout definition
4503
+ * Contains form layout definition objects.
4504
+ *
4505
+ * The version of the OpenAPI document: 1.0.0
4506
+ * Contact: info@it4all.hu
4507
+ *
4508
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
4509
+ * https://openapi-generator.tech
4510
+ * Do not edit the class manually.
4511
+ */
4512
+ const LayoutDirection = {
4513
+ Horizontal: 'horizontal',
4514
+ Vertical: 'vertical'
4515
+ };
4516
+
4517
+ const BASE_PATH = new InjectionToken('basePath');
4518
+ const COLLECTION_FORMATS = {
4519
+ 'csv': ',',
4520
+ 'tsv': ' ',
4521
+ 'ssv': ' ',
4522
+ 'pipes': '|'
4523
+ };
4524
+
4525
+ class Configuration {
4526
+ constructor(configurationParameters = {}) {
4527
+ this.apiKeys = configurationParameters.apiKeys;
4528
+ this.username = configurationParameters.username;
4529
+ this.password = configurationParameters.password;
4530
+ this.accessToken = configurationParameters.accessToken;
4531
+ this.basePath = configurationParameters.basePath;
4532
+ this.withCredentials = configurationParameters.withCredentials;
4533
+ this.encoder = configurationParameters.encoder;
4534
+ if (configurationParameters.encodeParam) {
4535
+ this.encodeParam = configurationParameters.encodeParam;
4536
+ }
4537
+ else {
4538
+ this.encodeParam = param => this.defaultEncodeParam(param);
4539
+ }
4540
+ if (configurationParameters.credentials) {
4541
+ this.credentials = configurationParameters.credentials;
4542
+ }
4543
+ else {
4544
+ this.credentials = {};
4545
+ }
4546
+ }
4547
+ /**
4548
+ * Select the correct content-type to use for a request.
4549
+ * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
4550
+ * If no content type is found return the first found type if the contentTypes is not empty
4551
+ * @param contentTypes - the array of content types that are available for selection
4552
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
4553
+ */
4554
+ selectHeaderContentType(contentTypes) {
4555
+ if (contentTypes.length === 0) {
4556
+ return undefined;
4557
+ }
4558
+ const type = contentTypes.find((x) => this.isJsonMime(x));
4559
+ if (type === undefined) {
4560
+ return contentTypes[0];
4561
+ }
4562
+ return type;
4563
+ }
4564
+ /**
4565
+ * Select the correct accept content-type to use for a request.
4566
+ * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
4567
+ * If no content type is found return the first found type if the contentTypes is not empty
4568
+ * @param accepts - the array of content types that are available for selection.
4569
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
4570
+ */
4571
+ selectHeaderAccept(accepts) {
4572
+ if (accepts.length === 0) {
4573
+ return undefined;
4574
+ }
4575
+ const type = accepts.find((x) => this.isJsonMime(x));
4576
+ if (type === undefined) {
4577
+ return accepts[0];
4578
+ }
4579
+ return type;
4580
+ }
4581
+ /**
4582
+ * Check if the given MIME is a JSON MIME.
4583
+ * JSON MIME examples:
4584
+ * application/json
4585
+ * application/json; charset=UTF8
4586
+ * APPLICATION/JSON
4587
+ * application/vnd.company+json
4588
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
4589
+ * @return True if the given MIME is JSON, false otherwise.
4590
+ */
4591
+ isJsonMime(mime) {
4592
+ const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
4593
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
4594
+ }
4595
+ lookupCredential(key) {
4596
+ const value = this.credentials[key];
4597
+ return typeof value === 'function'
4598
+ ? value()
4599
+ : value;
4600
+ }
4601
+ defaultEncodeParam(param) {
4602
+ // This implementation exists as fallback for missing configuration
4603
+ // and for backwards compatibility to older typescript-angular generator versions.
4604
+ // It only works for the 'simple' parameter style.
4605
+ // Date-handling only works for the 'date-time' format.
4606
+ // All other styles and Date-formats are probably handled incorrectly.
4607
+ //
4608
+ // But: if that's all you need (i.e.: the most common use-case): no need for customization!
4609
+ const value = param.dataFormat === 'date-time' && param.value instanceof Date
4610
+ ? param.value.toISOString()
4611
+ : param.value;
4612
+ return encodeURIComponent(String(value));
4613
+ }
4614
+ }
4615
+
4616
+ class ApiModule {
4617
+ constructor(parentModule, http) {
4618
+ if (parentModule) {
4619
+ throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
4620
+ }
4621
+ if (!http) {
4622
+ throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
4623
+ 'See also https://github.com/angular/angular/issues/20575');
4624
+ }
4625
+ }
4626
+ static forRoot(configurationFactory) {
4627
+ return {
4628
+ ngModule: ApiModule,
4629
+ providers: [{ provide: Configuration, useFactory: configurationFactory }]
4630
+ };
4631
+ }
4632
+ }
4633
+ 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 });
4634
+ ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule });
4635
+ ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, providers: [], imports: [[]] });
4636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ApiModule, decorators: [{
4637
+ type: NgModule,
4638
+ args: [{
4639
+ imports: [],
4640
+ declarations: [],
4641
+ exports: [],
4642
+ providers: []
4643
+ }]
4644
+ }], ctorParameters: function () { return [{ type: ApiModule, decorators: [{
4645
+ type: Optional
4646
+ }, {
4647
+ type: SkipSelf
4648
+ }] }, { type: i1.HttpClient, decorators: [{
4649
+ type: Optional
4650
+ }] }]; } });
4651
+
4482
4652
  class SmartComponentLayoutComponent {
4483
4653
  constructor(layoutService) {
4484
4654
  this.layoutService = layoutService;
4485
4655
  }
4486
4656
  ngOnChanges(changes) {
4487
4657
  this.smartComponentLayout = changes['smartComponentLayout'].currentValue;
4658
+ this.uuid = this.smartComponentLayout?.parentComponent.uuid;
4488
4659
  if (this.smartComponentLayout?.type === ComponentType.Form) {
4489
4660
  this.constructForm();
4490
4661
  }
@@ -4536,10 +4707,10 @@ class SmartComponentLayoutComponent {
4536
4707
  }
4537
4708
  }
4538
4709
  SmartComponentLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponentLayoutComponent, deps: [{ token: i1$2.SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
4539
- SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "gridChild", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"smartComponentLayout?.type === type().Container\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n>\n <smart-component-layout\n [smartComponentLayout]=\"layout\"\n *ngFor=\"let layout of smartComponentLayout?.components\"\n ></smart-component-layout>\n</div>\n<smartform #form [smartForm]=\"smartForm\"></smartform>\n<smart-grid\n #grid\n [smartGrid]=\"smartGrid\"\n [uuid]=\"smartComponentLayout?.parentComponent?.uuid!\"\n></smart-grid>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], components: [{ type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout"] }, { type: i1$2.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i2$2.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
4710
+ SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "gridChild", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"smartComponentLayout?.type === type().Container\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n>\n <smart-component-layout\n [smartComponentLayout]=\"layout\"\n *ngFor=\"let layout of smartComponentLayout?.components\"\n ></smart-component-layout>\n</div>\n<smartform #form [smartForm]=\"smartForm\"></smartform>\n<smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], components: [{ type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout"] }, { type: i1$2.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i2$2.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
4540
4711
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartComponentLayoutComponent, decorators: [{
4541
4712
  type: Component,
4542
- args: [{ selector: 'smart-component-layout', template: "<div\n *ngIf=\"smartComponentLayout?.type === type().Container\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n>\n <smart-component-layout\n [smartComponentLayout]=\"layout\"\n *ngFor=\"let layout of smartComponentLayout?.components\"\n ></smart-component-layout>\n</div>\n<smartform #form [smartForm]=\"smartForm\"></smartform>\n<smart-grid\n #grid\n [smartGrid]=\"smartGrid\"\n [uuid]=\"smartComponentLayout?.parentComponent?.uuid!\"\n></smart-grid>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
4713
+ args: [{ selector: 'smart-component-layout', template: "<div\n *ngIf=\"smartComponentLayout?.type === type().Container\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n>\n <smart-component-layout\n [smartComponentLayout]=\"layout\"\n *ngFor=\"let layout of smartComponentLayout?.components\"\n ></smart-component-layout>\n</div>\n<smartform #form [smartForm]=\"smartForm\"></smartform>\n<smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
4543
4714
  }], ctorParameters: function () { return [{ type: i1$2.SmartformLayoutDefinitionService }]; }, propDecorators: { smartComponentLayout: [{
4544
4715
  type: Input
4545
4716
  }], formChild: [{
@@ -4617,6 +4788,8 @@ let SmartComponentApiClient = class SmartComponentApiClient {
4617
4788
  this.pageName = pageName;
4618
4789
  this._destroy$ = new Subject();
4619
4790
  this.sendDataChanges = false;
4791
+ this._useAutoSubmit = false;
4792
+ this._useAutoSubmitTurnedOff = new SmartSubject(this._destroy$);
4620
4793
  this.detectChange = new SmartSubject(this._destroy$);
4621
4794
  this.uiActionModels = [];
4622
4795
  this.dataChanged = new SmartSubject(this._destroy$);
@@ -4633,6 +4806,27 @@ let SmartComponentApiClient = class SmartComponentApiClient {
4633
4806
  this.uiActionService = inject.get(UiActionService);
4634
4807
  this.uiActionDescriptorService = inject.get(UiActionDescriptorService);
4635
4808
  }
4809
+ get useAutoSubmit() {
4810
+ return this._useAutoSubmit;
4811
+ }
4812
+ set useAutoSubmit(useAutoSubmit) {
4813
+ this._useAutoSubmit = useAutoSubmit;
4814
+ if (this._useAutoSubmit) {
4815
+ this.subscribeToAutoSubmit();
4816
+ this.reSubscribeToChange.pipe(takeUntil(this._useAutoSubmitTurnedOff)).subscribe(() => {
4817
+ this.subscribeToAutoSubmit();
4818
+ });
4819
+ }
4820
+ else {
4821
+ this._useAutoSubmitTurnedOff.next();
4822
+ }
4823
+ }
4824
+ subscribeToAutoSubmit() {
4825
+ this.submit.pipe(takeUntil(this._useAutoSubmitTurnedOff)).subscribe(() => {
4826
+ this.submitForms();
4827
+ this.submit.complete();
4828
+ });
4829
+ }
4636
4830
  get uuid() {
4637
4831
  return this._uuid;
4638
4832
  }
@@ -4763,6 +4957,14 @@ let SmartComponentApiClient = class SmartComponentApiClient {
4763
4957
  layout.components = layout.components?.map((l) => this.setParentComponent(l));
4764
4958
  return layout;
4765
4959
  }
4960
+ /**
4961
+ * Submits all the registered forms in the SmartComponent
4962
+ */
4963
+ submitForms() {
4964
+ Object.keys(this.formWidgets.widgets).map((key) => {
4965
+ this.formWidgets.widgets.get(key)?.submitForm();
4966
+ });
4967
+ }
4766
4968
  addGrid(smartGrid, options, useAsDefaultGrid, componentReference) {
4767
4969
  smartGrid.options = options;
4768
4970
  smartGrid.uiActionService = this.uiActionService;
@@ -5009,5 +5211,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
5009
5211
  * Generated bundle index. Do not edit.
5010
5212
  */
5011
5213
 
5012
- export { APIS, ApiModule, ApiQueueService, BASE_PATH, COLLECTION_FORMATS, CloseResult, ComponentType, ComponentWidgetType, Configuration, DataChangeKind, IS_ASYNC_PARAM_NAME, LayoutDirection, MessageOptionType, MessageType, SessionAPIS, SessionErrorBehaviour, SessionService, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, 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 };
5214
+ export { APIS, ApiModule$1 as ApiModule, ApiQueueService, BASE_PATH$1 as BASE_PATH, COLLECTION_FORMATS$1 as COLLECTION_FORMATS, CloseResult, ComponentType, ComponentWidgetType, Configuration$1 as Configuration, DataChangeKind, IS_ASYNC_PARAM_NAME, LayoutDirection, MessageOptionType, MessageType, SessionAPIS, SessionErrorBehaviour, SessionService, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, 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 };
5013
5215
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map