()
| 1375 | } |
| 1376 | |
| 1377 | function bindEvents() { |
| 1378 | document.querySelectorAll(".nav-item").forEach((item) => { |
| 1379 | item.addEventListener("click", () => switchView(item.dataset.view)); |
| 1380 | }); |
| 1381 | document.querySelectorAll("[data-quick-view]").forEach((button) => { |
| 1382 | button.addEventListener("click", () => switchView(button.dataset.quickView)); |
| 1383 | }); |
| 1384 | $("refreshUsersBtn").addEventListener("click", () => runAction(loadUsers)); |
| 1385 | $("userSelect").addEventListener("change", () => { |
| 1386 | runAction(async () => { |
| 1387 | const userId = setActiveUser($("userSelect").value); |
| 1388 | stopDailyTaskPolling(); |
| 1389 | state.dailyTaskId = ""; |
| 1390 | state.dailyTaskStatus = ""; |
| 1391 | setDailyButtonBusy(false); |
| 1392 | await syncRoleForUser(userId); |
| 1393 | await refreshDashboard(); |
| 1394 | await refreshWikiStats(); |
| 1395 | await refreshProfile(); |
| 1396 | await refreshMustRead(); |
| 1397 | await loadLatestPush(); |
| 1398 | await refreshDailyTaskStatus({ silent: true }); |
| 1399 | }); |
| 1400 | }); |
| 1401 | $("refreshHistoryBtn").addEventListener("click", () => runAction(refreshDashboard)); |
| 1402 | $("activityFilter").addEventListener("change", () => renderActivity(state.activity)); |
| 1403 | $("sortRelevanceBtn").addEventListener("click", () => runAction(sortCurrentPushByRelevance)); |
| 1404 | $("runDailyBtn").addEventListener("click", () => runAction(runDaily)); |
| 1405 | $("selectAllSourcesBtn").addEventListener("click", () => setAllSources(true)); |
| 1406 | $("clearSourcesBtn").addEventListener("click", () => setAllSources(false)); |
| 1407 | document.querySelectorAll("[data-source-toggle]").forEach((button) => { |
| 1408 | button.addEventListener("click", () => toggleSourceGroup(button.dataset.sourceToggle)); |
| 1409 | }); |
| 1410 | $("submitFeedbackBtn").addEventListener("click", () => runAction(() => submit(false))); |
| 1411 | $("submitAndReadBtn").addEventListener("click", () => runAction(() => submit(true))); |
| 1412 | $("readArxivBtn").addEventListener("click", () => runAction(readArxivDirect)); |
| 1413 | $("readPdfBtn").addEventListener("click", () => runAction(readPdfDirect)); |
| 1414 | $("refreshWikiBtn").addEventListener("click", () => runAction(refreshWikiStats)); |
| 1415 | $("wikiSearchBtn").addEventListener("click", () => runAction(searchWiki)); |
| 1416 | $("wikiAskBtn").addEventListener("click", () => runAction(askWiki)); |
| 1417 | $("refreshMustReadBtn").addEventListener("click", () => runAction(refreshMustRead)); |
| 1418 | $("addMustReadBtn").addEventListener("click", () => runAction(() => updateMustRead("add"))); |
| 1419 | $("removeMustReadBtn").addEventListener("click", () => runAction(() => updateMustRead("remove"))); |
| 1420 | $("refreshRolesBtn").addEventListener("click", () => runAction(loadRoles)); |
| 1421 | $("createRoleBtn").addEventListener("click", () => runAction(createRole)); |
| 1422 | $("saveProfileBtn").addEventListener("click", () => runAction(saveProfile)); |
| 1423 | $("refreshProfileBtn").addEventListener("click", () => runAction(refreshProfile)); |
| 1424 | $("refreshSettingsBtn").addEventListener("click", () => runAction(refreshSettings)); |
| 1425 | $("saveSettingsBtn").addEventListener("click", () => runAction(saveSettings)); |
| 1426 | $("testLlmBtn").addEventListener("click", () => runAction(() => testProvider("llm"))); |
| 1427 | $("testEmbedBtn").addEventListener("click", () => runAction(() => testProvider("embedding"))); |
| 1428 | ["writeFeishuReports", "directWriteFeishu", "directPdfWriteFeishu"].forEach((id) => { |
| 1429 | const target = $(id); |
| 1430 | if (target) { |
| 1431 | target.addEventListener("change", () => { |
| 1432 | target.dataset.userTouched = "true"; |
| 1433 | }); |
| 1434 | } |
no test coverage detected