various updates

remove dependence on jQuery
add image delete
Admin ui fix for mobile
image updates to new style
update comments
This commit is contained in:
Joey Kimsey
2025-02-05 05:34:25 -05:00
parent ea120e09bc
commit d7e8b586d7
104 changed files with 343 additions and 229 deletions

View File

@ -3,7 +3,7 @@
*
* This file is for 'access anywhere' javascript.
*
* @version 3.0
* @version 5.0.1
* @author Joey Kimsey <Joey@thetempusproject.com>
* @link https://TheTempusProject.com
* @license https://opensource.org/licenses/MIT [MIT LICENSE]
@ -80,14 +80,14 @@ function copyElementText( id ) {
}
}
$(document).ready(function() {
$('select').each(function() {
var selectedValue = $(this).attr('value');
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("select").forEach(function (select) {
var selectedValue = select.getAttribute("value");
if (selectedValue) {
$(this).removeAttr('value');
$(this).find('option').each(function() {
if ($(this).attr('value') === selectedValue) {
$(this).prop('selected', true);
select.removeAttribute("value");
select.querySelectorAll("option").forEach(function (option) {
if (option.getAttribute("value") === selectedValue) {
option.selected = true;
}
});
}
@ -178,12 +178,43 @@ document.addEventListener('DOMContentLoaded', function () {
});
}
function toggleDarkModePref( value ) {
var fields = {};
fields.prefName = 'darkMode';
fields.prefValue = value;
$.post( '/usercp/updatePref', fields ).done(function(response) {
// alert('Timer updated successfully!');
});
function toggleDarkModePref(value) {
var fields = new URLSearchParams();
fields.append("prefName", "darkMode");
fields.append("prefValue", value);
fetch("/usercp/updatePref", {
method: "POST",
body: fields,
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
})
// .then(response => response.text()) // Handle response if needed
.catch(error => console.error("Error:", error));
}
});
// this reverses the carets for the folderSelect
document.querySelectorAll('[data-bs-toggle="collapse"]').forEach(button => {
button.addEventListener('click', () => {
setTimeout(() => {
const icon = button.querySelector('i');
// Only proceed if the icon already has one of the relevant classes
if (icon && (icon.classList.contains('fa-caret-down') || icon.classList.contains('fa-caret-up'))) {
icon.classList.toggle('fa-caret-down', button.classList.contains('collapsed'));
icon.classList.toggle('fa-caret-up', !button.classList.contains('collapsed'));
}
}, 150);
});
});
// this should load all popovers
document.addEventListener("DOMContentLoaded", function () {
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl);
});
});