feat: Update Workflow class usage on the Frontend for better performance (no-changelog) (#17680)

This commit is contained in:
Alex Grozav
2025-08-04 15:04:00 +03:00
committed by GitHub
parent ff8531d544
commit 279dce639a
66 changed files with 659 additions and 660 deletions

View File

@@ -46,6 +46,7 @@ import {
import { storeToRefs } from 'pinia';
import { useCalloutHelpers } from '@/composables/useCalloutHelpers';
import { getParameterTypeOption } from '@/utils/nodeSettingsUtils';
import { useWorkflowsStore } from '@/stores/workflows.store';
const LazyFixedCollectionParameter = defineAsyncComponent(
async () => await import('./FixedCollectionParameter.vue'),
@@ -78,6 +79,7 @@ const emit = defineEmits<{
const nodeTypesStore = useNodeTypesStore();
const ndvStore = useNDVStore();
const workflowsStore = useWorkflowsStore();
const message = useMessage();
const nodeSettingsParameters = useNodeSettingsParameters();
@@ -192,11 +194,11 @@ watch(filteredParameterNames, (newValue, oldValue) => {
});
function updateFormTriggerParameters(parameters: INodeProperties[], triggerName: string) {
const workflow = workflowHelpers.getCurrentWorkflow();
const connectedNodes = workflow.getChildNodes(triggerName);
const workflowObject = workflowsStore.workflowObject;
const connectedNodes = workflowObject.getChildNodes(triggerName);
const hasFormPage = connectedNodes.some((nodeName) => {
const _node = workflow.getNode(nodeName);
const _node = workflowObject.getNode(nodeName);
return _node && _node.type === FORM_NODE_TYPE;
});
@@ -237,18 +239,18 @@ function updateFormTriggerParameters(parameters: INodeProperties[], triggerName:
}
function updateWaitParameters(parameters: INodeProperties[], nodeName: string) {
const workflow = workflowHelpers.getCurrentWorkflow();
const parentNodes = workflow.getParentNodes(nodeName);
const workflowObject = workflowsStore.workflowObject;
const parentNodes = workflowObject.getParentNodes(nodeName);
const formTriggerName = parentNodes.find(
(_node) => workflow.nodes[_node].type === FORM_TRIGGER_NODE_TYPE,
(_node) => workflowObject.nodes[_node].type === FORM_TRIGGER_NODE_TYPE,
);
if (!formTriggerName) return parameters;
const connectedNodes = workflow.getChildNodes(formTriggerName);
const connectedNodes = workflowObject.getChildNodes(formTriggerName);
const hasFormPage = connectedNodes.some((_nodeName) => {
const _node = workflow.getNode(_nodeName);
const _node = workflowObject.getNode(_nodeName);
return _node && _node.type === FORM_NODE_TYPE;
});
@@ -276,11 +278,11 @@ function updateWaitParameters(parameters: INodeProperties[], nodeName: string) {
}
function updateFormParameters(parameters: INodeProperties[], nodeName: string) {
const workflow = workflowHelpers.getCurrentWorkflow();
const parentNodes = workflow.getParentNodes(nodeName);
const workflowObject = workflowsStore.workflowObject;
const parentNodes = workflowObject.getParentNodes(nodeName);
const formTriggerName = parentNodes.find(
(_node) => workflow.nodes[_node].type === FORM_TRIGGER_NODE_TYPE,
(_node) => workflowObject.nodes[_node].type === FORM_TRIGGER_NODE_TYPE,
);
if (formTriggerName) return parameters.filter((parameter) => parameter.name !== 'triggerNotice');