diff --git a/dmp-frontend/src/app/core/model/dmp/dmp.ts b/dmp-frontend/src/app/core/model/dmp/dmp.ts index 04398bdfc..43b58a9b3 100644 --- a/dmp-frontend/src/app/core/model/dmp/dmp.ts +++ b/dmp-frontend/src/app/core/model/dmp/dmp.ts @@ -5,8 +5,8 @@ import { ProjectListingModel } from "../project/project-listing"; import { ResearcherModel } from "../researcher/researcher"; import { UserModel } from "../user/user"; import { DmpDynamicField } from "./dmp-dynamic-field"; -import { DatasetOverviewModel } from "../dataset/dataset-overview"; import { UserInfoListingModel } from "../user/user-info-listing"; +import { DatasetModel } from "../dataset/dataset"; export interface DmpModel { id: string; @@ -18,7 +18,7 @@ export interface DmpModel { lockable: boolean; description: String; project: ProjectListingModel; - datasets: DatasetOverviewModel[]; + datasets: DatasetModel[]; profiles: DmpProfile[]; organisations: OrganizationModel[]; researchers: ResearcherModel[]; diff --git a/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.html b/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.html new file mode 100644 index 000000000..0bb355cec --- /dev/null +++ b/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.html @@ -0,0 +1,24 @@ +
+
+
+ addAdd Dataset to Dmp +
+
+
+
+
+ bookmark + bookmark +

DRAFT: {{ dataset.label }}

+

{{ dataset.label }}

+
+ {{ dataset.profile }}
+
+
+
+
+
+ +
diff --git a/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.scss b/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.scss new file mode 100644 index 000000000..357a847f5 --- /dev/null +++ b/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.scss @@ -0,0 +1,71 @@ +.draft-bookmark { + color: #e7e6e6; + display: inline; + position: absolute; + margin-top: 0.5em; + margin-left: 0.5em; +} + +.finalized-bookmark { + color: #92d050; + display: inline; + position: absolute; + margin-top: 0.5em; + margin-left: 0.5em; +} + +.dataset-card { + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + border-radius: 6px; + color: #333333; + background: #fff; + width: 100%; + min-height: 90%; + max-height: 90%; + margin-top: 1em; + margin-bottom: 1em; + cursor: pointer; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.14); +} + +.dataset-card h4 { + padding-left: 1em; + margin: 1em 1.5em; +} + +.show-more { + background-color: #ffffff00; + color: #4687f0; + font-weight: 700; + justify-self: center; +} + +.chip { + padding: 0.1em 1em; + margin-top: auto; + margin-bottom: 1em; + margin-left: 2.5em; + margin-right: 2.5em; + border-radius: 10em; + background-color: #0070c0; + // background-color: rgb(70, 135, 230); + color: #fff; + text-transform: uppercase; + font-weight: 500; + max-width: 160px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.add-dataset { + display: flex; + justify-content: flex-end; + margin-top: 1.5em; + padding-right: 2em; + cursor: pointer; + color: #0070c0; +} diff --git a/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.ts b/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.ts new file mode 100644 index 000000000..d9c461e47 --- /dev/null +++ b/dmp-frontend/src/app/ui/dmp/editor/datasets-tab/datasets-tab.component.ts @@ -0,0 +1,39 @@ +import { Component, OnInit, Input } from '@angular/core'; +import { DmpEditorModel } from '../dmp-editor.model'; +import { Router } from '@angular/router'; +import { DatasetOverviewModel } from '../../../../core/model/dataset/dataset-overview'; + +@Component({ + selector: 'app-datasets-tab', + templateUrl: './datasets-tab.component.html', + styleUrls: ['./datasets-tab.component.scss'] +}) +export class DatasetsTabComponent implements OnInit { + + @Input() dmp: DmpEditorModel; + + constructor( + private router: Router + ) { } + + ngOnInit() { + } + + datasetClicked(datasetId: String) { + this.router.navigate(['/datasets/edit/' + datasetId]); + } + + datasetsClicked(dmpId: String) { + this.router.navigate(['/datasets'], { queryParams: { dmpId: dmpId } }); + } + + isDraft(dataset: DatasetOverviewModel) { + if (dataset.status == 0) { return true } + else { return false } + } + + addDataset(rowId: String) { + this.router.navigate(['/datasets/new/' + rowId]); + } + +} diff --git a/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts b/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts index 8b441ed9f..5420a5101 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts @@ -12,8 +12,8 @@ import { ProjectListingModel } from "../../../core/model/project/project-listing import { ResearcherModel } from "../../../core/model/researcher/researcher"; import { UserModel } from "../../../core/model/user/user"; import { ValidJsonValidator } from "../../../library/auto-complete/auto-complete-custom-validator"; -import { DatasetOverviewModel } from "../../../core/model/dataset/dataset-overview"; import { UserInfoListingModel } from "../../../core/model/user/user-info-listing"; +import { DatasetModel } from "../../../core/model/dataset/dataset"; export class DmpEditorModel { public id: string; @@ -29,7 +29,7 @@ export class DmpEditorModel { public organisations: OrganizationModel[] = []; public researchers: ResearcherModel[] = []; public profiles: DmpProfile[] = []; - public datasets: DatasetOverviewModel[] = []; + public datasets: DatasetModel[] = []; public associatedUsers: UserModel[] = []; public users: UserInfoListingModel[] = []; public definition: DmpProfileDefinition; @@ -74,6 +74,7 @@ export class DmpEditorModel { researchers: [{ value: this.researchers, disabled: disabled }, context.getValidation('researchers').validators], profiles: [{ value: this.profiles, disabled: disabled }, context.getValidation('profiles').validators], associatedUsers: [{ value: this.associatedUsers, disabled: disabled }, context.getValidation('associatedUsers').validators], + users: [{ value: this.users, disabled: disabled }, context.getValidation('users').validators] }); const dynamicFields = new Array(); @@ -97,6 +98,7 @@ export class DmpEditorModel { baseContext.validation.push({ key: 'researchers', validators: [BackendErrorValidator(this.validationErrorModel, 'researchers')] }); baseContext.validation.push({ key: 'profiles', validators: [Validators.required, ValidJsonValidator, BackendErrorValidator(this.validationErrorModel, 'profiles')] }); baseContext.validation.push({ key: 'associatedUsers', validators: [BackendErrorValidator(this.validationErrorModel, 'associatedUsers')] }); + baseContext.validation.push({ key: 'users', validators: [BackendErrorValidator(this.validationErrorModel, 'users')] }); return baseContext; } diff --git a/dmp-frontend/src/app/ui/dmp/editor/people-tab/people-tab.component.html b/dmp-frontend/src/app/ui/dmp/editor/people-tab/people-tab.component.html index 12a1b5d64..4eb97c3b3 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/people-tab/people-tab.component.html +++ b/dmp-frontend/src/app/ui/dmp/editor/people-tab/people-tab.component.html @@ -1,7 +1,7 @@
-
-
+
+
Collaborators
add{{'DMP-LISTING.ACTIONS.INVITE' | translate}} diff --git a/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.html b/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.html index 1847da7f5..539433685 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.html +++ b/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.html @@ -1,6 +1,6 @@
-
+