Skip to content

Commit 116306c

Browse files
committed
Add Dispatcher
1 parent 5adcb8d commit 116306c

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

src/app/containers/App.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import styles from 'remotedev-app/lib/styles';
44
import DevTools from 'remotedev-app/lib/containers/DevTools';
55
import Instances from 'remotedev-app/lib/components/Instances';
66
import Button from 'remotedev-app/lib/components/Button';
7+
import DispatcherButton from 'remotedev-app/lib/components/buttons/DispatcherButton';
78
import ImportButton from 'remotedev-app/lib/components/buttons/ImportButton';
89
import ExportButton from 'remotedev-app/lib/components/buttons/ExportButton';
910
import SettingsIcon from 'react-icons/lib/md/settings';
@@ -20,7 +21,9 @@ export default class App extends Component {
2021
store: PropTypes.object
2122
};
2223

23-
static update = () => ({});
24+
state = {
25+
dispatcherIsOpen: false
26+
};
2427

2528
handleSelectInstance = e => {
2629
this.props.store.setInstance(e.target.value);
@@ -30,6 +33,10 @@ export default class App extends Component {
3033
sendToBg({ type: 'OPEN', position });
3134
};
3235

36+
toggleDispatcher = () => {
37+
this.setState({ dispatcherIsOpen: !this.state.dispatcherIsOpen });
38+
};
39+
3340
render() {
3441
const { store } = this.props;
3542
const instances = store.instances;
@@ -42,6 +49,12 @@ export default class App extends Component {
4249
</div>
4350
}
4451
<DevTools monitor={monitor} store={store} key={`${monitor}-${store.instance}`} />
52+
{this.state.dispatcherIsOpen &&
53+
<DevTools monitor="DispatchMonitor"
54+
store={store} dispatchFn={store.dispatch}
55+
key={`Dispatch-${store.instance}`}
56+
/>
57+
}
4558
<div style={styles.buttonBar}>
4659
{monitorPosition !== 'left' &&
4760
<Button
@@ -61,6 +74,9 @@ export default class App extends Component {
6174
onClick={() => { this.openWindow('bottom'); }}
6275
/>
6376
}
77+
<DispatcherButton
78+
dispatcherIsOpen={this.state.dispatcherIsOpen} onClick={this.toggleDispatcher}
79+
/>
6480
<ImportButton importState={store.importState} />
6581
<ExportButton exportState={store.getState} />
6682
<Button

src/browser/extension/inject/contentScript.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function connect(instance) {
1717
bg.onMessage.addListener((message) => {
1818
if (message.action) {
1919
window.postMessage({
20-
type: 'DISPATCH',
20+
type: message.type,
2121
payload: message.action,
2222
source: 'redux-cs'
2323
}, '*');

src/browser/extension/inject/pageScript.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const monitorActions = [
1010
];
1111

1212
window.devToolsExtension = function(config = {}) {
13+
let store;
1314
let liftedStore;
1415
if (!window.devToolsOptions) window.devToolsOptions = {};
1516

@@ -78,6 +79,8 @@ window.devToolsExtension = function(config = {}) {
7879

7980
if (message.type === 'DISPATCH') {
8081
liftedStore.dispatch(message.payload);
82+
} else if (message.type === 'ACTION') {
83+
store.dispatch(message.payload);
8184
} else if (message.type === 'IMPORT') {
8285
liftedStore.dispatch({
8386
type: 'IMPORT_STATE', nextLiftedState: jsan.parse(message.state)
@@ -172,7 +175,7 @@ window.devToolsExtension = function(config = {}) {
172175
function extEnhancer(next) {
173176
return (reducer, initialState, enhancer) => {
174177
init();
175-
const store = next(reducer, initialState, enhancer);
178+
store = next(reducer, initialState, enhancer);
176179
liftedStore = store.liftedStore;
177180
store.subscribe(() => {
178181
if (liftedStore !== store.liftedStore) liftedStore = store.liftedStore;

0 commit comments

Comments
 (0)