Merge maxunbearable/feature/calculated-fields-vc-ui
This commit is contained in:
commit
3bdce8bd46
@ -84,6 +84,9 @@
|
||||
<mat-checkbox formControlName="saveRelations">
|
||||
{{ 'version-control.export-relations' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox *ngIf="typesWithCalculatedFields.has(entityTypeFormGroup.get('entityType').value)" formControlName="saveCalculatedFields">
|
||||
{{ 'version-control.export-calculated-fields' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -25,7 +25,11 @@ import { TranslateService } from '@ngx-translate/core';
|
||||
import { DialogService } from '@core/services/dialog.service';
|
||||
import { catchError, map, mergeMap } from 'rxjs/operators';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { EntityTypeVersionCreateConfig, exportableEntityTypes } from '@shared/models/vc.models';
|
||||
import {
|
||||
EntityTypeVersionCreateConfig,
|
||||
exportableEntityTypes,
|
||||
typesWithCalculatedFields
|
||||
} from '@shared/models/vc.models';
|
||||
import { EntityType, entityTypeTranslations } from '@shared/models/entity-type.models';
|
||||
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
||||
|
||||
@ -43,6 +47,8 @@ export class AutoCommitSettingsComponent extends PageComponent implements OnInit
|
||||
|
||||
isReadOnly: Observable<boolean>;
|
||||
|
||||
readonly typesWithCalculatedFields = typesWithCalculatedFields;
|
||||
|
||||
constructor(protected store: Store<AppState>,
|
||||
private adminService: AdminService,
|
||||
private dialogService: DialogService,
|
||||
@ -104,7 +110,8 @@ export class AutoCommitSettingsComponent extends PageComponent implements OnInit
|
||||
branch: null,
|
||||
saveAttributes: true,
|
||||
saveRelations: false,
|
||||
saveCredentials: true
|
||||
saveCredentials: true,
|
||||
saveCalculatedFields: true,
|
||||
};
|
||||
const allowed = this.allowedEntityTypes();
|
||||
let entityType: EntityType = null;
|
||||
@ -206,7 +213,8 @@ export class AutoCommitSettingsComponent extends PageComponent implements OnInit
|
||||
branch: [config.branch, []],
|
||||
saveRelations: [config.saveRelations, []],
|
||||
saveAttributes: [config.saveAttributes, []],
|
||||
saveCredentials: [config.saveCredentials, []]
|
||||
saveCredentials: [config.saveCredentials, []],
|
||||
saveCalculatedFields: [config.saveCalculatedFields, []]
|
||||
})
|
||||
}
|
||||
);
|
||||
|
||||
@ -72,6 +72,9 @@
|
||||
<mat-checkbox *ngIf="!entityTypesWithoutRelatedData.has(entityTypeFormGroup.get('entityType').value)" formControlName="saveRelations">
|
||||
{{ 'version-control.export-relations' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox *ngIf="typesWithCalculatedFields.has(entityTypeFormGroup.get('entityType').value)" formControlName="saveCalculatedFields">
|
||||
{{ 'version-control.export-calculated-fields' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -33,7 +33,8 @@ import {
|
||||
EntityTypeVersionCreateConfig,
|
||||
exportableEntityTypes,
|
||||
SyncStrategy,
|
||||
syncStrategyTranslationMap
|
||||
syncStrategyTranslationMap,
|
||||
typesWithCalculatedFields
|
||||
} from '@shared/models/vc.models';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
@ -79,6 +80,8 @@ export class EntityTypesVersionCreateComponent extends PageComponent implements
|
||||
|
||||
loading = true;
|
||||
|
||||
readonly typesWithCalculatedFields = typesWithCalculatedFields;
|
||||
|
||||
constructor(protected store: Store<AppState>,
|
||||
private translate: TranslateService,
|
||||
private fb: UntypedFormBuilder,
|
||||
@ -150,6 +153,7 @@ export class EntityTypesVersionCreateComponent extends PageComponent implements
|
||||
saveRelations: [config.saveRelations, []],
|
||||
saveAttributes: [config.saveAttributes, []],
|
||||
saveCredentials: [config.saveCredentials, []],
|
||||
saveCalculatedFields: [config.saveCalculatedFields, []],
|
||||
allEntities: [config.allEntities, []],
|
||||
entityIds: [config.entityIds, [Validators.required]]
|
||||
})
|
||||
@ -202,6 +206,7 @@ export class EntityTypesVersionCreateComponent extends PageComponent implements
|
||||
saveAttributes: true,
|
||||
saveRelations: true,
|
||||
saveCredentials: true,
|
||||
saveCalculatedFields: true,
|
||||
allEntities: true,
|
||||
entityIds: []
|
||||
};
|
||||
|
||||
@ -72,6 +72,9 @@
|
||||
<mat-checkbox *ngIf="!entityTypesWithoutRelatedData.has(entityTypeFormGroup.get('entityType').value)" formControlName="loadRelations">
|
||||
{{ 'version-control.load-relations' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox *ngIf="typesWithCalculatedFields.has(entityTypeFormGroup.get('entityType').value)" formControlName="loadCalculatedFields">
|
||||
{{ 'version-control.load-calculated-fields' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -31,7 +31,8 @@ import { PageComponent } from '@shared/components/page.component';
|
||||
import {
|
||||
entityTypesWithoutRelatedData,
|
||||
EntityTypeVersionLoadConfig,
|
||||
exportableEntityTypes
|
||||
exportableEntityTypes,
|
||||
typesWithCalculatedFields
|
||||
} from '@shared/models/vc.models';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppState } from '@core/core.state';
|
||||
@ -75,6 +76,8 @@ export class EntityTypesVersionLoadComponent extends PageComponent implements On
|
||||
|
||||
loading = true;
|
||||
|
||||
readonly typesWithCalculatedFields = typesWithCalculatedFields;
|
||||
|
||||
constructor(protected store: Store<AppState>,
|
||||
private translate: TranslateService,
|
||||
private popoverService: TbPopoverService,
|
||||
@ -145,6 +148,7 @@ export class EntityTypesVersionLoadComponent extends PageComponent implements On
|
||||
loadRelations: [config.loadRelations, []],
|
||||
loadAttributes: [config.loadAttributes, []],
|
||||
loadCredentials: [config.loadCredentials, []],
|
||||
loadCalculatedFields: [config.loadCalculatedFields, []],
|
||||
removeOtherEntities: [config.removeOtherEntities, []],
|
||||
findExistingEntityByName: [config.findExistingEntityByName, []]
|
||||
})
|
||||
@ -180,6 +184,7 @@ export class EntityTypesVersionLoadComponent extends PageComponent implements On
|
||||
loadAttributes: true,
|
||||
loadRelations: true,
|
||||
loadCredentials: true,
|
||||
loadCalculatedFields: true,
|
||||
removeOtherEntities: false,
|
||||
findExistingEntityByName: true
|
||||
};
|
||||
|
||||
@ -47,6 +47,9 @@
|
||||
<mat-checkbox *ngIf="!entityTypesWithoutRelatedData.has(entityId.entityType)" formControlName="saveRelations" style="margin-bottom: 16px;">
|
||||
{{ 'version-control.export-relations' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox *ngIf="typesWithCalculatedFields.has(entityId.entityType)" formControlName="saveCalculatedFields" class="mb-4">
|
||||
{{ 'version-control.export-calculated-fields' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
@ -20,6 +20,7 @@ import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms
|
||||
import {
|
||||
entityTypesWithoutRelatedData,
|
||||
SingleEntityVersionCreateRequest,
|
||||
typesWithCalculatedFields,
|
||||
VersionCreateRequestType,
|
||||
VersionCreationResult
|
||||
} from '@shared/models/vc.models';
|
||||
@ -71,6 +72,8 @@ export class EntityVersionCreateComponent extends PageComponent implements OnIni
|
||||
|
||||
private versionCreateResultSubscription: Subscription;
|
||||
|
||||
readonly typesWithCalculatedFields = typesWithCalculatedFields;
|
||||
|
||||
constructor(protected store: Store<AppState>,
|
||||
private entitiesVersionControlService: EntitiesVersionControlService,
|
||||
private cd: ChangeDetectorRef,
|
||||
@ -115,7 +118,8 @@ export class EntityVersionCreateComponent extends PageComponent implements OnIni
|
||||
? this.createVersionFormGroup.get('saveRelations').value : false,
|
||||
saveAttributes: !entityTypesWithoutRelatedData.has(this.entityId.entityType)
|
||||
? this.createVersionFormGroup.get('saveAttributes').value : false,
|
||||
saveCredentials: this.entityId.entityType === EntityType.DEVICE ? this.createVersionFormGroup.get('saveCredentials').value : false
|
||||
saveCredentials: this.entityId.entityType === EntityType.DEVICE ? this.createVersionFormGroup.get('saveCredentials').value : false,
|
||||
saveCalculatedFields: typesWithCalculatedFields.has(this.entityId.entityType) ? this.createVersionFormGroup.get('saveCalculatedFields').value : false,
|
||||
},
|
||||
type: VersionCreateRequestType.SINGLE_ENTITY
|
||||
};
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
<mat-checkbox *ngIf="entityDataInfo.hasRelations" formControlName="loadRelations" style="margin-bottom: 16px;">
|
||||
{{ 'version-control.load-relations' | translate }}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox *ngIf="entityDataInfo.hasCalculatedFields" formControlName="loadCalculatedFields" class="mb-4">
|
||||
{{ 'version-control.load-calculated-fields' | translate }}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
@ -79,7 +79,8 @@ export class EntityVersionRestoreComponent extends PageComponent implements OnIn
|
||||
this.restoreFormGroup = this.fb.group({
|
||||
loadAttributes: [true, []],
|
||||
loadRelations: [true, []],
|
||||
loadCredentials: [true, []]
|
||||
loadCredentials: [true, []],
|
||||
loadCalculatedFields: [true, []]
|
||||
});
|
||||
this.entitiesVersionControlService.getEntityDataInfo(this.externalEntityId, this.versionId).subscribe((data) => {
|
||||
this.entityDataInfo = data;
|
||||
@ -110,7 +111,8 @@ export class EntityVersionRestoreComponent extends PageComponent implements OnIn
|
||||
config: {
|
||||
loadRelations: this.entityDataInfo.hasRelations ? this.restoreFormGroup.get('loadRelations').value : false,
|
||||
loadAttributes: this.entityDataInfo.hasAttributes ? this.restoreFormGroup.get('loadAttributes').value : false,
|
||||
loadCredentials: this.entityDataInfo.hasCredentials ? this.restoreFormGroup.get('loadCredentials').value : false
|
||||
loadCredentials: this.entityDataInfo.hasCredentials ? this.restoreFormGroup.get('loadCredentials').value : false,
|
||||
loadCalculatedFields: this.entityDataInfo.hasCalculatedFields ? this.restoreFormGroup.get('loadCalculatedFields').value : false
|
||||
},
|
||||
type: VersionLoadRequestType.SINGLE_ENTITY
|
||||
};
|
||||
|
||||
@ -49,6 +49,7 @@ export interface VersionCreateConfig {
|
||||
saveRelations: boolean;
|
||||
saveAttributes: boolean;
|
||||
saveCredentials: boolean;
|
||||
saveCalculatedFields: boolean;
|
||||
}
|
||||
|
||||
export enum VersionCreateRequestType {
|
||||
@ -106,6 +107,7 @@ export function createDefaultEntityTypesVersionCreate(): {[entityType: string]:
|
||||
syncStrategy: null,
|
||||
saveAttributes: !entityTypesWithoutRelatedData.has(entityType),
|
||||
saveRelations: !entityTypesWithoutRelatedData.has(entityType),
|
||||
saveCalculatedFields: typesWithCalculatedFields.has(entityType),
|
||||
saveCredentials: true,
|
||||
allEntities: true,
|
||||
entityIds: []
|
||||
@ -118,6 +120,7 @@ export interface VersionLoadConfig {
|
||||
loadRelations: boolean;
|
||||
loadAttributes: boolean;
|
||||
loadCredentials: boolean;
|
||||
loadCalculatedFields: boolean;
|
||||
}
|
||||
|
||||
export enum VersionLoadRequestType {
|
||||
@ -154,6 +157,7 @@ export function createDefaultEntityTypesVersionLoad(): {[entityType: string]: En
|
||||
loadAttributes: !entityTypesWithoutRelatedData.has(entityType),
|
||||
loadRelations: !entityTypesWithoutRelatedData.has(entityType),
|
||||
loadCredentials: true,
|
||||
loadCalculatedFields: typesWithCalculatedFields.has(entityType),
|
||||
removeOtherEntities: false,
|
||||
findExistingEntityByName: true
|
||||
};
|
||||
@ -254,4 +258,7 @@ export interface EntityDataInfo {
|
||||
hasRelations: boolean;
|
||||
hasAttributes: boolean;
|
||||
hasCredentials: boolean;
|
||||
hasCalculatedFields: boolean;
|
||||
}
|
||||
|
||||
export const typesWithCalculatedFields = new Set<EntityType | AliasEntityType>([EntityType.DEVICE, EntityType.ASSET, EntityType.ASSET_PROFILE, EntityType.DEVICE_PROFILE]);
|
||||
|
||||
@ -6320,6 +6320,7 @@
|
||||
"export-relations": "Export relations",
|
||||
"export-attributes": "Export attributes",
|
||||
"export-credentials": "Export credentials",
|
||||
"export-calculated-fields": "Export calculated fields",
|
||||
"entity-versions": "Entity versions",
|
||||
"versions": "Versions",
|
||||
"created-time": "Created time",
|
||||
@ -6336,6 +6337,7 @@
|
||||
"load-relations": "Load relations",
|
||||
"load-attributes": "Load attributes",
|
||||
"load-credentials": "Load credentials",
|
||||
"load-calculated-fields": "Load calculated fields",
|
||||
"compare-with-current": "Compare with current",
|
||||
"diff-entity-with-version": "Diff with entity version '{{versionName}}'",
|
||||
"previous-difference": "Previous Difference",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user