Files
Iris/src/js/components/DebugInfo.js

122 lines
3.0 KiB
JavaScript
Raw Normal View History

2017-01-29 12:54:06 +13:00
import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import { Link } from 'react-router'
import { createStore, bindActionCreators } from 'redux'
import * as helpers from '../helpers'
2017-01-29 12:54:06 +13:00
import * as uiActions from '../services/ui/actions'
class DebugInfo extends React.Component{
constructor(props) {
super(props);
}
2017-03-27 14:23:38 +13:00
renderLoadQueue(){
if (!this.props.ui.load_queue){
return null
}
var load_queue = this.props.ui.load_queue
var queue = []
return (
<div className="item">
{queue}
</div>
)
}
renderLoadQueue(){
if (!this.props.ui.load_queue){
return null
}
var load_queue = this.props.ui.load_queue
var queue = []
for (var key in load_queue){
if (load_queue.hasOwnProperty(key)){
queue.push(<div key={key}>{load_queue[key]}</div>)
}
}
2017-04-04 18:41:20 +12:00
if (queue.length > 0){
return (
<div className="item">
<br />
{queue}
</div>
)
} else {
return null
}
2017-03-27 14:23:38 +13:00
}
2017-01-29 12:54:06 +13:00
render(){
return (
<div className="debug-info">
<div className="item">
2017-04-04 18:41:20 +12:00
Albums: {this.props.ui.albums ? Object.keys(this.props.ui.albums).length : '0'}
</div>
<div className="item">
Artists: {this.props.ui.artists ? Object.keys(this.props.ui.artists).length : '0'}
2017-01-29 12:54:06 +13:00
</div>
<div className="item">
2017-04-04 18:41:20 +12:00
Playlists: {this.props.ui.playlists ? Object.keys(this.props.ui.playlists).length : '0'}
2017-01-29 12:54:06 +13:00
</div>
<div className="item">
Tracks: {this.props.ui.tracks ? Object.keys(this.props.ui.tracks).length : '0'}
2017-01-29 12:54:06 +13:00
</div>
2017-02-01 10:10:31 +13:00
<div className="item">
2017-04-04 18:41:20 +12:00
Users: {this.props.ui.users ? Object.keys(this.props.ui.users).length : '0'}
2017-02-01 10:10:31 +13:00
</div>
2017-01-29 12:54:06 +13:00
<div className="item">
2017-04-04 18:41:20 +12:00
Notifications: {this.props.ui.notifications ? Object.keys(this.props.ui.notifications).length : '0'}
2017-01-29 12:54:06 +13:00
</div>
2017-04-05 20:28:41 +12:00
<div className="item">
Processes: {this.props.ui.processes ? Object.keys(this.props.ui.processes).length : '0'}
</div>
2017-05-05 08:31:53 +12:00
<div className="item">
Enqueue batches: {this.props.mopidy.enqueue_uris_batches ? this.props.mopidy.enqueue_uris_batches.length : '0'}
</div>
2017-04-04 18:41:20 +12:00
<br />
<div className="item">
Slim mode: {this.props.ui.slim_mode ? 'on' : 'off'}
</div>
<div className="item">
2017-04-04 18:41:20 +12:00
_testMode: {window._testMode ? 'on' : 'off'}
</div>
2017-01-29 12:54:06 +13:00
<div className="item">
2017-04-05 20:28:41 +12:00
Touch: {helpers.isTouchDevice() ? 'on' : 'off'}
2017-01-29 12:54:06 +13:00
</div>
<div className="item">
Selected tracks: {this.props.ui.selected_tracks.length}<br />
{
this.props.ui.selected_tracks.map((track_key, index) => {
return (
<div key={track_key+'_'+index}>{track_key}</div>
)
})
}
</div>
2017-03-27 14:23:38 +13:00
{this.renderLoadQueue()}
2017-01-29 12:54:06 +13:00
</div>
);
}
}
const mapStateToProps = (state, ownProps) => {
return {
2017-05-05 08:31:53 +12:00
ui: state.ui,
mopidy: state.mopidy
2017-01-29 12:54:06 +13:00
}
}
const mapDispatchToProps = (dispatch) => {
return {
uiActions: bindActionCreators(uiActions, dispatch)
}
}
export default connect(mapStateToProps, mapDispatchToProps)(DebugInfo)