Skip to content

Commit 9359d66

Browse files
authored
Merge pull request #21 from madmax983/unsubscribe-failing-test
#17 Regenerate MDAPI source format for mdapi deploys
2 parents 2df0ef5 + 655d5a8 commit 9359d66

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/aura/Redux/Redux.cmp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<aura:component description="Redux">
22
<ltng:require scripts="{!$Resource.redux}"/>
3+
<aura:handler name="destroy" value="{!this}" action="{!c.handleUnsubscribe}"/>
34
<aura:attribute name="name" type="string" default="redux" />
45
<aura:method name="createStore" action="{!c.createStore}">
56
<aura:attribute name="name" type="string" />

src/aura/Redux/ReduxController.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
if(window.reducerQueue && window.reducerQueue[reduxName]) {
1818
combinedReducer = Redux.combineReducers(Object.assign({}, reducerObject, window.reducerQueue[reduxName]));
19+
window.reducerRegistry = {};
1920
window.reducerRegistry[reduxName] = Object.assign({}, window.reducerRegistry[reduxName], reducerObject, window.reducerQueue[reduxName]);
2021
} else if(window.reducerRegistry && window.reducerRegistry[reduxName]) {
2122
combinedReducer = Redux.combineReducers(reducerObject);
@@ -90,7 +91,7 @@
9091
var listener = params ? params.listener : null;
9192

9293
if(listener && window.reduxStore && window.reduxStore[reduxName]) {
93-
window.reduxStore[reduxName].subscribe(listener);
94+
return window.reduxStore[reduxName].subscribe(listener);
9495
}
9596
},
9697

@@ -147,12 +148,7 @@
147148
for(var key in mapStateToAttributes) {
148149
if(mapStateToAttributes.hasOwnProperty(key)) {
149150
if(typeof mapStateToAttributes[key] === "function") {
150-
try {
151-
var returnedFunction = mapStateToAttributes[key]();
152-
target.set(key, returnedFunction(state, target));
153-
} catch(e) {
154-
target.set(key, mapStateToAttributes[key](state, target))
155-
}
151+
target.set(key, mapStateToAttributes[key](state, target))
156152
} else {
157153
target.set(key, state[mapStateToAttributes[key]]);
158154
}
@@ -163,7 +159,7 @@
163159

164160
handleChanges();
165161

166-
window.reduxStore[reduxName].subscribe(handleChanges);
162+
component.unsubscribe = window.reduxStore[reduxName].subscribe(handleChanges);
167163
target.dispatch = window.reduxStore[reduxName].dispatch;
168164
} else {
169165
if(window.subscriberQueue && window.subscriberQueue[reduxName]) {
@@ -179,6 +175,11 @@
179175
}];
180176
}
181177
}
178+
},
179+
handleUnsubscribe: function(component) {
180+
if (component.unsubscribe) {
181+
component.unsubscribe();
182+
}
182183
}
183184

184185
})

0 commit comments

Comments
 (0)