+21
-26
@@ -1,5 +1,5 @@
|
||||
import { useGetAvailablePackages } from '@/logic-functions/hooks/useGetAvailablePackages';
|
||||
import { useLogicFunctionEditor } from '@/logic-functions/hooks/useLogicFunctionEditor';
|
||||
import { useLogicFunctionForm } from '@/logic-functions/hooks/useLogicFunctionForm';
|
||||
import { useFullScreenModal } from '@/ui/layout/fullscreen/hooks/useFullScreenModal';
|
||||
import { type BreadcrumbProps } from '@/ui/navigation/bread-crumb/components/Breadcrumb';
|
||||
import { useGetUpdatableWorkflowVersionOrThrow } from '@/workflow/hooks/useGetUpdatableWorkflowVersionOrThrow';
|
||||
@@ -22,9 +22,6 @@ import { WorkflowStepBody } from '@/workflow/workflow-steps/components/WorkflowS
|
||||
import { WorkflowCodeEditor } from '@/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowCodeEditor';
|
||||
import { WorkflowEditActionCodeFields } from '@/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowEditActionCodeFields';
|
||||
import { WORKFLOW_LOGIC_FUNCTION_TAB_LIST_COMPONENT_ID } from '@/workflow/workflow-steps/workflow-actions/code-action/constants/WorkflowLogicFunctionTabListComponentId';
|
||||
import { useAtomFamilyStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomFamilyStateValue';
|
||||
import { useSetAtomFamilyState } from '@/ui/utilities/state/jotai/hooks/useSetAtomFamilyState';
|
||||
import { logicFunctionTestDataFamilyState } from '@/workflow/workflow-steps/workflow-actions/code-action/states/logicFunctionTestDataFamilyState';
|
||||
import { WorkflowLogicFunctionTabId } from '@/workflow/workflow-steps/workflow-actions/code-action/types/WorkflowLogicFunctionTabId';
|
||||
import { getWrongExportedFunctionMarkers } from '@/workflow/workflow-steps/workflow-actions/code-action/utils/getWrongExportedFunctionMarkers';
|
||||
import { WorkflowVariablePicker } from '@/workflow/workflow-variables/components/WorkflowVariablePicker';
|
||||
@@ -49,6 +46,8 @@ import { useIsMobile } from 'twenty-ui/utilities';
|
||||
import { useDebouncedCallback } from 'use-debounce';
|
||||
import { getFunctionInputFromInputSchema } from 'twenty-shared/workflow';
|
||||
import { themeCssVariables } from 'twenty-ui/theme-constants';
|
||||
import { LogicFunctionTestInputInitEffect } from '@/logic-functions/components/LogicFunctionTestInputInitEffect';
|
||||
import { useExecuteLogicFunction } from '@/logic-functions/hooks/useExecuteLogicFunction';
|
||||
|
||||
const StyledCodeEditorContainer = styled.div`
|
||||
display: flex;
|
||||
@@ -114,25 +113,24 @@ export const WorkflowEditActionCode = ({
|
||||
});
|
||||
};
|
||||
|
||||
const { formValues, loading, executeLogicFunction, onChange, isExecuting } =
|
||||
useLogicFunctionEditor({
|
||||
logicFunctionId,
|
||||
executeCallback: updateOutputSchemaFromTestResult,
|
||||
});
|
||||
const { formValues, loading, onChange } = useLogicFunctionForm({
|
||||
logicFunctionId,
|
||||
});
|
||||
|
||||
const {
|
||||
executeLogicFunction,
|
||||
isExecuting,
|
||||
logicFunctionTestData,
|
||||
updateLogicFunctionInput,
|
||||
} = useExecuteLogicFunction({
|
||||
logicFunctionId,
|
||||
callback: updateOutputSchemaFromTestResult,
|
||||
});
|
||||
|
||||
const { availablePackages } = useGetAvailablePackages({
|
||||
id: logicFunctionId,
|
||||
});
|
||||
|
||||
const logicFunctionTestData = useAtomFamilyStateValue(
|
||||
logicFunctionTestDataFamilyState,
|
||||
logicFunctionId,
|
||||
);
|
||||
const setLogicFunctionTestData = useSetAtomFamilyState(
|
||||
logicFunctionTestDataFamilyState,
|
||||
logicFunctionId,
|
||||
);
|
||||
|
||||
const [functionInput, setFunctionInput] =
|
||||
useState<LogicFunctionInputFormData>(
|
||||
action.settings.input.logicFunctionInput,
|
||||
@@ -158,6 +156,7 @@ export const WorkflowEditActionCode = ({
|
||||
newInput: newFunctionInput,
|
||||
oldInput: action.settings.input.logicFunctionInput,
|
||||
});
|
||||
|
||||
const newMergedTestInput = mergeDefaultFunctionInputAndFunctionInput({
|
||||
newInput: newFunctionInput,
|
||||
oldInput: logicFunctionTestData.input,
|
||||
@@ -165,10 +164,7 @@ export const WorkflowEditActionCode = ({
|
||||
|
||||
setFunctionInput(newMergedInput);
|
||||
|
||||
setLogicFunctionTestData((prev) => ({
|
||||
...prev,
|
||||
input: newMergedTestInput,
|
||||
}));
|
||||
updateLogicFunctionInput(newMergedTestInput);
|
||||
|
||||
updateAction({
|
||||
...action,
|
||||
@@ -220,10 +216,8 @@ export const WorkflowEditActionCode = ({
|
||||
path,
|
||||
value,
|
||||
);
|
||||
setLogicFunctionTestData((prev) => ({
|
||||
...prev,
|
||||
input: updatedTestFunctionInput,
|
||||
}));
|
||||
|
||||
updateLogicFunctionInput(updatedTestFunctionInput);
|
||||
};
|
||||
|
||||
const handleTestFunction = async () => {
|
||||
@@ -375,6 +369,7 @@ export const WorkflowEditActionCode = ({
|
||||
return (
|
||||
!loading && (
|
||||
<>
|
||||
<LogicFunctionTestInputInitEffect logicFunctionId={logicFunctionId} />
|
||||
<StyledTabList
|
||||
tabs={tabs}
|
||||
behaveAsLinks={false}
|
||||
|
||||
Reference in New Issue
Block a user