Upgrade to React 15.5

This commit is contained in:
Cmdr McDonald
2017-04-21 16:07:41 +01:00
parent 8f944bc4c8
commit 95f358f9d8
45 changed files with 274 additions and 231 deletions

View File

@@ -1,11 +1,12 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
const TestUtils = { const TestUtils = {
createContextProvider: function(context) { createContextProvider: function(context) {
var _contextTypes = {}; var _contextTypes = {};
Object.keys(context).forEach(function(key) { Object.keys(context).forEach(function(key) {
_contextTypes[key] = React.PropTypes.any; _contextTypes[key] = PropTypes.any;
}); });
return React.createClass({ return React.createClass({

8
d3.min.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -97,10 +97,11 @@
"fbemitter": "^2.0.0", "fbemitter": "^2.0.0",
"lodash": "^4.15.0", "lodash": "^4.15.0",
"lz-string": "^1.4.4", "lz-string": "^1.4.4",
"react": "^15.0.1", "prop-types": "^15.5.8",
"react-dom": "^15.0.1", "react": "^15.5.4",
"react-dom": "^15.5.4",
"react-number-editor": "Athanasius/react-number-editor.git#miggy", "react-number-editor": "Athanasius/react-number-editor.git#miggy",
"recharts": "^0.21.2", "recharts": "^0.22.3",
"superagent": "^1.4.0" "superagent": "^1.4.0"
} }
} }

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import Router from './Router'; import Router from './Router';
import { EventEmitter } from 'fbemitter'; import { EventEmitter } from 'fbemitter';
import { getLanguage } from './i18n/Language'; import { getLanguage } from './i18n/Language';
@@ -27,18 +28,18 @@ const zlib = require('zlib');
export default class Coriolis extends React.Component { export default class Coriolis extends React.Component {
static childContextTypes = { static childContextTypes = {
closeMenu: React.PropTypes.func.isRequired, closeMenu: PropTypes.func.isRequired,
hideModal: React.PropTypes.func.isRequired, hideModal: PropTypes.func.isRequired,
language: React.PropTypes.object.isRequired, language: PropTypes.object.isRequired,
noTouch: React.PropTypes.bool.isRequired, noTouch: PropTypes.bool.isRequired,
onCommand: React.PropTypes.func.isRequired, onCommand: PropTypes.func.isRequired,
onWindowResize: React.PropTypes.func.isRequired, onWindowResize: PropTypes.func.isRequired,
openMenu: React.PropTypes.func.isRequired, openMenu: PropTypes.func.isRequired,
route: React.PropTypes.object.isRequired, route: PropTypes.object.isRequired,
showModal: React.PropTypes.func.isRequired, showModal: PropTypes.func.isRequired,
sizeRatio: React.PropTypes.number.isRequired, sizeRatio: PropTypes.number.isRequired,
termtip: React.PropTypes.func.isRequired, termtip: PropTypes.func.isRequired,
tooltip: React.PropTypes.func.isRequired tooltip: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import * as ModuleUtils from '../shipyard/ModuleUtils'; import * as ModuleUtils from '../shipyard/ModuleUtils';
import { findDOMNode } from 'react-dom'; import { findDOMNode } from 'react-dom';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -83,12 +84,12 @@ const CATEGORIES = {
export default class AvailableModulesMenu extends TranslatedComponent { export default class AvailableModulesMenu extends TranslatedComponent {
static propTypes = { static propTypes = {
modules: React.PropTypes.oneOfType([React.PropTypes.object, React.PropTypes.array]).isRequired, modules: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,
onSelect: React.PropTypes.func.isRequired, onSelect: PropTypes.func.isRequired,
diffDetails: React.PropTypes.func, diffDetails: PropTypes.func,
m: React.PropTypes.object, m: PropTypes.object,
shipMass: React.PropTypes.number, shipMass: PropTypes.number,
warning: React.PropTypes.func warning: PropTypes.func
}; };
static defaultProps = { static defaultProps = {

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import * as d3 from 'd3'; import * as d3 from 'd3';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -45,16 +46,16 @@ export default class BarChart extends TranslatedComponent {
}; };
static propTypes = { static propTypes = {
colors: React.PropTypes.array, colors: PropTypes.array,
data: React.PropTypes.array.isRequired, data: PropTypes.array.isRequired,
desc: React.PropTypes.bool, desc: PropTypes.bool,
format: React.PropTypes.string.isRequired, format: PropTypes.string.isRequired,
labels: React.PropTypes.array, labels: PropTypes.array,
predicate: React.PropTypes.string, predicate: PropTypes.string,
properties: React.PropTypes.array, properties: PropTypes.array,
title: React.PropTypes.string.isRequired, title: PropTypes.string.isRequired,
unit: React.PropTypes.string.isRequired, unit: PropTypes.string.isRequired,
width: React.PropTypes.number.isRequired width: PropTypes.number.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import { nameComparator } from '../utils/SlotFunctions'; import { nameComparator } from '../utils/SlotFunctions';
@@ -14,10 +15,10 @@ import Module from '../shipyard/Module';
*/ */
export default class Boost extends TranslatedComponent { export default class Boost extends TranslatedComponent {
static propTypes = { static propTypes = {
marker: React.PropTypes.string.isRequired, marker: PropTypes.string.isRequired,
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
boost: React.PropTypes.bool.isRequired, boost: PropTypes.bool.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import Slider from '../components/Slider'; import Slider from '../components/Slider';
@@ -9,9 +10,9 @@ import Slider from '../components/Slider';
*/ */
export default class Cargo extends TranslatedComponent { export default class Cargo extends TranslatedComponent {
static propTypes = { static propTypes = {
cargo: React.PropTypes.number.isRequired, cargo: PropTypes.number.isRequired,
cargoCapacity: React.PropTypes.number.isRequired, cargoCapacity: PropTypes.number.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import Link from './Link'; import Link from './Link';
import cn from 'classnames'; import cn from 'classnames';
@@ -11,11 +12,11 @@ import { outfitURL } from '../utils/UrlGenerators';
export default class ComparisonTable extends TranslatedComponent { export default class ComparisonTable extends TranslatedComponent {
static propTypes = { static propTypes = {
facets: React.PropTypes.array.isRequired, facets: PropTypes.array.isRequired,
builds: React.PropTypes.array.isRequired, builds: PropTypes.array.isRequired,
onSort: React.PropTypes.func.isRequired, onSort: PropTypes.func.isRequired,
predicate: React.PropTypes.string.isRequired, // Used only to test again prop changes for shouldRender predicate: PropTypes.string.isRequired, // Used only to test again prop changes for shouldRender
desc: React.PropTypes.oneOfType([React.PropTypes.bool.isRequired, React.PropTypes.number.isRequired]), // Used only to test again prop changes for shouldRender desc: PropTypes.oneOfType([PropTypes.bool.isRequired, PropTypes.number.isRequired]), // Used only to test again prop changes for shouldRender
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames'; import cn from 'classnames';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import Persist from '../stores/Persist'; import Persist from '../stores/Persist';
@@ -14,9 +15,9 @@ import { ShoppingIcon } from '../components/SvgIcons';
export default class CostSection extends TranslatedComponent { export default class CostSection extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
code: React.PropTypes.string.isRequired, code: PropTypes.string.isRequired,
buildName: React.PropTypes.string buildName: PropTypes.string
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import * as Calc from '../shipyard/Calculations'; import * as Calc from '../shipyard/Calculations';
import PieChart from './PieChart'; import PieChart from './PieChart';
@@ -14,12 +15,12 @@ import VerticalBarChart from './VerticalBarChart';
*/ */
export default class Defence extends TranslatedComponent { export default class Defence extends TranslatedComponent {
static propTypes = { static propTypes = {
marker: React.PropTypes.string.isRequired, marker: PropTypes.string.isRequired,
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
opponent: React.PropTypes.object.isRequired, opponent: PropTypes.object.isRequired,
engagementrange: React.PropTypes.number.isRequired, engagementrange: PropTypes.number.isRequired,
sys: React.PropTypes.number.isRequired, sys: PropTypes.number.isRequired,
opponentWep: React.PropTypes.number.isRequired opponentWep: PropTypes.number.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import Slider from '../components/Slider'; import Slider from '../components/Slider';
@@ -9,9 +10,9 @@ import Slider from '../components/Slider';
*/ */
export default class EngagementRange extends TranslatedComponent { export default class EngagementRange extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
engagementRange: React.PropTypes.number.isRequired, engagementRange: PropTypes.number.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import { nameComparator } from '../utils/SlotFunctions'; import { nameComparator } from '../utils/SlotFunctions';
@@ -13,12 +14,12 @@ import * as Calc from '../shipyard/Calculations';
*/ */
export default class EngineProfile extends TranslatedComponent { export default class EngineProfile extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
cargo: React.PropTypes.number.isRequired, cargo: PropTypes.number.isRequired,
fuel: React.PropTypes.number.isRequired, fuel: PropTypes.number.isRequired,
eng: React.PropTypes.number.isRequired, eng: PropTypes.number.isRequired,
boost: React.PropTypes.bool.isRequired, boost: PropTypes.bool.isRequired,
marker: React.PropTypes.string.isRequired marker: PropTypes.string.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import { nameComparator } from '../utils/SlotFunctions'; import { nameComparator } from '../utils/SlotFunctions';
@@ -13,10 +14,10 @@ import * as Calc from '../shipyard/Calculations';
*/ */
export default class FSDProfile extends TranslatedComponent { export default class FSDProfile extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
cargo: React.PropTypes.number.isRequired, cargo: PropTypes.number.isRequired,
fuel: React.PropTypes.number.isRequired, fuel: PropTypes.number.isRequired,
marker: React.PropTypes.string.isRequired marker: PropTypes.string.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import Slider from '../components/Slider'; import Slider from '../components/Slider';
@@ -9,9 +10,9 @@ import Slider from '../components/Slider';
*/ */
export default class Fuel extends TranslatedComponent { export default class Fuel extends TranslatedComponent {
static propTypes = { static propTypes = {
fuel: React.PropTypes.number.isRequired, fuel: PropTypes.number.isRequired,
fuelCapacity: React.PropTypes.number.isRequired, fuelCapacity: PropTypes.number.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import { nameComparator } from '../utils/SlotFunctions'; import { nameComparator } from '../utils/SlotFunctions';
@@ -13,8 +14,8 @@ import * as Calc from '../shipyard/Calculations';
*/ */
export default class JumpRange extends TranslatedComponent { export default class JumpRange extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
code: React.PropTypes.string.isRequired code: PropTypes.string.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import Measure from 'react-measure'; import Measure from 'react-measure';
import * as d3 from 'd3'; import * as d3 from 'd3';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -20,21 +21,21 @@ export default class LineChart extends TranslatedComponent {
}; };
static propTypes = { static propTypes = {
func: React.PropTypes.func.isRequired, func: PropTypes.func.isRequired,
xLabel: React.PropTypes.string.isRequired, xLabel: PropTypes.string.isRequired,
xMin: React.PropTypes.number, xMin: PropTypes.number,
xMax: React.PropTypes.number.isRequired, xMax: PropTypes.number.isRequired,
xUnit: React.PropTypes.string.isRequired, xUnit: PropTypes.string.isRequired,
xMark: React.PropTypes.number, xMark: PropTypes.number,
yLabel: React.PropTypes.string.isRequired, yLabel: PropTypes.string.isRequired,
yMin: React.PropTypes.number, yMin: PropTypes.number,
yMax: React.PropTypes.number.isRequired, yMax: PropTypes.number.isRequired,
yUnit: React.PropTypes.string, yUnit: PropTypes.string,
series: React.PropTypes.array, series: PropTypes.array,
colors: React.PropTypes.array, colors: PropTypes.array,
points: React.PropTypes.number, points: PropTypes.number,
aspect: React.PropTypes.number, aspect: PropTypes.number,
code: React.PropTypes.string, code: PropTypes.string,
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import Router from '../Router'; import Router from '../Router';
import { shallowEqual } from '../utils/UtilityFunctions'; import { shallowEqual } from '../utils/UtilityFunctions';
@@ -8,9 +9,9 @@ import { shallowEqual } from '../utils/UtilityFunctions';
export default class Link extends React.Component { export default class Link extends React.Component {
static propTypes = { static propTypes = {
children: React.PropTypes.any, children: PropTypes.any,
href: React.PropTypes.string.isRequired, href: PropTypes.string.isRequired,
onClick: React.PropTypes.func onClick: PropTypes.func
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import Persist from '../stores/Persist'; import Persist from '../stores/Persist';
@@ -22,8 +23,8 @@ function buildComparator(a, b) {
export default class ModalCompare extends TranslatedComponent { export default class ModalCompare extends TranslatedComponent {
static propTypes = { static propTypes = {
onSelect: React.PropTypes.func.isRequired, onSelect: PropTypes.func.isRequired,
builds: React.PropTypes.array builds: PropTypes.array
}; };
static defaultProps = { static defaultProps = {

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import { findDOMNode } from 'react-dom'; import { findDOMNode } from 'react-dom';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -8,9 +9,9 @@ import TranslatedComponent from './TranslatedComponent';
export default class ModalExport extends TranslatedComponent { export default class ModalExport extends TranslatedComponent {
static propTypes = { static propTypes = {
title: React.PropTypes.string, title: PropTypes.string,
generator: React.PropTypes.func, generator: PropTypes.func,
data: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.object, React.PropTypes.array]) data: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.array])
}; };
/** /**

View File

@@ -1,4 +1,5 @@
/* eslint react/no-danger: 0 */ /* eslint react/no-danger: 0 */
import PropTypes from 'prop-types';
import React from 'react'; import React from 'react';
import { findDOMNode } from 'react-dom'; import { findDOMNode } from 'react-dom';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -9,7 +10,7 @@ import TranslatedComponent from './TranslatedComponent';
export default class ModalHelp extends TranslatedComponent { export default class ModalHelp extends TranslatedComponent {
static propTypes = { static propTypes = {
title: React.PropTypes.string title: PropTypes.string
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import { findDOMNode } from 'react-dom'; import { findDOMNode } from 'react-dom';
import cn from 'classnames'; import cn from 'classnames';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -86,7 +87,7 @@ export default class ModalImport extends TranslatedComponent {
static propTypes = { static propTypes = {
builds: React.PropTypes.object, // Optional: Import object builds: PropTypes.object, // Optional: Import object
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import ShortenUrl from '../utils/ShortenUrl'; import ShortenUrl from '../utils/ShortenUrl';
@@ -8,7 +9,7 @@ import ShortenUrl from '../utils/ShortenUrl';
export default class ModalPermalink extends TranslatedComponent { export default class ModalPermalink extends TranslatedComponent {
static propTypes = { static propTypes = {
url: React.PropTypes.string.isRequired url: PropTypes.string.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import cn from 'classnames'; import cn from 'classnames';
import NumberEditor from 'react-number-editor'; import NumberEditor from 'react-number-editor';
@@ -9,11 +10,11 @@ import NumberEditor from 'react-number-editor';
export default class Modification extends TranslatedComponent { export default class Modification extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
m: React.PropTypes.object.isRequired, m: PropTypes.object.isRequired,
name: React.PropTypes.string.isRequired, name: PropTypes.string.isRequired,
value: React.PropTypes.number.isRequired, value: PropTypes.number.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import * as _ from 'lodash'; import * as _ from 'lodash';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { isEmpty, stopCtxPropagation } from '../utils/UtilityFunctions'; import { isEmpty, stopCtxPropagation } from '../utils/UtilityFunctions';
@@ -13,10 +14,10 @@ import { getBlueprint, blueprintTooltip, setWorst, setBest, setExtreme, setRando
export default class ModificationsMenu extends TranslatedComponent { export default class ModificationsMenu extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
m: React.PropTypes.object.isRequired, m: PropTypes.object.isRequired,
marker: React.PropTypes.string.isRequired, marker: PropTypes.string.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
/** /**
@@ -6,12 +7,12 @@ import TranslatedComponent from './TranslatedComponent';
*/ */
export default class Movement extends TranslatedComponent { export default class Movement extends TranslatedComponent {
static propTypes = { static propTypes = {
marker: React.PropTypes.string.isRequired, marker: PropTypes.string.isRequired,
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
boost: React.PropTypes.bool.isRequired, boost: PropTypes.bool.isRequired,
eng: React.PropTypes.number.isRequired, eng: PropTypes.number.isRequired,
fuel: React.PropTypes.number.isRequired, fuel: PropTypes.number.isRequired,
cargo: React.PropTypes.number.isRequired cargo: PropTypes.number.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import * as Calc from '../shipyard/Calculations'; import * as Calc from '../shipyard/Calculations';
import PieChart from './PieChart'; import PieChart from './PieChart';
@@ -51,12 +52,12 @@ export function weaponComparator(translate, propComparator, desc) {
*/ */
export default class Offence extends TranslatedComponent { export default class Offence extends TranslatedComponent {
static propTypes = { static propTypes = {
marker: React.PropTypes.string.isRequired, marker: PropTypes.string.isRequired,
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
opponent: React.PropTypes.object.isRequired, opponent: PropTypes.object.isRequired,
engagementrange: React.PropTypes.number.isRequired, engagementrange: PropTypes.number.isRequired,
wep: React.PropTypes.number.isRequired, wep: PropTypes.number.isRequired,
opponentSys: React.PropTypes.number.isRequired opponentSys: PropTypes.number.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames'; import cn from 'classnames';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import Ship from '../shipyard/Ship'; import Ship from '../shipyard/Ship';
@@ -19,22 +20,22 @@ import WeaponDamageChart from './WeaponDamageChart';
export default class OutfittingSubpages extends TranslatedComponent { export default class OutfittingSubpages extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
code: React.PropTypes.string.isRequired, code: PropTypes.string.isRequired,
onChange: React.PropTypes.func.isRequired, onChange: PropTypes.func.isRequired,
buildName: React.PropTypes.string, buildName: PropTypes.string,
sys: React.PropTypes.number.isRequired, sys: PropTypes.number.isRequired,
eng: React.PropTypes.number.isRequired, eng: PropTypes.number.isRequired,
wep: React.PropTypes.number.isRequired, wep: PropTypes.number.isRequired,
cargo: React.PropTypes.number.isRequired, cargo: PropTypes.number.isRequired,
fuel: React.PropTypes.number.isRequired, fuel: PropTypes.number.isRequired,
boost: React.PropTypes.bool.isRequired, boost: PropTypes.bool.isRequired,
engagementRange: React.PropTypes.number.isRequired, engagementRange: PropTypes.number.isRequired,
opponent: React.PropTypes.object.isRequired, opponent: PropTypes.object.isRequired,
opponentBuild: React.PropTypes.string, opponentBuild: PropTypes.string,
opponentSys: React.PropTypes.number.isRequired, opponentSys: PropTypes.number.isRequired,
opponentEng: React.PropTypes.number.isRequired, opponentEng: PropTypes.number.isRequired,
opponentWep: React.PropTypes.number.isRequired, opponentWep: PropTypes.number.isRequired,
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Measure from 'react-measure'; import Measure from 'react-measure';
import * as d3 from 'd3'; import * as d3 from 'd3';
@@ -11,7 +12,7 @@ const LABEL_COLOUR = '#000000';
export default class PieChart extends Component { export default class PieChart extends Component {
static propTypes = { static propTypes = {
data : React.PropTypes.array.isRequired data : PropTypes.array.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import { nameComparator } from '../utils/SlotFunctions'; import { nameComparator } from '../utils/SlotFunctions';
@@ -14,10 +15,10 @@ import Module from '../shipyard/Module';
*/ */
export default class Pips extends TranslatedComponent { export default class Pips extends TranslatedComponent {
static propTypes = { static propTypes = {
sys: React.PropTypes.number.isRequired, sys: PropTypes.number.isRequired,
eng: React.PropTypes.number.isRequired, eng: PropTypes.number.isRequired,
wep: React.PropTypes.number.isRequired, wep: PropTypes.number.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import * as d3 from 'd3'; import * as d3 from 'd3';
import cn from 'classnames'; import cn from 'classnames';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -33,10 +34,10 @@ function bandText(val, index, wattScale) {
export default class PowerBands extends TranslatedComponent { export default class PowerBands extends TranslatedComponent {
static propTypes = { static propTypes = {
bands: React.PropTypes.array.isRequired, bands: PropTypes.array.isRequired,
available: React.PropTypes.number.isRequired, available: PropTypes.number.isRequired,
width: React.PropTypes.number.isRequired, width: PropTypes.number.isRequired,
code: React.PropTypes.string, code: PropTypes.string,
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import { findDOMNode } from 'react-dom'; import { findDOMNode } from 'react-dom';
import cn from 'classnames'; import cn from 'classnames';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -18,9 +19,9 @@ const POWER = [
*/ */
export default class PowerManagement extends TranslatedComponent { export default class PowerManagement extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
code: React.PropTypes.string.isRequired, code: PropTypes.string.isRequired,
onChange: React.PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import Ship from '../shipyard/Ship'; import Ship from '../shipyard/Ship';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
@@ -12,9 +13,9 @@ import cn from 'classnames';
*/ */
export default class ShipPicker extends TranslatedComponent { export default class ShipPicker extends TranslatedComponent {
static propTypes = { static propTypes = {
onChange: React.PropTypes.func.isRequired, onChange: PropTypes.func.isRequired,
ship: React.PropTypes.string.isRequired, ship: PropTypes.string.isRequired,
build: React.PropTypes.string build: PropTypes.string
}; };
static defaultProps = { static defaultProps = {

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import cn from 'classnames'; import cn from 'classnames';
import { Warning } from './SvgIcons'; import { Warning } from './SvgIcons';
@@ -10,10 +11,10 @@ import * as Calc from '../shipyard/Calculations';
export default class ShipSummaryTable extends TranslatedComponent { export default class ShipSummaryTable extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
cargo: React.PropTypes.number.isRequired, cargo: PropTypes.number.isRequired,
fuel: React.PropTypes.number.isRequired, fuel: PropTypes.number.isRequired,
marker: React.PropTypes.string.isRequired, marker: PropTypes.string.isRequired,
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import { findDOMNode } from 'react-dom'; import { findDOMNode } from 'react-dom';
const MARGIN_LR = 8; // Left/ Right margin const MARGIN_LR = 8; // Left/ Right margin
@@ -16,14 +17,14 @@ export default class Slider extends React.Component {
}; };
static propTypes = { static propTypes = {
axis: React.PropTypes.bool, axis: PropTypes.bool,
axisUnit: React.PropTypes.string, axisUnit: PropTypes.string,
max: React.PropTypes.number, max: PropTypes.number,
min: React.PropTypes.number, min: PropTypes.number,
onChange: React.PropTypes.func.isRequired, onChange: PropTypes.func.isRequired,
onResize: React.PropTypes.func, onResize: PropTypes.func,
percent: React.PropTypes.number.isRequired, percent: PropTypes.number.isRequired,
scale: React.PropTypes.number scale: PropTypes.number
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import cn from 'classnames'; import cn from 'classnames';
import AvailableModulesMenu from './AvailableModulesMenu'; import AvailableModulesMenu from './AvailableModulesMenu';
@@ -13,18 +14,18 @@ import { stopCtxPropagation } from '../utils/UtilityFunctions';
export default class Slot extends TranslatedComponent { export default class Slot extends TranslatedComponent {
static propTypes = { static propTypes = {
availableModules: React.PropTypes.func.isRequired, availableModules: PropTypes.func.isRequired,
onSelect: React.PropTypes.func.isRequired, onSelect: PropTypes.func.isRequired,
onOpen: React.PropTypes.func.isRequired, onOpen: PropTypes.func.isRequired,
maxClass: React.PropTypes.number.isRequired, maxClass: PropTypes.number.isRequired,
selected: React.PropTypes.bool, selected: PropTypes.bool,
m: React.PropTypes.object, m: PropTypes.object,
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
eligible: React.PropTypes.object, eligible: PropTypes.object,
warning: React.PropTypes.func, warning: PropTypes.func,
drag: React.PropTypes.func, drag: PropTypes.func,
drop: React.PropTypes.func, drop: PropTypes.func,
dropClass: React.PropTypes.string dropClass: PropTypes.string
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { wrapCtxMenu } from '../utils/UtilityFunctions'; import { wrapCtxMenu } from '../utils/UtilityFunctions';
import { canMount } from '../utils/SlotFunctions'; import { canMount } from '../utils/SlotFunctions';
@@ -11,10 +12,10 @@ import cn from 'classnames';
export default class SlotSection extends TranslatedComponent { export default class SlotSection extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
onChange: React.PropTypes.func.isRequired, onChange: PropTypes.func.isRequired,
code: React.PropTypes.string.isRequired, code: PropTypes.string.isRequired,
togglePwr: React.PropTypes.func togglePwr: PropTypes.func
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames'; import cn from 'classnames';
import Persist from '../stores/Persist'; import Persist from '../stores/Persist';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
@@ -17,14 +18,14 @@ import { blueprintTooltip } from '../utils/BlueprintFunctions';
export default class StandardSlot extends TranslatedComponent { export default class StandardSlot extends TranslatedComponent {
static propTypes = { static propTypes = {
slot: React.PropTypes.object, slot: PropTypes.object,
modules: React.PropTypes.array.isRequired, modules: PropTypes.array.isRequired,
onSelect: React.PropTypes.func.isRequired, onSelect: PropTypes.func.isRequired,
onOpen: React.PropTypes.func.isRequired, onOpen: PropTypes.func.isRequired,
onChange: React.PropTypes.func.isRequired, onChange: PropTypes.func.isRequired,
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
selected: React.PropTypes.bool, selected: PropTypes.bool,
warning: React.PropTypes.func, warning: PropTypes.func,
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import cn from 'classnames'; import cn from 'classnames';
import { shallowEqual } from '../utils/UtilityFunctions'; import { shallowEqual } from '../utils/UtilityFunctions';
@@ -8,8 +9,8 @@ import { shallowEqual } from '../utils/UtilityFunctions';
class SvgIcon extends React.Component { class SvgIcon extends React.Component {
static propTypes = { static propTypes = {
className: React.PropTypes.any, className: PropTypes.any,
style: React.PropTypes.object style: PropTypes.object
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
/** /**
@@ -7,8 +8,8 @@ import TranslatedComponent from './TranslatedComponent';
export default class Tooltip extends TranslatedComponent { export default class Tooltip extends TranslatedComponent {
static propTypes = { static propTypes = {
rect: React.PropTypes.object.isRequired, rect: PropTypes.object.isRequired,
options: React.PropTypes.object options: PropTypes.object
}; };
static defaultProps = { static defaultProps = {

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import { shallowEqual } from '../utils/UtilityFunctions'; import { shallowEqual } from '../utils/UtilityFunctions';
/** /**
@@ -7,15 +8,15 @@ import { shallowEqual } from '../utils/UtilityFunctions';
export default class TranslatedComponent extends React.Component { export default class TranslatedComponent extends React.Component {
static contextTypes = { static contextTypes = {
language: React.PropTypes.object.isRequired, language: PropTypes.object.isRequired,
sizeRatio: React.PropTypes.number.isRequired, sizeRatio: PropTypes.number.isRequired,
openMenu: React.PropTypes.func.isRequired, openMenu: PropTypes.func.isRequired,
closeMenu: React.PropTypes.func.isRequired, closeMenu: PropTypes.func.isRequired,
showModal: React.PropTypes.func.isRequired, showModal: PropTypes.func.isRequired,
hideModal: React.PropTypes.func.isRequired, hideModal: PropTypes.func.isRequired,
tooltip: React.PropTypes.func.isRequired, tooltip: PropTypes.func.isRequired,
termtip: React.PropTypes.func.isRequired, termtip: PropTypes.func.isRequired,
onWindowResize: React.PropTypes.func.isRequired onWindowResize: PropTypes.func.isRequired
}; };
/** /**

View File

@@ -87,13 +87,13 @@ export default class VerticalBarChart extends TranslatedComponent {
/** /**
* A label that displays the value within the bar of the chart * A label that displays the value within the bar of the chart
*/ */
const ValueLabel = React.createClass({ class ValueLabel extends React.Component {
propTypes: { static propTypes = {
x: PropTypes.number, x: PropTypes.number,
y: PropTypes.number, y: PropTypes.number,
payload: PropTypes.object, payload: PropTypes.object,
value: PropTypes.number value: PropTypes.number
}, };
render() { render() {
const { x, y, payload, value } = this.props; const { x, y, payload, value } = this.props;
@@ -104,4 +104,4 @@ const ValueLabel = React.createClass({
<text x={x} y={y} fill="#000000" textAnchor="middle" dy={20} style={{ fontSize: em }}>{value}</text> <text x={x} y={y} fill="#000000" textAnchor="middle" dy={20} style={{ fontSize: em }}>{value}</text>
); );
} }
}); };

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import TranslatedComponent from './TranslatedComponent'; import TranslatedComponent from './TranslatedComponent';
import { Ships } from 'coriolis-data/dist'; import { Ships } from 'coriolis-data/dist';
import { nameComparator } from '../utils/SlotFunctions'; import { nameComparator } from '../utils/SlotFunctions';
@@ -15,12 +16,12 @@ const DAMAGE_DEALT_COLORS = ['#FFFFFF', '#FF0000', '#00FF00', '#7777FF', '#FFFF0
*/ */
export default class WeaponDamageChart extends TranslatedComponent { export default class WeaponDamageChart extends TranslatedComponent {
static propTypes = { static propTypes = {
ship: React.PropTypes.object.isRequired, ship: PropTypes.object.isRequired,
opponent: React.PropTypes.object.isRequired, opponent: PropTypes.object.isRequired,
hull: React.PropTypes.bool.isRequired, hull: PropTypes.bool.isRequired,
engagementRange: React.PropTypes.number.isRequired, engagementRange: PropTypes.number.isRequired,
opponentSys: React.PropTypes.number.isRequired, opponentSys: PropTypes.number.isRequired,
marker: React.PropTypes.string.isRequired marker: PropTypes.string.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
/** /**
* Unexpected Error page / block * Unexpected Error page / block
@@ -6,12 +7,12 @@ import React from 'react';
export default class ErrorDetails extends React.Component { export default class ErrorDetails extends React.Component {
static contextTypes = { static contextTypes = {
route: React.PropTypes.object.isRequired, route: PropTypes.object.isRequired,
language: React.PropTypes.object.isRequired language: PropTypes.object.isRequired
}; };
static propTypes = { static propTypes = {
error: React.PropTypes.object.isRequired error: PropTypes.object.isRequired
}; };
/** /**

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types';
import ErrorDetails from './ErrorDetails'; import ErrorDetails from './ErrorDetails';
import { shallowEqual } from '../utils/UtilityFunctions'; import { shallowEqual } from '../utils/UtilityFunctions';
@@ -8,22 +9,22 @@ import { shallowEqual } from '../utils/UtilityFunctions';
export default class Page extends React.Component { export default class Page extends React.Component {
static contextTypes = { static contextTypes = {
closeMenu: React.PropTypes.func.isRequired, closeMenu: PropTypes.func.isRequired,
hideModal: React.PropTypes.func.isRequired, hideModal: PropTypes.func.isRequired,
language: React.PropTypes.object.isRequired, language: PropTypes.object.isRequired,
noTouch: React.PropTypes.bool.isRequired, noTouch: PropTypes.bool.isRequired,
onCommand: React.PropTypes.func.isRequired, onCommand: PropTypes.func.isRequired,
onWindowResize: React.PropTypes.func.isRequired, onWindowResize: PropTypes.func.isRequired,
openMenu: React.PropTypes.func.isRequired, openMenu: PropTypes.func.isRequired,
route: React.PropTypes.object.isRequired, route: PropTypes.object.isRequired,
showModal: React.PropTypes.func.isRequired, showModal: PropTypes.func.isRequired,
sizeRatio: React.PropTypes.number.isRequired, sizeRatio: PropTypes.number.isRequired,
termtip: React.PropTypes.func.isRequired, termtip: PropTypes.func.isRequired,
tooltip: React.PropTypes.func.isRequired tooltip: PropTypes.func.isRequired
}; };
static propTypes = { static propTypes = {
currentMenu: React.PropTypes.any currentMenu: PropTypes.any
}; };
/** /**