|
1 |
| -import { Component, Injectable, Input, Output, EventEmitter, ViewChild, OnChanges, SimpleChanges } from '@angular/core'; |
| 1 | +import { Component, Input, Output, EventEmitter, ViewChild, OnChanges } from '@angular/core'; |
2 | 2 | import { isNil } from 'lodash';
|
3 | 3 | import { TreeviewI18n, TreeviewItem, TreeviewConfig, DropdownTreeviewComponent, TreeviewHelper } from 'ngx-treeview';
|
4 | 4 | import { DropdownTreeviewSelectI18n } from './dropdown-treeview-select-i18n';
|
@@ -34,43 +34,36 @@ export class DropdownTreeviewSelectComponent implements OnChanges {
|
34 | 34 | this.dropdownTreeviewSelectI18n = i18n as DropdownTreeviewSelectI18n;
|
35 | 35 | }
|
36 | 36 |
|
37 |
| - ngOnChanges(changes: SimpleChanges): void { |
38 |
| - if (isNil(this.value)) { |
39 |
| - this.selectAll(); |
40 |
| - } else { |
41 |
| - this.updateSelectedItem(); |
42 |
| - } |
| 37 | + ngOnChanges(): void { |
| 38 | + this.updateSelectedItem(); |
43 | 39 | }
|
44 | 40 |
|
45 | 41 | select(item: TreeviewItem): void {
|
46 |
| - if (item.children === undefined) { |
| 42 | + if (!item.children) { |
47 | 43 | this.selectItem(item);
|
48 | 44 | }
|
49 | 45 | }
|
50 | 46 |
|
51 | 47 | private updateSelectedItem(): void {
|
52 | 48 | if (!isNil(this.items)) {
|
53 | 49 | const selectedItem = TreeviewHelper.findItemInList(this.items, this.value);
|
54 |
| - if (selectedItem) { |
55 |
| - this.selectItem(selectedItem); |
56 |
| - } else { |
57 |
| - this.selectAll(); |
58 |
| - } |
| 50 | + this.selectItem(selectedItem); |
59 | 51 | }
|
60 | 52 | }
|
61 | 53 |
|
62 | 54 | private selectItem(item: TreeviewItem): void {
|
63 | 55 | if (this.dropdownTreeviewSelectI18n.selectedItem !== item) {
|
64 | 56 | this.dropdownTreeviewSelectI18n.selectedItem = item;
|
65 |
| - if (this.value !== item.value) { |
66 |
| - this.value = item.value; |
67 |
| - this.valueChange.emit(item.value); |
| 57 | + if (this.dropdownTreeviewComponent) { |
| 58 | + this.dropdownTreeviewComponent.onSelectedChange([item]); |
68 | 59 | }
|
69 |
| - } |
70 |
| - } |
71 | 60 |
|
72 |
| - private selectAll(): void { |
73 |
| - const allItem = this.dropdownTreeviewComponent.treeviewComponent.allItem; |
74 |
| - this.selectItem(allItem); |
| 61 | + if (item) { |
| 62 | + if (this.value !== item.value) { |
| 63 | + this.value = item.value; |
| 64 | + this.valueChange.emit(item.value); |
| 65 | + } |
| 66 | + } |
| 67 | + } |
75 | 68 | }
|
76 | 69 | }
|
0 commit comments