fix: mise a jour legacy.js + app.js pour les nouveaux IDs rb-* (barre flottante)
This commit is contained in:
+21
-13
@@ -4896,25 +4896,29 @@
|
|||||||
function initSearch() {
|
function initSearch() {
|
||||||
const input = document.getElementById("search-input");
|
const input = document.getElementById("search-input");
|
||||||
if (!input) return;
|
if (!input) return;
|
||||||
const caseBtn = document.getElementById("search-case-btn");
|
const caseBtn = document.getElementById("rb-case");
|
||||||
const wordBtn = document.getElementById("search-word-btn");
|
const wordBtn = document.getElementById("rb-word");
|
||||||
const regexBtn = document.getElementById("search-regex-btn");
|
const regexBtn = document.getElementById("rb-regex");
|
||||||
const filterBtn = document.getElementById("search-filter-btn");
|
const filterBtn = document.getElementById("search-filter-btn");
|
||||||
const clearBtn = document.getElementById("search-clear-btn");
|
const clearBtn = document.getElementById("search-clear-btn");
|
||||||
const filterRow = document.getElementById("search-filter-row");
|
const filterRow = document.getElementById("search-filter-row");
|
||||||
const prevBtn = document.getElementById("search-prev-btn");
|
const prevBtn = document.getElementById("rb-prev");
|
||||||
const nextBtn = document.getElementById("search-next-btn");
|
const nextBtn = document.getElementById("rb-next");
|
||||||
const countEl = document.getElementById("search-match-count");
|
const countEl = document.getElementById("rb-count");
|
||||||
|
const resultsBar = document.getElementById("results-bar");
|
||||||
|
|
||||||
|
function _showResultsBar() { if (resultsBar) resultsBar.style.display = 'flex'; }
|
||||||
|
function _hideResultsBar() { if (resultsBar) resultsBar.style.display = 'none'; }
|
||||||
|
|
||||||
function _updateToggleUI() {
|
function _updateToggleUI() {
|
||||||
caseBtn.classList.toggle("active", searchCaseSensitive);
|
if (caseBtn) caseBtn.classList.toggle("active", searchCaseSensitive);
|
||||||
wordBtn.classList.toggle("active", searchWholeWord);
|
if (wordBtn) wordBtn.classList.toggle("active", searchWholeWord);
|
||||||
regexBtn.classList.toggle("active", searchRegex);
|
if (regexBtn) regexBtn.classList.toggle("active", searchRegex);
|
||||||
filterBtn.classList.toggle("active", searchFilterVisible);
|
if (filterBtn) filterBtn.classList.toggle("active", searchFilterVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toggle buttons
|
// Toggle buttons
|
||||||
caseBtn.addEventListener("click", () => { searchCaseSensitive = !searchCaseSensitive; _updateToggleUI(); _research(); });
|
if (caseBtn) caseBtn.addEventListener("click", () => { searchCaseSensitive = !searchCaseSensitive; _updateToggleUI(); _research(); });
|
||||||
if (wordBtn) wordBtn.addEventListener("click", () => { searchWholeWord = !searchWholeWord; _updateToggleUI(); _research(); });
|
if (wordBtn) wordBtn.addEventListener("click", () => { searchWholeWord = !searchWholeWord; _updateToggleUI(); _research(); });
|
||||||
if (regexBtn) regexBtn.addEventListener("click", () => { searchRegex = !searchRegex; _updateToggleUI(); _research(); });
|
if (regexBtn) regexBtn.addEventListener("click", () => { searchRegex = !searchRegex; _updateToggleUI(); _research(); });
|
||||||
if (filterBtn) filterBtn.addEventListener("click", () => { searchFilterVisible = !searchFilterVisible; if (filterRow) filterRow.style.display = searchFilterVisible ? "flex" : "none"; _updateToggleUI(); });
|
if (filterBtn) filterBtn.addEventListener("click", () => { searchFilterVisible = !searchFilterVisible; if (filterRow) filterRow.style.display = searchFilterVisible ? "flex" : "none"; _updateToggleUI(); });
|
||||||
@@ -4930,7 +4934,7 @@
|
|||||||
if (_searchResultIdx >= 0 && _searchResultIdx < _searchResultItems.length) {
|
if (_searchResultIdx >= 0 && _searchResultIdx < _searchResultItems.length) {
|
||||||
_searchResultItems[_searchResultIdx].scrollIntoView({ block: "nearest", behavior: "smooth" });
|
_searchResultItems[_searchResultIdx].scrollIntoView({ block: "nearest", behavior: "smooth" });
|
||||||
}
|
}
|
||||||
const countEl = document.getElementById("search-match-count");
|
const countEl = document.getElementById("rb-count");
|
||||||
if (countEl) countEl.textContent = _searchResultIdx >= 0 ? `${_searchResultIdx + 1}/${_searchResultItems.length}` : `0/${_searchResultItems.length}`;
|
if (countEl) countEl.textContent = _searchResultIdx >= 0 ? `${_searchResultIdx + 1}/${_searchResultItems.length}` : `0/${_searchResultItems.length}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4938,6 +4942,7 @@
|
|||||||
_searchResultItems = Array.from(document.querySelectorAll(".search-result-item"));
|
_searchResultItems = Array.from(document.querySelectorAll(".search-result-item"));
|
||||||
_searchResultIdx = _searchResultItems.length > 0 ? 0 : -1;
|
_searchResultIdx = _searchResultItems.length > 0 ? 0 : -1;
|
||||||
_updateResultHighlight();
|
_updateResultHighlight();
|
||||||
|
if (_searchResultItems.length > 0) _showResultsBar(); else _hideResultsBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
window.navigateSearchResults = function(delta) {
|
window.navigateSearchResults = function(delta) {
|
||||||
@@ -5259,8 +5264,11 @@
|
|||||||
area.innerHTML = "";
|
area.innerHTML = "";
|
||||||
|
|
||||||
// Update match counter
|
// Update match counter
|
||||||
const countEl = document.getElementById("search-match-count");
|
const countEl = document.getElementById("rb-count");
|
||||||
if (countEl) countEl.textContent = `${data.total > 0 ? "1" : "0"}/${data.total}`;
|
if (countEl) countEl.textContent = `${data.total > 0 ? "1" : "0"}/${data.total}`;
|
||||||
|
// Show floating results bar
|
||||||
|
var rb = document.getElementById('results-bar');
|
||||||
|
if (rb) rb.style.display = 'flex';
|
||||||
|
|
||||||
// Header with result count and sort controls
|
// Header with result count and sort controls
|
||||||
const header = el("div", { class: "search-results-header" });
|
const header = el("div", { class: "search-results-header" });
|
||||||
|
|||||||
+18
-12
@@ -77,25 +77,29 @@ function _isInputFocused() {
|
|||||||
function initSearch() {
|
function initSearch() {
|
||||||
const input = document.getElementById("search-input");
|
const input = document.getElementById("search-input");
|
||||||
if (!input) return;
|
if (!input) return;
|
||||||
const caseBtn = document.getElementById("search-case-btn");
|
const caseBtn = document.getElementById("rb-case");
|
||||||
const wordBtn = document.getElementById("search-word-btn");
|
const wordBtn = document.getElementById("rb-word");
|
||||||
const regexBtn = document.getElementById("search-regex-btn");
|
const regexBtn = document.getElementById("rb-regex");
|
||||||
const filterBtn = document.getElementById("search-filter-btn");
|
const filterBtn = document.getElementById("search-filter-btn");
|
||||||
const clearBtn = document.getElementById("search-clear-btn");
|
const clearBtn = document.getElementById("search-clear-btn");
|
||||||
const filterRow = document.getElementById("search-filter-row");
|
const filterRow = document.getElementById("search-filter-row");
|
||||||
const prevBtn = document.getElementById("search-prev-btn");
|
const prevBtn = document.getElementById("rb-prev");
|
||||||
const nextBtn = document.getElementById("search-next-btn");
|
const nextBtn = document.getElementById("rb-next");
|
||||||
const countEl = document.getElementById("search-match-count");
|
const countEl = document.getElementById("rb-count");
|
||||||
|
const resultsBar = document.getElementById("results-bar");
|
||||||
|
|
||||||
|
function _showResultsBar() { if (resultsBar) resultsBar.style.display = 'flex'; }
|
||||||
|
function _hideResultsBar() { if (resultsBar) resultsBar.style.display = 'none'; }
|
||||||
|
|
||||||
function _updateToggleUI() {
|
function _updateToggleUI() {
|
||||||
caseBtn.classList.toggle("active", state.searchCaseSensitive);
|
if (caseBtn) caseBtn.classList.toggle("active", state.searchCaseSensitive);
|
||||||
wordBtn.classList.toggle("active", state.searchWholeWord);
|
if (wordBtn) wordBtn.classList.toggle("active", state.searchWholeWord);
|
||||||
regexBtn.classList.toggle("active", state.searchRegex);
|
if (regexBtn) regexBtn.classList.toggle("active", state.searchRegex);
|
||||||
filterBtn.classList.toggle("active", state.searchFilterVisible);
|
if (filterBtn) filterBtn.classList.toggle("active", state.searchFilterVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toggle buttons
|
// Toggle buttons
|
||||||
caseBtn.addEventListener("click", () => { state.searchCaseSensitive = !state.searchCaseSensitive; _updateToggleUI(); _research(); });
|
if (caseBtn) caseBtn.addEventListener("click", () => { state.searchCaseSensitive = !state.searchCaseSensitive; _updateToggleUI(); _research(); });
|
||||||
if (wordBtn) wordBtn.addEventListener("click", () => { state.searchWholeWord = !state.searchWholeWord; _updateToggleUI(); _research(); });
|
if (wordBtn) wordBtn.addEventListener("click", () => { state.searchWholeWord = !state.searchWholeWord; _updateToggleUI(); _research(); });
|
||||||
if (regexBtn) regexBtn.addEventListener("click", () => { state.searchRegex = !state.searchRegex; _updateToggleUI(); _research(); });
|
if (regexBtn) regexBtn.addEventListener("click", () => { state.searchRegex = !state.searchRegex; _updateToggleUI(); _research(); });
|
||||||
if (filterBtn) filterBtn.addEventListener("click", () => { state.searchFilterVisible = !state.searchFilterVisible; if (filterRow) filterRow.style.display = state.searchFilterVisible ? "flex" : "none"; _updateToggleUI(); });
|
if (filterBtn) filterBtn.addEventListener("click", () => { state.searchFilterVisible = !state.searchFilterVisible; if (filterRow) filterRow.style.display = state.searchFilterVisible ? "flex" : "none"; _updateToggleUI(); });
|
||||||
@@ -111,7 +115,7 @@ function initSearch() {
|
|||||||
if (_searchResultIdx >= 0 && _searchResultIdx < _searchResultItems.length) {
|
if (_searchResultIdx >= 0 && _searchResultIdx < _searchResultItems.length) {
|
||||||
_searchResultItems[_searchResultIdx].scrollIntoView({ block: "nearest", behavior: "smooth" });
|
_searchResultItems[_searchResultIdx].scrollIntoView({ block: "nearest", behavior: "smooth" });
|
||||||
}
|
}
|
||||||
const countEl = document.getElementById("search-match-count");
|
const countEl = document.getElementById("rb-count");
|
||||||
if (countEl) countEl.textContent = _searchResultIdx >= 0 ? `${_searchResultIdx + 1}/${_searchResultItems.length}` : `0/${_searchResultItems.length}`;
|
if (countEl) countEl.textContent = _searchResultIdx >= 0 ? `${_searchResultIdx + 1}/${_searchResultItems.length}` : `0/${_searchResultItems.length}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,6 +123,7 @@ function initSearch() {
|
|||||||
_searchResultItems = Array.from(document.querySelectorAll(".search-result-item"));
|
_searchResultItems = Array.from(document.querySelectorAll(".search-result-item"));
|
||||||
_searchResultIdx = _searchResultItems.length > 0 ? 0 : -1;
|
_searchResultIdx = _searchResultItems.length > 0 ? 0 : -1;
|
||||||
_updateResultHighlight();
|
_updateResultHighlight();
|
||||||
|
if (_searchResultItems.length > 0) _showResultsBar(); else _hideResultsBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
window.navigateSearchResults = function(delta) {
|
window.navigateSearchResults = function(delta) {
|
||||||
@@ -269,6 +274,7 @@ function initSearch() {
|
|||||||
state.searchWholeWord = false;
|
state.searchWholeWord = false;
|
||||||
state.searchRegex = false;
|
state.searchRegex = false;
|
||||||
_updateToggleUI();
|
_updateToggleUI();
|
||||||
|
_hideResultsBar();
|
||||||
SearchChips.clear();
|
SearchChips.clear();
|
||||||
AutocompleteDropdown.hide();
|
AutocompleteDropdown.hide();
|
||||||
showWelcome();
|
showWelcome();
|
||||||
|
|||||||
Reference in New Issue
Block a user