balibabu
				
			
		feat: Add hint for operators, round to square, input variable, readable operator ID.  #3056 (#3057)
		4138aee
		
		| import { useTranslate } from '@/hooks/common-hooks'; | |
| import { Card, Divider, Flex, Layout, Tooltip } from 'antd'; | |
| import classNames from 'classnames'; | |
| import lowerFirst from 'lodash/lowerFirst'; | |
| import React from 'react'; | |
| import { Operator, componentMenuList, operatorMap } from '../constant'; | |
| import { useHandleDrag } from '../hooks'; | |
| import OperatorIcon from '../operator-icon'; | |
| import styles from './index.less'; | |
| const { Sider } = Layout; | |
| interface IProps { | |
| setCollapsed: (width: boolean) => void; | |
| collapsed: boolean; | |
| } | |
| const dividerProps = { | |
| marginTop: 10, | |
| marginBottom: 10, | |
| padding: 0, | |
| borderBlockColor: '#b4afaf', | |
| borderStyle: 'dotted', | |
| }; | |
| const FlowSide = ({ setCollapsed, collapsed }: IProps) => { | |
| const { handleDragStart } = useHandleDrag(); | |
| const { t } = useTranslate('flow'); | |
| return ( | |
| <Sider | |
| collapsible | |
| collapsed={collapsed} | |
| collapsedWidth={0} | |
| theme={'light'} | |
| onCollapse={(value) => setCollapsed(value)} | |
| > | |
| <Flex vertical gap={10} className={styles.siderContent}> | |
| {componentMenuList.map((x) => { | |
| return ( | |
| <React.Fragment key={x.name}> | |
| {x.name === Operator.Note && ( | |
| <Divider style={dividerProps}></Divider> | |
| )} | |
| {x.name === Operator.DuckDuckGo && ( | |
| <Divider style={dividerProps}></Divider> | |
| )} | |
| <Card | |
| key={x.name} | |
| hoverable | |
| draggable | |
| className={classNames(styles.operatorCard)} | |
| onDragStart={handleDragStart(x.name)} | |
| > | |
| <Flex align="center" gap={15}> | |
| <OperatorIcon | |
| name={x.name} | |
| color={operatorMap[x.name].color} | |
| ></OperatorIcon> | |
| <section> | |
| <Tooltip title={t(`${lowerFirst(x.name)}Description`)}> | |
| <b>{t(lowerFirst(x.name))}</b> | |
| </Tooltip> | |
| </section> | |
| </Flex> | |
| </Card> | |
| </React.Fragment> | |
| ); | |
| })} | |
| </Flex> | |
| </Sider> | |
| ); | |
| }; | |
| export default FlowSide; | |