aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfrankiebee <frankie.diamond@gmail.com>2017-04-19 00:20:31 +0800
committerfrankiebee <frankie.diamond@gmail.com>2017-04-19 00:20:31 +0800
commit83811910c84342094be4ac94dca829e8f5ff630f (patch)
treee7d3731aa0d372b1d6b1ee02f8aae5f6391b0450
parentd7d13caf05f027dca86882db0a72625db8da167c (diff)
downloadtangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.tar
tangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.tar.gz
tangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.tar.bz2
tangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.tar.lz
tangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.tar.xz
tangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.tar.zst
tangerine-wallet-browser-83811910c84342094be4ac94dca829e8f5ff630f.zip
Create a custom radio list component
-rw-r--r--ui/app/components/custom-radio-list.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/ui/app/components/custom-radio-list.js b/ui/app/components/custom-radio-list.js
new file mode 100644
index 000000000..201ec11dc
--- /dev/null
+++ b/ui/app/components/custom-radio-list.js
@@ -0,0 +1,61 @@
+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
+ let activeClass = '.custom-radio-selected'
+ let inactiveClass = '.custom-radio-inactive'
+ let {
+ lables,
+ defaultFocus,
+ onClick,
+ } = props
+
+
+ return (
+ h('.flex-row', {
+ style: {
+ fontSize: '12px',
+ }
+ }, [
+ h('.flex-column.custom-radios', {
+ style: {
+ marginRight: '5px',
+ }
+ },
+ lables.map((lable, i) => {
+ let isSelcted = (this.state !== null )
+ isSelcted = isSelcted ? (this.state.selected === lable) : (this.props.defaultFocus === lable)
+ return h(isSelcted ? activeClass : inactiveClass, {
+ title: lable,
+ onClick: (event) => {
+ this.setState({selected: event.target.title})
+ props.onClick(event)
+ }
+ })
+ }),
+ ),
+ h('.text', {},
+ lables.map((lable) => {
+ if (props.subtext) {
+ return h('.flex-row', {}, [
+ h('.radio-titles', lable),
+ h('.radio-titles-subtext', `- ${props.subtext[lable]}`)
+ ])
+ } else {
+ return h('.radio-titles', lable)
+ }
+ })
+ )
+ ])
+ )
+}
+