From 72ab2d95137c49adcdbe75dd95cdacd310775819 Mon Sep 17 00:00:00 2001 From: Diamadis Tziotzios Date: Tue, 19 Dec 2017 11:53:52 +0200 Subject: [PATCH] no message --- .../datasets_new/dataset-listing.component.ts | 2 +- .../src/app/dmps/dmp-listing.component.html | 4 +- .../src/app/dmps/dmp-listing.component.ts | 2 +- .../src/app/models/criteria/RequestItem.ts | 6 +++ .../app/models/data-table/DataTableRequest.ts | 5 ++- .../app/projects/project-listing.component.ts | 2 +- .../data-management-plan.service.ts | 3 +- .../app/services/dataset/dataset.service.ts | 3 +- .../app/services/project/project.service.ts | 8 +++- .../dmp-criteria.component.html | 8 ++-- .../dmp-criteria.component.ts | 43 ++++++++++++++++++- 11 files changed, 70 insertions(+), 16 deletions(-) create mode 100644 dmp-frontend/src/app/models/criteria/RequestItem.ts diff --git a/dmp-frontend/src/app/datasets_new/dataset-listing.component.ts b/dmp-frontend/src/app/datasets_new/dataset-listing.component.ts index c4e41dc1c..2166d0bce 100644 --- a/dmp-frontend/src/app/datasets_new/dataset-listing.component.ts +++ b/dmp-frontend/src/app/datasets_new/dataset-listing.component.ts @@ -95,7 +95,7 @@ export class DatasetDataSource extends DataSource { this.isLoadingResults = true; }); const startIndex = this._paginator.pageIndex * this._paginator.pageSize; - const request = new DataTableRequest(startIndex, this._paginator.pageSize); + const request = new DataTableRequest(startIndex, this._paginator.pageSize); request.criteria = this._criteria.criteria; return this._service.getPaged(request); }) diff --git a/dmp-frontend/src/app/dmps/dmp-listing.component.html b/dmp-frontend/src/app/dmps/dmp-listing.component.html index 9148b0008..a26e043d8 100644 --- a/dmp-frontend/src/app/dmps/dmp-listing.component.html +++ b/dmp-frontend/src/app/dmps/dmp-listing.component.html @@ -10,13 +10,13 @@ {{'DMP-LISTING.COLUMNS.NAME' | translate}} - {{row.name}} + {{row.label}} {{'DMP-LISTING.COLUMNS.PROJECT' | translate}} - {{row.abbreviation}} + {{row.project?.label}} diff --git a/dmp-frontend/src/app/dmps/dmp-listing.component.ts b/dmp-frontend/src/app/dmps/dmp-listing.component.ts index 0882f0062..7cc3030b0 100644 --- a/dmp-frontend/src/app/dmps/dmp-listing.component.ts +++ b/dmp-frontend/src/app/dmps/dmp-listing.component.ts @@ -95,7 +95,7 @@ export class DataManagementPlanDataSource extends DataSource(startIndex, this._paginator.pageSize); request.criteria = this._criteria.criteria; return this._service.getPaged(request); }) diff --git a/dmp-frontend/src/app/models/criteria/RequestItem.ts b/dmp-frontend/src/app/models/criteria/RequestItem.ts new file mode 100644 index 000000000..976e7af91 --- /dev/null +++ b/dmp-frontend/src/app/models/criteria/RequestItem.ts @@ -0,0 +1,6 @@ +import { FormGenerator } from "../../utilities/forms/FormGenerator"; +import { BaseCriteriaErrorModel } from "./BaseCriteriaErrorModel"; + +export class RequestItem { + public criteria: T; +} diff --git a/dmp-frontend/src/app/models/data-table/DataTableRequest.ts b/dmp-frontend/src/app/models/data-table/DataTableRequest.ts index 576c6b89b..b85da378f 100644 --- a/dmp-frontend/src/app/models/data-table/DataTableRequest.ts +++ b/dmp-frontend/src/app/models/data-table/DataTableRequest.ts @@ -1,11 +1,12 @@ import { BaseCriteria } from "../criteria/BaseCriteria"; +import { RequestItem } from "../criteria/RequestItem"; -export class DataTableRequest { +export class DataTableRequest extends RequestItem { offset = 0; length = 0; - criteria: BaseCriteria; constructor(offset: number, length: number) { + super(); this.length = length; this.offset = offset; } diff --git a/dmp-frontend/src/app/projects/project-listing.component.ts b/dmp-frontend/src/app/projects/project-listing.component.ts index f0d033168..faed35e0d 100644 --- a/dmp-frontend/src/app/projects/project-listing.component.ts +++ b/dmp-frontend/src/app/projects/project-listing.component.ts @@ -96,7 +96,7 @@ export class ProjectDataSource extends DataSource { this.isLoadingResults = true; }); const startIndex = this._paginator.pageIndex * this._paginator.pageSize; - const request = new DataTableRequest(startIndex, this._paginator.pageSize); + const request = new DataTableRequest(startIndex, this._paginator.pageSize); request.criteria = this._criteria.criteria; return this._service.getPaged(request); }) diff --git a/dmp-frontend/src/app/services/data-management-plan/data-management-plan.service.ts b/dmp-frontend/src/app/services/data-management-plan/data-management-plan.service.ts index 3aac34474..ae411f7ef 100644 --- a/dmp-frontend/src/app/services/data-management-plan/data-management-plan.service.ts +++ b/dmp-frontend/src/app/services/data-management-plan/data-management-plan.service.ts @@ -8,6 +8,7 @@ import { DataTableRequest } from '../../models/data-table/DataTableRequest'; import { DataTableData } from '../../models/data-table/DataTableData'; import { DataManagementPlanModel } from '../../models/data-managemnt-plans/DataManagementPlanModel'; import { DataManagementPlanListingModel } from '../../models/data-managemnt-plans/DataManagementPlanListingModel'; +import { DataManagementPlanCriteria } from '../../models/criteria/data-management-plan/DataManagementPlanCriteria'; @Injectable() @@ -25,7 +26,7 @@ export class DataManagementPlanService { this.headers = this.headers.set('Accept', 'application/json'); } - getPaged(dataTableRequest: DataTableRequest): Observable> { + getPaged(dataTableRequest: DataTableRequest): Observable> { return this.http.post>(this.actionUrl + 'getPaged', dataTableRequest, { headers: this.headers }); } diff --git a/dmp-frontend/src/app/services/dataset/dataset.service.ts b/dmp-frontend/src/app/services/dataset/dataset.service.ts index 808563f43..83cc1809a 100644 --- a/dmp-frontend/src/app/services/dataset/dataset.service.ts +++ b/dmp-frontend/src/app/services/dataset/dataset.service.ts @@ -8,6 +8,7 @@ import { DataTableRequest } from '../../models/data-table/DataTableRequest'; import { DataTableData } from '../../models/data-table/DataTableData'; import { DatasetListingModel } from '../../models/datasets/DatasetListingModel'; import { DatasetModel } from '../../models/datasets/DatasetModel'; +import { DatasetCriteria } from '../../models/criteria/dataset/DatasetCriteria'; @Injectable() @@ -25,7 +26,7 @@ export class DatasetService { this.headers = this.headers.set('Accept', 'application/json'); } - getPaged(dataTableRequest: DataTableRequest): Observable> { + getPaged(dataTableRequest: DataTableRequest): Observable> { return this.http.post>(this.actionUrl + 'getPaged', dataTableRequest, { headers: this.headers }); } diff --git a/dmp-frontend/src/app/services/project/project.service.ts b/dmp-frontend/src/app/services/project/project.service.ts index 4e9719e98..e2fd4fe0b 100644 --- a/dmp-frontend/src/app/services/project/project.service.ts +++ b/dmp-frontend/src/app/services/project/project.service.ts @@ -9,6 +9,8 @@ import { DataTableData } from '../../models/data-table/DataTableData'; import { ProjectListingModel } from '../../models/projects/ProjectListingModel'; import { ProjectModel } from '../../models/projects/ProjectModel'; import { BaseHttpResponseModel } from '../../models/http/BaseHttpResponseModel'; +import { ProjectCriteria } from '../../models/criteria/project/ProjectCriteria'; +import { RequestItem } from '../../models/criteria/RequestItem'; @Injectable() @@ -26,10 +28,14 @@ export class ProjectService { this.headers = this.headers.set('Accept', 'application/json'); } - getPaged(dataTableRequest: DataTableRequest): Observable> { + getPaged(dataTableRequest: DataTableRequest): Observable> { return this.http.post>(this.actionUrl + 'getPaged', dataTableRequest, { headers: this.headers }); } + get(requestItem: RequestItem): Observable { + return this.http.post(this.actionUrl + 'get', requestItem, { headers: this.headers }); + } + getSingle(id: string): Observable { return this.http.get(this.actionUrl + 'getSingle/' + id, { headers: this.headers }); } diff --git a/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.html b/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.html index 6d55298e6..924f02e6c 100644 --- a/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.html +++ b/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.html @@ -9,15 +9,15 @@
- -
{{chip.name.substring(0, 1).toUpperCase()}}
- {{chip.name}} +
{{chip.label.substring(0, 1).toUpperCase()}}
+ {{chip.label}}
- {{option.name}} + {{option.label}}
diff --git a/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.ts b/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.ts index 765c17502..d9eaf4c07 100644 --- a/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.ts +++ b/dmp-frontend/src/app/shared/components/criteria/data-management-plan/dmp-criteria.component.ts @@ -7,13 +7,16 @@ import { BackendErrorValidator } from '../../../../utilities/validators/BackendE import { DataManagementPlanCriteria } from '../../../../models/criteria/data-management-plan/DataManagementPlanCriteria'; import { DataManagementPlanCriteriaErrorModel } from '../../../../models/criteria/data-management-plan/DataManagementPlanCriteriaErrorModel'; import { ProjectModel } from '../../../../models/projects/ProjectModel'; +import { ProjectService } from '../../../../services/project/project.service'; +import { ProjectCriteria } from '../../../../models/criteria/project/ProjectCriteria'; +import { RequestItem } from '../../../../models/criteria/RequestItem'; +import { create } from 'domain'; @Component({ selector: 'app-dmp-criteria-component', templateUrl: './dmp-criteria.component.html', styleUrls: ['./dmp-criteria.component.scss'], - providers: [ - ] + providers: [ProjectService] }) export class DataManagementPlanCriteriaComponent extends BaseCriteriaComponent implements OnInit { @@ -24,6 +27,7 @@ export class DataManagementPlanCriteriaComponent extends BaseCriteriaComponent i constructor( public language: TranslateService, + public projectService: ProjectService, public formBuilder: FormBuilder ) { super(new DataManagementPlanCriteriaErrorModel()); @@ -37,4 +41,39 @@ export class DataManagementPlanCriteriaComponent extends BaseCriteriaComponent i setCriteria(criteria: DataManagementPlanCriteria): void { this.criteria = criteria; } + + onCallbackError(error: any) { + this.setErrorModel(error.error); + } + + controlModified(): void { + this.clearErrorModel(); + if (this.refreshCallback != null && + (this.criteria.like == null || this.criteria.like.length == 0 || this.criteria.like.length > 2) + ) { + this.refreshCallback(); + } + } + + filterProjects(value: string): void { + + this.filteredProjects = undefined; + if (value) { + this.filteringProjectsAsync = true; + + let requestItem: RequestItem = new RequestItem(); + let criteria: ProjectCriteria = new ProjectCriteria(); + criteria.like = value; + requestItem.criteria = criteria; + this.projectService.get(requestItem).subscribe(items => { + this.filteredProjects = items; + this.filteringProjectsAsync = false; + + // this.filteredProjects = items.filter((filteredObj: any) => { + // return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true; + // }); + + }); + } + } }