Add source popup reload action

This commit is contained in:
2026-08-05 19:44:11 +02:00
parent e172b24474
commit 1f5ab5a8cc
6 changed files with 19 additions and 6 deletions
+6 -2
View File
@@ -34,6 +34,7 @@ const sidebarOverlay = document.querySelector("#sidebarOverlay");
const sourceModal = document.querySelector("#sourceModal");
const sourceTitle = document.querySelector("#sourceTitle");
const sourceList = document.querySelector("#sourceList");
const sourceReloadButton = document.querySelector("#sourceReloadButton");
const sourceCloseButton = document.querySelector("#sourceCloseButton");
const settingsButton = document.querySelector("#settingsButton");
const themeToggle = document.querySelector("#themeToggle");
@@ -190,6 +191,7 @@ loadProductButton.disabled = true;
loadProductButton.title = "Load existing product attribute info.";
loadProductButton.addEventListener("click", loadProductInfoForCurrentProduct);
findSourcesButton.addEventListener("click", findSourcesForCurrentProduct);
sourceReloadButton.addEventListener("click", () => findSourcesForCurrentProduct(true));
getPicturesButton.addEventListener("click", getPicturesForCurrentProduct);
secondaryPanelToggle.addEventListener("click", toggleSecondaryPanel);
mainWorkspaceToggle.addEventListener("click", toggleMainWorkspace);
@@ -700,14 +702,14 @@ function closeSuggestedProducts() {
suggestedList.replaceChildren();
}
async function findSourcesForCurrentProduct() {
async function findSourcesForCurrentProduct(forceRefresh = false) {
if (!manufacturerSelect.value || !currentProduct) {
setTableMessage("Select manufacturer and product first.");
return;
}
const savedDraft = readLocalDraft();
if (savedDraft?.sources) {
if (savedDraft?.sources && !forceRefresh) {
renderSourceCandidates(savedDraft.sources.items || []);
updateFindSourcesButtonState();
sourceTitle.textContent = "Source candidates (cached)";
@@ -717,6 +719,7 @@ async function findSourcesForCurrentProduct() {
const supplierColorGroup = getFirstSupplierColorGroup();
findSourcesButton.disabled = true;
sourceReloadButton.disabled = true;
setButtonLabel(findSourcesButton, "Finding sources...");
try {
@@ -746,6 +749,7 @@ async function findSourcesForCurrentProduct() {
} catch (error) {
setTableMessage(error.message || "Source search failed.");
} finally {
sourceReloadButton.disabled = false;
updateFindSourcesButtonState();
}
}