2019-01-18 18:03:45 +01:00
|
|
|
import { Component, Input, OnInit } from '@angular/core';
|
|
|
|
import { ValidationErrorModel } from '../../../../../common/forms/validation/error-model/validation-error-model';
|
2019-01-30 17:37:49 +01:00
|
|
|
import { ProjectListingModel } from '../../../../../core/model/project/project-listing';
|
2019-01-18 18:03:45 +01:00
|
|
|
import { DmpCriteria } from '../../../../../core/query/dmp/dmp-criteria';
|
|
|
|
import { DmpProfileCriteria } from '../../../../../core/query/dmp/dmp-profile-criteria';
|
|
|
|
import { BaseCriteriaComponent } from '../../../../misc/criteria/base-criteria.component';
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'app-dmp-profile-criteria-component',
|
|
|
|
templateUrl: './dmp-profile-criteria.component.html',
|
|
|
|
styleUrls: ['./dmp-profile-criteria.component.scss'],
|
|
|
|
})
|
|
|
|
export class DmpProfileCriteriaComponent extends BaseCriteriaComponent implements OnInit {
|
|
|
|
|
|
|
|
@Input()
|
|
|
|
showProject: boolean;
|
|
|
|
public criteria: DmpProfileCriteria = new DmpProfileCriteria();
|
|
|
|
filteringProjectsAsync = false;
|
2019-01-30 17:37:49 +01:00
|
|
|
filteredProjects: ProjectListingModel[];
|
2019-01-18 18:03:45 +01:00
|
|
|
|
|
|
|
constructor(
|
|
|
|
) {
|
|
|
|
super(new ValidationErrorModel());
|
|
|
|
}
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
super.ngOnInit();
|
|
|
|
if (this.criteria == null) { this.criteria = new DmpCriteria(); }
|
|
|
|
}
|
|
|
|
|
|
|
|
setCriteria(criteria: DmpProfileCriteria): 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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|