Skip to content

Instantly share code, notes, and snippets.

Created March 28, 2016 16:59
Show Gist options
  • Save anonymous/c4faecfb5e0426c87779 to your computer and use it in GitHub Desktop.
Save anonymous/c4faecfb5e0426c87779 to your computer and use it in GitHub Desktop.
MotorcycleJS checkbox example // source http://jsbin.com/vefotux
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="checkbox example">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://wzrd.in/standalone/most"></script>
<script src="https://wzrd.in/standalone/@motorcycle%2Fcore"></script>
<script src="https://gist.githubusercontent.com/Risto-Stevcev/2f407cbcc1ce33074237/raw/9ed5867704a5f4be53e34e450709706820d342cf/dom.js"></script>
<title>MotorcycleJS</title>
<div id="app"></div> <!-- Our container -->
</head>
<body>
<script id="jsbin-javascript">
/* jshint esnext: true */
'use strict';
var _DOM = DOM;
var div = _DOM.div;
var input = _DOM.input;
var p = _DOM.p;
var makeDOMDriver = _DOM.makeDOMDriver;
function main(sources) {
var sinks = {
DOM: sources.DOM.select('input').events('change').map(function (event) {
return event.target.checked;
}).startWith(false).map(function (toggled) {
return div([input({ props: { type: 'checkbox' } }), 'Toggle me', p(toggled ? 'on' : 'off')]);
})
};
return sinks;
}
motorcycle2Fcore.run(main, {
DOM: makeDOMDriver('#app')
});
</script>
<script id="jsbin-source-javascript" type="text/javascript">/* jshint esnext: true */
const {div, input, p, makeDOMDriver} = DOM;
function main(sources) {
const sinks = {
DOM: sources.DOM.select('input').events('change')
.map(event => event.target.checked)
.startWith(false)
.map(toggled =>
div([
input({props: {type: 'checkbox'}}), 'Toggle me',
p(toggled ? 'on' : 'off')
])
)
};
return sinks;
}
motorcycle2Fcore.run(main, {
DOM: makeDOMDriver('#app')
});</script></body>
</html>
/* jshint esnext: true */
'use strict';
var _DOM = DOM;
var div = _DOM.div;
var input = _DOM.input;
var p = _DOM.p;
var makeDOMDriver = _DOM.makeDOMDriver;
function main(sources) {
var sinks = {
DOM: sources.DOM.select('input').events('change').map(function (event) {
return event.target.checked;
}).startWith(false).map(function (toggled) {
return div([input({ props: { type: 'checkbox' } }), 'Toggle me', p(toggled ? 'on' : 'off')]);
})
};
return sinks;
}
motorcycle2Fcore.run(main, {
DOM: makeDOMDriver('#app')
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment