@undermuz/react-json-form
Version:
Generate JSON-based forms with react
42 lines (41 loc) • 1.1 kB
JavaScript
// src/flat-form/form-input/input-select.tsx
import { useMemo } from "react";
import { useJsonFormUi } from "../../contexts/ui.mjs";
import { useJsonFormApi } from "../../contexts/api.mjs";
import { jsx } from "react/jsx-runtime";
var InputAsyncSelect = (props) => {
const Ui = useJsonFormUi();
if (!Ui?.Controls?.Select) {
console.error("No Ui.Controls.Select provided");
return null;
}
const api = useJsonFormApi(props.apiName);
const settings = useMemo(() => {
const _s = props.settings;
return {
..._s,
options: api
};
}, [props.settings, api]);
return /* @__PURE__ */ jsx(Ui.Controls.Select, { ...props, settings });
};
var InputSelect = (props) => {
const Ui = useJsonFormUi();
if (!Ui?.Controls?.Select) {
console.error("No Ui.Controls.Select provided");
return null;
}
if (props?.settings?.useApi) {
return /* @__PURE__ */ jsx(
InputAsyncSelect,
{
...props,
apiName: props.settings.useApi
}
);
}
return /* @__PURE__ */ jsx(Ui.Controls.Select, { ...props });
};
export {
InputSelect
};