gitea源码

config.ts 931B

12345678910111213141516171819202122232425
  1. import {showTemporaryTooltip} from '../../modules/tippy.ts';
  2. import {POST} from '../../modules/fetch.ts';
  3. const {appSubUrl} = window.config;
  4. export function initAdminConfigs(): void {
  5. const elAdminConfig = document.querySelector<HTMLDivElement>('.page-content.admin.config');
  6. if (!elAdminConfig) return;
  7. for (const el of elAdminConfig.querySelectorAll<HTMLInputElement>('input[type="checkbox"][data-config-dyn-key]')) {
  8. el.addEventListener('change', async () => {
  9. try {
  10. const resp = await POST(`${appSubUrl}/-/admin/config`, {
  11. data: new URLSearchParams({key: el.getAttribute('data-config-dyn-key'), value: String(el.checked)}),
  12. });
  13. const json: Record<string, any> = await resp.json();
  14. if (json.errorMessage) throw new Error(json.errorMessage);
  15. } catch (ex) {
  16. showTemporaryTooltip(el, ex.toString());
  17. el.checked = !el.checked;
  18. }
  19. });
  20. }
  21. }