Skip to content

Commit 5e43a78

Browse files
authored
Merge pull request #645 from san650/fix-for-ember-canary
Fix ember canary(v6.0.0-beta.1) scenario
2 parents f458428 + f5fabab commit 5e43a78

File tree

12 files changed

+109
-111
lines changed

12 files changed

+109
-111
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<div class="calculator">
2+
<div class="screen">
3+
{{this.result}}
4+
<div class="expression">
5+
{{this.expression}}
6+
</div>
7+
</div>
8+
<div class="keyboard">
9+
<div class="numbers">
10+
<button type="button" onclick={{fn this.keyPress "1"}}>1</button>
11+
<button type="button" onclick={{fn this.keyPress "2"}}>2</button>
12+
<button type="button" onclick={{fn this.keyPress "3"}}>3</button>
13+
<button type="button" onclick={{fn this.keyPress "4"}}>4</button>
14+
<button type="button" onclick={{fn this.keyPress "5"}}>5</button>
15+
<button type="button" onclick={{fn this.keyPress "6"}}>6</button>
16+
<button type="button" onclick={{fn this.keyPress "7"}}>7</button>
17+
<button type="button" onclick={{fn this.keyPress "8"}}>8</button>
18+
<button type="button" onclick={{fn this.keyPress "9"}}>9</button>
19+
<button type="button" onclick={{fn this.keyPress "0"}}>0</button>
20+
</div>
21+
<div class="operators">
22+
<button type="button" onclick={{fn this.keyPress "+"}}>+</button>
23+
<button type="button" onclick={{fn this.keyPress "-"}}>-</button>
24+
<button type="button" onclick={{fn this.keyPress "="}}>=</button>
25+
</div>
26+
</div>
27+
</div>
Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Component from '@ember/component';
2+
import { action } from '@ember/object';
23
import { computed as c } from '@ember/object';
34

45
export default Component.extend({
@@ -11,33 +12,31 @@ export default Component.extend({
1112
},
1213
}),
1314

14-
actions: {
15-
keyPress(key) {
16-
let result = this.result;
17-
let stack = this.stack;
18-
let op = this.op;
15+
keyPress: action(function (key) {
16+
let result = this.result;
17+
let stack = this.stack;
18+
let op = this.op;
1919

20-
switch (key) {
21-
case '+':
22-
case '-':
23-
case '=':
24-
stack.push(parseInt(op + result));
25-
this.set('result', '');
26-
break;
27-
default:
28-
this.set('result', result + key.toString());
29-
break;
30-
}
20+
switch (key) {
21+
case '+':
22+
case '-':
23+
case '=':
24+
stack.push(parseInt(op + result));
25+
this.set('result', '');
26+
break;
27+
default:
28+
this.set('result', result + key.toString());
29+
break;
30+
}
3131

32-
switch (key) {
33-
case '-':
34-
this.set('op', '-');
35-
break;
36-
case '=':
37-
result = stack.reduce((result, value) => result + value, 0);
38-
this.set('result', result.toString());
39-
break;
40-
}
41-
},
42-
},
32+
switch (key) {
33+
case '-':
34+
this.set('op', '-');
35+
break;
36+
case '=':
37+
result = stack.reduce((result, value) => result + value, 0);
38+
this.set('result', result.toString());
39+
break;
40+
}
41+
}),
4342
});
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { later } from '@ember/runloop';
22
import Controller from '@ember/controller';
33
import { computed as c } from '@ember/object';
4+
import { action } from '@ember/object';
45

56
export default Controller.extend({
67
init() {
@@ -20,46 +21,44 @@ export default Controller.extend({
2021
},
2122
}),
2223

23-
actions: {
24-
keyPress(key, asyncOp) {
25-
let exec = () => {
26-
let result = this.expression;
27-
let stack = this.stack;
28-
let op = this.op;
24+
keyPress: action(function (key, asyncOp) {
25+
let exec = () => {
26+
let result = this.expression;
27+
let stack = this.stack;
28+
let op = this.op;
2929

30-
switch (key) {
31-
case '+':
32-
case '-':
33-
case '=':
34-
stack.push(parseInt(op + result));
35-
this.set('result', result);
36-
this.set('expression', '');
37-
break;
38-
default:
39-
this.set('expression', result + key.toString());
40-
break;
41-
}
30+
switch (key) {
31+
case '+':
32+
case '-':
33+
case '=':
34+
stack.push(parseInt(op + result));
35+
this.set('result', result);
36+
this.set('expression', '');
37+
break;
38+
default:
39+
this.set('expression', result + key.toString());
40+
break;
41+
}
4242

43-
switch (key) {
44-
case '-':
45-
this.set('op', '-');
46-
break;
47-
case '=':
48-
result = stack.reduce((result, value) => result + value, 0);
49-
this.set('expression', result.toString());
50-
break;
51-
}
52-
};
43+
switch (key) {
44+
case '-':
45+
this.set('op', '-');
46+
break;
47+
case '=':
48+
result = stack.reduce((result, value) => result + value, 0);
49+
this.set('expression', result.toString());
50+
break;
51+
}
52+
};
5353

54-
if (asyncOp) {
55-
this.set('loading', true);
56-
later(() => {
57-
this.set('loading', false);
58-
exec();
59-
}, 50);
60-
} else {
54+
if (asyncOp) {
55+
this.set('loading', true);
56+
later(() => {
57+
this.set('loading', false);
6158
exec();
62-
}
63-
},
64-
},
59+
}, 50);
60+
} else {
61+
exec();
62+
}
63+
}),
6564
});

test-app/app/templates/calculator.hbs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,25 @@
1212
</div>
1313
<div class="keyboard">
1414
<div class="numbers">
15-
<button type="button" {{action "keyPress" "1"}}>1</button>
16-
<button type="button" {{action "keyPress" "2"}}>2</button>
17-
<button type="button" {{action "keyPress" "3"}}>3</button>
18-
<button type="button" {{action "keyPress" "4"}}>4</button>
19-
<button type="button" {{action "keyPress" "5"}}>5</button>
20-
<button type="button" {{action "keyPress" "6"}}>6</button>
21-
<button type="button" {{action "keyPress" "7"}}>7</button>
22-
<button type="button" {{action "keyPress" "8"}}>8</button>
23-
<button type="button" {{action "keyPress" "9"}}>9</button>
24-
<button type="button" {{action "keyPress" "0"}}>0</button>
15+
<button type="button" onclick={{fn this.keyPress "1"}}>1</button>
16+
<button type="button" onclick={{fn this.keyPress "2"}}>2</button>
17+
<button type="button" onclick={{fn this.keyPress "3"}}>3</button>
18+
<button type="button" onclick={{fn this.keyPress "4"}}>4</button>
19+
<button type="button" onclick={{fn this.keyPress "5"}}>5</button>
20+
<button type="button" onclick={{fn this.keyPress "6"}}>6</button>
21+
<button type="button" onclick={{fn this.keyPress "7"}}>7</button>
22+
<button type="button" onclick={{fn this.keyPress "8"}}>8</button>
23+
<button type="button" onclick={{fn this.keyPress "9"}}>9</button>
24+
<button type="button" onclick={{fn this.keyPress "0"}}>0</button>
2525
</div>
2626
<div class="operators">
27-
<button type="button" {{action "keyPress" "+"}}>+</button>
28-
<button type="button" {{action "keyPress" "-"}}>-</button>
29-
<button type="button" {{action "keyPress" "="}}>=</button>
30-
<button type="button" {{action "keyPress" "=" true}}>async=</button>
27+
<button type="button" onclick={{fn this.keyPress "+"}}>+</button>
28+
<button type="button" onclick={{fn this.keyPress "-"}}>-</button>
29+
<button type="button" onclick={{fn this.keyPress "="}}>=</button>
30+
<button
31+
type="button"
32+
onclick={{fn this.keyPress "=" true}}
33+
>async=</button>
3134
</div>
3235
</div>
33-
</div>
36+
</div>

test-app/app/templates/components/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)