react-native-navigation的迁移库

EventsRegistry.ts 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { NativeEventsReceiver } from '../adapters/NativeEventsReceiver';
  2. import { CommandsObserver } from './CommandsObserver';
  3. import { EventSubscription } from '../interfaces/EventSubscription';
  4. import { ComponentEventsObserver } from './ComponentEventsObserver';
  5. import {
  6. ComponentDidAppearEvent,
  7. ComponentDidDisappearEvent,
  8. NavigationButtonPressedEvent,
  9. SearchBarUpdatedEvent,
  10. SearchBarCancelPressedEvent
  11. } from '../interfaces/ComponentEvents';
  12. import { CommandCompletedEvent, BottomTabSelectedEvent } from '../interfaces/Events';
  13. export class EventsRegistry {
  14. constructor(private nativeEventsReceiver: NativeEventsReceiver, private commandsObserver: CommandsObserver, private componentEventsObserver: ComponentEventsObserver) { }
  15. public registerAppLaunchedListener(callback: () => void): EventSubscription {
  16. return this.nativeEventsReceiver.registerAppLaunchedListener(callback);
  17. }
  18. public registerComponentDidAppearListener(callback: (event: ComponentDidAppearEvent) => void): EventSubscription {
  19. return this.nativeEventsReceiver.registerComponentDidAppearListener(callback);
  20. }
  21. public registerComponentDidDisappearListener(callback: (event: ComponentDidDisappearEvent) => void): EventSubscription {
  22. return this.nativeEventsReceiver.registerComponentDidDisappearListener(callback);
  23. }
  24. public registerCommandCompletedListener(callback: (event: CommandCompletedEvent) => void): EventSubscription {
  25. return this.nativeEventsReceiver.registerCommandCompletedListener(callback);
  26. }
  27. public registerBottomTabSelectedListener(callback: (event: BottomTabSelectedEvent) => void): EventSubscription {
  28. return this.nativeEventsReceiver.registerBottomTabSelectedListener(callback);
  29. }
  30. public registerNavigationButtonPressedListener(callback: (event: NavigationButtonPressedEvent) => void): EventSubscription {
  31. return this.nativeEventsReceiver.registerNavigationButtonPressedListener(callback);
  32. }
  33. public registerSearchBarUpdatedListener(callback: (event: SearchBarUpdatedEvent) => void): EventSubscription {
  34. return this.nativeEventsReceiver.registerSearchBarUpdatedListener(callback);
  35. }
  36. public registerSearchBarCancelPressedListener(callback: (event: SearchBarCancelPressedEvent) => void): EventSubscription {
  37. return this.nativeEventsReceiver.registerSearchBarCancelPressedListener(callback);
  38. }
  39. public registerCommandListener(callback: (name: string, params: any) => void): EventSubscription {
  40. return this.commandsObserver.register(callback);
  41. }
  42. public bindComponent(component: React.Component<any>): EventSubscription {
  43. return this.componentEventsObserver.bindComponent(component);
  44. }
  45. }