From a5c7be1f26011394e924d4e374401a8697c99f13 Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Tue, 17 Oct 2017 12:13:10 +0300 Subject: [PATCH] minor edit --- .../main-sign-in/main-sign-in.component.html | 2 ++ .../services/login/native-login.service.ts | 2 +- dmp-admin/src/app/services/rest-base.ts | 6 +++- .../src/app/form/dynamic-form.component.ts | 32 +++++++++++++++---- dmp-frontend/src/app/login/login-page.ts | 2 +- .../src/app/services/server.service.ts | 25 ++++++++------- 6 files changed, 48 insertions(+), 21 deletions(-) diff --git a/dmp-admin/src/app/login/main-sign-in/main-sign-in.component.html b/dmp-admin/src/app/login/main-sign-in/main-sign-in.component.html index 03cd0d568..660c3348b 100644 --- a/dmp-admin/src/app/login/main-sign-in/main-sign-in.component.html +++ b/dmp-admin/src/app/login/main-sign-in/main-sign-in.component.html @@ -17,7 +17,9 @@ Need help? + Create an account diff --git a/dmp-admin/src/app/services/login/native-login.service.ts b/dmp-admin/src/app/services/login/native-login.service.ts index 34f7cf6a3..5330defdd 100644 --- a/dmp-admin/src/app/services/login/native-login.service.ts +++ b/dmp-admin/src/app/services/login/native-login.service.ts @@ -18,7 +18,7 @@ export class NativeLoginService implements OnInit { login(username, password){ var credentials = {"username": username, "password":password}; - return this.restBase.post("nativeLogin", credentials); + return this.restBase.login("nativeLogin", credentials); } diff --git a/dmp-admin/src/app/services/rest-base.ts b/dmp-admin/src/app/services/rest-base.ts index 3d24a03ec..f610ef02e 100644 --- a/dmp-admin/src/app/services/rest-base.ts +++ b/dmp-admin/src/app/services/rest-base.ts @@ -22,9 +22,13 @@ export class RestBase { restpath: string = "rest"; + loginPath : string = this.protocol+"://"+this.hostname+":"+this.port+"/"+this.webappname+"/"; restBasePath: string = this.protocol+"://"+this.hostname+":"+this.port+"/"+this.webappname+"/"+this.restpath+"/"; + public login(path : string, data : any){ + return this.http.post(this.loginPath + path, JSON.stringify(data)); + } public get(path : string){ var options = this.createOptions(); @@ -32,7 +36,7 @@ export class RestBase { } - public post (path : string, data : any){ + public post(path : string, data : any){ var options = this.createOptions(); return this.http.post(this.restBasePath + path, JSON.stringify(data), options); } diff --git a/dmp-frontend/src/app/form/dynamic-form.component.ts b/dmp-frontend/src/app/form/dynamic-form.component.ts index 3dfaf6c70..1d5f3c883 100644 --- a/dmp-frontend/src/app/form/dynamic-form.component.ts +++ b/dmp-frontend/src/app/form/dynamic-form.component.ts @@ -12,6 +12,9 @@ import { DataModel } from '../entities/DataModel'; import { GroupBase } from './dynamic-form-group/group-base'; import { PaginationService } from '../../app/services/pagination.service'; +import './../../assets/xml2json.min.js'; +declare var X2JS: any; + @Component({ selector: 'dynamic-form', templateUrl: './dynamic-form.component.html', @@ -27,10 +30,12 @@ export class DynamicFormComponent implements OnInit { @Input() pagination: any = {}; private fragment: string; + xml2jsonOBJ: any; constructor(private qcs: FieldControlService, private serverService: ServerService, private dataModelService: dataModelBuilder, private router: Router, private route: ActivatedRoute, private pagerService: PaginationService) { this.form = this.qcs.toFormGroup(new Array(), new Array()); + this.xml2jsonOBJ = new X2JS(); } getSubForm(subformName) { @@ -45,12 +50,23 @@ export class DynamicFormComponent implements OnInit { console.log("DynamicFormComponent.ngOnInit() -- RUNNIGN"); let id = this.route.snapshot.paramMap.get('id'); //get the project id - this.serverService.getData() - .subscribe( - (data: any[]) => { + this.serverService.getData().subscribe( + response => { + + console.log("response"); + console.log(response); + + const data = response; + + //replace the xmls {model,view,rule} definitions with json -- https://github.com/abdmob/x2js library + data.dataset.profile.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.definition); + data.dataset.profile.ruleset.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.ruleset.definition); + data.dataset.profile.viewstyle.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.viewstyle.definition); + //can be converted back to xml (which shouldn't be needed) with this.xml2jsonOBJ.json2xml_str + console.log("this.serverService.getFields"); - + this.dataModel = new DataModel(); this.dataModel = this.dataModelService.getDataModel(data); @@ -92,9 +108,13 @@ export class DynamicFormComponent implements OnInit { // initialize to page 1 this.setPage(1); + }, - (error) => console.log(error) - ); + err => { + console.log("There was an error fetching the data from server"); + console.log(err); + } + ); } diff --git a/dmp-frontend/src/app/login/login-page.ts b/dmp-frontend/src/app/login/login-page.ts index efe7ca6bc..e08782165 100644 --- a/dmp-frontend/src/app/login/login-page.ts +++ b/dmp-frontend/src/app/login/login-page.ts @@ -57,7 +57,7 @@ export class LoginComponent implements OnInit{ - + //this.router.navigateByUrl('dynamic-form'); this.ngZone.run(() => this.router.navigateByUrl('projects')); //this.router.navigate(['/projects']); diff --git a/dmp-frontend/src/app/services/server.service.ts b/dmp-frontend/src/app/services/server.service.ts index ff44b3f77..7d35432ad 100644 --- a/dmp-frontend/src/app/services/server.service.ts +++ b/dmp-frontend/src/app/services/server.service.ts @@ -1,7 +1,5 @@ import {Injectable, ReflectiveInjector, Injector} from '@angular/core'; -import {Headers, Http, Response} from '@angular/http'; import { HttpClient , HttpHeaders, HttpParams} from '@angular/common/http'; -import 'rxjs/Rx'; import {FieldBase} from '../../app/form/fields/field-base'; import {JsonObjest} from '../../app/entities/JsonObject.class'; import {dataModelBuilder} from '../../app/services/dataModelBuilder.service'; @@ -10,9 +8,9 @@ import {DataModel} from '../entities/DataModel'; import {Project} from '../entities/model/project'; import {LoginComponent} from '../../app/login/login-page'; import { TokenService, TokenProvider } from './token.service'; +import 'rxjs/Rx'; import './../../assets/xml2json.min.js'; - declare var X2JS: any; @Injectable() @@ -32,27 +30,30 @@ export class ServerService { //fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/6c845c42-dc09-42ed-9959-cceb3b616364'; */ - data: any; + //data: any; - constructor(private http: Http, private tokenService: TokenService) { //private http: Http + constructor(private httpClient: HttpClient, private tokenService: TokenService) { //private http: Http this.xml2jsonOBJ = new X2JS(); } getData() { - if(this.data != null) - return this.data; //use the already loaded one - //let headers = new HttpHeaders(); - let headers = new HttpHeaders().set("google-token", this.tokenService.getToken()); + let headers = new HttpHeaders().set("google-token", this.tokenService.getToken()); -console.log("google-token: "+ this.tokenService.getToken()); + console.log("google-token: "+ this.tokenService.getToken()); + return this.httpClient.get(this.fetchURL); + + +/* return this.http.get(this.fetchURL) .map( (response: Response) => { - const data = response.json(); + console.log("response"); + console.log(response); + const data = response.json(); //replace the xmls {model,view,rule} definitions with json -- https://github.com/abdmob/x2js library data.dataset.profile.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.definition); @@ -64,7 +65,7 @@ console.log("google-token: "+ this.tokenService.getToken()); return data; } ); - +*/ }