n8n-editor-ui 1.8.0 → 1.8.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.
Files changed (25) hide show
  1. package/.turbo/turbo-build.log +15 -15
  2. package/dist/assets/{CanvasControls-cf48927a.js → CanvasControls-f8442535.js} +2 -2
  3. package/dist/assets/{CanvasControls-cf48927a.js.map → CanvasControls-f8442535.js.map} +1 -1
  4. package/dist/assets/{FixedCollectionParameter-f646d2bf.js → FixedCollectionParameter-8ad1e897.js} +2 -2
  5. package/dist/assets/{FixedCollectionParameter-f646d2bf.js.map → FixedCollectionParameter-8ad1e897.js.map} +1 -1
  6. package/dist/assets/{NodeCreation-bbf36a1a.js → NodeCreation-aa65a415.js} +2 -2
  7. package/dist/assets/{NodeCreation-bbf36a1a.js.map → NodeCreation-aa65a415.js.map} +1 -1
  8. package/dist/assets/NodeCreator-626fd9f1.js +2 -0
  9. package/dist/assets/NodeCreator-626fd9f1.js.map +1 -0
  10. package/dist/assets/{RunDataJson-6215e222.js → RunDataJson-1392d3f8.js} +2 -2
  11. package/dist/assets/{RunDataJson-6215e222.js.map → RunDataJson-1392d3f8.js.map} +1 -1
  12. package/dist/assets/{RunDataJsonActions-1d385291.js → RunDataJsonActions-b7eb9ddb.js} +2 -2
  13. package/dist/assets/{RunDataJsonActions-1d385291.js.map → RunDataJsonActions-b7eb9ddb.js.map} +1 -1
  14. package/dist/assets/{RunDataSchema-43df3299.js → RunDataSchema-066ea2d7.js} +2 -2
  15. package/dist/assets/{RunDataSchema-43df3299.js.map → RunDataSchema-066ea2d7.js.map} +1 -1
  16. package/dist/assets/{RunDataTable-7ab80bf8.js → RunDataTable-301414b2.js} +2 -2
  17. package/dist/assets/{RunDataTable-7ab80bf8.js.map → RunDataTable-301414b2.js.map} +1 -1
  18. package/dist/assets/{index-12dd1e47.css → index-445a502e.css} +1 -1
  19. package/dist/assets/{index-1cdec20f.js → index-adc9f77e.js} +5 -9
  20. package/dist/assets/index-adc9f77e.js.map +1 -0
  21. package/dist/index.html +2 -2
  22. package/package.json +1 -1
  23. package/dist/assets/NodeCreator-0d763ba3.js +0 -2
  24. package/dist/assets/NodeCreator-0d763ba3.js.map +0 -1
  25. package/dist/assets/index-1cdec20f.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
 
2
- > n8n-editor-ui@1.8.0 build /home/runner/work/n8n/n8n/packages/editor-ui
2
+ > n8n-editor-ui@1.8.2 build /home/runner/work/n8n/n8n/packages/editor-ui
3
3
  > cross-env VUE_APP_PUBLIC_PATH="/{{BASE_PATH}}/" NODE_OPTIONS="--max-old-space-size=8192" vite build
4
4
 
5
5
  vite v4.4.7 building for production...
@@ -9,6 +9,9 @@ transforming...
9
9
  ✓ 3767 modules transformed.
10
10
  rendering chunks...
11
11
  [plugin:vite:reporter] 
12
+ (!) /home/runner/work/n8n/n8n/packages/design-system/src/locale/lang/en.ts is dynamically imported by /home/runner/work/n8n/n8n/packages/design-system/src/locale/index.ts but also statically imported by /home/runner/work/n8n/n8n/packages/design-system/src/locale/index.ts, dynamic import will not move module into another chunk.
13
+ 
14
+ [plugin:vite:reporter] 
12
15
  (!) /home/runner/work/n8n/n8n/packages/editor-ui/src/plugins/i18n/locales/en.json is dynamically imported by /home/runner/work/n8n/n8n/packages/editor-ui/src/plugins/i18n/index.ts but also statically imported by /home/runner/work/n8n/n8n/packages/editor-ui/src/plugins/i18n/index.ts, dynamic import will not move module into another chunk.
13
16
  
14
17
  [plugin:vite:reporter] 
@@ -17,9 +20,6 @@ rendering chunks...
17
20
  [plugin:vite:reporter] 
18
21
  (!) /home/runner/work/n8n/n8n/packages/editor-ui/src/components/ParameterInputList.vue is dynamically imported by /home/runner/work/n8n/n8n/packages/editor-ui/src/components/CollectionParameter.vue?vue&type=script&lang.ts, /home/runner/work/n8n/n8n/packages/editor-ui/src/components/FixedCollectionParameter.vue?vue&type=script&lang.ts but also statically imported by /home/runner/work/n8n/n8n/packages/editor-ui/src/components/NodeSettings.vue?vue&type=script&lang.ts, /home/runner/work/n8n/n8n/packages/editor-ui/src/components/SettingsLogStreaming/EventDestinationSettingsModal.ee.vue?vue&type=script&lang.ts, dynamic import will not move module into another chunk.
19
22
  
20
- [plugin:vite:reporter] 
21
- (!) /home/runner/work/n8n/n8n/packages/design-system/src/locale/lang/en.ts is dynamically imported by /home/runner/work/n8n/n8n/packages/design-system/src/locale/index.ts but also statically imported by /home/runner/work/n8n/n8n/packages/design-system/src/locale/index.ts, dynamic import will not move module into another chunk.
22
- 
23
23
  computing gzip size...
24
24
  dist/assets/infisical-579b5f23.webp  1.56 kB
25
25
  dist/assets/hashicorp-8e552ff4.webp  1.60 kB
@@ -45,7 +45,7 @@ computing gzip size...
45
45
  dist/assets/RunDataSchema-f2410c09.css  3.65 kB │ gzip: 0.98 kB
46
46
  dist/assets/NodeCreator-69549990.css  11.61 kB │ gzip: 2.53 kB
47
47
  dist/assets/n8n-dc7cfc9d.css  59.42 kB │ gzip: 9.13 kB
48
- dist/assets/index-12dd1e47.css  417.88 kB │ gzip: 59.69 kB
48
+ dist/assets/index-445a502e.css  417.88 kB │ gzip: 59.69 kB
49
49
  dist/assets/xss-73906c73.js  0.07 kB │ gzip: 0.09 kB │ map: 0.10 kB
50
50
  dist/assets/MappingPill-0406b335.js  0.57 kB │ gzip: 0.38 kB │ map: 0.10 kB
51
51
  dist/assets/@fortawesome/free-regular-svg-icons-74cb85f8.js  0.67 kB │ gzip: 0.46 kB │ map: 170.48 kB
@@ -59,19 +59,19 @@ computing gzip size...
59
59
  dist/assets/copy-to-clipboard-067d994e.js  2.27 kB │ gzip: 1.11 kB │ map: 7.16 kB
60
60
  dist/assets/file-saver-a0bd4f44.js  2.64 kB │ gzip: 1.27 kB │ map: 5.91 kB
61
61
  dist/assets/v3-infinite-loading-8fbfd594.js  2.88 kB │ gzip: 1.37 kB │ map: 8.03 kB
62
- dist/assets/CanvasControls-cf48927a.js  3.00 kB │ gzip: 1.33 kB │ map: 3.38 kB
62
+ dist/assets/CanvasControls-f8442535.js  3.00 kB │ gzip: 1.33 kB │ map: 3.38 kB
63
63
  dist/assets/dateformat-ec5521d1.js  3.04 kB │ gzip: 1.60 kB │ map: 11.33 kB
64
64
  dist/assets/pinia-82c4461b.js  4.36 kB │ gzip: 2.18 kB │ map: 85.29 kB
65
- dist/assets/RunDataJsonActions-1d385291.js  5.10 kB │ gzip: 2.15 kB │ map: 10.72 kB
65
+ dist/assets/RunDataJsonActions-b7eb9ddb.js  5.10 kB │ gzip: 2.15 kB │ map: 10.72 kB
66
66
  dist/assets/vue3-touch-events-ee55ce04.js  5.22 kB │ gzip: 1.73 kB │ map: 23.65 kB
67
67
  dist/assets/@vueuse/core-60457efe.js  5.24 kB │ gzip: 2.22 kB │ map: 297.50 kB
68
- dist/assets/NodeCreation-bbf36a1a.js  5.66 kB │ gzip: 2.11 kB │ map: 7.94 kB
69
- dist/assets/RunDataSchema-43df3299.js  6.45 kB │ gzip: 2.71 kB │ map: 12.63 kB
70
- dist/assets/RunDataJson-6215e222.js  6.76 kB │ gzip: 2.51 kB │ map: 11.53 kB
68
+ dist/assets/NodeCreation-aa65a415.js  5.66 kB │ gzip: 2.11 kB │ map: 7.94 kB
69
+ dist/assets/RunDataSchema-066ea2d7.js  6.45 kB │ gzip: 2.70 kB │ map: 12.63 kB
70
+ dist/assets/RunDataJson-1392d3f8.js  6.76 kB │ gzip: 2.51 kB │ map: 11.53 kB
71
71
  dist/assets/@fortawesome/vue-fontawesome-f597912a.js  7.06 kB │ gzip: 2.62 kB │ map: 29.96 kB
72
- dist/assets/FixedCollectionParameter-f646d2bf.js  8.14 kB │ gzip: 2.79 kB │ map: 18.41 kB
72
+ dist/assets/FixedCollectionParameter-8ad1e897.js  8.14 kB │ gzip: 2.79 kB │ map: 18.41 kB
73
73
  dist/assets/@jsplumb/util-98a92a84.js  9.69 kB │ gzip: 3.64 kB │ map: 44.96 kB
74
- dist/assets/RunDataTable-7ab80bf8.js  12.01 kB │ gzip: 4.31 kB │ map: 31.89 kB
74
+ dist/assets/RunDataTable-301414b2.js  12.01 kB │ gzip: 4.31 kB │ map: 31.89 kB
75
75
  dist/assets/vue-agile-19059f80.js  12.28 kB │ gzip: 3.56 kB │ map: 36.62 kB
76
76
  dist/assets/@jsplumb/connector-bezier-53998944.js  14.58 kB │ gzip: 5.10 kB │ map: 64.38 kB
77
77
  dist/assets/vue-json-pretty-c769fa0d.js  15.98 kB │ gzip: 5.35 kB │ map: 34.46 kB
@@ -80,7 +80,7 @@ computing gzip size...
80
80
  dist/assets/humanize-duration-706bc8a1.js  21.23 kB │ gzip: 6.56 kB │ map: 75.04 kB
81
81
  dist/assets/@fortawesome/fontawesome-svg-core-984d6dde.js  25.94 kB │ gzip: 8.94 kB │ map: 109.05 kB
82
82
  dist/assets/lodash-es-876af2e5.js  33.76 kB │ gzip: 12.75 kB │ map: 291.99 kB
83
- dist/assets/NodeCreator-0d763ba3.js  48.63 kB │ gzip: 15.96 kB │ map: 147.51 kB
83
+ dist/assets/NodeCreator-626fd9f1.js  48.63 kB │ gzip: 15.96 kB │ map: 147.51 kB
84
84
  dist/assets/vue-i18n-c3b0f366.js  54.37 kB │ gzip: 17.23 kB │ map: 322.00 kB
85
85
  dist/assets/luxon-19e1de07.js  63.53 kB │ gzip: 19.83 kB │ map: 344.93 kB
86
86
  dist/assets/@fortawesome/free-solid-svg-icons-d79f1537.js  71.93 kB │ gzip: 24.85 kB │ map: 736.35 kB
@@ -92,11 +92,11 @@ computing gzip size...
92
92
  dist/assets/codemirror-lang-html-n8n-4223f8c7.js  128.71 kB │ gzip: 48.24 kB │ map: 219.74 kB
93
93
  dist/assets/esprima-next-8c7e8ff9.js  134.74 kB │ gzip: 30.32 kB │ map: 437.15 kB
94
94
  dist/assets/@n8n/codemirror-lang-sql-9a304659.js  327.86 kB │ gzip: 108.30 kB │ map: 1,395.34 kB
95
- dist/assets/index-1cdec20f.js 2,234.81 kB │ gzip: 607.28 kB │ map: 5,546.61 kB
95
+ dist/assets/index-adc9f77e.js 2,234.80 kB │ gzip: 607.29 kB │ map: 5,546.39 kB
96
96
  dist/assets/n8n-80219ee5.js 2,309.38 kB │ gzip: 709.85 kB │ map: 9,175.35 kB
97
97
  
98
98
  (!) Some chunks are larger than 500 kBs after minification. Consider:
99
99
  - Using dynamic import() to code-split the application
100
100
  - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
101
101
  - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
102
- ✓ built in 1m 12s
102
+ ✓ built in 1m 18s
@@ -1,2 +1,2 @@
1
- import{s as y}from"./pinia-82c4461b.js";import{b as k}from"./index-1cdec20f.js";import{d as f,T as _,P as z,b as C,o as u,f as M,e as i,j as e,c as b,k as w,n as Z}from"./vendor-18a4b4e1.js";import{_ as v}from"./n8n-80219ee5.js";import"./axios-c5a64f4c.js";import"./flatted-8b14da7d.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";import"./vue-i18n-c3b0f366.js";import"./uuid-cf522c50.js";import"./dateformat-ec5521d1.js";import"./lodash-es-876af2e5.js";import"./luxon-19e1de07.js";import"./@jsplumb/browser-ui-70b0a0d6.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@n8n/codemirror-lang-sql-9a304659.js";import"./codemirror-lang-n8n-expression-47e67c3a.js";import"./codemirror-lang-html-n8n-4223f8c7.js";import"./fast-json-stable-stringify-7a62a64e.js";import"./prettier-51497383.js";import"./esprima-next-8c7e8ff9.js";import"./@vueuse/core-60457efe.js";import"./timeago.js-a9e71aec.js";import"./qrcode.vue-338130ab.js";import"./file-saver-a0bd4f44.js";import"./vue-json-pretty-c769fa0d.js";import"./humanize-duration-706bc8a1.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-19059f80.js";import"./copy-to-clipboard-067d994e.js";import"./vue3-touch-events-ee55ce04.js";import"./@fortawesome/free-solid-svg-icons-d79f1537.js";import"./@fortawesome/free-regular-svg-icons-74cb85f8.js";const g=f({__name:"CanvasControls",setup(E){const s=k(),{zoomToFit:m,zoomIn:a,zoomOut:l,resetZoom:p}=s,{nodeViewScale:d,isDemo:r}=y(s),c=o=>{const t=o.metaKey||o.ctrlKey;(o.key==="="||o.key==="+")&&!t?a():(o.key==="_"||o.key==="-")&&!t?l():o.key==="0"&&!t?p():o.key==="1"&&!t&&m()};return _(()=>{document.addEventListener("keydown",c)}),z(()=>{document.removeEventListener("keydown",c)}),(o,t)=>{const n=C("n8n-icon-button");return u(),M("div",{class:Z({[o.$style.zoomMenu]:!0,[o.$style.regularZoomMenu]:!e(r),[o.$style.demoZoomMenu]:e(r)})},[i(n,{onClick:e(m),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.zoomToFit"),icon:"expand","data-test-id":"zoom-to-fit"},null,8,["onClick","title"]),i(n,{onClick:e(a),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.zoomIn"),icon:"search-plus","data-test-id":"zoom-in-button"},null,8,["onClick","title"]),i(n,{onClick:e(l),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.zoomOut"),icon:"search-minus","data-test-id":"zoom-out-button"},null,8,["onClick","title"]),e(d)!==1&&!e(r)?(u(),b(n,{key:0,onClick:e(p),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.resetZoom"),icon:"undo","data-test-id":"reset-zoom-button"},null,8,["onClick","title"])):w("",!0)],2)}}}),T="_zoomMenu_1ufow_5",$="_regularZoomMenu_1ufow_25",V="_demoZoomMenu_1ufow_30",B={zoomMenu:T,regularZoomMenu:$,demoZoomMenu:V},h={$style:B},ko=v(g,[["__cssModules",h]]);export{ko as default};
2
- //# sourceMappingURL=CanvasControls-cf48927a.js.map
1
+ import{s as y}from"./pinia-82c4461b.js";import{b as k}from"./index-adc9f77e.js";import{d as f,T as _,P as z,b as C,o as u,f as M,e as i,j as e,c as b,k as w,n as Z}from"./vendor-18a4b4e1.js";import{_ as v}from"./n8n-80219ee5.js";import"./axios-c5a64f4c.js";import"./flatted-8b14da7d.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";import"./vue-i18n-c3b0f366.js";import"./uuid-cf522c50.js";import"./dateformat-ec5521d1.js";import"./lodash-es-876af2e5.js";import"./luxon-19e1de07.js";import"./@jsplumb/browser-ui-70b0a0d6.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@n8n/codemirror-lang-sql-9a304659.js";import"./codemirror-lang-n8n-expression-47e67c3a.js";import"./codemirror-lang-html-n8n-4223f8c7.js";import"./fast-json-stable-stringify-7a62a64e.js";import"./prettier-51497383.js";import"./esprima-next-8c7e8ff9.js";import"./@vueuse/core-60457efe.js";import"./timeago.js-a9e71aec.js";import"./qrcode.vue-338130ab.js";import"./file-saver-a0bd4f44.js";import"./vue-json-pretty-c769fa0d.js";import"./humanize-duration-706bc8a1.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-19059f80.js";import"./copy-to-clipboard-067d994e.js";import"./vue3-touch-events-ee55ce04.js";import"./@fortawesome/free-solid-svg-icons-d79f1537.js";import"./@fortawesome/free-regular-svg-icons-74cb85f8.js";const g=f({__name:"CanvasControls",setup(E){const s=k(),{zoomToFit:m,zoomIn:a,zoomOut:l,resetZoom:p}=s,{nodeViewScale:d,isDemo:r}=y(s),c=o=>{const t=o.metaKey||o.ctrlKey;(o.key==="="||o.key==="+")&&!t?a():(o.key==="_"||o.key==="-")&&!t?l():o.key==="0"&&!t?p():o.key==="1"&&!t&&m()};return _(()=>{document.addEventListener("keydown",c)}),z(()=>{document.removeEventListener("keydown",c)}),(o,t)=>{const n=C("n8n-icon-button");return u(),M("div",{class:Z({[o.$style.zoomMenu]:!0,[o.$style.regularZoomMenu]:!e(r),[o.$style.demoZoomMenu]:e(r)})},[i(n,{onClick:e(m),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.zoomToFit"),icon:"expand","data-test-id":"zoom-to-fit"},null,8,["onClick","title"]),i(n,{onClick:e(a),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.zoomIn"),icon:"search-plus","data-test-id":"zoom-in-button"},null,8,["onClick","title"]),i(n,{onClick:e(l),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.zoomOut"),icon:"search-minus","data-test-id":"zoom-out-button"},null,8,["onClick","title"]),e(d)!==1&&!e(r)?(u(),b(n,{key:0,onClick:e(p),type:"tertiary",size:"large",title:o.$locale.baseText("nodeView.resetZoom"),icon:"undo","data-test-id":"reset-zoom-button"},null,8,["onClick","title"])):w("",!0)],2)}}}),T="_zoomMenu_1ufow_5",$="_regularZoomMenu_1ufow_25",V="_demoZoomMenu_1ufow_30",B={zoomMenu:T,regularZoomMenu:$,demoZoomMenu:V},h={$style:B},ko=v(g,[["__cssModules",h]]);export{ko as default};
2
+ //# sourceMappingURL=CanvasControls-f8442535.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasControls-cf48927a.js","sources":["../../src/components/CanvasControls.vue"],"sourcesContent":["<template>\n\t<div\n\t\t:class=\"{\n\t\t\t[$style.zoomMenu]: true,\n\t\t\t[$style.regularZoomMenu]: !isDemo,\n\t\t\t[$style.demoZoomMenu]: isDemo,\n\t\t}\"\n\t>\n\t\t<n8n-icon-button\n\t\t\t@click=\"zoomToFit\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.zoomToFit')\"\n\t\t\ticon=\"expand\"\n\t\t\tdata-test-id=\"zoom-to-fit\"\n\t\t/>\n\t\t<n8n-icon-button\n\t\t\t@click=\"zoomIn\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.zoomIn')\"\n\t\t\ticon=\"search-plus\"\n\t\t\tdata-test-id=\"zoom-in-button\"\n\t\t/>\n\t\t<n8n-icon-button\n\t\t\t@click=\"zoomOut\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.zoomOut')\"\n\t\t\ticon=\"search-minus\"\n\t\t\tdata-test-id=\"zoom-out-button\"\n\t\t/>\n\t\t<n8n-icon-button\n\t\t\tv-if=\"nodeViewScale !== 1 && !isDemo\"\n\t\t\t@click=\"resetZoom\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.resetZoom')\"\n\t\t\ticon=\"undo\"\n\t\t\tdata-test-id=\"reset-zoom-button\"\n\t\t/>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { onBeforeMount, onBeforeUnmount } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { useCanvasStore } from '@/stores/canvas.store';\n\nconst canvasStore = useCanvasStore();\nconst { zoomToFit, zoomIn, zoomOut, resetZoom } = canvasStore;\nconst { nodeViewScale, isDemo } = storeToRefs(canvasStore);\n\nconst keyDown = (e: KeyboardEvent) => {\n\tconst isCtrlKeyPressed = e.metaKey || e.ctrlKey;\n\tif ((e.key === '=' || e.key === '+') && !isCtrlKeyPressed) {\n\t\tzoomIn();\n\t} else if ((e.key === '_' || e.key === '-') && !isCtrlKeyPressed) {\n\t\tzoomOut();\n\t} else if (e.key === '0' && !isCtrlKeyPressed) {\n\t\tresetZoom();\n\t} else if (e.key === '1' && !isCtrlKeyPressed) {\n\t\tzoomToFit();\n\t}\n};\n\nonBeforeMount(() => {\n\tdocument.addEventListener('keydown', keyDown);\n});\n\nonBeforeUnmount(() => {\n\tdocument.removeEventListener('keydown', keyDown);\n});\n</script>\n\n<style lang=\"scss\" module>\n.zoomMenu {\n\tposition: absolute;\n\twidth: 210px;\n\tbottom: var(--spacing-2xl);\n\tleft: 35px;\n\tline-height: 25px;\n\tcolor: #444;\n\tpadding-right: 5px;\n\n\tbutton {\n\t\tborder: var(--border-base);\n\t}\n\n\t> * {\n\t\t+ * {\n\t\t\tmargin-left: var(--spacing-3xs);\n\t\t}\n\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n}\n\n.regularZoomMenu {\n\t@media (max-width: $breakpoint-2xs) {\n\t\tbottom: 90px;\n\t}\n}\n\n.demoZoomMenu {\n\tleft: 10px;\n\tbottom: 10px;\n}\n</style>\n"],"names":["canvasStore","useCanvasStore","zoomToFit","zoomIn","zoomOut","resetZoom","nodeViewScale","isDemo","storeToRefs","keyDown","e","isCtrlKeyPressed","onBeforeMount","onBeforeUnmount"],"mappings":"2/CAgDA,MAAMA,EAAcC,IACd,CAAE,UAAAC,EAAW,OAAAC,EAAQ,QAAAC,EAAS,UAAAC,GAAcL,EAC5C,CAAE,cAAAM,EAAe,OAAAC,CAAO,EAAIC,EAAYR,CAAW,EAEnDS,EAAWC,GAAqB,CAC/B,MAAAC,EAAmBD,EAAE,SAAWA,EAAE,SACnCA,EAAE,MAAQ,KAAOA,EAAE,MAAQ,MAAQ,CAACC,EACjCR,KACIO,EAAE,MAAQ,KAAOA,EAAE,MAAQ,MAAQ,CAACC,EACvCP,IACEM,EAAE,MAAQ,KAAO,CAACC,EAClBN,IACAK,EAAE,MAAQ,KAAO,CAACC,GAClBT,GACX,EAGD,OAAAU,EAAc,IAAM,CACV,SAAA,iBAAiB,UAAWH,CAAO,CAAA,CAC5C,EAEDI,EAAgB,IAAM,CACZ,SAAA,oBAAoB,UAAWJ,CAAO,CAAA,CAC/C"}
1
+ {"version":3,"file":"CanvasControls-f8442535.js","sources":["../../src/components/CanvasControls.vue"],"sourcesContent":["<template>\n\t<div\n\t\t:class=\"{\n\t\t\t[$style.zoomMenu]: true,\n\t\t\t[$style.regularZoomMenu]: !isDemo,\n\t\t\t[$style.demoZoomMenu]: isDemo,\n\t\t}\"\n\t>\n\t\t<n8n-icon-button\n\t\t\t@click=\"zoomToFit\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.zoomToFit')\"\n\t\t\ticon=\"expand\"\n\t\t\tdata-test-id=\"zoom-to-fit\"\n\t\t/>\n\t\t<n8n-icon-button\n\t\t\t@click=\"zoomIn\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.zoomIn')\"\n\t\t\ticon=\"search-plus\"\n\t\t\tdata-test-id=\"zoom-in-button\"\n\t\t/>\n\t\t<n8n-icon-button\n\t\t\t@click=\"zoomOut\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.zoomOut')\"\n\t\t\ticon=\"search-minus\"\n\t\t\tdata-test-id=\"zoom-out-button\"\n\t\t/>\n\t\t<n8n-icon-button\n\t\t\tv-if=\"nodeViewScale !== 1 && !isDemo\"\n\t\t\t@click=\"resetZoom\"\n\t\t\ttype=\"tertiary\"\n\t\t\tsize=\"large\"\n\t\t\t:title=\"$locale.baseText('nodeView.resetZoom')\"\n\t\t\ticon=\"undo\"\n\t\t\tdata-test-id=\"reset-zoom-button\"\n\t\t/>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { onBeforeMount, onBeforeUnmount } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { useCanvasStore } from '@/stores/canvas.store';\n\nconst canvasStore = useCanvasStore();\nconst { zoomToFit, zoomIn, zoomOut, resetZoom } = canvasStore;\nconst { nodeViewScale, isDemo } = storeToRefs(canvasStore);\n\nconst keyDown = (e: KeyboardEvent) => {\n\tconst isCtrlKeyPressed = e.metaKey || e.ctrlKey;\n\tif ((e.key === '=' || e.key === '+') && !isCtrlKeyPressed) {\n\t\tzoomIn();\n\t} else if ((e.key === '_' || e.key === '-') && !isCtrlKeyPressed) {\n\t\tzoomOut();\n\t} else if (e.key === '0' && !isCtrlKeyPressed) {\n\t\tresetZoom();\n\t} else if (e.key === '1' && !isCtrlKeyPressed) {\n\t\tzoomToFit();\n\t}\n};\n\nonBeforeMount(() => {\n\tdocument.addEventListener('keydown', keyDown);\n});\n\nonBeforeUnmount(() => {\n\tdocument.removeEventListener('keydown', keyDown);\n});\n</script>\n\n<style lang=\"scss\" module>\n.zoomMenu {\n\tposition: absolute;\n\twidth: 210px;\n\tbottom: var(--spacing-2xl);\n\tleft: 35px;\n\tline-height: 25px;\n\tcolor: #444;\n\tpadding-right: 5px;\n\n\tbutton {\n\t\tborder: var(--border-base);\n\t}\n\n\t> * {\n\t\t+ * {\n\t\t\tmargin-left: var(--spacing-3xs);\n\t\t}\n\n\t\t&:hover {\n\t\t\ttransform: scale(1.1);\n\t\t}\n\t}\n}\n\n.regularZoomMenu {\n\t@media (max-width: $breakpoint-2xs) {\n\t\tbottom: 90px;\n\t}\n}\n\n.demoZoomMenu {\n\tleft: 10px;\n\tbottom: 10px;\n}\n</style>\n"],"names":["canvasStore","useCanvasStore","zoomToFit","zoomIn","zoomOut","resetZoom","nodeViewScale","isDemo","storeToRefs","keyDown","e","isCtrlKeyPressed","onBeforeMount","onBeforeUnmount"],"mappings":"2/CAgDA,MAAMA,EAAcC,IACd,CAAE,UAAAC,EAAW,OAAAC,EAAQ,QAAAC,EAAS,UAAAC,GAAcL,EAC5C,CAAE,cAAAM,EAAe,OAAAC,CAAO,EAAIC,EAAYR,CAAW,EAEnDS,EAAWC,GAAqB,CAC/B,MAAAC,EAAmBD,EAAE,SAAWA,EAAE,SACnCA,EAAE,MAAQ,KAAOA,EAAE,MAAQ,MAAQ,CAACC,EACjCR,KACIO,EAAE,MAAQ,KAAOA,EAAE,MAAQ,MAAQ,CAACC,EACvCP,IACEM,EAAE,MAAQ,KAAO,CAACC,EAClBN,IACAK,EAAE,MAAQ,KAAO,CAACC,GAClBT,GACX,EAGD,OAAAU,EAAc,IAAM,CACV,SAAA,iBAAiB,UAAWH,CAAO,CAAA,CAC5C,EAEDI,EAAgB,IAAM,CACZ,SAAA,oBAAoB,UAAWJ,CAAO,CAAA,CAC/C"}
@@ -1,2 +1,2 @@
1
- import{e as h,a3 as P,h as R,_ as A}from"./n8n-80219ee5.js";import{g as C}from"./lodash-es-876af2e5.js";import{d as I,aE as S,b as p,o as l,f as n,e as m,w as f,l as j,t as B,k as r,M as y,a9 as b,c as d,g as k,aF as E,a4 as F}from"./vendor-18a4b4e1.js";import"./luxon-19e1de07.js";import"./esprima-next-8c7e8ff9.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";const L=S(async()=>R(()=>import("./index-1cdec20f.js").then(e=>e.a5),["assets/index-1cdec20f.js","assets/vendor-18a4b4e1.js","assets/pinia-82c4461b.js","assets/n8n-80219ee5.js","assets/luxon-19e1de07.js","assets/esprima-next-8c7e8ff9.js","assets/lodash-es-876af2e5.js","assets/@fortawesome/vue-fontawesome-f597912a.js","assets/@fortawesome/fontawesome-svg-core-984d6dde.js","assets/n8n-dc7cfc9d.css","assets/axios-c5a64f4c.js","assets/flatted-8b14da7d.js","assets/vue-i18n-c3b0f366.js","assets/uuid-cf522c50.js","assets/dateformat-ec5521d1.js","assets/@jsplumb/browser-ui-70b0a0d6.js","assets/@jsplumb/core-0a463c13.js","assets/@jsplumb/util-98a92a84.js","assets/@jsplumb/common-fe415eb9.js","assets/@jsplumb/connector-bezier-53998944.js","assets/@n8n/codemirror-lang-sql-9a304659.js","assets/codemirror-lang-n8n-expression-47e67c3a.js","assets/codemirror-lang-html-n8n-4223f8c7.js","assets/fast-json-stable-stringify-7a62a64e.js","assets/prettier-51497383.js","assets/@vueuse/core-60457efe.js","assets/timeago.js-a9e71aec.js","assets/qrcode.vue-338130ab.js","assets/file-saver-a0bd4f44.js","assets/vue-json-pretty-c769fa0d.js","assets/humanize-duration-706bc8a1.js","assets/v3-infinite-loading-8fbfd594.js","assets/vue-agile-19059f80.js","assets/vue-agile-d964f598.css","assets/copy-to-clipboard-067d994e.js","assets/vue3-touch-events-ee55ce04.js","assets/@fortawesome/free-solid-svg-icons-d79f1537.js","assets/@fortawesome/free-regular-svg-icons-74cb85f8.js","assets/index-12dd1e47.css"])),U=I({name:"FixedCollectionParameter",props:{nodeValues:{type:Object,required:!0},parameter:{type:Object,required:!0},path:{type:String,required:!0},values:{type:Object,default:()=>({})},isReadOnly:{type:Boolean,default:!1}},components:{ParameterInputList:L},data(){return{selectedOption:void 0,mutableValues:{}}},watch:{values:{handler(e){this.mutableValues=h(e)},deep:!0}},created(){this.mutableValues=h(this.values)},computed:{getPlaceholderText(){const e=this.$locale.nodeText().placeholder(this.parameter,this.path);return e||this.$locale.baseText("fixedCollectionParameter.choose")},getProperties(){const e=[];let t;for(const o of this.propertyNames)t=this.getOptionProperties(o),t!==void 0&&e.push(t);return e},multipleValues(){var e;return!!((e=this.parameter.typeOptions)!=null&&e.multipleValues)},parameterOptions(){return this.multipleValues&&P(this.parameter.options)?this.parameter.options:this.parameter.options.filter(e=>!this.propertyNames.includes(e.name))},propertyNames(){return Object.keys(this.mutableValues||{})},sortable(){var e;return!!((e=this.parameter.typeOptions)!=null&&e.sortable)}},methods:{deleteOption(e,t){const o=this.mutableValues[e];!o||o.length>1?this.$emit("valueChanged",{name:this.getPropertyPath(e,t),value:void 0}):this.$emit("valueChanged",{name:this.getPropertyPath(e),value:void 0})},getPropertyPath(e,t){return`${this.path}.${e}`+(t!==void 0?`[${t}]`:"")},getOptionProperties(e){if(P(this.parameter.options)){for(const t of this.parameter.options)if(t.name===e)return t}},moveOptionDown(e,t){Array.isArray(this.mutableValues[e])&&this.mutableValues[e].splice(t+1,0,this.mutableValues[e].splice(t,1)[0]);const o={name:this.getPropertyPath(e),value:this.mutableValues[e]};this.$emit("valueChanged",o)},moveOptionUp(e,t){var i;Array.isArray(this.mutableValues[e])&&((i=this.mutableValues)==null||i[e].splice(t-1,0,this.mutableValues[e].splice(t,1)[0]));const o={name:this.getPropertyPath(e),value:this.mutableValues[e]};this.$emit("valueChanged",o)},optionSelected(e){const t=this.getOptionProperties(e);if(t===void 0)return;const o=`${this.path}.${t.name}`,i={};for(const s of t.values)s.type==="fixedCollection"&&s.typeOptions!==void 0&&s.typeOptions.multipleValues===!0?i[s.name]={}:s.typeOptions!==void 0&&s.typeOptions.multipleValues===!0?(i[s.name]=C(this.nodeValues,`${this.path}.${s.name}`,[]),Array.isArray(s.default)?i[s.name].push(...h(s.default)):s.default!==""&&typeof s.default!="object"&&i[s.name].push(h(s.default))):i[s.name]=h(s.default);let c;this.multipleValues?(c=C(this.nodeValues,o,[]),c.push(i)):c=i;const V={name:o,value:c};this.$emit("valueChanged",V),this.selectedOption=void 0},valueChanged(e){this.$emit("valueChanged",e)}}});const q={key:0,class:"no-items-exist"},z={key:1},M={class:"parameter-item-wrapper"},N={key:0,class:"delete-option"},K={key:0,class:"sort-icon"},G={key:2,class:"parameter-item"},H={class:"parameter-item-wrapper"},J={key:0,class:"delete-option"},Q={key:1},W={key:1,class:"add-option"};function X(e,t,o,i,c,V){const s=p("n8n-text"),$=p("n8n-input-label"),v=p("font-awesome-icon"),g=p("parameter-input-list"),_=p("n8n-button"),w=p("n8n-option"),T=p("n8n-select");return l(),n("div",{onKeydown:t[2]||(t[2]=F(()=>{},["stop"])),class:"fixed-collection-parameter"},[e.getProperties.length===0?(l(),n("div",q,[m(s,{size:"small"},{default:f(()=>[j(B(e.$locale.baseText("fixedCollectionParameter.currentlyNoItemsExist")),1)]),_:1})])):r("",!0),(l(!0),n(y,null,b(e.getProperties,a=>(l(),n("div",{key:a.name,class:"fixed-collection-parameter-property"},[a.displayName!==""&&e.parameter.options&&e.parameter.options.length!==1?(l(),d($,{key:0,label:e.$locale.nodeText().inputLabelDisplayName(a,e.path),underline:!0,size:"small",color:"text-dark"},null,8,["label"])):r("",!0),e.multipleValues?(l(),n("div",z,[(l(!0),n(y,null,b(e.mutableValues[a.name],(D,u)=>(l(),n("div",{key:a.name+u,class:"parameter-item"},[k("div",M,[e.isReadOnly?r("",!0):(l(),n("div",N,[m(v,{icon:"trash",class:"reset-icon clickable",title:e.$locale.baseText("fixedCollectionParameter.deleteItem"),onClick:O=>e.deleteOption(a.name,u)},null,8,["title","onClick"]),e.sortable?(l(),n("div",K,[u!==0?(l(),d(v,{key:0,icon:"angle-up",class:"clickable",title:e.$locale.baseText("fixedCollectionParameter.moveUp"),onClick:O=>e.moveOptionUp(a.name,u)},null,8,["title","onClick"])):r("",!0),u!==e.mutableValues[a.name].length-1?(l(),d(v,{key:1,icon:"angle-down",class:"clickable",title:e.$locale.baseText("fixedCollectionParameter.moveDown"),onClick:O=>e.moveOptionDown(a.name,u)},null,8,["title","onClick"])):r("",!0)])):r("",!0)])),(l(),d(E,null,{default:f(()=>[m(g,{parameters:a.values,nodeValues:e.nodeValues,path:e.getPropertyPath(a.name,u),hideDelete:!0,isReadOnly:e.isReadOnly,onValueChanged:e.valueChanged},null,8,["parameters","nodeValues","path","isReadOnly","onValueChanged"])]),_:2},1024))])]))),128))])):(l(),n("div",G,[k("div",H,[e.isReadOnly?r("",!0):(l(),n("div",J,[m(v,{icon:"trash",class:"reset-icon clickable",title:e.$locale.baseText("fixedCollectionParameter.deleteItem"),onClick:D=>e.deleteOption(a.name)},null,8,["title","onClick"])])),m(g,{parameters:a.values,nodeValues:e.nodeValues,path:e.getPropertyPath(a.name),isReadOnly:e.isReadOnly,class:"parameter-item",onValueChanged:e.valueChanged,hideDelete:!0},null,8,["parameters","nodeValues","path","isReadOnly","onValueChanged"])])]))]))),128)),e.parameterOptions.length>0&&!e.isReadOnly?(l(),n("div",Q,[e.parameter.options.length===1?(l(),d(_,{key:0,type:"tertiary",block:"",onClick:t[0]||(t[0]=a=>e.optionSelected(e.parameter.options[0].name)),label:e.getPlaceholderText},null,8,["label"])):(l(),n("div",W,[m(T,{modelValue:e.selectedOption,"onUpdate:modelValue":[t[1]||(t[1]=a=>e.selectedOption=a),e.optionSelected],placeholder:e.getPlaceholderText,size:"small",filterable:""},{default:f(()=>[(l(!0),n(y,null,b(e.parameterOptions,a=>(l(),d(w,{key:a.name,label:e.$locale.nodeText().collectionOptionDisplayName(e.parameter,a,e.path),value:a.name},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onUpdate:modelValue"])]))])):r("",!0)],32)}const se=A(U,[["render",X],["__scopeId","data-v-6c773ca7"]]);export{se as default};
2
- //# sourceMappingURL=FixedCollectionParameter-f646d2bf.js.map
1
+ import{e as h,a3 as P,h as R,_ as A}from"./n8n-80219ee5.js";import{g as C}from"./lodash-es-876af2e5.js";import{d as I,aE as S,b as p,o as l,f as n,e as m,w as f,l as j,t as B,k as r,M as y,a9 as b,c as d,g as k,aF as E,a4 as F}from"./vendor-18a4b4e1.js";import"./luxon-19e1de07.js";import"./esprima-next-8c7e8ff9.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";const L=S(async()=>R(()=>import("./index-adc9f77e.js").then(e=>e.a5),["assets/index-adc9f77e.js","assets/vendor-18a4b4e1.js","assets/pinia-82c4461b.js","assets/n8n-80219ee5.js","assets/luxon-19e1de07.js","assets/esprima-next-8c7e8ff9.js","assets/lodash-es-876af2e5.js","assets/@fortawesome/vue-fontawesome-f597912a.js","assets/@fortawesome/fontawesome-svg-core-984d6dde.js","assets/n8n-dc7cfc9d.css","assets/axios-c5a64f4c.js","assets/flatted-8b14da7d.js","assets/vue-i18n-c3b0f366.js","assets/uuid-cf522c50.js","assets/dateformat-ec5521d1.js","assets/@jsplumb/browser-ui-70b0a0d6.js","assets/@jsplumb/core-0a463c13.js","assets/@jsplumb/util-98a92a84.js","assets/@jsplumb/common-fe415eb9.js","assets/@jsplumb/connector-bezier-53998944.js","assets/@n8n/codemirror-lang-sql-9a304659.js","assets/codemirror-lang-n8n-expression-47e67c3a.js","assets/codemirror-lang-html-n8n-4223f8c7.js","assets/fast-json-stable-stringify-7a62a64e.js","assets/prettier-51497383.js","assets/@vueuse/core-60457efe.js","assets/timeago.js-a9e71aec.js","assets/qrcode.vue-338130ab.js","assets/file-saver-a0bd4f44.js","assets/vue-json-pretty-c769fa0d.js","assets/humanize-duration-706bc8a1.js","assets/v3-infinite-loading-8fbfd594.js","assets/vue-agile-19059f80.js","assets/vue-agile-d964f598.css","assets/copy-to-clipboard-067d994e.js","assets/vue3-touch-events-ee55ce04.js","assets/@fortawesome/free-solid-svg-icons-d79f1537.js","assets/@fortawesome/free-regular-svg-icons-74cb85f8.js","assets/index-445a502e.css"])),U=I({name:"FixedCollectionParameter",props:{nodeValues:{type:Object,required:!0},parameter:{type:Object,required:!0},path:{type:String,required:!0},values:{type:Object,default:()=>({})},isReadOnly:{type:Boolean,default:!1}},components:{ParameterInputList:L},data(){return{selectedOption:void 0,mutableValues:{}}},watch:{values:{handler(e){this.mutableValues=h(e)},deep:!0}},created(){this.mutableValues=h(this.values)},computed:{getPlaceholderText(){const e=this.$locale.nodeText().placeholder(this.parameter,this.path);return e||this.$locale.baseText("fixedCollectionParameter.choose")},getProperties(){const e=[];let t;for(const o of this.propertyNames)t=this.getOptionProperties(o),t!==void 0&&e.push(t);return e},multipleValues(){var e;return!!((e=this.parameter.typeOptions)!=null&&e.multipleValues)},parameterOptions(){return this.multipleValues&&P(this.parameter.options)?this.parameter.options:this.parameter.options.filter(e=>!this.propertyNames.includes(e.name))},propertyNames(){return Object.keys(this.mutableValues||{})},sortable(){var e;return!!((e=this.parameter.typeOptions)!=null&&e.sortable)}},methods:{deleteOption(e,t){const o=this.mutableValues[e];!o||o.length>1?this.$emit("valueChanged",{name:this.getPropertyPath(e,t),value:void 0}):this.$emit("valueChanged",{name:this.getPropertyPath(e),value:void 0})},getPropertyPath(e,t){return`${this.path}.${e}`+(t!==void 0?`[${t}]`:"")},getOptionProperties(e){if(P(this.parameter.options)){for(const t of this.parameter.options)if(t.name===e)return t}},moveOptionDown(e,t){Array.isArray(this.mutableValues[e])&&this.mutableValues[e].splice(t+1,0,this.mutableValues[e].splice(t,1)[0]);const o={name:this.getPropertyPath(e),value:this.mutableValues[e]};this.$emit("valueChanged",o)},moveOptionUp(e,t){var i;Array.isArray(this.mutableValues[e])&&((i=this.mutableValues)==null||i[e].splice(t-1,0,this.mutableValues[e].splice(t,1)[0]));const o={name:this.getPropertyPath(e),value:this.mutableValues[e]};this.$emit("valueChanged",o)},optionSelected(e){const t=this.getOptionProperties(e);if(t===void 0)return;const o=`${this.path}.${t.name}`,i={};for(const s of t.values)s.type==="fixedCollection"&&s.typeOptions!==void 0&&s.typeOptions.multipleValues===!0?i[s.name]={}:s.typeOptions!==void 0&&s.typeOptions.multipleValues===!0?(i[s.name]=C(this.nodeValues,`${this.path}.${s.name}`,[]),Array.isArray(s.default)?i[s.name].push(...h(s.default)):s.default!==""&&typeof s.default!="object"&&i[s.name].push(h(s.default))):i[s.name]=h(s.default);let c;this.multipleValues?(c=C(this.nodeValues,o,[]),c.push(i)):c=i;const V={name:o,value:c};this.$emit("valueChanged",V),this.selectedOption=void 0},valueChanged(e){this.$emit("valueChanged",e)}}});const q={key:0,class:"no-items-exist"},z={key:1},M={class:"parameter-item-wrapper"},N={key:0,class:"delete-option"},K={key:0,class:"sort-icon"},G={key:2,class:"parameter-item"},H={class:"parameter-item-wrapper"},J={key:0,class:"delete-option"},Q={key:1},W={key:1,class:"add-option"};function X(e,t,o,i,c,V){const s=p("n8n-text"),$=p("n8n-input-label"),v=p("font-awesome-icon"),g=p("parameter-input-list"),_=p("n8n-button"),w=p("n8n-option"),T=p("n8n-select");return l(),n("div",{onKeydown:t[2]||(t[2]=F(()=>{},["stop"])),class:"fixed-collection-parameter"},[e.getProperties.length===0?(l(),n("div",q,[m(s,{size:"small"},{default:f(()=>[j(B(e.$locale.baseText("fixedCollectionParameter.currentlyNoItemsExist")),1)]),_:1})])):r("",!0),(l(!0),n(y,null,b(e.getProperties,a=>(l(),n("div",{key:a.name,class:"fixed-collection-parameter-property"},[a.displayName!==""&&e.parameter.options&&e.parameter.options.length!==1?(l(),d($,{key:0,label:e.$locale.nodeText().inputLabelDisplayName(a,e.path),underline:!0,size:"small",color:"text-dark"},null,8,["label"])):r("",!0),e.multipleValues?(l(),n("div",z,[(l(!0),n(y,null,b(e.mutableValues[a.name],(D,u)=>(l(),n("div",{key:a.name+u,class:"parameter-item"},[k("div",M,[e.isReadOnly?r("",!0):(l(),n("div",N,[m(v,{icon:"trash",class:"reset-icon clickable",title:e.$locale.baseText("fixedCollectionParameter.deleteItem"),onClick:O=>e.deleteOption(a.name,u)},null,8,["title","onClick"]),e.sortable?(l(),n("div",K,[u!==0?(l(),d(v,{key:0,icon:"angle-up",class:"clickable",title:e.$locale.baseText("fixedCollectionParameter.moveUp"),onClick:O=>e.moveOptionUp(a.name,u)},null,8,["title","onClick"])):r("",!0),u!==e.mutableValues[a.name].length-1?(l(),d(v,{key:1,icon:"angle-down",class:"clickable",title:e.$locale.baseText("fixedCollectionParameter.moveDown"),onClick:O=>e.moveOptionDown(a.name,u)},null,8,["title","onClick"])):r("",!0)])):r("",!0)])),(l(),d(E,null,{default:f(()=>[m(g,{parameters:a.values,nodeValues:e.nodeValues,path:e.getPropertyPath(a.name,u),hideDelete:!0,isReadOnly:e.isReadOnly,onValueChanged:e.valueChanged},null,8,["parameters","nodeValues","path","isReadOnly","onValueChanged"])]),_:2},1024))])]))),128))])):(l(),n("div",G,[k("div",H,[e.isReadOnly?r("",!0):(l(),n("div",J,[m(v,{icon:"trash",class:"reset-icon clickable",title:e.$locale.baseText("fixedCollectionParameter.deleteItem"),onClick:D=>e.deleteOption(a.name)},null,8,["title","onClick"])])),m(g,{parameters:a.values,nodeValues:e.nodeValues,path:e.getPropertyPath(a.name),isReadOnly:e.isReadOnly,class:"parameter-item",onValueChanged:e.valueChanged,hideDelete:!0},null,8,["parameters","nodeValues","path","isReadOnly","onValueChanged"])])]))]))),128)),e.parameterOptions.length>0&&!e.isReadOnly?(l(),n("div",Q,[e.parameter.options.length===1?(l(),d(_,{key:0,type:"tertiary",block:"",onClick:t[0]||(t[0]=a=>e.optionSelected(e.parameter.options[0].name)),label:e.getPlaceholderText},null,8,["label"])):(l(),n("div",W,[m(T,{modelValue:e.selectedOption,"onUpdate:modelValue":[t[1]||(t[1]=a=>e.selectedOption=a),e.optionSelected],placeholder:e.getPlaceholderText,size:"small",filterable:""},{default:f(()=>[(l(!0),n(y,null,b(e.parameterOptions,a=>(l(),d(w,{key:a.name,label:e.$locale.nodeText().collectionOptionDisplayName(e.parameter,a,e.path),value:a.name},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onUpdate:modelValue"])]))])):r("",!0)],32)}const se=A(U,[["render",X],["__scopeId","data-v-6c773ca7"]]);export{se as default};
2
+ //# sourceMappingURL=FixedCollectionParameter-8ad1e897.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":"waAkIA,MAAMA,EAAqBC,EAAqB,SAAYC,EAAA,WAAO,qBAA0B,gBAAC,+4CAE9FC,EAAeC,EAAgB,CAC9B,KAAM,2BACN,MAAO,CACN,WAAY,CACX,KAAM,OACN,SAAU,EACX,EACA,UAAW,CACV,KAAM,OACN,SAAU,EACX,EACA,KAAM,CACL,KAAM,OACN,SAAU,EACX,EACA,OAAQ,CACP,KAAM,OACN,QAAS,KAAO,GACjB,EACA,WAAY,CACX,KAAM,QACN,QAAS,EACV,CACD,EACA,WAAY,CACX,mBAAAJ,CACD,EACA,MAAO,CACC,OACN,eAAgB,OAChB,cAAe,CAAC,EAElB,EACA,MAAO,CACN,OAAQ,CACP,QAAQK,EAA8C,CAChD,mBAAgBC,EAASD,CAAS,CACxC,EACA,KAAM,EACP,CACD,EACA,SAAU,CACJ,mBAAgBC,EAAS,KAAK,MAAM,CAC1C,EACA,SAAU,CACT,oBAA6B,CACtB,MAAAC,EAAc,KAAK,QAAQ,WAAW,YAAY,KAAK,UAAW,KAAK,IAAI,EACjF,OAAOA,GAA4B,KAAK,QAAQ,SAAS,iCAAiC,CAC3F,EACA,eAA2C,CAC1C,MAAMC,EAAmB,GACrB,IAAAC,EACO,UAAAC,KAAQ,KAAK,cACND,EAAA,KAAK,oBAAoBC,CAAI,EAC1CD,IAAmB,QACtBD,EAAiB,KAAKC,CAAc,EAG/B,OAAAD,CACR,EACA,gBAA0B,OACzB,MAAO,CAAC,GAACG,EAAA,KAAK,UAAU,cAAf,MAAAA,EAA4B,eACtC,EAEA,kBAA8C,CAC7C,OAAI,KAAK,gBAAkBC,EAA8B,KAAK,UAAU,OAAO,EACvE,KAAK,UAAU,QAGf,KAAK,UAAU,QAAsC,OAAQC,GAC7D,CAAC,KAAK,cAAc,SAASA,EAAO,IAAI,CAC/C,CACF,EACA,eAA0B,CACzB,OAAO,OAAO,KAAK,KAAK,eAAiB,CAAE,EAC5C,EACA,UAAoB,OACnB,MAAO,CAAC,GAACF,EAAA,KAAK,UAAU,cAAf,MAAAA,EAA4B,SACtC,CACD,EACA,QAAS,CACR,aAAaG,EAAoBC,EAAgB,CAC1C,MAAAC,EAA2B,KAAK,cAAcF,CAAU,EAC1D,CAACE,GAA4BA,EAAyB,OAAS,EAElE,KAAK,MAAM,eAAgB,CAC1B,KAAM,KAAK,gBAAgBF,EAAYC,CAAK,EAC5C,MAAO,OACP,EAGD,KAAK,MAAM,eAAgB,CAC1B,KAAM,KAAK,gBAAgBD,CAAU,EACrC,MAAO,OACP,CAEH,EACA,gBAAgBJ,EAAcK,EAAgB,CACtC,SAAG,KAAK,IAAI,IAAIL,CAAI,IAAMK,IAAU,OAAY,IAAIA,CAAK,IAAM,GACvE,EACA,oBAAoBD,EAAyD,CAC5E,GAAIF,EAA8B,KAAK,UAAU,OAAO,GAC5C,UAAAC,KAAU,KAAK,UAAU,QAC/B,GAAAA,EAAO,OAASC,EACZ,OAAAD,EAKX,EACA,eAAeC,EAAoBC,EAAe,CAC7C,MAAM,QAAQ,KAAK,cAAcD,CAAU,CAAC,GAC1C,mBAAcA,CAAU,EAAE,OAC9BC,EAAQ,EACR,EACA,KAAK,cAAcD,CAAU,EAAE,OAAOC,EAAO,CAAC,EAAE,CAAC,GAInD,MAAME,EAAgB,CACrB,KAAM,KAAK,gBAAgBH,CAAU,EACrC,MAAO,KAAK,cAAcA,CAAU,GAGhC,WAAM,eAAgBG,CAAa,CACzC,EACA,aAAaH,EAAoBC,EAAe,OAC3C,MAAM,QAAQ,KAAK,cAAcD,CAAU,CAAC,KAC1CH,EAAA,2BAAAA,EAAgBG,GAAY,OAChCC,EAAQ,EACR,EACA,KAAK,cAAcD,CAAU,EAAE,OAAOC,EAAO,CAAC,EAAE,CAAC,IAInD,MAAME,EAAgB,CACrB,KAAM,KAAK,gBAAgBH,CAAU,EACrC,MAAO,KAAK,cAAcA,CAAU,GAGhC,WAAM,eAAgBG,CAAa,CACzC,EACA,eAAeH,EAAoB,CAC5B,MAAAD,EAAS,KAAK,oBAAoBC,CAAU,EAClD,GAAID,IAAW,OACd,OAED,MAAMH,EAAO,GAAG,KAAK,IAAI,IAAIG,EAAO,IAAI,GAElCK,EAAqC,GAEhC,UAAAC,KAAmBN,EAAO,OAEnCM,EAAgB,OAAS,mBACzBA,EAAgB,cAAgB,QAChCA,EAAgB,YAAY,iBAAmB,GAE7BD,EAAAC,EAAgB,IAAI,EAAI,GAE1CA,EAAgB,cAAgB,QAChCA,EAAgB,YAAY,iBAAmB,IAG7BD,EAAAC,EAAgB,IAAI,EAAIC,EACzC,KAAK,WACL,GAAG,KAAK,IAAI,IAAID,EAAgB,IAAI,GACpC,CAAC,GAEE,MAAM,QAAQA,EAAgB,OAAO,EACvCD,EAAkBC,EAAgB,IAAI,EAAwB,KAC9D,GAAGb,EAASa,EAAgB,OAA4B,GAGzDA,EAAgB,UAAY,IAC5B,OAAOA,EAAgB,SAAY,UAElCD,EAAkBC,EAAgB,IAAI,EAA2B,KACjEb,EAASa,EAAgB,OAAO,IAKlCD,EAAkBC,EAAgB,IAAI,EAAIb,EAASa,EAAgB,OAAO,EAIxE,IAAAE,EACA,KAAK,gBACRA,EAAWD,EAAI,KAAK,WAAYV,EAAM,CAAuB,GAE7DW,EAAS,KAAKH,CAAiB,GAEpBG,EAAAH,EAGZ,MAAMD,EAAgB,CACrB,KAAAP,EACA,MAAOW,CAAA,EAGH,WAAM,eAAgBJ,CAAa,EACxC,KAAK,eAAiB,MACvB,EACA,aAAaA,EAAmC,CAC1C,WAAM,eAAgBA,CAAa,CACzC,CACD,CACD,CAAC,QAjVwCK,EAAM,4EAyBpCC,EAAM,8BAOWC,EAAM,0BA8BnBC,EAAM,kEAEXC,EAAM,wCA6BDC,EAAM,2LA9FpBC,EA+GM,cA/GkB,OAAAC,EAAA,EAA6BC,EAAA,iBAAAC,EAAA,KAAAA,EAAA,GAAAC,EAAA,kBACzC,qCACVC,EAAA,cAEa,SAAX,GAAAJ,EAAA,EAAAC,EAAA,MAAAR,EAAA,CAAAY,EAAAC,EAAA,MADD,SAAQ,SAAAC,EAAA,yFAIV,IAAAC,EAAA,QAAAR,EAEO,IAASC,EAAIQ,EAAA,KAAAC,EAAAN,EAAA,cAAAO,IACdX,EAAA,EAAsCC,EAAA,WAAAU,EAAA,KAGpC,8CACEA,EAAA,kBAAAP,EAAA,mBAAAA,EAAA,8BAAAJ,EAAA,EAAAY,EAAQC,EAAiC,CAChD,MACD,MAAKT,EAAO,yCAAAO,EAAAP,EAAA,MACZ,UAAM,iCAEI,iBAAc,CAAzB,GAAAI,EAAA,OAAAJ,EAAA,gBAAAJ,EAAA,EAAAC,EACC,MAyCMa,EAAA,EAAAd,EAvCC,IAASC,EAAYQ,EAAA,KAAAC,EAAAN,EAAA,cAAAO,EAAA,OAAAI,EAAA7B,KACtBc,EAAA,EAAiBC,EAAA,WAAAU,EAAA,KAAAzB,EAEtB,yBACC8B,EAAA,MAAAC,EAAA,CAAAb,EACC,WA+BEI,EAAA,UA9BW,EAAAP,EAAA,MAAAP,EAAA,CAAAW,EACNa,EAAsB,CAC3B,KAAK,QACL,MAAK,6BAAAd,EAAA,wDAEI,QAAQe,GAAAf,EAAA,aAAAO,EAAA,KAAAzB,CAAA,CAAnB,8BAOGkB,EAAA,UAAAJ,EAAA,EAAAC,EAAA,MAAAN,EAAA,CAAAT,IAAA,GAAAc,IAJcY,EAAAM,EAAA,CACf,IAAK,EACJ,KAAK,WACL,MAAK,kBAAAd,EAAA,yFAGK,KAAK,EAAc,sBAAAI,EAD/B,GAME,IAAAtB,IAAAkB,EAAA,cAAAO,EAAA,gBAAAX,IAJgBY,EAAAM,EAAA,CACjB,IAAK,EACJ,KAAK,aACL,MAAK,kBAAAd,EAAA,8IAYN,KAAAJ,IAAAY,EAAAQ,EAAA,cANAb,EAAY,IAAQ,CAAAF,EACVgB,EAAY,CACtB,WAAMV,EAAA,OACN,WAAYP,EAAI,WAChB,OAAU,gBAAYO,EAAA,KAAAzB,CAAA,EACtB,yBAAAkB,EAAA,mJAQwC,EAAAH,EAAA,MAAAL,EAAA,CAA5CoB,EAAA,MAAAM,EAAA,CAAAlB,EACC,WAQCI,EAAqB,GAAM,OAPf,EAAAP,EAAA,MAAAJ,EAAA,CAAAQ,EACNa,EAAsB,CAC3B,KAAK,QACL,MAAK,6BAAAd,EAAA,sHAGR,IAC6BC,EACjBgB,EAAY,CACtB,WAAMV,EAAA,OACN,WAAYP,EAAA,WACb,KAAKA,EAAC,gBAAgBO,EAAA,MACrB,WAAcP,EAAA,WACd,sCAAAA,EAAA,yGAMM,WAEOA,EAAA,wBAAQ,GAAM,CAK7BA,EAAA,YAAAJ,EAAA,EAAAC,EAAA,MAAAsB,EAAA,CAAAnB,EAAA,8BAAAJ,EAJc,EAAAY,EAAAY,EAAA,CACf,IAAK,EACJ,gBACA,MAAO,WAAAtB,EAAA,KAAAA,EAAA,GAAAiB,GAAAf,EAAA,eAAAA,EAAA,sDAGR,iBAaa,CAZW,IAAAJ,IAAAC,EAAA,MAAAH,EAAA,CAAAO,EAAAoB,EAAA,6BAGW,uBAAAvB,EAAA,KAAAA,EAAA,GAAAiB,GAAAf,EAAA,eAAAe,GAFjCf,EAAA,cACD,EAEA,YAAUA,EAAA,gEAIHJ,EAAA,EAAK,EAAIC,EAAAQ,EAAA,KAAAC,EAAAN,EAAA,iBAAAsB,IACT1B,EAAA,EAAUY,EAAWe,EAAA,CAC1B,IAAKD,EAAE,WAAAtB,EAAA,+CAAAA,EAAA,UAAAsB,EAAAtB,EAAA","names":["ParameterInputList","defineAsyncComponent","__vitePreload","_sfc_main","defineComponent","newValues","deepCopy","placeholder","returnProperties","tempProperties","name","_a","isINodePropertyCollectionList","option","optionName","index","currentOptionsOfSameType","parameterData","newParameterValue","optionParameter","get","newValue","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_8","_hoisted_10","_resolveComponent","_openBlock","_createElementBlock","_cache","_withModifiers","_ctx","_createVNode","_component_n8n_text","_withCtx","_createCommentVNode","_Fragment","_renderList","property","_createBlock","_component_n8n_input_label","_hoisted_2","value","_createElementVNode","_hoisted_3","_component_font_awesome_icon","$event","_Suspense","_component_parameter_input_list","_hoisted_7","_hoisted_9","_component_n8n_button","_component_n8n_select","item","_component_n8n_option"],"sources":["../../src/components/FixedCollectionParameter.vue"],"sourcesContent":["<template>\n\t<div @keydown.stop class=\"fixed-collection-parameter\">\n\t\t<div v-if=\"getProperties.length === 0\" class=\"no-items-exist\">\n\t\t\t<n8n-text size=\"small\">{{\n\t\t\t\t$locale.baseText('fixedCollectionParameter.currentlyNoItemsExist')\n\t\t\t}}</n8n-text>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-for=\"property in getProperties\"\n\t\t\t:key=\"property.name\"\n\t\t\tclass=\"fixed-collection-parameter-property\"\n\t\t>\n\t\t\t<n8n-input-label\n\t\t\t\tv-if=\"property.displayName !== '' && parameter.options && parameter.options.length !== 1\"\n\t\t\t\t:label=\"$locale.nodeText().inputLabelDisplayName(property, path)\"\n\t\t\t\t:underline=\"true\"\n\t\t\t\tsize=\"small\"\n\t\t\t\tcolor=\"text-dark\"\n\t\t\t/>\n\t\t\t<div v-if=\"multipleValues\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(value, index) in mutableValues[property.name]\"\n\t\t\t\t\t:key=\"property.name + index\"\n\t\t\t\t\tclass=\"parameter-item\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"parameter-item-wrapper\">\n\t\t\t\t\t\t<div class=\"delete-option\" v-if=\"!isReadOnly\">\n\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\ticon=\"trash\"\n\t\t\t\t\t\t\t\tclass=\"reset-icon clickable\"\n\t\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.deleteItem')\"\n\t\t\t\t\t\t\t\t@click=\"deleteOption(property.name, index)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div v-if=\"sortable\" class=\"sort-icon\">\n\t\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\t\tv-if=\"index !== 0\"\n\t\t\t\t\t\t\t\t\ticon=\"angle-up\"\n\t\t\t\t\t\t\t\t\tclass=\"clickable\"\n\t\t\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.moveUp')\"\n\t\t\t\t\t\t\t\t\t@click=\"moveOptionUp(property.name, index)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\t\tv-if=\"index !== mutableValues[property.name].length - 1\"\n\t\t\t\t\t\t\t\t\ticon=\"angle-down\"\n\t\t\t\t\t\t\t\t\tclass=\"clickable\"\n\t\t\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.moveDown')\"\n\t\t\t\t\t\t\t\t\t@click=\"moveOptionDown(property.name, index)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Suspense>\n\t\t\t\t\t\t\t<parameter-input-list\n\t\t\t\t\t\t\t\t:parameters=\"property.values\"\n\t\t\t\t\t\t\t\t:nodeValues=\"nodeValues\"\n\t\t\t\t\t\t\t\t:path=\"getPropertyPath(property.name, index)\"\n\t\t\t\t\t\t\t\t:hideDelete=\"true\"\n\t\t\t\t\t\t\t\t:isReadOnly=\"isReadOnly\"\n\t\t\t\t\t\t\t\t@valueChanged=\"valueChanged\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Suspense>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-else class=\"parameter-item\">\n\t\t\t\t<div class=\"parameter-item-wrapper\">\n\t\t\t\t\t<div class=\"delete-option\" v-if=\"!isReadOnly\">\n\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\ticon=\"trash\"\n\t\t\t\t\t\t\tclass=\"reset-icon clickable\"\n\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.deleteItem')\"\n\t\t\t\t\t\t\t@click=\"deleteOption(property.name)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<parameter-input-list\n\t\t\t\t\t\t:parameters=\"property.values\"\n\t\t\t\t\t\t:nodeValues=\"nodeValues\"\n\t\t\t\t\t\t:path=\"getPropertyPath(property.name)\"\n\t\t\t\t\t\t:isReadOnly=\"isReadOnly\"\n\t\t\t\t\t\tclass=\"parameter-item\"\n\t\t\t\t\t\t@valueChanged=\"valueChanged\"\n\t\t\t\t\t\t:hideDelete=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-if=\"parameterOptions.length > 0 && !isReadOnly\">\n\t\t\t<n8n-button\n\t\t\t\tv-if=\"parameter.options.length === 1\"\n\t\t\t\ttype=\"tertiary\"\n\t\t\t\tblock\n\t\t\t\t@click=\"optionSelected(parameter.options[0].name)\"\n\t\t\t\t:label=\"getPlaceholderText\"\n\t\t\t/>\n\t\t\t<div v-else class=\"add-option\">\n\t\t\t\t<n8n-select\n\t\t\t\t\tv-model=\"selectedOption\"\n\t\t\t\t\t:placeholder=\"getPlaceholderText\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t@update:modelValue=\"optionSelected\"\n\t\t\t\t\tfilterable\n\t\t\t\t>\n\t\t\t\t\t<n8n-option\n\t\t\t\t\t\tv-for=\"item in parameterOptions\"\n\t\t\t\t\t\t:key=\"item.name\"\n\t\t\t\t\t\t:label=\"$locale.nodeText().collectionOptionDisplayName(parameter, item, path)\"\n\t\t\t\t\t\t:value=\"item.name\"\n\t\t\t\t\t></n8n-option>\n\t\t\t\t</n8n-select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineAsyncComponent, defineComponent } from 'vue';\nimport type { PropType } from 'vue';\nimport type { IUpdateInformation } from '@/Interface';\n\nimport type {\n\tINodeParameters,\n\tINodeProperties,\n\tINodePropertyCollection,\n\tNodeParameterValue,\n} from 'n8n-workflow';\nimport { deepCopy, isINodePropertyCollectionList } from 'n8n-workflow';\n\nimport { get } from 'lodash-es';\n\nconst ParameterInputList = defineAsyncComponent(async () => import('./ParameterInputList.vue'));\n\nexport default defineComponent({\n\tname: 'FixedCollectionParameter',\n\tprops: {\n\t\tnodeValues: {\n\t\t\ttype: Object as PropType<Record<string, INodeParameters[]>>,\n\t\t\trequired: true,\n\t\t},\n\t\tparameter: {\n\t\t\ttype: Object as PropType<INodeProperties>,\n\t\t\trequired: true,\n\t\t},\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalues: {\n\t\t\ttype: Object as PropType<Record<string, INodeParameters[]>>,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tisReadOnly: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomponents: {\n\t\tParameterInputList,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedOption: undefined,\n\t\t\tmutableValues: {} as Record<string, INodeParameters[]>,\n\t\t};\n\t},\n\twatch: {\n\t\tvalues: {\n\t\t\thandler(newValues: Record<string, INodeParameters[]>) {\n\t\t\t\tthis.mutableValues = deepCopy(newValues);\n\t\t\t},\n\t\t\tdeep: true,\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.mutableValues = deepCopy(this.values);\n\t},\n\tcomputed: {\n\t\tgetPlaceholderText(): string {\n\t\t\tconst placeholder = this.$locale.nodeText().placeholder(this.parameter, this.path);\n\t\t\treturn placeholder ? placeholder : this.$locale.baseText('fixedCollectionParameter.choose');\n\t\t},\n\t\tgetProperties(): INodePropertyCollection[] {\n\t\t\tconst returnProperties = [];\n\t\t\tlet tempProperties;\n\t\t\tfor (const name of this.propertyNames) {\n\t\t\t\ttempProperties = this.getOptionProperties(name);\n\t\t\t\tif (tempProperties !== undefined) {\n\t\t\t\t\treturnProperties.push(tempProperties);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn returnProperties;\n\t\t},\n\t\tmultipleValues(): boolean {\n\t\t\treturn !!this.parameter.typeOptions?.multipleValues;\n\t\t},\n\n\t\tparameterOptions(): INodePropertyCollection[] {\n\t\t\tif (this.multipleValues && isINodePropertyCollectionList(this.parameter.options)) {\n\t\t\t\treturn this.parameter.options;\n\t\t\t}\n\n\t\t\treturn (this.parameter.options as INodePropertyCollection[]).filter((option) => {\n\t\t\t\treturn !this.propertyNames.includes(option.name);\n\t\t\t});\n\t\t},\n\t\tpropertyNames(): string[] {\n\t\t\treturn Object.keys(this.mutableValues || {});\n\t\t},\n\t\tsortable(): boolean {\n\t\t\treturn !!this.parameter.typeOptions?.sortable;\n\t\t},\n\t},\n\tmethods: {\n\t\tdeleteOption(optionName: string, index?: number) {\n\t\t\tconst currentOptionsOfSameType = this.mutableValues[optionName];\n\t\t\tif (!currentOptionsOfSameType || currentOptionsOfSameType.length > 1) {\n\t\t\t\t// it's not the only option of this type, so just remove it.\n\t\t\t\tthis.$emit('valueChanged', {\n\t\t\t\t\tname: this.getPropertyPath(optionName, index),\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// it's the only option, so remove the whole type\n\t\t\t\tthis.$emit('valueChanged', {\n\t\t\t\t\tname: this.getPropertyPath(optionName),\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetPropertyPath(name: string, index?: number) {\n\t\t\treturn `${this.path}.${name}` + (index !== undefined ? `[${index}]` : '');\n\t\t},\n\t\tgetOptionProperties(optionName: string): INodePropertyCollection | undefined {\n\t\t\tif (isINodePropertyCollectionList(this.parameter.options)) {\n\t\t\t\tfor (const option of this.parameter.options) {\n\t\t\t\t\tif (option.name === optionName) {\n\t\t\t\t\t\treturn option;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t\tmoveOptionDown(optionName: string, index: number) {\n\t\t\tif (Array.isArray(this.mutableValues[optionName])) {\n\t\t\t\tthis.mutableValues[optionName].splice(\n\t\t\t\t\tindex + 1,\n\t\t\t\t\t0,\n\t\t\t\t\tthis.mutableValues[optionName].splice(index, 1)[0],\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst parameterData = {\n\t\t\t\tname: this.getPropertyPath(optionName),\n\t\t\t\tvalue: this.mutableValues[optionName],\n\t\t\t};\n\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t},\n\t\tmoveOptionUp(optionName: string, index: number) {\n\t\t\tif (Array.isArray(this.mutableValues[optionName])) {\n\t\t\t\tthis.mutableValues?.[optionName].splice(\n\t\t\t\t\tindex - 1,\n\t\t\t\t\t0,\n\t\t\t\t\tthis.mutableValues[optionName].splice(index, 1)[0],\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst parameterData = {\n\t\t\t\tname: this.getPropertyPath(optionName),\n\t\t\t\tvalue: this.mutableValues[optionName],\n\t\t\t};\n\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t},\n\t\toptionSelected(optionName: string) {\n\t\t\tconst option = this.getOptionProperties(optionName);\n\t\t\tif (option === undefined) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst name = `${this.path}.${option.name}`;\n\n\t\t\tconst newParameterValue: INodeParameters = {};\n\n\t\t\tfor (const optionParameter of option.values) {\n\t\t\t\tif (\n\t\t\t\t\toptionParameter.type === 'fixedCollection' &&\n\t\t\t\t\toptionParameter.typeOptions !== undefined &&\n\t\t\t\t\toptionParameter.typeOptions.multipleValues === true\n\t\t\t\t) {\n\t\t\t\t\tnewParameterValue[optionParameter.name] = {};\n\t\t\t\t} else if (\n\t\t\t\t\toptionParameter.typeOptions !== undefined &&\n\t\t\t\t\toptionParameter.typeOptions.multipleValues === true\n\t\t\t\t) {\n\t\t\t\t\t// Multiple values are allowed so append option to array\n\t\t\t\t\tnewParameterValue[optionParameter.name] = get(\n\t\t\t\t\t\tthis.nodeValues,\n\t\t\t\t\t\t`${this.path}.${optionParameter.name}`,\n\t\t\t\t\t\t[],\n\t\t\t\t\t);\n\t\t\t\t\tif (Array.isArray(optionParameter.default)) {\n\t\t\t\t\t\t(newParameterValue[optionParameter.name] as INodeParameters[]).push(\n\t\t\t\t\t\t\t...deepCopy(optionParameter.default as INodeParameters[]),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\toptionParameter.default !== '' &&\n\t\t\t\t\t\ttypeof optionParameter.default !== 'object'\n\t\t\t\t\t) {\n\t\t\t\t\t\t(newParameterValue[optionParameter.name] as NodeParameterValue[]).push(\n\t\t\t\t\t\t\tdeepCopy(optionParameter.default),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Add a new option\n\t\t\t\t\tnewParameterValue[optionParameter.name] = deepCopy(optionParameter.default);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet newValue;\n\t\t\tif (this.multipleValues) {\n\t\t\t\tnewValue = get(this.nodeValues, name, [] as INodeParameters[]);\n\n\t\t\t\tnewValue.push(newParameterValue);\n\t\t\t} else {\n\t\t\t\tnewValue = newParameterValue;\n\t\t\t}\n\n\t\t\tconst parameterData = {\n\t\t\t\tname,\n\t\t\t\tvalue: newValue,\n\t\t\t};\n\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t\tthis.selectedOption = undefined;\n\t\t},\n\t\tvalueChanged(parameterData: IUpdateInformation) {\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t},\n\t},\n});\n</script>\n\n<style scoped lang=\"scss\">\n.fixed-collection-parameter {\n\tpadding-left: var(--spacing-s);\n\n\t:deep(.button) {\n\t\t--button-background-color: var(--color-background-base);\n\t\t--button-border-color: var(--color-foreground-base);\n\t}\n}\n\n.fixed-collection-parameter-property {\n\tmargin: var(--spacing-xs) 0;\n}\n\n.delete-option {\n\tdisplay: none;\n\tposition: absolute;\n\tz-index: 999;\n\tcolor: #f56c6c;\n\tleft: 0;\n\ttop: 0.5em;\n\twidth: 15px;\n\theight: 100%;\n}\n\n.parameter-item:hover > .parameter-item-wrapper > .delete-option {\n\tdisplay: block;\n}\n\n.parameter-item {\n\tposition: relative;\n\tpadding: 0 0 0 1em;\n\n\t+ .parameter-item {\n\t\t.parameter-item-wrapper {\n\t\t\tborder-top: 1px dashed #999;\n\n\t\t\t.delete-option {\n\t\t\t\ttop: 14px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.no-items-exist {\n\tmargin: var(--spacing-xs) 0;\n}\n\n.sort-icon {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-left: 1px;\n\tmargin-top: 0.5em;\n}\n</style>\n"],"file":"assets/FixedCollectionParameter-f646d2bf.js"}
1
+ {"version":3,"mappings":"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","names":["ParameterInputList","defineAsyncComponent","__vitePreload","_sfc_main","defineComponent","newValues","deepCopy","placeholder","returnProperties","tempProperties","name","_a","isINodePropertyCollectionList","option","optionName","index","currentOptionsOfSameType","parameterData","newParameterValue","optionParameter","get","newValue","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_8","_hoisted_10","_resolveComponent","_openBlock","_createElementBlock","_cache","_withModifiers","_ctx","_createVNode","_component_n8n_text","_withCtx","_createCommentVNode","_Fragment","_renderList","property","_createBlock","_component_n8n_input_label","_hoisted_2","value","_createElementVNode","_hoisted_3","_component_font_awesome_icon","$event","_Suspense","_component_parameter_input_list","_hoisted_7","_hoisted_9","_component_n8n_button","_component_n8n_select","item","_component_n8n_option"],"sources":["../../src/components/FixedCollectionParameter.vue"],"sourcesContent":["<template>\n\t<div @keydown.stop class=\"fixed-collection-parameter\">\n\t\t<div v-if=\"getProperties.length === 0\" class=\"no-items-exist\">\n\t\t\t<n8n-text size=\"small\">{{\n\t\t\t\t$locale.baseText('fixedCollectionParameter.currentlyNoItemsExist')\n\t\t\t}}</n8n-text>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-for=\"property in getProperties\"\n\t\t\t:key=\"property.name\"\n\t\t\tclass=\"fixed-collection-parameter-property\"\n\t\t>\n\t\t\t<n8n-input-label\n\t\t\t\tv-if=\"property.displayName !== '' && parameter.options && parameter.options.length !== 1\"\n\t\t\t\t:label=\"$locale.nodeText().inputLabelDisplayName(property, path)\"\n\t\t\t\t:underline=\"true\"\n\t\t\t\tsize=\"small\"\n\t\t\t\tcolor=\"text-dark\"\n\t\t\t/>\n\t\t\t<div v-if=\"multipleValues\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(value, index) in mutableValues[property.name]\"\n\t\t\t\t\t:key=\"property.name + index\"\n\t\t\t\t\tclass=\"parameter-item\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"parameter-item-wrapper\">\n\t\t\t\t\t\t<div class=\"delete-option\" v-if=\"!isReadOnly\">\n\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\ticon=\"trash\"\n\t\t\t\t\t\t\t\tclass=\"reset-icon clickable\"\n\t\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.deleteItem')\"\n\t\t\t\t\t\t\t\t@click=\"deleteOption(property.name, index)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div v-if=\"sortable\" class=\"sort-icon\">\n\t\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\t\tv-if=\"index !== 0\"\n\t\t\t\t\t\t\t\t\ticon=\"angle-up\"\n\t\t\t\t\t\t\t\t\tclass=\"clickable\"\n\t\t\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.moveUp')\"\n\t\t\t\t\t\t\t\t\t@click=\"moveOptionUp(property.name, index)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\t\t\tv-if=\"index !== mutableValues[property.name].length - 1\"\n\t\t\t\t\t\t\t\t\ticon=\"angle-down\"\n\t\t\t\t\t\t\t\t\tclass=\"clickable\"\n\t\t\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.moveDown')\"\n\t\t\t\t\t\t\t\t\t@click=\"moveOptionDown(property.name, index)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Suspense>\n\t\t\t\t\t\t\t<parameter-input-list\n\t\t\t\t\t\t\t\t:parameters=\"property.values\"\n\t\t\t\t\t\t\t\t:nodeValues=\"nodeValues\"\n\t\t\t\t\t\t\t\t:path=\"getPropertyPath(property.name, index)\"\n\t\t\t\t\t\t\t\t:hideDelete=\"true\"\n\t\t\t\t\t\t\t\t:isReadOnly=\"isReadOnly\"\n\t\t\t\t\t\t\t\t@valueChanged=\"valueChanged\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Suspense>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-else class=\"parameter-item\">\n\t\t\t\t<div class=\"parameter-item-wrapper\">\n\t\t\t\t\t<div class=\"delete-option\" v-if=\"!isReadOnly\">\n\t\t\t\t\t\t<font-awesome-icon\n\t\t\t\t\t\t\ticon=\"trash\"\n\t\t\t\t\t\t\tclass=\"reset-icon clickable\"\n\t\t\t\t\t\t\t:title=\"$locale.baseText('fixedCollectionParameter.deleteItem')\"\n\t\t\t\t\t\t\t@click=\"deleteOption(property.name)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<parameter-input-list\n\t\t\t\t\t\t:parameters=\"property.values\"\n\t\t\t\t\t\t:nodeValues=\"nodeValues\"\n\t\t\t\t\t\t:path=\"getPropertyPath(property.name)\"\n\t\t\t\t\t\t:isReadOnly=\"isReadOnly\"\n\t\t\t\t\t\tclass=\"parameter-item\"\n\t\t\t\t\t\t@valueChanged=\"valueChanged\"\n\t\t\t\t\t\t:hideDelete=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-if=\"parameterOptions.length > 0 && !isReadOnly\">\n\t\t\t<n8n-button\n\t\t\t\tv-if=\"parameter.options.length === 1\"\n\t\t\t\ttype=\"tertiary\"\n\t\t\t\tblock\n\t\t\t\t@click=\"optionSelected(parameter.options[0].name)\"\n\t\t\t\t:label=\"getPlaceholderText\"\n\t\t\t/>\n\t\t\t<div v-else class=\"add-option\">\n\t\t\t\t<n8n-select\n\t\t\t\t\tv-model=\"selectedOption\"\n\t\t\t\t\t:placeholder=\"getPlaceholderText\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t@update:modelValue=\"optionSelected\"\n\t\t\t\t\tfilterable\n\t\t\t\t>\n\t\t\t\t\t<n8n-option\n\t\t\t\t\t\tv-for=\"item in parameterOptions\"\n\t\t\t\t\t\t:key=\"item.name\"\n\t\t\t\t\t\t:label=\"$locale.nodeText().collectionOptionDisplayName(parameter, item, path)\"\n\t\t\t\t\t\t:value=\"item.name\"\n\t\t\t\t\t></n8n-option>\n\t\t\t\t</n8n-select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineAsyncComponent, defineComponent } from 'vue';\nimport type { PropType } from 'vue';\nimport type { IUpdateInformation } from '@/Interface';\n\nimport type {\n\tINodeParameters,\n\tINodeProperties,\n\tINodePropertyCollection,\n\tNodeParameterValue,\n} from 'n8n-workflow';\nimport { deepCopy, isINodePropertyCollectionList } from 'n8n-workflow';\n\nimport { get } from 'lodash-es';\n\nconst ParameterInputList = defineAsyncComponent(async () => import('./ParameterInputList.vue'));\n\nexport default defineComponent({\n\tname: 'FixedCollectionParameter',\n\tprops: {\n\t\tnodeValues: {\n\t\t\ttype: Object as PropType<Record<string, INodeParameters[]>>,\n\t\t\trequired: true,\n\t\t},\n\t\tparameter: {\n\t\t\ttype: Object as PropType<INodeProperties>,\n\t\t\trequired: true,\n\t\t},\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalues: {\n\t\t\ttype: Object as PropType<Record<string, INodeParameters[]>>,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tisReadOnly: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomponents: {\n\t\tParameterInputList,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedOption: undefined,\n\t\t\tmutableValues: {} as Record<string, INodeParameters[]>,\n\t\t};\n\t},\n\twatch: {\n\t\tvalues: {\n\t\t\thandler(newValues: Record<string, INodeParameters[]>) {\n\t\t\t\tthis.mutableValues = deepCopy(newValues);\n\t\t\t},\n\t\t\tdeep: true,\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.mutableValues = deepCopy(this.values);\n\t},\n\tcomputed: {\n\t\tgetPlaceholderText(): string {\n\t\t\tconst placeholder = this.$locale.nodeText().placeholder(this.parameter, this.path);\n\t\t\treturn placeholder ? placeholder : this.$locale.baseText('fixedCollectionParameter.choose');\n\t\t},\n\t\tgetProperties(): INodePropertyCollection[] {\n\t\t\tconst returnProperties = [];\n\t\t\tlet tempProperties;\n\t\t\tfor (const name of this.propertyNames) {\n\t\t\t\ttempProperties = this.getOptionProperties(name);\n\t\t\t\tif (tempProperties !== undefined) {\n\t\t\t\t\treturnProperties.push(tempProperties);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn returnProperties;\n\t\t},\n\t\tmultipleValues(): boolean {\n\t\t\treturn !!this.parameter.typeOptions?.multipleValues;\n\t\t},\n\n\t\tparameterOptions(): INodePropertyCollection[] {\n\t\t\tif (this.multipleValues && isINodePropertyCollectionList(this.parameter.options)) {\n\t\t\t\treturn this.parameter.options;\n\t\t\t}\n\n\t\t\treturn (this.parameter.options as INodePropertyCollection[]).filter((option) => {\n\t\t\t\treturn !this.propertyNames.includes(option.name);\n\t\t\t});\n\t\t},\n\t\tpropertyNames(): string[] {\n\t\t\treturn Object.keys(this.mutableValues || {});\n\t\t},\n\t\tsortable(): boolean {\n\t\t\treturn !!this.parameter.typeOptions?.sortable;\n\t\t},\n\t},\n\tmethods: {\n\t\tdeleteOption(optionName: string, index?: number) {\n\t\t\tconst currentOptionsOfSameType = this.mutableValues[optionName];\n\t\t\tif (!currentOptionsOfSameType || currentOptionsOfSameType.length > 1) {\n\t\t\t\t// it's not the only option of this type, so just remove it.\n\t\t\t\tthis.$emit('valueChanged', {\n\t\t\t\t\tname: this.getPropertyPath(optionName, index),\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// it's the only option, so remove the whole type\n\t\t\t\tthis.$emit('valueChanged', {\n\t\t\t\t\tname: this.getPropertyPath(optionName),\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetPropertyPath(name: string, index?: number) {\n\t\t\treturn `${this.path}.${name}` + (index !== undefined ? `[${index}]` : '');\n\t\t},\n\t\tgetOptionProperties(optionName: string): INodePropertyCollection | undefined {\n\t\t\tif (isINodePropertyCollectionList(this.parameter.options)) {\n\t\t\t\tfor (const option of this.parameter.options) {\n\t\t\t\t\tif (option.name === optionName) {\n\t\t\t\t\t\treturn option;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t\tmoveOptionDown(optionName: string, index: number) {\n\t\t\tif (Array.isArray(this.mutableValues[optionName])) {\n\t\t\t\tthis.mutableValues[optionName].splice(\n\t\t\t\t\tindex + 1,\n\t\t\t\t\t0,\n\t\t\t\t\tthis.mutableValues[optionName].splice(index, 1)[0],\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst parameterData = {\n\t\t\t\tname: this.getPropertyPath(optionName),\n\t\t\t\tvalue: this.mutableValues[optionName],\n\t\t\t};\n\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t},\n\t\tmoveOptionUp(optionName: string, index: number) {\n\t\t\tif (Array.isArray(this.mutableValues[optionName])) {\n\t\t\t\tthis.mutableValues?.[optionName].splice(\n\t\t\t\t\tindex - 1,\n\t\t\t\t\t0,\n\t\t\t\t\tthis.mutableValues[optionName].splice(index, 1)[0],\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst parameterData = {\n\t\t\t\tname: this.getPropertyPath(optionName),\n\t\t\t\tvalue: this.mutableValues[optionName],\n\t\t\t};\n\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t},\n\t\toptionSelected(optionName: string) {\n\t\t\tconst option = this.getOptionProperties(optionName);\n\t\t\tif (option === undefined) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst name = `${this.path}.${option.name}`;\n\n\t\t\tconst newParameterValue: INodeParameters = {};\n\n\t\t\tfor (const optionParameter of option.values) {\n\t\t\t\tif (\n\t\t\t\t\toptionParameter.type === 'fixedCollection' &&\n\t\t\t\t\toptionParameter.typeOptions !== undefined &&\n\t\t\t\t\toptionParameter.typeOptions.multipleValues === true\n\t\t\t\t) {\n\t\t\t\t\tnewParameterValue[optionParameter.name] = {};\n\t\t\t\t} else if (\n\t\t\t\t\toptionParameter.typeOptions !== undefined &&\n\t\t\t\t\toptionParameter.typeOptions.multipleValues === true\n\t\t\t\t) {\n\t\t\t\t\t// Multiple values are allowed so append option to array\n\t\t\t\t\tnewParameterValue[optionParameter.name] = get(\n\t\t\t\t\t\tthis.nodeValues,\n\t\t\t\t\t\t`${this.path}.${optionParameter.name}`,\n\t\t\t\t\t\t[],\n\t\t\t\t\t);\n\t\t\t\t\tif (Array.isArray(optionParameter.default)) {\n\t\t\t\t\t\t(newParameterValue[optionParameter.name] as INodeParameters[]).push(\n\t\t\t\t\t\t\t...deepCopy(optionParameter.default as INodeParameters[]),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\toptionParameter.default !== '' &&\n\t\t\t\t\t\ttypeof optionParameter.default !== 'object'\n\t\t\t\t\t) {\n\t\t\t\t\t\t(newParameterValue[optionParameter.name] as NodeParameterValue[]).push(\n\t\t\t\t\t\t\tdeepCopy(optionParameter.default),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Add a new option\n\t\t\t\t\tnewParameterValue[optionParameter.name] = deepCopy(optionParameter.default);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet newValue;\n\t\t\tif (this.multipleValues) {\n\t\t\t\tnewValue = get(this.nodeValues, name, [] as INodeParameters[]);\n\n\t\t\t\tnewValue.push(newParameterValue);\n\t\t\t} else {\n\t\t\t\tnewValue = newParameterValue;\n\t\t\t}\n\n\t\t\tconst parameterData = {\n\t\t\t\tname,\n\t\t\t\tvalue: newValue,\n\t\t\t};\n\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t\tthis.selectedOption = undefined;\n\t\t},\n\t\tvalueChanged(parameterData: IUpdateInformation) {\n\t\t\tthis.$emit('valueChanged', parameterData);\n\t\t},\n\t},\n});\n</script>\n\n<style scoped lang=\"scss\">\n.fixed-collection-parameter {\n\tpadding-left: var(--spacing-s);\n\n\t:deep(.button) {\n\t\t--button-background-color: var(--color-background-base);\n\t\t--button-border-color: var(--color-foreground-base);\n\t}\n}\n\n.fixed-collection-parameter-property {\n\tmargin: var(--spacing-xs) 0;\n}\n\n.delete-option {\n\tdisplay: none;\n\tposition: absolute;\n\tz-index: 999;\n\tcolor: #f56c6c;\n\tleft: 0;\n\ttop: 0.5em;\n\twidth: 15px;\n\theight: 100%;\n}\n\n.parameter-item:hover > .parameter-item-wrapper > .delete-option {\n\tdisplay: block;\n}\n\n.parameter-item {\n\tposition: relative;\n\tpadding: 0 0 0 1em;\n\n\t+ .parameter-item {\n\t\t.parameter-item-wrapper {\n\t\t\tborder-top: 1px dashed #999;\n\n\t\t\t.delete-option {\n\t\t\t\ttop: 14px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.no-items-exist {\n\tmargin: var(--spacing-xs) 0;\n}\n\n.sort-icon {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-left: 1px;\n\tmargin-top: 0.5em;\n}\n</style>\n"],"file":"assets/FixedCollectionParameter-8ad1e897.js"}
@@ -1,2 +1,2 @@
1
- import{h as v,_ as f}from"./n8n-80219ee5.js";import{u as _,N as B,g as S,D as k,a as b,S as T}from"./index-1cdec20f.js";import{m as w}from"./pinia-82c4461b.js";import{d as E,aE as h,b as u,o as p,f as C,n as a,g as N,e as l,k as $,c as g,w as A,aF as D}from"./vendor-18a4b4e1.js";import"./luxon-19e1de07.js";import"./esprima-next-8c7e8ff9.js";import"./lodash-es-876af2e5.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";import"./axios-c5a64f4c.js";import"./flatted-8b14da7d.js";import"./vue-i18n-c3b0f366.js";import"./uuid-cf522c50.js";import"./dateformat-ec5521d1.js";import"./@jsplumb/browser-ui-70b0a0d6.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@n8n/codemirror-lang-sql-9a304659.js";import"./codemirror-lang-n8n-expression-47e67c3a.js";import"./codemirror-lang-html-n8n-4223f8c7.js";import"./fast-json-stable-stringify-7a62a64e.js";import"./prettier-51497383.js";import"./@vueuse/core-60457efe.js";import"./timeago.js-a9e71aec.js";import"./qrcode.vue-338130ab.js";import"./file-saver-a0bd4f44.js";import"./vue-json-pretty-c769fa0d.js";import"./humanize-duration-706bc8a1.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-19059f80.js";import"./copy-to-clipboard-067d994e.js";import"./vue3-touch-events-ee55ce04.js";import"./@fortawesome/free-solid-svg-icons-d79f1537.js";import"./@fortawesome/free-regular-svg-icons-74cb85f8.js";const I=h(async()=>v(()=>import("./NodeCreator-0d763ba3.js"),["assets/NodeCreator-0d763ba3.js","assets/index-1cdec20f.js","assets/vendor-18a4b4e1.js","assets/pinia-82c4461b.js","assets/n8n-80219ee5.js","assets/luxon-19e1de07.js","assets/esprima-next-8c7e8ff9.js","assets/lodash-es-876af2e5.js","assets/@fortawesome/vue-fontawesome-f597912a.js","assets/@fortawesome/fontawesome-svg-core-984d6dde.js","assets/n8n-dc7cfc9d.css","assets/axios-c5a64f4c.js","assets/flatted-8b14da7d.js","assets/vue-i18n-c3b0f366.js","assets/uuid-cf522c50.js","assets/dateformat-ec5521d1.js","assets/@jsplumb/browser-ui-70b0a0d6.js","assets/@jsplumb/core-0a463c13.js","assets/@jsplumb/util-98a92a84.js","assets/@jsplumb/common-fe415eb9.js","assets/@jsplumb/connector-bezier-53998944.js","assets/@n8n/codemirror-lang-sql-9a304659.js","assets/codemirror-lang-n8n-expression-47e67c3a.js","assets/codemirror-lang-html-n8n-4223f8c7.js","assets/fast-json-stable-stringify-7a62a64e.js","assets/prettier-51497383.js","assets/@vueuse/core-60457efe.js","assets/timeago.js-a9e71aec.js","assets/qrcode.vue-338130ab.js","assets/file-saver-a0bd4f44.js","assets/vue-json-pretty-c769fa0d.js","assets/humanize-duration-706bc8a1.js","assets/v3-infinite-loading-8fbfd594.js","assets/vue-agile-19059f80.js","assets/vue-agile-d964f598.css","assets/copy-to-clipboard-067d994e.js","assets/vue3-touch-events-ee55ce04.js","assets/@fortawesome/free-solid-svg-icons-d79f1537.js","assets/@fortawesome/free-regular-svg-icons-74cb85f8.js","assets/index-12dd1e47.css","assets/NodeCreator-69549990.css"])),P=E({name:"node-creation",components:{NodeCreator:I},props:{nodeViewScale:{type:Number,required:!0},createNodeActive:{type:Boolean,default:!1}},data(){return{showStickyButton:!1}},computed:{...w(_)},methods:{onCreateMenuHoverIn(e){const t=e.target;this.showStickyButton=!0;const d=o=>{if(t){const r=t.getBoundingClientRect(),c=r.height,s=r.width,i=r.left,n=i+s,m=r.top,y=m+c;o.pageX>i&&o.pageX<n&&o.pageY>m&&o.pageY<y||(this.showStickyButton=!1,document.removeEventListener("mousemove",d,!1))}};document.addEventListener("mousemove",d,!1)},openNodeCreator(){this.$emit("toggleNodeCreator",{source:B.ADD_NODE_BUTTON,createNodeActive:!0})},addStickyNote(){document.activeElement&&document.activeElement.blur();const e=[...this.uiStore.nodeViewOffsetPosition],t=S(this.nodeViewScale,e);t[0]-=k/2,t[1]-=b/2,this.$emit("addNode",[{nodeTypeName:T,position:t}])},closeNodeCreator(){this.$emit("toggleNodeCreator",{createNodeActive:!1})},nodeTypeSelected(e){this.$emit("addNode",e.map(t=>({nodeTypeName:t}))),this.closeNodeCreator()}}}),O="_nodeButtonsWrapper_q5bvi_5",V="_addStickyButton_q5bvi_14",q="_visibleButton_q5bvi_21",H="_noEvents_q5bvi_26",L="_nodeCreatorButton_q5bvi_30",M="_nodeCreatorPlus_q5bvi_47",W={nodeButtonsWrapper:O,addStickyButton:V,visibleButton:q,noEvents:H,nodeCreatorButton:L,nodeCreatorPlus:M};function Y(e,t,d,o,r,c){const s=u("n8n-icon-button"),i=u("NodeCreator");return p(),C("div",null,[e.createNodeActive?$("",!0):(p(),C("div",{key:0,class:a([e.$style.nodeButtonsWrapper,e.showStickyButton?e.$style.noEvents:""]),onMouseenter:t[1]||(t[1]=(...n)=>e.onCreateMenuHoverIn&&e.onCreateMenuHoverIn(...n))},[N("div",{class:a(e.$style.nodeCreatorButton),"data-test-id":"node-creator-plus-button"},[l(s,{size:"xlarge",icon:"plus",type:"tertiary",class:a(e.$style.nodeCreatorPlus),onClick:e.openNodeCreator,title:e.$locale.baseText("nodeView.addNode")},null,8,["class","onClick","title"]),N("div",{class:a([e.$style.addStickyButton,e.showStickyButton?e.$style.visibleButton:""]),onClick:t[0]||(t[0]=(...n)=>e.addStickyNote&&e.addStickyNote(...n)),"data-test-id":"add-sticky-button"},[l(s,{type:"tertiary",icon:["far","note-sticky"],title:e.$locale.baseText("nodeView.addSticky")},null,8,["title"])],2)],2)],34)),(p(),g(D,null,{default:A(()=>[l(i,{active:e.createNodeActive,onNodeTypeSelected:e.nodeTypeSelected,onCloseNodeCreator:e.closeNodeCreator},null,8,["active","onNodeTypeSelected","onCloseNodeCreator"])]),_:1}))])}const F={$style:W},Ee=f(P,[["render",Y],["__cssModules",F]]);export{Ee as default};
2
- //# sourceMappingURL=NodeCreation-bbf36a1a.js.map
1
+ import{h as v,_ as f}from"./n8n-80219ee5.js";import{u as _,N as B,g as S,D as k,a as b,S as T}from"./index-adc9f77e.js";import{m as w}from"./pinia-82c4461b.js";import{d as E,aE as h,b as u,o as p,f as C,n as a,g as N,e as l,k as $,c as g,w as A,aF as D}from"./vendor-18a4b4e1.js";import"./luxon-19e1de07.js";import"./esprima-next-8c7e8ff9.js";import"./lodash-es-876af2e5.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";import"./axios-c5a64f4c.js";import"./flatted-8b14da7d.js";import"./vue-i18n-c3b0f366.js";import"./uuid-cf522c50.js";import"./dateformat-ec5521d1.js";import"./@jsplumb/browser-ui-70b0a0d6.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@n8n/codemirror-lang-sql-9a304659.js";import"./codemirror-lang-n8n-expression-47e67c3a.js";import"./codemirror-lang-html-n8n-4223f8c7.js";import"./fast-json-stable-stringify-7a62a64e.js";import"./prettier-51497383.js";import"./@vueuse/core-60457efe.js";import"./timeago.js-a9e71aec.js";import"./qrcode.vue-338130ab.js";import"./file-saver-a0bd4f44.js";import"./vue-json-pretty-c769fa0d.js";import"./humanize-duration-706bc8a1.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-19059f80.js";import"./copy-to-clipboard-067d994e.js";import"./vue3-touch-events-ee55ce04.js";import"./@fortawesome/free-solid-svg-icons-d79f1537.js";import"./@fortawesome/free-regular-svg-icons-74cb85f8.js";const I=h(async()=>v(()=>import("./NodeCreator-626fd9f1.js"),["assets/NodeCreator-626fd9f1.js","assets/index-adc9f77e.js","assets/vendor-18a4b4e1.js","assets/pinia-82c4461b.js","assets/n8n-80219ee5.js","assets/luxon-19e1de07.js","assets/esprima-next-8c7e8ff9.js","assets/lodash-es-876af2e5.js","assets/@fortawesome/vue-fontawesome-f597912a.js","assets/@fortawesome/fontawesome-svg-core-984d6dde.js","assets/n8n-dc7cfc9d.css","assets/axios-c5a64f4c.js","assets/flatted-8b14da7d.js","assets/vue-i18n-c3b0f366.js","assets/uuid-cf522c50.js","assets/dateformat-ec5521d1.js","assets/@jsplumb/browser-ui-70b0a0d6.js","assets/@jsplumb/core-0a463c13.js","assets/@jsplumb/util-98a92a84.js","assets/@jsplumb/common-fe415eb9.js","assets/@jsplumb/connector-bezier-53998944.js","assets/@n8n/codemirror-lang-sql-9a304659.js","assets/codemirror-lang-n8n-expression-47e67c3a.js","assets/codemirror-lang-html-n8n-4223f8c7.js","assets/fast-json-stable-stringify-7a62a64e.js","assets/prettier-51497383.js","assets/@vueuse/core-60457efe.js","assets/timeago.js-a9e71aec.js","assets/qrcode.vue-338130ab.js","assets/file-saver-a0bd4f44.js","assets/vue-json-pretty-c769fa0d.js","assets/humanize-duration-706bc8a1.js","assets/v3-infinite-loading-8fbfd594.js","assets/vue-agile-19059f80.js","assets/vue-agile-d964f598.css","assets/copy-to-clipboard-067d994e.js","assets/vue3-touch-events-ee55ce04.js","assets/@fortawesome/free-solid-svg-icons-d79f1537.js","assets/@fortawesome/free-regular-svg-icons-74cb85f8.js","assets/index-445a502e.css","assets/NodeCreator-69549990.css"])),P=E({name:"node-creation",components:{NodeCreator:I},props:{nodeViewScale:{type:Number,required:!0},createNodeActive:{type:Boolean,default:!1}},data(){return{showStickyButton:!1}},computed:{...w(_)},methods:{onCreateMenuHoverIn(e){const t=e.target;this.showStickyButton=!0;const d=o=>{if(t){const r=t.getBoundingClientRect(),c=r.height,s=r.width,i=r.left,n=i+s,m=r.top,y=m+c;o.pageX>i&&o.pageX<n&&o.pageY>m&&o.pageY<y||(this.showStickyButton=!1,document.removeEventListener("mousemove",d,!1))}};document.addEventListener("mousemove",d,!1)},openNodeCreator(){this.$emit("toggleNodeCreator",{source:B.ADD_NODE_BUTTON,createNodeActive:!0})},addStickyNote(){document.activeElement&&document.activeElement.blur();const e=[...this.uiStore.nodeViewOffsetPosition],t=S(this.nodeViewScale,e);t[0]-=k/2,t[1]-=b/2,this.$emit("addNode",[{nodeTypeName:T,position:t}])},closeNodeCreator(){this.$emit("toggleNodeCreator",{createNodeActive:!1})},nodeTypeSelected(e){this.$emit("addNode",e.map(t=>({nodeTypeName:t}))),this.closeNodeCreator()}}}),O="_nodeButtonsWrapper_q5bvi_5",V="_addStickyButton_q5bvi_14",q="_visibleButton_q5bvi_21",H="_noEvents_q5bvi_26",L="_nodeCreatorButton_q5bvi_30",M="_nodeCreatorPlus_q5bvi_47",W={nodeButtonsWrapper:O,addStickyButton:V,visibleButton:q,noEvents:H,nodeCreatorButton:L,nodeCreatorPlus:M};function Y(e,t,d,o,r,c){const s=u("n8n-icon-button"),i=u("NodeCreator");return p(),C("div",null,[e.createNodeActive?$("",!0):(p(),C("div",{key:0,class:a([e.$style.nodeButtonsWrapper,e.showStickyButton?e.$style.noEvents:""]),onMouseenter:t[1]||(t[1]=(...n)=>e.onCreateMenuHoverIn&&e.onCreateMenuHoverIn(...n))},[N("div",{class:a(e.$style.nodeCreatorButton),"data-test-id":"node-creator-plus-button"},[l(s,{size:"xlarge",icon:"plus",type:"tertiary",class:a(e.$style.nodeCreatorPlus),onClick:e.openNodeCreator,title:e.$locale.baseText("nodeView.addNode")},null,8,["class","onClick","title"]),N("div",{class:a([e.$style.addStickyButton,e.showStickyButton?e.$style.visibleButton:""]),onClick:t[0]||(t[0]=(...n)=>e.addStickyNote&&e.addStickyNote(...n)),"data-test-id":"add-sticky-button"},[l(s,{type:"tertiary",icon:["far","note-sticky"],title:e.$locale.baseText("nodeView.addSticky")},null,8,["title"])],2)],2)],34)),(p(),g(D,null,{default:A(()=>[l(i,{active:e.createNodeActive,onNodeTypeSelected:e.nodeTypeSelected,onCloseNodeCreator:e.closeNodeCreator},null,8,["active","onNodeTypeSelected","onCloseNodeCreator"])]),_:1}))])}const F={$style:W},Ee=f(P,[["render",Y],["__cssModules",F]]);export{Ee as default};
2
+ //# sourceMappingURL=NodeCreation-aa65a415.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":"kgDAmDA,MAAMA,EAAcC,EACnB,eAAY,OAAO,2BAA+C,k9CACnE,EAEAC,EAAeC,EAAgB,CAC9B,KAAM,gBACN,WAAY,CACX,YAAAH,CACD,EACA,MAAO,CACN,cAAe,CACd,KAAM,OACN,SAAU,EACX,EACA,iBAAkB,CACjB,KAAM,QACN,QAAS,EACV,CACD,EACA,MAAO,CACC,OACN,iBAAkB,GAEpB,EACA,SAAU,CACT,GAAGI,EAAUC,CAAU,CACxB,EACA,QAAS,CACR,oBAAoBC,EAA0B,CAC7C,MAAMC,EAAiBD,EAAa,OAGpC,KAAK,iBAAmB,GAClB,MAAAE,EAAgBC,GAA+B,CACpD,GAAIF,EAAgB,CACb,MAAAG,EAAgBH,EAAe,wBAC/BI,EAAWD,EAAc,OACzBE,EAAWF,EAAc,MACzBG,EAAkBH,EAAc,KAChCI,EAAiBD,EAAkBD,EACnCG,EAAiBL,EAAc,IAC/BM,EAAgBD,EAAiBJ,EAEtCF,EAAe,MAAQI,GACvBJ,EAAe,MAAQK,GACvBL,EAAe,MAAQM,GACvBN,EAAe,MAAQO,IAEvB,KAAK,iBAAmB,GACf,6BAAoB,YAAaR,EAAc,EAAK,EAE/D,GAEQ,0BAAiB,YAAaA,EAAc,EAAK,CAC3D,EACA,iBAAkB,CACjB,KAAK,MAAM,oBAAqB,CAC/B,OAAQS,EAA0B,gBAClC,iBAAkB,GAClB,CACF,EACA,eAAgB,CACX,SAAS,eACX,SAAS,cAA8B,OAGzC,MAAMC,EAA2B,CAAC,GAAG,KAAK,QAAQ,sBAAsB,EAElEC,EAAWC,EAAqB,KAAK,cAAeF,CAAM,EACvDC,EAAA,CAAC,GAAKE,EAAuB,EAC7BF,EAAA,CAAC,GAAKG,EAAwB,EAEvC,KAAK,MAAM,UAAW,CACrB,CACC,aAAcC,EACd,SAAAJ,CACD,EACA,CACF,EACA,kBAAmB,CAClB,KAAK,MAAM,oBAAqB,CAAE,iBAAkB,EAAO,EAC5D,EACA,iBAAiBK,EAAyB,CACpC,WACJ,UACAA,EAAc,IAAKC,IAAkB,CAAE,aAAAA,CAAe,KAEvD,KAAK,iBAAiB,CACvB,CACD,CACD,CAAC,oVA5IAC,EAmCM,0BAlCLC,EA0BM,YAAAC,EAAA,iBAMHC,EAAA,QANGC,EAAA,IAxBI,MAAO,CACf,YAAAC,EAAA,CAAAH,EAAA,0BAAAA,EAAA,iBAAAA,EAAA,qBAED,aAoBMI,EAAA,KAAAA,EAAA,OAAAC,IAAAL,EAAA,qBAAAA,EAAA,uBAAAK,CAAA,KApB8CC,EAAA,aAAAH,EAAAH,EAAA,0BACnD,eAOE,+BALIO,EAAM,CACX,KAAK,SACJ,KAAK,OACL,gBACA,MAAOJ,EAAQH,EAAQ,gCAAAA,EAAA,gBAEzB,MAUMA,EAAA,sCATJ,KAAK,qBAAG,OAAO,GACVM,EAAA,OACN,QAAa,CAAmBN,EAAA,uBAAAA,EAAA,iBAAAA,EAAA,kCAAAI,EAAA,KAAAA,EAAA,OAAAC,IAAAL,EAAA,eAAAA,EAAA,iBAAAK,CAAA,GAEhC,eAIE,wBAFME,EAAsB,CAC5B,KAAK,+GAUP,QAAAL,IAAAM,EAAAC,EAAA,cAHAC,EAAQ,KAAAC,EACRC,EAAkB,CAClB,OAAAZ,EAAA,oCAAAA,EAAA","names":["NodeCreator","defineAsyncComponent","_sfc_main","defineComponent","mapStores","useUIStore","mouseinEvent","buttonsWrapper","moveCallback","mousemoveEvent","wrapperBounds","wrapperH","wrapperW","wrapperLeftNear","wrapperLeftFar","wrapperTopNear","wrapperTopFar","NODE_CREATOR_OPEN_SOURCES","offset","position","getMidCanvasPosition","DEFAULT_STICKY_WIDTH","DEFAULT_STICKY_HEIGHT","STICKY_NODE_TYPE","nodeTypeNames","nodeTypeName","_resolveComponent","_createElementBlock","_ctx","_createCommentVNode","_openBlock","_normalizeClass","_cache","args","_createElementVNode","_component_n8n_icon_button","_createBlock","_Suspense","_withCtx","_createVNode","_component_NodeCreator"],"sources":["../../src/components/Node/NodeCreation.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<div\n\t\t\tv-if=\"!createNodeActive\"\n\t\t\t:class=\"[$style.nodeButtonsWrapper, showStickyButton ? $style.noEvents : '']\"\n\t\t\t@mouseenter=\"onCreateMenuHoverIn\"\n\t\t>\n\t\t\t<div :class=\"$style.nodeCreatorButton\" data-test-id=\"node-creator-plus-button\">\n\t\t\t\t<n8n-icon-button\n\t\t\t\t\tsize=\"xlarge\"\n\t\t\t\t\ticon=\"plus\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t:class=\"$style.nodeCreatorPlus\"\n\t\t\t\t\t@click=\"openNodeCreator\"\n\t\t\t\t\t:title=\"$locale.baseText('nodeView.addNode')\"\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\t:class=\"[$style.addStickyButton, showStickyButton ? $style.visibleButton : '']\"\n\t\t\t\t\t@click=\"addStickyNote\"\n\t\t\t\t\tdata-test-id=\"add-sticky-button\"\n\t\t\t\t>\n\t\t\t\t\t<n8n-icon-button\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t:icon=\"['far', 'note-sticky']\"\n\t\t\t\t\t\t:title=\"$locale.baseText('nodeView.addSticky')\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<Suspense>\n\t\t\t<NodeCreator\n\t\t\t\t:active=\"createNodeActive\"\n\t\t\t\t@nodeTypeSelected=\"nodeTypeSelected\"\n\t\t\t\t@closeNodeCreator=\"closeNodeCreator\"\n\t\t\t/>\n\t\t</Suspense>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineAsyncComponent, defineComponent } from 'vue';\nimport { getMidCanvasPosition } from '@/utils/nodeViewUtils';\nimport {\n\tDEFAULT_STICKY_HEIGHT,\n\tDEFAULT_STICKY_WIDTH,\n\tNODE_CREATOR_OPEN_SOURCES,\n\tSTICKY_NODE_TYPE,\n} from '@/constants';\nimport { mapStores } from 'pinia';\nimport { useUIStore } from '@/stores/ui.store';\n\nconst NodeCreator = defineAsyncComponent(\n\tasync () => import('@/components/Node/NodeCreator/NodeCreator.vue'),\n);\n\nexport default defineComponent({\n\tname: 'node-creation',\n\tcomponents: {\n\t\tNodeCreator,\n\t},\n\tprops: {\n\t\tnodeViewScale: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tcreateNodeActive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowStickyButton: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapStores(useUIStore),\n\t},\n\tmethods: {\n\t\tonCreateMenuHoverIn(mouseinEvent: MouseEvent) {\n\t\t\tconst buttonsWrapper = mouseinEvent.target as Element;\n\n\t\t\t// Once the popup menu is hovered, it's pointer events are disabled so it's not interfering with element underneath it.\n\t\t\tthis.showStickyButton = true;\n\t\t\tconst moveCallback = (mousemoveEvent: MouseEvent) => {\n\t\t\t\tif (buttonsWrapper) {\n\t\t\t\t\tconst wrapperBounds = buttonsWrapper.getBoundingClientRect();\n\t\t\t\t\tconst wrapperH = wrapperBounds.height;\n\t\t\t\t\tconst wrapperW = wrapperBounds.width;\n\t\t\t\t\tconst wrapperLeftNear = wrapperBounds.left;\n\t\t\t\t\tconst wrapperLeftFar = wrapperLeftNear + wrapperW;\n\t\t\t\t\tconst wrapperTopNear = wrapperBounds.top;\n\t\t\t\t\tconst wrapperTopFar = wrapperTopNear + wrapperH;\n\t\t\t\t\tconst inside =\n\t\t\t\t\t\tmousemoveEvent.pageX > wrapperLeftNear &&\n\t\t\t\t\t\tmousemoveEvent.pageX < wrapperLeftFar &&\n\t\t\t\t\t\tmousemoveEvent.pageY > wrapperTopNear &&\n\t\t\t\t\t\tmousemoveEvent.pageY < wrapperTopFar;\n\t\t\t\t\tif (!inside) {\n\t\t\t\t\t\tthis.showStickyButton = false;\n\t\t\t\t\t\tdocument.removeEventListener('mousemove', moveCallback, false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tdocument.addEventListener('mousemove', moveCallback, false);\n\t\t},\n\t\topenNodeCreator() {\n\t\t\tthis.$emit('toggleNodeCreator', {\n\t\t\t\tsource: NODE_CREATOR_OPEN_SOURCES.ADD_NODE_BUTTON,\n\t\t\t\tcreateNodeActive: true,\n\t\t\t});\n\t\t},\n\t\taddStickyNote() {\n\t\t\tif (document.activeElement) {\n\t\t\t\t(document.activeElement as HTMLElement).blur();\n\t\t\t}\n\n\t\t\tconst offset: [number, number] = [...this.uiStore.nodeViewOffsetPosition];\n\n\t\t\tconst position = getMidCanvasPosition(this.nodeViewScale, offset);\n\t\t\tposition[0] -= DEFAULT_STICKY_WIDTH / 2;\n\t\t\tposition[1] -= DEFAULT_STICKY_HEIGHT / 2;\n\n\t\t\tthis.$emit('addNode', [\n\t\t\t\t{\n\t\t\t\t\tnodeTypeName: STICKY_NODE_TYPE,\n\t\t\t\t\tposition,\n\t\t\t\t},\n\t\t\t]);\n\t\t},\n\t\tcloseNodeCreator() {\n\t\t\tthis.$emit('toggleNodeCreator', { createNodeActive: false });\n\t\t},\n\t\tnodeTypeSelected(nodeTypeNames: string[]) {\n\t\t\tthis.$emit(\n\t\t\t\t'addNode',\n\t\t\t\tnodeTypeNames.map((nodeTypeName) => ({ nodeTypeName })),\n\t\t\t);\n\t\t\tthis.closeNodeCreator();\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.nodeButtonsWrapper {\n\tposition: absolute;\n\twidth: 150px;\n\theight: 200px;\n\ttop: 0;\n\tright: 0;\n\tdisplay: flex;\n}\n\n.addStickyButton {\n\tmargin-top: var(--spacing-2xs);\n\topacity: 0;\n\ttransition: 0.1s;\n\ttransition-timing-function: linear;\n}\n\n.visibleButton {\n\topacity: 1;\n\tpointer-events: all;\n}\n\n.noEvents {\n\tpointer-events: none;\n}\n\n.nodeCreatorButton {\n\tposition: absolute;\n\ttext-align: center;\n\ttop: var(--spacing-s);\n\tright: var(--spacing-s);\n\tpointer-events: all !important;\n\n\tbutton {\n\t\tborder-color: var(--color-foreground-xdark);\n\t\tcolor: var(--color-foreground-xdark);\n\n\t\t&:hover {\n\t\t\tborder-color: var(--color-primary);\n\t\t\tcolor: var(--color-primary);\n\t\t\tbackground: var(--color-background-xlight);\n\t\t}\n\t}\n}\n.nodeCreatorPlus {\n\tborder-width: 2px;\n\tborder-radius: var(--border-radius-base);\n\twidth: 36px;\n\theight: 36px;\n}\n</style>\n"],"file":"assets/NodeCreation-bbf36a1a.js"}
1
+ {"version":3,"mappings":"kgDAmDA,MAAMA,EAAcC,EACnB,eAAY,OAAO,2BAA+C,k9CACnE,EAEAC,EAAeC,EAAgB,CAC9B,KAAM,gBACN,WAAY,CACX,YAAAH,CACD,EACA,MAAO,CACN,cAAe,CACd,KAAM,OACN,SAAU,EACX,EACA,iBAAkB,CACjB,KAAM,QACN,QAAS,EACV,CACD,EACA,MAAO,CACC,OACN,iBAAkB,GAEpB,EACA,SAAU,CACT,GAAGI,EAAUC,CAAU,CACxB,EACA,QAAS,CACR,oBAAoBC,EAA0B,CAC7C,MAAMC,EAAiBD,EAAa,OAGpC,KAAK,iBAAmB,GAClB,MAAAE,EAAgBC,GAA+B,CACpD,GAAIF,EAAgB,CACb,MAAAG,EAAgBH,EAAe,wBAC/BI,EAAWD,EAAc,OACzBE,EAAWF,EAAc,MACzBG,EAAkBH,EAAc,KAChCI,EAAiBD,EAAkBD,EACnCG,EAAiBL,EAAc,IAC/BM,EAAgBD,EAAiBJ,EAEtCF,EAAe,MAAQI,GACvBJ,EAAe,MAAQK,GACvBL,EAAe,MAAQM,GACvBN,EAAe,MAAQO,IAEvB,KAAK,iBAAmB,GACf,6BAAoB,YAAaR,EAAc,EAAK,EAE/D,GAEQ,0BAAiB,YAAaA,EAAc,EAAK,CAC3D,EACA,iBAAkB,CACjB,KAAK,MAAM,oBAAqB,CAC/B,OAAQS,EAA0B,gBAClC,iBAAkB,GAClB,CACF,EACA,eAAgB,CACX,SAAS,eACX,SAAS,cAA8B,OAGzC,MAAMC,EAA2B,CAAC,GAAG,KAAK,QAAQ,sBAAsB,EAElEC,EAAWC,EAAqB,KAAK,cAAeF,CAAM,EACvDC,EAAA,CAAC,GAAKE,EAAuB,EAC7BF,EAAA,CAAC,GAAKG,EAAwB,EAEvC,KAAK,MAAM,UAAW,CACrB,CACC,aAAcC,EACd,SAAAJ,CACD,EACA,CACF,EACA,kBAAmB,CAClB,KAAK,MAAM,oBAAqB,CAAE,iBAAkB,EAAO,EAC5D,EACA,iBAAiBK,EAAyB,CACpC,WACJ,UACAA,EAAc,IAAKC,IAAkB,CAAE,aAAAA,CAAe,KAEvD,KAAK,iBAAiB,CACvB,CACD,CACD,CAAC,oVA5IAC,EAmCM,0BAlCLC,EA0BM,YAAAC,EAAA,iBAMHC,EAAA,QANGC,EAAA,IAxBI,MAAO,CACf,YAAAC,EAAA,CAAAH,EAAA,0BAAAA,EAAA,iBAAAA,EAAA,qBAED,aAoBMI,EAAA,KAAAA,EAAA,OAAAC,IAAAL,EAAA,qBAAAA,EAAA,uBAAAK,CAAA,KApB8CC,EAAA,aAAAH,EAAAH,EAAA,0BACnD,eAOE,+BALIO,EAAM,CACX,KAAK,SACJ,KAAK,OACL,gBACA,MAAOJ,EAAQH,EAAQ,gCAAAA,EAAA,gBAEzB,MAUMA,EAAA,sCATJ,KAAK,qBAAG,OAAO,GACVM,EAAA,OACN,QAAa,CAAmBN,EAAA,uBAAAA,EAAA,iBAAAA,EAAA,kCAAAI,EAAA,KAAAA,EAAA,OAAAC,IAAAL,EAAA,eAAAA,EAAA,iBAAAK,CAAA,GAEhC,eAIE,wBAFME,EAAsB,CAC5B,KAAK,+GAUP,QAAAL,IAAAM,EAAAC,EAAA,cAHAC,EAAQ,KAAAC,EACRC,EAAkB,CAClB,OAAAZ,EAAA,oCAAAA,EAAA","names":["NodeCreator","defineAsyncComponent","_sfc_main","defineComponent","mapStores","useUIStore","mouseinEvent","buttonsWrapper","moveCallback","mousemoveEvent","wrapperBounds","wrapperH","wrapperW","wrapperLeftNear","wrapperLeftFar","wrapperTopNear","wrapperTopFar","NODE_CREATOR_OPEN_SOURCES","offset","position","getMidCanvasPosition","DEFAULT_STICKY_WIDTH","DEFAULT_STICKY_HEIGHT","STICKY_NODE_TYPE","nodeTypeNames","nodeTypeName","_resolveComponent","_createElementBlock","_ctx","_createCommentVNode","_openBlock","_normalizeClass","_cache","args","_createElementVNode","_component_n8n_icon_button","_createBlock","_Suspense","_withCtx","_createVNode","_component_NodeCreator"],"sources":["../../src/components/Node/NodeCreation.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<div\n\t\t\tv-if=\"!createNodeActive\"\n\t\t\t:class=\"[$style.nodeButtonsWrapper, showStickyButton ? $style.noEvents : '']\"\n\t\t\t@mouseenter=\"onCreateMenuHoverIn\"\n\t\t>\n\t\t\t<div :class=\"$style.nodeCreatorButton\" data-test-id=\"node-creator-plus-button\">\n\t\t\t\t<n8n-icon-button\n\t\t\t\t\tsize=\"xlarge\"\n\t\t\t\t\ticon=\"plus\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t:class=\"$style.nodeCreatorPlus\"\n\t\t\t\t\t@click=\"openNodeCreator\"\n\t\t\t\t\t:title=\"$locale.baseText('nodeView.addNode')\"\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\t:class=\"[$style.addStickyButton, showStickyButton ? $style.visibleButton : '']\"\n\t\t\t\t\t@click=\"addStickyNote\"\n\t\t\t\t\tdata-test-id=\"add-sticky-button\"\n\t\t\t\t>\n\t\t\t\t\t<n8n-icon-button\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t:icon=\"['far', 'note-sticky']\"\n\t\t\t\t\t\t:title=\"$locale.baseText('nodeView.addSticky')\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<Suspense>\n\t\t\t<NodeCreator\n\t\t\t\t:active=\"createNodeActive\"\n\t\t\t\t@nodeTypeSelected=\"nodeTypeSelected\"\n\t\t\t\t@closeNodeCreator=\"closeNodeCreator\"\n\t\t\t/>\n\t\t</Suspense>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineAsyncComponent, defineComponent } from 'vue';\nimport { getMidCanvasPosition } from '@/utils/nodeViewUtils';\nimport {\n\tDEFAULT_STICKY_HEIGHT,\n\tDEFAULT_STICKY_WIDTH,\n\tNODE_CREATOR_OPEN_SOURCES,\n\tSTICKY_NODE_TYPE,\n} from '@/constants';\nimport { mapStores } from 'pinia';\nimport { useUIStore } from '@/stores/ui.store';\n\nconst NodeCreator = defineAsyncComponent(\n\tasync () => import('@/components/Node/NodeCreator/NodeCreator.vue'),\n);\n\nexport default defineComponent({\n\tname: 'node-creation',\n\tcomponents: {\n\t\tNodeCreator,\n\t},\n\tprops: {\n\t\tnodeViewScale: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tcreateNodeActive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowStickyButton: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapStores(useUIStore),\n\t},\n\tmethods: {\n\t\tonCreateMenuHoverIn(mouseinEvent: MouseEvent) {\n\t\t\tconst buttonsWrapper = mouseinEvent.target as Element;\n\n\t\t\t// Once the popup menu is hovered, it's pointer events are disabled so it's not interfering with element underneath it.\n\t\t\tthis.showStickyButton = true;\n\t\t\tconst moveCallback = (mousemoveEvent: MouseEvent) => {\n\t\t\t\tif (buttonsWrapper) {\n\t\t\t\t\tconst wrapperBounds = buttonsWrapper.getBoundingClientRect();\n\t\t\t\t\tconst wrapperH = wrapperBounds.height;\n\t\t\t\t\tconst wrapperW = wrapperBounds.width;\n\t\t\t\t\tconst wrapperLeftNear = wrapperBounds.left;\n\t\t\t\t\tconst wrapperLeftFar = wrapperLeftNear + wrapperW;\n\t\t\t\t\tconst wrapperTopNear = wrapperBounds.top;\n\t\t\t\t\tconst wrapperTopFar = wrapperTopNear + wrapperH;\n\t\t\t\t\tconst inside =\n\t\t\t\t\t\tmousemoveEvent.pageX > wrapperLeftNear &&\n\t\t\t\t\t\tmousemoveEvent.pageX < wrapperLeftFar &&\n\t\t\t\t\t\tmousemoveEvent.pageY > wrapperTopNear &&\n\t\t\t\t\t\tmousemoveEvent.pageY < wrapperTopFar;\n\t\t\t\t\tif (!inside) {\n\t\t\t\t\t\tthis.showStickyButton = false;\n\t\t\t\t\t\tdocument.removeEventListener('mousemove', moveCallback, false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tdocument.addEventListener('mousemove', moveCallback, false);\n\t\t},\n\t\topenNodeCreator() {\n\t\t\tthis.$emit('toggleNodeCreator', {\n\t\t\t\tsource: NODE_CREATOR_OPEN_SOURCES.ADD_NODE_BUTTON,\n\t\t\t\tcreateNodeActive: true,\n\t\t\t});\n\t\t},\n\t\taddStickyNote() {\n\t\t\tif (document.activeElement) {\n\t\t\t\t(document.activeElement as HTMLElement).blur();\n\t\t\t}\n\n\t\t\tconst offset: [number, number] = [...this.uiStore.nodeViewOffsetPosition];\n\n\t\t\tconst position = getMidCanvasPosition(this.nodeViewScale, offset);\n\t\t\tposition[0] -= DEFAULT_STICKY_WIDTH / 2;\n\t\t\tposition[1] -= DEFAULT_STICKY_HEIGHT / 2;\n\n\t\t\tthis.$emit('addNode', [\n\t\t\t\t{\n\t\t\t\t\tnodeTypeName: STICKY_NODE_TYPE,\n\t\t\t\t\tposition,\n\t\t\t\t},\n\t\t\t]);\n\t\t},\n\t\tcloseNodeCreator() {\n\t\t\tthis.$emit('toggleNodeCreator', { createNodeActive: false });\n\t\t},\n\t\tnodeTypeSelected(nodeTypeNames: string[]) {\n\t\t\tthis.$emit(\n\t\t\t\t'addNode',\n\t\t\t\tnodeTypeNames.map((nodeTypeName) => ({ nodeTypeName })),\n\t\t\t);\n\t\t\tthis.closeNodeCreator();\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.nodeButtonsWrapper {\n\tposition: absolute;\n\twidth: 150px;\n\theight: 200px;\n\ttop: 0;\n\tright: 0;\n\tdisplay: flex;\n}\n\n.addStickyButton {\n\tmargin-top: var(--spacing-2xs);\n\topacity: 0;\n\ttransition: 0.1s;\n\ttransition-timing-function: linear;\n}\n\n.visibleButton {\n\topacity: 1;\n\tpointer-events: all;\n}\n\n.noEvents {\n\tpointer-events: none;\n}\n\n.nodeCreatorButton {\n\tposition: absolute;\n\ttext-align: center;\n\ttop: var(--spacing-s);\n\tright: var(--spacing-s);\n\tpointer-events: all !important;\n\n\tbutton {\n\t\tborder-color: var(--color-foreground-xdark);\n\t\tcolor: var(--color-foreground-xdark);\n\n\t\t&:hover {\n\t\t\tborder-color: var(--color-primary);\n\t\t\tcolor: var(--color-primary);\n\t\t\tbackground: var(--color-background-xlight);\n\t\t}\n\t}\n}\n.nodeCreatorPlus {\n\tborder-width: 2px;\n\tborder-radius: var(--border-radius-base);\n\twidth: 36px;\n\theight: 36px;\n}\n</style>\n"],"file":"assets/NodeCreation-aa65a415.js"}
@@ -0,0 +1,2 @@
1
+ import{C as Y,v as oe,w as j,T as F,p as yt,x as de,W as Q,E as ft,y as $e,M as Ne,z as Be,O as He,R as Le,A as Ue,H as Ke,F as xe,B as ze,G as ne,r as ue,m as pe,d as Se,I as je,N as ke,S as mt,J as vt,K as _t,L as ge,P as Fe,Q as ye,U as qe,V as ht,X as Ie,Y as Tt,Z as bt,u as wt}from"./index-adc9f77e.js";import{d as H,o as k,c as L,w as A,r as X,Z as Xe,y as G,i as $,a0 as Re,v as ve,P as Ze,a1 as Me,b as B,f as R,g as I,e as O,n as w,k as M,s as _e,ab as fe,j as K,X as Qe,V as Oe,a4 as he,Y as Je,t as W,$ as et,C as J,M as kt,a9 as Ct,m as me,ad as tt,am as $t,ah as Nt,aI as St,l as re}from"./vendor-18a4b4e1.js";import{_ as U}from"./n8n-80219ee5.js";import{d as ot}from"./pinia-82c4461b.js";import"./axios-c5a64f4c.js";import"./dateformat-ec5521d1.js";import{v as Ae}from"./uuid-cf522c50.js";import{m as It,x as Te,y as nt}from"./lodash-es-876af2e5.js";import"./flatted-8b14da7d.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";import"./vue-i18n-c3b0f366.js";import"./luxon-19e1de07.js";import"./@jsplumb/browser-ui-70b0a0d6.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@n8n/codemirror-lang-sql-9a304659.js";import"./codemirror-lang-n8n-expression-47e67c3a.js";import"./codemirror-lang-html-n8n-4223f8c7.js";import"./fast-json-stable-stringify-7a62a64e.js";import"./prettier-51497383.js";import"./esprima-next-8c7e8ff9.js";import"./@vueuse/core-60457efe.js";import"./timeago.js-a9e71aec.js";import"./qrcode.vue-338130ab.js";import"./file-saver-a0bd4f44.js";import"./vue-json-pretty-c769fa0d.js";import"./humanize-duration-706bc8a1.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-19059f80.js";import"./copy-to-clipboard-067d994e.js";import"./vue3-touch-events-ee55ce04.js";import"./@fortawesome/free-solid-svg-icons-d79f1537.js";import"./@fortawesome/free-regular-svg-icons-74cb85f8.js";const At=60,Et=30,Lt=30,Rt=15,Mt=-20,Ye=-200,Ot=-5;function Vt(t,e){let o=0,n=0;for(;o<t.length&&n<e.length;){const r=t.charAt(o).toLowerCase(),p=e.charAt(n).toLowerCase();r===p&&o++,++n}return t.length!==0&&e.length!==0&&o===t.length}function Dt(t,e){return st(t,e,0,0,null,[],256,0,0,5)}function st(t,e,o,n,r,p,v,h,s,d){let g=0;if(++s>=d)return{matched:!1,outScore:g};if(o===t.length||n===e.length)return{matched:!1,outScore:g};let f=!1,i=[],l=0,a=!0;for(;o<t.length&&n<e.length;){if(t[o].toLowerCase()===e[n].toLowerCase()){if(h>=v)return{matched:!1,outScore:g};a&&r&&(p=[...r],a=!1);const y=[],c=st(t,e,o,n+1,p,y,v,h,s,d),_=c.outScore;c.matched&&((!f||_>l)&&(i=[...y],l=_),f=!0),p[h++]=n,++o}++n}const m=o===t.length;if(m){g=100;let y=Mt*p[0];y=y<Ye?Ye:y,g+=y;const c=e.length-h;g+=Ot*c;for(let _=0;_<h;_++){const u=p[_];if(_>0){const T=p[_-1];u===T+1&&(g+=At)}if(u>0){const T=e[u-1],b=e[u];T!==T.toUpperCase()&&b!==b.toLowerCase()&&(g+=Lt),(T==="_"||T===" ")&&(g+=Et)}else g+=Rt}return f&&(!m||l>g)?(p=[...i],g=l,{matched:!0,outScore:g}):m?{matched:!0,outScore:g}:{matched:!1,outScore:g}}return{matched:!1,outScore:g}}function Pt(t,e){if(t.hasOwnProperty(e))return t[e];const o=e.split(".");let n=t,r=0;for(;n&&r<o.length;)n=n[o[r]],r++;return n}function Bt(t,e,o){const n=e.reduce((r,p)=>{let v=[];o.forEach(({key:s,weight:d})=>{const g=Pt(p,s);Array.isArray(g)?v=v.concat(g.map(f=>({value:f,weight:d}))):typeof g=="string"&&v.push({value:g,weight:d})});const h=v.reduce((s,{value:d,weight:g})=>{if(!Vt(t,d))return s;const f=Dt(t,d);f.outScore*=g;const{matched:i,outScore:l}=f;return!s&&i||i&&s&&l>s.outScore?f:s},null);return h&&r.push({score:h.outScore,item:p}),r},[]);return n.sort((r,p)=>p.score-r.score),n}const Ht=H({name:"SlideTransition"});function Ut(t,e,o,n,r,p){return k(),L(Xe,{name:"slide"},{default:A(()=>[X(t.$slots,"default",{},void 0,!0)]),_:3})}const Kt=U(Ht,[["render",Ut],["__scopeId","data-v-88e2114c"]]),xt="data-keyboard-nav-id",We=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Enter","Escape","Tab"],q=ot("nodeCreatorKeyboardNavigation",()=>{const t=G([]),e=G(null),o=G({});function n(y){return y==null?void 0:y.getAttribute("data-keyboard-nav-type")}function r(y){return(y==null?void 0:y.getAttribute(xt))||void 0}async function p(){return new Promise(y=>{a(),setTimeout(()=>{t.value=Array.from(document.querySelectorAll("[data-keyboard-nav-type]")).map(c=>new WeakRef(c)),y()},0)})}function v(y,c){Object.values(o.value).filter(T=>T.keyboardKeys.includes(y)).forEach(T=>{if(!e.value)return;(T.condition===void 0||T.condition(n(c)||"",e.value))&&e.value&&T.handler(e.value,y)})}async function h(y){var N,C,D;const c=y.key;if(!We.includes(c))return;y.preventDefault(),y.stopPropagation(),await p();const _=t.value.findIndex(P=>r(P==null?void 0:P.deref())===e.value),u=(N=t.value[_])==null?void 0:N.deref(),T=c==="ArrowDown",b=c==="ArrowUp";if(u){if(T){const P=_<t.value.length-1?_+1:0;d((C=t.value[P])==null?void 0:C.deref())}if(b){const P=_>0?_-1:t.value.length-1;d((D=t.value[P])==null?void 0:D.deref())}v(c,u)}}function s(y){e.value=y}function d(y){const c=r(y);c&&(s(c),y!=null&&y.scrollIntoView&&(y==null||y.scrollIntoView({block:"center"})))}async function g(y){var c;await p(),d((c=t.value[y])==null?void 0:c.deref())}function f(){document.addEventListener("keydown",h,{capture:!0})}function i(){a(),document.removeEventListener("keydown",h,{capture:!0})}function l(y,c){c.keyboardKeys.forEach(_=>{if(We.includes(_))o.value={...o.value,[y]:c};else throw new Error(`Key ${_} is not supported`)})}function a(){t.value=[]}function m(){return t.value.findIndex(y=>r(y==null?void 0:y.deref())===e.value)}return{activeItemId:e,attachKeydownEvent:f,refreshSelectableItems:p,detachKeydownEvent:i,registerKeyHook:l,getActiveItemIndex:m,setActiveItemId:s,setActiveItemIndex:g}});function ee(t,e,o="node"){var r,p,v;const n={uuid:Ae(),key:t.name,subcategory:e??((v=(p=(r=t.codex)==null?void 0:r.subcategories)==null?void 0:p[Y])==null?void 0:v[0])??oe,properties:{...t},type:o};return n}function zt(t){return t.reduce((e,o)=>{var p,v,h,s;return(((v=(p=o.codex)==null?void 0:p.categories)==null?void 0:v.includes(Y))?((s=(h=o==null?void 0:o.codex)==null?void 0:h.subcategories)==null?void 0:s[Y])??[]:[oe]).forEach(d=>{e[d]||(e[d]=[]),e[d].push(ee(o,d))}),e},{})}function at(t){return t.sort((e,o)=>{var p,v,h,s;if(e.type!=="node"||o.type!=="node")return-1;const n=((v=(p=e.properties)==null?void 0:p.displayName)==null?void 0:v.toLowerCase())||e.key,r=((s=(h=o.properties)==null?void 0:h.displayName)==null?void 0:s.toLowerCase())||o.key;return n.localeCompare(r,void 0,{sensitivity:"base"})})}function Ge(t,e){const o=t.toLowerCase().replace("trigger","").trimEnd();return(Bt(o,e,[{key:"properties.displayName",weight:1.3},{key:"properties.codex.alias",weight:1}])||[]).map(({item:r})=>r)}const V=ot("nodeCreatorViewStacks",()=>{const t=j(),{getActiveItemIndex:e}=q(),o=G([]),n=$(()=>{const a=o.value[o.value.length-1];if(!(a!=null&&a.baselineItems))return a.items?d(a.items):[];if(a.search&&v.value){const m=v.value.length>0?v.value:a.baselineItems;return d(Ge(a.search||"",m))}return d(a.baselineItems)}),r=$(()=>{const a=o.value[o.value.length-1];return a?{...a,items:n.value,hasSearch:(a.baselineItems||[]).length>8||(a==null?void 0:a.hasSearch)}:{}}),p=$(()=>r.value.mode||F),v=$(()=>{const a=o.value[o.value.length-1];return!a||!a.searchItems?[]:a.searchItems.map(m=>ee(m,a.subcategory))}),h=$(()=>{const a=o.value[o.value.length-1];if(!a||!a.search)return[];const m=t.mergedNodes.map(c=>ee(c));return d(Ge(a.search||"",m)).filter(c=>!n.value.find(_=>_.key===c.key))});function s(){const a=o.value[o.value.length-1];if(!a||!r.value.uuid)return;const m=zt(t.mergedNodes);let y=(a==null?void 0:a.items)??m[(a==null?void 0:a.subcategory)??oe]??[];if((a.forceIncludeNodes??[]).length>0){const c=t.mergedNodes.filter(_=>{var u;return(u=a.forceIncludeNodes)==null?void 0:u.includes(_.name)}).map(_=>ee(_,a.subcategory));y.push(...c)}a.baseFilter&&(y=y.filter(a.baseFilter)),a.itemsMapper&&(y=y.map(a.itemsMapper)),a.items||at(y),i({baselineItems:y})}function d(a){return a.map(m=>({...m,uuid:`${m.key}-${Ae()}`}))}function g(a){r.value.uuid&&i({activeIndex:e()});const m=Ae();o.value.push({...a,uuid:m,transitionDirection:"in",activeIndex:0}),s()}function f(){r.value.uuid&&(o.value.pop(),i({transitionDirection:"out"}))}function i(a){const m=o.value[o.value.length-1],y=o.value.findIndex(c=>c.uuid===m.uuid);m&&Object.keys(a).forEach(c=>{const _=c;o.value[y]={...o.value[y],[c]:a[_]}})}function l(){o.value=[]}return{viewStacks:o,activeViewStack:r,activeViewStackMode:p,globalSearchItemsDiff:h,resetViewStacks:l,updateCurrentViewStack:i,pushViewStack:g,popViewStack:f}}),rt="placeholder_recommended";function Yt(...t){return yt.baseText(...t)}const te=It(Yt,(...t)=>JSON.stringify(t)),Ce={"n8n-nodes-base.hubspotTrigger":(t,e)=>{var n,r,p;const o=(n=t==null?void 0:t.options)==null?void 0:n[0];return(p=(r=o==null?void 0:o.values[0])==null?void 0:r.options)==null?void 0:p.map(v=>({...ie(e),actionKey:v.value,displayName:te("nodeCreator.actionsCategory.onEvent",{interpolate:{event:Te(v.name)}}),description:v.description||"",displayOptions:t.displayOptions,values:{eventsUi:{eventValues:[{name:v.value}]}}}))}};function ie(t,e){const o=t.group.includes("trigger"),n=te(o?"nodeCreator.actionsCategory.triggers":"nodeCreator.actionsCategory.actions");return{name:t.name,group:t.group,codex:{label:e||"",categories:[n]},iconUrl:t.iconUrl,icon:t.icon,defaults:t.defaults}}function Wt(t){if(t.properties.find(r=>r.name==="resource"))return[];const e=t.properties.find(r=>{var p;return((p=r.name)==null?void 0:p.toLowerCase())==="operation"});if(!e||!e.options)return[];const n=e.options.filter(r=>!["*",""," "].includes(r.name)).map(r=>({...ie(t),actionKey:r.value,displayName:r.action??Te(r.name),description:r.description??"",displayOptions:e.displayOptions,values:{[e.name]:e.type==="multiOptions"?[r.value]:r.value}}));return n.length===0?[]:n}function Gt(t){var h,s;const e=["event","events","trigger on"],o=(h=t.displayName)==null?void 0:h.toLowerCase().includes("trigger"),n=t.properties.find(d=>{var g;return e.includes((g=d.displayName)==null?void 0:g.toLowerCase())});if(!o)return[];if(!n||!n.options)return[{...ie(t),actionKey:rt,displayName:te("nodeCreator.actionsCategory.onNewEvent",{interpolate:{event:t.displayName.replace("Trigger","").trimEnd()}}),description:""}];const r=n.options.filter(d=>!["*",""," "].includes(d.name));return((s=Ce[t.name])==null?void 0:s.call(Ce,n,t))??r.map(d=>({...ie(t),actionKey:d.value,displayName:d.action??te("nodeCreator.actionsCategory.onEvent",{interpolate:{event:Te(d.name)}}),description:d.description||"",displayOptions:n.displayOptions,values:{[n.name]:n.type==="multiOptions"?[d.value]:d.value}}))}function jt(t){const e=[];return t.properties.filter(n=>{var r;return((r=n.displayName)==null?void 0:r.toLowerCase())==="resource"}).forEach(n=>{(n.options||[]).filter(r=>r.value!==de).forEach((r,p,v)=>{const h=v.length===1,s=t.properties.find(g=>{var f,i,l;return g.name==="operation"&&(((l=(i=(f=g.displayOptions)==null?void 0:f.show)==null?void 0:i.resource)==null?void 0:l.includes(r.value))||h)});if(!(s!=null&&s.options))return;const d=(s.options||[]).map(g=>{var l;const f=g.action??`${r.name} ${Te(g.name)}`,i=h?{show:{resource:[(l=v[0])==null?void 0:l.value]}}:s==null?void 0:s.displayOptions;return{...ie(t,`${r.name} ${te("nodeCreator.actionsCategory.actions")}`),actionKey:g.value,description:(g==null?void 0:g.description)??"",displayOptions:i,values:{operation:(s==null?void 0:s.type)==="multiOptions"?[g.value]:g.value},displayName:f,group:["trigger"]}});e.push(...d)})}),e}function Ft(){function t(r){return r?[...Gt(r),...Wt(r),...jt(r)]:[]}function e(r){return r.length<=1?[]:r.filter((p,v,h)=>{if(p.actionKey===de)return!1;const d=p.actionKey===rt;return!d||d&&h.length>1})}function o(r){const{displayName:p,defaults:v,description:h,name:s,group:d,icon:g,iconUrl:f,codex:i}=r;return{displayName:p,defaults:v,description:h,name:s,group:d,icon:g,iconUrl:f,codex:i}}function n(r){const p=[...r],v={},h=[];return p.filter(s=>!s.group.includes("trigger")).forEach(s=>{const d=t(s);v[s.name]=d,h.push(o(s))}),p.filter(s=>s.group.includes("trigger")).forEach(s=>{const d=s.name.replace("Trigger",""),g=t(s),f=(v==null?void 0:v[d])||[],i=h.find(l=>l.name===d);if(i&&(f==null?void 0:f.length)>0){const l=e([...f,...g]);v[d]=l,i.description=s.description}else v[s.name]=e(g),h.push(o(s))}),{actions:v,mergedNodes:h}}return{generateMergedNodesAndActions:n}}function it(){const t=ne();return{value:F,title:t.baseText("nodeCreator.triggerHelperPanel.selectATrigger"),subtitle:t.baseText("nodeCreator.triggerHelperPanel.selectATriggerDescription"),items:[{key:oe,type:"subcategory",properties:{forceIncludeNodes:[Q,ft],title:"App Trigger Nodes",icon:"satellite-dish"}},{key:$e,type:"node",category:[Y],properties:{group:[],name:$e,displayName:t.baseText("nodeCreator.triggerHelperPanel.scheduleTriggerDisplayName"),description:t.baseText("nodeCreator.triggerHelperPanel.scheduleTriggerDescription"),icon:"fa:clock"}},{key:Q,type:"node",category:[Y],properties:{group:[],name:Q,displayName:t.baseText("nodeCreator.triggerHelperPanel.webhookTriggerDisplayName"),description:t.baseText("nodeCreator.triggerHelperPanel.webhookTriggerDescription"),iconData:{type:"file",icon:"webhook",fileBuffer:"/static/webhook-icon.svg"}}},{key:Ne,type:"node",category:[Y],properties:{group:[],name:Ne,displayName:t.baseText("nodeCreator.triggerHelperPanel.manualTriggerDisplayName"),description:t.baseText("nodeCreator.triggerHelperPanel.manualTriggerDescription"),icon:"fa:mouse-pointer"}},{key:Be,type:"node",category:[Y],properties:{group:[],name:Be,displayName:t.baseText("nodeCreator.triggerHelperPanel.workflowTriggerDisplayName"),description:t.baseText("nodeCreator.triggerHelperPanel.workflowTriggerDescription"),icon:"fa:sign-out-alt"}},{type:"subcategory",key:He,category:Y,properties:{title:He,icon:"folder-open"}}]}}function ct(){const t=ne();return{value:Le,title:t.baseText("nodeCreator.triggerHelperPanel.whatHappensNext"),items:[{key:oe,type:"subcategory",properties:{title:"App Regular Nodes",icon:"globe"}},{type:"subcategory",key:Ue,category:Y,properties:{title:Ue,icon:"pen"}},{type:"subcategory",key:Ke,category:Y,properties:{title:Ke,icon:"toolbox"}},{type:"subcategory",key:xe,category:Y,properties:{title:xe,icon:"code-branch"}},{type:"subcategory",key:ze,category:Y,properties:{title:ze,icon:"file-alt"}},{key:F,type:"view",properties:{title:t.baseText("nodeCreator.triggerHelperPanel.addAnotherTrigger"),icon:"bolt",description:t.baseText("nodeCreator.triggerHelperPanel.addAnotherTriggerDescription")}}]}}const qt=["placeholder","value"],Xt=H({__name:"SearchBar",props:{placeholder:{default:""},modelValue:{default:""}},emits:["update:modelValue"],setup(t,{expose:e,emit:o}){const n=Re({inputRef:null});function r(){var s;(s=n.inputRef)==null||s.focus()}function p(s){const d=s.target;o("update:modelValue",d.value)}function v(){o("update:modelValue","")}ve(()=>{ue("nodeCreator_searchBar.mount",pe(),{inputRef:n.inputRef}),setTimeout(r,0)}),Ze(()=>{var s;(s=n.inputRef)==null||s.remove()});const{inputRef:h}=Me(n);return e({focus:r}),(s,d)=>{const g=B("font-awesome-icon");return k(),R("div",{class:w(s.$style.searchContainer),"data-test-id":"search-bar"},[I("div",{class:w({[s.$style.prefix]:!0,[s.$style.active]:s.modelValue.length>0})},[O(g,{icon:"search",size:"sm"})],2),I("div",{class:w(s.$style.text)},[I("input",{placeholder:s.placeholder,value:s.modelValue,class:w(s.$style.input),ref_key:"inputRef",ref:h,autofocus:"","data-test-id":"node-creator-search-bar",tabindex:"0",onInput:p},null,42,qt)],2),s.modelValue.length>0?(k(),R("div",{key:0,class:w(s.$style.suffix),onClick:v},[I("button",{class:w([s.$style.clear,s.$style.clickable])},[O(g,{icon:"times-circle"})],2)],2)):M("",!0)],2)}}}),Zt="_searchContainer_1wh9v_5",Qt="_prefix_1wh9v_21",Jt="_active_1wh9v_26",eo="_text_1wh9v_30",to="_suffix_1wh9v_46",oo="_clear_1wh9v_52",no={searchContainer:Zt,prefix:Qt,active:Jt,text:eo,suffix:to,clear:oo},so={$style:no},ao=U(Xt,[["__cssModules",so]]),be=()=>{const t=j(),e=_e(),o=$(()=>({actions:(e==null?void 0:e.proxy.$locale.baseText("nodeCreator.actionsCategory.actions"))??"",triggers:(e==null?void 0:e.proxy.$locale.baseText("nodeCreator.actionsCategory.triggers"))??""}));function n(f){const i=[Q,$e];return t.mergedNodes.filter(a=>i.some(m=>m===a.name)).map(a=>{const m=ee(a,f,"action");if(m.type==="action"){const c=`nodeCreator.actionsPlaceholderNode.${a.name.replace("n8n-nodes-base.","")}`,_=e==null?void 0:e.proxy.$locale.baseText(c);_!==c&&(m.properties.displayName=_)}return m})}function r(f,i){return f.filter(l=>l.type==="action"&&l.properties.codex.categories.includes(i))}function p(f){var y,c,_,u;const i=at([...f]),l=new Set;for(const T of i){if(T.type!=="action")continue;const b=(c=(y=T.properties)==null?void 0:y.codex)==null?void 0:c.label;l.add(b)}if(l.size<=1)return i;const a=new Map;for(let T=0;T<i.length;T++){const b=i[T];if(b.type!=="action")continue;const N=(u=(_=b.properties)==null?void 0:_.codex)==null?void 0:u.label;a.has(N)||a.set(N,T)}let m=0;for(const T of l){const b={uuid:T,type:"label",key:T,subcategory:i[0].key,properties:{key:T}},N=a.get(T)+m;i.splice(N,0,b),m++}return i}function v(f,i,l=!0){const a=r(f,i);return l?p(a):a}function h(f){const i=f.displayOptions,l=Object.keys((i==null?void 0:i.show)||{}).reduce((a,m)=>{var y,c;return a[m]=(c=(y=i==null?void 0:i.show)==null?void 0:y[m])==null?void 0:c[0],a},{});return{name:f.displayName,key:f.name,value:{...f.values,...l}}}function s(f){if(!f)return[];const{selectedView:i,openSource:l}=j(),{workflowTriggerNodes:a}=Se(),m=je().isTriggerNode(f),y=a.length>0,c=i===F,_=f===mt;return![ke.PLUS_ENDPOINT,ke.NODE_CONNECTION_ACTION,ke.NODE_CONNECTION_DROP].includes(l)&&!m&&!y&&c&&!_?[Ne,f]:[f]}function d(f,i,l=""){const{$onAction:a}=Se(),m=a(({name:y,after:c,store:{setLastNodeParameters:_},args:u})=>{y!=="addNode"||u[0].type!==f.key||c(()=>{_(f),i&&g(f,i,l),m()})});return m}function g(f,i,l){const a={node_type:f.key,action:f.name,source_mode:l.toLowerCase(),resource:f.value.resource||""};ue("nodeCreateList.addAction",pe(),a),i==null||i.trackNodesPanel("nodeCreateList.addAction",a)}return{actionsCategoryLocales:o,getPlaceholderTriggerActions:n,parseCategoryActions:v,getNodeTypesWithManualTrigger:s,getActionData:h,setAddedNodeActionParameters:d}},ro=["innerHTML"],io=H({__name:"NodeItem",props:{nodeType:{},subcategory:{},active:{type:Boolean,default:!1}},setup(t){const e=t,o=ne(),n=qe(),{actions:r}=j(),{getNodeTypesWithManualTrigger:p}=be(),v=G(!1),h=G({x:-100,y:-100}),s=G(null),d=$(()=>o.headerText({key:`headers.${a.value}.description`,fallback:e.nodeType.description})),g=$(()=>i.value),f=$(()=>i.value?"node-creator-action-item":"node-creator-node-item"),i=$(()=>l.value.length>1),l=$(()=>r[e.nodeType.name]||[]),a=$(()=>o.shortNodeType(e.nodeType.name)||""),m=$(()=>({top:`${h.value.y}px`,left:`${h.value.x}px`})),y=$(()=>vt(e.nodeType.name)),c=$(()=>{const C=e.nodeType.displayName.trimEnd();return o.headerText({key:`headers.${a.value}.displayName`,fallback:i.value?C.replace("Trigger",""):C})}),_=$(()=>e.nodeType.group.includes("trigger")&&!i.value);function u(C){document.body.addEventListener("dragover",T);const{pageX:D,pageY:P}=C;C.dataTransfer&&(C.dataTransfer.effectAllowed="copy",C.dataTransfer.dropEffect="copy",C.dataTransfer.setDragImage(s.value,0,0),C.dataTransfer.setData("nodeTypeName",p(e.nodeType.name).join(","))),v.value=!0,h.value={x:D,y:P}}function T(C){if(!v.value||C.pageX===0&&C.pageY===0)return;const[D,P]=Fe([],[C.pageX-ye/2,C.pageY-ye/2]);h.value={x:D,y:P}}function b(C){document.body.removeEventListener("dragover",T),v.value=!1,setTimeout(()=>{h.value={x:-100,y:-100}},300)}function N(C){C.target.localName==="a"&&n.track("user clicked cnr docs link",{source:"nodes panel node"})}return(C,D)=>{const P=B("n8n-node-creator-node");return k(),L(P,{draggable:!g.value,onDragstart:u,onDragend:b,class:w(C.$style.nodeItem),description:C.subcategory!==K(oe)?d.value:"",title:c.value,"show-action-arrow":g.value,"is-trigger":_.value,"data-test-id":f.value},fe({icon:A(()=>[O(ge,{nodeType:C.nodeType},null,8,["nodeType"])]),dragContent:A(()=>[I("div",{class:w(C.$style.draggableDataTransfer),ref_key:"draggableDataTransfer",ref:s},null,2),Qe(I("div",{class:w(C.$style.draggable),style:Oe(m.value)},[O(ge,{nodeType:C.nodeType,onClickCapture:D[0]||(D[0]=he(()=>{},["stop"])),size:40,shrink:!1},null,8,["nodeType"])],6),[[Je,v.value]])]),_:2},[y.value?{name:"tooltip",fn:A(()=>[I("p",{class:w(C.$style.communityNodeIcon),innerHTML:K(o).baseText("generic.communityNode.tooltip",{interpolate:{packageName:C.nodeType.name.split(".")[0],docURL:K(_t)}}),onClick:N},null,10,ro)]),key:"0"}:void 0]),1032,["draggable","class","description","title","show-action-arrow","is-trigger","data-test-id"])}}}),co="_nodeItem_nbf3g_5",lo="_communityNodeIcon_nbf3g_13",uo="_draggable_nbf3g_17",po="_draggableDataTransfer_nbf3g_31",go={nodeItem:co,communityNodeIcon:lo,draggable:uo,draggableDataTransfer:po},yo={$style:go},fo=U(io,[["__cssModules",yo]]),mo=H({__name:"SubcategoryItem",props:{item:{}},setup(t){const e=t,o=ne(),n=$(()=>nt(e.item.subcategory||e.item.title));return(r,p)=>{const v=B("n8n-node-icon"),h=B("n8n-node-creator-node");return k(),L(h,{class:w(r.$style.subCategory),title:K(o).baseText(`nodeCreator.subcategoryNames.${n.value}`),isTrigger:!1,description:K(o).baseText(`nodeCreator.subcategoryDescriptions.${n.value}`),showActionArrow:!0},{icon:A(()=>[O(v,{type:"icon",name:r.item.icon,circle:!1,showTooltip:!1},null,8,["name"])]),_:1},8,["class","title","description"])}}}),vo="_subCategory_1js79_5",_o={subCategory:vo},ho={$style:_o},To=U(mo,[["__cssModules",ho]]),bo=["textContent"],wo=H({__name:"LabelItem",props:{item:{}},setup(t){return(e,o)=>(k(),R("div",{class:w(e.$style.label)},[I("span",{class:w(e.$style.name),textContent:W(e.item.key)},null,10,bo)],2))}}),ko="_label_92wv5_5",Co={label:ko},$o={$style:Co},No=U(wo,[["__cssModules",$o]]),So=H({__name:"ActionItem",props:{nodeType:{},action:{}},setup(t){const e=t,o=_e(),n=o==null?void 0:o.proxy.$telemetry,{getActionData:r,getNodeTypesWithManualTrigger:p,setAddedNodeActionParameters:v}=be(),{activeViewStack:h}=V(),s=Re({dragging:!1,draggablePosition:{x:-100,y:-100},storeWatcher:null,draggableDataTransfer:null}),d=$(()=>({top:`${s.draggablePosition.y}px`,left:`${s.draggablePosition.x}px`})),g=$(()=>r(e.action)),f=c=>{var _;return((_=c.name)==null?void 0:_.toLowerCase().includes("trigger"))||c.name===Q};function i(c){var T;document.body.addEventListener("dragover",l);const{pageX:_,pageY:u}=c;c.dataTransfer&&(c.dataTransfer.effectAllowed="copy",c.dataTransfer.dropEffect="copy",c.dataTransfer.setDragImage(s.draggableDataTransfer,0,0),c.dataTransfer.setData("nodeTypeName",p((T=g.value)==null?void 0:T.key).join(",")),n&&(s.storeWatcher=v(g.value,n,h.rootView)),document.body.addEventListener("dragend",a)),s.dragging=!0,s.draggablePosition={x:_,y:u}}function l(c){if(!s.dragging||c.pageX===0&&c.pageY===0)return;const[_,u]=Fe([],[c.pageX-ye/2,c.pageY-ye/2]);s.draggablePosition={x:_,y:u}}function a(c){s.storeWatcher&&s.storeWatcher(),document.body.removeEventListener("dragend",a),document.body.removeEventListener("dragover",l),s.dragging=!1,setTimeout(()=>{s.draggablePosition={x:-100,y:-100}},300)}const{draggableDataTransfer:m,dragging:y}=Me(s);return(c,_)=>{const u=B("n8n-node-creator-node");return k(),L(u,{onDragstart:i,onDragend:a,draggable:"",class:w(c.$style.action),title:c.action.displayName,isTrigger:f(c.action),"data-keyboard-nav":"true"},{dragContent:A(()=>[I("div",{class:w(c.$style.draggableDataTransfer),ref_key:"draggableDataTransfer",ref:m},null,2),Qe(I("div",{class:w(c.$style.draggable),style:Oe(d.value)},[O(ge,{nodeType:c.nodeType,onClickCapture:_[0]||(_[0]=he(()=>{},["stop"])),size:40,shrink:!1},null,8,["nodeType"])],6),[[Je,K(y)]])]),icon:A(()=>[O(ge,{nodeType:c.action},null,8,["nodeType"])]),_:1},8,["class","title","isTrigger"])}}}),Io="_action_vsx3h_5",Ao="_nodeIcon_vsx3h_17",Eo="_draggable_vsx3h_21",Lo="_draggableDataTransfer_vsx3h_35",Ro={action:Io,nodeIcon:Ao,draggable:Eo,draggableDataTransfer:Lo},Mo={$style:Ro},Oo=U(So,[["__cssModules",Mo]]),Vo=H({__name:"ViewItem",props:{view:{}},setup(t){return(e,o)=>{const n=B("n8n-node-icon"),r=B("n8n-node-creator-node");return k(),L(r,{class:w(e.$style.view),title:e.view.title,isTrigger:!1,description:e.view.description,showActionArrow:!0},{icon:A(()=>[O(n,{type:"icon",name:e.view.icon,circle:!1,showTooltip:!1},null,8,["name"])]),_:1},8,["class","title","description"])}}}),Do="_view_5t09j_5",Po={view:Do},Bo={$style:Po},Ho=U(Vo,[["__cssModules",Bo]]),Uo=["data-keyboard-nav-type","data-keyboard-nav-id","onClick"],Ko={key:0},xo=20,zo=5,Yo=H({__name:"ItemsRenderer",props:{elements:{default:()=>[]},activeIndex:{},disabled:{type:Boolean},lazyRender:{type:Boolean,default:!0}},emits:["selected","dragstart","dragend"],setup(t,{emit:e}){const o=t,n=G([]),r=G(0),p=$(()=>{var i;return(i=q())==null?void 0:i.activeItemId});function v(){if(o.elements.length<=xo||o.lazyRender===!1){n.value=o.elements;return}n.value.length<o.elements.length&&(n.value.push(...o.elements.slice(n.value.length,n.value.length+zo)),r.value=window.requestAnimationFrame(v))}function h(i,l,a){o.disabled||e(i||"dragstart",l,a)}function s(i){i.style.height="0"}function d(i){i.style.height=`${i.scrollHeight}px`}function g(i){i.style.height=`${i.scrollHeight}px`}function f(i){i.style.height="0"}return ve(()=>{v()}),et(()=>{window.cancelAnimationFrame(r.value),n.value=[]}),J(()=>o.elements,()=>{window.cancelAnimationFrame(r.value),n.value=[],v()}),(i,l)=>{const a=B("n8n-loading");return i.elements.length>0?(k(),R("div",{key:0,class:w(i.$style.itemsRenderer),name:"accordion",onBeforeEnter:s,onEnter:d,onBeforeLeave:g,onLeave:f},[X(i.$slots,"default"),(k(!0),R(kt,null,Ct(i.elements,m=>(k(),R("div",{key:m.uuid,"data-test-id":"item-iterator-item",class:w({clickable:!i.disabled,[i.$style.active]:p.value===m.uuid,[i.$style.iteratorItem]:!0,[i.$style[m.type]]:!0}),ref_for:!0,ref:"iteratorItems","data-keyboard-nav-type":m.type!=="label"?m.type:void 0,"data-keyboard-nav-id":m.uuid,onClick:y=>h("selected",m)},[n.value.includes(m)?(k(),R("div",Ko,[m.type==="label"?(k(),L(No,{key:0,item:m},null,8,["item"])):M("",!0),m.type==="subcategory"?(k(),L(To,{key:1,item:m.properties},null,8,["item"])):M("",!0),m.type==="node"?(k(),L(fo,{key:2,nodeType:m.properties,active:!0,subcategory:m.subcategory},null,8,["nodeType","subcategory"])):M("",!0),m.type==="action"?(k(),L(Oo,{key:3,nodeType:m.properties,action:m.properties,active:!0},null,8,["nodeType","action"])):m.type==="view"?(k(),L(Ho,{key:4,view:m.properties,class:w(i.$style.viewItem)},null,8,["view","class"])):M("",!0)])):(k(),L(a,{key:1,loading:!0,rows:1,variant:"p",class:w(i.$style.itemSkeleton)},null,8,["class"]))],10,Uo))),128))],34)):(k(),R("div",{key:1,class:w(i.$style.empty)},[X(i.$slots,"empty")],2))}}}),Wo="_itemSkeleton_7kw47_5",Go="_iteratorItem_7kw47_9",jo="_label_7kw47_21",Fo="_category_7kw47_21",qo="_active_7kw47_24",Xo="_empty_7kw47_28",Zo="_itemsRenderer_7kw47_32",Qo="_view_7kw47_41",Jo={itemSkeleton:Wo,iteratorItem:Go,label:jo,category:Fo,active:qo,empty:Xo,itemsRenderer:Zo,view:Qo},en={$style:Jo},Ve=U(Yo,[["__cssModules",en]]),tn=["textContent"],on=H({__name:"CategoryItem",props:{expanded:{type:Boolean,default:!0},active:{type:Boolean},count:{},name:{},isTrigger:{type:Boolean}},setup(t){const e=t,o=$(()=>{const n=e.count||0;return n>0?`${e.name} (${n})`:e.name});return(n,r)=>{const p=B("font-awesome-icon");return k(),R("div",me({class:n.$style.categoryWrapper},n.$attrs,{"data-keyboard-nav":"true","data-test-id":"node-creator-category-item"}),[I("div",{class:w({[n.$style.category]:!0,[n.$style.active]:n.active})},[I("span",{class:w(n.$style.name)},[I("span",{textContent:W(o.value)},null,8,tn),n.isTrigger?(k(),L(p,{key:0,icon:"bolt",size:"xs",class:w(n.$style.triggerIcon)},null,8,["class"])):M("",!0),X(n.$slots,"default")],2),n.expanded?(k(),L(p,{key:0,icon:"chevron-down",class:w(n.$style.arrow)},null,8,["class"])):(k(),L(p,{key:1,class:w(n.$style.arrow),icon:"chevron-up"},null,8,["class"]))],2)],16)}}}),nn="_triggerIcon_jzfdi_5",sn="_category_jzfdi_10",an="_active_jzfdi_31",rn="_name_jzfdi_35",cn="_arrow_jzfdi_40",ln={triggerIcon:nn,category:sn,active:an,name:rn,arrow:cn},dn={$style:ln},un=U(on,[["__cssModules",dn]]),pn=["data-category-collapsed"],gn=["innerHTML"],yn=H({__name:"CategorizedItemsRenderer",props:{elements:{default:()=>[]},category:{},disabled:{type:Boolean},activeIndex:{},isTriggerCategory:{type:Boolean},mouseOverTooltip:{},expanded:{type:Boolean}},setup(t){const e=t,o=_e(),{popViewStack:n}=V(),{registerKeyHook:r}=q(),{workflowId:p}=Se(),v=$(()=>{var l;return(l=q())==null?void 0:l.activeItemId}),h=$(()=>e.elements.filter(({type:l})=>l==="action").length),s=G(e.expanded??!1);function d(){g(!s.value)}function g(l){s.value=l,s.value&&(o==null||o.proxy.$telemetry.trackNodesPanel("nodeCreateList.onCategoryExpanded",{category_name:e.category,workflow_id:p}))}function f(){s.value||g(!0)}function i(){if(!s.value){n();return}g(!1)}return J(()=>e.elements,()=>{g(!0)}),r(`CategoryRight_${e.category}`,{keyboardKeys:["ArrowRight"],condition:(l,a)=>l==="category"&&e.category===a,handler:f}),r(`CategoryToggle_${e.category}`,{keyboardKeys:["Enter"],condition:(l,a)=>l==="category"&&e.category===a,handler:d}),r(`CategoryLeft_${e.category}`,{keyboardKeys:["ArrowLeft"],condition:(l,a)=>l==="category"&&e.category===a,handler:i}),(l,a)=>{const m=B("n8n-icon"),y=B("n8n-tooltip");return k(),R("div",{class:w(l.$style.categorizedItemsRenderer),"data-category-collapsed":!s.value},[O(un,{class:w(l.$style.categoryItem),name:l.category,disabled:l.disabled,active:v.value===l.category,count:h.value,expanded:s.value,isTrigger:l.isTriggerCategory,"data-keyboard-nav-type":"category","data-keyboard-nav-id":l.category,onClick:d},{default:A(()=>[l.mouseOverTooltip?(k(),R("span",{key:0,class:w(l.$style.mouseOverTooltip)},[O(y,{placement:"top","popper-class":l.$style.tooltipPopper},{content:A(()=>[I("div",{innerHTML:l.mouseOverTooltip},null,8,gn)]),default:A(()=>[O(m,{icon:"question-circle",size:"small"})]),_:1},8,["popper-class"])],2)):M("",!0)]),_:1},8,["class","name","disabled","active","count","expanded","isTrigger","data-keyboard-nav-id"]),s.value&&h.value>0&&l.$slots.default?(k(),R("div",{key:0,class:w(l.$style.contentSlot)},[X(l.$slots,"default")],2)):M("",!0),s.value?(k(),L(Ve,me({key:1},l.$attrs,{elements:l.elements,isTrigger:l.isTriggerCategory}),{default:A(()=>[]),empty:A(()=>[X(l.$slots,"empty",tt($t({elements:l.elements})))]),_:3},16,["elements","isTrigger"])):M("",!0)],10,pn)}}}),fn="_mouseOverTooltip_1c8m2_5",mn="_categorizedItemsRenderer_1c8m2_12",vn="_tooltipPopper_1c8m2_16",_n="_contentSlot_1c8m2_20",hn={mouseOverTooltip:fn,categorizedItemsRenderer:mn,tooltipPopper:vn,contentSlot:_n},Tn={$style:hn},Ee=U(yn,[["__cssModules",Tn]]),bn=["innerHTML"],wn=["innerHTML"],kn=["innerHTML"],Cn=["innerHTML"],$n=["onClick","innerHTML"],Nn=H({__name:"ActionsMode",emits:{nodeTypeSelected:t=>!0},setup(t,{emit:e}){const o=_e(),n=o==null?void 0:o.proxy.$telemetry,{userActivated:r}=ht(),{popViewStack:p,updateCurrentViewStack:v}=V(),{registerKeyHook:h}=q(),{getNodeTypesWithManualTrigger:s,setAddedNodeActionParameters:d,getActionData:g,getPlaceholderTriggerActions:f,parseCategoryActions:i,actionsCategoryLocales:l}=be(),a=$(()=>ce(u.value,l.value.triggers,!1)),m=$(()=>ce(u.value,l.value.actions,!T.value)),y=$(()=>ce(V().activeViewStack.baselineItems||[],l.value.triggers,!1)),c=$(()=>ce(V().activeViewStack.baselineItems||[],l.value.actions,!T.value)),_=$(()=>a.value.length||T.value?l.value.triggers:`${l.value.triggers} (${C.length})`),u=$(()=>(V().activeViewStack.items||[]).filter(S=>S.properties.actionKey!==de)),T=$(()=>V().activeViewStack.search),b=$(()=>V().activeViewStack.subcategory),N=$(()=>V().activeViewStack.rootView),C=f(b.value||""),D=$(()=>i(V().activeViewStack.baselineItems||[],l.value.triggers,!T.value).length===0),P=$(()=>(V().activeViewStack.baselineItems||[]).some(x=>(x.properties.actionKey??"")===de)===!0),Z=$(()=>N.value===F);h("ActionsKeyRight",{keyboardKeys:["ArrowRight","Enter"],condition:S=>S==="action",handler:dt}),h("ActionsKeyLeft",{keyboardKeys:["ArrowLeft"],condition:S=>S==="action",handler:lt});function ce(S,E,x=!1){return i(S,E,x)}function lt(){p()}function dt(S){const x=[...u.value,...C].find(z=>z.uuid===S);x&&le(x)}function le(S){const E=g(S.properties);if(C.some(z=>z.key===S.key)&&Z.value){const z=u.value[0].key;e("nodeTypeSelected",[E.key,z])}else e("nodeTypeSelected",s(E.key));n&&d(E,n,N.value)}function ut(){var se,ae,Pe;const S=V().activeViewStack,E=(se=S.baselineItems||[])==null?void 0:se.filter(we=>we.key.toLowerCase().includes("trigger")).length,z={app_identifier:[...u.value,...C][0].key,actions:(ae=S.baselineItems||[])==null?void 0:ae.map(we=>we.properties.displayName),regular_action_count:((Pe=S.baselineItems||[])==null?void 0:Pe.length)-E,trigger_action_count:E};ue("nodeCreateList.onViewActions",pe(),z),n==null||n.trackNodesPanel("nodeCreateList.onViewActions",z)}function De(){v({search:""})}function pt(){const S={name:"",key:Ie,value:{authentication:"predefinedCredentialType"}};e("nodeTypeSelected",[Ie]),n&&d(S);const E=u.value[0].key;ue("nodeCreateList.onActionsCustmAPIClicked",pe(),{app_identifier:E}),n==null||n.trackNodesPanel("nodeCreateList.onActionsCustmAPIClicked",{app_identifier:E})}const gt=H({props:{rootView:{type:String}},setup(S,{slots:E}){return()=>{var x,z,se,ae;return Nt("div",{},S.rootView===Le?[(x=E.actions)==null?void 0:x.call(E),(z=E.triggers)==null?void 0:z.call(E)]:[(se=E.triggers)==null?void 0:se.call(E),(ae=E.actions)==null?void 0:ae.call(E)])}}});return ve(()=>{ut()}),(S,E)=>{const x=B("n8n-callout"),z=B("n8n-info-tip");return k(),R("div",{class:w(S.$style.container)},[O(K(gt),{rootView:N.value},fe({_:2},[Z.value||y.value.length!==0?{name:"triggers",fn:A(()=>[O(Ee,{elements:a.value,category:_.value,mouseOverTooltip:S.$locale.baseText("nodeCreator.actionsTooltip.triggersStartWorkflow"),isTriggerCategory:"",expanded:Z.value||m.value.length===0,onSelected:le},fe({_:2},[D.value?{name:"empty",fn:A(()=>[D.value?(k(),L(x,{key:0,theme:"info",iconless:"",slim:"","data-test-id":"actions-panel-no-triggers-callout"},{default:A(()=>[I("span",{innerHTML:S.$locale.baseText("nodeCreator.actionsCallout.noTriggerItems",{interpolate:{nodeName:b.value}})},null,8,bn)]),_:1})):M("",!0),O(Ve,{onSelected:le,elements:K(C)},null,8,["elements"])]),key:"0"}:{name:"empty",fn:A(()=>[I("p",{class:w(S.$style.resetSearch),innerHTML:S.$locale.baseText("nodeCreator.actionsCategory.noMatchingTriggers"),onClick:De},null,10,["innerHTML"])]),key:"1"}]),1032,["elements","category","mouseOverTooltip","expanded"])]),key:"0"}:void 0,!Z.value||c.value.length!==0?{name:"actions",fn:A(()=>[O(Ee,{elements:m.value,category:K(l).actions,mouseOverTooltip:S.$locale.baseText("nodeCreator.actionsTooltip.actionsPerformStep"),expanded:!Z.value||a.value.length===0,onSelected:le},{empty:A(()=>[T.value?(k(),R("p",{key:1,class:w(S.$style.resetSearch),innerHTML:S.$locale.baseText("nodeCreator.actionsCategory.noMatchingActions"),onClick:De,"data-test-id":"actions-panel-no-matching-actions"},null,10,Cn)):(k(),L(z,{key:0,theme:"info",type:"note",class:w(S.$style.actionsEmpty)},{default:A(()=>[I("span",{innerHTML:S.$locale.baseText("nodeCreator.actionsCallout.noActionItems",{interpolate:{nodeName:b.value}})},null,8,kn)]),_:1},8,["class"]))]),default:A(()=>[!K(r)&&Z.value?(k(),L(x,{key:0,theme:"info",iconless:"",slim:"","data-test-id":"actions-panel-activation-callout"},{default:A(()=>[I("span",{innerHTML:S.$locale.baseText("nodeCreator.actionsCallout.triggersStartWorkflow")},null,8,wn)]),_:1})):M("",!0)]),_:1},8,["elements","category","mouseOverTooltip","expanded"])]),key:"1"}:void 0]),1032,["rootView"]),P.value?(k(),R("div",{key:0,class:w(S.$style.apiHint)},[I("span",{onClick:he(pt,["prevent"]),innerHTML:S.$locale.baseText("nodeCreator.actionsList.apiCall",{interpolate:{node:b.value}})},null,8,$n)],2)):M("",!0)],2)}}}),Sn="_container_1tz2w_5",In="_resetSearch_1tz2w_11",An="_actionsEmpty_1tz2w_25",En="_apiHint_1tz2w_33",Ln={container:Sn,resetSearch:In,actionsEmpty:An,apiHint:En},Rn={$style:Ln},Mn=U(Nn,[["__cssModules",Rn]]),On={},Vn={width:"75px",height:"75px",viewBox:"0 0 75 75",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Dn=St('<title>no-nodes-keyart</title><g id="Nodes-panel-prototype-V2.1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="nodes-panel-(component)" transform="translate(-2085.000000, -352.000000)"><g id="nodes_panel" transform="translate(1880.000000, 151.000000)"><g id="Panel" transform="translate(50.000000, 0.000000)"><g id="Group-3" transform="translate(105.000000, 171.000000)"><g id="no-nodes-keyart" transform="translate(50.000000, 30.000000)"><rect id="Rectangle" x="0" y="0" width="75" height="75"></rect><g id="Group" transform="translate(6.562500, 8.164062)" fill="#C4C8D1" fill-rule="nonzero"><polygon id="Rectangle" transform="translate(49.192016, 45.302553) rotate(-45.000000) translate(-49.192016, -45.302553) " points="44.5045606 32.0526802 53.8794707 32.0526802 53.8794707 58.5524261 44.5045606 58.5524261"></polygon><path d="M48.125,23.0859375 C54.15625,23.0859375 59.0625,18.1796875 59.0625,12.1484375 C59.0625,10.3359375 58.5625,8.6484375 57.78125,7.1484375 L49.34375,15.5859375 L44.6875,10.9296875 L53.125,2.4921875 C51.625,1.7109375 49.9375,1.2109375 48.125,1.2109375 C42.09375,1.2109375 37.1875,6.1171875 37.1875,12.1484375 C37.1875,13.4296875 37.4375,14.6484375 37.84375,15.7734375 L32.0625,21.5546875 L26.5,15.9921875 L28.71875,13.7734375 L24.3125,9.3671875 L30.9375,2.7421875 C27.28125,-0.9140625 21.34375,-0.9140625 17.6875,2.7421875 L6.625,13.8046875 L11.03125,18.2109375 L2.21875,18.2109375 L1.38777878e-15,20.4296875 L11.0625,31.4921875 L13.28125,29.2734375 L13.28125,20.4296875 L17.6875,24.8359375 L19.90625,22.6171875 L25.46875,28.1796875 L2.3125,51.3359375 L8.9375,57.9609375 L44.5,22.4296875 C45.625,22.8359375 46.84375,23.0859375 48.125,23.0859375 Z" id="Path"></path></g></g></g></g></g></g></g>',2),Pn=[Dn];function Bn(t,e){return k(),R("svg",Vn,Pn)}const Hn=U(On,[["render",Bn]]),Un=["textContent"],Kn=["textContent"],xn=H({__name:"NoResults",props:{showIcon:{type:Boolean},showRequest:{type:Boolean},rootView:{}},setup(t){return(e,o)=>{const n=B("n8n-link"),r=B("font-awesome-icon");return k(),R("div",{class:w({[e.$style.noResults]:!0,[e.$style.iconless]:!e.showIcon}),"data-test-id":"node-creator-no-results"},[e.showIcon?(k(),R("div",{key:0,class:w(e.$style.icon)},[O(Hn)],2)):M("",!0),I("div",{class:w(e.$style.title)},[X(e.$slots,"title"),I("p",{textContent:W(e.$locale.baseText("nodeCreator.noResults.weDidntMakeThatYet"))},null,8,Un),I("div",{class:w(e.$style.action)},[re(W(e.$locale.baseText("nodeCreator.noResults.dontWorryYouCanProbablyDoItWithThe"))+" ",1),e.rootView===K(Le)?(k(),L(n,{key:0,onClick:o[0]||(o[0]=p=>e.$emit("addHttpNode"))},{default:A(()=>[re(W(e.$locale.baseText("nodeCreator.noResults.httpRequest")),1)]),_:1})):M("",!0),e.rootView===K(F)?(k(),L(n,{key:1,onClick:o[1]||(o[1]=p=>e.$emit("addWebhookNode"))},{default:A(()=>[re(W(e.$locale.baseText("nodeCreator.noResults.webhook")),1)]),_:1})):M("",!0),re(" "+W(e.$locale.baseText("nodeCreator.noResults.node")),1)],2)],2),e.showRequest?(k(),R("div",{key:1,class:w(e.$style.request)},[I("p",{textContent:W(e.$locale.baseText("nodeCreator.noResults.wantUsToMakeItFaster"))},null,8,Kn),I("div",null,[O(n,{to:K(Tt)},{default:A(()=>[I("span",null,W(e.$locale.baseText("nodeCreator.noResults.requestTheNode")),1),re("  "),I("span",null,[O(r,{class:w(e.$style.external),icon:"external-link-alt",title:e.$locale.baseText("nodeCreator.noResults.requestTheNode")},null,8,["class","title"])])]),_:1},8,["to"])])],2)):M("",!0)],2)}}}),zn="_noResults_1jje6_5",Yn="_title_1jje6_18",Wn="_action_1jje6_27",Gn="_request_1jje6_28",jn="_icon_1jje6_44",Fn="_external_1jje6_50",qn={noResults:zn,title:Yn,action:Wn,request:Gn,icon:jn,external:Fn},Xn={$style:qn},Zn=U(xn,[["__cssModules",Xn]]),Qn=H({__name:"NodesMode",emits:{nodeTypeSelected:t=>!0},setup(t,{emit:e}){const o=ne(),n=qe(),{mergedNodes:r,actions:p}=j(),{baseUrl:v}=bt(),{getNodeTypesWithManualTrigger:h}=be(),{pushViewStack:s,popViewStack:d}=V(),{registerKeyHook:g}=q(),f=$(()=>V().activeViewStack),i=$(()=>V().globalSearchItemsDiff);function l(u){e("nodeTypeSelected",u.length===1?h(u[0]):u)}function a(u){var T,b;if(u.type==="subcategory"){const N=o.baseText(`nodeCreator.subcategoryNames.${nt(u.properties.title)}`);s({subcategory:u.key,title:N,mode:"nodes",rootView:f.value.rootView,forceIncludeNodes:u.properties.forceIncludeNodes,baseFilter:y,itemsMapper:m}),n.trackNodesPanel("nodeCreateList.onSubcategorySelected",{subcategory:u.key})}if(u.type==="node"){const N=(p==null?void 0:p[u.key])||[];if(N.length<=1){l([u.key]);return}const C=u.properties.iconUrl?`${v}${u.properties.iconUrl}`:(T=u.properties.icon)==null?void 0:T.split(":")[1],D=N==null?void 0:N.map(P=>ee(P,u.properties.displayName,"action"));s({subcategory:u.properties.displayName,title:u.properties.displayName,nodeIcon:{color:((b=u.properties.defaults)==null?void 0:b.color)||"",icon:C,iconType:u.properties.iconUrl?"file":"icon"},rootView:f.value.rootView,hasSearch:!0,mode:"actions",items:D})}if(u.type==="view"){const N=u.key===F?it():ct();s({title:N.title,subtitle:(N==null?void 0:N.subtitle)??"",items:N.items,hasSearch:!0,rootView:N.value,mode:"nodes",searchItems:r})}}function m(u){var C,D;if(u.type!=="node")return u;const T=u.properties.group.includes("trigger"),N=((p==null?void 0:p[u.key])||[]).length>0;return T&&N&&((C=u.properties)!=null&&C.codex&&(u.properties.codex.alias=[...((D=u.properties.codex)==null?void 0:D.alias)||[],u.properties.displayName]),u.properties.displayName=u.properties.displayName.replace(" Trigger","")),u}function y(u){if(u.type!=="node")return!1;const T=u.properties.group.includes("trigger"),N=((p==null?void 0:p[u.key])||[]).length>0;return f.value.rootView===F?N||T:N||!T}function c(){d()}function _(u){const b=[...f.value.items||[],...i.value||[]].find(N=>N.uuid===u);b&&a(b)}return g("MainViewArrowRight",{keyboardKeys:["ArrowRight","Enter"],condition:u=>["subcategory","node","view"].includes(u),handler:_}),g("MainViewArrowLeft",{keyboardKeys:["ArrowLeft"],condition:u=>["subcategory","node","view"].includes(u),handler:c}),(u,T)=>(k(),R("span",null,[O(Ve,{elements:f.value.items,onSelected:a,class:w(u.$style.items)},fe({_:2},[(f.value.items||[]).length===0&&i.value.length===0?{name:"empty",fn:A(()=>[O(Zn,{rootView:f.value.rootView,showIcon:"",showRequest:"",onAddWebhookNode:T[0]||(T[0]=b=>l([K(Q)])),onAddHttpNode:T[1]||(T[1]=b=>l([K(Ie)]))},null,8,["rootView"])]),key:"0"}:void 0]),1032,["elements","class"]),i.value.length>0?(k(),L(Ee,{key:0,elements:i.value,category:u.$locale.baseText("nodeCreator.categoryNames.otherCategories"),onSelected:a},null,8,["elements","category"])):M("",!0)]))}}),Jn="_items_1t7lf_5",es={items:Jn},ts={$style:es},os=U(Qn,[["__cssModules",ts]]),ns=["textContent"],ss=["textContent"],as=H({__name:"NodesListPanel",setup(t){const e=ne(),{mergedNodes:o}=j(),{pushViewStack:n,popViewStack:r,updateCurrentViewStack:p}=V(),{setActiveItemIndex:v,attachKeydownEvent:h,detachKeydownEvent:s}=q(),d=$(()=>V().activeViewStack),g=$(()=>V().viewStacks),f=$(()=>V().activeViewStackMode==="actions"),i=$(()=>f.value?e.baseText("nodeCreator.actionsCategory.searchActions",{interpolate:{node:d.value.title}}):e.baseText("nodeCreator.searchBar.searchNodes")),l=$(()=>j().selectedView);function a(c){d.value.uuid&&(p({search:c}),v(d.value.activeIndex??0))}function m(){const c=d.value.mode==="actions"?1:0;v(d.value.activeIndex||0||c)}ve(()=>{h(),v(d.value.activeIndex??0)}),et(()=>{s()}),J(()=>l.value,c=>{const _=c===F?it():ct();n({title:_.title,subtitle:(_==null?void 0:_.subtitle)??"",items:_.items,hasSearch:!0,mode:"nodes",rootView:c,searchItems:o})},{immediate:!0});function y(){r()}return(c,_)=>{const u=B("font-awesome-icon"),T=B("n8n-node-icon");return g.value.length>0?(k(),L(Xe,{key:0,name:`panel-slide-${d.value.transitionDirection}`,onAfterLeave:m},{default:A(()=>[(k(),R("aside",{class:w(c.$style.nodesListPanel),onKeydownCapture:_[0]||(_[0]=he(()=>{},["stop"])),key:`${d.value.uuid}`},[I("header",{class:w({[c.$style.header]:!0,[c.$style.hasBg]:!d.value.subtitle}),"data-test-id":"nodes-list-header"},[I("div",{class:w(c.$style.top)},[g.value.length>1?(k(),R("button",{key:0,class:w(c.$style.backButton),onClick:y},[O(u,{class:w(c.$style.backButtonIcon),icon:"arrow-left",size:"2x"},null,8,["class"])],2)):M("",!0),d.value.nodeIcon?(k(),L(T,{key:1,class:w(c.$style.nodeIcon),type:d.value.nodeIcon.iconType||"unknown",src:d.value.nodeIcon.icon,name:d.value.nodeIcon.icon,color:d.value.nodeIcon.color,circle:!1,showTooltip:!1,size:16},null,8,["class","type","src","name","color"])):M("",!0),d.value.title?(k(),R("p",{key:2,class:w(c.$style.title),textContent:W(d.value.title)},null,10,ns)):M("",!0)],2),d.value.subtitle?(k(),R("p",{key:0,class:w({[c.$style.subtitle]:!0,[c.$style.offsetSubtitle]:g.value.length>1}),textContent:W(d.value.subtitle)},null,10,ss)):M("",!0)],2),d.value.hasSearch?(k(),L(ao,{key:0,class:w(c.$style.searchBar),placeholder:i.value?i.value:c.$locale.baseText("nodeCreator.searchBar.searchNodes"),modelValue:d.value.search,"onUpdate:modelValue":a},null,8,["class","placeholder","modelValue"])):M("",!0),I("div",{class:w(c.$style.renderedItems)},[f.value&&d.value.subcategory?(k(),L(Mn,tt(me({key:0},c.$attrs)),null,16)):(k(),L(os,me({key:1,rootView:l.value},c.$attrs),null,16,["rootView"]))],2)],34))]),_:1},8,["name"])):M("",!0)}}}),rs="_backButton_uvop2_27",is="_backButtonIcon_uvop2_34",cs="_nodeIcon_uvop2_40",ls="_renderedItems_uvop2_45",ds="_searchBar_uvop2_57",us="_nodesListPanel_uvop2_61",ps="_footer_uvop2_78",gs="_top_uvop2_89",ys="_header_uvop2_94",fs="_hasBg_uvop2_100",ms="_title_uvop2_105",vs="_subtitle_uvop2_115",_s="_offsetSubtitle_uvop2_123",hs={backButton:rs,backButtonIcon:is,nodeIcon:cs,renderedItems:ls,searchBar:ds,nodesListPanel:us,footer:ps,top:gs,header:ys,hasBg:fs,title:ms,subtitle:vs,offsetSubtitle:_s},Ts={$style:hs},bs=U(as,[["__cssModules",Ts]]),ws=H({__name:"NodeCreator",props:{active:{type:Boolean},onNodeTypeSelected:{type:Function}},emits:["closeNodeCreator","nodeTypeSelected"],setup(t,{emit:e}){const o=t,{resetViewStacks:n}=V(),{registerKeyHook:r}=q(),p=wt(),{setShowScrim:v,setActions:h,setMergeNodes:s}=j(),{generateMergedNodesAndActions:d}=Ft(),g=Re({nodeCreator:null,mousedownInsideEvent:null}),f=$(()=>j().showScrim),i=$(()=>V().viewStacks.length),l=$(()=>({top:`${p.bannersHeight+p.headerHeight}px`}));function a(){var b;if(g.mousedownInsideEvent){const N=new MouseEvent("click",{bubbles:!0,cancelable:!0});(b=g.mousedownInsideEvent.target)==null||b.dispatchEvent(N),g.mousedownInsideEvent=null,m()}}function m(){document.removeEventListener("mouseup",a),document.removeEventListener("touchstart",a)}function y(){g.mousedownInsideEvent=null,m()}function c(b){g.mousedownInsideEvent=b,document.addEventListener("mouseup",a),document.addEventListener("touchstart",a)}function _(b){b.preventDefault()}function u(b){if(!b.dataTransfer)return;const N=b.dataTransfer.getData("nodeTypeName"),C=g.nodeCreator.getBoundingClientRect();N&&b.pageX>=C.x&&b.pageY>=C.y&&b.stopPropagation()}J(()=>o.active,b=>{b===!1&&(v(!1),n())}),J(i,b=>{b===0&&(e("closeNodeCreator"),v(!1))}),r("NodeCreatorCloseEscape",{keyboardKeys:["Escape"],handler:()=>e("closeNodeCreator")}),r("NodeCreatorCloseTab",{keyboardKeys:["Tab"],handler:()=>e("closeNodeCreator")}),J(()=>je().visibleNodeTypes,b=>{const{actions:N,mergedNodes:C}=d(b);h(N),s(C)},{immediate:!0});const{nodeCreator:T}=Me(g);return Ze(()=>{m()}),(b,N)=>(k(),R("div",null,[I("aside",{class:w({[b.$style.nodeCreatorScrim]:!0,[b.$style.active]:f.value})},null,2),O(Kt,null,{default:A(()=>[b.active?(k(),R("div",{key:0,class:w(b.$style.nodeCreator),style:Oe(l.value),ref_key:"nodeCreator",ref:T,onDragover:_,onDrop:u,onMousedown:c,onMouseup:y,"data-test-id":"node-creator"},[O(bs,{onNodeTypeSelected:b.onNodeTypeSelected},null,8,["onNodeTypeSelected"])],38)):M("",!0)]),_:1})]))}}),ks="_nodeCreator_py8o5_9",Cs="_nodeCreatorScrim_py8o5_20",$s="_active_py8o5_32",Ns={nodeCreator:ks,nodeCreatorScrim:Cs,active:$s},Ss={$style:Ns},da=U(ws,[["__cssModules",Ss]]);export{da as default};
2
+ //# sourceMappingURL=NodeCreator-626fd9f1.js.map