mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-09-30 19:06:14 +00:00

* chore: enable calendar view * chore: update database group listener * refactor: remove board data controller * refactor: remove group backend service * refactor: remove calendar controller * chore: create default calendar setting * chore: send calednar setting notifications * refactor: rename the card in kanban board, prepare to reuse in calendar * refactor: support custom card cell * chore: return calendar events * refactor: remove groupId in card, make card more generic * chore: display cell * chore: display three cards in calendar * chore: create calendar card * refactor: create row with data * chore: support create event * ci: fix tauri build * chore: disable create calendar
58 lines
2.0 KiB
Rust
58 lines
2.0 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,
|
|
|
|
DidArrangeCalendarWithNewField = 82,
|
|
}
|
|
|
|
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)
|
|
}
|