Skip to content

Instantly share code, notes, and snippets.

@drub0y
Forked from Thanood/app.html
Last active January 17, 2017 17:14
Show Gist options
  • Save drub0y/24b0ae0562e766878eabbf3ced10d0df to your computer and use it in GitHub Desktop.
Save drub0y/24b0ae0562e766878eabbf3ced10d0df to your computer and use it in GitHub Desktop.
Aurelia-Materialize bridge collapsible onOpen/Close events
<template>
<div class="collapsible-open-close-events">
<ul md-collapsible="on-open.call: collapsibleOpen($event); on-close.call: collapsibleClose($event)">
<li ref="firstSection">
<div class="collapsible-header"><i class="mdi-image-filter-drama"></i>First<span md-badge data-badge-caption="opens">${firstSection.openCount || 0}</span><span md-badge data-badge-caption="closes">${firstSection.closeCount || 0}</span></div>
<div class="collapsible-body"><p>Lorem ipsum dolor sit amet.</p></div>
</li>
<li ref="secondSection">
<div class="collapsible-header"><i class="mdi-maps-place"></i>Second<span md-badge data-badge-caption="opens">${secondSection.openCount || 0}</span><span md-badge data-badge-caption="closes">${secondSection.closeCount || 0}</span></div>
<div class="collapsible-body"><p>Lorem ipsum dolor sit amet.</p></div>
</li>
</ul>
</div>
</template>
import { inject, bindable } from 'aurelia-framework'
import { MdToastService } from 'aurelia-materialize-bridge';
@inject(MdToastService)
export class App {
constructor(toastService) {
this.toastService = toastService;
}
collapsibleOpen(targetElement) {
targetElement.openCount = (targetElement.openCount || 0) + 1;
this.toastService.show("Open Callback Received!", 1000);
}
collapsibleClose(targetElement) {
targetElement.closeCount = (targetElement.closeCount || 0) + 1;
this.toastService.show("Close Callback Received!", 1000);
}
}
<!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.20.2/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;
/******************************************************************************/
import 'materialize';
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-materialize-bridge', bridge => bridge.useAll() );
aurelia.start().then(a => a.setRoot());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment