Skip to content

Commit c8bdbe2

Browse files
committed
Refactor Datasets tab components into separate (presentational and container) component files
1 parent a2aee74 commit c8bdbe2

File tree

8 files changed

+52
-253
lines changed

8 files changed

+52
-253
lines changed

static/js/components/DatasetForm/index.jsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
33

4+
import { Form, TextInput, FileInput, SubmitButton } from '../Form';
5+
import CesiumTooltip from '../Tooltip';
46

5-
let DatasetForm = (props) => {
7+
8+
const DatasetForm = (props) => {
69
const { fields: { datasetName, headerFile, tarFile },
710
error, handleSubmit, submitting } = props;
811

@@ -23,7 +26,7 @@ let DatasetForm = (props) => {
2326
/>
2427

2528
<div style={description}>
26-
Format: comma-separated with columns "filename" (of a time series from the uploaded archive), "label" (class label or numerical value), and any metafeatures (numerical).
29+
{'Format: comma-separated with columns "filename" (of a time series from the uploaded archive), "label" (class label or numerical value), and any metafeatures (numerical).'}
2730
</div>
2831

2932
<FileInput
@@ -33,7 +36,7 @@ let DatasetForm = (props) => {
3336
data-for="tarfileTooltip"
3437
/>
3538
<div style={description}>
36-
Format: zipfile or tarfile containing time series files, each of which is comma-separated with columns "time", "value", "error" (optional).
39+
{'Format: zipfile or tarfile containing time series files, each of which is comma-separated with columns "time", "value", "error" (optional).'}
3740
</div>
3841

3942
<SubmitButton label="Upload Dataset" disabled={submitting} />
@@ -62,3 +65,8 @@ DatasetForm.propTypes = {
6265
handleSubmit: PropTypes.func.isRequired,
6366
submitting: PropTypes.bool.isRequired
6467
};
68+
DatasetForm.defaultProps = {
69+
error: ""
70+
};
71+
72+
export default DatasetForm;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import React from 'react';
2+
import PropTypes from 'prop-types';
3+
4+
5+
const DatasetInfo = props => (
6+
<table className="table">
7+
<thead>
8+
<tr>
9+
<th>Time Series File Names</th>
10+
<th>Meta Features</th>
11+
</tr>
12+
</thead>
13+
<tbody>
14+
<tr>
15+
<td>
16+
{props.dataset.files.join(', ')}
17+
</td>
18+
<td>
19+
{props.dataset.meta_features.join(', ')}
20+
</td>
21+
</tr>
22+
</tbody>
23+
</table>
24+
);
25+
DatasetInfo.propTypes = {
26+
dataset: PropTypes.object.isRequired
27+
};
28+
29+
export default DatasetInfo;

static/js/components/DatasetTable/index.jsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import React from 'react';
2+
import PropTypes from 'prop-types';
23
import { connect } from 'react-redux';
34

4-
import DatasetInfo from '../containers/DatasetInfo';
5-
import DeleteDataset from '../containers/DeleteDataset';
5+
import DatasetInfo from '../../components/DatasetInfo';
6+
import DeleteDataset from '../../containers/DeleteDataset';
7+
import FoldableRow from '../FoldableRow';
8+
import { reformatDatetime } from '../../utils';
69

7-
export let DatasetTable = props => (
10+
11+
const DatasetTable = props => (
812
<table className="table">
913
<thead>
1014
<tr>
@@ -38,7 +42,7 @@ export let DatasetTable = props => (
3842
</table>
3943
);
4044
DatasetTable.propTypes = {
41-
datasets: React.PropTypes.arrayOf(React.PropTypes.object)
45+
datasets: PropTypes.arrayOf(PropTypes.object).isRequired
4246
};
4347

4448
export default DatasetTable;

static/js/components/Datasets.jsx

Lines changed: 0 additions & 207 deletions
This file was deleted.

static/js/components/Delete/index.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
33

4+
45
const Delete = (props) => {
56
const style = {
67
display: 'inline-block'

static/js/components/Main.jsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
33
import { connect, Provider } from 'react-redux';
44
import ReactDOM from 'react-dom';
55
import ReactTabs from 'react-tabs';
6-
import PropTypes from 'prop-types';
76

87
import 'bootstrap-css';
98
import 'bootstrap';
@@ -12,16 +11,14 @@ import { Notifications } from 'baselayer/components/Notifications';
1211
import WebSocket from 'baselayer/components/WebSocket';
1312
import configureStore from '../configureStore';
1413
import * as Action from '../actions';
15-
import WebSocket from 'baselayer/components/WebSocket';
1614
import CesiumMessageHandler from '../CesiumMessageHandler';
1715
import AddProject from '../containers/AddProject';
1816
import ProjectSelector from '../containers/ProjectSelector';
1917
import ProjectTab from '../containers/ProjectTab';
20-
import DatasetsTab from './Datasets';
18+
import DatasetsTab from './DatasetsTab';
2119
import FeaturesTab from './Features';
2220
import ModelsTab from './Models';
2321
import PredictTab from './Predictions';
24-
import { Notifications } from 'baselayer/components/Notifications';
2522
import colorScheme from './colorscheme';
2623
import Progress from './Progress';
2724
import CesiumTooltip from './Tooltip';

static/js/containers/DatasetForm/DatasetForm.jsx/index.jsx

Lines changed: 0 additions & 34 deletions
This file was deleted.

static/js/containers/DeleteDataset/index.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { connect } from "react-redux";
22

3-
import * as Action from '../actions';
3+
import * as Action from '../../actions';
4+
import Delete from '../../components/Delete';
45

56

67
const mapDispatchToProps = dispatch => (

0 commit comments

Comments
 (0)