This repository was archived by the owner on Apr 4, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdisplay-criterion.component.ts
More file actions
91 lines (74 loc) · 2.58 KB
/
display-criterion.component.ts
File metadata and controls
91 lines (74 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'
import { Criterion } from '../../../../model/api/query/criterion'
import { MatDialog, MatDialogConfig } from '@angular/material/dialog'
import { EditSingleCriterionComponent } from '../../edit/edit-single-criterion/edit-single-criterion.component'
import { Query } from '../../../../model/api/query/query'
import { Subscription } from 'rxjs'
import { ValueFilter } from '../../../../model/api/query/valueFilter'
import { FeatureService } from '../../../../../../service/feature.service'
import { CritGroupPosition } from '../../../../controller/CritGroupArranger'
@Component({
selector: 'num-display-criterion',
templateUrl: './display-criterion.component.html',
styleUrls: ['./display-criterion.component.scss'],
})
export class DisplayCriterionComponent implements OnInit, OnDestroy {
@Input()
criterion: Criterion
@Input()
query: Query
@Input()
position: CritGroupPosition
@Input()
showCancelButton: boolean
@Output()
delete = new EventEmitter<Criterion>()
@Output()
storeQuery = new EventEmitter<Query>()
private subscriptionDialog: Subscription
constructor(public dialog: MatDialog, public featureService: FeatureService) {}
ngOnInit(): void {}
ngOnDestroy(): void {
this.subscriptionDialog?.unsubscribe()
}
openDetailsPopUp(): void {
const dialogConfig = new MatDialogConfig()
dialogConfig.disableClose = true
dialogConfig.autoFocus = true
dialogConfig.data = {
criterion: this.criterion,
query: this.query,
position: this.position,
}
const dialogRef = this.dialog.open(EditSingleCriterionComponent, dialogConfig)
this.subscriptionDialog?.unsubscribe()
this.subscriptionDialog = dialogRef
.afterClosed()
.subscribe((query) => this.storeQuery.emit(query))
}
doDelete(): void {
this.delete.emit(this.criterion)
}
getValueFilters(): ValueFilter[] {
if (this.criterion.valueFilters) {
if (!this.featureService.useFeatureMultipleValueDefinitions()) {
return this.criterion.valueFilters.length === 0 ? [] : [this.criterion.valueFilters[0]]
}
return this.criterion.valueFilters
} else {
return []
}
}
getAttributeFilters(): ValueFilter[] {
if (this.criterion.attributeFilters) {
if (!this.featureService.useFeatureMultipleValueDefinitions()) {
return this.criterion.attributeFilters.length === 0
? []
: [this.criterion.attributeFilters[0]]
}
return this.criterion.attributeFilters
} else {
return []
}
}
}