Skip to content

Commit 1831b70

Browse files
docs(material/list): extend list examples (#32427)
Added examples for the use of MatActionList, MatNavList, MatListItemAvatar and these also include the use of togglePosition, activated, matListItemMeta and matSubheader close #32130
1 parent 2dfb1dc commit 1831b70

File tree

7 files changed

+90
-0
lines changed

7 files changed

+90
-0
lines changed

src/components-examples/material/list/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ export {ListSingleSelectionExample} from './list-single-selection/list-single-se
55
export {ListSingleSelectionReactiveFormExample} from './list-single-selection-reactive-form/list-single-selection-reactive-form-example';
66
export {ListHarnessExample} from './list-harness/list-harness-example';
77
export {ListVariantsExample} from './list-variants/list-variants-example';
8+
export {ListActionExample} from './list-action/list-action-example';
9+
export {ListAvatarExample} from './list-avatar/list-avatar-example';
10+
export {ListNavigationExample} from './list-navigation/list-navigation-example';
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<mat-action-list>
2+
<button mat-list-item (click)="action('save')">Save</button>
3+
<button mat-list-item (click)="action('undo')">Undo</button>
4+
</mat-action-list>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import {Component} from '@angular/core';
2+
import {MatListModule} from '@angular/material/list';
3+
4+
/**
5+
* @title Action list
6+
*/
7+
@Component({
8+
selector: 'list-action-example',
9+
templateUrl: 'list-action-example.html',
10+
imports: [MatListModule],
11+
})
12+
export class ListActionExample {
13+
action(task: string) {
14+
window.alert(task);
15+
}
16+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<mat-selection-list>
2+
<mat-list-option togglePosition="before">
3+
<img matListItemAvatar src="https://material.angular.dev/assets/img/examples/shiba1.jpg" />
4+
<span matListItemTitle>Shiba Inu</span>
5+
</mat-list-option>
6+
7+
<mat-list-option togglePosition="after">
8+
<img matListItemAvatar src="https://material.angular.dev/assets/img/examples/shiba2.jpg" />
9+
<span matListItemTitle>Other Shiba Inu</span>
10+
</mat-list-option>
11+
</mat-selection-list>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {Component} from '@angular/core';
2+
import {MatListModule} from '@angular/material/list';
3+
4+
/**
5+
* @title Selection list with avatars
6+
*/
7+
@Component({
8+
selector: 'list-avatar-example',
9+
templateUrl: 'list-avatar-example.html',
10+
imports: [MatListModule],
11+
})
12+
export class ListAvatarExample {}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<mat-nav-list>
2+
@for (link of fragments; track link) {
3+
<a
4+
mat-list-item
5+
href="#{{link}}"
6+
(click)="$event.preventDefault(); activeLink=link;"
7+
[activated]="activeLink === link"
8+
>{{link | titlecase}}</a
9+
>
10+
}
11+
12+
<h3 matSubheader>List with icons</h3>
13+
@for (link of fragments; track link) {
14+
<a
15+
mat-list-item
16+
[activated]="activeLink===link"
17+
href="#{{link}}"
18+
(click)="$event.preventDefault(); activeLink=link;"
19+
>
20+
<mat-icon matListItemIcon>folder</mat-icon>
21+
<span matListItemTitle>{{ link | titlecase}}</span>
22+
<div matListItemMeta>
23+
<mat-icon>{{link}}</mat-icon>
24+
</div>
25+
</a>
26+
}
27+
</mat-nav-list>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import {TitleCasePipe} from '@angular/common';
2+
import {Component} from '@angular/core';
3+
import {MatIconModule} from '@angular/material/icon';
4+
import {MatListModule} from '@angular/material/list';
5+
6+
/**
7+
* @title Navigation list
8+
*/
9+
@Component({
10+
selector: 'list-navigation-example',
11+
templateUrl: 'list-navigation-example.html',
12+
imports: [MatListModule, MatIconModule, TitleCasePipe],
13+
})
14+
export class ListNavigationExample {
15+
fragments = ['inbox', 'outbox', 'drafts'];
16+
activeLink: string | null = null;
17+
}

0 commit comments

Comments
 (0)