Fix error in GenericNode component
This commit is contained in:
parent
bd86d07881
commit
ad51105546
2 changed files with 17 additions and 11 deletions
|
|
@ -12,10 +12,10 @@ import {
|
||||||
RUN_TIMESTAMP_PREFIX,
|
RUN_TIMESTAMP_PREFIX,
|
||||||
STATUS_BUILD,
|
STATUS_BUILD,
|
||||||
STATUS_BUILDING,
|
STATUS_BUILDING,
|
||||||
priorityFields,
|
|
||||||
} from "../../constants/constants";
|
} from "../../constants/constants";
|
||||||
import { BuildStatus } from "../../constants/enums";
|
import { BuildStatus } from "../../constants/enums";
|
||||||
import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent";
|
import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent";
|
||||||
|
import useAlertStore from "../../stores/alertStore";
|
||||||
import { useDarkStore } from "../../stores/darkStore";
|
import { useDarkStore } from "../../stores/darkStore";
|
||||||
import useFlowStore from "../../stores/flowStore";
|
import useFlowStore from "../../stores/flowStore";
|
||||||
import useFlowsManagerStore from "../../stores/flowsManagerStore";
|
import useFlowsManagerStore from "../../stores/flowsManagerStore";
|
||||||
|
|
@ -24,7 +24,7 @@ import { validationStatusType } from "../../types/components";
|
||||||
import { NodeDataType } from "../../types/flow";
|
import { NodeDataType } from "../../types/flow";
|
||||||
import { handleKeyDown, scapedJSONStringfy } from "../../utils/reactflowUtils";
|
import { handleKeyDown, scapedJSONStringfy } from "../../utils/reactflowUtils";
|
||||||
import { nodeColors, nodeIconsLucide } from "../../utils/styleUtils";
|
import { nodeColors, nodeIconsLucide } from "../../utils/styleUtils";
|
||||||
import { classNames, cn, getFieldTitle } from "../../utils/utils";
|
import { classNames, cn, getFieldTitle, sortFields } from "../../utils/utils";
|
||||||
import ParameterComponent from "./components/parameterComponent";
|
import ParameterComponent from "./components/parameterComponent";
|
||||||
|
|
||||||
export default function GenericNode({
|
export default function GenericNode({
|
||||||
|
|
@ -43,6 +43,7 @@ export default function GenericNode({
|
||||||
const flowPool = useFlowStore((state) => state.flowPool);
|
const flowPool = useFlowStore((state) => state.flowPool);
|
||||||
const buildFlow = useFlowStore((state) => state.buildFlow);
|
const buildFlow = useFlowStore((state) => state.buildFlow);
|
||||||
const setNode = useFlowStore((state) => state.setNode);
|
const setNode = useFlowStore((state) => state.setNode);
|
||||||
|
const setErrorData = useAlertStore((state) => state.setErrorData);
|
||||||
const name = nodeIconsLucide[data.type] ? data.type : types[data.type];
|
const name = nodeIconsLucide[data.type] ? data.type : types[data.type];
|
||||||
const [inputName, setInputName] = useState(false);
|
const [inputName, setInputName] = useState(false);
|
||||||
const [nodeName, setNodeName] = useState(data.node!.display_name);
|
const [nodeName, setNodeName] = useState(data.node!.display_name);
|
||||||
|
|
@ -64,6 +65,18 @@ export default function GenericNode({
|
||||||
|
|
||||||
const takeSnapshot = useFlowsManagerStore((state) => state.takeSnapshot);
|
const takeSnapshot = useFlowsManagerStore((state) => state.takeSnapshot);
|
||||||
|
|
||||||
|
if (!data.node!.template) {
|
||||||
|
setErrorData({
|
||||||
|
title: `Error in component ${data.node!.display_name}`,
|
||||||
|
list: [
|
||||||
|
`The component ${data.node!.display_name} has no template.`,
|
||||||
|
`Please contact the developer of the component to fix this issue.`,
|
||||||
|
],
|
||||||
|
});
|
||||||
|
takeSnapshot();
|
||||||
|
deleteNode(data.id);
|
||||||
|
}
|
||||||
|
|
||||||
function countHandles(): void {
|
function countHandles(): void {
|
||||||
let count = Object.keys(data.node!.template)
|
let count = Object.keys(data.node!.template)
|
||||||
.filter((templateField) => templateField.charAt(0) !== "_")
|
.filter((templateField) => templateField.charAt(0) !== "_")
|
||||||
|
|
@ -636,15 +649,7 @@ export default function GenericNode({
|
||||||
<>
|
<>
|
||||||
{Object.keys(data.node!.template)
|
{Object.keys(data.node!.template)
|
||||||
.filter((templateField) => templateField.charAt(0) !== "_")
|
.filter((templateField) => templateField.charAt(0) !== "_")
|
||||||
.sort((a, b) => {
|
.sort((a, b) => sortFields(a, b, data.node?.field_order ?? []))
|
||||||
if (priorityFields.has(a.toLowerCase())) {
|
|
||||||
return -1;
|
|
||||||
} else if (priorityFields.has(b.toLowerCase())) {
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
return a.localeCompare(b);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.map((templateField: string, idx) => (
|
.map((templateField: string, idx) => (
|
||||||
<div key={idx}>
|
<div key={idx}>
|
||||||
{data.node!.template[templateField].show &&
|
{data.node!.template[templateField].show &&
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,7 @@ export type KeyPairListComponentType = {
|
||||||
editNode?: boolean;
|
editNode?: boolean;
|
||||||
duplicateKey?: boolean;
|
duplicateKey?: boolean;
|
||||||
editNodeModal?: boolean;
|
editNodeModal?: boolean;
|
||||||
|
isList?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type DictComponentType = {
|
export type DictComponentType = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue