import {Directive, Component, ElementRef, Renderer, Input, OnInit, Inject, EventEmitter, Output, Provider, forwardRef} from '@angular/core'; import {ReadOnlyControl} from "../Interfaces/ReadOnlyControl" //import {Http, HTTP_PROVIDERS, URLSearchParams} from '@angular/http'; @Component({ selector: 'DyTreeView', //events: ["dyModelChange"], template: `
` }) export class TreeViewComponent implements OnInit { elementRef: ElementRef; treeview: any; finalTv: TreeView; @Input() nodes: Array; @Input("showCheckBoxes") showCheckBoxes: boolean = false; constructor( @Inject(ElementRef) elementRef: ElementRef) { this.elementRef = elementRef; //this.httpService = http; } ngOnInit() { var natEle = jQuery(this.elementRef.nativeElement); var item = natEle.find("div"); this.treeview = item; this.createTree(); } public createTree = () => { this.finalTv = this.treeview.treeview({ data: this.nodes, levels: 1, showCheckbox: this.showCheckBoxes }); // console.log(this.treeview.treeview("nodes")); //this.treeview.treeview(true).addNode([{ text: "hi" }],tree[0]); this.treeview.on("nodeSelected", this.nodeSelected).on("nodeExpanded", this.nodeExpanded); } public getNodes = ():Array => { return this.treeview.treeview(true).getNodes(); } public updateNode = (oldNode:TreeNode,newNode:TreeNode) => { this.treeview.treeview(true).updateNode(oldNode, newNode); } public getSelectedNode = ():TreeNode => { return this.treeview.treeview(true).getSelected(); } public getCheckedNodes = (): TreeNode[] => { return this.treeview.treeview(true).getChecked(); } public getNode = (nodeId:string):TreeNode => { var t = this.treeview.treeview(true).getNodes(nodeId); var found; $.each(t, (i, v: TreeNode) => { if (v.nodeId == nodeId) { found = v; return false; } }) return found; } public addNode =(parent: TreeNode, node: TreeNode | Array) => { this.treeview.treeview(true).addNode(node, parent); } public nodeSelected = (event, node: TreeNode) => { if (node.onSelected != undefined) { node.onSelected(node); } } public nodeExpanded = (event, node: TreeNode) => { if (node.onExpanded != undefined) { node.onExpanded(node); var tv:any = this.treeview; //tv.treeview("setInitialStates", { nodes: tv.treeview().tree }, 0); //tv.treeview("render"); } } //get accessor }