feat: menu contextuel repertoire → Sauvegarder recherche + icone dossier
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -2s

- ContextMenuManager: option Ajouter aux recherches sauvegardees pour repertoires
- _saveDirectorySearch: POST /api/saved-searches avec include_paths=repertoire/**
- Bascule automatique vers longlet Sauvegardes dans le sidebar
- loadSavedSearches: icone folder-search + classe saved-search-dir pour recherches dossier
- Recherches dossier affichent le chemin au lieu d'une query vide
This commit is contained in:
2026-06-15 16:45:45 -04:00
parent 5ec54d3cc2
commit 1116957c19
3 changed files with 40 additions and 4 deletions
+6 -2
View File
@@ -1038,6 +1038,10 @@ export async function loadSavedSearches() {
}
if (empty) empty.style.display = "none";
list.innerHTML = searches.map(s => {
// Detect directory-based saved search (empty query + include_paths)
var isDirSearch = (!s.query || s.query.trim() === '') && s.include_paths;
var displayQuery = isDirSearch ? (s.include_paths || 'Dossier') : escapeHtml(s.query);
var dirIcon = isDirSearch ? '<i data-lucide="folder-search" style="width:14px;height:14px;margin-right:4px;color:var(--accent)"></i>' : '';
const badges = [];
if (s.case_sensitive) badges.push('<span class="search-filter-badge">Aa</span>');
if (s.whole_word) badges.push('<span class="search-filter-badge">wd</span>');
@@ -1047,8 +1051,8 @@ export async function loadSavedSearches() {
if (s.exclude_paths) pathFilters.push(`<span class="saved-search-path" title="Exclure: ${escapeHtml(s.exclude_paths)}">📤 ${escapeHtml(s.exclude_paths)}</span>`);
const vaultStr = s.vault && s.vault !== "all" ? `<span class="saved-search-vault">📁 ${escapeHtml(s.vault)}</span>` : "";
return `
<div class="saved-search-item">
<div class="saved-search-query">${escapeHtml(s.query)}</div>
<div class="saved-search-item${isDirSearch ? ' saved-search-dir' : ''}">
<div class="saved-search-query">${dirIcon}${displayQuery}</div>
<div class="saved-search-meta">
${badges.join("")}
${vaultStr}