Commit b6bf6198 authored by wuyongsheng's avatar wuyongsheng

fix: 点击表单允许定位到流节点

parent f90733fe
...@@ -23,11 +23,11 @@ type ConfigFormProps = { ...@@ -23,11 +23,11 @@ type ConfigFormProps = {
templateConfigInfo?: ITemplateConfig; templateConfigInfo?: ITemplateConfig;
setParameter: any; setParameter: any;
onRef?: React.Ref<any>; onRef?: React.Ref<any>;
setSelectedBatchNodeId: (val: string) => void; setExternalSelectedNodeId: (val: string) => void;
}; };
const ConfigForm = (props: ConfigFormProps) => { const ConfigForm = (props: ConfigFormProps) => {
const { templateConfigInfo, setParameter, setSelectedBatchNodeId } = props; const { templateConfigInfo, setParameter, setExternalSelectedNodeId } = props;
const [name, setName] = useState<string>(""); // 任务名称 const [name, setName] = useState<string>(""); // 任务名称
const [fileSelectType, setFileSelectType] = useState<FileSelectType>("path"); const [fileSelectType, setFileSelectType] = useState<FileSelectType>("path");
...@@ -192,7 +192,6 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -192,7 +192,6 @@ const ConfigForm = (props: ConfigFormProps) => {
const randerParameters = ( const randerParameters = (
parameters: Array<IParameter>, parameters: Array<IParameter>,
taskId: string, taskId: string,
batchId?: string
) => { ) => {
return parameters return parameters
.filter((parameter) => parameter.hidden === false) .filter((parameter) => parameter.hidden === false)
...@@ -221,7 +220,7 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -221,7 +220,7 @@ const ConfigForm = (props: ConfigFormProps) => {
{(parameter.domType || "").toLowerCase() === "file" && ( {(parameter.domType || "").toLowerCase() === "file" && (
<MyInput <MyInput
onClick={() => { onClick={() => {
setSelectedBatchNodeId(batchId || ""); setExternalSelectedNodeId(taskId || "");
setFileSelectType("file"); setFileSelectType("file");
handleOpenFileSelect(taskId, parameter.name); handleOpenFileSelect(taskId, parameter.name);
}} }}
...@@ -244,7 +243,7 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -244,7 +243,7 @@ const ConfigForm = (props: ConfigFormProps) => {
{(parameter.domType || "").toLowerCase() === "path" && ( {(parameter.domType || "").toLowerCase() === "path" && (
<MyInput <MyInput
onClick={() => { onClick={() => {
setSelectedBatchNodeId(batchId || ""); setExternalSelectedNodeId(taskId || "");
setFileSelectType("path"); setFileSelectType("path");
handleOpenFileSelect(taskId, parameter.name); handleOpenFileSelect(taskId, parameter.name);
}} }}
...@@ -267,7 +266,7 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -267,7 +266,7 @@ const ConfigForm = (props: ConfigFormProps) => {
{(parameter.domType || "").toLowerCase() === "dataset" && ( {(parameter.domType || "").toLowerCase() === "dataset" && (
<MyInput <MyInput
onClick={() => { onClick={() => {
setSelectedBatchNodeId(taskId); setExternalSelectedNodeId(taskId);
setFileSelectType("dataset"); setFileSelectType("dataset");
handleOpenFileSelect(taskId, parameter.name); handleOpenFileSelect(taskId, parameter.name);
}} }}
...@@ -290,10 +289,9 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -290,10 +289,9 @@ const ConfigForm = (props: ConfigFormProps) => {
{(parameter.domType || "").toLowerCase() === "input" && ( {(parameter.domType || "").toLowerCase() === "input" && (
<MyInput <MyInput
onFocus={() => { onFocus={() => {
setSelectedBatchNodeId(batchId || ""); setExternalSelectedNodeId(taskId || "");
console.log(batchId, "111");
}} }}
onBlur={() => setSelectedBatchNodeId("")} onBlur={() => setExternalSelectedNodeId("")}
value={parameter.value || ""} value={parameter.value || ""}
onChange={(e: any) => onChange={(e: any) =>
handleParameterChange(e, taskId, parameter.name || "") handleParameterChange(e, taskId, parameter.name || "")
...@@ -306,8 +304,8 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -306,8 +304,8 @@ const ConfigForm = (props: ConfigFormProps) => {
)} )}
{(parameter.domType || "").toLowerCase() === "select" && ( {(parameter.domType || "").toLowerCase() === "select" && (
<MySelect <MySelect
onFocus={() => setSelectedBatchNodeId(batchId || "")} onFocus={() => setExternalSelectedNodeId(taskId || "")}
onBlur={() => setSelectedBatchNodeId("")} onBlur={() => setExternalSelectedNodeId("")}
value={parameter.value} value={parameter.value}
onChange={(e: any) => onChange={(e: any) =>
handleParameterChange( handleParameterChange(
...@@ -329,8 +327,8 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -329,8 +327,8 @@ const ConfigForm = (props: ConfigFormProps) => {
{(parameter.domType || "").toLowerCase() === {(parameter.domType || "").toLowerCase() ===
"multipleselect" && ( "multipleselect" && (
<MySelect <MySelect
onFocus={() => setSelectedBatchNodeId(batchId || "")} onFocus={() => setExternalSelectedNodeId(taskId || "")}
onBlur={() => setSelectedBatchNodeId("")} onBlur={() => setExternalSelectedNodeId("")}
value={parameter.value} value={parameter.value}
onChange={(e: any) => onChange={(e: any) =>
handleParameterChange( handleParameterChange(
...@@ -356,8 +354,8 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -356,8 +354,8 @@ const ConfigForm = (props: ConfigFormProps) => {
onChange={(e: any) => onChange={(e: any) =>
handleParameterChange(e, taskId, parameter.name || "") handleParameterChange(e, taskId, parameter.name || "")
} }
onFocus={() => setSelectedBatchNodeId(batchId || "")} onFocus={() => setExternalSelectedNodeId(taskId || "")}
onBlur={() => setSelectedBatchNodeId("")} onBlur={() => setExternalSelectedNodeId("")}
options={parameter?.choices || []} options={parameter?.choices || []}
error={parameter.error || false} error={parameter.error || false}
helperText={parameter.helperText} helperText={parameter.helperText}
...@@ -378,8 +376,8 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -378,8 +376,8 @@ const ConfigForm = (props: ConfigFormProps) => {
) )
} }
options={parameter?.choices || []} options={parameter?.choices || []}
onFocus={() => setSelectedBatchNodeId(batchId || "")} onFocus={() => setExternalSelectedNodeId(taskId || "")}
onBlur={() => setSelectedBatchNodeId("")} onBlur={() => setExternalSelectedNodeId("")}
error={parameter.error || false} error={parameter.error || false}
helperText={parameter.helperText} helperText={parameter.helperText}
/> />
...@@ -448,7 +446,7 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -448,7 +446,7 @@ const ConfigForm = (props: ConfigFormProps) => {
<MyInput <MyInput
value={outputPath || ""} value={outputPath || ""}
onClick={() => { onClick={() => {
setSelectedBatchNodeId(""); setExternalSelectedNodeId("");
setFileSelectType("path"); setFileSelectType("path");
handleOpenFileSelect(); handleOpenFileSelect();
}} }}
...@@ -500,7 +498,6 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -500,7 +498,6 @@ const ConfigForm = (props: ConfigFormProps) => {
{randerParameters( {randerParameters(
task.parameters.filter((parameter) => !parameter?.thrown), task.parameters.filter((parameter) => !parameter?.thrown),
task.id, task.id,
task.id
)} )}
{task.flows.map((flow) => { {task.flows.map((flow) => {
if ( if (
...@@ -527,7 +524,6 @@ const ConfigForm = (props: ConfigFormProps) => { ...@@ -527,7 +524,6 @@ const ConfigForm = (props: ConfigFormProps) => {
{randerParameters( {randerParameters(
flow.parameters, flow.parameters,
flow.id, flow.id,
flow.parentNode ? flow.parentNode : flow.id
)} )}
</div> </div>
); );
......
...@@ -12,11 +12,11 @@ import { ITemplateConfig } from "../interface"; ...@@ -12,11 +12,11 @@ import { ITemplateConfig } from "../interface";
interface IProps { interface IProps {
templateConfigInfo?: ITemplateConfig; templateConfigInfo?: ITemplateConfig;
setSelectedBatchNodeId?: (val: string) => void; setExternalSelectedNodeId?: (val: string) => void;
selectedBatchNodeId?: string; externalSelectedNodeId?: string;
} }
const WorkFlow = (props: IProps) => { const WorkFlow = (props: IProps) => {
const { templateConfigInfo, setSelectedBatchNodeId, selectedBatchNodeId } = const { templateConfigInfo, setExternalSelectedNodeId, externalSelectedNodeId } =
props; props;
/** 页面刷新提醒 */ /** 页面刷新提醒 */
...@@ -36,8 +36,8 @@ const WorkFlow = (props: IProps) => { ...@@ -36,8 +36,8 @@ const WorkFlow = (props: IProps) => {
return ( return (
<Flow <Flow
tasks={templateConfigInfo?.tasks} tasks={templateConfigInfo?.tasks}
setSelectedBatchNodeId={setSelectedBatchNodeId} setExternalSelectedNodeId={setExternalSelectedNodeId}
selectedBatchNodeId={selectedBatchNodeId} externalSelectedNodeId={externalSelectedNodeId}
/> />
); );
}; };
......
...@@ -42,7 +42,7 @@ const ProjectSubmitWork = observer(() => { ...@@ -42,7 +42,7 @@ const ProjectSubmitWork = observer(() => {
let configFormRef: any = React.createRef(); let configFormRef: any = React.createRef();
/** 是否全屏 */ /** 是否全屏 */
const [fullScreenShow, setFullScreenShow] = useState<boolean>(false); const [fullScreenShow, setFullScreenShow] = useState<boolean>(false);
const [selectedBatchNodeId, setSelectedBatchNodeId] = useState<string>(""); const [externalSelectedNodeId, setExternalSelectedNodeId] = useState<string>("");
// 前往工作台 // 前往工作台
const goToWorkbench = (toWorkbenchList = false) => { const goToWorkbench = (toWorkbenchList = false) => {
...@@ -313,7 +313,7 @@ const ProjectSubmitWork = observer(() => { ...@@ -313,7 +313,7 @@ const ProjectSubmitWork = observer(() => {
onRef={configFormRef} onRef={configFormRef}
templateConfigInfo={templateConfigInfo} templateConfigInfo={templateConfigInfo}
setParameter={setParameter} setParameter={setParameter}
setSelectedBatchNodeId={setSelectedBatchNodeId} setExternalSelectedNodeId={setExternalSelectedNodeId}
/> />
</div> </div>
)} )}
...@@ -323,8 +323,8 @@ const ProjectSubmitWork = observer(() => { ...@@ -323,8 +323,8 @@ const ProjectSubmitWork = observer(() => {
> >
<WorkFlow <WorkFlow
templateConfigInfo={templateConfigInfo} templateConfigInfo={templateConfigInfo}
setSelectedBatchNodeId={setSelectedBatchNodeId} setExternalSelectedNodeId={setExternalSelectedNodeId}
selectedBatchNodeId={selectedBatchNodeId} externalSelectedNodeId={externalSelectedNodeId}
/> />
</div> </div>
</div> </div>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com * @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-07-12 11:20:29 * @Date: 2022-07-12 11:20:29
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-22 16:41:54 * @LastEditTime: 2022-08-31 17:09:26
* @FilePath: /bkunyun/src/views/Project/components/Flow/components/BatchNode.tsx * @FilePath: /bkunyun/src/views/Project/components/Flow/components/BatchNode.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com * @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-07-12 11:29:46 * @Date: 2022-07-12 11:29:46
* @LastEditors: 吴永生 15770852798@163.com * @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-22 19:16:06 * @LastEditTime: 2022-08-31 17:09:31
* @FilePath: /bkunyun/src/views/Project/components/Flow/components/FlowNode/index.tsx * @FilePath: /bkunyun/src/views/Project/components/Flow/components/FlowNode/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
......
...@@ -33,9 +33,9 @@ interface IProps extends ReactFlowProps { ...@@ -33,9 +33,9 @@ interface IProps extends ReactFlowProps {
/** 点击batch事件 */ /** 点击batch事件 */
onBatchClick?: (val: string) => void; onBatchClick?: (val: string) => void;
/** 设置选中的batch节点id */ /** 设置选中的batch节点id */
setSelectedBatchNodeId?: (val: string) => void; setExternalSelectedNodeId?: (val: string) => void;
/** 选中的batch节点id */ /** 选中的batch节点id */
selectedBatchNodeId?: string; externalSelectedNodeId?: string;
/** 类型, edit为编辑类型 */ /** 类型, edit为编辑类型 */
type?: "edit" | "default"; type?: "edit" | "default";
/** 设置组件数据 组件为编辑状态使用 */ /** 设置组件数据 组件为编辑状态使用 */
...@@ -52,8 +52,8 @@ const Flow = (props: IProps) => { ...@@ -52,8 +52,8 @@ const Flow = (props: IProps) => {
const { const {
tasks, tasks,
onBatchClick, onBatchClick,
setSelectedBatchNodeId, setExternalSelectedNodeId,
selectedBatchNodeId, externalSelectedNodeId,
type: flowType = "default", type: flowType = "default",
setTasks, setTasks,
onFlowNodeClick, onFlowNodeClick,
...@@ -305,13 +305,15 @@ const Flow = (props: IProps) => { ...@@ -305,13 +305,15 @@ const Flow = (props: IProps) => {
/** 是否有流节点 */ /** 是否有流节点 */
isFlowNode: isFlowNode(item.id), isFlowNode: isFlowNode(item.id),
/** 选中状态 */ /** 选中状态 */
selectedStatus: selectedBatchNodeId selectedStatus: externalSelectedNodeId
? selectedBatchNodeId === item.id ? externalSelectedNodeId.includes(item.id)
: inSideBatchNodeId === item.id, : inSideBatchNodeId === item.id,
/** tasks 数据 */ /** tasks 数据 */
tasks: tasks, tasks: tasks,
} }
: { selectedStatus: inSideFlowNodeId === item.id }), : { selectedStatus: externalSelectedNodeId
? externalSelectedNodeId.includes(item.id)
: inSideFlowNodeId === item.id,}),
/** 输入输出圆点状态 */ /** 输入输出圆点状态 */
// dotStatus: nodesInputAndOutputStatus(item.id), // dotStatus: nodesInputAndOutputStatus(item.id),
...@@ -343,7 +345,7 @@ const Flow = (props: IProps) => { ...@@ -343,7 +345,7 @@ const Flow = (props: IProps) => {
tasks, tasks,
flowType, flowType,
isFlowNode, isFlowNode,
selectedBatchNodeId, externalSelectedNodeId,
inSideBatchNodeId, inSideBatchNodeId,
inSideFlowNodeId, inSideFlowNodeId,
// nodesInputAndOutputStatus, // nodesInputAndOutputStatus,
...@@ -365,8 +367,8 @@ const Flow = (props: IProps) => { ...@@ -365,8 +367,8 @@ const Flow = (props: IProps) => {
}, []); }, []);
}); });
return val.map((item: ILine) => { return val.map((item: ILine) => {
const newSelectId = selectedBatchNodeId const newSelectId = externalSelectedNodeId
? selectedBatchNodeId ? externalSelectedNodeId
: inSideBatchNodeId; : inSideBatchNodeId;
return { return {
...item, ...item,
...@@ -387,18 +389,18 @@ const Flow = (props: IProps) => { ...@@ -387,18 +389,18 @@ const Flow = (props: IProps) => {
label: item.label ? `(${item.label})` : "", label: item.label ? `(${item.label})` : "",
}; };
}); });
}, [inSideBatchNodeId, selectedBatchNodeId, selectedEdge?.id, tasks]); }, [inSideBatchNodeId, externalSelectedNodeId, selectedEdge?.id, tasks]);
/** 设置nodeId方法 */ /** 设置nodeId方法 */
const setNodeIdFun = useCallback( const setNodeIdFun = useCallback(
(id: string) => { (id: string) => {
setSelectedBatchNodeId setExternalSelectedNodeId
? setSelectedBatchNodeId(id) ? setExternalSelectedNodeId(id)
: setInSideBatchNodeId(id); : setInSideBatchNodeId(id);
onBatchClick && onBatchClick(id); onBatchClick && onBatchClick(id);
setInSideFlowNodeId(""); setInSideFlowNodeId("");
}, },
[onBatchClick, setSelectedBatchNodeId] [onBatchClick, setExternalSelectedNodeId]
); );
/** flowNode点击事件 */ /** flowNode点击事件 */
...@@ -410,7 +412,7 @@ const Flow = (props: IProps) => { ...@@ -410,7 +412,7 @@ const Flow = (props: IProps) => {
} else { } else {
setInSideFlowNodeId(node.id); setInSideFlowNodeId(node.id);
setInSideBatchNodeId(""); setInSideBatchNodeId("");
setSelectedBatchNodeId && setSelectedBatchNodeId(""); setExternalSelectedNodeId && setExternalSelectedNodeId("");
} }
document.getElementById(`point${node.id}`)?.scrollIntoView(true); document.getElementById(`point${node.id}`)?.scrollIntoView(true);
} }
...@@ -423,8 +425,8 @@ const Flow = (props: IProps) => { ...@@ -423,8 +425,8 @@ const Flow = (props: IProps) => {
}; };
const handlePaneClick = () => { const handlePaneClick = () => {
setSelectedBatchNodeId setExternalSelectedNodeId
? setSelectedBatchNodeId("") ? setExternalSelectedNodeId("")
: setInSideBatchNodeId(""); : setInSideBatchNodeId("");
setInSideFlowNodeId(""); setInSideFlowNodeId("");
onBatchClick && onBatchClick(""); onBatchClick && onBatchClick("");
...@@ -632,9 +634,9 @@ const Flow = (props: IProps) => { ...@@ -632,9 +634,9 @@ const Flow = (props: IProps) => {
/** 点击连线清除选中的node ID */ /** 点击连线清除选中的node ID */
setInSideFlowNodeId(""); setInSideFlowNodeId("");
setInSideBatchNodeId(""); setInSideBatchNodeId("");
setSelectedBatchNodeId && setSelectedBatchNodeId(""); setExternalSelectedNodeId && setExternalSelectedNodeId("");
}, },
[setSelectedBatchNodeId] [setExternalSelectedNodeId]
); );
// const onNodesChange = (val: any)=>{ // const onNodesChange = (val: any)=>{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment