DaffTreeItemDirective
The DaffTreeItemDirective
marks elements as tree child nodes that interact with the parent tree structure.
import { DaffTreeItemDirective } from '@daffodil/design/tree'
@Directive()
class DaffTreeItemDirective {
@HostBinding() depth: number
@HostBinding()
get selectedClass()
@HostBinding() openClass: false
@Input()
get node(): DaffTreeFlatNode
set node(value): DaffTreeFlatNode
@Input() selected: false
toggleParent(node: DaffTreeFlatNode)
toggleTree(node: DaffTreeFlatNode)
}
Selector:
'[daffTreeItem]'
Properties
Name | Type | Description |
---|---|---|
depth | number | A css variable indicating the depth of the tree. You can use this to style your templates if you want to use different designs at different depths. |
selectedClass | The CSS class indicating whether or not the tree is |
|
openClass | false | The CSS class indicating whether or not the tree is |
@Input() node | DaffTreeFlatNode | The DaffTreeFlatNode associated with this specific tree item. |
@Input() selected | false | Whether or not the tree item is the currently active item. Note that there is no requirement there there only be one active item at a time. |
toggleParent | Toggle the open state of the tree's parent. |
|
toggleTree | Toggle the open state of this specific subtree tree. |
Examples
Using a `[daffTreeItem]`
[tree]
is a {@link DaffTreeData} and [daff-tree]
is a {@link DaffTreeComponent}.
<ul daff-tree [tree]="tree">
<ng-template #daffTreeItemWithChildrenTpl let-node>
<button daffTreeItem [node]="node">{{ node.title }} </button>
</ng-template>
<ng-template #daffTreeItemTpl let-node>
<a daffTreeItem [node]="node" [routerLink]="node.url">{{ node.title }}</a>
</ng-template>
</ul>