@@ -17,14 +17,39 @@ var React = require('react');
1717var ReactDOM = require ( 'react-dom' ) ;
1818var react_redux_1 = require ( 'react-redux' ) ;
1919var Action = require ( '../../actions/actions' ) ;
20- var _components_1 = require ( '../_components' ) ;
21- var classnames = require ( 'classnames' ) ;
2220var iconPath = 'material-ui/lib/svg-icons/' ;
21+ var _components_1 = require ( '../_components' ) ;
2322var material_ui_1 = require ( 'material-ui' ) ;
2423var colors_1 = require ( 'material-ui/lib/styles/colors' ) ;
24+ var classnames = require ( 'classnames' ) ;
2525var Complete = require ( iconPath + 'toggle/check-box' ) ;
2626var Incomplete = require ( iconPath + 'toggle/check-box-outline-blank' ) ;
2727var 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' ) ;
2853var Info = require ( iconPath + 'action/info' ) ;
2954var InfoOutline = require ( iconPath + 'action/info-outline' ) ;
3055var style = {
@@ -61,20 +86,6 @@ var default_1 = (function (_super) {
6186ReactDOM . findDOMNode ( this . refs . onPageComplete ) . scrollIntoView ( ) ;
6287}
6388} ;
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- } ;
7889default_1 . prototype . displayHint = function ( task ) {
7990if ( task && task . hints && task . hints . length ) {
8091if ( this . state . hintPos < task . hints . length - 1 ) {
@@ -85,42 +96,31 @@ var default_1 = (function (_super) {
8596this . setState ( { hintPos :- 1 , taskPos :this . state . taskPos } ) ;
8697}
8798} ;
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- } ;
9499default_1 . prototype . render = function ( ) {
95100var _this = this ;
96101var page = this . props . page ;
97- var tasks = this . visibleTasks ( ) ;
98102var taskPosition = this . props . taskPosition ;
103+ var tasks = visibleTasks ( this . props . tasks , taskPosition ) ;
99104var currentTask = taskPosition <= tasks . length ?tasks [ taskPosition ] :null ;
100105var 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 } ) ,
108108React . createElement ( material_ui_1 . Divider , null ) ,
109109React . createElement ( material_ui_1 . List , { subheader :'Tasks' , className :'cr-tasks' , ref :'tasks' } ,
110110tasks . map ( function ( task , index ) {
111111var isCurrentTask = index === taskPosition ;
112112var isDisabledTask = index > taskPosition ;
113113var isCompletedTask = index < taskPosition ;
114114var isFinalTask = index >= tasks . length - 1 ;
115- var hints = _this . hintsShown ( task ) ;
115+ var hints = hintsShown ( task , _this . state . hintPos ) ;
116116return ( React . createElement ( "div" , null ,
117117React . createElement ( material_ui_1 . ListItem , { ref :'task' + index , className :classnames ( {
118118'cr-task' :true ,
119119'isCompletedTask' :isCompletedTask ,
120120'isCurrentTask' :isCurrentTask ,
121121'isDisabledTask' :isDisabledTask
122122} ) } ,
123- React . createElement ( "span" , { className : 'cr-task-checkbox' } , _this . getIcon ( index , taskPosition ) ) ,
123+ React . createElement ( TaskCheckbox , { index : index , taskPosition : taskPosition , runTests : _this . props . runTests } ) ,
124124React . createElement ( "span" , { className :'cr-task-index' } ,
125125index + 1 ,
126126"." ) ,
@@ -148,17 +148,17 @@ var default_1 = (function (_super) {
148148)
149149) :null ) ,
150150React . 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 ,
153153currentTask && 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 } ) )
157157 :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 } )
160160 :
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 } ) ) ) ) ) ) ;
162162} ;
163163default_1 = __decorate ( [
164164react_redux_1 . connect ( null , function ( dispatch , state ) {