Implementierung Wissensmanagement
Dieser Commit ist enthalten in:
@ -20,6 +20,7 @@ import adminManager from './admin.js';
|
||||
import proposalsManager from './proposals.js';
|
||||
import notificationManager from './notifications.js';
|
||||
import giteaManager from './gitea.js';
|
||||
import knowledgeManager from './knowledge.js';
|
||||
import { $, $$, debounce, getFromStorage, setToStorage } from './utils.js';
|
||||
|
||||
class App {
|
||||
@ -79,6 +80,9 @@ class App {
|
||||
// Initialize gitea manager
|
||||
await giteaManager.init();
|
||||
|
||||
// Initialize knowledge manager
|
||||
await knowledgeManager.init();
|
||||
|
||||
// Update UI
|
||||
this.updateUserMenu();
|
||||
}
|
||||
@ -596,6 +600,18 @@ class App {
|
||||
v.classList.toggle('hidden', !isActive);
|
||||
});
|
||||
|
||||
// Clear search field when switching views
|
||||
const searchInput = $('#search-input');
|
||||
if (searchInput && searchInput.value) {
|
||||
searchInput.value = '';
|
||||
store.setFilter('search', '');
|
||||
store.setState({ searchResultIds: [] }, 'CLEAR_SEARCH_RESULTS');
|
||||
proposalsManager.setSearchQuery('');
|
||||
knowledgeManager.setSearchQuery('');
|
||||
$('#search-clear')?.classList.add('hidden');
|
||||
$('.search-container')?.classList.remove('has-search');
|
||||
}
|
||||
|
||||
// Load proposals when switching to proposals view - reset to active (non-archived)
|
||||
if (view === 'proposals') {
|
||||
proposalsManager.resetToActiveView();
|
||||
@ -607,6 +623,13 @@ class App {
|
||||
} else {
|
||||
giteaManager.hide();
|
||||
}
|
||||
|
||||
// Show/hide knowledge manager
|
||||
if (view === 'knowledge') {
|
||||
knowledgeManager.show();
|
||||
} else {
|
||||
knowledgeManager.hide();
|
||||
}
|
||||
}
|
||||
|
||||
// =====================
|
||||
@ -823,8 +846,9 @@ class App {
|
||||
updateSearchUI('');
|
||||
searchInput.focus();
|
||||
|
||||
// Clear proposals search as well
|
||||
// Clear view-specific search
|
||||
proposalsManager.setSearchQuery('');
|
||||
knowledgeManager.setSearchQuery('');
|
||||
|
||||
// Cancel any pending server search
|
||||
if (searchAbortController) {
|
||||
@ -897,6 +921,9 @@ class App {
|
||||
if (currentView === 'proposals') {
|
||||
// Search proposals only
|
||||
proposalsManager.setSearchQuery(value);
|
||||
} else if (currentView === 'knowledge') {
|
||||
// Search knowledge base
|
||||
knowledgeManager.setSearchQuery(value);
|
||||
} else {
|
||||
// Immediate client-side filtering for tasks
|
||||
store.setFilter('search', value);
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren