phpmyadmin/resources/js/modules/themes-manager.ts
Maurício Meneghini Fauth 01e4a87bbd
Move resources/js/src to resources/js
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-05-22 13:43:59 -03:00

32 lines
1.2 KiB
TypeScript

import $ from 'jquery';
import { CommonParams } from './common.ts';
/**
* @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
*/
export const ThemesManager = {
handleEvent: () => {
$.get('index.php?route=/themes', { 'server': CommonParams.get('server'), 'ajax_request': true }, data => {
$('#themesModal .modal-body').html(data.themes);
});
}
};
function setColorModeToHtmlTag (themeColorMode: string): void {
const htmlTag = document.querySelector('html');
htmlTag.dataset.bsTheme = themeColorMode;
}
export const ThemeColorModeToggle: EventListenerObject = {
handleEvent: (): void => {
const toggleSelect = document.getElementById('themeColorModeToggle') as HTMLSelectElement;
setColorModeToHtmlTag(toggleSelect.options.item(toggleSelect.selectedIndex).value);
const toggleForm = toggleSelect.form;
const formData = new FormData(toggleForm);
formData.set('ajax_request', '1');
$.post(toggleForm.action, Object.fromEntries(formData.entries())).done(function (data): void {
setColorModeToHtmlTag(data.themeColorMode);
});
}
};