Add afterClose param to reusabel context menu

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2022-01-13 18:43:22 +05:30
parent c50565dfda
commit e67abae3e0
3 changed files with 8 additions and 3 deletions

View file

@ -23,12 +23,14 @@ function ReusableContextMenu() {
openerRef.current.style.height = `${cords.height}px`;
openerRef.current.click();
}
const handleContextMenuOpen = (placement, cords, render) => {
const handleContextMenuOpen = (placement, cords, render, afterClose) => {
if (key) {
closeMenu();
return;
}
setData({ placement, cords, render });
setData({
placement, cords, render, afterClose,
});
};
navigation.on(cons.events.navigation.REUSABLE_CONTEXT_MENU_OPENED, handleContextMenuOpen);
return () => {
@ -44,6 +46,7 @@ function ReusableContextMenu() {
key = Math.random();
return;
}
data?.afterClose?.();
if (setData) setData(null);
if (key === null) return;

View file

@ -103,11 +103,12 @@ export function openSearch(term) {
});
}
export function openReusableContextMenu(placement, cords, render) {
export function openReusableContextMenu(placement, cords, render, afterClose) {
appDispatcher.dispatch({
type: cons.actions.navigation.OPEN_REUSABLE_CONTEXT_MENU,
placement,
cords,
render,
afterClose,
});
}

View file

@ -146,6 +146,7 @@ class Navigation extends EventEmitter {
action.placement,
action.cords,
action.render,
action.afterClose,
);
},
};