Kontakt-Modul
Dieser Commit ist enthalten in:
committet von
Server Deploy
Ursprung
623bbdf5dd
Commit
7d67557be4
@ -23,6 +23,7 @@ import giteaManager from './gitea.js';
|
||||
import knowledgeManager from './knowledge.js';
|
||||
import codingManager from './coding.js';
|
||||
import mobileManager from './mobile.js';
|
||||
import reminderManager from './reminders.js';
|
||||
import { $, $$, debounce, getFromStorage, setToStorage } from './utils.js';
|
||||
|
||||
class App {
|
||||
@ -152,15 +153,17 @@ class App {
|
||||
store.setCurrentProject(projectId);
|
||||
|
||||
try {
|
||||
const [columns, tasks, labels] = await Promise.all([
|
||||
const [columns, tasks, labels, reminders] = await Promise.all([
|
||||
api.getColumns(projectId),
|
||||
api.getTasks(projectId),
|
||||
api.getLabels(projectId)
|
||||
api.getLabels(projectId),
|
||||
api.getReminders(projectId)
|
||||
]);
|
||||
|
||||
store.setColumns(columns);
|
||||
store.setTasks(tasks);
|
||||
store.setLabels(labels);
|
||||
store.setReminders(reminders);
|
||||
|
||||
// Update project selector
|
||||
const projectSelect = $('#project-select');
|
||||
@ -667,6 +670,28 @@ class App {
|
||||
} else {
|
||||
knowledgeManager.hide();
|
||||
}
|
||||
|
||||
// Initialize contacts view when switching to it
|
||||
if (view === 'contacts') {
|
||||
window.initContactsPromise = window.initContactsPromise || import('./contacts.js').then(module => {
|
||||
if (module.initContacts) {
|
||||
return module.initContacts();
|
||||
}
|
||||
});
|
||||
window.initContactsPromise.catch(console.error);
|
||||
}
|
||||
|
||||
// Render list view when switching to it (delayed to ensure store is updated)
|
||||
if (view === 'list') {
|
||||
setTimeout(() => listViewManager.render(), 10);
|
||||
}
|
||||
|
||||
// Render calendar view when switching to it
|
||||
if (view === 'calendar') {
|
||||
setTimeout(() => {
|
||||
calendarViewManager.render();
|
||||
}, 10);
|
||||
}
|
||||
}
|
||||
|
||||
// =====================
|
||||
@ -886,6 +911,14 @@ class App {
|
||||
// Clear view-specific search
|
||||
proposalsManager.setSearchQuery('');
|
||||
knowledgeManager.setSearchQuery('');
|
||||
|
||||
// Clear contacts search
|
||||
import('./contacts.js').then(module => {
|
||||
if (module.contactsManager) {
|
||||
module.contactsManager.searchQuery = '';
|
||||
module.contactsManager.filterContacts();
|
||||
}
|
||||
});
|
||||
|
||||
// Cancel any pending server search
|
||||
if (searchAbortController) {
|
||||
@ -961,6 +994,14 @@ class App {
|
||||
} else if (currentView === 'knowledge') {
|
||||
// Search knowledge base
|
||||
knowledgeManager.setSearchQuery(value);
|
||||
} else if (currentView === 'contacts') {
|
||||
// Search contacts
|
||||
import('./contacts.js').then(module => {
|
||||
if (module.contactsManager) {
|
||||
module.contactsManager.searchQuery = value;
|
||||
module.contactsManager.filterContacts();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Immediate client-side filtering for tasks
|
||||
store.setFilter('search', value);
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren