nifty-wallet/ui/app/components/custom-radio-list.js

61 lines
1.4 KiB
JavaScript
Raw Normal View History

2017-04-18 09:20:31 -07:00
const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits
module.exports = RadioList
inherits(RadioList, Component)
function RadioList () {
Component.call(this)
}
RadioList.prototype.render = function () {
const props = this.props
const activeClass = '.custom-radio-selected'
const inactiveClass = '.custom-radio-inactive'
const {
2017-04-24 11:56:31 -07:00
labels,
2017-04-18 09:20:31 -07:00
defaultFocus,
} = props
return (
h('.flex-row', {
style: {
fontSize: '12px',
},
2017-04-18 09:20:31 -07:00
}, [
h('.flex-column.custom-radios', {
style: {
marginRight: '5px',
2017-04-18 09:20:31 -07:00
},
},
2017-04-24 11:56:31 -07:00
labels.map((lable, i) => {
let isSelcted = (this.state !== null)
isSelcted = isSelcted ? (this.state.selected === lable) : (defaultFocus === lable)
return h(isSelcted ? activeClass : inactiveClass, {
title: lable,
onClick: (event) => {
this.setState({selected: event.target.title})
props.onClick(event)
},
})
})
),
h('.text', {},
2017-04-24 11:56:31 -07:00
labels.map((lable) => {
2017-04-18 09:20:31 -07:00
if (props.subtext) {
return h('.flex-row', {}, [
h('.radio-titles', lable),
h('.radio-titles-subtext', `- ${props.subtext[lable]}`),
2017-04-18 09:20:31 -07:00
])
} else {
return h('.radio-titles', lable)
}
})
),
2017-04-18 09:20:31 -07:00
])
)
}