feat: selected items
This commit is contained in:
+19
-8
@@ -913,19 +913,30 @@ function scrollCurrentRowIntoView(pane) {
|
||||
function updatePaneFocusLine(pane) {
|
||||
const model = paneState(pane);
|
||||
const focusLine = document.getElementById(`${pane}-focus-line`);
|
||||
if (!focusLine) {
|
||||
const nameEl = document.getElementById(`${pane}-focus-name`);
|
||||
const selectedEl = document.getElementById(`${pane}-focus-selected`);
|
||||
if (!focusLine || !nameEl || !selectedEl) {
|
||||
return;
|
||||
}
|
||||
let label = "—";
|
||||
if (!Array.isArray(model.visibleItems) || model.currentRowIndex < 0 || model.currentRowIndex >= model.visibleItems.length) {
|
||||
focusLine.textContent = "—";
|
||||
return;
|
||||
label = "—";
|
||||
} else {
|
||||
const item = model.visibleItems[model.currentRowIndex];
|
||||
if (item) {
|
||||
label = item.isParent ? "../" : (item.name || "—");
|
||||
}
|
||||
}
|
||||
const item = model.visibleItems[model.currentRowIndex];
|
||||
if (!item) {
|
||||
focusLine.textContent = "—";
|
||||
return;
|
||||
nameEl.textContent = label;
|
||||
|
||||
const selectedCount = Array.isArray(model.selectedItems) ? model.selectedItems.length : 0;
|
||||
if (selectedCount > 0) {
|
||||
selectedEl.textContent = `Selected: ${selectedCount} ${selectedCount === 1 ? "item" : "items"}`;
|
||||
selectedEl.classList.remove("hidden");
|
||||
} else {
|
||||
selectedEl.textContent = "";
|
||||
selectedEl.classList.add("hidden");
|
||||
}
|
||||
focusLine.textContent = item.isParent ? "../" : (item.name || "—");
|
||||
}
|
||||
|
||||
function renderPaneItems(pane) {
|
||||
|
||||
Reference in New Issue
Block a user