diff --git a/apps/Standalone/src/designer/app/AzureLogicAppsDesigner/LogicAppSelectionSetting/AzureStandardLogicAppSelector.tsx b/apps/Standalone/src/designer/app/AzureLogicAppsDesigner/LogicAppSelectionSetting/AzureStandardLogicAppSelector.tsx index e8ccc65e6bd..3efaf225005 100644 --- a/apps/Standalone/src/designer/app/AzureLogicAppsDesigner/LogicAppSelectionSetting/AzureStandardLogicAppSelector.tsx +++ b/apps/Standalone/src/designer/app/AzureLogicAppsDesigner/LogicAppSelectionSetting/AzureStandardLogicAppSelector.tsx @@ -139,8 +139,8 @@ export const AzureStandardLogicAppSelector = () => { disabled={workflowOptions.length === 0 || !appId || isWorkflowsLoading} defaultValue={workflowName} onChange={(_, option) => { - dispatch(setWorkflowName(option?.key as string)); dispatch(setResourcePath(`${appId}/workflows/${option?.key}`)); + dispatch(setWorkflowName(option?.key as string)); }} /> {isWorkflowsLoading ? ( diff --git a/libs/designer/src/lib/__test__/redux-test-helper.tsx b/libs/designer/src/lib/__test__/redux-test-helper.tsx index ed9b79b00ca..7bf0614aa8f 100644 --- a/libs/designer/src/lib/__test__/redux-test-helper.tsx +++ b/libs/designer/src/lib/__test__/redux-test-helper.tsx @@ -3,7 +3,6 @@ import designerOptionsReducer from '../core/state/designerOptions/designerOption import designerViewReducer from '../core/state/designerView/designerViewSlice'; import operationMetadataReducer from '../core/state/operation/operationMetadataSlice'; import panelReducer from '../core/state/panel/panelSlice'; -import customCodeReducer from '../core/state/customcode/customcodeSlice'; import settingsReducer from '../core/state/setting/settingSlice'; import staticResultsSchemasReducer from '../core/state/staticresultschema/staticresultsSlice'; import tokens from '../core/state/tokens/tokensSlice'; @@ -40,7 +39,6 @@ export function renderWithRedux( tokens: tokens, workflowParameters: workflowParametersReducer, staticResults: staticResultsSchemasReducer, - customCode: customCodeReducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ diff --git a/libs/designer/src/lib/core/state/__test__/operation/operationMetadataSlice.spec.ts b/libs/designer/src/lib/core/state/__test__/operation/operationMetadataSlice.spec.ts deleted file mode 100644 index c7fbc3daf0b..00000000000 --- a/libs/designer/src/lib/core/state/__test__/operation/operationMetadataSlice.spec.ts +++ /dev/null @@ -1,67 +0,0 @@ -import reducer, { - NodeData, - OperationMetadataState, - initializeNodes, - initializeOperationInfo, -} from '../../operation/operationMetadataSlice'; -import { describe, beforeEach, test, expect } from 'vitest'; - -describe('operationMetadataSlice', () => { - let initialState: OperationMetadataState; - - beforeEach(() => { - initialState = { - operationInfo: {}, - inputParameters: {}, - outputParameters: {}, - dependencies: {}, - settings: {}, - operationMetadata: {}, - actionMetadata: {}, - staticResults: {}, - repetitionInfos: {}, - errors: {}, - loadStatus: { - nodesInitialized: false, - nodesAndDynamicDataInitialized: false, - }, - }; - }); - - test('should return the initial state', () => { - expect(reducer(undefined, { type: 'unknown' })).toEqual(initialState); - }); - - test('should initialize the operation info in the state and should have connectorId, operationId, type and kind properties', () => { - const action = { - id: 'manual', - connectorId: 'connectionProviders/request', - operationId: 'request', - type: 'Request', - kind: 'Http', - }; - const updatedState = reducer(initialState, initializeOperationInfo(action)); - expect(updatedState.operationInfo).toHaveProperty(action.id); - expect(updatedState.operationInfo[action.id]).toEqual({ - connectorId: action.connectorId, - operationId: action.operationId, - type: action.type, - kind: action.kind, - }); - }); - - test('should initialize nodes status to true and nodes data remain the same when there are no nodes', () => { - const nodes: Array = []; - const updatedState = reducer(initialState, initializeNodes(nodes)); - expect(updatedState.operationInfo).toEqual(initialState.operationInfo); - expect(updatedState.inputParameters).toEqual(initialState.inputParameters); - expect(updatedState.outputParameters).toEqual(initialState.outputParameters); - expect(updatedState.loadStatus.nodesInitialized).toEqual(true); - }); - - test('should stay the nodes initialized load status as false when any node is set as undefined', () => { - const nodes: Array = [undefined, undefined]; - const updatedState = reducer(initialState, initializeNodes(nodes)); - expect(updatedState.loadStatus.nodesInitialized).toEqual(false); - }); -}); diff --git a/libs/designer/src/lib/core/state/operation/operationSelector.ts b/libs/designer/src/lib/core/state/operation/operationSelector.ts index 755f6b40045..0171cbe1b63 100644 --- a/libs/designer/src/lib/core/state/operation/operationSelector.ts +++ b/libs/designer/src/lib/core/state/operation/operationSelector.ts @@ -131,36 +131,6 @@ export const useTokenDependencies = (nodeId: string) => { }, [operationInputParameters]); }; -export const useNodesTokenDependencies = (nodes: Set) => { - const operationsInputsParameters = useOperationsInputParameters(); - const dependencies: Record> = {}; - if (!operationsInputsParameters) { - return dependencies; - } - for (const node of nodes) { - const operationInputParameters = getRecordEntry(operationsInputsParameters, node); - if (operationInputParameters) { - const innerDependencies = new Set(); - for (const group of Object.values(operationInputParameters.parameterGroups)) { - for (const parameter of group.parameters) { - for (const value of parameter.value) { - if (value.token?.actionName) { - innerDependencies.add(value.token.actionName); - } - if (value.token?.arrayDetails?.loopSource) { - innerDependencies.add(value.token.arrayDetails.loopSource); - } - } - } - } - dependencies[node] = innerDependencies; - } else { - dependencies[node] = new Set(); - } - } - return dependencies; -}; - export const useAllOperationErrors = () => useSelector(createSelector(getOperationState, (state) => state.errors)); export const useParameterValidationErrors = (nodeId: string) => { diff --git a/libs/designer/src/lib/ui/connections/dropzone.tsx b/libs/designer/src/lib/ui/connections/dropzone.tsx index 5ccdbb597fc..b5711cc2feb 100644 --- a/libs/designer/src/lib/ui/connections/dropzone.tsx +++ b/libs/designer/src/lib/ui/connections/dropzone.tsx @@ -31,7 +31,6 @@ import { LogEntryLevel, LoggerService, } from '@microsoft/logic-apps-shared'; -import { useNodesTokenDependencies } from '../../core/state/operation/operationSelector'; import { useCallback, useMemo, useState } from 'react'; import { useDrop } from 'react-dnd'; import { useHotkeys } from 'react-hotkeys-hook'; @@ -69,7 +68,6 @@ export const DropZone: React.FC = ({ graphId, parentId, childId, const upstreamNodesOfChild = useUpstreamNodes(removeIdTag(childId ?? newParentId ?? graphId)); const immediateAncestor = useGetAllOperationNodesWithin(parentId && !containsIdTag(parentId) ? parentId : ''); const upstreamNodes = useMemo(() => new Set([...upstreamNodesOfChild, ...immediateAncestor]), [immediateAncestor, upstreamNodesOfChild]); - const upstreamNodesDependencies = useNodesTokenDependencies(upstreamNodes); const upstreamScopeArr = useAllGraphParents(graphId); const upstreamScopes = useMemo(() => new Set(upstreamScopeArr), [upstreamScopeArr]); useOnViewportChange({ @@ -210,12 +208,6 @@ export const DropZone: React.FC = ({ graphId, parentId, childId, return false; } } - - for (const node of upstreamNodes) { - if (upstreamNodesDependencies[node].has(item.id) || upstreamNodesDependencies[item.id].has(node)) { - return false; - } - } // TODO: Support preventing moving a node below downstream output // TODO: Support calculating dependencies when dragging of scopes return item.id !== childId && item.id !== parentId; @@ -225,7 +217,7 @@ export const DropZone: React.FC = ({ graphId, parentId, childId, canDrop: monitor.isOver() && monitor.canDrop(), // Only calculate canDrop when isOver is true }), }), - [graphId, parentId, childId, upstreamNodes, upstreamNodesDependencies] + [graphId, parentId, childId, upstreamNodes] ); const parentName = useNodeDisplayName(parentId);