From 5651a52364ae327ab369f0da72b0ac678e04701a Mon Sep 17 00:00:00 2001 From: Alex Grozav Date: Thu, 6 Apr 2023 16:32:45 +0300 Subject: [PATCH] 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 --- packages/design-system/package.json | 3 +- .../src/components/N8nFormBox/FormBox.vue | 5 +- .../components/N8nFormInputs/FormInputs.vue | 7 ++- .../src/components/N8nHeading/Heading.vue | 2 +- .../src/components/N8nText/Text.vue | 3 +- packages/design-system/src/main.d.ts | 18 ------ .../design-system/src/{main.js => main.ts} | 2 + packages/design-system/src/shims-types.d.ts | 7 +++ packages/design-system/src/types/index.ts | 2 +- .../src/utils/__tests__/event-bus.spec.ts | 62 +++++++++++++++++++ packages/design-system/src/utils/event-bus.ts | 47 ++++++++++++++ packages/design-system/src/utils/index.ts | 1 + packages/design-system/vite.config.ts | 2 +- .../editor-ui/src/components/AboutModal.vue | 5 +- .../src/components/ActivationModal.vue | 3 +- .../src/components/ChangePasswordModal.vue | 10 +-- .../CodeNodeEditor/CodeNodeEditor.vue | 6 +- .../CommunityPackageInstallModal.vue | 6 +- .../CommunityPackageManageConfirmModal.vue | 8 +-- .../src/components/ContactPromptModal.vue | 6 +- .../CredentialEdit/CredentialEdit.vue | 6 +- .../CredentialEdit/CredentialSharing.ee.vue | 2 +- .../src/components/CredentialsSelectModal.vue | 6 +- .../src/components/DeleteUserModal.vue | 6 +- .../components/DuplicateWorkflowDialog.vue | 10 +-- .../src/components/ExecutionsModal.vue | 5 +- .../ExpandableInput/ExpandableInputEdit.vue | 15 ++++- .../src/components/HtmlEditor/HtmlEditor.vue | 6 +- .../src/components/ImportCurlModal.vue | 6 +- .../src/components/InlineTextEdit.vue | 5 +- .../src/components/InviteUsersModal.vue | 10 +-- .../src/components/MainHeader/MainHeader.vue | 2 +- .../components/MainHeader/WorkflowDetails.vue | 5 +- packages/editor-ui/src/components/Modal.vue | 9 +-- .../editor-ui/src/components/ModalDrawer.vue | 7 ++- .../components/Node/NodeCreator/SearchBar.vue | 5 +- .../src/components/NodeDetailsView.vue | 15 +++-- .../src/components/NodeExecuteButton.vue | 4 +- .../editor-ui/src/components/NodeSettings.vue | 7 ++- .../components/OnboardingCallSignupModal.vue | 9 ++- .../src/components/ParameterInput.vue | 4 +- .../src/components/PersonalizationModal.vue | 10 +-- packages/editor-ui/src/components/RunData.vue | 14 ++--- .../EventDestinationCard.ee.vue | 7 ++- .../EventDestinationSettingsModal.ee.vue | 13 ++-- .../editor-ui/src/components/TagsDropdown.vue | 13 +++- .../components/TagsManager/TagsManager.vue | 5 +- .../editor-ui/src/components/ValueSurvey.vue | 6 +- .../src/components/VariableSelectorItem.vue | 1 - .../src/components/WorkflowSettings.vue | 5 +- .../src/components/WorkflowShareModal.ee.vue | 11 ++-- .../event-bus/code-node-editor-event-bus.ts | 3 - .../src/event-bus/code-node-editor.ts | 3 + .../src/event-bus/data-pinning-event-bus.ts | 3 - .../editor-ui/src/event-bus/data-pinning.ts | 3 + .../src/event-bus/html-editor-event-bus.ts | 3 - .../editor-ui/src/event-bus/html-editor.ts | 3 + packages/editor-ui/src/event-bus/index.ts | 5 ++ .../src/event-bus/node-view-event-bus.ts | 3 - packages/editor-ui/src/event-bus/node-view.ts | 3 + .../editor-ui/src/mixins/pushConnection.ts | 4 +- packages/editor-ui/src/models/history.ts | 18 +++--- packages/editor-ui/src/stores/workflows.ts | 8 +-- packages/editor-ui/src/views/NodeView.vue | 43 +++++++------ .../editor-ui/src/views/SettingsLdapView.vue | 5 +- .../src/views/SettingsLogStreamingView.vue | 10 +-- .../src/views/SettingsPersonalView.vue | 6 +- 67 files changed, 347 insertions(+), 210 deletions(-) delete mode 100644 packages/design-system/src/main.d.ts rename packages/design-system/src/{main.js => main.ts} (73%) create mode 100644 packages/design-system/src/shims-types.d.ts create mode 100644 packages/design-system/src/utils/__tests__/event-bus.spec.ts create mode 100644 packages/design-system/src/utils/event-bus.ts delete mode 100644 packages/editor-ui/src/event-bus/code-node-editor-event-bus.ts create mode 100644 packages/editor-ui/src/event-bus/code-node-editor.ts delete mode 100644 packages/editor-ui/src/event-bus/data-pinning-event-bus.ts create mode 100644 packages/editor-ui/src/event-bus/data-pinning.ts delete mode 100644 packages/editor-ui/src/event-bus/html-editor-event-bus.ts create mode 100644 packages/editor-ui/src/event-bus/html-editor.ts create mode 100644 packages/editor-ui/src/event-bus/index.ts delete mode 100644 packages/editor-ui/src/event-bus/node-view-event-bus.ts create mode 100644 packages/editor-ui/src/event-bus/node-view.ts diff --git a/packages/design-system/package.json b/packages/design-system/package.json index eb7a3467c0..7207be9c0c 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -7,7 +7,8 @@ "name": "Mutasem Aldmour", "email": "mutasem@n8n.io" }, - "main": "src/main.js", + "main": "src/main.ts", + "import": "src/main.ts", "repository": { "type": "git", "url": "git+https://github.com/n8n-io/n8n.git" diff --git a/packages/design-system/src/components/N8nFormBox/FormBox.vue b/packages/design-system/src/components/N8nFormBox/FormBox.vue index 465fa957f3..3fc3ddcae4 100644 --- a/packages/design-system/src/components/N8nFormBox/FormBox.vue +++ b/packages/design-system/src/components/N8nFormBox/FormBox.vue @@ -43,6 +43,7 @@ import N8nFormInputs from '../N8nFormInputs'; import N8nHeading from '../N8nHeading'; import N8nLink from '../N8nLink'; import N8nButton from '../N8nButton'; +import { createEventBus } from '../../utils'; export default Vue.extend({ name: 'n8n-form-box', @@ -81,7 +82,7 @@ export default Vue.extend({ }, data() { return { - formBus: new Vue(), + formBus: createEventBus(), }; }, methods: { @@ -92,7 +93,7 @@ export default Vue.extend({ this.$emit('submit', e); }, onButtonClick() { - this.formBus.$emit('submit'); + this.formBus.emit('submit'); }, onSecondaryButtonClick(event: Event) { this.$emit('secondaryClick', event); diff --git a/packages/design-system/src/components/N8nFormInputs/FormInputs.vue b/packages/design-system/src/components/N8nFormInputs/FormInputs.vue index 507c308bd8..df85780748 100644 --- a/packages/design-system/src/components/N8nFormInputs/FormInputs.vue +++ b/packages/design-system/src/components/N8nFormInputs/FormInputs.vue @@ -37,10 +37,11 @@ diff --git a/packages/editor-ui/src/components/ImportCurlModal.vue b/packages/editor-ui/src/components/ImportCurlModal.vue index 3723b7be8b..4baa06600e 100644 --- a/packages/editor-ui/src/components/ImportCurlModal.vue +++ b/packages/editor-ui/src/components/ImportCurlModal.vue @@ -40,7 +40,6 @@