mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-18 15:36:02 +01:00
feat(menu): lib.hideMenu
This commit is contained in:
@@ -24,6 +24,14 @@ function lib.showMenu(id)
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function lib.hideMenu(onExit)
|
||||||
|
if onExit and registeredMenus[openMenu].onClose then registeredMenus[openMenu].onClose() end
|
||||||
|
SetNuiFocus(false, false)
|
||||||
|
SendNUIMessage({
|
||||||
|
action = 'closeMenu'
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
function lib.setMenuOptions(id, options, index)
|
function lib.setMenuOptions(id, options, index)
|
||||||
if index then
|
if index then
|
||||||
registeredMenus[id].options[index] = options
|
registeredMenus[id].options[index] = options
|
||||||
|
|||||||
@@ -66,9 +66,9 @@ const ListMenu: React.FC = () => {
|
|||||||
const [indexStates, setIndexStates] = useState<Record<number, number>>({});
|
const [indexStates, setIndexStates] = useState<Record<number, number>>({});
|
||||||
const listRefs = useRef<Array<HTMLDivElement | null>>([]);
|
const listRefs = useRef<Array<HTMLDivElement | null>>([]);
|
||||||
|
|
||||||
const closeMenu = () => {
|
const closeMenu = (ignoreFetch?: boolean) => {
|
||||||
setVisible(false);
|
setVisible(false);
|
||||||
fetchNui("closeMenu");
|
if (!ignoreFetch) fetchNui("closeMenu");
|
||||||
};
|
};
|
||||||
|
|
||||||
const moveMenu = (e: React.KeyboardEvent<HTMLDivElement>) => {
|
const moveMenu = (e: React.KeyboardEvent<HTMLDivElement>) => {
|
||||||
@@ -147,6 +147,8 @@ const ListMenu: React.FC = () => {
|
|||||||
return () => window.removeEventListener("keydown", keyHandler);
|
return () => window.removeEventListener("keydown", keyHandler);
|
||||||
}, [visible]);
|
}, [visible]);
|
||||||
|
|
||||||
|
useNuiEvent("closeMenu", () => closeMenu(true));
|
||||||
|
|
||||||
useNuiEvent("setMenu", (data: MenuSettings) => {
|
useNuiEvent("setMenu", (data: MenuSettings) => {
|
||||||
setSelected(0);
|
setSelected(0);
|
||||||
if (!data.position) data.position = "top-left";
|
if (!data.position) data.position = "top-left";
|
||||||
|
|||||||
Reference in New Issue
Block a user