@mediusinc/mng-commons-audit 3.0.0-rc.0 → 3.0.0-rc.3

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 (68) hide show
  1. package/README.md +32 -4
  2. package/assets/i18n/en.json +39 -21
  3. package/assets/i18n/sl.json +41 -14
  4. package/esm2022/lib/api/models/entityChange.mjs +9 -9
  5. package/esm2022/lib/api/models/guiEntityModel.mjs +9 -9
  6. package/esm2022/lib/api/models/guiPropertyModel.mjs +14 -9
  7. package/esm2022/lib/api/models/guiPropertyType.mjs +12 -12
  8. package/esm2022/lib/api/models/guiRelationModel.mjs +9 -9
  9. package/esm2022/lib/api/models/revEntityWithChangesDto.mjs +9 -9
  10. package/esm2022/lib/api/models/revEntityWithStateDto.mjs +9 -9
  11. package/esm2022/lib/api/models/revisionType.mjs +8 -8
  12. package/esm2022/lib/api/services/audit-revisions-api.service.mjs +42 -21
  13. package/esm2022/lib/api/services/audit.service.mjs +45 -0
  14. package/esm2022/lib/audit.routes.mjs +26 -10
  15. package/esm2022/lib/components/entity-changes-field/entity-changes-field.component.mjs +82 -37
  16. package/esm2022/lib/components/pages/audit/audit-page.component.mjs +12 -0
  17. package/esm2022/lib/components/pages/entity-revisions/audit-entity-revisions-page.component.mjs +122 -32
  18. package/esm2022/lib/components/pages/revisions/audit-revisions-page.component.mjs +52 -47
  19. package/esm2022/lib/models/config.model.mjs +2 -0
  20. package/esm2022/lib/models/entity-revision-change-state.model.mjs +8 -0
  21. package/esm2022/lib/models/entity-revision-changes.model.mjs +8 -0
  22. package/esm2022/lib/models/new-filter-match-type.model.mjs +19 -0
  23. package/esm2022/lib/models/rev-entity-detailed.model.mjs +9 -0
  24. package/esm2022/lib/models/rev-entity.model.mjs +8 -0
  25. package/esm2022/lib/models/revEntityWithId.model.mjs +10 -0
  26. package/esm2022/lib/service/module-config.token.mjs +3 -0
  27. package/esm2022/lib/utils/audit.util.mjs +214 -0
  28. package/fesm2022/mediusinc-mng-commons-audit.mjs +682 -490
  29. package/fesm2022/mediusinc-mng-commons-audit.mjs.map +1 -1
  30. package/lib/api/models/entityChange.d.ts +3 -3
  31. package/lib/api/models/guiEntityModel.d.ts +3 -3
  32. package/lib/api/models/guiPropertyModel.d.ts +6 -5
  33. package/lib/api/models/guiPropertyType.d.ts +1 -1
  34. package/lib/api/models/guiRelationModel.d.ts +1 -1
  35. package/lib/api/models/revEntityWithChangesDto.d.ts +3 -3
  36. package/lib/api/models/revEntityWithStateDto.d.ts +3 -3
  37. package/lib/api/models/revisionType.d.ts +1 -1
  38. package/lib/api/services/audit-revisions-api.service.d.ts +18 -11
  39. package/lib/api/services/audit.service.d.ts +20 -0
  40. package/lib/audit.routes.d.ts +3 -2
  41. package/lib/components/entity-changes-field/entity-changes-field.component.d.ts +14 -8
  42. package/lib/components/pages/audit/audit-page.component.d.ts +5 -0
  43. package/lib/components/pages/entity-revisions/audit-entity-revisions-page.component.d.ts +22 -12
  44. package/lib/components/pages/revisions/audit-revisions-page.component.d.ts +13 -9
  45. package/lib/models/config.model.d.ts +4 -0
  46. package/lib/models/entity-revision-change-state.model.d.ts +6 -0
  47. package/lib/models/entity-revision-changes.model.d.ts +5 -0
  48. package/lib/models/new-filter-match-type.model.d.ts +17 -0
  49. package/lib/models/rev-entity-detailed.model.d.ts +10 -0
  50. package/lib/models/rev-entity.model.d.ts +6 -0
  51. package/lib/models/revEntityWithId.model.d.ts +4 -0
  52. package/lib/service/module-config.token.d.ts +3 -0
  53. package/lib/utils/audit.util.d.ts +13 -0
  54. package/package.json +2 -3
  55. package/esm2022/lib/api/models/index.mjs +0 -12
  56. package/esm2022/lib/api/models/revEntityChangeDto.mjs +0 -52
  57. package/esm2022/lib/api/models/revEntityDto.mjs +0 -42
  58. package/esm2022/lib/api/models/revisionTypeEnumDto.mjs +0 -20
  59. package/esm2022/lib/api/services/audit-entity-revisions-api.service.mjs +0 -47
  60. package/esm2022/lib/components/pages/entity-revisions/entity-dropdown-page.component.mjs +0 -32
  61. package/esm2022/lib/models/entity-changes.model.mjs +0 -8
  62. package/lib/api/models/index.d.ts +0 -11
  63. package/lib/api/models/revEntityChangeDto.d.ts +0 -25
  64. package/lib/api/models/revEntityDto.d.ts +0 -20
  65. package/lib/api/models/revisionTypeEnumDto.d.ts +0 -5
  66. package/lib/api/services/audit-entity-revisions-api.service.d.ts +0 -14
  67. package/lib/components/pages/entity-revisions/entity-dropdown-page.component.d.ts +0 -12
  68. package/lib/models/entity-changes.model.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-audit.mjs","sources":["../../src/lib/api/services/audit-entity-revisions-api.service.ts","../../src/lib/components/pages/entity-revisions/entity-dropdown-page.component.ts","../../src/lib/components/pages/entity-revisions/entity-dropdown-page.component.html","../../src/lib/components/pages/entity-revisions/audit-entity-revisions-page.component.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions-page.component.html","../../src/lib/api/models/entityChange.ts","../../src/lib/api/models/guiEntityModel.ts","../../src/lib/api/models/guiPropertyModel.ts","../../src/lib/api/models/guiPropertyType.ts","../../src/lib/api/models/guiRelationModel.ts","../../src/lib/api/models/revEntityChangeDto.ts","../../src/lib/api/models/revEntityDto.ts","../../src/lib/api/models/revEntityWithChangesDto.ts","../../src/lib/api/models/revEntityWithStateDto.ts","../../src/lib/api/models/revisionType.ts","../../src/lib/api/models/revisionTypeEnumDto.ts","../../src/lib/api/services/audit-revisions-api.service.ts","../../src/lib/components/pages/revisions/audit-revisions-page.component.ts","../../src/lib/components/pages/revisions/audit-revisions-page.component.html","../../src/lib/audit.routes.ts","../../src/lib/models/entity-changes.model.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.html","../../src/mediusinc-mng-commons-audit.ts"],"sourcesContent":["import {HttpParams} from '@angular/common/http';\nimport {Injectable, inject} from '@angular/core';\n\nimport {Observable, map} from 'rxjs';\n\nimport {AMngGetAllApiService, ClassType, MediusQueryParam, MngConfigurationService} from '@mediusinc/mng-commons';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MngAuditEntityRevisionsApiService extends AMngGetAllApiService<unknown, any> {\n protected configService = inject(MngConfigurationService);\n\n constructor() {\n super({} as ClassType<any>, {} as ClassType<any>);\n }\n\n public getModels(): Observable<string[]> {\n const url = this.getUrl('/model');\n return this.http.get<string[]>(url);\n }\n\n public getAllRevisionsForEntity(revisionEntity: string, queryParamBody?: MediusQueryParam, params?: HttpParams, locale?: string): Observable<any> {\n const url = this.getUrl(revisionEntity, this.getGetAllPostPath());\n if (params && locale) {\n params = params.set('lang', locale);\n } else if (locale) {\n params = new HttpParams().set('lang', locale);\n }\n return this.http\n .post(url, queryParamBody ? this.serializeQueryParam(queryParamBody) : undefined, {\n withCredentials: true,\n observe: 'body',\n reportProgress: false,\n params: params\n })\n .pipe(map(res => this.deserializeQueryResult(res, this.queryResultType)));\n }\n\n protected getServiceBasePath(): string | null {\n return 'revision/entity';\n }\n\n protected getBasePath(): string {\n return this.configService.getConfigValue('coreBasePath');\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {ActivatedRoute, Router, RouterOutlet} from '@angular/router';\n\nimport {MngDropdownComponent} from '@mediusinc/mng-commons';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-dropdown-component',\n templateUrl: 'entity-dropdown-page.component.html',\n imports: [MngDropdownComponent, RouterOutlet, FormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntityDropdownPageComponent {\n public selectedRevisionEntity!: string;\n\n // public revisionEntitiesLookupProvider?: LookupDataProvider<string, MngAuditEntityRevisionsApiService>;\n public revisionEntitiesLookupProvider?: any;\n\n constructor(private router: Router, private route: ActivatedRoute) {\n // this.revisionEntitiesLookupProvider = new LookupDataProvider<string, MngAuditEntityRevisionsApiService>(\n // {} as ClassType<string>,\n // MngAuditEntityRevisionsApiService\n // ).withLookup((qp, service) => (service as MngAuditEntityRevisionsApiService).getModels());\n }\n\n public onRevisionEntityChange() {\n if (this.selectedRevisionEntity) {\n this.router.navigate([this.selectedRevisionEntity], {relativeTo: this.route});\n } else {\n this.router.navigate(['/audit/entity-revisions']);\n }\n }\n}\n","<div class=\"card\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [(ngModel)]=\"selectedRevisionEntity\"\n (valueChange)=\"onRevisionEntityChange()\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"></mng-dropdown>\n</div>\n<router-outlet></router-outlet>\n","import {Component} from '@angular/core';\n\nimport {map} from 'rxjs/operators';\n\nimport {\n AMngTableviewRouteComponent,\n ActionDataProviderUtil,\n ActionDescriptor,\n DynamicTableviewDataProvider,\n ITableviewDataProvider,\n MediusFilterMatchType,\n MediusQueryParamBuilder,\n MngTableviewComponent,\n TablePaginationModeEnum,\n TableviewDescriptor,\n TableviewDynamicDescriptor\n} from '@mediusinc/mng-commons';\n\nimport {MngAuditEntityRevisionsApiService} from '../../../api/services/audit-entity-revisions-api.service';\nimport {EntityDropdownPageComponent} from './entity-dropdown-page.component';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-revisions-page',\n templateUrl: 'audit-entity-revisions-page.component.html',\n imports: [MngTableviewComponent]\n})\nexport class AuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent<unknown, MngAuditEntityRevisionsApiService> {\n constructor(private dropdownPage: EntityDropdownPageComponent, private mngAuditEntityRevisionsApiService: MngAuditEntityRevisionsApiService) {\n super();\n this.dropdownPage.selectedRevisionEntity = this.route.snapshot.params['entityClass'];\n }\n\n protected override createTableviewDataProvider(): ITableviewDataProvider<unknown, MngAuditEntityRevisionsApiService> {\n return new DynamicTableviewDataProvider().withGetAll(qp => this.mngAuditEntityRevisionsApiService.getAllRevisionsForEntity(this.dropdownPage.selectedRevisionEntity, qp));\n }\n\n protected override createTableviewDescriptor(): TableviewDescriptor<unknown> {\n const descriptor = new TableviewDynamicDescriptor('rev', 'rev', this.dropdownPage.selectedRevisionEntity);\n descriptor.table.withDefaultSort('rev').withColumnsExcluded(['revDate']).withPaginationMode(TablePaginationModeEnum.Pagination);\n return descriptor;\n }\n\n protected override createActionDescriptors(): Array<ActionDescriptor<unknown>> {\n return [\n this.createActionDescriptorForDetails()!\n .withFetchFunction(ctx => {\n const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();\n queryParamBuilder.withFilter('rev', ctx.parameters.itemId, ctx.parameters.itemId, MediusFilterMatchType.Equals);\n ctx.parameters.withQueryParam(queryParamBuilder.build());\n return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => (res.pageData ? res.pageData[0] : {})));\n })\n .withEditorTitle('entityRevisionDetails.title', {revEntity: this.dropdownPage.selectedRevisionEntity})\n ];\n }\n}\n","<mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {RevisionType} from './revisionType';\n\n@TypeName('EntityChange')\nexport class EntityChange {\n revType?: RevisionType;\n entityOldState?: {[key: string]: any};\n entityNewState?: {[key: string]: any};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'revType',\n baseName: 'revType',\n type: 'RevisionType'\n },\n {\n name: 'entityOldState',\n baseName: 'entityOldState',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'entityNewState',\n baseName: 'entityNewState',\n type: '{ [key: string]: any; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return EntityChange.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(EntityChange);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {GuiPropertyModel} from './guiPropertyModel';\n\n@TypeName('GuiEntityModel')\nexport class GuiEntityModel {\n entityName?: string;\n properties?: Array<GuiPropertyModel>;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'entityName',\n baseName: 'entityName',\n type: 'string'\n },\n {\n name: 'properties',\n baseName: 'properties',\n type: 'Array<GuiPropertyModel>'\n }\n ];\n\n public static getAttributeTypeMap() {\n return GuiEntityModel.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(GuiEntityModel);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {GuiPropertyType} from './guiPropertyType';\nimport {GuiRelationModel} from './guiRelationModel';\n\n@TypeName('GuiPropertyModel')\nexport class GuiPropertyModel {\n propertyName?: string;\n resolvedPropertyName?: string;\n possibleEnumValues?: Array<string>;\n isId?: boolean;\n propertyType?: GuiPropertyType;\n relationModel?: GuiRelationModel;\n id?: boolean;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'propertyName',\n baseName: 'propertyName',\n type: 'string'\n },\n {\n name: 'resolvedPropertyName',\n baseName: 'resolvedPropertyName',\n type: 'string'\n },\n {\n name: 'possibleEnumValues',\n baseName: 'possibleEnumValues',\n type: 'Array<string>'\n },\n {\n name: 'isId',\n baseName: 'isId',\n type: 'boolean'\n },\n {\n name: 'propertyType',\n baseName: 'propertyType',\n type: 'GuiPropertyType'\n },\n {\n name: 'relationModel',\n baseName: 'relationModel',\n type: 'GuiRelationModel'\n },\n {\n name: 'id',\n baseName: 'id',\n type: 'boolean'\n }\n ];\n\n public static getAttributeTypeMap() {\n return GuiPropertyModel.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(GuiPropertyModel);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ObjectSerializer} from '@mediusinc/mng-commons';\n\nexport enum GuiPropertyType {\n LocalDate = 'LOCAL_DATE',\n OffsetDateTime = 'OFFSET_DATE_TIME',\n String = 'STRING',\n Number = 'NUMBER',\n Boolean = 'BOOLEAN',\n Enum = 'ENUM',\n Wildcard = 'WILDCARD'\n}\n\nObjectSerializer.get().registerEnum(GuiPropertyType, 'GuiPropertyType');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\n@TypeName('GuiRelationModel')\nexport class GuiRelationModel {\n idPropertyName?: string;\n isAudited?: boolean;\n audited?: boolean;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'idPropertyName',\n baseName: 'idPropertyName',\n type: 'string'\n },\n {\n name: 'isAudited',\n baseName: 'isAudited',\n type: 'boolean'\n },\n {\n name: 'audited',\n baseName: 'audited',\n type: 'boolean'\n }\n ];\n\n public static getAttributeTypeMap() {\n return GuiRelationModel.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(GuiRelationModel);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {RevisionTypeEnumDto} from './revisionTypeEnumDto';\n\n@TypeName('RevEntityChangeDto')\nexport class RevEntityChangeDto {\n rev?: number;\n revDate?: Date;\n revUsername?: string;\n revType?: RevisionTypeEnumDto;\n state?: {[key: string]: any};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'rev',\n baseName: 'rev',\n type: 'number'\n },\n {\n name: 'revDate',\n baseName: 'revDate',\n type: 'Date'\n },\n {\n name: 'revUsername',\n baseName: 'revUsername',\n type: 'string'\n },\n {\n name: 'revType',\n baseName: 'revType',\n type: 'RevisionTypeEnumDto'\n },\n {\n name: 'state',\n baseName: 'state',\n type: '{ [key: string]: any; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return RevEntityChangeDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(RevEntityChangeDto);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\n@TypeName('RevEntityDto')\nexport class RevEntityDto {\n rev?: number;\n revDate?: Date;\n revUsername?: string;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'rev',\n baseName: 'rev',\n type: 'number'\n },\n {\n name: 'revDate',\n baseName: 'revDate',\n type: 'Date'\n },\n {\n name: 'revUsername',\n baseName: 'revUsername',\n type: 'string'\n }\n ];\n\n public static getAttributeTypeMap() {\n return RevEntityDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(RevEntityDto);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {EntityChange} from './entityChange';\n\n@TypeName('RevEntityWithChangesDto')\nexport class RevEntityWithChangesDto {\n revEntity?: {[key: string]: any};\n entityNameChangesMap?: {[key: string]: Array<EntityChange>};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'entityNameChangesMap',\n baseName: 'entityNameChangesMap',\n type: '{ [key: string]: Array<EntityChange>; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return RevEntityWithChangesDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(RevEntityWithChangesDto);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {RevisionType} from './revisionType';\n\n@TypeName('RevEntityWithStateDto')\nexport class RevEntityWithStateDto {\n revEntity?: {[key: string]: any};\n revType?: RevisionType;\n entityClassName?: string;\n entityState?: {[key: string]: any};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'revType',\n baseName: 'revType',\n type: 'RevisionType'\n },\n {\n name: 'entityClassName',\n baseName: 'entityClassName',\n type: 'string'\n },\n {\n name: 'entityState',\n baseName: 'entityState',\n type: '{ [key: string]: any; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return RevEntityWithStateDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(RevEntityWithStateDto);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ObjectSerializer} from '@mediusinc/mng-commons';\n\nexport enum RevisionType {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nObjectSerializer.get().registerEnum(RevisionType, 'RevisionType');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ObjectSerializer} from '@mediusinc/mng-commons';\n\nexport enum RevisionTypeEnumDto {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nObjectSerializer.get().registerEnum(RevisionTypeEnumDto, 'RevisionTypeEnumDto');\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable, inject} from '@angular/core';\n\nimport {Observable} from 'rxjs';\n\nimport {IdType, MngConfigurationService} from '@mediusinc/mng-commons';\n\nimport {GuiEntityModel, RevEntityWithChangesDto} from '../models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MngAuditRevisionsApiService {\n protected http = inject(HttpClient);\n protected configService = inject(MngConfigurationService);\n\n public getRevModel(): Observable<GuiEntityModel> {\n return this.http.get<GuiEntityModel>(`${this.configService.getConfigValue('coreBasePath')}/revision/rev-model`);\n }\n\n public getAuditModel(): Observable<GuiEntityModel[]> {\n return this.http.get<GuiEntityModel[]>(`${this.configService.getConfigValue('coreBasePath')}/revision/audit-model`);\n }\n\n public getRevisionList(): Observable<any> {\n return this.http.get(`${this.configService.getConfigValue('coreBasePath')}/revision/list?firstResult=0&maxResults=20`);\n }\n\n public getRevisionCount(): Observable<any> {\n return this.http.get(`${this.configService.getConfigValue('coreBasePath')}/revision/count`);\n }\n\n public getAllChangesForRevision(revId: IdType): Observable<RevEntityWithChangesDto> {\n return this.http.get<RevEntityWithChangesDto>(`${this.configService.getConfigValue('coreBasePath')}/revision/changes/${revId}`);\n }\n}\n","import {AsyncPipe, JsonPipe, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, OnInit, inject} from '@angular/core';\nimport {RouterOutlet} from '@angular/router';\n\nimport {BehaviorSubject, of, switchMap} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {\n AMngTableviewRouteComponent,\n ClassType,\n ITableviewDataProvider,\n MediusQueryResult,\n MngTableviewComponent,\n MngTableviewRouteComponent,\n ObjectSerializer,\n TableviewDataProvider,\n TableviewDescriptor\n} from '@mediusinc/mng-commons';\n\nimport {GuiEntityModel, GuiPropertyType} from '../../../api/models';\nimport {MngAuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-revisions-page',\n templateUrl: './audit-revisions-page.component.html',\n imports: [NgIf, MngTableviewComponent, AsyncPipe, MngTableviewComponent, RouterOutlet, JsonPipe, MngTableviewRouteComponent],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MngAuditRevisionsPageComponent extends AMngTableviewRouteComponent<any, unknown> implements OnInit {\n private revModel!: GuiEntityModel;\n public descriptorCreated = new BehaviorSubject(false);\n\n private auditRevisionApiService = inject(MngAuditRevisionsApiService);\n\n override ngOnInit(): void {\n this.auditRevisionApiService.getRevModel().subscribe({\n next: revModel => {\n this.revModel = revModel;\n this.descriptor = this.createTableviewDescriptor();\n this.dataProvider = this.createTableviewDataProvider();\n this.descriptorCreated.next(true);\n }\n });\n }\n\n protected createTableviewDescriptor(): TableviewDescriptor<unknown> {\n if (this.revModel) {\n const desc = new TableviewDescriptor(ObjectSerializer.get().findType(this.revModel.entityName! + 'Dto'));\n for (const property of this.revModel.properties!) {\n if (property.propertyType === GuiPropertyType.Enum) {\n desc.addColumn(property.resolvedPropertyName!)\n .asEnum(ObjectSerializer.get().findEnum(property.resolvedPropertyName!))\n .withFilterLookupEnum(property.possibleEnumValues);\n } else if (property.propertyType === GuiPropertyType.Number) {\n desc.addColumn(property.resolvedPropertyName!).asNumber();\n } else if (property.propertyType === GuiPropertyType.Boolean) {\n desc.addColumn(property.resolvedPropertyName!).asBoolean();\n } else if (property.propertyType === GuiPropertyType.LocalDate) {\n desc.addColumn(property.resolvedPropertyName!).asDate('dd. MMM yyyy');\n } else if (property.propertyType === GuiPropertyType.OffsetDateTime) {\n desc.addColumn(property.resolvedPropertyName!).asDate('dd. MMM yyyy HH:mm');\n } else {\n // string / wildcard\n desc.addColumn(property.resolvedPropertyName!);\n }\n }\n return desc;\n }\n return new TableviewDescriptor<unknown>({} as ClassType<unknown>);\n }\n\n protected createTableviewDataProvider(): ITableviewDataProvider<unknown, any> {\n if (this.revModel) {\n let allDataCount = 0;\n return new TableviewDataProvider(ObjectSerializer.get().findType(this.revModel.entityName! + 'Dto'), MngAuditRevisionsApiService).withGetAll((qp, service) =>\n service\n ? service.getRevisionCount().pipe(\n switchMap(revisionsCount => {\n allDataCount = revisionsCount;\n return service.getRevisionList();\n }),\n map(values => MediusQueryResult.fromArray(values, allDataCount))\n )\n : of(MediusQueryResult.fromArray([], 0))\n );\n }\n return new TableviewDataProvider({} as ClassType<unknown>);\n }\n}\n","<div *ngIf=\"descriptorCreated | async\">\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n</div>\n","import {RouteBuilder, RoutesBuilder, TableviewRouteBuilder} from '@mediusinc/mng-commons';\n\nimport {AuditEntityRevisionsPageComponent} from './components/pages/entity-revisions/audit-entity-revisions-page.component';\nimport {EntityDropdownPageComponent} from './components/pages/entity-revisions/entity-dropdown-page.component';\nimport {MngAuditRevisionsPageComponent} from './components/pages/revisions/audit-revisions-page.component';\n\nexport const auditRouteBuilder = RoutesBuilder.create()\n .addRouteBuilder(RouteBuilder.createRedirect('', 'revisions', 'full'))\n .addRouteBuilder(\n TableviewRouteBuilder.fromComponent('revisions', MngAuditRevisionsPageComponent).withMenuItem('pi pi-history', 'pages.revisions.title').withTitle('pages.revisions.title')\n )\n .addRouteBuilder(\n RouteBuilder.create('entity-revisions', EntityDropdownPageComponent)\n .withMenuItem('pi pi-history', 'pages.entityRevisions.title')\n .withTitle('pages.entityRevisions.title')\n .addChildBuilder(TableviewRouteBuilder.fromComponent(':entityClass', AuditEntityRevisionsPageComponent))\n );\n","import {TypeName} from '@mediusinc/mng-commons';\n\n@TypeName('EntityChanges')\nexport class EntityChanges {\n entityType?: string;\n items?: any[];\n}\n","import {NgForOf} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\n\nimport {FieldType} from '@ngx-formly/core';\n\nimport {MediusQueryResult, MngFormlyFieldConfig, MngTableComponent, TableviewDynamicDescriptor} from '@mediusinc/mng-commons';\n\nimport {RevisionTypeEnumDto} from '../../api/models';\nimport {EntityChanges} from '../../models/entity-changes.model';\n\n@Component({\n standalone: true,\n selector: 'mng-entity-changes-field',\n imports: [NgForOf, MngTableComponent],\n styleUrls: ['entity-changes-field.component.scss'],\n templateUrl: 'entity-changes-field.component.html'\n})\nexport class EntityChangesFieldComponent extends FieldType<MngFormlyFieldConfig> implements OnInit {\n public entityChanges: EntityChanges[] = [];\n\n ngOnInit(): void {\n for (const key of Object.keys(this.model['entityChanges'])) {\n const ec = new EntityChanges();\n ec.entityType = key;\n ec.items = [];\n for (const change of this.model['entityChanges'][key]) {\n if (change.revType === RevisionTypeEnumDto.Add) {\n ec.items.push({revType: change.revType, ...change.newState, color: 'green'});\n } else if (change.revType === RevisionTypeEnumDto.Del) {\n ec.items.push({revType: change.revType, ...change.oldState, color: 'red'});\n } else {\n ec.items.push({revType: change.revType, ...change.oldState, color: 'red'});\n ec.items.push({revType: change.revType, ...change.newState, color: 'green'});\n }\n }\n this.entityChanges.push(ec);\n }\n }\n\n public createDynamicDescriptor(entityChanges: EntityChanges) {\n const changedFields: string[] = [];\n if (entityChanges.items && entityChanges.items[0].revType === RevisionTypeEnumDto.Mod) {\n for (const key in entityChanges.items[0]) {\n if (entityChanges.items[0][key] !== entityChanges.items[1][key]) {\n changedFields.push(key);\n }\n }\n }\n const tableDescriptor = new TableviewDynamicDescriptor().table\n .withTitle(entityChanges.entityType ?? '')\n .withColumnsExcluded(['color'])\n .toTableDescriptorFromData(MediusQueryResult.fromArray(entityChanges.items ?? []))\n .withRowClassName(undefined, (_, item) => (item.color === 'green' ? 'audit-row-added' : 'audit-row-deleted'));\n tableDescriptor.columns.forEach(col => {\n col.withSort(false);\n if (changedFields.length > 0 && changedFields.some(val => col.property === val)) {\n col.withClassName('audit-cell');\n }\n });\n return tableDescriptor;\n }\n}\n","<mng-table *ngFor=\"let ec of entityChanges\" [items]=\"ec.items\" [descriptor]=\"createDynamicDescriptor(ec)\"></mng-table>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.EntityDropdownPageComponent","i2.MngAuditEntityRevisionsApiService"],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-audit.mjs","sources":["../../src/lib/api/models/revEntityWithStateDto.ts","../../src/lib/models/revEntityWithId.model.ts","../../src/lib/service/module-config.token.ts","../../src/lib/api/models/guiPropertyType.ts","../../src/lib/api/models/revisionType.ts","../../src/lib/models/new-filter-match-type.model.ts","../../src/lib/utils/audit.util.ts","../../src/lib/api/services/audit-revisions-api.service.ts","../../src/lib/api/models/guiEntityModel.ts","../../src/lib/api/services/audit.service.ts","../../src/lib/components/pages/audit/audit-page.component.ts","../../src/lib/components/pages/audit/audit-page.component.html","../../src/lib/components/pages/entity-revisions/audit-entity-revisions-page.component.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions-page.component.html","../../src/lib/api/models/revEntityWithChangesDto.ts","../../src/lib/models/rev-entity.model.ts","../../src/lib/models/rev-entity-detailed.model.ts","../../src/lib/models/entity-revision-change-state.model.ts","../../src/lib/models/entity-revision-changes.model.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.html","../../src/lib/components/pages/revisions/audit-revisions-page.component.ts","../../src/lib/components/pages/revisions/audit-revisions-page.component.html","../../src/lib/audit.routes.ts","../../src/mediusinc-mng-commons-audit.ts"],"sourcesContent":["/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {MngRevisionTypeDto} from './revisionType';\n\n@TypeName('MngRevEntityWithStateDto')\nexport class MngRevEntityWithStateDto {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n revEntity?: {[key: string]: any};\n revType?: MngRevisionTypeDto;\n entityClassName?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n entityState?: {[key: string]: any};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'revType',\n baseName: 'revType',\n type: 'RevisionType'\n },\n {\n name: 'entityClassName',\n baseName: 'entityClassName',\n type: 'string'\n },\n {\n name: 'entityState',\n baseName: 'entityState',\n type: '{ [key: string]: any; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return MngRevEntityWithStateDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(MngRevEntityWithStateDto);\n","import {ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {MngRevEntityWithStateDto} from '../api/models/revEntityWithStateDto';\n\n@TypeName('MngRevEntityWithId')\nexport class MngRevEntityWithId extends MngRevEntityWithStateDto {\n mergedId?: string;\n}\n\nObjectSerializer.get().registerType(MngRevEntityWithId);\n","import {InjectionToken} from '@angular/core';\n\nimport {MngAuditModuleConfig} from '../models/config.model';\n\nexport const MNG_AUDIT_MODULE_CONFIG_IT = new InjectionToken<MngAuditModuleConfig>('MngAuditModuleConfig');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ObjectSerializer} from '@mediusinc/mng-commons';\n\nexport enum MngGuiPropertyTypeDto {\n LocalDate = 'LOCAL_DATE',\n OffsetDateTime = 'OFFSET_DATE_TIME',\n String = 'STRING',\n Number = 'NUMBER',\n Boolean = 'BOOLEAN',\n Enum = 'ENUM',\n Wildcard = 'WILDCARD'\n}\n\nObjectSerializer.get().registerEnum(MngGuiPropertyTypeDto, 'MngGuiPropertyTypeDto');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ObjectSerializer} from '@mediusinc/mng-commons';\n\nexport enum MngRevisionTypeDto {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nObjectSerializer.get().registerEnum(MngRevisionTypeDto, 'MngRevisionTypeDto');\n","export enum NewMediusFilterMatchType {\n Equals = 'eq',\n NotEquals = 'ne',\n Between = 'bt',\n Contains = 'cn',\n NotContains = 'nc',\n StartsWith = 'sw',\n EndsWith = 'ew',\n In = 'in',\n NotIn = 'ni',\n LessThan = 'lt',\n LessThanOrEqualTo = 'le',\n GreaterThan = 'gt',\n GreaterThanOrEqualTo = 'ge',\n Exists = 'ex',\n DoesNotExist = 'nx'\n}\n","import {of} from 'rxjs';\n\nimport {\n ColumnDescriptor,\n EditorDescriptor,\n FilterLookupDescriptor,\n MediusFilterMatchType,\n MediusQueryParam,\n ObjectSerializer,\n TableDescriptor,\n TableviewDescriptor\n} from '@mediusinc/mng-commons';\n\nimport {MngGuiEntityModelDto} from '../api/models/guiEntityModel';\nimport {MngGuiPropertyModelDto} from '../api/models/guiPropertyModel';\nimport {MngGuiPropertyTypeDto} from '../api/models/guiPropertyType';\nimport {MngRevEntityWithStateDto} from '../api/models/revEntityWithStateDto';\nimport {MngRevisionTypeDto} from '../api/models/revisionType';\nimport {NewMediusFilterMatchType} from '../models/new-filter-match-type.model';\n\nexport class AuditUtil {\n public static addColumnsFromModel<T>(\n descriptor: TableDescriptor<T>,\n properties: MngGuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' | undefined = undefined,\n addFilters = true,\n addSorts = true\n ): TableDescriptor<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const columnPrepend = modelType ? `${modelType}.` : '';\n\n const isEnum = property.propertyType === MngGuiPropertyTypeDto.Enum;\n let column: ColumnDescriptor<string, T> | null = null;\n if (isEnum) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n const enumType = AuditUtil.findEnumType(property);\n if (enumType) {\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asEnum(enumType);\n if (addFilters) {\n column.withFilterLookupEnum(property.possibleEnumValues);\n }\n } else {\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName);\n if (addFilters) {\n (column?.withFilterLookup() as FilterLookupDescriptor<string>).withLookup(() => of(property.possibleEnumValues ?? []));\n }\n }\n } else if (property.propertyType === MngGuiPropertyTypeDto.Number) {\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asNumber();\n } else if (property.propertyType === MngGuiPropertyTypeDto.Boolean) {\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asBoolean();\n } else if (property.propertyType === MngGuiPropertyTypeDto.LocalDate) {\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asDate('dd. MM yyyy');\n } else if (property.propertyType === MngGuiPropertyTypeDto.OffsetDateTime) {\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');\n } else {\n // string / wildcard\n column = descriptor.addColumn(columnPrepend + property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n\n column.withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n\n if (!isEnum && addFilters) {\n column?.withFilter();\n }\n if (addSorts) {\n column?.withSort();\n }\n }\n return descriptor;\n }\n\n public static getPropertyTitleKey(property: MngGuiPropertyModelDto, modelType: 'revEntity' | 'entityState' | undefined = undefined) {\n if (modelType === 'revEntity') {\n return 'MngRevEntity.properties.' + property.resolvedPropertyName;\n }\n return property.resolvedPropertyName ?? '';\n }\n\n public static addFieldsFromModel<T>(\n descriptor: EditorDescriptor<T>,\n properties: MngGuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' = 'revEntity'\n ): EditorDescriptor<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const fieldPrepend = `${modelType}.`;\n\n if (property.propertyType === MngGuiPropertyTypeDto.Enum) {\n const enumType = AuditUtil.findEnumType(property);\n if (enumType) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n descriptor.addFieldLookupEnum(fieldPrepend + property.resolvedPropertyName, enumType, property.possibleEnumValues).withDisabled();\n } else {\n descriptor.addField(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n } else if (property.propertyType === MngGuiPropertyTypeDto.Number) {\n descriptor\n .addField(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asNumber()\n .withDisabled();\n } else if (property.propertyType === MngGuiPropertyTypeDto.Boolean) {\n descriptor\n .addField(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n } else if (property.propertyType === MngGuiPropertyTypeDto.LocalDate) {\n descriptor\n .addField(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker('dd. MMM yyyy')\n .withDisabled();\n } else if (property.propertyType === MngGuiPropertyTypeDto.OffsetDateTime) {\n descriptor\n .addField(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker('dd. MM yy', undefined, undefined, true, false)\n .withDisabled();\n } else {\n // string / wildcard\n descriptor\n .addField(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n }\n }\n return descriptor;\n }\n\n public static buildDescriptorForEntityRevision(\n descriptor: TableviewDescriptor<MngRevEntityWithStateDto>,\n revModel: MngGuiEntityModelDto,\n entityModel: MngGuiEntityModelDto\n ): TableviewDescriptor<MngRevEntityWithStateDto> {\n descriptor.addColumn('revType').withTitle('MngEntityRevisionChangeState.properties.revType').asEnum(MngRevisionTypeDto).withFilter();\n descriptor.addFieldLookupEnum('revType', MngRevisionTypeDto).withLabel('MngEntityRevisionChangeState.properties.revType');\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, revModel.properties, 'revEntity');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, revModel.properties, 'revEntity');\n }\n if (entityModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, entityModel.properties, 'entityState');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, entityModel.properties, 'entityState');\n }\n\n return descriptor;\n }\n\n private static findEnumType(property: MngGuiPropertyModelDto) {\n if (!property.enumClassSimpleName) {\n return undefined;\n }\n\n let enumType = ObjectSerializer.get().findEnum(property.enumClassSimpleName);\n if (!enumType) {\n enumType = ObjectSerializer.get().findEnum(property.enumClassSimpleName + 'Dto');\n }\n return enumType;\n }\n\n private static extractPropertyName(fullPropertyName: string | undefined): string | undefined {\n if (fullPropertyName?.includes('entityState.')) {\n return fullPropertyName.replace('entityState.', '');\n } else if (fullPropertyName?.includes('revEntity.')) {\n return fullPropertyName?.replace('revEntity.', '');\n }\n return fullPropertyName;\n }\n\n public static appendMediusQueryParamsToUrl(queryParams: MediusQueryParam): string {\n let url = `?firstResult=${queryParams.itemsOffset}&maxResults=${queryParams.itemsPerPage}`;\n if (queryParams.sortProperty && queryParams.sortProperty.length > 0) {\n url += '&sorts=';\n const sortingQPs = [];\n for (let i = 0; i < queryParams.sortProperty.length; i++) {\n sortingQPs.push(`${queryParams.sortAsc?.[i] ?? true ? 'asc' : 'desc'}:${this.extractPropertyName(queryParams.sortProperty[i])}`);\n }\n url += sortingQPs.join(',');\n }\n if (queryParams.filterParams && queryParams.filterParams.length > 0) {\n const filterQPs = [];\n for (const mfp of queryParams.filterParams) {\n switch (mfp.filterMatchType) {\n case MediusFilterMatchType.Equals: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Equals}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.NotEquals: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.NotEquals}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.FromTo: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Between}:${mfp.filterValue},${mfp.filterValueTo}`);\n break;\n }\n case MediusFilterMatchType.Contains: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Contains}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.StartsWith: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.StartsWith}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.EndsWith: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.EndsWith}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.In: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.In}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.NotIn: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.NotIn}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.SmallerThan: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.LessThan}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.GreaterThan: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.GreaterThan}:${mfp.filterValue}`);\n break;\n }\n }\n }\n url += '&';\n url += filterQPs.join('&');\n }\n return url;\n }\n}\n","import {Injectable, inject} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {AMngBaseApiService, IdType, MediusQueryParam, MngConfigurationService, MngErrorInternal} from '@mediusinc/mng-commons';\n\nimport {MngRevEntityWithId} from '../../models/revEntityWithId.model';\nimport {MNG_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\nimport {AuditUtil} from '../../utils/audit.util';\nimport {MngRevEntityWithChangesDto} from '../models/revEntityWithChangesDto';\nimport {MngRevEntityWithStateDto} from '../models/revEntityWithStateDto';\n\n@Injectable()\nexport class MngAuditRevisionsApiService extends AMngBaseApiService {\n protected readonly configService: MngConfigurationService;\n\n protected readonly moduleConfig = inject(MNG_AUDIT_MODULE_CONFIG_IT);\n\n constructor() {\n super();\n this.configService = MngConfigurationService.get();\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n public getRevisionList(queryParams: MediusQueryParam): Observable<Array<{[key: string]: unknown}>> {\n return this.http.get<Array<{[key: string]: unknown}>>(this.getUrl(AuditUtil.appendMediusQueryParamsToUrl(queryParams)));\n }\n\n public getRevisionCount(queryParams: MediusQueryParam): Observable<number> {\n return this.http.get<number>(this.getUrl('/count', AuditUtil.appendMediusQueryParamsToUrl(queryParams)));\n }\n\n public getAllChangesForRevision(revId: IdType): Observable<MngRevEntityWithChangesDto> {\n return this.http.get(this.getUrl(`/changes/${revId}`));\n }\n\n public listRevisionsWithStateForEntityType(queryParams: MediusQueryParam, entityType: string): Observable<Array<MngRevEntityWithStateDto>> {\n return this.http\n .get(this.getUrl(`/states/${entityType}`, AuditUtil.appendMediusQueryParamsToUrl(queryParams)))\n .pipe(map(response => this.deserializeClassArray(response, MngRevEntityWithStateDto)));\n }\n\n public fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<MngRevEntityWithId> {\n return this.http.get(this.getUrl(`/states/${entityType}?rev=eq:${revId}&id=eq:${itemId}`)).pipe(\n map(response =>\n this.deserializeClassArray(response, MngRevEntityWithId).map(i => {\n i.mergedId = i.revEntity?.['rev'] + '_' + i.entityState?.['id'];\n return i;\n })\n ),\n map(items => {\n if (items.length > 0) {\n return items[0];\n }\n throw new MngErrorInternal(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);\n })\n );\n }\n\n public countRevisionsWithStateForEntityType(queryParams: MediusQueryParam, entityType: string): Observable<number> {\n return this.http.get<number>(this.getUrl(`/states/${entityType}/count`, AuditUtil.appendMediusQueryParamsToUrl(queryParams)));\n }\n}\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {MngGuiPropertyModelDto} from './guiPropertyModel';\n\n@TypeName('MngGuiEntityModelDto')\nexport class MngGuiEntityModelDto {\n entityName?: string;\n properties?: Array<MngGuiPropertyModelDto>;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'entityName',\n baseName: 'entityName',\n type: 'string'\n },\n {\n name: 'properties',\n baseName: 'properties',\n type: 'Array<GuiPropertyModel>'\n }\n ];\n\n public static getAttributeTypeMap() {\n return MngGuiEntityModelDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(MngGuiEntityModelDto);\n","import {Injectable, inject} from '@angular/core';\n\nimport {Observable, shareReplay} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {AMngBaseApiService, MngConfigurationService} from '@mediusinc/mng-commons';\n\nimport {MNG_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\nimport {MngGuiEntityModelDto} from '../models/guiEntityModel';\n\n@Injectable()\nexport class MngAuditService extends AMngBaseApiService {\n private readonly CACHE_SIZE = 1;\n private readonly configService: MngConfigurationService;\n private readonly moduleConfig = inject(MNG_AUDIT_MODULE_CONFIG_IT);\n\n private revModelObs?: Observable<MngGuiEntityModelDto>;\n private auditModelObs?: Observable<Array<MngGuiEntityModelDto>>;\n\n constructor() {\n super();\n this.configService = MngConfigurationService.get();\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n public get revModel$() {\n if (!this.revModelObs) {\n this.revModelObs = this.requestRevModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.revModelObs;\n }\n\n public get auditModel$() {\n if (!this.auditModelObs) {\n this.auditModelObs = this.requestAuditModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.auditModelObs;\n }\n\n private requestRevModel(): Observable<MngGuiEntityModelDto> {\n return this.http.get(this.getUrl('/rev-model'));\n }\n\n private requestAuditModel(): Observable<Array<MngGuiEntityModelDto>> {\n return this.http.get(this.getUrl('/audit-models')).pipe(map(response => this.deserializeClassArray(response, MngGuiEntityModelDto)));\n }\n}\n","import {Component} from '@angular/core';\nimport {RouterOutlet} from '@angular/router';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-page',\n imports: [RouterOutlet],\n templateUrl: 'audit-page.component.html'\n})\nexport class MngAuditPageComponent {}\n","<router-outlet></router-outlet>\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {Component, DestroyRef, OnInit, WritableSignal, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {Router} from '@angular/router';\n\nimport {FormlyModule} from '@ngx-formly/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {combineLatest, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {\n AMngTableviewRouteComponent,\n ActionDataProviderUtil,\n ActionDescriptor,\n ActionEditorDescriptor,\n ActionEditorSubmitDescriptor,\n ActionEditorSubmitTypeEnum,\n ActionPositionEnum,\n LookupDataProvider,\n MediusQueryResult,\n MngDropdownComponent,\n MngErrorInternal,\n MngTableviewRouteComponent,\n TableviewActionDefaultCategories,\n TableviewDataProvider,\n TableviewDescriptor\n} from '@mediusinc/mng-commons';\n\nimport {MngGuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {MngAuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {MngAuditService} from '../../../api/services/audit.service';\nimport {MngRevEntityWithId} from '../../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-revisions-page',\n imports: [MngDropdownComponent, MngTableviewRouteComponent, FormsModule, AsyncPipe, NgIf, TranslateModule, FormlyModule],\n templateUrl: 'audit-entity-revisions-page.component.html'\n})\nexport class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent<MngRevEntityWithId, unknown> implements OnInit {\n private destroyRef = inject(DestroyRef);\n private auditService = inject(MngAuditService);\n private revisisonsApiService = inject(MngAuditRevisionsApiService);\n\n public revModel?: MngGuiEntityModelDto;\n public selectedRevisionEntity?: MngGuiEntityModelDto;\n public revisionEntitiesLookupProvider?: LookupDataProvider<MngGuiEntityModelDto, never>;\n\n public showTableview: WritableSignal<boolean> = signal(false);\n\n constructor(private router: Router) {\n super();\n this.revisionEntitiesLookupProvider = new LookupDataProvider<MngGuiEntityModelDto, never>(MngGuiEntityModelDto).withLookup(() =>\n this.auditService.auditModel$.pipe(\n map(model =>\n model.sort((m1, m2) => {\n if (m1.entityName && m2.entityName) {\n return m1.entityName.localeCompare(m2.entityName);\n } else if (m1.entityName && !m2.entityName) {\n return 1;\n } else {\n return -1;\n }\n })\n )\n )\n );\n }\n\n override ngOnInit() {\n this.route.paramMap.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(params => {\n const entityClass = params.get('entityClass');\n if (entityClass) {\n combineLatest([this.auditService.auditModel$, this.auditService.revModel$]).subscribe(([entities, revModel]) => {\n this.revModel = revModel;\n\n for (const e of entities) {\n if (e.entityName === entityClass) {\n this.selectedRevisionEntity = e;\n super.ngOnInit();\n setTimeout(() => this.showTableview.set(true));\n }\n }\n });\n }\n });\n }\n\n public onRevisionEntityChange() {\n this.showTableview.set(false);\n if (this.selectedRevisionEntity) {\n this.router.navigate(['/audit/entity-revisions/' + this.selectedRevisionEntity.entityName]);\n } else {\n this.router.navigate(['/audit/entity-revisions/']);\n }\n }\n\n protected createTableviewDescriptor() {\n if (!this.revModel || !this.selectedRevisionEntity?.entityName) {\n throw new MngErrorInternal('No revision model or revision entity is provided for tableview.');\n }\n\n const desc = new TableviewDescriptor(MngRevEntityWithId, 'mergedId', undefined, this.selectedRevisionEntity.entityName);\n\n AuditUtil.buildDescriptorForEntityRevision(desc, this.revModel, this.selectedRevisionEntity);\n\n desc.table.withColumnsResizable();\n desc.table.withCurrentColumnsReorderable();\n desc.table.withCurrentColumnsToggleable();\n desc.table.withDataKey(`EntityRevisionsPage_${this.selectedRevisionEntity.entityName}`);\n\n return desc;\n }\n\n protected createTableviewDataProvider() {\n if (!this.revModel || !this.selectedRevisionEntity?.entityName) {\n throw new MngErrorInternal('No revision model or revision entity is provided for tableview.');\n }\n\n const entityName = this.selectedRevisionEntity.entityName;\n return new TableviewDataProvider(MngRevEntityWithId).withGetAll(qp =>\n this.selectedRevisionEntity?.entityName\n ? combineLatest([\n this.revisisonsApiService.countRevisionsWithStateForEntityType(qp, entityName),\n this.revisisonsApiService.listRevisionsWithStateForEntityType(qp, entityName)\n ]).pipe(\n map(([count, values]) => {\n const revEntityWithStateAndIdList = [];\n for (const revEntityWithState of values) {\n const revEntityWithStateAndId = new MngRevEntityWithId();\n revEntityWithStateAndId.mergedId = revEntityWithState.revEntity?.['rev'] + '_' + revEntityWithState.entityState?.['id'];\n revEntityWithStateAndId.revType = revEntityWithState.revType;\n revEntityWithStateAndId.revEntity = revEntityWithState.revEntity;\n revEntityWithStateAndId.entityState = revEntityWithState.entityState;\n revEntityWithStateAndId.entityClassName = revEntityWithState.entityClassName;\n revEntityWithStateAndIdList.push(revEntityWithStateAndId);\n }\n return MediusQueryResult.fromArray(revEntityWithStateAndIdList, count);\n })\n )\n : throwError(() => new MngErrorInternal('No revision entity is provided for list.'))\n );\n }\n\n public override createActionDescriptors(): Array<ActionDescriptor<MngRevEntityWithId>> {\n if (!this.revModel || !this.selectedRevisionEntity?.entityName) {\n throw new MngErrorInternal('No revision model or revision entity is provided for tableview.');\n }\n\n const entityName = this.selectedRevisionEntity.entityName;\n const detailsAction = new ActionEditorDescriptor(this.descriptor.detailsEditor, 'entity-revision-details')\n .withPosition(ActionPositionEnum.RowClick)\n .withRouteTrigger(':itemId')\n .withFetchFunction(ActionDataProviderUtil.runFetchOrFail)\n .withTableviewCategory(TableviewActionDefaultCategories.DETAILS)\n .withFetchFunction(ctx => {\n if (!entityName) {\n return throwError(() => new MngErrorInternal('No revision entity is provided for details.'));\n }\n if (!ctx.parameters.itemId) {\n return throwError(() => new MngErrorInternal('No item id for revision entity details is provided.'));\n }\n const revId = ctx.parameters.itemId.toString().split('_')[0];\n const itemId = ctx.parameters.itemId.toString().split('_')[1];\n return this.revisisonsApiService.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);\n });\n detailsAction.withEditorActions([new ActionEditorSubmitDescriptor(detailsAction, ActionEditorSubmitTypeEnum.Cancel)]);\n return [detailsAction];\n }\n}\n","<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n [itemsLabelProperty]=\"'entityName'\"\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","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {AttributeDef, ObjectSerializer, TypeName} from '@mediusinc/mng-commons';\n\nimport {MngEntityChangeDto} from './entityChange';\n\n@TypeName('MngRevEntityWithChangesDto')\nexport class MngRevEntityWithChangesDto {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n revEntity?: {[key: string]: any};\n entityNameChangesMap?: {[key: string]: Array<MngEntityChangeDto>};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<AttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'entityNameChangesMap',\n baseName: 'entityNameChangesMap',\n type: '{ [key: string]: Array<EntityChange>; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return MngRevEntityWithChangesDto.attributeTypeMap;\n }\n}\n\nObjectSerializer.get().registerType(MngRevEntityWithChangesDto);\n","import {IdType, TypeName} from '@mediusinc/mng-commons';\n\n@TypeName('MngRevEntity')\nexport class MngRevEntity {\n rev?: IdType; // usually a number\n revUsername?: string;\n timestamp?: Date;\n}\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngEntityChangeDto} from '../api/models/entityChange';\nimport {MngRevEntity} from './rev-entity.model';\n\n@TypeName('MngRevEntityDetailed')\nexport class MngRevEntityDetailed extends MngRevEntity {\n revEntity?: {[key: string]: unknown};\n entityNameChangesMap?: {[key: string]: Array<MngEntityChangeDto>};\n}\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngRevisionTypeDto} from '../api/models/revisionType';\n\n@TypeName('MngEntityRevisionChangeState')\nexport class MngEntityRevisionChangeState {\n revType?: MngRevisionTypeDto;\n color?: 'green' | 'red';\n [key: string]: unknown;\n}\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngEntityRevisionChangeState} from './entity-revision-change-state.model';\n\n@TypeName('MngEntityChanges')\nexport class MngEntityRevisionChanges {\n entityType?: string;\n items?: MngEntityRevisionChangeState[];\n}\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport {Component, DestroyRef, inject, Injector, Input, OnInit} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {AMngFormlyCustomFieldComponent, MngTableComponent, TableDescriptor, TablePaginationModeEnum} from '@mediusinc/mng-commons';\n\nimport {BehaviorSubject} from 'rxjs';\n\nimport {MngEntityChangeDto} from '../../api/models/entityChange';\nimport {MngGuiEntityModelDto} from '../../api/models/guiEntityModel';\nimport {MngRevisionTypeDto} from '../../api/models/revisionType';\nimport {MngAuditService} from '../../api/services/audit.service';\nimport {MngEntityRevisionChangeState} from '../../models/entity-revision-change-state.model';\nimport {MngEntityRevisionChanges} from '../../models/entity-revision-changes.model';\nimport {AuditUtil} from '../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-entity-changes-field',\n imports: [NgForOf, MngTableComponent, NgIf, AsyncPipe],\n styleUrls: ['entity-changes-field.component.scss'],\n templateUrl: 'entity-changes-field.component.html'\n})\nexport class EntityChangesFieldComponent extends AMngFormlyCustomFieldComponent implements OnInit {\n @Input() public injector?: Injector;\n\n private destroyRef = inject(DestroyRef);\n\n public entityChanges: MngEntityRevisionChanges[] = [];\n public modelFetched = new BehaviorSubject(false);\n\n private auditModel: MngGuiEntityModelDto[] = [];\n private fieldValue?: {[key: string]: Array<MngEntityChangeDto>};\n\n ngOnInit(): void {\n this.fieldValue = this.formControl.value as {[key: string]: Array<MngEntityChangeDto>};\n this.injector\n ?.get(MngAuditService, undefined, {optional: true})\n ?.auditModel$.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: model => {\n this.auditModel = model;\n\n if (this.fieldValue) {\n for (const key of Object.keys(this.fieldValue)) {\n const ec = new MngEntityRevisionChanges();\n ec.entityType = key;\n ec.items = [];\n for (const change of this.fieldValue[key]) {\n if (change.revType === MngRevisionTypeDto.Add && change.entityNewState) {\n const item = new MngEntityRevisionChangeState();\n item.revType = change.revType;\n item.color = 'green';\n Object.entries(change.entityNewState).forEach(([key, value]) => (item[key] = value));\n ec.items.push(item);\n } else if (change.revType === MngRevisionTypeDto.Del && change.entityOldState) {\n const item = new MngEntityRevisionChangeState();\n item.revType = change.revType;\n item.color = 'red';\n Object.entries(change.entityOldState).forEach(([key, value]) => (item[key] = value));\n ec.items.push(item);\n } else if (change.revType === MngRevisionTypeDto.Mod && change.entityOldState && change.entityNewState) {\n const itemOld = new MngEntityRevisionChangeState();\n itemOld.revType = change.revType;\n itemOld.color = 'red';\n Object.entries(change.entityOldState).forEach(([key, value]) => (itemOld[key] = value));\n\n const itemNew = new MngEntityRevisionChangeState();\n itemNew.revType = change.revType;\n itemNew.color = 'green';\n Object.entries(change.entityNewState).forEach(([key, value]) => (itemNew[key] = value));\n\n ec.items.push(itemOld);\n ec.items.push(itemNew);\n }\n }\n this.entityChanges.push(ec);\n }\n this.modelFetched.next(true);\n }\n }\n });\n }\n\n public createDescriptor(entityChanges: MngEntityRevisionChanges) {\n const changedFields: string[] = [];\n if (entityChanges.items && entityChanges.items[0].revType === MngRevisionTypeDto.Mod) {\n for (const key in entityChanges.items[0]) {\n if (entityChanges.items[0][key] !== entityChanges.items[1][key]) {\n changedFields.push(key);\n }\n }\n }\n\n const guiEntityModel = this.auditModel.filter(m => m.entityName === entityChanges.entityType)[0];\n\n const desc = new TableDescriptor(MngEntityRevisionChangeState, undefined, undefined, guiEntityModel.entityName).withClassName('py-2');\n if (guiEntityModel.entityName) {\n desc.withTitle(guiEntityModel.entityName);\n }\n\n desc.addColumn('revType').withTitle('MngEntityRevisionChangeState.properties.revType').asEnum(MngRevisionTypeDto);\n\n if (guiEntityModel.properties) {\n AuditUtil.addColumnsFromModel(desc, guiEntityModel.properties, undefined, false, false);\n }\n\n desc.withRowClassName(undefined, (_, item) => (item ? (item.color === 'green' ? 'audit-row-added' : 'audit-row-deleted') : ''));\n desc.columns.forEach(col => {\n if (changedFields.length > 0 && changedFields.some(val => col.property === val)) {\n col.withClassName('audit-cell');\n }\n });\n\n desc.withPaginationMode(TablePaginationModeEnum.Pagination);\n desc.withCurrentColumnsReorderable();\n desc.withCurrentColumnsToggleable();\n desc.withDataKey(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);\n\n return desc;\n }\n}\n","<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","import {AsyncPipe, JsonPipe, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, DestroyRef, Injector, OnInit, WritableSignal, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterOutlet} from '@angular/router';\n\nimport {combineLatest, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {\n AMngTableviewRouteComponent,\n ActionDescriptor,\n ActionEditorDescriptor,\n ActionEditorSubmitDescriptor,\n ActionEditorSubmitTypeEnum,\n ActionPositionEnum,\n EditorDescriptor,\n ITableviewDataProvider,\n MediusQueryResult,\n MngErrorInternal,\n MngTableviewComponent,\n MngTableviewRouteComponent,\n TableFilterDisplayEnum,\n TableviewActionDefaultCategories,\n TableviewDataProvider,\n TableviewDescriptor,\n TableviewEditorTypeEnum\n} from '@mediusinc/mng-commons';\n\nimport {MngGuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {MngRevEntityWithChangesDto} from '../../../api/models/revEntityWithChangesDto';\nimport {MngAuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {MngAuditService} from '../../../api/services/audit.service';\nimport {MngRevEntityDetailed} from '../../../models/rev-entity-detailed.model';\nimport {MngRevEntity} from '../../../models/rev-entity.model';\nimport {AuditUtil} from '../../../utils/audit.util';\nimport {EntityChangesFieldComponent} from '../../entity-changes-field/entity-changes-field.component';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-revisions-page',\n templateUrl: './audit-revisions-page.component.html',\n imports: [NgIf, MngTableviewComponent, AsyncPipe, MngTableviewComponent, RouterOutlet, JsonPipe, MngTableviewRouteComponent],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MngAuditRevisionsPageComponent extends AMngTableviewRouteComponent<MngRevEntity, unknown> implements OnInit {\n private destroyRef = inject(DestroyRef);\n private injector = inject(Injector);\n private auditService = inject(MngAuditService);\n private revisisonsApiService = inject(MngAuditRevisionsApiService);\n\n private revModel?: MngGuiEntityModelDto;\n public showTableview: WritableSignal<boolean> = signal(false);\n\n override ngOnInit(): void {\n this.auditService.revModel$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: model => {\n this.revModel = model;\n super.ngOnInit();\n setTimeout(() => this.showTableview.set(true));\n }\n });\n }\n\n protected createTableviewDescriptor(): TableviewDescriptor<MngRevEntity> {\n if (this.revModel) {\n const idProperty = this.revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];\n const desc = new TableviewDescriptor(MngRevEntity, idProperty, undefined, this.revModel.entityName);\n const detailsDescriptor = new EditorDescriptor(MngRevEntityWithChangesDto, 'revEntity.' + idProperty, undefined, TableviewEditorTypeEnum.Details);\n\n if (this.revModel.properties) {\n AuditUtil.addColumnsFromModel(desc.table, this.revModel.properties);\n AuditUtil.addFieldsFromModel<MngRevEntityWithChangesDto>(detailsDescriptor, this.revModel.properties);\n }\n\n detailsDescriptor.addField('entityNameChangesMap').asCustomComponent(EntityChangesFieldComponent, ['field-no-label'], {injector: this.injector}).withDisabled();\n\n desc.withDetailsDescriptor(detailsDescriptor as EditorDescriptor<MngRevEntity>); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here\n desc.table.withFilterDisplay(TableFilterDisplayEnum.Row);\n\n return desc;\n }\n return new TableviewDescriptor(MngRevEntity);\n }\n\n protected createTableviewDataProvider(): ITableviewDataProvider<MngRevEntity, unknown> {\n if (this.revModel) {\n return new TableviewDataProvider(MngRevEntity).withGetAll(qp =>\n combineLatest([this.revisisonsApiService.getRevisionCount(qp), this.revisisonsApiService.getRevisionList(qp)]).pipe(\n map(([count, values]) => MediusQueryResult.fromArray(values, count))\n )\n );\n }\n return new TableviewDataProvider(MngRevEntity);\n }\n\n protected override createActionDescriptors(): Array<ActionDescriptor<MngRevEntity>> {\n const detailsAction = new ActionEditorDescriptor(this.descriptor.detailsEditor, 'revision-details')\n .withPosition(ActionPositionEnum.RowClick)\n .withRouteTrigger(':itemId')\n .withTableviewCategory(TableviewActionDefaultCategories.DETAILS)\n .withFetchFunction(ctx =>\n ctx.parameters.itemId\n ? this.revisisonsApiService.getAllChangesForRevision(ctx.parameters.itemId).pipe(\n map(item => {\n const revEntityWithChanges = new MngRevEntityDetailed();\n revEntityWithChanges.rev = ctx.parameters.itemId;\n revEntityWithChanges.revEntity = item.revEntity;\n revEntityWithChanges.entityNameChangesMap = item.entityNameChangesMap;\n return revEntityWithChanges;\n })\n )\n : throwError(() => new MngErrorInternal('No revision id provided for fetch function'))\n );\n detailsAction.withEditorActions([new ActionEditorSubmitDescriptor(detailsAction, ActionEditorSubmitTypeEnum.Cancel)]);\n return [detailsAction];\n }\n}\n","<mng-tableview-route *ngIf=\"showTableview()\" [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n","import {Routes} from '@angular/router';\n\nimport {RouteBuilder, RoutesBuilder, TableviewRouteBuilder} from '@mediusinc/mng-commons';\n\nimport {MngAuditRevisionsApiService} from './api/services/audit-revisions-api.service';\nimport {MngAuditService} from './api/services/audit.service';\nimport {MngAuditPageComponent} from './components/pages/audit/audit-page.component';\nimport {MngAuditEntityRevisionsPageComponent} from './components/pages/entity-revisions/audit-entity-revisions-page.component';\nimport {MngAuditRevisionsPageComponent} from './components/pages/revisions/audit-revisions-page.component';\nimport {MngAuditModuleConfig} from './models/config.model';\nimport {MNG_AUDIT_MODULE_CONFIG_IT} from './service/module-config.token';\n\nexport function provideMngAuditRoutes(config: MngAuditModuleConfig): Routes {\n return RoutesBuilder.create()\n .addRouteBuilder(\n RouteBuilder.create('', MngAuditPageComponent)\n .withProvider(MngAuditService)\n .withProvider(MngAuditService)\n .withProvider(MngAuditRevisionsApiService)\n .withProvider({\n provide: MNG_AUDIT_MODULE_CONFIG_IT,\n useValue: config\n })\n .addChildBuilder(RouteBuilder.createRedirect('', 'revisions', 'full'))\n .addChildBuilder(\n TableviewRouteBuilder.fromComponent('revisions', MngAuditRevisionsPageComponent)\n .withMenuItem('pi pi-history', 'pages.revisions.title')\n .withTitle('pages.revisions.title')\n )\n .addChildBuilder(\n RouteBuilder.create('entity-revisions', MngAuditEntityRevisionsPageComponent)\n .withMenuItem('pi pi-history', 'pages.entityRevisions.title')\n .withTitle('pages.entityRevisions.title')\n )\n .addChildBuilder(\n TableviewRouteBuilder.fromComponent('entity-revisions/:entityClass', MngAuditEntityRevisionsPageComponent).withTitle('pages.entityRevisions.title')\n )\n )\n .build();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import { AttributeDef } from '@mediusinc/mng-commons';
13
- import { RevisionType } from './revisionType';
14
- export declare class EntityChange {
15
- revType?: RevisionType;
13
+ import { MngRevisionTypeDto } from './revisionType';
14
+ export declare class MngEntityChangeDto {
15
+ revType?: MngRevisionTypeDto;
16
16
  entityOldState?: {
17
17
  [key: string]: any;
18
18
  };
@@ -10,10 +10,10 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import { AttributeDef } from '@mediusinc/mng-commons';
13
- import { GuiPropertyModel } from './guiPropertyModel';
14
- export declare class GuiEntityModel {
13
+ import { MngGuiPropertyModelDto } from './guiPropertyModel';
14
+ export declare class MngGuiEntityModelDto {
15
15
  entityName?: string;
16
- properties?: Array<GuiPropertyModel>;
16
+ properties?: Array<MngGuiPropertyModelDto>;
17
17
  static discriminator?: string;
18
18
  static attributeTypeMap: Array<AttributeDef>;
19
19
  static getAttributeTypeMap(): AttributeDef[];
@@ -10,15 +10,16 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import { AttributeDef } from '@mediusinc/mng-commons';
13
- import { GuiPropertyType } from './guiPropertyType';
14
- import { GuiRelationModel } from './guiRelationModel';
15
- export declare class GuiPropertyModel {
13
+ import { MngGuiPropertyTypeDto } from './guiPropertyType';
14
+ import { MngGuiRelationModelDto } from './guiRelationModel';
15
+ export declare class MngGuiPropertyModelDto {
16
16
  propertyName?: string;
17
17
  resolvedPropertyName?: string;
18
+ enumClassSimpleName?: string;
18
19
  possibleEnumValues?: Array<string>;
19
20
  isId?: boolean;
20
- propertyType?: GuiPropertyType;
21
- relationModel?: GuiRelationModel;
21
+ propertyType?: MngGuiPropertyTypeDto;
22
+ relationModel?: MngGuiRelationModelDto;
22
23
  id?: boolean;
23
24
  static discriminator?: string;
24
25
  static attributeTypeMap: Array<AttributeDef>;
@@ -1,4 +1,4 @@
1
- export declare enum GuiPropertyType {
1
+ export declare enum MngGuiPropertyTypeDto {
2
2
  LocalDate = "LOCAL_DATE",
3
3
  OffsetDateTime = "OFFSET_DATE_TIME",
4
4
  String = "STRING",
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import { AttributeDef } from '@mediusinc/mng-commons';
13
- export declare class GuiRelationModel {
13
+ export declare class MngGuiRelationModelDto {
14
14
  idPropertyName?: string;
15
15
  isAudited?: boolean;
16
16
  audited?: boolean;
@@ -10,13 +10,13 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import { AttributeDef } from '@mediusinc/mng-commons';
13
- import { EntityChange } from './entityChange';
14
- export declare class RevEntityWithChangesDto {
13
+ import { MngEntityChangeDto } from './entityChange';
14
+ export declare class MngRevEntityWithChangesDto {
15
15
  revEntity?: {
16
16
  [key: string]: any;
17
17
  };
18
18
  entityNameChangesMap?: {
19
- [key: string]: Array<EntityChange>;
19
+ [key: string]: Array<MngEntityChangeDto>;
20
20
  };
21
21
  static discriminator?: string;
22
22
  static attributeTypeMap: Array<AttributeDef>;
@@ -10,12 +10,12 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import { AttributeDef } from '@mediusinc/mng-commons';
13
- import { RevisionType } from './revisionType';
14
- export declare class RevEntityWithStateDto {
13
+ import { MngRevisionTypeDto } from './revisionType';
14
+ export declare class MngRevEntityWithStateDto {
15
15
  revEntity?: {
16
16
  [key: string]: any;
17
17
  };
18
- revType?: RevisionType;
18
+ revType?: MngRevisionTypeDto;
19
19
  entityClassName?: string;
20
20
  entityState?: {
21
21
  [key: string]: any;
@@ -1,4 +1,4 @@
1
- export declare enum RevisionType {
1
+ export declare enum MngRevisionTypeDto {
2
2
  Add = "ADD",
3
3
  Mod = "MOD",
4
4
  Del = "DEL"
@@ -1,16 +1,23 @@
1
- import { HttpClient } from '@angular/common/http';
2
1
  import { Observable } from 'rxjs';
3
- import { IdType, MngConfigurationService } from '@mediusinc/mng-commons';
4
- import { GuiEntityModel, RevEntityWithChangesDto } from '../models';
2
+ import { AMngBaseApiService, IdType, MediusQueryParam, MngConfigurationService } from '@mediusinc/mng-commons';
3
+ import { MngRevEntityWithId } from '../../models/revEntityWithId.model';
4
+ import { MngRevEntityWithChangesDto } from '../models/revEntityWithChangesDto';
5
+ import { MngRevEntityWithStateDto } from '../models/revEntityWithStateDto';
5
6
  import * as i0 from "@angular/core";
6
- export declare class MngAuditRevisionsApiService {
7
- protected http: HttpClient;
8
- protected configService: MngConfigurationService;
9
- getRevModel(): Observable<GuiEntityModel>;
10
- getAuditModel(): Observable<GuiEntityModel[]>;
11
- getRevisionList(): Observable<any>;
12
- getRevisionCount(): Observable<any>;
13
- getAllChangesForRevision(revId: IdType): Observable<RevEntityWithChangesDto>;
7
+ export declare class MngAuditRevisionsApiService extends AMngBaseApiService {
8
+ protected readonly configService: MngConfigurationService;
9
+ protected readonly moduleConfig: import("../../models/config.model").MngAuditModuleConfig;
10
+ constructor();
11
+ protected getServiceBasePath(): string | null;
12
+ protected getBasePath(): string;
13
+ getRevisionList(queryParams: MediusQueryParam): Observable<Array<{
14
+ [key: string]: unknown;
15
+ }>>;
16
+ getRevisionCount(queryParams: MediusQueryParam): Observable<number>;
17
+ getAllChangesForRevision(revId: IdType): Observable<MngRevEntityWithChangesDto>;
18
+ listRevisionsWithStateForEntityType(queryParams: MediusQueryParam, entityType: string): Observable<Array<MngRevEntityWithStateDto>>;
19
+ fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<MngRevEntityWithId>;
20
+ countRevisionsWithStateForEntityType(queryParams: MediusQueryParam, entityType: string): Observable<number>;
14
21
  static ɵfac: i0.ɵɵFactoryDeclaration<MngAuditRevisionsApiService, never>;
15
22
  static ɵprov: i0.ɵɵInjectableDeclaration<MngAuditRevisionsApiService>;
16
23
  }
@@ -0,0 +1,20 @@
1
+ import { Observable } from 'rxjs';
2
+ import { AMngBaseApiService } from '@mediusinc/mng-commons';
3
+ import { MngGuiEntityModelDto } from '../models/guiEntityModel';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MngAuditService extends AMngBaseApiService {
6
+ private readonly CACHE_SIZE;
7
+ private readonly configService;
8
+ private readonly moduleConfig;
9
+ private revModelObs?;
10
+ private auditModelObs?;
11
+ constructor();
12
+ protected getServiceBasePath(): string | null;
13
+ protected getBasePath(): string;
14
+ get revModel$(): Observable<MngGuiEntityModelDto>;
15
+ get auditModel$(): Observable<MngGuiEntityModelDto[]>;
16
+ private requestRevModel;
17
+ private requestAuditModel;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngAuditService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<MngAuditService>;
20
+ }
@@ -1,2 +1,3 @@
1
- import { RoutesBuilder } from '@mediusinc/mng-commons';
2
- export declare const auditRouteBuilder: RoutesBuilder;
1
+ import { Routes } from '@angular/router';
2
+ import { MngAuditModuleConfig } from './models/config.model';
3
+ export declare function provideMngAuditRoutes(config: MngAuditModuleConfig): Routes;
@@ -1,12 +1,18 @@
1
- import { OnInit } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/core';
3
- import { MngFormlyFieldConfig } from '@mediusinc/mng-commons';
4
- import { EntityChanges } from '../../models/entity-changes.model';
1
+ import { Injector, OnInit } from '@angular/core';
2
+ import { AMngFormlyCustomFieldComponent, TableDescriptor } from '@mediusinc/mng-commons';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { MngEntityRevisionChangeState } from '../../models/entity-revision-change-state.model';
5
+ import { MngEntityRevisionChanges } from '../../models/entity-revision-changes.model';
5
6
  import * as i0 from "@angular/core";
6
- export declare class EntityChangesFieldComponent extends FieldType<MngFormlyFieldConfig> implements OnInit {
7
- entityChanges: EntityChanges[];
7
+ export declare class EntityChangesFieldComponent extends AMngFormlyCustomFieldComponent implements OnInit {
8
+ injector?: Injector;
9
+ private destroyRef;
10
+ entityChanges: MngEntityRevisionChanges[];
11
+ modelFetched: BehaviorSubject<boolean>;
12
+ private auditModel;
13
+ private fieldValue?;
8
14
  ngOnInit(): void;
9
- createDynamicDescriptor(entityChanges: EntityChanges): import("@mediusinc/mng-commons").TableDescriptor<any>;
15
+ createDescriptor(entityChanges: MngEntityRevisionChanges): TableDescriptor<MngEntityRevisionChangeState>;
10
16
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityChangesFieldComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<EntityChangesFieldComponent, "mng-entity-changes-field", never, {}, {}, never, never, true, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityChangesFieldComponent, "mng-entity-changes-field", never, { "injector": { "alias": "injector"; "required": false; }; }, {}, never, never, true, never>;
12
18
  }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class MngAuditPageComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngAuditPageComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngAuditPageComponent, "mng-audit-page", never, {}, {}, never, never, true, never>;
5
+ }
@@ -1,14 +1,24 @@
1
- import { AMngTableviewRouteComponent, ActionDescriptor, ITableviewDataProvider, TableviewDescriptor } from '@mediusinc/mng-commons';
2
- import { MngAuditEntityRevisionsApiService } from '../../../api/services/audit-entity-revisions-api.service';
3
- import { EntityDropdownPageComponent } from './entity-dropdown-page.component';
1
+ import { OnInit, WritableSignal } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { AMngTableviewRouteComponent, ActionDescriptor, LookupDataProvider, TableviewDataProvider, TableviewDescriptor } from '@mediusinc/mng-commons';
4
+ import { MngGuiEntityModelDto } from '../../../api/models/guiEntityModel';
5
+ import { MngRevEntityWithId } from '../../../models/revEntityWithId.model';
4
6
  import * as i0 from "@angular/core";
5
- export declare class AuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent<unknown, MngAuditEntityRevisionsApiService> {
6
- private dropdownPage;
7
- private mngAuditEntityRevisionsApiService;
8
- constructor(dropdownPage: EntityDropdownPageComponent, mngAuditEntityRevisionsApiService: MngAuditEntityRevisionsApiService);
9
- protected createTableviewDataProvider(): ITableviewDataProvider<unknown, MngAuditEntityRevisionsApiService>;
10
- protected createTableviewDescriptor(): TableviewDescriptor<unknown>;
11
- protected createActionDescriptors(): Array<ActionDescriptor<unknown>>;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<AuditEntityRevisionsPageComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<AuditEntityRevisionsPageComponent, "mng-audit-entity-revisions-page", never, {}, {}, never, never, true, never>;
7
+ export declare class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent<MngRevEntityWithId, unknown> implements OnInit {
8
+ private router;
9
+ private destroyRef;
10
+ private auditService;
11
+ private revisisonsApiService;
12
+ revModel?: MngGuiEntityModelDto;
13
+ selectedRevisionEntity?: MngGuiEntityModelDto;
14
+ revisionEntitiesLookupProvider?: LookupDataProvider<MngGuiEntityModelDto, never>;
15
+ showTableview: WritableSignal<boolean>;
16
+ constructor(router: Router);
17
+ ngOnInit(): void;
18
+ onRevisionEntityChange(): void;
19
+ protected createTableviewDescriptor(): TableviewDescriptor<MngRevEntityWithId>;
20
+ protected createTableviewDataProvider(): TableviewDataProvider<MngRevEntityWithId, unknown>;
21
+ createActionDescriptors(): Array<ActionDescriptor<MngRevEntityWithId>>;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngAuditEntityRevisionsPageComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngAuditEntityRevisionsPageComponent, "mng-audit-entity-revisions-page", never, {}, {}, never, never, true, never>;
14
24
  }