pub enum TaskFilter {
All,
Date(NaiveDate),
Incomplete,
ByIds(Vec<i32>),
ByTag(String),
ByTags(Vec<String>),
}Expand description
Filtering criteria for task queries.
use kasl::libs::task::TaskFilter;
use chrono::Local;
let all_tasks_filter = TaskFilter::All;
let today = Local::now().date_naive();
let today_filter = TaskFilter::Date(today);
let incomplete_filter = TaskFilter::Incomplete;
let specific_filter = TaskFilter::ByIds(vec![1, 2, 3]);
let tagged_filter = TaskFilter::ByTag("urgent".to_string());
let multi_tagged_filter = TaskFilter::ByTags(vec![
"frontend".to_string(),
"javascript".to_string()
]);Variants§
All
Every task, no filtering.
Date(NaiveDate)
Tasks whose timestamp falls on the given local date.
use kasl::libs::task::TaskFilter;
use chrono::{Local, NaiveDate};
let today = Local::now().date_naive();
let filter = TaskFilter::Date(today);Incomplete
Tasks below 100% done; completeness: None counts as incomplete.
use kasl::libs::task::TaskFilter;
let incomplete_filter = TaskFilter::Incomplete;
// Returns tasks with completeness: None, Some(0), Some(50), etc.
// Excludes tasks with completeness: Some(100)ByIds(Vec<i32>)
Tasks with the given database ids.
use kasl::libs::task::TaskFilter;
let specific_tasks = TaskFilter::ByIds(vec![1, 5, 10, 15]);ByTag(String)
Tasks carrying the tag (name matched case-sensitively).
use kasl::libs::task::TaskFilter;
let urgent_filter = TaskFilter::ByTag("urgent".to_string());ByTags(Vec<String>)
Tasks carrying ALL of the tags - intersection, not union.
use kasl::libs::task::TaskFilter;
let complex_filter = TaskFilter::ByTags(vec![
"frontend".to_string(),
"urgent".to_string(),
"javascript".to_string()
]);Trait Implementations§
Source§impl Clone for TaskFilter
impl Clone for TaskFilter
Source§fn clone(&self) -> TaskFilter
fn clone(&self) -> TaskFilter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TaskFilter
impl RefUnwindSafe for TaskFilter
impl Send for TaskFilter
impl Sync for TaskFilter
impl Unpin for TaskFilter
impl UnsafeUnpin for TaskFilter
impl UnwindSafe for TaskFilter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more