AppFlowy/frontend/rust-lib/flowy-grid/src/dart_notification.rs

36 lines
940 B
Rust
Raw Normal View History

2022-03-16 13:19:51 +00:00
use dart_notify::DartNotifyBuilder;
use flowy_derive::ProtoBuf_Enum;
const OBSERVABLE_CATEGORY: &str = "Grid";
#[derive(ProtoBuf_Enum, Debug)]
pub enum GridNotification {
Unknown = 0,
2022-03-17 09:25:43 +00:00
GridDidUpdateBlock = 10,
2022-03-17 12:59:21 +00:00
GridDidCreateBlock = 11,
2022-03-16 13:19:51 +00:00
GridDidUpdateCells = 20,
GridDidUpdateFields = 30,
}
impl std::default::Default for GridNotification {
fn default() -> Self {
GridNotification::Unknown
}
}
impl std::convert::From<GridNotification> for i32 {
fn from(notification: GridNotification) -> Self {
notification as i32
}
}
#[tracing::instrument(level = "trace")]
pub fn send_dart_notification(id: &str, ty: GridNotification) -> DartNotifyBuilder {
DartNotifyBuilder::new(id, ty, OBSERVABLE_CATEGORY)
}
#[tracing::instrument(level = "trace")]
pub fn send_anonymous_dart_notification(ty: GridNotification) -> DartNotifyBuilder {
DartNotifyBuilder::new("", ty, OBSERVABLE_CATEGORY)
}