Add additional editors for the remaining external references
This commit is contained in:
parent
80a11b2cb3
commit
2ba3f11687
|
@ -139,7 +139,9 @@ public class Registry implements DataEntity<Registry, UUID> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(Registry entity) {
|
public void update(Registry entity) {
|
||||||
|
this.label = entity.getLabel();
|
||||||
|
this.abbreviation = entity.getAbbreviation();
|
||||||
|
this.uri = entity.getUri();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -134,7 +134,9 @@ public class Service implements DataEntity<Service, UUID> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(Service entity) {
|
public void update(Service entity) {
|
||||||
|
this.label = entity.getLabel();
|
||||||
|
this.abbreviation = entity.getAbbreviation();
|
||||||
|
this.uri = entity.getUri();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -5,5 +5,6 @@ export interface ServiceModel {
|
||||||
uri: String;
|
uri: String;
|
||||||
label: String;
|
label: String;
|
||||||
reference: String;
|
reference: String;
|
||||||
|
source: String;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -184,14 +184,16 @@ export class ExternalServiceEditorModel {
|
||||||
public uri: String;
|
public uri: String;
|
||||||
public label: String;
|
public label: String;
|
||||||
public reference: String;
|
public reference: String;
|
||||||
|
public source: String;
|
||||||
|
|
||||||
constructor(abbreviation?: String, definition?: String, id?: String, label?: String, reference?: String, uri?: String) {
|
constructor(abbreviation?: String, definition?: String, id?: String, label?: String, reference?: String, uri?: String, source?: String) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.abbreviation = abbreviation;
|
this.abbreviation = abbreviation;
|
||||||
this.definition = definition;
|
this.definition = definition;
|
||||||
this.uri = uri;
|
this.uri = uri;
|
||||||
this.label = label;
|
this.label = label;
|
||||||
this.reference = reference;
|
this.reference = reference;
|
||||||
|
this.source = source;
|
||||||
}
|
}
|
||||||
|
|
||||||
fromModel(item: ServiceModel): ExternalServiceEditorModel {
|
fromModel(item: ServiceModel): ExternalServiceEditorModel {
|
||||||
|
@ -201,6 +203,7 @@ export class ExternalServiceEditorModel {
|
||||||
this.uri = item.uri;
|
this.uri = item.uri;
|
||||||
this.label = item.label;
|
this.label = item.label;
|
||||||
this.reference = item.reference;
|
this.reference = item.reference;
|
||||||
|
this.source = item.source;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,7 +214,8 @@ export class ExternalServiceEditorModel {
|
||||||
label: [this.label, Validators.required],
|
label: [this.label, Validators.required],
|
||||||
reference: [this.reference],
|
reference: [this.reference],
|
||||||
uri: [this.uri, Validators.required],
|
uri: [this.uri, Validators.required],
|
||||||
definition: [this.definition]
|
definition: [this.definition],
|
||||||
|
source: [this.source]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,6 +75,16 @@
|
||||||
{{i+1}}) {{suggestion.get('name').value}}
|
{{i+1}}) {{suggestion.get('name').value}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.EXTERNAL-DATASET.LABEL' | translate}}" type="text" name="name" [formControl]="suggestion.get('name')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.EXTERNAL-DATASET.ABBREVIATION' | translate}}" type="text" name="abbreviation" [formControl]="suggestion.get('abbreviation')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<input matInput placeholder="{{'DATASET-EDITOR.FIELDS.EXTERNAL-DATASET-INFO' | translate}}" type="text" name="info" [formControl]="suggestion.get('info')">
|
<input matInput placeholder="{{'DATASET-EDITOR.FIELDS.EXTERNAL-DATASET-INFO' | translate}}" type="text" name="info" [formControl]="suggestion.get('info')">
|
||||||
|
@ -90,6 +100,11 @@
|
||||||
<mat-error *ngIf="suggestion.get('type').hasError('required')">{{'GENERAL.VALIDATION.REQUIRED' | translate}}</mat-error>
|
<mat-error *ngIf="suggestion.get('type').hasError('required')">{{'GENERAL.VALIDATION.REQUIRED' | translate}}</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto" *ngIf='!viewOnly && isInternal(suggestion)'>
|
||||||
|
<button mat-raised-button (click)="updateExternalDataset(suggestion)" type="button" color="primary">
|
||||||
|
{{ 'DATASET-EDITOR.ACTIONS.UPDATE' | translate }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button mat-icon-button (click)="callback(i)" *ngIf='!viewOnly'>
|
<button mat-icon-button (click)="callback(i)" *ngIf='!viewOnly'>
|
||||||
<mat-icon>close</mat-icon>
|
<mat-icon>close</mat-icon>
|
||||||
|
@ -120,6 +135,26 @@
|
||||||
{{i+1}}) {{suggestion.get('label').value}}
|
{{i+1}}) {{suggestion.get('label').value}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.REGISTRY.LABEL' | translate}}" type="text" name="label" [formControl]="suggestion.get('label')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.REGISTRY.ABBREVIATION' | translate}}" type="text" name="abbreviation" [formControl]="suggestion.get('abbreviation')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.REGISTRY.URI' | translate}}" type="text" name="uri" [formControl]="suggestion.get('uri')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf='!viewOnly && isInternal(suggestion)'>
|
||||||
|
<button mat-raised-button (click)="updateRegistry(suggestion)" type="button" color="primary">
|
||||||
|
{{ 'DATASET-EDITOR.ACTIONS.UPDATE' | translate }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button mat-icon-button (click)="callback(i)" *ngIf='!viewOnly'>
|
<button mat-icon-button (click)="callback(i)" *ngIf='!viewOnly'>
|
||||||
<mat-icon>close</mat-icon>
|
<mat-icon>close</mat-icon>
|
||||||
|
@ -151,6 +186,26 @@
|
||||||
{{i+1}}) {{suggestion.get('label').value}}
|
{{i+1}}) {{suggestion.get('label').value}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.SERVICES.LABEL' | translate}}" type="text" name="label" [formControl]="suggestion.get('label')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.SERVICES.ABBREVIATION' | translate}}" type="text" name="abbreviation" [formControl]="suggestion.get('abbreviation')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf="isInternal(suggestion)">
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="{{'DATASET-REFERENCED-MODELS.SERVICES.URI' | translate}}" type="text" name="uri" [formControl]="suggestion.get('uri')">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto" *ngIf='!viewOnly && isInternal(suggestion)'>
|
||||||
|
<button mat-raised-button (click)="updateRegistry(suggestion)" type="button" color="primary">
|
||||||
|
{{ 'DATASET-EDITOR.ACTIONS.UPDATE' | translate }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button mat-icon-button (click)="callback(i)" *ngIf='!viewOnly'>
|
<button mat-icon-button (click)="callback(i)" *ngIf='!viewOnly'>
|
||||||
<mat-icon>close</mat-icon>
|
<mat-icon>close</mat-icon>
|
||||||
|
|
|
@ -26,6 +26,9 @@ import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
||||||
import { MatChipInputEvent } from '@angular/material/chips';
|
import { MatChipInputEvent } from '@angular/material/chips';
|
||||||
import { isNullOrUndefined } from 'util';
|
import { isNullOrUndefined } from 'util';
|
||||||
import { ExternalDataRepositoryService } from '@app/core/services/external-sources/data-repository/extternal-data-repository.service';
|
import { ExternalDataRepositoryService } from '@app/core/services/external-sources/data-repository/extternal-data-repository.service';
|
||||||
|
import { ExternalDatasetService } from '@app/core/services/external-sources/dataset/external-dataset.service';
|
||||||
|
import { ExternalRegistryService } from '@app/core/services/external-sources/registry/external-registry.service';
|
||||||
|
import { ExternalServiceService } from '@app/core/services/external-sources/service/external-service.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dataset-external-references-editor-component',
|
selector: 'app-dataset-external-references-editor-component',
|
||||||
|
@ -89,7 +92,10 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
||||||
private language: TranslateService,
|
private language: TranslateService,
|
||||||
private externalSourcesService: ExternalSourcesService,
|
private externalSourcesService: ExternalSourcesService,
|
||||||
private externalSourcesConfigurationService: ExternalSourcesConfigurationService,
|
private externalSourcesConfigurationService: ExternalSourcesConfigurationService,
|
||||||
private externalDataRepositoryService: ExternalDataRepositoryService
|
private externalDataRepositoryService: ExternalDataRepositoryService,
|
||||||
|
private externalDatasetService: ExternalDatasetService,
|
||||||
|
private externalRegistryService: ExternalRegistryService,
|
||||||
|
private externalServiceService: ExternalServiceService,
|
||||||
) { super(); }
|
) { super(); }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
@ -195,7 +201,7 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(result => {
|
.subscribe(result => {
|
||||||
if (!result) { return; }
|
if (!result) { return; }
|
||||||
const serviceModel = new ExternalServiceEditorModel(result.abbreviation, result.definition, result.id, result.label, result.reference, result.uri);
|
const serviceModel = new ExternalServiceEditorModel(result.abbreviation, result.definition, result.id, result.label, result.reference, result.uri, result.source);
|
||||||
(<FormArray>this.formGroup.get('services')).push(serviceModel.buildForm());
|
(<FormArray>this.formGroup.get('services')).push(serviceModel.buildForm());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -254,6 +260,9 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
||||||
}
|
}
|
||||||
|
|
||||||
isInternal(element: any): boolean {
|
isInternal(element: any): boolean {
|
||||||
|
if (element.get('source') == null) {
|
||||||
|
console.log(element);
|
||||||
|
}
|
||||||
return element.get('source').value === 'Internal';
|
return element.get('source').value === 'Internal';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,4 +275,34 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateExternalDataset(externalDataset: FormGroup) {
|
||||||
|
this.externalDatasetService.create(externalDataset.value)
|
||||||
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
.subscribe(
|
||||||
|
(result) => {
|
||||||
|
externalDataset.setValue(result);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateRegistry(registry: FormGroup) {
|
||||||
|
this.externalRegistryService.create(registry.value)
|
||||||
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
.subscribe(
|
||||||
|
(result) => {
|
||||||
|
registry.setValue(result);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateService(service: FormGroup) {
|
||||||
|
this.externalServiceService.create(service.value)
|
||||||
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
.subscribe(
|
||||||
|
(result) => {
|
||||||
|
service.setValue(result);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue