import { TranslateService } from '@ngx-translate/core'; import { Component, OnInit } from '@angular/core'; import { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms'; import { BaseCriteriaComponent } from '../base/base-criteria.component'; import { ValidationContext, Validation } from '../../../../utilities/validators/ValidationContext'; import { BackendErrorValidator } from '../../../../utilities/validators/BackendErrorValidator'; import { ProjectCriteria } from '../../../../models/criteria/project/ProjectCriteria'; import { ProjectCriteriaErrorModel } from '../../../../models/criteria/project/ProjectCriteriaErrorModel'; import { LanguageResolverService } from '../../../../services/language-resolver/language-resolver.service'; import { ProjectStateType } from '../../../../models/projects/ProjectStateType'; @Component({ selector: 'app-projects-criteria-component', templateUrl: './projects-criteria.component.html', styleUrls: ['./projects-criteria.component.scss'], providers: [ ] }) export class ProjectCriteriaComponent extends BaseCriteriaComponent implements OnInit { // public form: ProjectType; public ProjectStateType = ProjectStateType; public criteria: ProjectCriteria = new ProjectCriteria(); constructor( public language: TranslateService, public formBuilder: FormBuilder, public languageResolver: LanguageResolverService ) { super(new ProjectCriteriaErrorModel()); } ngOnInit() { super.ngOnInit(); if (this.criteria == null) { this.criteria = new ProjectCriteria(); } } setCriteria(criteria: ProjectCriteria): 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(); } } }