react-native-navigation
Version:
React Native Navigation - truly native navigation for iOS and Android
69 lines (66 loc) • 2.41 kB
text/typescript
import {
ComponentDidDisappearEvent,
ComponentWillAppearEvent,
ModalDismissedEvent,
ScreenPoppedEvent,
} from '../../interfaces/ComponentEvents';
import { ComponentDidAppearEvent, NavigationButtonPressedEvent } from '../../index';
import { BottomTabPressedEvent, CommandCompletedEvent } from '../../interfaces/Events';
export const events = {
navigationButtonPressed: [(_event: NavigationButtonPressedEvent) => {}],
componentWillAppear: [(_event: ComponentWillAppearEvent) => {}],
componentDidAppear: [(_event: ComponentDidAppearEvent) => {}],
componentDidDisappear: [(_event: ComponentDidDisappearEvent) => {}],
modalDismissed: [(_event: ModalDismissedEvent) => {}],
bottomTabPressed: [(_event: BottomTabPressedEvent) => {}],
commandCompleted: [(_event: CommandCompletedEvent) => {}],
screenPopped: [(_event: ScreenPoppedEvent) => {}],
invokeComponentWillAppear: (event: ComponentWillAppearEvent) => {
events.componentWillAppear &&
events.componentWillAppear.forEach((listener) => {
listener(event);
});
},
invokeComponentDidAppear: (event: ComponentDidAppearEvent) => {
events.componentDidAppear &&
events.componentDidAppear.forEach((listener) => {
listener(event);
});
},
invokeComponentDidDisappear: (event: ComponentDidDisappearEvent) => {
events.componentDidDisappear &&
events.componentDidDisappear.forEach((listener) => {
listener(event);
});
},
invokeModalDismissed: (event: ModalDismissedEvent) => {
events.modalDismissed &&
events.modalDismissed.forEach((listener) => {
listener(event);
});
},
invokeNavigationButtonPressed: (event: NavigationButtonPressedEvent) => {
events.navigationButtonPressed &&
events.navigationButtonPressed.forEach((listener) => {
listener(event);
});
},
invokeBottomTabPressed: (event: BottomTabPressedEvent) => {
events.bottomTabPressed &&
events.bottomTabPressed?.forEach((listener) => {
listener(event);
});
},
invokeCommandCompleted: (event: CommandCompletedEvent) => {
events.commandCompleted &&
events.commandCompleted.forEach((listener) => {
listener(event);
});
},
invokeScreenPopped: (event: ScreenPoppedEvent) => {
events.screenPopped &&
events.screenPopped.forEach((listener) => {
listener(event);
});
},
};