mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-22 07:46:17 -04:00
try to fix share target api
This commit is contained in:
parent
1bb8a63eed
commit
251df2fbff
4 changed files with 128 additions and 60 deletions
|
@ -1618,17 +1618,24 @@ class WebShareTargetUI {
|
|||
console.log('Shared Target Text:', '"' + shareTargetText + '"');
|
||||
Events.fire('activate-paste-mode', {files: [], text: shareTargetText})
|
||||
} else if (share_target_type === "files") {
|
||||
const openRequest = window.indexedDB.open('pairdrop_store')
|
||||
openRequest.onsuccess( db => {
|
||||
let openRequest = window.indexedDB.open('pairdrop_store')
|
||||
openRequest.onsuccess = e => {
|
||||
const db = e.target.result;
|
||||
const tx = db.transaction('share_target_files', 'readwrite');
|
||||
const store = tx.objectStore('share_target_files');
|
||||
const request = store.getAll();
|
||||
request.onsuccess = _ => {
|
||||
Events.fire('activate-paste-mode', {files: request.result, text: ""})
|
||||
const fileObjects = request.result;
|
||||
let filesReceived = [];
|
||||
for (let i=0; i<fileObjects.length; i++) {
|
||||
filesReceived.push(new File([fileObjects[i].buffer], fileObjects[i].name));
|
||||
}
|
||||
console.debug(filesReceived)
|
||||
Events.fire('activate-paste-mode', {files: filesReceived, text: ""})
|
||||
const clearRequest = store.clear()
|
||||
clearRequest.onsuccess = _ => db.close();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
window.history.replaceState({}, "Rewrite URL", '/');
|
||||
}
|
||||
|
@ -1685,7 +1692,7 @@ class PersistentStorage {
|
|||
PersistentStorage.logBrowserNotCapable();
|
||||
return;
|
||||
}
|
||||
const DBOpenRequest = window.indexedDB.open('pairdrop_store', 2);
|
||||
const DBOpenRequest = window.indexedDB.open('pairdrop_store', 3);
|
||||
DBOpenRequest.onerror = (e) => {
|
||||
PersistentStorage.logBrowserNotCapable();
|
||||
console.log('Error initializing database: ');
|
||||
|
@ -1711,7 +1718,10 @@ class PersistentStorage {
|
|||
}
|
||||
|
||||
try {
|
||||
db.createObjectStore('share_target_files');
|
||||
if (db.objectStoreNames.contains('share_target_files')) {
|
||||
db.deleteObjectStore('share_target_files');
|
||||
}
|
||||
db.createObjectStore('share_target_files', {autoIncrement: true});
|
||||
} catch (error) {
|
||||
console.log("Object store named 'share_target_files' already exists")
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue