|
|
|
@ -6,7 +6,7 @@ import {
|
|
|
|
|
Criteria,
|
|
|
|
|
SelectionCriteria
|
|
|
|
|
} from '../../../openaireLibrary/utils/entities/contentProvider';
|
|
|
|
|
import {AbstractControl, FormArray, FormBuilder, FormGroup, Validators} from '@angular/forms';
|
|
|
|
|
import {AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, Validators} from '@angular/forms';
|
|
|
|
|
import {ManageCommunityContentProvidersService} from '../../../services/manageContentProviders.service';
|
|
|
|
|
import {properties} from "../../../../environments/environment";
|
|
|
|
|
import {Option} from "../../../openaireLibrary/sharedComponents/input/input.component";
|
|
|
|
@ -24,7 +24,7 @@ import {OpenaireEntities} from "../../../openaireLibrary/utils/properties/search
|
|
|
|
|
export class CriteriaComponent implements OnInit {
|
|
|
|
|
@Input()
|
|
|
|
|
public dataProvider: ContentProvider;
|
|
|
|
|
public selectionCriteria: FormGroup;
|
|
|
|
|
public selectionCriteria: UntypedFormGroup;
|
|
|
|
|
public properties: EnvProperties = properties;
|
|
|
|
|
public fields: Option[] = CriteriaUtils.fields;
|
|
|
|
|
public verbs: Option[] = CriteriaUtils.verbs;
|
|
|
|
@ -36,7 +36,7 @@ export class CriteriaComponent implements OnInit {
|
|
|
|
|
|
|
|
|
|
constructor(private manageCommunityContentProvidersService: ManageCommunityContentProvidersService,
|
|
|
|
|
private cdr: ChangeDetectorRef,
|
|
|
|
|
private fb: FormBuilder) {
|
|
|
|
|
private fb: UntypedFormBuilder) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
@ -53,7 +53,7 @@ export class CriteriaComponent implements OnInit {
|
|
|
|
|
let selectionCriteria = this.dataProvider.selectioncriteria;
|
|
|
|
|
if (selectionCriteria) {
|
|
|
|
|
selectionCriteria.criteria.forEach(criterion => {
|
|
|
|
|
let constraintArray: FormArray = this.fb.array([]);
|
|
|
|
|
let constraintArray: UntypedFormArray = this.fb.array([]);
|
|
|
|
|
criterion.constraint.forEach(constraint => {
|
|
|
|
|
constraintArray.push(this.fb.group({
|
|
|
|
|
field: this.fb.control(constraint.field, Validators.required),
|
|
|
|
@ -86,16 +86,16 @@ export class CriteriaComponent implements OnInit {
|
|
|
|
|
return (this.page - 1)*this.pageSize + index;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public get criteria(): FormArray {
|
|
|
|
|
return this.selectionCriteria.get('criteria') as FormArray;
|
|
|
|
|
public get criteria(): UntypedFormArray {
|
|
|
|
|
return this.selectionCriteria.get('criteria') as UntypedFormArray;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public getConstraint(i: number): FormArray {
|
|
|
|
|
return this.criteria.at(i).get('constraint') as FormArray;
|
|
|
|
|
public getConstraint(i: number): UntypedFormArray {
|
|
|
|
|
return this.criteria.at(i).get('constraint') as UntypedFormArray;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public addCriteria() {
|
|
|
|
|
let constraintArray: FormArray = this.fb.array([
|
|
|
|
|
let constraintArray: UntypedFormArray = this.fb.array([
|
|
|
|
|
this.fb.group({
|
|
|
|
|
field: this.fb.control('', Validators.required),
|
|
|
|
|
verb: this.fb.control('contains', Validators.required),
|
|
|
|
@ -111,7 +111,7 @@ export class CriteriaComponent implements OnInit {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public addConstraint(i: number) {
|
|
|
|
|
let constraintArray: FormArray = this.criteria.at(i).get('constraint') as FormArray;
|
|
|
|
|
let constraintArray: UntypedFormArray = this.criteria.at(i).get('constraint') as UntypedFormArray;
|
|
|
|
|
constraintArray.push(this.fb.group({
|
|
|
|
|
field: this.fb.control('', Validators.required),
|
|
|
|
|
verb: this.fb.control('contains', Validators.required),
|
|
|
|
@ -122,7 +122,7 @@ export class CriteriaComponent implements OnInit {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public removeConstraint(i: number, j: number) {
|
|
|
|
|
let constraintArray: FormArray = this.criteria.at(i).get('constraint') as FormArray;
|
|
|
|
|
let constraintArray: UntypedFormArray = this.criteria.at(i).get('constraint') as UntypedFormArray;
|
|
|
|
|
constraintArray.removeAt(j);
|
|
|
|
|
if (constraintArray.length === 0) {
|
|
|
|
|
this.criteria.removeAt(i);
|
|
|
|
|