dialog.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. var defaultPathInput = document.getElementById("dialog-default-path");
  2. var filterInput = document.getElementById("dialog-filter");
  3. var multipleInput = document.getElementById("dialog-multiple");
  4. var directoryInput = document.getElementById("dialog-directory");
  5. document.getElementById("open-dialog").addEventListener("click", function () {
  6. window.__TAURI__.dialog
  7. .open({
  8. defaultPath: defaultPathInput.value || null,
  9. filter: filterInput.value || null,
  10. multiple: multipleInput.checked,
  11. directory: directoryInput.checked,
  12. })
  13. .then(function (res) {
  14. console.log(res);
  15. var pathToRead = res;
  16. var isFile = pathToRead.match(/\S+\.\S+$/g);
  17. window.__TAURI__.fs
  18. .readBinaryFile(pathToRead)
  19. .then(function (response) {
  20. if (isFile) {
  21. if (pathToRead.includes(".png") || pathToRead.includes(".jpg")) {
  22. arrayBufferToBase64(new Uint8Array(response), function (base64) {
  23. var src = "data:image/png;base64," + base64;
  24. registerResponse('<img src="' + src + '"></img>');
  25. });
  26. } else {
  27. registerResponse(res);
  28. }
  29. } else {
  30. registerResponse(res);
  31. }
  32. })
  33. .catch(registerResponse(res));
  34. })
  35. .catch(registerResponse);
  36. });
  37. document.getElementById("save-dialog").addEventListener("click", function () {
  38. window.__TAURI__.dialog
  39. .save({
  40. defaultPath: defaultPathInput.value || null,
  41. filter: filterInput.value || null,
  42. })
  43. .then(registerResponse)
  44. .catch(registerResponse);
  45. });