@@ -17,14 +17,39 @@ var React = require('react');
17
17
var ReactDOM = require ( 'react-dom' ) ;
18
18
var react_redux_1 = require ( 'react-redux' ) ;
19
19
var Action = require ( '../../actions/actions' ) ;
20
- var _components_1 = require ( '../_components' ) ;
21
- var classnames = require ( 'classnames' ) ;
22
20
var iconPath = 'material-ui/lib/svg-icons/' ;
21
+ var _components_1 = require ( '../_components' ) ;
23
22
var material_ui_1 = require ( 'material-ui' ) ;
24
23
var colors_1 = require ( 'material-ui/lib/styles/colors' ) ;
24
+ var classnames = require ( 'classnames' ) ;
25
25
var Complete = require ( iconPath + 'toggle/check-box' ) ;
26
26
var Incomplete = require ( iconPath + 'toggle/check-box-outline-blank' ) ;
27
27
var RunningTest = require ( iconPath + 'toggle/indeterminate-check-box' ) ;
28
+ function hintsShown ( task , hintPos ) {
29
+ if ( hintPos > - 1 && task . hints && task . hints . length > 0 ) {
30
+ return task . hints . slice ( 0 , hintPos + 1 ) ;
31
+ }
32
+ return null ;
33
+ }
34
+ function visibleTasks ( tasks , taskPosition ) {
35
+ return tasks . slice ( 0 , taskPosition + 1 ) ;
36
+ }
37
+ var TaskCheckbox = function ( _a ) {
38
+ var index = _a . index , taskPosition = _a . taskPosition , runTests = _a . runTests ;
39
+ var icon = null ;
40
+ if ( index < taskPosition ) {
41
+ icon = React . createElement ( Complete , { color :colors_1 . green500 } ) ;
42
+ }
43
+ else if ( index === taskPosition && runTests ) {
44
+ icon = React . createElement ( RunningTest , { color :colors_1 . orange500 } ) ;
45
+ }
46
+ else {
47
+ icon = React . createElement ( Incomplete , null ) ;
48
+ }
49
+ return ( React . createElement ( "span" , { className :'cr-task-checkbox' } , icon ) ) ;
50
+ } ;
51
+ var material_ui_2 = require ( 'material-ui' ) ;
52
+ var content_1 = require ( './content' ) ;
28
53
var Info = require ( iconPath + 'action/info' ) ;
29
54
var InfoOutline = require ( iconPath + 'action/info-outline' ) ;
30
55
var style = {
@@ -61,20 +86,6 @@ var default_1 = (function (_super) {
61
86
ReactDOM . findDOMNode ( this . refs . onPageComplete ) . scrollIntoView ( ) ;
62
87
}
63
88
} ;
64
- default_1 . prototype . visibleTasks = function ( ) {
65
- return this . props . tasks . slice ( 0 , this . props . taskPosition + 1 ) ;
66
- } ;
67
- default_1 . prototype . getIcon = function ( index , position ) {
68
- if ( index < position ) {
69
- return React . createElement ( Complete , { color :colors_1 . green500 } ) ;
70
- }
71
- else if ( index === position && this . props . runTests ) {
72
- return React . createElement ( RunningTest , { color :colors_1 . orange500 } ) ;
73
- }
74
- else {
75
- return React . createElement ( Incomplete , null ) ;
76
- }
77
- } ;
78
89
default_1 . prototype . displayHint = function ( task ) {
79
90
if ( task && task . hints && task . hints . length ) {
80
91
if ( this . state . hintPos < task . hints . length - 1 ) {
@@ -85,42 +96,31 @@ var default_1 = (function (_super) {
85
96
this . setState ( { hintPos :- 1 , taskPos :this . state . taskPos } ) ;
86
97
}
87
98
} ;
88
- default_1 . prototype . hintsShown = function ( task ) {
89
- if ( this . state . hintPos > - 1 && task . hints && task . hints . length > 0 ) {
90
- return task . hints . slice ( 0 , this . state . hintPos + 1 ) ;
91
- }
92
- return null ;
93
- } ;
94
99
default_1 . prototype . render = function ( ) {
95
100
var _this = this ;
96
101
var page = this . props . page ;
97
- var tasks = this . visibleTasks ( ) ;
98
102
var taskPosition = this . props . taskPosition ;
103
+ var tasks = visibleTasks ( this . props . tasks , taskPosition ) ;
99
104
var currentTask = taskPosition <= tasks . length ?tasks [ taskPosition ] :null ;
100
105
var allComplete = taskPosition >= tasks . length ;
101
- console . log ( page ) ;
102
- return ( React . createElement ( material_ui_1 . Paper , { style :style , zDepth :1 , className :'cr-page' } ,
103
- React . createElement ( material_ui_1 . Card , null ,
104
- React . createElement ( material_ui_1 . CardHeader , { title :page . title } ) ,
105
- React . createElement ( material_ui_1 . CardText , null ,
106
- React . createElement ( _components_1 . MarkdownText , { text :page . description } )
107
- ) ) ,
106
+ return ( React . createElement ( material_ui_2 . Paper , { style :style , zDepth :1 , className :'cr-page' } ,
107
+ React . createElement ( content_1 . default , { page :page } ) ,
108
108
React . createElement ( material_ui_1 . Divider , null ) ,
109
109
React . createElement ( material_ui_1 . List , { subheader :'Tasks' , className :'cr-tasks' , ref :'tasks' } ,
110
110
tasks . map ( function ( task , index ) {
111
111
var isCurrentTask = index === taskPosition ;
112
112
var isDisabledTask = index > taskPosition ;
113
113
var isCompletedTask = index < taskPosition ;
114
114
var isFinalTask = index >= tasks . length - 1 ;
115
- var hints = _this . hintsShown ( task ) ;
115
+ var hints = hintsShown ( task , _this . state . hintPos ) ;
116
116
return ( React . createElement ( "div" , null ,
117
117
React . createElement ( material_ui_1 . ListItem , { ref :'task' + index , className :classnames ( {
118
118
'cr-task' :true ,
119
119
'isCompletedTask' :isCompletedTask ,
120
120
'isCurrentTask' :isCurrentTask ,
121
121
'isDisabledTask' :isDisabledTask
122
122
} ) } ,
123
- React . createElement ( "span" , { className : 'cr-task-checkbox' } , _this . getIcon ( index , taskPosition ) ) ,
123
+ React . createElement ( TaskCheckbox , { index : index , taskPosition : taskPosition , runTests : _this . props . runTests } ) ,
124
124
React . createElement ( "span" , { className :'cr-task-index' } ,
125
125
index + 1 ,
126
126
"." ) ,
@@ -148,17 +148,17 @@ var default_1 = (function (_super) {
148
148
)
149
149
) :null ) ,
150
150
React . createElement ( "section" , { className :'cr-page-toolbar' } ,
151
- React . createElement ( material_ui_1 . LinearProgress , { mode :'determinate' , value :taskProgress ( taskPosition , tasks . length ) , style :{ height :'6px' } } ) ,
152
- React . createElement ( material_ui_1 . Toolbar , null ,
151
+ React . createElement ( material_ui_2 . LinearProgress , { mode :'determinate' , value :taskProgress ( taskPosition , tasks . length ) , style :{ height :'6px' } } ) ,
152
+ React . createElement ( material_ui_2 . Toolbar , null ,
153
153
currentTask && currentTask . hints && currentTask . hints . length ?
154
- React . createElement ( material_ui_1 . ToolbarGroup , { float :'left' } , this . state . hintPos <= currentTask . hints . length - 2 ?
155
- React . createElement ( material_ui_1 . FlatButton , { className :'cr-task-showHint' , icon :React . createElement ( InfoOutline , null ) , onClick :this . displayHint . bind ( this , currentTask ) } )
156
- :React . createElement ( material_ui_1 . FlatButton , { className :'cr-task-showHint-disabled' , icon :React . createElement ( Info , null ) , disabled :true } ) )
154
+ React . createElement ( material_ui_2 . ToolbarGroup , { float :'left' } , this . state . hintPos <= currentTask . hints . length - 2 ?
155
+ React . createElement ( material_ui_2 . FlatButton , { className :'cr-task-showHint' , icon :React . createElement ( InfoOutline , null ) , onClick :this . displayHint . bind ( this , currentTask ) } )
156
+ :React . createElement ( material_ui_2 . FlatButton , { className :'cr-task-showHint-disabled' , icon :React . createElement ( Info , null ) , disabled :true } ) )
157
157
:null ,
158
- React . createElement ( material_ui_1 . ToolbarGroup , { float :'right' } , allComplete ?
159
- React . createElement ( material_ui_1 . RaisedButton , { label :'Continue' , primary :true , onClick :this . props . callNextPage } )
158
+ React . createElement ( material_ui_2 . ToolbarGroup , { float :'right' } , allComplete ?
159
+ React . createElement ( material_ui_2 . RaisedButton , { label :'Continue' , primary :true , onClick :this . props . callNextPage } )
160
160
:
161
- React . createElement ( material_ui_1 . RaisedButton , { label :'Run' , secondary :true , onClick :this . props . callRunTests } ) ) ) ) ) ) ;
161
+ React . createElement ( material_ui_2 . RaisedButton , { label :'Run' , secondary :true , onClick :this . props . callRunTests } ) ) ) ) ) ) ;
162
162
} ;
163
163
default_1 = __decorate ( [
164
164
react_redux_1 . connect ( null , function ( dispatch , state ) {