Skip to content

Commit f5712e0

Browse files
committed
fix: add DatePicker support for custom Date/Datetime fields in UniInput
Fixes #2669 Custom Date and Datetime fields on the new ticket form were rendering as plain text inputs instead of proper DatePicker/DateTimePicker components. Changes: - Import DatePicker and DateTimePicker from frappe-ui - Add handling for 'Date' fieldtype to render DatePicker component - Add handling for 'Datetime' fieldtype to render DateTimePicker component - Add date formatting in transValue for proper display
1 parent 8827be4 commit f5712e0

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

desk/src/components/UniInput.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import { Autocomplete, Link } from "@/components";
2828
import { APIOptions, Field } from "@/types";
2929
import { parseApiOptions } from "@/utils";
30-
import { createResource, FormControl } from "frappe-ui";
30+
import { createResource, DatePicker, DateTimePicker, dayjs, FormControl } from "frappe-ui";
3131
import { computed, h } from "vue";
3232
3333
type Value = string | number | boolean;
@@ -81,6 +81,8 @@ const component = computed(() => {
8181
],
8282
size: "sm",
8383
});
84+
} else if (["Date", "Datetime"].includes(props.field.fieldtype)) {
85+
return h(props.field.fieldtype === "Date" ? DatePicker : DateTimePicker, {});
8486
} else {
8587
return h(FormControl, {
8688
debounce: 500,
@@ -99,6 +101,8 @@ const apiOptions = createResource({
99101
const transValue = computed(() => {
100102
if (props.field.fieldtype === "Check") {
101103
return props.value ? "Yes" : "No";
104+
} else if (props.field.fieldtype === "Date" && props.value) {
105+
return dayjs(props.value).format(window.date_format.toUpperCase());
102106
}
103107
return props.value;
104108
});

0 commit comments

Comments
 (0)