diff --git a/dmp-admin/src/app/services/rest-base.ts b/dmp-admin/src/app/services/rest-base.ts
index dc9ff97e0..1ca5fb519 100644
--- a/dmp-admin/src/app/services/rest-base.ts
+++ b/dmp-admin/src/app/services/rest-base.ts
@@ -16,7 +16,7 @@ export class RestBase {
}
protocol: string = "http";
- hostname: string = "localhost";//"dl010.madgik.di.uoa.gr";//
+ hostname: string = "dionysus.di.uoa.gr";//"dl010.madgik.di.uoa.gr";//
port: number = 7070;//8080;//
webappname: string = "dmp-backend";//"dmp-backend-new";//
restpath: string = "rest";
diff --git a/dmp-db-scema/DataManagementPlanDB.sql b/dmp-db-scema/DataManagementPlanDB.sql
index 67cd5b12a..8d8e41ffc 100644
--- a/dmp-db-scema/DataManagementPlanDB.sql
+++ b/dmp-db-scema/DataManagementPlanDB.sql
@@ -450,9 +450,6 @@ ALTER TABLE ONLY "DatasetService"
ADD CONSTRAINT "DatasetServiceServiceReference" FOREIGN KEY ("Service") REFERENCES "Service"("ID");
-DROP table if exists "UserDMP";
-DROP table if exists "UserInfo";
-DROP table if exists "UserAuth";
CREATE TABLE "UserInfo" (
"id" uuid DEFAULT uuid_generate_v4() UNIQUE NOT NULL,
@@ -488,13 +485,13 @@ COMMENT ON COLUMN "UserAuth"."password" IS 'This field stores a password hash';
create table "UserDMP" (
"id" uuid DEFAULT uuid_generate_v4() NOT NULL,
- "user" uuid NOT NULL,
+ "usr" uuid NOT NULL,
"dmp" uuid NOT NUll,
"role" integer
);
-ALTER TABLE "UserDMP" ADD CONSTRAINT fkey_userdmp_user FOREIGN KEY ("user") REFERENCES "UserInfo"("id");
-ALTER TABLE "UserDMP" ADD CONSTRAINT fkey_userdmp_dmp FOREIGN KEY ("dmp") REFERENCES "DMP"("ID");
+ALTER TABLE "UserDMP" ADD CONSTRAINT fkey_userdmp_user FOREIGN KEY (usr) REFERENCES "UserInfo"("id");
+ALTER TABLE "UserDMP" ADD CONSTRAINT fkey_userdmp_dmp FOREIGN KEY (dmp) REFERENCES "DMP"("ID");
ALTER TABLE "UserInfo" OWNER TO dmptool;
diff --git a/dmp-frontend/package-lock.json b/dmp-frontend/package-lock.json
index 69989fb2b..d4ec05e5d 100644
--- a/dmp-frontend/package-lock.json
+++ b/dmp-frontend/package-lock.json
@@ -175,6 +175,16 @@
"tslib": "1.7.1"
}
},
+ "@angular/platform-server": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-4.4.5.tgz",
+ "integrity": "sha1-dvI7LDhO1zldwXk8+Fl4iDuiy1A=",
+ "requires": {
+ "parse5": "3.0.2",
+ "tslib": "1.7.1",
+ "xhr2": "0.1.4"
+ }
+ },
"@angular/router": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-4.3.6.tgz",
@@ -240,8 +250,7 @@
"@types/node": {
"version": "6.0.88",
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.88.tgz",
- "integrity": "sha512-bYDPZTX0/s1aihdjLuAgogUAT5M+TpoWChEMea2p0yOcfn5bu3k6cJb9cp6nw268XeSNIGGr+4+/8V5K6BGzLQ==",
- "dev": true
+ "integrity": "sha512-bYDPZTX0/s1aihdjLuAgogUAT5M+TpoWChEMea2p0yOcfn5bu3k6cJb9cp6nw268XeSNIGGr+4+/8V5K6BGzLQ=="
},
"@types/q": {
"version": "0.0.32",
@@ -365,6 +374,57 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
+ "angular-2-data-table": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/angular-2-data-table/-/angular-2-data-table-0.1.2.tgz",
+ "integrity": "sha1-eiz/jPxKpxSpfTMwmLkRaqQourw="
+ },
+ "angular-4-data-table-bootstrap-4": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/angular-4-data-table-bootstrap-4/-/angular-4-data-table-bootstrap-4-0.2.0.tgz",
+ "integrity": "sha512-gw+3z96SSXZZFSjzAXEx69JecBZ9O5K2uMl/asCc7HFrLeS9Q2T0+HGrb4syODEBhJtey0JpzX4GGBotXuHfjg==",
+ "requires": {
+ "@angular/common": "4.3.6",
+ "@angular/core": "4.3.6",
+ "@angular/forms": "4.3.6",
+ "@angular/platform-browser": "4.3.6",
+ "@angular/platform-browser-dynamic": "4.3.6",
+ "@angular/platform-server": "4.4.5",
+ "@types/node": "8.0.44",
+ "rxjs": "5.4.3",
+ "ts-node": "3.3.0",
+ "zone.js": "0.8.17"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "8.0.44",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.44.tgz",
+ "integrity": "sha512-56TeARKE2uMi7xWhpRRws/QdnpSVx9i7E8esGiPYoj90jnonGfmV1vwRLvHWYjPxF5u5l7p5fgdKwdse+VeAQQ=="
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "ts-node": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.3.0.tgz",
+ "integrity": "sha1-wTxqMCTjC+EYDdUwOPwgkonUv2k=",
+ "requires": {
+ "arrify": "1.0.1",
+ "chalk": "2.1.0",
+ "diff": "3.3.0",
+ "make-error": "1.3.0",
+ "minimist": "1.2.0",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.16",
+ "tsconfig": "6.0.0",
+ "v8flags": "3.0.0",
+ "yn": "2.0.0"
+ }
+ }
+ }
+ },
"angular-google-signin": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/angular-google-signin/-/angular-google-signin-0.1.5.tgz",
@@ -690,8 +750,7 @@
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
},
"asap": {
"version": "2.0.6",
@@ -1403,7 +1462,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
"integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
- "dev": true,
"requires": {
"ansi-styles": "3.2.0",
"escape-string-regexp": "1.0.5",
@@ -1414,7 +1472,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
"integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
"requires": {
"color-convert": "1.9.0"
}
@@ -1422,14 +1479,12 @@
"has-flag": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
},
"supports-color": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz",
"integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==",
- "dev": true,
"requires": {
"has-flag": "2.0.0"
}
@@ -1623,7 +1678,6 @@
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz",
"integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=",
- "dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -1631,8 +1685,7 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"color-string": {
"version": "0.3.0",
@@ -2268,8 +2321,7 @@
"diff": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz",
- "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==",
- "dev": true
+ "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg=="
},
"diffie-hellman": {
"version": "5.0.2",
@@ -2717,8 +2769,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escope": {
"version": "3.6.0",
@@ -5025,8 +5076,7 @@
"make-error": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz",
- "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=",
- "dev": true
+ "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y="
},
"map-obj": {
"version": "1.0.1",
@@ -5248,8 +5298,7 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mixin-object": {
"version": "2.0.1",
@@ -5273,7 +5322,6 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
"requires": {
"minimist": "0.0.8"
}
@@ -5881,6 +5929,14 @@
"error-ex": "1.3.1"
}
},
+ "parse5": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz",
+ "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=",
+ "requires": {
+ "@types/node": "6.0.88"
+ }
+ },
"parsejson": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
@@ -7777,8 +7833,7 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
},
"source-map-loader": {
"version": "0.2.1",
@@ -7824,7 +7879,6 @@
"version": "0.4.16",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.16.tgz",
"integrity": "sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==",
- "dev": true,
"requires": {
"source-map": "0.5.7"
}
@@ -8166,8 +8220,7 @@
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"style-loader": {
"version": "0.13.2",
@@ -8491,7 +8544,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-6.0.0.tgz",
"integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=",
- "dev": true,
"requires": {
"strip-bom": "3.0.0",
"strip-json-comments": "2.0.1"
@@ -8500,8 +8552,7 @@
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
}
}
},
@@ -8776,8 +8827,7 @@
"user-home": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
- "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
- "dev": true
+ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA="
},
"useragent": {
"version": "2.2.1",
@@ -8842,7 +8892,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.0.tgz",
"integrity": "sha512-AGl+C+4qpeSu2g3JxCD/mGFFOs/vVZ3XREkD3ibQXEqr4Y4zgIrPWW124/IKJFHOIVFIoH8miWrLf0o84HYjwA==",
- "dev": true,
"requires": {
"user-home": "1.1.1"
}
@@ -9451,6 +9500,11 @@
"integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
"dev": true
},
+ "xhr2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz",
+ "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8="
+ },
"xml-char-classes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz",
@@ -9584,8 +9638,7 @@
"yn": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
- "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
- "dev": true
+ "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo="
},
"zone.js": {
"version": "0.8.17",
diff --git a/dmp-frontend/package.json b/dmp-frontend/package.json
index 68d9e8075..46f4eb9c6 100644
--- a/dmp-frontend/package.json
+++ b/dmp-frontend/package.json
@@ -21,6 +21,8 @@
"@angular/platform-browser": "^4.3.6",
"@angular/platform-browser-dynamic": "^4.3.6",
"@angular/router": "^4.3.6",
+ "angular-2-data-table": "^0.1.2",
+ "angular-4-data-table-bootstrap-4": "^0.2.0",
"angular-google-signin": "^0.1.5",
"bootstrap": "^3.3.7",
"core-js": "^2.4.1",
diff --git a/dmp-frontend/src/app/app-routing.module.ts b/dmp-frontend/src/app/app-routing.module.ts
index 6bb89a47e..3ff7e5790 100644
--- a/dmp-frontend/src/app/app-routing.module.ts
+++ b/dmp-frontend/src/app/app-routing.module.ts
@@ -5,6 +5,7 @@ import { DynamicFormComponent } from './form/dynamic-form.component';
import { LoginComponent } from './login/login-page';
import { AuthGuard } from './guards/auth.guard';
import { ProjectsComponent } from './projects/projects.component';
+import { DatasetsComponent } from './datasets/dataset.component';
const appRoutes: Routes = [
{ path: 'dynamic-form', component: DynamicFormComponent, canActivate: [AuthGuard] },
diff --git a/dmp-frontend/src/app/app.module.ts b/dmp-frontend/src/app/app.module.ts
index b1d9312ff..58cb2a3c7 100644
--- a/dmp-frontend/src/app/app.module.ts
+++ b/dmp-frontend/src/app/app.module.ts
@@ -4,8 +4,10 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { HttpModule } from '@angular/http';
import { RouterModule, Routes, Router } from '@angular/router';
+import {DataTableModule } from 'angular-4-data-table-bootstrap-4';
import { AppComponent } from './app.component';
+import { RestBase } from './services/rest-base';
import { DynamicFormComponent } from './form/dynamic-form.component';
import { DynamicFormFieldComponent } from './form/fields/dynamic-form-field.component';
import { ServerService } from './services/server.service';
@@ -21,6 +23,8 @@ import { PageNotFoundComponent } from './not-found.component';
import { TocComponent } from './form/tableOfContents/toc.component';
import { ProjectsModule } from './projects/project.module';
import { PaginationService } from './services/pagination.service';
+import { EestoreService } from './services/eestore.service';
+import { DatasetsModule } from './datasets/dataset.module';
@NgModule({
declarations: [
@@ -40,10 +44,12 @@ import { PaginationService } from './services/pagination.service';
HttpModule,
HttpClientModule,
ProjectsModule,
- AppRoutingModule
+ DatasetsModule,
+ AppRoutingModule,
+ DataTableModule
],
- providers: [ServerService, dataModelBuilder, AuthGuard, PaginationService, TokenService, LocalStorageService],
+ providers: [ServerService, dataModelBuilder, AuthGuard, PaginationService, TokenService, LocalStorageService, RestBase, EestoreService],
bootstrap: [AppComponent]
})
export class AppModule {
diff --git a/dmp-frontend/src/app/datasets/dataset-routing.module.ts b/dmp-frontend/src/app/datasets/dataset-routing.module.ts
new file mode 100644
index 000000000..36b74623e
--- /dev/null
+++ b/dmp-frontend/src/app/datasets/dataset-routing.module.ts
@@ -0,0 +1,22 @@
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
+
+import { DatasetsComponent } from './dataset.component';
+//import { ProjectDetailComponent } from './project.detail';
+import { DynamicFormComponent } from '../form/dynamic-form.component';
+import { AuthGuard } from '../guards/auth.guard';
+
+const datasetsRoutes: Routes = [
+ { path: 'dataset', component: DatasetsComponent },
+ { path: 'dynamic-form/:id', component: DynamicFormComponent, canActivate: [AuthGuard] }
+];
+
+@NgModule({
+ imports: [
+ RouterModule.forChild(datasetsRoutes)
+ ],
+ exports: [
+ RouterModule
+ ]
+})
+export class DatasetRoutingModule { }
\ No newline at end of file
diff --git a/dmp-frontend/src/app/datasets/dataset.component.ts b/dmp-frontend/src/app/datasets/dataset.component.ts
new file mode 100644
index 000000000..e5334bf43
--- /dev/null
+++ b/dmp-frontend/src/app/datasets/dataset.component.ts
@@ -0,0 +1,94 @@
+import { Component, OnInit, Input, ViewChild, NgZone } from '@angular/core';
+import {GoogleSignInSuccess} from 'angular-google-signin';
+import { Router, ActivatedRoute } from '@angular/router';
+import { ServerService } from '../../app/services/server.service';
+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';
+
+@Component({
+ selector: 'projects',
+ templateUrl: 'dataset.html',
+// template: `
+//
Projects
+
+//
+
+//
+// `,
+ providers: [ServerService]
+})
+
+export class DatasetsComponent implements OnInit{
+
+ returnUrl: string;
+ @Input() datasets: Dataset[];
+ datasetResource :DataTableResource;
+ @Input() datasetCount = 0;
+
+ @ViewChild(DataTable) projectsTable;
+
+ constructor(
+ private serverService: ServerService,
+ private route: ActivatedRoute,
+ private router: Router,
+ private ngZone: NgZone){
+
+ }
+
+ ngOnInit() {
+ //this.projects = this.serverService.getDummyProjects();
+ this.datasets = [];
+ this.serverService.getAllDatasets().subscribe(
+ response => {
+
+ console.log("response");
+ console.log(response);
+ response.forEach(resp => {
+
+ let dt = new Dataset();
+ dt.id = resp.id;
+ dt.name = resp.label;
+ dt.uriDataset = resp.uri;
+ this.datasets.push(dt);
+ var params = {limit:8,offset:0, sortAsc:false}
+ this.afterLoad();
+ this.datasetResource.query(params).then(datasets => this.datasets = datasets);
+ });
+ }
+ );
+ }
+
+ reloadDatasets(params) {
+ this.datasetResource.query(params).then(projects => this.datasets = projects);
+}
+
+afterLoad(){
+ this.datasetResource = new DataTableResource(this.datasets);
+ this.datasetResource.count().then(count => this.datasetCount = count);
+}
+
+rowClick(rowEvent){
+ this.ngZone.run(() => this.router.navigateByUrl('dynamic-form', rowEvent.row.item.id));
+}
+
+ // special params:
+ translations = {
+ indexColumn: 'Index column',
+ expandColumn: 'Expand column',
+ selectColumn: 'Select column',
+ paginationLimit: 'Max results',
+ paginationRange: 'Result range'
+};
+
+
+
+}
diff --git a/dmp-frontend/src/app/datasets/dataset.html b/dmp-frontend/src/app/datasets/dataset.html
new file mode 100644
index 000000000..e67e40fe9
--- /dev/null
+++ b/dmp-frontend/src/app/datasets/dataset.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dmp-frontend/src/app/datasets/dataset.module.ts b/dmp-frontend/src/app/datasets/dataset.module.ts
new file mode 100644
index 000000000..7439526e3
--- /dev/null
+++ b/dmp-frontend/src/app/datasets/dataset.module.ts
@@ -0,0 +1,24 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import {DataTableModule } from 'angular-4-data-table-bootstrap-4';
+
+import { DatasetsComponent } from './dataset.component';
+
+import { DatasetRoutingModule } from './dataset-routing.module';
+//import { ProjectDetailComponent } from './project.detail';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ DatasetRoutingModule,
+ DataTableModule
+ ],
+ declarations: [
+ DatasetsComponent
+ //ProjectDetailComponent
+ ],
+ providers: [ ]
+})
+export class DatasetsModule {}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/entities/model/dataset.ts b/dmp-frontend/src/app/entities/model/dataset.ts
new file mode 100644
index 000000000..b3cd57fbf
--- /dev/null
+++ b/dmp-frontend/src/app/entities/model/dataset.ts
@@ -0,0 +1,7 @@
+import { Injectable } from '@angular/core';
+
+export class Dataset {
+ id:string;
+ name: string;
+ uriDataset: string;
+}
\ 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
new file mode 100644
index 000000000..70af07deb
--- /dev/null
+++ b/dmp-frontend/src/app/entities/model/dmp.ts
@@ -0,0 +1,7 @@
+import { Injectable } from '@angular/core';
+
+export class Dmp {
+ id:string;
+ dataset: string;
+ name: string;
+}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/entities/model/project.ts b/dmp-frontend/src/app/entities/model/project.ts
index 5253552fa..c65a87a85 100644
--- a/dmp-frontend/src/app/entities/model/project.ts
+++ b/dmp-frontend/src/app/entities/model/project.ts
@@ -1,7 +1,13 @@
import { Injectable } from '@angular/core';
+import { Dmp } from './dmp'
+import { Dataset } from './dataset'
export class Project {
name: string;
id: string;
-
+ abbreviation: string;
+ definition: string;
+ uri: string;
+ dmp: Dmp;
+ dataset: Dataset;
}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/form/dynamic-form.component.ts b/dmp-frontend/src/app/form/dynamic-form.component.ts
index ab1a76db7..a3c18ff6b 100644
--- a/dmp-frontend/src/app/form/dynamic-form.component.ts
+++ b/dmp-frontend/src/app/form/dynamic-form.component.ts
@@ -169,7 +169,7 @@ export class DynamicFormComponent implements OnInit {
//this.dataModel.groups = this.dataModel.groups.slice(this.pager.startIndex, this.pager.endIndex + 1);
}
-signOut2() {debugger;
+signOut2() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
console.log('User signed out.');
diff --git a/dmp-frontend/src/app/form/fields/field-base.ts b/dmp-frontend/src/app/form/fields/field-base.ts
index 1eb4466cd..0863ac18c 100644
--- a/dmp-frontend/src/app/form/fields/field-base.ts
+++ b/dmp-frontend/src/app/form/fields/field-base.ts
@@ -14,6 +14,7 @@ export class FieldBase{
description:string;
attributes: Attribute;
regex:string;
+ url: any;
constructor(options: {
value?: T,
@@ -27,7 +28,8 @@ export class FieldBase{
group?: string
description?: string,
attributes?: Attribute,
- regex?:string
+ regex?:string,
+ url?: any
} = {}) {
this.value = options.value;
this.key = options.key || '';
@@ -41,5 +43,6 @@ export class FieldBase{
this.description = options.description || '';
this.attributes = options.attributes || new Attribute();
this.regex = options.regex || '';
+ this.url = options.url || {"url":null, "fieldpath":null, "data":null};
}
}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/form/tableOfContents/toc.component.html b/dmp-frontend/src/app/form/tableOfContents/toc.component.html
index edd5f6801..1377a1088 100644
--- a/dmp-frontend/src/app/form/tableOfContents/toc.component.html
+++ b/dmp-frontend/src/app/form/tableOfContents/toc.component.html
@@ -1,9 +1,8 @@