48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
|
import { Component, Input, OnInit } from '@angular/core';
|
||
|
import { ValidationErrorModel } from '../../../../../common/forms/validation/error-model/validation-error-model';
|
||
|
import { ProjectModel } from '../../../../../core/model/project/project';
|
||
|
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: ProjectModel[];
|
||
|
|
||
|
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();
|
||
|
}
|
||
|
}
|
||
|
}
|