From 02810a9ba3e792a2ec8966a2ca3bf7394740bf24 Mon Sep 17 00:00:00 2001 From: OlegIvaniv Date: Wed, 22 Mar 2023 15:36:10 +0100 Subject: [PATCH] feat(editor): Fix ResourceLocator dropdown style (#5714) * fix(editor): Fix ResourceLocator dropdown style * Fix other popper classes * Fix app hanging if loading many remote parameter options * Make ResourceLocatorDropdown flex * Override scrollbar styles * Hide resource locator on outside click not input blur --- .../components/N8nInputLabel/InputLabel.vue | 2 +- .../components/N8nUserSelect/UserSelect.vue | 2 +- .../src/components/ParameterInput.vue | 5 ++- .../ResourceLocatorDropdown.vue | 35 ++++++++++++------- .../editor-ui/src/views/CanvasAddButton.vue | 2 +- 5 files changed, 30 insertions(+), 16 deletions(-) diff --git a/packages/design-system/src/components/N8nInputLabel/InputLabel.vue b/packages/design-system/src/components/N8nInputLabel/InputLabel.vue index e600a80cb5..6dc5d2a840 100644 --- a/packages/design-system/src/components/N8nInputLabel/InputLabel.vue +++ b/packages/design-system/src/components/N8nInputLabel/InputLabel.vue @@ -206,7 +206,7 @@ export default Vue.extend({ border-bottom: var(--border-base); } -.tooltipPopper { +:root .tooltipPopper { max-width: 400px; li { diff --git a/packages/design-system/src/components/N8nUserSelect/UserSelect.vue b/packages/design-system/src/components/N8nUserSelect/UserSelect.vue index 5be64e22fd..cdb01b68bd 100644 --- a/packages/design-system/src/components/N8nUserSelect/UserSelect.vue +++ b/packages/design-system/src/components/N8nUserSelect/UserSelect.vue @@ -149,7 +149,7 @@ export default mixins(Locale).extend({ --select-option-line-height: 1; } -.limitPopperWidth { +:root .limitPopperWidth { width: 0; li > span { diff --git a/packages/editor-ui/src/components/ParameterInput.vue b/packages/editor-ui/src/components/ParameterInput.vue index c9664b1f96..8d0c887531 100644 --- a/packages/editor-ui/src/components/ParameterInput.vue +++ b/packages/editor-ui/src/components/ParameterInput.vue @@ -787,10 +787,13 @@ export default mixins( isSecretParameter(): boolean { return this.getArgument('password') === true; }, + remoteParameterOptionsKeys(): string[] { + return (this.remoteParameterOptions || []).map((o) => o.name); + }, }, methods: { isRemoteParameterOption(option: INodePropertyOptions) { - return this.remoteParameterOptions.map((o) => o.name).includes(option.name); + return this.remoteParameterOptionsKeys.includes(option.name); }, credentialSelected(updateInformation: INodeUpdatePropertiesInformation) { // Update the values on the node diff --git a/packages/editor-ui/src/components/ResourceLocator/ResourceLocatorDropdown.vue b/packages/editor-ui/src/components/ResourceLocator/ResourceLocatorDropdown.vue index 10cc685646..0fff36c344 100644 --- a/packages/editor-ui/src/components/ResourceLocator/ResourceLocatorDropdown.vue +++ b/packages/editor-ui/src/components/ResourceLocator/ResourceLocatorDropdown.vue @@ -5,6 +5,7 @@ :popper-class="$style.popover" :value="show" trigger="manual" + v-click-outside="onClickOutside" >
@@ -15,7 +16,6 @@ :value="filter" :clearable="true" @input="onFilterInput" - @blur="onSearchBlur" ref="search" :placeholder="$locale.baseText('resourceLocator.search.placeholder')" > @@ -36,7 +36,7 @@
-
+
@@ -201,7 +201,7 @@ export default Vue.extend({ onFilterInput(value: string) { this.$emit('filter', value); }, - onSearchBlur() { + onClickOutside() { this.$emit('hide'); }, onItemClick(selected: string) { @@ -253,19 +253,32 @@ export default Vue.extend({