mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-26 07:35:44 -03:00
feat(import): add import-only option for recipes without downloading missing LoRAs
Add dual-button design in recipe import flow: - Details step: [Import Recipe Only] [Import & Download] - Location step: [Back] [Import & Download] (removed redundant Import Only) Changes: - templates/components/import_modal.html: Add secondary button for import-only - static/js/managers/ImportManager.js: Add saveRecipeOnlyFromDetails() method - static/js/managers/import/RecipeDataManager.js: Update button state management - static/js/managers/import/DownloadManager.js: Support skipDownload flag - locales/*.json: Complete all translation TODOs Closes #868
This commit is contained in:
@@ -9,7 +9,7 @@ export class DownloadManager {
|
||||
this.importManager = importManager;
|
||||
}
|
||||
|
||||
async saveRecipe() {
|
||||
async saveRecipe(skipDownload = false) {
|
||||
// Check if we're in download-only mode (for existing recipe)
|
||||
const isDownloadOnly = !!this.importManager.recipeId;
|
||||
|
||||
@@ -20,7 +20,10 @@ export class DownloadManager {
|
||||
|
||||
try {
|
||||
// Show progress indicator
|
||||
this.importManager.loadingManager.showSimpleLoading(isDownloadOnly ? translate('recipes.controls.import.downloadingLoras', {}, 'Downloading LoRAs...') : translate('recipes.controls.import.savingRecipe', {}, 'Saving recipe...'));
|
||||
const loadingMessage = skipDownload
|
||||
? translate('recipes.controls.import.savingRecipe', {}, 'Saving recipe...')
|
||||
: (isDownloadOnly ? translate('recipes.controls.import.downloadingLoras', {}, 'Downloading LoRAs...') : translate('recipes.controls.import.savingRecipe', {}, 'Saving recipe...'));
|
||||
this.importManager.loadingManager.showSimpleLoading(loadingMessage);
|
||||
|
||||
// Only send the complete recipe to save if not in download-only mode
|
||||
if (!isDownloadOnly) {
|
||||
@@ -98,15 +101,17 @@ export class DownloadManager {
|
||||
}
|
||||
}
|
||||
|
||||
// Check if we need to download LoRAs
|
||||
// Check if we need to download LoRAs (skip if skipDownload is true)
|
||||
let failedDownloads = 0;
|
||||
if (this.importManager.downloadableLoRAs && this.importManager.downloadableLoRAs.length > 0) {
|
||||
if (!skipDownload && this.importManager.downloadableLoRAs && this.importManager.downloadableLoRAs.length > 0) {
|
||||
await this.downloadMissingLoras();
|
||||
}
|
||||
|
||||
// Show success message
|
||||
if (isDownloadOnly) {
|
||||
if (failedDownloads === 0) {
|
||||
if (skipDownload) {
|
||||
showToast('toast.recipes.recipeSaved', {}, 'success');
|
||||
} else if (failedDownloads === 0) {
|
||||
showToast('toast.loras.downloadSuccessful', {}, 'success');
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user