Skip to content

Commit

Permalink
mocking pop event handler (wix#7961)
Browse files Browse the repository at this point in the history
* mocking pop event handler

* fix

* Update ComponentScreen.tsx
  • Loading branch information
tommy2804 authored Jan 22, 2025
1 parent 689481e commit fd871e0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
9 changes: 9 additions & 0 deletions lib/Mock/Stores/EventsStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
ComponentDidDisappearEvent,
ComponentWillAppearEvent,
ModalDismissedEvent,
ScreenPoppedEvent,
} from '../../src/interfaces/ComponentEvents';
import { ComponentDidAppearEvent, NavigationButtonPressedEvent } from '../../src/index';
import { BottomTabPressedEvent, CommandCompletedEvent } from '../../src/interfaces/Events';
Expand All @@ -14,6 +15,8 @@ export const events = {
modalDismissed: [(_event: ModalDismissedEvent) => {}],
bottomTabPressed: [(_event: BottomTabPressedEvent) => {}],
commandCompleted: [(_event: CommandCompletedEvent) => {}],
screenPopped: [(_event: ScreenPoppedEvent) => {}],

invokeComponentWillAppear: (event: ComponentWillAppearEvent) => {
events.componentWillAppear &&
events.componentWillAppear.forEach((listener) => {
Expand Down Expand Up @@ -56,4 +59,10 @@ export const events = {
listener(event);
});
},
invokeScreenPopped: (event: ScreenPoppedEvent) => {
events.screenPopped &&
events.screenPopped.forEach((listener) => {
listener(event);
});
},
};
3 changes: 3 additions & 0 deletions lib/Mock/mocks/NativeCommandsSender.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ export class NativeCommandsSender {
LayoutStore.getLayoutById(componentId).getStack().children
) as ComponentNode;
LayoutStore.pop(componentId);
events.invokeScreenPopped({
componentId,
});
resolve(poppedChild.nodeId);
this.reportCommandCompletion(CommandName.Pop, commandId);
});
Expand Down
3 changes: 2 additions & 1 deletion lib/Mock/mocks/NativeEventsReceiver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,9 @@ export class NativeEventsReceiver {
}

public registerScreenPoppedListener(
_callback: (event: ScreenPoppedEvent) => void
callback: (event: ScreenPoppedEvent) => void
): EmitterSubscription {
events.screenPopped.push(callback);
return {
remove: () => {},
} as EmitterSubscription;
Expand Down

0 comments on commit fd871e0

Please sign in to comment.