Title | Added | Status | Last reviewed |
---|---|---|---|
Node Favorite directive |
v2.0.0 |
Active |
2018-11-13 |
Selectively toggles nodes as favorites.
<adf-toolbar>
<button mat-icon-button
(toggle)="done()"
[adf-node-favorite]="documentList.selection">
</button>
</adf-toolbar>
<adf-document-list #documentList ...>
...
</adf-document-list>
@Component({
selector: 'my-component'
})
export class MyComponent {
done() {
// ...
}
}
Name | Type | Default value | Description |
---|---|---|---|
selection | NodeEntry [] |
[] | Array of nodes to toggle as favorites. |
Name | Type | Description |
---|---|---|
error | EventEmitter <any> |
Emitted when the favorite setting fails. |
toggle | EventEmitter <any> |
Emitted when the favorite setting is complete. |
You can bind the directive instance to a template variable through the adfFavorite reference, which also lets you add extra styling to the element:
<button
mat-menu-item
#selection="adfFavorite"
[ngClass]="{ 'icon-highlight': selection.hasFavorites() }"
[adf-node-favorite]="documentList.selection">
<mat-icon [ngClass]="{ 'icon-highlight': selection.hasFavorites() }">
{{ selection.hasFavorites() ? 'star' : 'star_border' }}
</mat-icon>
</button>
The directive behaves as follows:
- If there are no favorite nodes in the selection, then all are marked as favorites
- If there are one or more favorite nodes in the selection, then only those that are not favorites are marked
- If all nodes in the selection are favorites, then they all have their favorite status removed
See the Demo Shell for examples of usage.