Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectBackup/C#/FiveM/TaxiJob/TaxiJob.Shared/bin/Debug/nui/meter.js
2022-12-07 15:35:41 +01:00

152 lines
3.4 KiB
JavaScript

let meterVisible = false;
let currencyPrefix = '';
let rateSuffix = '';
let rateType = 'distance';
let rateAmount = null;
let currentFare = 5.00;
let pause = false;
let moving = false;
$('#greenlight').hide();
$('#redlight').hide();
window.addEventListener("message", function (event) {
switch (event.data.type) {
case 'show_config':
showConfig();
break;
case 'hide_config':
hideConfig();
break;
case 'update_meter':
updateMeterAttributes(JSON.parse(event.data.attributes));
break;
//refreshMeterDisplay(); TESTEAR ESTO
}
});
/*$('.toggle-meter').on('click', function () {
let attrs = {'meterVisible': 'toggle'}
$.post('http://esx_taximeter/updateAttrs', JSON.stringify(attrs));
});
$('.fare-distance').on('click', function () {
let attrs = {'rateType': 'distance'}
$.post('http://esx_taximeter/updateAttrs', JSON.stringify(attrs));
});
$('.fare-flat').on('click', function () {
let attrs = {'rateType': 'flat'}
$.post('http://esx_taximeter/updateAttrs', JSON.stringify(attrs));
});
$('.close').on('click', function () {
$.post('http://esx_taximeter/closeConfig', JSON.stringify({}));
});
$('.set-rate').on('click', function () {
$.post('http://esx_taximeter/setRate', JSON.stringify({}));
});
$('.reset-trip').on('click', function () {
$.post('http://esx_taximeter/resetFare', JSON.stringify({}));
});*/
function showConfig() {
$('#config').show();
}
function hideConfig() {
$('#config').hide();
}
function showMeter() {
$('#meter').show();
}
function hideMeter() {
$('#meter').hide();
}
function setRate(rate) {
updateFareType();
}
function updateMeterAttributes(attributes) {
if (attributes) {
meterVisible = attributes['meterVisible'];
rateType = attributes['rateType'];
rateAmount = attributes['rateAmount'];
currentFare = attributes['currentFare'];
currencyPrefix = attributes['currencyPrefix'];
rateSuffix = attributes['rateSuffix'];
pause = attributes['meterPause'];
//moving = attributes['isMoving'];
if (moving !== attributes['isMoving']) {
moving = attributes['isMoving'];
updateLight()
}
refreshMeterDisplay();
}
}
function updateLight() {
if (moving) {
$('#greenlight').show();
$('#redlight').hide();
} else {
$('#redlight').show();
$('#greenlight').hide();
}
}
function refreshMeterDisplay() {
toggleMeterVisibility();
updateRateType();
updateCurrentFare();
updatePauseState();
//updateLight();
}
function toggleMeterVisibility() {
if (meterVisible) {
showMeter();
} else {
hideMeter();
}
}
function updateCurrentFare() {
let string;
if (rateType === 'flat') {
string = currencyPrefix + (rateAmount || '--');
} else {
string = currencyPrefix + (currentFare || '0.00');
}
$('.meter-field.fare').text(string);
}
function updateRateType() {
let string;
if (rateType === 'flat') {
string = 'FLAT'
} else {
string = currencyPrefix + (rateAmount || '--') + rateSuffix
}
$('.meter-field.rate').text(string);
}
function updatePauseState() {
let string;
if (pause) {
string = 'OFF'
} else {
string = 'ON'
}
$('.meter-field.state').text(string);
}