Skip to content

Commit f4ee2e4

Browse files
authored
Merge pull request #1288 from hargata/Hargata/realtime.sync
add timer fallback to kiosk if websocket is not enabled.
2 parents 3b6ac5c + 4ca0ff2 commit f4ee2e4

3 files changed

Lines changed: 25 additions & 4 deletions

File tree

Views/Shared/_Layout.cshtml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
var firstDayOfWeek = (int)CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
1717
var numberFormat = CultureInfo.CurrentCulture.NumberFormat;
1818
var userLanguage = userConfig.UserLanguage;
19+
var webSocketEnabled = config.GetWebSocketEnabled();
1920
shortDatePattern = shortDatePattern.ToLower();
2021
if (!shortDatePattern.Contains("dd"))
2122
{
@@ -70,6 +71,7 @@
7071
currencySymbol: decodeHTMLEntities("@numberFormat.CurrencySymbol"),
7172
useThreeDecimals: "@useThreeDecimals" == "True",
7273
useMPG: "@useMPG" == "True",
74+
webSocketEnabled: "@webSocketEnabled" == "True",
7375
firstDayOfWeek: @firstDayOfWeek
7476
}
7577
}

wwwroot/js/kiosk.js

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
function focusKioskVehicle(sender) {
1+
var kioskTimer = undefined; //fallback timer
2+
function focusKioskVehicle(sender) {
23
let vehicleId = $(sender).attr('data-vehicleId');
34
showKioskVehicle(vehicleId);
45
}
@@ -145,15 +146,30 @@ async function setAccessToken(accessToken) {
145146
'x-api-key': accessToken
146147
}
147148
});
148-
await setupEventHubForKiosk(accessToken);
149+
if (getGlobalConfig().webSocketEnabled) {
150+
await setupEventHubForKiosk(accessToken);
151+
}
149152
console.log("Access Token for Kiosk Mode Configured!");
150153
}
151154
function initKiosk() {
152155
$("body > div").removeClass("container");
153156
$("body > div").css('height', '100vh');
154157
retrieveKioskContent();
155158
acquireKioskWakeLock();
156-
setupEventHubForKiosk();
159+
if (getGlobalConfig().webSocketEnabled) {
160+
setupEventHubForKiosk();
161+
} else {
162+
setUpKioskTimer();
163+
}
164+
}
165+
function setUpKioskTimer() {
166+
if (kioskTimer != undefined) {
167+
clearInterval(kioskTimer);
168+
kioskTimer = undefined;
169+
}
170+
kioskTimer = setInterval(() => {
171+
retrieveKioskContent();
172+
}, 60000)
157173
}
158174
async function setupEventHubForKiosk(accessToken) {
159175
//initialize signalr
@@ -219,7 +235,7 @@ function retrieveKioskContent() {
219235
retrieveKioskContent(); //skip until we hit a page with content.
220236
}
221237
}
222-
setTimeout(() => { retrieveKioskContent() }, 60000);
238+
setUpKioskTimer();
223239
});
224240
}
225241
}

wwwroot/js/shared.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2091,6 +2091,9 @@ function checkQueryParams(elemToAwait, callBack, param) {
20912091
}
20922092

20932093
async function setupEventHub(groupName, callBack, callBackParam) {
2094+
if (!getGlobalConfig().webSocketEnabled) {
2095+
return;
2096+
}
20942097
//initialize signalr
20952098
let eventHubUrl = '/api/ws';
20962099
await resetEventHub();

0 commit comments

Comments
 (0)