Skip to content

Commit fd855b1

Browse files
committed
Merge branch 'agubler-dojo-fix-non-keyed-version-update'
2 parents d22a270 + 82e8243 commit fd855b1

File tree

7 files changed

+30
-25
lines changed

7 files changed

+30
-25
lines changed

frameworks/keyed/dojo/package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,19 @@
44
"js-framework-benchmark": {
55
"frameworkVersionFromPackage": "@dojo/framework",
66
"customURL": "/output/dist",
7-
"issues": [694]
7+
"issues": [
8+
694
9+
]
810
},
911
"scripts": {
1012
"build-prod": "./node_modules/.bin/dojo build"
1113
},
1214
"dependencies": {
13-
"@dojo/framework": "^6.0.0"
15+
"@dojo/framework": "^7.0.0"
1416
},
1517
"devDependencies": {
16-
"@dojo/cli": "^6.0.0",
17-
"@dojo/cli-build-app": "^6.0.0",
18+
"@dojo/cli": "^7.0.0",
19+
"@dojo/cli-build-app": "^7.0.0",
1820
"typescript": "3.5.2"
1921
}
2022
}

frameworks/keyed/dojo/src/Buttons.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { create, w, v } from '@dojo/framework/core/vdom'
1+
import { create, w, v, diffProperty } from '@dojo/framework/core/vdom'
22
import Button from './Button';
33

44
export interface ButtonConfig {
@@ -11,14 +11,15 @@ export interface ButtonsProperties {
1111
buttonConfigs: ButtonConfig[];
1212
}
1313

14-
const factory = create().properties<ButtonsProperties>();
14+
const factory = create({ diffProperty }).properties<ButtonsProperties>();
1515

16-
export default factory(function Buttons({ properties }) {
16+
export default factory(function Buttons({ properties, middleware: { diffProperty } }) {
17+
diffProperty('buttonConfigs', properties, () => {});
1718
const { buttonConfigs } = properties();
1819
return v('div', { classes: [ 'jumbotron' ] }, [
1920
v('div', { classes: [ 'row' ] }, [
2021
v('div', { classes: [ 'col-md-6' ] }, [
21-
v('h1', ['Dojo v6.0.0'])
22+
v('h1', ['Dojo v7'])
2223
]),
2324
v('div', { classes: [ 'col-md-6' ] }, buttonConfigs.map(({ id, label, onClick }) => {
2425
return w(Button, { key: id, id, label, onClick });

frameworks/non-keyed/dojo/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
"build-prod": "./node_modules/.bin/dojo build"
1010
},
1111
"dependencies": {
12-
"@dojo/framework": "^6.0.0"
12+
"@dojo/framework": "^7.0.0"
1313
},
1414
"devDependencies": {
15-
"@dojo/cli": "^6.0.0",
16-
"@dojo/cli-build-app": "^6.0.0",
15+
"@dojo/cli": "^7.0.0",
16+
"@dojo/cli-build-app": "^7.0.0",
1717
"typescript": "3.5.2"
1818
}
1919
}

frameworks/non-keyed/dojo/src/App.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ export default factory(function App({ middleware: { store }}) {
2424
return w(Row, {
2525
key,
2626
id: item.id,
27-
label: item.label,
28-
onSelect: store.select
27+
label: item.label
2928
});
3029
});
3130

frameworks/non-keyed/dojo/src/Buttons.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { create, w, v } from '@dojo/framework/core/vdom'
1+
import { create, w, v, diffProperty } from '@dojo/framework/core/vdom'
22
import Button from './Button';
33

44
export interface ButtonConfig {
@@ -11,14 +11,15 @@ export interface ButtonsProperties {
1111
buttonConfigs: ButtonConfig[];
1212
}
1313

14-
const factory = create().properties<ButtonsProperties>();
14+
const factory = create({ diffProperty }).properties<ButtonsProperties>();
1515

16-
export default factory(function Buttons({ properties }) {
16+
export default factory(function Buttons({ properties, middleware: { diffProperty } }) {
17+
diffProperty('buttonConfigs', properties, () =>{});
1718
const { buttonConfigs } = properties();
1819
return v('div', { classes: [ 'jumbotron' ] }, [
1920
v('div', { classes: [ 'row' ] }, [
2021
v('div', { classes: [ 'col-md-6' ] }, [
21-
v('h1', ['Dojo v6.0.0'])
22+
v('h1', ['Dojo v7'])
2223
]),
2324
v('div', { classes: [ 'col-md-6' ] }, buttonConfigs.map(({ id, label, onClick }) => {
2425
return w(Button, { key: id, id, label, onClick });

frameworks/non-keyed/dojo/src/Row.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,22 @@ import { create, v } from '@dojo/framework/core/vdom';
22
import store from './Store';
33

44
export interface RowProperties {
5-
onSelect: Function;
65
id: number;
76
label: string;
87
}
98

109
const factory = create({ store }).properties<RowProperties>();
1110

1211
export default factory(function Row({ properties, middleware: { store } }) {
13-
const { id, label, onSelect } = properties();
12+
const { id, key = id, label } = properties();
1413

1514
return v('tr', {
16-
classes: [ store.selected === id && 'danger' ]
15+
classes: [ store.selected === key && 'danger' ]
1716
}, [
1817
v('td', { classes: [ 'col-md-1' ] }, [ `${id}` ]),
1918
v('td', { classes: [ 'col-md-4' ] }, [
2019
v('a', { onclick: () => {
21-
onSelect(id);
20+
store.select();
2221
} }, [ label ])
2322
]),
2423
v('td', { classes: [ 'col-md-1' ] }, [

frameworks/non-keyed/dojo/src/Store.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,12 @@ export default factory(({ properties, middleware: { invalidator } }) => {
153153
}
154154
invalidate();
155155
},
156-
select: (id: number) => {
157-
selected && invalidate(selected);
158-
invalidate(id);
159-
selected = id;
156+
select: () => {
157+
if (typeof widgetKey === "number") {
158+
selected && invalidate(selected);
159+
selected = widgetKey;
160+
invalidate(widgetKey);
161+
}
160162
},
161163
runLots: () => {
162164
idx = 0;
@@ -182,6 +184,7 @@ export default factory(({ properties, middleware: { invalidator } }) => {
182184
const row = data[second];
183185
data[second] = data[last];
184186
data[last] = row;
187+
selected = selected === 1 ? 998 : selected === 998 ? 1 : selected;
185188
}
186189
ids = new Set(idArray);
187190
invalidate();

0 commit comments

Comments
 (0)