@@ -2,16 +2,28 @@ $ = require 'jquery'
2
2
3
3
class RunningSum
4
4
5
+ @runningSumElem = $ ( ' #running-sum' )
6
+
7
+ @tilesEmptyString = ' Try to get all the tiles off the board!'
8
+ @solutionOperatorString = ' Solution must include an operator'
9
+ @invalidString = ' Invalid Expression'
10
+ @emptyString = ' '
11
+
5
12
@ display: (solution , value ) ->
6
- if solution is ' '
7
- expression = ' '
8
- else if isNaN value
9
- expression = ' Invalid Expression'
10
- else if @ isCompleteExpression solution
11
- expression = (@ addParens solution) + ' =' + value
12
- else
13
- expression = solution
14
- $ (' #running-sum' ).html (@ format expression)
13
+ unless @runningSumElem .html () is @tilesEmptyString
14
+ if @ isSpecialString solution
15
+ expression = solution
16
+ else if isNaN value
17
+ expression = @invalidString
18
+ else if @ isCompleteExpression solution
19
+ expression = (@ addParens solution) + ' =' + value
20
+ else
21
+ expression = solution
22
+ @runningSumElem .html (@ format expression)
23
+
24
+ @ isSpecialString: (solution ) ->
25
+ strings = [@emptyString , @tilesEmptyString , @solutionOperatorString ]
26
+ strings .indexOf (solution) isnt - 1
15
27
16
28
@ isCompleteExpression: (solution ) ->
17
29
return solution .search (/ -? \d + [-+\* ] \d + / g ) is 0
@@ -33,4 +45,6 @@ class RunningSum
33
45
@ format: (input ) ->
34
46
input .replace (/ \* / g , ' × ' ).replace (/ \+ / g , ' + ' ).replace (/ (\d + | \) )-/ g , ' $1 - ' ).replace (/ \= / g , ' = ' )
35
47
48
+ @ empty: -> @runningSumElem .html @emptyString
49
+
36
50
module .exports = RunningSum
0 commit comments