Only include credentials (if we have them) on map page and on the SSE aspect of the spots page, to prevent first-time load delays on spots

This commit is contained in:
Ian Renton
2026-05-15 14:59:19 +01:00
parent 363735a235
commit 2026b46113
13 changed files with 43 additions and 35 deletions

View File

@@ -6,7 +6,7 @@ var alerts = []
// Load alerts and populate the table.
function loadAlerts() {
$.getJSON('/api/v1/alerts' + buildQueryString(), function(jsonData) {
$.getJSON('/api/v1/alerts' + buildQueryString(false), function(jsonData) {
// Store last updated time
lastUpdateTime = moment.utc();
updateRefreshDisplay();
@@ -18,7 +18,7 @@ function loadAlerts() {
}
// Build a query string for the API, based on the filters that the user has selected.
function buildQueryString() {
function buildQueryString(includeCredentials) {
var str = "?";
["dx_continent", "source"].forEach(fn => {
if (!allFilterOptionsSelected(fn)) {
@@ -33,7 +33,9 @@ function buildQueryString() {
if ($("#dxpeditions_skip_max_duration_check")[0].checked) {
str = str + "&dxpeditions_skip_max_duration_check=true";
}
str = str + getCredentialQueryString();
if (includeCredentials) {
str = str + getCredentialQueryString();
}
return str;
}

View File

@@ -12,7 +12,7 @@ BAND_COLUMN_SPOT_DIV_HEIGHT_PX = BAND_COLUMN_FONT_SIZE * 1.6;
// Load spots and populate the bands display.
function loadSpots() {
$.getJSON('/api/v1/spots' + buildQueryString(), function(jsonData) {
$.getJSON('/api/v1/spots' + buildQueryString(false), function(jsonData) {
// Store last updated time
lastUpdateTime = moment.utc();
updateRefreshDisplay();
@@ -24,7 +24,7 @@ function loadSpots() {
}
// Build a query string for the API, based on the filters that the user has selected.
function buildQueryString() {
function buildQueryString(includeCredentials) {
var str = "?";
["dx_continent", "de_continent", "mode", "source", "band", "sig"].forEach(fn => {
if (!allFilterOptionsSelected(fn)) {
@@ -34,7 +34,9 @@ function buildQueryString() {
str = str + "max_age=" + $("#max-spot-age option:selected").val();
// Additional filters for the bands view: No dupes, no QRT
str = str + "&dedupe=true&allow_qrt=false";
str = str + getCredentialQueryString();
if (includeCredentials) {
str = str + getCredentialQueryString();
}
return str;
}

View File

@@ -28,7 +28,7 @@ var firstLoad = true;
// Load spots and populate the map.
function loadSpots() {
$.getJSON('/api/v1/spots' + buildQueryString(), function(jsonData) {
$.getJSON('/api/v1/spots' + buildQueryString(true), function(jsonData) {
// Store data
spots = jsonData;
// Update map
@@ -40,7 +40,7 @@ function loadSpots() {
}
// Build a query string for the API, based on the filters that the user has selected.
function buildQueryString() {
function buildQueryString(includeCredentials) {
var str = "?";
["dx_continent", "de_continent", "mode", "source", "band", "sig"].forEach(fn => {
if (!allFilterOptionsSelected(fn)) {
@@ -50,7 +50,9 @@ function buildQueryString() {
str = str + "max_age=" + $("#max-spot-age option:selected").val();
// Additional filters for the map view: No dupes, no QRT, only spots with good locations
str = str + "&dedupe=true&allow_qrt=false";
str = str + getCredentialQueryString();
if (includeCredentials) {
str = str + getCredentialQueryString();
}
return str;
}

View File

@@ -12,7 +12,7 @@ function loadSpots() {
}
// Make the new query
$.getJSON('/api/v1/spots' + buildQueryString(), function(jsonData) {
$.getJSON('/api/v1/spots' + buildQueryString(false), function(jsonData) {
// Store data
spots = jsonData;
// Update table
@@ -31,7 +31,7 @@ function startSSEConnection() {
if (evtSource != null) {
evtSource.close();
}
evtSource = new EventSource('/api/v1/spots/stream' + buildQueryString());
evtSource = new EventSource('/api/v1/spots/stream' + buildQueryString(true));
evtSource.onmessage = function(event) {
// Get the new spot
@@ -78,7 +78,7 @@ function startSSEConnection() {
}
// Build a query string for the API, based on the filters that the user has selected.
function buildQueryString() {
function buildQueryString(includeCredentials) {
var str = "?";
["dx_continent", "de_continent", "mode", "source", "band", "sig"].forEach(fn => {
if (!allFilterOptionsSelected(fn)) {
@@ -89,7 +89,9 @@ function buildQueryString() {
if ($("#search").val() != "") {
str = str + "&text_includes=" + encodeURIComponent($("#search").val());
}
str = str + getCredentialQueryString();
if (includeCredentials) {
str = str + getCredentialQueryString();
}
return str;
}