Skip to content
Snippets Groups Projects
Commit df97d41b authored by Glenn Vorhes's avatar Glenn Vorhes
Browse files

add class to radio list

parent 9c75094d
No related branches found
No related tags found
No related merge requests found
......@@ -88,7 +88,7 @@ var RadioBase = (function (_super) {
}
arr.push(<RadioItem {...itemProps}/>);
}
return <div>
return <div className="radio-list">
<h4 style={{ margin: '7px 0' }}>{this.props.title}</h4>
<ul style={{ listStyle: 'none', margin: '0', paddingLeft: "10px", maxHeight: "200px", overflowY: 'auto' }}>
{arr}
......
{"version":3,"file":"Radio.jsx","sourceRoot":"","sources":["../../src/react/Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\n\r\nclass RadioItem extends React.Component<{ groupId: string, text: string, checked: boolean, inline: boolean, change: (s: string) => any, connected?: boolean, index?: number}, null> {\r\n guid: string = makeGuid();\r\n\r\n\r\n render() {\r\n let style = {};\r\n if (this.props.inline) {\r\n style['display'] = 'inline-block';\r\n style['padding'] = '0 5px';\r\n }\r\n\r\n let props = {\r\n id: this.guid,\r\n type: \"radio\",\r\n name: this.props.groupId,\r\n value: typeof this.props.index == 'undefined' ? this.props.text : this.props.index.toFixed(),\r\n onChange: (evt) => {\r\n this.props.change(evt.target.value);\r\n evt.target.checked = true;\r\n }\r\n };\r\n\r\n if (this.props.connected) {\r\n props['checked'] = this.props.checked\r\n } else {\r\n props['defaultChecked'] = this.props.checked\r\n }\r\n\r\n return <li style={style}>\r\n <input {...props}/>\r\n <label htmlFor={this.guid}>{this.props.text}</label>\r\n </li>;\r\n }\r\n}\r\n\r\nclass RadioBase extends React.Component<\r\n { title: string, items: string[], callback: (val: string) => any, inline?: boolean, selectedValueOrIndex: string|number, connected: boolean}, null> {\r\n inline: boolean;\r\n groupId: string;\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n this.inline = this.props.inline || false;\r\n this.groupId = this.props.title.toLowerCase().replace(/ /g, '');\r\n }\r\n\r\n render() {\r\n let style = {};\r\n if (this.inline) {\r\n style['display'] = 'inline-block';\r\n style['padding'] = '0 5px';\r\n }\r\n\r\n let arr = [];\r\n\r\n for (let i = 0; i < this.props.items.length; i++) {\r\n\r\n let itemProps = {\r\n groupId: this.groupId,\r\n text: this.props.items[i],\r\n inline: this.props.inline,\r\n change: (s) => (this.props.callback(s)),\r\n key: this.props.items[i],\r\n connected: this.props.connected || false,\r\n checked: false,\r\n\r\n };\r\n\r\n if (typeof this.props.selectedValueOrIndex == 'number'){\r\n itemProps.checked = i == this.props.selectedValueOrIndex;\r\n itemProps['index'] = i;\r\n } else {\r\n itemProps.checked = this.props.items[i] == this.props.selectedValueOrIndex;\r\n }\r\n\r\n arr.push(<RadioItem {...itemProps}/>)\r\n }\r\n\r\n return <div>\r\n <h4 style={{margin: '7px 0'}}>{this.props.title}</h4>\r\n <ul style={{listStyle: 'none', margin: '0', paddingLeft: \"10px\", maxHeight: \"200px\", overflowY: 'auto'}}>\r\n {arr}\r\n </ul>\r\n </div>\r\n }\r\n}\r\n\r\n\r\nexport class Radio extends React.Component<{ title: string, items: string[], callback: (val: string) => any, inline?: boolean, defaultValue: string }, null> {\r\n\r\n render() {\r\n return <RadioBase\r\n title={this.props.title}\r\n items={this.props.items}\r\n callback={this.props.callback}\r\n inline={this.props.inline}\r\n selectedValueOrIndex={this.props.defaultValue}\r\n connected={false}\r\n />\r\n }\r\n}\r\n\r\nexport class RadioConnected extends React.Component<{ title: string, items: string[], callback: (val: string) => any, inline?: boolean, selectedIndex: number }, null> {\r\n\r\n render() {\r\n return <RadioBase\r\n title={this.props.title}\r\n items={this.props.items}\r\n callback={this.props.callback}\r\n inline={this.props.inline}\r\n selectedValueOrIndex={this.props.selectedIndex}\r\n connected={true}\r\n />\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"file":"Radio.jsx","sourceRoot":"","sources":["../../src/react/Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\n\r\nclass RadioItem extends React.Component<{ groupId: string, text: string, checked: boolean, inline: boolean, change: (s: string) => any, connected?: boolean, index?: number}, null> {\r\n guid: string = makeGuid();\r\n\r\n\r\n render() {\r\n let style = {};\r\n if (this.props.inline) {\r\n style['display'] = 'inline-block';\r\n style['padding'] = '0 5px';\r\n }\r\n\r\n let props = {\r\n id: this.guid,\r\n type: \"radio\",\r\n name: this.props.groupId,\r\n value: typeof this.props.index == 'undefined' ? this.props.text : this.props.index.toFixed(),\r\n onChange: (evt) => {\r\n this.props.change(evt.target.value);\r\n evt.target.checked = true;\r\n }\r\n };\r\n\r\n if (this.props.connected) {\r\n props['checked'] = this.props.checked\r\n } else {\r\n props['defaultChecked'] = this.props.checked\r\n }\r\n\r\n return <li style={style}>\r\n <input {...props}/>\r\n <label htmlFor={this.guid}>{this.props.text}</label>\r\n </li>;\r\n }\r\n}\r\n\r\nclass RadioBase extends React.Component<\r\n { title: string, items: string[], callback: (val: string) => any, inline?: boolean, selectedValueOrIndex: string|number, connected: boolean}, null> {\r\n inline: boolean;\r\n groupId: string;\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n this.inline = this.props.inline || false;\r\n this.groupId = this.props.title.toLowerCase().replace(/ /g, '');\r\n }\r\n\r\n render() {\r\n let style = {};\r\n if (this.inline) {\r\n style['display'] = 'inline-block';\r\n style['padding'] = '0 5px';\r\n }\r\n\r\n let arr = [];\r\n\r\n for (let i = 0; i < this.props.items.length; i++) {\r\n\r\n let itemProps = {\r\n groupId: this.groupId,\r\n text: this.props.items[i],\r\n inline: this.props.inline,\r\n change: (s) => (this.props.callback(s)),\r\n key: this.props.items[i],\r\n connected: this.props.connected || false,\r\n checked: false,\r\n\r\n };\r\n\r\n if (typeof this.props.selectedValueOrIndex == 'number'){\r\n itemProps.checked = i == this.props.selectedValueOrIndex;\r\n itemProps['index'] = i;\r\n } else {\r\n itemProps.checked = this.props.items[i] == this.props.selectedValueOrIndex;\r\n }\r\n\r\n arr.push(<RadioItem {...itemProps}/>)\r\n }\r\n\r\n return <div className=\"radio-list\">\r\n <h4 style={{margin: '7px 0'}}>{this.props.title}</h4>\r\n <ul style={{listStyle: 'none', margin: '0', paddingLeft: \"10px\", maxHeight: \"200px\", overflowY: 'auto'}}>\r\n {arr}\r\n </ul>\r\n </div>\r\n }\r\n}\r\n\r\n\r\nexport class Radio extends React.Component<{ title: string, items: string[], callback: (val: string) => any, inline?: boolean, defaultValue: string }, null> {\r\n\r\n render() {\r\n return <RadioBase\r\n title={this.props.title}\r\n items={this.props.items}\r\n callback={this.props.callback}\r\n inline={this.props.inline}\r\n selectedValueOrIndex={this.props.defaultValue}\r\n connected={false}\r\n />\r\n }\r\n}\r\n\r\nexport class RadioConnected extends React.Component<{ title: string, items: string[], callback: (val: string) => any, inline?: boolean, selectedIndex: number }, null> {\r\n\r\n render() {\r\n return <RadioBase\r\n title={this.props.title}\r\n items={this.props.items}\r\n callback={this.props.callback}\r\n inline={this.props.inline}\r\n selectedValueOrIndex={this.props.selectedIndex}\r\n connected={true}\r\n />\r\n }\r\n}"]}
\ No newline at end of file
......@@ -86,7 +86,7 @@ class RadioBase extends React.Component<
arr.push(<RadioItem {...itemProps}/>)
}
return <div>
return <div className="radio-list">
<h4 style={{margin: '7px 0'}}>{this.props.title}</h4>
<ul style={{listStyle: 'none', margin: '0', paddingLeft: "10px", maxHeight: "200px", overflowY: 'auto'}}>
{arr}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment