import "reflect-metadata"; import "zone.js"; import { Component, NgModule, ViewChild, ElementRef, ViewContainerRef } from '@angular/core'; import { BrowserModule } from "@angular/platform-browser"; import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; import { NgTree } from "../ng.tree" @Component({ selector: '.demos', template: `
` }) class App { @ViewChild('treeNo1') private treeNo1: NgTree; /*demo0*/ public treeData: any[] = [{ name: "我的电脑", isOpen: true, nameClass: "warning", children: [{ name: '笔记', isOpen: true, children: [{ name: 'java' }, { name: 'js' }] }, { name: '电子书' }] }, { name: '我的网盘', isOpen: true, children: [{ name: 'secret🤐' }, { name: 'photos' }, { name: 'documents' }] }]; private dragstartData: any; public treeConfig: any = { enableDrag: true, /*open or close tree node*/ onFold: (node: any): boolean => { console.log(this.treeNo1.searchNodes(null, { name: "我的电脑" })); return true; }, onDragover: (e: MouseEvent, node: any, parent: any, siblings: any, index: number) => { return true; }, onDrop: (e: MouseEvent, node: any, parent: any, siblings: any, index: number, position: string) => { if (position == "top") { this.dragstartData.siblings.splice(this.dragstartData.index, 1); siblings.splice(siblings.indexOf(node), 0, this.dragstartData.node); } else if (position == "bottom") { this.dragstartData.siblings.splice(this.dragstartData.index, 1); siblings.splice(siblings.indexOf(node) + 1, 0, this.dragstartData.node); } else { node.children = node.children || []; node.children.push(this.dragstartData.node); this.dragstartData.siblings.splice(this.dragstartData.index, 1); } }, onDragstart: (e: MouseEvent, node: any, parent: any, siblings: any, index: number) => { this.dragstartData = { node: node, parent: parent, siblings: siblings, index: index } return true; }, onDragend: (e: MouseEvent, node: any, parent: any, siblings: any, index: number) => { console.log(node); } } } @NgModule({ imports: [BrowserModule], entryComponents: [NgTree], declarations: [NgTree, App], bootstrap: [App] }) class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);