mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-16 20:07:49 +01:00
enh: sync directory
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
addFileToKnowledgeById,
|
||||
getKnowledgeById,
|
||||
removeFileFromKnowledgeById,
|
||||
resetKnowledgeById,
|
||||
updateFileFromKnowledgeById,
|
||||
updateKnowledgeById
|
||||
} from '$lib/apis/knowledge';
|
||||
@@ -70,10 +71,12 @@
|
||||
let selectedFileId = null;
|
||||
|
||||
$: if (selectedFileId) {
|
||||
const file = knowledge.files.find((file) => file.id === selectedFileId);
|
||||
const file = (knowledge?.files ?? []).find((file) => file.id === selectedFileId);
|
||||
if (file) {
|
||||
file.data = file.data ?? { content: '' };
|
||||
selectedFile = file;
|
||||
} else {
|
||||
selectedFile = null;
|
||||
}
|
||||
} else {
|
||||
selectedFile = null;
|
||||
@@ -130,6 +133,9 @@
|
||||
// Get directory handle through picker
|
||||
const dirHandle = await window.showDirectoryPicker();
|
||||
|
||||
console.log(typeof dirHandle);
|
||||
console.log(dirHandle);
|
||||
|
||||
let totalFiles = 0;
|
||||
let uploadedFiles = 0;
|
||||
|
||||
@@ -196,8 +202,18 @@
|
||||
};
|
||||
|
||||
// Helper function to maintain file paths within zip
|
||||
const getRelativePath = (fullPath, basePath) => {
|
||||
return fullPath.substring(basePath.length + 1);
|
||||
const syncDirectoryHandler = async () => {
|
||||
const res = await resetKnowledgeById(localStorage.token, id).catch((e) => {
|
||||
toast.error(e);
|
||||
});
|
||||
|
||||
if (res) {
|
||||
knowledge = res;
|
||||
toast.success($i18n.t('Knowledge reset successfully.'));
|
||||
|
||||
// Upload directory
|
||||
uploadDirectoryHandler();
|
||||
}
|
||||
};
|
||||
|
||||
const addFileHandler = async (fileId) => {
|
||||
@@ -501,6 +517,9 @@
|
||||
document.getElementById('files-input').click();
|
||||
}
|
||||
}}
|
||||
on:sync={(e) => {
|
||||
syncDirectoryHandler();
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user