tawasuyu

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 660Markdown 302TOML 157RON 312382 Definitions

⎇ main widgets/datetime-picker/LEEME.md Markdown · 28 lines · 1.3 KB History raw

chore: refresco desde el monorepo — vello 0.9 / wgpu 29, 120 miembros d251eb32b · Sergio ·

1# llimphi-widget-datetime-picker
2
3*Read this in English: [README.md](README.md).*
4
5Pickers de **fecha** y **hora**.
6
7Los dos tienen la misma forma, que es la de cualquier picker nativo: un
8**disparador** en el formulario, que muestra el valor formateado (o el
9placeholder si no hay) y emite un `Msg` al clickearlo, y un **popup** que el
10host monta en `App::view_overlay`, con scrim que cierra al click-fuera.
11
12El widget **no guarda estado**: el valor, si está abierto y —para la fecha— el
13mes en foco viven en el `Model` del caller. Eso es lo que permite que el mismo
14picker sirva para un formulario, una celda de tabla o un filtro.
15
16El de fecha **compone `llimphi-widget-calendar`**, no reimplementa una grilla:
17hereda de ahí los límites min/max, la selección de rango, el salto de año y el
18mapa de teclas. El de hora es una grilla de horas + una de minutos por paso, sin
19scroll ni estado extra — que es lo que un picker compacto necesita.
20
21Lo propio de este crate es **formatear y parsear**, que es donde un picker se
22vuelve usable o no: `formatear_fecha` / `parsear_fecha` (ISO y día-primero, con
23`-`, `/` o `.`), y `Hora` con `formatear`/`parsear`/`mover`/`al_paso` en 24 h o
24AM/PM. Todo puro y testeable.
25
26---
27
28Parte de **llimphi** — ver [llimphi](../../LEEME.md).

LEEME.md

llimphi-widget-datetime-picker

Read this in English: README.md.

Pickers de fecha y hora.

Los dos tienen la misma forma, que es la de cualquier picker nativo: un disparador en el formulario, que muestra el valor formateado (o el placeholder si no hay) y emite un Msg al clickearlo, y un popup que el host monta en App::view_overlay, con scrim que cierra al click-fuera.

El widget no guarda estado: el valor, si está abierto y —para la fecha— el mes en foco viven en el Model del caller. Eso es lo que permite que el mismo picker sirva para un formulario, una celda de tabla o un filtro.

El de fecha compone llimphi-widget-calendar, no reimplementa una grilla: hereda de ahí los límites min/max, la selección de rango, el salto de año y el mapa de teclas. El de hora es una grilla de horas + una de minutos por paso, sin scroll ni estado extra — que es lo que un picker compacto necesita.

Lo propio de este crate es formatear y parsear, que es donde un picker se vuelve usable o no: formatear_fecha / parsear_fecha (ISO y día-primero, con -, / o .), y Hora con formatear/parsear/mover/al_paso en 24 h o AM/PM. Todo puro y testeable.


Parte de llimphi — ver llimphi.