-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRenderContentRow.js
More file actions
42 lines (38 loc) · 1.05 KB
/
RenderContentRow.js
File metadata and controls
42 lines (38 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import PropTypes from "prop-types"
import React from "react"
import { CodeFormatRow } from "./style"
RenderContentRow.propTypes = {
lineNumber: PropTypes.number,
keyValue: PropTypes.string,
level: PropTypes.number,
value: PropTypes.string,
refObj: PropTypes.object,
isMissing: PropTypes.bool,
}
function RenderContentRow({ lineNumber, keyValue, level, value, refObj, isMissing }) {
let ref = null
if (isMissing) {
ref = React.createRef()
refObj[keyValue] = ref
}
const lastKey = keyValue.split(".").pop()
return (
<>
<tr ref={ref}>
<td className="lineNumber">{lineNumber}</td>
<td>
<CodeFormatRow level={isNaN(lastKey) ? level : level + 1} isMiss={isMissing}>
{isNaN(lastKey) && (
<>
<span className="Key">"{lastKey}"</span>
<span className="colon"> : </span>
</>
)}
<span className="Value">{value}</span>
</CodeFormatRow>
</td>
</tr>
</>
)
}
export default RenderContentRow