Open sssaha opened 1 month ago
hi @sssaha It doesn't look like the datetime picker in Mantine supports milliseconds
@sssaha Actually, it looks like it could be supported.
The date is converted to datestring here and it excludes the milliseconds
https://github.com/snehilvj/dash-mantine-components/blob/master/src/ts/utils/dates.ts#L15
// convert to datetime string for dash
export const datetimeToString = (d: DateValue) => {
return d ? dayjs(d).format("YYYY-MM-DD HH:mm:ss") : null;
};
In the DateTimePicker
, when the value
changes, it calls the function above
https://github.com/snehilvj/dash-mantine-components/blob/master/src/ts/components/dates/DateTimePicker.tsx#L69
useDidUpdate(() => {
setDate(stringToDate(value));
}, [value]);
We could probably add a new prop withMilliseconds
and to convert to a datestring with milliseconds. Adding this new prop would make it so it's not a breaking change.
Also on that note - will it be possible to keep the timeformat of the internal timeinput popover to be the same as the defined value format? It is really confusing for the user to have different time format
Also on that note - will it be possible to keep the timeformat of the internal timeinput popover to be the same as the defined value format? It is really confusing for the user to have different time format
Can you elaborate on this? Not exactly sure what you mean. However, if you are referring to the time input component, it’s just an html.Input and currently the format is dependent on the browser. Any additional features like formatting this input would have to be added to the upstream Mantine component. Maybe you could do a feature request there?
I went through the comment in mantine and it seems like this is part of HTML5 and can not be changed. BTW I tested your suggestion for miliseconds and it worked. However - it seems like withseconds = False do not have any impact as I think it only impacts the underlying Time component - not the final value
BTW I tested your suggestion for miliseconds and it worked. However - it seems like withseconds = False do not have any impact as I think it only impacts the underlying Time component - not the final value
Can you say more about this? It could be helpful to provide some code for what you tried and what worked (or didn't). Thanks for looking into this :-)
@AnnMarieW - please allow me some time - let me finish what I am currently stuck at my job and I will post examples and screenshots
@sssaha I think this issue does need more discussion. After giving it some consideration, it may not be good to give the impression that the component can handle milliseconds when the time picker component can only handle seconds.
Still open to exploring alternate solutions, but no rush.
I have a DMC Datetimepicker which in the example is initialized with the current datetime. When done - it retains the milisecond. I also have a button that can then set the time. But doing this way - it seems like the value does not retain the milisecond anymore..
MRE:
During First Load After pressing button