Skip to content

Commit 48e7839

Browse files
author
Jason Antwi-Appah
committed
chore(million): small fixes, extract row component
1 parent f3c9ade commit 48e7839

File tree

1 file changed

+21
-11
lines changed
  • frameworks/non-keyed/million-delta/src

1 file changed

+21
-11
lines changed

frameworks/non-keyed/million-delta/src/App.jsx

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,13 @@ export default function App() {
5353
}
5454

5555
const swapRows = () => {
56-
list.splice(1, 1, list.splice(998, 1, list[1])[0])
56+
if (list.length >= 999) {
57+
list.splice(1, 1, list.splice(998, 1, list[1])[0])
58+
}
5759
}
5860

61+
const remove = (id) => list.splice(list.findIndex((z) => z.id === id), 1)
62+
5963
return (
6064
<div className="container">
6165
<div className="jumbotron">
@@ -87,20 +91,26 @@ export default function App() {
8791
<table className="table table-hover table-striped test-data">
8892
<tbody delta={delta}>
8993
{list.map((item) => (
90-
<tr className={selected === item.id ? "danger" : ""}>
91-
<td class="col-md-1">{item.id}</td>
92-
<td class="col-md-4">
93-
<a onClick={() => setSelected(item.id)}>{item.label}</a>
94-
</td>
95-
<td class="col-md-1">
96-
<a onClick={() => list.splice(list.findIndex((z) => z.id === item.id), 1)}><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
97-
</td>
98-
<td class="col-md-6" />
99-
</tr>
94+
<Row item={item} selected={selected} remove={remove} setSelected={setSelected} />
10095
))}
10196
</tbody>
10297
</table>
10398
<span class="preloadicon glyphicon glyphicon-remove" aria-hidden="true"></span>
10499
</div>
105100
);
101+
}
102+
103+
function Row({ item, selected, remove, setSelected }) {
104+
return (
105+
<tr className={selected === item.id ? "danger" : ""}>
106+
<td class="col-md-1">{item.id}</td>
107+
<td class="col-md-4">
108+
<a onClick={() => setSelected(item.id)}>{item.label}</a>
109+
</td>
110+
<td class="col-md-1">
111+
<a onClick={() => remove(item.id)}><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
112+
</td>
113+
<td class="col-md-6" />
114+
</tr>
115+
)
106116
}

0 commit comments

Comments
 (0)