feat(lora-pool): add folder filtering and preview tooltip enhancements

- Add include/exclude folder modals for advanced filtering
- Implement folder tree search with auto-expand functionality
- Add hover tooltip to preview header showing matching LoRA thumbnails
- Format match count with locale string for better readability
- Prevent event propagation on refresh button click
- Improve folder tree component with expand/collapse controls
This commit is contained in:
Will Miao
2026-01-12 10:08:16 +08:00
parent 9719dd4d07
commit 65cede7335
10 changed files with 1070 additions and 437 deletions

View File

@@ -47,6 +47,24 @@
@close="modalState.closeModal"
@update:selected="state.excludeTags.value = $event"
/>
<FoldersModal
:visible="modalState.isModalOpen('includeFolders')"
:folders="state.folderTree.value"
:selected="state.includeFolders.value"
variant="include"
@close="modalState.closeModal"
@update:selected="state.includeFolders.value = $event"
/>
<FoldersModal
:visible="modalState.isModalOpen('excludeFolders')"
:folders="state.folderTree.value"
:selected="state.excludeFolders.value"
variant="exclude"
@close="modalState.closeModal"
@update:selected="state.excludeFolders.value = $event"
/>
</div>
</template>
@@ -55,6 +73,7 @@ import { onMounted } from 'vue'
import LoraPoolSummaryView from './lora-pool/LoraPoolSummaryView.vue'
import BaseModelModal from './lora-pool/modals/BaseModelModal.vue'
import TagsModal from './lora-pool/modals/TagsModal.vue'
import FoldersModal from './lora-pool/modals/FoldersModal.vue'
import { useLoraPoolState } from '../composables/useLoraPoolState'
import { useModalState, type ModalType } from '../composables/useModalState'
import type { ComponentWidget, LoraPoolConfig, LegacyLoraPoolConfig } from '../composables/types'