diff --git a/src/demo/app/app.component.ts b/src/demo/app/app.component.ts
index 0a64eb94..cb332629 100644
--- a/src/demo/app/app.component.ts
+++ b/src/demo/app/app.component.ts
@@ -1,7 +1,7 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
-import { Ng2TreeSettings, NodeEvent, RenamableNode, TreeModel } from '../../../index';
-import { NodeMenuItemAction } from '../../menu/menu.events';
-import { MenuItemSelectedEvent } from '../../tree.events';
+import {Component, OnInit, ViewChild} from '@angular/core';
+import {Ng2TreeSettings, NodeEvent, RenamableNode, TreeModel} from '../../../index';
+import {NodeMenuItemAction} from '../../menu/menu.events';
+import {MenuItemSelectedEvent} from '../../tree.events';
declare const alertify: any;
@@ -14,6 +14,7 @@ declare const alertify: any;
Remove 'nano'
-
-
-
-
-
-
+
+
+
+
+
+
@@ -192,6 +185,9 @@ export class AppComponent implements OnInit {
public fonts: TreeModel = {
value: 'Fonts',
+ settings: {
+ isCollapsedOnInit: true
+ },
children: [
{
value: 'Serif - All my children and I are STATIC ¯\\_(ツ)_/¯',
@@ -200,18 +196,18 @@ export class AppComponent implements OnInit {
'static': true
},
children: [
- { value: 'Antiqua with HTML tags.', id: 2 },
- { value: 'DejaVu Serif', id: 3 },
- { value: 'Garamond', id: 4 },
- { value: 'Georgia', id: 5 },
- { value: 'Times New Roman', id: 6 },
+ {value: 'Antiqua with HTML tags.', id: 2},
+ {value: 'DejaVu Serif', id: 3},
+ {value: 'Garamond', id: 4},
+ {value: 'Georgia', id: 5},
+ {value: 'Times New Roman', id: 6},
{
value: 'Slab serif',
id: 7,
children: [
- { value: 'Candida', id: 8 },
- { value: 'Swift', id: 9 },
- { value: 'Guardian Egyptian', id: 10 }
+ {value: 'Candida', id: 8},
+ {value: 'Swift', id: 9},
+ {value: 'Guardian Egyptian', id: 10}
]
}
]
@@ -220,36 +216,36 @@ export class AppComponent implements OnInit {
value: 'Sans-serif (Right click me - I have a custom menu)',
id: 11,
settings: {
- menuItems: [
- { action: NodeMenuItemAction.Custom, name: 'Foo', cssClass: 'fa fa-arrow-right' },
- { action: NodeMenuItemAction.Custom, name: 'Bar', cssClass: 'fa fa-arrow-right' },
- { action: NodeMenuItemAction.Custom, name: 'Baz', cssClass: 'fa fa-arrow-right'}
+ menuItems: [
+ {action: NodeMenuItemAction.Custom, name: 'Foo', cssClass: 'fa fa-arrow-right'},
+ {action: NodeMenuItemAction.Custom, name: 'Bar', cssClass: 'fa fa-arrow-right'},
+ {action: NodeMenuItemAction.Custom, name: 'Baz', cssClass: 'fa fa-arrow-right'}
]
},
children: [
- { value: 'Arial', id: 12 },
- { value: 'Century Gothic', id: 13 },
- { value: 'DejaVu Sans', id: 14 },
- { value: 'Futura', id: 15 },
- { value: 'Geneva', id: 16 },
- { value: 'Liberation Sans', id: 17 }
+ {value: 'Arial', id: 12},
+ {value: 'Century Gothic', id: 13},
+ {value: 'DejaVu Sans', id: 14},
+ {value: 'Futura', id: 15},
+ {value: 'Geneva', id: 16},
+ {value: 'Liberation Sans', id: 17}
]
},
{
value: 'Monospace - With ASYNC CHILDREN',
id: 18,
// children property is ignored if "loadChildren" is present
- children: [{ value: 'I am the font that will be ignored' }],
+ children: [{value: 'I am the font that will be ignored'}],
loadChildren: (callback) => {
setTimeout(() => {
callback([
- { value: 'Input Mono', id: 19 },
- { value: 'Roboto Mono', id: 20 },
- { value: 'Liberation Mono', id: 21 },
- { value: 'Hack', id: 22 },
- { value: 'Consolas', id: 23 },
- { value: 'Menlo', id: 24 },
- { value: 'Source Code Pro', id: 25 }
+ {value: 'Input Mono', id: 19},
+ {value: 'Roboto Mono', id: 20},
+ {value: 'Liberation Mono', id: 21},
+ {value: 'Hack', id: 22},
+ {value: 'Consolas', id: 23},
+ {value: 'Menlo', id: 24},
+ {value: 'Source Code Pro', id: 25}
]);
}, 5000);
}
@@ -306,13 +302,13 @@ export class AppComponent implements OnInit {
value: 'grub',
id: 14,
children: [
- { value: 'fonts', id: 15 },
- { value: 'gfxblacklist.txt', id: 16 },
- { value: 'grub.cfg', id: 17 },
- { value: 'grubenv', id: 18 },
- { value: 'i386-pc', id: 19 },
- { value: 'locale', id: 20 },
- { value: 'unicode.pf2', id: 21 }
+ {value: 'fonts', id: 15},
+ {value: 'gfxblacklist.txt', id: 16},
+ {value: 'grub.cfg', id: 17},
+ {value: 'grubenv', id: 18},
+ {value: 'i386-pc', id: 19},
+ {value: 'locale', id: 20},
+ {value: 'unicode.pf2', id: 21}
]
},
{
@@ -323,15 +319,15 @@ export class AppComponent implements OnInit {
checked: true
}
},
- { value: 'abi-4.4.0-57-generic', id: 23 },
- { value: 'config-4.4.0-57-generic', id: 24 },
- { value: 'initrd.img-4.4.0-47-generic', id: 25 },
- { value: 'initrd.img-4.4.0-57-generic', id: 26 },
- { value: 'memtest86+.bin', id: 27 },
- { value: 'System.map-4.4.0-57-generic', id: 28 },
- { value: 'memtest86+.elf', id: 29 },
- { value: 'vmlinuz-4.4.0-57-generic', id: 30 },
- { value: 'memtest86+_multiboot.bin', id: 31 }
+ {value: 'abi-4.4.0-57-generic', id: 23},
+ {value: 'config-4.4.0-57-generic', id: 24},
+ {value: 'initrd.img-4.4.0-47-generic', id: 25},
+ {value: 'initrd.img-4.4.0-57-generic', id: 26},
+ {value: 'memtest86+.bin', id: 27},
+ {value: 'System.map-4.4.0-57-generic', id: 28},
+ {value: 'memtest86+.elf', id: 29},
+ {value: 'vmlinuz-4.4.0-57-generic', id: 30},
+ {value: 'memtest86+_multiboot.bin', id: 31}
]
},
{
@@ -365,8 +361,8 @@ export class AppComponent implements OnInit {
}
]
},
- { value: 'cdrom', id: 34, children: [] },
- { value: 'dev', id: 35, children: [] },
+ {value: 'cdrom', id: 34, children: []},
+ {value: 'dev', id: 35, children: []},
{
value: 'etc',
id: 36,
@@ -374,10 +370,10 @@ export class AppComponent implements OnInit {
console.log('callback function called to load etc`s children');
setTimeout(() => {
callback([
- { value: 'apache2', id: 82, children: [] },
- { value: 'nginx', id: 83, children: [] },
- { value: 'dhcp', id: 84, children: [] },
- { value: 'dpkg', id: 85, children: [] }
+ {value: 'apache2', id: 82, children: []},
+ {value: 'nginx', id: 83, children: []},
+ {value: 'dhcp', id: 84, children: []},
+ {value: 'dpkg', id: 85, children: []}
]);
});
}
@@ -402,38 +398,38 @@ export class AppComponent implements OnInit {
value: 'bills',
id: 41,
children: [
- { value: '2016-07-01-mobile.pdf', id: 42 },
- { value: '2016-07-01-electricity.pdf', id: 43 },
- { value: '2016-07-01-water.pdf', id: 44 },
- { value: '2016-07-01-internet.pdf', id: 45 },
- { value: '2016-08-01-mobile.pdf', id: 46 },
- { value: '2016-10-01-internet.pdf', id: 47 }
+ {value: '2016-07-01-mobile.pdf', id: 42},
+ {value: '2016-07-01-electricity.pdf', id: 43},
+ {value: '2016-07-01-water.pdf', id: 44},
+ {value: '2016-07-01-internet.pdf', id: 45},
+ {value: '2016-08-01-mobile.pdf', id: 46},
+ {value: '2016-10-01-internet.pdf', id: 47}
]
},
- { value: 'photos', id: 48, children: [] }
+ {value: 'photos', id: 48, children: []}
]
}
]
},
- { value: 'Downloads', id: 49, children: [] },
- { value: 'Desktop', id: 50, children: [] },
- { value: 'Pictures', id: 51, children: [] },
+ {value: 'Downloads', id: 49, children: []},
+ {value: 'Desktop', id: 50, children: []},
+ {value: 'Pictures', id: 51, children: []},
{
value: 'Music',
id: 52,
- children: [{ value: 'won\'t be displayed' }],
+ children: [{value: 'won\'t be displayed'}],
loadChildren: (callback) => {
setTimeout(() => {
callback([
- { value: '2Cellos', id: 78, children: [] },
- { value: 'Michael Jackson', id: 79, children: [] },
- { value: 'AC/DC', id: 80, children: [] },
- { value: 'Adel', id: 81, children: [] }
+ {value: '2Cellos', id: 78, children: []},
+ {value: 'Michael Jackson', id: 79, children: []},
+ {value: 'AC/DC', id: 80, children: []},
+ {value: 'Adel', id: 81, children: []}
]);
}, 5000);
}
},
- { value: 'Public', id: 53, children: [] }
+ {value: 'Public', id: 53, children: []}
]
},
{
@@ -443,7 +439,7 @@ export class AppComponent implements OnInit {
leftMenu: true
},
children: [
- { value: 'Documents', id: 55, children: [] },
+ {value: 'Documents', id: 55, children: []},
{
value: 'Downloads - custom left menu template',
id: 56,
@@ -453,33 +449,33 @@ export class AppComponent implements OnInit {
}
},
children: [
- { value: 'Actobat3', id: 57 },
- { value: 'Complib', id: 58 },
- { value: 'Eudora', id: 59 },
- { value: 'java', id: 60 },
- { value: 'drivers', id: 61 },
- { value: 'kathy', id: 62 }
+ {value: 'Actobat3', id: 57},
+ {value: 'Complib', id: 58},
+ {value: 'Eudora', id: 59},
+ {value: 'java', id: 60},
+ {value: 'drivers', id: 61},
+ {value: 'kathy', id: 62}
]
},
- { value: 'Desktop', id: 63, children: [] },
- { value: 'Pictures', id: 64, children: [] },
- { value: 'Music', id: 65, children: [] },
- { value: 'Public', id: 66, children: [] }
+ {value: 'Desktop', id: 63, children: []},
+ {value: 'Pictures', id: 64, children: []},
+ {value: 'Music', id: 65, children: []},
+ {value: 'Public', id: 66, children: []}
]
}
]
},
- { value: 'lib', id: 67, children: [] },
- { value: 'media', id: 68, children: [] },
- { value: 'opt', id: 69, children: [] },
- { value: 'proc', id: 70, children: [] },
- { value: 'root', id: 71, children: [] },
- { value: 'run', id: 72, children: [] },
- { value: 'sbin', id: 73, children: [] },
- { value: 'srv', id: 74, children: [] },
- { value: 'sys', id: 75, children: [] },
- { value: 'usr', id: 76, children: [] },
- { value: 'var', id: 77, children: [] }
+ {value: 'lib', id: 67, children: []},
+ {value: 'media', id: 68, children: []},
+ {value: 'opt', id: 69, children: []},
+ {value: 'proc', id: 70, children: []},
+ {value: 'root', id: 71, children: []},
+ {value: 'run', id: 72, children: []},
+ {value: 'sbin', id: 73, children: []},
+ {value: 'srv', id: 74, children: []},
+ {value: 'sys', id: 75, children: []},
+ {value: 'usr', id: 76, children: []},
+ {value: 'var', id: 77, children: []}
]
};
private lastFFSNodeId = 86;
@@ -492,28 +488,28 @@ export class AppComponent implements OnInit {
{
value: 'Web Application Icons',
children: [
- { value: 'calendar', icon: 'fa-calendar' },
- { value: 'download', icon: 'fa-download' },
- { value: 'group', icon: 'fa-group' },
- { value: 'print', icon: 'fa-print' }
+ {value: 'calendar', icon: 'fa-calendar'},
+ {value: 'download', icon: 'fa-download'},
+ {value: 'group', icon: 'fa-group'},
+ {value: 'print', icon: 'fa-print'}
]
},
{
value: 'Hand Icons',
children: [
- { value: 'pointer', icon: 'fa-hand-pointer-o' },
- { value: 'grab', icon: 'fa-hand-rock-o' },
- { value: 'thumbs up', icon: 'fa-thumbs-o-up ' },
- { value: 'thumbs down', icon: 'fa-thumbs-o-down' }
+ {value: 'pointer', icon: 'fa-hand-pointer-o'},
+ {value: 'grab', icon: 'fa-hand-rock-o'},
+ {value: 'thumbs up', icon: 'fa-thumbs-o-up '},
+ {value: 'thumbs down', icon: 'fa-thumbs-o-down'}
]
},
{
value: 'File Type Icons',
children: [
- { value: 'file', icon: 'fa-file-o' },
- { value: 'audio', icon: 'fa-file-audio-o' },
- { value: 'movie', icon: 'fa-file-movie-o ' },
- { value: 'archive', icon: 'fa-file-zip-o' }
+ {value: 'file', icon: 'fa-file-o'},
+ {value: 'audio', icon: 'fa-file-audio-o'},
+ {value: 'movie', icon: 'fa-file-movie-o '},
+ {value: 'archive', icon: 'fa-file-zip-o'}
]
},
]
@@ -532,8 +528,8 @@ export class AppComponent implements OnInit {
{
value: 'Aspect-oriented programming',
children: [
- { value: 'AspectJ' },
- { value: 'AspectC++' }
+ {value: 'AspectJ'},
+ {value: 'AspectC++'}
]
},
{
@@ -550,16 +546,16 @@ export class AppComponent implements OnInit {
}
} as RenamableNode
},
- { value: 'C++' },
- { value: 'C#' }
+ {value: 'C++'},
+ {value: 'C#'}
]
},
{
value: 'Prototype-based programming',
children: [
- { value: 'JavaScript' },
- { value: 'CoffeeScript' },
- { value: 'TypeScript' }
+ {value: 'JavaScript'},
+ {value: 'CoffeeScript'},
+ {value: 'TypeScript'}
]
}
]
@@ -628,11 +624,11 @@ export class AppComponent implements OnInit {
const treeController = this.treeFFS.getControllerByNodeId(id);
if (treeController && typeof treeController.setChildren === 'function') {
treeController.setChildren([
- { value: 'apache2', id: 82, children: [] },
- { value: 'nginx', id: 83, children: [] },
- { value: 'dhcp', id: 84, children: [] },
- { value: 'dpkg', id: 85, children: [] },
- { value: 'gdb', id: 86, children: [] }
+ {value: 'apache2', id: 82, children: []},
+ {value: 'nginx', id: 83, children: []},
+ {value: 'dhcp', id: 84, children: []},
+ {value: 'dpkg', id: 85, children: []},
+ {value: 'gdb', id: 86, children: []}
]);
} else {
console.log('There isn`t a controller for a node with id - ' + id);
diff --git a/src/demo/app/app.module.ts b/src/demo/app/app.module.ts
index 54a731aa..51b7d796 100644
--- a/src/demo/app/app.module.ts
+++ b/src/demo/app/app.module.ts
@@ -1,9 +1,9 @@
-import { NgModule } from '@angular/core';
-import { AppComponent } from './app.component';
-import { BrowserModule } from '@angular/platform-browser';
-import { TreeModule } from '../../../index';
-import { ButtonDirective } from './button';
-import { CommonModule } from '@angular/common';
+import {NgModule} from '@angular/core';
+import {AppComponent} from './app.component';
+import {BrowserModule} from '@angular/platform-browser';
+import {TreeModule} from '../../../index';
+import {ButtonDirective} from './button';
+import {CommonModule} from '@angular/common';
@NgModule({
declarations: [AppComponent, ButtonDirective],
diff --git a/src/demo/app/button.ts b/src/demo/app/button.ts
index 495d1881..08a3a937 100644
--- a/src/demo/app/button.ts
+++ b/src/demo/app/button.ts
@@ -1,4 +1,4 @@
-import { Directive, ElementRef } from '@angular/core';
+import {Directive, ElementRef} from '@angular/core';
@Directive({
selector: '[button]'
diff --git a/src/demo/main.ts b/src/demo/main.ts
index a9ca1caf..57d0769b 100644
--- a/src/demo/main.ts
+++ b/src/demo/main.ts
@@ -1,8 +1,8 @@
-import { enableProdMode } from '@angular/core';
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+import {enableProdMode} from '@angular/core';
+import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
-import { AppModule } from './app/app.module';
-import { environment } from './environments/environment';
+import {AppModule} from './app/app.module';
+import {environment} from './environments/environment';
if (environment.production) {
enableProdMode();
diff --git a/src/demo/polyfills.ts b/src/demo/polyfills.ts
index 2758ef27..ec2f15ba 100644
--- a/src/demo/polyfills.ts
+++ b/src/demo/polyfills.ts
@@ -29,6 +29,13 @@ import 'core-js/es6/object';
import 'core-js/es6/string';
// import 'core-js/es6/date';
import 'core-js/es6/array';
+/** Evergreen browsers require these. **/
+import 'core-js/es6/reflect';
+import 'core-js/es7/reflect';
+/***************************************************************************************************
+ * Zone JS is required by Angular itself.
+ */
+import 'zone.js/dist/zone'; // Included with Angular CLI.
// import 'core-js/es6/regexp';
// import 'core-js/es6/map';
// import 'core-js/es6/set';
@@ -40,23 +47,11 @@ import 'core-js/es6/array';
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
-/** Evergreen browsers require these. **/
-import 'core-js/es6/reflect';
-import 'core-js/es7/reflect';
-
-
/** ALL Firefox browsers require the following to support `@angular/animation`. **/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
-/***************************************************************************************************
- * Zone JS is required by Angular itself.
- */
-import 'zone.js/dist/zone'; // Included with Angular CLI.
-
-
-
/***************************************************************************************************
* APPLICATION IMPORTS
*/
diff --git a/src/draggable/captured-node.ts b/src/draggable/captured-node.ts
index 07ae149e..f3a93aeb 100644
--- a/src/draggable/captured-node.ts
+++ b/src/draggable/captured-node.ts
@@ -1,5 +1,5 @@
-import { Tree } from '../tree';
-import { ElementRef } from '@angular/core';
+import {Tree} from '../tree';
+import {ElementRef} from '@angular/core';
export class CapturedNode {
public constructor(private anElement: ElementRef,
diff --git a/src/draggable/draggable.events.ts b/src/draggable/draggable.events.ts
index d8aa989b..2dfc4e8d 100644
--- a/src/draggable/draggable.events.ts
+++ b/src/draggable/draggable.events.ts
@@ -1,5 +1,5 @@
-import { ElementRef } from '@angular/core';
-import { CapturedNode } from './captured-node';
+import {ElementRef} from '@angular/core';
+import {CapturedNode} from './captured-node';
export class NodeDraggableEvent {
public constructor(public captured: CapturedNode, public target: ElementRef) {
diff --git a/src/draggable/node-draggable.directive.ts b/src/draggable/node-draggable.directive.ts
index ffcee317..ac6e6498 100644
--- a/src/draggable/node-draggable.directive.ts
+++ b/src/draggable/node-draggable.directive.ts
@@ -1,7 +1,7 @@
-import { Directive, ElementRef, Input, Inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';
-import { NodeDraggableService } from './node-draggable.service';
-import { CapturedNode } from './captured-node';
-import { Tree } from '../tree';
+import {Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2} from '@angular/core';
+import {NodeDraggableService} from './node-draggable.service';
+import {CapturedNode} from './captured-node';
+import {Tree} from '../tree';
@Directive({
selector: '[nodeDraggable]'
diff --git a/src/draggable/node-draggable.service.ts b/src/draggable/node-draggable.service.ts
index 89841db7..e929dd6f 100644
--- a/src/draggable/node-draggable.service.ts
+++ b/src/draggable/node-draggable.service.ts
@@ -1,7 +1,7 @@
-import { Injectable, ElementRef } from '@angular/core';
-import { Subject } from 'rxjs/Subject';
-import { CapturedNode } from './captured-node';
-import { NodeDraggableEvent } from './draggable.events';
+import {ElementRef, Injectable} from '@angular/core';
+import {Subject} from 'rxjs/Subject';
+import {CapturedNode} from './captured-node';
+import {NodeDraggableEvent} from './draggable.events';
@Injectable()
export class NodeDraggableService {
diff --git a/src/editable/node-editable.directive.ts b/src/editable/node-editable.directive.ts
index f0253bab..8bc227c4 100644
--- a/src/editable/node-editable.directive.ts
+++ b/src/editable/node-editable.directive.ts
@@ -1,15 +1,15 @@
import {
Directive,
ElementRef,
- Input,
- OnInit,
- Output,
EventEmitter,
HostListener,
Inject,
+ Input,
+ OnInit,
+ Output,
Renderer2
} from '@angular/core';
-import { NodeEditableEvent, NodeEditableEventAction } from './editable.events';
+import {NodeEditableEvent, NodeEditableEventAction} from './editable.events';
@Directive({
selector: '[nodeEditable]'
diff --git a/src/menu/node-menu.component.ts b/src/menu/node-menu.component.ts
index d82154a4..1226010c 100644
--- a/src/menu/node-menu.component.ts
+++ b/src/menu/node-menu.component.ts
@@ -1,9 +1,7 @@
-import {
- Component, EventEmitter, Output, Input, Inject, OnDestroy, OnInit, ViewChild, Renderer2
-} from '@angular/core';
-import { NodeMenuService } from './node-menu.service';
-import { NodeMenuItemSelectedEvent, NodeMenuItemAction, NodeMenuAction } from './menu.events';
-import { isLeftButtonClicked, isEscapePressed } from '../utils/event.utils';
+import {Component, EventEmitter, Inject, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild} from '@angular/core';
+import {NodeMenuService} from './node-menu.service';
+import {NodeMenuAction, NodeMenuItemAction, NodeMenuItemSelectedEvent} from './menu.events';
+import {isEscapePressed, isLeftButtonClicked} from '../utils/event.utils';
@Component({
selector: 'node-menu',
diff --git a/src/menu/node-menu.service.ts b/src/menu/node-menu.service.ts
index 6c0c00f8..2cf1dd48 100644
--- a/src/menu/node-menu.service.ts
+++ b/src/menu/node-menu.service.ts
@@ -1,7 +1,7 @@
-import { Injectable, ElementRef } from '@angular/core';
-import { Subject } from 'rxjs/Subject';
-import { Observable } from 'rxjs/Observable';
-import { NodeMenuEvent, NodeMenuAction } from './menu.events';
+import {ElementRef, Injectable} from '@angular/core';
+import {Subject} from 'rxjs/Subject';
+import {Observable} from 'rxjs/Observable';
+import {NodeMenuAction, NodeMenuEvent} from './menu.events';
@Injectable()
export class NodeMenuService {
diff --git a/src/tree-controller.ts b/src/tree-controller.ts
index 42768901..3806f469 100644
--- a/src/tree-controller.ts
+++ b/src/tree-controller.ts
@@ -1,10 +1,10 @@
-import { TreeService } from './tree.service';
-import { Tree } from './tree';
-import { TreeModel } from './tree.types';
-import { NodeMenuItemAction } from './menu/menu.events';
-import { TreeInternalComponent } from './tree-internal.component';
-import { MouseButtons } from './utils/event.utils';
-import { get } from './utils/fn.utils';
+import {TreeService} from './tree.service';
+import {Tree} from './tree';
+import {TreeModel} from './tree.types';
+import {NodeMenuItemAction} from './menu/menu.events';
+import {TreeInternalComponent} from './tree-internal.component';
+import {MouseButtons} from './utils/event.utils';
+import {get} from './utils/fn.utils';
export class TreeController {
private tree: Tree;
diff --git a/src/tree-internal.component.ts b/src/tree-internal.component.ts
index 4e582945..c1ccd9eb 100644
--- a/src/tree-internal.component.ts
+++ b/src/tree-internal.component.ts
@@ -1,4 +1,5 @@
import {
+ AfterContentChecked,
Component,
ElementRef,
Input,
@@ -7,24 +8,22 @@ import {
OnInit,
SimpleChanges,
TemplateRef,
- ViewChild,
- AfterViewInit,
- AfterContentChecked
+ ViewChild
} from '@angular/core';
import * as TreeTypes from './tree.types';
-import { Tree } from './tree';
-import { TreeController } from './tree-controller';
-import { NodeMenuService } from './menu/node-menu.service';
-import { NodeMenuItemAction, NodeMenuItemSelectedEvent } from './menu/menu.events';
-import { NodeEditableEvent, NodeEditableEventAction } from './editable/editable.events';
-import { NodeEvent, NodeRemovedEvent, NodeCheckedEvent, NodeIndeterminedEvent } from './tree.events';
-import { TreeService } from './tree.service';
+import {Ng2TreeSettings} from './tree.types';
+import {Tree} from './tree';
+import {TreeController} from './tree-controller';
+import {NodeMenuService} from './menu/node-menu.service';
+import {NodeMenuItemAction, NodeMenuItemSelectedEvent} from './menu/menu.events';
+import {NodeEditableEvent, NodeEditableEventAction} from './editable/editable.events';
+import {NodeCheckedEvent, NodeEvent} from './tree.events';
+import {TreeService} from './tree.service';
import * as EventUtils from './utils/event.utils';
-import { NodeDraggableEvent } from './draggable/draggable.events';
-import { Subscription } from 'rxjs/Subscription';
-import { get, has, size, isNil } from './utils/fn.utils';
-import { Ng2TreeSettings } from './tree.types';
+import {NodeDraggableEvent} from './draggable/draggable.events';
+import {Subscription} from 'rxjs/Subscription';
+import {get, isNil} from './utils/fn.utils';
@Component({
selector: 'tree-internal',
@@ -126,6 +125,10 @@ export class TreeInternalComponent implements OnInit, OnChanges, OnDestroy, Afte
this.settings = this.settings || new Ng2TreeSettings();
this.isReadOnly = !get(this.settings, 'enableCheckboxes', true);
+ if (this.tree.isRoot() && this.settings.rootIsVisible === false) {
+ this.tree.disableCollapseOnInit();
+ }
+
this.subscriptions.push(this.nodeMenuService.hideMenuStream(this.nodeElementRef)
.subscribe(() => {
this.isRightMenuVisible = false;
diff --git a/src/tree.component.ts b/src/tree.component.ts
index f4319f3a..8e925d87 100644
--- a/src/tree.component.ts
+++ b/src/tree.component.ts
@@ -1,15 +1,25 @@
import {
- Input, Component, OnInit, EventEmitter, Output, Inject, OnChanges, SimpleChanges, ViewChild,
- OnDestroy, TemplateRef, ContentChild
+ Component,
+ ContentChild,
+ EventEmitter,
+ Inject,
+ Input,
+ OnChanges,
+ OnDestroy,
+ OnInit,
+ Output,
+ SimpleChanges,
+ TemplateRef,
+ ViewChild
} from '@angular/core';
-import { TreeService } from './tree.service';
+import {TreeService} from './tree.service';
import * as TreeTypes from './tree.types';
-import { NodeEvent, NodeCheckedEvent, NodeUncheckedEvent, MenuItemSelectedEvent } from './tree.events';
+import {MenuItemSelectedEvent, NodeCheckedEvent, NodeEvent, NodeUncheckedEvent} from './tree.events';
-import { Tree } from './tree';
-import { TreeController } from './tree-controller';
-import { Subscription } from 'rxjs/Subscription';
+import {Tree} from './tree';
+import {TreeController} from './tree-controller';
+import {Subscription} from 'rxjs/Subscription';
@Component({
selector: 'tree',
@@ -49,7 +59,6 @@ export class TreeComponent implements OnInit, OnChanges, OnDestroy {
public nodeCollapsed: EventEmitter = new EventEmitter();
@Output()
-
public loadNextLevel: EventEmitter = new EventEmitter();
@Output()
@@ -58,16 +67,20 @@ export class TreeComponent implements OnInit, OnChanges, OnDestroy {
@Output()
public nodeUnchecked: EventEmitter = new EventEmitter();
+ @Output()
public menuItemSelected: EventEmitter = new EventEmitter();
public tree: Tree;
- @ViewChild('rootComponent') public rootComponent;
- @ContentChild(TemplateRef) public template;
+ @ViewChild('rootComponent')
+ public rootComponent;
+
+ @ContentChild(TemplateRef)
+ public template;
private subscriptions: Subscription[] = [];
- public constructor( @Inject(TreeService) private treeService: TreeService) {
+ public constructor(@Inject(TreeService) private treeService: TreeService) {
}
public ngOnChanges(changes: SimpleChanges): void {
diff --git a/src/tree.events.ts b/src/tree.events.ts
index 3df84d83..ced44edd 100644
--- a/src/tree.events.ts
+++ b/src/tree.events.ts
@@ -1,6 +1,5 @@
-import { Tree } from './tree';
-import { TreeController } from './tree-controller';
-import { RenamableNode } from './tree.types';
+import {Tree} from './tree';
+import {RenamableNode} from './tree.types';
export class NodeEvent {
public constructor(public node: Tree) {
diff --git a/src/tree.module.ts b/src/tree.module.ts
index 0d2c8df7..89168663 100644
--- a/src/tree.module.ts
+++ b/src/tree.module.ts
@@ -1,16 +1,16 @@
import './rxjs-imports';
-import { NgModule } from '@angular/core';
-import { TreeComponent } from './tree.component';
-import { TreeInternalComponent } from './tree-internal.component';
-import { CommonModule } from '@angular/common';
-import { NodeDraggableDirective } from './draggable/node-draggable.directive';
-import { NodeDraggableService } from './draggable/node-draggable.service';
-import { NodeEditableDirective } from './editable/node-editable.directive';
-import { NodeMenuComponent } from './menu/node-menu.component';
-import { NodeMenuService } from './menu/node-menu.service';
-import { TreeService } from './tree.service';
-import { SafeHtmlPipe } from './utils/safe-html.pipe';
+import {NgModule} from '@angular/core';
+import {TreeComponent} from './tree.component';
+import {TreeInternalComponent} from './tree-internal.component';
+import {CommonModule} from '@angular/common';
+import {NodeDraggableDirective} from './draggable/node-draggable.directive';
+import {NodeDraggableService} from './draggable/node-draggable.service';
+import {NodeEditableDirective} from './editable/node-editable.directive';
+import {NodeMenuComponent} from './menu/node-menu.component';
+import {NodeMenuService} from './menu/node-menu.service';
+import {TreeService} from './tree.service';
+import {SafeHtmlPipe} from './utils/safe-html.pipe';
@NgModule({
imports: [CommonModule],
diff --git a/src/tree.service.ts b/src/tree.service.ts
index e3bd83f0..f83c4769 100644
--- a/src/tree.service.ts
+++ b/src/tree.service.ts
@@ -1,26 +1,26 @@
import {
+ LoadNextLevelEvent,
+ MenuItemSelectedEvent,
+ NodeCheckedEvent,
NodeCollapsedEvent,
NodeCreatedEvent,
NodeExpandedEvent,
+ NodeIndeterminedEvent,
NodeMovedEvent,
NodeRemovedEvent,
NodeRenamedEvent,
NodeSelectedEvent,
- LoadNextLevelEvent,
- NodeCheckedEvent,
- NodeUncheckedEvent,
- MenuItemSelectedEvent,
- NodeIndeterminedEvent
+ NodeUncheckedEvent
} from './tree.events';
-import { RenamableNode } from './tree.types';
-import { Tree } from './tree';
-import { TreeController } from './tree-controller';
-import { Observable } from 'rxjs/Observable';
-import { Subject } from 'rxjs/Subject';
-import { ElementRef, Inject, Injectable } from '@angular/core';
-import { NodeDraggableService } from './draggable/node-draggable.service';
-import { NodeDraggableEvent } from './draggable/draggable.events';
-import { isEmpty } from './utils/fn.utils';
+import {RenamableNode} from './tree.types';
+import {Tree} from './tree';
+import {TreeController} from './tree-controller';
+import {Observable} from 'rxjs/Observable';
+import {Subject} from 'rxjs/Subject';
+import {ElementRef, Inject, Injectable} from '@angular/core';
+import {NodeDraggableService} from './draggable/node-draggable.service';
+import {NodeDraggableEvent} from './draggable/draggable.events';
+import {isEmpty} from './utils/fn.utils';
@Injectable()
export class TreeService {
diff --git a/src/tree.ts b/src/tree.ts
index efb9236f..012315cd 100644
--- a/src/tree.ts
+++ b/src/tree.ts
@@ -1,21 +1,16 @@
+import {defaultsDeep, get, has, includes, isEmpty, isFunction, isNil, omit, once, size, trim} from './utils/fn.utils';
+
+import {Observable} from 'rxjs/Observable';
+import {Observer} from 'rxjs/Observer';
import {
- isEmpty,
- trim,
- has,
- isFunction,
- get,
- omit,
- size,
- once,
- includes,
- isNil,
- defaultsDeep
-} from './utils/fn.utils';
-
-import { Observable } from 'rxjs/Observable';
-import { Observer } from 'rxjs/Observer';
-import { TreeModel, RenamableNode, FoldingType, TreeStatus, TreeModelSettings, ChildrenLoadingFunction } from './tree.types';
-import { NodeMenuItem } from './menu/node-menu.component';
+ ChildrenLoadingFunction,
+ FoldingType,
+ RenamableNode,
+ TreeModel,
+ TreeModelSettings,
+ TreeStatus
+} from './tree.types';
+import {NodeMenuItem} from './menu/node-menu.component';
import * as uuidv4 from 'uuid/v4';
@@ -564,7 +559,7 @@ export class Tree {
return '';
}
- private disableCollapseOnInit() {
+ public disableCollapseOnInit() {
if (this.node.settings) {
this.node.settings.isCollapsedOnInit = false;
}
diff --git a/src/tree.types.ts b/src/tree.types.ts
index f21ba887..5b80a92c 100644
--- a/src/tree.types.ts
+++ b/src/tree.types.ts
@@ -1,5 +1,5 @@
-import { get, defaultsDeep } from './utils/fn.utils';
-import { NodeMenuItem } from './menu/node-menu.component';
+import {defaultsDeep, get} from './utils/fn.utils';
+import {NodeMenuItem} from './menu/node-menu.component';
export class FoldingType {
public static Expanded: FoldingType = new FoldingType('node-expanded');
diff --git a/src/utils/safe-html.pipe.ts b/src/utils/safe-html.pipe.ts
index 9fc59a81..64322fa9 100644
--- a/src/utils/safe-html.pipe.ts
+++ b/src/utils/safe-html.pipe.ts
@@ -1,5 +1,5 @@
-import { Pipe, PipeTransform } from '@angular/core';
-import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
+import {Pipe, PipeTransform} from '@angular/core';
+import {DomSanitizer, SafeHtml} from '@angular/platform-browser';
@Pipe({ name: 'safeHtml' })
export class SafeHtmlPipe implements PipeTransform {