Solucionados AutoComplete y DatePicker con la nueva SigPro
This commit is contained in:
@@ -69,23 +69,28 @@ export const Datepicker = (props) => {
|
||||
}
|
||||
};
|
||||
|
||||
const displayValue = $(() => {
|
||||
// FIX CRÍTICO: Señal manual y Watch para displayValue
|
||||
const displayValue = $("");
|
||||
|
||||
Watch(() => {
|
||||
const v = val(value);
|
||||
if (!v) return "";
|
||||
if (!v) {
|
||||
displayValue("");
|
||||
return;
|
||||
}
|
||||
|
||||
let text = "";
|
||||
if (typeof v === "string") {
|
||||
if (hour && v.includes("T")) return v.replace("T", " ");
|
||||
return v;
|
||||
text = (hour && v.includes("T")) ? v.replace("T", " ") : v;
|
||||
} else if (v.start && v.end) {
|
||||
const startStr = hour && v.startHour !== undefined ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start;
|
||||
const endStr = hour && v.endHour !== undefined ? `${v.end} ${String(v.endHour).padStart(2, "0")}:00` : v.end;
|
||||
text = `${startStr} - ${endStr}`;
|
||||
} else if (v.start) {
|
||||
const startStr = hour && v.startHour !== undefined ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start;
|
||||
text = `${startStr}...`;
|
||||
}
|
||||
if (v.start && v.end) {
|
||||
const startStr = hour && v.startHour ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start;
|
||||
const endStr = hour && v.endHour ? `${v.end} ${String(v.endHour).padStart(2, "0")}:00` : v.end;
|
||||
return `${startStr} - ${endStr}`;
|
||||
}
|
||||
if (v.start) {
|
||||
const startStr = hour && v.startHour ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start;
|
||||
return `${startStr}...`;
|
||||
}
|
||||
return "";
|
||||
displayValue(text);
|
||||
});
|
||||
|
||||
const move = (m) => {
|
||||
@@ -105,7 +110,7 @@ export const Datepicker = (props) => {
|
||||
type: "range",
|
||||
min: 0,
|
||||
max: 23,
|
||||
value: hVal,
|
||||
value: hVal, // Sincronizado con hVal
|
||||
class: "range range-xs flex-1",
|
||||
oninput: (e) => {
|
||||
const newHour = parseInt(e.target.value);
|
||||
@@ -123,7 +128,7 @@ export const Datepicker = (props) => {
|
||||
Input({
|
||||
label,
|
||||
placeholder: placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha..."),
|
||||
value: displayValue,
|
||||
value: displayValue, // Ahora es una señal que actualizamos manualmente
|
||||
readonly: true,
|
||||
icon: getIcon("icon-[lucide--calendar]"),
|
||||
onclick: (e) => {
|
||||
@@ -243,7 +248,7 @@ export const Datepicker = (props) => {
|
||||
onChange: (newHour) => {
|
||||
startHour(newHour);
|
||||
const currentVal = val(value);
|
||||
if (currentVal && typeof currentVal === "string" && currentVal.includes("-")) {
|
||||
if (currentVal && typeof currentVal === "string") {
|
||||
value(currentVal.split("T")[0] + "T" + String(newHour).padStart(2, "0") + ":00:00");
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user