feat(config): new settings for application (port, cpu usage eth.)
This commit is contained in:
parent
c800124f9a
commit
a87a59a828
@ -5,11 +5,13 @@ import {Header} from './index-page'
|
||||
|
||||
import Toggle from 'material-ui/Toggle';
|
||||
import RaisedButton from 'material-ui/RaisedButton';
|
||||
import TextField from 'material-ui/TextField'
|
||||
import Slider from 'material-ui/Slider'
|
||||
|
||||
export default class AdminPage extends Page {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
this.setTitle('-=-= Some page =-=-');
|
||||
this.setTitle('Rats settings');
|
||||
this.options = {}
|
||||
}
|
||||
componentDidMount() {
|
||||
@ -40,13 +42,74 @@ export default class AdminPage extends Page {
|
||||
style={{marginTop: '10px'}}
|
||||
label="Enabled network scanning"
|
||||
toggled={this.options.indexer}
|
||||
thumbSwitchedStyle={{backgroundColor: 'red'}}
|
||||
trackSwitchedStyle={{backgroundColor: '#ff9d9d'}}
|
||||
thumbSwitchedStyle={{backgroundColor: 'red'}}
|
||||
trackSwitchedStyle={{backgroundColor: '#ff9d9d'}}
|
||||
onToggle={(e, checked) => {
|
||||
this.options.indexer = checked
|
||||
this.saveSettings()
|
||||
this.forceUpdate()
|
||||
}}
|
||||
/>
|
||||
<div className='row inline w100p'>
|
||||
<div style={{flex: 1}}>Scanning port</div>
|
||||
<TextField
|
||||
style={{width: 65}}
|
||||
hintText="Port"
|
||||
errorText={this.options.spiderPort > 0 ? undefined : "This field is required"}
|
||||
value={this.options.spiderPort}
|
||||
onChange={(e, value) => {
|
||||
if(!value)
|
||||
value = 0
|
||||
if(value > 65535)
|
||||
value = 65535
|
||||
|
||||
this.options.spiderPort = parseInt(value)
|
||||
this.forceUpdate()
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className='row inline w100p'>
|
||||
<div style={{flex: 1}}>Trackers responce port</div>
|
||||
<TextField
|
||||
style={{width: 65}}
|
||||
hintText="Port"
|
||||
errorText={this.options.udpTrackersPort > 0 ? undefined : "This field is required"}
|
||||
value={this.options.udpTrackersPort}
|
||||
onChange={(e, value) => {
|
||||
if(!value)
|
||||
value = 0
|
||||
if(value > 65535)
|
||||
value = 65535
|
||||
|
||||
this.options.udpTrackersPort = parseInt(value)
|
||||
this.forceUpdate()
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className='row inline w100p'>
|
||||
<div style={{flex: 1}}>CPU usage limitation</div>
|
||||
<Slider
|
||||
min={0}
|
||||
max={100}
|
||||
step={1}
|
||||
style={{width: 300}}
|
||||
value={this.options.spider && this.options.spider.cpuLimit === 0 ? 100 : this.options.spider && this.options.spider.cpuLimit}
|
||||
onChange={(event, value) => {
|
||||
if(value === 100)
|
||||
value = 0
|
||||
|
||||
this.options.spider.cpuLimit = value
|
||||
this.forceUpdate()
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className='row center pad0-75'>
|
||||
<RaisedButton label="Save Sttings" primary={true} onClick={() => {
|
||||
this.saveSettings()
|
||||
}} />
|
||||
</div>
|
||||
<Footer />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -546,10 +546,17 @@ setInterval(() => {
|
||||
|
||||
if(typeof options.indexer !== 'undefined')
|
||||
{
|
||||
if(options.indexer)
|
||||
spider.listen(config.spiderPort)
|
||||
const upSpider = () => {
|
||||
if(options.indexer)
|
||||
spider.listen(config.spiderPort)
|
||||
else
|
||||
spider.close()
|
||||
}
|
||||
|
||||
if(options.spiderPort !== config.spiderPort)
|
||||
spider.close(upSpider)
|
||||
else
|
||||
spider.close()
|
||||
upSpider()
|
||||
}
|
||||
|
||||
for(const option in options)
|
||||
|
Loading…
Reference in New Issue
Block a user