ipsos-components
Version:
Material Design components for Angular
172 lines (153 loc) • 5.77 kB
HTML
<div class="demo-menu">
<div class="menu-section">
<p>You clicked on: {{ selected }}</p>
<mat-toolbar>
<button mat-icon-button [matMenuTriggerFor]="menu" aria-label="Open basic menu">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu #menu="matMenu">
<button mat-menu-item *ngFor="let item of items" (click)="select(item.text)" [disabled]="item.disabled">
{{ item.text }}
</button>
</mat-menu>
</div>
<div class="menu-section">
<p>Nested menu</p>
<mat-toolbar>
<button mat-icon-button [matMenuTriggerFor]="animals">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu #animals="matMenu">
<button mat-menu-item [matMenuTriggerFor]="vertebrates">Vertebrates</button>
<button mat-menu-item [matMenuTriggerFor]="invertebrates">Invertebrates</button>
</mat-menu>
<mat-menu #vertebrates="matMenu">
<button mat-menu-item [matMenuTriggerFor]="fish">Fishes</button>
<button mat-menu-item [matMenuTriggerFor]="amphibians">Amphibians</button>
<button mat-menu-item [matMenuTriggerFor]="reptiles">Reptiles</button>
<button mat-menu-item>Birds</button>
<button mat-menu-item>Mammals</button>
</mat-menu>
<mat-menu #invertebrates="matMenu">
<button mat-menu-item>Insects</button>
<button mat-menu-item>Molluscs</button>
<button mat-menu-item>Crustaceans</button>
<button mat-menu-item>Corals</button>
<button mat-menu-item>Arachnids</button>
<button mat-menu-item>Velvet worms</button>
<button mat-menu-item>Horseshoe crabs</button>
</mat-menu>
<mat-menu #fish="matMenu">
<button mat-menu-item>Baikal oilfish</button>
<button mat-menu-item>Bala shark</button>
<button mat-menu-item>Ballan wrasse</button>
<button mat-menu-item>Bamboo shark</button>
<button mat-menu-item>Banded killifish</button>
</mat-menu>
<mat-menu #amphibians="matMenu">
<button mat-menu-item>Sonoran desert toad</button>
<button mat-menu-item>Western toad</button>
<button mat-menu-item>Arroyo toad</button>
<button mat-menu-item>Yosemite toad</button>
</mat-menu>
<mat-menu #reptiles="matMenu">
<button mat-menu-item>Banded Day Gecko</button>
<button mat-menu-item>Banded Gila Monster</button>
<button mat-menu-item>Black Tree Monitor</button>
<button mat-menu-item>Blue Spiny Lizard</button>
</mat-menu>
</div>
<div class="menu-section">
<p>Clicking these will navigate:</p>
<mat-toolbar>
<button mat-icon-button [matMenuTriggerFor]="anchorMenu" aria-label="Open anchor menu">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu #anchorMenu="matMenu">
<a mat-menu-item *ngFor="let item of items" href="http://www.google.com" [disabled]="item.disabled">
{{ item.text }}
</a>
</mat-menu>
</div>
<div class="menu-section">
<p>
Position x: before
</p>
<mat-toolbar class="end-icon">
<button mat-icon-button [matMenuTriggerFor]="posXMenu" aria-label="Open x-positioned menu">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu xPosition="before" #posXMenu="matMenu" class="before">
<button mat-menu-item *ngFor="let item of iconItems" [disabled]="item.disabled">
<mat-icon>{{ item.icon }}</mat-icon>
{{ item.text }}
</button>
</mat-menu>
</div>
<div class="menu-section">
<p>
Position y: above
</p>
<mat-toolbar>
<button mat-icon-button [matMenuTriggerFor]="posYMenu" aria-label="Open y-positioned menu">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu yPosition="above" #posYMenu="matMenu">
<button mat-menu-item *ngFor="let item of items" [disabled]="item.disabled">
{{ item.text }}
</button>
</mat-menu>
</div>
</div>
<div class="demo-menu">
<div class="menu-section">
<p>overlapTrigger: false</p>
<mat-toolbar>
<button mat-icon-button [mat-menu-trigger-for]="menuOverlay">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu [overlapTrigger]="false" #menuOverlay="matMenu">
<button mat-menu-item *ngFor="let item of items" [disabled]="item.disabled">
{{ item.text }}
</button>
</mat-menu>
</div>
<div class="menu-section">
<p>
Position x: before, overlapTrigger: false
</p>
<mat-toolbar class="end-icon">
<button mat-icon-button [mat-menu-trigger-for]="posXMenuOverlay">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu xPosition="before" [overlapTrigger]="false" #posXMenuOverlay="matMenu" class="before">
<button mat-menu-item *ngFor="let item of iconItems" [disabled]="item.disabled">
<mat-icon>{{ item.icon }}</mat-icon>
{{ item.text }}
</button>
</mat-menu>
</div>
<div class="menu-section">
<p>
Position y: above, overlapTrigger: false
</p>
<mat-toolbar>
<button mat-icon-button [mat-menu-trigger-for]="posYMenuOverlay">
<mat-icon>more_vert</mat-icon>
</button>
</mat-toolbar>
<mat-menu yPosition="above" [overlapTrigger]="false" #posYMenuOverlay="matMenu">
<button mat-menu-item *ngFor="let item of items" [disabled]="item.disabled">
{{ item.text }}
</button>
</mat-menu>
</div>
</div>
<div style="height: 500px">This div is for testing scrolled menus.</div>