[pdm-devel] [PATCH yew-comp 1/2] utils/user_panel: factor out epoch_to_input_value helper
Shannon Sterz
s.sterz at proxmox.com
Wed Sep 24 16:51:33 CEST 2025
being able to convert an epoch to a timestamp string that is
compatible with input fields is generally useful. so move it to the
utils module and expose it publicly.
Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
---
src/user_panel.rs | 21 +--------------------
src/utils.rs | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/user_panel.rs b/src/user_panel.rs
index 14c43c4..6e55b63 100644
--- a/src/user_panel.rs
+++ b/src/user_panel.rs
@@ -20,7 +20,7 @@ use pwt::widget::form::{delete_empty_values, Checkbox, Field, FormContext, Input
use pwt::widget::{Button, Dialog, InputPanel, Toolbar};
use crate::percent_encoding::percent_encode_component;
-use crate::utils::render_epoch_short;
+use crate::utils::{epoch_to_input_value, render_epoch_short};
use crate::{
EditWindow, LoadableComponent, LoadableComponentContext, LoadableComponentMaster,
PermissionPanel, RealmSelector, SchemaValidation,
@@ -537,22 +537,3 @@ fn edit_user_input_panel(_form_ctx: &FormContext) -> Html {
.with_large_field(tr!("Comment"), Field::new().name("comment").autofocus(true))
.into()
}
-
-fn epoch_to_input_value(epoch: i64) -> String {
- let date = js_sys::Date::new_0();
- date.set_time((epoch * 1000) as f64);
-
- if date.get_date() == 0 {
- // invalid data (clear field creates this)
- String::new()
- } else {
- format!(
- "{:04}-{:02}-{:02}T{:02}:{:02}",
- date.get_full_year(),
- date.get_month() + 1,
- date.get_date(),
- date.get_hours(),
- date.get_minutes(),
- )
- }
-}
diff --git a/src/utils.rs b/src/utils.rs
index 544ed76..79b7ad7 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -132,6 +132,25 @@ pub fn render_url(url: &str) -> Html {
}
}
+pub fn epoch_to_input_value(epoch: i64) -> String {
+ let date = js_sys::Date::new_0();
+ date.set_time((epoch * 1000) as f64);
+
+ if date.get_date() == 0 {
+ // invalid data (clear field creates this)
+ String::new()
+ } else {
+ format!(
+ "{:04}-{:02}-{:02}T{:02}:{:02}",
+ date.get_full_year(),
+ date.get_month() + 1,
+ date.get_date(),
+ date.get_hours(),
+ date.get_minutes(),
+ )
+ }
+}
+
// todo: we want to use Fn(&str, Option<&str>),
#[allow(clippy::type_complexity)]
static TASK_DESCR_TABLE: Mutex<
--
2.47.3
More information about the pdm-devel
mailing list