dialog.js 1.4 KB

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