Skip to content

Commit 913a74e

Browse files
committed
on save update tutorial
1 parent 8540d0b commit 913a74e

File tree

9 files changed

+33
-14
lines changed

9 files changed

+33
-14
lines changed

Diff for: lib/actions.js

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ exports.setupPackage = setup_1.setupPackage;
99
var tutorial_1 = require('./modules/tutorial');
1010
exports.tutorialInit = tutorial_1.tutorialInit;
1111
exports.tutorialLoad = tutorial_1.tutorialLoad;
12+
exports.tutorialBuild = tutorial_1.tutorialBuild;
1213
exports.tutorialPageAdd = tutorial_1.tutorialPageAdd;
1314
var window_1 = require('./modules/window');
1415
exports.windowToggle = window_1.windowToggle;

Diff for: lib/components/TopPanel/TopPanel.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ var styles = {
3131
tab: {
3232
fontSize: '12px',
3333
},
34+
add: {
35+
color: 'rgb(0, 188, 212)',
36+
},
3437
};
3538
var TopPanel = (function (_super) {
3639
__extends(TopPanel, _super);
@@ -45,7 +48,7 @@ var TopPanel = (function (_super) {
4548
}
4649
return (React.createElement(Tabs_1.Tabs, {tabItemContainerStyle: styles.tabs, style: styles.all}, tutorial.pages.map(function (page, index) {
4750
return (React.createElement(Tabs_1.Tab, {style: styles.tab, key: index.toString(), label: page.title.substring(0, 10), onClick: pageSet.bind(_this, index)}));
48-
}), React.createElement(Tabs_1.Tab, {style: styles.tab, label: '+'})));
51+
}), React.createElement(Tabs_1.Tab, {style: Object.assign({}, styles.tab, styles.add), label: '+'})));
4952
};
5053
TopPanel = __decorate([
5154
react_redux_1.connect(null, function (dispatch) {

Diff for: lib/store.js

+3
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ var redux_1 = require('redux');
33
var reducers_1 = require('./reducers');
44
var createLogger = require('redux-logger');
55
var redux_thunk_1 = require('redux-thunk');
6+
var redux_throttle_actions_1 = require('redux-throttle-actions');
67
var middlewares = [redux_thunk_1.default];
78
var devMode = false;
89
if (devMode) {
910
var logger = createLogger();
1011
middlewares.push(logger);
1112
}
13+
var throttleTestRun = redux_throttle_actions_1.default(['TUTORIAL_BUILD'], 800);
14+
middlewares.push(throttleTestRun);
1215
var store = redux_1.createStore(reducers_1.default, redux_1.applyMiddleware.apply(void 0, middlewares));
1316
Object.defineProperty(exports, "__esModule", { value: true });
1417
exports.default = store;

Diff for: lib/subscriptions.js

+6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ function onActivate() {
1010
subscriptions.add(atom.commands.add('atom-workspace', {
1111
'cb-viewer:toggle': function () { return store_1.default.dispatch(actions_1.windowToggle()); }
1212
}));
13+
atom.workspace.observeTextEditors(function (editor) {
14+
subscriptions.add(editor.onDidSave(function () {
15+
store_1.default.dispatch(actions_1.tutorialBuild());
16+
store_1.default.dispatch(actions_1.tutorialLoad());
17+
}));
18+
});
1319
return subscriptions;
1420
}
1521
exports.onActivate = onActivate;

Diff for: package.json

+2-4
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,11 @@
3636
"react-tap-event-plugin": "1.0.0",
3737
"redux": "3.5.2",
3838
"redux-logger": "2.6.1",
39+
"redux-throttle-actions": "1.0.1",
3940
"redux-thunk": "2.1.0",
40-
"sort-package-json": "^1.4.0"
41+
"sort-package-json": "1.4.0"
4142
},
4243
"activationCommands": {
4344
"atom-workspace": "cb-viewer:toggle"
44-
},
45-
"devDependencies": {
46-
"nyc": "^6.4.4"
4745
}
4846
}

Diff for: src/actions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export {pageSet} from './modules/page-position';
22
export {pjSave} from './modules/package-json';
33
export {setupVerify, setupPackage} from './modules/setup';
4-
export {tutorialInit, tutorialLoad, tutorialPageAdd} from './modules/tutorial';
4+
export {tutorialInit, tutorialLoad, tutorialBuild, tutorialPageAdd} from './modules/tutorial';
55
export {windowToggle} from './modules/window';
66
export {editorOpenPage, editorOpenTest} from './modules/editor-paths';
77

Diff for: src/components/TopPanel/TopPanel.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ const styles = {
1919
tab: {
2020
fontSize: '12px',
2121
},
22+
add: {
23+
color: 'rgb(0, 188, 212)',
24+
},
2225
};
2326

2427
@connect(null, dispatch => {
@@ -53,7 +56,7 @@ export default class TopPanel extends React.Component<{
5356
);
5457
})}
5558
<Tab
56-
style={styles.tab}
59+
style={Object.assign({}, styles.tab, styles.add)}
5760
label='+'
5861
/>
5962
</Tabs>

Diff for: src/store.ts

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { applyMiddleware, createStore } from 'redux';
22
import reducer from './reducers';
33
import * as createLogger from 'redux-logger';
44
import thunk from 'redux-thunk';
5+
import throttleActions from 'redux-throttle-actions';
56

67
const middlewares = [thunk];
78

@@ -11,6 +12,9 @@ if (devMode) {
1112
middlewares.push(logger);
1213
}
1314

15+
const throttleTestRun = throttleActions(['TUTORIAL_BUILD'], 800);
16+
middlewares.push(throttleTestRun);
17+
1418
const store: Redux.Store = createStore(
1519
reducer,
1620
applyMiddleware(...middlewares)

Diff for: src/subscriptions.ts

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const CompositeDisposable = require('atom').CompositeDisposable;
22
import store from './store';
3-
import {windowToggle} from './actions';
3+
import {windowToggle, tutorialBuild, tutorialLoad} from './actions';
44
import Root from './components/Root';
55
import Top from './components/TopPanel/Top';
66

@@ -16,12 +16,13 @@ export function onActivate(): AtomCore.Disposable {
1616
})
1717
);
1818

19-
// atom.workspace.observeTextEditors((editor: AtomCore.IEditor) => {
20-
// subscriptions.add(
21-
// editor.onDidSave(() => {
22-
// store.dispatch(compilePage(pageIndex, content));
23-
// }));
24-
// });
19+
atom.workspace.observeTextEditors((editor: AtomCore.IEditor) => {
20+
subscriptions.add(
21+
editor.onDidSave(() => {
22+
store.dispatch(tutorialBuild());
23+
store.dispatch(tutorialLoad());
24+
}));
25+
});
2526

2627
return subscriptions;
2728
}

0 commit comments

Comments
 (0)