# ef-tree

Displays a tree structure
to be used for menus and group selections

## Properties

| Property             | Attribute     | Type                    | Default                        | Description                                      |
|----------------------|---------------|-------------------------|--------------------------------|--------------------------------------------------|
| `data`               |               | `TreeData<T>`           |                                | Data object to be used for creating tree         |
| `filter`             |               | `TreeFilter<T> \| null` | "createDefaultFilter<T>(this)" | Custom filter for static data                    |
| `manager (readonly)` |               | `TreeManager<T>`        |                                | Tree manager used for item manipulation          |
| `multiple`           | `multiple`    | `boolean`               | false                          | Allows multiple items to be selected             |
| `noRelation`         | `no-relation` | `boolean`               | false                          | Breaks the relationship when multiple<br />selection mode is enabled |
| `query`              | `query`       | `string`                | ""                             | Query string applied to tree                     |
| `renderer`           |               |                         | "createTreeRenderer<T>(this)"  | Renderer used for generating tree items          |
| `stateless`          | `stateless`   | `boolean`               | false                          | Disable selections                               |
| `values`             |               | `string[]`              | []                             | Selected items in tree                           |

## Methods

| Method        | Type       | Description                 |
|---------------|------------|-----------------------------|
| `checkAll`    | `(): void` | Checks all editable items   |
| `collapseAll` | `(): void` | Collapses all groups        |
| `expandAll`   | `(): void` | Expands all groups          |
| `uncheckAll`  | `(): void` | Unchecks all editable items |

## Events

| Event              | Description                                      |
|--------------------|--------------------------------------------------|
| `expanded-changed` | Fired when the user expands or collapses item. The event is not triggered if `expanded` property is changed programmatically. |
| `value-changed`    | Fired when the user commits a value change. The event is not triggered if `value` property is changed programmatically. |
