feat(editor): Add registerCustomAction to new canvas (no-changelog) (#10359)

This commit is contained in:
Alex Grozav 2024-08-16 10:45:12 +03:00 committed by GitHub
parent c5a0c049ea
commit 90a5fcc541
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 40 additions and 27 deletions

View file

@ -47,7 +47,7 @@ import AskAssistantFloatingButton from '@/components/AskAssistant/AskAssistantFl
import { HIRING_BANNER, VIEWS } from '@/constants';
import { loadLanguage } from '@/plugins/i18n';
import useGlobalLinkActions from '@/composables/useGlobalLinkActions';
import { useGlobalLinkActions } from '@/composables/useGlobalLinkActions';
import { useExternalHooks } from '@/composables/useExternalHooks';
import { useToast } from '@/composables/useToast';
import { useCloudPlanStore } from '@/stores/cloudPlan.store';

View file

@ -10,7 +10,7 @@ const state = reactive({
delegatedClickHandler: null as null | ((e: MouseEvent) => void),
});
export default () => {
export function useGlobalLinkActions() {
function registerCustomAction({ key, action }: { key: string; action: Function }) {
state.customActions[key] = action;
}
@ -76,4 +76,4 @@ export default () => {
registerCustomAction,
unregisterCustomAction,
};
};
}

View file

@ -18,6 +18,7 @@ import CanvasRunWorkflowButton from '@/components/canvas/elements/buttons/Canvas
import { useI18n } from '@/composables/useI18n';
import { useWorkflowsStore } from '@/stores/workflows.store';
import { useRunWorkflow } from '@/composables/useRunWorkflow';
import { useGlobalLinkActions } from '@/composables/useGlobalLinkActions';
import type {
AddedNodesAndConnections,
IExecutionResponse,
@ -135,6 +136,7 @@ const templatesStore = useTemplatesStore();
const canvasEventBus = createEventBus();
const { registerCustomAction } = useGlobalLinkActions();
const { runWorkflow, stopCurrentExecution, stopWaitingForWebhook } = useRunWorkflow({ router });
const {
updateNodePosition,
@ -844,6 +846,10 @@ async function onOpenSelectiveNodeCreator(node: string, connectionType: NodeConn
nodeCreatorStore.openSelectiveNodeCreator({ node, connectionType });
}
async function onOpenNodeCreatorForTriggerNodes(source: NodeCreatorOpenSource) {
nodeCreatorStore.openNodeCreatorForTriggerNodes(source);
}
function onOpenNodeCreatorFromCanvas(source: NodeCreatorOpenSource) {
onOpenNodeCreator({ createNodeActive: true, source });
}
@ -1347,29 +1353,36 @@ function onClickPane(position: CanvasNode['position']) {
*/
function registerCustomActions() {
// @TODO Implement these
// this.registerCustomAction({
// key: 'openNodeDetail',
// action: ({ node }: { node: string }) => {
// this.nodeSelectedByName(node, true);
// },
// });
//
// this.registerCustomAction({
// key: 'openSelectiveNodeCreator',
// action: this.openSelectiveNodeCreator,
// });
//
// this.registerCustomAction({
// key: 'showNodeCreator',
// action: () => {
// this.ndvStore.activeNodeName = null;
//
// void this.$nextTick(() => {
// this.showTriggerCreator(NODE_CREATOR_OPEN_SOURCES.TAB);
// });
// },
// });
registerCustomAction({
key: 'openNodeDetail',
action: ({ node }: { node: string }) => {
setNodeActiveByName(node);
},
});
registerCustomAction({
key: 'openSelectiveNodeCreator',
action: ({
connectiontype: connectionType,
node,
}: {
connectiontype: NodeConnectionType;
node: string;
}) => {
void onOpenSelectiveNodeCreator(node, connectionType);
},
});
registerCustomAction({
key: 'showNodeCreator',
action: () => {
ndvStore.activeNodeName = null;
void nextTick(() => {
void onOpenNodeCreatorForTriggerNodes(NODE_CREATOR_OPEN_SOURCES.TAB);
});
},
});
}
/**

View file

@ -261,7 +261,7 @@ import {
VALID_WORKFLOW_IMPORT_URL_REGEX,
} from '@/constants';
import useGlobalLinkActions from '@/composables/useGlobalLinkActions';
import { useGlobalLinkActions } from '@/composables/useGlobalLinkActions';
import { useNodeHelpers } from '@/composables/useNodeHelpers';
import useCanvasMouseSelect from '@/composables/useCanvasMouseSelect';
import { useExecutionDebugging } from '@/composables/useExecutionDebugging';