Skip to content

Commit fadd65a

Browse files
nihil-pronihil-pro
authored andcommitted
added preact+kr-observable and update react+kr-observable
1 parent 5aebca4 commit fadd65a

File tree

8 files changed

+33
-22
lines changed

8 files changed

+33
-22
lines changed

frameworks/keyed/preact-kr-observable/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
"dev": "rollup -c -w",
1212
"build-prod": "rollup -c --environment production"
1313
},
14-
"author": "Maxim Molochkov",
14+
"author": "Roman Constantin",
1515
"license": "Apache-2.0",
1616
"homepage": "https://github.com/krausest/js-framework-benchmark",
1717
"repository": {
1818
"type": "git",
1919
"url": "https://github.com/krausest/js-framework-benchmark.git"
2020
},
2121
"dependencies": {
22-
"kr-observable": "1.0.30",
22+
"kr-observable": "1.0.3-5.beta-9",
2323
"preact": "^10.25.0",
2424
"react": "18.2.0",
2525
"react-dom": "18.2.0"

frameworks/keyed/preact-kr-observable/rollup.config.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ const plugins = [
2323
entries:[
2424
{ find: 'react', replacement: 'preact/compat' },
2525
{ find: 'react-dom', replacement: 'preact/compat' },
26-
{ find: 'react/jsx-runtime', replacement: 'preact/compat' }
26+
{ find: 'react/jsx-runtime', replacement: 'preact/compat' },
27+
{ find: 'use-sync-external-store', replacement: 'preact/compat' }
2728
]
2829
}),
2930
nodeResolve({ extensions: ['.js', '.jsx'] }),

frameworks/keyed/preact-kr-observable/src/Main.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function Main() {
4040
<div className="jumbotron">
4141
<div className="row">
4242
<div className="col-md-6">
43-
<h1>React + kr-observable</h1>
43+
<h1>Preact + kr-observable</h1>
4444
</div>
4545

4646
<div className="col-md-6">

frameworks/keyed/react-kr-observable/package-lock.json

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

frameworks/keyed/react-kr-observable/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"url": "https://github.com/krausest/js-framework-benchmark.git"
2020
},
2121
"dependencies": {
22-
"kr-observable": "1.0.30",
22+
"kr-observable": "1.0.3-5.beta-9",
2323
"react": "18.2.0",
2424
"react-dom": "18.2.0"
2525
},

frameworks/keyed/react-kr-observable/src/Main.jsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,13 @@ const Button = ({ children, id, onClick }) => {
2020
};
2121

2222
const RowList = observer(function list() {
23-
return (
24-
<Fragment>
25-
{rowsStore.rows.map(row => (
23+
return rowsStore.rows.map(row => (
2624
<Row
2725
key={row.id}
2826
data={row}
2927
/>
3028
)
31-
)}
32-
</Fragment>
33-
)
29+
)
3430
})
3531

3632

frameworks/keyed/react-kr-observable/src/Row.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ export const Row = observer(function row({ data }) {
66
<tr className={data.selected ? 'danger' : ''}>
77
<td className="col-md-1">{data.id}</td>
88
<td className="col-md-4">
9-
<a onClick={() => rowsStore.select(data.id)}>{data.label}</a>
9+
<a id={data.id} onClick={rowsStore.select}>{data.label}</a>
1010
</td>
1111
<td className="col-md-1">
12-
<a onClick={() => rowsStore.delete(data.id)}>
12+
<a onClick={rowsStore.delete}>
1313
<span
14+
id={data.id}
1415
className="glyphicon glyphicon-remove"
1516
aria-hidden="true"
1617
></span>

frameworks/keyed/react-kr-observable/src/RowsStore.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { buildData } from './data';
44
export class RowsStore extends Observable {
55
rows = [];
66

7-
delete(rowIdToDelete) {
8-
const rowIndexToDelete = this.rows.findIndex((row) => row.id === rowIdToDelete);
7+
delete(e) {
8+
const rowIndexToDelete = this.rows.findIndex((row) => row.id === +e.target.id);
99
this.rows.splice(rowIndexToDelete, 1);
1010
};
1111

@@ -23,8 +23,9 @@ export class RowsStore extends Observable {
2323
}
2424
};
2525

26-
select(rowId) {
27-
this.rows.forEach(row => row.selected = row.id === rowId)
26+
select(e) {
27+
// this.selectedRowId = rowId;
28+
this.rows.forEach(row => row.selected = row.id === +e.target.id)
2829
};
2930

3031
runLots() {

0 commit comments

Comments
 (0)