mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-11-23 05:40:37 +00:00
* 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
57 lines
1.6 KiB
Rust
57 lines
1.6 KiB
Rust
use crate::entities::{
|
|
CalendarLayoutSettingPB, DatabaseLayoutPB, DatabaseViewSettingPB, FilterPB, GroupSettingPB,
|
|
LayoutSettingPB, SortPB,
|
|
};
|
|
use crate::services::filter::Filter;
|
|
use crate::services::group::GroupSetting;
|
|
use crate::services::setting::CalendarLayoutSetting;
|
|
use crate::services::sort::Sort;
|
|
use collab_database::views::DatabaseView;
|
|
|
|
pub(crate) fn database_view_setting_pb_from_view(view: DatabaseView) -> DatabaseViewSettingPB {
|
|
let layout_setting = if let Some(layout_setting) = view.layout_settings.get(&view.layout) {
|
|
let calendar_setting =
|
|
CalendarLayoutSettingPB::from(CalendarLayoutSetting::from(layout_setting.clone()));
|
|
LayoutSettingPB {
|
|
calendar: Some(calendar_setting),
|
|
}
|
|
} else {
|
|
LayoutSettingPB::default()
|
|
};
|
|
|
|
let current_layout: DatabaseLayoutPB = view.layout.into();
|
|
let filters = view
|
|
.filters
|
|
.into_iter()
|
|
.flat_map(|value| match Filter::try_from(value) {
|
|
Ok(filter) => Some(FilterPB::from(&filter)),
|
|
Err(_) => None,
|
|
})
|
|
.collect::<Vec<FilterPB>>();
|
|
let group_settings = view
|
|
.group_settings
|
|
.into_iter()
|
|
.flat_map(|value| match GroupSetting::try_from(value) {
|
|
Ok(setting) => Some(GroupSettingPB::from(&setting)),
|
|
Err(_) => None,
|
|
})
|
|
.collect::<Vec<GroupSettingPB>>();
|
|
|
|
let sorts = view
|
|
.sorts
|
|
.into_iter()
|
|
.flat_map(|value| match Sort::try_from(value) {
|
|
Ok(sort) => Some(SortPB::from(&sort)),
|
|
Err(_) => None,
|
|
})
|
|
.collect::<Vec<SortPB>>();
|
|
|
|
DatabaseViewSettingPB {
|
|
current_layout,
|
|
filters: filters.into(),
|
|
group_settings: group_settings.into(),
|
|
sorts: sorts.into(),
|
|
layout_setting,
|
|
}
|
|
}
|