refactor(FlowEditor): 更新节点样式和内容组件

master
钟良源 5 months ago
parent 053449121b
commit c80d551393

@ -238,37 +238,41 @@ const NodeContent = ({ data }: { data: NodeContentData }) => {
)} )}
</div> </div>
</div> </div>
{(dataIns.length || dataOuts.length) && (
<>
{/*分割*/}
<div
className={styles['node-split-line']}
>
</div>
<div {/*content栏-data部分*/}
className={styles['node-split-line']} <div className={styles['node-data-box']}>
> <div className={styles['node-content']}>
{dataIns.length > 0 && !isStartNode && (
</div> <div className={styles['node-inputs']}>
{dataIns.map((input, index) => (
{/*content栏-data部分*/} <div key={`input-${index}`} className={styles['node-input-label']}>
<div className={styles['node-data-box']}> {input.id || `输入${index + 1}`}
<div className={styles['node-content']}> </div>
{dataIns.length > 0 && !isStartNode && ( ))}
<div className={styles['node-inputs']}>
{dataIns.map((input, index) => (
<div key={`input-${index}`} className={styles['node-input-label']}>
{input.id || `输入${index + 1}`}
</div> </div>
))} )}
</div>
)}
{dataOuts.length > 0 && !isEndNode && ( {dataOuts.length > 0 && !isEndNode && (
<div className={styles['node-outputs']}> <div className={styles['node-outputs']}>
{dataOuts.map((output, index) => ( {dataOuts.map((output, index) => (
<div key={`output-${index}`} className={styles['node-input-label']}> <div key={`output-${index}`} className={styles['node-input-label']}>
{output.id || `输出${index + 1}`} {output.id || `输出${index + 1}`}
</div>
))}
</div> </div>
))} )}
</div> </div>
)} </div>
</div> </>
</div> )}
{/*footer栏*/} {/*footer栏*/}
{showFooter && ( {showFooter && (

@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import styles from '@/pages/flowEditor/node/style/base.module.less'; // import styles from '@/pages/flowEditor/node/style/base.module.less';
// import styles from '@/pages/flowEditor/node/style/baseOther.module.less'; import styles from '@/pages/flowEditor/node/style/baseOther.module.less';
import NodeContent from '@/pages/flowEditor/components/nodeContent'; import NodeContent from '@/pages/flowEditor/components/nodeContent';
import NodeContentOther from '@/pages/flowEditor/components/nodeContentOther'; import NodeContentOther from '@/pages/flowEditor/components/nodeContentOther';
import { useStore } from '@xyflow/react'; import { useStore } from '@xyflow/react';
@ -21,8 +21,8 @@ const BasicNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => {
{title} {title}
</div> </div>
<NodeContent data={{ ...data, type: 'basic' }} /> {/*<NodeContent data={{ ...data, type: 'basic' }} />*/}
{/*<NodeContentOther data={{ ...data, type: 'basic' }} />*/} <NodeContentOther data={{ ...data, type: 'basic' }} />
</div> </div>
); );
}; };

@ -1,8 +1,10 @@
import React from 'react'; import React from 'react';
import styles from '@/pages/flowEditor/node/style/base.module.less'; // import styles from '@/pages/flowEditor/node/style/base.module.less';
import styles from '@/pages/flowEditor/node/style/baseOther.module.less';
import NodeContent from '@/pages/flowEditor/components/nodeContent'; import NodeContent from '@/pages/flowEditor/components/nodeContent';
import { useStore } from '@xyflow/react'; import { useStore } from '@xyflow/react';
import { defaultNodeTypes } from '@/pages/flowEditor/node/types/defaultType'; import { defaultNodeTypes } from '@/pages/flowEditor/node/types/defaultType';
import NodeContentOther from '@/pages/flowEditor/components/nodeContentOther';
const EndNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => { const EndNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => {
@ -19,7 +21,8 @@ const EndNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => {
{title} {title}
</div> </div>
<NodeContent data={{ ...data, type: 'end' }} /> {/*<NodeContent data={{ ...data, type: 'end' }} />*/}
<NodeContentOther data={{ ...data, type: 'end' }} />
</div> </div>
); );
}; };

@ -1,8 +1,10 @@
import React from 'react'; import React from 'react';
import { useStore } from '@xyflow/react'; import { useStore } from '@xyflow/react';
import styles from '@/pages/flowEditor/node/style/base.module.less'; // import styles from '@/pages/flowEditor/node/style/base.module.less';
import styles from '@/pages/flowEditor/node/style/baseOther.module.less';
import NodeContent from '@/pages/flowEditor/components/nodeContent'; import NodeContent from '@/pages/flowEditor/components/nodeContent';
import DynamicIcon from '@/components/DynamicIcon'; import DynamicIcon from '@/components/DynamicIcon';
import NodeContentOther from '@/pages/flowEditor/components/nodeContentOther';
const setIcon = (nodeType: string) => { const setIcon = (nodeType: string) => {
@ -71,7 +73,8 @@ const LocalNode = ({ data, id }: { data: any; id: string }) => {
{setIcon(data.type)} {setIcon(data.type)}
{title} {title}
</div> </div>
<NodeContent data={data} /> {/*<NodeContent data={data} />*/}
<NodeContentOther data={data} />
</div> </div>
); );
}; };

@ -1,8 +1,10 @@
import React from 'react'; import React from 'react';
import styles from '@/pages/flowEditor/node/style/base.module.less'; // import styles from '@/pages/flowEditor/node/style/base.module.less';
import styles from '@/pages/flowEditor/node/style/baseOther.module.less';
import NodeContent from '@/pages/flowEditor/components/nodeContent'; import NodeContent from '@/pages/flowEditor/components/nodeContent';
import { useStore } from '@xyflow/react'; import { useStore } from '@xyflow/react';
import { defaultNodeTypes } from '@/pages/flowEditor/node/types/defaultType'; import { defaultNodeTypes } from '@/pages/flowEditor/node/types/defaultType';
import NodeContentOther from '@/pages/flowEditor/components/nodeContentOther';
const StartNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => { const StartNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => {
@ -19,7 +21,8 @@ const StartNode = ({ data, id }: { data: defaultNodeTypes; id: string }) => {
{title} {title}
</div> </div>
<NodeContent data={{ ...data, type: 'start' }} /> {/*<NodeContent data={{ ...data, type: 'start' }} />*/}
<NodeContentOther data={{ ...data, type: 'start' }} />
</div> </div>
); );
}; };

@ -1,12 +1,14 @@
import { configureStore } from '@reduxjs/toolkit'; import { configureStore } from '@reduxjs/toolkit';
import globalReducer from './global'; import globalReducer from './global';
import userReducer from './user'; import userReducer from './user';
import ideContainerReducer from './ideContainer';
// 创建 store // 创建 store
const store = configureStore({ const store = configureStore({
reducer: { reducer: {
global: globalReducer, global: globalReducer,
user: userReducer user: userReducer,
ideContainer: ideContainerReducer
} }
}); });

Loading…
Cancel
Save