feat: initialize ObsiGate frontend with SPA structure, search history, and autocomplete functionality
This commit is contained in:
parent
4e8c36cc61
commit
6fc1c59664
@ -1895,12 +1895,37 @@
|
|||||||
if (recentFilter) recentFilter.value = selectedContextVault === "all" ? "" : selectedContextVault;
|
if (recentFilter) recentFilter.value = selectedContextVault === "all" ? "" : selectedContextVault;
|
||||||
if (dashboardFilter) dashboardFilter.value = selectedContextVault;
|
if (dashboardFilter) dashboardFilter.value = selectedContextVault;
|
||||||
|
|
||||||
|
// Mise à jour visuelle des dropdowns personnalisés
|
||||||
|
updateCustomDropdownVisual("vault-filter-dropdown", selectedContextVault);
|
||||||
|
updateCustomDropdownVisual("vault-quick-select-dropdown", selectedContextVault);
|
||||||
|
|
||||||
// Update vault context indicator
|
// Update vault context indicator
|
||||||
if (contextText) {
|
if (contextText) {
|
||||||
contextText.textContent = selectedContextVault === "all" ? "All" : selectedContextVault;
|
contextText.textContent = selectedContextVault === "all" ? "All" : selectedContextVault;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the visual state of a custom dropdown based on its current value.
|
||||||
|
*/
|
||||||
|
function updateCustomDropdownVisual(dropdownId, value) {
|
||||||
|
const dropdown = document.getElementById(dropdownId);
|
||||||
|
if (!dropdown) return;
|
||||||
|
|
||||||
|
const selectedText = dropdown.querySelector(".custom-dropdown-selected");
|
||||||
|
const options = dropdown.querySelectorAll(".custom-dropdown-option");
|
||||||
|
|
||||||
|
options.forEach((opt) => {
|
||||||
|
const optValue = opt.getAttribute("data-value");
|
||||||
|
if (optValue === value) {
|
||||||
|
opt.classList.add("selected");
|
||||||
|
if (selectedText) selectedText.textContent = opt.textContent;
|
||||||
|
} else {
|
||||||
|
opt.classList.remove("selected");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function scrollTreeItemIntoView(element, alignToTop) {
|
function scrollTreeItemIntoView(element, alignToTop) {
|
||||||
if (!element) return;
|
if (!element) return;
|
||||||
const scrollContainer = document.getElementById("sidebar-panel-vaults");
|
const scrollContainer = document.getElementById("sidebar-panel-vaults");
|
||||||
|
|||||||
@ -375,7 +375,7 @@
|
|||||||
<h2>Derniers fichiers ouverts</h2>
|
<h2>Derniers fichiers ouverts</h2>
|
||||||
<span id="dashboard-count" class="dashboard-badge"></span>
|
<span id="dashboard-count" class="dashboard-badge"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="dashboard-actions">
|
<div class="dashboard-actions hidden">
|
||||||
<select id="dashboard-vault-filter" class="dashboard-filter" aria-label="Filtrer par vault">
|
<select id="dashboard-vault-filter" class="dashboard-filter" aria-label="Filtrer par vault">
|
||||||
<option value="all">Tous les vaults</option>
|
<option value="all">Tous les vaults</option>
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user