Skip to content

Commit b7e9973

Browse files
listen to tree item selection change in parent
1 parent 8136012 commit b7e9973

File tree

6 files changed

+39
-11
lines changed

6 files changed

+39
-11
lines changed

projects/terminology-treeview/src/lib/terminology-tree-filter/terminology-tree-filter.component.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export class TerminologyTreeFilterComponent
102102
* tree related outputs
103103
*/
104104
@Output() edutrCheckedChange = new EventEmitter<boolean>();
105-
@Output() edutrSelectedChange = new EventEmitter<any[]>();
105+
@Output() edutrSelectedChange = new EventEmitter<TerminologyTreeviewItem[]>();
106106
@Output() edutrFilterChange = new EventEmitter<string>();
107107
/**
108108
* internal input field related
@@ -119,9 +119,6 @@ export class TerminologyTreeFilterComponent
119119
@Input() edutrFilterText = '';
120120
@Input() edutrShowClearButton: boolean = true;
121121

122-
@Output() emitEdutrFilterText: EventEmitter<string> =
123-
new EventEmitter<string>();
124-
125122
edutrMaxHeight = '212px';
126123
edutrDebounceInputTime = 350;
127124

@@ -328,11 +325,16 @@ export class TerminologyTreeFilterComponent
328325
setTimeout(() => {
329326
this.overlayRef?.updatePosition();
330327
});
331-
// this.emitSelection();
328+
this.emitSelection();
329+
}
330+
331+
emitSelection() {
332+
this.edutrSelectedChange.emit(this.selected);
332333
}
333334

334335
onEdutrItemClicked(item: TerminologyTreeviewItem | any) {
335336
this.selected.push(item);
337+
this.emitSelection();
336338
}
337339

338340
isOptionsPanelOpen() {
@@ -388,6 +390,7 @@ export class TerminologyTreeFilterComponent
388390
openOptionsPanel: boolean = true
389391
) {
390392
this.selected = this.selected.filter(value => value !== option);
393+
this.emitSelection();
391394
setTimeout(() => this.overlayRef?.updatePosition());
392395
}
393396

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<edutr-terminology-tree-filter
22
[edutrItems]="edutrItems"
3-
[edutrConfig]="edutrConfig">
3+
[edutrConfig]="edutrConfig"
4+
(edutrSelectedChange)="onEdutrSelectedChange($event)">
45
</edutr-terminology-tree-filter>

projects/terminology-treeview/src/lib/terminology-treeview.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export class TerminologyTreeviewComponent {
2727
@Input() edutrItems: TerminologyTreeviewItem;
2828

2929
@Output() edutrCheckedChange = new EventEmitter<boolean>();
30-
@Output() edutrSelectedChange = new EventEmitter<any[]>();
30+
@Output() edutrSelectedChange = new EventEmitter<TerminologyTreeviewItem[]>();
3131
@Output() edutrFilterChange = new EventEmitter<string>();
3232

3333
values: number[];
@@ -37,4 +37,8 @@ export class TerminologyTreeviewComponent {
3737
onFilterChange(value: string): void {
3838
console.log('filter:', value);
3939
}
40+
41+
onEdutrSelectedChange(items: TerminologyTreeviewItem[]) {
42+
this.edutrSelectedChange.emit(items);
43+
}
4044
}

projects/terminology-treeview/src/public-api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44

55
export * from './lib/terminology-treeview.component';
66
export * from './lib/terminology-treeview.module';
7+
export * from './lib/model/terminology-treeview-item';
Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
<edutr-terminology-treeview
2-
[edutrItems]="pathologyTreeItems"></edutr-terminology-treeview>
2+
[edutrItems]="pathologyTreeItems"
3+
(edutrSelectedChange)="
4+
onPathologySelectedChange($event)
5+
"></edutr-terminology-treeview>
36
<br />
47
<edutr-terminology-treeview
5-
[edutrItems]="anatomyTreeItems"></edutr-terminology-treeview>
8+
[edutrItems]="anatomyTreeItems"
9+
(edutrSelectedChange)="
10+
onAnatomySelectedChange($event)
11+
"></edutr-terminology-treeview>
612
<br />
713
<edutr-terminology-treeview
8-
[edutrItems]="diagnosisTreeItems"></edutr-terminology-treeview>
14+
[edutrItems]="diagnosisTreeItems"
15+
(edutrSelectedChange)="
16+
onDiagnosisSelectedChange($event)
17+
"></edutr-terminology-treeview>

src/app/terminology-tree-test/terminology-tree-test.component.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, OnDestroy, OnInit } from '@angular/core';
22
import { HttpClient } from '@angular/common/http';
3-
import { TerminologyTreeviewItem } from '../../../projects/terminology-treeview/src/lib/model/terminology-treeview-item';
3+
import { TerminologyTreeviewItem } from 'terminology-treeview';
44
import { Subscription } from 'rxjs';
55

66
@Component({
@@ -45,6 +45,16 @@ export class TerminologyTreeTestComponent implements OnInit, OnDestroy {
4545
});
4646
}
4747

48+
onPathologySelectedChange(event: TerminologyTreeviewItem[]) {
49+
console.log(event);
50+
}
51+
onAnatomySelectedChange(event: TerminologyTreeviewItem[]) {
52+
console.log(event);
53+
}
54+
onDiagnosisSelectedChange(event: TerminologyTreeviewItem[]) {
55+
console.log(event);
56+
}
57+
4858
ngOnDestroy() {
4959
this.subscription?.unsubscribe();
5060
}

0 commit comments

Comments
 (0)