balibabu
commited on
Commit
·
60dc256
1
Parent(s):
12f28d5
feat: node cannot connect to itself #918 (#1412)
Browse files### What problem does this PR solve?
feat: node cannot connect to itself #918
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
web/src/pages/flow/constant.tsx
CHANGED
|
@@ -254,6 +254,9 @@ export const RestrictedUpstreamMap = {
|
|
| 254 |
Operator.Categorize,
|
| 255 |
Operator.Relevant,
|
| 256 |
],
|
|
|
|
|
|
|
|
|
|
| 257 |
};
|
| 258 |
|
| 259 |
export const NodeMap = {
|
|
|
|
| 254 |
Operator.Categorize,
|
| 255 |
Operator.Relevant,
|
| 256 |
],
|
| 257 |
+
[Operator.KeywordExtract]: [Operator.Begin],
|
| 258 |
+
[Operator.Baidu]: [Operator.Begin],
|
| 259 |
+
[Operator.DuckDuckGo]: [Operator.Begin],
|
| 260 |
};
|
| 261 |
|
| 262 |
export const NodeMap = {
|
web/src/pages/flow/hooks.ts
CHANGED
|
@@ -297,12 +297,16 @@ export const useValidateConnection = () => {
|
|
| 297 |
// restricted lines cannot be connected successfully.
|
| 298 |
const isValidConnection = useCallback(
|
| 299 |
(connection: Connection) => {
|
|
|
|
|
|
|
|
|
|
| 300 |
// limit the connection between two nodes to only one connection line in one direction
|
| 301 |
const hasLine = edges.some(
|
| 302 |
(x) => x.source === connection.source && x.target === connection.target,
|
| 303 |
);
|
| 304 |
|
| 305 |
const ret =
|
|
|
|
| 306 |
!hasLine &&
|
| 307 |
RestrictedUpstreamMap[
|
| 308 |
getOperatorTypeFromId(connection.source) as Operator
|
|
|
|
| 297 |
// restricted lines cannot be connected successfully.
|
| 298 |
const isValidConnection = useCallback(
|
| 299 |
(connection: Connection) => {
|
| 300 |
+
// node cannot connect to itself
|
| 301 |
+
const isSelfConnected = connection.target === connection.source;
|
| 302 |
+
|
| 303 |
// limit the connection between two nodes to only one connection line in one direction
|
| 304 |
const hasLine = edges.some(
|
| 305 |
(x) => x.source === connection.source && x.target === connection.target,
|
| 306 |
);
|
| 307 |
|
| 308 |
const ret =
|
| 309 |
+
!isSelfConnected &&
|
| 310 |
!hasLine &&
|
| 311 |
RestrictedUpstreamMap[
|
| 312 |
getOperatorTypeFromId(connection.source) as Operator
|