mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-09 21:29:11 +00:00
Enable deleting all indexed desktop files from Khoj via Desktop app
This commit is contained in:
@@ -96,6 +96,9 @@
|
|||||||
<div class="card-description-row">
|
<div class="card-description-row">
|
||||||
<button id="sync-force" class="sync-data">💾 Save All</button>
|
<button id="sync-force" class="sync-data">💾 Save All</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-description-row">
|
||||||
|
<button id="delete-all" class="sync-data">🗑️ Delete All</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="loading-bar" style="display: none;"></div>
|
<div id="loading-bar" style="display: none;"></div>
|
||||||
<div class="card-description-row">
|
<div class="card-description-row">
|
||||||
|
|||||||
@@ -317,6 +317,19 @@ async function syncData (regenerate = false) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function deleteAllFiles () {
|
||||||
|
try {
|
||||||
|
store.set('files', []);
|
||||||
|
store.set('folders', []);
|
||||||
|
pushDataToKhoj(true);
|
||||||
|
const date = new Date();
|
||||||
|
console.log('Pushing data to Khoj at: ', date);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
let firstRun = true;
|
let firstRun = true;
|
||||||
let win = null;
|
let win = null;
|
||||||
const createWindow = (tab = 'chat.html') => {
|
const createWindow = (tab = 'chat.html') => {
|
||||||
@@ -397,6 +410,7 @@ app.whenReady().then(() => {
|
|||||||
ipcMain.handle('syncData', (event, regenerate) => {
|
ipcMain.handle('syncData', (event, regenerate) => {
|
||||||
syncData(regenerate);
|
syncData(regenerate);
|
||||||
});
|
});
|
||||||
|
ipcMain.handle('deleteAllFiles', deleteAllFiles);
|
||||||
|
|
||||||
createWindow()
|
createWindow()
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,8 @@ contextBridge.exposeInMainWorld('hostURLAPI', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('syncDataAPI', {
|
contextBridge.exposeInMainWorld('syncDataAPI', {
|
||||||
syncData: (regenerate) => ipcRenderer.invoke('syncData', regenerate)
|
syncData: (regenerate) => ipcRenderer.invoke('syncData', regenerate),
|
||||||
|
deleteAllFiles: () => ipcRenderer.invoke('deleteAllFiles')
|
||||||
})
|
})
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('tokenAPI', {
|
contextBridge.exposeInMainWorld('tokenAPI', {
|
||||||
|
|||||||
@@ -206,3 +206,9 @@ syncForceButton.addEventListener('click', async () => {
|
|||||||
loadingBar.style.display = 'block';
|
loadingBar.style.display = 'block';
|
||||||
await window.syncDataAPI.syncData(true);
|
await window.syncDataAPI.syncData(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const deleteAllButton = document.getElementById('delete-all');
|
||||||
|
deleteAllButton.addEventListener('click', async () => {
|
||||||
|
loadingBar.style.display = 'block';
|
||||||
|
await window.syncDataAPI.deleteAllFiles();
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user