Merge pull request #6 from Jamelele/callbacks

NUI Callback Improvements
This commit is contained in:
Dan
2020-06-10 18:17:26 +01:00
committed by GitHub
3 changed files with 31 additions and 14 deletions

View File

@@ -174,15 +174,17 @@ AddEventHandler( "wk:togglePlateLock", function( cam, beep, bolo )
end )
-- Runs when the "Toggle Display" button is pressed on the plate reder box
RegisterNUICallback( "togglePlateReaderDisplay", function()
RegisterNUICallback( "togglePlateReaderDisplay", function( data, cb )
-- Toggle the display state
READER:ToggleDisplayState()
cb('ok')
end )
-- Runs when the "Set BOLO Plate" button is pressed on the plate reader box
RegisterNUICallback( "setBoloPlate", function( plate, cb )
-- Set the BOLO plate
READER:SetBoloPlate( plate )
cb('ok')
end )
-- This is the main function that runs and scans all vehicles in front and behind the patrol vehicle

View File

@@ -1419,25 +1419,28 @@ end
NUI callback
----------------------------------------------------------------------------------]]--
-- Runs when the "Toggle Display" button is pressed on the remote control
RegisterNUICallback( "toggleRadarDisplay", function()
RegisterNUICallback( "toggleRadarDisplay", function( data, cb )
-- Toggle the display state
RADAR:ToggleDisplayState()
cb('ok')
end )
-- Runs when the user presses the power button on the radar ui
RegisterNUICallback( "togglePower", function()
RegisterNUICallback( "togglePower", function( data, cb )
-- Toggle the radar's power
RADAR:TogglePower()
cb('ok')
end )
-- Runs when the user presses the ESC or RMB when the remote is open
RegisterNUICallback( "closeRemote", function()
RegisterNUICallback( "closeRemote", function( data, cb )
-- Remove focus to the NUI side
SetNuiFocus( false, false )
cb('ok')
end )
-- Runs when the user presses any of the antenna mode buttons on the remote
RegisterNUICallback( "setAntennaMode", function( data )
RegisterNUICallback( "setAntennaMode", function( data, cb )
-- Only run the codw if the radar has power and is not powering up
if ( RADAR:IsPowerOn() and not RADAR:IsPoweringUp() ) then
-- As the mode buttons are used to exit the menu, we check for that
@@ -1465,10 +1468,11 @@ RegisterNUICallback( "setAntennaMode", function( data )
end )
end
end
cb('ok')
end )
-- Runs when the user presses either of the XMIT/HOLD buttons on the remote
RegisterNUICallback( "toggleAntenna", function( data )
RegisterNUICallback( "toggleAntenna", function( data, cb )
-- Only run the codw if the radar has power and is not powering up
if ( RADAR:IsPowerOn() and not RADAR:IsPoweringUp() ) then
-- As the xmit/hold buttons are used to change settings in the menu, we check for that
@@ -1489,10 +1493,11 @@ RegisterNUICallback( "toggleAntenna", function( data )
end )
end
end
cb('ok')
end )
-- Runs when the user presses the menu button on the remote control
RegisterNUICallback( "menu", function()
RegisterNUICallback( "menu", function( data, cb )
-- Only run the codw if the radar has power and is not powering up
if ( RADAR:IsPowerOn() and not RADAR:IsPoweringUp() ) then
-- As the menu button is a multipurpose button, we first check to see if the menu is already open
@@ -1510,17 +1515,20 @@ RegisterNUICallback( "menu", function()
-- Play the standard audio beep
SendNUIMessage( { _type = "audio", name = "beep", vol = RADAR:GetSettingValue( "beep" ) } )
end
cb('ok')
end )
-- Runs when the JavaScript side sends the UI data for saving
RegisterNUICallback( "saveUiData", function( data, cb )
UTIL:Log( "Saving updated UI settings data." )
SetResourceKvp( "wk_wars2x_ui_data", json.encode( data ) )
cb('ok')
end )
-- Runs when the JavaScript side sends the quick start video has been watched
RegisterNUICallback( "qsvWatched", function( data, cb )
SetResourceKvpInt( "wk_wars2x_new_user", 1 )
cb('ok')
end )

View File

@@ -257,7 +257,7 @@ elements.closeHelp.click( function() {
// Sets the action for the "No" button on the new user popup to close the popup
elements.closeNewUser.click( function() {
setEleVisible( elements.newUser, false );
sendData( "qsvWatched", null );
sendData( "qsvWatched", {} );
} )
// Sets the action for the "Yes" button on the new user popup to open the quick start window and load the video
@@ -271,7 +271,7 @@ elements.openQsv.click( function() {
elements.closeQsv.click( function() {
setEleVisible( elements.qsvWindow, false );
loadQuickStartVideo( false );
sendData( "qsvWatched", null );
sendData( "qsvWatched", {} );
} )
@@ -620,9 +620,16 @@ function displayKeyLock( state )
}, 2000 );
}
// Prepare headers for HTTP requests
$.ajaxSetup({
headers: {
'Content-Type': 'application/json; charset=UTF-8',
},
});
// This function is used to send data back through to the LUA side
function sendData( name, data ) {
$.post( "http://" + resourceName + "/" + name, JSON.stringify( data ), function( datab ) {
$.post( "https://" + resourceName + "/" + name, JSON.stringify( data ), function( datab ) {
if ( datab != "ok" ) {
console.log( datab );
}
@@ -1033,7 +1040,7 @@ $( "body" ).find( "button, div" ).each( function( i, obj ) {
------------------------------------------------------------------------------------*/
function closeRemote()
{
sendData( "closeRemote", null );
sendData( "closeRemote", {} );
setEleVisible( elements.plateReaderBox, false );
setEleVisible( elements.uiSettingsBox, false );