Skip to content

Commit 23d5040

Browse files
committed
restructure based on airbnb react style guide
1 parent 2e0e278 commit 23d5040

File tree

117 files changed

+1245
-255
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+1245
-255
lines changed

lib/actions/index.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"use strict";
2+
var alert_1 = require('./alert');
3+
exports.alertToggle = alert_1.alertToggle;
4+
exports.alertReplay = alert_1.alertReplay;
5+
var complete_1 = require('./complete');
6+
exports.completePage = complete_1.completePage;
7+
exports.completeChapter = complete_1.completeChapter;
8+
exports.completeTutorial = complete_1.completeTutorial;
9+
var globals_1 = require('./globals');
10+
exports.globalsSet = globals_1.globalsSet;
11+
var hint_1 = require('./hint');
12+
exports.hintShow = hint_1.hintShow;
13+
exports.hintPositionSet = hint_1.hintPositionSet;
14+
var page_1 = require('./page');
15+
exports.pageSet = page_1.pageSet;
16+
exports.pageNext = page_1.pageNext;
17+
var position_1 = require('./position');
18+
exports.positionSet = position_1.positionSet;
19+
var route_1 = require('./route');
20+
exports.setRoute = route_1.setRoute;
21+
var setup_1 = require('./setup');
22+
exports.setupVerify = setup_1.setupVerify;
23+
var test_1 = require('./test');
24+
exports.testRun = test_1.testRun;
25+
exports.testComplete = test_1.testComplete;
26+
exports.testResult = test_1.testResult;
27+
var tutorial_1 = require('./tutorial');
28+
exports.tutorialsFind = tutorial_1.tutorialsFind;
29+
exports.tutorialUpdate = tutorial_1.tutorialUpdate;
30+
exports.tutorialSet = tutorial_1.tutorialSet;

lib/atom/main.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
'use strict';
22
var render_1 = require('../components/render');
3+
var mount_1 = require('../components/mount');
34
var polyfills_1 = require('../services/polyfills');
45
var subscriptions_1 = require('./subscriptions');
56
var store_1 = require('../store/store');
6-
var _actions_1 = require('../actions/_actions');
7+
var actions_1 = require('../actions');
78
function setDir() {
89
if (atom.project.rootDirectories.length > 0) {
910
return atom.project.rootDirectories[0].path;
@@ -22,8 +23,8 @@ var Main = (function () {
2223
dir: setDir(),
2324
win: setWin()
2425
};
25-
store_1.store.dispatch(_actions_1.setupVerify());
26-
this.root = render_1.initRoot();
26+
store_1.store.dispatch(actions_1.setupVerify());
27+
this.root = mount_1.initRoot();
2728
}
2829
Main.prototype.activate = function () {
2930
atom.workspace.addRightPanel({
@@ -44,7 +45,7 @@ var Main = (function () {
4445
subscriptions_1.onDeactivate();
4546
};
4647
Main.prototype.toggle = function () {
47-
render_1.togglePanel();
48+
mount_1.togglePanel();
4849
};
4950
return Main;
5051
}());

lib/atom/subscriptions.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
"use strict";
22
var CompositeDisposable = require('atom').CompositeDisposable;
33
var store_1 = require('../store/store');
4-
var _actions_1 = require('../actions/_actions');
5-
var render_1 = require('../components/render');
4+
var actions_1 = require('../actions');
5+
var mount_1 = require('../components/mount');
66
var subscriptions = null;
77
function onActivate() {
88
subscriptions = new CompositeDisposable;
99
subscriptions.add(atom.commands.add('atom-workspace', {
10-
'cr-viewer:toggle': render_1.togglePanel
10+
'cr-viewer:toggle': mount_1.togglePanel
1111
}));
1212
atom.workspace.observeTextEditors(function (editor) {
1313
subscriptions.add(editor.onDidSave(function () {
14-
store_1.store.dispatch(_actions_1.testRun());
14+
store_1.store.dispatch(actions_1.testRun());
1515
}));
1616
});
1717
subscriptions.add(atom.commands.add('atom-workspace', {
1818
'cr-viewer:testRun': (function () {
1919
if (store_1.store.getState().route === 'page') {
20-
store_1.store.dispatch(_actions_1.testRun());
20+
store_1.store.dispatch(actions_1.testRun());
2121
}
2222
})
2323
}));
@@ -26,15 +26,15 @@ function onActivate() {
2626
exports.onActivate = onActivate;
2727
function onDeactivate() {
2828
window.onresize = null;
29-
render_1.unmount();
29+
mount_1.unmount();
3030
subscriptions.dispose();
3131
}
3232
exports.onDeactivate = onDeactivate;
3333
function addToStatusBar(statusBar) {
3434
var replay = document.createElement('div');
3535
replay.className = 'cr-alert-replay';
3636
replay.textContent = '▲';
37-
replay.onclick = function () { return store_1.store.dispatch(_actions_1.alertReplay()); };
37+
replay.onclick = function () { return store_1.store.dispatch(actions_1.alertReplay()); };
3838
return statusBar.addLeftTile({ item: replay, priority: 100 });
3939
}
4040
exports.addToStatusBar = addToStatusBar;

lib/components/AppMenu/index.js

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
"use strict";
2+
var __extends = (this && this.__extends) || function (d, b) {
3+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4+
function __() { this.constructor = d; }
5+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6+
};
7+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11+
return c > 3 && r && Object.defineProperty(target, key, r), r;
12+
};
13+
var __metadata = (this && this.__metadata) || function (k, v) {
14+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15+
};
16+
var _this = this;
17+
var React = require('react');
18+
var react_redux_1 = require('react-redux');
19+
var actions_1 = require('../../actions');
20+
var mount_1 = require('../mount');
21+
var subscriptions_1 = require('../../atom/subscriptions');
22+
var AppBar_1 = require('material-ui/AppBar');
23+
var IconButton_1 = require('material-ui/IconButton');
24+
var IconMenu_1 = require('material-ui/IconMenu');
25+
var MenuItem_1 = require('material-ui/MenuItem');
26+
var Divider_1 = require('material-ui/Divider');
27+
var more_vert_1 = require('material-ui/svg-icons/navigation/more-vert');
28+
var close_1 = require('material-ui/svg-icons/navigation/close');
29+
var origin = { horizontal: 'right', vertical: 'top' };
30+
var MenuLink = (function (_super) {
31+
__extends(MenuLink, _super);
32+
function MenuLink() {
33+
_super.apply(this, arguments);
34+
}
35+
MenuLink.prototype.render = function () {
36+
var _a = this.props, route = _a.route, title = _a.title, routeTo = _a.routeTo;
37+
return React.createElement(MenuItem_1.default, {primaryText: title ? title : route, onTouchTap: routeTo.bind(this, route), key: route});
38+
};
39+
MenuLink = __decorate([
40+
react_redux_1.connect(null, function (dispatch) {
41+
return {
42+
routeTo: function (route) { return dispatch(actions_1.setRoute(route)); }
43+
};
44+
}),
45+
__metadata('design:paramtypes', [])
46+
], MenuLink);
47+
return MenuLink;
48+
}(React.Component));
49+
exports.MenuLink = MenuLink;
50+
var AppMenu = (function (_super) {
51+
__extends(AppMenu, _super);
52+
function AppMenu() {
53+
_super.apply(this, arguments);
54+
}
55+
AppMenu.prototype.navOptions = function () {
56+
var routeToPage = this.props.routeToPage;
57+
switch (this.props.route) {
58+
case 'final':
59+
case 'page':
60+
return React.createElement(MenuLink, {route: 'progress'});
61+
case 'progress':
62+
return React.createElement(MenuItem_1.default, {onTouchTap: routeToPage, primaryText: 'page', key: 'page'});
63+
default: return null;
64+
}
65+
};
66+
AppMenu.prototype.menuOptions = function () {
67+
switch (this.props.route) {
68+
case 'final':
69+
case 'page':
70+
return (React.createElement("div", null, React.createElement(MenuLink, {route: 'progress'}), React.createElement(MenuLink, {route: 'tutorials'})));
71+
case 'progress':
72+
return React.createElement(MenuLink, {route: 'tutorials'});
73+
default: return null;
74+
}
75+
};
76+
AppMenu.prototype.closePanel = function () {
77+
mount_1.togglePanel();
78+
};
79+
AppMenu.prototype.render = function () {
80+
var quit = this.props.quit;
81+
return React.createElement(AppBar_1.default, {title: 'CodeRoad', className: 'cr-menu-bar', iconElementLeft: React.createElement(IconButton_1.default, {onClick: this.closePanel}, React.createElement(close_1.default, null)), iconElementRight: React.createElement(IconMenu_1.default, {iconButtonElement: React.createElement(IconButton_1.default, null, React.createElement(more_vert_1.default, null)), targetOrigin: origin, anchorOrigin: origin}, this.menuOptions(), window.coderoad.issuesPath
82+
? React.createElement(MenuItem_1.default, {key: 'issue', className: 'link'}, React.createElement("a", {href: window.coderoad.issuesPath}, "post issue"))
83+
: null, React.createElement(Divider_1.default, null), React.createElement(MenuItem_1.default, {key: 'quit', onClick: quit}, "quit"))});
84+
};
85+
AppMenu = __decorate([
86+
react_redux_1.connect(null, function (dispatch) {
87+
return {
88+
routeToPage: function () {
89+
var position = _this.props.position;
90+
dispatch(actions_1.pageSet(position));
91+
dispatch(actions_1.setRoute('page'));
92+
},
93+
quit: function () {
94+
mount_1.togglePanel();
95+
subscriptions_1.onDeactivate();
96+
}
97+
};
98+
}),
99+
__metadata('design:paramtypes', [])
100+
], AppMenu);
101+
return AppMenu;
102+
}(React.Component));
103+
exports.AppMenu = AppMenu;

lib/components/FinalPage/index.js

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/components/_components.js

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
"use strict";
22
var app_1 = require('./app');
33
exports.App = app_1.App;
4-
var routes_1 = require('./routes/routes');
5-
exports.Routes = routes_1.Routes;
64
var page_1 = require('./page/page');
75
exports.Page = page_1.Page;
86
var chapter_1 = require('./page/chapter/chapter');

lib/components/alert/alert.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1515
};
1616
var React = require('react');
1717
var react_redux_1 = require('react-redux');
18-
var Action = require('../../actions/_actions');
18+
var Action = require('../../actions');
1919
var Snackbar_1 = require('material-ui/Snackbar');
2020
var classNames = require('classnames');
2121
var defaultAlert = {

lib/components/alert/index.js

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
'use strict';
2+
var __extends = (this && this.__extends) || function (d, b) {
3+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4+
function __() { this.constructor = d; }
5+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6+
};
7+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11+
return c > 3 && r && Object.defineProperty(target, key, r), r;
12+
};
13+
var __metadata = (this && this.__metadata) || function (k, v) {
14+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15+
};
16+
var React = require('react');
17+
var react_redux_1 = require('react-redux');
18+
var Action = require('../../actions');
19+
var Snackbar_1 = require('material-ui/Snackbar');
20+
var classNames = require('classnames');
21+
var defaultAlert = {
22+
open: false,
23+
message: '',
24+
};
25+
var Alert = (function (_super) {
26+
__extends(Alert, _super);
27+
function Alert() {
28+
_super.apply(this, arguments);
29+
}
30+
Alert.prototype.render = function () {
31+
var _a = this.props, alert = _a.alert, alertToggle = _a.alertToggle;
32+
var action = alert.action, open = alert.open, message = alert.message, duration = alert.duration;
33+
return (React.createElement(Snackbar_1.default, {className: classNames('cr-alert', action), open: open || false, message: message || '', action: action, autoHideDuration: duration || 1500, onActionTouchTap: alertToggle, onRequestClose: alertToggle}));
34+
};
35+
Alert = __decorate([
36+
react_redux_1.connect(null, function (dispatch) {
37+
return {
38+
alertToggle: function () {
39+
dispatch(Action.alertToggle());
40+
}
41+
};
42+
}),
43+
__metadata('design:paramtypes', [])
44+
], Alert);
45+
return Alert;
46+
}(React.Component));
47+
exports.Alert = Alert;

lib/components/app.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
2323
};
2424
var React = require('react');
2525
var react_redux_1 = require('react-redux');
26-
var _components_1 = require('./_components');
26+
var index_1 = require('./index');
27+
var Routes_1 = require('./Routes');
2728
var height = atom.getSize().height;
2829
window.onresize = function () {
2930
height = atom.getSize().height;
@@ -34,7 +35,7 @@ var App = (function (_super) {
3435
_super.apply(this, arguments);
3536
}
3637
App.prototype.render = function () {
37-
return (React.createElement("section", {className: 'cr', key: 'main', style: { height: height }}, React.createElement(_components_1.AppMenu, __assign({}, this.props.store)), React.createElement(_components_1.Routes, __assign({}, this.props.store, {ref: 'route'})), React.createElement(_components_1.Alert, __assign({}, this.props.store))));
38+
return (React.createElement("section", {className: 'cr', key: 'main', style: { height: height }}, React.createElement(index_1.AppMenu, __assign({}, this.props.store)), React.createElement(Routes_1.Routes, __assign({}, this.props.store, {ref: 'route'})), React.createElement(index_1.Alert, __assign({}, this.props.store))));
3839
};
3940
App = __decorate([
4041
react_redux_1.connect(function (store) {

lib/components/index.js

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
"use strict";
2+
var Alert_1 = require('./Alert');
3+
exports.Alert = Alert_1.Alert;
4+
var AppMenu_1 = require('./AppMenu');
5+
exports.AppMenu = AppMenu_1.AppMenu;
6+
var FinalPage_1 = require('./FinalPage');
7+
exports.FinalPage = FinalPage_1.FinalPage;
8+
var Markdown_1 = require('./Markdown');
9+
exports.Markdown = Markdown_1.Markdown;
10+
var Page_1 = require('./Page');
11+
exports.Page = Page_1.Page;
12+
var Progress_1 = require('./Progress');
13+
exports.Progress = Progress_1.Progress;
14+
var Routes_1 = require('./Routes');
15+
exports.Routes = Routes_1.Routes;
16+
var Start_1 = require('./Start');
17+
exports.Start = Start_1.Start;
18+
var Tutorials_1 = require('./Tutorials');
19+
exports.Tutorials = Tutorials_1.Tutorials;

lib/components/markdown/index.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"use strict";
2+
var React = require('react');
3+
var marked = require('marked');
4+
var Highlights = require('highlights');
5+
var highlighter = new Highlights({ registry: atom.grammars });
6+
var options = {
7+
highlight: function (code, lang) {
8+
return highlighter.highlightSync({
9+
fileContents: code,
10+
scopeName: 'source.' + (lang || 'js')
11+
});
12+
},
13+
sanitize: true,
14+
gfm: true,
15+
breaks: true,
16+
tables: true,
17+
smartLists: true
18+
};
19+
function formatText(text) {
20+
if (typeof text !== 'string') {
21+
return '';
22+
}
23+
return marked(text.toString(), options);
24+
}
25+
;
26+
exports.Markdown = function (_a) {
27+
var children = _a.children;
28+
var text = formatText(children);
29+
return React.createElement("span", {className: 'cr-markdown', dangerouslySetInnerHTML: { __html: text }});
30+
};

0 commit comments

Comments
 (0)