fix(editor): Fix schema view bugs (#14734)

Co-authored-by: Michael Kret <michael.k@radency.com>
This commit is contained in:
Elias Meire
2025-04-24 08:53:02 +02:00
committed by GitHub
parent 1b1d6043d6
commit 022f4755c2
14 changed files with 1040 additions and 781 deletions

View File

@@ -262,9 +262,8 @@ const nodeType = computed(() => {
const isSchemaView = computed(() => displayMode.value === 'schema');
const isSearchInSchemaView = computed(() => isSchemaView.value && !!search.value);
const displaysMultipleNodes = computed(
() => isSchemaView.value && props.paneType === 'input' && props.nodes.length > 0,
);
const hasMultipleInputNodes = computed(() => props.paneType === 'input' && props.nodes.length > 0);
const displaysMultipleNodes = computed(() => isSchemaView.value && hasMultipleInputNodes.value);
const isTriggerNode = computed(() => !!node.value && nodeTypesStore.isTriggerNode(node.value.type));
@@ -478,7 +477,10 @@ const isPaneTypeOutput = computed(() => props.paneType === 'output');
const readOnlyEnv = computed(() => sourceControlStore.preferences.branchReadOnly);
const showIOSearch = computed(
() => hasNodeRun.value && !hasRunError.value && unfilteredInputData.value.length > 0,
() =>
hasNodeRun.value &&
!hasRunError.value &&
(unfilteredInputData.value.length > 0 || displaysMultipleNodes.value),
);
const inputSelectLocation = computed(() => {
if (isSchemaView.value) return 'none';
@@ -492,7 +494,8 @@ const inputSelectLocation = computed(() => {
});
const showIoSearchNoMatchContent = computed(
() => hasNodeRun.value && !inputData.value.length && !!search.value,
() =>
hasNodeRun.value && !inputData.value.length && !!search.value && !displaysMultipleNodes.value,
);
const parentNodeOutputData = computed(() => {
@@ -565,7 +568,7 @@ const hasInputOverwrite = computed((): boolean => {
if (!node.value) {
return false;
}
const taskData = nodeHelpers.getNodeTaskData(node.value, props.runIndex);
const taskData = nodeHelpers.getNodeTaskData(node.value.name, props.runIndex);
return Boolean(taskData?.inputOverride);
});
@@ -1395,7 +1398,9 @@ defineExpose({ enterEditMode });
<RunDataDisplayModeSelect
v-show="
hasPreviewSchema ||
(hasNodeRun && (inputData.length || binaryData.length || search) && !editMode.enabled)
(hasNodeRun &&
(inputData.length || binaryData.length || search || hasMultipleInputNodes) &&
!editMode.enabled)
"
:class="$style.displayModeSelect"
:compact="props.compact"
@@ -1679,7 +1684,10 @@ defineExpose({ enterEditMode });
<div
v-else-if="
hasNodeRun && (!unfilteredDataCount || (search && !dataCount)) && branches.length > 1
hasNodeRun &&
(!unfilteredDataCount || (search && !dataCount)) &&
!displaysMultipleNodes &&
branches.length > 1
"
:class="$style.center"
>
@@ -1700,7 +1708,10 @@ defineExpose({ enterEditMode });
</N8nText>
</div>
<div v-else-if="hasNodeRun && !inputData.length && !search" :class="$style.center">
<div
v-else-if="hasNodeRun && !inputData.length && !displaysMultipleNodes && !search"
:class="$style.center"
>
<slot name="no-output-data">xxx</slot>
</div>
@@ -1816,9 +1827,7 @@ defineExpose({ enterEditMode });
:data="jsonData"
:pane-type="paneType"
:connection-type="connectionType"
:run-index="runIndex"
:output-index="currentOutputIndex"
:total-runs="maxRunIndex"
:search="search"
:class="$style.schema"
:compact="props.compact"