Skip to content

Commit c5f58e8

Browse files
committed
Show indices on array tracers
1 parent cdd3c27 commit c5f58e8

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

src/frontend/core/renderers/Array2DRenderer/index.jsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { Renderer } from '/core/renderers';
2+
import { Array1DRenderer, Renderer } from '/core/renderers';
33
import styles from './stylesheet.scss';
44
import { classes } from '/common/util';
55

@@ -14,13 +14,35 @@ class Array2DRenderer extends Renderer {
1414
renderData() {
1515
const { data } = this.props.data;
1616

17+
const isArray1D = this instanceof Array1DRenderer;
18+
let longestRow = data.reduce((longestRow, row) => longestRow.length < row.length ? row : longestRow, []);
19+
1720
return (
1821
<table className={styles.array_2d}
1922
style={{ marginLeft: -this.centerX * 2, marginTop: -this.centerY * 2, fontSize: this.zoom }}>
2023
<tbody>
24+
<tr className={styles.row}>
25+
{
26+
!isArray1D &&
27+
<td className={classes(styles.col, styles.index)} />
28+
}
29+
{
30+
longestRow.map((_, i) => (
31+
<td className={classes(styles.col, styles.index)}>
32+
<span className={styles.value}>{i}</span>
33+
</td>
34+
))
35+
}
36+
</tr>
2137
{
2238
data.map((row, i) => (
2339
<tr className={styles.row} key={i}>
40+
{
41+
!isArray1D &&
42+
<td className={classes(styles.col, styles.index)}>
43+
<span className={styles.value}>{i}</span>
44+
</td>
45+
}
2446
{
2547
row.map((col, j) => (
2648
<td className={classes(styles.col, col.selected && styles.selected, col.patched && styles.patched)}

src/frontend/core/renderers/Array2DRenderer/stylesheet.scss

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,6 @@
99
display: table-row;
1010
height: 28em;
1111

12-
&:empty:after {
13-
content: '';
14-
display: table-cell;
15-
border-left: 1em solid $theme-light;
16-
}
17-
1812
.col {
1913
display: table-cell;
2014
text-align: center;
@@ -34,6 +28,12 @@
3428
&.patched {
3529
background-color: $color-patched;
3630
}
31+
32+
&.index {
33+
background: none;
34+
border: none;
35+
color: $theme-light;
36+
}
3737
}
3838
}
3939
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy