import { Component, Input, OnInit } from '@angular/core'; import { ValidationErrorModel } from '../../../../../common/forms/validation/error-model/validation-error-model'; import { ProjectListingModel } from '../../../../../core/model/project/project-listing'; 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; filteredProjects: ProjectListingModel[]; 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(); } } }