wip: removed code block that prevents event dispatch (#73)

This commit is contained in:
michizhou
2019-10-24 08:28:23 -04:00
parent bd04b85bc9
commit f3fdd161e4

View File

@@ -9,43 +9,16 @@ export default function getChildEventSubscriber(
key,
initialLastFocusEvent = 'didBlur'
) {
const actionSubscribers = new Set();
const willFocusSubscribers = new Set();
const didFocusSubscribers = new Set();
const willBlurSubscribers = new Set();
const didBlurSubscribers = new Set();
const refocusSubscribers = new Set();
const eventSubscribers = new Map();
const removeAll = () => {
[
actionSubscribers,
willFocusSubscribers,
didFocusSubscribers,
willBlurSubscribers,
didBlurSubscribers,
refocusSubscribers,
].forEach(set => set.clear());
eventSubscribers.forEach(set => set.clear());
upstreamSubscribers.forEach(subs => subs && subs.remove());
};
const getChildSubscribers = evtName => {
switch (evtName) {
case 'action':
return actionSubscribers;
case 'willFocus':
return willFocusSubscribers;
case 'didFocus':
return didFocusSubscribers;
case 'willBlur':
return willBlurSubscribers;
case 'didBlur':
return didBlurSubscribers;
case 'refocus':
return refocusSubscribers;
default:
return null;
}
return eventSubscribers.get(evtName);
};
const emit = (type, payload) => {
@@ -70,11 +43,20 @@ export default function getChildEventSubscriber(
'didBlur',
'refocus',
'action',
'drawerOpen',
'drawerClose',
];
const upstreamSubscribers = upstreamEvents.map(eventName =>
addListener(eventName, payload => {
if (eventName === 'refocus') {
if (!eventSubscribers.has(eventName)) {
eventSubscribers.set(eventName, new Set());
}
if (
eventName === 'refocus' ||
eventName === 'drawerOpen' ||
eventName === 'drawerClose'
) {
emit(eventName, payload);
return;
}
@@ -184,12 +166,6 @@ export default function getChildEventSubscriber(
return { remove };
},
emit(eventName, payload) {
if (eventName !== 'refocus') {
console.error(
`navigation.emit only supports the 'refocus' event currently.`
);
return;
}
emit(eventName, payload);
},
};