11import { later } from '@ember/runloop' ;
22import Controller from '@ember/controller' ;
33import { computed as c } from '@ember/object' ;
4+ import { action } from '@ember/object' ;
45
56export 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} ) ;
0 commit comments