Fix project filtering: removed sidebar projectSelect references, updated fetchServices to use projectSelectHeader

This commit is contained in:
Сергей Антропов 2025-08-16 16:02:20 +03:00
parent 3fcaa8ad5d
commit f3e1966f3e

View File

@ -1018,7 +1018,7 @@ const els = {
filter: document.getElementById('filter'), filter: document.getElementById('filter'),
wsstate: document.getElementById('wsstate'), wsstate: document.getElementById('wsstate'),
projectBadge: document.getElementById('projectBadge'), projectBadge: document.getElementById('projectBadge'),
projectSelect: document.getElementById('projectSelect'),
clearBtn: document.getElementById('clear'), clearBtn: document.getElementById('clear'),
refreshBtn: document.getElementById('refresh'), refreshBtn: document.getElementById('refresh'),
snapshotBtn: document.getElementById('snapshot'), snapshotBtn: document.getElementById('snapshot'),
@ -1305,22 +1305,7 @@ async function fetchProjects(){
const projects = await res.json(); const projects = await res.json();
console.log('Projects loaded:', projects); console.log('Projects loaded:', projects);
// Обновляем селектор проектов в сайдбаре
const select = els.projectSelect;
if (select) {
select.innerHTML = '<option value="all">All Projects</option>';
projects.forEach(project => {
const option = document.createElement('option');
option.value = project;
option.textContent = project;
select.appendChild(option);
});
// Устанавливаем сохраненный проект
if (localStorage.lb_project && projects.includes(localStorage.lb_project)) {
select.value = localStorage.lb_project;
}
}
// Обновляем селектор проектов в заголовке // Обновляем селектор проектов в заголовке
const headerSelect = document.getElementById('projectSelectHeader'); const headerSelect = document.getElementById('projectSelectHeader');
@ -1352,7 +1337,8 @@ async function fetchServices(){
try { try {
console.log('Fetching services...'); console.log('Fetching services...');
const url = new URL(location.origin + '/api/services'); const url = new URL(location.origin + '/api/services');
const selectedProject = els.projectSelect ? els.projectSelect.value : 'all'; const projectSelectHeader = document.getElementById('projectSelectHeader');
const selectedProject = projectSelectHeader ? projectSelectHeader.value : 'all';
if (selectedProject && selectedProject !== 'all') { if (selectedProject && selectedProject !== 'all') {
url.searchParams.set('projects', selectedProject); url.searchParams.set('projects', selectedProject);
@ -1886,9 +1872,7 @@ function addCounterClickHandlers() {
}; };
} }
} }
if (els.projectSelect) {
els.projectSelect.onchange = fetchServices;
}
// Функция для добавления обработчика выпадающего списка проектов в заголовке // Функция для добавления обработчика выпадающего списка проектов в заголовке
function addHeaderProjectSelectHandler() { function addHeaderProjectSelectHandler() {
@ -1897,10 +1881,6 @@ function addHeaderProjectSelectHandler() {
if (headerProjectSelect) { if (headerProjectSelect) {
headerProjectSelect.onchange = () => { headerProjectSelect.onchange = () => {
console.log('Header project select changed to:', headerProjectSelect.value); console.log('Header project select changed to:', headerProjectSelect.value);
// Синхронизируем с селектором в сайдбаре
if (els.projectSelect) {
els.projectSelect.value = headerProjectSelect.value;
}
fetchServices(); fetchServices();
}; };
} }
@ -2153,7 +2133,7 @@ window.addEventListener('keydown', (e)=>{
(async function init() { (async function init() {
console.log('Initializing LogBoard+...'); console.log('Initializing LogBoard+...');
console.log('Elements found:', { console.log('Elements found:', {
projectSelect: !!els.projectSelect,
containerList: !!els.containerList, containerList: !!els.containerList,
logTitle: !!els.logTitle, logTitle: !!els.logTitle,
logContent: !!els.logContent, logContent: !!els.logContent,