@mediusinc/mng-commons-audit 3.6.0-rc.3 → 3.7.0-rc.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 (35) hide show
  1. package/esm2022/lib/api/models/entityChange.mjs +5 -4
  2. package/esm2022/lib/api/models/guiEntityModel.mjs +5 -4
  3. package/esm2022/lib/api/models/guiPropertyModel.mjs +5 -4
  4. package/esm2022/lib/api/models/guiPropertyType.mjs +3 -3
  5. package/esm2022/lib/api/models/guiRelationModel.mjs +5 -4
  6. package/esm2022/lib/api/models/revEntityWithChangesDto.mjs +5 -4
  7. package/esm2022/lib/api/models/revEntityWithStateDto.mjs +5 -4
  8. package/esm2022/lib/api/models/revisionType.mjs +3 -3
  9. package/esm2022/lib/api/services/audit-revisions-api.service.mjs +4 -4
  10. package/esm2022/lib/api/services/audit.service.mjs +4 -4
  11. package/esm2022/lib/components/entity-changes-field/entity-changes-field.component.mjs +8 -8
  12. package/esm2022/lib/components/pages/audit/audit.page.component.mjs +3 -3
  13. package/esm2022/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.mjs +15 -16
  14. package/esm2022/lib/components/pages/revisions/audit-revisions.page.component.mjs +33 -23
  15. package/esm2022/lib/models/config.model.mjs +1 -1
  16. package/esm2022/lib/models/entity-revision-change-state.model.mjs +3 -2
  17. package/esm2022/lib/models/entity-revision-changes.model.mjs +3 -2
  18. package/esm2022/lib/models/guiEntityModelWithI18n.model.mjs +3 -2
  19. package/esm2022/lib/models/rev-entity-detailed.model.mjs +3 -2
  20. package/esm2022/lib/models/rev-entity.model.mjs +3 -2
  21. package/esm2022/lib/models/revEntityWithId.model.mjs +5 -4
  22. package/esm2022/lib/utils/audit.util.mjs +28 -21
  23. package/fesm2022/mediusinc-mng-commons-audit.mjs +93 -77
  24. package/fesm2022/mediusinc-mng-commons-audit.mjs.map +1 -1
  25. package/lib/api/models/entityChange.d.ts +3 -3
  26. package/lib/api/models/guiEntityModel.d.ts +3 -3
  27. package/lib/api/models/guiPropertyModel.d.ts +3 -3
  28. package/lib/api/models/guiRelationModel.d.ts +3 -3
  29. package/lib/api/models/revEntityWithChangesDto.d.ts +3 -3
  30. package/lib/api/models/revEntityWithStateDto.d.ts +3 -3
  31. package/lib/components/entity-changes-field/entity-changes-field.component.d.ts +2 -2
  32. package/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.d.ts +7 -7
  33. package/lib/components/pages/revisions/audit-revisions.page.component.d.ts +5 -5
  34. package/lib/utils/audit.util.d.ts +4 -4
  35. package/package.json +8 -8
@@ -1,4 +1,4 @@
1
- import { TypeName, ObjectSerializer, MediusFilterMatchType, AMngBaseApiService, MngConfigurationService, MngInternalError, AMngTableviewRouteComponent, LookupDataProvider, TableviewDescriptor, TableviewDataProvider, MediusQueryResult, ActionEditorDetailsDescriptor, MngDropdownComponent, MngTableviewRouteComponent, AMngFormlyCustomFieldComponent, TableDescriptor, TablePaginationModeEnum, MngTableComponent, EditorDescriptor, TableviewEditorTypeEnum, TableFilterDisplayEnum, MngTableviewComponent, RouteBuilder, TableviewRouteBuilder, RoutesBuilder } from '@mediusinc/mng-commons';
1
+ import { TypeName, TypeRegistry, MediusFilterMatchType, AMngBaseApiService, MngConfigurationService, MngInternalError, AMngTableviewRouteComponent, LookupDataProvider, TableviewDescriptor, MediusQueryResult, TableviewDataProvider, ActionEditorDetailsDescriptor, MngDropdownComponent, MngTableviewRouteComponent, AMngFormlyCustomFieldComponent, TableDescriptor, TablePaginationModeEnum, MngTableComponent, ModelDescriptor, TableviewEditorTypeEnum, EditorDescriptor, TableFilterDisplayEnum, itemIdToDefined, MngTableviewComponent, RouteBuilder, TableviewRouteBuilder, RoutesBuilder } from '@mediusinc/mng-commons';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, Injectable, Component, DestroyRef, signal, Input, Injector, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { map } from 'rxjs/operators';
@@ -6,7 +6,7 @@ import { __decorate } from 'tslib';
6
6
  import { of, shareReplay, combineLatest, throwError, BehaviorSubject } from 'rxjs';
7
7
  import * as i1 from '@angular/router';
8
8
  import { RouterOutlet } from '@angular/router';
9
- import { NgIf, AsyncPipe, NgForOf, JsonPipe } from '@angular/common';
9
+ import { AsyncPipe, JsonPipe } from '@angular/common';
10
10
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
11
  import * as i2 from '@angular/forms';
12
12
  import { FormsModule } from '@angular/forms';
@@ -46,14 +46,14 @@ let MngRevEntityWithStateDto = class MngRevEntityWithStateDto {
46
46
  MngRevEntityWithStateDto = MngRevEntityWithStateDto_1 = __decorate([
47
47
  TypeName('MngRevEntityWithStateDto')
48
48
  ], MngRevEntityWithStateDto);
49
- ObjectSerializer.get().registerType(MngRevEntityWithStateDto);
49
+ TypeRegistry.get().registerType(MngRevEntityWithStateDto);
50
50
 
51
51
  let MngRevEntityWithId = class MngRevEntityWithId extends MngRevEntityWithStateDto {
52
52
  };
53
53
  MngRevEntityWithId = __decorate([
54
54
  TypeName('MngRevEntityWithId')
55
55
  ], MngRevEntityWithId);
56
- ObjectSerializer.get().registerType(MngRevEntityWithId);
56
+ TypeRegistry.get().registerType(MngRevEntityWithId);
57
57
 
58
58
  const MNG_AUDIT_MODULE_CONFIG_IT = new InjectionToken('MngAuditModuleConfig');
59
59
 
@@ -78,7 +78,7 @@ var MngGuiPropertyTypeDto;
78
78
  MngGuiPropertyTypeDto["Enum"] = "ENUM";
79
79
  MngGuiPropertyTypeDto["Wildcard"] = "WILDCARD";
80
80
  })(MngGuiPropertyTypeDto || (MngGuiPropertyTypeDto = {}));
81
- ObjectSerializer.get().registerEnum(MngGuiPropertyTypeDto, 'MngGuiPropertyTypeDto');
81
+ TypeRegistry.get().registerEnum(MngGuiPropertyTypeDto, 'MngGuiPropertyTypeDto');
82
82
 
83
83
  /**
84
84
  * Medius quarkus sampler
@@ -97,7 +97,7 @@ var MngRevisionTypeDto;
97
97
  MngRevisionTypeDto["Mod"] = "MOD";
98
98
  MngRevisionTypeDto["Del"] = "DEL";
99
99
  })(MngRevisionTypeDto || (MngRevisionTypeDto = {}));
100
- ObjectSerializer.get().registerEnum(MngRevisionTypeDto, 'MngRevisionTypeDto');
100
+ TypeRegistry.get().registerEnum(MngRevisionTypeDto, 'MngRevisionTypeDto');
101
101
 
102
102
  let MngEntityRevisionChangeState = class MngEntityRevisionChangeState {
103
103
  };
@@ -137,8 +137,8 @@ class AuditUtil {
137
137
  if (!property.resolvedPropertyName) {
138
138
  continue;
139
139
  }
140
- const columnPrepend = modelType ? `${modelType}.` : '';
141
140
  const isEnum = property.propertyType === MngGuiPropertyTypeDto.Enum;
141
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
142
  let column = null;
143
143
  if (isEnum) {
144
144
  if (!property.possibleEnumValues) {
@@ -146,33 +146,36 @@ class AuditUtil {
146
146
  }
147
147
  const enumType = AuditUtil.findEnumType(property);
148
148
  if (enumType) {
149
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asEnum(enumType);
149
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asEnum(enumType);
150
150
  if (addFilters) {
151
151
  column.withFilterLookupEnum(property.possibleEnumValues);
152
152
  }
153
153
  }
154
154
  else {
155
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName);
155
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName);
156
156
  if (addFilters) {
157
157
  (column?.withFilterLookup()).withLookup(() => of(property.possibleEnumValues ?? []));
158
158
  }
159
159
  }
160
160
  }
161
161
  else if (property.propertyType === MngGuiPropertyTypeDto.Number) {
162
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asNumber();
162
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asNumber();
163
163
  }
164
164
  else if (property.propertyType === MngGuiPropertyTypeDto.Boolean) {
165
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asBoolean();
165
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asBoolean();
166
166
  }
167
167
  else if (property.propertyType === MngGuiPropertyTypeDto.LocalDate) {
168
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asDate('dd. MM yyyy');
168
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy');
169
169
  }
170
170
  else if (property.propertyType === MngGuiPropertyTypeDto.OffsetDateTime) {
171
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');
171
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');
172
172
  }
173
173
  else {
174
174
  // string / wildcard
175
- column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));
175
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));
176
+ }
177
+ if (modelType) {
178
+ column.withGetter((value, item) => item?.[modelType]?.[property.resolvedPropertyName]);
176
179
  }
177
180
  column.withTitle(AuditUtil.getPropertyTitleKey(property, modelType));
178
181
  if (!isEnum && addFilters) {
@@ -202,43 +205,47 @@ class AuditUtil {
202
205
  if (!property.possibleEnumValues) {
203
206
  continue;
204
207
  }
205
- descriptor.addFieldLookupEnum(fieldPrepend + property.resolvedPropertyName, enumType, property.possibleEnumValues).withDisabled();
208
+ descriptor.addFieldLookupEnumUnsafe(fieldPrepend + property.resolvedPropertyName, enumType, property.possibleEnumValues).withDisabled();
206
209
  }
207
210
  else {
208
- descriptor.addField(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));
211
+ descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));
209
212
  }
210
213
  }
211
214
  else if (property.propertyType === MngGuiPropertyTypeDto.Number) {
212
215
  descriptor
213
- .addField(fieldPrepend + property.resolvedPropertyName)
216
+ .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)
214
217
  .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))
215
218
  .asNumber()
216
219
  .withDisabled();
217
220
  }
218
221
  else if (property.propertyType === MngGuiPropertyTypeDto.Boolean) {
219
222
  descriptor
220
- .addField(fieldPrepend + property.resolvedPropertyName)
223
+ .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)
221
224
  .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))
222
225
  .withDisabled();
223
226
  }
224
227
  else if (property.propertyType === MngGuiPropertyTypeDto.LocalDate) {
225
228
  descriptor
226
- .addField(fieldPrepend + property.resolvedPropertyName)
229
+ .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)
227
230
  .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))
228
- .asDatePicker('dd. MMM yyyy')
231
+ .asDatePicker({ format: 'dd. MMM yyyy' })
229
232
  .withDisabled();
230
233
  }
231
234
  else if (property.propertyType === MngGuiPropertyTypeDto.OffsetDateTime) {
232
235
  descriptor
233
- .addField(fieldPrepend + property.resolvedPropertyName)
236
+ .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)
234
237
  .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))
235
- .asDatePicker('dd. MM yy', undefined, undefined, true, false)
238
+ .asDatePicker({
239
+ format: 'dd. MM yy',
240
+ showTime: true,
241
+ showSeconds: false
242
+ })
236
243
  .withDisabled();
237
244
  }
238
245
  else {
239
246
  // string / wildcard
240
247
  descriptor
241
- .addField(fieldPrepend + property.resolvedPropertyName)
248
+ .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)
242
249
  .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))
243
250
  .withDisabled();
244
251
  }
@@ -262,9 +269,9 @@ class AuditUtil {
262
269
  if (!property.enumClassSimpleName) {
263
270
  return undefined;
264
271
  }
265
- let enumType = ObjectSerializer.get().findEnum(property.enumClassSimpleName);
272
+ let enumType = TypeRegistry.get().findEnum(property.enumClassSimpleName);
266
273
  if (!enumType) {
267
- enumType = ObjectSerializer.get().findEnum(property.enumClassSimpleName + 'Dto');
274
+ enumType = TypeRegistry.get().findEnum(property.enumClassSimpleName + 'Dto');
268
275
  }
269
276
  return enumType;
270
277
  }
@@ -433,12 +440,12 @@ class MngAuditRevisionsApiService extends AMngBaseApiService {
433
440
  countRevisionsWithStateForEntityType(queryParams, entityType) {
434
441
  return this.http.get(this.getUrl(`/states/${entityType}/count`, AuditUtil.appendMediusQueryParamsToUrl(queryParams)));
435
442
  }
436
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditRevisionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
437
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditRevisionsApiService }); }
443
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditRevisionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
444
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditRevisionsApiService }); }
438
445
  }
439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditRevisionsApiService, decorators: [{
446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditRevisionsApiService, decorators: [{
440
447
  type: Injectable
441
- }], ctorParameters: function () { return []; } });
448
+ }], ctorParameters: () => [] });
442
449
 
443
450
  var MngGuiEntityModelDto_1;
444
451
  let MngGuiEntityModelDto = class MngGuiEntityModelDto {
@@ -462,7 +469,7 @@ let MngGuiEntityModelDto = class MngGuiEntityModelDto {
462
469
  MngGuiEntityModelDto = MngGuiEntityModelDto_1 = __decorate([
463
470
  TypeName('MngGuiEntityModelDto')
464
471
  ], MngGuiEntityModelDto);
465
- ObjectSerializer.get().registerType(MngGuiEntityModelDto);
472
+ TypeRegistry.get().registerType(MngGuiEntityModelDto);
466
473
 
467
474
  class MngAuditService extends AMngBaseApiService {
468
475
  constructor() {
@@ -495,18 +502,18 @@ class MngAuditService extends AMngBaseApiService {
495
502
  requestAuditModel() {
496
503
  return this.http.get(this.getUrl('/audit-models')).pipe(map(response => this.deserializeClassArray(response, MngGuiEntityModelDto)));
497
504
  }
498
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
499
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditService }); }
505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
506
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditService }); }
500
507
  }
501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditService, decorators: [{
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditService, decorators: [{
502
509
  type: Injectable
503
- }], ctorParameters: function () { return []; } });
510
+ }], ctorParameters: () => [] });
504
511
 
505
512
  class MngAuditPageComponent {
506
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
507
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngAuditPageComponent, isStandalone: true, selector: "mng-audit-page", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: MngAuditPageComponent, isStandalone: true, selector: "mng-audit-page", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
508
515
  }
509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditPageComponent, decorators: [{
516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditPageComponent, decorators: [{
510
517
  type: Component,
511
518
  args: [{ standalone: true, selector: 'mng-audit-page', imports: [RouterOutlet], template: "<router-outlet></router-outlet>\n" }]
512
519
  }] });
@@ -523,9 +530,9 @@ class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent {
523
530
  this.router = router;
524
531
  this.destroyRef = inject(DestroyRef);
525
532
  this.auditService = inject(MngAuditService);
526
- this.revisisonsApiService = inject(MngAuditRevisionsApiService);
533
+ this.revisionsApiService = inject(MngAuditRevisionsApiService);
527
534
  this.showTableview = signal(false);
528
- this.revisionEntitiesLookupProvider = new LookupDataProvider(MngGuiEntityModelWithI18n).withLookup(() => this.auditService.auditModel$.pipe(map(model => {
535
+ this.revisionEntitiesLookupProvider = LookupDataProvider.fromClass(MngGuiEntityModelWithI18n).withLookup(() => this.auditService.auditModel$.pipe(map(model => {
529
536
  const modelI18n = model;
530
537
  modelI18n.sort((m1, m2) => {
531
538
  if (m1.entityName && m2.entityName) {
@@ -575,12 +582,11 @@ class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent {
575
582
  if (!this.revModel || !this.selectedRevisionEntity?.entityName) {
576
583
  throw new MngInternalError('No revision model or revision entity is provided for tableview.');
577
584
  }
578
- const desc = new TableviewDescriptor(MngRevEntityWithId, 'mergedId', undefined, this.selectedRevisionEntity.entityName);
585
+ const desc = TableviewDescriptor.fromClass(MngRevEntityWithId, 'mergedId', undefined, this.selectedRevisionEntity.entityName);
579
586
  AuditUtil.buildDescriptorForEntityRevision(desc, this.revModel, this.selectedRevisionEntity);
580
587
  desc.table.withColumnsResizable();
581
588
  desc.table.withCurrentColumnsReorderable();
582
589
  desc.table.withCurrentColumnsToggleable();
583
- desc.table.withDataKey(`EntityRevisionsPage_${this.selectedRevisionEntity.entityName}`);
584
590
  return desc;
585
591
  }
586
592
  createTableviewDataProvider() {
@@ -588,10 +594,10 @@ class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent {
588
594
  throw new MngInternalError('No revision model or revision entity is provided for tableview.');
589
595
  }
590
596
  const entityName = this.selectedRevisionEntity.entityName;
591
- return new TableviewDataProvider(MngRevEntityWithId).withGetAll(qp => this.selectedRevisionEntity?.entityName
597
+ return TableviewDataProvider.fromClass(MngRevEntityWithId).withGetAll(qp => this.selectedRevisionEntity?.entityName
592
598
  ? combineLatest([
593
- this.revisisonsApiService.countRevisionsWithStateForEntityType(qp, entityName),
594
- this.revisisonsApiService.listRevisionsWithStateForEntityType(qp, entityName)
599
+ this.revisionsApiService.countRevisionsWithStateForEntityType(qp, entityName),
600
+ this.revisionsApiService.listRevisionsWithStateForEntityType(qp, entityName)
595
601
  ]).pipe(map(([count, values]) => {
596
602
  const revEntityWithStateAndIdList = [];
597
603
  for (const revEntityWithState of values) {
@@ -612,7 +618,7 @@ class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent {
612
618
  throw new MngInternalError('No revision model or revision entity is provided for tableview.');
613
619
  }
614
620
  const entityName = this.selectedRevisionEntity.entityName;
615
- const detailsAction = new ActionEditorDetailsDescriptor(this.descriptor.detailsEditor)
621
+ const detailsAction = ActionEditorDetailsDescriptor.create(this.descriptor.detailsEditor)
616
622
  .withFetchFunction(ctx => {
617
623
  if (!entityName) {
618
624
  return throwError(() => new MngInternalError('No revision entity is provided for details.'));
@@ -622,18 +628,18 @@ class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent {
622
628
  }
623
629
  const revId = ctx.parameters.itemId.toString().split('_')[0];
624
630
  const itemId = ctx.parameters.itemId.toString().split('_')[1];
625
- return this.revisisonsApiService.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);
631
+ return this.revisionsApiService.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);
626
632
  })
627
633
  .withEditorTitle('pages.entityRevisions.actions.details.editor.title');
628
634
  return [detailsAction];
629
635
  }
630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditEntityRevisionsPageComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
631
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngAuditEntityRevisionsPageComponent, isStandalone: true, selector: "mng-audit-entity-revisions-page", usesInheritance: true, ngImport: i0, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n [itemsLabelProperty]=\"'entityNameI18n'\"\n [(ngModel)]=\"selectedRevisionEntity\"\n (valueChange)=\"onRevisionEntityChange()\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"></mng-dropdown>\n <small *ngIf=\"!selectedRevisionEntity\" class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n </div>\n</div>\n<div *ngIf=\"showTableview()\">\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n</div>\n", dependencies: [{ kind: "component", type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "component", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: ["descriptor", "dataProvider", "actions"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }] }); }
636
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditEntityRevisionsPageComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
637
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: MngAuditEntityRevisionsPageComponent, isStandalone: true, selector: "mng-audit-entity-revisions-page", usesInheritance: true, ngImport: i0, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [(ngModel)]=\"selectedRevisionEntity\"\n (valueChange)=\"onRevisionEntityChange()\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"></mng-dropdown>\n @if (!selectedRevisionEntity) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview()) {\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n}\n", dependencies: [{ kind: "component", type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "component", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: ["descriptor", "dataProvider", "actions"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }] }); }
632
638
  }
633
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditEntityRevisionsPageComponent, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditEntityRevisionsPageComponent, decorators: [{
634
640
  type: Component,
635
- args: [{ standalone: true, selector: 'mng-audit-entity-revisions-page', imports: [MngDropdownComponent, MngTableviewRouteComponent, FormsModule, AsyncPipe, NgIf, TranslateModule, FormlyModule], template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n [itemsLabelProperty]=\"'entityNameI18n'\"\n [(ngModel)]=\"selectedRevisionEntity\"\n (valueChange)=\"onRevisionEntityChange()\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"></mng-dropdown>\n <small *ngIf=\"!selectedRevisionEntity\" class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n </div>\n</div>\n<div *ngIf=\"showTableview()\">\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n</div>\n" }]
636
- }], ctorParameters: function () { return [{ type: i1.Router }]; } });
641
+ args: [{ standalone: true, selector: 'mng-audit-entity-revisions-page', imports: [MngDropdownComponent, MngTableviewRouteComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule], template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [(ngModel)]=\"selectedRevisionEntity\"\n (valueChange)=\"onRevisionEntityChange()\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"></mng-dropdown>\n @if (!selectedRevisionEntity) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview()) {\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n}\n" }]
642
+ }], ctorParameters: () => [{ type: i1.Router }] });
637
643
 
638
644
  var MngRevEntityWithChangesDto_1;
639
645
  let MngRevEntityWithChangesDto = class MngRevEntityWithChangesDto {
@@ -657,7 +663,7 @@ let MngRevEntityWithChangesDto = class MngRevEntityWithChangesDto {
657
663
  MngRevEntityWithChangesDto = MngRevEntityWithChangesDto_1 = __decorate([
658
664
  TypeName('MngRevEntityWithChangesDto')
659
665
  ], MngRevEntityWithChangesDto);
660
- ObjectSerializer.get().registerType(MngRevEntityWithChangesDto);
666
+ TypeRegistry.get().registerType(MngRevEntityWithChangesDto);
661
667
 
662
668
  let MngRevEntity = class MngRevEntity {
663
669
  };
@@ -707,7 +713,7 @@ class EntityChangesFieldComponent extends AMngFormlyCustomFieldComponent {
707
713
  }
708
714
  }
709
715
  const guiEntityModel = this.auditModel.filter(m => m.entityName === entityChanges.entityType)[0];
710
- const desc = new TableDescriptor(MngEntityRevisionChangeState, undefined, undefined, guiEntityModel.entityName).withClassName('py-2');
716
+ const desc = TableDescriptor.fromClass(MngEntityRevisionChangeState, undefined, undefined, guiEntityModel.entityName).withClassName('py-2');
711
717
  if (guiEntityModel.entityName) {
712
718
  desc.withTitle(guiEntityModel.entityName);
713
719
  }
@@ -724,15 +730,15 @@ class EntityChangesFieldComponent extends AMngFormlyCustomFieldComponent {
724
730
  desc.withPaginationMode(TablePaginationModeEnum.Pagination);
725
731
  desc.withCurrentColumnsReorderable();
726
732
  desc.withCurrentColumnsToggleable();
727
- desc.withDataKey(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);
733
+ desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);
728
734
  return desc;
729
735
  }
730
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EntityChangesFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
731
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: EntityChangesFieldComponent, isStandalone: true, selector: "mng-entity-changes-field", inputs: { injector: "injector" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"modelFetched | async; else loading\">\n <mng-table *ngFor=\"let ec of entityChanges\" [items]=\"ec.items\" [descriptor]=\"createDescriptor(ec)\"></mng-table>\n</div>\n<ng-template #loading>\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n</ng-template>\n", styles: ["::ng-deep tr.audit-row-deleted{background:hsla(3,100%,60%,.1)!important}::ng-deep tr.audit-row-deleted .audit-cell{background:hsla(3,90%,63%,.3)!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:hsla(145,76%,44%,.3)!important}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "actions", "isColumnClickable", "viewContainer", "captionComponent", "columnActionComponent", "columnActionMinWidth", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
736
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EntityChangesFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
737
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: EntityChangesFieldComponent, isStandalone: true, selector: "mng-entity-changes-field", inputs: { injector: "injector" }, usesInheritance: true, ngImport: i0, template: "@if (modelFetched | async) {\n <div>\n @for (ec of entityChanges; track ec) {\n <mng-table [items]=\"ec.items\" [descriptor]=\"createDescriptor(ec)\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"], dependencies: [{ kind: "component", type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "actions", "isColumnClickable", "viewContainer", "captionComponent", "columnActionComponent", "columnActionMinWidth", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
732
738
  }
733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EntityChangesFieldComponent, decorators: [{
739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EntityChangesFieldComponent, decorators: [{
734
740
  type: Component,
735
- args: [{ standalone: true, selector: 'mng-entity-changes-field', imports: [NgForOf, MngTableComponent, NgIf, AsyncPipe], template: "<div *ngIf=\"modelFetched | async; else loading\">\n <mng-table *ngFor=\"let ec of entityChanges\" [items]=\"ec.items\" [descriptor]=\"createDescriptor(ec)\"></mng-table>\n</div>\n<ng-template #loading>\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n</ng-template>\n", styles: ["::ng-deep tr.audit-row-deleted{background:hsla(3,100%,60%,.1)!important}::ng-deep tr.audit-row-deleted .audit-cell{background:hsla(3,90%,63%,.3)!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:hsla(145,76%,44%,.3)!important}\n"] }]
741
+ args: [{ standalone: true, selector: 'mng-entity-changes-field', imports: [MngTableComponent, AsyncPipe], template: "@if (modelFetched | async) {\n <div>\n @for (ec of entityChanges; track ec) {\n <mng-table [items]=\"ec.items\" [descriptor]=\"createDescriptor(ec)\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"] }]
736
742
  }], propDecorators: { injector: [{
737
743
  type: Input
738
744
  }] } });
@@ -758,43 +764,53 @@ class MngAuditRevisionsPageComponent extends AMngTableviewRouteComponent {
758
764
  createTableviewDescriptor() {
759
765
  if (this.revModel) {
760
766
  const idProperty = this.revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];
761
- const desc = new TableviewDescriptor(MngRevEntity, idProperty, undefined, this.revModel.entityName);
762
- const detailsDescriptor = new EditorDescriptor(MngRevEntityWithChangesDto, 'revEntity.' + idProperty, undefined, TableviewEditorTypeEnum.Details);
767
+ const model = ModelDescriptor.fromClass(MngRevEntity);
768
+ if (this.revModel.entityName)
769
+ model.withI18nBase(this.revModel.entityName);
770
+ if (idProperty)
771
+ model.withIdPropertyUnsafe(idProperty);
772
+ const desc = TableviewDescriptor.fromModel(model);
773
+ const detailsDescriptor = EditorDescriptor.fromClass(MngRevEntityWithChangesDto, undefined, undefined, undefined, TableviewEditorTypeEnum.Details);
774
+ detailsDescriptor.model.withIdPropertyUnsafe('revEntity.' + idProperty);
763
775
  if (this.revModel.properties) {
764
776
  AuditUtil.addColumnsFromModel(desc.table, this.revModel.properties);
765
777
  AuditUtil.addFieldsFromModel(detailsDescriptor, this.revModel.properties);
766
778
  }
767
- detailsDescriptor.addField('entityNameChangesMap').asCustomComponent(EntityChangesFieldComponent, ['field-no-label'], { injector: this.injector }).withDisabled();
779
+ detailsDescriptor
780
+ .addField('entityNameChangesMap')
781
+ .asCustomComponent(EntityChangesFieldComponent, {
782
+ fieldWrappers: ['field-no-label'],
783
+ inputs: { injector: this.injector }
784
+ })
785
+ .withDisabled();
768
786
  desc.withDetailsDescriptor(detailsDescriptor); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here
769
787
  desc.table.withFilterDisplay(TableFilterDisplayEnum.Row);
770
788
  return desc;
771
789
  }
772
- return new TableviewDescriptor(MngRevEntity);
790
+ return TableviewDescriptor.fromClass(MngRevEntity);
773
791
  }
774
792
  createTableviewDataProvider() {
775
793
  if (this.revModel) {
776
- return new TableviewDataProvider(MngRevEntity).withGetAll(qp => combineLatest([this.revisisonsApiService.getRevisionCount(qp), this.revisisonsApiService.getRevisionList(qp)]).pipe(map(([count, values]) => MediusQueryResult.fromArray(values, count))));
794
+ return TableviewDataProvider.fromClass(MngRevEntity).withGetAll(qp => combineLatest([this.revisisonsApiService.getRevisionCount(qp), this.revisisonsApiService.getRevisionList(qp)]).pipe(map(([count, values]) => MediusQueryResult.fromArray(values, count))));
777
795
  }
778
- return new TableviewDataProvider(MngRevEntity);
796
+ return TableviewDataProvider.fromClass(MngRevEntity);
779
797
  }
780
798
  createActionDescriptors() {
781
- const detailsAction = new ActionEditorDetailsDescriptor(this.descriptor.detailsEditor).withFetchFunction(ctx => ctx.parameters.itemId
782
- ? this.revisisonsApiService.getAllChangesForRevision(ctx.parameters.itemId).pipe(map(item => {
783
- const revEntityWithChanges = new MngRevEntityDetailed();
784
- revEntityWithChanges.rev = ctx.parameters.itemId;
785
- revEntityWithChanges.revEntity = item.revEntity;
786
- revEntityWithChanges.entityNameChangesMap = item.entityNameChangesMap;
787
- return revEntityWithChanges;
788
- }))
789
- : throwError(() => new MngInternalError('No revision id provided for fetch function')));
799
+ const detailsAction = ActionEditorDetailsDescriptor.create(this.descriptor.detailsEditor).withFetchFunction(ctx => this.revisisonsApiService.getAllChangesForRevision(itemIdToDefined(ctx.parameters.itemId)).pipe(map(item => {
800
+ const revEntityWithChanges = new MngRevEntityDetailed();
801
+ revEntityWithChanges.rev = ctx.parameters.itemId;
802
+ revEntityWithChanges.revEntity = item.revEntity;
803
+ revEntityWithChanges.entityNameChangesMap = item.entityNameChangesMap;
804
+ return revEntityWithChanges;
805
+ })));
790
806
  return [detailsAction];
791
807
  }
792
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditRevisionsPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
793
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngAuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", usesInheritance: true, ngImport: i0, template: "<mng-tableview-route *ngIf=\"showTableview()\" [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
808
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditRevisionsPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
809
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: MngAuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", usesInheritance: true, ngImport: i0, template: "@if (showTableview()) {\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n}\n", dependencies: [{ kind: "component", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
794
810
  }
795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngAuditRevisionsPageComponent, decorators: [{
811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngAuditRevisionsPageComponent, decorators: [{
796
812
  type: Component,
797
- args: [{ standalone: true, selector: 'mng-audit-revisions-page', imports: [NgIf, MngTableviewComponent, AsyncPipe, MngTableviewComponent, RouterOutlet, JsonPipe, MngTableviewRouteComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-tableview-route *ngIf=\"showTableview()\" [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n" }]
813
+ args: [{ standalone: true, selector: 'mng-audit-revisions-page', imports: [MngTableviewComponent, AsyncPipe, MngTableviewComponent, RouterOutlet, JsonPipe, MngTableviewRouteComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showTableview()) {\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n}\n" }]
798
814
  }] });
799
815
 
800
816
  /**