Skip to content

Commit a062550

Browse files
committed
jsdoc for .tsx
1 parent b8b50dd commit a062550

34 files changed

+533
-12
lines changed

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ htdocs/js/FileSaver.min.js
2222
htdocs/vendor/
2323
htdocs/fontawesome/
2424
htdocs/bootstrap/
25+
26+
# ignore until eslint errors are fixed
27+
modules/electrophysiology_browser/jsx/react-series-data-viewer/src/series/components/**

.eslintrc.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,18 @@
9595
"plugin:@typescript-eslint/recommended"
9696
],
9797
"rules": {
98+
"jsdoc/require-jsdoc": [
99+
"error",
100+
{"require": {
101+
"ArrowFunctionExpression": true,
102+
"FunctionExpression": true,
103+
"ClassDeclaration": true,
104+
"MethodDefinition": true
105+
}}
106+
],
107+
"jsdoc/require-param-description": "error",
108+
"jsdoc/require-returns": "error",
109+
"jsdoc/require-returns-description": "error",
98110
"no-undef": "off",
99111
"@typescript-eslint/ban-ts-comment": "off",
100112
"@typescript-eslint/no-explicit-any": "off"

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/ajax/index.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
/**
2+
* fetchBlob
3+
*
4+
* @param {string} url - The url to fetch
5+
* @param {object} params - The request params
6+
* @returns {Promise} - The blob data
7+
*/
18
export const fetchBlob = (url: string, params?: RequestInit) : Promise<Blob> =>
29
fetch(url, params).then((response) => {
310
if (!response.ok) {
@@ -6,6 +13,13 @@ export const fetchBlob = (url: string, params?: RequestInit) : Promise<Blob> =>
613
return response.blob().then((data) => data);
714
});
815

16+
/**
17+
* fetchJSON
18+
*
19+
* @param {string} url - The url to fetch
20+
* @param {object} params - The request params
21+
* @returns {Promise} - The json data
22+
*/
923
export const fetchJSON = (url: string, params?: RequestInit) =>
1024
fetch(url, params).then((response) => {
1125
if (!response.ok) {
@@ -14,6 +28,13 @@ export const fetchJSON = (url: string, params?: RequestInit) =>
1428
return response.json().then((data) => data);
1529
});
1630

31+
/**
32+
* fetchText
33+
*
34+
* @param {string} url - The url to fetch
35+
* @param {object} params - The request params
36+
* @returns {Promise} - The text data
37+
*/
1738
export const fetchText = (url: string, params?: RequestInit) =>
1839
fetch(url, params).then((response) => {
1940
if (!response.ok) {

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/chunks/index.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
import {FloatChunk} from '../protocol-buffers/chunk_pb';
33
import {fetchBlob} from '../ajax';
44

5+
/**
6+
* fetchChunk
7+
*
8+
* @param {string} url - The url to fetch
9+
* @returns {Promise} - The chunk data
10+
*/
511
export const fetchChunk = (url: string): Promise<typeof FloatChunk> => {
612
return fetchBlob(url).then((blob) => {
713
const reader = new FileReader();

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/color/index.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ import {scaleOrdinal} from 'd3-scale';
88

99
export const colorOrder = scaleOrdinal();
1010

11+
/**
12+
* hex2rgba
13+
*
14+
* @param {object} root - An object
15+
* @param {string} root.color - An hexadecimal color
16+
* @param {number} root.alpha - Opacity
17+
* @returns {string} - An rgba expression
18+
*/
1119
export const hex2rgba = ({color = '#000000', alpha = 1} : {
1220
color: string,
1321
alpha: number,

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/eeglab/EEGLabSeriesProvider.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ class EEGLabSeriesProvider extends Component<CProps> {
7979

8080
this.store.dispatch(setPhysioFileID(physioFileID));
8181

82+
/**
83+
*
84+
* @param {Function} fetcher The fn to collect the type of data
85+
* @param {string} url - The url
86+
* @param {string} route - The route
87+
* @returns {Promise} - The data
88+
*/
8289
const racers = (fetcher, url, route = '') => {
8390
if (url) {
8491
return [fetcher(`${url}${route}`)
@@ -196,7 +203,7 @@ class EEGLabSeriesProvider extends Component<CProps> {
196203
/**
197204
* Renders the React component.
198205
*
199-
* @return {JSX} - React markup for the component
206+
* @returns {JSX} - React markup for the component
200207
*/
201208
render() {
202209
const [signalViewer, ...rest] = React.Children.toArray(this.props.children);

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/series/components/AnnotationForm.tsx

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,20 @@ type CProps = {
3131
interval: [number, number],
3232
};
3333

34+
/**
35+
*
36+
* @param root0
37+
* @param root0.timeSelection
38+
* @param root0.epochs
39+
* @param root0.setTimeSelection
40+
* @param root0.setRightPanel
41+
* @param root0.setEpochs
42+
* @param root0.currentAnnotation
43+
* @param root0.setCurrentAnnotation
44+
* @param root0.physioFileID
45+
* @param root0.annotationMetadata
46+
* @param root0.interval
47+
*/
3448
const AnnotationForm = ({
3549
timeSelection,
3650
epochs,
@@ -65,6 +79,10 @@ const AnnotationForm = ({
6579
setEvent([startEvent, endEvent]);
6680
}, [timeSelection]);
6781

82+
/**
83+
*
84+
* @param event
85+
*/
6886
const validate = (event) => (
6987
(event[0] || event[0] === 0)
7088
&& (event[1] || event[1] === 0)
@@ -73,6 +91,11 @@ const AnnotationForm = ({
7391
&& event[1] >= interval[0] && event[1] <= interval[1]
7492
);
7593

94+
/**
95+
*
96+
* @param id
97+
* @param val
98+
*/
7699
const handleStartTimeChange = (id, val) => {
77100
const value = parseInt(val);
78101
setEvent([value, event[1]]);
@@ -91,6 +114,11 @@ const AnnotationForm = ({
91114
}
92115
};
93116

117+
/**
118+
*
119+
* @param name
120+
* @param val
121+
*/
94122
const handleEndTimeChange = (name, val) => {
95123
const value = parseInt(val);
96124
setEvent([event[0], value]);
@@ -109,16 +137,32 @@ const AnnotationForm = ({
109137
}
110138
};
111139

140+
/**
141+
*
142+
* @param name
143+
* @param value
144+
*/
112145
const handleLabelChange = (name, value) => {
113146
setLabel(value);
114147
};
148+
/**
149+
*
150+
* @param name
151+
* @param value
152+
*/
115153
const handleCommentChange = (name, value) => {
116154
setComment(value);
117155
};
156+
/**
157+
*
158+
*/
118159
const handleSubmit = () => {
119160
setIsSubmitted(true);
120161
};
121162

163+
/**
164+
*
165+
*/
122166
const handleReset = () => {
123167
// Clear all fields
124168
setEvent(['', '']);
@@ -127,6 +171,9 @@ const AnnotationForm = ({
127171
setComment('');
128172
};
129173

174+
/**
175+
*
176+
*/
130177
const handleDelete = () => {
131178
setIsDeleted(true);
132179
};

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/series/components/Axis.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ type CProps = {
1111
hideLine: boolean,
1212
};
1313

14+
/**
15+
*
16+
* @param root0
17+
* @param root0.orientation
18+
* @param root0.domain
19+
* @param root0.range
20+
* @param root0.ticks
21+
* @param root0.padding
22+
* @param root0.format
23+
* @param root0.hideLine
24+
*/
1425
const Axis = ({
1526
orientation,
1627
domain,
@@ -45,6 +56,10 @@ Axis.defaultProps = {
4556
ticks: 10,
4657
padding: 0,
4758
hideLine: false,
59+
/**
60+
*
61+
* @param tick
62+
*/
4863
format: (tick) => `${tick}`,
4964
};
5065

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/series/components/EEGMontage.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ type CProps = {
2121
physioFileID: number,
2222
};
2323

24+
/**
25+
*
26+
* @param root0
27+
* @param root0.electrodes
28+
* @param root0.physioFileID
29+
*/
2430
const EEGMontage = (
2531
{
2632
electrodes,
@@ -49,12 +55,20 @@ const EEGMontage = (
4955
.rotateZ( startAngle)
5056
.rotateX(-startAngle);
5157

58+
/**
59+
*
60+
* @param v
61+
*/
5262
const dragStart = (v: any) => {
5363
setDrag(true);
5464
setMx(v[0]);
5565
setMy(v[1]);
5666
};
5767

68+
/**
69+
*
70+
* @param v
71+
*/
5872
const dragged = (v: any) => {
5973
if (!drag) return;
6074
const beta = (v[0] - mx + mouseX) * -2 * Math.PI;
@@ -67,6 +81,10 @@ const EEGMontage = (
6781
setAngleZ(angleZ);
6882
};
6983

84+
/**
85+
*
86+
* @param v
87+
*/
7088
const dragEnd = (v: any) => {
7189
setDrag(false);
7290
setMouseX(v[0] - mx + mouseX);
@@ -185,6 +203,9 @@ const EEGMontage = (
185203
scatter2D.push({x: x * scale2D, y: y * scale2D});
186204
});
187205

206+
/**
207+
*
208+
*/
188209
const Montage3D = () => (
189210
<Group>
190211
{point3D.rotateZ(angleZ).rotateX(angleX)(scatter3D).map((point, i) => {
@@ -205,6 +226,9 @@ const EEGMontage = (
205226
</Group>
206227
);
207228

229+
/**
230+
*
231+
*/
208232
const Montage2D = () => (
209233
<Group>
210234
<line

modules/electrophysiology_browser/jsx/react-series-data-viewer/src/series/components/Epoch.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@ type CProps = {
1414
opacity: number,
1515
};
1616

17+
/**
18+
*
19+
* @param root0
20+
* @param root0.parentHeight
21+
* @param root0.onset
22+
* @param root0.duration
23+
* @param root0.scales
24+
* @param root0.color
25+
* @param root0.opacity
26+
*/
1727
const Epoch = (
1828
{
1929
parentHeight,

0 commit comments

Comments
 (0)