mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
32bd0ffca2
* feat: add flowy-database2 * chore: config type option data * chore: impl type option * feat: config group * fix: group compile * feat: add sort * chore: setting * chore: insert with specific type * chore: custom group * chore: rename any map * chore: use group setting * chore: update * chore: open database event * chore: update database editor * chore: update * chore: update view editor * chore: update * chore: update view editor * chore: sort feat * chore: update handler * chore: update * chore: config handler event * feat: impl handlers * feat: impl handlers * chore: layout setting * feat: impl handlers * chore: remove flowy-folder ref * chore: integrate flowy-database2 * feat: get cell * chore: create database with data * chore: create view * chore: fix dart compile * fix: some bugs * chore: update * chore: merge develop * chore: fix warning * chore: integrate rocksdb * fix: rocksdb compile errros * fix: update cell * chore: update the bundle identifier * fix: create row * fix: switch to field * fix: duplicate grid * test: migrate tests * test: migrate tests * test: update test * test: migrate tests * chore: add patch
56 lines
1.9 KiB
Rust
56 lines
1.9 KiB
Rust
use flowy_derive::ProtoBuf_Enum;
|
|
use flowy_notification::NotificationBuilder;
|
|
const OBSERVABLE_CATEGORY: &str = "Grid";
|
|
|
|
#[derive(ProtoBuf_Enum, Debug)]
|
|
pub enum DatabaseNotification {
|
|
Unknown = 0,
|
|
/// Trigger after inserting/deleting/updating a row
|
|
DidUpdateViewRows = 20,
|
|
/// Trigger when the visibility of the row was changed. For example, updating the filter will trigger the notification
|
|
DidUpdateViewRowsVisibility = 21,
|
|
/// Trigger after inserting/deleting/updating a field
|
|
DidUpdateFields = 22,
|
|
/// Trigger after editing a cell
|
|
DidUpdateCell = 40,
|
|
/// Trigger after editing a field properties including rename,update type option, etc
|
|
DidUpdateField = 50,
|
|
/// Trigger after the number of groups is changed
|
|
DidUpdateGroups = 60,
|
|
/// Trigger after inserting/deleting/updating/moving a row
|
|
DidUpdateGroupRow = 61,
|
|
/// Trigger when setting a new grouping field
|
|
DidGroupByField = 62,
|
|
/// Trigger after inserting/deleting/updating a filter
|
|
DidUpdateFilter = 63,
|
|
/// Trigger after inserting/deleting/updating a sort
|
|
DidUpdateSort = 64,
|
|
/// Trigger after the sort configurations are changed
|
|
DidReorderRows = 65,
|
|
/// Trigger after editing the row that hit the sort rule
|
|
DidReorderSingleRow = 66,
|
|
/// Trigger when the settings of the database are changed
|
|
DidUpdateSettings = 70,
|
|
// Trigger when the layout setting of the database is updated
|
|
DidUpdateLayoutSettings = 80,
|
|
// Trigger when the layout field of the database is changed
|
|
DidSetNewLayoutField = 81,
|
|
}
|
|
|
|
impl std::default::Default for DatabaseNotification {
|
|
fn default() -> Self {
|
|
DatabaseNotification::Unknown
|
|
}
|
|
}
|
|
|
|
impl std::convert::From<DatabaseNotification> for i32 {
|
|
fn from(notification: DatabaseNotification) -> Self {
|
|
notification as i32
|
|
}
|
|
}
|
|
|
|
#[tracing::instrument(level = "trace")]
|
|
pub fn send_notification(id: &str, ty: DatabaseNotification) -> NotificationBuilder {
|
|
NotificationBuilder::new(id, ty, OBSERVABLE_CATEGORY)
|
|
}
|