feat: Replace new Vue() with custom event bus (no-changelog) (#5780)
* refactor: replace new Vue() with custom event bus (no-changelog) * fix: export types from design system main * fix: update component types * fix: update form inputs event bus
This commit is contained in:
@@ -89,7 +89,6 @@ import { useLogStreamingStore } from '../stores/logStreamingStore';
|
||||
import { useSettingsStore } from '../stores/settings';
|
||||
import { useUIStore } from '../stores/ui';
|
||||
import { LOG_STREAM_MODAL_KEY, EnterpriseEditionFeature } from '../constants';
|
||||
import Vue from 'vue';
|
||||
import {
|
||||
deepCopy,
|
||||
defaultMessageEventBusDestinationOptions,
|
||||
@@ -97,6 +96,7 @@ import {
|
||||
} from 'n8n-workflow';
|
||||
import PageViewLayout from '@/components/layouts/PageViewLayout.vue';
|
||||
import EventDestinationCard from '@/components/SettingsLogStreaming/EventDestinationCard.ee.vue';
|
||||
import { createEventBus } from '@/event-bus';
|
||||
|
||||
export default mixins().extend({
|
||||
name: 'SettingsLogStreamingView',
|
||||
@@ -107,7 +107,7 @@ export default mixins().extend({
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
eventBus: new Vue(),
|
||||
eventBus: createEventBus(),
|
||||
destinations: Array<MessageEventBusDestinationOptions>,
|
||||
disableLicense: false,
|
||||
allDestinations: [] as MessageEventBusDestinationOptions[],
|
||||
@@ -135,15 +135,15 @@ export default mixins().extend({
|
||||
}
|
||||
});
|
||||
// refresh when a modal closes
|
||||
this.eventBus.$on('destinationWasSaved', async () => {
|
||||
this.eventBus.on('destinationWasSaved', async () => {
|
||||
this.$forceUpdate();
|
||||
});
|
||||
// listen to remove emission
|
||||
this.eventBus.$on('remove', async (destinationId: string) => {
|
||||
this.eventBus.on('remove', async (destinationId: string) => {
|
||||
await this.onRemove(destinationId);
|
||||
});
|
||||
// listen to modal closing and remove nodes from store
|
||||
this.eventBus.$on('closing', async (destinationId: string) => {
|
||||
this.eventBus.on('closing', async (destinationId: string) => {
|
||||
this.workflowsStore.removeAllNodes({ setStateDirty: false, removePinData: true });
|
||||
this.uiStore.stateIsDirty = false;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user