Upgrade React to v16
* Introduce 2 base components: Component and PureComponent. Before, we have only PureComponent but it was impossible to add a shoulComponentUpdate method (used for Terms).
This commit is contained in:
parent
507fc28200
commit
f8366d010d
15 changed files with 103 additions and 107 deletions
|
|
@ -1,13 +1,13 @@
|
|||
import React from 'react';
|
||||
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
import {decorate, getTabsProps} from '../utils/plugins';
|
||||
|
||||
import Tabs_ from './tabs';
|
||||
|
||||
const Tabs = decorate(Tabs_, 'Tabs');
|
||||
|
||||
export default class Header extends Component {
|
||||
export default class Header extends PureComponent {
|
||||
constructor() {
|
||||
super();
|
||||
this.onChangeIntent = this.onChangeIntent.bind(this);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React from 'react';
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
|
||||
export default class Notification extends Component {
|
||||
export default class Notification extends PureComponent {
|
||||
constructor() {
|
||||
super();
|
||||
this.state = {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import React from 'react';
|
||||
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
import {decorate} from '../utils/plugins';
|
||||
|
||||
import Notification_ from './notification';
|
||||
|
||||
const Notification = decorate(Notification_);
|
||||
|
||||
export default class Notifications extends Component {
|
||||
export default class Notifications extends PureComponent {
|
||||
template(css) {
|
||||
return (
|
||||
<div className={css('view')}>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/* eslint-disable quote-props */
|
||||
import React from 'react';
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
|
||||
export default class SplitPane extends Component {
|
||||
export default class SplitPane extends PureComponent {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.handleDragStart = this.handleDragStart.bind(this);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React from 'react';
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
|
||||
export default class Tab extends Component {
|
||||
export default class Tab extends PureComponent {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React from 'react';
|
||||
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
import {decorate, getTabProps} from '../utils/plugins';
|
||||
|
||||
import Tab_ from './tab';
|
||||
|
|
@ -8,7 +8,7 @@ import Tab_ from './tab';
|
|||
const Tab = decorate(Tab_, 'Tab');
|
||||
const isMac = /Mac/.test(navigator.userAgent);
|
||||
|
||||
export default class Tabs extends Component {
|
||||
export default class Tabs extends PureComponent {
|
||||
template(css) {
|
||||
const {tabs = [], borderColor, onChange, onClose} = this.props;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React from 'react';
|
||||
import {connect} from 'react-redux';
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
import {decorate, getTermProps, getTermGroupProps} from '../utils/plugins';
|
||||
import {resizeTermGroup} from '../actions/term-groups';
|
||||
import Term_ from './term';
|
||||
|
|
@ -9,7 +9,7 @@ import SplitPane_ from './split-pane';
|
|||
const Term = decorate(Term_, 'Term');
|
||||
const SplitPane = decorate(SplitPane_, 'SplitPane');
|
||||
|
||||
class TermGroup_ extends Component {
|
||||
class TermGroup_ extends PureComponent {
|
||||
constructor(props, context) {
|
||||
super(props, context);
|
||||
this.bound = new WeakMap();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* global Blob,URL,requestAnimationFrame */
|
||||
import React from 'react';
|
||||
import Terminal from 'xterm';
|
||||
import Component from '../component';
|
||||
import {PureComponent} from '../base-components';
|
||||
import terms from '../terms';
|
||||
import returnKey from '../utils/keymaps';
|
||||
import CommandRegistry from '../command-registry';
|
||||
|
|
@ -13,7 +13,7 @@ const CURSOR_STYLES = {
|
|||
BLOCK: 'block'
|
||||
};
|
||||
|
||||
export default class Term extends Component {
|
||||
export default class Term extends PureComponent {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
props.ref_(props.uid, this);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import React from 'react';
|
||||
import Component from '../component';
|
||||
import {Component} from '../base-components';
|
||||
import {decorate, getTermGroupProps} from '../utils/plugins';
|
||||
import CommandRegistry from '../command-registry';
|
||||
import TermGroup_ from './term-group';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue