Skip to content

Commit d83b066

Browse files
committed
Merge branch 'dom-expressions' of https://github.com/ryansolid/js-framework-benchmark into ryansolid-dom-expressions
2 parents aed2f4e + 9450bd1 commit d83b066

File tree

11 files changed

+2916
-277
lines changed

11 files changed

+2916
-277
lines changed

frameworks/keyed/ko-jsx/package-lock.json

Lines changed: 951 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frameworks/keyed/ko-jsx/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "js-framework-benchmark-ko-jsx",
3-
"version": "0.14.1",
3+
"version": "0.16.1",
44
"main": "index.js",
55
"js-framework-benchmark": {
66
"frameworkVersionFromPackage": "ko-jsx"
@@ -17,16 +17,16 @@
1717
"url": "https://github.com/krausest/js-framework-benchmark.git"
1818
},
1919
"dependencies": {
20-
"babel-plugin-jsx-dom-expressions": "0.20.8",
20+
"babel-plugin-jsx-dom-expressions": "0.25.12",
2121
"knockout": "3.5.1",
22-
"ko-jsx": "0.14.1"
22+
"ko-jsx": "0.16.1"
2323
},
2424
"devDependencies": {
2525
"@babel/core": "7.11.6",
2626
"@rollup/plugin-babel": "5.2.1",
27-
"@rollup/plugin-commonjs": "15.1.0",
28-
"@rollup/plugin-node-resolve": "9.0.0",
29-
"rollup": "2.28.2",
27+
"@rollup/plugin-commonjs": "17.1.0",
28+
"@rollup/plugin-node-resolve": "11.2.0",
29+
"rollup": "2.41.4",
3030
"rollup-plugin-terser": "7.0.2"
3131
}
3232
}

frameworks/keyed/ko-jsx/src/Main.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { render } from 'ko-jsx';
1+
import { render, createSelector } from 'ko-jsx';
22
import { observable, observableArray } from 'knockout';
33
import template from './template';
44

@@ -22,11 +22,13 @@ function buildData(count) {
2222

2323
function HomeViewModel() {
2424
const selected = observable(null),
25-
data = observableArray();
25+
data = observableArray(),
26+
isSelected = createSelector(selected);
2627

2728
return {
2829
data,
2930
selected,
31+
isSelected,
3032
run () {
3133
data(buildData(1000));
3234
selected(null);

frameworks/keyed/ko-jsx/src/template.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ const Button = ({id, text, fn}) => (
44
</div>
55
)
66

7-
export default function({data, selected, run, runLots, add, update, clear, swapRows, remove}) {
7+
export default function({data, isSelected, selected, run, runLots, add, update, clear, swapRows, remove}) {
88
const list = data.memoMap(row => {
99
const rowId = row.id;
10-
return <tr class={selected() === rowId ? "danger" : ""}>
10+
return <tr class={isSelected(rowId) ? "danger" : ""}>
1111
<td class='col-md-1' textContent={ rowId } />
1212
<td class='col-md-4'><a onClick={[selected, rowId]} textContent={ row.label() } /></td>
1313
<td class='col-md-1'><a onClick={[remove, rowId]}><span class='glyphicon glyphicon-remove' aria-hidden="true" /></a></td>

0 commit comments

Comments
 (0)