51 lines
1.9 KiB
JavaScript
51 lines
1.9 KiB
JavaScript
/*
|
|
Interactions related to the Flux/InfluxDB version modal
|
|
*/
|
|
|
|
const fluxInfluxDBModal = '.modal-content#flux-influxdb-versions'
|
|
const pageType = ($(document).attr('title')).includes("package") ? "package" : "function";
|
|
|
|
// Check for deprecated or pending versions
|
|
function keysPresent() {
|
|
var list = $(fluxInfluxDBModal + ' .version-list')
|
|
|
|
return {
|
|
pending: list.find('.pending').length !== 0,
|
|
deprecated: list.find('.deprecated').length !== 0,
|
|
supported: list.find('.supported').length !== 0,
|
|
}
|
|
}
|
|
|
|
// Only execute if the Flux/InfluxDB modal is present in the DOM
|
|
if ($(fluxInfluxDBModal).length > 0) {
|
|
var presentKeys = keysPresent()
|
|
|
|
// Remove color key list items if the colors/states are present in the version list
|
|
if (presentKeys.pending === false) { $(fluxInfluxDBModal + ' .color-key #pending-key' ).remove() }
|
|
if (presentKeys.deprecated === false) { $(fluxInfluxDBModal + ' .color-key #deprecated-key' ).remove() }
|
|
if (presentKeys.pending === false && presentKeys.deprecated === false) { $(fluxInfluxDBModal + ' .color-key' ).remove() }
|
|
|
|
// If no versions are supported, remove and replace InfluxDB version tables
|
|
if (Object.values(presentKeys).every(value => !value)) {
|
|
$(fluxInfluxDBModal + ' .influxdb-versions > :not(".more-info")').remove();
|
|
$(fluxInfluxDBModal + ' .influxdb-versions').prepend(`<p class="no-support">No versions of InfluxDB currently support this ${pageType}.</p>`)
|
|
}
|
|
}
|
|
|
|
|
|
// Open version modal and add query param
|
|
const queryParams = new URLSearchParams(window.location.search);
|
|
|
|
function openFluxVersionModal() {
|
|
const anchor = window.location.hash;
|
|
|
|
toggleModal('#flux-influxdb-versions');
|
|
queryParams.set('view', 'influxdb-support');
|
|
window.history.replaceState({}, '', `${location.pathname}?${queryParams}${anchor}`);
|
|
};
|
|
|
|
// Check for the modal query param and open the modal if it exists
|
|
if (queryParams.get('view') !== null) {
|
|
openFluxVersionModal();
|
|
};
|