diff --git a/packages/editor-ui/src/components/DataDisplay.vue b/packages/editor-ui/src/components/DataDisplay.vue
index 8a417ac155..2577a6a6f1 100644
--- a/packages/editor-ui/src/components/DataDisplay.vue
+++ b/packages/editor-ui/src/components/DataDisplay.vue
@@ -9,7 +9,7 @@
@opened="showDocumentHelp = true"
>
-
+
@@ -32,6 +32,7 @@ import NodeSettings from '@/components/NodeSettings.vue';
import RunData from '@/components/RunData.vue';
import mixins from 'vue-typed-mixins';
+import Vue from 'vue';
export default mixins(externalHooks, nodeHelpers, workflowHelpers).extend({
name: 'DataDisplay',
@@ -43,6 +44,7 @@ export default mixins(externalHooks, nodeHelpers, workflowHelpers).extend({
return {
basePath: this.$store.getters.getBaseUrl,
showDocumentHelp: false,
+ settingsEventBus: new Vue(),
};
},
computed: {
@@ -69,10 +71,7 @@ export default mixins(externalHooks, nodeHelpers, workflowHelpers).extend({
},
methods: {
openSettings() {
- const settings = this.$refs.settings as Vue | null;
- if (settings) {
- settings.$emit('openSettings');
- }
+ this.settingsEventBus.$emit('openSettings');
},
valueChanged (parameterData: IUpdateInformation) {
this.$emit('valueChanged', parameterData);
diff --git a/packages/editor-ui/src/components/NodeSettings.vue b/packages/editor-ui/src/components/NodeSettings.vue
index 8963b52e62..d75b8221dc 100644
--- a/packages/editor-ui/src/components/NodeSettings.vue
+++ b/packages/editor-ui/src/components/NodeSettings.vue
@@ -148,6 +148,10 @@ export default mixins(
return this.nodeType.properties;
},
},
+ props: {
+ eventBus: {
+ },
+ },
data () {
return {
nodeValid: true,
@@ -519,9 +523,11 @@ export default mixins(
},
mounted () {
this.setNodeValues();
- this.$on('openSettings', () => {
- this.openPanel = 'settings';
- });
+ if (this.eventBus) {
+ (this.eventBus as Vue).$on('openSettings', () => {
+ this.openPanel = 'settings';
+ });
+ }
},
});