argos/dmp-frontend/src/app/datasets/editor/dataset-editor.component.ts

128 lines
4.1 KiB
TypeScript

import { AfterViewInit, Component, Input, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { MatPaginator, MatSort, MatSnackBar } from '@angular/material';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { DataSource } from '@angular/cdk/table';
import { Observable } from 'rxjs/Observable';
import { JsonSerializer } from '../../utilities/JsonSerializer';
import { FormGroup } from '@angular/forms';
import { SnackBarNotificationComponent } from '../../shared/components/notificaiton/snack-bar-notification.component';
import { BaseErrorModel } from '../../models/error/BaseErrorModel';
import { DatasetService } from '../../services/dataset/dataset.service';
import { DatasetModel } from '../../models/datasets/DatasetModel';
import { ExternalSourcesService } from '../../services/external-sources/external-sources.service';
import { ExternalSourcesItemModel } from '../../models/external-sources/ExternalSourcesItemModel';
@Component({
selector: 'app-dataset-editor-component',
templateUrl: 'dataset-editor.component.html',
styleUrls: ['./dataset-editor.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class DatasetEditorComponent implements AfterViewInit {
isNew = true;
dataset: DatasetModel;
@Input() formGroup: FormGroup = null;
// filtereddataRepositoriesAsync: boolean = false;
// filteredRegistriesAsync: boolean = false;
// filteredServicesAsync: boolean = false;
// filtereddataRepositories: ExternalSourcesItemModel[];
// filteredRegistries: ExternalSourcesItemModel[];
// filteredServices: ExternalSourcesItemModel[];
constructor(
private datasetService: DatasetService,
private externalSourcesService: ExternalSourcesService,
private route: ActivatedRoute,
public snackBar: MatSnackBar,
public router: Router,
public language: TranslateService,
) {
}
ngAfterViewInit() {
/* this.route.params.subscribe((params: Params) => {
const itemId = params['id'];
if (itemId != null) {
this.isNew = false;
this.datasetService.getSingle(itemId).map(data => data as DatasetModel)
.subscribe(data => {
this.dataset = new JsonSerializer<DatasetModel>().fromJSONObject(data, DatasetModel);
this.formGroup = this.dataset.buildForm();
});
} else {
this.dataset = new DatasetModel();
setTimeout(() => {
this.formGroup = this.dataset.buildForm();
});
}
}); */
}
public cancel(): void {
this.router.navigate(['/datasets']);
}
// filterdataRepositories(value: string): void {
// this.filtereddataRepositories = undefined;
// if (value) {
// this.filtereddataRepositoriesAsync = true;
// this.externalSourcesService.searchDMPOrganizations(value).subscribe(items => {
// this.filtereddataRepositories = items;
// this.filtereddataRepositoriesAsync = false;
// // this.filteredOrganisations = items.filter((filteredObj: any) => {
// // return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
// // });
// });
// }
// }
// filterRegistries(value: string): void {
// this.filteredRegistries = undefined;
// if (value) {
// this.filteredRegistriesAsync = true;
// this.externalSourcesService.searchDMPResearchers(value).subscribe(items => {
// this.filteredRegistries = items;
// this.filteredRegistriesAsync = false;
// // this.filteredOrganisations = items.filter((filteredObj: any) => {
// // return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
// // });
// });
// }
// }
// filterServices(value: string): void {
// this.filteredServices = undefined;
// if (value) {
// this.filteredServicesAsync = true;
// this.externalSourcesService.searchDatasetService(value).subscribe(items => {
// this.filteredServices = items;
// this.filteredServicesAsync = false;
// // this.filteredOrganisations = items.filter((filteredObj: any) => {
// // return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
// // });
// });
// }
// }
}