feat(editor): Expose connectionType for 'createNodeActiveChanged' hook and 'User opened nodes panel' event (no-changelog) (#15300)

This commit is contained in:
Charlie Kolb
2025-05-14 13:26:31 +02:00
committed by GitHub
parent c8b9a7fdeb
commit fefe7b3370
3 changed files with 11 additions and 0 deletions

View File

@@ -1547,6 +1547,7 @@ export type ToggleNodeCreatorOptions = {
source?: NodeCreatorOpenSource;
nodeCreatorView?: NodeFilterType;
hasAddedNodes?: boolean;
connectionType?: NodeConnectionType;
};
export type AppliedThemeOption = 'light' | 'dark';

View File

@@ -109,6 +109,7 @@ export const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
setNodeCreatorState({
createNodeActive: true,
nodeCreatorView: creatorView,
connectionType,
});
} else if (connectionType && nodeData) {
openNodeCreatorForConnectingNode({
@@ -130,6 +131,7 @@ export const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
source,
createNodeActive,
nodeCreatorView,
connectionType,
}: ToggleNodeCreatorOptions) {
if (!nodeCreatorView) {
nodeCreatorView =
@@ -148,6 +150,7 @@ export const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
void externalHooks.run('nodeView.createNodeActiveChanged', {
source,
mode: getMode(nodeCreatorView),
connectionType,
createNodeActive,
});
@@ -155,6 +158,7 @@ export const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
onCreatorOpened({
source,
mode: getMode(nodeCreatorView),
connectionType,
workflow_id: workflowsStore.workflowId,
});
}
@@ -195,6 +199,7 @@ export const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
source: eventSource,
createNodeActive: true,
nodeCreatorView: isScopedConnection ? AI_UNCATEGORIZED_CATEGORY : nodeCreatorView,
connectionType: type,
});
// TODO: The animation is a bit glitchy because we're updating view stack immediately
@@ -264,16 +269,19 @@ export const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
function onCreatorOpened({
source,
mode,
connectionType,
workflow_id,
}: {
source?: string;
mode: string;
connectionType?: NodeConnectionType;
workflow_id?: string;
}) {
resetNodesPanelSession();
trackNodeCreatorEvent('User opened nodes panel', {
source,
mode,
connectionType,
workflow_id,
});
}

View File

@@ -6,6 +6,7 @@ import type {
INodeProperties,
INodeTypeDescription,
ITelemetryTrackProperties,
NodeConnectionType,
NodeParameterValue,
NodeParameterValueType,
} from 'n8n-workflow';
@@ -102,6 +103,7 @@ export interface ExternalHooks {
ExternalHooksMethod<{
source?: string;
mode: string;
connectionType?: NodeConnectionType;
createNodeActive: boolean;
}>
>;