<li [ngClass]="['nb-tree-node', node.styleClass || '']"><span *ngIf="node.children && node.children.length || node.hasChild" class="nb-tree-node-toggle iconfont" [ngClass]="{'icon-down': node.isExpanded, 'icon-right': !node.isExpanded, 'nb-tree-node-show': node.show}" (click)="toggle($event)"></span><div class="nb-tree-content" [ngClass]="{'nb-tree-node-selected': node.isSelected, 'nb-tree-node-unselectable': !node.selectable, 'nb-tree-node-show': node.show}" (click)="onNodeClick()"><span *ngIf="!judgeOverLong(node) && !optionTpl" class="nb-tree-node-name">{{ node.name }} </span><span *ngIf="!judgeOverLong(node) && optionTpl" class="nb-tree-node-name"><ng-container *ngTemplateOutlet="optionTpl;context: {$implicit: node}"></ng-container></span><span *ngIf="judgeOverLong(node) && !optionTpl" class="nb-tree-node-name" nbTooltip="{{node.name}}" nbTooltipClass="customize-classname" placement="bottom-left" hasArrow>{{ node.name }} </span><span *ngIf="judgeOverLong(node) && optionTpl" class="nb-tree-node-name" nbTooltip="{{node.name}}" nbTooltipClass="customize-classname" placement="bottom-left" hasArrow><ng-container *ngTemplateOutlet="optionTpl;context: {$implicit: node}"></ng-container></span><span *ngIf="node.selectable" class="nb-tree-node-selection-candidate-icon iconfont" [ngClass]="{'icon-arrow-right': !node.isSelected, 'icon-check': node.isSelected}"></span> <span *ngIf="node.selectable" class="nb-tree-node-selection-selected-icon iconfont icon-close"></span></div><ul class="nb-tree-node-list" [style.display]="node.isExpanded ? 'block' : 'none'"><nb-tree-node *ngFor="let childNode of node.children" [node]="childNode" (onExpandNode)="expandNode($event)" [optionTpl]="optionTpl"></nb-tree-node></ul></li>