mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-21 21:22:11 -03:00
Enhance folder tag visibility on click; streamline refresh logic in download manager
This commit is contained in:
@@ -86,10 +86,13 @@ function updateFolderTags(folders) {
|
||||
// Update the container
|
||||
folderTagsContainer.innerHTML = tagsHTML;
|
||||
|
||||
// Reattach click handlers
|
||||
// Reattach click handlers and ensure the active tag is visible
|
||||
const tags = folderTagsContainer.querySelectorAll('.tag');
|
||||
tags.forEach(tag => {
|
||||
tag.addEventListener('click', toggleFolder);
|
||||
if (tag.dataset.folder === currentFolder) {
|
||||
tag.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -271,13 +274,11 @@ export async function resetAndReload(boolUpdateFolders = false) {
|
||||
await loadMoreLoras(boolUpdateFolders);
|
||||
}
|
||||
|
||||
export async function refreshLoras(boolShowToast = true) {
|
||||
export async function refreshLoras() {
|
||||
try {
|
||||
state.loadingManager.showSimpleLoading('Refreshing loras...');
|
||||
await resetAndReload(true);
|
||||
if (boolShowToast){
|
||||
showToast('Refresh complete', 'success');
|
||||
}
|
||||
await resetAndReload();
|
||||
showToast('Refresh complete', 'success');
|
||||
} catch (error) {
|
||||
console.error('Refresh failed:', error);
|
||||
showToast('Failed to refresh loras', 'error');
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { modalManager } from './ModalManager.js';
|
||||
import { showToast } from '../utils/uiHelpers.js';
|
||||
import { LoadingManager } from './LoadingManager.js';
|
||||
import { state } from '../state/index.js';
|
||||
import { resetAndReload } from '../api/loraApi.js';
|
||||
|
||||
export class DownloadManager {
|
||||
constructor() {
|
||||
@@ -183,13 +185,13 @@ export class DownloadManager {
|
||||
}
|
||||
|
||||
// Construct relative path
|
||||
let relativePath = '';
|
||||
let targetFolder = '';
|
||||
if (this.selectedFolder) {
|
||||
relativePath = this.selectedFolder;
|
||||
targetFolder = this.selectedFolder;
|
||||
}
|
||||
if (newFolder) {
|
||||
relativePath = relativePath ?
|
||||
`${relativePath}/${newFolder}` : newFolder;
|
||||
targetFolder = targetFolder ?
|
||||
`${targetFolder}/${newFolder}` : newFolder;
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -218,7 +220,7 @@ export class DownloadManager {
|
||||
body: JSON.stringify({
|
||||
download_url: downloadUrl,
|
||||
lora_root: loraRoot,
|
||||
relative_path: relativePath
|
||||
relative_path: targetFolder
|
||||
})
|
||||
});
|
||||
|
||||
@@ -229,8 +231,9 @@ export class DownloadManager {
|
||||
showToast('Download completed successfully', 'success');
|
||||
modalManager.closeModal('downloadModal');
|
||||
|
||||
// Refresh the grid to show new model
|
||||
window.refreshLoras(false);
|
||||
// Update state and trigger reload with folder update
|
||||
state.activeFolder = targetFolder;
|
||||
await resetAndReload(true); // Pass true to update folders
|
||||
|
||||
} catch (error) {
|
||||
showToast(error.message, 'error');
|
||||
|
||||
Reference in New Issue
Block a user