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.