From 577c73ee25c5bfc943ef5ed1de550fcb489f4998 Mon Sep 17 00:00:00 2001 From: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Date: Wed, 20 Jul 2022 13:32:51 +0200 Subject: [PATCH] feat(editor): Add drag and drop data mapping (#3708) * commit package lock * refactor param options out * use action toggle * handle click on toggle * update color toggle * fix toggle * show options * update expression color * update pointer * fix readonly * fix readonly * fix expression spacing * refactor input label * show icon for headers * center icon * fix multi params * add credential options * increase spacing * update expression view * update transition * update el padding * rename side to options * fix label overflow * fix bug with unnessary lines * add overlay * fix bug affecting other pages * clean up spacing * rename * update icon size * fix toggle in users * clean up func * clean up css * use css var * fix overlay bug * clean up input * clean up input * clean up unnessary css * revert * update quotes * rename method * remove console errors * refactor data table * add drag button * make hoverable cells * add drag hint * disabel for output panel * add drag * disable for readonly * Add dragging * add draggable pill * add mapping targets * remove font color * Transferable * fix linting issue * teleport component * fix line * disable for readonly * fix position of data pill * fix position of data pill * ignore import * add droppable state * remove draggable key * update bg color * add value drop * use direct input * remove transition * add animation * shorten name * handle empty value * fix switch bug * fix up animation * add notification * add hint * add tooltip * show draggable hintm * fix multiple expre * fix hoverable * keep options on focus * increase timeouts * fix bug in set node * add transition on hover out * fix tooltip onboarding bug * only update expression if changes * add open delay * fix header highlight issue * update text * dont show tooltip always * update docs url * update ee border * add sticky behav * hide error highlight if dropping * switch out grip icon * increase timeout * add delay * show hint on execprev * add telemetry event * add telemetry event * add telemetry event * fire event on hint showing * fix telemetry event * add path * fix drag hint issue * decrease bottom margin * update mapping keys * remove file * hide overflow * sort params * add space * prevent scrolling * remove dropshadow * force cursor * address some comments * add thead tbody * add size opt --- .../N8nActionToggle/ActionToggle.stories.js | 6 +- .../N8nActionToggle/ActionToggle.vue | 40 +- .../components/N8nInputLabel/InputLabel.vue | 159 +++-- .../N8nRadioButtons/RadioButton.vue | 42 +- .../N8nRadioButtons/RadioButtons.stories.js | 4 + .../N8nRadioButtons/RadioButtons.vue | 17 +- .../src/components/N8nUsersList/UsersList.vue | 1 + .../src/styleguide/fonts.stories.mdx | 2 +- packages/design-system/theme/src/_tokens.scss | 17 + packages/design-system/theme/src/reset.scss | 1 - packages/editor-ui/package.json | 1 + packages/editor-ui/src/Interface.ts | 9 + .../editor-ui/src/components/Draggable.vue | 84 ++- .../src/components/DraggableTarget.vue | 80 +++ .../src/components/ExpressionEdit.vue | 13 +- .../src/components/ExpressionInput.vue | 2 +- .../components/FixedCollectionParameter.vue | 99 ++-- .../editor-ui/src/components/InputPanel.vue | 55 +- .../src/components/MultipleParameter.vue | 45 +- .../src/components/PanelDragButton.vue | 2 +- .../src/components/ParameterInput.vue | 546 ++++++++++-------- .../src/components/ParameterInputExpanded.vue | 75 ++- .../src/components/ParameterInputFull.vue | 136 ++++- .../src/components/ParameterInputList.vue | 36 +- .../src/components/ParameterOptions.vue | 164 ++++-- packages/editor-ui/src/components/RunData.vue | 68 +-- .../editor-ui/src/components/RunDataTable.vue | 287 +++++++++ .../editor-ui/src/components/ShortenName.vue | 13 +- packages/editor-ui/src/components/helpers.ts | 17 +- packages/editor-ui/src/constants.ts | 4 + packages/editor-ui/src/modules/ui.ts | 51 +- .../src/plugins/i18n/locales/en.json | 11 +- packages/editor-ui/src/plugins/icons.ts | 2 + 33 files changed, 1490 insertions(+), 599 deletions(-) create mode 100644 packages/editor-ui/src/components/DraggableTarget.vue create mode 100644 packages/editor-ui/src/components/RunDataTable.vue diff --git a/packages/design-system/src/components/N8nActionToggle/ActionToggle.stories.js b/packages/design-system/src/components/N8nActionToggle/ActionToggle.stories.js index 62ea3289f..f51148a3b 100644 --- a/packages/design-system/src/components/N8nActionToggle/ActionToggle.stories.js +++ b/packages/design-system/src/components/N8nActionToggle/ActionToggle.stories.js @@ -7,7 +7,11 @@ export default { argTypes: { placement: { type: 'select', - options: ['top', 'bottom'], + options: ['top', 'top-start', 'top-end', 'bottom', 'bottom-end'], + }, + size: { + type: 'select', + options: ['mini', 'small', 'medium'], }, }, parameters: { diff --git a/packages/design-system/src/components/N8nActionToggle/ActionToggle.vue b/packages/design-system/src/components/N8nActionToggle/ActionToggle.vue index c73f32430..d2fbc0621 100644 --- a/packages/design-system/src/components/N8nActionToggle/ActionToggle.vue +++ b/packages/design-system/src/components/N8nActionToggle/ActionToggle.vue @@ -1,9 +1,10 @@