send/app/templates/selectbox/index.js

29 lines
605 B
JavaScript
Raw Normal View History

2017-11-30 21:41:09 +00:00
const html = require('choo/html');
module.exports = function(selected, options, translate, changed) {
const id = `select-${Math.random()}`;
let x = selected;
2018-02-16 20:56:53 +00:00
return html`
2018-03-28 06:19:07 +00:00
<div class="select">
<select id="${id}" onchange=${choose}>
2018-02-16 20:56:53 +00:00
${options.map(
i =>
html`<option value="${i}" ${
i === selected ? 'selected' : ''
}>${translate(i)}</option>`
2018-02-16 20:56:53 +00:00
)}
</select>
2018-03-28 06:19:07 +00:00
</div>`;
2017-11-30 21:41:09 +00:00
function choose(event) {
const target = event.target;
const value = +target.value;
2017-11-30 21:41:09 +00:00
if (x !== value) {
x = value;
changed(value);
}
}
};