n8n-editor-ui 1.47.1 → 1.47.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +76 -76
- package/dist/assets/{AuthView-CMxdNKZJ.js → AuthView-B_jZMnGj.js} +2 -2
- package/dist/assets/{AuthView-CMxdNKZJ.js.map → AuthView-B_jZMnGj.js.map} +1 -1
- package/dist/assets/{CanvasControls-3FMjwMqA.js → CanvasControls-ns1B0A0j.js} +2 -2
- package/dist/assets/{CanvasControls-3FMjwMqA.js.map → CanvasControls-ns1B0A0j.js.map} +1 -1
- package/dist/assets/{ChangePasswordView-_NkkcUVb.js → ChangePasswordView-BDsuHv0B.js} +2 -2
- package/dist/assets/{ChangePasswordView-_NkkcUVb.js.map → ChangePasswordView-BDsuHv0B.js.map} +1 -1
- package/dist/assets/{CollectionParameter-BXMOfisf.js → CollectionParameter-Br-xtutZ.js} +2 -2
- package/dist/assets/CollectionParameter-Br-xtutZ.js.map +1 -0
- package/dist/assets/{CredentialsView-B2UF3tK_.js → CredentialsView-DnJ_jhDo.js} +2 -2
- package/dist/assets/{CredentialsView-B2UF3tK_.js.map → CredentialsView-DnJ_jhDo.js.map} +1 -1
- package/dist/assets/{ErrorView-B_lpOlen.js → ErrorView-BfV5e5ko.js} +2 -2
- package/dist/assets/{ErrorView-B_lpOlen.js.map → ErrorView-BfV5e5ko.js.map} +1 -1
- package/dist/assets/{ExecutionsFilter-dNFZor7l.js → ExecutionsFilter-0XcXH83H.js} +2 -2
- package/dist/assets/{ExecutionsFilter-dNFZor7l.js.map → ExecutionsFilter-0XcXH83H.js.map} +1 -1
- package/dist/assets/{ExecutionsView-BYe-KERG.js → ExecutionsView-aFiZuLVt.js} +2 -2
- package/dist/assets/{ExecutionsView-BYe-KERG.js.map → ExecutionsView-aFiZuLVt.js.map} +1 -1
- package/dist/assets/{ForgotMyPasswordView-D97J06wc.js → ForgotMyPasswordView-64X9tXq4.js} +2 -2
- package/dist/assets/{ForgotMyPasswordView-D97J06wc.js.map → ForgotMyPasswordView-64X9tXq4.js.map} +1 -1
- package/dist/assets/{MainHeader-CT4nF2mY.js → MainHeader-Ch0Iz_7s.js} +2 -2
- package/dist/assets/{MainHeader-CT4nF2mY.js.map → MainHeader-Ch0Iz_7s.js.map} +1 -1
- package/dist/assets/{MainSidebar-CTg5wPzP.js → MainSidebar-3ee-tTgz.js} +2 -2
- package/dist/assets/{MainSidebar-CTg5wPzP.js.map → MainSidebar-3ee-tTgz.js.map} +1 -1
- package/dist/assets/{NodeCreation-BF_L2-99.js → NodeCreation-PrQGENrl.js} +3 -3
- package/dist/assets/{NodeCreation-BF_L2-99.js.map → NodeCreation-PrQGENrl.js.map} +1 -1
- package/dist/assets/{NodeCreator-B_yCtSu6.js → NodeCreator-DlK1669m.js} +2 -2
- package/dist/assets/{NodeCreator-B_yCtSu6.js.map → NodeCreator-DlK1669m.js.map} +1 -1
- package/dist/assets/{NodeDetailsView-ggolOsHM.js → NodeDetailsView-DcV7LI-g.js} +4 -4
- package/dist/assets/{NodeDetailsView-ggolOsHM.js.map → NodeDetailsView-DcV7LI-g.js.map} +1 -1
- package/dist/assets/{NodeView-B2MlTl6g.js → NodeView-D_kbUfVN.js} +3 -3
- package/dist/assets/{NodeView-B2MlTl6g.js.map → NodeView-D_kbUfVN.js.map} +1 -1
- package/dist/assets/{NodeView.v2-D_CKj9CS.js → NodeView.v2-D_Wbnl01.js} +3 -3
- package/dist/assets/{NodeView.v2-D_CKj9CS.js.map → NodeView.v2-D_Wbnl01.js.map} +1 -1
- package/dist/assets/{ProjectCardBadge.vue_vue_type_script_setup_true_lang-DdHOM703.js → ProjectCardBadge.vue_vue_type_script_setup_true_lang-6oVL0vKx.js} +2 -2
- package/dist/assets/{ProjectCardBadge.vue_vue_type_script_setup_true_lang-DdHOM703.js.map → ProjectCardBadge.vue_vue_type_script_setup_true_lang-6oVL0vKx.js.map} +1 -1
- package/dist/assets/{ProjectSettings-DpJesEZX.js → ProjectSettings-CfcplqBX.js} +2 -2
- package/dist/assets/{ProjectSettings-DpJesEZX.js.map → ProjectSettings-CfcplqBX.js.map} +1 -1
- package/dist/assets/{ProjectTabs-D7nNxtFO.js → ProjectTabs-5ZO9YR8J.js} +2 -2
- package/dist/assets/{ProjectTabs-D7nNxtFO.js.map → ProjectTabs-5ZO9YR8J.js.map} +1 -1
- package/dist/assets/{PushConnectionTracker-YJuy57g2.js → PushConnectionTracker-Bp-RjnYr.js} +2 -2
- package/dist/assets/{PushConnectionTracker-YJuy57g2.js.map → PushConnectionTracker-Bp-RjnYr.js.map} +1 -1
- package/dist/assets/{ResourcesListLayout-mZ4ijKRB.js → ResourcesListLayout-B4W1PSHT.js} +2 -2
- package/dist/assets/{ResourcesListLayout-mZ4ijKRB.js.map → ResourcesListLayout-B4W1PSHT.js.map} +1 -1
- package/dist/assets/{RunDataAi-D0m0Vg_p.js → RunDataAi-C3XiqNZa.js} +2 -2
- package/dist/assets/{RunDataAi-D0m0Vg_p.js.map → RunDataAi-C3XiqNZa.js.map} +1 -1
- package/dist/assets/{RunDataJson-DkHNIqVj.js → RunDataJson-CMcOD-78.js} +3 -3
- package/dist/assets/{RunDataJson-DkHNIqVj.js.map → RunDataJson-CMcOD-78.js.map} +1 -1
- package/dist/assets/{RunDataJsonActions-Cgxcpw8t.js → RunDataJsonActions-BQBpmtOi.js} +2 -2
- package/dist/assets/{RunDataJsonActions-Cgxcpw8t.js.map → RunDataJsonActions-BQBpmtOi.js.map} +1 -1
- package/dist/assets/{RunDataSchema-C6aZoC0a.js → RunDataSchema-CF4YH-8y.js} +2 -2
- package/dist/assets/{RunDataSchema-C6aZoC0a.js.map → RunDataSchema-CF4YH-8y.js.map} +1 -1
- package/dist/assets/{RunDataSearch-D2CDg21N.js → RunDataSearch-DwB8g_cE.js} +2 -2
- package/dist/assets/{RunDataSearch-D2CDg21N.js.map → RunDataSearch-DwB8g_cE.js.map} +1 -1
- package/dist/assets/{RunDataTable-D597NRFD.js → RunDataTable-BVAuNDP9.js} +2 -2
- package/dist/assets/{RunDataTable-D597NRFD.js.map → RunDataTable-BVAuNDP9.js.map} +1 -1
- package/dist/assets/{SamlOnboarding-Me669myi.js → SamlOnboarding-Csd8l-7T.js} +2 -2
- package/dist/assets/{SamlOnboarding-Me669myi.js.map → SamlOnboarding-Csd8l-7T.js.map} +1 -1
- package/dist/assets/{SettingsApiView-DV8pIHDw.js → SettingsApiView-DnvdV7dx.js} +2 -2
- package/dist/assets/{SettingsApiView-DV8pIHDw.js.map → SettingsApiView-DnvdV7dx.js.map} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-D_gtSdk3.js → SettingsCommunityNodesView-C11a_Ybs.js} +2 -2
- package/dist/assets/{SettingsCommunityNodesView-D_gtSdk3.js.map → SettingsCommunityNodesView-C11a_Ybs.js.map} +1 -1
- package/dist/assets/{SettingsExternalSecrets-xprYKjAW.js → SettingsExternalSecrets-IIReUcRG.js} +2 -2
- package/dist/assets/{SettingsExternalSecrets-xprYKjAW.js.map → SettingsExternalSecrets-IIReUcRG.js.map} +1 -1
- package/dist/assets/{SettingsFakeDoorView-CKaSOYh5.js → SettingsFakeDoorView-BOUfBJS8.js} +2 -2
- package/dist/assets/{SettingsFakeDoorView-CKaSOYh5.js.map → SettingsFakeDoorView-BOUfBJS8.js.map} +1 -1
- package/dist/assets/{SettingsLdapView-BBCv2tmk.js → SettingsLdapView-BaSjQ4cy.js} +2 -2
- package/dist/assets/{SettingsLdapView-BBCv2tmk.js.map → SettingsLdapView-BaSjQ4cy.js.map} +1 -1
- package/dist/assets/{SettingsLogStreamingView-HRIp8kyL.js → SettingsLogStreamingView-COGhA1hN.js} +2 -2
- package/dist/assets/{SettingsLogStreamingView-HRIp8kyL.js.map → SettingsLogStreamingView-COGhA1hN.js.map} +1 -1
- package/dist/assets/{SettingsPersonalView-CsUb3SvK.js → SettingsPersonalView-BJGgPTwa.js} +2 -2
- package/dist/assets/{SettingsPersonalView-CsUb3SvK.js.map → SettingsPersonalView-BJGgPTwa.js.map} +1 -1
- package/dist/assets/{SettingsSourceControl-BkPpVGsk.js → SettingsSourceControl-DkdSLuvp.js} +2 -2
- package/dist/assets/{SettingsSourceControl-BkPpVGsk.js.map → SettingsSourceControl-DkdSLuvp.js.map} +1 -1
- package/dist/assets/{SettingsSso-BueUV3RH.js → SettingsSso-DA9AOKH5.js} +2 -2
- package/dist/assets/{SettingsSso-BueUV3RH.js.map → SettingsSso-DA9AOKH5.js.map} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-DzDC9m54.js → SettingsUsageAndPlan-BVPtlthH.js} +2 -2
- package/dist/assets/{SettingsUsageAndPlan-DzDC9m54.js.map → SettingsUsageAndPlan-BVPtlthH.js.map} +1 -1
- package/dist/assets/{SettingsUsersView-CTd5MQLw.js → SettingsUsersView-BuKt4ZDO.js} +2 -2
- package/dist/assets/{SettingsUsersView-CTd5MQLw.js.map → SettingsUsersView-BuKt4ZDO.js.map} +1 -1
- package/dist/assets/{SettingsView-DMxqsNh0.js → SettingsView-DJ78VuiY.js} +2 -2
- package/dist/assets/{SettingsView-DMxqsNh0.js.map → SettingsView-DJ78VuiY.js.map} +1 -1
- package/dist/assets/{SetupView-tkyttChl.js → SetupView-C70Dkfed.js} +2 -2
- package/dist/assets/{SetupView-tkyttChl.js.map → SetupView-C70Dkfed.js.map} +1 -1
- package/dist/assets/{SetupWorkflowCredentialsButton-B3HZvKQp.js → SetupWorkflowCredentialsButton-CEQ1LrFl.js} +2 -2
- package/dist/assets/{SetupWorkflowCredentialsButton-B3HZvKQp.js.map → SetupWorkflowCredentialsButton-CEQ1LrFl.js.map} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-DL3b-TZS.js → SetupWorkflowFromTemplateView-BUzzXtBr.js} +2 -2
- package/dist/assets/{SetupWorkflowFromTemplateView-DL3b-TZS.js.map → SetupWorkflowFromTemplateView-BUzzXtBr.js.map} +1 -1
- package/dist/assets/{SigninView-BPLGsvzz.js → SigninView-B3CNL-yp.js} +2 -2
- package/dist/assets/{SigninView-BPLGsvzz.js.map → SigninView-B3CNL-yp.js.map} +1 -1
- package/dist/assets/{SignoutView-BySf9D7k.js → SignoutView-svcLavkC.js} +2 -2
- package/dist/assets/{SignoutView-BySf9D7k.js.map → SignoutView-svcLavkC.js.map} +1 -1
- package/dist/assets/{SignupView-EU3JWt4T.js → SignupView-DJWRTPKF.js} +2 -2
- package/dist/assets/{SignupView-EU3JWt4T.js.map → SignupView-DJWRTPKF.js.map} +1 -1
- package/dist/assets/{TemplateDetails-Cemx-ozB.js → TemplateDetails-BnbiWxo-.js} +2 -2
- package/dist/assets/{TemplateDetails-Cemx-ozB.js.map → TemplateDetails-BnbiWxo-.js.map} +1 -1
- package/dist/assets/{TemplateList-h3b91b7e.js → TemplateList-By-t2s0M.js} +2 -2
- package/dist/assets/{TemplateList-h3b91b7e.js.map → TemplateList-By-t2s0M.js.map} +1 -1
- package/dist/assets/{TemplatesCollectionView-aBX3f7Pp.js → TemplatesCollectionView-D2L1fmSc.js} +2 -2
- package/dist/assets/{TemplatesCollectionView-aBX3f7Pp.js.map → TemplatesCollectionView-D2L1fmSc.js.map} +1 -1
- package/dist/assets/{TemplatesSearchView-DyoC9WUR.js → TemplatesSearchView-Bmr6Nd6g.js} +2 -2
- package/dist/assets/{TemplatesSearchView-DyoC9WUR.js.map → TemplatesSearchView-Bmr6Nd6g.js.map} +1 -1
- package/dist/assets/{TemplatesView-GQmC_sY8.js → TemplatesView-BbunSn-s.js} +2 -2
- package/dist/assets/{TemplatesView-GQmC_sY8.js.map → TemplatesView-BbunSn-s.js.map} +1 -1
- package/dist/assets/{TemplatesWorkflowView-C-0pXdDh.js → TemplatesWorkflowView-XxBIlMWY.js} +2 -2
- package/dist/assets/{TemplatesWorkflowView-C-0pXdDh.js.map → TemplatesWorkflowView-XxBIlMWY.js.map} +1 -1
- package/dist/assets/{VariablesView-BO5fdkwt.js → VariablesView-ZY5xLmKI.js} +2 -2
- package/dist/assets/{VariablesView-BO5fdkwt.js.map → VariablesView-ZY5xLmKI.js.map} +1 -1
- package/dist/assets/{WorkerView-C3Rdbsfq.js → WorkerView-DV19-i1-.js} +2 -2
- package/dist/assets/{WorkerView-C3Rdbsfq.js.map → WorkerView-DV19-i1-.js.map} +1 -1
- package/dist/assets/{WorkflowActivator-DQXSsw0V.js → WorkflowActivator-BXWURYao.js} +2 -2
- package/dist/assets/{WorkflowActivator-DQXSsw0V.js.map → WorkflowActivator-BXWURYao.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DJPF47om.js → WorkflowExecutionsInfoAccordion-aldNazgt.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DJPF47om.js.map → WorkflowExecutionsInfoAccordion-aldNazgt.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-DoSsHWxH.js → WorkflowExecutionsLandingPage-CaAameTk.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-DoSsHWxH.js.map → WorkflowExecutionsLandingPage-CaAameTk.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsPreview-Dt23N5A4.js → WorkflowExecutionsPreview-Bb-wJtr-.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-Dt23N5A4.js.map → WorkflowExecutionsPreview-Bb-wJtr-.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsView-CpAIVxYQ.js → WorkflowExecutionsView-D7nlOP1-.js} +2 -2
- package/dist/assets/{WorkflowExecutionsView-CpAIVxYQ.js.map → WorkflowExecutionsView-D7nlOP1-.js.map} +1 -1
- package/dist/assets/{WorkflowHistory-D1-E_J_s.js → WorkflowHistory-C6zCGFoY.js} +2 -2
- package/dist/assets/{WorkflowHistory-D1-E_J_s.js.map → WorkflowHistory-C6zCGFoY.js.map} +1 -1
- package/dist/assets/{WorkflowOnboardingView-fzAZuVh5.js → WorkflowOnboardingView-Bu_Oqtr7.js} +2 -2
- package/dist/assets/{WorkflowOnboardingView-fzAZuVh5.js.map → WorkflowOnboardingView-Bu_Oqtr7.js.map} +1 -1
- package/dist/assets/{WorkflowPreview-BkL2jDRm.js → WorkflowPreview-CVwpKdpj.js} +2 -2
- package/dist/assets/{WorkflowPreview-BkL2jDRm.js.map → WorkflowPreview-CVwpKdpj.js.map} +1 -1
- package/dist/assets/{WorkflowsView-rbygROmM.js → WorkflowsView-DVeAZ2zW.js} +2 -2
- package/dist/assets/{WorkflowsView-rbygROmM.js.map → WorkflowsView-DVeAZ2zW.js.map} +1 -1
- package/dist/assets/{cloud-B90x0-JC.js → cloud-BRhZDk2r.js} +2 -2
- package/dist/assets/{cloud-B90x0-JC.js.map → cloud-BRhZDk2r.js.map} +1 -1
- package/dist/assets/{collaboration.store-ElxCV91F.js → collaboration.store-Ol7bcCFc.js} +2 -2
- package/dist/assets/{collaboration.store-ElxCV91F.js.map → collaboration.store-Ol7bcCFc.js.map} +1 -1
- package/dist/assets/{index-BE0Xl-jy.js → index-1OxaEeO3.js} +4 -4
- package/dist/assets/{index-BE0Xl-jy.js.map → index-1OxaEeO3.js.map} +1 -1
- package/dist/assets/{nodeCreator.store-Q1T99YCl.js → nodeCreator.store-FIsc3SCx.js} +2 -2
- package/dist/assets/{nodeCreator.store-Q1T99YCl.js.map → nodeCreator.store-FIsc3SCx.js.map} +1 -1
- package/dist/assets/{templateActions-B7R6qRak.js → templateActions-w_1vSarr.js} +2 -2
- package/dist/assets/{templateActions-B7R6qRak.js.map → templateActions-w_1vSarr.js.map} +1 -1
- package/dist/assets/{useExecutionDebugging-BJ0CgMh8.js → useExecutionDebugging-EHinBq_u.js} +2 -2
- package/dist/assets/{useExecutionDebugging-BJ0CgMh8.js.map → useExecutionDebugging-EHinBq_u.js.map} +1 -1
- package/dist/assets/{useExecutionHelpers-D3294Pbg.js → useExecutionHelpers-LeKoU_T-.js} +2 -2
- package/dist/assets/{useExecutionHelpers-D3294Pbg.js.map → useExecutionHelpers-LeKoU_T-.js.map} +1 -1
- package/dist/assets/{usePushConnection-CsYeEXN4.js → usePushConnection-PQgFeT_8.js} +2 -2
- package/dist/assets/{usePushConnection-CsYeEXN4.js.map → usePushConnection-PQgFeT_8.js.map} +1 -1
- package/dist/assets/{useUserHelpers-CzNhI0vP.js → useUserHelpers-DZtbUAMm.js} +2 -2
- package/dist/assets/{useUserHelpers-CzNhI0vP.js.map → useUserHelpers-DZtbUAMm.js.map} +1 -1
- package/dist/assets/{useWorkflowActivate-D8iK20ua.js → useWorkflowActivate-npf1npdP.js} +2 -2
- package/dist/assets/{useWorkflowActivate-D8iK20ua.js.map → useWorkflowActivate-npf1npdP.js.map} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BXMOfisf.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDataSchema-C6aZoC0a.js","sources":["../../src/components/RunDataSchemaItem.vue","../../src/components/RunDataSchema.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport type { INodeUi, Schema } from '@/Interface';\nimport { checkExhaustive } from '@/utils/typeGuards';\nimport { shorten } from '@/utils/typesUtils';\nimport { getMappedExpression } from '@/utils/mappingUtils';\nimport TextWithHighlights from './TextWithHighlights.vue';\n\ntype Props = {\n\tschema: Schema;\n\tlevel: number;\n\tparent: Schema | null;\n\tsubKey: string;\n\tpaneType: 'input' | 'output';\n\tmappingEnabled: boolean;\n\tdraggingPath: string;\n\tdistanceFromActive: number;\n\tnode: INodeUi | null;\n\tsearch: string;\n};\n\nconst props = defineProps<Props>();\n\nconst isSchemaValueArray = computed(() => Array.isArray(props.schema.value));\nconst schemaArray = computed(\n\t() => (isSchemaValueArray.value ? props.schema.value : []) as Schema[],\n);\nconst isSchemaParentTypeArray = computed(() => props.parent?.type === 'array');\nconst isFlat = computed(\n\t() =>\n\t\tprops.level === 0 &&\n\t\tArray.isArray(props.schema.value) &&\n\t\tprops.schema.value.every((v) => !Array.isArray(v.value)),\n);\nconst key = computed((): string | undefined => {\n\treturn isSchemaParentTypeArray.value ? `[${props.schema.key}]` : props.schema.key;\n});\nconst schemaName = computed(() =>\n\tisSchemaParentTypeArray.value ? `${props.schema.type}[${props.schema.key}]` : props.schema.key,\n);\n\nconst text = computed(() =>\n\tArray.isArray(props.schema.value) ? '' : shorten(props.schema.value, 600, 0),\n);\n\nconst dragged = computed(() => props.draggingPath === props.schema.path);\n\nconst getJsonParameterPath = (path: string): string =>\n\tgetMappedExpression({\n\t\tnodeName: props.node!.name,\n\t\tdistanceFromActive: props.distanceFromActive,\n\t\tpath,\n\t});\n\nconst transitionDelay = (i: number) => `${i * 0.033}s`;\n\nconst getIconBySchemaType = (type: Schema['type']): string => {\n\tswitch (type) {\n\t\tcase 'object':\n\t\t\treturn 'cube';\n\t\tcase 'array':\n\t\t\treturn 'list';\n\t\tcase 'string':\n\t\tcase 'null':\n\t\t\treturn 'font';\n\t\tcase 'number':\n\t\t\treturn 'hashtag';\n\t\tcase 'boolean':\n\t\t\treturn 'check-square';\n\t\tcase 'function':\n\t\t\treturn 'code';\n\t\tcase 'bigint':\n\t\t\treturn 'calculator';\n\t\tcase 'symbol':\n\t\t\treturn 'sun';\n\t\tcase 'undefined':\n\t\t\treturn 'ban';\n\t\tdefault:\n\t\t\tcheckExhaustive(type);\n\t\t\treturn '';\n\t}\n};\n</script>\n\n<template>\n\t<div :class=\"$style.item\" data-test-id=\"run-data-schema-item\">\n\t\t<div\n\t\t\tv-if=\"level > 0 || (level === 0 && !isSchemaValueArray)\"\n\t\t\t:title=\"schema.type\"\n\t\t\t:class=\"{\n\t\t\t\t[$style.pill]: true,\n\t\t\t\t[$style.mappable]: mappingEnabled,\n\t\t\t\t[$style.highlight]: dragged,\n\t\t\t}\"\n\t\t>\n\t\t\t<span\n\t\t\t\t:class=\"$style.label\"\n\t\t\t\t:data-value=\"getJsonParameterPath(schema.path)\"\n\t\t\t\t:data-name=\"schemaName\"\n\t\t\t\t:data-path=\"schema.path\"\n\t\t\t\t:data-depth=\"level\"\n\t\t\t\tdata-target=\"mappable\"\n\t\t\t>\n\t\t\t\t<font-awesome-icon :icon=\"getIconBySchemaType(schema.type)\" size=\"sm\" />\n\t\t\t\t<TextWithHighlights\n\t\t\t\t\tv-if=\"isSchemaParentTypeArray\"\n\t\t\t\t\t:content=\"props.parent?.key\"\n\t\t\t\t\t:search=\"props.search\"\n\t\t\t\t/>\n\t\t\t\t<TextWithHighlights\n\t\t\t\t\tv-if=\"key\"\n\t\t\t\t\t:class=\"{ [$style.arrayIndex]: isSchemaParentTypeArray }\"\n\t\t\t\t\t:content=\"key\"\n\t\t\t\t\t:search=\"props.search\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\t\t<span v-if=\"text\" :class=\"$style.text\">\n\t\t\t<template v-for=\"(line, index) in text.split('\\n')\" :key=\"`line-${index}`\">\n\t\t\t\t<span v-if=\"index > 0\" :class=\"$style.newLine\">\\n</span>{{ line }}\n\t\t\t</template>\n\t\t</span>\n\t\t<input v-if=\"level > 0 && isSchemaValueArray\" :id=\"subKey\" type=\"checkbox\" checked />\n\t\t<label v-if=\"level > 0 && isSchemaValueArray\" :class=\"$style.toggle\" :for=\"subKey\">\n\t\t\t<font-awesome-icon icon=\"angle-up\" />\n\t\t</label>\n\t\t<div v-if=\"isSchemaValueArray\" :class=\"{ [$style.sub]: true, [$style.flat]: isFlat }\">\n\t\t\t<run-data-schema-item\n\t\t\t\tv-for=\"(s, i) in schemaArray\"\n\t\t\t\t:key=\"`${s.type}-${level}-${i}`\"\n\t\t\t\t:schema=\"s\"\n\t\t\t\t:level=\"level + 1\"\n\t\t\t\t:parent=\"schema\"\n\t\t\t\t:pane-type=\"paneType\"\n\t\t\t\t:sub-key=\"`${paneType}_${s.type}-${level}-${i}`\"\n\t\t\t\t:mapping-enabled=\"mappingEnabled\"\n\t\t\t\t:dragging-path=\"draggingPath\"\n\t\t\t\t:distance-from-active=\"distanceFromActive\"\n\t\t\t\t:node=\"node\"\n\t\t\t\t:style=\"{ transitionDelay: transitionDelay(i) }\"\n\t\t\t\t:search=\"search\"\n\t\t\t/>\n\t\t</div>\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n@import '@/styles/variables';\n\n.item {\n\tdisplay: block;\n\tposition: relative;\n\ttransition: all 0.3s $ease-out-expo;\n\n\t.item {\n\t\tpadding-top: var(--spacing-2xs);\n\t\tpadding-left: var(--spacing-l);\n\t}\n\n\tinput {\n\t\tposition: absolute;\n\t\tleft: -100%;\n\n\t\t~ .sub {\n\t\t\theight: 0;\n\n\t\t\t> .item {\n\t\t\t\ttransform: translateX(-100%);\n\t\t\t}\n\t\t}\n\n\t\t&:checked {\n\t\t\t~ .toggle svg {\n\t\t\t\ttransform: rotate(180deg);\n\t\t\t}\n\n\t\t\t~ .sub {\n\t\t\t\theight: auto;\n\n\t\t\t\t> .item {\n\t\t\t\t\ttransform: translateX(0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&::after {\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\tclear: both;\n\t}\n}\n\n.sub {\n\tdisplay: block;\n\toverflow: hidden;\n\ttransition: all 0.2s $ease-out-expo;\n\tclear: both;\n\n\t&.flat {\n\t\t> .item {\n\t\t\tpadding-left: 0;\n\t\t}\n\t}\n\n\t&:nth-of-type(1) {\n\t\t> .item:nth-of-type(1) {\n\t\t\tpadding-top: 0;\n\n\t\t\t.toggle {\n\t\t\t\ttop: -2px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n:global(.highlightSchema) {\n\t.pill.mappable {\n\t\t&,\n\t\t&:hover,\n\t\tspan,\n\t\t&:hover span span {\n\t\t\tcolor: var(--color-primary);\n\t\t\tborder-color: var(--color-primary-tint-1);\n\t\t\tbackground-color: var(--color-primary-tint-3);\n\n\t\t\tsvg {\n\t\t\t\tpath {\n\t\t\t\t\tfill: var(--color-primary);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.pill {\n\tfloat: left;\n\tdisplay: inline-flex;\n\theight: 24px;\n\tpadding: 0 var(--spacing-3xs);\n\tborder: 1px solid var(--color-foreground-light);\n\tborder-radius: 4px;\n\tbackground-color: var(--color-background-xlight);\n\tfont-size: var(--font-size-2xs);\n\tcolor: var(--color-text-dark);\n\n\tspan {\n\t\tdisplay: flex;\n\t\theight: 100%;\n\t\talign-items: center;\n\n\t\tsvg {\n\t\t\tpath {\n\t\t\t\tfill: var(--color-text-light);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.mappable {\n\t\tcursor: grab;\n\n\t\t&:hover {\n\t\t\t&,\n\t\t\tspan span {\n\t\t\t\tbackground-color: var(--color-background-light);\n\t\t\t\tborder-color: var(--color-foreground-base);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.label {\n\t> span {\n\t\tmargin-left: var(--spacing-3xs);\n\t\tpadding-left: var(--spacing-3xs);\n\t\tborder-left: 1px solid var(--color-foreground-light);\n\n\t\t&.arrayIndex {\n\t\t\tborder: 0;\n\t\t\tpadding-left: 0;\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n}\n\n.text {\n\tdisplay: block;\n\tpadding-top: var(--spacing-4xs);\n\tpadding-left: var(--spacing-2xs);\n\tfont-weight: var(--font-weight-normal);\n\tfont-size: var(--font-size-2xs);\n\toverflow: hidden;\n\tword-break: break-word;\n\n\t.newLine {\n\t\tfont-family: var(--font-family-monospace);\n\t\tcolor: var(--color-line-break);\n\t\tpadding-right: 2px;\n\t}\n}\n\n.toggle {\n\tdisplay: flex;\n\tposition: absolute;\n\tpadding: var(--spacing-2xs);\n\tleft: 0;\n\ttop: 5px;\n\tjustify-content: center;\n\talign-items: center;\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-weight: normal;\n\tfont-size: var(--font-size-s);\n\toverflow: hidden;\n\n\tsvg {\n\t\ttransition: all 0.3s $ease-out-expo;\n\t}\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue';\nimport type { INodeUi } from '@/Interface';\nimport RunDataSchemaItem from '@/components/RunDataSchemaItem.vue';\nimport Draggable from '@/components/Draggable.vue';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport { telemetry } from '@/plugins/telemetry';\nimport type { IDataObject } from 'n8n-workflow';\nimport { useExternalHooks } from '@/composables/useExternalHooks';\nimport { i18n } from '@/plugins/i18n';\nimport MappingPill from './MappingPill.vue';\nimport { useDataSchema } from '@/composables/useDataSchema';\n\ntype Props = {\n\tdata: IDataObject[];\n\tmappingEnabled: boolean;\n\tdistanceFromActive: number;\n\trunIndex: number;\n\ttotalRuns: number;\n\tpaneType: 'input' | 'output';\n\tnode: INodeUi | null;\n\tsearch: string;\n};\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdistanceFromActive: 0,\n});\n\nconst draggingPath = ref<string>('');\nconst ndvStore = useNDVStore();\nconst { getSchemaForExecutionData } = useDataSchema();\n\nconst schema = computed(() => getSchemaForExecutionData(props.data));\n\nconst isDataEmpty = computed(() => {\n\t// Utilize the generated schema instead of looping over the entire data again\n\t// The schema for empty data is { type: 'object' | 'array', value: [] }\n\tconst isObjectOrArray = schema.value.type === 'object' || schema.value.type === 'array';\n\tconst isEmpty = Array.isArray(schema.value.value) && schema.value.value.length === 0;\n\n\treturn isObjectOrArray && isEmpty;\n});\n\nconst highlight = computed(() => ndvStore.highlightDraggables);\n\nconst onDragStart = (el: HTMLElement) => {\n\tif (el?.dataset?.path) {\n\t\tdraggingPath.value = el.dataset.path;\n\t}\n\n\tndvStore.resetMappingTelemetry();\n};\nconst onDragEnd = (el: HTMLElement) => {\n\tdraggingPath.value = '';\n\n\tsetTimeout(() => {\n\t\tconst mappingTelemetry = ndvStore.mappingTelemetry;\n\t\tconst telemetryPayload = {\n\t\t\tsrc_node_type: props.node?.type,\n\t\t\tsrc_field_name: el.dataset.name ?? '',\n\t\t\tsrc_nodes_back: props.distanceFromActive,\n\t\t\tsrc_run_index: props.runIndex,\n\t\t\tsrc_runs_total: props.totalRuns,\n\t\t\tsrc_field_nest_level: el.dataset.depth ?? 0,\n\t\t\tsrc_view: 'schema',\n\t\t\tsrc_element: el,\n\t\t\tsuccess: false,\n\t\t\t...mappingTelemetry,\n\t\t};\n\n\t\tvoid useExternalHooks().run('runDataJson.onDragEnd', telemetryPayload);\n\n\t\ttelemetry.track('User dragged data for mapping', telemetryPayload, { withPostHog: true });\n\t}, 1000); // ensure dest data gets set if drop\n};\n</script>\n\n<template>\n\t<div :class=\"[$style.schemaWrapper, { highlightSchema: highlight }]\">\n\t\t<n8n-info-tip v-if=\"isDataEmpty\">{{\n\t\t\ti18n.baseText('dataMapping.schemaView.emptyData')\n\t\t}}</n8n-info-tip>\n\t\t<Draggable\n\t\t\tv-else\n\t\t\ttype=\"mapping\"\n\t\t\ttarget-data-key=\"mappable\"\n\t\t\t:disabled=\"!mappingEnabled\"\n\t\t\t@dragstart=\"onDragStart\"\n\t\t\t@dragend=\"onDragEnd\"\n\t\t>\n\t\t\t<template #preview=\"{ canDrop, el }\">\n\t\t\t\t<MappingPill v-if=\"el\" :html=\"el.outerHTML\" :can-drop=\"canDrop\" />\n\t\t\t</template>\n\t\t\t<div :class=\"$style.schema\">\n\t\t\t\t<RunDataSchemaItem\n\t\t\t\t\t:schema=\"schema\"\n\t\t\t\t\t:level=\"0\"\n\t\t\t\t\t:parent=\"null\"\n\t\t\t\t\t:pane-type=\"paneType\"\n\t\t\t\t\t:sub-key=\"`${schema.type}-0-0`\"\n\t\t\t\t\t:mapping-enabled=\"mappingEnabled\"\n\t\t\t\t\t:dragging-path=\"draggingPath\"\n\t\t\t\t\t:distance-from-active=\"distanceFromActive\"\n\t\t\t\t\t:node=\"node\"\n\t\t\t\t\t:search=\"search\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Draggable>\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n.schemaWrapper {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\toverflow: auto;\n\tline-height: 1.5;\n\tword-break: normal;\n\theight: 100%;\n\twidth: 100%;\n\n\t> div[class*='info'] {\n\t\tpadding: 0 var(--spacing-s);\n\t}\n}\n\n.schema {\n\tdisplay: inline-block;\n\tpadding: 0 var(--spacing-s) var(--spacing-s);\n}\n</style>\n"],"names":["props","__props","isSchemaValueArray","computed","schemaArray","isSchemaParentTypeArray","_a","isFlat","v","key","schemaName","text","shorten","dragged","getJsonParameterPath","path","getMappedExpression","transitionDelay","i","getIconBySchemaType","type","checkExhaustive","draggingPath","ref","ndvStore","useNDVStore","getSchemaForExecutionData","useDataSchema","schema","isDataEmpty","isObjectOrArray","isEmpty","highlight","onDragStart","el","onDragEnd","mappingTelemetry","telemetryPayload","useExternalHooks","telemetry"],"mappings":"uwDAqBA,MAAMA,EAAQC,EAERC,EAAqBC,EAAS,IAAM,MAAM,QAAQH,EAAM,OAAO,KAAK,CAAC,EACrEI,EAAcD,EACnB,IAAOD,EAAmB,MAAQF,EAAM,OAAO,MAAQ,CAAC,CAAA,EAEnDK,EAA0BF,EAAS,IAAM,OAAA,QAAAG,EAAAN,EAAM,SAAN,YAAAM,EAAc,QAAS,QAAO,EACvEC,EAASJ,EACd,IACCH,EAAM,QAAU,GAChB,MAAM,QAAQA,EAAM,OAAO,KAAK,GAChCA,EAAM,OAAO,MAAM,MAAOQ,GAAM,CAAC,MAAM,QAAQA,EAAE,KAAK,CAAC,CAAA,EAEnDC,EAAMN,EAAS,IACbE,EAAwB,MAAQ,IAAIL,EAAM,OAAO,GAAG,IAAMA,EAAM,OAAO,GAC9E,EACKU,EAAaP,EAAS,IAC3BE,EAAwB,MAAQ,GAAGL,EAAM,OAAO,IAAI,IAAIA,EAAM,OAAO,GAAG,IAAMA,EAAM,OAAO,GAAA,EAGtFW,EAAOR,EAAS,IACrB,MAAM,QAAQH,EAAM,OAAO,KAAK,EAAI,GAAKY,EAAQZ,EAAM,OAAO,MAAO,IAAK,CAAC,CAAA,EAGtEa,EAAUV,EAAS,IAAMH,EAAM,eAAiBA,EAAM,OAAO,IAAI,EAEjEc,EAAwBC,GAC7BC,EAAoB,CACnB,SAAUhB,EAAM,KAAM,KACtB,mBAAoBA,EAAM,mBAC1B,KAAAe,CAAA,CACA,EAEIE,EAAmBC,GAAc,GAAGA,EAAI,IAAK,IAE7CC,EAAuBC,GAAiC,CAC7D,OAAQA,EAAM,CACb,IAAK,SACG,MAAA,OACR,IAAK,QACG,MAAA,OACR,IAAK,SACL,IAAK,OACG,MAAA,OACR,IAAK,SACG,MAAA,UACR,IAAK,UACG,MAAA,eACR,IAAK,WACG,MAAA,OACR,IAAK,SACG,MAAA,aACR,IAAK,SACG,MAAA,MACR,IAAK,YACG,MAAA,MACR,QACC,OAAAC,EAAgBD,CAAI,EACb,EACT,CAAA;0+CCxDD,MAAMpB,EAAQC,EAIRqB,EAAeC,EAAY,EAAE,EAC7BC,EAAWC,IACX,CAAE,0BAAAC,GAA8BC,IAEhCC,EAASzB,EAAS,IAAMuB,EAA0B1B,EAAM,IAAI,CAAC,EAE7D6B,EAAc1B,EAAS,IAAM,CAGlC,MAAM2B,EAAkBF,EAAO,MAAM,OAAS,UAAYA,EAAO,MAAM,OAAS,QAC1EG,EAAU,MAAM,QAAQH,EAAO,MAAM,KAAK,GAAKA,EAAO,MAAM,MAAM,SAAW,EAEnF,OAAOE,GAAmBC,CAAA,CAC1B,EAEKC,EAAY7B,EAAS,IAAMqB,EAAS,mBAAmB,EAEvDS,EAAeC,GAAoB,QACpC5B,EAAA4B,GAAA,YAAAA,EAAI,UAAJ,MAAA5B,EAAa,OACHgB,EAAA,MAAQY,EAAG,QAAQ,MAGjCV,EAAS,sBAAsB,CAAA,EAE1BW,EAAaD,GAAoB,CACtCZ,EAAa,MAAQ,GAErB,WAAW,IAAM,OAChB,MAAMc,EAAmBZ,EAAS,iBAC5Ba,EAAmB,CACxB,eAAe/B,EAAAN,EAAM,OAAN,YAAAM,EAAY,KAC3B,eAAgB4B,EAAG,QAAQ,MAAQ,GACnC,eAAgBlC,EAAM,mBACtB,cAAeA,EAAM,SACrB,eAAgBA,EAAM,UACtB,qBAAsBkC,EAAG,QAAQ,OAAS,EAC1C,SAAU,SACV,YAAaA,EACb,QAAS,GACT,GAAGE,CAAA,EAGCE,EAAiB,EAAE,IAAI,wBAAyBD,CAAgB,EAErEE,EAAU,MAAM,gCAAiCF,EAAkB,CAAE,YAAa,GAAM,GACtF,GAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"RunDataSchema-CF4YH-8y.js","sources":["../../src/components/RunDataSchemaItem.vue","../../src/components/RunDataSchema.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport type { INodeUi, Schema } from '@/Interface';\nimport { checkExhaustive } from '@/utils/typeGuards';\nimport { shorten } from '@/utils/typesUtils';\nimport { getMappedExpression } from '@/utils/mappingUtils';\nimport TextWithHighlights from './TextWithHighlights.vue';\n\ntype Props = {\n\tschema: Schema;\n\tlevel: number;\n\tparent: Schema | null;\n\tsubKey: string;\n\tpaneType: 'input' | 'output';\n\tmappingEnabled: boolean;\n\tdraggingPath: string;\n\tdistanceFromActive: number;\n\tnode: INodeUi | null;\n\tsearch: string;\n};\n\nconst props = defineProps<Props>();\n\nconst isSchemaValueArray = computed(() => Array.isArray(props.schema.value));\nconst schemaArray = computed(\n\t() => (isSchemaValueArray.value ? props.schema.value : []) as Schema[],\n);\nconst isSchemaParentTypeArray = computed(() => props.parent?.type === 'array');\nconst isFlat = computed(\n\t() =>\n\t\tprops.level === 0 &&\n\t\tArray.isArray(props.schema.value) &&\n\t\tprops.schema.value.every((v) => !Array.isArray(v.value)),\n);\nconst key = computed((): string | undefined => {\n\treturn isSchemaParentTypeArray.value ? `[${props.schema.key}]` : props.schema.key;\n});\nconst schemaName = computed(() =>\n\tisSchemaParentTypeArray.value ? `${props.schema.type}[${props.schema.key}]` : props.schema.key,\n);\n\nconst text = computed(() =>\n\tArray.isArray(props.schema.value) ? '' : shorten(props.schema.value, 600, 0),\n);\n\nconst dragged = computed(() => props.draggingPath === props.schema.path);\n\nconst getJsonParameterPath = (path: string): string =>\n\tgetMappedExpression({\n\t\tnodeName: props.node!.name,\n\t\tdistanceFromActive: props.distanceFromActive,\n\t\tpath,\n\t});\n\nconst transitionDelay = (i: number) => `${i * 0.033}s`;\n\nconst getIconBySchemaType = (type: Schema['type']): string => {\n\tswitch (type) {\n\t\tcase 'object':\n\t\t\treturn 'cube';\n\t\tcase 'array':\n\t\t\treturn 'list';\n\t\tcase 'string':\n\t\tcase 'null':\n\t\t\treturn 'font';\n\t\tcase 'number':\n\t\t\treturn 'hashtag';\n\t\tcase 'boolean':\n\t\t\treturn 'check-square';\n\t\tcase 'function':\n\t\t\treturn 'code';\n\t\tcase 'bigint':\n\t\t\treturn 'calculator';\n\t\tcase 'symbol':\n\t\t\treturn 'sun';\n\t\tcase 'undefined':\n\t\t\treturn 'ban';\n\t\tdefault:\n\t\t\tcheckExhaustive(type);\n\t\t\treturn '';\n\t}\n};\n</script>\n\n<template>\n\t<div :class=\"$style.item\" data-test-id=\"run-data-schema-item\">\n\t\t<div\n\t\t\tv-if=\"level > 0 || (level === 0 && !isSchemaValueArray)\"\n\t\t\t:title=\"schema.type\"\n\t\t\t:class=\"{\n\t\t\t\t[$style.pill]: true,\n\t\t\t\t[$style.mappable]: mappingEnabled,\n\t\t\t\t[$style.highlight]: dragged,\n\t\t\t}\"\n\t\t>\n\t\t\t<span\n\t\t\t\t:class=\"$style.label\"\n\t\t\t\t:data-value=\"getJsonParameterPath(schema.path)\"\n\t\t\t\t:data-name=\"schemaName\"\n\t\t\t\t:data-path=\"schema.path\"\n\t\t\t\t:data-depth=\"level\"\n\t\t\t\tdata-target=\"mappable\"\n\t\t\t>\n\t\t\t\t<font-awesome-icon :icon=\"getIconBySchemaType(schema.type)\" size=\"sm\" />\n\t\t\t\t<TextWithHighlights\n\t\t\t\t\tv-if=\"isSchemaParentTypeArray\"\n\t\t\t\t\t:content=\"props.parent?.key\"\n\t\t\t\t\t:search=\"props.search\"\n\t\t\t\t/>\n\t\t\t\t<TextWithHighlights\n\t\t\t\t\tv-if=\"key\"\n\t\t\t\t\t:class=\"{ [$style.arrayIndex]: isSchemaParentTypeArray }\"\n\t\t\t\t\t:content=\"key\"\n\t\t\t\t\t:search=\"props.search\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\t\t<span v-if=\"text\" :class=\"$style.text\">\n\t\t\t<template v-for=\"(line, index) in text.split('\\n')\" :key=\"`line-${index}`\">\n\t\t\t\t<span v-if=\"index > 0\" :class=\"$style.newLine\">\\n</span>{{ line }}\n\t\t\t</template>\n\t\t</span>\n\t\t<input v-if=\"level > 0 && isSchemaValueArray\" :id=\"subKey\" type=\"checkbox\" checked />\n\t\t<label v-if=\"level > 0 && isSchemaValueArray\" :class=\"$style.toggle\" :for=\"subKey\">\n\t\t\t<font-awesome-icon icon=\"angle-up\" />\n\t\t</label>\n\t\t<div v-if=\"isSchemaValueArray\" :class=\"{ [$style.sub]: true, [$style.flat]: isFlat }\">\n\t\t\t<run-data-schema-item\n\t\t\t\tv-for=\"(s, i) in schemaArray\"\n\t\t\t\t:key=\"`${s.type}-${level}-${i}`\"\n\t\t\t\t:schema=\"s\"\n\t\t\t\t:level=\"level + 1\"\n\t\t\t\t:parent=\"schema\"\n\t\t\t\t:pane-type=\"paneType\"\n\t\t\t\t:sub-key=\"`${paneType}_${s.type}-${level}-${i}`\"\n\t\t\t\t:mapping-enabled=\"mappingEnabled\"\n\t\t\t\t:dragging-path=\"draggingPath\"\n\t\t\t\t:distance-from-active=\"distanceFromActive\"\n\t\t\t\t:node=\"node\"\n\t\t\t\t:style=\"{ transitionDelay: transitionDelay(i) }\"\n\t\t\t\t:search=\"search\"\n\t\t\t/>\n\t\t</div>\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n@import '@/styles/variables';\n\n.item {\n\tdisplay: block;\n\tposition: relative;\n\ttransition: all 0.3s $ease-out-expo;\n\n\t.item {\n\t\tpadding-top: var(--spacing-2xs);\n\t\tpadding-left: var(--spacing-l);\n\t}\n\n\tinput {\n\t\tposition: absolute;\n\t\tleft: -100%;\n\n\t\t~ .sub {\n\t\t\theight: 0;\n\n\t\t\t> .item {\n\t\t\t\ttransform: translateX(-100%);\n\t\t\t}\n\t\t}\n\n\t\t&:checked {\n\t\t\t~ .toggle svg {\n\t\t\t\ttransform: rotate(180deg);\n\t\t\t}\n\n\t\t\t~ .sub {\n\t\t\t\theight: auto;\n\n\t\t\t\t> .item {\n\t\t\t\t\ttransform: translateX(0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&::after {\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\tclear: both;\n\t}\n}\n\n.sub {\n\tdisplay: block;\n\toverflow: hidden;\n\ttransition: all 0.2s $ease-out-expo;\n\tclear: both;\n\n\t&.flat {\n\t\t> .item {\n\t\t\tpadding-left: 0;\n\t\t}\n\t}\n\n\t&:nth-of-type(1) {\n\t\t> .item:nth-of-type(1) {\n\t\t\tpadding-top: 0;\n\n\t\t\t.toggle {\n\t\t\t\ttop: -2px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n:global(.highlightSchema) {\n\t.pill.mappable {\n\t\t&,\n\t\t&:hover,\n\t\tspan,\n\t\t&:hover span span {\n\t\t\tcolor: var(--color-primary);\n\t\t\tborder-color: var(--color-primary-tint-1);\n\t\t\tbackground-color: var(--color-primary-tint-3);\n\n\t\t\tsvg {\n\t\t\t\tpath {\n\t\t\t\t\tfill: var(--color-primary);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.pill {\n\tfloat: left;\n\tdisplay: inline-flex;\n\theight: 24px;\n\tpadding: 0 var(--spacing-3xs);\n\tborder: 1px solid var(--color-foreground-light);\n\tborder-radius: 4px;\n\tbackground-color: var(--color-background-xlight);\n\tfont-size: var(--font-size-2xs);\n\tcolor: var(--color-text-dark);\n\n\tspan {\n\t\tdisplay: flex;\n\t\theight: 100%;\n\t\talign-items: center;\n\n\t\tsvg {\n\t\t\tpath {\n\t\t\t\tfill: var(--color-text-light);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.mappable {\n\t\tcursor: grab;\n\n\t\t&:hover {\n\t\t\t&,\n\t\t\tspan span {\n\t\t\t\tbackground-color: var(--color-background-light);\n\t\t\t\tborder-color: var(--color-foreground-base);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.label {\n\t> span {\n\t\tmargin-left: var(--spacing-3xs);\n\t\tpadding-left: var(--spacing-3xs);\n\t\tborder-left: 1px solid var(--color-foreground-light);\n\n\t\t&.arrayIndex {\n\t\t\tborder: 0;\n\t\t\tpadding-left: 0;\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n}\n\n.text {\n\tdisplay: block;\n\tpadding-top: var(--spacing-4xs);\n\tpadding-left: var(--spacing-2xs);\n\tfont-weight: var(--font-weight-normal);\n\tfont-size: var(--font-size-2xs);\n\toverflow: hidden;\n\tword-break: break-word;\n\n\t.newLine {\n\t\tfont-family: var(--font-family-monospace);\n\t\tcolor: var(--color-line-break);\n\t\tpadding-right: 2px;\n\t}\n}\n\n.toggle {\n\tdisplay: flex;\n\tposition: absolute;\n\tpadding: var(--spacing-2xs);\n\tleft: 0;\n\ttop: 5px;\n\tjustify-content: center;\n\talign-items: center;\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-weight: normal;\n\tfont-size: var(--font-size-s);\n\toverflow: hidden;\n\n\tsvg {\n\t\ttransition: all 0.3s $ease-out-expo;\n\t}\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue';\nimport type { INodeUi } from '@/Interface';\nimport RunDataSchemaItem from '@/components/RunDataSchemaItem.vue';\nimport Draggable from '@/components/Draggable.vue';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport { telemetry } from '@/plugins/telemetry';\nimport type { IDataObject } from 'n8n-workflow';\nimport { useExternalHooks } from '@/composables/useExternalHooks';\nimport { i18n } from '@/plugins/i18n';\nimport MappingPill from './MappingPill.vue';\nimport { useDataSchema } from '@/composables/useDataSchema';\n\ntype Props = {\n\tdata: IDataObject[];\n\tmappingEnabled: boolean;\n\tdistanceFromActive: number;\n\trunIndex: number;\n\ttotalRuns: number;\n\tpaneType: 'input' | 'output';\n\tnode: INodeUi | null;\n\tsearch: string;\n};\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdistanceFromActive: 0,\n});\n\nconst draggingPath = ref<string>('');\nconst ndvStore = useNDVStore();\nconst { getSchemaForExecutionData } = useDataSchema();\n\nconst schema = computed(() => getSchemaForExecutionData(props.data));\n\nconst isDataEmpty = computed(() => {\n\t// Utilize the generated schema instead of looping over the entire data again\n\t// The schema for empty data is { type: 'object' | 'array', value: [] }\n\tconst isObjectOrArray = schema.value.type === 'object' || schema.value.type === 'array';\n\tconst isEmpty = Array.isArray(schema.value.value) && schema.value.value.length === 0;\n\n\treturn isObjectOrArray && isEmpty;\n});\n\nconst highlight = computed(() => ndvStore.highlightDraggables);\n\nconst onDragStart = (el: HTMLElement) => {\n\tif (el?.dataset?.path) {\n\t\tdraggingPath.value = el.dataset.path;\n\t}\n\n\tndvStore.resetMappingTelemetry();\n};\nconst onDragEnd = (el: HTMLElement) => {\n\tdraggingPath.value = '';\n\n\tsetTimeout(() => {\n\t\tconst mappingTelemetry = ndvStore.mappingTelemetry;\n\t\tconst telemetryPayload = {\n\t\t\tsrc_node_type: props.node?.type,\n\t\t\tsrc_field_name: el.dataset.name ?? '',\n\t\t\tsrc_nodes_back: props.distanceFromActive,\n\t\t\tsrc_run_index: props.runIndex,\n\t\t\tsrc_runs_total: props.totalRuns,\n\t\t\tsrc_field_nest_level: el.dataset.depth ?? 0,\n\t\t\tsrc_view: 'schema',\n\t\t\tsrc_element: el,\n\t\t\tsuccess: false,\n\t\t\t...mappingTelemetry,\n\t\t};\n\n\t\tvoid useExternalHooks().run('runDataJson.onDragEnd', telemetryPayload);\n\n\t\ttelemetry.track('User dragged data for mapping', telemetryPayload, { withPostHog: true });\n\t}, 1000); // ensure dest data gets set if drop\n};\n</script>\n\n<template>\n\t<div :class=\"[$style.schemaWrapper, { highlightSchema: highlight }]\">\n\t\t<n8n-info-tip v-if=\"isDataEmpty\">{{\n\t\t\ti18n.baseText('dataMapping.schemaView.emptyData')\n\t\t}}</n8n-info-tip>\n\t\t<Draggable\n\t\t\tv-else\n\t\t\ttype=\"mapping\"\n\t\t\ttarget-data-key=\"mappable\"\n\t\t\t:disabled=\"!mappingEnabled\"\n\t\t\t@dragstart=\"onDragStart\"\n\t\t\t@dragend=\"onDragEnd\"\n\t\t>\n\t\t\t<template #preview=\"{ canDrop, el }\">\n\t\t\t\t<MappingPill v-if=\"el\" :html=\"el.outerHTML\" :can-drop=\"canDrop\" />\n\t\t\t</template>\n\t\t\t<div :class=\"$style.schema\">\n\t\t\t\t<RunDataSchemaItem\n\t\t\t\t\t:schema=\"schema\"\n\t\t\t\t\t:level=\"0\"\n\t\t\t\t\t:parent=\"null\"\n\t\t\t\t\t:pane-type=\"paneType\"\n\t\t\t\t\t:sub-key=\"`${schema.type}-0-0`\"\n\t\t\t\t\t:mapping-enabled=\"mappingEnabled\"\n\t\t\t\t\t:dragging-path=\"draggingPath\"\n\t\t\t\t\t:distance-from-active=\"distanceFromActive\"\n\t\t\t\t\t:node=\"node\"\n\t\t\t\t\t:search=\"search\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Draggable>\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n.schemaWrapper {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\toverflow: auto;\n\tline-height: 1.5;\n\tword-break: normal;\n\theight: 100%;\n\twidth: 100%;\n\n\t> div[class*='info'] {\n\t\tpadding: 0 var(--spacing-s);\n\t}\n}\n\n.schema {\n\tdisplay: inline-block;\n\tpadding: 0 var(--spacing-s) var(--spacing-s);\n}\n</style>\n"],"names":["props","__props","isSchemaValueArray","computed","schemaArray","isSchemaParentTypeArray","_a","isFlat","v","key","schemaName","text","shorten","dragged","getJsonParameterPath","path","getMappedExpression","transitionDelay","i","getIconBySchemaType","type","checkExhaustive","draggingPath","ref","ndvStore","useNDVStore","getSchemaForExecutionData","useDataSchema","schema","isDataEmpty","isObjectOrArray","isEmpty","highlight","onDragStart","el","onDragEnd","mappingTelemetry","telemetryPayload","useExternalHooks","telemetry"],"mappings":"uwDAqBA,MAAMA,EAAQC,EAERC,EAAqBC,EAAS,IAAM,MAAM,QAAQH,EAAM,OAAO,KAAK,CAAC,EACrEI,EAAcD,EACnB,IAAOD,EAAmB,MAAQF,EAAM,OAAO,MAAQ,CAAC,CAAA,EAEnDK,EAA0BF,EAAS,IAAM,OAAA,QAAAG,EAAAN,EAAM,SAAN,YAAAM,EAAc,QAAS,QAAO,EACvEC,EAASJ,EACd,IACCH,EAAM,QAAU,GAChB,MAAM,QAAQA,EAAM,OAAO,KAAK,GAChCA,EAAM,OAAO,MAAM,MAAOQ,GAAM,CAAC,MAAM,QAAQA,EAAE,KAAK,CAAC,CAAA,EAEnDC,EAAMN,EAAS,IACbE,EAAwB,MAAQ,IAAIL,EAAM,OAAO,GAAG,IAAMA,EAAM,OAAO,GAC9E,EACKU,EAAaP,EAAS,IAC3BE,EAAwB,MAAQ,GAAGL,EAAM,OAAO,IAAI,IAAIA,EAAM,OAAO,GAAG,IAAMA,EAAM,OAAO,GAAA,EAGtFW,EAAOR,EAAS,IACrB,MAAM,QAAQH,EAAM,OAAO,KAAK,EAAI,GAAKY,EAAQZ,EAAM,OAAO,MAAO,IAAK,CAAC,CAAA,EAGtEa,EAAUV,EAAS,IAAMH,EAAM,eAAiBA,EAAM,OAAO,IAAI,EAEjEc,EAAwBC,GAC7BC,EAAoB,CACnB,SAAUhB,EAAM,KAAM,KACtB,mBAAoBA,EAAM,mBAC1B,KAAAe,CAAA,CACA,EAEIE,EAAmBC,GAAc,GAAGA,EAAI,IAAK,IAE7CC,EAAuBC,GAAiC,CAC7D,OAAQA,EAAM,CACb,IAAK,SACG,MAAA,OACR,IAAK,QACG,MAAA,OACR,IAAK,SACL,IAAK,OACG,MAAA,OACR,IAAK,SACG,MAAA,UACR,IAAK,UACG,MAAA,eACR,IAAK,WACG,MAAA,OACR,IAAK,SACG,MAAA,aACR,IAAK,SACG,MAAA,MACR,IAAK,YACG,MAAA,MACR,QACC,OAAAC,EAAgBD,CAAI,EACb,EACT,CAAA;0+CCxDD,MAAMpB,EAAQC,EAIRqB,EAAeC,EAAY,EAAE,EAC7BC,EAAWC,IACX,CAAE,0BAAAC,GAA8BC,IAEhCC,EAASzB,EAAS,IAAMuB,EAA0B1B,EAAM,IAAI,CAAC,EAE7D6B,EAAc1B,EAAS,IAAM,CAGlC,MAAM2B,EAAkBF,EAAO,MAAM,OAAS,UAAYA,EAAO,MAAM,OAAS,QAC1EG,EAAU,MAAM,QAAQH,EAAO,MAAM,KAAK,GAAKA,EAAO,MAAM,MAAM,SAAW,EAEnF,OAAOE,GAAmBC,CAAA,CAC1B,EAEKC,EAAY7B,EAAS,IAAMqB,EAAS,mBAAmB,EAEvDS,EAAeC,GAAoB,QACpC5B,EAAA4B,GAAA,YAAAA,EAAI,UAAJ,MAAA5B,EAAa,OACHgB,EAAA,MAAQY,EAAG,QAAQ,MAGjCV,EAAS,sBAAsB,CAAA,EAE1BW,EAAaD,GAAoB,CACtCZ,EAAa,MAAQ,GAErB,WAAW,IAAM,OAChB,MAAMc,EAAmBZ,EAAS,iBAC5Ba,EAAmB,CACxB,eAAe/B,EAAAN,EAAM,OAAN,YAAAM,EAAY,KAC3B,eAAgB4B,EAAG,QAAQ,MAAQ,GACnC,eAAgBlC,EAAM,mBACtB,cAAeA,EAAM,SACrB,eAAgBA,EAAM,UACtB,qBAAsBkC,EAAG,QAAQ,OAAS,EAC1C,SAAU,SACV,YAAaA,EACb,QAAS,GACT,GAAGE,CAAA,EAGCE,EAAiB,EAAE,IAAI,wBAAyBD,CAAgB,EAErEE,EAAU,MAAM,gCAAiCF,EAAkB,CAAE,YAAa,GAAM,GACtF,GAAI,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{x}from"./index-
|
|
2
|
-
//# sourceMappingURL=RunDataSearch-
|
|
1
|
+
import{x}from"./index-1OxaEeO3.js";import{G as b,r as u,e as d,b as O,Y as M,ag as h,l as g,M as A,O as H,U as L,I as _,J as V}from"./vendor-Dv5OeN6t.js";import{_ as k}from"./n8n-4UEsHtUL.js";import"./pinia-sugP77Im.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CIxnBJXX.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-BOfzoJX1.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const D="34px",W="200px",C="120px",B=b({__name:"RunDataSearch",props:{modelValue:{},paneType:{default:"output"},isAreaActive:{type:Boolean,default:!1}},emits:["update:modelValue","focus"],setup(f,{emit:S}){const r=S,s=f,c=x(),o=u(null),a=u(!1),y=d(()=>s.paneType==="input"?c.baseText("ndv.search.placeholder.input"):c.baseText("ndv.search.placeholder.output")),v=d(()=>a.value?{maxWidth:W,minWidth:C}:{maxWidth:D}),l=e=>{var t,n,p,m;const i=e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLSelectElement||((n=(t=e.target)==null?void 0:t.getAttribute)==null?void 0:n.call(t,"contentEditable"))==="true";e.key==="/"&&s.isAreaActive&&!i&&((p=o.value)==null||p.focus(),(m=o.value)==null||m.select())},T=e=>{r("update:modelValue",e)},E=()=>{var e;a.value=!0,(e=o.value)==null||e.select(),r("focus")},I=()=>{s.modelValue||(a.value=!1)};return O(()=>{document.addEventListener("keyup",l)}),M(()=>{document.removeEventListener("keyup",l)}),(e,i)=>{const t=h("n8n-icon"),n=h("n8n-input");return g(),A(n,{ref_key:"inputRef",ref:o,"data-test-id":"ndv-search",class:_({[e.$style.ioSearch]:!0,[e.$style.ioSearchOpened]:a.value}),style:V(v.value),"model-value":e.modelValue,placeholder:y.value,size:"small","onUpdate:modelValue":T,onFocus:E,onBlur:I},{prefix:H(()=>[L(t,{class:_(e.$style.ioSearchIcon),icon:"search"},null,8,["class"])]),_:1},8,["class","style","model-value","placeholder"])}}}),N="_ioSearch_17btl_1",R="_ioSearchIcon_17btl_4",U="_ioSearchOpened_17btl_14",$={ioSearch:N,ioSearchIcon:R,ioSearchOpened:U},z={$style:$},Se=k(B,[["__cssModules",z]]);export{Se as default};
|
|
2
|
+
//# sourceMappingURL=RunDataSearch-DwB8g_cE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDataSearch-
|
|
1
|
+
{"version":3,"file":"RunDataSearch-DwB8g_cE.js","sources":["../../src/components/RunDataSearch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, onMounted, onUnmounted, type StyleValue } from 'vue';\nimport { useI18n } from '@/composables/useI18n';\nimport type { NodePanelType } from '@/Interface';\n\ntype Props = {\n\tmodelValue: string;\n\tpaneType?: NodePanelType;\n\tisAreaActive?: boolean;\n};\n\nconst COLLAPSED_WIDTH = '34px';\nconst OPEN_WIDTH = '200px';\nconst OPEN_MIN_WIDTH = '120px';\n\nconst emit = defineEmits<{\n\t(event: 'update:modelValue', value: Props['modelValue']): void;\n\t(event: 'focus'): void;\n}>();\n\nconst props = withDefaults(defineProps<Props>(), {\n\tpaneType: 'output',\n\tisAreaActive: false,\n});\n\nconst locale = useI18n();\n\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst opened = ref(false);\nconst placeholder = computed(() =>\n\tprops.paneType === 'input'\n\t\t? locale.baseText('ndv.search.placeholder.input')\n\t\t: locale.baseText('ndv.search.placeholder.output'),\n);\n\nconst style = computed<StyleValue>(() =>\n\topened.value ? { maxWidth: OPEN_WIDTH, minWidth: OPEN_MIN_WIDTH } : { maxWidth: COLLAPSED_WIDTH },\n);\n\nconst documentKeyHandler = (event: KeyboardEvent) => {\n\tconst isTargetFormElementOrEditable =\n\t\tevent.target instanceof HTMLInputElement ||\n\t\tevent.target instanceof HTMLTextAreaElement ||\n\t\tevent.target instanceof HTMLSelectElement ||\n\t\t(event.target as HTMLElement)?.getAttribute?.('contentEditable') === 'true';\n\n\tif (event.key === '/' && props.isAreaActive && !isTargetFormElementOrEditable) {\n\t\tinputRef.value?.focus();\n\t\tinputRef.value?.select();\n\t}\n};\n\nconst onSearchUpdate = (value: string) => {\n\temit('update:modelValue', value);\n};\nconst onFocus = () => {\n\topened.value = true;\n\tinputRef.value?.select();\n\temit('focus');\n};\nconst onBlur = () => {\n\tif (!props.modelValue) {\n\t\topened.value = false;\n\t}\n};\nonMounted(() => {\n\tdocument.addEventListener('keyup', documentKeyHandler);\n});\nonUnmounted(() => {\n\tdocument.removeEventListener('keyup', documentKeyHandler);\n});\n</script>\n\n<template>\n\t<n8n-input\n\t\tref=\"inputRef\"\n\t\tdata-test-id=\"ndv-search\"\n\t\t:class=\"{\n\t\t\t[$style.ioSearch]: true,\n\t\t\t[$style.ioSearchOpened]: opened,\n\t\t}\"\n\t\t:style=\"style\"\n\t\t:model-value=\"modelValue\"\n\t\t:placeholder=\"placeholder\"\n\t\tsize=\"small\"\n\t\t@update:model-value=\"onSearchUpdate\"\n\t\t@focus=\"onFocus\"\n\t\t@blur=\"onBlur\"\n\t>\n\t\t<template #prefix>\n\t\t\t<n8n-icon :class=\"$style.ioSearchIcon\" icon=\"search\" />\n\t\t</template>\n\t</n8n-input>\n</template>\n\n<style lang=\"scss\" module>\n@import '@/styles/variables';\n\n.ioSearch {\n\ttransition: max-width 0.3s $ease-out-expo;\n\n\t.ioSearchIcon {\n\t\tcolor: var(--color-foreground-xdark);\n\t\tcursor: pointer;\n\t}\n\n\tinput {\n\t\tborder: 0;\n\t\tbackground: transparent;\n\t\tcursor: pointer;\n\t}\n}\n\n.ioSearchOpened {\n\t.ioSearchIcon {\n\t\tcursor: default;\n\t}\n\tinput {\n\t\tborder: var(--input-border-color, var(--border-color-base))\n\t\t\tvar(--input-border-style, var(--border-style-base)) var(--border-width-base);\n\t\tbackground: var(--input-background-color, var(--color-foreground-xlight));\n\t\tcursor: text;\n\t}\n}\n</style>\n"],"names":["COLLAPSED_WIDTH","OPEN_WIDTH","OPEN_MIN_WIDTH","emit","__emit","props","__props","locale","useI18n","inputRef","ref","opened","placeholder","computed","style","documentKeyHandler","event","isTargetFormElementOrEditable","_b","_a","_c","_d","onSearchUpdate","value","onFocus","onBlur","onMounted","onUnmounted"],"mappings":"wmCAWA,MAAMA,EAAkB,OAClBC,EAAa,QACbC,EAAiB,mLAEvB,MAAMC,EAAOC,EAKPC,EAAQC,EAKRC,EAASC,IAETC,EAAWC,EAA6B,IAAI,EAC5CC,EAASD,EAAI,EAAK,EAClBE,EAAcC,EAAS,IAC5BR,EAAM,WAAa,QAChBE,EAAO,SAAS,8BAA8B,EAC9CA,EAAO,SAAS,+BAA+B,CAAA,EAG7CO,EAAQD,EAAqB,IAClCF,EAAO,MAAQ,CAAE,SAAUV,EAAY,SAAUC,CAAe,EAAI,CAAE,SAAUF,CAAgB,CAAA,EAG3Fe,EAAsBC,GAAyB,aACpD,MAAMC,EACLD,EAAM,kBAAkB,kBACxBA,EAAM,kBAAkB,qBACxBA,EAAM,kBAAkB,qBACvBE,GAAAC,EAAAH,EAAM,SAAN,YAAAG,EAA8B,eAA9B,YAAAD,EAAA,KAAAC,EAA6C,sBAAuB,OAElEH,EAAM,MAAQ,KAAOX,EAAM,cAAgB,CAACY,KAC/CG,EAAAX,EAAS,QAAT,MAAAW,EAAgB,SAChBC,EAAAZ,EAAS,QAAT,MAAAY,EAAgB,SACjB,EAGKC,EAAkBC,GAAkB,CACzCpB,EAAK,oBAAqBoB,CAAK,CAAA,EAE1BC,EAAU,IAAM,OACrBb,EAAO,MAAQ,IACfQ,EAAAV,EAAS,QAAT,MAAAU,EAAgB,SAChBhB,EAAK,OAAO,CAAA,EAEPsB,EAAS,IAAM,CACfpB,EAAM,aACVM,EAAO,MAAQ,GAChB,EAED,OAAAe,EAAU,IAAM,CACN,SAAA,iBAAiB,QAASX,CAAkB,CAAA,CACrD,EACDY,EAAY,IAAM,CACR,SAAA,oBAAoB,QAASZ,CAAkB,CAAA,CACxD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{m as A}from"./pinia-sugP77Im.js";import{j,K as L,s as O,er as R,es as S,a3 as B}from"./index-BE0Xl-jy.js";import{D as F}from"./NodeDetailsView-ggolOsHM.js";import{M as W,T as J}from"./TextWithHighlights-kUoC0rXY.js";import{G as q,ag as v,l as r,m as g,I as a,p as o,F as M,a7 as E,U as h,O as d,S as T,T as $,R as N,M as K}from"./vendor-Dv5OeN6t.js";import{_ as G}from"./n8n-4UEsHtUL.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CIxnBJXX.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-BOfzoJX1.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";import"./file-saver-By8WREO3.js";import"./vue-json-pretty-Cqx2Hpq3.js";import"./dateFormatter-CfbOITvW.js";import"./RunDataAi-D0m0Vg_p.js";import"./useWorkflowActivate-D8iK20ua.js";const I=40,U=q({name:"RunDataTable",components:{Draggable:F,MappingPill:W,TextWithHighlights:J},props:{node:{type:Object,required:!0},inputData:{type:Array,required:!0},mappingEnabled:{type:Boolean},distanceFromActive:{type:Number,required:!0},runIndex:{type:Number},outputIndex:{type:Number},totalRuns:{type:Number},pageOffset:{type:Number,required:!0},hasDefaultHoverState:{type:Boolean},search:{type:String}},setup(){return{externalHooks:B()}},data(){return{activeColumn:-1,forceShowGrip:!1,draggedColumn:!1,draggingPath:null,hoveringPath:null,mappingHintVisible:!1,activeRow:null,columnLimit:I,columnLimitExceeded:!1}},mounted(){if(this.tableData&&this.tableData.columns&&this.$refs.draggable){const e=this.$refs.draggable.$refs.wrapper;e&&this.$emit("mounted",{avgRowHeight:e.offsetHeight/this.tableData.data.length})}},computed:{...A(L,j),hoveringItem(){return this.ndvStore.hoveringItem},pairedItemMappings(){return this.workflowsStore.workflowExecutionPairedItemMappings},tableData(){return this.convertToTable(this.inputData)},focusedMappableInput(){return this.ndvStore.focusedMappableInput},highlight(){return this.ndvStore.highlightDraggables}},methods:{shorten:O,isHoveringRow(e){var l;if(e===this.activeRow)return!0;const t=this.pageOffset+e;if(t===0&&!this.hoveringItem&&this.hasDefaultHoverState&&this.distanceFromActive===1)return!0;const n=R(((l=this.node)==null?void 0:l.name)??"",this.runIndex||0,this.outputIndex||0,t);if(!this.hoveringItem||!this.pairedItemMappings[n])return!1;const m=R(this.hoveringItem.nodeName,this.hoveringItem.runIndex,this.hoveringItem.outputIndex,this.hoveringItem.itemIndex);return this.pairedItemMappings[n].has(m)},onMouseEnterCell(e){const t=e.target;if(t&&this.mappingEnabled){const n=t.dataset.col;n&&!isNaN(parseInt(n,10))&&(this.activeColumn=parseInt(n,10))}if(t){const n=t.dataset.row;n&&!isNaN(parseInt(n,10))&&(this.activeRow=parseInt(n,10),this.$emit("activeRowChanged",this.pageOffset+this.activeRow))}},onMouseLeaveCell(){this.activeColumn=-1,this.activeRow=null,this.$emit("activeRowChanged",null)},onMouseEnterKey(e,t){this.hoveringPath=this.getCellExpression(e,t)},onMouseLeaveKey(){this.hoveringPath=null},isHovering(e,t){const n=this.getCellExpression(e,t);return this.hoveringPath===n},getExpression(e){return this.node?S({nodeName:this.node.name,distanceFromActive:this.distanceFromActive,path:[e]}):""},getPathNameFromTarget(e){return e?e.dataset.name:""},getCellPathName(e,t){const n=e[e.length-1];return typeof n=="string"?n:e.length>1?`${e[e.length-2]}[${n}]`:`${this.tableData.columns[t]}[${n}]`},getCellExpression(e,t){if(!this.node)return"";const n=this.tableData.columns[t];return S({nodeName:this.node.name,distanceFromActive:this.distanceFromActive,path:[n,...e]})},isEmpty(e){return e===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&Object.keys(e).length===0||e===null||e===void 0},getValueToRender(e){return e===""?this.$locale.baseText("runData.emptyString"):typeof e=="string"?e:Array.isArray(e)&&e.length===0?this.$locale.baseText("runData.emptyArray"):typeof e=="object"&&e!==null&&Object.keys(e).length===0?this.$locale.baseText("runData.emptyObject"):e==null?`[${e}]`:e===!0||e===!1||typeof e=="number"?e.toString():JSON.stringify(e)},onDragStart(){this.draggedColumn=!0,this.ndvStore.resetMappingTelemetry()},onCellDragStart(e){e!=null&&e.dataset.value&&(this.draggingPath=e.dataset.value),this.onDragStart()},onCellDragEnd(e){this.draggingPath=null,this.onDragEnd(e.dataset.name||"","tree",e.dataset.depth||"0")},isDraggingKey(e,t){if(this.draggingPath)return this.draggingPath===this.getCellExpression(e,t)},onDragEnd(e,t,n="0"){setTimeout(()=>{const m=this.ndvStore.mappingTelemetry,l={src_node_type:this.node.type,src_field_name:e,src_nodes_back:this.distanceFromActive,src_run_index:this.runIndex,src_runs_total:this.totalRuns,src_field_nest_level:parseInt(n,10),src_view:"table",src_element:t,success:!1,...m};this.externalHooks.run("runDataTable.onDragEnd",l),this.$telemetry.track("User dragged data for mapping",l,{withPostHog:!0})},1e3)},isSimple(e){return typeof e!="object"||e===null||Array.isArray(e)&&e.length===0||typeof e=="object"&&Object.keys(e).length===0},hasJsonInColumn(e){return this.tableData.hasJson[this.tableData.columns[e]]},convertToTable(e){const t=[],n=[];let m,l,c;const C={};return e.forEach(y=>{if(!y.hasOwnProperty("json"))return;c=y.json,l=[];const D=Object.keys(c||{});D.length>I?(this.columnLimitExceeded=!0,m=D.slice(0,I)):m=D,n.forEach(s=>{c.hasOwnProperty(s)?(l.push(c[s]),m.splice(m.indexOf(s),1),C[s]=C[s]||typeof c[s]=="object"&&Object.keys(c[s]||{}).length>0||!1):l.push(void 0)}),m.forEach(s=>{n.push(s),l.push(c[s]),C[s]=C[s]||typeof c[s]=="object"&&Object.keys(c[s]||{}).length>0||!1}),t.push(l)}),t.forEach(y=>{n.length>y.length&&y.push(...new Array(n.length-y.length))}),{hasJson:C,columns:n,data:t}},switchToJsonView(){this.$emit("displayModeChange","json")}},watch:{focusedMappableInput(e){setTimeout(()=>{this.forceShowGrip=!!this.focusedMappableInput},e?300:150)}}}),z="/%257B%257BBASE_PATH%257D%257D/static/data-mapping-gif.gif",X="_dataDisplay_5ss8n_1",Q="_table_5ss8n_14",Y="_nodeClass_5ss8n_63",Z="_emptyCell_5ss8n_67",x="_header_5ss8n_71",ee="_draggableHeader_5ss8n_83",te="_dragButton_5ss8n_87",ne="_highlight_5ss8n_91",ae="_draggingHeader_5ss8n_95",se="_activeHeader_5ss8n_100",oe="_dataKey_5ss8n_109",re="_value_5ss8n_118",ie="_nestedValue_5ss8n_122 _value_5ss8n_118",le="_mappable_5ss8n_127",ge="_empty_5ss8n_67",de="_limitColWidth_5ss8n_135",pe="_minColWidth_5ss8n_139",he="_hoveringKey_5ss8n_143",me="_draggingKey_5ss8n_147",ue="_tableRightMargin_5ss8n_151",ce="_hoveringRow_5ss8n_159",ye="_warningTooltip_5ss8n_164",be={dataDisplay:X,table:Q,nodeClass:Y,emptyCell:Z,header:x,draggableHeader:ee,dragButton:te,highlight:ne,draggingHeader:ae,activeHeader:se,dataKey:oe,value:re,nestedValue:ie,mappable:le,empty:ge,limitColWidth:de,minColWidth:pe,hoveringKey:he,draggingKey:me,tableRightMargin:ue,hoveringRow:ce,warningTooltip:ye},fe=["data-row"],ve=o("img",{src:z},null,-1),Ce=["data-test-id"],De=["data-row","data-col"],we=["data-name","data-value","data-depth","onMouseenter"],$e={key:0};function Me(e,t,n,m,l,c){const C=v("n8n-info-tip"),y=v("MappingPill"),D=v("TextWithHighlights"),s=v("font-awesome-icon"),_=v("Draggable"),H=v("n8n-tooltip"),P=v("i18n-t"),k=v("n8n-tree");return r(),g("div",{class:a([e.$style.dataDisplay,{[e.$style.highlight]:e.highlight}])},[e.tableData.columns&&e.tableData.columns.length===0?(r(),g("table",{key:0,class:a(e.$style.table)},[o("tr",null,[o("th",{class:a(e.$style.emptyCell)},null,2),o("th",{class:a(e.$style.tableRightMargin)},null,2)]),(r(!0),g(M,null,E(e.tableData.data,(u,p)=>(r(),g("tr",{key:p,class:a({[e.$style.hoveringRow]:e.isHoveringRow(p)})},[o("td",{"data-row":p,"data-col":0,onMouseenter:t[0]||(t[0]=(...i)=>e.onMouseEnterCell&&e.onMouseEnterCell(...i)),onMouseleave:t[1]||(t[1]=(...i)=>e.onMouseLeaveCell&&e.onMouseLeaveCell(...i))},[h(C,null,{default:d(()=>[T($(e.$locale.baseText("runData.emptyItemHint")),1)]),_:1})],40,fe),o("td",{class:a(e.$style.tableRightMargin)},null,2)],2))),128))],2)):(r(),g("table",{key:1,class:a(e.$style.table)},[o("thead",null,[o("tr",null,[(r(!0),g(M,null,E(e.tableData.columns||[],(u,p)=>(r(),g("th",{key:u},[h(H,{placement:"bottom-start",disabled:!e.mappingEnabled,"show-after":1e3},{content:d(()=>[o("div",null,[ve,T(" "+$(e.$locale.baseText("dataMapping.dragColumnToFieldHint")),1)])]),default:d(()=>[h(_,{type:"mapping",data:e.getExpression(u),disabled:!e.mappingEnabled,onDragstart:e.onDragStart,onDragend:i=>e.onDragEnd(i,"column")},{preview:d(({canDrop:i})=>[h(y,{html:e.shorten(u,16,2),"can-drop":i},null,8,["html","can-drop"])]),default:d(({isDragging:i})=>[o("div",{class:a({[e.$style.header]:!0,[e.$style.draggableHeader]:e.mappingEnabled,[e.$style.activeHeader]:(p===e.activeColumn||e.forceShowGrip)&&e.mappingEnabled,[e.$style.draggingHeader]:i})},[h(D,{content:e.getValueToRender(u||""),search:e.search},null,8,["content","search"]),o("div",{class:a(e.$style.dragButton)},[h(s,{icon:"grip-vertical"})],2)],2)]),_:2},1032,["data","disabled","onDragstart","onDragend"])]),_:2},1032,["disabled"])]))),128)),e.columnLimitExceeded?(r(),g("th",{key:0,class:a(e.$style.header)},[h(H,{placement:"bottom-end"},{content:d(()=>[o("div",null,[h(P,{tag:"span",keypath:"dataMapping.tableView.tableColumnsExceeded.tooltip"},{columnLimit:d(()=>[T($(e.columnLimit),1)]),link:d(()=>[o("a",{onClick:t[2]||(t[2]=(...u)=>e.switchToJsonView&&e.switchToJsonView(...u))},$(e.$locale.baseText("dataMapping.tableView.tableColumnsExceeded.tooltip.link")),1)]),_:1})])]),default:d(()=>[o("span",null,[h(s,{class:a(e.$style.warningTooltip),icon:"exclamation-triangle"},null,8,["class"]),T(" "+$(e.$locale.baseText("dataMapping.tableView.tableColumnsExceeded")),1)])]),_:1})],2)):N("",!0),o("th",{class:a(e.$style.tableRightMargin)},null,2)])]),h(_,{ref:"draggable",tag:"tbody",type:"mapping","target-data-key":"mappable",disabled:!e.mappingEnabled,onDragstart:e.onCellDragStart,onDragend:e.onCellDragEnd},{preview:d(({canDrop:u,el:p})=>[h(y,{html:e.shorten(e.getPathNameFromTarget(p)||"",16,2),"can-drop":u},null,8,["html","can-drop"])]),default:d(()=>[(r(!0),g(M,null,E(e.tableData.data,(u,p)=>(r(),g("tr",{key:p,class:a({[e.$style.hoveringRow]:e.isHoveringRow(p)}),"data-test-id":e.isHoveringRow(p)?"hovering-item":void 0},[(r(!0),g(M,null,E(u,(i,b)=>(r(),g("td",{key:b,"data-row":p,"data-col":b,class:a(e.hasJsonInColumn(b)?e.$style.minColWidth:e.$style.limitColWidth),onMouseenter:t[4]||(t[4]=(...f)=>e.onMouseEnterCell&&e.onMouseEnterCell(...f)),onMouseleave:t[5]||(t[5]=(...f)=>e.onMouseLeaveCell&&e.onMouseLeaveCell(...f))},[e.isSimple(i)?(r(),K(D,{key:0,content:e.getValueToRender(i),search:e.search,class:a({[e.$style.value]:!0,[e.$style.empty]:e.isEmpty(i)})},null,8,["content","search","class"])):(r(),K(k,{key:1,"node-class":e.$style.nodeClass,value:i},{label:d(({label:f,path:w})=>[o("span",{class:a({[e.$style.hoveringKey]:e.mappingEnabled&&e.isHovering(w,b),[e.$style.draggingKey]:e.isDraggingKey(w,b),[e.$style.dataKey]:!0,[e.$style.mappable]:e.mappingEnabled}),"data-target":"mappable","data-name":e.getCellPathName(w,b),"data-value":e.getCellExpression(w,b),"data-depth":w.length,onMouseenter:()=>e.onMouseEnterKey(w,b),onMouseleave:t[3]||(t[3]=(...V)=>e.onMouseLeaveKey&&e.onMouseLeaveKey(...V))},$(f||e.$locale.baseText("runData.unnamedField")),43,we)]),value:d(({value:f})=>[h(D,{content:e.getValueToRender(f),search:e.search,class:a({[e.$style.nestedValue]:!0,[e.$style.empty]:e.isEmpty(f)})},null,8,["content","search","class"])]),_:2},1032,["node-class","value"]))],42,De))),128)),e.columnLimitExceeded?(r(),g("td",$e)):N("",!0),o("td",{class:a(e.$style.tableRightMargin)},null,2)],10,Ce))),128))]),_:1},8,["disabled","onDragstart","onDragend"])],2))],2)}const Ee={$style:be},lt=G(U,[["render",Me],["__cssModules",Ee]]);export{lt as default};
|
|
2
|
-
//# sourceMappingURL=RunDataTable-
|
|
1
|
+
import{m as A}from"./pinia-sugP77Im.js";import{j,K as L,s as O,er as R,es as S,a3 as B}from"./index-1OxaEeO3.js";import{D as F}from"./NodeDetailsView-DcV7LI-g.js";import{M as W,T as J}from"./TextWithHighlights-kUoC0rXY.js";import{G as q,ag as v,l as r,m as g,I as a,p as o,F as M,a7 as E,U as h,O as d,S as T,T as $,R as N,M as K}from"./vendor-Dv5OeN6t.js";import{_ as G}from"./n8n-4UEsHtUL.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CIxnBJXX.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-BOfzoJX1.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";import"./file-saver-By8WREO3.js";import"./vue-json-pretty-Cqx2Hpq3.js";import"./dateFormatter-CfbOITvW.js";import"./RunDataAi-C3XiqNZa.js";import"./useWorkflowActivate-npf1npdP.js";const I=40,U=q({name:"RunDataTable",components:{Draggable:F,MappingPill:W,TextWithHighlights:J},props:{node:{type:Object,required:!0},inputData:{type:Array,required:!0},mappingEnabled:{type:Boolean},distanceFromActive:{type:Number,required:!0},runIndex:{type:Number},outputIndex:{type:Number},totalRuns:{type:Number},pageOffset:{type:Number,required:!0},hasDefaultHoverState:{type:Boolean},search:{type:String}},setup(){return{externalHooks:B()}},data(){return{activeColumn:-1,forceShowGrip:!1,draggedColumn:!1,draggingPath:null,hoveringPath:null,mappingHintVisible:!1,activeRow:null,columnLimit:I,columnLimitExceeded:!1}},mounted(){if(this.tableData&&this.tableData.columns&&this.$refs.draggable){const e=this.$refs.draggable.$refs.wrapper;e&&this.$emit("mounted",{avgRowHeight:e.offsetHeight/this.tableData.data.length})}},computed:{...A(L,j),hoveringItem(){return this.ndvStore.hoveringItem},pairedItemMappings(){return this.workflowsStore.workflowExecutionPairedItemMappings},tableData(){return this.convertToTable(this.inputData)},focusedMappableInput(){return this.ndvStore.focusedMappableInput},highlight(){return this.ndvStore.highlightDraggables}},methods:{shorten:O,isHoveringRow(e){var l;if(e===this.activeRow)return!0;const t=this.pageOffset+e;if(t===0&&!this.hoveringItem&&this.hasDefaultHoverState&&this.distanceFromActive===1)return!0;const n=R(((l=this.node)==null?void 0:l.name)??"",this.runIndex||0,this.outputIndex||0,t);if(!this.hoveringItem||!this.pairedItemMappings[n])return!1;const m=R(this.hoveringItem.nodeName,this.hoveringItem.runIndex,this.hoveringItem.outputIndex,this.hoveringItem.itemIndex);return this.pairedItemMappings[n].has(m)},onMouseEnterCell(e){const t=e.target;if(t&&this.mappingEnabled){const n=t.dataset.col;n&&!isNaN(parseInt(n,10))&&(this.activeColumn=parseInt(n,10))}if(t){const n=t.dataset.row;n&&!isNaN(parseInt(n,10))&&(this.activeRow=parseInt(n,10),this.$emit("activeRowChanged",this.pageOffset+this.activeRow))}},onMouseLeaveCell(){this.activeColumn=-1,this.activeRow=null,this.$emit("activeRowChanged",null)},onMouseEnterKey(e,t){this.hoveringPath=this.getCellExpression(e,t)},onMouseLeaveKey(){this.hoveringPath=null},isHovering(e,t){const n=this.getCellExpression(e,t);return this.hoveringPath===n},getExpression(e){return this.node?S({nodeName:this.node.name,distanceFromActive:this.distanceFromActive,path:[e]}):""},getPathNameFromTarget(e){return e?e.dataset.name:""},getCellPathName(e,t){const n=e[e.length-1];return typeof n=="string"?n:e.length>1?`${e[e.length-2]}[${n}]`:`${this.tableData.columns[t]}[${n}]`},getCellExpression(e,t){if(!this.node)return"";const n=this.tableData.columns[t];return S({nodeName:this.node.name,distanceFromActive:this.distanceFromActive,path:[n,...e]})},isEmpty(e){return e===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&Object.keys(e).length===0||e===null||e===void 0},getValueToRender(e){return e===""?this.$locale.baseText("runData.emptyString"):typeof e=="string"?e:Array.isArray(e)&&e.length===0?this.$locale.baseText("runData.emptyArray"):typeof e=="object"&&e!==null&&Object.keys(e).length===0?this.$locale.baseText("runData.emptyObject"):e==null?`[${e}]`:e===!0||e===!1||typeof e=="number"?e.toString():JSON.stringify(e)},onDragStart(){this.draggedColumn=!0,this.ndvStore.resetMappingTelemetry()},onCellDragStart(e){e!=null&&e.dataset.value&&(this.draggingPath=e.dataset.value),this.onDragStart()},onCellDragEnd(e){this.draggingPath=null,this.onDragEnd(e.dataset.name||"","tree",e.dataset.depth||"0")},isDraggingKey(e,t){if(this.draggingPath)return this.draggingPath===this.getCellExpression(e,t)},onDragEnd(e,t,n="0"){setTimeout(()=>{const m=this.ndvStore.mappingTelemetry,l={src_node_type:this.node.type,src_field_name:e,src_nodes_back:this.distanceFromActive,src_run_index:this.runIndex,src_runs_total:this.totalRuns,src_field_nest_level:parseInt(n,10),src_view:"table",src_element:t,success:!1,...m};this.externalHooks.run("runDataTable.onDragEnd",l),this.$telemetry.track("User dragged data for mapping",l,{withPostHog:!0})},1e3)},isSimple(e){return typeof e!="object"||e===null||Array.isArray(e)&&e.length===0||typeof e=="object"&&Object.keys(e).length===0},hasJsonInColumn(e){return this.tableData.hasJson[this.tableData.columns[e]]},convertToTable(e){const t=[],n=[];let m,l,c;const C={};return e.forEach(y=>{if(!y.hasOwnProperty("json"))return;c=y.json,l=[];const D=Object.keys(c||{});D.length>I?(this.columnLimitExceeded=!0,m=D.slice(0,I)):m=D,n.forEach(s=>{c.hasOwnProperty(s)?(l.push(c[s]),m.splice(m.indexOf(s),1),C[s]=C[s]||typeof c[s]=="object"&&Object.keys(c[s]||{}).length>0||!1):l.push(void 0)}),m.forEach(s=>{n.push(s),l.push(c[s]),C[s]=C[s]||typeof c[s]=="object"&&Object.keys(c[s]||{}).length>0||!1}),t.push(l)}),t.forEach(y=>{n.length>y.length&&y.push(...new Array(n.length-y.length))}),{hasJson:C,columns:n,data:t}},switchToJsonView(){this.$emit("displayModeChange","json")}},watch:{focusedMappableInput(e){setTimeout(()=>{this.forceShowGrip=!!this.focusedMappableInput},e?300:150)}}}),z="/%257B%257BBASE_PATH%257D%257D/static/data-mapping-gif.gif",X="_dataDisplay_5ss8n_1",Q="_table_5ss8n_14",Y="_nodeClass_5ss8n_63",Z="_emptyCell_5ss8n_67",x="_header_5ss8n_71",ee="_draggableHeader_5ss8n_83",te="_dragButton_5ss8n_87",ne="_highlight_5ss8n_91",ae="_draggingHeader_5ss8n_95",se="_activeHeader_5ss8n_100",oe="_dataKey_5ss8n_109",re="_value_5ss8n_118",ie="_nestedValue_5ss8n_122 _value_5ss8n_118",le="_mappable_5ss8n_127",ge="_empty_5ss8n_67",de="_limitColWidth_5ss8n_135",pe="_minColWidth_5ss8n_139",he="_hoveringKey_5ss8n_143",me="_draggingKey_5ss8n_147",ue="_tableRightMargin_5ss8n_151",ce="_hoveringRow_5ss8n_159",ye="_warningTooltip_5ss8n_164",be={dataDisplay:X,table:Q,nodeClass:Y,emptyCell:Z,header:x,draggableHeader:ee,dragButton:te,highlight:ne,draggingHeader:ae,activeHeader:se,dataKey:oe,value:re,nestedValue:ie,mappable:le,empty:ge,limitColWidth:de,minColWidth:pe,hoveringKey:he,draggingKey:me,tableRightMargin:ue,hoveringRow:ce,warningTooltip:ye},fe=["data-row"],ve=o("img",{src:z},null,-1),Ce=["data-test-id"],De=["data-row","data-col"],we=["data-name","data-value","data-depth","onMouseenter"],$e={key:0};function Me(e,t,n,m,l,c){const C=v("n8n-info-tip"),y=v("MappingPill"),D=v("TextWithHighlights"),s=v("font-awesome-icon"),_=v("Draggable"),H=v("n8n-tooltip"),P=v("i18n-t"),k=v("n8n-tree");return r(),g("div",{class:a([e.$style.dataDisplay,{[e.$style.highlight]:e.highlight}])},[e.tableData.columns&&e.tableData.columns.length===0?(r(),g("table",{key:0,class:a(e.$style.table)},[o("tr",null,[o("th",{class:a(e.$style.emptyCell)},null,2),o("th",{class:a(e.$style.tableRightMargin)},null,2)]),(r(!0),g(M,null,E(e.tableData.data,(u,p)=>(r(),g("tr",{key:p,class:a({[e.$style.hoveringRow]:e.isHoveringRow(p)})},[o("td",{"data-row":p,"data-col":0,onMouseenter:t[0]||(t[0]=(...i)=>e.onMouseEnterCell&&e.onMouseEnterCell(...i)),onMouseleave:t[1]||(t[1]=(...i)=>e.onMouseLeaveCell&&e.onMouseLeaveCell(...i))},[h(C,null,{default:d(()=>[T($(e.$locale.baseText("runData.emptyItemHint")),1)]),_:1})],40,fe),o("td",{class:a(e.$style.tableRightMargin)},null,2)],2))),128))],2)):(r(),g("table",{key:1,class:a(e.$style.table)},[o("thead",null,[o("tr",null,[(r(!0),g(M,null,E(e.tableData.columns||[],(u,p)=>(r(),g("th",{key:u},[h(H,{placement:"bottom-start",disabled:!e.mappingEnabled,"show-after":1e3},{content:d(()=>[o("div",null,[ve,T(" "+$(e.$locale.baseText("dataMapping.dragColumnToFieldHint")),1)])]),default:d(()=>[h(_,{type:"mapping",data:e.getExpression(u),disabled:!e.mappingEnabled,onDragstart:e.onDragStart,onDragend:i=>e.onDragEnd(i,"column")},{preview:d(({canDrop:i})=>[h(y,{html:e.shorten(u,16,2),"can-drop":i},null,8,["html","can-drop"])]),default:d(({isDragging:i})=>[o("div",{class:a({[e.$style.header]:!0,[e.$style.draggableHeader]:e.mappingEnabled,[e.$style.activeHeader]:(p===e.activeColumn||e.forceShowGrip)&&e.mappingEnabled,[e.$style.draggingHeader]:i})},[h(D,{content:e.getValueToRender(u||""),search:e.search},null,8,["content","search"]),o("div",{class:a(e.$style.dragButton)},[h(s,{icon:"grip-vertical"})],2)],2)]),_:2},1032,["data","disabled","onDragstart","onDragend"])]),_:2},1032,["disabled"])]))),128)),e.columnLimitExceeded?(r(),g("th",{key:0,class:a(e.$style.header)},[h(H,{placement:"bottom-end"},{content:d(()=>[o("div",null,[h(P,{tag:"span",keypath:"dataMapping.tableView.tableColumnsExceeded.tooltip"},{columnLimit:d(()=>[T($(e.columnLimit),1)]),link:d(()=>[o("a",{onClick:t[2]||(t[2]=(...u)=>e.switchToJsonView&&e.switchToJsonView(...u))},$(e.$locale.baseText("dataMapping.tableView.tableColumnsExceeded.tooltip.link")),1)]),_:1})])]),default:d(()=>[o("span",null,[h(s,{class:a(e.$style.warningTooltip),icon:"exclamation-triangle"},null,8,["class"]),T(" "+$(e.$locale.baseText("dataMapping.tableView.tableColumnsExceeded")),1)])]),_:1})],2)):N("",!0),o("th",{class:a(e.$style.tableRightMargin)},null,2)])]),h(_,{ref:"draggable",tag:"tbody",type:"mapping","target-data-key":"mappable",disabled:!e.mappingEnabled,onDragstart:e.onCellDragStart,onDragend:e.onCellDragEnd},{preview:d(({canDrop:u,el:p})=>[h(y,{html:e.shorten(e.getPathNameFromTarget(p)||"",16,2),"can-drop":u},null,8,["html","can-drop"])]),default:d(()=>[(r(!0),g(M,null,E(e.tableData.data,(u,p)=>(r(),g("tr",{key:p,class:a({[e.$style.hoveringRow]:e.isHoveringRow(p)}),"data-test-id":e.isHoveringRow(p)?"hovering-item":void 0},[(r(!0),g(M,null,E(u,(i,b)=>(r(),g("td",{key:b,"data-row":p,"data-col":b,class:a(e.hasJsonInColumn(b)?e.$style.minColWidth:e.$style.limitColWidth),onMouseenter:t[4]||(t[4]=(...f)=>e.onMouseEnterCell&&e.onMouseEnterCell(...f)),onMouseleave:t[5]||(t[5]=(...f)=>e.onMouseLeaveCell&&e.onMouseLeaveCell(...f))},[e.isSimple(i)?(r(),K(D,{key:0,content:e.getValueToRender(i),search:e.search,class:a({[e.$style.value]:!0,[e.$style.empty]:e.isEmpty(i)})},null,8,["content","search","class"])):(r(),K(k,{key:1,"node-class":e.$style.nodeClass,value:i},{label:d(({label:f,path:w})=>[o("span",{class:a({[e.$style.hoveringKey]:e.mappingEnabled&&e.isHovering(w,b),[e.$style.draggingKey]:e.isDraggingKey(w,b),[e.$style.dataKey]:!0,[e.$style.mappable]:e.mappingEnabled}),"data-target":"mappable","data-name":e.getCellPathName(w,b),"data-value":e.getCellExpression(w,b),"data-depth":w.length,onMouseenter:()=>e.onMouseEnterKey(w,b),onMouseleave:t[3]||(t[3]=(...V)=>e.onMouseLeaveKey&&e.onMouseLeaveKey(...V))},$(f||e.$locale.baseText("runData.unnamedField")),43,we)]),value:d(({value:f})=>[h(D,{content:e.getValueToRender(f),search:e.search,class:a({[e.$style.nestedValue]:!0,[e.$style.empty]:e.isEmpty(f)})},null,8,["content","search","class"])]),_:2},1032,["node-class","value"]))],42,De))),128)),e.columnLimitExceeded?(r(),g("td",$e)):N("",!0),o("td",{class:a(e.$style.tableRightMargin)},null,2)],10,Ce))),128))]),_:1},8,["disabled","onDragstart","onDragend"])],2))],2)}const Ee={$style:be},lt=G(U,[["render",Me],["__cssModules",Ee]]);export{lt as default};
|
|
2
|
+
//# sourceMappingURL=RunDataTable-BVAuNDP9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDataTable-D597NRFD.js","sources":["../../src/components/RunDataTable.vue"],"sourcesContent":["<template>\n\t<div :class=\"[$style.dataDisplay, { [$style.highlight]: highlight }]\">\n\t\t<table v-if=\"tableData.columns && tableData.columns.length === 0\" :class=\"$style.table\">\n\t\t\t<tr>\n\t\t\t\t<th :class=\"$style.emptyCell\"></th>\n\t\t\t\t<th :class=\"$style.tableRightMargin\"></th>\n\t\t\t</tr>\n\t\t\t<tr\n\t\t\t\tv-for=\"(row, index1) in tableData.data\"\n\t\t\t\t:key=\"index1\"\n\t\t\t\t:class=\"{ [$style.hoveringRow]: isHoveringRow(index1) }\"\n\t\t\t>\n\t\t\t\t<td\n\t\t\t\t\t:data-row=\"index1\"\n\t\t\t\t\t:data-col=\"0\"\n\t\t\t\t\t@mouseenter=\"onMouseEnterCell\"\n\t\t\t\t\t@mouseleave=\"onMouseLeaveCell\"\n\t\t\t\t>\n\t\t\t\t\t<n8n-info-tip>{{ $locale.baseText('runData.emptyItemHint') }}</n8n-info-tip>\n\t\t\t\t</td>\n\t\t\t\t<td :class=\"$style.tableRightMargin\"></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<table v-else :class=\"$style.table\">\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th v-for=\"(column, i) in tableData.columns || []\" :key=\"column\">\n\t\t\t\t\t\t<n8n-tooltip placement=\"bottom-start\" :disabled=\"!mappingEnabled\" :show-after=\"1000\">\n\t\t\t\t\t\t\t<template #content>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<img src=\"/static/data-mapping-gif.gif\" />\n\t\t\t\t\t\t\t\t\t{{ $locale.baseText('dataMapping.dragColumnToFieldHint') }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<Draggable\n\t\t\t\t\t\t\t\ttype=\"mapping\"\n\t\t\t\t\t\t\t\t:data=\"getExpression(column)\"\n\t\t\t\t\t\t\t\t:disabled=\"!mappingEnabled\"\n\t\t\t\t\t\t\t\t@dragstart=\"onDragStart\"\n\t\t\t\t\t\t\t\t@dragend=\"(column) => onDragEnd(column, 'column')\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<template #preview=\"{ canDrop }\">\n\t\t\t\t\t\t\t\t\t<MappingPill :html=\"shorten(column, 16, 2)\" :can-drop=\"canDrop\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template #default=\"{ isDragging }\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t\t[$style.header]: true,\n\t\t\t\t\t\t\t\t\t\t\t[$style.draggableHeader]: mappingEnabled,\n\t\t\t\t\t\t\t\t\t\t\t[$style.activeHeader]:\n\t\t\t\t\t\t\t\t\t\t\t\t(i === activeColumn || forceShowGrip) && mappingEnabled,\n\t\t\t\t\t\t\t\t\t\t\t[$style.draggingHeader]: isDragging,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<TextWithHighlights\n\t\t\t\t\t\t\t\t\t\t\t:content=\"getValueToRender(column || '')\"\n\t\t\t\t\t\t\t\t\t\t\t:search=\"search\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div :class=\"$style.dragButton\">\n\t\t\t\t\t\t\t\t\t\t\t<font-awesome-icon icon=\"grip-vertical\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</Draggable>\n\t\t\t\t\t\t</n8n-tooltip>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th v-if=\"columnLimitExceeded\" :class=\"$style.header\">\n\t\t\t\t\t\t<n8n-tooltip placement=\"bottom-end\">\n\t\t\t\t\t\t\t<template #content>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<i18n-t tag=\"span\" keypath=\"dataMapping.tableView.tableColumnsExceeded.tooltip\">\n\t\t\t\t\t\t\t\t\t\t<template #columnLimit>{{ columnLimit }}</template>\n\t\t\t\t\t\t\t\t\t\t<template #link>\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"switchToJsonView\">{{\n\t\t\t\t\t\t\t\t\t\t\t\t$locale.baseText('dataMapping.tableView.tableColumnsExceeded.tooltip.link')\n\t\t\t\t\t\t\t\t\t\t\t}}</a>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</i18n-t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\t\t:class=\"$style['warningTooltip']\"\n\t\t\t\t\t\t\t\t\ticon=\"exclamation-triangle\"\n\t\t\t\t\t\t\t\t></font-awesome-icon>\n\t\t\t\t\t\t\t\t{{ $locale.baseText('dataMapping.tableView.tableColumnsExceeded') }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</n8n-tooltip>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th :class=\"$style.tableRightMargin\"></th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<Draggable\n\t\t\t\tref=\"draggable\"\n\t\t\t\ttag=\"tbody\"\n\t\t\t\ttype=\"mapping\"\n\t\t\t\ttarget-data-key=\"mappable\"\n\t\t\t\t:disabled=\"!mappingEnabled\"\n\t\t\t\t@dragstart=\"onCellDragStart\"\n\t\t\t\t@dragend=\"onCellDragEnd\"\n\t\t\t>\n\t\t\t\t<template #preview=\"{ canDrop, el }\">\n\t\t\t\t\t<MappingPill\n\t\t\t\t\t\t:html=\"shorten(getPathNameFromTarget(el) || '', 16, 2)\"\n\t\t\t\t\t\t:can-drop=\"canDrop\"\n\t\t\t\t\t/>\n\t\t\t\t</template>\n\t\t\t\t<tr\n\t\t\t\t\tv-for=\"(row, index1) in tableData.data\"\n\t\t\t\t\t:key=\"index1\"\n\t\t\t\t\t:class=\"{ [$style.hoveringRow]: isHoveringRow(index1) }\"\n\t\t\t\t\t:data-test-id=\"isHoveringRow(index1) ? 'hovering-item' : undefined\"\n\t\t\t\t>\n\t\t\t\t\t<td\n\t\t\t\t\t\tv-for=\"(data, index2) in row\"\n\t\t\t\t\t\t:key=\"index2\"\n\t\t\t\t\t\t:data-row=\"index1\"\n\t\t\t\t\t\t:data-col=\"index2\"\n\t\t\t\t\t\t:class=\"hasJsonInColumn(index2) ? $style.minColWidth : $style.limitColWidth\"\n\t\t\t\t\t\t@mouseenter=\"onMouseEnterCell\"\n\t\t\t\t\t\t@mouseleave=\"onMouseLeaveCell\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextWithHighlights\n\t\t\t\t\t\t\tv-if=\"isSimple(data)\"\n\t\t\t\t\t\t\t:content=\"getValueToRender(data)\"\n\t\t\t\t\t\t\t:search=\"search\"\n\t\t\t\t\t\t\t:class=\"{ [$style.value]: true, [$style.empty]: isEmpty(data) }\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<n8n-tree v-else :node-class=\"$style.nodeClass\" :value=\"data\">\n\t\t\t\t\t\t\t<template #label=\"{ label, path }\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t[$style.hoveringKey]: mappingEnabled && isHovering(path, index2),\n\t\t\t\t\t\t\t\t\t\t[$style.draggingKey]: isDraggingKey(path, index2),\n\t\t\t\t\t\t\t\t\t\t[$style.dataKey]: true,\n\t\t\t\t\t\t\t\t\t\t[$style.mappable]: mappingEnabled,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\tdata-target=\"mappable\"\n\t\t\t\t\t\t\t\t\t:data-name=\"getCellPathName(path, index2)\"\n\t\t\t\t\t\t\t\t\t:data-value=\"getCellExpression(path, index2)\"\n\t\t\t\t\t\t\t\t\t:data-depth=\"path.length\"\n\t\t\t\t\t\t\t\t\t@mouseenter=\"() => onMouseEnterKey(path, index2)\"\n\t\t\t\t\t\t\t\t\t@mouseleave=\"onMouseLeaveKey\"\n\t\t\t\t\t\t\t\t\t>{{ label || $locale.baseText('runData.unnamedField') }}</span\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template #value=\"{ value }\">\n\t\t\t\t\t\t\t\t<TextWithHighlights\n\t\t\t\t\t\t\t\t\t:content=\"getValueToRender(value)\"\n\t\t\t\t\t\t\t\t\t:search=\"search\"\n\t\t\t\t\t\t\t\t\t:class=\"{ [$style.nestedValue]: true, [$style.empty]: isEmpty(value) }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n8n-tree>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td v-if=\"columnLimitExceeded\"></td>\n\t\t\t\t\t<td :class=\"$style.tableRightMargin\"></td>\n\t\t\t\t</tr>\n\t\t\t</Draggable>\n\t\t</table>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport type { PropType } from 'vue';\nimport { mapStores } from 'pinia';\nimport type { INodeUi, ITableData, NDVState } from '@/Interface';\nimport { shorten } from '@/utils/typesUtils';\nimport { getPairedItemId } from '@/utils/pairedItemUtils';\nimport type { GenericValue, IDataObject, INodeExecutionData } from 'n8n-workflow';\nimport Draggable from './Draggable.vue';\nimport { useWorkflowsStore } from '@/stores/workflows.store';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport MappingPill from './MappingPill.vue';\nimport { getMappedExpression } from '@/utils/mappingUtils';\nimport { useExternalHooks } from '@/composables/useExternalHooks';\nimport TextWithHighlights from './TextWithHighlights.vue';\n\nconst MAX_COLUMNS_LIMIT = 40;\n\ntype DraggableRef = InstanceType<typeof Draggable>;\n\nexport default defineComponent({\n\tname: 'RunDataTable',\n\tcomponents: { Draggable, MappingPill, TextWithHighlights },\n\tprops: {\n\t\tnode: {\n\t\t\ttype: Object as PropType<INodeUi>,\n\t\t\trequired: true,\n\t\t},\n\t\tinputData: {\n\t\t\ttype: Array as PropType<INodeExecutionData[]>,\n\t\t\trequired: true,\n\t\t},\n\t\tmappingEnabled: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tdistanceFromActive: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\trunIndex: {\n\t\t\ttype: Number,\n\t\t},\n\t\toutputIndex: {\n\t\t\ttype: Number,\n\t\t},\n\t\ttotalRuns: {\n\t\t\ttype: Number,\n\t\t},\n\t\tpageOffset: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\thasDefaultHoverState: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t},\n\t},\n\tsetup() {\n\t\tconst externalHooks = useExternalHooks();\n\t\treturn {\n\t\t\texternalHooks,\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tactiveColumn: -1,\n\t\t\tforceShowGrip: false,\n\t\t\tdraggedColumn: false,\n\t\t\tdraggingPath: null as null | string,\n\t\t\thoveringPath: null as null | string,\n\t\t\tmappingHintVisible: false,\n\t\t\tactiveRow: null as number | null,\n\t\t\tcolumnLimit: MAX_COLUMNS_LIMIT,\n\t\t\tcolumnLimitExceeded: false,\n\t\t};\n\t},\n\tmounted() {\n\t\tif (this.tableData && this.tableData.columns && this.$refs.draggable) {\n\t\t\tconst tbody = (this.$refs.draggable as DraggableRef).$refs.wrapper as HTMLElement;\n\t\t\tif (tbody) {\n\t\t\t\tthis.$emit('mounted', {\n\t\t\t\t\tavgRowHeight: tbody.offsetHeight / this.tableData.data.length,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapStores(useNDVStore, useWorkflowsStore),\n\t\thoveringItem(): NDVState['hoveringItem'] {\n\t\t\treturn this.ndvStore.hoveringItem;\n\t\t},\n\t\tpairedItemMappings(): { [itemId: string]: Set<string> } {\n\t\t\treturn this.workflowsStore.workflowExecutionPairedItemMappings;\n\t\t},\n\t\ttableData(): ITableData {\n\t\t\treturn this.convertToTable(this.inputData);\n\t\t},\n\t\tfocusedMappableInput(): string {\n\t\t\treturn this.ndvStore.focusedMappableInput;\n\t\t},\n\t\thighlight(): boolean {\n\t\t\treturn this.ndvStore.highlightDraggables;\n\t\t},\n\t},\n\tmethods: {\n\t\tshorten,\n\t\tisHoveringRow(row: number): boolean {\n\t\t\tif (row === this.activeRow) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst itemIndex = this.pageOffset + row;\n\t\t\tif (\n\t\t\t\titemIndex === 0 &&\n\t\t\t\t!this.hoveringItem &&\n\t\t\t\tthis.hasDefaultHoverState &&\n\t\t\t\tthis.distanceFromActive === 1\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst itemNodeId = getPairedItemId(\n\t\t\t\tthis.node?.name ?? '',\n\t\t\t\tthis.runIndex || 0,\n\t\t\t\tthis.outputIndex || 0,\n\t\t\t\titemIndex,\n\t\t\t);\n\t\t\tif (!this.hoveringItem || !this.pairedItemMappings[itemNodeId]) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst hoveringItemId = getPairedItemId(\n\t\t\t\tthis.hoveringItem.nodeName,\n\t\t\t\tthis.hoveringItem.runIndex,\n\t\t\t\tthis.hoveringItem.outputIndex,\n\t\t\t\tthis.hoveringItem.itemIndex,\n\t\t\t);\n\t\t\treturn this.pairedItemMappings[itemNodeId].has(hoveringItemId);\n\t\t},\n\t\tonMouseEnterCell(e: MouseEvent) {\n\t\t\tconst target = e.target;\n\t\t\tif (target && this.mappingEnabled) {\n\t\t\t\tconst col = (target as HTMLElement).dataset.col;\n\t\t\t\tif (col && !isNaN(parseInt(col, 10))) {\n\t\t\t\t\tthis.activeColumn = parseInt(col, 10);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (target) {\n\t\t\t\tconst row = (target as HTMLElement).dataset.row;\n\t\t\t\tif (row && !isNaN(parseInt(row, 10))) {\n\t\t\t\t\tthis.activeRow = parseInt(row, 10);\n\t\t\t\t\tthis.$emit('activeRowChanged', this.pageOffset + this.activeRow);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonMouseLeaveCell() {\n\t\t\tthis.activeColumn = -1;\n\t\t\tthis.activeRow = null;\n\t\t\tthis.$emit('activeRowChanged', null);\n\t\t},\n\t\tonMouseEnterKey(path: string[], colIndex: number) {\n\t\t\tthis.hoveringPath = this.getCellExpression(path, colIndex);\n\t\t},\n\t\tonMouseLeaveKey() {\n\t\t\tthis.hoveringPath = null;\n\t\t},\n\t\tisHovering(path: string[], colIndex: number) {\n\t\t\tconst expr = this.getCellExpression(path, colIndex);\n\n\t\t\treturn this.hoveringPath === expr;\n\t\t},\n\t\tgetExpression(column: string) {\n\t\t\tif (!this.node) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\treturn getMappedExpression({\n\t\t\t\tnodeName: this.node.name,\n\t\t\t\tdistanceFromActive: this.distanceFromActive,\n\t\t\t\tpath: [column],\n\t\t\t});\n\t\t},\n\t\tgetPathNameFromTarget(el: HTMLElement) {\n\t\t\tif (!el) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\treturn el.dataset.name;\n\t\t},\n\t\tgetCellPathName(path: Array<string | number>, colIndex: number) {\n\t\t\tconst lastKey = path[path.length - 1];\n\t\t\tif (typeof lastKey === 'string') {\n\t\t\t\treturn lastKey;\n\t\t\t}\n\t\t\tif (path.length > 1) {\n\t\t\t\tconst prevKey = path[path.length - 2];\n\t\t\t\treturn `${prevKey}[${lastKey}]`;\n\t\t\t}\n\t\t\tconst column = this.tableData.columns[colIndex];\n\t\t\treturn `${column}[${lastKey}]`;\n\t\t},\n\t\tgetCellExpression(path: Array<string | number>, colIndex: number) {\n\t\t\tif (!this.node) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tconst column = this.tableData.columns[colIndex];\n\t\t\treturn getMappedExpression({\n\t\t\t\tnodeName: this.node.name,\n\t\t\t\tdistanceFromActive: this.distanceFromActive,\n\t\t\t\tpath: [column, ...path],\n\t\t\t});\n\t\t},\n\t\tisEmpty(value: unknown): boolean {\n\t\t\treturn (\n\t\t\t\tvalue === '' ||\n\t\t\t\t(Array.isArray(value) && value.length === 0) ||\n\t\t\t\t(typeof value === 'object' && value !== null && Object.keys(value).length === 0) ||\n\t\t\t\tvalue === null ||\n\t\t\t\tvalue === undefined\n\t\t\t);\n\t\t},\n\t\tgetValueToRender(value: unknown): string {\n\t\t\tif (value === '') {\n\t\t\t\treturn this.$locale.baseText('runData.emptyString');\n\t\t\t}\n\t\t\tif (typeof value === 'string') {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (Array.isArray(value) && value.length === 0) {\n\t\t\t\treturn this.$locale.baseText('runData.emptyArray');\n\t\t\t}\n\t\t\tif (typeof value === 'object' && value !== null && Object.keys(value).length === 0) {\n\t\t\t\treturn this.$locale.baseText('runData.emptyObject');\n\t\t\t}\n\t\t\tif (value === null || value === undefined) {\n\t\t\t\treturn `[${value}]`;\n\t\t\t}\n\t\t\tif (value === true || value === false || typeof value === 'number') {\n\t\t\t\treturn value.toString();\n\t\t\t}\n\t\t\treturn JSON.stringify(value);\n\t\t},\n\t\tonDragStart() {\n\t\t\tthis.draggedColumn = true;\n\t\t\tthis.ndvStore.resetMappingTelemetry();\n\t\t},\n\t\tonCellDragStart(el: HTMLElement) {\n\t\t\tif (el?.dataset.value) {\n\t\t\t\tthis.draggingPath = el.dataset.value;\n\t\t\t}\n\n\t\t\tthis.onDragStart();\n\t\t},\n\t\tonCellDragEnd(el: HTMLElement) {\n\t\t\tthis.draggingPath = null;\n\n\t\t\tthis.onDragEnd(el.dataset.name || '', 'tree', el.dataset.depth || '0');\n\t\t},\n\t\tisDraggingKey(path: Array<string | number>, colIndex: number) {\n\t\t\tif (!this.draggingPath) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn this.draggingPath === this.getCellExpression(path, colIndex);\n\t\t},\n\t\tonDragEnd(column: string, src: string, depth = '0') {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst mappingTelemetry = this.ndvStore.mappingTelemetry;\n\t\t\t\tconst telemetryPayload = {\n\t\t\t\t\tsrc_node_type: this.node.type,\n\t\t\t\t\tsrc_field_name: column,\n\t\t\t\t\tsrc_nodes_back: this.distanceFromActive,\n\t\t\t\t\tsrc_run_index: this.runIndex,\n\t\t\t\t\tsrc_runs_total: this.totalRuns,\n\t\t\t\t\tsrc_field_nest_level: parseInt(depth, 10),\n\t\t\t\t\tsrc_view: 'table',\n\t\t\t\t\tsrc_element: src,\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\t...mappingTelemetry,\n\t\t\t\t};\n\n\t\t\t\tvoid this.externalHooks.run('runDataTable.onDragEnd', telemetryPayload);\n\n\t\t\t\tthis.$telemetry.track('User dragged data for mapping', telemetryPayload, {\n\t\t\t\t\twithPostHog: true,\n\t\t\t\t});\n\t\t\t}, 1000); // ensure dest data gets set if drop\n\t\t},\n\t\tisSimple(data: unknown): boolean {\n\t\t\treturn (\n\t\t\t\ttypeof data !== 'object' ||\n\t\t\t\tdata === null ||\n\t\t\t\t(Array.isArray(data) && data.length === 0) ||\n\t\t\t\t(typeof data === 'object' && Object.keys(data).length === 0)\n\t\t\t);\n\t\t},\n\t\thasJsonInColumn(colIndex: number): boolean {\n\t\t\treturn this.tableData.hasJson[this.tableData.columns[colIndex]];\n\t\t},\n\t\tconvertToTable(inputData: INodeExecutionData[]): ITableData {\n\t\t\tconst tableData: GenericValue[][] = [];\n\t\t\tconst tableColumns: string[] = [];\n\t\t\tlet leftEntryColumns: string[], entryRows: GenericValue[];\n\t\t\t// Go over all entries\n\t\t\tlet entry: IDataObject;\n\t\t\tconst hasJson: { [key: string]: boolean } = {};\n\t\t\tinputData.forEach((data) => {\n\t\t\t\tif (!data.hasOwnProperty('json')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tentry = data.json;\n\n\t\t\t\t// Go over all keys of entry\n\t\t\t\tentryRows = [];\n\t\t\t\tconst entryColumns = Object.keys(entry || {});\n\n\t\t\t\tif (entryColumns.length > MAX_COLUMNS_LIMIT) {\n\t\t\t\t\tthis.columnLimitExceeded = true;\n\t\t\t\t\tleftEntryColumns = entryColumns.slice(0, MAX_COLUMNS_LIMIT);\n\t\t\t\t} else {\n\t\t\t\t\tleftEntryColumns = entryColumns;\n\t\t\t\t}\n\n\t\t\t\t// Go over all the already existing column-keys\n\t\t\t\ttableColumns.forEach((key) => {\n\t\t\t\t\tif (entry.hasOwnProperty(key)) {\n\t\t\t\t\t\t// Entry does have key so add its value\n\t\t\t\t\t\tentryRows.push(entry[key]);\n\t\t\t\t\t\t// Remove key so that we know that it got added\n\t\t\t\t\t\tleftEntryColumns.splice(leftEntryColumns.indexOf(key), 1);\n\n\t\t\t\t\t\thasJson[key] =\n\t\t\t\t\t\t\thasJson[key] ||\n\t\t\t\t\t\t\t(typeof entry[key] === 'object' && Object.keys(entry[key] || {}).length > 0) ||\n\t\t\t\t\t\t\tfalse;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Entry does not have key so add undefined\n\t\t\t\t\t\tentryRows.push(undefined);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Go over all the columns the entry has but did not exist yet\n\t\t\t\tleftEntryColumns.forEach((key) => {\n\t\t\t\t\t// Add the key for all runs in the future\n\t\t\t\t\ttableColumns.push(key);\n\t\t\t\t\t// Add the value\n\t\t\t\t\tentryRows.push(entry[key]);\n\t\t\t\t\thasJson[key] =\n\t\t\t\t\t\thasJson[key] ||\n\t\t\t\t\t\t(typeof entry[key] === 'object' && Object.keys(entry[key] || {}).length > 0) ||\n\t\t\t\t\t\tfalse;\n\t\t\t\t});\n\n\t\t\t\t// Add the data of the entry\n\t\t\t\ttableData.push(entryRows);\n\t\t\t});\n\n\t\t\t// Make sure that all entry-rows have the same length\n\t\t\ttableData.forEach((entryRows) => {\n\t\t\t\tif (tableColumns.length > entryRows.length) {\n\t\t\t\t\t// Has fewer entries so add the missing ones\n\t\t\t\t\tentryRows.push(...new Array(tableColumns.length - entryRows.length));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\thasJson,\n\t\t\t\tcolumns: tableColumns,\n\t\t\t\tdata: tableData,\n\t\t\t};\n\t\t},\n\t\tswitchToJsonView() {\n\t\t\tthis.$emit('displayModeChange', 'json');\n\t\t},\n\t},\n\twatch: {\n\t\tfocusedMappableInput(curr: boolean) {\n\t\t\tsetTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tthis.forceShowGrip = !!this.focusedMappableInput;\n\t\t\t\t},\n\t\t\t\tcurr ? 300 : 150,\n\t\t\t);\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.dataDisplay {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding-left: var(--spacing-s);\n\tright: 0;\n\toverflow-y: auto;\n\tline-height: 1.5;\n\tword-break: normal;\n\theight: 100%;\n\tpadding-bottom: var(--spacing-3xl);\n}\n\n.table {\n\tborder-collapse: separate;\n\ttext-align: left;\n\twidth: calc(100%);\n\tfont-size: var(--font-size-s);\n\n\tth {\n\t\tbackground-color: var(--color-background-base);\n\t\tborder-top: var(--border-base);\n\t\tborder-bottom: var(--border-base);\n\t\tborder-left: var(--border-base);\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tcolor: var(--color-text-dark);\n\t\tz-index: 1;\n\t}\n\n\ttd {\n\t\tvertical-align: top;\n\t\tpadding: var(--spacing-2xs) var(--spacing-2xs) var(--spacing-2xs) var(--spacing-3xs);\n\t\tborder-bottom: var(--border-base);\n\t\tborder-left: var(--border-base);\n\t\toverflow-wrap: break-word;\n\t\twhite-space: pre-wrap;\n\t\tvertical-align: top;\n\t}\n\n\ttd:first-child,\n\ttd:nth-last-child(2) {\n\t\tposition: relative;\n\t\tz-index: 0;\n\n\t\t&:after {\n\t\t\t// add border without shifting content\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t\twidth: 2px;\n\t\t\ttop: 0;\n\t\t}\n\t}\n\n\ttd:nth-last-child(2):after {\n\t\tright: -1px;\n\t}\n\n\ttd:first-child:after {\n\t\tleft: -1px;\n\t}\n\n\tth:last-child,\n\ttd:last-child {\n\t\tborder-right: var(--border-base);\n\t}\n}\n\n.nodeClass {\n\tmargin-bottom: var(--spacing-5xs);\n}\n\n.emptyCell {\n\theight: 32px;\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: var(--spacing-2xs);\n\n\tspan {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tflex-grow: 1;\n\t}\n}\n\n.draggableHeader {\n\t&:hover {\n\t\tcursor: grab;\n\t\tbackground-color: var(--color-foreground-base);\n\n\t\t.dragButton {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n.highlight .draggableHeader {\n\tcolor: var(--color-primary);\n}\n\n.draggingHeader {\n\tcolor: var(--color-primary);\n\tbackground-color: var(--color-primary-tint-2);\n}\n\n.activeHeader {\n\t.dragButton {\n\t\topacity: 1;\n\t}\n}\n\n.dragButton {\n\topacity: 0;\n\tmargin-left: var(--spacing-2xs);\n}\n\n.dataKey {\n\tcolor: var(--color-text-dark);\n\tline-height: 1.7;\n\tfont-weight: var(--font-weight-bold);\n\tborder-radius: var(--border-radius-base);\n\tpadding: 0 var(--spacing-5xs) 0 var(--spacing-5xs);\n\tmargin-right: var(--spacing-5xs);\n}\n\n.value {\n\tline-height: var(--font-line-height-regular);\n}\n\n.nestedValue {\n\tcomposes: value;\n\tmargin-left: var(--spacing-4xs);\n}\n\n.mappable {\n\tcursor: grab;\n}\n\n.empty {\n\tcolor: var(--color-danger);\n}\n\n.limitColWidth {\n\tmax-width: 300px;\n}\n\n.minColWidth {\n\tmin-width: 240px;\n}\n\n.hoveringKey {\n\tbackground-color: var(--color-foreground-base);\n}\n\n.draggingKey {\n\tbackground-color: var(--color-primary-tint-2);\n}\n\n.tableRightMargin {\n\t// becomes necessary with large tables\n\tbackground-color: var(--color-background-base) !important;\n\twidth: var(--spacing-s);\n\tborder-right: none !important;\n\tborder-top: none !important;\n\tborder-bottom: none !important;\n}\n\n.hoveringRow {\n\ttd:first-child:after,\n\ttd:nth-last-child(2):after {\n\t\tbackground-color: var(--color-secondary);\n\t}\n}\n\n.warningTooltip {\n\tcolor: var(--color-warning);\n}\n</style>\n"],"names":["MAX_COLUMNS_LIMIT","_sfc_main","defineComponent","Draggable","MappingPill","TextWithHighlights","useExternalHooks","tbody","mapStores","useNDVStore","useWorkflowsStore","shorten","row","itemIndex","itemNodeId","getPairedItemId","_a","hoveringItemId","target","col","path","colIndex","expr","column","getMappedExpression","el","lastKey","value","src","depth","mappingTelemetry","telemetryPayload","data","inputData","tableData","tableColumns","leftEntryColumns","entryRows","entry","hasJson","entryColumns","key","curr","_hoisted_1","_hoisted_2","_createElementVNode","_imports_0","_hoisted_3","_hoisted_4","_resolveComponent","_ctx","_openBlock","_createElementBlock","$style","_normalizeClass","_Fragment","_renderList","index1","_cache","args","_component_n8n_info_tip","$locale","_createTextVNode","_toDisplayString","i","_createVNode","mappingEnabled","_withCtx","getExpression","onDragStart","canDrop","_component_MappingPill","isDragging","activeColumn","forceShowGrip","search","columnLimitExceeded","_component_n8n_tooltip","_component_i18n_t","_component_font_awesome_icon","_createCommentVNode","_component_Draggable","onCellDragStart","onCellDragEnd","getPathNameFromTarget","index2","_createBlock","_component_TextWithHighlights","_component_n8n_tree","label","isDraggingKey","getCellExpression","onMouseEnterKey","_hoisted_5","getValueToRender","_hoisted_6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunDataTable-BVAuNDP9.js","sources":["../../src/components/RunDataTable.vue"],"sourcesContent":["<template>\n\t<div :class=\"[$style.dataDisplay, { [$style.highlight]: highlight }]\">\n\t\t<table v-if=\"tableData.columns && tableData.columns.length === 0\" :class=\"$style.table\">\n\t\t\t<tr>\n\t\t\t\t<th :class=\"$style.emptyCell\"></th>\n\t\t\t\t<th :class=\"$style.tableRightMargin\"></th>\n\t\t\t</tr>\n\t\t\t<tr\n\t\t\t\tv-for=\"(row, index1) in tableData.data\"\n\t\t\t\t:key=\"index1\"\n\t\t\t\t:class=\"{ [$style.hoveringRow]: isHoveringRow(index1) }\"\n\t\t\t>\n\t\t\t\t<td\n\t\t\t\t\t:data-row=\"index1\"\n\t\t\t\t\t:data-col=\"0\"\n\t\t\t\t\t@mouseenter=\"onMouseEnterCell\"\n\t\t\t\t\t@mouseleave=\"onMouseLeaveCell\"\n\t\t\t\t>\n\t\t\t\t\t<n8n-info-tip>{{ $locale.baseText('runData.emptyItemHint') }}</n8n-info-tip>\n\t\t\t\t</td>\n\t\t\t\t<td :class=\"$style.tableRightMargin\"></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<table v-else :class=\"$style.table\">\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th v-for=\"(column, i) in tableData.columns || []\" :key=\"column\">\n\t\t\t\t\t\t<n8n-tooltip placement=\"bottom-start\" :disabled=\"!mappingEnabled\" :show-after=\"1000\">\n\t\t\t\t\t\t\t<template #content>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<img src=\"/static/data-mapping-gif.gif\" />\n\t\t\t\t\t\t\t\t\t{{ $locale.baseText('dataMapping.dragColumnToFieldHint') }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<Draggable\n\t\t\t\t\t\t\t\ttype=\"mapping\"\n\t\t\t\t\t\t\t\t:data=\"getExpression(column)\"\n\t\t\t\t\t\t\t\t:disabled=\"!mappingEnabled\"\n\t\t\t\t\t\t\t\t@dragstart=\"onDragStart\"\n\t\t\t\t\t\t\t\t@dragend=\"(column) => onDragEnd(column, 'column')\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<template #preview=\"{ canDrop }\">\n\t\t\t\t\t\t\t\t\t<MappingPill :html=\"shorten(column, 16, 2)\" :can-drop=\"canDrop\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template #default=\"{ isDragging }\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t\t[$style.header]: true,\n\t\t\t\t\t\t\t\t\t\t\t[$style.draggableHeader]: mappingEnabled,\n\t\t\t\t\t\t\t\t\t\t\t[$style.activeHeader]:\n\t\t\t\t\t\t\t\t\t\t\t\t(i === activeColumn || forceShowGrip) && mappingEnabled,\n\t\t\t\t\t\t\t\t\t\t\t[$style.draggingHeader]: isDragging,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<TextWithHighlights\n\t\t\t\t\t\t\t\t\t\t\t:content=\"getValueToRender(column || '')\"\n\t\t\t\t\t\t\t\t\t\t\t:search=\"search\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div :class=\"$style.dragButton\">\n\t\t\t\t\t\t\t\t\t\t\t<font-awesome-icon icon=\"grip-vertical\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</Draggable>\n\t\t\t\t\t\t</n8n-tooltip>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th v-if=\"columnLimitExceeded\" :class=\"$style.header\">\n\t\t\t\t\t\t<n8n-tooltip placement=\"bottom-end\">\n\t\t\t\t\t\t\t<template #content>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<i18n-t tag=\"span\" keypath=\"dataMapping.tableView.tableColumnsExceeded.tooltip\">\n\t\t\t\t\t\t\t\t\t\t<template #columnLimit>{{ columnLimit }}</template>\n\t\t\t\t\t\t\t\t\t\t<template #link>\n\t\t\t\t\t\t\t\t\t\t\t<a @click=\"switchToJsonView\">{{\n\t\t\t\t\t\t\t\t\t\t\t\t$locale.baseText('dataMapping.tableView.tableColumnsExceeded.tooltip.link')\n\t\t\t\t\t\t\t\t\t\t\t}}</a>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</i18n-t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\t\t:class=\"$style['warningTooltip']\"\n\t\t\t\t\t\t\t\t\ticon=\"exclamation-triangle\"\n\t\t\t\t\t\t\t\t></font-awesome-icon>\n\t\t\t\t\t\t\t\t{{ $locale.baseText('dataMapping.tableView.tableColumnsExceeded') }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</n8n-tooltip>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th :class=\"$style.tableRightMargin\"></th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<Draggable\n\t\t\t\tref=\"draggable\"\n\t\t\t\ttag=\"tbody\"\n\t\t\t\ttype=\"mapping\"\n\t\t\t\ttarget-data-key=\"mappable\"\n\t\t\t\t:disabled=\"!mappingEnabled\"\n\t\t\t\t@dragstart=\"onCellDragStart\"\n\t\t\t\t@dragend=\"onCellDragEnd\"\n\t\t\t>\n\t\t\t\t<template #preview=\"{ canDrop, el }\">\n\t\t\t\t\t<MappingPill\n\t\t\t\t\t\t:html=\"shorten(getPathNameFromTarget(el) || '', 16, 2)\"\n\t\t\t\t\t\t:can-drop=\"canDrop\"\n\t\t\t\t\t/>\n\t\t\t\t</template>\n\t\t\t\t<tr\n\t\t\t\t\tv-for=\"(row, index1) in tableData.data\"\n\t\t\t\t\t:key=\"index1\"\n\t\t\t\t\t:class=\"{ [$style.hoveringRow]: isHoveringRow(index1) }\"\n\t\t\t\t\t:data-test-id=\"isHoveringRow(index1) ? 'hovering-item' : undefined\"\n\t\t\t\t>\n\t\t\t\t\t<td\n\t\t\t\t\t\tv-for=\"(data, index2) in row\"\n\t\t\t\t\t\t:key=\"index2\"\n\t\t\t\t\t\t:data-row=\"index1\"\n\t\t\t\t\t\t:data-col=\"index2\"\n\t\t\t\t\t\t:class=\"hasJsonInColumn(index2) ? $style.minColWidth : $style.limitColWidth\"\n\t\t\t\t\t\t@mouseenter=\"onMouseEnterCell\"\n\t\t\t\t\t\t@mouseleave=\"onMouseLeaveCell\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextWithHighlights\n\t\t\t\t\t\t\tv-if=\"isSimple(data)\"\n\t\t\t\t\t\t\t:content=\"getValueToRender(data)\"\n\t\t\t\t\t\t\t:search=\"search\"\n\t\t\t\t\t\t\t:class=\"{ [$style.value]: true, [$style.empty]: isEmpty(data) }\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<n8n-tree v-else :node-class=\"$style.nodeClass\" :value=\"data\">\n\t\t\t\t\t\t\t<template #label=\"{ label, path }\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t[$style.hoveringKey]: mappingEnabled && isHovering(path, index2),\n\t\t\t\t\t\t\t\t\t\t[$style.draggingKey]: isDraggingKey(path, index2),\n\t\t\t\t\t\t\t\t\t\t[$style.dataKey]: true,\n\t\t\t\t\t\t\t\t\t\t[$style.mappable]: mappingEnabled,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\tdata-target=\"mappable\"\n\t\t\t\t\t\t\t\t\t:data-name=\"getCellPathName(path, index2)\"\n\t\t\t\t\t\t\t\t\t:data-value=\"getCellExpression(path, index2)\"\n\t\t\t\t\t\t\t\t\t:data-depth=\"path.length\"\n\t\t\t\t\t\t\t\t\t@mouseenter=\"() => onMouseEnterKey(path, index2)\"\n\t\t\t\t\t\t\t\t\t@mouseleave=\"onMouseLeaveKey\"\n\t\t\t\t\t\t\t\t\t>{{ label || $locale.baseText('runData.unnamedField') }}</span\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template #value=\"{ value }\">\n\t\t\t\t\t\t\t\t<TextWithHighlights\n\t\t\t\t\t\t\t\t\t:content=\"getValueToRender(value)\"\n\t\t\t\t\t\t\t\t\t:search=\"search\"\n\t\t\t\t\t\t\t\t\t:class=\"{ [$style.nestedValue]: true, [$style.empty]: isEmpty(value) }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n8n-tree>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td v-if=\"columnLimitExceeded\"></td>\n\t\t\t\t\t<td :class=\"$style.tableRightMargin\"></td>\n\t\t\t\t</tr>\n\t\t\t</Draggable>\n\t\t</table>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport type { PropType } from 'vue';\nimport { mapStores } from 'pinia';\nimport type { INodeUi, ITableData, NDVState } from '@/Interface';\nimport { shorten } from '@/utils/typesUtils';\nimport { getPairedItemId } from '@/utils/pairedItemUtils';\nimport type { GenericValue, IDataObject, INodeExecutionData } from 'n8n-workflow';\nimport Draggable from './Draggable.vue';\nimport { useWorkflowsStore } from '@/stores/workflows.store';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport MappingPill from './MappingPill.vue';\nimport { getMappedExpression } from '@/utils/mappingUtils';\nimport { useExternalHooks } from '@/composables/useExternalHooks';\nimport TextWithHighlights from './TextWithHighlights.vue';\n\nconst MAX_COLUMNS_LIMIT = 40;\n\ntype DraggableRef = InstanceType<typeof Draggable>;\n\nexport default defineComponent({\n\tname: 'RunDataTable',\n\tcomponents: { Draggable, MappingPill, TextWithHighlights },\n\tprops: {\n\t\tnode: {\n\t\t\ttype: Object as PropType<INodeUi>,\n\t\t\trequired: true,\n\t\t},\n\t\tinputData: {\n\t\t\ttype: Array as PropType<INodeExecutionData[]>,\n\t\t\trequired: true,\n\t\t},\n\t\tmappingEnabled: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tdistanceFromActive: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\trunIndex: {\n\t\t\ttype: Number,\n\t\t},\n\t\toutputIndex: {\n\t\t\ttype: Number,\n\t\t},\n\t\ttotalRuns: {\n\t\t\ttype: Number,\n\t\t},\n\t\tpageOffset: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\thasDefaultHoverState: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t},\n\t},\n\tsetup() {\n\t\tconst externalHooks = useExternalHooks();\n\t\treturn {\n\t\t\texternalHooks,\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tactiveColumn: -1,\n\t\t\tforceShowGrip: false,\n\t\t\tdraggedColumn: false,\n\t\t\tdraggingPath: null as null | string,\n\t\t\thoveringPath: null as null | string,\n\t\t\tmappingHintVisible: false,\n\t\t\tactiveRow: null as number | null,\n\t\t\tcolumnLimit: MAX_COLUMNS_LIMIT,\n\t\t\tcolumnLimitExceeded: false,\n\t\t};\n\t},\n\tmounted() {\n\t\tif (this.tableData && this.tableData.columns && this.$refs.draggable) {\n\t\t\tconst tbody = (this.$refs.draggable as DraggableRef).$refs.wrapper as HTMLElement;\n\t\t\tif (tbody) {\n\t\t\t\tthis.$emit('mounted', {\n\t\t\t\t\tavgRowHeight: tbody.offsetHeight / this.tableData.data.length,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapStores(useNDVStore, useWorkflowsStore),\n\t\thoveringItem(): NDVState['hoveringItem'] {\n\t\t\treturn this.ndvStore.hoveringItem;\n\t\t},\n\t\tpairedItemMappings(): { [itemId: string]: Set<string> } {\n\t\t\treturn this.workflowsStore.workflowExecutionPairedItemMappings;\n\t\t},\n\t\ttableData(): ITableData {\n\t\t\treturn this.convertToTable(this.inputData);\n\t\t},\n\t\tfocusedMappableInput(): string {\n\t\t\treturn this.ndvStore.focusedMappableInput;\n\t\t},\n\t\thighlight(): boolean {\n\t\t\treturn this.ndvStore.highlightDraggables;\n\t\t},\n\t},\n\tmethods: {\n\t\tshorten,\n\t\tisHoveringRow(row: number): boolean {\n\t\t\tif (row === this.activeRow) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst itemIndex = this.pageOffset + row;\n\t\t\tif (\n\t\t\t\titemIndex === 0 &&\n\t\t\t\t!this.hoveringItem &&\n\t\t\t\tthis.hasDefaultHoverState &&\n\t\t\t\tthis.distanceFromActive === 1\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst itemNodeId = getPairedItemId(\n\t\t\t\tthis.node?.name ?? '',\n\t\t\t\tthis.runIndex || 0,\n\t\t\t\tthis.outputIndex || 0,\n\t\t\t\titemIndex,\n\t\t\t);\n\t\t\tif (!this.hoveringItem || !this.pairedItemMappings[itemNodeId]) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst hoveringItemId = getPairedItemId(\n\t\t\t\tthis.hoveringItem.nodeName,\n\t\t\t\tthis.hoveringItem.runIndex,\n\t\t\t\tthis.hoveringItem.outputIndex,\n\t\t\t\tthis.hoveringItem.itemIndex,\n\t\t\t);\n\t\t\treturn this.pairedItemMappings[itemNodeId].has(hoveringItemId);\n\t\t},\n\t\tonMouseEnterCell(e: MouseEvent) {\n\t\t\tconst target = e.target;\n\t\t\tif (target && this.mappingEnabled) {\n\t\t\t\tconst col = (target as HTMLElement).dataset.col;\n\t\t\t\tif (col && !isNaN(parseInt(col, 10))) {\n\t\t\t\t\tthis.activeColumn = parseInt(col, 10);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (target) {\n\t\t\t\tconst row = (target as HTMLElement).dataset.row;\n\t\t\t\tif (row && !isNaN(parseInt(row, 10))) {\n\t\t\t\t\tthis.activeRow = parseInt(row, 10);\n\t\t\t\t\tthis.$emit('activeRowChanged', this.pageOffset + this.activeRow);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonMouseLeaveCell() {\n\t\t\tthis.activeColumn = -1;\n\t\t\tthis.activeRow = null;\n\t\t\tthis.$emit('activeRowChanged', null);\n\t\t},\n\t\tonMouseEnterKey(path: string[], colIndex: number) {\n\t\t\tthis.hoveringPath = this.getCellExpression(path, colIndex);\n\t\t},\n\t\tonMouseLeaveKey() {\n\t\t\tthis.hoveringPath = null;\n\t\t},\n\t\tisHovering(path: string[], colIndex: number) {\n\t\t\tconst expr = this.getCellExpression(path, colIndex);\n\n\t\t\treturn this.hoveringPath === expr;\n\t\t},\n\t\tgetExpression(column: string) {\n\t\t\tif (!this.node) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\treturn getMappedExpression({\n\t\t\t\tnodeName: this.node.name,\n\t\t\t\tdistanceFromActive: this.distanceFromActive,\n\t\t\t\tpath: [column],\n\t\t\t});\n\t\t},\n\t\tgetPathNameFromTarget(el: HTMLElement) {\n\t\t\tif (!el) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\treturn el.dataset.name;\n\t\t},\n\t\tgetCellPathName(path: Array<string | number>, colIndex: number) {\n\t\t\tconst lastKey = path[path.length - 1];\n\t\t\tif (typeof lastKey === 'string') {\n\t\t\t\treturn lastKey;\n\t\t\t}\n\t\t\tif (path.length > 1) {\n\t\t\t\tconst prevKey = path[path.length - 2];\n\t\t\t\treturn `${prevKey}[${lastKey}]`;\n\t\t\t}\n\t\t\tconst column = this.tableData.columns[colIndex];\n\t\t\treturn `${column}[${lastKey}]`;\n\t\t},\n\t\tgetCellExpression(path: Array<string | number>, colIndex: number) {\n\t\t\tif (!this.node) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tconst column = this.tableData.columns[colIndex];\n\t\t\treturn getMappedExpression({\n\t\t\t\tnodeName: this.node.name,\n\t\t\t\tdistanceFromActive: this.distanceFromActive,\n\t\t\t\tpath: [column, ...path],\n\t\t\t});\n\t\t},\n\t\tisEmpty(value: unknown): boolean {\n\t\t\treturn (\n\t\t\t\tvalue === '' ||\n\t\t\t\t(Array.isArray(value) && value.length === 0) ||\n\t\t\t\t(typeof value === 'object' && value !== null && Object.keys(value).length === 0) ||\n\t\t\t\tvalue === null ||\n\t\t\t\tvalue === undefined\n\t\t\t);\n\t\t},\n\t\tgetValueToRender(value: unknown): string {\n\t\t\tif (value === '') {\n\t\t\t\treturn this.$locale.baseText('runData.emptyString');\n\t\t\t}\n\t\t\tif (typeof value === 'string') {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (Array.isArray(value) && value.length === 0) {\n\t\t\t\treturn this.$locale.baseText('runData.emptyArray');\n\t\t\t}\n\t\t\tif (typeof value === 'object' && value !== null && Object.keys(value).length === 0) {\n\t\t\t\treturn this.$locale.baseText('runData.emptyObject');\n\t\t\t}\n\t\t\tif (value === null || value === undefined) {\n\t\t\t\treturn `[${value}]`;\n\t\t\t}\n\t\t\tif (value === true || value === false || typeof value === 'number') {\n\t\t\t\treturn value.toString();\n\t\t\t}\n\t\t\treturn JSON.stringify(value);\n\t\t},\n\t\tonDragStart() {\n\t\t\tthis.draggedColumn = true;\n\t\t\tthis.ndvStore.resetMappingTelemetry();\n\t\t},\n\t\tonCellDragStart(el: HTMLElement) {\n\t\t\tif (el?.dataset.value) {\n\t\t\t\tthis.draggingPath = el.dataset.value;\n\t\t\t}\n\n\t\t\tthis.onDragStart();\n\t\t},\n\t\tonCellDragEnd(el: HTMLElement) {\n\t\t\tthis.draggingPath = null;\n\n\t\t\tthis.onDragEnd(el.dataset.name || '', 'tree', el.dataset.depth || '0');\n\t\t},\n\t\tisDraggingKey(path: Array<string | number>, colIndex: number) {\n\t\t\tif (!this.draggingPath) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn this.draggingPath === this.getCellExpression(path, colIndex);\n\t\t},\n\t\tonDragEnd(column: string, src: string, depth = '0') {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst mappingTelemetry = this.ndvStore.mappingTelemetry;\n\t\t\t\tconst telemetryPayload = {\n\t\t\t\t\tsrc_node_type: this.node.type,\n\t\t\t\t\tsrc_field_name: column,\n\t\t\t\t\tsrc_nodes_back: this.distanceFromActive,\n\t\t\t\t\tsrc_run_index: this.runIndex,\n\t\t\t\t\tsrc_runs_total: this.totalRuns,\n\t\t\t\t\tsrc_field_nest_level: parseInt(depth, 10),\n\t\t\t\t\tsrc_view: 'table',\n\t\t\t\t\tsrc_element: src,\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\t...mappingTelemetry,\n\t\t\t\t};\n\n\t\t\t\tvoid this.externalHooks.run('runDataTable.onDragEnd', telemetryPayload);\n\n\t\t\t\tthis.$telemetry.track('User dragged data for mapping', telemetryPayload, {\n\t\t\t\t\twithPostHog: true,\n\t\t\t\t});\n\t\t\t}, 1000); // ensure dest data gets set if drop\n\t\t},\n\t\tisSimple(data: unknown): boolean {\n\t\t\treturn (\n\t\t\t\ttypeof data !== 'object' ||\n\t\t\t\tdata === null ||\n\t\t\t\t(Array.isArray(data) && data.length === 0) ||\n\t\t\t\t(typeof data === 'object' && Object.keys(data).length === 0)\n\t\t\t);\n\t\t},\n\t\thasJsonInColumn(colIndex: number): boolean {\n\t\t\treturn this.tableData.hasJson[this.tableData.columns[colIndex]];\n\t\t},\n\t\tconvertToTable(inputData: INodeExecutionData[]): ITableData {\n\t\t\tconst tableData: GenericValue[][] = [];\n\t\t\tconst tableColumns: string[] = [];\n\t\t\tlet leftEntryColumns: string[], entryRows: GenericValue[];\n\t\t\t// Go over all entries\n\t\t\tlet entry: IDataObject;\n\t\t\tconst hasJson: { [key: string]: boolean } = {};\n\t\t\tinputData.forEach((data) => {\n\t\t\t\tif (!data.hasOwnProperty('json')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tentry = data.json;\n\n\t\t\t\t// Go over all keys of entry\n\t\t\t\tentryRows = [];\n\t\t\t\tconst entryColumns = Object.keys(entry || {});\n\n\t\t\t\tif (entryColumns.length > MAX_COLUMNS_LIMIT) {\n\t\t\t\t\tthis.columnLimitExceeded = true;\n\t\t\t\t\tleftEntryColumns = entryColumns.slice(0, MAX_COLUMNS_LIMIT);\n\t\t\t\t} else {\n\t\t\t\t\tleftEntryColumns = entryColumns;\n\t\t\t\t}\n\n\t\t\t\t// Go over all the already existing column-keys\n\t\t\t\ttableColumns.forEach((key) => {\n\t\t\t\t\tif (entry.hasOwnProperty(key)) {\n\t\t\t\t\t\t// Entry does have key so add its value\n\t\t\t\t\t\tentryRows.push(entry[key]);\n\t\t\t\t\t\t// Remove key so that we know that it got added\n\t\t\t\t\t\tleftEntryColumns.splice(leftEntryColumns.indexOf(key), 1);\n\n\t\t\t\t\t\thasJson[key] =\n\t\t\t\t\t\t\thasJson[key] ||\n\t\t\t\t\t\t\t(typeof entry[key] === 'object' && Object.keys(entry[key] || {}).length > 0) ||\n\t\t\t\t\t\t\tfalse;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Entry does not have key so add undefined\n\t\t\t\t\t\tentryRows.push(undefined);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Go over all the columns the entry has but did not exist yet\n\t\t\t\tleftEntryColumns.forEach((key) => {\n\t\t\t\t\t// Add the key for all runs in the future\n\t\t\t\t\ttableColumns.push(key);\n\t\t\t\t\t// Add the value\n\t\t\t\t\tentryRows.push(entry[key]);\n\t\t\t\t\thasJson[key] =\n\t\t\t\t\t\thasJson[key] ||\n\t\t\t\t\t\t(typeof entry[key] === 'object' && Object.keys(entry[key] || {}).length > 0) ||\n\t\t\t\t\t\tfalse;\n\t\t\t\t});\n\n\t\t\t\t// Add the data of the entry\n\t\t\t\ttableData.push(entryRows);\n\t\t\t});\n\n\t\t\t// Make sure that all entry-rows have the same length\n\t\t\ttableData.forEach((entryRows) => {\n\t\t\t\tif (tableColumns.length > entryRows.length) {\n\t\t\t\t\t// Has fewer entries so add the missing ones\n\t\t\t\t\tentryRows.push(...new Array(tableColumns.length - entryRows.length));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\thasJson,\n\t\t\t\tcolumns: tableColumns,\n\t\t\t\tdata: tableData,\n\t\t\t};\n\t\t},\n\t\tswitchToJsonView() {\n\t\t\tthis.$emit('displayModeChange', 'json');\n\t\t},\n\t},\n\twatch: {\n\t\tfocusedMappableInput(curr: boolean) {\n\t\t\tsetTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tthis.forceShowGrip = !!this.focusedMappableInput;\n\t\t\t\t},\n\t\t\t\tcurr ? 300 : 150,\n\t\t\t);\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.dataDisplay {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding-left: var(--spacing-s);\n\tright: 0;\n\toverflow-y: auto;\n\tline-height: 1.5;\n\tword-break: normal;\n\theight: 100%;\n\tpadding-bottom: var(--spacing-3xl);\n}\n\n.table {\n\tborder-collapse: separate;\n\ttext-align: left;\n\twidth: calc(100%);\n\tfont-size: var(--font-size-s);\n\n\tth {\n\t\tbackground-color: var(--color-background-base);\n\t\tborder-top: var(--border-base);\n\t\tborder-bottom: var(--border-base);\n\t\tborder-left: var(--border-base);\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tcolor: var(--color-text-dark);\n\t\tz-index: 1;\n\t}\n\n\ttd {\n\t\tvertical-align: top;\n\t\tpadding: var(--spacing-2xs) var(--spacing-2xs) var(--spacing-2xs) var(--spacing-3xs);\n\t\tborder-bottom: var(--border-base);\n\t\tborder-left: var(--border-base);\n\t\toverflow-wrap: break-word;\n\t\twhite-space: pre-wrap;\n\t\tvertical-align: top;\n\t}\n\n\ttd:first-child,\n\ttd:nth-last-child(2) {\n\t\tposition: relative;\n\t\tz-index: 0;\n\n\t\t&:after {\n\t\t\t// add border without shifting content\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t\twidth: 2px;\n\t\t\ttop: 0;\n\t\t}\n\t}\n\n\ttd:nth-last-child(2):after {\n\t\tright: -1px;\n\t}\n\n\ttd:first-child:after {\n\t\tleft: -1px;\n\t}\n\n\tth:last-child,\n\ttd:last-child {\n\t\tborder-right: var(--border-base);\n\t}\n}\n\n.nodeClass {\n\tmargin-bottom: var(--spacing-5xs);\n}\n\n.emptyCell {\n\theight: 32px;\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: var(--spacing-2xs);\n\n\tspan {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tflex-grow: 1;\n\t}\n}\n\n.draggableHeader {\n\t&:hover {\n\t\tcursor: grab;\n\t\tbackground-color: var(--color-foreground-base);\n\n\t\t.dragButton {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n.highlight .draggableHeader {\n\tcolor: var(--color-primary);\n}\n\n.draggingHeader {\n\tcolor: var(--color-primary);\n\tbackground-color: var(--color-primary-tint-2);\n}\n\n.activeHeader {\n\t.dragButton {\n\t\topacity: 1;\n\t}\n}\n\n.dragButton {\n\topacity: 0;\n\tmargin-left: var(--spacing-2xs);\n}\n\n.dataKey {\n\tcolor: var(--color-text-dark);\n\tline-height: 1.7;\n\tfont-weight: var(--font-weight-bold);\n\tborder-radius: var(--border-radius-base);\n\tpadding: 0 var(--spacing-5xs) 0 var(--spacing-5xs);\n\tmargin-right: var(--spacing-5xs);\n}\n\n.value {\n\tline-height: var(--font-line-height-regular);\n}\n\n.nestedValue {\n\tcomposes: value;\n\tmargin-left: var(--spacing-4xs);\n}\n\n.mappable {\n\tcursor: grab;\n}\n\n.empty {\n\tcolor: var(--color-danger);\n}\n\n.limitColWidth {\n\tmax-width: 300px;\n}\n\n.minColWidth {\n\tmin-width: 240px;\n}\n\n.hoveringKey {\n\tbackground-color: var(--color-foreground-base);\n}\n\n.draggingKey {\n\tbackground-color: var(--color-primary-tint-2);\n}\n\n.tableRightMargin {\n\t// becomes necessary with large tables\n\tbackground-color: var(--color-background-base) !important;\n\twidth: var(--spacing-s);\n\tborder-right: none !important;\n\tborder-top: none !important;\n\tborder-bottom: none !important;\n}\n\n.hoveringRow {\n\ttd:first-child:after,\n\ttd:nth-last-child(2):after {\n\t\tbackground-color: var(--color-secondary);\n\t}\n}\n\n.warningTooltip {\n\tcolor: var(--color-warning);\n}\n</style>\n"],"names":["MAX_COLUMNS_LIMIT","_sfc_main","defineComponent","Draggable","MappingPill","TextWithHighlights","useExternalHooks","tbody","mapStores","useNDVStore","useWorkflowsStore","shorten","row","itemIndex","itemNodeId","getPairedItemId","_a","hoveringItemId","target","col","path","colIndex","expr","column","getMappedExpression","el","lastKey","value","src","depth","mappingTelemetry","telemetryPayload","data","inputData","tableData","tableColumns","leftEntryColumns","entryRows","entry","hasJson","entryColumns","key","curr","_hoisted_1","_hoisted_2","_createElementVNode","_imports_0","_hoisted_3","_hoisted_4","_resolveComponent","_ctx","_openBlock","_createElementBlock","$style","_normalizeClass","_Fragment","_renderList","index1","_cache","args","_component_n8n_info_tip","$locale","_createTextVNode","_toDisplayString","i","_createVNode","mappingEnabled","_withCtx","getExpression","onDragStart","canDrop","_component_MappingPill","isDragging","activeColumn","forceShowGrip","search","columnLimitExceeded","_component_n8n_tooltip","_component_i18n_t","_component_font_awesome_icon","_createCommentVNode","_component_Draggable","onCellDragStart","onCellDragEnd","getPathNameFromTarget","index2","_createBlock","_component_TextWithHighlights","_component_n8n_tree","label","isDraggingKey","getCellExpression","onMouseEnterKey","_hoisted_5","getValueToRender","_hoisted_6"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as u,aH as l,r as c,Z as f,l as g,M as h}from"./vendor-Dv5OeN6t.js";import{A as b}from"./AuthView-
|
|
2
|
-
//# sourceMappingURL=SamlOnboarding-
|
|
1
|
+
import{G as u,aH as l,r as c,Z as f,l as g,M as h}from"./vendor-Dv5OeN6t.js";import{A as b}from"./AuthView-B_jZMnGj.js";import{cQ as d,O as t,V as x}from"./index-1OxaEeO3.js";import{E as _}from"./n8n-4UEsHtUL.js";import"./pinia-sugP77Im.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CIxnBJXX.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-BOfzoJX1.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const L=u({__name:"SamlOnboarding",setup(N){var a,o;const s=l(),e=d(),r=c(!1),p=f({title:t.baseText("auth.signup.setupYourAccount"),buttonText:t.baseText("auth.signup.finishAccountSetup"),inputs:[{name:"firstName",initialValue:(a=e.userData)==null?void 0:a.firstName,properties:{label:t.baseText("auth.firstName"),maxlength:32,required:!0,autocomplete:"given-name",capitalize:!0}},{name:"lastName",initialValue:(o=e.userData)==null?void 0:o.lastName,properties:{label:t.baseText("auth.lastName"),maxlength:32,required:!0,autocomplete:"family-name",capitalize:!0}}]}),n=async i=>{try{r.value=!0,await e.updateUser(i),await s.push({name:x.HOMEPAGE})}catch(m){r.value=!1,_.error({title:"Error",message:m.message,position:"bottom-right"})}};return(i,m)=>(g(),h(b,{form:p,"form-loading":r.value,onSubmit:n},null,8,["form","form-loading"]))}});export{L as default};
|
|
2
|
+
//# sourceMappingURL=SamlOnboarding-Csd8l-7T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SamlOnboarding-
|
|
1
|
+
{"version":3,"file":"SamlOnboarding-Csd8l-7T.js","sources":["../../src/views/SamlOnboarding.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { reactive, ref } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { ElNotification as Notification } from 'element-plus';\nimport type { IFormBoxConfig } from 'n8n-design-system';\nimport AuthView from '@/views/AuthView.vue';\nimport { i18n as locale } from '@/plugins/i18n';\nimport { useSSOStore } from '@/stores/sso.store';\nimport { VIEWS } from '@/constants';\n\nconst router = useRouter();\nconst ssoStore = useSSOStore();\n\nconst loading = ref(false);\nconst FORM_CONFIG: IFormBoxConfig = reactive({\n\ttitle: locale.baseText('auth.signup.setupYourAccount'),\n\tbuttonText: locale.baseText('auth.signup.finishAccountSetup'),\n\tinputs: [\n\t\t{\n\t\t\tname: 'firstName',\n\t\t\tinitialValue: ssoStore.userData?.firstName,\n\t\t\tproperties: {\n\t\t\t\tlabel: locale.baseText('auth.firstName'),\n\t\t\t\tmaxlength: 32,\n\t\t\t\trequired: true,\n\t\t\t\tautocomplete: 'given-name',\n\t\t\t\tcapitalize: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'lastName',\n\t\t\tinitialValue: ssoStore.userData?.lastName,\n\t\t\tproperties: {\n\t\t\t\tlabel: locale.baseText('auth.lastName'),\n\t\t\t\tmaxlength: 32,\n\t\t\t\trequired: true,\n\t\t\t\tautocomplete: 'family-name',\n\t\t\t\tcapitalize: true,\n\t\t\t},\n\t\t},\n\t],\n});\nconst onSubmit = async (values: { firstName: string; lastName: string }) => {\n\ttry {\n\t\tloading.value = true;\n\t\tawait ssoStore.updateUser(values);\n\t\tawait router.push({ name: VIEWS.HOMEPAGE });\n\t} catch (error) {\n\t\tloading.value = false;\n\t\tNotification.error({\n\t\t\ttitle: 'Error',\n\t\t\tmessage: error.message,\n\t\t\tposition: 'bottom-right',\n\t\t});\n\t}\n};\n</script>\n\n<template>\n\t<AuthView :form=\"FORM_CONFIG\" :form-loading=\"loading\" @submit=\"onSubmit\" />\n</template>\n"],"names":["router","useRouter","ssoStore","useSSOStore","loading","ref","FORM_CONFIG","reactive","locale","_a","_b","onSubmit","values","VIEWS","error","Notification"],"mappings":"irCAUA,MAAMA,EAASC,IACTC,EAAWC,IAEXC,EAAUC,EAAI,EAAK,EACnBC,EAA8BC,EAAS,CAC5C,MAAOC,EAAO,SAAS,8BAA8B,EACrD,WAAYA,EAAO,SAAS,gCAAgC,EAC5D,OAAQ,CACP,CACC,KAAM,YACN,cAAcC,EAAAP,EAAS,WAAT,YAAAO,EAAmB,UACjC,WAAY,CACX,MAAOD,EAAO,SAAS,gBAAgB,EACvC,UAAW,GACX,SAAU,GACV,aAAc,aACd,WAAY,EACb,CACD,EACA,CACC,KAAM,WACN,cAAcE,EAAAR,EAAS,WAAT,YAAAQ,EAAmB,SACjC,WAAY,CACX,MAAOF,EAAO,SAAS,eAAe,EACtC,UAAW,GACX,SAAU,GACV,aAAc,cACd,WAAY,EACb,CACD,CACD,CAAA,CACA,EACKG,EAAW,MAAOC,GAAoD,CACvE,GAAA,CACHR,EAAQ,MAAQ,GACV,MAAAF,EAAS,WAAWU,CAAM,EAChC,MAAMZ,EAAO,KAAK,CAAE,KAAMa,EAAM,SAAU,QAClCC,EAAO,CACfV,EAAQ,MAAQ,GAChBW,EAAa,MAAM,CAClB,MAAO,QACP,QAASD,EAAM,QACf,SAAU,cAAA,CACV,CACF,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c$ as T,u as k,H as C,e as g,d0 as S,U as A,a as U,b as v,l as x,A as P}from"./index-
|
|
2
|
-
//# sourceMappingURL=SettingsApiView-
|
|
1
|
+
import{c$ as T,u as k,H as C,e as g,d0 as S,U as A,a as U,b as v,l as x,A as P}from"./index-1OxaEeO3.js";import{m as I}from"./pinia-sugP77Im.js";import{G as K,ag as t,l,m as h,p as s,U as i,O as a,S as n,T as o,J as E,I as r,M as b,R as M}from"./vendor-Dv5OeN6t.js";import{_ as D}from"./n8n-4UEsHtUL.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CIxnBJXX.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-BOfzoJX1.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const V=K({name:"SettingsApiView",components:{CopyInput:T},setup(){return{...k(),...C(),...g()}},data(){return{loading:!1,mounted:!1,apiKey:"",swaggerUIEnabled:!1,apiDocsURL:""}},mounted(){if(!this.isPublicApiEnabled)return;this.getApiKey();const e=this.rootStore.baseUrl,c=this.settingsStore.publicApiPath,p=this.settingsStore.publicApiLatestVersion;this.swaggerUIEnabled=this.settingsStore.isSwaggerUIEnabled,this.apiDocsURL=this.swaggerUIEnabled?`${e}${c}/v${p}/docs`:`https://${S}/api/api-reference/`},computed:{...I(x,v,U,A,g),currentUser(){return this.usersStore.currentUser},isTrialing(){return this.cloudPlanStore.userIsTrialing},isLoadingCloudPlans(){return this.cloudPlanStore.state.loadingPlan},isPublicApiEnabled(){return this.settingsStore.isPublicApiEnabled}},methods:{onUpgrade(){this.uiStore.goToUpgrade("settings-n8n-api","upgrade-api","redirect")},async showDeleteModal(){await this.confirm(this.$locale.baseText("settings.api.delete.description"),this.$locale.baseText("settings.api.delete.title"),{confirmButtonText:this.$locale.baseText("settings.api.delete.button"),cancelButtonText:this.$locale.baseText("generic.cancel")})===P&&await this.deleteApiKey()},async getApiKey(){try{this.apiKey=await this.settingsStore.getApiKey()||""}catch(e){this.showError(e,this.$locale.baseText("settings.api.view.error"))}finally{this.mounted=!0}},async createApiKey(){this.loading=!0;try{this.apiKey=await this.settingsStore.createApiKey()||""}catch(e){this.showError(e,this.$locale.baseText("settings.api.create.error"))}finally{this.loading=!1,this.$telemetry.track("User clicked create API key button")}},async deleteApiKey(){try{await this.settingsStore.deleteApiKey(),this.showMessage({title:this.$locale.baseText("settings.api.delete.toast"),type:"success"}),this.apiKey=""}catch(e){this.showError(e,this.$locale.baseText("settings.api.delete.error"))}finally{this.$telemetry.track("User clicked delete API key button")}},onCopy(){this.$telemetry.track("User clicked copy API key button")}}}),z="_container_1xc1f_1",L="_header_1xc1f_5",B="_card_1xc1f_14",N="_hint_1xc1f_25",R={container:z,header:L,card:B,delete:"_delete_1xc1f_18",hint:N},O={key:0},F={class:"mb-s"},G=["textContent"],H=["textContent"];function J(e,c,p,q,Q,W){const m=t("n8n-heading"),y=t("i18n-t"),f=t("n8n-info-tip"),d=t("n8n-link"),$=t("CopyInput"),_=t("n8n-card"),w=t("n8n-text"),u=t("n8n-action-box");return l(),h("div",{class:r(e.$style.container)},[s("div",{class:r(e.$style.header)},[i(m,{size:"2xlarge"},{default:a(()=>[n(o(e.$locale.baseText("settings.api"))+" ",1),s("span",{style:E({fontSize:"var(--font-size-s)",color:"var(--color-text-light)"})}," ("+o(e.$locale.baseText("generic.beta"))+") ",5)]),_:1})],2),e.apiKey?(l(),h("div",O,[s("p",F,[i(f,{bold:!1},{default:a(()=>[i(y,{keypath:"settings.api.view.info",tag:"span"},{apiAction:a(()=>[s("a",{href:"https://docs.n8n.io/api",target:"_blank",textContent:o(e.$locale.baseText("settings.api.view.info.api"))},null,8,G)]),webhookAction:a(()=>[s("a",{href:"https://docs.n8n.io/integrations/core-nodes/n8n-nodes-base.webhook/",target:"_blank",textContent:o(e.$locale.baseText("settings.api.view.info.webhook"))},null,8,H)]),_:1})]),_:1})]),i(_,{class:r(["mb-4xs",e.$style.card])},{default:a(()=>[s("span",{class:r(e.$style.delete)},[i(d,{bold:!0,onClick:e.showDeleteModal},{default:a(()=>[n(o(e.$locale.baseText("generic.delete")),1)]),_:1},8,["onClick"])],2),s("div",null,[i($,{label:e.$locale.baseText("settings.api.view.myKey"),value:e.apiKey,"copy-button-text":e.$locale.baseText("generic.clickToCopy"),"toast-title":e.$locale.baseText("settings.api.view.copy.toast"),"redact-value":!0,onCopy:e.onCopy},null,8,["label","value","copy-button-text","toast-title","onCopy"])])]),_:1},8,["class"]),s("div",{class:r(e.$style.hint)},[i(w,{size:"small"},{default:a(()=>[n(o(e.$locale.baseText(`settings.api.view.${e.swaggerUIEnabled?"tryapi":"more-details"}`)),1)]),_:1}),n(" "+o(" ")+" "),i(d,{to:e.apiDocsURL,"new-window":!0,size:"small"},{default:a(()=>[n(o(e.$locale.baseText(`settings.api.view.${e.swaggerUIEnabled?"apiPlayground":"external-docs"}`)),1)]),_:1},8,["to"])],2)])):!e.isPublicApiEnabled&&e.isTrialing?(l(),b(u,{key:1,"data-test-id":"public-api-upgrade-cta",heading:e.$locale.baseText("settings.api.trial.upgradePlan.title"),description:e.$locale.baseText("settings.api.trial.upgradePlan.description"),"button-text":e.$locale.baseText("settings.api.trial.upgradePlan.cta"),"onClick:button":e.onUpgrade},null,8,["heading","description","button-text","onClick:button"])):e.mounted&&!e.isLoadingCloudPlans?(l(),b(u,{key:2,"button-text":e.$locale.baseText(e.loading?"settings.api.create.button.loading":"settings.api.create.button"),description:e.$locale.baseText("settings.api.create.description"),"onClick:button":e.createApiKey},null,8,["button-text","description","onClick:button"])):M("",!0)],2)}const j={$style:R},Ae=D(V,[["render",J],["__cssModules",j]]);export{Ae as default};
|
|
2
|
+
//# sourceMappingURL=SettingsApiView-DnvdV7dx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsApiView-DV8pIHDw.js","sources":["../../src/views/SettingsApiView.vue"],"sourcesContent":["<template>\n\t<div :class=\"$style.container\">\n\t\t<div :class=\"$style.header\">\n\t\t\t<n8n-heading size=\"2xlarge\">\n\t\t\t\t{{ $locale.baseText('settings.api') }}\n\t\t\t\t<span :style=\"{ fontSize: 'var(--font-size-s)', color: 'var(--color-text-light)' }\">\n\t\t\t\t\t({{ $locale.baseText('generic.beta') }})\n\t\t\t\t</span>\n\t\t\t</n8n-heading>\n\t\t</div>\n\n\t\t<div v-if=\"apiKey\">\n\t\t\t<p class=\"mb-s\">\n\t\t\t\t<n8n-info-tip :bold=\"false\">\n\t\t\t\t\t<i18n-t keypath=\"settings.api.view.info\" tag=\"span\">\n\t\t\t\t\t\t<template #apiAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/api\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.api')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #webhookAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/integrations/core-nodes/n8n-nodes-base.webhook/\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.webhook')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</i18n-t>\n\t\t\t\t</n8n-info-tip>\n\t\t\t</p>\n\t\t\t<n8n-card class=\"mb-4xs\" :class=\"$style.card\">\n\t\t\t\t<span :class=\"$style.delete\">\n\t\t\t\t\t<n8n-link :bold=\"true\" @click=\"showDeleteModal\">\n\t\t\t\t\t\t{{ $locale.baseText('generic.delete') }}\n\t\t\t\t\t</n8n-link>\n\t\t\t\t</span>\n\t\t\t\t<div>\n\t\t\t\t\t<CopyInput\n\t\t\t\t\t\t:label=\"$locale.baseText('settings.api.view.myKey')\"\n\t\t\t\t\t\t:value=\"apiKey\"\n\t\t\t\t\t\t:copy-button-text=\"$locale.baseText('generic.clickToCopy')\"\n\t\t\t\t\t\t:toast-title=\"$locale.baseText('settings.api.view.copy.toast')\"\n\t\t\t\t\t\t:redact-value=\"true\"\n\t\t\t\t\t\t@copy=\"onCopy\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</n8n-card>\n\t\t\t<div :class=\"$style.hint\">\n\t\t\t\t<n8n-text size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(`settings.api.view.${swaggerUIEnabled ? 'tryapi' : 'more-details'}`)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-text>\n\t\t\t\t{{ ' ' }}\n\t\t\t\t<n8n-link :to=\"apiDocsURL\" :new-window=\"true\" size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(\n\t\t\t\t\t\t\t`settings.api.view.${swaggerUIEnabled ? 'apiPlayground' : 'external-docs'}`,\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-link>\n\t\t\t</div>\n\t\t</div>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"!isPublicApiEnabled && isTrialing\"\n\t\t\tdata-test-id=\"public-api-upgrade-cta\"\n\t\t\t:heading=\"$locale.baseText('settings.api.trial.upgradePlan.title')\"\n\t\t\t:description=\"$locale.baseText('settings.api.trial.upgradePlan.description')\"\n\t\t\t:button-text=\"$locale.baseText('settings.api.trial.upgradePlan.cta')\"\n\t\t\t@click:button=\"onUpgrade\"\n\t\t/>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"mounted && !isLoadingCloudPlans\"\n\t\t\t:button-text=\"\n\t\t\t\t$locale.baseText(\n\t\t\t\t\tloading ? 'settings.api.create.button.loading' : 'settings.api.create.button',\n\t\t\t\t)\n\t\t\t\"\n\t\t\t:description=\"$locale.baseText('settings.api.create.description')\"\n\t\t\t@click:button=\"createApiKey\"\n\t\t/>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport type { IUser } from '@/Interface';\nimport { useToast } from '@/composables/useToast';\nimport { useMessage } from '@/composables/useMessage';\n\nimport CopyInput from '@/components/CopyInput.vue';\nimport { mapStores } from 'pinia';\nimport { useSettingsStore } from '@/stores/settings.store';\nimport { useRootStore } from '@/stores/root.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { useUsersStore } from '@/stores/users.store';\nimport { useCloudPlanStore } from '@/stores/cloudPlan.store';\nimport { DOCS_DOMAIN, MODAL_CONFIRM } from '@/constants';\n\nexport default defineComponent({\n\tname: 'SettingsApiView',\n\tcomponents: {\n\t\tCopyInput,\n\t},\n\tsetup() {\n\t\treturn {\n\t\t\t...useToast(),\n\t\t\t...useMessage(),\n\t\t\t...useUIStore(),\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tmounted: false,\n\t\t\tapiKey: '',\n\t\t\tswaggerUIEnabled: false,\n\t\t\tapiDocsURL: '',\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.isPublicApiEnabled) return;\n\n\t\tvoid this.getApiKey();\n\t\tconst baseUrl = this.rootStore.baseUrl;\n\t\tconst apiPath = this.settingsStore.publicApiPath;\n\t\tconst latestVersion = this.settingsStore.publicApiLatestVersion;\n\t\tthis.swaggerUIEnabled = this.settingsStore.isSwaggerUIEnabled;\n\t\tthis.apiDocsURL = this.swaggerUIEnabled\n\t\t\t? `${baseUrl}${apiPath}/v${latestVersion}/docs`\n\t\t\t: `https://${DOCS_DOMAIN}/api/api-reference/`;\n\t},\n\tcomputed: {\n\t\t...mapStores(useRootStore, useSettingsStore, useUsersStore, useCloudPlanStore, useUIStore),\n\t\tcurrentUser(): IUser | null {\n\t\t\treturn this.usersStore.currentUser;\n\t\t},\n\t\tisTrialing(): boolean {\n\t\t\treturn this.cloudPlanStore.userIsTrialing;\n\t\t},\n\t\tisLoadingCloudPlans(): boolean {\n\t\t\treturn this.cloudPlanStore.state.loadingPlan;\n\t\t},\n\t\tisPublicApiEnabled(): boolean {\n\t\t\treturn this.settingsStore.isPublicApiEnabled;\n\t\t},\n\t},\n\tmethods: {\n\t\tonUpgrade() {\n\t\t\tvoid this.uiStore.goToUpgrade('settings-n8n-api', 'upgrade-api', 'redirect');\n\t\t},\n\t\tasync showDeleteModal() {\n\t\t\tconst confirmed = await this.confirm(\n\t\t\t\tthis.$locale.baseText('settings.api.delete.description'),\n\t\t\t\tthis.$locale.baseText('settings.api.delete.title'),\n\t\t\t\t{\n\t\t\t\t\tconfirmButtonText: this.$locale.baseText('settings.api.delete.button'),\n\t\t\t\t\tcancelButtonText: this.$locale.baseText('generic.cancel'),\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (confirmed === MODAL_CONFIRM) {\n\t\t\t\tawait this.deleteApiKey();\n\t\t\t}\n\t\t},\n\t\tasync getApiKey() {\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.getApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.view.error'));\n\t\t\t} finally {\n\t\t\t\tthis.mounted = true;\n\t\t\t}\n\t\t},\n\t\tasync createApiKey() {\n\t\t\tthis.loading = true;\n\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.createApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.create.error'));\n\t\t\t} finally {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.$telemetry.track('User clicked create API key button');\n\t\t\t}\n\t\t},\n\t\tasync deleteApiKey() {\n\t\t\ttry {\n\t\t\t\tawait this.settingsStore.deleteApiKey();\n\t\t\t\tthis.showMessage({\n\t\t\t\t\ttitle: this.$locale.baseText('settings.api.delete.toast'),\n\t\t\t\t\ttype: 'success',\n\t\t\t\t});\n\t\t\t\tthis.apiKey = '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.delete.error'));\n\t\t\t} finally {\n\t\t\t\tthis.$telemetry.track('User clicked delete API key button');\n\t\t\t}\n\t\t},\n\t\tonCopy() {\n\t\t\tthis.$telemetry.track('User clicked copy API key button');\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.container {\n\t> * {\n\t\tmargin-bottom: var(--spacing-2xl);\n\t}\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\twhite-space: nowrap;\n\n\t*:first-child {\n\t\tflex-grow: 1;\n\t}\n}\n\n.card {\n\tposition: relative;\n}\n\n.delete {\n\tposition: absolute;\n\tdisplay: inline-block;\n\ttop: var(--spacing-s);\n\tright: var(--spacing-s);\n}\n\n.hint {\n\tcolor: var(--color-text-light);\n}\n</style>\n"],"names":["_sfc_main","defineComponent","CopyInput","useToast","useMessage","useUIStore","baseUrl","apiPath","latestVersion","DOCS_DOMAIN","mapStores","useRootStore","useSettingsStore","useUsersStore","useCloudPlanStore","MODAL_CONFIRM","error","_hoisted_1","_hoisted_2","_resolveComponent","_normalizeClass","_ctx","_createVNode","_component_n8n_heading","$locale","_withCtx","_createTextVNode","_toDisplayString","_createElementVNode","apiKey","_openBlock","_component_n8n_info_tip","_component_i18n_t","_hoisted_3","_hoisted_4","showDeleteModal","onCopy","_component_n8n_text","apiDocsURL","_component_n8n_link","swaggerUIEnabled","isPublicApiEnabled","_component_n8n_action_box","onUpgrade","mounted","isLoadingCloudPlans","_createBlock","loading","_createCommentVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SettingsApiView-DnvdV7dx.js","sources":["../../src/views/SettingsApiView.vue"],"sourcesContent":["<template>\n\t<div :class=\"$style.container\">\n\t\t<div :class=\"$style.header\">\n\t\t\t<n8n-heading size=\"2xlarge\">\n\t\t\t\t{{ $locale.baseText('settings.api') }}\n\t\t\t\t<span :style=\"{ fontSize: 'var(--font-size-s)', color: 'var(--color-text-light)' }\">\n\t\t\t\t\t({{ $locale.baseText('generic.beta') }})\n\t\t\t\t</span>\n\t\t\t</n8n-heading>\n\t\t</div>\n\n\t\t<div v-if=\"apiKey\">\n\t\t\t<p class=\"mb-s\">\n\t\t\t\t<n8n-info-tip :bold=\"false\">\n\t\t\t\t\t<i18n-t keypath=\"settings.api.view.info\" tag=\"span\">\n\t\t\t\t\t\t<template #apiAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/api\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.api')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #webhookAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/integrations/core-nodes/n8n-nodes-base.webhook/\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.webhook')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</i18n-t>\n\t\t\t\t</n8n-info-tip>\n\t\t\t</p>\n\t\t\t<n8n-card class=\"mb-4xs\" :class=\"$style.card\">\n\t\t\t\t<span :class=\"$style.delete\">\n\t\t\t\t\t<n8n-link :bold=\"true\" @click=\"showDeleteModal\">\n\t\t\t\t\t\t{{ $locale.baseText('generic.delete') }}\n\t\t\t\t\t</n8n-link>\n\t\t\t\t</span>\n\t\t\t\t<div>\n\t\t\t\t\t<CopyInput\n\t\t\t\t\t\t:label=\"$locale.baseText('settings.api.view.myKey')\"\n\t\t\t\t\t\t:value=\"apiKey\"\n\t\t\t\t\t\t:copy-button-text=\"$locale.baseText('generic.clickToCopy')\"\n\t\t\t\t\t\t:toast-title=\"$locale.baseText('settings.api.view.copy.toast')\"\n\t\t\t\t\t\t:redact-value=\"true\"\n\t\t\t\t\t\t@copy=\"onCopy\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</n8n-card>\n\t\t\t<div :class=\"$style.hint\">\n\t\t\t\t<n8n-text size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(`settings.api.view.${swaggerUIEnabled ? 'tryapi' : 'more-details'}`)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-text>\n\t\t\t\t{{ ' ' }}\n\t\t\t\t<n8n-link :to=\"apiDocsURL\" :new-window=\"true\" size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(\n\t\t\t\t\t\t\t`settings.api.view.${swaggerUIEnabled ? 'apiPlayground' : 'external-docs'}`,\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-link>\n\t\t\t</div>\n\t\t</div>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"!isPublicApiEnabled && isTrialing\"\n\t\t\tdata-test-id=\"public-api-upgrade-cta\"\n\t\t\t:heading=\"$locale.baseText('settings.api.trial.upgradePlan.title')\"\n\t\t\t:description=\"$locale.baseText('settings.api.trial.upgradePlan.description')\"\n\t\t\t:button-text=\"$locale.baseText('settings.api.trial.upgradePlan.cta')\"\n\t\t\t@click:button=\"onUpgrade\"\n\t\t/>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"mounted && !isLoadingCloudPlans\"\n\t\t\t:button-text=\"\n\t\t\t\t$locale.baseText(\n\t\t\t\t\tloading ? 'settings.api.create.button.loading' : 'settings.api.create.button',\n\t\t\t\t)\n\t\t\t\"\n\t\t\t:description=\"$locale.baseText('settings.api.create.description')\"\n\t\t\t@click:button=\"createApiKey\"\n\t\t/>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport type { IUser } from '@/Interface';\nimport { useToast } from '@/composables/useToast';\nimport { useMessage } from '@/composables/useMessage';\n\nimport CopyInput from '@/components/CopyInput.vue';\nimport { mapStores } from 'pinia';\nimport { useSettingsStore } from '@/stores/settings.store';\nimport { useRootStore } from '@/stores/root.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { useUsersStore } from '@/stores/users.store';\nimport { useCloudPlanStore } from '@/stores/cloudPlan.store';\nimport { DOCS_DOMAIN, MODAL_CONFIRM } from '@/constants';\n\nexport default defineComponent({\n\tname: 'SettingsApiView',\n\tcomponents: {\n\t\tCopyInput,\n\t},\n\tsetup() {\n\t\treturn {\n\t\t\t...useToast(),\n\t\t\t...useMessage(),\n\t\t\t...useUIStore(),\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tmounted: false,\n\t\t\tapiKey: '',\n\t\t\tswaggerUIEnabled: false,\n\t\t\tapiDocsURL: '',\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.isPublicApiEnabled) return;\n\n\t\tvoid this.getApiKey();\n\t\tconst baseUrl = this.rootStore.baseUrl;\n\t\tconst apiPath = this.settingsStore.publicApiPath;\n\t\tconst latestVersion = this.settingsStore.publicApiLatestVersion;\n\t\tthis.swaggerUIEnabled = this.settingsStore.isSwaggerUIEnabled;\n\t\tthis.apiDocsURL = this.swaggerUIEnabled\n\t\t\t? `${baseUrl}${apiPath}/v${latestVersion}/docs`\n\t\t\t: `https://${DOCS_DOMAIN}/api/api-reference/`;\n\t},\n\tcomputed: {\n\t\t...mapStores(useRootStore, useSettingsStore, useUsersStore, useCloudPlanStore, useUIStore),\n\t\tcurrentUser(): IUser | null {\n\t\t\treturn this.usersStore.currentUser;\n\t\t},\n\t\tisTrialing(): boolean {\n\t\t\treturn this.cloudPlanStore.userIsTrialing;\n\t\t},\n\t\tisLoadingCloudPlans(): boolean {\n\t\t\treturn this.cloudPlanStore.state.loadingPlan;\n\t\t},\n\t\tisPublicApiEnabled(): boolean {\n\t\t\treturn this.settingsStore.isPublicApiEnabled;\n\t\t},\n\t},\n\tmethods: {\n\t\tonUpgrade() {\n\t\t\tvoid this.uiStore.goToUpgrade('settings-n8n-api', 'upgrade-api', 'redirect');\n\t\t},\n\t\tasync showDeleteModal() {\n\t\t\tconst confirmed = await this.confirm(\n\t\t\t\tthis.$locale.baseText('settings.api.delete.description'),\n\t\t\t\tthis.$locale.baseText('settings.api.delete.title'),\n\t\t\t\t{\n\t\t\t\t\tconfirmButtonText: this.$locale.baseText('settings.api.delete.button'),\n\t\t\t\t\tcancelButtonText: this.$locale.baseText('generic.cancel'),\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (confirmed === MODAL_CONFIRM) {\n\t\t\t\tawait this.deleteApiKey();\n\t\t\t}\n\t\t},\n\t\tasync getApiKey() {\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.getApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.view.error'));\n\t\t\t} finally {\n\t\t\t\tthis.mounted = true;\n\t\t\t}\n\t\t},\n\t\tasync createApiKey() {\n\t\t\tthis.loading = true;\n\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.createApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.create.error'));\n\t\t\t} finally {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.$telemetry.track('User clicked create API key button');\n\t\t\t}\n\t\t},\n\t\tasync deleteApiKey() {\n\t\t\ttry {\n\t\t\t\tawait this.settingsStore.deleteApiKey();\n\t\t\t\tthis.showMessage({\n\t\t\t\t\ttitle: this.$locale.baseText('settings.api.delete.toast'),\n\t\t\t\t\ttype: 'success',\n\t\t\t\t});\n\t\t\t\tthis.apiKey = '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.delete.error'));\n\t\t\t} finally {\n\t\t\t\tthis.$telemetry.track('User clicked delete API key button');\n\t\t\t}\n\t\t},\n\t\tonCopy() {\n\t\t\tthis.$telemetry.track('User clicked copy API key button');\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.container {\n\t> * {\n\t\tmargin-bottom: var(--spacing-2xl);\n\t}\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\twhite-space: nowrap;\n\n\t*:first-child {\n\t\tflex-grow: 1;\n\t}\n}\n\n.card {\n\tposition: relative;\n}\n\n.delete {\n\tposition: absolute;\n\tdisplay: inline-block;\n\ttop: var(--spacing-s);\n\tright: var(--spacing-s);\n}\n\n.hint {\n\tcolor: var(--color-text-light);\n}\n</style>\n"],"names":["_sfc_main","defineComponent","CopyInput","useToast","useMessage","useUIStore","baseUrl","apiPath","latestVersion","DOCS_DOMAIN","mapStores","useRootStore","useSettingsStore","useUsersStore","useCloudPlanStore","MODAL_CONFIRM","error","_hoisted_1","_hoisted_2","_resolveComponent","_normalizeClass","_ctx","_createVNode","_component_n8n_heading","$locale","_withCtx","_createTextVNode","_toDisplayString","_createElementVNode","apiKey","_openBlock","_component_n8n_info_tip","_component_i18n_t","_hoisted_3","_hoisted_4","showDeleteModal","onCopy","_component_n8n_text","apiDocsURL","_component_n8n_link","swaggerUIEnabled","isPublicApiEnabled","_component_n8n_action_box","onUpgrade","mounted","isLoadingCloudPlans","_createBlock","loading","_createCommentVNode"],"mappings":"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"}
|