Skip to content

Instantly share code, notes, and snippets.

@djensen47
Last active May 21, 2018 09:20
Show Gist options
  • Save djensen47/5c64540b8fcffdd7325575dc46ee0965 to your computer and use it in GitHub Desktop.
Save djensen47/5c64540b8fcffdd7325575dc46ee0965 to your computer and use it in GitHub Desktop.
embed-menu-in-list-error
<template>
<require from="material-components-web/dist/material-components-web.css"></require>
<require from="menu"></require>
<style>
.material-icons:hover { cursor: pointer; }
.mymenu { top: auto; right: 8px; transform-origin: top right;}
</style>
<mdc-list>
<div style="position:relative;" repeat.for="n of [1,2,3]">
<mdc-list-item>
<span slot="end"><div>
<i class="material-icons" click.delegate="mymenu.show($event)">more_vert</i>
</div></span>
Hello ${n}
</mdc-list-item>
<menu containerless view-model.ref="mymenu"></menu>
<mdc-list-divider></mdc-list-divider>
</div>
</mdc-list>
</template>
export class App {
value = '';
toggle() {
console.log('toggle');
if (!this.mymenu.menu.open) {
this.mymenu.show();
} else {
this.mymenu.close();
}
}
}
<!doctype html>
<html class="mdc-typography">
<head>
<title>Aurelia</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body aurelia-app="main">
<h1>Loading...</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.46/system.js"></script>
<script src="https://rawgit.com/ullfis/aurelia-mdc-bundles/0.17.0/config2.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
</body>
</html>
/*******************************************************************************
* The following two lines enable async/await without using babel's
* "runtime" transformer. Uncomment the lines if you intend to use async/await.
*
* More info here: https://github.com/jdanyow/aurelia-plunker/issues/2
*/
//import regeneratorRuntime from 'babel-runtime/regenerator';
//window.regeneratorRuntime = regeneratorRuntime;
/******************************************************************************/
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-mdc-bridge', bridge => bridge.useAll() );
aurelia.start().then(a => a.setRoot());
}
<template>
<mdc-menu view-model.ref="menu" class="mymenu">
<mdc-list-item>Edit</mdc-list-item>
<mdc-list-item>Delete</mdc-list-item>
</mdc-menu>
</template>
export class Menu {
show(evt) {
evt.stopPropagation();
if (!this.menu.open) this.menu.show();
else this.menu.close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment