chore: update documentation

This commit is contained in:
Lucas Nogueira
2026-09-22 11:30:47 -03:00
parent d869c162a7
commit a87a3c7d44
104 changed files with 4875 additions and 222 deletions
+7
View File
@@ -4,21 +4,28 @@
use serde::{ser::Serializer, Serialize};
/// Alias for `Result<T, Error>` used throughout this crate.
pub type Result<T> = std::result::Result<T, Error>;
/// Errors that can occur while showing or interacting with a dialog.
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
/// An error forwarded from the Tauri core.
#[error(transparent)]
Tauri(#[from] tauri::Error),
/// An I/O error, for example while resolving a picked path.
#[error(transparent)]
Io(#[from] std::io::Error),
/// Forwarding a request to, or receiving a response from, the mobile plugin failed.
#[cfg(mobile)]
#[error(transparent)]
PluginInvoke(#[from] tauri::plugin::mobile::PluginInvokeError),
/// The folder picker was requested through the `open` command, but folder picking is not implemented on mobile.
#[cfg(mobile)]
#[error("Folder picker is not implemented on mobile")]
FolderPickerNotImplemented,
/// An error forwarded from the `fs` plugin, returned when granting filesystem scope to a picked path fails.
#[error(transparent)]
Fs(#[from] tauri_plugin_fs::Error),
}
+10
View File
@@ -49,19 +49,28 @@ pub use desktop::Dialog;
#[cfg(mobile)]
pub use mobile::Dialog;
/// The preferred mode of the file picker on mobile platforms (iOS and Android), which have
/// distinct file and media pickers. On desktop, this option is ignored.
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "lowercase")]
pub enum PickerMode {
/// Show the generic document picker.
Document,
/// Show the media picker, allowing both images and videos to be selected.
Media,
/// Show the media picker restricted to images.
Image,
/// Show the media picker restricted to videos.
Video,
}
/// The file access mode of the dialog, used to control how a picked file is exposed to the app on iOS.
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "lowercase")]
pub enum FileAccessMode {
/// Copy the picked file into the app's sandbox so it can be freely read, edited or deleted.
Copy,
/// Keep the file at its original location and let the system manage security-scoped access to it.
Scoped,
}
@@ -86,6 +95,7 @@ macro_rules! blocking_fn {
/// Extensions to [`tauri::App`], [`tauri::AppHandle`], [`tauri::WebviewWindow`], [`tauri::Webview`] and [`tauri::Window`] to access the dialog APIs.
pub trait DialogExt<R: Runtime> {
/// Returns the [`Dialog`] instance associated with this app/window.
fn dialog(&self) -> &Dialog<R>;
}
+5
View File
@@ -69,11 +69,16 @@ pub enum MessageDialogButtons {
/// Result of a message dialog
#[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize)]
pub enum MessageDialogResult {
/// The user pressed the `Yes` button.
Yes,
/// The user pressed the `No` button.
No,
/// The user pressed the `Ok` button.
Ok,
/// The user pressed the `Cancel` button, or closed the dialog without pressing a button.
#[default]
Cancel,
/// The user pressed a button with a custom label, holding that label's text.
#[serde(untagged)]
Custom(String),
}