Skip to content

Commit 00268a3

Browse files
authored
Merge pull request #15 from maniax89/multi_store_fix
Multi store fix
2 parents ad1fe4e + 385ea8c commit 00268a3

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

force-app/main/default/aura/Redux/Redux.cmp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<aura:component description="Redux">
22
<ltng:require scripts="{!$Resource.redux}"/>
3+
<aura:attribute name="name" type="string" default="redux" />
34
<aura:method name="createStore" action="{!c.createStore}">
4-
<aura:attribute name="name" type="string" default="redux" />
5+
<aura:attribute name="name" type="string" />
56
<aura:attribute name="rootReducer" type="Map" />
67
<aura:attribute name="initialState" type="Map" />
78
<aura:attribute name="middleware" type="Map" />

force-app/main/default/aura/Redux/ReduxController.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
({
2-
doInit: function(component, event, helper) {
3-
4-
},
5-
62
createStore: function(component, event) {
73
var reduxName = component.get("v.name");
84
var params = event.getParam("arguments");
@@ -24,10 +20,17 @@
2420
} else if(window.reducerRegistry && window.reducerRegistry[reduxName]) {
2521
combinedReducer = Redux.combineReducers(reducerObject);
2622
window.reducerRegistry[reduxName] = Object.assign({}, window.reducerRegistry[reduxName], reducerObject);
23+
} else {
24+
combinedReducer = Redux.combineReducers(reducerObject);
25+
window.reducerRegistry = Object.assign({}, window.reducerRegistry, {
26+
[reduxName]: Object.assign({}, window.reducerRegistry ? window.reducerRegistry[reduxName] : {}, reducerObject)
27+
});
2728
}
2829

2930

30-
if(!window.reduxStore) {
31+
window.reduxStore = window.reduxStore || {};
32+
33+
if(!window.reduxStore[reduxName]) {
3134
if (rootReducer && initialState && middleware) {
3235
window.reduxStore[reduxName] = Redux.createStore(combinedReducer, initialState, Redux.compose(Redux.applyMiddleware(middleware)));
3336
} else if (rootReducer && initialState && !middleware) {
@@ -53,7 +56,7 @@
5356
}
5457
},
5558

56-
getState: function() {
59+
getState: function(component) {
5760
var reduxName = component.get("v.name");
5861
if(window.reduxStore && window.reduxStore[reduxName]) {
5962
return window.reduxStore[reduxName].getState();

0 commit comments

Comments
 (0)