diff --git a/packages/editor-ui/src/components/RunDataJson.vue b/packages/editor-ui/src/components/RunDataJson.vue index 71b20b2426..7a8165658c 100644 --- a/packages/editor-ui/src/components/RunDataJson.vue +++ b/packages/editor-ui/src/components/RunDataJson.vue @@ -17,6 +17,11 @@ import { useTelemetry } from '@/composables/useTelemetry'; import { useElementSize } from '@vueuse/core'; import { N8nIconButton } from 'n8n-design-system'; import { useExecutionHelpers } from '@/composables/useExecutionHelpers'; +import { useI18n } from '@/composables/useI18n'; + +import _ from 'lodash-es'; + +const i18n = useI18n(); const { openRelatedExecution } = useExecutionHelpers(); @@ -24,6 +29,8 @@ const LazyRunDataJsonActions = defineAsyncComponent( async () => await import('@/components/RunDataJsonActions.vue'), ); +const SUBWORKLOW_BUTTON_MARKER = 'o12u312o03u123u138u1239812u31983u12938u12893u1_BUTTON_MARKER'; + const props = withDefaults( defineProps<{ editMode: { enabled?: boolean; value?: string }; @@ -55,7 +62,17 @@ const jsonDataContainer = ref(null); const { height } = useElementSize(jsonDataContainer); const jsonData = computed(() => { - return executionDataToJson(props.inputData); + const x = executionDataToJson(props.inputData).map((x, i) => + _.isEmpty(x) + ? props.inputData[i].metadata + ? { + [SUBWORKLOW_BUTTON_MARKER]: '', + } + : {} + : x, + ); + console.log(x); + return x; }); const firstKey = computed(() => { @@ -122,6 +139,14 @@ const getContent = (value: unknown) => { const getListItemName = (path: string) => { return path.replace(/^(\["?\d"?]\.?)/g, ''); }; + +function isMarkerNode(node: any, inputData: any) { + return ( + node.key === SUBWORKLOW_BUTTON_MARKER && + !isNaN(node.path[1]) && + inputData[Number(node.path[1])].metadata + ); +}