Commit Graph

903 Commits

Author SHA1 Message Date
Jan Oberhauser
d5009ee2be 🔖 Release n8n-editor-ui@0.147.0 2022-06-08 19:25:29 +00:00
Jan Oberhauser
2b48bf9ab6 ⬆️ Set n8n-design-system@0.23.0 and n8n-workflow@0.103.0 on n8n-editor-ui 2022-06-08 19:25:29 +00:00
Ricardo Espinoza
a18081d749 feat: Add n8n Public API (#3064)
* ✨ Inicial setup

* ⚡ Add authentication handler

* ⚡ Add GET /users route

* ⚡ Improvements

* 👕 Fix linting issues

* ⚡ Add GET /users/:identifier endpoint

* ⚡ Add POST /users endpoint

* ⚡ Add DELETE /users/:identifier endpoint

* ⚡ Return error using express native functions

* 👕 Fix linting issue

* ⚡ Possibility to add custom middleware

* ⚡ Refactor POST /users

* ⚡ Refactor DELETE /users

* ⚡ Improve cleaning function

* ⚡ Refactor GET /users and /users/:identifier

* ⚡ Add API spec to route

* ⚡ Add raw option to response helper

* 🐛 Fix issue adding custom middleware

* ⚡ Enable includeRole parameter in GET /users/:identifier

* ⚡ Fix linting issues after merge

* ⚡ Add missing config variable

* ⚡ General improvements

⚡ asasas

* ⚡ Add POST /users tests

* Debug public API tests

* Fix both sets of tests

* ⚡ Improvements

* ⚡ Load api versions dynamically

* ⚡ Add endpoints to UM to create/delete an API Key

* ⚡ Add index to apiKey column

* 👕 Fix linting issue

* ⚡ Clean open api spec

* ⚡ Improvements

* ⚡ Skip tests

* 🐛 Fix bug with test

* ⚡ Fix issue with the open api spec

* ⚡ Fix merge issue

* ⚡ Move token enpoints from /users to /me

* ⚡ Apply feedback to openapi.yml

* ⚡ Improvements to api-key endpoints

* 🐛 Fix test to suport API dynamic loading

* ⚡ Expose swagger ui in GET /{version}/docs

* ⚡ Allow to disable public api via env variable

* ⚡ Change handlers structure

* 🚧 WIP create credential, delete credential complete

* 🐛 fix route for creating api key

* ⚡ return api key of authenticated user

* ⚡ Expose public api activation to the settings

* ⬆️ Update package-lock.json file

* ⚡ Add execution resource

* ⚡ Fix linting issues

* 🛠 conditional public api endpoints excluding

* ⚡️ create credential complete

* ✨ Added n8n-card component. Added spacing utility classes.

* ♻️ Made use of n8n-card in existing components.

* ✨ Added api key setup view.

* ✨ Added api keys get/create/delete actions.

* ✨ Added public api permissions handling.

* ♻️ Temporarily disabling card tests.

* ♻️ Changed translations. Storing api key only in component.

* ✨ Added utilities storybook entry

* ♻️ Changed default value for generic copy input.

* 🧹 clean up createCredential

* ⚡ Add workflow resource to openapi spec

* 🐛 Fix naming with env variable

* ⚡ Allow multifile openapi spec

* ⚡ Add POST /workflows/:workflowId/activate

* fix up view, fix issues

* remove delete api key modal

* remove unused prop

* clean up store api

* remove getter

* remove unused dispatch

* fix component size to match

* use existing components

* match figma closely

* fix bug when um is disabled in sidebar

* set copy input color

* remove unused import

* ⚡ Remove css path

* ⚡ Add POST /workflows/:workflowId/desactivate

* ⚡ Add POST /workflows

* Revert "⚡ Remove css path"

a3d0a71719834ef37c88c23c83dfe662e96185aa

* attempt to fix docker image issue

* revert dockerfile test

* disable public api

* disable api differently

* Revert "disable api differently"

b70e29433e45934975e41ffdc32e288988aba9b0

* Revert "disable public api"

886e5164fb4135c164f77561bdb4427e5cd44ac1

* remove unused box

* ⚡ PUT /workflows/:workflowId

* ⚡ Refactor workflow endpoints

* ⚡ Refactor executions endpoints

* ⚡ Fix typo

* ✅ add credentials tests

* ✅ adjust users tests

* update text

* add try it out link

* ⚡ Add delete, getAll and get to the workflow resource

* address spacing comments

* ⚡️ apply correct structure

* ⚡ Add missing test to user resource and fix some issues

* ⚡ Add workflow tests

* ⚡ Add missing workflow tests and fix some issues

* ⚡ Executions tests

* ⚡ finish execution tests

* ⚡ Validate credentials data depending on type

* ⚡️ implement review comments

* 👕 fix lint issues

* ⚡ Add apiKey to sanatizeUser

* ⚡ Fix issues with spec and tests

* ⚡ Add new structure

* ⚡ Validate credentials type and properties

* ⚡ Make all endpoints except /users independent on UM

* ⚡ Add instance base path to swagger UI

* ⚡ Remove testing endpoints

* ⚡ Fix issue with openapi tags

* ⚡ Add endpoint GET /credentialTypes/:id/schema

* 🐛 Fix issue adding json middleware to public api

* ⚡ Add API playground path to FE

* ⚡ Add telemetry and external hooks

* 🐛 Fix issue with user tests

* ⚡ Move /credentialTypes under /credentials

* ⚡ Add test to GET /credentials/schema/:id

* 🛠 refactor schema naming

* ⚡ Add DB migrations
asas

* ✅ add tests for crd apiKey

* ✨ Added API View telemetry events.

* ⚡ Remove rsync from the building process as it is missing on alpine base image

* ⚡ add missing BE telemetry events

* 🐛 Fix credential tests

* ⚡ address outstanding feedback

* 🔨 Remove move:openapi script

* ⬆️ update dependency

* ⬆️ update package-lock.json

* 👕 Fix linting issue

* 🐛 Fix package.json issue

* 🐛 fix migrations and tests

* 🐛 fix typos + naming

* 🚧 WIP fixing tests

* ⚡ Add json schema validation

* ⚡ Add missing fields to node schema

* ⚡ Add limit max upper limit

* ⚡ Rename id paths

* 🐛 Fix tests

* Add package-lock.jsonto custom dockerfile

* ⬆️ Update package-lock.json

* 🐛 Fix issue with build

* ✏️ add beta label to api view

* 🔥 Remove user endpoints

* ⚡ Add schema examples to GET /credentials/schema/:id

* 🔥 Remove user endpoints tests

* 🐛 Fix tests

* 🎨 adapt points from design review

* 🔥 remove unnecessary text-align

* ⚡️ update UI

* 🐛 Fix issue with executions filter

* ⚡ Add tags filter to GET /workflows

* ⚡ Add missing error messages

* ✅ add and update public api tests

* ✅ add tests for owner activiating/deactivating non-owned wfs

* 🧪 add tests for filter for tags

* 🧪 add tests for more filter params

* 🐛 fix inclusion of tags

* 🛠 enhance readability

* ⚡️ small refactorings

* 💄 improving readability/naming

* ⚡ Set API latest version dinamically

* Add comments to toJsonSchema function

* ⚡ Fix issue

* ⚡ Make execution data usable

* ⚡ Fix validation issue

* ⚡ Rename data field and change parameter and options

* 🐛 Fix issue parameter "detailsFieldFormat" not resolving correctly

* Skip executions tests

* skip workflow failing test

* Rename details property to data

* ⚡ Add includeData parameter

* 🐛 Fix issue with openapi spec

* 🐛 Fix linting issue

* ⚡ Fix execution schema

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-06-08 20:53:12 +02:00
Jan Oberhauser
1d541310a9 🔖 Release n8n-editor-ui@0.146.0 2022-06-07 19:44:34 +00:00
Jan Oberhauser
3ce89a15b4 ⬆️ Set n8n-workflow@0.102.0 on n8n-editor-ui 2022-06-07 19:44:34 +00:00
Milorad FIlipović
59a59e0c5f feat(editor): Display Credential-Selector after Authentication Type-Selector (#3461)
* ⚡ Implemented automatic position detection for credential fields.

* ✨ Updating automatic credentials position logic (removing `getParameterResolveOrder`call and fixing input spacing).

* 🔨 Using crednetial fileds displayOptions to determine the position relative to authentication fields.

* 👌 Handling credentials position detection edge-cases (no node type, no credentials)
2022-06-07 15:02:08 +02:00
Ricardo Espinoza
a5d2ddfa26 refactor(editor): Change node-setting's parameters order (#3435) 2022-06-03 17:43:37 +02:00
Jan Oberhauser
bdb84130d6 feat(core): Add support for pairedItem (beta) (#3012)
* ✨ Add pairedItem support

* 👕 Fix lint issue

* 🐛 Fix resolution in frontend

* 🐛 Fix resolution issue

* 🐛 Fix resolution in frontend

* 🐛 Fix another resolution issue in frontend

* ⚡ Try to automatically add pairedItem data if possible

* ⚡ Cleanup

* ⚡ Display expression errors in editor UI

* 🐛 Fix issue that it did not display errors in production

* 🐛 Fix auto-fix of missing pairedItem data

* 🐛 Fix frontend resolution for not executed nodes

* ⚡ Fail execution on pairedItem resolve issue and display information
about itemIndex and runIndex

* ⚡ Allow that pairedItem is only set to number if runIndex is 0

* ✨ Improve Expression Errors

* ⚡ Remove no longer needed code

* ⚡ Make errors more helpful

* ⚡ Add additional errors

* 👕 Fix lint issue

* ⚡ Add pairedItem support to core nodes

* ⚡ Improve support in Merge-Node

* ⚡ Fix issue with not correctly converted incoming pairedItem data

* 🐛 Fix frontend resolve issue

* 🐛 Fix frontend parameter name display issue

* ⚡ Improve errors

* 👕 Fix lint issue

* ⚡ Improve errors

* ⚡ Make it possible to display parameter name in error messages

* ⚡ Improve error messages

* ⚡ Fix error message

* ⚡ Improve error messages

* ⚡ Add another error message

* ⚡ Simplify
2022-06-03 17:25:07 +02:00
Mutasem Aldmour
450a9aafea fix(editor): Fix stuck loading states (#3428) 2022-06-02 16:13:07 +02:00
Mutasem Aldmour
15a20d257d feat(core): Add support to import/export tags (#3130)
* Export and Import Workflow Tags

Support exporting and importing tags of workflows via frontend and cli.

On export, all tag data is included in the json.
- id
- name
- updatedAt
- createdAt

When importing a workflow json to n8n we:
- first check if a tag with the same id and createdAt date exists in the
  database, then we can assume the tag is identical. Changes on the name
  of the tag are now preserved.
- check if a tag with the same name exists on the database.
- create a new tag with the given name.

* clean up fe export

* remove usage count

* return updatedat, createdat

* fix tags import

* move logic from workflow package

* refactor import

* check for tags before import

* update checks on type

* fix on import

* fix build issues

* fix type issue

* remove unnessary ?

* update tag helpers so only name is required

* fix tag import

* add don't replace existing tags

* fix build issue

* address comments

* fix with promise.all

* update setting tags

* update check

* fix existing check

* add helper

* fix duplication

* fix multiple same tags bug

* fix db bugs

* add more validation on workflow type

* fix validation

* disable importing tags on copy paste

Co-authored-by: Luca Berneking <l.berneking@mittwald.de>
2022-06-02 12:39:42 +02:00
Mutasem Aldmour
50ff75ecb2 fix(editor): Fix delete button hover spacing (#3412) 2022-06-02 09:36:08 +02:00
Jan Oberhauser
50ca9c4c7e feat(editor): Display node specific settings above general ones 2022-06-02 09:27:03 +02:00
Jan Oberhauser
6df44c0396 🔖 Release n8n-editor-ui@0.145.0 2022-05-30 12:09:22 +00:00
Jan Oberhauser
6d45c77f1d ⬆️ Set n8n-design-system@0.22.0 and n8n-workflow@0.101.0 on n8n-editor-ui 2022-05-30 12:09:22 +00:00
Ben Hesseldieck
56c07a45d5 ⚡ Update URLs to n8n.io API (#3391) 2022-05-30 11:29:31 +02:00
Iván Ovejero
ed69c3cc18 fix(editor): Fix credential display bug (#3372)
* ⚡ Filter credentials by version

* ⚡ Reuse helper
2022-05-27 17:07:14 +02:00
Milorad FIlipović
96a109a57c fix(editor): Fix conflicting hover states between sticky button and node view (#3368)
* 🐛 Fixing conflicting hover states between sticky button and node view.

* 🔨 Updating and optimizing sticky menu hover logic

* 📇 Removing redundant comments from `NodeView`.
2022-05-27 17:04:14 +02:00
Jan Oberhauser
f42a16b190 🔖 Release n8n-editor-ui@0.144.2 2022-05-25 10:22:25 +02:00
Mutasem Aldmour
c7c2061590 fix(editor): Fix parameter loading bug (#3374)
* fix parameter loading bug

* remove duplicate check
2022-05-25 10:15:51 +02:00
Jan Oberhauser
96d75017d1 🔖 Release n8n-editor-ui@0.144.1 2022-05-24 18:28:42 +02:00
Mutasem Aldmour
c5fc3bc45e fix(editor): Fix problem with HTTP Request Node 1 credentials to be set (#3371) 2022-05-24 18:26:31 +02:00
Jan Oberhauser
67a369a1cc 🔖 Release n8n-editor-ui@0.144.0 2022-05-24 09:48:30 +00:00
Jan Oberhauser
36b49cb635 ⬆️ Set n8n-design-system@0.21.0 and n8n-workflow@0.100.0 on n8n-editor-ui 2022-05-24 09:48:30 +00: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 75eea89273b854110fa6d1f96c7c1d78dd3b0731.

* ⚡ 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
maxtkacz
5c5de0c92c refactor(editor): Updated Welcome sticky content (#3362)
* Updated Welcome sticky content

* 🎨 Update dimensions of sticky

* 🎨 Update position

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-05-23 21:37:22 +02: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"

8edb68dbffa0aa0d8189117e1a53381cb2c27608

* 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"

3772487d985f226acab7144c7672b5696deabb55

* 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
Jan Oberhauser
68db12ce6d fix(editor): Do not display diving line unless necessary 2022-05-20 23:49:27 +02:00
Milorad FIlipović
29ddac30d3 fix(editor): Do not display welcome sticky in template workflows (#3320)
* 🐛 Stopping a welcome sticky note to show up in template workflows

* add space

Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
2022-05-20 12:04:52 +02:00
Milorad FIlipović
17f98384a0 ⚡ Fix a typo in welcome experience telemetry event (#3308) 2022-05-17 11:59:28 +02:00
Jan Oberhauser
db83b710b1 🔖 Release n8n-editor-ui@0.143.0 2022-05-16 16:30:55 +00:00
Jan Oberhauser
aaaeb14876 ⬆️ Set n8n-design-system@0.20.0 and n8n-workflow@0.99.0 on n8n-editor-ui 2022-05-16 16:30:55 +00:00
Mutasem Aldmour
35f2ce2359 feat(editor): Improve n8n welcome experience (#3289)
* ✨ Injecting a welcome sticky note if a corresponding flag has been received from backend

* 🔒 Allowing resources from `/static` route to be displayed in markown component.

* ✨ Implemented image width control via markdown URLs

* 💄Updating quickstart video thumbnail images.

* 🔨 Updated new workflow action name and quickstart sticky name

* ✨ Added quickstart menu item in the Help menu

* 🔨 Moving quickstart video thumbnail to the translation file.

* 🔒 Limiting http static resource requests in markdown img tags only to image files.

* 🔒 Adding more file types to supported image list in markown component.

* 👌 Extracting quickstart note name to constant.

* 🐘 add DB migration sqlite

* ⚡️ add logic for onboarding flow flag

* 🐘 add postgres migration for user settings

* 🐘 add mysql migration for user settings

* ✨ Injecting a welcome sticky note if a corresponding flag has been received from backend

* 🔒 Allowing resources from `/static` route to be displayed in markown component.

* ✨ Implemented image width control via markdown URLs

* 💄Updating quickstart video thumbnail images.

* 🔨 Updated new workflow action name and quickstart sticky name

* ✨ Added quickstart menu item in the Help menu

* 🔨 Moving quickstart video thumbnail to the translation file.

* 🔒 Limiting http static resource requests in markdown img tags only to image files.

* 🔒 Adding more file types to supported image list in markown component.

* 👌 Extracting quickstart note name to constant.

* 📈 Added telemetry events to quickstart sticky note.

* ⚡ Disable sticky node type from showing in expression editor

* 🔨 Improving welcome video link detecton when triggering telemetry events

* 👌Moved sticky links click handling logic outside of the design system, removed user and instance id from telemetry events.

* 👌Improving sticky note link telemetry tracking.

* 🔨 Refactoring markdown component click event logic.

* 🔨 Moving bits of clicked link detection logic to Markdown component.

* 💄Fixing code spacing.

* remove transpileonly option

* update package lock

* 💄Changing the default route to `/workflow`, updating welcome sticky content.

* remove hardcoded

* 🐛 Fixing the onboarding threshold logic so sticky notes are skipped when counting nodes.

* 👕 Fixing linting errors.

Co-authored-by: Milorad Filipović <milorad.filipovic19@gmail.com>
Co-authored-by: Milorad Filipović <miloradfilipovic19@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Milorad Filipović <milorad@n8n.io>
2022-05-16 18:19:33 +02:00
Jan Oberhauser
22f086bafd 🔖 Release n8n-editor-ui@0.142.1 2022-05-03 10:22:24 +02:00
Jan Oberhauser
ed56481243 fix(editor): Fix bug with node version 2022-05-03 10:20:23 +02:00
Jan Oberhauser
26e0127876 🔖 Release n8n-editor-ui@0.142.0 2022-05-02 10:23:02 +00:00
Jan Oberhauser
77acd2244a ⬆️ Set n8n-design-system@0.19.0 and n8n-workflow@0.98.0 on n8n-editor-ui 2022-05-02 10:23:01 +00: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
Jan Oberhauser
d5b9b0cb95 feat(core): Introduce simplified node versioning (#3205)
* ✨ 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

* ⚡ Revert Set Node example changes

* ;rotating_light: Add test
2022-04-28 19:04:09 +02:00
Mutasem Aldmour
8d9e05e3c3 fix(editor): Fix bug with touchscreens (#3206) 2022-04-28 17:36:41 +02:00
Jan Oberhauser
4f87125eba 🔖 Release n8n-editor-ui@0.141.0 2022-04-25 10:50:01 +00:00
Jan Oberhauser
1a9c865814 ⬆️ Set n8n-design-system@0.18.0 and n8n-workflow@0.97.0 on n8n-editor-ui 2022-04-25 10:50:01 +00:00
Mutasem Aldmour
31dd01f9cb feat(editor): Add Workflow Stickies (Notes) (#3154)
* N8N-3029 Add Node Type for Wokrflow Stickies/Notes

* N8N-3029 Update Content, Update Aliasses

* N8N-3030 Created N8N Sticky Component in Design System

* N8N-3030 Fixed Code spaccing Sticky Component

* N8N-3030 Fixed Code spaccing StickyStories Component

* N8N-3030 Fixed Code spaccing Markdown Component

* N8N-3030 Added Sticky Colors Pallete into Storybook, Update Color Variables for Sticky Component

* N8N-3030 Added Unfocus Event

* N8N-3030 Update Default Placeholder, Markdown Styles, Fixed Edit State, Added Text to EditState, Fixed Height of Area, Turned off Resize of textarea

* N8N-3030 Update Sticky Overflow, Update Hover States, Updated Markdown Overflow

* N8N-3030, N8N-3031 - Add Resize to Sticky, Created N8n-Resize component

* N8N-3031 Fixed Importing Components in Editor-ui

* N8N-3031 Fixed Resize Component, Fixed Gradient

* N8N-3030, N8N-3031 Update Note Description

* N8N-3032 Hotfix Building Storybook

* N8N-3032 - Select Behaviour, Changes in Resize Component, Emit on Width/Height/Top/Left Change

* N8N-3032 Update Resize Component to emmit left/top, Update Dynamic Resize on Selected Background

* N8N-3032 Updated / Dragging vs Resizing, prevent open Modal for stickies

* N8N-3032 Added ID props to n8n-sticky // dynamic id for multi resizing in NodeView

* N8N-3033 Add dynamic size Tooltip on Sticky

* N8N-3033 Updated Z-index for Sticky Component

* N8N-3033 Updated N8N-Resize Component, Fixed SelectedBackround for Sticky Component

* N8N-3033 Refactor

* N8N-3033 Focus/Defocus on TextArea

* N8N-3033 Fixed Resizing on NW Point

* N8N-3030 Save content in vuex on input change

* N8N-3033 Fixed Resizer, Save Width and Height in Vue

* N8N-3033 Hide Sticky Footer on small height/width

* N8N-3033 Fixed Resizer

* N8N-3033 Dynamic Z-index for Stickies

* N8N-3033 Dynamic Z-index for Stickies

* N8N-3033 Removed static z-index for select sticky class

* N8N-3034 Added Telemetry

* N8N-3030 Formatter

* N8N-3030 Format code

* N8N-3030 Fixed Selecting Stickies

* N8N-3033 Fixed Notifications

* N8N-3030 Added new paddings for Default Stickies

* N8N-3033 Prevent Scrolling NodeView when Sticky is in Edit mode and Mouse is Over the TextArea

* N8N-3030 Prevent double clicking to switch state of Sticky component in Edit Mode

* N8N-3033 Fixed Z-index of Stickies

* N8N-3033 Prevent delete node when in EditMode

* N8N-3030 Prevent Delete Button to delete the Sticky while in Edit Mode

* N8N-3030 Change EditMode (emit) on keyboard shortucts, update Markdown Links & Images, Added new props

* N8N-3030 Sticky Component - No padding when hiding footer text

* N8N-3033 Fix Resizing enter into Edit Mode

* N8N-3033 Selecting different nodes - exit the edit mode

* N8N-3033 Auto Select Text in text-area by default - Sticky Component

* N8N-3033 Prevent Default behaviour for CTRL + X, CTRL + A when Sticky is Active && inEditMode

* N8N-3033 Refactor Resizer, Refactor Sticky, Update zIndex inEditMode

* N8N-3033 Updated Default Text // Node-base, Storybook

* N8N-3033 Add Resizing in EditMode - Components update

* N8N-3033 Fixed Footer - Show/Hide on Resize in EditMode

* N8N-3033 Fix ActiveSticky on Init

* N8N-3033 Refactor Sticky in Vuex, Fixed Init Sticky Tweaks, Prevent Modal Openning, Save on Keyboard shortcuts

* Stickies - Update Note node with new props

* N8N-3030 Updated Default Note text, Update the Markdown Link

* N8N-3030 CMD-C does not copy the text fix

* N8N-3030 Fix Max Zoom / Zoom out shortcuts disabled in editState

* N8N-3030 Z-index fixed during Edit Mode typing

* N8N-3030 Prevent Autoselect Text in Stickies if the text is not default

* N8N-3030 Fixed ReadOnly Bugs / Prevent showing Tooltip, Resizing

* N8N-3030 Added Sticky Creator Button

* N8N-3030 Update Icon / Sticky Creator Button

* N8N-3033 Update Sticky Icon / StickyCreator Button

* update package lock

* 🔩 update note props

* 🚿 clean props

* 🔧 linting

* 🔧 fix spacing

* remove resize component

* remove resize component

* ✂ clean up sticky

* revert back to height width

* revert back to height/width

* replace zindex property

* replace default text property

* use i18n to translate

* update package lock

* move resize

* clean up how height/width are set

* fix resize for sticky to support left/top

* clean up resize

* fix lasso/highlight bug

* remove unused props

* fix zoom to fit

* fix padding for demo view

* fix readonly

* remove iseditable, use active state

* clean up keyboard events

* chang button size, no edit on insert

* scale resizing correctly

* make active on resize

* fix select on resize/move

* use outline icon

* allow for multiple line breaks

* fix multi line bug

* fix edit mode outline

* keep edit open as one resizes

* respect multiple spaces

* fix scrolling bug

* clean up hover impl

* clean up references to note

* disable for rename

* fix drifting while drag

* fix mouse cursor on resize

* fix sticky min height

* refactor resize into component

* fix pulling too far bug

* fix delete/cut all bug

* fix padding bottom

* fix active change on resize

* add transition to button

* Fix sticky markdown click

* add solid fa icon

* update node graph, telemetry event

* add snapping

* change alt text

* update package lock

* fix bug in button hover

* add back transition

* clean up resize

* add grid size as param

* remove breaks

* clean up markdown

* lint fixes

* fix spacing

* clean up markdown colors

* clean up classes in resize

* clean up resize

* update sticky story

* fix spacing

* clean up classes

* revert change

* revert change

* revert change

* clean up sticky component

* remove unused component

* remove unnessary data

* remove unnessary data

* clean up actions

* clean up sticky size

* clean up unnessary border style

* fix bug

* replace sticky note name

* update description

* remove support for multi spaces

* update tracking name

* update telemetry reqs

* fix enter bug

* update alt text

* update sticky notes doc url

* fix readonly bug

* update class name

* update quote marks

Co-authored-by: SchnapsterDog <olivertrajceski@yahoo.com>
2022-04-25 12:38:37 +02:00
Jan Oberhauser
05663b2116 🔖 Release n8n-editor-ui@0.140.0 2022-04-19 10:47:25 +00:00
Jan Oberhauser
9087da771b ⬆️ Set n8n-workflow@0.96.0 on n8n-editor-ui 2022-04-19 10:47:25 +00:00
Alex Grozav
f566569299 feat(editor): Add drag and drop from nodes panel (#3123)
* ✨ Added support for drag and drop from nodes main panel.

✨ Added node draggable placeholder.

* ✨ Added snapping to grid. Changed how draggable ghost follows the cursor.

* 💄 Changed node drag anchor position to be centered.

* ✨ Added drag and drop animation. Added event cancellation when dropping node on main panel.

* ♻️ Simplified drag and drop code and cleaned up prop-drilling.

* 🐛 Added check for nodeTypeName in dataTransfer when draging and dropping nodes.

* 🐛 Ensured MS Edge compatibility. MS edge does not send datatransfer in ondragover event.

Co-authored-by: Mutasem <mutdmour@gmail.com>
2022-04-19 12:28:31 +02:00
Iván Ovejero
18dee373d5 ⚡ Add autocompletion for i18n keys in script sections of Vue files (#3133)
* 📘 Type `baseText()` to i18n keys

* 📘 Adjust `baseText()` signature

* 👕 Except JSON files from Vue ESLint

* 🐛 Fix errors surfaced by `baseText()` typing

* ⚡ Pluralize keys

* 📘 Add typing for category names

* ⚡ Mark internal keys

* ✏️ Update docs references

* 🎨 Prettify syntax

* 🐛 Fix leftover internal key references
2022-04-15 08:22:58 +02:00
Alex Grozav
17b0cd8f76 fix(editor): Fix breaking Drop-downs after removing expressions (#3094)
* 🐛 Fixed multiOption parameter input dropdown values after removing expression.

* ♻️ Moved array value normalization to removeExpression action.

* 🐛 Handled scenario where expression contained invalid value.
2022-04-15 07:35:51 +02:00
Alex Grozav
29fdd77d7b fix(ui): Reset text-edit input value when pressing esc key to have matching input values (#3098) 2022-04-14 09:30:31 +02:00
Jan Oberhauser
83a634c337 🔖 Release n8n-editor-ui@0.139.0 2022-04-11 13:25:33 +00:00
Jan Oberhauser
a3a3aab8d0 ⬆️ Set n8n-design-system@0.17.0 and n8n-workflow@0.95.0 on n8n-editor-ui 2022-04-11 13:25:32 +00:00