Fix rangeSpec bug and handle response error in ParameterComponent
This commit is contained in:
parent
035ada860d
commit
9cfbe0f216
6 changed files with 24 additions and 10 deletions
|
|
@ -269,6 +269,9 @@ def run_build_config(
|
||||||
# Allow user to build TemplateField as well
|
# Allow user to build TemplateField as well
|
||||||
# as a dict with the same keys as TemplateField
|
# as a dict with the same keys as TemplateField
|
||||||
field_dict = get_field_dict(field)
|
field_dict = get_field_dict(field)
|
||||||
|
# Let's check if "rangeSpec" is a RangeSpec object
|
||||||
|
if "rangeSpec" in field_dict and isinstance(field_dict["rangeSpec"], RangeSpec):
|
||||||
|
field_dict["rangeSpec"] = field_dict["rangeSpec"].model_dump()
|
||||||
build_config[field_name] = field_dict
|
build_config[field_name] = field_dict
|
||||||
|
|
||||||
return build_config, custom_instance
|
return build_config, custom_instance
|
||||||
|
|
@ -423,9 +426,6 @@ def update_field_dict(
|
||||||
logger.error(f"Error while running update_build_config: {str(exc)}")
|
logger.error(f"Error while running update_build_config: {str(exc)}")
|
||||||
raise UpdateBuildConfigError(f"Error while running update_build_config: {str(exc)}") from exc
|
raise UpdateBuildConfigError(f"Error while running update_build_config: {str(exc)}") from exc
|
||||||
|
|
||||||
# Let's check if "range_spec" is a RangeSpec object
|
|
||||||
if "rangeSpec" in field_dict and isinstance(field_dict["rangeSpec"], RangeSpec):
|
|
||||||
field_dict["rangeSpec"] = field_dict["rangeSpec"].model_dump()
|
|
||||||
return build_config
|
return build_config
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,11 @@ import useAlertStore from "../../../../stores/alertStore";
|
||||||
import useFlowStore from "../../../../stores/flowStore";
|
import useFlowStore from "../../../../stores/flowStore";
|
||||||
import useFlowsManagerStore from "../../../../stores/flowsManagerStore";
|
import useFlowsManagerStore from "../../../../stores/flowsManagerStore";
|
||||||
import { useTypesStore } from "../../../../stores/typesStore";
|
import { useTypesStore } from "../../../../stores/typesStore";
|
||||||
import { APIClassType, ResponseErrorTypeAPI } from "../../../../types/api";
|
import {
|
||||||
|
APIClassType,
|
||||||
|
ResponseErrorDetailAPI,
|
||||||
|
ResponseErrorTypeAPI,
|
||||||
|
} from "../../../../types/api";
|
||||||
import { ParameterComponentType } from "../../../../types/components";
|
import { ParameterComponentType } from "../../../../types/components";
|
||||||
import {
|
import {
|
||||||
handleUpdateValues,
|
handleUpdateValues,
|
||||||
|
|
@ -104,10 +108,11 @@ export default function ParameterComponent({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
let responseError = error as ResponseErrorTypeAPI;
|
let responseError = error as ResponseErrorDetailAPI;
|
||||||
|
|
||||||
setErrorData({
|
setErrorData({
|
||||||
title: "Error while updating the Component",
|
title: "Error while updating the Component",
|
||||||
list: [responseError.response.data.detail.error ?? "Unknown error"],
|
list: [responseError.response.data.detail ?? "Unknown error"],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
|
|
@ -136,10 +141,11 @@ export default function ParameterComponent({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
let responseError = error as ResponseErrorTypeAPI;
|
let responseError = error as ResponseErrorDetailAPI;
|
||||||
|
|
||||||
setErrorData({
|
setErrorData({
|
||||||
title: "Error while updating the Component",
|
title: "Error while updating the Component",
|
||||||
list: [responseError.response.data.detail.error ?? "Unknown error"],
|
list: [responseError.response.data.detail ?? "Unknown error"],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
|
|
|
||||||
|
|
@ -566,6 +566,11 @@ export default function CodeTabsComponent({
|
||||||
<IntComponent
|
<IntComponent
|
||||||
disabled={false}
|
disabled={false}
|
||||||
editNode={true}
|
editNode={true}
|
||||||
|
rangeSpec={
|
||||||
|
node.data.node.template[
|
||||||
|
templateField
|
||||||
|
].rangeSpec
|
||||||
|
}
|
||||||
value={
|
value={
|
||||||
!node.data.node.template[
|
!node.data.node.template[
|
||||||
templateField
|
templateField
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import { Input } from "../ui/input";
|
||||||
export default function IntComponent({
|
export default function IntComponent({
|
||||||
value,
|
value,
|
||||||
onChange,
|
onChange,
|
||||||
|
rangeSpec,
|
||||||
disabled,
|
disabled,
|
||||||
editNode = false,
|
editNode = false,
|
||||||
id = "",
|
id = "",
|
||||||
|
|
@ -32,7 +33,8 @@ export default function IntComponent({
|
||||||
}}
|
}}
|
||||||
type="number"
|
type="number"
|
||||||
step="1"
|
step="1"
|
||||||
min={0}
|
min={rangeSpec?.min ?? min}
|
||||||
|
max={rangeSpec?.max ?? undefined}
|
||||||
onInput={(event: React.ChangeEvent<HTMLInputElement>) => {
|
onInput={(event: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
if (Number(event.target.value) < min) {
|
if (Number(event.target.value) < min) {
|
||||||
event.target.value = min.toString();
|
event.target.value = min.toString();
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ export default function NodeToolbarComponent({
|
||||||
selected &&
|
selected &&
|
||||||
(event.ctrlKey || event.metaKey) &&
|
(event.ctrlKey || event.metaKey) &&
|
||||||
event.shiftKey &&
|
event.shiftKey &&
|
||||||
event.key === "C"
|
event.key === "U"
|
||||||
) {
|
) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
if (hasCode) return setOpenModal((state) => !state);
|
if (hasCode) return setOpenModal((state) => !state);
|
||||||
|
|
|
||||||
|
|
@ -170,6 +170,7 @@ export type RangeSpecType = {
|
||||||
export type IntComponentType = {
|
export type IntComponentType = {
|
||||||
value: string;
|
value: string;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
|
rangeSpec: RangeSpecType;
|
||||||
onChange: (value: string) => void;
|
onChange: (value: string) => void;
|
||||||
editNode?: boolean;
|
editNode?: boolean;
|
||||||
id?: string;
|
id?: string;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue