Alex Grozav
27e2ce0470
feat: migrate editor-ui to Vite.js and various DX improvements (N8N-2277) ( #4061 )
...
* feat: Added vite.js dependencies.
* chore: Removed tests folder to follow same structure as design-system
* chore: Removed unused testing config.
* chore: Created vite.js index.html
* refactor: Updated scss structure and imports.
* refactor: Updated workflow building.
* fix: Cleared up all workflow dependency cycles. Added proper package.json imports config.
* feat: Got a working build using Vite. Need to fix issues next.
* fix: Progress! Getting process.env error.
* fix: Changed process.env to import.meta.env.
* fix: Fixed circular imports that used require(). Fixed monaco editor.
* chore: Removed commented code.
* chore: Cleaned up package.json
* feat: Made necessary changes to replace base path in css files.
* feat: Serve CSS files for `editor-ui` Vite migration (#4069 )
⚡ Serve CSS files for Vite migration
* chore: Fixed package-lock.json.
* fix: Fixed build after centralized tsconfig update.
* fix: Removed lodash-es replacement.
* fix: Commented out vitest test command.
* style: Fixed linting issues.
* fix: Added lodash-es hotfix back.
* chore: Updated package-lock.json
* refactor: Renamed all n8n scss variables to no longer be defined as private.
* feat(editor): add application-wide el-button replacement.
* fix(editor): Fix import in page alert after merge.
* chore(editor): update package-lock.json.
* fix: Case sensitive lodash-es replacement for vue-agile.
* fix: add alias for lodash-es camelcase import.
* fix: add patch-package support for fixing quill
* feat: add patch-package on postinstall
* fix: update quill patch path.
* refactor: rename quill patch
* fix: update quill version.
* fix: update quill patch
* fix: fix linting rules after installing eslint in design-system
* fix: update date picker button to have primary color
* test: update callout component snapshots
* fix(editor): fix linting issues in editor after enabling eslint
* fix(cli): add /assets/* to auth ignore endpoints in server
* chore: update package-lock.json
* chore: update package-lock.json
* fix(editor): fix linting issues
* feat: add vite-legacy support
* fix: update workflow package interface imports to type imports.
* chore: update package-lock.json
* fix(editor) fix importing translations other than english
* fix(editor): remove test command until vitest is added
* fix: increase memory allocation for vite build
* fix: add patch-package patches to n8n-custom docker build
* fix: add performance and load time improvements
* fix: add proper typing to setNodeType
* chore: update package-lock.json
* style: use generic type for reduce in setNodeType
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-09-23 17:14:28 +03:00
Mutasem Aldmour
40ebbeaefc
fix(editor): fix broken output panel for wait node executions ( #4156 )
2022-09-21 11:51:20 +02:00
Mutasem Aldmour
ce076dca48
feat(editor): mapping expressions from input table ( #3864 )
...
* implement tree render
* update styles
* implement slots
* fix recursive tree rendering
* make not recursive
* Revert "make not recursive"
f064fc14f4
* enable dragging
* fix dragging name
* fix col bug
* update values and styles
* update style
* update colors
* update design
* add hover state
* add dragging behavior
* format file
* update pill text
* add depth field
* typo
* add avg height
* update event name
* update expr at distance
* add right margin always
* add space
* handle long values
* update types
* update messages
* update keys styling
* update spacing size
* fix hover bug
* update switch spacing
* fix wrap issue
* update spacing issues
* remove br
* update hoverable
* reduce event
* replace tree
* update prop name
* update tree story
* update tree
* refactor run data
* add unit tests
* add test for nodeclass
* remove number check
* bring back hook
* address review comments
* update margin
* update tests
* address max's feedback
* update tslint issues
* if empty, remove min width
* update spacing back
2022-08-24 14:47:42 +02:00
Iván Ovejero
2c17e6f3ca
refactor(editor): Move nodeTypes
into store module ( #3799 )
...
* ⚡ Refactor `nodeTypes` into store module
* ⚡ Fix condition
* 🔥 Remove leftovers
* ⚡ Move `getNodeTranslationHeaders`, `getNodesInformation`, `getNodeParameterOptions`
* ⚡ Move leftover call
* ⚡ Correct excess prefix
* 🚚 Rename `nodeType` to `getNodeType`
* 🚚 Move logic to `getFullNodesProperties`
* ⚡ Simplify `getNodeType`
* ⚡ Refactor `nodeTypes` mutations
* ⚡ Refactor `Vue.set` call
* ⚡ Simplify check
* 🚚 Move export to bottom
* 📘 Simplify typing
* 🔥 Remove unused interface
* 👕 Add `void`
* 🚚 Fix naming
* 🔥 Remove logging
* ⚡ Simplify `updateNodeTypes`
* 🚚 Move `omit` to utils
* 🐛 Update `rootGetters` call
* 🐛 Fix `allNodeTypes` call in `nativelyNumberSuffixedDefaults`
* 🔥 Remove unused method
* 🔥 Remove excess namespace
Co-authored-by: Mutasem <mutdmour@gmail.com>
2022-08-01 22:43:50 +02:00
Alex Grozav
15693b0056
feat(editor): Add data pinning functionality ( #3511 )
...
* feat: Design system color improvements and button component redesign.
* feat: Added button focus state and unit tests.
* refactor: Aligned n8n-button usage inside of editor-ui.
* test: Updated snapshots.
* refactor: Extracted focus outline width into scss variable.
* fix: Fixed select input border-radius.
* refactor: Removed element-ui references in button.
* fix: Fixed scss variable imports.
* feat: Added color-neutral variable story.
* fix: Fixed color-secondary variable definition.
* feat: Added color-white story.
* test: Updated button snapshot.
* feat: Replaced zoom buttons with new n8n-icon-button.
* feat: Added stories for float utilities.
* chore: Updated color shades generation code for later use.
* chore: Removed color-white code.
* chore: Updated story properties for button components.
* fix: Added el-button fallback for places where el-button is not replaceable (messagebox).
* feat: Reverted to css modules. Replaced el-button with n8n-button at application level.
* test: Updated button snapshot.
* fix: Fixed element-ui locally referenced buttons (via components: {}).
* fix: Updated colors. Removed irrelevant validation. Added ElButton override component.
* test: Updated button override snapshot.
* fix: Various button adjustments and fixes.
* fix: Updated button disabled state.
* test: Updated snapshots.
* fix: Consolidated css variables changes.
* Data pinning (#3512 )
* refactor: Aligned n8n-button usage inside of editor-ui.
* feat: Added edit data button on json hover.
* feat: Extracted code editor into separate form component.
* feat: Added edit data button on json hover.
* feat: Added pinData and edit mode methods.
* 🔥 Remove conflict markers
* ✏️ Update i18n keys
* ⚡ Add JSON validation
* 🗃️ Add `pinData` column to `workflow_entity`
* 📘 Tighten type
* ⚡ Make `pinData` column nullable
* ⚡ Adjust workflow endpoints for pin data
* 📘 Improve types
* ✏️ Improve wording
* Inject pindata into items flow (#3420 )
* ⚡ Inject pin data - Second approach
* 🔥 Remove unneeded lint exception
* feat: Added edit data button on json hover.
* feat: Extracted code editor into separate form component.
* feat: Added edit data button on json hover.
* fix: Fixed rebase conflicts.
* ⏪ Undo button change
* 🐛 Fix runNode call
Adjust per update in bdb84130d6
* 🧪 Fix workflow tests
* 🐛 More merge conflict fixes
* feat: Added pin/unpin button and store mutations.
* feat: Size check. Various design and ux improvements.
* ⚡ Add transformer
* ⚡ Hoist pin data
* ⚡ Adjust endpoints for hoisted pin data
* 📘 Expand interface
* 🐛 Fix stray array
* 👕 Fix build
* 👕 Add lint exception
* 👕 Fix header
* 🎨 Add color secondary tints
* ✨ Create `HeaderMessage` component
* ⚡ Adjust `InfoTip` component
* ✨ Add `HeaderMessage` to `RunData`
* 🐛 Fix console error
* 👕 Fix lint
* ⚡ Consolidate `HeaderMessage` and `Callout`
* ⏪ Undo `InfoTip` changes
* 🔥 Remove duplicate icons
* ⚡ Simplify template
* 🎨 Change cursor for action text
* 👕 Fix lint
* ⚡ Add URL
* 🐛 Fix handler name
* ⚡ Use constant
* ♻️ Refactor per feedback
* fix: Various fixes after data pinning relocation.
* fix: Added store mutation for setting pinned data.
* feat: Added pinned state for workflow canvas node.
* fix: Fixed workflow saving.
* fix: Removed pinData hoisting (no longer necessary).
* feat: Added canPinData flag to hide for input pane and binary data. Fixed unpin and execute flow.
* ⚡ Fixes for canvas pin data (#3587 )
* ⚡ Fixes for canvas pin data
* 📘 Rename type
* 🧪 Fix unrelated Public API test
* 🔥 Remove logging
* feat: Updated pinData mixin to no longer include extra fields.
* ⚡ Output same pindata for every run
* 🎨 Fix cropping
* 🔥 Remove unrelated logging
* feat: Moved edit button next to pin button.
* feat: Changed data to be inserted for empty state.
* chore: Changed invalid editor output translation.
* feat: Added error line reporting on JSON Validation.
* feat: Migrated pinData edit mode to store.
* chore: Merged duplicate node border color condition.
* feat: Moved pin data validation to mixin. Added check before closing ndv modal.
* fix: Changed pinned data size calculation to discard active node pin data.
* feat: Added support for rename and delete node with pin data.
* feat: Simplified editing state. Fixed edit mode in input panel after store migration.
* feat: Various data pinning improvements.
* fix: Fixed callout link underline.
* refactor: Added support for both string and objects for data size check.
* feat: Added disabled node check for input panel. Fixed monaco editor resizing.
* fix: Fixed edit mode footer size.
* ⚡ Fix pindata items per run
* 👕 Remove unneeded exception
* refactor: Added isValidPinData() helper method.
* refactor: Changed how string size in bytes in calculated.g
* refactor: Updated pinData mixin interface.
* refactor: Merged filter and reduce in pinDataSize calculation.
* fix: Changed code-editor to correct type.
* fix: Added insert test data message to trigger nodes.
* feat: Disabled data pinning for multiple output nodes.
* refactor: Updated ndv.input.disabled translation to include node name.
* refactor: Aligned n8n-button usage inside of editor-ui.
* feat: Added edit data button on json hover.
* feat: Extracted code editor into separate form component.
* feat: Added edit data button on json hover.
* feat: Added pinData and edit mode methods.
* 🔥 Remove conflict markers
* ✏️ Update i18n keys
* ⚡ Add JSON validation
* 🗃️ Add `pinData` column to `workflow_entity`
* 📘 Tighten type
* ⚡ Make `pinData` column nullable
* ⚡ Adjust workflow endpoints for pin data
* 📘 Improve types
* ✏️ Improve wording
* Inject pindata into items flow (#3420 )
* ⚡ Inject pin data - Second approach
* 🔥 Remove unneeded lint exception
* feat: Added edit data button on json hover.
* feat: Extracted code editor into separate form component.
* feat: Added edit data button on json hover.
* fix: Fixed rebase conflicts.
* ⏪ Undo button change
* 🐛 Fix runNode call
Adjust per update in bdb84130d6
* 🧪 Fix workflow tests
* 🐛 More merge conflict fixes
* feat: Added pin/unpin button and store mutations.
* feat: Size check. Various design and ux improvements.
* ⚡ Add transformer
* ⚡ Hoist pin data
* ⚡ Adjust endpoints for hoisted pin data
* 📘 Expand interface
* 🐛 Fix stray array
* 👕 Fix build
* 🎨 Add color secondary tints
* ✨ Create `HeaderMessage` component
* ⚡ Adjust `InfoTip` component
* ✨ Add `HeaderMessage` to `RunData`
* 🐛 Fix console error
* 👕 Fix lint
* ⚡ Consolidate `HeaderMessage` and `Callout`
* ⏪ Undo `InfoTip` changes
* 🔥 Remove duplicate icons
* ⚡ Simplify template
* 🎨 Change cursor for action text
* 👕 Fix lint
* ⚡ Add URL
* 🐛 Fix handler name
* ⚡ Use constant
* ♻️ Refactor per feedback
* fix: Various fixes after data pinning relocation.
* fix: Added store mutation for setting pinned data.
* feat: Added pinned state for workflow canvas node.
* ⚡ Fixes for canvas pin data (#3587 )
* ⚡ Fixes for canvas pin data
* 📘 Rename type
* 🧪 Fix unrelated Public API test
* 🔥 Remove logging
* feat: Updated pinData mixin to no longer include extra fields.
* fix: Removed pinData hoisting (no longer necessary).
* chore: Merged duplicate node border color condition.
* ⚡ Output same pindata for every run
* 🎨 Fix cropping
* 🐛 Fix excess closing template tag
* fix: Removed rogue template tag after merge.
* fix: Fixed code-editor resizing when moving ndv panel.
* feat: Added node duplication pin data.
* ⚡ Implement telemetry
* ♻️ Add clarifications from call
* fix: Fixed run data header height.
* feat: Removed border from pin data callout.
* feat: Added line-break before 'or insert pin data'.
* feat: Changed enterEditMode to always insert test data if there's no execution data.
* feat: Removed copy output tooltip.
* feat: Removed unpin tooltip.
* fix: Removed thumbtack icon rotation.
* fix: Removed run info from Edit Output title.
* feat: Hid edit and pin buttons when editing.
* feat: Updated monaco code-editor padding and borders.
* feat: Progress on pinData error message format
* feat: Updated copy feature to work without any selected value.
* feat: Moved save and cancel buttons. Cleared notifications on save.
* feat: Changed pin data beforeClosing confirm text.
* feat: Closing ndv when discarding or saving pindata on close.
* feat: Added split in batches node to pin data denylist.
* fix: Added missing margin-bottom to webhook node.
* feat: Moved thumbtack icon to the right, replacing the checkmark.
* fix: Hid pagination while editing.
* feat: Added pin data discovery flow.
* feat: Changed pin data discovery flow to avoid tooltip glitching.
* fix: Changed copy selection to copy all input data.
* feat: Updated pin data validation error message for unexpected single quotes.
* fix: Replaced :manual='true' prop with manual shorthand.
* fix: Removed unused variable.
* chore: Renamed translation key to node.discovery.pinData.
* refactor: Extracted isPinDataNodeType to pinData mixin.
* fix: Updated watch condition to improve performance.
* refactor: Renamed some pin data variables and methods as per review.
* fix: Added partial translation for JSON.parse pin data error messages.
* chore: Temporarily disabled failing unit test.
* 🧪 Fix data pinning workflow retrieval test
* 🔥 Remove unused imports
* 🔥 Remove leftover line
* ⚡ Skip pindata node issues on BE
* ⚡ Skip pindata node issues on FE
* ⚡ Hide `RunInfo` for pindata node
* ⚡ Hide purple banner in edit output mode
* feat: Updated data pinning discoverability flow.
* fix: Fixed paginated data pinning.
* fix: Disabled pin data in read only mode.
* 🐛 Fix runtime error with non-array
* fix: Loading pin data when opening execution.
* ⚡ Adjust stale data warning for pinned data
* ⚡ Skip auth in endpoint
* ⚡ Mark start node for pinned trigger
* ✏️ Comment on passthrough
* 🔥 Remove comment
* Final pindata metrics changes (#3673 )
* 🐛 Fix `pinData` tracked as `0`
* ⚡ Add `is_pinned` to `nodesGraph`
* 📘 Extend `IWorkflowBase`
* ⚡ Handle `pinData` being `undefined`
* ⚡ Add `data_pinning_tooltip_presented`
* ♻️ Refactor to remove circular dependency
* fix: Added pin data handling when importing workflow. (#3698 )
* 🔥 Remove helper from WorkflowExecute
* ⚡ Add logic for single pinned trigger
* 👕 Remove lint exception
* fix: Added pin data handling in importWorkflowExact.
* N8N-4077 data pinning discoverability part 2 (#3701 )
* fix: Fixed pin data discovery tooltip position when moving canvas.
* feat: Updated data pinning discovery tooltip copy.
* Fix data pinning build (#3702 )
* ⚡ Disable edit button for disabled node
* ⚡ Ensure disabled pinned nodes are passthrough
* 🐛 Fix JSON key unfurling in edit mode
* ⚡ Improve implementation
* 🐛 Fix console error
* fix: Fixed copying pinned output data. (#3715 )
* Fix pinning for webhook responding with output from last node (#3719 )
* fix: Fixed entering edit mode after refresh.
* fix: Fixed type error during build.
* fix: RunData import formatting.
* chore: Updated pin data types.
* fix: Added missing type to stringSizeInBytes.
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* fix: Showing pin data without executing the node only in output pane.
* fix: Updated no data message when previous node not executed.
* feat: Added expression input and evaluation for pin data nodes without execution.
* chore: Fixed linting issues and removed remnant console.log().
* chore: Undone package-lock changes.
* fix: Removed pin data store changes.
* fix: Created a new object using vuex runExecutionData.
* fix: Fixed bug appearing when adding a new node after executing.
* fix: Fix editor-ui build
* feat: Added green node connectors when having pin data output.
* chore: Fixed linting errors.
* fix: Added pin data eventBus unsubscribe.
* fix: Added pin data color check after adding a connection.
* 🎨 Add pindata styles
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-07-20 17:50:39 +02:00
Mutasem Aldmour
a2f628927d
feat(editor): Improve trigger panel ( #3509 )
...
* add panel
* add workflow activation hints
* support service trigger nodes
* update polling state
* support more views
* update when trigger panel shows
* update start/error nodes
* add cron/interval info box
* clean up start node
* fix up webhook views
* remove console log
* add listening state
* clean up loading state
* update loading state
* fix up animation
* update views
* add executions hint
* update views
* update accordian styling
* address more issues
* disable execute button if issues
* disable if it has issues
* add stop waiting button
* can activate workflow when dsiabled
* update el
* fix has issues
* add margin bttm
* update views
* close ndv
* add shake
* update copies
* add error when polling node is missing one
* update package lock
* hide switch
* hide binary data that's missing keys
* hide main bar if ndv is open
* remove waiting to execute
* change accordion bg color
* capitalize text
* disable trigger panel in read only views
* remove webhook title
* update webhook desc
* update component
* update webhook executions note
* update header
* update webhook url
* update exec help
* bring back waiting to execute for non triggers
* add transition fade
* set shake
* add helpful tooltip
* add nonactive text
* add inactive text
* hide trigger panel by default
* remove unused import
* update pulse animation
* handle empty values for options
* update text
* add flag for mock manual executions
* add overrides
* Add overrides
* update check
* update package lock; show button for others
* hide more info
* update other core nodes
* update service name
* remove panel from nodes
* update panel
* last tweaks
* add telemetry event
* add telemetry; address issues
* address feedback
* address feedback
* address feedback
* fix previous
* fix previous
* fix bug
* fix bug with webhookbased
* add extra break
* update telemetry
* update telemetry
* add telemetry req
* add info icon story; use icon component
* clean css; en.json
* clean en.json
* rename key
* add key
* sort keys alpha
* handle activation if active + add previous state to telemetry
* stop activation if active
* remove unnessary tracking
* remove unused import
* remove unused
* remove unnessary flag
* rewrite in ts
* move pulse to design system
* clean up
* clean up
* clean up
* disable tslint check
* disable tslint check
2022-06-20 12:39:24 -07:00
Mutasem Aldmour
3af0abd9e0
feat(editor): Add input panel to NDV ( #3204 )
...
* refactor tabs out
* refactor execute button
* refactor header
* add more views
* fix error view
* fix workflow rename bug
* rename component
* fix small screen bug
* move items, fix positions
* add hover state
* show selector on empty state
* add empty run state
* fix binary view
* 1 item
* add vjs styles
* show empty row for every item
* refactor tabs
* add branch names
* fix spacing
* fix up spacing
* add run selector
* fix positioning
* clean up
* increase width of selector
* fix up spacing
* fix copy button
* fix branch naming; type issues
* fix docs in custom nodes
* add type
* hide items when run selector is shown
* increase selector size
* add select prepend
* clean up a bit
* Add pagination
* add stale icon
* enable stale data in execution run
* Revert "enable stale data in execution run"
8edb68dbff
* move metadata to its own state
* fix smaller size
* add scroll buttons
* update tabs on resize
* update stale data on rename
* remove metadata on delete
* hide x
* change title colors
* binary data classes
* remove duplicate css
* add colors
* delete unused keys
* use event bus
* refactor header out
* support different nodes
* update selector
* add immediate input
* add branch overrides
* split output input run index
* clean up unnessary data
* add missing keys
* update key names
* remove unnessary css/js
* fix outputs panel
* set max width on input selector
* fix selector to show parent nodes
* fix bug when switching between nodes
* add linking and refactor
* add linking
* fix minor issues
* hide linking when cannot link
* fix type
* fix error state
* clean up import
* fix linking edge cases
* hide input panel for triggers
* disable for start node
* format file
* refactor output panel
* add empty input hint
* update too much data view
* update slot, message under branch
* no input data view
* add node not run/no output data views
* add tooltip support on execute prev
* fix spacing in view
* address output views
* fix run node hint view
* fix spinner
* center button
* update message to use node name
* update title of no output data message
* implement loading states
* fix sizes
* fix sizes
* update spinner
* add wire me up image
* update link
* update panels design
* fix unclickable area bug
* revert change
* fix clickable bg
* fix up positioning
* ensure bg is clickable
* fix up borders
* fix height
* move border to wrapper
* set box shadow
* set box shadow
* add drag button
* add dragging for main panel
* set max width of panels
* set min width in js
* keep showing drag while dragging
* fix dragging leaving modal
* update trigger position of main panel
* move main panel position into store
* clear metadata after changing workflow
* center grid correctly
* add drag arrows
* add dragging hover
* fix cursor behavior
* update no output state
* show last run on open
* always set to latest run
* fix padding
* add I wish this node would
* clean up unsued data
* inject run info into run
* refactor out drag button
* fix dragging issue
* fix arrow bug
* increase width of panel
* change run logic
* set label font sizes
* update radiobutton pos
* address header issues
* fix prev spacing bug
* fix input order
* set package lock
* add close modal event
* complete close modal event
* add input change event
* add dragging event
* add event on view change
* add page size event
* rename event
* add event on page change
* add link click event
* add linking event
* rename var
* add run change event
* add button events
* add branch event
* add structure for open event
* add input type
* set session id
* set sessionid/source for expression events
* add params to expression events
* make display modes global
* add display mode to tracking
* add more event tracking
* add has_mapping param
* make main panel position global
* dedupe list
* fix cursor while dragging
* address feedback
* reduce bottom scrim
* remove empty option hint
* add hint tooltip
* add tritary button
* update param names
* update parameter buttons
* center empty states
* move feature request message
* increase max width for inputs selector
* fix error dispaly padding
* remove immediate
* refactor search logic to return object
* fix console errors
* fix console errors
* add node distance
* refactor how input nodes listed
* remove console log
* set package lock
* refactor recursive logic
* handle overrides
* handle default case without inputs
* fix bug width link
* fix tabs arrow bug
* handle binary data case
* update node execution
* fix merge logic
* remove console log
* delete func
* update package lock
* add hover area
* switch first input node
* keep recursive order
* make breadth first traversal
* fix overflow bug, add pluralization
* update docs url
* update drop shadow
* set background color for button
* update input
* fix truncation
* update index of input dropdown
* fix binary background
* update telemetry
* fix binary data switching
* check all parent connections for executed node
* check current state for executing node
* fix executing states
* update loading states
* use pluralization for items
* rename modal
* update pluralization
* update package lock
* update empty messagE
* format file
* refactor out dragging logic
* refactor out dragging
* add back panel position
* add telemetry params
* add survey url as const
* remove extra space, add dot
* rename tabs, update telemetery, fix telemetry bug
* update execute prev button
* rename workflow func
* rename workflow func
* delete unnessary component
* fix build issue
* add tests for workflow search
* format + add tests
* remove todo comment
* update iconnection type to match workflows
* Revert "update iconnection type to match workflows"
3772487d98
* update func comment
* fix formatting issues
* add tertiary story
* add spinner story
* remove todo comment
* remove eslint check
* update empty messagE
2022-05-23 17:56:15 +02:00