29 lines
1.1 KiB
Rust
29 lines
1.1 KiB
Rust
use std::borrow::Cow;
|
|
use chrono::Utc;
|
|
|
|
use crate::prelude::*;
|
|
|
|
pub type TdFn<'a> = fn((usize, &'a Task)) -> Cow<'a, str>;
|
|
//
|
|
// kind of ugly but don't want to think about it rn too much
|
|
pub fn id <'a> ((idx, _task): (usize, &'a Task)) -> Cow<'a, str> {
|
|
return Cow::Owned(idx.to_string());
|
|
}
|
|
pub fn name <'a> ((_idx, task): (usize, &'a Task)) -> Cow<'a, str> {
|
|
return Cow::Borrowed(&task.name);
|
|
}
|
|
pub fn description <'a> ((_idx, task): (usize, &'a Task)) -> Cow<'a, str> {
|
|
return Cow::Owned(task.description.replace(['\n', '\t', '\r'], " "));
|
|
}
|
|
pub fn expiry <'a> ((_idx, task): (usize, &'a Task)) -> Cow<'a, str> {
|
|
return Cow::Owned(task.expiring_at.map(|e| utils::dt_format(e - Utc::now())).unwrap_or_default());
|
|
}
|
|
pub fn status <'a> ((_idx, task): (usize, &'a Task)) -> Cow<'a, str> {
|
|
return Cow::Owned(String::from("tl"));
|
|
// return Cow::Owned(task.expiring_at.map(|e| e.to_rfc2822()).unwrap_or_default());
|
|
}
|
|
pub fn kind <'a> ((_idx, task): (usize, &'a Task)) -> Cow<'a, str> {
|
|
return Cow::Owned(String::from("kind"));
|
|
// return Cow::Owned(task.expiring_at.map(|e| e.to_rfc2822()).unwrap_or_default());
|
|
}
|