[pdm-devel] [PATCH yew-comp 1/7] tasks: make date filter functional
Dominik Csapak
d.csapak at proxmox.com
Mon Jan 20 10:29:51 CET 2025
by converting the strings like '2014-05-01' into epochs by using the
js-sys Date interface.
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/tasks.rs | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/tasks.rs b/src/tasks.rs
index 4ea243f..fa17602 100644
--- a/src/tasks.rs
+++ b/src/tasks.rs
@@ -134,7 +134,27 @@ impl LoadableComponent for ProxmoxTasks {
let store = self.store.clone();
let form_context = self.filter_form_context.read();
- let filter = form_context.get_submit_data();
+ let mut filter = form_context.get_submit_data();
+
+ // Transform Date values
+ if let Some(since) = filter.get("since").and_then(|v| v.as_str()) {
+ let since = js_sys::Date::new(&wasm_bindgen::JsValue::from_str(since));
+ since.set_hours(0);
+ since.set_minutes(0);
+ since.set_seconds(0);
+ let since = (since.get_time() / 1000.0).round() as u64;
+ filter["since"] = since.into();
+ }
+
+ if let Some(until) = filter.get("until").and_then(|v| v.as_str()) {
+ let until = js_sys::Date::new(&wasm_bindgen::JsValue::from_str(until));
+ until.set_hours(23);
+ until.set_minutes(59);
+ until.set_seconds(59);
+ let until = (until.get_time() / 1000.0).round() as u64;
+ filter["until"] = until.into();
+ }
+
Box::pin(async move {
let data = crate::http_get(&path, Some(filter)).await?;
store.write().set_data(data);
--
2.39.5
More information about the pdm-devel
mailing list