use common::proto::komp_ac::tables_data::RowNavigationMode; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Copy, Default, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "snake_case")] pub enum UnfilteredNavigationMode { Position, #[default] Id, } impl UnfilteredNavigationMode { pub fn parse(value: &str) -> Option { match value { "id" => Some(Self::Id), "position" => Some(Self::Position), _ => None, } } pub fn as_str(self) -> &'static str { match self { Self::Id => "id", Self::Position => "position", } } } impl From for RowNavigationMode { fn from(value: UnfilteredNavigationMode) -> Self { match value { UnfilteredNavigationMode::Id => Self::Id, UnfilteredNavigationMode::Position => Self::Position, } } }