From 5c8c156220c6c1249d252830ad7081fe492eb83b Mon Sep 17 00:00:00 2001 From: apapachristou Date: Tue, 7 Jul 2020 18:29:15 +0300 Subject: [PATCH] Fixes on filters of dmp listing --- .../criteria/dmp-criteria-dialog.component.html | 2 +- .../criteria/dmp-criteria-dialog.component.ts | 4 ++-- .../dmp/listing/criteria/dmp-criteria.component.ts | 13 ++++++++++++- .../app/ui/dmp/listing/dmp-listing.component.html | 5 +---- .../app/ui/dmp/listing/dmp-listing.component.scss | 2 +- .../src/app/ui/dmp/listing/dmp-listing.component.ts | 7 +++++-- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.html b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.html index d137b3900..8646ab950 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.html +++ b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.html @@ -1,2 +1,2 @@ clear - + diff --git a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts index 31355d3e4..c835030f6 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts @@ -2,6 +2,7 @@ import { Inject, Component, ViewChild, OnInit, Output, EventEmitter } from '@ang import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; import { DmpCriteriaComponent } from './dmp-criteria.component'; import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria'; +import { FormGroup } from '@angular/forms'; @Component({ selector: 'dmp-criteria-dialog-component', @@ -14,13 +15,12 @@ export class DmpCriteriaDialogComponent implements OnInit { constructor( public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data: { showGrant: boolean, isPublic: boolean, criteria: DmpCriteria, updateDataFn: Function } + @Inject(MAT_DIALOG_DATA) public data: { showGrant: boolean, isPublic: boolean, criteria: DmpCriteria, formGroup: FormGroup, updateDataFn: Function } ) { } ngOnInit() { this.criteria.setCriteria(this.data.criteria); - // this.data.updateDataFn(this.criteria); } onNoClick(): void { diff --git a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts index 7296d4fee..54e4b4dd8 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts @@ -1,6 +1,6 @@ import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core'; -import { FormBuilder, FormControl } from '@angular/forms'; +import { FormBuilder, FormControl, FormGroup } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; import { DataTableRequest } from '@app/core/model/data-table/data-table-request'; import { GrantListingModel } from '@app/core/model/grant/grant-listing'; @@ -34,6 +34,7 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni @Input() showGrant: boolean; @Input() isPublic: boolean; + @Input() criteriaFormGroup: FormGroup; @Output() filtersChanged: EventEmitter = new EventEmitter(); filteringGrantsAsync = false; @@ -98,6 +99,15 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni ngOnInit() { super.ngOnInit(); + + // This if is just for passing label on chips of dialog + if (this.formGroup && this.criteriaFormGroup) { + this.formGroup.get('datasetTemplates').setValue(this.criteriaFormGroup.get('datasetTemplates').value); + this.formGroup.get('grants').setValue(this.criteriaFormGroup.get('grants').value); + this.formGroup.get('collaborators').setValue(this.criteriaFormGroup.get('collaborators').value); + this.formGroup.get('organisations').setValue(this.criteriaFormGroup.get('organisations').value); + } + this.formGroup.get('role').valueChanges .pipe(takeUntil(this._destroyed)) .subscribe(x => this.controlModified()); @@ -133,6 +143,7 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni this.formGroup.get('collaborators').patchValue(criteria.collaborators); this.formGroup.get('datasetTemplates').patchValue(criteria.datasetTemplates); this.formGroup.get('grantStatus').patchValue(criteria.grantStatus); + this.formGroup.get('organisations').patchValue(criteria.organisations); } onCallbackError(error: any) { diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.html b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.html index 57d773e51..9a4aaf680 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.html +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.html @@ -8,15 +8,12 @@

{{'DMP-LISTING.TEXT-INFO-QUESTION' | translate}} {{'DMP-LISTING.LINK-ZENODO' | translate}} {{'DMP-LISTING.GET-IDEA' | translate}}

-
- search diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.scss b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.scss index 318765330..09bb2e64f 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.scss +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.scss @@ -209,7 +209,7 @@ color: #129d99; } -::ng-deep .mat-form-field-wrapper { +::ng-deep .search-form .mat-form-field-wrapper { background-color: white !important; padding-bottom: 0 !important; } diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts index 88b50b691..d9c351631 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts @@ -24,7 +24,7 @@ import { UiNotificationService, SnackBarNotificationLevel } from '@app/core/serv import { isNullOrUndefined } from 'util'; import { AuthService } from '@app/core/services/auth/auth.service'; import { DmpCriteriaDialogComponent } from './criteria/dmp-criteria-dialog.component'; -import { FormBuilder, FormControl } from '@angular/forms'; +import { FormBuilder, FormControl, FormGroup } from '@angular/forms'; @Component({ @@ -54,6 +54,7 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread pageSize: number = 5; criteria: DmpCriteria; + criteriaFormGroup: FormGroup; public formGroup = new FormBuilder().group({ like: new FormControl() }) @@ -295,6 +296,7 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread showGrant: this.showGrant, isPublic: this.isPublic, criteria: this.criteria, + formGroup: this.criteriaFormGroup, // criteria: this.grantId ? this.criteria : this.getDefaultCriteria(), updateDataFn: this.updateDataFn.bind(this) }, @@ -306,6 +308,7 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread } updateDataFn(criteria: DmpCriteriaComponent): void { + this.criteriaFormGroup = criteria.formGroup; this.toDmpCriteria(criteria); this.refresh(); } @@ -341,7 +344,7 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread } hasScrollbar(): boolean { - return document.getElementById("main-page").scrollHeight > document.documentElement.clientHeight; + return document.getElementById("main-page").scrollHeight > document.documentElement.clientHeight } }