From 09c1bd78cd883675f162d4e2d54fca325b6c4ab9 Mon Sep 17 00:00:00 2001 From: Will Miao Date: Sun, 4 Jan 2026 19:12:15 +0800 Subject: [PATCH] feat: Add and hide loading indicators for tag operations. Fixes #755 --- static/js/api/baseModelApi.js | 3 +++ static/js/managers/BulkManager.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/static/js/api/baseModelApi.js b/static/js/api/baseModelApi.js index 4654d0e2..c8624d73 100644 --- a/static/js/api/baseModelApi.js +++ b/static/js/api/baseModelApi.js @@ -321,6 +321,7 @@ export class BaseModelApiClient { async addTags(filePath, data) { try { + state.loadingManager.showSimpleLoading('Adding tags...'); const response = await fetch(this.apiConfig.endpoints.addTags, { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -344,6 +345,8 @@ export class BaseModelApiClient { } catch (error) { console.error('Error adding tags:', error); throw error; + } finally { + state.loadingManager.hide(); } } diff --git a/static/js/managers/BulkManager.js b/static/js/managers/BulkManager.js index 06156400..ed307b0f 100644 --- a/static/js/managers/BulkManager.js +++ b/static/js/managers/BulkManager.js @@ -1026,6 +1026,9 @@ export class BulkManager { console.error('Error during bulk tag operation:', error); const toastKey = mode === 'replace' ? 'toast.models.bulkTagsReplaceFailed' : 'toast.models.bulkTagsAddFailed'; showToast(toastKey, {}, 'error'); + } finally { + state.loadingManager.hide(); + state.loadingManager.restoreProgressBar(); } }