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
|
import {
Component,
ViewEncapsulation,
ViewChild,
Input,
Output,
EventEmitter,
ChangeDetectorRef
} from '@angular/core';
import { TreeModel, TreeComponent, ITreeOptions } from 'angular-tree-component';
// import {trigger, state, animate, transition, style} from
// '@angular/animations';
import { fuzzysearch, getBranchRequierds, validation } from './target.util';
import { environment } from '../../../environments/environment';
import { NgForm } from '@angular/forms';
import { Store } from '../../store/store';
@Component({
selector: 'app-target',
templateUrl: './target.component.html',
styleUrls: ['./target.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class TargetComponent {
imgBase = environment.imagePath;
showOption = false;
selectedNode = {
name: '',
id: ''
};
@Input() nodes;
@Output() onTargetChange = new EventEmitter();
@ViewChild(TreeComponent) private tree: TreeComponent;
@ViewChild('targetFrm') targetFrm: NgForm;
options: ITreeOptions = {
animateExpand: true,
animateSpeed: 30,
animateAcceleration: 1.2
};
constructor(private changeDetector: ChangeDetectorRef, public store: Store) {}
filterFn(value, treeModel: TreeModel) {
treeModel.filterNodes(node => fuzzysearch(value, node.data.name));
}
inputChange() {
this.onTargetChange.emit(this.selectedNode.id);
}
updateMode(action) {
this.selectedNode = {
id: action.target,
name: ''
};
this.changeDetector.detectChanges();
}
onEvent(event) {
if (event.eventName === 'activate') {
if (event.node.data.children === null) {
this.selectedNode = event.node.data;
this.onTargetChange.emit(this.selectedNode);
this.showOption = false;
}
}
}
}
|