Skip to content

Instantly share code, notes, and snippets.

@bloodyKnuckles
Last active September 19, 2017 23:20
Show Gist options
  • Save bloodyKnuckles/b54baa4131974b7f12d190fb63be8aeb to your computer and use it in GitHub Desktop.
Save bloodyKnuckles/b54baa4131974b7f12d190fb63be8aeb to your computer and use it in GitHub Desktop.
esnextbin sketch
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>cycle js schedule driver</title>
</head>
<body>
<form>
<div id="app1"></div>
<hr>
<div id="app2"></div>
</form>
</body>
</html>
import {run} from "@cycle/run";
import {makeDOMDriver, div, label, input, h1} from '@cycle/dom'
import xs from 'xstream'
function main(sources) {
const vdom1$ = sources.DOM1
.select('.myinput').events('input')
.map(ev => ev.target.value)
.startWith('')
.map(name =>
div([
label('1. Name:'),
input('.myinput', {attrs: {type: 'text'}}),
h1(`1. Hello ${name}`)
])
);
const vdom2$ = sources.DOM2
.select('.myinput').events('input')
.map(ev => ev.target.value)
.startWith('')
.map(name =>
div([
label('2. Name:'),
input('.myinput', {attrs: {type: 'text'}}),
h1(`2. Hello ${name}`)
])
);
return {
DOM1: vdom1$,
DOM2: vdom2$,
};
}
run(main, {
DOM1: makeDOMDriver('#app1'),
DOM2: makeDOMDriver('#app2'),
})
{
"name": "cycle js schedule driver",
"version": "0.0.0",
"dependencies": {
"@cycle/run": "3.1.0",
"@cycle/dom": "17.4.0",
"xstream": "10.8.0"
}
}
'use strict';
var _run = require('@cycle/run');
var _dom = require('@cycle/dom');
var _xstream = require('xstream');
var _xstream2 = _interopRequireDefault(_xstream);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function main(sources) {
var vdom1$ = sources.DOM1.select('.myinput').events('input').map(function (ev) {
return ev.target.value;
}).startWith('').map(function (name) {
return (0, _dom.div)([(0, _dom.label)('1. Name:'), (0, _dom.input)('.myinput', { attrs: { type: 'text' } }), (0, _dom.h1)('1. Hello ' + name)]);
});
var vdom2$ = sources.DOM2.select('.myinput').events('input').map(function (ev) {
return ev.target.value;
}).startWith('').map(function (name) {
return (0, _dom.div)([(0, _dom.label)('2. Name:'), (0, _dom.input)('.myinput', { attrs: { type: 'text' } }), (0, _dom.h1)('2. Hello ' + name)]);
});
return {
DOM1: vdom1$,
DOM2: vdom2$
};
}
(0, _run.run)(main, {
DOM1: (0, _dom.makeDOMDriver)('#app1'),
DOM2: (0, _dom.makeDOMDriver)('#app2')
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment