Update all client dependencies

This commit is contained in:
Ken-Håvard Lieng 2015-12-12 00:33:05 +01:00
parent 909ffd1998
commit 0259787fe9
10 changed files with 147 additions and 151 deletions

View file

@ -1,18 +1,14 @@
var React = require('react');
var Reflux = require('reflux');
var Router = require('react-router');
var RouteHandler = Router.RouteHandler;
var Navigation = Router.Navigation;
import React from 'react';
import Reflux from 'reflux';
import { Router } from 'react-router';
import TabList from './TabList.jsx';
import routeActions from '../actions/route';
import tabActions from '../actions/tab';
import PureMixin from '../mixins/pure';
var TabList = require('./TabList.jsx');
var routeActions = require('../actions/route');
var tabActions = require('../actions/tab');
var PureMixin = require('../mixins/pure');
var App = React.createClass({
export default React.createClass({
mixins: [
PureMixin,
Navigation,
Reflux.listenTo(routeActions.navigate, 'navigate'),
Reflux.listenTo(tabActions.hideMenu, 'hideMenu'),
Reflux.listenTo(tabActions.toggleMenu, 'toggleMenu')
@ -25,10 +21,11 @@ var App = React.createClass({
},
navigate(path, replace) {
const { history } = this.props;
if (!replace) {
this.transitionTo(path);
history.pushState(null, path);
} else {
this.replaceWith(path);
history.replaceState(null, path);
}
},
@ -41,17 +38,15 @@ var App = React.createClass({
},
render() {
var mainClass = this.state.menuToggled ? 'main-container off-canvas' : 'main-container';
const mainClass = this.state.menuToggled ? 'main-container off-canvas' : 'main-container';
return (
<div>
<TabList menuToggled={this.state.menuToggled} />
<div className={mainClass}>
<RouteHandler />
{this.props.children}
</div>
</div>
);
}
});
module.exports = App;

View file

@ -1,17 +1,16 @@
var React = require('react');
var Reflux = require('reflux');
var Router = require('react-router');
import React from 'react';
import Reflux from 'reflux';
import Router from 'react-router';
import ChatTitle from './ChatTitle.jsx';
import Search from './Search.jsx';
import MessageBox from './MessageBox.jsx';
import MessageInput from './MessageInput.jsx';
import UserList from './UserList.jsx';
import selectedTabStore from '../stores/selectedTab';
import tabActions from '../actions/tab';
import PureMixin from '../mixins/pure';
var ChatTitle = require('./ChatTitle.jsx');
var Search = require('./Search.jsx');
var MessageBox = require('./MessageBox.jsx');
var MessageInput = require('./MessageInput.jsx');
var UserList = require('./UserList.jsx');
var selectedTabStore = require('../stores/selectedTab');
var tabActions = require('../actions/tab');
var PureMixin = require('../mixins/pure');
var Chat = React.createClass({
export default React.createClass({
mixins: [
PureMixin,
Router.State,
@ -20,19 +19,18 @@ var Chat = React.createClass({
componentWillMount() {
if (!window.loaded) {
var p = this.getParams();
if (p.channel) {
tabActions.select(p.server, '#' + p.channel);
} else if (p.server) {
tabActions.select(p.server);
const { params } = this.props;
if (params.channel) {
tabActions.select(params.server, '#' + params.channel);
} else if (params.server) {
tabActions.select(params.server);
}
}
},
render() {
var chatClass;
var tab = this.state.selectedTab;
let chatClass;
const tab = this.state.selectedTab;
if (!tab.channel) {
chatClass = 'chat-server';
@ -53,5 +51,3 @@ var Chat = React.createClass({
);
}
});
module.exports = Chat;

View file

@ -1,15 +1,14 @@
var React = require('react');
var Reflux = require('reflux');
var Infinite = require('react-infinite');
import React from 'react';
import Reflux from 'reflux';
import Infinite from 'react-infinite';
import MessageHeader from './MessageHeader.jsx';
import MessageLine from './MessageLine.jsx';
import messageLineStore from '../stores/messageLine';
import selectedTabStore from '../stores/selectedTab';
import messageActions from '../actions/message';
import PureMixin from '../mixins/pure';
var MessageHeader = require('./MessageHeader.jsx');
var MessageLine = require('./MessageLine.jsx');
var messageLineStore = require('../stores/messageLine');
var selectedTabStore = require('../stores/selectedTab');
var messageActions = require('../actions/message');
var PureMixin = require('../mixins/pure');
var MessageBox = React.createClass({
export default React.createClass({
mixins: [
PureMixin,
Reflux.connect(messageLineStore, 'messages'),
@ -23,6 +22,7 @@ var MessageBox = React.createClass({
},
componentDidMount() {
this.updateWidth();
window.addEventListener('resize', this.handleResize);
},
@ -31,15 +31,15 @@ var MessageBox = React.createClass({
},
componentWillUpdate() {
var el = this.refs.list.getDOMNode();
var el = this.refs.list.refs.scrollable;
this.autoScroll = el.scrollTop + el.offsetHeight === el.scrollHeight;
},
componentDidUpdate() {
this.updateWidth();
setTimeout(this.updateWidth, 0);
if (this.autoScroll) {
var el = this.refs.list.getDOMNode();
var el = this.refs.list.refs.scrollable;
el.scrollTop = el.scrollHeight;
}
},
@ -50,47 +50,44 @@ var MessageBox = React.createClass({
},
updateWidth() {
var width = this.refs.list.getDOMNode().firstChild.offsetWidth;
if (this.width !== width) {
this.width = width;
messageActions.setWrapWidth(width);
const { list } = this.refs;
if (list) {
const width = list.refs.scrollable.offsetWidth - 30;
if (this.width !== width) {
this.width = width;
messageActions.setWrapWidth(width);
}
}
},
render() {
var tab = this.state.selectedTab;
var dest = tab.channel || tab.server;
var lines = [];
const tab = this.state.selectedTab;
const dest = tab.channel || tab.server;
const lines = [];
this.state.messages.forEach((message, j) => {
var key = message.server + dest + j;
const key = message.server + dest + j;
lines.push(<MessageHeader key={key} message={message} />);
for (var i = 1; i < message.lines.length; i++) {
for (let i = 1; i < message.lines.length; i++) {
lines.push(
<MessageLine key={key + '-' + i} type={message.type} line={message.lines[i]} />
);
}
});
if (lines.length !== 1) {
return (
<div className="messagebox">
<Infinite ref="list" containerHeight={this.state.height} elementHeight={24}>
{lines}
</Infinite>
</div>
);
} else {
return (
<div className="messagebox">
<div ref="list">{lines}</div>
</div>
);
}
return (
<div className="messagebox">
<Infinite
ref="list"
className="messagebox-scrollable"
containerHeight={this.state.height}
elementHeight={24}
displayBottomUpwards={false}>
{lines}
</Infinite>
</div>
);
}
});
module.exports = MessageBox;