diff --git a/dmp-frontend/src/app/datasets/dataset.component.ts b/dmp-frontend/src/app/datasets/dataset.component.ts index dee3b502d..04119c4bc 100644 --- a/dmp-frontend/src/app/datasets/dataset.component.ts +++ b/dmp-frontend/src/app/datasets/dataset.component.ts @@ -6,6 +6,8 @@ import { Project } from '../entities/model/project'; import { Dataset } from '../entities/model/dataset'; import { Dmp } from '../entities/model/dmp'; import { DataTable, DataTableTranslations, DataTableResource } from 'angular-4-data-table-bootstrap-4'; +import { DropdownField } from '../../app/form/fields/dropdown/field-dropdown'; +import { Param } from '../entities/model/param'; @Component({ selector: 'datasets-table', @@ -31,9 +33,12 @@ export class DatasetsComponent implements OnInit{ returnUrl: string; @Input() datasets: Dataset[]; + @Input() datasetProfileDropDown: DropdownField; datasetResource :DataTableResource; @Input() datasetCount = 0; - + @Input() dmpIdforDatasets: string; + dataset:any; + @ViewChild(DataTable) projectsTable; dataSetValue:boolean @@ -54,13 +59,26 @@ export class DatasetsComponent implements OnInit{ private route: ActivatedRoute, private router: Router, private ngZone: NgZone){ + this.dataset = { + id:null, + label:'', + reference:'', + uri:'', + properties:'', + profile:{"id": ''}, + dmp:{"id": ''} + } + + this.datasetProfileDropDown = new DropdownField(); + this.datasetProfileDropDown.options = []; } ngOnInit() { //this.projects = this.serverService.getDummyProjects(); this.datasets = []; - this.serverService.getAllDataSet().subscribe( + console.log(this.dmpIdforDatasets); + this.serverService.getDatasetForDmp({"id":this.dmpIdforDatasets}).subscribe( response => { console.log("response"); @@ -77,7 +95,22 @@ export class DatasetsComponent implements OnInit{ this.datasetResource.query(params).then(datasets => this.datasets = datasets); }); } - ); + ); + + this.serverService.getAllDatsetsProfile().subscribe( + response => { + console.log("response"); + console.log(response); + //let params = new Param(); + response.forEach((datasetprofile) => { + let params = new Param(); + params.key = datasetprofile.id; + params.value = datasetprofile.label; + this.datasetProfileDropDown.options.push(params); + }); + + } + ) } reloadDatasets(params) { @@ -94,6 +127,16 @@ rowClick(rowEvent){ this.ngZone.run(() => this.router.navigateByUrl('dynamic-form', rowEvent.row.item.id)); } +SaveNewDataset(){debugger; + this.dataset.dmp={"id": this.dmpIdforDatasets} + this.dataset.profile = {"id": this.dataset.profile} + this.serverService.createDatasetForDmp(this.dataset).subscribe( + response=>{ + console.log(response); + } + ) +} + // special params: translations = { indexColumn: 'Index column', diff --git a/dmp-frontend/src/app/datasets/dataset.html b/dmp-frontend/src/app/datasets/dataset.html index e67e40fe9..3f01d7242 100644 --- a/dmp-frontend/src/app/datasets/dataset.html +++ b/dmp-frontend/src/app/datasets/dataset.html @@ -15,10 +15,65 @@ -->
- +
+ + + \ No newline at end of file diff --git a/dmp-frontend/src/app/dmps/dmp.component.ts b/dmp-frontend/src/app/dmps/dmp.component.ts index 80050af2a..670159a8b 100644 --- a/dmp-frontend/src/app/dmps/dmp.component.ts +++ b/dmp-frontend/src/app/dmps/dmp.component.ts @@ -13,6 +13,8 @@ import { HttpErrorResponse } from '@angular/common/http'; import { FormGroup, FormControl } from '@angular/forms'; //na dw an xreiazontai import { NgForm } from '@angular/forms'; +declare var $ :any; + @Component({ selector: 'dmps', templateUrl: 'dmps.html', @@ -23,9 +25,10 @@ export class DmpComponent implements OnInit{ @Input() dmps: Dmp[]; dmp:any; dmpResource :DataTableResource; + dmpIdforDatasets: string; @Input() dmpCount = 0; @Input() projectsDropDown:DropdownField; - //@Input() dataSetVisibe:boolean; + @Input() dataSetVisibe:boolean; @Input() projects: Project[]; @ViewChild(DataTable) dmpsTable; @@ -36,7 +39,7 @@ export class DmpComponent implements OnInit{ private serverService: ServerService, private route: ActivatedRoute, private router: Router){ - this.projectsDropDown = new DropdownField(); + this.projectsDropDown = new DropdownField(); this.projectsDropDown.options = []; this.projects = []; this.dmp = { @@ -56,14 +59,15 @@ export class DmpComponent implements OnInit{ this.dmps = []; this.serverService.getDmpOfUser().subscribe( response => { - debugger; +console.log(response); response.forEach(resp => { - let pr = new Dmp(); - pr.id = resp.id; - pr.id = resp.label; - pr.name = resp.abbreviation; - pr.dataset = resp.definition; - this.dmps.push(pr); + let dmp = new Dmp(); + dmp.id = resp.id; + dmp.label = resp.label; + dmp.version = resp.version; + dmp.dataset = resp.dataset; + dmp.projectLabel = resp.project.label; + this.dmps.push(dmp); var params = {limit:8,offset:0, sortAsc:false} this.afterLoad(); this.dmpResource.query(params).then(dmps => this.dmps = dmps); @@ -159,5 +163,18 @@ signOut() {     this.serverService.logOut(); } +selectDmp(rowEvent){ + this.dmpIdforDatasets = rowEvent.row.item.id; + this.dataSetVisibe = true; +} + +editRow(dmp){ + this.dmp.label = this.dmp.label; + this.dmp.abbreviation = this.dmp.abbreviation; + this.dmp.uri = this.dmp.uri; + this.dmp.id = this.dmp.id; + $("#newDmpModal").modal("show"); +} + } diff --git a/dmp-frontend/src/app/dmps/dmps.html b/dmp-frontend/src/app/dmps/dmps.html index e47f4d735..23d340aad 100644 --- a/dmp-frontend/src/app/dmps/dmps.html +++ b/dmp-frontend/src/app/dmps/dmps.html @@ -7,10 +7,12 @@ + [expandableRows]="true" [translations]="translations" [indexColumnHeader]="'#'" [selectOnRowClick]="true" (rowClick)="selectDmp($event)"> + + @@ -42,7 +44,7 @@ - + - + Sign out \ No newline at end of file diff --git a/dmp-frontend/src/app/entities/model/dmp.ts b/dmp-frontend/src/app/entities/model/dmp.ts index 70af07deb..861f3ea91 100644 --- a/dmp-frontend/src/app/entities/model/dmp.ts +++ b/dmp-frontend/src/app/entities/model/dmp.ts @@ -3,5 +3,11 @@ import { Injectable } from '@angular/core'; export class Dmp { id:string; dataset: string; - name: string; + label: string; + organisations:string; + previous:string; + profile:string; + profileData:string; + projectLabel:string; + version: number; } \ No newline at end of file diff --git a/dmp-frontend/src/app/services/rest-base.ts b/dmp-frontend/src/app/services/rest-base.ts index 467701587..33da83bc4 100644 --- a/dmp-frontend/src/app/services/rest-base.ts +++ b/dmp-frontend/src/app/services/rest-base.ts @@ -15,17 +15,17 @@ export class RestBase { this.xml2jsonOBJ = new X2JS(); } - /* + protocol: string = "http"; hostname: string ="dl010.madgik.di.uoa.gr" ;//"localhost";//"dl010.madgik.di.uoa.gr";// port: number = 8080;//8080;// webappname: string = "dmp-backend";//"dmp-backend-new";// - */ + - protocol: string = "http"; + /* protocol: string = "http"; hostname: string = "dionysus.di.uoa.gr" ; port: number = 7070; - webappname: string = "dmp-backend"; + webappname: string = "dmp-backend";*/ proxyPath : string = this.protocol+"://"+this.hostname+":"+this.port+"/"+this.webappname+"/proxy/"; diff --git a/dmp-frontend/src/app/services/server.service.ts b/dmp-frontend/src/app/services/server.service.ts index faa9210fa..6ca912e34 100644 --- a/dmp-frontend/src/app/services/server.service.ts +++ b/dmp-frontend/src/app/services/server.service.ts @@ -106,10 +106,21 @@ export class ServerService { public createDmpForCurrentUser(data:any){ - debugger; - return this.restBase.post("dmp/createofuser", data); + return this.restBase.post("dmp/createofuser", data); } + public getDatasetForDmp(data:any){ + return this.restBase.post("/dmp/getdatasets", data); +} + +public createDatasetForDmp(data:any){debugger; + return this.restBase.post("dataset/create", data); +} + +public getAllDatsetsProfile(){ + return this.restBase.get("datasetprofile/getAll"); +} + logOut() {