synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
109 lines (108 loc) • 2.8 kB
JavaScript
import { jsx as n, jsxs as c } from "react/jsx-runtime";
import { useMemo as f } from "react";
import { ColumnTypeEnum as d } from "@sage-bionetworks/synapse-types";
import { TextField as v, FormControl as T, Select as x, MenuItem as m } from "@mui/material";
import F from "../../DateTimePicker/DateTimePicker.js";
import s from "dayjs";
import h from "@mui/material/FormHelperText";
import g from "./MultiValueField.js";
import y from "dayjs/plugin/customParseFormat";
s.extend(y);
function P(r) {
const { onChange: l, value: e, disabled: o, SelectProps: a, selectFormHelperText: i } = r;
return /* @__PURE__ */ c(T, { fullWidth: !0, children: [
/* @__PURE__ */ c(
x,
{
...a,
disabled: o,
value: e || "",
onChange: (t) => {
t.target.value == null ? l(void 0) : l(t.target.value);
},
children: [
/* @__PURE__ */ n(m, { value: void 0, children: "" }),
/* @__PURE__ */ n(m, { value: "true", children: "true" }),
/* @__PURE__ */ n(m, { value: "false", children: "false" })
]
}
),
i && /* @__PURE__ */ n(h, { color: "error.main", children: i })
] });
}
function C(r) {
const { onChange: l, value: e = null, disabled: o, TextFieldProps: a } = r, i = f(() => e ? s(e, "x") : null, [e]);
return /* @__PURE__ */ n(
F,
{
value: i,
onChange: (t) => {
t == null ? l(void 0) : l(String(t.valueOf()));
},
disabled: o,
slotProps: {
textField: a
}
}
);
}
function D(r) {
const {
onChange: l,
value: e = null,
columnModel: o,
TextFieldProps: a,
disabled: i
} = r, t = f(() => {
try {
return o.columnType === d.DATE_LIST && Array.isArray(e) ? e.map((u) => s(u, "x").toISOString()) : e;
} catch {
return null;
}
}, [e, o.columnType]);
return /* @__PURE__ */ n(
g,
{
value: t,
onChange: (u) => {
u == null ? l(void 0) : o.columnType === d.DATE_LIST ? l(u.map((p) => s(p).valueOf())) : l(u);
},
columnType: o.columnType,
TextFieldProps: { ...a, disabled: i }
}
);
}
function V(r) {
const { columnModel: l, onChange: e, value: o, disabled: a, TextFieldProps: i } = r, { columnType: t } = l;
return t === d.BOOLEAN ? /* @__PURE__ */ n(
P,
{
...r
}
) : t === d.DATE ? /* @__PURE__ */ n(
C,
{
...r
}
) : t.endsWith("_LIST") ? /* @__PURE__ */ n(
D,
{
...r
}
) : /* @__PURE__ */ n(
v,
{
...i,
type: "text",
value: o || void 0,
onChange: (u) => {
u.target.value == "" ? e(void 0) : e(u.target.value);
},
disabled: a
}
);
}
export {
V as default
};
//# sourceMappingURL=DefaultValueField.js.map