Lock scroll to bottom for logs

This commit is contained in:
Jeffrey Morgan
2015-02-16 16:51:45 -08:00
parent f3673a5588
commit 75de3328a5
4 changed files with 16 additions and 24 deletions

View File

@@ -29,10 +29,6 @@ var options = {
gulp.task('js', function () {
return gulp.src('src/**/*.js')
.pipe(plumber(function(error) {
gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message));
this.emit('end');
}))
.pipe(gulpif(options.dev || options.test, sourcemaps.init()))
.pipe(react())
.pipe(babel({blacklist: ['regenerator']}))

View File

@@ -3,6 +3,8 @@ var React = require('react/addons');
var LogStore = require('./LogStore');
var Router = require('react-router');
var _oldScrollTop = 0;
var ContainerHomeLogs = React.createClass({
mixins: [Router.State, Router.Navigation],
getInitialState: function () {
@@ -22,14 +24,11 @@ var ContainerHomeLogs = React.createClass({
},
componentDidUpdate: function () {
// Scroll logs to bottom
var parent = $('.mini-logs');
if (parent.length) {
if (parent.scrollTop() >= this._oldHeight) {
parent.stop();
parent.scrollTop(parent[0].scrollHeight - parent.height());
}
this._oldHeight = parent[0].scrollHeight - parent.height();
var parent = $('.mini-logs > .widget');
if (parent.scrollTop() >= _oldScrollTop) {
parent.scrollTop(parent[0].scrollHeight - parent.height());
}
_oldScrollTop = parent.scrollTop();
},
init: function () {
this.updateLogs();

View File

@@ -3,6 +3,8 @@ var React = require('react/addons');
var LogStore = require('./LogStore');
var Router = require('react-router');
var _oldScrollTop = 0;
var ContainerLogs = React.createClass({
mixins: [Router.State],
getInitialState: function () {
@@ -23,13 +25,10 @@ var ContainerLogs = React.createClass({
componentDidUpdate: function () {
// Scroll logs to bottom
var parent = $('.details-logs');
if (parent.length) {
if (parent.scrollTop() >= this._oldHeight) {
parent.stop();
parent.scrollTop(parent[0].scrollHeight - parent.height());
}
this._oldHeight = parent[0].scrollHeight - parent.height();
if (parent.scrollTop() >= _oldScrollTop) {
parent.scrollTop(parent[0].scrollHeight - parent.height());
}
_oldScrollTop = parent.scrollTop();
},
init: function () {
this.updateLogs();

View File

@@ -14,7 +14,7 @@ var NewContainer = React.createClass({
getInitialState: function () {
return {
query: '',
results: [],
results: _recommended,
loading: false,
tags: {}
};
@@ -76,12 +76,10 @@ var NewContainer = React.createClass({
});
}).then(results => {
_recommended = results.filter(r => !!r);
if (!this.state.query.length) {
if (this.isMounted()) {
this.setState({
results: _recommended
});
}
if (!this.state.query.length && this.isMounted()) {
this.setState({
results: _recommended
});
}
}).catch(err => {
console.log(err);