perf(top): fix unnecessary drawing on top page
This commit is contained in:
parent
1e09243756
commit
ff4b98bd1f
90
package-lock.json
generated
90
package-lock.json
generated
@ -1082,6 +1082,21 @@
|
|||||||
"@babel/plugin-syntax-import-meta": "7.0.0-beta.49"
|
"@babel/plugin-syntax-import-meta": "7.0.0-beta.49"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@babel/runtime": {
|
||||||
|
"version": "7.0.0-rc.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz",
|
||||||
|
"integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==",
|
||||||
|
"requires": {
|
||||||
|
"regenerator-runtime": "^0.12.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"regenerator-runtime": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
|
||||||
|
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"@babel/template": {
|
"@babel/template": {
|
||||||
"version": "7.0.0-beta.49",
|
"version": "7.0.0-beta.49",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz",
|
||||||
@ -4245,9 +4260,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bowser": {
|
"bowser": {
|
||||||
"version": "1.9.1",
|
"version": "1.9.4",
|
||||||
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
|
||||||
"integrity": "sha512-UXti1JB6oK8hO983AImunnV6j/fqAEeDlPXh99zhsP5g32oLbxJJ6qcOaUesR+tqqhnUVQHlRJyD0dfiV0Hxaw=="
|
"integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
|
||||||
},
|
},
|
||||||
"boxen": {
|
"boxen": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
@ -4871,9 +4886,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chain-function": {
|
"chain-function": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.1.tgz",
|
||||||
"integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w="
|
"integrity": "sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg=="
|
||||||
},
|
},
|
||||||
"chalk": {
|
"chalk": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
@ -6129,11 +6144,19 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"css-in-js-utils": {
|
"css-in-js-utils": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz",
|
||||||
"integrity": "sha512-yuWmPMD9FLi50Xf3k8W8oO3WM1eVnxEGCldCLyfusQ+CgivFk0s23yst4ooW6tfxMuSa03S6uUEga9UhX6GRrA==",
|
"integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"hyphenate-style-name": "^1.0.2"
|
"hyphenate-style-name": "^1.0.2",
|
||||||
|
"isobject": "^3.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"isobject": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
|
||||||
|
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"css-loader": {
|
"css-loader": {
|
||||||
@ -9970,9 +9993,9 @@
|
|||||||
"integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ=="
|
"integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ=="
|
||||||
},
|
},
|
||||||
"hoist-non-react-statics": {
|
"hoist-non-react-statics": {
|
||||||
"version": "2.3.1",
|
"version": "2.5.5",
|
||||||
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
|
||||||
"integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA="
|
"integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
|
||||||
},
|
},
|
||||||
"home-or-tmp": {
|
"home-or-tmp": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@ -11079,9 +11102,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keycode": {
|
"keycode": {
|
||||||
"version": "2.1.9",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz",
|
||||||
"integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo="
|
"integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ="
|
||||||
},
|
},
|
||||||
"keyv": {
|
"keyv": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
@ -11509,9 +11532,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"lodash.merge": {
|
"lodash.merge": {
|
||||||
"version": "4.6.0",
|
"version": "4.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
|
||||||
"integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU="
|
"integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ=="
|
||||||
},
|
},
|
||||||
"lodash.template": {
|
"lodash.template": {
|
||||||
"version": "4.4.0",
|
"version": "4.4.0",
|
||||||
@ -11709,9 +11732,9 @@
|
|||||||
"integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg="
|
"integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg="
|
||||||
},
|
},
|
||||||
"material-ui": {
|
"material-ui": {
|
||||||
"version": "0.20.0",
|
"version": "0.20.2",
|
||||||
"resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.0.tgz",
|
"resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.2.tgz",
|
||||||
"integrity": "sha512-wkHkeU1SaGfCrtwIzBOl5vynNNNzVGW27ql0Ue5HZLB4WyRQ3YohJBdKa5lBrH5JD/Cgae7IzrP7cVWDyKpeLQ==",
|
"integrity": "sha512-VeqgQkdvtK193w+FFvXDEwlVxI4rWk83eWbpYLeOIHDPWr3rbB9B075JRnJt/8IsI2X8q5Aia5W3+7m4KkleDg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"babel-runtime": "^6.23.0",
|
"babel-runtime": "^6.23.0",
|
||||||
"inline-style-prefixer": "^3.0.8",
|
"inline-style-prefixer": "^3.0.8",
|
||||||
@ -11719,7 +11742,7 @@
|
|||||||
"lodash.merge": "^4.6.0",
|
"lodash.merge": "^4.6.0",
|
||||||
"lodash.throttle": "^4.1.1",
|
"lodash.throttle": "^4.1.1",
|
||||||
"prop-types": "^15.5.7",
|
"prop-types": "^15.5.7",
|
||||||
"react-event-listener": "^0.5.1",
|
"react-event-listener": "^0.6.2",
|
||||||
"react-transition-group": "^1.2.1",
|
"react-transition-group": "^1.2.1",
|
||||||
"recompose": "^0.26.0",
|
"recompose": "^0.26.0",
|
||||||
"simple-assign": "^0.1.0",
|
"simple-assign": "^0.1.0",
|
||||||
@ -14701,14 +14724,23 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-event-listener": {
|
"react-event-listener": {
|
||||||
"version": "0.5.3",
|
"version": "0.6.3",
|
||||||
"resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.3.tgz",
|
||||||
"integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==",
|
"integrity": "sha512-21ubz0vpzPL/8YPGkcDs/LFIemxMFPhpXnFKvrm15IA7x/kYzh1Bru3ww/lsZJJ0hCqyhJGjv7Txl/U00Je5SA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"babel-runtime": "^6.26.0",
|
"@babel/runtime": "7.0.0-rc.1",
|
||||||
"fbjs": "^0.8.16",
|
|
||||||
"prop-types": "^15.6.0",
|
"prop-types": "^15.6.0",
|
||||||
"warning": "^3.0.0"
|
"warning": "^4.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"warning": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-input-range": {
|
"react-input-range": {
|
||||||
|
@ -128,7 +128,7 @@
|
|||||||
"is-running": "^2.1.0",
|
"is-running": "^2.1.0",
|
||||||
"json-socket": "^0.3.0",
|
"json-socket": "^0.3.0",
|
||||||
"lodash": "^4.17.5",
|
"lodash": "^4.17.5",
|
||||||
"material-ui": "^0.20.0",
|
"material-ui": "^0.20.2",
|
||||||
"mime": "^2.3.1",
|
"mime": "^2.3.1",
|
||||||
"moment": "^2.20.1",
|
"moment": "^2.20.1",
|
||||||
"mysql": "^2.15.0",
|
"mysql": "^2.15.0",
|
||||||
|
10
src/app/LinearProgress.js
Normal file
10
src/app/LinearProgress.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import LinearProgressOriginal from 'material-ui/LinearProgress';
|
||||||
|
|
||||||
|
export default class LinearProgress extends LinearProgressOriginal
|
||||||
|
{
|
||||||
|
barUpdate(id, ...args)
|
||||||
|
{
|
||||||
|
super.barUpdate(id, ...args)
|
||||||
|
return this.timers[id]
|
||||||
|
}
|
||||||
|
}
|
@ -4,7 +4,7 @@ import TorrentLine from './torrent'
|
|||||||
import {List, ListItem} from 'material-ui/List';
|
import {List, ListItem} from 'material-ui/List';
|
||||||
import Subheader from 'material-ui/Subheader';
|
import Subheader from 'material-ui/Subheader';
|
||||||
import Divider from 'material-ui/Divider';
|
import Divider from 'material-ui/Divider';
|
||||||
import LinearProgress from 'material-ui/LinearProgress';
|
import LinearProgress from './LinearProgress';
|
||||||
|
|
||||||
export default class SearchResults extends Component {
|
export default class SearchResults extends Component {
|
||||||
render() {
|
render() {
|
||||||
|
@ -6,7 +6,7 @@ import {List, ListItem} from 'material-ui/List';
|
|||||||
import Divider from 'material-ui/Divider';
|
import Divider from 'material-ui/Divider';
|
||||||
import Subheader from 'material-ui/Subheader';
|
import Subheader from 'material-ui/Subheader';
|
||||||
import RaisedButton from 'material-ui/RaisedButton';
|
import RaisedButton from 'material-ui/RaisedButton';
|
||||||
import LinearProgress from 'material-ui/LinearProgress';
|
import LinearProgress from './LinearProgress';
|
||||||
|
|
||||||
import {Tabs, Tab} from 'material-ui/Tabs';
|
import {Tabs, Tab} from 'material-ui/Tabs';
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
@ -150,6 +150,12 @@ export default class TopPage extends Page {
|
|||||||
Object.keys(this.times).map((time, index) => {
|
Object.keys(this.times).map((time, index) => {
|
||||||
const {torrents} = this.topTorrents[type][time] || {torrents: undefined};
|
const {torrents} = this.topTorrents[type][time] || {torrents: undefined};
|
||||||
|
|
||||||
|
// dont draw top on other page rather than focused
|
||||||
|
if(this.state.type !== type || this.state.time !== time)
|
||||||
|
{
|
||||||
|
return <Tab buttonStyle={time === this.state.time ? {fontWeight: 'bold'} : undefined} style={{minWidth: 150}} key={index} label={this.times[time]} value={time}></Tab>
|
||||||
|
}
|
||||||
|
|
||||||
if(!torrents)
|
if(!torrents)
|
||||||
return (
|
return (
|
||||||
<Tab buttonStyle={time === this.state.time ? {fontWeight: 'bold'} : undefined} style={{minWidth: 150}} key={index} label={this.times[time]} value={time}>
|
<Tab buttonStyle={time === this.state.time ? {fontWeight: 'bold'} : undefined} style={{minWidth: 150}} key={index} label={this.times[time]} value={time}>
|
||||||
|
@ -14,7 +14,7 @@ import NoImage from './images/no-image-icon.png'
|
|||||||
var moment = require('moment');
|
var moment = require('moment');
|
||||||
import RefreshIndicator from 'material-ui/RefreshIndicator';
|
import RefreshIndicator from 'material-ui/RefreshIndicator';
|
||||||
let rating = require('./rating');
|
let rating = require('./rating');
|
||||||
import LinearProgress from 'material-ui/LinearProgress';
|
import LinearProgress from './LinearProgress';
|
||||||
import FlatButton from 'material-ui/FlatButton';
|
import FlatButton from 'material-ui/FlatButton';
|
||||||
import {fileTypeDetect} from './content'
|
import {fileTypeDetect} from './content'
|
||||||
import {contentIcon} from './torrent'
|
import {contentIcon} from './torrent'
|
||||||
|
@ -7,7 +7,7 @@ import ToolTip from './tooltip';
|
|||||||
import PagesPie from './pages-pie.js';
|
import PagesPie from './pages-pie.js';
|
||||||
import TorrentPage from './torrent-page'
|
import TorrentPage from './torrent-page'
|
||||||
|
|
||||||
import LinearProgress from 'material-ui/LinearProgress';
|
import LinearProgress from './LinearProgress';
|
||||||
let rating = require('./rating');
|
let rating = require('./rating');
|
||||||
import scrollBack from './remember-scroll'
|
import scrollBack from './remember-scroll'
|
||||||
import TrackersImages from './trackers-images'
|
import TrackersImages from './trackers-images'
|
||||||
|
Loading…
Reference in New Issue
Block a user