n8n-editor-ui 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +15 -15
- package/dist/assets/{CanvasControls-057abf74.js → CanvasControls-a999f105.js} +2 -2
- package/dist/assets/{CanvasControls-057abf74.js.map → CanvasControls-a999f105.js.map} +1 -1
- package/dist/assets/{FixedCollectionParameter-7f2b55fd.js → FixedCollectionParameter-7b58c437.js} +2 -2
- package/dist/assets/{FixedCollectionParameter-7f2b55fd.js.map → FixedCollectionParameter-7b58c437.js.map} +1 -1
- package/dist/assets/{NodeCreation-5fef49b5.js → NodeCreation-273af2c1.js} +2 -2
- package/dist/assets/{NodeCreation-5fef49b5.js.map → NodeCreation-273af2c1.js.map} +1 -1
- package/dist/assets/{NodeCreator-3694abf0.js → NodeCreator-9c6813b4.js} +2 -2
- package/dist/assets/{NodeCreator-3694abf0.js.map → NodeCreator-9c6813b4.js.map} +1 -1
- package/dist/assets/{RunDataJson-b9493a98.js → RunDataJson-47d52d6e.js} +2 -2
- package/dist/assets/{RunDataJson-b9493a98.js.map → RunDataJson-47d52d6e.js.map} +1 -1
- package/dist/assets/{RunDataJsonActions-3864589d.js → RunDataJsonActions-a1c7ced2.js} +2 -2
- package/dist/assets/{RunDataJsonActions-3864589d.js.map → RunDataJsonActions-a1c7ced2.js.map} +1 -1
- package/dist/assets/{RunDataSchema-e87c8f26.js → RunDataSchema-fae175b1.js} +2 -2
- package/dist/assets/{RunDataSchema-e87c8f26.js.map → RunDataSchema-fae175b1.js.map} +1 -1
- package/dist/assets/{RunDataTable-0a0343e7.js → RunDataTable-3a1df5a7.js} +2 -2
- package/dist/assets/{RunDataTable-0a0343e7.js.map → RunDataTable-3a1df5a7.js.map} +1 -1
- package/dist/assets/{index-145b19a6.js → index-29d2c65e.js} +19 -19
- package/dist/assets/index-29d2c65e.js.map +1 -0
- package/dist/assets/{index-8415362e.css → index-36451401.css} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/index-145b19a6.js.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> n8n-editor-ui@1.9.
|
|
2
|
+
> n8n-editor-ui@1.9.1 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
|
[36mvite v4.4.7 [32mbuilding for production...[36m[39m
|
|
@@ -10,6 +10,9 @@ transforming...
|
|
|
10
10
|
[32m✓[39m 3867 modules transformed.
|
|
11
11
|
rendering chunks...
|
|
12
12
|
[1m[33m[plugin:vite:reporter][39m[22m [33m
|
|
13
|
+
(!) /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.
|
|
14
|
+
[39m
|
|
15
|
+
[1m[33m[plugin:vite:reporter][39m[22m [33m
|
|
13
16
|
(!) /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.
|
|
14
17
|
[39m
|
|
15
18
|
[1m[33m[plugin:vite:reporter][39m[22m [33m
|
|
@@ -18,9 +21,6 @@ rendering chunks...
|
|
|
18
21
|
[1m[33m[plugin:vite:reporter][39m[22m [33m
|
|
19
22
|
(!) /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.
|
|
20
23
|
[39m
|
|
21
|
-
[1m[33m[plugin:vite:reporter][39m[22m [33m
|
|
22
|
-
(!) /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.
|
|
23
|
-
[39m
|
|
24
24
|
computing gzip size...
|
|
25
25
|
[2mdist/[22m[2massets/[22m[32minfisical-579b5f23.webp [39m[1m[2m 1.56 kB[22m[1m[22m
|
|
26
26
|
[2mdist/[22m[2massets/[22m[32mhashicorp-8e552ff4.webp [39m[1m[2m 1.60 kB[22m[1m[22m
|
|
@@ -46,7 +46,7 @@ computing gzip size...
|
|
|
46
46
|
[2mdist/[22m[2massets/[22m[35mRunDataSchema-f2410c09.css [39m[1m[2m 3.65 kB[22m[1m[22m[2m │ gzip: 0.98 kB[22m
|
|
47
47
|
[2mdist/[22m[2massets/[22m[35mNodeCreator-69549990.css [39m[1m[2m 11.61 kB[22m[1m[22m[2m │ gzip: 2.53 kB[22m
|
|
48
48
|
[2mdist/[22m[2massets/[22m[35mn8n-dc7cfc9d.css [39m[1m[2m 59.42 kB[22m[1m[22m[2m │ gzip: 9.13 kB[22m
|
|
49
|
-
[2mdist/[22m[2massets/[22m[35mindex-
|
|
49
|
+
[2mdist/[22m[2massets/[22m[35mindex-36451401.css [39m[1m[2m 417.91 kB[22m[1m[22m[2m │ gzip: 59.70 kB[22m
|
|
50
50
|
[2mdist/[22m[2massets/[22m[36mxss-ba9b5ee6.js [39m[1m[2m 0.07 kB[22m[1m[22m[2m │ gzip: 0.09 kB[22m[2m │ map: 0.10 kB[22m
|
|
51
51
|
[2mdist/[22m[2massets/[22m[36mMappingPill-1028970c.js [39m[1m[2m 0.57 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 0.10 kB[22m
|
|
52
52
|
[2mdist/[22m[2massets/[22m[36m@fortawesome/free-regular-svg-icons-74cb85f8.js [39m[1m[2m 0.67 kB[22m[1m[22m[2m │ gzip: 0.46 kB[22m[2m │ map: 170.48 kB[22m
|
|
@@ -60,19 +60,19 @@ computing gzip size...
|
|
|
60
60
|
[2mdist/[22m[2massets/[22m[36mcopy-to-clipboard-fcd72098.js [39m[1m[2m 2.27 kB[22m[1m[22m[2m │ gzip: 1.11 kB[22m[2m │ map: 7.16 kB[22m
|
|
61
61
|
[2mdist/[22m[2massets/[22m[36mfile-saver-67c99cf2.js [39m[1m[2m 2.64 kB[22m[1m[22m[2m │ gzip: 1.27 kB[22m[2m │ map: 5.91 kB[22m
|
|
62
62
|
[2mdist/[22m[2massets/[22m[36mv3-infinite-loading-8fbfd594.js [39m[1m[2m 2.88 kB[22m[1m[22m[2m │ gzip: 1.37 kB[22m[2m │ map: 8.03 kB[22m
|
|
63
|
-
[2mdist/[22m[2massets/[22m[36mCanvasControls-
|
|
63
|
+
[2mdist/[22m[2massets/[22m[36mCanvasControls-a999f105.js [39m[1m[2m 3.00 kB[22m[1m[22m[2m │ gzip: 1.32 kB[22m[2m │ map: 3.38 kB[22m
|
|
64
64
|
[2mdist/[22m[2massets/[22m[36mdateformat-40ed026e.js [39m[1m[2m 3.04 kB[22m[1m[22m[2m │ gzip: 1.59 kB[22m[2m │ map: 11.33 kB[22m
|
|
65
65
|
[2mdist/[22m[2massets/[22m[36mpinia-36ab6235.js [39m[1m[2m 4.36 kB[22m[1m[22m[2m │ gzip: 2.18 kB[22m[2m │ map: 85.29 kB[22m
|
|
66
|
-
[2mdist/[22m[2massets/[22m[36mRunDataJsonActions-
|
|
66
|
+
[2mdist/[22m[2massets/[22m[36mRunDataJsonActions-a1c7ced2.js [39m[1m[2m 5.10 kB[22m[1m[22m[2m │ gzip: 2.15 kB[22m[2m │ map: 10.72 kB[22m
|
|
67
67
|
[2mdist/[22m[2massets/[22m[36mvue3-touch-events-ee55ce04.js [39m[1m[2m 5.22 kB[22m[1m[22m[2m │ gzip: 1.73 kB[22m[2m │ map: 23.65 kB[22m
|
|
68
68
|
[2mdist/[22m[2massets/[22m[36m@vueuse/core-60457efe.js [39m[1m[2m 5.24 kB[22m[1m[22m[2m │ gzip: 2.22 kB[22m[2m │ map: 297.50 kB[22m
|
|
69
|
-
[2mdist/[22m[2massets/[22m[36mNodeCreation-
|
|
70
|
-
[2mdist/[22m[2massets/[22m[36mRunDataSchema-
|
|
71
|
-
[2mdist/[22m[2massets/[22m[36mRunDataJson-
|
|
69
|
+
[2mdist/[22m[2massets/[22m[36mNodeCreation-273af2c1.js [39m[1m[2m 5.66 kB[22m[1m[22m[2m │ gzip: 2.10 kB[22m[2m │ map: 7.94 kB[22m
|
|
70
|
+
[2mdist/[22m[2massets/[22m[36mRunDataSchema-fae175b1.js [39m[1m[2m 6.45 kB[22m[1m[22m[2m │ gzip: 2.70 kB[22m[2m │ map: 12.63 kB[22m
|
|
71
|
+
[2mdist/[22m[2massets/[22m[36mRunDataJson-47d52d6e.js [39m[1m[2m 6.76 kB[22m[1m[22m[2m │ gzip: 2.51 kB[22m[2m │ map: 11.53 kB[22m
|
|
72
72
|
[2mdist/[22m[2massets/[22m[36m@fortawesome/vue-fontawesome-f597912a.js [39m[1m[2m 7.06 kB[22m[1m[22m[2m │ gzip: 2.62 kB[22m[2m │ map: 29.96 kB[22m
|
|
73
|
-
[2mdist/[22m[2massets/[22m[36mFixedCollectionParameter-
|
|
73
|
+
[2mdist/[22m[2massets/[22m[36mFixedCollectionParameter-7b58c437.js [39m[1m[2m 8.14 kB[22m[1m[22m[2m │ gzip: 2.78 kB[22m[2m │ map: 18.41 kB[22m
|
|
74
74
|
[2mdist/[22m[2massets/[22m[36m@jsplumb/util-98a92a84.js [39m[1m[2m 9.69 kB[22m[1m[22m[2m │ gzip: 3.64 kB[22m[2m │ map: 44.96 kB[22m
|
|
75
|
-
[2mdist/[22m[2massets/[22m[36mRunDataTable-
|
|
75
|
+
[2mdist/[22m[2massets/[22m[36mRunDataTable-3a1df5a7.js [39m[1m[2m 12.01 kB[22m[1m[22m[2m │ gzip: 4.31 kB[22m[2m │ map: 31.89 kB[22m
|
|
76
76
|
[2mdist/[22m[2massets/[22m[36mvue-agile-35d18cd7.js [39m[1m[2m 12.28 kB[22m[1m[22m[2m │ gzip: 3.56 kB[22m[2m │ map: 36.62 kB[22m
|
|
77
77
|
[2mdist/[22m[2massets/[22m[36m@jsplumb/connector-bezier-53998944.js [39m[1m[2m 14.58 kB[22m[1m[22m[2m │ gzip: 5.10 kB[22m[2m │ map: 64.38 kB[22m
|
|
78
78
|
[2mdist/[22m[2massets/[22m[36mvue-json-pretty-38f00944.js [39m[1m[2m 15.98 kB[22m[1m[22m[2m │ gzip: 5.35 kB[22m[2m │ map: 34.46 kB[22m
|
|
@@ -81,7 +81,7 @@ computing gzip size...
|
|
|
81
81
|
[2mdist/[22m[2massets/[22m[36mhumanize-duration-d6635c4f.js [39m[1m[2m 21.23 kB[22m[1m[22m[2m │ gzip: 6.56 kB[22m[2m │ map: 75.04 kB[22m
|
|
82
82
|
[2mdist/[22m[2massets/[22m[36m@fortawesome/fontawesome-svg-core-984d6dde.js [39m[1m[2m 25.94 kB[22m[1m[22m[2m │ gzip: 8.94 kB[22m[2m │ map: 109.05 kB[22m
|
|
83
83
|
[2mdist/[22m[2massets/[22m[36mlodash-es-876af2e5.js [39m[1m[2m 33.76 kB[22m[1m[22m[2m │ gzip: 12.75 kB[22m[2m │ map: 291.99 kB[22m
|
|
84
|
-
[2mdist/[22m[2massets/[22m[36mNodeCreator-
|
|
84
|
+
[2mdist/[22m[2massets/[22m[36mNodeCreator-9c6813b4.js [39m[1m[2m 48.63 kB[22m[1m[22m[2m │ gzip: 15.96 kB[22m[2m │ map: 147.51 kB[22m
|
|
85
85
|
[2mdist/[22m[2massets/[22m[36mvue-i18n-c3b0f366.js [39m[1m[2m 54.37 kB[22m[1m[22m[2m │ gzip: 17.23 kB[22m[2m │ map: 322.00 kB[22m
|
|
86
86
|
[2mdist/[22m[2massets/[22m[36mluxon-19e1de07.js [39m[1m[2m 63.53 kB[22m[1m[22m[2m │ gzip: 19.83 kB[22m[2m │ map: 344.93 kB[22m
|
|
87
87
|
[2mdist/[22m[2massets/[22m[36m@fortawesome/free-solid-svg-icons-d79f1537.js [39m[1m[2m 71.93 kB[22m[1m[22m[2m │ gzip: 24.85 kB[22m[2m │ map: 736.35 kB[22m
|
|
@@ -93,11 +93,11 @@ computing gzip size...
|
|
|
93
93
|
[2mdist/[22m[2massets/[22m[36mcodemirror-lang-html-n8n-4223f8c7.js [39m[1m[2m 128.71 kB[22m[1m[22m[2m │ gzip: 48.24 kB[22m[2m │ map: 219.74 kB[22m
|
|
94
94
|
[2mdist/[22m[2massets/[22m[36mesprima-next-8c7e8ff9.js [39m[1m[2m 134.74 kB[22m[1m[22m[2m │ gzip: 30.32 kB[22m[2m │ map: 437.15 kB[22m
|
|
95
95
|
[2mdist/[22m[2massets/[22m[36m@n8n/codemirror-lang-sql-9a304659.js [39m[1m[2m 327.86 kB[22m[1m[22m[2m │ gzip: 108.30 kB[22m[2m │ map: 1,395.34 kB[22m
|
|
96
|
-
[2mdist/[22m[2massets/[22m[36mindex-
|
|
96
|
+
[2mdist/[22m[2massets/[22m[36mindex-29d2c65e.js [39m[1m[33m2,238.79 kB[39m[22m[2m │ gzip: 608.24 kB[22m[2m │ map: 5,558.00 kB[22m
|
|
97
97
|
[2mdist/[22m[2massets/[22m[36mn8n-32ff1011.js [39m[1m[33m2,494.37 kB[39m[22m[2m │ gzip: 754.49 kB[22m[2m │ map: 9,862.13 kB[22m
|
|
98
98
|
[33m
|
|
99
99
|
(!) Some chunks are larger than 500 kBs after minification. Consider:
|
|
100
100
|
- Using dynamic import() to code-split the application
|
|
101
101
|
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
|
|
102
102
|
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.[39m
|
|
103
|
-
[32m✓ built in 1m
|
|
103
|
+
[32m✓ built in 1m 18s[39m
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{s as y}from"./pinia-36ab6235.js";import{b as k}from"./index-
|
|
2
|
-
//# sourceMappingURL=CanvasControls-
|
|
1
|
+
import{s as y}from"./pinia-36ab6235.js";import{b as k}from"./index-29d2c65e.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-32ff1011.js";import"./axios-da559357.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-40ed026e.js";import"./lodash-es-876af2e5.js";import"./luxon-19e1de07.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@jsplumb/browser-ui-70b0a0d6.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-fb9de5ed.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-67c99cf2.js";import"./vue-json-pretty-38f00944.js";import"./humanize-duration-d6635c4f.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-35d18cd7.js";import"./copy-to-clipboard-fcd72098.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-a999f105.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasControls-
|
|
1
|
+
{"version":3,"file":"CanvasControls-a999f105.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"}
|
package/dist/assets/{FixedCollectionParameter-7f2b55fd.js → FixedCollectionParameter-7b58c437.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{e as h,a4 as P,h as R,_ as A}from"./n8n-32ff1011.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"./esprima-next-8c7e8ff9.js";import"./luxon-19e1de07.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";const L=S(async()=>R(()=>import("./index-
|
|
2
|
-
//# sourceMappingURL=FixedCollectionParameter-
|
|
1
|
+
import{e as h,a4 as P,h as R,_ as A}from"./n8n-32ff1011.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"./esprima-next-8c7e8ff9.js";import"./luxon-19e1de07.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";const L=S(async()=>R(()=>import("./index-29d2c65e.js").then(e=>e.a5),["assets/index-29d2c65e.js","assets/vendor-18a4b4e1.js","assets/pinia-36ab6235.js","assets/n8n-32ff1011.js","assets/esprima-next-8c7e8ff9.js","assets/luxon-19e1de07.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-da559357.js","assets/flatted-8b14da7d.js","assets/vue-i18n-c3b0f366.js","assets/uuid-cf522c50.js","assets/dateformat-40ed026e.js","assets/@jsplumb/util-98a92a84.js","assets/@jsplumb/core-0a463c13.js","assets/@jsplumb/common-fe415eb9.js","assets/@jsplumb/connector-bezier-53998944.js","assets/@jsplumb/browser-ui-70b0a0d6.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-fb9de5ed.js","assets/prettier-51497383.js","assets/@vueuse/core-60457efe.js","assets/timeago.js-a9e71aec.js","assets/qrcode.vue-338130ab.js","assets/file-saver-67c99cf2.js","assets/vue-json-pretty-38f00944.js","assets/humanize-duration-d6635c4f.js","assets/v3-infinite-loading-8fbfd594.js","assets/vue-agile-35d18cd7.js","assets/vue-agile-d964f598.css","assets/copy-to-clipboard-fcd72098.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-36451401.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-7b58c437.js.map
|
|
@@ -1 +1 @@
|
|
|
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-7f2b55fd.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-7b58c437.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as v,_ as f}from"./n8n-32ff1011.js";import{u as _,N as B,g as S,D as k,a as b,S as T}from"./index-
|
|
2
|
-
//# sourceMappingURL=NodeCreation-
|
|
1
|
+
import{h as v,_ as f}from"./n8n-32ff1011.js";import{u as _,N as B,g as S,D as k,a as b,S as T}from"./index-29d2c65e.js";import{m as w}from"./pinia-36ab6235.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"./esprima-next-8c7e8ff9.js";import"./luxon-19e1de07.js";import"./lodash-es-876af2e5.js";import"./@fortawesome/vue-fontawesome-f597912a.js";import"./@fortawesome/fontawesome-svg-core-984d6dde.js";import"./axios-da559357.js";import"./flatted-8b14da7d.js";import"./vue-i18n-c3b0f366.js";import"./uuid-cf522c50.js";import"./dateformat-40ed026e.js";import"./@jsplumb/util-98a92a84.js";import"./@jsplumb/core-0a463c13.js";import"./@jsplumb/common-fe415eb9.js";import"./@jsplumb/connector-bezier-53998944.js";import"./@jsplumb/browser-ui-70b0a0d6.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-fb9de5ed.js";import"./prettier-51497383.js";import"./@vueuse/core-60457efe.js";import"./timeago.js-a9e71aec.js";import"./qrcode.vue-338130ab.js";import"./file-saver-67c99cf2.js";import"./vue-json-pretty-38f00944.js";import"./humanize-duration-d6635c4f.js";import"./v3-infinite-loading-8fbfd594.js";import"./vue-agile-35d18cd7.js";import"./copy-to-clipboard-fcd72098.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-9c6813b4.js"),["assets/NodeCreator-9c6813b4.js","assets/index-29d2c65e.js","assets/vendor-18a4b4e1.js","assets/pinia-36ab6235.js","assets/n8n-32ff1011.js","assets/esprima-next-8c7e8ff9.js","assets/luxon-19e1de07.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-da559357.js","assets/flatted-8b14da7d.js","assets/vue-i18n-c3b0f366.js","assets/uuid-cf522c50.js","assets/dateformat-40ed026e.js","assets/@jsplumb/util-98a92a84.js","assets/@jsplumb/core-0a463c13.js","assets/@jsplumb/common-fe415eb9.js","assets/@jsplumb/connector-bezier-53998944.js","assets/@jsplumb/browser-ui-70b0a0d6.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-fb9de5ed.js","assets/prettier-51497383.js","assets/@vueuse/core-60457efe.js","assets/timeago.js-a9e71aec.js","assets/qrcode.vue-338130ab.js","assets/file-saver-67c99cf2.js","assets/vue-json-pretty-38f00944.js","assets/humanize-duration-d6635c4f.js","assets/v3-infinite-loading-8fbfd594.js","assets/vue-agile-35d18cd7.js","assets/vue-agile-d964f598.css","assets/copy-to-clipboard-fcd72098.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-36451401.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-273af2c1.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-
|
|
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-273af2c1.js"}
|