mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-09-01 02:38:53 +00:00
RegisterNUICallback instead of AddEventHandler, improves performance
Co-Authored-By: SomeGuyX <someguyx@users.noreply.github.com>
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@ resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937'
|
||||
|
||||
description 'ESX Menu Default'
|
||||
|
||||
version '1.0.3'
|
||||
version '1.0.4'
|
||||
|
||||
client_scripts {
|
||||
'@es_extended/client/wrapper.lua',
|
||||
|
||||
+9
-3
@@ -43,23 +43,27 @@ Citizen.CreateThread(function()
|
||||
|
||||
ESX.UI.Menu.RegisterType(MenuType, openMenu, closeMenu)
|
||||
|
||||
AddEventHandler('esx_menu_default:message:menu_submit', function(data)
|
||||
RegisterNUICallback('menu_submit', function(data, cb)
|
||||
local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
|
||||
|
||||
if menu.submit ~= nil then
|
||||
menu.submit(data, menu)
|
||||
end
|
||||
|
||||
cb('OK')
|
||||
end)
|
||||
|
||||
AddEventHandler('esx_menu_default:message:menu_cancel', function(data)
|
||||
RegisterNUICallback('menu_cancel', function(data, cb)
|
||||
local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
|
||||
|
||||
if menu.cancel ~= nil then
|
||||
menu.cancel(data, menu)
|
||||
end
|
||||
|
||||
cb('OK')
|
||||
end)
|
||||
|
||||
AddEventHandler('esx_menu_default:message:menu_change', function(data)
|
||||
RegisterNUICallback('menu_change', function(data, cb)
|
||||
local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
|
||||
|
||||
for i=1, #data.elements, 1 do
|
||||
@@ -76,6 +80,8 @@ Citizen.CreateThread(function()
|
||||
if menu.change ~= nil then
|
||||
menu.change(data, menu)
|
||||
end
|
||||
|
||||
cb('OK')
|
||||
end)
|
||||
|
||||
Citizen.CreateThread(function()
|
||||
|
||||
+12
-12
@@ -79,7 +79,7 @@
|
||||
|
||||
};
|
||||
|
||||
ESX_MENU.render = function(){
|
||||
ESX_MENU.render = function() {
|
||||
|
||||
let menuContainer = document.getElementById('menus');
|
||||
let focused = ESX_MENU.getFocused();
|
||||
@@ -93,7 +93,7 @@
|
||||
let menuData = ESX_MENU.opened[namespace][name];
|
||||
let view = JSON.parse(JSON.stringify(menuData));
|
||||
|
||||
for(let i=0; i<menuData.elements.length; i++){
|
||||
for(let i=0; i<menuData.elements.length; i++) {
|
||||
|
||||
let element = view.elements[i];
|
||||
|
||||
@@ -132,32 +132,32 @@
|
||||
|
||||
};
|
||||
|
||||
ESX_MENU.submit = function(namespace, name, data){
|
||||
SendMessage(ESX_MENU.ResourceName, 'menu_submit', {
|
||||
ESX_MENU.submit = function(namespace, name, data) {
|
||||
$.post('http://' + ESX_MENU.ResourceName + '/menu_submit', JSON.stringify({
|
||||
_namespace: namespace,
|
||||
_name : name,
|
||||
current : data,
|
||||
elements : ESX_MENU.opened[namespace][name].elements
|
||||
});
|
||||
}));
|
||||
};
|
||||
|
||||
ESX_MENU.cancel = function(namespace, name){
|
||||
SendMessage(ESX_MENU.ResourceName, 'menu_cancel', {
|
||||
ESX_MENU.cancel = function(namespace, name) {
|
||||
$.post('http://' + ESX_MENU.ResourceName + '/menu_cancel', JSON.stringify({
|
||||
_namespace: namespace,
|
||||
_name : name
|
||||
});
|
||||
}));
|
||||
};
|
||||
|
||||
ESX_MENU.change = function(namespace, name, data){
|
||||
SendMessage(ESX_MENU.ResourceName, 'menu_change', {
|
||||
ESX_MENU.change = function(namespace, name, data) {
|
||||
$.post('http://' + ESX_MENU.ResourceName + '/menu_change', JSON.stringify({
|
||||
_namespace: namespace,
|
||||
_name : name,
|
||||
current : data,
|
||||
elements : ESX_MENU.opened[namespace][name].elements
|
||||
});
|
||||
}));
|
||||
};
|
||||
|
||||
ESX_MENU.getFocused = function(){
|
||||
ESX_MENU.getFocused = function() {
|
||||
return ESX_MENU.focus[ESX_MENU.focus.length - 1];
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user