Closed Dr-Irv closed 1 year ago
date values are sent to the callback as an UTC ISO string (with additionnal tz) that needs to be parsed to a date
from taipy.gui import Gui, State
import pandas as pd
from dateutil import parser
from zoneinfo import ZoneInfo
dr = pd.date_range(start="3/1/2023", periods=10, freq="D")
df = pd.DataFrame(
{"dates": list(dr)}
)
def myedit(state: State, var_name: str, action: str, payload: dict):
val = parser.parse(payload["value"]).astimezone(ZoneInfo(payload["tz"])).replace(tzinfo=None) if payload["col"] == "dates" else payload["value"]
state.df.at[payload["index"], payload["col"]] = val
state.refresh("df")
page = "<|{df}|table|id=df|on_edit=myedit|date_format=dd/MM/yy|>"
if __name__ == "__main__":
Gui(page=page).run()
What would that feature address We are displaying a table that has editable columns that include dates. Right now, if you leave it as a pandas datetime type, it prompts to enter a very long string. In our case, we just want to let the user pick a date.
Description of the ideal solution We'd like it that if someone clicks on a date field in a table, it pops up a date picker.
Caveats Just makes a better user interfacE!
Other options Not sure.
Acceptance Criteria