Skip to content

Commit a4ac04a

Browse files
committed
Update to 0.1.0
1 parent a24f236 commit a4ac04a

File tree

2 files changed

+23
-28
lines changed

2 files changed

+23
-28
lines changed

frameworks/keyed/solid/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "js-framework-benchmark-solid",
3-
"version": "0.0.16",
3+
"version": "0.1.0",
44
"main": "dist/main.js",
55
"js-framework-benchmark": {
66
"frameworkVersionFromPackage": "solid-js"
@@ -17,15 +17,15 @@
1717
"url": "https://github.com/krausest/js-framework-benchmark.git"
1818
},
1919
"dependencies": {
20-
"babel-plugin-jsx-dom-expressions": "0.0.29",
20+
"babel-plugin-jsx-dom-expressions": "0.1.0",
2121
"s-js": "0.4.9",
22-
"solid-js": "0.0.16"
22+
"solid-js": "0.1.0"
2323
},
2424
"devDependencies": {
25-
"@babel/core": "7.0.0-beta.56",
26-
"rollup": "0.63.4",
27-
"rollup-plugin-babel": "beta",
28-
"rollup-plugin-node-resolve": "3.3.0",
29-
"rollup-plugin-terser": "1.0.1"
25+
"@babel/core": "7.0.0",
26+
"rollup": "0.65.2",
27+
"rollup-plugin-babel": "4.0.3",
28+
"rollup-plugin-node-resolve": "3.4.0",
29+
"rollup-plugin-terser": "2.0.2"
3030
}
3131
}

frameworks/keyed/solid/src/main.jsx

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { State, root, memo } from 'solid-js';
2-
import { r, selectOn, delegateEvent } from 'solid-js/dom';
1+
import { State, root, each } from 'solid-js';
2+
import { r, selectWhen } from 'solid-js/dom';
33

44
function _random (max) {
55
return Math.round(Math.random() * 1000) % max;
@@ -22,7 +22,7 @@ function buildData(count) {
2222
}
2323

2424
function App() {
25-
let rowId, selectClass, clickSelect, clickRemove, tbody;
25+
let rowId;
2626
const state = new State({ data: [], selected: null });
2727

2828
return <div class='container'>
@@ -49,33 +49,28 @@ function App() {
4949
</div>
5050
</div></div>
5151
</div></div>
52-
<table class='table table-hover table-striped test-data'><tbody ref={ tbody }>{
53-
(selectClass = selectOn(() => state.selected, (el, selected) => el.className = selected ? 'danger' : ''),
54-
clickSelect = delegateEvent(tbody, 'click', onSelect),
55-
clickRemove = delegateEvent(tbody, 'click', onRemove),
56-
memo(row =>
52+
<table class='table table-hover table-striped test-data'><tbody onClick={ clickRow }>{
53+
selectWhen(() => state.selected, (el, selected) => el.className = selected ? 'danger' : '')
54+
(each(row =>
5755
(rowId = row.sample('id'),
58-
<tr $selectClass={ rowId }>
56+
<tr model={(( rowId ))}>
5957
<td class='col-md-1' textContent={(( rowId ))} />
60-
<td class='col-md-4'><a $clickSelect={ rowId }>{ row.label }</a></td>
61-
<td class='col-md-1'><a $clickRemove={ rowId }><span class='delete glyphicon glyphicon-remove' /></a></td>
58+
<td class='col-md-4'><a>{ row.label }</a></td>
59+
<td class='col-md-1'><a><span class='delete glyphicon glyphicon-remove' /></a></td>
6260
<td class='col-md-6'/>
6361
</tr>)
6462
)(() => state.data))
6563
}</tbody></table>
6664
<span class='preloadicon glyphicon glyphicon-remove' aria-hidden="true" />
6765
</div>
6866

69-
function onRemove(id, e) {
67+
function clickRow(e, id) {
7068
e.stopPropagation();
71-
state.set({
72-
data: state.data.filter(row => row.id !== id)
73-
});
74-
}
75-
76-
function onSelect(id, e) {
77-
e.stopPropagation();
78-
state.set({ selected: id });
69+
if (e.target.matches('.delete')) {
70+
state.set({
71+
data: state.data.filter(row => row.id !== id)
72+
});
73+
} else state.set({ selected: id })
7974
}
8075

8176
function run(e) {

0 commit comments

Comments
 (0)