|
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
6 | 6 | <title>Project Name</title> |
7 | 7 | <script> |
8 | | - let windowLabelOfListener; |
| 8 | + let windowLabelOfListener, dropMessage, dropProjectMessage, dropMessageOneFile; |
9 | 9 | window.__TAURI__.event.listen('tauri://file-drop', (event) => { |
10 | 10 | __TAURI__.window.appWindow.hide(); |
11 | 11 | if(!event || !event.payload || !event.payload.length || !windowLabelOfListener){ |
|
16 | 16 | pathList: event.payload |
17 | 17 | }); |
18 | 18 | }); |
| 19 | + window.__TAURI__.event.listen('tauri://file-drop-cancelled', (event) => { |
| 20 | + __TAURI__.window.appWindow.hide(); |
| 21 | + }); |
| 22 | + window.__TAURI__.event.listen('tauri://file-drop-hover', (event) => { |
| 23 | + if(!event || !event.payload || !dropProjectMessage || !dropMessage){ |
| 24 | + return; |
| 25 | + } |
| 26 | + if(event.payload.length === 1) { |
| 27 | + window.__TAURI__.fs.readDir(event.payload[0]) |
| 28 | + .then(async ()=>{ |
| 29 | + // if a single folder is present, we treat it as drop project |
| 30 | + document.getElementById("dropMessage").innerText = dropProjectMessage |
| 31 | + .replace("{0}", await window.__TAURI__.path.basename(event.payload[0])); |
| 32 | + }).catch(()=>{ |
| 33 | + document.getElementById("dropMessage").innerText = dropMessageOneFile; |
| 34 | + }) |
| 35 | + } else { |
| 36 | + document.getElementById("dropMessage").innerText = dropMessage; |
| 37 | + } |
| 38 | + }); |
19 | 39 | window.__TAURI__.event.listen("drop-attach-on-window", ({payload})=> { |
20 | 40 | document.getElementById("projectName").innerText = payload.projectName; |
21 | | - document.getElementById("dropMessage").innerText = payload.dropMessage; |
| 41 | + // dropMessage will be set on drag hover events depending on file/files/project |
| 42 | + dropMessage = payload.dropMessage; |
| 43 | + dropProjectMessage = payload.dropProjectMessage; |
| 44 | + dropMessageOneFile = payload.dropMessageOneFile; |
22 | 45 | windowLabelOfListener = payload.windowLabelOfListener; |
23 | 46 | }); |
24 | 47 | window.addEventListener('mouseout', function(event) { |
|
0 commit comments