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
Iván Ovejero
336fc9e2a8
feat(core): Allow credential reuse on HTTP Request node ( #3228 )
...
* ✨ Create controller
* ⚡ Mount controller
* ✏️ Add error messages
* ✨ Create scopes fetcher
* ⚡ Account for non-existent credential type
* 📘 Type scopes request
* ⚡ Adjust error message
* 🧪 Add tests
* ✨ Introduce simple node versioning
* ⚡ Add example how to read version in node-code for custom logic
* 🐛 Fix setting of parameters
* 🐛 Fix another instance where it sets the wrong parameter
* ⚡ Remove unnecessary TOODs
* ✨ Re-version HTTP Request node
* 👕 Satisfy linter
* ⚡ Retrieve node version
* ⏪ Undo Jan's changes to Set node
* 🧪 Fix CI/CD for `/oauth2-credential` tests (#3230 )
* 🐛 Fix notice warning missing background color (#3231 )
* 🐛 Check for generic auth in node cred types
* ⚡ Refactor credentials dropdown for HTTP Request node (#3222 )
* ⚡ Discoverability flow (#3229 )
* ✨ Added node credentials type proxy. Changed node credentials input order.
* ⚡ Add computed property from versioning branch
* 🐛 Fix cred ref lost and unsaved
* ⚡ Make options consistent with cred type names
* ⚡ Use prop to set component order
* ⚡ Use constant and version
* ⚡ Fix rendering for generic auth creds
* ⚡ Mark as required on first selection
* ⚡ Implement discoverability flow
* ⚡ Mark as required on subsequent selections
* ⚡ Fix marking as required after cred deletion
* ⚡ Refactor to clean up
* ⚡ Detect position automatically
* ⚡ Add i18n to option label
* ⚡ Hide subtitle for custom action
* ⚡ Detect active credential type
* ⚡ Prop drilling to re-render select
* 🔥 Remove unneeded property
* ✏️ Rename arg
* 🔥 Remove unused import
* 🔥 Remove unneeded getters
* 🔥 Remove unused import
* ⚡ Generalize cred component positioning
* ⚡ Set up request
* 🐛 Fix edge case in endpoint
* ⚡ Display scopes alert box
* ⏪ Revert "Generalize cred comp positioning"
This reverts commit 75eea89273
.
* ⚡ Consolidate HTTPRN check
* ⚡ Fix hue percentage to degree
* 🔥 Remove unused import
* 🔥 Remove unused import
* 🔥 Remove unused class
* 🔥 Remove unused import
* 📘 Create type for HTTPRN v2 auth params
* ✏️ Rename check
* 🔥 Remove unused import
* ✏️ Add i18n to `reportUnsetCredential()`
* ⚡ Refactor Alex's spacing changes
* ⚡ Post-merge fixes
* ⚡ Add docs link
* 🔥 Exclude Notion OAuth cred
* ✏️ Update copy
* ✏️ Rename param
* 🎨 Reposition notice and simplify styling
* ✏️ Update copy
* ✏️ Update copy
* ⚡ Hide params during custom action
* ⚡ Show notice if any cred type supported
* 🐛 Prevent scopes text overflow
* 🔥 Remove superfluous check
* ✏️ Break up docstring
* 🎨 Tweak notice styling
* ⚡ Reorder cred param in Webhook node
* ✏️ Shorten cred name in scopes notice
* 🧪 Update Notice snapshots
* 🐛 Fix check when `globalRole` is `undefined`
* ⏪ Revert 3f2c4a6
* ⚡ Apply feedback from Product
* 🧪 Update snapshot
* ⚡ Adjust regex expansion pattern for singular
* 🔥 Remove unused import
* 🔥 Remove logging
* ⚡ Make `somethingElse` key more unique
* ⚡ Move something else to constants
* ⚡ Consolidate notice component
* ⚡ Apply latest feedback
* 🧪 Update tests
* 🧪 Update snapshot
* ✏️ Fix singular version
* 🧪 Finalize tests
* ✏️ Rename constant
* 🧪 Expand tests
* 🔥 Remove `truncate` prop
* 🚚 Move scopes fetching to store
* 🚚 Move method to component
* ⚡ Use constant
* ⚡ Refactor `Notice` component
* 🧪 Update tests
* 🔥 Remove unused keys
* ⚡ Inject custom API call option
* 🔥 Remove unused props
* 🎨 Use `compact` prop
* 🧪 Update snapshots
* 🚚 Move scopes to store
* 🚚 Move `nodeCredentialTypes` to parent
* ✏️ Rename cred types per branding
* 🐛 Clear scopes when none
* ⚡ Add default
* 🚚 Move `newHttpRequestNodeCredentialType` to parent
* 🔥 Remove test data
* ⚡ Separate lines for readability
* ⚡ Change reference from node to node name
* ✏️ Rename i18n keys
* ⚡ Refactor OAuth check
* 🔥 Remove unused key
* 🚚 Move `OAuth1/2 API` to i18n
* ⚡ Refactor `skipCheck`
* ⚡ Add `stopPropagation` and `preventDefault`
* 🚚 Move active credential scopes logic to store
* 🎨 Fix spacing for `NodeWebhooks` component
* ⚡ Implement feedback
* ⚡ Update HTTPRN default and issue copy
* Refactor to use `CredentialsSelect` param (#3304 )
* ⚡ Refactor into cred type param
* ⚡ Componentize scopes notice
* 🔥 Remove unused data
* 🔥 Remove unused `loadOptions`
* ⚡ Componentize `NodeCredentialType`
* 🐛 Fix param validation
* 🔥 Remove dup methods
* ⚡ Refactor all references to `isHttpRequestNodeV2`
* 🎨 Fix styling
* 🔥 Remove unused import
* 🔥 Remove unused properties
* 🎨 Fix spacing for Pipedrive Trigger node
* 🎨 Undo Webhook node styling change
* 🔥 Remove unused style
* ⚡ Cover `httpHeaderAuth` edge case
* 🐛 Fix `this.node` reference
* 🚚 Rename to `credentialsSelect`
* 🐛 Fix mistaken renaming
* ⚡ Set one attribute per line
* ⚡ Move condition to instantiation site
* 🚚 Rename prop
* ⚡ Refactor away `prepareScopesNotice`
* ✏️ Rename i18n keys
* ✏️ Update i18n calls
* ✏️ Add more i18n keys
* 🔥 Remove unused props
* ✏️ Add explanatory comment
* ⚡ Adjust check in `hasProxyAuth`
* ⚡ Refactor `credentialSelected` from prop to event
* ⚡ Eventify `valueChanged`, `setFocus`, `onBlur`
* ⚡ Eventify `optionSelected`
* ⚡ Add `noDataExpression`
* 🔥 Remove logging
* 🔥 Remove URL from scopes
* ⚡ Disregard expressions for display
* 🎨 Use CSS modules
* 📘 Tigthen interface
* 🐛 Fix generic auth display
* 🐛 Fix generic auth validation
* 📘 Loosen type
* 🚚 Move event params to end
* ⚡ Generalize reference
* ⚡ Refactor generic auth as `credentialsSelect` param
* ⏪ Restore check for `httpHeaderAuth `
* 🚚 Rename `existing` to `predefined`
* Extend metrics for HTTP Request node (#3282 )
* ⚡ Extend metrics
* 🧪 Add tests
* ⚡ Update param names
Co-authored-by: Alex Grozav <alex@grozav.com>
* ⚡ Update check per new branch
* ⚡ Include generic auth check
* ⚡ Adjust telemetry (#3359 )
* ⚡ Filter credential types by label
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2022-05-24 11:36:19 +02:00
Alex Grozav
0a69a9eb9c
test(editor): Add first frontend unit-test and update notice component design ( #3166 )
...
* ✨ Added basic Vue 2 + Vite.js setup.
* 🚧 Improved typescript support.
* ✨ Added N8nNotice component to design system with stories and unit tests.
* ✨ Migrated design system build to Vite.js.
* ♻️ Updated typescript definitions. Moved some interface types to remove reliance from design system on editor-ui user and validation types.
* ♻️ Changed prop name from type to theme. Updated truncation props.
* ♻️ Moved user response types back. Added n8n-notice component to editor-ui.
* 🐛 Fixed global vitest types.
* ✨ Added this. vue type extension to editor-ui
* ♻️ Removed circular import.
* ✅ Fixed failing n8n-notice tests.
* feat: Added support for notice truncation via typeOptions.
* ✨ Updated warning color variables and notice warning colors.
* 🐛 Fixed n8n-notice parameter input spacing.
2022-04-29 15:23:41 +02:00