retejs / vue-plugin

https://retejs.org
MIT License
38 stars 36 forks source link

Vue 3 support #39

Closed Ni55aN closed 1 year ago

Ni55aN commented 3 years ago

This thread is intended for discussing Vue 3 support

At the moment, all changes regarding the third version are in vue3 branch. Also published v1.0.0-rc1, but it needs testing and possibly some improvements

JoseCadenas commented 3 years ago

Hey @Ni55aN,

How can I use a custom node using a vue component with vue-render-plugin V1.0.0-rc2? I've attempt examples like this. May you provide an updated example using this rc version?

ethanhalko commented 2 years ago

Hey @Ni55aN,

How can I use a custom node using a vue component with vue-render-plugin V1.0.0-rc2? I've attempt examples like this. May you provide an updated example using this rc version?

I'm having this issue as well. @JoseCadenas were you able to solve it?

JoseCadenas commented 2 years ago

Hey @Ni55aN, How can I use a custom node using a vue component with vue-render-plugin V1.0.0-rc2? I've attempt examples like this. May you provide an updated example using this rc version?

I'm having this issue as well. @JoseCadenas were you able to solve it?

I used Patch-Package to modify the source code to be compatible with Vue 3. I also had to modify other Rete plugins in a similar way, like the context-menu plug-in to provide my own vue component.

If you need specifics I can elaborate or share my patch file.

Side note: Patch-Package does not modify the package.json file(s), therefore you will manually have modify theses or rebuild those Rete plugins (if possible, I didn’t explore that).

thebleucheese commented 2 years ago

Hey @Ni55aN, How can I use a custom node using a vue component with vue-render-plugin V1.0.0-rc2? I've attempt examples like this. May you provide an updated example using this rc version?

I'm having this issue as well. @JoseCadenas were you able to solve it?

I used Patch-Package to modify the source code to be compatible with Vue 3. I also had to modify other Rete plugins in a similar way, like the context-menu plug-in to provide my own vue component.

If you need specifics I can elaborate or share my patch file.

Side note: Patch-Package does not modify the package.json file(s), therefore you will manually have modify theses or rebuild those Rete plugins (if possible, I didn’t explore that).

Do you have any samples of what you mentioned here? I've been fighting with it, and I'd love to see another implementation. I had been trying to modify locally modified dependencies to get all of this working, but I ran into a lot of strange visual behavior with the connectors.

ColonelBundy commented 2 years ago

Any progress on this?

lginsane commented 2 years ago

In the VUE3 branch, the classname cannot be updated in real time because there is no reactive data in the className.

The source code:

setup(props) { const selected = () => { return props.editor.selected.contains(props.node) ? "selected" : ""; }; const className = computed(() => { return kebab([selected(), props.node.name]); }); return { className }; }

Code after change:

setup(props) { const selected = ref(props.editor.selected.contains(props.node) ? "selected" : ""); props.editor.on('selectnode', (node) => { selected.value = props.editor.selected.contains(props.node) ? "selected" : ""; }); const className = computed(() => { return kebab([selected.value, props.node.name]); }); return { className }; }

agauravdev commented 1 year ago

Is there any updates on this? I would really like to use this. 😅 If not, I would love to contribute

Ni55aN commented 1 year ago

@agauravdev not on this, but there are better updates 😅 Rete.js v2 beta is ready https://retejs.org (it supports both Vue 2 and Vue 3)

I'm still doing some polishing to the documentation and readme before announcing v2, but the documentation and the examples are completed

Regarding the RC version for Vue 3, I sincerely hope that any existing issues do not pose significant inconvenience to the developers who use it, since the development of v2 is a priority

image

rete-js[bot] commented 1 year ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days.