Skip to content

Instantly share code, notes, and snippets.

@Thanood
Last active April 18, 2016 09:15
Show Gist options
  • Save Thanood/46ed13418d516f3af2c8739998acfd91 to your computer and use it in GitHub Desktop.
Save Thanood/46ed13418d516f3af2c8739998acfd91 to your computer and use it in GitHub Desktop.
Aurelia - Materialize Modal
<template>
<router-view></router-view>
</template>
export class App {
configureRouter(config, router) {
config.title = 'Aurelia';
config.map([
{ route: ['', 'modal'], name: 'modal', moduleId: './modal', nav: true, title: 'Modal' },
{ route: 'modal-target', name: 'modal-target', moduleId: './modal-target', nav: true, title: 'Modal target' }
]);
this.router = router;
}
}
<!doctype html>
<html>
<head>
<title>Aurelia</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" 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.6/system.js"></script>
<script src="https://rawgit.com/aurelia-ui-toolkits/aurelia-materialize-bundles/0.1.1/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-materialize-bridge', bridge => bridge.useAll() );
aurelia.start().then(a => a.setRoot());
}
<template>
modal target view
<button md-button click.delegate="goBack()">back</button>
</template>
import { inject } from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class ModalTarget {
constructor(router) {
this.router = router;
}
goBack() {
this.router.navigate('modal');
}
}
<template>
<div>
<div>
<p><a md-button md-modal-trigger href="#modal1">show modal</a></p>
</div>
<div id="modal1" class="modal">
<div class="modal-content">
<h4>Modal Header</h4>
<p>A bunch of text</p>
</div>
<div class="modal-footer">
<a click.delegate="agree()" md-button="flat: true;" md-waves="color: accent;" class="modal-action modal-close">Agree</a>
<a click.delegate="disagree()" md-button="flat: true;" md-waves="color: accent;" class="modal-action modal-close">Disagree</a>
</div>
</div>
</div>
</template>
import { inject } from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class Modal {
constructor(router) {
this.router = router;
}
agree() {
this.router.navigate('modal-target');
}
disagree() {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment