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