Fixing PropTypes warning messages (#2670)

* Fixing PropTypes warning message

React recently started warning on the upcoming deprecation of
React.PropTypes, the new approach is to use the `prop-types`
npm package instead.

* Fixing the tests
This commit is contained in:
Maxime Beauchemin 2017-04-24 17:39:57 -07:00 committed by GitHub
parent 29780821e8
commit e055e6d2c2
67 changed files with 218 additions and 152 deletions

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import AceEditor from 'react-ace';
import 'brace/mode/sql';
import 'brace/theme/github';
@ -25,12 +26,12 @@ const sqlWords = sqlKeywords.map(s => ({
}));
const propTypes = {
actions: React.PropTypes.object.isRequired,
onBlur: React.PropTypes.func,
onAltEnter: React.PropTypes.func,
sql: React.PropTypes.string.isRequired,
tables: React.PropTypes.array,
queryEditor: React.PropTypes.object.isRequired,
actions: PropTypes.object.isRequired,
onBlur: PropTypes.func,
onAltEnter: PropTypes.func,
sql: PropTypes.string.isRequired,
tables: PropTypes.array,
queryEditor: PropTypes.object.isRequired,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
@ -79,8 +80,8 @@ class App extends React.PureComponent {
}
App.propTypes = {
alerts: React.PropTypes.array,
actions: React.PropTypes.object,
alerts: PropTypes.array,
actions: PropTypes.object,
};
function mapStateToProps(state) {

View File

@ -1,9 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import { OverlayTrigger, Tooltip } from 'react-bootstrap';
const propTypes = {
column: React.PropTypes.object.isRequired,
column: PropTypes.object.isRequired,
};
const iconMap = {

View File

@ -1,9 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import CopyToClipboard from '../../components/CopyToClipboard';
import { storeQuery } from '../../../utils/common';
const propTypes = {
queryEditor: React.PropTypes.object.isRequired,
queryEditor: PropTypes.object.isRequired,
};
export default class CopyQueryTabUrl extends React.PureComponent {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import { Modal } from 'react-bootstrap';
@ -7,10 +8,10 @@ import * as Actions from '../actions';
import ResultSet from './ResultSet';
const propTypes = {
queries: React.PropTypes.object,
actions: React.PropTypes.object,
showDataPreviewModal: React.PropTypes.bool,
dataPreviewQueryId: React.PropTypes.string,
queries: PropTypes.object,
actions: PropTypes.object,
showDataPreviewModal: PropTypes.bool,
dataPreviewQueryId: PropTypes.string,
};
class DataPreviewModal extends React.PureComponent {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import SyntaxHighlighter from 'react-syntax-highlighter';
import { github } from 'react-syntax-highlighter/dist/styles';
import ModalTrigger from '../../components/ModalTrigger';
@ -10,11 +11,11 @@ const defaultProps = {
};
const propTypes = {
sql: React.PropTypes.string.isRequired,
rawSql: React.PropTypes.string,
maxWidth: React.PropTypes.number,
maxLines: React.PropTypes.number,
shrink: React.PropTypes.bool,
sql: PropTypes.string.isRequired,
rawSql: PropTypes.string,
maxWidth: PropTypes.number,
maxLines: PropTypes.number,
shrink: PropTypes.bool,
};
class HighlightedSql extends React.Component {

View File

@ -1,14 +1,15 @@
import React from 'react';
import PropTypes from 'prop-types';
import { OverlayTrigger, Tooltip } from 'react-bootstrap';
const propTypes = {
children: React.PropTypes.node,
className: React.PropTypes.string,
href: React.PropTypes.string,
onClick: React.PropTypes.func,
placement: React.PropTypes.string,
style: React.PropTypes.object,
tooltip: React.PropTypes.string,
children: PropTypes.node,
className: PropTypes.string,
href: PropTypes.string,
onClick: PropTypes.func,
placement: PropTypes.string,
style: PropTypes.object,
tooltip: PropTypes.string,
};
const defaultProps = {
className: '',

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import * as Actions from '../actions';
@ -48,9 +49,9 @@ class QueryAutoRefresh extends React.PureComponent {
}
}
QueryAutoRefresh.propTypes = {
queries: React.PropTypes.object.isRequired,
actions: React.PropTypes.object.isRequired,
queriesLastUpdate: React.PropTypes.number.isRequired,
queries: PropTypes.object.isRequired,
actions: PropTypes.object.isRequired,
queriesLastUpdate: PropTypes.number.isRequired,
};
function mapStateToProps(state) {

View File

@ -1,11 +1,12 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Alert } from 'react-bootstrap';
import QueryTable from './QueryTable';
const propTypes = {
queries: React.PropTypes.array.isRequired,
actions: React.PropTypes.object.isRequired,
queries: PropTypes.array.isRequired,
actions: PropTypes.object.isRequired,
};
const QueryHistory = (props) => {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button } from 'react-bootstrap';
import Select from 'react-select';
import QueryTable from './QueryTable';
@ -10,8 +11,8 @@ import AsyncSelect from '../../components/AsyncSelect';
const $ = window.$ = require('jquery');
const propTypes = {
actions: React.PropTypes.object.isRequired,
height: React.PropTypes.number.isRequired,
actions: PropTypes.object.isRequired,
height: PropTypes.number.isRequired,
};
class QuerySearch extends React.PureComponent {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
import { Table } from 'reactable';
@ -13,11 +14,11 @@ import { fDuration } from '../../modules/dates';
import { storeQuery } from '../../../utils/common';
const propTypes = {
columns: React.PropTypes.array,
actions: React.PropTypes.object,
queries: React.PropTypes.array,
onUserClicked: React.PropTypes.func,
onDbClicked: React.PropTypes.func,
columns: PropTypes.array,
actions: PropTypes.object,
queries: PropTypes.array,
onUserClicked: PropTypes.func,
onDbClicked: PropTypes.func,
};
const defaultProps = {
columns: ['started', 'duration', 'rows'],

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Alert, Button, ButtonGroup, ProgressBar } from 'react-bootstrap';
import shortid from 'shortid';
@ -7,14 +8,14 @@ import HighlightedSql from './HighlightedSql';
import FilterableTable from '../../components/FilterableTable/FilterableTable';
const propTypes = {
actions: React.PropTypes.object,
csv: React.PropTypes.bool,
query: React.PropTypes.object,
search: React.PropTypes.bool,
showSql: React.PropTypes.bool,
visualize: React.PropTypes.bool,
cache: React.PropTypes.bool,
height: React.PropTypes.number.isRequired,
actions: PropTypes.object,
csv: PropTypes.bool,
query: PropTypes.object,
search: PropTypes.bool,
showSql: PropTypes.bool,
visualize: PropTypes.bool,
cache: PropTypes.bool,
height: PropTypes.number.isRequired,
};
const defaultProps = {
search: true,

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import Button from '../../components/Button';
const propTypes = {

View File

@ -1,15 +1,16 @@
/* global notify */
import React from 'react';
import PropTypes from 'prop-types';
import { FormControl, FormGroup, Overlay, Popover, Row, Col } from 'react-bootstrap';
import Button from '../../components/Button';
const propTypes = {
defaultLabel: React.PropTypes.string,
sql: React.PropTypes.string,
schema: React.PropTypes.string,
dbId: React.PropTypes.number,
animation: React.PropTypes.bool,
onSave: React.PropTypes.func,
defaultLabel: PropTypes.string,
sql: PropTypes.string,
schema: PropTypes.string,
dbId: PropTypes.number,
animation: PropTypes.bool,
onSave: PropTypes.func,
};
const defaultProps = {
defaultLabel: 'Undefined',

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import shortid from 'shortid';
import { Alert, Tab, Tabs } from 'react-bootstrap';
import { connect } from 'react-redux';
@ -13,10 +14,10 @@ import ResultSet from './ResultSet';
dataPrebiewQueries are all queries executed for preview of table data (from SqlEditorLeft)
*/
const propTypes = {
editorQueries: React.PropTypes.array.isRequired,
dataPreviewQueries: React.PropTypes.array.isRequired,
actions: React.PropTypes.object.isRequired,
activeSouthPaneTab: React.PropTypes.string,
editorQueries: PropTypes.array.isRequired,
dataPreviewQueries: PropTypes.array.isRequired,
actions: PropTypes.object.isRequired,
activeSouthPaneTab: PropTypes.string,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import {
Col,
FormGroup,
@ -23,15 +24,15 @@ import { STATE_BSSTYLE_MAP } from '../constants';
import RunQueryActionButton from './RunQueryActionButton';
const propTypes = {
actions: React.PropTypes.object.isRequired,
height: React.PropTypes.string.isRequired,
database: React.PropTypes.object,
latestQuery: React.PropTypes.object,
tables: React.PropTypes.array.isRequired,
editorQueries: React.PropTypes.array.isRequired,
dataPreviewQueries: React.PropTypes.array.isRequired,
queryEditor: React.PropTypes.object.isRequired,
hideLeftBar: React.PropTypes.bool,
actions: PropTypes.object.isRequired,
height: PropTypes.string.isRequired,
database: PropTypes.object,
latestQuery: PropTypes.object,
tables: PropTypes.array.isRequired,
editorQueries: PropTypes.array.isRequired,
dataPreviewQueries: PropTypes.array.isRequired,
queryEditor: PropTypes.object.isRequired,
hideLeftBar: PropTypes.bool,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button } from 'react-bootstrap';
import Select from 'react-virtualized-select';
import createFilterOptions from 'react-select-fast-filter-options';
@ -9,10 +10,10 @@ import AsyncSelect from '../../components/AsyncSelect';
const $ = window.$ = require('jquery');
const propTypes = {
queryEditor: React.PropTypes.object.isRequired,
height: React.PropTypes.number.isRequired,
tables: React.PropTypes.array,
actions: React.PropTypes.object,
queryEditor: PropTypes.object.isRequired,
height: PropTypes.number.isRequired,
tables: PropTypes.array,
actions: PropTypes.object,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { DropdownButton, MenuItem, Tab, Tabs } from 'react-bootstrap';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
@ -10,14 +11,14 @@ import CopyQueryTabUrl from './CopyQueryTabUrl';
import { areArraysShallowEqual } from '../../reduxUtils';
const propTypes = {
actions: React.PropTypes.object.isRequired,
defaultDbId: React.PropTypes.number,
databases: React.PropTypes.object.isRequired,
queries: React.PropTypes.object.isRequired,
queryEditors: React.PropTypes.array,
tabHistory: React.PropTypes.array.isRequired,
tables: React.PropTypes.array.isRequired,
editorHeight: React.PropTypes.string.isRequired,
actions: PropTypes.object.isRequired,
defaultDbId: PropTypes.number,
databases: PropTypes.object.isRequired,
queries: PropTypes.object.isRequired,
queryEditors: PropTypes.array,
tabHistory: PropTypes.array.isRequired,
tables: PropTypes.array.isRequired,
editorHeight: PropTypes.string.isRequired,
};
const defaultProps = {
queryEditors: [],

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { ButtonGroup, Collapse, Well } from 'react-bootstrap';
import shortid from 'shortid';
@ -9,9 +10,9 @@ import ColumnElement from './ColumnElement';
import ModalTrigger from '../../components/ModalTrigger';
const propTypes = {
table: React.PropTypes.object,
actions: React.PropTypes.object,
timeout: React.PropTypes.number, // used for tests
table: PropTypes.object,
actions: PropTypes.object,
timeout: PropTypes.number, // used for tests
};
const defaultProps = {

View File

@ -1,5 +1,6 @@
/* global notify */
import React from 'react';
import PropTypes from 'prop-types';
import { Alert, Button, Col, Modal } from 'react-bootstrap';
import Select from 'react-select';
@ -16,9 +17,9 @@ const CHART_TYPES = [
];
const propTypes = {
onHide: React.PropTypes.func,
query: React.PropTypes.object,
show: React.PropTypes.bool,
onHide: PropTypes.func,
query: PropTypes.object,
show: PropTypes.bool,
};
const defaultProps = {
show: false,

View File

@ -1,15 +1,16 @@
import React from 'react';
import PropTypes from 'prop-types';
import Select from 'react-select';
const $ = window.$ = require('jquery');
const propTypes = {
dataEndpoint: React.PropTypes.string.isRequired,
onChange: React.PropTypes.func.isRequired,
mutator: React.PropTypes.func.isRequired,
value: React.PropTypes.number,
valueRenderer: React.PropTypes.func,
placeholder: React.PropTypes.string,
dataEndpoint: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
mutator: PropTypes.func.isRequired,
value: PropTypes.number,
valueRenderer: PropTypes.func,
placeholder: PropTypes.string,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Button as BootstrapButton, Tooltip, OverlayTrigger } from 'react-bootstrap';
import { slugify } from '../modules/utils';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Label } from 'react-bootstrap';
import moment from 'moment';
import TooltipWrapper from './TooltipWrapper';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Tooltip, OverlayTrigger, MenuItem } from 'react-bootstrap';
const propTypes = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import cx from 'classnames';
import TooltipWrapper from './TooltipWrapper';

View File

@ -1,5 +1,6 @@
import { List } from 'immutable';
import React, { PropTypes, PureComponent } from 'react';
import PropTypes from 'prop-types';
import React, { PureComponent } from 'react';
import {
Column,
Table,

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Tooltip, OverlayTrigger } from 'react-bootstrap';
import { slugify } from '../modules/utils';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Modal } from 'react-bootstrap';
import cx from 'classnames';
import Button from './Button';

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { now, fDuration } from '../modules/dates';
class Timer extends React.PureComponent {
@ -54,11 +55,11 @@ class Timer extends React.PureComponent {
}
}
Timer.propTypes = {
startTime: React.PropTypes.number,
endTime: React.PropTypes.number,
isRunning: React.PropTypes.bool.isRequired,
status: React.PropTypes.string,
style: React.PropTypes.object,
startTime: PropTypes.number,
endTime: PropTypes.number,
isRunning: PropTypes.bool.isRequired,
status: PropTypes.string,
style: PropTypes.object,
};
Timer.defaultProps = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Tooltip, OverlayTrigger } from 'react-bootstrap';
import { slugify } from '../modules/utils';

View File

@ -1,11 +1,12 @@
import React from 'react';
import PropTypes from 'prop-types';
import ModalTrigger from '../../components/ModalTrigger';
const propTypes = {
triggerNode: React.PropTypes.node.isRequired,
code: React.PropTypes.string,
codeCallback: React.PropTypes.func,
triggerNode: PropTypes.node.isRequired,
code: PropTypes.string,
codeCallback: PropTypes.func,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { ButtonGroup } from 'react-bootstrap';
import Button from '../../components/Button';
@ -11,7 +12,7 @@ import SliceAdder from './SliceAdder';
const $ = window.$ = require('jquery');
const propTypes = {
dashboard: React.PropTypes.object.isRequired,
dashboard: PropTypes.object.isRequired,
};
class Controls extends React.PureComponent {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import Select from 'react-select';
import AceEditor from 'react-ace';
@ -8,10 +9,10 @@ import 'brace/theme/github';
import ModalTrigger from '../../components/ModalTrigger';
const propTypes = {
initialCss: React.PropTypes.string,
triggerNode: React.PropTypes.node.isRequired,
onChange: React.PropTypes.func,
templates: React.PropTypes.array,
initialCss: PropTypes.string,
triggerNode: PropTypes.node.isRequired,
onChange: PropTypes.func,
templates: PropTypes.array,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Responsive, WidthProvider } from 'react-grid-layout';
import $ from 'jquery';

View File

@ -1,9 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import Controls from './Controls';
const propTypes = {
dashboard: React.PropTypes.object,
dashboard: PropTypes.object,
};
const defaultProps = {
};

View File

@ -1,11 +1,12 @@
import React from 'react';
import PropTypes from 'prop-types';
import Select from 'react-select';
import ModalTrigger from '../../components/ModalTrigger';
const propTypes = {
triggerNode: React.PropTypes.node.isRequired,
initialRefreshFrequency: React.PropTypes.number,
onChange: React.PropTypes.func,
triggerNode: PropTypes.node.isRequired,
initialRefreshFrequency: PropTypes.number,
onChange: PropTypes.func,
};
const defaultProps = {

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button, FormControl, FormGroup, Radio } from 'react-bootstrap';
import { getAjaxErrorMsg, showModal } from '../../modules/utils';
import ModalTrigger from '../../components/ModalTrigger';
@ -6,9 +7,9 @@ import ModalTrigger from '../../components/ModalTrigger';
const $ = window.$ = require('jquery');
const propTypes = {
css: React.PropTypes.string,
dashboard: React.PropTypes.object.isRequired,
triggerNode: React.PropTypes.node.isRequired,
css: PropTypes.string,
dashboard: PropTypes.object.isRequired,
triggerNode: PropTypes.node.isRequired,
};
class SaveModal extends React.PureComponent {

View File

@ -1,5 +1,6 @@
import React from 'react';
import $ from 'jquery';
import React, { PropTypes } from 'react';
import PropTypes from 'prop-types';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
import ModalTrigger from '../../components/ModalTrigger';

View File

@ -1,5 +1,6 @@
/* eslint-disable react/no-danger */
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
const propTypes = {
slice: PropTypes.object.isRequired,

View File

@ -1,6 +1,7 @@
import $ from 'jquery';
import React from 'react';
import PropTypes from 'prop-types';
import Mustache from 'mustache';
import React, { PropTypes } from 'react';
import { connect } from 'react-redux';
import { Alert, Collapse, Panel } from 'react-bootstrap';
import visMap from '../../../visualizations/main';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import ControlHeader from './ControlHeader';
import CheckboxControl from './controls/CheckboxControl';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { ControlLabel, OverlayTrigger, Tooltip } from 'react-bootstrap';
import InfoTooltipWithTrigger from '../../components/InfoTooltipWithTrigger';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Panel } from 'react-bootstrap';
import InfoTooltipWithTrigger from '../../components/InfoTooltipWithTrigger';

View File

@ -1,5 +1,6 @@
/* eslint camelcase: 0 */
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import { Panel, Alert } from 'react-bootstrap';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
const NUM_COLUMNS = 12;

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import SyntaxHighlighter from 'react-syntax-highlighter';
import { github } from 'react-syntax-highlighter/dist/styles';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Popover, OverlayTrigger } from 'react-bootstrap';
import CopyToClipboard from './../../components/CopyToClipboard';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import cx from 'classnames';
import URLShortLinkButton from './URLShortLinkButton';
import EmbedCodeButton from './EmbedCodeButton';

View File

@ -1,5 +1,6 @@
/* eslint camelcase: 0 */
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import ChartContainer from './ChartContainer';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { ButtonGroup, OverlayTrigger, Tooltip } from 'react-bootstrap';
import classnames from 'classnames';

View File

@ -1,5 +1,6 @@
/* eslint camelcase: 0 */
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import $ from 'jquery';
import { Modal, Alert, Button, Radio } from 'react-bootstrap';
import Select from 'react-select';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Popover, OverlayTrigger } from 'react-bootstrap';
import CopyToClipboard from './../../components/CopyToClipboard';
import { getShortUrl } from '../../../utils/common';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Checkbox } from 'react-bootstrap';
const propTypes = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import Select from 'react-select';
import { Button, Row, Col } from 'react-bootstrap';
import SelectControl from './SelectControl';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { Button, Row, Col } from 'react-bootstrap';
import Filter from './Filter';

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { FormControl } from 'react-bootstrap';
const propTypes = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import Select, { Creatable } from 'react-select';
const propTypes = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { FormGroup, FormControl } from 'react-bootstrap';
const propTypes = {

View File

@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { FormGroup, FormControl } from 'react-bootstrap';
import * as v from '../../validators';

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Col, Row, Tabs, Tab, Panel } from 'react-bootstrap';
import Favorites from './Favorites';
import UserInfo from './UserInfo';
@ -7,7 +8,7 @@ import RecentActivity from './RecentActivity';
import CreatedContent from './CreatedContent';
const propTypes = {
user: React.PropTypes.object.isRequired,
user: PropTypes.object.isRequired,
};
export default function App(props) {

View File

@ -1,9 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
import TableLoader from './TableLoader';
const propTypes = {
user: React.PropTypes.object.isRequired,
user: PropTypes.object.isRequired,
};
class CreatedContent extends React.PureComponent {

View File

@ -1,9 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
import TableLoader from './TableLoader';
const propTypes = {
user: React.PropTypes.object.isRequired,
user: PropTypes.object.isRequired,
};
export default class Favorites extends React.PureComponent {

View File

@ -1,11 +1,12 @@
import React from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
import $ from 'jquery';
import TableLoader from './TableLoader';
const propTypes = {
user: React.PropTypes.object,
user: PropTypes.object,
};
export default class RecentActivity extends React.PureComponent {

View File

@ -1,8 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Badge, Label } from 'react-bootstrap';
const propTypes = {
user: React.PropTypes.object.isRequired,
user: PropTypes.object.isRequired,
};
export default function Security({ user }) {
return (

View File

@ -1,12 +1,13 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Table, Tr, Td } from 'reactable';
import { Collapse } from 'react-bootstrap';
import $ from 'jquery';
const propTypes = {
dataEndpoint: React.PropTypes.string.isRequired,
mutator: React.PropTypes.func,
columns: React.PropTypes.arrayOf(React.PropTypes.string),
dataEndpoint: PropTypes.string.isRequired,
mutator: PropTypes.func,
columns: PropTypes.arrayOf(PropTypes.string),
};
export default class TableLoader extends React.PureComponent {

View File

@ -1,10 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';
import Gravatar from 'react-gravatar';
import moment from 'moment';
import { Panel } from 'react-bootstrap';
const propTypes = {
user: React.PropTypes.object.isRequired,
user: PropTypes.object.isRequired,
};
const UserInfo = ({ user }) => (
<div>

View File

@ -41,7 +41,6 @@
"autobind-decorator": "^1.3.3",
"babel-register": "^6.24.1",
"bootstrap": "^3.3.6",
"bootstrap-datepicker": "^1.6.0",
"brace": "^0.10.0",
"brfs": "^1.4.3",
"cal-heatmap": "3.6.2",
@ -66,6 +65,7 @@
"moments": "0.0.2",
"mustache": "^2.2.1",
"nvd3": "1.8.5",
"prop-types": "^15.5.8",
"react": "^15.5.1",
"react-ace": "^4.1.5",
"react-addons-css-transition-group": "^15.4.2",
@ -83,8 +83,8 @@
"react-select": "^1.0.0-rc.2",
"react-select-fast-filter-options": "^0.2.1",
"react-syntax-highlighter": "^5.0.0",
"react-virtualized-select": "^2.4.0",
"react-virtualized": "^9.3.0",
"react-virtualized-select": "^2.4.0",
"reactable": "^0.14.0",
"redux": "^3.5.2",
"redux-localstorage": "^0.4.1",