Compare commits

...

143 Commits

Author SHA1 Message Date
Nick O'Leary
241b47fe19 Merge branch 'master' into pr_3744 2022-07-08 13:08:26 +01:00
Nick O'Leary
69beecf334 Fix menu padding for pull-left submenus 2022-07-08 13:06:05 +01:00
Nick O'Leary
e308e02f9d Merge pull request #3745 from node-red-hitachi/fix-debug-path-menu
Fix clear pinned paths of debug sidebar menu
2022-07-08 08:53:24 +01:00
Nick O'Leary
87258e485a Merge pull request #3742 from Steve-Mcl/fix-tooltip-exception
prevent exception generating tooltip for deleted nodes
2022-07-08 08:23:56 +01:00
Nick O'Leary
0682c346ea Merge pull request #3741 from Steve-Mcl/fix-context-menu
Fix context menu issues ready for v3 beta.5
2022-07-08 08:23:02 +01:00
Hiroyasu Nishiyama
5ae566952b do not show clear pinned if not available 2022-07-08 13:10:21 +09:00
Hiroyasu Nishiyama
18f9ab0cda make left sub-menu caret fit within context menu 2022-07-07 20:23:27 +09:00
Hiroyasu Nishiyama
bd4a5ac844 fixed menu width and window width 2022-07-07 19:39:28 +09:00
Hiroyasu Nishiyama
257b1f89f3 fix display direction of context sub-menu 2022-07-07 16:49:13 +09:00
Steve-Mcl
962672564e prevent exception generating tooltip for deleted nodes 2022-07-06 15:17:58 +01:00
Steve-Mcl
7216c6d62a code linting and remove excessive new lines 2022-07-06 13:08:56 +01:00
Steve-Mcl
21d3261eec Allow editor events to close context menu 2022-07-06 13:05:57 +01:00
Steve-Mcl
03f758720c Allow escape key to close context menu 2022-07-06 13:05:18 +01:00
Steve-Mcl
eaa85ae8d5 Fix insert=>link nodes enable/disable state 2022-07-06 12:54:22 +01:00
Stephen McLaughlin
8cb212d897 Merge pull request #3729 from node-red/cut-vs-copy
Do not generate new node-ids when pasting a cut flow
2022-07-06 10:36:14 +01:00
Stephen McLaughlin
a38d3981df Merge pull request #3731 from node-red-hitachi/fix-node-move
Fix to prevent node from moving out of workspace
2022-07-06 10:35:54 +01:00
Stephen McLaughlin
af08c077d2 Merge pull request #3736 from bonanitech/disabled-config-node-background
Don't let themes change disabled config node background color
2022-07-06 10:34:20 +01:00
Stephen McLaughlin
84e2489585 Merge pull request #3737 from bonanitech/pr3692-leftovers
Move colors left behind in #3692 to CSS variables
2022-07-06 10:33:59 +01:00
Mauricio Bonani
744375bd5d Don't let themes change config node label colors 2022-07-05 07:33:31 -04:00
Hiroyasu Nishiyama
6c1f63bfbb introduce RED.view.dimensions for workspace dimensions 2022-07-05 09:02:21 +09:00
Mauricio Bonani
7d0267c924 Move colors left behind in #3692 to CSS variables 2022-07-04 18:38:45 -04:00
Mauricio Bonani
daa9cb65e5 Change disabled config node background color variable 2022-07-04 17:17:40 -04:00
Nick O'Leary
7072265225 Merge pull request #3734 from node-red-hitachi/fix-close-websocket
Fix close timeout of websocket node
2022-07-04 21:02:20 +01:00
Nick O'Leary
8daade0021 Merge pull request #3733 from node-red-hitachi/fix-debug-message-handling
fix handling of global debug message
2022-07-04 21:01:35 +01:00
Nick O'Leary
b4d30b462f Merge pull request #3730 from ralphwetzel/master
Fix label overflow @ config-node palette
2022-07-04 20:52:04 +01:00
Nick O'Leary
18acd67b4f Merge pull request #3728 from node-red/fix-credential-clear
Do not remove unknown credentials of Subflow Modules
2022-07-04 20:47:04 +01:00
Nick O'Leary
78ed53f4fb Ensure a second paste of cut nodes is treated as a copy-paste 2022-07-04 20:46:21 +01:00
Nick O'Leary
d95314c754 Update packages/node_modules/@node-red/runtime/lib/nodes/credentials.js 2022-07-04 20:21:25 +01:00
Hiroyasu Nishiyama
277cc19ec3 call done after close handler 2022-07-04 11:23:47 +09:00
Hiroyasu Nishiyama
67f4553213 fix handling of global debug message 2022-07-04 10:45:20 +09:00
Nick O'Leary
b2bb656d30 Merge pull request #3732 from node-red/fix-monaco-default
Fix defaulting to monaco if settings does not contain codeEditor
2022-07-03 20:55:16 +01:00
Nick O'Leary
ca20f41d0e Update theme tests to ensure monaco is loaded 2022-07-03 20:37:55 +01:00
Nick O'Leary
13e8aeae4e Fix defaulting to monaco if settings does not contain codeEditor 2022-07-03 20:22:19 +01:00
Hiroyasu Nishiyama
02308f9e2f prevennt node from moving out of workspace 2022-07-03 20:39:54 +09:00
ralphwetzel
0fdcbb4611 Fix label overflow @ config-node palette 2022-07-02 09:52:14 +02:00
Nick O'Leary
829ccc3466 Do not generate new node-ids when pasting a cut flow
Fixes #3629
2022-07-01 17:48:14 +01:00
Nick O'Leary
9ac83cf62e Do not remove unknown credentials of Subflow Modules
Fixes #3641
2022-07-01 17:34:16 +01:00
Nick O'Leary
f760354e82 Merge pull request #3700 from ralphwetzel/master
Disable keyboard shortcut mapping when showing Edit[..]Dialog
2022-07-01 12:23:49 +01:00
Nick O'Leary
e91e35d508 Merge pull request #3721 from node-red/update-changlog
Add missing entries from beta.4 changelog
2022-07-01 12:22:09 +01:00
Nick O'Leary
db7e196bf8 Merge pull request #3727 from node-red/rh-click-link-actions
Update add-junction menu to work in more cases
2022-07-01 12:22:00 +01:00
Nick O'Leary
f5fe4f99f1 Merge pull request #3723 from Steve-Mcl/fix-import
Ensure importMap is not null when using import UI
2022-07-01 12:21:37 +01:00
Nick O'Leary
e2bff36395 Merge pull request #3724 from kazuhitoyokoi/master-addjpn
Add Japanese translations for v3.0-beta.4
2022-07-01 10:40:26 +01:00
Nick O'Leary
0a5d7c2100 Update add-junction menu to work in more cases 2022-07-01 10:31:50 +01:00
ralphwetzel
4d42f8ec58 Global variable definition in for loop: Fixed 2022-06-30 22:08:58 +02:00
ralphwetzel
81e7b052da Merge branch 'master' of https://github.com/ralphwetzel/node-red 2022-06-30 21:55:25 +02:00
ralphwetzel
be44b7e2c7 Merge branch 'node-red:master' into master 2022-06-30 21:54:18 +02:00
ralphwetzel
d8a781632c Re-order shortcut keymap 2022-06-30 21:52:52 +02:00
ralphwetzel
3726d6fe3b Finetune keyboard shortcut management 2022-06-30 21:52:16 +02:00
ralphwetzel
6090a5b274 Revert disable/enable logic proposed before 2022-06-30 21:51:51 +02:00
Kazuhito Yokoi
d4fdf6be67 Add Japanese translations for v3.0-beta.4 2022-07-01 01:09:06 +09:00
Steve-Mcl
1b6cbe5c23 Ensure importMap is not null when using import UI
fixes #3722
2022-06-30 15:17:49 +01:00
Nick O'Leary
1d130a7857 Add missing entries from beta.4 changelog 2022-06-30 10:14:51 +01:00
Nick O'Leary
f041159aa7 Merge pull request #3720 from node-red/300-b4
Update for 3 beta 4
2022-06-30 09:40:56 +01:00
Nick O'Leary
f438cbf633 Update for 3 beta 4 2022-06-29 21:04:28 +01:00
Nick O'Leary
51684d18cf Merge pull request #3719 from node-red/pr_3642
Allow flows to be stopped and started manually
2022-06-29 20:54:45 +01:00
Nick O'Leary
c13d2ac044 Merge pull request #3692 from bonanitech/use-css-variables
Move all colours to CSS variables
2022-06-29 20:54:25 +01:00
Nick O'Leary
6dd1adda2e Merge pull request #3703 from node-red-hitachi/fix-subflow-credential-input
Fix credential type input item of subflow template
2022-06-29 20:24:24 +01:00
Nick O'Leary
5d0d7391e7 Merge pull request #3709 from node-red/Fix-delay-rate-limit-timing-when-empty
Fix delay rate limit last timing when empty
2022-06-29 20:23:33 +01:00
Nick O'Leary
d37da58e87 Merge pull request #3718 from Steve-Mcl/fix-async-node-type-reg
Add option flag `reimport` to `importNodes`
2022-06-29 20:22:48 +01:00
Nick O'Leary
1839c1972e Update packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js
Co-authored-by: Stephen McLaughlin <44235289+Steve-Mcl@users.noreply.github.com>
2022-06-29 20:21:27 +01:00
Stephen McLaughlin
b7bdcc4e57 Update packages/node_modules/@node-red/editor-client/locales/en-US/editor.json
Remove unused i18n entries (these are safe to remove - were added in the original PR)
2022-06-29 18:37:53 +01:00
Nick O'Leary
b59a3b15f3 Fix flow unit tests 2022-06-29 11:41:19 +01:00
Nick O'Leary
7580f7491a Update flow state tests to match changes in api 2022-06-29 10:45:06 +01:00
Nick O'Leary
f33848e16b Rework start/stop api to use runtime-event notification message 2022-06-29 10:27:44 +01:00
Mauricio Bonani
9b4d3ad6bf Merge branch 'master' into use-css-variables 2022-06-28 16:25:40 -04:00
Mauricio Bonani
7b06d4273a Use the correct variable for alpha values 2022-06-28 16:22:31 -04:00
Nick O'Leary
95f7ea9fc0 Merge pull request #3691 from Dennis14e/patch-1-de
Update german translation
2022-06-28 20:56:50 +01:00
Nick O'Leary
12b64d1906 Merge pull request #3695 from node-red/fix-dynamic-link-call
Ensure link-call cache is updated when link-in is modified
2022-06-28 20:56:33 +01:00
Nick O'Leary
52db4b3321 Merge pull request #3716 from node-red/CSV-fix-n-handling-inside-text-fields
Fix CSV node to handle \n when outputting text fields
2022-06-28 20:55:29 +01:00
Nick O'Leary
388c1b4ce4 Merge pull request #3717 from node-red/tour-help
List welcome tours in help sidebar
2022-06-28 20:54:44 +01:00
Nick O'Leary
b134cdb90d Merge pull request #3715 from node-red/fix-hide-flows-count
Ensure 'hidden flow' count doesn't include subflows
2022-06-28 20:54:29 +01:00
Steve-Mcl
c120dffbf0 Add option flag reimport to importNodes
fixes #3699
2022-06-28 16:22:24 +01:00
Hiroyasu Nishiyama
3578f1b254 remove line break to prevent jshint error 2022-06-28 20:35:39 +09:00
Nick O'Leary
a7e3548f22 List welcome tours in help sidebar under node-red section 2022-06-28 11:54:51 +01:00
Nick O'Leary
272e5380c2 Merge pull request #3706 from hotlong/patch-1
fix chinese translate: 登陆 -> 登录
2022-06-28 11:46:05 +01:00
Dave Conway-Jones
b60fd36c6e Fix CSV node to handle \n when outputting text fields
and add tests
2022-06-28 10:14:12 +01:00
Dennis Neufeld
5301798654 Update german translation based on PR review 2022-06-28 08:06:16 +02:00
Hiroyasu Nishiyama
f7e6d7d143 fix type selector of subflow environment variable 2022-06-28 09:16:30 +09:00
Mauricio Bonani
b9649aed32 Fix typo 2022-06-27 16:59:56 -04:00
Nick O'Leary
4467c0df31 Merge pull request #3714 from kazuhitoyokoi/master-fixdefaulticonbutton
Fix use default button for node icon
2022-06-27 20:36:05 +01:00
Nick O'Leary
7af3acde9e Ensure 'hidden flow' count doesn't include subflows
Fixes #3707
2022-06-27 20:30:14 +01:00
Stephen McLaughlin
68c1e49f62 Delete view_copy.js
Remove file that slipped through the net
2022-06-27 18:12:45 +01:00
Steve-Mcl
1e57190b8c Merge remote-tracking branch 'upstream/master' into stop-start-flows 2022-06-27 18:07:49 +01:00
Steve-Mcl
1b8a4577d5 improve UI, i18n and layout of stop/start feature 2022-06-27 18:07:22 +01:00
Steve-Mcl
51baed4932 default stop/start feature to enabled:false 2022-06-27 18:06:53 +01:00
Steve-Mcl
2f1f587c50 Use HTTP body instead of header for setting flows run state 2022-06-27 18:03:14 +01:00
Kazuhito Yokoi
ab1e38dde8 Fix use default button for node icon 2022-06-27 23:56:24 +09:00
Nick O'Leary
dd0d1e700e Merge pull request #3669 from dschmidt/patch-1
Import default export if node is a transpiled es module
2022-06-27 14:31:43 +01:00
Nick O'Leary
51ebb2579f Merge pull request #3670 from node-red/join-reduce-keep-msg
Join node in reduce mode doesn't keep existing msg properties
2022-06-27 14:29:41 +01:00
Nick O'Leary
d1d3b805f6 Merge pull request #3690 from cow0w/env_evalulating_in_template
Add support for evalulating {{env.<var>}} within a template node
2022-06-27 14:28:17 +01:00
Nick O'Leary
a6e247326b Merge pull request #3698 from bonanitech/fix-select-box-alignment
Fix select boxes vertical alignment
2022-06-27 14:18:34 +01:00
Nick O'Leary
823b7e2989 Merge pull request #3704 from bonanitech/monaco-default-theme
Leave Monaco theme commented out by default
2022-06-27 14:16:49 +01:00
Nick O'Leary
5f40dc37a2 Merge pull request #3708 from Steve-Mcl/fix-undo-drop-still-dirty
Ensure workspace clean after undoing dropped node
2022-06-27 14:12:50 +01:00
Nick O'Leary
5e5c05f0c6 Merge pull request #3710 from Steve-Mcl/fix-config-node-text-underflow
Use solid colour as config node icon background to hide text overflow
2022-06-27 14:11:09 +01:00
Nick O'Leary
ab1340d213 Merge pull request #3711 from Steve-Mcl/quick-add-height
Increase quick-add height to reveal 2 most recent entries
2022-06-27 14:09:38 +01:00
Steve-Mcl
6b6004ee70 Merge remote-tracking branch 'upstream/stop-start-flows' into stop-start-flows 2022-06-27 13:05:39 +01:00
Steve-Mcl
3cef2bb7e0 Merge remote-tracking branch 'upstream/master' into stop-start-flows 2022-06-27 13:03:52 +01:00
Stephen McLaughlin
cc5a0a436c Merge pull request #3702 from node-red/default-monaco
Set default editor to monaco in absence of user preference
2022-06-27 09:43:07 +01:00
Dave Conway-Jones
495a81768d Delay node - add example for simple queue with release 2022-06-26 16:27:11 +01:00
Steve-Mcl
125b37e98f increase quick-add height to reveal 2 most recent
fixes #3568
2022-06-26 12:16:39 +01:00
Steve-Mcl
f8ad75329d use $node-port-background as config node icon background
Makse sense since it contrasts the $node-port-label-color used for icon text
Also, only show pointer if node icon has count
2022-06-26 11:52:55 +01:00
Dave Conway-Jones
cb2efb14f7 Fix delay rate limit last timing when empty 2022-06-26 10:17:16 +01:00
Steve-Mcl
78327716a4 ensure workspace clean after undoing dropped node 2022-06-26 09:08:26 +01:00
庄建国
cd71b3daf3 fix chinese translate: 登陆 -> 登录 2022-06-26 13:02:16 +08:00
Mauricio Bonani
5393fa81b9 Leave Monaco theme commented out by default 2022-06-25 20:27:32 -04:00
Dennis Neufeld
d1efd2137a Add german contextMenu translation 2022-06-25 16:24:28 +02:00
Dennis Neufeld
fce8c3a8a0 Merge commit '1f5588b803c7e2f216f2bfa31df7ac2cfa874480' into patch-1-de 2022-06-25 16:19:07 +02:00
Hiroyasu Nishiyama
4bd71da056 fix credential type input item of subflow template 2022-06-23 16:52:43 +09:00
Nick O'Leary
d2e84925f7 Set default editor to monaco in absence of user preference 2022-06-22 21:43:25 +01:00
ralphwetzel
d81523370e Merge branch 'node-red:master' into master 2022-06-22 19:58:49 +02:00
ralphwetzel
6939546f22 Disable keyboard shortcut mapping when showing Edit[..]Dialog 2022-06-22 19:58:02 +02:00
Mauricio Bonani
2ea10206fa Fix select box alignment 2022-06-21 11:43:02 -04:00
Mauricio Bonani
8aa922c55f Fix indentation 2022-06-21 11:02:56 -04:00
Mauricio Bonani
d66def5530 Add fix from flowforge-nr-theme
https://github.com/flowforge/flowforge-nr-theme/blob/main/common/forge-common.css#L92-L98
2022-06-21 10:56:18 -04:00
Hiroyasu Nishiyama
42ecf54df6 add i18n support adn English and Japanese message 2022-06-21 22:39:22 +09:00
Hiroyasu Nishiyama
10835968fb add access to previous tours 2022-06-21 21:47:57 +09:00
Nick O'Leary
1f5588b803 Merge pull request #3696 from node-red/right-click-menu-fix
Fix clicking on node in workspace to hide context menu
2022-06-21 09:04:55 +01:00
Nick O'Leary
202102ebf7 Fix clicking on node in workspace to hide context menu 2022-06-20 20:51:31 +01:00
Steve-Mcl
9729c89f5d ensure link-call cache is updated when link-in is modified
fixes #3694
depends on node-red-node-test-helper@0.3.0
2022-06-20 18:25:41 +01:00
Nick O'Leary
71714733ad Merge pull request #3688 from kazuhitoyokoi/master-addjpn
Add Japanese translations for v3.0-beta.3
2022-06-20 16:30:12 +01:00
Dennis Neufeld
3fbbfce17c Fix typo in german translation 2022-06-20 13:28:10 +02:00
Kazuhito Yokoi
ad0a08ea0e Add Japanese translations in action list for project feature 2022-06-20 00:44:20 +09:00
Mauricio Bonani
3a2fa4073a Move all colours to CSS variables 2022-06-18 16:05:25 -04:00
Dennis Neufeld
6c2297c365 Update german translation 2022-06-18 19:46:38 +02:00
Kazuhito Yokoi
5e592427e9 Add Japanese translation in action list for junction 2022-06-19 01:56:59 +09:00
Kazuhito Yokoi
643541eebd Remove unnecessary spaces 2022-06-19 01:37:55 +09:00
Kazuhito Yokoi
13885493ac Update Japanese translations in welcome tour 2022-06-19 01:26:48 +09:00
Kazuhito Yokoi
75c9353cbd Fix keys to insert junction 2022-06-19 01:23:28 +09:00
cow0w
01d9affe61 Add support for evalulating {{env.<var>}} within a template node 2022-06-17 22:18:14 +03:00
Kazuhito Yokoi
3ad95bec3c Add Japanese translation for file nodes 2022-06-18 00:57:30 +09:00
Kazuhito Yokoi
418b3ee7d6 Fix Japanese translations to be same as others 2022-06-18 00:56:34 +09:00
Kazuhito Yokoi
0000f2a34d Support i18n in context menu 2022-06-18 00:51:05 +09:00
Nick O'Leary
fc5a5f1b73 Merge pull request #3687 from node-red/space-in-strings
Fix handling of spacebar inside JSON visual editor
2022-06-17 10:05:12 +01:00
Nick O'Leary
226ab406b2 Merge pull request #3686 from node-red/fix-menu-padding
Fix menu padding to handle both icons and submenus
2022-06-17 10:05:01 +01:00
Nick O'Leary
9eaf5d82b6 Merge pull request #3685 from node-red/quick-add-offset
Include scroll offset when positioning quick-add dialog
2022-06-16 23:31:38 +01:00
Nick O'Leary
e3d6d242ac Fix handling of spacebar inside JSON visual editor
Fixes #3682

The treeList keyboard handling was consuming the event - used
to select the item in the list.

The fix here adds a 'selectable' flag on the treeList that can
be used to disabled (=false) the keyboard selection of items.
2022-06-16 23:29:46 +01:00
Nick O'Leary
1844633ff1 Include scroll offset when positioning quick-add dialog
Fixes #3684
2022-06-16 22:57:23 +01:00
Dave Conway-Jones
6c0d6c5425 Join-reduce keep existing msg properties
see https://discourse.nodered.org/t/no-response-object-after-split-join/63919
2022-06-15 10:16:12 +01:00
Dominik Schmidt
326f346936 Import default export if node is a transpiled es module 2022-06-14 22:54:00 +02:00
Steve-Mcl
1b4f2b9c53 fix formatting (resolve merge conflict) 2022-06-09 22:29:28 +01:00
Stephen McLaughlin
d83516584d Merge branch 'master' into stop-start-flows 2022-06-09 22:29:09 +01:00
Steve-Mcl
d4e6136b09 re-enable tests i had temporarily disabled 2022-06-09 15:27:50 +01:00
Steve-Mcl
68331fc40c implement flows runtime stop/start API and UI 2022-06-08 21:56:17 +01:00
119 changed files with 2999 additions and 1314 deletions

View File

@@ -1,3 +1,40 @@
#### 3.0.0-beta.4: Beta Release
Editor
- Move all colours to CSS variables (#3692) @bonanitech
- Fix clicking on node in workspace to hide context menu (#3696) @knolleary
- Fix credential type input item of subflow template (#3703) @HiroyasuNishiyama
- Add option flag `reimport` to `importNodes` (#3718) @Steve-Mcl
- Update german translation (#3691) @Dennis14e
- List welcome tours in help sidebar (#3717) @knolleary
- Ensure 'hidden flow' count doesn't include subflows (#3715) @knolleary
- Fix Chinese translate (#3706) @hotlong
- Fix use default button for node icon (#3714) @kazuhitoyokoi
- Fix select boxes vertical alignment (#3698) @bonanitech
- Ensure workspace clean after undoing dropped node (#3708) @Steve-Mcl
- Use solid colour as config node icon background to hide text overflow (#3710) @Steve-Mcl
- Increase quick-add height to reveal 2 most recent entries (#3711) @Steve-Mcl
- Set default editor to monaco in absence of user preference (#3702) @knolleary
- Add Japanese translations for v3.0-beta.3 (#3688) @kazuhitoyokoi
- Fix handling of spacebar inside JSON visual editor (#3687) @knolleary
- Fix menu padding to handle both icons and submenus (#3686) @knolleary
- Include scroll offset when positioning quick-add dialog (#3685) @knolleary
Runtime
- Allow flows to be stopped and started manually (#3719) @knolleary
- Import default export if node is a transpiled es module (#3669) @dschmidt
- Leave Monaco theme commented out by default (#3704) @bonanitech
Nodes
- CSV: Fix CSV node to handle when outputting text fields (#3716) @dceejay
- Delay: Fix delay rate limit last timing when empty (#3709) @dceejay
- Link: Ensure link-call cache is updated when link-in is modified (#3695) @Steve-Mcl
- Join: Join node in reduce mode doesn't keep existing msg properties (#3670) @dceejay
- Template: Add support for evalulating {{env.<var>}} within a template node (#3690) @cow0w
#### 3.0.0-beta.3: Beta Release
Editor

View File

@@ -142,6 +142,7 @@ module.exports = function(grunt) {
"packages/node_modules/@node-red/editor-client/src/js/settings.js",
"packages/node_modules/@node-red/editor-client/src/js/user.js",
"packages/node_modules/@node-red/editor-client/src/js/comms.js",
"packages/node_modules/@node-red/editor-client/src/js/runtime.js",
"packages/node_modules/@node-red/editor-client/src/js/text/bidi.js",
"packages/node_modules/@node-red/editor-client/src/js/text/format.js",
"packages/node_modules/@node-red/editor-client/src/js/ui/state.js",

View File

@@ -1,6 +1,6 @@
{
"name": "node-red",
"version": "3.0.0-beta.3",
"version": "3.0.0-beta.4",
"description": "Low-code programming for event-driven applications",
"homepage": "http://nodered.org",
"license": "Apache-2.0",
@@ -45,7 +45,7 @@
"express-session": "1.17.3",
"form-data": "4.0.0",
"fs-extra": "10.1.0",
"got": "11.8.3",
"got": "11.8.5",
"hash-sum": "2.0.0",
"hpagent": "1.0.0",
"https-proxy-agent": "5.0.1",
@@ -111,7 +111,7 @@
"marked": "4.0.17",
"minami": "1.2.3",
"mocha": "9.2.2",
"node-red-node-test-helper": "^0.2.7",
"node-red-node-test-helper": "^0.3.0",
"nodemon": "2.0.16",
"proxy": "^1.0.2",
"sass": "1.52.3",

View File

@@ -68,5 +68,28 @@ module.exports = {
}).catch(function(err) {
apiUtils.rejectHandler(req,res,err);
})
},
getState: function(req,res) {
const opts = {
user: req.user,
req: apiUtils.getRequestLogObject(req)
}
runtimeAPI.flows.getState(opts).then(function(result) {
res.json(result);
}).catch(function(err) {
apiUtils.rejectHandler(req,res,err);
})
},
postState: function(req,res) {
const opts = {
user: req.user,
state: req.body.state || "",
req: apiUtils.getRequestLogObject(req)
}
runtimeAPI.flows.setState(opts).then(function(result) {
res.json(result);
}).catch(function(err) {
apiUtils.rejectHandler(req,res,err);
})
}
}

View File

@@ -54,6 +54,12 @@ module.exports = {
adminApp.get("/flows",needsPermission("flows.read"),flows.get,apiUtil.errorHandler);
adminApp.post("/flows",needsPermission("flows.write"),flows.post,apiUtil.errorHandler);
// Flows/state
adminApp.get("/flows/state", needsPermission("flows.read"), flows.getState, apiUtil.errorHandler);
if (settings.runtimeState && settings.runtimeState.enabled === true) {
adminApp.post("/flows/state", needsPermission("flows.write"), flows.postState, apiUtil.errorHandler);
}
// Flow
adminApp.get("/flow/:id",needsPermission("flows.read"),flow.get,apiUtil.errorHandler);
adminApp.post("/flow",needsPermission("flows.write"),flow.post,apiUtil.errorHandler);

View File

@@ -101,7 +101,10 @@ module.exports = {
}
themeSettings = null;
theme = settings.editorTheme || {};
themeContext.asset.vendorMonaco = ((theme.codeEditor || {}).lib === "monaco") ? "vendor/monaco/monaco-bootstrap.js" : "";
themeContext.asset.vendorMonaco = "vendor/monaco/monaco-bootstrap.js"
if (theme.codeEditor && theme.codeEditor.lib === 'ace') {
themeContext.asset.vendorMonaco = ''
}
activeTheme = theme.theme;
},

View File

@@ -1,6 +1,6 @@
{
"name": "@node-red/editor-api",
"version": "3.0.0-beta.3",
"version": "3.0.0-beta.4",
"license": "Apache-2.0",
"main": "./lib/index.js",
"repository": {
@@ -16,8 +16,8 @@
}
],
"dependencies": {
"@node-red/util": "3.0.0-beta.3",
"@node-red/editor-client": "3.0.0-beta.3",
"@node-red/util": "3.0.0-beta.4",
"@node-red/editor-client": "3.0.0-beta.4",
"bcryptjs": "2.4.3",
"body-parser": "1.20.0",
"clone": "2.1.2",

View File

@@ -44,7 +44,8 @@
"loadNodes": "Lade Nodes __count__",
"loadFlows": "Lade Flows",
"importFlows": "Füge Flows dem Arbeitsbereich hinzu",
"importError": "<p>Fehler beim Laden von Flows.</p><p>__message__</p>"
"importError": "<p>Fehler beim Laden von Flows.</p><p>__message__</p>",
"loadingProject": "Lade Projekt"
},
"workspace": {
"defaultName": "Flow __number__",
@@ -53,7 +54,16 @@
"delete": "Sind Sie sicher, dass '__label__' gelöscht werden soll?",
"dropFlowHere": "Hier kann der Flow eingefügt werden",
"addFlow": "Flow hinzufügen",
"addFlowToRight": "Flow zum Arbeitsbereich rechts hinzufügen",
"hideFlow": "Flow ausblenden",
"hideOtherFlows": "Andere Flows ausblenden",
"showAllFlows": "Alle Flows anzeigen",
"hideAllFlows": "Alle Flows ausblenden",
"hiddenFlows": "Liste __count__ ausgeblendeten Flow auf",
"hiddenFlows_plural": "Liste __count__ ausgeblendete Flows auf",
"showLastHiddenFlow": "Letzten ausgeblendeten Flow anzeigen",
"listFlows": "Flows auflisten",
"listSubflows": "Subflows auflisten",
"status": "Status",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
@@ -65,6 +75,8 @@
"view": {
"view": "Ansicht",
"grid": "Raster",
"storeZoom": "Zoomstufe beim Laden wiederherstellen",
"storePosition": "Scrollposition beim Laden wiederherstellen",
"showGrid": "Raster anzeigen",
"snapGrid": "Am Raster ausrichten",
"gridSize": "Rastergröße",
@@ -82,6 +94,7 @@
"palette": {
"show": "Palette anzeigen"
},
"edit": "Bearbeiten",
"settings": "Einstellungen",
"userSettings": "Einstellungen",
"nodes": "Nodes",
@@ -92,7 +105,7 @@
"search": "Flows durchsuchen",
"searchInput": "Flows durchsuchen",
"subflows": "Subflow",
"createSubflow": "Erstellen",
"createSubflow": "Subflow",
"selectionToSubflow": "Auswahl in Subflow umwandeln",
"flows": "Flow",
"add": "Hinzufügen",
@@ -104,24 +117,42 @@
"editPalette": "Palette verwalten",
"other": "Sonstige",
"showTips": "Tipps anzeigen",
"showWelcomeTours": "Geführte Touren für neue Versionen anzeigen",
"help": "Node-RED-Website",
"projects": "Projekt",
"projects": "Projekte",
"projects-new": "Neu",
"projects-open": "Öffnen",
"projects-settings": "Einstellungen",
"showNodeLabelDefault": "Zeige Namen von neu hinzugefügten Nodes",
"groups": "Gruppe",
"codeEditor": "Code-Editor",
"groups": "Gruppen",
"groupSelection": "Auswahl gruppieren",
"ungroupSelection": "Gruppe auflösen",
"groupMergeSelection": "Auswahl der Gruppe hinzufügen",
"groupRemoveSelection": "Auswahl aus der Gruppe entfernen"
"groupRemoveSelection": "Auswahl aus der Gruppe entfernen",
"arrange": "Anordnen",
"alignLeft": "Links ausrichten",
"alignCenter": "Zentrieren",
"alignRight": "Rechts ausrichten",
"alignTop": "Oben ausrichten",
"alignMiddle": "Mittig ausrichten",
"alignBottom": "Unten ausrichten",
"distributeHorizontally": "Horizontal verteilen",
"distributeVertically": "Vertikal verteilen",
"moveToBack": "Nach hinten verschieben",
"moveToFront": "Nach vorne verschieben",
"moveBackwards": "Rückwärts verschieben",
"moveForwards": "Vorwärts verschieben"
}
},
"actions": {
"toggle-navigator": "Navigator ein-/ausblenden",
"zoom-out": "Verkleinern",
"zoom-reset": "Vergrößerung rücksetzen",
"zoom-in": "Vergrößern"
"zoom-in": "Vergrößern",
"search-flows": "Flows durchsuchen",
"search-prev": "Vorherige",
"search-next": "Nächste"
},
"user": {
"loggedInAs": "Angemeldet als __name__",
@@ -131,7 +162,7 @@
"loginFailed": "Anmeldung fehlgeschlagen",
"notAuthorized": "Nicht berechtigt",
"errors": {
"settings": "Sie müssen angemeldet sein, um auf die Einstellungen zuzugreifen zu können",
"settings": "Sie müssen angemeldet sein, um auf die Einstellungen zugreifen zu können",
"deploy": "Sie müssen angemeldet sein, um Änderungen übernehmen (deploy) zu können",
"notAuthorized": "Sie müssen angemeldet sein, um diese Aktion ausführen zu können"
}
@@ -141,7 +172,7 @@
"warnings": {
"undeployedChanges": "Node hat nicht übernommene (deploy) Änderungen",
"nodeActionDisabled": "Node-Aktionen deaktiviert",
"nodeActionDisabledSubflow": "Node-Aktionen deaktiviert im Subflow",
"nodeActionDisabledSubflow": "Node-Aktionen innerhalb des Subflows deaktiviert",
"missing-types": "<p>Flows gestoppt aufgrund fehlender Node-Typen</p>",
"missing-modules": "<p>Flows angehalten aufgrund fehlender Module</p>",
"safe-mode": "<p>Flows sind im abgesicherten Modus gestoppt.</p><p>Flows können bearbeitet und übernommen (deploy) werden, um sie neu zu starten.</p>",
@@ -157,21 +188,21 @@
"error": "<strong>Fehler:</strong> __message__",
"errors": {
"lostConnection": "Verbindung zum Server verloren. Verbindung wird erneut hergestellt ...",
"lostConnectionReconnect": "Verbindung zum Server verloren. Verbindung wird in __time__ s versucht wieder herzustellen.",
"lostConnectionTry": "Jetzt testen",
"lostConnectionReconnect": "Verbindung zum Server verloren. Wiederherstellung der Verbindung in __time__s.",
"lostConnectionTry": "Jetzt versuchen",
"cannotAddSubflowToItself": "Subflow kann nicht zu sich selbst hinzugefügt werden",
"cannotAddCircularReference": "Subflow kann nicht hinzugefügt werden, da ein zirkulärer Bezug erkannt wurde",
"unsupportedVersion": "<p>Nicht unterstützte Version von Node.js erkannt.</p><p>Es muss ein Upgrade auf das neueste LTS-Release von Node.js durchgeführt werden.</p>",
"failedToAppendNode": "<p>Fehler beim Laden von '__module__'.</p><p>__error__</p>"
},
"project": {
"change-branch": "Wechsel in den Branch '__project__'",
"merge-abort": "Merge abgebrochen",
"change-branch": "Wechsel in den lokalen Branch '__project__'",
"merge-abort": "Git-Merge abgebrochen",
"loaded": "Projekt '__project__' geladen",
"updated": "Projekt '__project__' aktualisiert",
"pull": "Projekt '__project__' erneut geladen",
"revert": "Änderungen im Projekt '__project__' rückgängig gemacht",
"merge-complete": "Merge abgeschlossen",
"merge-complete": "Git-Merge abgeschlossen",
"setupCredentials": "Berechtigungen einrichten",
"setupProjectFiles": "Projektdateien einrichten",
"no": "Nein, Danke",
@@ -186,7 +217,7 @@
"no-thanks": "Nein, Danke",
"create-default-project": "Standardprojektdateien erstellen",
"show-merge-conflicts": "Merge-Konflikte anzeigen",
"unknownNodesButton": "Finden Sie unbekannte nodes"
"unknownNodesButton": "Nach unbekannten Nodes suchen"
}
},
"clipboard": {
@@ -204,17 +235,17 @@
"subflow_plural": "__count__ Subflows",
"replacedNodes": "__count__ Node ersetzt",
"replacedNodes_plural": "__count__ Nodes ersetzt",
"pasteNodes": "Flow-JSON hier einfügen oder",
"pasteNodes": "Flow-JSON einfügen oder",
"selectFile": "Datei für Import auswählen",
"importNodes": "Import",
"exportNodes": "Export",
"download": "Download",
"importUnrecognised": "Importierter Typ nicht erkannt:",
"importUnrecognised_plural": "Importierte Typen nicht erkannt:",
"importDuplicate": "Importiertes doppeltes Node:",
"importDuplicate_plural": "Importierte doppelte Nodes:",
"nodesExported": "Nodes in der Zwischenablage abgelegt",
"nodesImported": "Eingefügt:",
"importUnrecognised": "Nicht erkannten Typ importiert:",
"importUnrecognised_plural": "Nicht erkannte Typen importiert:",
"importDuplicate": "Doppelten Node importiert:",
"importDuplicate_plural": "Doppelte Nodes importiert:",
"nodesExported": "Nodes in die Zwischenablage exportiert",
"nodesImported": "Importiert:",
"nodeCopied": "__count__ Node kopiert",
"nodeCopied_plural": "__count__ Nodes kopiert",
"groupCopied": "__count__ Gruppe kopiert",
@@ -230,11 +261,11 @@
"all": "Alle Flows",
"compact": "Kompakt",
"formatted": "Formatiert",
"copy": "In Zwischenablage exportieren",
"copy": "In Zwischenablage kopieren",
"export": "In Bibliothek exportieren",
"exportAs": "Exportiere als",
"overwrite": "Ersetzen",
"exists": "<p>'__file__' existiert bereits.</p><p>Soll sie ersetzt werden?</p>"
"exists": "<p><b>\"__file__\"</b> existiert bereits.</p><p>Soll sie ersetzt werden?</p>"
},
"import": {
"import": "Importiere in",
@@ -270,9 +301,9 @@
"successfulRestart": "Flows erfolgreich neugestartet",
"deployFailed": "Übernahme (deploy) fehlgeschlagen: __message__",
"unusedConfigNodes": "Einige Konfigurations-Nodes werden nicht verwendet.",
"unusedConfigNodesButton":"Finden Sie ungenutzte konfig nodes",
"unknownNodesButton":"Finden Sie unbekannte nodes",
"invalidNodesButton":"Finden Sie ungültige nodes",
"unusedConfigNodesButton": "Suche nach unbenutzten Konfigurations-Nodes",
"unknownNodesButton": "Suche nach unbekannten Nodes",
"invalidNodesButton": "Suche nach ungültigen Nodes",
"errors": {
"noResponse": "Keine Antwort vom Server"
},
@@ -355,10 +386,10 @@
"keys": "Schlüsselwörter",
"keysPlaceholder": "Komma-getrennte Schlüsselwörter",
"author": "Author",
"authorPlaceholder": "Dein Name <email@beispiel.de>",
"authorPlaceholder": "Ihr Name <email@example.com>",
"desc": "Beschreibung",
"env": {
"restore": "Stelle auf Subflow-Standard zurück",
"restore": "Subflow-Standard wiederherstellen",
"remove": "Entferne Umgebungsvariable"
},
"errors": {
@@ -367,9 +398,9 @@
}
},
"group": {
"editGroup": "Editiere Gruppe: __name__",
"editGroup": "Bearbeite Gruppe: __name__",
"errors": {
"cannotCreateDiffGroups": "Kann keine Gruppe erzeugen mit Nodes von verschiedenen Gruppen",
"cannotCreateDiffGroups": "Kann keine Gruppe mit Nodes von anderen Gruppen erstellen",
"cannotAddSubflowPorts": "Kann keine Subflow-Anschlüsse zu einer Gruppe hinzufügen"
}
},
@@ -383,7 +414,7 @@
"addNewConfig": "Neuen Konfigurations-Node '__type__' hinzufügen",
"editNode": "Node '__type__' bearbeiten",
"editConfig": "Konfigurations-Node '__type__' bearbeiten",
"addNewType": "Neuen Typ '__type__' hinzufügen",
"addNewType": "Neuen Typ '__type__' hinzufügen ...",
"nodeProperties": "Node-Eigenschaften",
"label": "Name",
"color": "Farbe",
@@ -406,7 +437,7 @@
"loadCredentials": "Lade Node-Berechtigungen",
"inputs": {
"input": "Eingang",
"select": "hle",
"select": "Auswahl",
"checkbox": "Checkbox",
"spinner": "Spinner",
"none": "Kein",
@@ -449,23 +480,27 @@
"shortcut": "Tastenkürzel",
"scope": "Geltungsbereich",
"unassigned": "Nicht zugeordnet",
"global": "global",
"global": "Global",
"workspace": "Arbeitsbereich",
"selectAll": "Alle Nodes auswählen",
"selectAll": "Alles auswählen",
"selectNone": "Alles abwählen",
"selectAllConnected": "Alle verbundenen Nodes auswählen",
"addRemoveNode": "Node aus Auswahl hinzufügen/entfernen",
"editSelected": "Ausgewählten Node bearbeiten",
"deleteSelected": "Ausgewählte Nodes oder Links löschen",
"importNode": "Node importieren",
"exportNode": "Node exportieren",
"importNode": "Nodes importieren",
"exportNode": "Nodes exportieren",
"nudgeNode": "Ausgewählte Nodes verschieben (1px)",
"moveNode": "Ausgewählte Nodes verschieben (20px)",
"toggleSidebar": "Seitenleiste ein-/ausblenden",
"togglePalette": "Palette ein-/ausblenden",
"copyNode": "Ausgewählte Nodes kopieren",
"cutNode": "Ausgewählte Nodes ausschneiden",
"pasteNode": "Node einfügen",
"pasteNode": "Nodes einfügen",
"copyGroupStyle": "Gruppenstil kopieren",
"pasteGroupStyle": "Gruppenstil einfügen",
"undoChange": "Letzte Änderung rückgängig machen",
"redoChange": "Letzte Änderung wiederholen",
"searchBox": "Suchfeld öffnen",
"managePalette": "Palette verwalten",
"actionList": "Aktionsliste"
@@ -491,7 +526,7 @@
"palette": {
"noInfo": "Keine Informationen verfügbar",
"filter": "Nodes filtern",
"search": "Modules durchsuchen",
"search": "Module durchsuchen",
"addCategory": "Neu hinzufügen ...",
"label": {
"subflows": "Subflows",
@@ -520,7 +555,8 @@
"nodeEnabled_plural": "Nodes aktiviert:",
"nodeDisabled": "Node deaktiviert:",
"nodeDisabled_plural": "Nodes deaktiviert:",
"nodeUpgraded": "Upgrade von Node-Modul __module__ auf Version __version__ durchgeführt"
"nodeUpgraded": "Upgrade von Node-Modul __module__ auf Version __version__ durchgeführt",
"unknownNodeRegistered": "Fehler beim Laden des Nodes: <ul><li>__type__<br>__error__</li></ul>"
},
"editor": {
"title": "Palette verwalten",
@@ -636,7 +672,7 @@
"outline": "Entwurf",
"empty": "leer",
"globalConfig": "Globale Konfigurations-Nodes",
"triggerAction": "Auslösen",
"triggerAction": "Aktion auslösen",
"find": "Suche im Arbeitsbereich"
},
"help": {
@@ -739,7 +775,7 @@
"userName": "Benutzername",
"email": "E-Mail",
"workflow": "Arbeitsablauf",
"workfowTip": "Wähle deinen bevorzugten Git-Arbeitsablauf",
"workfowTip": "Wählen Sie Ihren bevorzugten Git-Arbeitsablauf (Workflow)",
"workflowManual": "Manuell",
"workflowManualTip": "Alle Änderungen müssen manuell übertragen werden (commit) über die Seitenleiste 'Projekthistorie'",
"workflowAuto": "Automatisch",
@@ -858,6 +894,8 @@
"addTitle": "Element hinzufügen"
},
"search": {
"history": "Suchhistorie",
"clear": "Leeren",
"empty": "Keine Übereinstimmungen gefunden",
"addNode": "Node hinzufügen ...",
"options": {
@@ -865,7 +903,10 @@
"unusedConfigNodes": "Unbenutzte Konfigurations-Nodes",
"invalidNodes": "Ungültige Nodes",
"uknownNodes": "Unbekannte Nodes",
"unusedSubflows": "Unbenutzte Subflows"
"unusedSubflows": "Unbenutzte Subflows",
"hiddenFlows": "Versteckte Flows",
"modifiedNodes": "Geänderte Nodes",
"thisFlow": "Aktueller Flow"
}
},
"expressionEditor": {
@@ -887,6 +928,9 @@
"eval": "Fehler beim Auswerten des Ausdrucks\n__message__"
}
},
"monaco": {
"setTheme": "Thema auswählen"
},
"jsEditor": {
"title": "JavaScript-Editor"
},
@@ -896,8 +940,10 @@
"jsonEditor": {
"title": "JSON-Editor",
"format": "JSON formatieren",
"rawMode": "JSON-Editor",
"rawMode": "Bearbeite JSON",
"uiMode": "Visueller Editor",
"rawMode-readonly": "JSON",
"uiMode-readonly": "Visuell",
"insertAbove": "Oberhalb einfügen",
"insertBelow": "Unterhalb einfügen",
"addItem": "Element hinzufügen",
@@ -968,7 +1014,7 @@
"clone": "Projekt klonen",
"desc0": "Wenn Sie bereits über ein Git-Repository verfügen, das ein Projekt enthält, können Sie es klonen, um damit zu arbeiten.",
"already-exists": "Das Projekt ist bereits vorhanden",
"must-contain": "Darf nur A-Z 0-9 _ enthalten",
"must-contain": "Darf nur A-Z 0-9 _ - enthalten",
"project-name": "Projektname",
"no-info-in-url": "Geben Sie Benutzername & Passwort nicht innerhalb der URL vor",
"git-url": "Git-Repository-URL",
@@ -1026,7 +1072,7 @@
"desc2": "Im Tab 'Commit-Historie' in der Seitenleiste werden alle Dateien angezeigt, die sich in Ihrem Projekt geändert haben, und um sie ins lokale Repository zu übertragen (commit). Es zeigt Ihnen eine vollständige Historie Ihrer Commits an und ermöglicht es Ihnen, Ihre Commits in ein (remote) Server-Repository zu schieben (push)."
},
"create": {
"projects": "Projekt",
"projects": "Projekte",
"already-exists": "Das Projekt ist bereits vorhanden",
"must-contain": "Darf nur A-Z 0-9 _ enthalten",
"no-info-in-url": "Geben Sie Benutzername & Passwort nicht innerhalb der URL vor",
@@ -1059,7 +1105,8 @@
"not-git": "Kein Git-Repository",
"no-resource": "Repository nicht gefunden",
"cant-get-ssh-key-path": "Fehler! Der ausgewählte SSH-Schlüsselpfad kann nicht abgerufen werden.",
"unexpected_error": "unerwarteter_Fehler"
"unexpected_error": "unerwarteter_Fehler",
"clearContext": "Kontextdaten löschen beim Projektwechsel"
},
"delete": {
"confirm": "Sind Sie sicher, dass dieses Projekt gelöscht werden soll?"
@@ -1106,13 +1153,43 @@
"preview": "Vorschau",
"defaultValue": "Standardwert"
},
"tourGuide": {
"takeATour": "Tour starten",
"start": "Start",
"next": "Nächste"
},
"diagnostics": {
"title": "System-Informationen"
},
"languages": {
"de": "German",
"en-US": "English",
"ja": "Japanese",
"ko": "Korean",
"ru": "Russian",
"zh-CN": "Chinese(Simplified)",
"zh-TW": "Chinese(Traditional)"
"de": "Deutsch",
"en-US": "Englisch",
"ja": "Japanisch",
"ko": "Koreanisch",
"ru": "Russisch",
"zh-CN": "Chinesisch (Vereinfacht)",
"zh-TW": "Chinesisch (Traditionell)"
},
"validator": {
"errors": {
"invalid-json": "Ungültige JSON-Daten: __error__",
"invalid-json-prop": "__prop__: ungültige JSON-Daten: __error__",
"invalid-prop": "Ungültiger Eigenschaftsausdruck",
"invalid-prop-prop": "__prop__: ungültiger Eigenschaftsausdruck",
"invalid-num": "Ungültige Nummer",
"invalid-num-prop": "__prop__: ungültige Nummer",
"invalid-regexp": "Ungültiges Eingabemuster",
"invalid-regex-prop": "__prop__: ungültiges Eingabemuster",
"missing-required-prop": "__prop__: Eigenschaftswert fehlt",
"invalid-config": "__prop__: ungültige Konfigurations-Node",
"missing-config": "__prop__: Konfigurations-Node fehlt",
"validation-error": "__prop__: Validierungsfehler: __node__, __id__: __error__"
}
},
"contextMenu": {
"insert": "Einfügen",
"node": "Node",
"junction": "Kreuzung",
"linkNodes": "Verknüpfe Nodes"
}
}

View File

@@ -169,6 +169,10 @@
}
},
"notification": {
"state": {
"flowsStopped": "Flows stopped",
"flowsStarted": "Flows started"
},
"warning": "<strong>Warning</strong>: __message__",
"warnings": {
"undeployedChanges": "node has undeployed changes",
@@ -296,6 +300,10 @@
"modifiedFlowsDesc": "Only deploys flows that contain changed nodes",
"modifiedNodes": "Modified Nodes",
"modifiedNodesDesc": "Only deploys nodes that have changed",
"startFlows": "Start",
"startFlowsDesc": "Start Flows",
"stopFlows": "Stop",
"stopFlowsDesc": "Stop Flows",
"restartFlows": "Restart Flows",
"restartFlowsDesc": "Restarts the current deployed flows",
"successfulDeploy": "Successfully deployed",
@@ -685,7 +693,8 @@
"showHelp": "Show help",
"showInOutline": "Show in outline",
"showTopics": "Show topics",
"noHelp": "No help topic selected"
"noHelp": "No help topic selected",
"changeLog": "Change Log"
},
"config": {
"name": "Configuration nodes",
@@ -1158,7 +1167,8 @@
"tourGuide": {
"takeATour": "Take a tour",
"start": "Start",
"next": "Next"
"next": "Next",
"welcomeTours": "Welcome Tours"
},
"diagnostics": {
"title": "System Info"
@@ -1187,5 +1197,11 @@
"missing-config": "__prop__: missing configuration node",
"validation-error": "__prop__: validation error: __node__, __id__: __error__"
}
},
"contextMenu": {
"insert": "Insert",
"node": "Node",
"junction": "Junction",
"linkNodes": "Link Nodes"
}
}

View File

@@ -169,6 +169,10 @@
}
},
"notification": {
"state": {
"flowsStopped": "フローを停止しました",
"flowsStarted": "フローを開始しました"
},
"warning": "<strong>警告</strong>: __message__",
"warnings": {
"undeployedChanges": "ノードの変更をデプロイしていません",
@@ -296,6 +300,10 @@
"modifiedFlowsDesc": "変更したノードを含むフローのみデプロイ",
"modifiedNodes": "変更したノード",
"modifiedNodesDesc": "変更したノードのみデプロイ",
"startFlows": "開始",
"startFlowsDesc": "フローを開始",
"stopFlows": "停止",
"stopFlowsDesc": "フローを停止",
"restartFlows": "フローを再起動",
"restartFlowsDesc": "デプロイされた現在のフローを再起動",
"successfulDeploy": "デプロイが成功しました",
@@ -685,7 +693,8 @@
"showHelp": "ヘルプを表示",
"showInOutline": "アウトラインに表示",
"showTopics": "トピックを表示",
"noHelp": "ヘルプのトピックが未選択"
"noHelp": "ヘルプのトピックが未選択",
"changeLog": "更新履歴"
},
"config": {
"name": "設定ノードを表示",
@@ -845,7 +854,7 @@
"pushFailed": "リモートに新しいコミットがあるため、プッシュに失敗しました。プルしてマージしてから、再度プッシュしてください。",
"push": "プッシュ",
"pull": "プル",
"unablePull": "<p>リモートの変更のプル失敗:ステージングされていないローカルの変更上書きされてしまいます。</p><p>変更をコミットしてから再度実行してください。</p>",
"unablePull": "<p>リモートの変更のプル失敗:ステージングされていないローカルの変更上書きされてしまいます。</p><p>変更をコミットしてから再度実行してください。</p>",
"showUnstagedChanges": "ステージングされていない変更を表示",
"connectionFailed": "リモートリポジトリに接続できません: ",
"pullUnrelatedHistory": "<p>リモートに関連のないコミット履歴があります。</p><p>本当に変更をプルしてローカルリポジトリに反映しますか?</p>",
@@ -1158,7 +1167,9 @@
"tourGuide": {
"takeATour": "ツアーを開始",
"start": "開始",
"next": "次へ"
"next": "次へ",
"welcomeTours": "ウェルカムツアー",
"tours": "ツアー"
},
"diagnostics": {
"title": "システム情報"
@@ -1188,6 +1199,12 @@
"validation-error": "__prop__: チェックエラー: __node__, __id__: __error__"
}
},
"contextMenu": {
"insert": "挿入",
"node": "ノード",
"junction": "分岐点",
"linkNodes": "Linkード"
},
"action-list": {
"toggle-show-tips": "ヒント表示切替",
"show-about": "Node-REDの説明を表示",
@@ -1302,7 +1319,7 @@
"search": "検索",
"search-previous": "前を検索",
"search-next": "次を検索",
"show-action-list": "アクション一覧を表示",
"show-action-list": "動作一覧を表示",
"confirm-edit-tray": "編集を完了",
"cancel-edit-tray": "編集をキャンセル",
"show-remote-diff": "リモートとの変更差分を表示",
@@ -1324,6 +1341,13 @@
"zoom-out": "ズームアウト",
"zoom-reset": "ズームリセット",
"toggle-navigator": "ナビゲータ表示切替",
"show-system-info": "システムインフォメーション"
"show-system-info": "システム情報",
"split-wires-with-junctions": "分岐点によりワイヤーを分割",
"new-project": "新しいプロジェクト",
"open-project": "プロジェクトを開く",
"show-project-settings": "プロジェクト設定を表示",
"show-version-control-tab": "バージョンコントロールタブを表示",
"start-flows": "フローを開始",
"stop-flows": "フローを停止"
}
}

View File

@@ -97,7 +97,7 @@
"rename": "重命名",
"delete": "删除",
"keyboardShortcuts": "键盘快捷方式",
"login": "登",
"login": "登",
"logout": "退出",
"editPalette": "节点管理",
"other": "其他",
@@ -122,16 +122,16 @@
"zoom-in": "放大"
},
"user": {
"loggedInAs": "作为 __name__ 登",
"loggedInAs": "作为 __name__ 登",
"username": "账号",
"password": "密码",
"login": "登",
"loginFailed": "登失败",
"login": "登",
"loginFailed": "登失败",
"notAuthorized": "未授权",
"errors": {
"settings": "设置信息需要登后才能访问",
"deploy": "改动需要登后才能部署",
"notAuthorized": "此操作需要登后才能执行"
"settings": "设置信息需要登后才能访问",
"deploy": "改动需要登后才能部署",
"notAuthorized": "此操作需要登后才能执行"
}
},
"notification": {

View File

@@ -1,6 +1,6 @@
{
"name": "@node-red/editor-client",
"version": "3.0.0-beta.3",
"version": "3.0.0-beta.4",
"license": "Apache-2.0",
"repository": {
"type": "git",

View File

@@ -0,0 +1,4 @@
<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg">
<path color="#000" fill="#8c101c" d="M0 0h32v32H0z"></path>
<path style="fill:#ffffff;stroke:#000000;stroke-width:0" d="M 24,16 8,24 8,8 Z" fill="none" stroke="#000" stroke-width="1.5"></path>
</svg>

After

Width:  |  Height:  |  Size: 271 B

View File

@@ -0,0 +1,4 @@
<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg">
<path color="#000" fill="#8c101c" d="M0 0h32v32H0z"></path>
<rect style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0;" width="15" height="15" x="8" y="8.5"></rect>
</svg>

After

Width:  |  Height:  |  Size: 256 B

View File

@@ -3,16 +3,12 @@
"alt-shift-p":"core:manage-palette",
"ctrl-f": "core:search",
"ctrl-shift-f": "core:list-flows",
"ctrl-+": "core:zoom-in",
"ctrl--": "core:zoom-out",
"ctrl-0": "core:zoom-reset",
"ctrl-enter": "core:confirm-edit-tray",
"ctrl-escape": "core:cancel-edit-tray",
"ctrl-d": "core:deploy-flows",
"ctrl-g i": "core:show-info-tab",
"ctrl-g h": "core:show-help-tab",
"ctrl-g d": "core:show-debug-tab",
"ctrl-g c": "core:show-config-tab",
"ctrl-g d": "core:show-debug-tab",
"ctrl-g h": "core:show-help-tab",
"ctrl-g i": "core:show-info-tab",
"ctrl-g v": "core:show-version-control-tab",
"ctrl-g x": "core:show-context-tab",
"ctrl-e": "core:show-export-dialog",
"ctrl-i": "core:show-import-dialog",
@@ -23,11 +19,8 @@
"ctrl-alt-r": "core:show-remote-diff",
"ctrl-alt-n": "core:new-project",
"ctrl-alt-o": "core:open-project",
"ctrl-g v": "core:show-version-control-tab",
"ctrl-shift-l": "core:show-event-log",
"ctrl-shift-p":"core:show-action-list",
"alt-w": "core:hide-flow",
"alt-shift-w": "core:show-last-hidden-flow"
"ctrl-shift-p":"core:show-action-list"
},
"red-ui-sidebar-node-config": {
"backspace": "core:delete-config-selection",
@@ -93,7 +86,16 @@
"alt-a v": "core:distribute-selection-vertically",
"shift-f": "core:search-previous",
"f": "core:search-next",
"alt-l l": "core:split-wire-with-link-nodes"
"alt-l l": "core:split-wire-with-link-nodes",
"alt-w": "core:hide-flow",
"alt-shift-w": "core:show-last-hidden-flow",
"ctrl-+": "core:zoom-in",
"ctrl--": "core:zoom-out",
"ctrl-0": "core:zoom-reset"
},
"red-ui-editor-stack": {
"ctrl-enter": "core:confirm-edit-tray",
"ctrl-escape": "core:cancel-edit-tray"
}
}

View File

@@ -14,7 +14,7 @@
* limitations under the License.
**/
/**
/**
* An Interface to nodes and utility functions for creating/adding/deleting nodes and links
* @namespace RED.nodes
*/
@@ -1654,21 +1654,20 @@ RED.nodes = (function() {
* Options:
* - generateIds - whether to replace all node ids
* - addFlow - whether to import nodes to a new tab
* - importToCurrent
* - reimport - if node has a .z property, dont overwrite it
* Only applicible when `generateIds` is false
* - importMap - how to resolve any conflicts.
* - id:import - import as-is
* - id:copy - import with new id
* - id:replace - import over the top of existing
*/
function importNodes(newNodesObj,options) { // createNewIds,createMissingWorkspace) {
options = options || {
generateIds: false,
addFlow: false,
}
options.importMap = options.importMap || {};
var createNewIds = options.generateIds;
var createMissingWorkspace = options.addFlow;
const defOpts = { generateIds: false, addFlow: false, reimport: false, importMap: {} }
options = Object.assign({}, defOpts, options)
options.importMap = options.importMap || {}
const createNewIds = options.generateIds;
const reimport = (!createNewIds && !!options.reimport)
const createMissingWorkspace = options.addFlow;
var i;
var n;
var newNodes;
@@ -1969,7 +1968,8 @@ RED.nodes = (function() {
}
}
} else {
if (n.z && !workspace_map[n.z] && !subflow_map[n.z]) {
const keepNodesCurrentZ = reimport && n.z && RED.workspaces.contains(n.z)
if (!keepNodesCurrentZ && n.z && !workspace_map[n.z] && !subflow_map[n.z]) {
n.z = activeWorkspace;
}
}
@@ -2070,7 +2070,8 @@ RED.nodes = (function() {
node.id = getID();
} else {
node.id = n.id;
if (node.z == null || (!workspace_map[node.z] && !subflow_map[node.z])) {
const keepNodesCurrentZ = reimport && node.z && RED.workspaces.contains(node.z)
if (!keepNodesCurrentZ && (node.z == null || (!workspace_map[node.z] && !subflow_map[node.z]))) {
if (createMissingWorkspace) {
if (missingWorkspace === null) {
missingWorkspace = RED.workspaces.add(null,true);
@@ -2769,7 +2770,7 @@ RED.nodes = (function() {
// Force the redraw to be synchronous so the view updates
// *now* and removes the unknown node
RED.view.redraw(true, true);
var result = importNodes(reimportList,{generateIds:false});
var result = importNodes(reimportList,{generateIds:false, reimport: true});
var newNodeMap = {};
result.nodes.forEach(function(n) {
newNodeMap[n.id] = n;

View File

@@ -297,6 +297,10 @@ var RED = (function() {
// handled below
return;
}
if (notificationId === "flows-run-state") {
// handled in editor-client/src/js/runtime.js
return;
}
if (notificationId === "project-update") {
loader.start(RED._("event.loadingProject"), 0);
RED.nodes.clear();
@@ -332,7 +336,6 @@ var RED = (function() {
id: notificationId
}
if (notificationId === "runtime-state") {
RED.events.emit("runtime-state",msg);
if (msg.error === "safe-mode") {
options.buttons = [
{
@@ -473,9 +476,9 @@ var RED = (function() {
} else if (persistentNotifications.hasOwnProperty(notificationId)) {
persistentNotifications[notificationId].close();
delete persistentNotifications[notificationId];
if (notificationId === 'runtime-state') {
RED.events.emit("runtime-state",msg);
}
}
if (notificationId === 'runtime-state') {
RED.events.emit("runtime-state",msg);
}
});
RED.comms.subscribe("status/#",function(topic,msg) {
@@ -747,6 +750,7 @@ var RED = (function() {
RED.keyboard.init(buildMainMenu);
RED.nodes.init();
RED.runtime.init()
RED.comms.connect();
$("#red-ui-main-container").show();

View File

@@ -0,0 +1,36 @@
RED.runtime = (function() {
let state = ""
let settings = { ui: false, enabled: false };
const STOPPED = "stop"
const STARTED = "start"
const SAFE = "safe"
return {
init: function() {
// refresh the current runtime status from server
settings = Object.assign({}, settings, RED.settings.runtimeState);
RED.events.on("runtime-state", function(msg) {
if (msg.state) {
const currentState = state
state = msg.state
$(".red-ui-flow-node-button").toggleClass("red-ui-flow-node-button-stopped", state !== STARTED)
if(settings.enabled === true && settings.ui === true) {
RED.menu.setVisible("deploymenu-item-runtime-stop", state === STARTED)
RED.menu.setVisible("deploymenu-item-runtime-start", state !== STARTED)
}
// Do not notify the user about this event if:
// - This is the very first event we've received after loading the editor (currentState = '')
// - The state matches what we already thought was the case (state === currentState)
// - The event was triggered by a deploy (msg.deploy === true)
// - The event is a safe mode event - that gets notified separately
if (currentState !== '' && state !== currentState && !msg.deploy && state !== SAFE) {
RED.notify(RED._("notification.state.flows"+(state === STOPPED?'Stopped':'Started'), msg), "success")
}
}
});
},
get started() {
return state === STARTED
}
}
})()

View File

@@ -167,6 +167,9 @@ RED.menu = (function() {
if (opt.disabled) {
item.addClass("disabled");
}
if (opt.visible === false) {
item.addClass("hide");
}
}
@@ -303,6 +306,14 @@ RED.menu = (function() {
}
}
function setVisible(id,state) {
if (!state) {
$("#"+id).parent().addClass("hide");
} else {
$("#"+id).parent().removeClass("hide");
}
}
function addItem(id,opt) {
var item = createMenuItem(opt);
if (opt !== null && opt.group) {
@@ -359,6 +370,7 @@ RED.menu = (function() {
isSelected: isSelected,
toggleSelected: toggleSelected,
setDisabled: setDisabled,
setVisible: setVisible,
addItem: addItem,
removeItem: removeItem,
setAction: setAction,

View File

@@ -21,6 +21,7 @@
* - multi : boolean - if true, .selected will return an array of results
* otherwise, returns the first selected item
* - sortable: boolean/string - TODO: see editableList
* - selectable: boolean - default true - whether individual items can be selected
* - rootSortable: boolean - if 'sortable' is set, then setting this to
* false, prevents items being sorted to the
* top level of the tree
@@ -118,6 +119,7 @@
switch(evt.keyCode) {
case 32: // SPACE
case 13: // ENTER
if (!that.options.selectable) { return }
if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) {
return
}

View File

@@ -1,4 +1,4 @@
RED.contextMenu = (function() {
RED.contextMenu = (function () {
let menu;
function createMenu() {
@@ -15,10 +15,6 @@ RED.contextMenu = (function() {
// ],
// width: 200,
// })
}
function disposeMenu() {
@@ -43,33 +39,67 @@ RED.contextMenu = (function() {
const isGroup = hasSelection && selection.nodes.length === 1 && selection.nodes[0].type === 'group'
const canRemoveFromGroup = hasSelection && !!selection.nodes[0].g
const offset = $("#red-ui-workspace-chart").offset()
let addX = options.x - offset.left + $("#red-ui-workspace-chart").scrollLeft()
let addY = options.y - offset.top + $("#red-ui-workspace-chart").scrollTop()
if (RED.view.snapGrid) {
const gridSize = RED.view.gridSize()
addX = gridSize * Math.floor(addX / gridSize)
addY = gridSize * Math.floor(addY / gridSize)
}
const menuItems = [
{ onselect: 'core:show-action-list', onpostselect: function() {} },
{ onselect: 'core:show-action-list', onpostselect: function () { } },
{
label: 'Insert',
label: RED._("contextMenu.insert"),
options: [
{
label: 'Node',
onselect: function() {
label: RED._("contextMenu.node"),
onselect: function () {
RED.view.showQuickAddDialog({
position: [ options.x - offset.left, options.y - offset.top ],
position: [addX, addY],
touchTrigger: true,
splice: isSingleLink?selection.links[0]:undefined,
splice: isSingleLink ? selection.links[0] : undefined,
// spliceMultiple: isMultipleLinks
})
}
},
{
label: 'Junction',
(hasSelection || hasLinks) ? {
label: RED._("contextMenu.junction"),
onselect: 'core:split-wires-with-junctions',
disabled: hasSelection || !hasLinks
disabled: !hasLinks
} : {
label: RED._("contextMenu.junction"),
onselect: function () {
const nn = {
_def: { defaults: {} },
type: 'junction',
z: RED.workspaces.active(),
id: RED.nodes.id(),
x: addX,
y: addY,
w: 0, h: 0,
outputs: 1,
inputs: 1,
dirty: true
}
const historyEvent = {
dirty: RED.nodes.dirty(),
t: 'add',
junctions: [nn]
}
RED.nodes.addJunction(nn);
RED.history.push(historyEvent);
RED.nodes.dirty(true);
RED.view.redraw(true)
}
},
{
label: 'Link Nodes',
label: RED._("contextMenu.linkNodes"),
onselect: 'core:split-wire-with-link-nodes',
disabled: hasSelection || !hasLinks
disabled: !hasLinks
}
]
@@ -77,28 +107,13 @@ RED.contextMenu = (function() {
}
]
// menuItems.push(
// {
// label: (isSingleLink || isMultipleLinks)?'Insert into wire...':'Add node...',
// onselect: function() {
// RED.view.showQuickAddDialog({
// position: [ options.x - offset.left, options.y - offset.top ],
// touchTrigger: true,
// splice: isSingleLink?selection.links[0]:undefined,
// spliceMultiple: isMultipleLinks
// })
// }
// },
// )
// if (hasLinks && !hasSelection) {
// menuItems.push({ onselect: 'core:split-wires-with-junctions', label: 'Insert junction'})
// }
menuItems.push(
null,
{ onselect: 'core:undo', disabled: RED.history.list().length === 0 },
{ onselect: 'core:redo', disabled: RED.history.listRedo().length === 0 },
null,
{ onselect: 'core:cut-selection-to-internal-clipboard', label: RED._("keyboard.cutNode"), disabled: !hasSelection},
{ onselect: 'core:cut-selection-to-internal-clipboard', label: RED._("keyboard.cutNode"), disabled: !hasSelection },
{ onselect: 'core:copy-selection-to-internal-clipboard', label: RED._("keyboard.copyNode"), disabled: !hasSelection },
{ onselect: 'core:paste-from-internal-clipboard', label: RED._("keyboard.pasteNode"), disabled: !RED.view.clipboard() },
{ onselect: 'core:delete-selection', disabled: !canDelete },
@@ -110,27 +125,34 @@ RED.contextMenu = (function() {
menuItems.push(
null,
isGroup ?
{ onselect: 'core:ungroup-selection', disabled: !isGroup }
: { onselect: 'core:group-selection', disabled: !hasSelection }
{ onselect: 'core:ungroup-selection', disabled: !isGroup }
: { onselect: 'core:group-selection', disabled: !hasSelection }
)
if (canRemoveFromGroup) {
menuItems.push({ onselect: 'core:remove-selection-from-group', label: RED._("menu.label.groupRemoveSelection") })
}
}
const offset = $("#red-ui-workspace-chart").offset()
var direction = "right";
var MENU_WIDTH = 500; // can not use menu width here
if ((options.x -$(document).scrollLeft()) >
($(window).width() -MENU_WIDTH)) {
direction = "left";
}
menu = RED.menu.init({
direction: 'right',
direction: direction,
onpreselect: function() {
disposeMenu()
},
onpostselect: function() {
onpostselect: function () {
RED.view.focus()
},
options: menuItems
});
menu.attr("id","red-ui-workspace-context-menu");
menu.attr("id", "red-ui-workspace-context-menu");
menu.css({
position: "absolute"
})
@@ -141,35 +163,37 @@ RED.contextMenu = (function() {
var top = options.y
var left = options.x
if (top+menu.height()-$(document).scrollTop() > $(window).height()) {
top -= (top+menu.height())-$(window).height() + 22;
if (top + menu.height() - $(document).scrollTop() > $(window).height()) {
top -= (top + menu.height()) - $(window).height() + 22;
}
if (left+menu.width()-$(document).scrollLeft() > $(window).width()) {
left -= (left+menu.width())-$(window).width() + 18;
if (left + menu.width() - $(document).scrollLeft() > $(window).width()) {
left -= (left + menu.width()) - $(window).width() + 18;
}
menu.css({
top: top+"px",
left: left+"px"
top: top + "px",
left: left + "px"
})
$(".red-ui-menu.red-ui-menu-dropdown").hide();
$(document).on("mousedown.red-ui-workspace-context-menu", function(evt) {
$(document).on("mousedown.red-ui-workspace-context-menu", function (evt) {
if (menu && menu[0].contains(evt.target)) {
return
}
disposeMenu()
});
menu.show();
// menu.show({
// target: $('#red-ui-main-container'),
// x: options.x,
// y: options.y
// })
// set focus to first item so that pressing escape key closes the menu
$("#red-ui-workspace-context-menu :first(ul) > a").trigger("focus")
}
// Allow escape key hook and other editor events to close context menu
RED.keyboard.add("red-ui-workspace-context-menu", "escape", function () { RED.contextMenu.hide() })
RED.events.on("editor:open", function () { RED.contextMenu.hide() });
RED.events.on("search:open", function () { RED.contextMenu.hide() });
RED.events.on("type-search:open", function () { RED.contextMenu.hide() });
RED.events.on("actionList:open", function () { RED.contextMenu.hide() });
RED.events.on("view:selection-changed", function () { RED.contextMenu.hide() });
return {
show: show
show: show,
hide: disposeMenu
}
})()

View File

@@ -63,16 +63,18 @@ RED.deploy = (function() {
'</a>'+
'<a id="red-ui-header-button-deploy-options" class="red-ui-deploy-button" href="#"><i class="fa fa-caret-down"></i></a>'+
'</span></li>').prependTo(".red-ui-header-toolbar");
RED.menu.init({id:"red-ui-header-button-deploy-options",
options: [
{id:"deploymenu-item-full",toggle:"deploy-type",icon:"red/images/deploy-full.svg",label:RED._("deploy.full"),sublabel:RED._("deploy.fullDesc"),selected: true, onselect:function(s) { if(s){changeDeploymentType("full")}}},
{id:"deploymenu-item-flow",toggle:"deploy-type",icon:"red/images/deploy-flows.svg",label:RED._("deploy.modifiedFlows"),sublabel:RED._("deploy.modifiedFlowsDesc"), onselect:function(s) {if(s){changeDeploymentType("flows")}}},
{id:"deploymenu-item-node",toggle:"deploy-type",icon:"red/images/deploy-nodes.svg",label:RED._("deploy.modifiedNodes"),sublabel:RED._("deploy.modifiedNodesDesc"),onselect:function(s) { if(s){changeDeploymentType("nodes")}}},
null,
{id:"deploymenu-item-reload", icon:"red/images/deploy-reload.svg",label:RED._("deploy.restartFlows"),sublabel:RED._("deploy.restartFlowsDesc"),onselect:"core:restart-flows"},
]
});
const mainMenuItems = [
{id:"deploymenu-item-full",toggle:"deploy-type",icon:"red/images/deploy-full.svg",label:RED._("deploy.full"),sublabel:RED._("deploy.fullDesc"),selected: true, onselect:function(s) { if(s){changeDeploymentType("full")}}},
{id:"deploymenu-item-flow",toggle:"deploy-type",icon:"red/images/deploy-flows.svg",label:RED._("deploy.modifiedFlows"),sublabel:RED._("deploy.modifiedFlowsDesc"), onselect:function(s) {if(s){changeDeploymentType("flows")}}},
{id:"deploymenu-item-node",toggle:"deploy-type",icon:"red/images/deploy-nodes.svg",label:RED._("deploy.modifiedNodes"),sublabel:RED._("deploy.modifiedNodesDesc"),onselect:function(s) { if(s){changeDeploymentType("nodes")}}},
null
]
if (RED.settings.runtimeState && RED.settings.runtimeState.ui === true) {
mainMenuItems.push({id:"deploymenu-item-runtime-start", icon:"red/images/start.svg",label:RED._("deploy.startFlows"),sublabel:RED._("deploy.startFlowsDesc"),onselect:"core:start-flows", visible:false})
mainMenuItems.push({id:"deploymenu-item-runtime-stop", icon:"red/images/stop.svg",label:RED._("deploy.stopFlows"),sublabel:RED._("deploy.stopFlowsDesc"),onselect:"core:stop-flows", visible:false})
}
mainMenuItems.push({id:"deploymenu-item-reload", icon:"red/images/deploy-reload.svg",label:RED._("deploy.restartFlows"),sublabel:RED._("deploy.restartFlowsDesc"),onselect:"core:restart-flows"})
RED.menu.init({id:"red-ui-header-button-deploy-options", options: mainMenuItems });
} else if (type == "simple") {
var label = options.label || RED._("deploy.deploy");
var icon = 'red/images/deploy-full-o.svg';
@@ -100,6 +102,10 @@ RED.deploy = (function() {
RED.actions.add("core:deploy-flows",save);
if (type === "default") {
if (RED.settings.runtimeState && RED.settings.runtimeState.ui === true) {
RED.actions.add("core:stop-flows",function() { stopStartFlows("stop") });
RED.actions.add("core:start-flows",function() { stopStartFlows("start") });
}
RED.actions.add("core:restart-flows",restart);
RED.actions.add("core:set-deploy-type-to-full",function() { RED.menu.setSelected("deploymenu-item-full",true);});
RED.actions.add("core:set-deploy-type-to-modified-flows",function() { RED.menu.setSelected("deploymenu-item-flow",true); });
@@ -270,18 +276,73 @@ RED.deploy = (function() {
function sanitize(html) {
return html.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")
}
function restart() {
var startTime = Date.now();
$(".red-ui-deploy-button-content").css('opacity',0);
$(".red-ui-deploy-button-spinner").show();
var deployWasEnabled = !$("#red-ui-header-button-deploy").hasClass("disabled");
$("#red-ui-header-button-deploy").addClass("disabled");
deployInflight = true;
function shadeShow() {
$("#red-ui-header-shade").show();
$("#red-ui-editor-shade").show();
$("#red-ui-palette-shade").show();
$("#red-ui-sidebar-shade").show();
}
function shadeHide() {
$("#red-ui-header-shade").hide();
$("#red-ui-editor-shade").hide();
$("#red-ui-palette-shade").hide();
$("#red-ui-sidebar-shade").hide();
}
function deployButtonSetBusy(){
$(".red-ui-deploy-button-content").css('opacity',0);
$(".red-ui-deploy-button-spinner").show();
$("#red-ui-header-button-deploy").addClass("disabled");
}
function deployButtonClearBusy(){
$(".red-ui-deploy-button-content").css('opacity',1);
$(".red-ui-deploy-button-spinner").hide();
}
function stopStartFlows(state) {
const startTime = Date.now()
const deployWasEnabled = !$("#red-ui-header-button-deploy").hasClass("disabled")
deployInflight = true
deployButtonSetBusy()
shadeShow()
$.ajax({
url:"flows/state",
type: "POST",
data: {state: state}
}).done(function(data,textStatus,xhr) {
if (deployWasEnabled) {
$("#red-ui-header-button-deploy").removeClass("disabled")
}
}).fail(function(xhr,textStatus,err) {
if (deployWasEnabled) {
$("#red-ui-header-button-deploy").removeClass("disabled")
}
if (xhr.status === 401) {
RED.notify(RED._("notification.error", { message: RED._("user.notAuthorized") }), "error")
} else if (xhr.responseText) {
const errorDetail = { message: err ? (err + "") : "" }
try {
errorDetail.message = JSON.parse(xhr.responseText).message
} finally {
errorDetail.message = errorDetail.message || xhr.responseText
}
RED.notify(RED._("notification.error", errorDetail), "error")
} else {
RED.notify(RED._("notification.error", { message: RED._("deploy.errors.noResponse") }), "error")
}
}).always(function() {
const delta = Math.max(0, 300 - (Date.now() - startTime))
setTimeout(function () {
deployButtonClearBusy()
shadeHide()
deployInflight = false
}, delta);
});
}
function restart() {
var startTime = Date.now();
var deployWasEnabled = !$("#red-ui-header-button-deploy").hasClass("disabled");
deployInflight = true;
deployButtonSetBusy();
$.ajax({
url:"flows",
type: "POST",
@@ -307,15 +368,10 @@ RED.deploy = (function() {
RED.notify(RED._("deploy.deployFailed",{message:RED._("deploy.errors.noResponse")}),"error");
}
}).always(function() {
deployInflight = false;
var delta = Math.max(0,300-(Date.now()-startTime));
setTimeout(function() {
$(".red-ui-deploy-button-content").css('opacity',1);
$(".red-ui-deploy-button-spinner").hide();
$("#red-ui-header-shade").hide();
$("#red-ui-editor-shade").hide();
$("#red-ui-palette-shade").hide();
$("#red-ui-sidebar-shade").hide();
deployButtonClearBusy();
deployInflight = false;
},delta);
});
}
@@ -450,21 +506,14 @@ RED.deploy = (function() {
const nns = RED.nodes.createCompleteNodeSet();
const startTime = Date.now();
$(".red-ui-deploy-button-content").css('opacity', 0);
$(".red-ui-deploy-button-spinner").show();
$("#red-ui-header-button-deploy").addClass("disabled");
deployButtonSetBusy();
const data = { flows: nns };
if (!force) {
data.rev = RED.nodes.version();
}
deployInflight = true;
$("#red-ui-header-shade").show();
$("#red-ui-editor-shade").show();
$("#red-ui-palette-shade").show();
$("#red-ui-sidebar-shade").show();
shadeShow();
$.ajax({
url: "flows",
type: "POST",
@@ -550,15 +599,11 @@ RED.deploy = (function() {
RED.notify(RED._("deploy.deployFailed", { message: RED._("deploy.errors.noResponse") }), "error");
}
}).always(function () {
deployInflight = false;
const delta = Math.max(0, 300 - (Date.now() - startTime));
setTimeout(function () {
$(".red-ui-deploy-button-content").css('opacity', 1);
$(".red-ui-deploy-button-spinner").hide();
$("#red-ui-header-shade").hide();
$("#red-ui-editor-shade").hide();
$("#red-ui-palette-shade").hide();
$("#red-ui-sidebar-shade").hide();
deployInflight = false;
deployButtonClearBusy()
shadeHide()
}, delta);
});
}

View File

@@ -21,7 +21,7 @@
const MONACO = "monaco";
const ACE = "ace";
const defaultEditor = ACE;
const defaultEditor = MONACO;
const DEFAULT_SETTINGS = { lib: defaultEditor, options: {} };
var selectedCodeEditor = null;
var initialised = false;
@@ -48,12 +48,12 @@
}
function create(options) {
//TODO: (quandry - for consideration)
//TODO: (quandry - for consideration)
// Below, I had to create a hidden element if options.id || options.element is not in the DOM
// I have seen 1 node calling `this.editor = RED.editor.createEditor()` with an
// I have seen 1 node calling `this.editor = RED.editor.createEditor()` with an
// invalid (non existing html element selector) (e.g. node-red-contrib-components does this)
// This causes monaco to throw an error when attempting to hook up its events to the dom & the rest of the 'oneditperapre'
// code is thus skipped.
// This causes monaco to throw an error when attempting to hook up its events to the dom & the rest of the 'oneditperapre'
// code is thus skipped.
// In ACE mode, creating an ACE editor (with an invalid ID) allows the editor to be created (but obviously there is no UI)
// Because one (or more) contrib nodes have left this bad code in place, how would we handle this?
// For compatibility, I have decided to create a hidden element so that at least an editor is created & errors do not occur.
@@ -79,7 +79,7 @@
return this.editor.create(options);//fallback to ACE
}
}
return {
init: init,
/**
@@ -91,7 +91,7 @@
},
/**
* Get user selected code editor
* @return {string} Returns
* @return {string} Returns
* @memberof RED.editor.codeEditor
*/
get editor() {
@@ -104,4 +104,4 @@
*/
create: create
}
})();
})();

View File

@@ -41,8 +41,12 @@ RED.editor.envVarList = (function() {
style: "width:100%",
class: "node-input-env-value",
type: "text",
}).attr("autocomplete","disable").appendTo(envRow)
valueField.typedInput({default:'str',types:isTemplateNode?DEFAULT_ENV_TYPE_LIST:DEFAULT_ENV_TYPE_LIST_INC_CRED});
}).attr("autocomplete","disable").appendTo(envRow);
var types = (opt.ui && opt.ui.opts && opt.ui.opts.types);
if (!types) {
types = isTemplateNode ? DEFAULT_ENV_TYPE_LIST : DEFAULT_ENV_TYPE_LIST_INC_CRED;
}
valueField.typedInput({default:'str',types:types});
valueField.typedInput('type', opt.type);
if (opt.type === "cred") {
if (opt.value) {
@@ -94,6 +98,11 @@ RED.editor.envVarList = (function() {
}
opt.ui.label = opt.ui.label || {};
opt.ui.type = opt.ui.type || "input";
if ((opt.ui.type === "cred") &&
opt.ui.opts &&
opt.ui.opts.types) {
opt.ui.type = "input";
}
var uiRow = $('<div/>').appendTo(container).hide();
// save current info for reverting on cancel

View File

@@ -534,6 +534,7 @@
var container = $("#red-ui-editor-type-json-tab-ui-container").css({"height":"100%"});
var filterDepth = Infinity;
var list = $('<div class="red-ui-debug-msg-payload red-ui-editor-type-json-editor">').appendTo(container).treeList({
selectable: false,
rootSortable: false,
sortable: ".red-ui-editor-type-json-editor-item-handle",
}).on("treelistchangeparent", function(event, evt) {

View File

@@ -37,8 +37,7 @@
if (!node._def.defaults || !node._def.defaults.hasOwnProperty("icon")) {
var icon = $("#red-ui-editor-node-icon").val()||"";
if (!this.isDefaultIcon) {
if ((icon !== node.icon) &&
(icon !== "")) {
if ((node.icon && icon !== node.icon) || (!node.icon && icon !== "")) {
editState.changes.icon = node.icon;
node.icon = icon;
editState.changed = true;

View File

@@ -265,13 +265,18 @@ RED.keyboard = (function() {
if (partialState) {
partialState = null;
return resolveKeyEvent(evt);
} else if (Object.keys(handler).length > 0) {
partialState = handler;
evt.preventDefault();
return null;
} else {
return null;
}
if (Object.keys(handler).length > 0) {
// check if there's a potential combined handler initiated by this keyCode
for (let h in handler) {
if (matchHandlerToEvent(evt,handler[h]) > -1) {
partialState = handler;
evt.preventDefault();
break;
}
}
}
return null;
} else {
var depth = Infinity;
var matchedHandler;

View File

@@ -20,10 +20,8 @@ RED.sidebar.help = (function() {
var helpSection;
var panels;
var panelRatio;
var helpTopics = [];
var treeList;
var tocPanel;
var helpIndex = {};
function resizeStack() {
var h = $(content).parent().height() - toolbar.outerHeight();
@@ -97,7 +95,10 @@ RED.sidebar.help = (function() {
var pendingContentLoad;
treeList.on('treelistselect', function(e,item) {
pendingContentLoad = item;
if (item.nodeType) {
if (item.tour) {
RED.tourGuide.run(item.tour);
}
else if (item.nodeType) {
showNodeTypeHelp(item.nodeType);
} else if (item.content) {
helpSection.empty();
@@ -189,7 +190,6 @@ RED.sidebar.help = (function() {
}
function refreshHelpIndex() {
helpTopics = [];
var modules = RED.nodes.registry.getModuleList();
var moduleNames = Object.keys(modules);
moduleNames.sort();
@@ -198,15 +198,32 @@ RED.sidebar.help = (function() {
label: RED._("sidebar.help.nodeHelp"),
children: [],
expanded: true
}
};
var tours = RED.tourGuide.list().map(function (item) {
return {
icon: "fa fa-play-circle-o",
label: item.label,
tour: item.path,
};
});
var helpData = [
{
id: 'changelog',
label: "Node-RED v"+RED.settings.version,
content: getChangelog
label: "Node-RED",
children: [
{
id: 'changelog',
label: RED._("sidebar.help.changeLog"),
content: getChangelog
},
{
label: RED._("tourGuide.welcomeTours"),
children: tours
}
]
},
nodeHelp
]
];
var subflows = RED.nodes.registry.getNodeTypes().filter(function(t) {return /subflow/.test(t)});
if (subflows.length > 0) {
nodeHelp.children.push({

View File

@@ -433,9 +433,30 @@ RED.tourGuide = (function() {
})
}
function listTour() {
return [
{
id: "3_0",
label: "3.0.0-beta.4",
path: "./tours/welcome.js"
},
{
id: "2_2",
label: "2.2.0",
path: "./tours/2.2/welcome.js"
},
{
id: "2_1",
label: "2.1.0",
path: "./tours/2.1/welcome.js"
}
];
}
return {
load: loadTour,
run: run,
list: listTour,
reset: function() {
RED.settings.set("editor.tours.welcome",'');
}

View File

@@ -105,6 +105,9 @@ RED.view.tools = (function() {
$(document).one('keyup',endKeyboardMove);
endMoveSet = true;
}
var dim = RED.view.dimensions();
var space_width = dim.width;
var space_height = dim.height;
var minX = 0;
var minY = 0;
var node;
@@ -120,6 +123,12 @@ RED.view.tools = (function() {
node.n.dirty = true;
node.n.x += dx;
node.n.y += dy;
if ((node.n.x +node.n.w/2) >= space_width) {
node.n.x = space_width -node.n.w/2;
}
if ((node.n.y +node.n.h/2) >= space_height) {
node.n.y = space_height -node.n.h/2;
}
node.n.dirty = true;
if (node.n.type === "group") {
RED.group.markDirty(node.n);
@@ -979,13 +988,14 @@ RED.view.tools = (function() {
* - it uses `<paletteLabel> <N>` - where N is the next available integer that
* doesn't clash with any existing nodes of that type
* @param {Object} node The node to set the name of - if not provided, uses current selection
* @param {{ renameBlank: boolean, renameClash: boolean, generateHistory: boolean }} options Possible options are `renameBlank`, `renameClash` and `generateHistory`
*/
function generateNodeNames(node, options) {
options = options || {
options = Object.assign({
renameBlank: true,
renameClash: true,
generateHistory: true
}
}, options)
let nodes = node;
if (node) {
if (!Array.isArray(node)) {

View File

@@ -95,6 +95,7 @@ RED.view = (function() {
let flashingNodeId;
var clipboard = "";
let clipboardSource
// Note: these are the permitted status colour aliases. The actual RGB values
// are set in the CSS - flow.scss/colors.scss
@@ -628,8 +629,10 @@ RED.view = (function() {
});
RED.actions.add("core:copy-selection-to-internal-clipboard",copySelection);
RED.actions.add("core:cut-selection-to-internal-clipboard",function(){copySelection();deleteSelection();});
RED.actions.add("core:paste-from-internal-clipboard",function(){importNodes(clipboard,{generateIds: true, generateDefaultNames: true});});
RED.actions.add("core:cut-selection-to-internal-clipboard",function(){copySelection(true);deleteSelection();});
RED.actions.add("core:paste-from-internal-clipboard",function(){
importNodes(clipboard,{generateIds: clipboardSource === 'copy', generateDefaultNames: clipboardSource === 'copy'});
});
RED.actions.add("core:detach-selected-nodes", function() { detachSelectedNodes() })
@@ -988,6 +991,7 @@ RED.view = (function() {
if (RED.view.DEBUG) {
console.warn("canvasMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event });
}
RED.contextMenu.hide();
if (mouse_mode === RED.state.SELECTING_NODE) {
d3.event.stopPropagation();
return;
@@ -1071,8 +1075,8 @@ RED.view = (function() {
var oy = point[1];
const offset = $("#red-ui-workspace-chart").offset()
var clientX = ox + offset.left
var clientY = oy + offset.top
var clientX = ox + offset.left - $("#red-ui-workspace-chart").scrollLeft()
var clientY = oy + offset.top - $("#red-ui-workspace-chart").scrollTop()
if (RED.settings.get("editor").view['view-snap-grid']) {
// eventLayer.append("circle").attr("cx",point[0]).attr("cy",point[1]).attr("r","2").attr('fill','red')
@@ -1779,6 +1783,9 @@ RED.view = (function() {
}
var i;
var historyEvent;
if (d3.event.button === 2) {
return
}
if (mouse_mode === RED.state.PANNING) {
resetMouseVars();
return
@@ -2145,6 +2152,9 @@ RED.view = (function() {
}
}
if (mouse_mode == RED.state.IMPORT_DRAGGING) {
if (clipboardSource === 'cut') {
clipboardSource = 'copy'
}
updateActiveNodes();
RED.nodes.dirty(true);
}
@@ -2699,7 +2709,7 @@ RED.view = (function() {
}
}
function copySelection() {
function copySelection(isCut) {
if (mouse_mode === RED.state.SELECTING_NODE) {
return;
}
@@ -2763,6 +2773,7 @@ RED.view = (function() {
}
}
clipboard = JSON.stringify(nns);
clipboardSource = isCut ? 'cut' : 'copy'
RED.menu.setDisabled("menu-item-edit-paste", false);
if (nodeCount > 0) {
RED.notify(RED._("clipboard.nodeCopied",{count:nodeCount}),{id:"clipboard"});
@@ -2903,6 +2914,7 @@ RED.view = (function() {
function portMouseDown(d,portType,portIndex, evt) {
if (RED.view.DEBUG) { console.warn("portMouseDown", mouse_mode,d,portType,portIndex); }
RED.contextMenu.hide();
evt = evt || d3.event;
if (evt === 1) {
return;
@@ -3281,11 +3293,17 @@ RED.view = (function() {
if (active && ((portType === PORT_TYPE_INPUT && ((d._def && d._def.inputLabels)||d.inputLabels)) || (portType === PORT_TYPE_OUTPUT && ((d._def && d._def.outputLabels)||d.outputLabels)))) {
portLabelHoverTimeout = setTimeout(function() {
const n = port && port.node()
const nId = n && n.__data__ && n.__data__.id
//check see if node has been deleted since timeout started
if(!n || !n.parentNode || !RED.nodes.node(n.__data__.id)) {
return; //node is gone!
}
var tooltip = getPortLabel(d,portType,portIndex);
if (!tooltip) {
return;
}
var pos = getElementPosition(port.node());
var pos = getElementPosition(n);
portLabelHoverTimeout = null;
portLabelHover = showTooltip(
(pos[0]+(portType===PORT_TYPE_INPUT?-2:12)),
@@ -3411,6 +3429,7 @@ RED.view = (function() {
function nodeMouseDown(d) {
if (RED.view.DEBUG) { console.warn("nodeMouseDown", mouse_mode,d); }
focusView();
RED.contextMenu.hide();
if (d3.event.button === 1) {
return;
}
@@ -3471,6 +3490,9 @@ RED.view = (function() {
updateSelection();
RED.nodes.dirty(true);
redraw();
if (clipboardSource === 'cut') {
clipboardSource = 'copy'
}
resetMouseVars();
d3.event.stopPropagation();
return;
@@ -3718,6 +3740,10 @@ RED.view = (function() {
if (d.hasOwnProperty('l')?!d.l : (d.type === "link in" || d.type === "link out")) {
var parentNode = this.parentNode;
portLabelHoverTimeout = setTimeout(function() {
//check see if node has been deleted since timeout started
if(!parentNode || !parentNode.parentNode || !RED.nodes.node(parentNode.id)) {
return; //node is gone!
}
var tooltip;
if (d._def.label) {
tooltip = d._def.label;
@@ -3793,6 +3819,7 @@ RED.view = (function() {
if (RED.view.DEBUG) {
console.warn("linkMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event });
}
RED.contextMenu.hide();
if (mouse_mode === RED.state.SELECTING_NODE) {
d3.event.stopPropagation();
return;
@@ -3852,6 +3879,9 @@ RED.view = (function() {
}
function groupMouseUp(g) {
if (RED.view.DEBUG) {
console.warn("groupMouseUp", { mouse_mode, event: d3.event });
}
if (dblClickPrimed && mousedown_group == g && clickElapsed > 0 && clickElapsed < dblClickInterval) {
mouse_mode = RED.state.DEFAULT;
RED.editor.editGroup(g);
@@ -3867,6 +3897,10 @@ RED.view = (function() {
// return
// }
if (RED.view.DEBUG) {
console.warn("groupMouseDown", { mouse_mode, point: mouse, event: d3.event });
}
RED.contextMenu.hide();
focusView();
if (d3.event.button === 1) {
return;
@@ -4072,7 +4106,7 @@ RED.view = (function() {
var mdn = mousedown_node;
var options = [];
options.push({name:"delete",disabled:(movingSet.length()===0 && selectedLinks.length() === 0),onselect:function() {deleteSelection();}});
options.push({name:"cut",disabled:(movingSet.length()===0),onselect:function() {copySelection();deleteSelection();}});
options.push({name:"cut",disabled:(movingSet.length()===0),onselect:function() {copySelection(true);deleteSelection();}});
options.push({name:"copy",disabled:(movingSet.length()===0),onselect:function() {copySelection();}});
options.push({name:"paste",disabled:(clipboard.length===0),onselect:function() {importNodes(clipboard, {generateIds: true, touchImport: true});}});
options.push({name:"edit",disabled:(movingSet.length() != 1),onselect:function() { RED.editor.edit(mdn);}});
@@ -4863,6 +4897,9 @@ RED.view = (function() {
if (d._def.button) {
var buttonEnabled = isButtonEnabled(d);
this.__buttonGroup__.classList.toggle("red-ui-flow-node-button-disabled", !buttonEnabled);
if (RED.runtime && Object.hasOwn(RED.runtime,'started')) {
this.__buttonGroup__.classList.toggle("red-ui-flow-node-button-stopped", !RED.runtime.started);
}
var x = d._def.align == "right"?d.w-6:-25;
if (d._def.button.toggle && !d[d._def.button.toggle]) {
@@ -5858,6 +5895,7 @@ RED.view = (function() {
* @private
*/
function createNode(type, x, y, z) {
const wasDirty = RED.nodes.dirty()
var m = /^subflow:(.+)$/.exec(type);
var activeSubflow = z ? RED.nodes.subflow(z) : null;
if (activeSubflow && m) {
@@ -5916,7 +5954,7 @@ RED.view = (function() {
var historyEvent = {
t: "add",
nodes: [nn.id],
dirty: RED.nodes.dirty()
dirty: wasDirty
}
if (activeSubflow) {
var subflowRefresh = RED.subflow.refresh(true);
@@ -6218,6 +6256,12 @@ RED.view = (function() {
showQuickAddDialog:showQuickAddDialog,
calculateNodeDimensions: calculateNodeDimensions,
getElementPosition:getElementPosition,
showTooltip:showTooltip
showTooltip:showTooltip,
dimensions: function() {
return {
width: space_width,
height: space_height
};
}
};
})();

View File

@@ -284,9 +284,22 @@ RED.workspaces = (function() {
onselect: "core:show-last-hidden-flow"
}
]
if (hideStack.length > 0) {
let hiddenFlows = new Set()
for (let i = 0; i < hideStack.length; i++) {
let ids = hideStack[i]
if (!Array.isArray(ids)) {
ids = [ids]
}
ids.forEach(id => {
if (RED.nodes.workspace(id)) {
hiddenFlows.add(id)
}
})
}
const flowCount = hiddenFlows.size;
if (flowCount > 0) {
menuItems.unshift({
label: RED._("workspace.hiddenFlows",{count: hideStack.length}),
label: RED._("workspace.hiddenFlows",{count: flowCount}),
onselect: "core:list-hidden-flows"
})
}

View File

@@ -2,48 +2,48 @@
.ace_read-only {
.ace_scroller {
background: $text-editor-background-disabled;
color: $text-editor-color-disabled;
background: var(--red-ui-text-editor-background-disabled);
color: var(--red-ui-text-editor-color-disabled);
}
.ace_cursor {
color: transparent !important;
}
}
.ace_gutter {
background: $text-editor-gutter-background;
background: var(--red-ui-text-editor-gutter-background);
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.ace_scroller {
background: $text-editor-background;
background: var(--red-ui-text-editor-background);
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
color: $text-editor-color;
color: var(--red-ui-text-editor-color);
}
.ace_marker-layer .ace_active-line {
background: $text-editor-active-line-background;
background: var(--red-ui-text-editor-active-line-background);
}
.ace_marker-layer .ace_selection {
background: $text-editor-selection-background;
background: var(--red-ui-text-editor-selection-background);
border-radius: 1px;
}
.ace_gutter-cell {
color: $text-editor-gutter-color;
color: var(--red-ui-text-editor-gutter-color);
}
.ace_gutter-active-line {
background: $text-editor-gutter-active-line-background;
background: var(--red-ui-text-editor-gutter-active-line-background);
}
.ace_tooltip {
font-family: $primary-font;
font-family: var(--red-ui-primary-font);
line-height: 1.4em;
max-width: 400px;
white-space: normal;
background-image: none;
background: $popover-background;
color: $popover-color;
background: var(--red-ui-popover-background);
color: var(--red-ui-popover-color);
border-radius: 4px;
@include component-shadow;
border-color: $popover-background;
border-color: var(--red-ui-popover-background);
}
.ace_content {
line-height: 1;
@@ -55,14 +55,14 @@
#red-ui-event-log-editor {
.ace_scroller {
background: $event-log-background;
color: $event-log-color;
background: var(--red-ui-event-log-background);
color: var(--red-ui-event-log-color);
}
.ace_marker-layer .ace_active-line {
background: $event-log-active-line-background;
background: var(--red-ui-event-log-active-line-background);
}
.ace_marker-layer .ace_selection {
background: $event-log-selection-background;
background: var(--red-ui-event-log-selection-background);
}
}
}

View File

@@ -20,12 +20,12 @@ body {
}
.red-ui-editor {
font-size: $primary-font-size;
font-family: $primary-font;
font-size: var(--red-ui-primary-font-size);
font-family: var(--red-ui-primary-font);
padding: 0;
margin: 0;
background: $primary-background;
color: $primary-text-color;
background: var(--red-ui-primary-background);
color: var(--red-ui-primary-text-color);
line-height: 20px;
}
@@ -63,15 +63,15 @@ body {
.red-ui-icon-picker {
a {
text-decoration: none;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
a:hover,
a:focus {
text-decoration: none;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
a:focus {
outline: 1px solid $form-input-focus-color;
outline: 1px solid var(--red-ui-form-input-focus-color);
}
p {
@@ -130,7 +130,7 @@ body {
hr {
margin: 20px 0;
border: 0;
border-top: 1px solid $tertiary-border-color;
border-top: 1px solid var(--red-ui-tertiary-border-color);
}
@@ -150,22 +150,22 @@ body {
mask-position: 50% 50%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $spinner-color;
background-color: var(--red-ui-spinner-color);
}
.red-ui-font-code {
font-family: $monospace-font;
font-size: $primary-font-size;
color: $text-color-code;
font-family: var(--red-ui-monospace-font);
font-size: var(--red-ui-primary-font-size);
color: var(--red-ui-text-color-code);
white-space: nowrap;
}
code {
font-family: $monospace-font;
font-size: $primary-font-size;
font-family: var(--red-ui-monospace-font);
font-size: var(--red-ui-primary-font-size);
padding: 0px;
margin: 1px;
color: $text-color-code;
color: var(--red-ui-text-color-code);
white-space: nowrap;
}
@@ -177,8 +177,8 @@ body {
word-break: break-all;
word-wrap: break-word;
white-space: pre-wrap;
background-color:$tertiary-background;
border: 1px solid $tertiary-border-color;
background-color:var(--red-ui-tertiary-background);
border: 1px solid var(--red-ui-tertiary-border-color);
border-radius: 2px;
}
@@ -217,8 +217,8 @@ body {
blockquote {
padding: 0 0 0 15px;
margin: 0 0 20px;
border-left: 4px solid $secondary-border-color;
color: $secondary-text-color;
border-left: 4px solid var(--red-ui-secondary-border-color);
color: var(--red-ui-secondary-text-color);
p {
font-size: 14px;
@@ -244,7 +244,7 @@ body {
right: 1px;
text-align: center;
padding: 40px;
background: $secondary-background;
background: var(--red-ui-secondary-background);
&:before {
content: '';
display: inline-block;
@@ -258,14 +258,14 @@ body {
width: 80px;
}
&.red-ui-component-spinner-sidebar {
background: $secondary-background;
background: var(--red-ui-secondary-background);
padding:0;
img {
width: 40px;
}
}
&.projects-version-control-spinner-sidebar {
background: $secondary-background;
background: var(--red-ui-secondary-background);
padding:0;
img {
width: 20px;

View File

@@ -112,9 +112,13 @@ $tab-text-color-disabled-inactive: $secondary-text-color-disabled-inactive;
$tab-badge-color: $tertiary-text-color;
$tab-background: $secondary-background;
$tab-background-active: $secondary-background;
$tab-background-active-alpha: rgba($tab-background-active, 0.001);
$tab-background-selected: $secondary-background-selected;
$tab-background-selected-alpha: rgba($tab-background-selected, 0.001);
$tab-background-inactive: $secondary-background-inactive;
$tab-background-inactive-alpha: rgba($tab-background-inactive, 0.001);
$tab-background-hover: $secondary-background-hover;
$tab-background-hover-alpha: rgba($tab-background-hover, 0.001);
$palette-header-background: $primary-background;
$palette-header-color: $header-text-color;
@@ -213,6 +217,7 @@ $node-icon-border-color: #000;
$node-icon-border-color-opacity: 0.1;
$node-config-background: #f3f3f3;
$node-config-icon-container-disabled: #aaa;
$node-link-port-background: #eee;

View File

@@ -17,7 +17,7 @@
.red-ui-debug-window {
padding:0;
margin:0;
background: $secondary-background;
background: var(--red-ui-secondary-background);
line-height: 20px;
.red-ui-debug-msg-payload {
font-size: 14px;
@@ -38,15 +38,15 @@
left: 0px;
right: 0px;
z-index: 20;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
padding: 10px;
border-bottom: 1px solid $secondary-border-color;
box-shadow: 0 2px 6px $shadow;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
box-shadow: 0 2px 6px var(--red-ui-shadow);
}
#red-ui-sidebar-debug-filter-node-list-row {
.red-ui-treeList-label.disabled {
font-style: italic;
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
.red-ui-treeList-label {
@@ -57,22 +57,22 @@
background: inherit;
}
&.focus, &.focus .red-ui-treeList-sublabel-text {
background: $list-item-background-hover !important;
background: var(--red-ui-list-item-background-hover) !important;
}
}
}
.red-ui-debug-msg {
position: relative;
border-bottom: 1px solid $debug-message-border;
border-left: 8px solid $debug-message-border;
border-right: 8px solid $debug-message-border;
border-bottom: 1px solid var(--red-ui-debug-message-border);
border-left: 8px solid var(--red-ui-debug-message-border);
border-right: 8px solid var(--red-ui-debug-message-border);
padding: 2px;
&>.red-ui-debug-msg-meta .red-ui-debug-msg-tools {
display: none;
}
&.red-ui-debug-msg-hover {
border-right-color: $debug-message-border-hover;
border-right-color: var(--red-ui-debug-message-border-hover);
&>.red-ui-debug-msg-meta .red-ui-debug-msg-tools {
display: inline-block;
}
@@ -86,7 +86,7 @@
display: inline-block;
}
&:hover {
background: $debug-message-background-hover;
background: var(--red-ui-debug-message-background-hover);
&>.red-ui-debug-msg-tools {
.red-ui-debug-msg-tools-copy {
display: inline-block;
@@ -120,9 +120,9 @@
}
.red-ui-debug-msg-meta {
background: $debug-message-background;
background: var(--red-ui-debug-message-background);
font-size: 11px;
color: $secondary-text-color-inactive;
color: var(--red-ui-secondary-text-color-inactive);
overflow-wrap: anywhere;
}
.red-ui-debug-msg-date {
@@ -131,11 +131,11 @@
}
.red-ui-debug-msg-topic {
display: block;
color: $debug-message-text-color-meta;
color: var(--red-ui-debug-message-text-color-meta);
}
.red-ui-debug-msg-name {
padding: 1px 0px;
color: $secondary-text-color-inactive;
color: var(--red-ui-secondary-text-color-inactive);
white-space: nowrap;
}
.red-ui-debug-msg-tools {
@@ -152,39 +152,39 @@
.red-ui-debug-msg-payload {
display: block;
padding: 2px;
background: $debug-message-background;
font-family: $monospace-font;
background: var(--red-ui-debug-message-background);
font-family: var(--red-ui-monospace-font);
font-size: 13px !important;
}
.red-ui-debug-msg-level-log {
border-left-color: $debug-message-border;
border-right-color: $debug-message-border;
border-left-color: var(--red-ui-debug-message-border);
border-right-color: var(--red-ui-debug-message-border);
}
.red-ui-debug-msg-level-30 {
border-left-color: $debug-message-border-warning;
border-right-color: $debug-message-border-warning;
border-left-color: var(--red-ui-debug-message-border-warning);
border-right-color: var(--red-ui-debug-message-border-warning);
}
.red-ui-debug-msg-level-20 {
border-left-color: $debug-message-border-error;
border-right-color: $debug-message-border-error;
border-left-color: var(--red-ui-debug-message-border-error);
border-right-color: var(--red-ui-debug-message-border-error);
}
.red-ui-debug-msg-object-entry {
position: relative;
padding-left: 15px;
}
.red-ui-debug-msg-element {
color: $debug-message-text-color;
color: var(--red-ui-debug-message-text-color);
line-height: 1.3em;
overflow-wrap: break-word;
}
.red-ui-debug-msg-object-key {
color: $debug-message-text-color-object-key;
color: var(--red-ui-debug-message-text-color-object-key);
}
.red-ui-debug-msg-object-value {
}
.red-ui-debug-msg-object-handle {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 1em;
width: 1em;
text-align: center;
@@ -219,17 +219,17 @@
display:none;
}
.red-ui-debug-msg-object-entry pre {
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
font-size: 13px;
line-height: 1.2em;
margin: 0 0 0 -1em;
}
.red-ui-debug-msg-type-other { color: $debug-message-text-color-msg-type-other; }
.red-ui-debug-msg-type-string { color: $debug-message-text-color-msg-type-string; }
.red-ui-debug-msg-type-null { color: $debug-message-text-color-msg-type-null; font-style: italic;}
.red-ui-debug-msg-type-meta { color: $debug-message-text-color-msg-type-meta; font-style: italic;}
.red-ui-debug-msg-type-number { color: $debug-message-text-color-msg-type-number; };
.red-ui-debug-msg-type-other { color: var(--red-ui-debug-message-text-color-msg-type-other); }
.red-ui-debug-msg-type-string { color: var(--red-ui-debug-message-text-color-msg-type-string); }
.red-ui-debug-msg-type-null { color: var(--red-ui-debug-message-text-color-msg-type-null); font-style: italic;}
.red-ui-debug-msg-type-meta { color: var(--red-ui-debug-message-text-color-msg-type-meta); font-style: italic;}
.red-ui-debug-msg-type-number { color: var(--red-ui-debug-message-text-color-msg-type-number); }
.red-ui-debug-msg-type-number-toggle { cursor: pointer;}
.red-ui-debug-msg-type-string {
@@ -241,14 +241,14 @@
padding: 4px 2px 2px;
position: relative;
&.red-ui-debug-msg-row-pinned {
background: $secondary-background-selected;
background: var(--red-ui-secondary-background-selected);
}
}
.red-ui-debug-msg-expandable {
cursor: pointer;
}
.red-ui-debug-msg-expandable:hover .red-ui-debug-msg-object-handle {
color:$secondary-text-color-hover;
color:var(--red-ui-secondary-text-color-hover);
}
.red-ui-debug-msg-buffer-opts {

View File

@@ -23,11 +23,11 @@
.red-ui-editableList-container {
border-radius:1px;
padding:0;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
}
.red-ui-diff-list {
li {
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
padding: 0px;
border: none;
min-height: 0;
@@ -62,29 +62,29 @@
white-space: nowrap;
text-overflow: ellipsis;
width: 50%;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
text-align: center;
border-top: 1px solid $secondary-border-color;
border-color:$secondary-border-color;
border-left: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-color:var(--red-ui-secondary-border-color);
border-left: 1px solid var(--red-ui-secondary-border-color);
}
div:last-child {
border-right: 1px solid $secondary-border-color;
border-right: 1px solid var(--red-ui-secondary-border-color);
}
}
.red-ui-diff-dialog-toolbar {
box-sizing: border-box;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
text-align: right;
padding: 8px 10px;
background: $primary-background;
border-bottom: 1px solid $secondary-border-color;
background: var(--red-ui-primary-background);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
white-space: nowrap;
}
.red-ui-diff-list-flow {
background: $secondary-background;
border: 1px solid $secondary-border-color;
background: var(--red-ui-secondary-background);
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 1px;
overflow: hidden;
@@ -114,10 +114,10 @@
font-size: 0.9em;
&:first-child {
border-top: 1px solid $tertiary-border-color;
border-top: 1px solid var(--red-ui-tertiary-border-color);
}
&:not(:last-child) {
border-bottom: 1px solid $tertiary-border-color;
border-bottom: 1px solid var(--red-ui-tertiary-border-color);
}
&.collapsed {
@@ -150,8 +150,8 @@
width: 100%;
}
td, th {
border-top: 1px solid $secondary-border-color;
border-left: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-left: 1px solid var(--red-ui-secondary-border-color);
&:first-child {
border-left: none;
}
@@ -166,7 +166,7 @@
overflow:hidden;
}
&:hover {
background: $secondary-background-selected;
background: var(--red-ui-secondary-background-selected);
}
}
@@ -212,7 +212,7 @@
cursor: pointer;
padding: 0;
&:hover {
background: $secondary-background-selected;
background: var(--red-ui-secondary-background-selected);
}
}
.red-ui-diff-list-flow-title-meta {
@@ -223,7 +223,7 @@
.red-ui-diff-list-node-header {
cursor: pointer;
&:hover {
background: $secondary-background-selected;
background: var(--red-ui-secondary-background-selected);
}
}
.red-ui-diff-list-node-icon {
@@ -232,9 +232,9 @@
margin: 5px;
width: 18px;
height: 15px;
background: $form-input-background;
background: var(--red-ui-form-input-background);
border-radius: 2px;
border: 1px solid $node-border;
border: 1px solid var(--red-ui-node-border);
background-position: 5% 50%;
background-repeat: no-repeat;
background-size: contain;
@@ -267,7 +267,7 @@
.red-ui-diff-status-deleted {
cursor: default !important;
.red-ui-diff-status {
color: $diff-state-deleted;
color: var(--red-ui-diff-state-deleted);
}
.red-ui-diff-list-node-node {
opacity: 0.5;
@@ -280,28 +280,28 @@
.red-ui-diff-status-added {
cursor: default !important;
.red-ui-diff-status {
color: $diff-state-added;
color: var(--red-ui-diff-state-added);
}
}
.red-ui-diff-status-moved {
.red-ui-diff-status {
color: $diff-state-moved;
color: var(--red-ui-diff-state-moved);
}
}
.red-ui-diff-status-changed {
.red-ui-diff-status {
color: $diff-state-changed;
color: var(--red-ui-diff-state-changed);
}
}
.red-ui-diff-status-unchanged {
.red-ui-diff-status {
color: $diff-state-unchanged;
color: var(--red-ui-diff-state-unchanged);
}
}
.red-ui-diff-status-conflict {
.red-ui-diff-status {
color: $diff-state-conflict;
color: var(--red-ui-diff-state-conflict);
}
}
.red-ui-diff-list-node-title {
@@ -312,7 +312,7 @@
}
.red-ui-diff-list-node-properties {
margin: 0;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
.red-ui-diff-status {
display: inline-block;
@@ -329,7 +329,7 @@
}
.red-ui-diff-list-node-description {
color: $form-text-color;
color: var(--red-ui-form-text-color);
margin-right: 5px;
padding-top: 5px;
display: inline-block;
@@ -340,11 +340,11 @@
}
}
.red-ui-diff-state-added { color: $diff-state-added; }
.red-ui-diff-state-deleted { color: $diff-state-deleted; }
.red-ui-diff-state-changed { color: $diff-state-changed; }
.red-ui-diff-state-unchanged { color: $diff-state-unchanged; }
.red-ui-diff-state-conflicted { color: $diff-state-conflicted; }
.red-ui-diff-state-added { color: var(--red-ui-diff-state-added); }
.red-ui-diff-state-deleted { color: var(--red-ui-diff-state-deleted); }
.red-ui-diff-state-changed { color: var(--red-ui-diff-state-changed); }
.red-ui-diff-state-unchanged { color: var(--red-ui-diff-state-unchanged); }
.red-ui-diff-state-conflicted { color: var(--red-ui-diff-state-conflicted); }
.red-ui-diff-list-node-cell {
@@ -353,19 +353,19 @@
box-sizing: border-box;
width: calc( (100% - 20px) / 2);
height: 32px;
border-left: 1px solid $secondary-border-color;
border-left: 1px solid var(--red-ui-secondary-border-color);
padding-top: 2px;
white-space: nowrap;
overflow: hidden;
position: relative;
}
.red-ui-diff-empty {
background: $secondary-background-disabled;
background: var(--red-ui-secondary-background-disabled);
background: repeating-linear-gradient(
20deg,
$secondary-background, $secondary-background 5px,
$secondary-background-disabled 5px,
$secondary-background-disabled 10px
var(--red-ui-secondary-background), var(--red-ui-secondary-background) 5px,
var(--red-ui-secondary-background-disabled) 5px,
var(--red-ui-secondary-background-disabled) 10px
);
}
.red-ui-diff-list-node-cell:first-child {
@@ -425,10 +425,10 @@
background: none;
}
&.red-ui-diff-status-changed {
background: $diff-state-changed-background;
background: var(--red-ui-diff-state-changed-background);
}
&.red-ui-diff-status-conflict {
background: $diff-state-conflict-background;
background: var(--red-ui-diff-state-conflict-background);
}
}
@@ -439,42 +439,42 @@ label.red-ui-diff-selectbox {
bottom:0;
width: 35px;
text-align: center;
border-left: 1px solid $secondary-border-color;
border-left: 1px solid var(--red-ui-secondary-border-color);
margin:0;
input[type="radio"] {
margin-top: 8px;
}
&:hover {
background: $secondary-background-hover;
background: var(--red-ui-secondary-background-hover);
}
}
.red-ui-diff-list-node-conflict.red-ui-diff-select-remote {
.red-ui-diff-list-node-remote {
background: $diff-state-added-background;
background: var(--red-ui-diff-state-added-background);
label {
border-left-color: $diff-state-added-border;
border-left-color: var(--red-ui-diff-state-added-border);
}
}
.red-ui-diff-list-node-local {
background: $diff-state-deleted-background;
background: var(--red-ui-diff-state-deleted-background);
label {
border-left-color: $diff-state-deleted-border;
border-left-color: var(--red-ui-diff-state-deleted-border);
}
}
}
.red-ui-diff-list-node-conflict.red-ui-diff-select-local {
.red-ui-diff-list-node-local {
background: $diff-state-added-background;
background: var(--red-ui-diff-state-added-background);
label {
border-left-color: $diff-state-added-border;
border-left-color: var(--red-ui-diff-state-added-border);
}
}
.red-ui-diff-list-node-remote {
background: $diff-state-deleted-background;
background: var(--red-ui-diff-state-deleted-background);
label {
border-left-color: $diff-state-deleted-border;
border-left-color: var(--red-ui-diff-state-deleted-border);
}
}
}
@@ -500,10 +500,10 @@ ul.red-ui-deploy-dialog-confirm-list {
width: 30px;
margin-right: 10px;
&.fa-check {
color: $text-color-success;
color: var(--red-ui-text-color-success);
}
&.fa-exclamation {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
div {
@@ -529,7 +529,7 @@ ul.red-ui-deploy-dialog-confirm-list {
table.red-ui-diff-text-content {
margin: 10px;
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 3px;
table-layout: fixed;
width: calc(100% - 20px);
@@ -538,88 +538,88 @@ ul.red-ui-deploy-dialog-confirm-list {
word-wrap: break-word;
}
td.lineno {
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
text-align: right;
color: $tertiary-text-color;
background: $tertiary-background;
color: var(--red-ui-tertiary-text-color);
background: var(--red-ui-tertiary-background);
padding: 1px 5px;
&.added {
background: $diff-state-added-header-background;
background: var(--red-ui-diff-state-added-header-background);
}
&.removed {
background: $diff-state-deleted-header-background;
background: var(--red-ui-diff-state-deleted-header-background);
}
}
td.lineno:nth-child(3) {
border-left: 1px solid $secondary-border-color;
border-left: 1px solid var(--red-ui-secondary-border-color);
}
td.linetext {
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
white-space: pre-wrap;
padding: 1px 5px;
border-left: 1px solid $tertiary-border-color;
border-left: 1px solid var(--red-ui-tertiary-border-color);
span.prefix {
width: 30px;
display: inline-block;
text-align: center;
color: $diff-state-prefix-color;
color: var(--red-ui-diff-state-prefix-color);
}
&.added {
border-left-color: $diff-state-added-header-border;
border-left-color: var(--red-ui-diff-state-added-header-border);
}
&.removed {
border-left-color: $diff-state-deleted-header-border;
border-left-color: var(--red-ui-diff-state-deleted-header-border);
}
}
td.blank {
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
}
td.added {
background: $diff-state-added-background;
color: $diff-state-color;
background: var(--red-ui-diff-state-added-background);
color: var(--red-ui-diff-state-color);
}
td.removed {
background: $diff-state-deleted-background;
color: $diff-state-color;
background: var(--red-ui-diff-state-deleted-background);
color: var(--red-ui-diff-state-color);
}
tr.mergeHeader td {
color: $diff-merge-header-color;
background: $diff-merge-header-background;
color: var(--red-ui-diff-merge-header-color);
background: var(--red-ui-diff-merge-header-background);
height: 26px;
vertical-align: middle;
}
tr.mergeHeader-separator td {
color: $diff-merge-header-color;
background: $diff-merge-header-border-color;
color: var(--red-ui-diff-merge-header-color);
background: var(--red-ui-diff-merge-header-border-color);
height: 0px;
}
tr.mergeHeader-ours td {
border-top: 2px solid $diff-merge-header-border-color;
border-top: 2px solid var(--red-ui-diff-merge-header-border-color);
}
tr.mergeHeader-theirs td {
border-bottom: 2px solid $diff-merge-header-border-color;
border-bottom: 2px solid var(--red-ui-diff-merge-header-border-color);
}
td.unchanged {
background: $diff-state-unchanged-background;
color: $diff-state-unchanged;
background: var(--red-ui-diff-state-unchanged-background);
color: var(--red-ui-diff-state-unchanged);
}
tr.unchanged {
background: $diff-state-unchanged-background;
background: var(--red-ui-diff-state-unchanged-background);
}
tr.start-block {
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
}
tr.end-block {
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
tr.red-ui-diff-text-file-header td {
.filename {
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
}
background: $primary-background;
background: var(--red-ui-primary-background);
padding: 5px 10px 5px 0;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
cursor: pointer;
i.red-ui-diff-list-chevron {
width: 30px;
@@ -631,17 +631,17 @@ ul.red-ui-deploy-dialog-confirm-list {
}
}
tr.red-ui-diff-text-commit-header td {
background: $primary-background;
background: var(--red-ui-primary-background);
padding: 5px 10px;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
h3 {
font-size: 1.4em;
margin: 0;
}
.commit-summary {
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
padding-top: 5px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
.commit-body {
margin-bottom:15px;
@@ -651,20 +651,20 @@ ul.red-ui-deploy-dialog-confirm-list {
}
tr.red-ui-diff-text-header > td:not(.red-ui-diff-flow-diff) {
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
padding: 5px 10px;
text-align: left;
color: $diff-text-header-color;
background: $diff-text-header-background;
color: var(--red-ui-diff-text-header-color);
background: var(--red-ui-diff-text-header-background);
height: 30px;
vertical-align: middle;
border-top: 1px solid $secondary-border-color;
border-bottom: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
tr.red-ui-diff-text-expand td {
cursor: pointer;
&:hover {
background: $diff-text-header-background;
background: var(--red-ui-diff-text-header-background);
}
}
}

View File

@@ -18,7 +18,7 @@
position: absolute;
top: 0; bottom: 0;
left: 0; right: 0;
background: $dnd-background;
background: var(--red-ui-dnd-background);
display:table;
width: 100%;
height: 100%;
@@ -30,7 +30,7 @@
vertical-align: middle;
text-align: center;
font-size: 40px;
color: $dnd-color;
color: var(--red-ui-dnd-color);
i {
pointer-events: none;
font-size: 80px;

View File

@@ -15,8 +15,8 @@
**/
.red-ui-menu-dropdown {
font-family: $primary-font;
font-size: $primary-font-size;
font-family: var(--red-ui-primary-font);
font-size: var(--red-ui-primary-font-size);
position: absolute;
top: 100%;
width: 230px;
@@ -28,9 +28,9 @@
margin-left: 0px !important;
padding: 5px 0;
list-style: none;
background: $menuBackground;
border: 1px solid $secondary-border-color;
box-shadow: 0 5px 10px $shadow;
background: var(--red-ui-menuBackground);
border: 1px solid var(--red-ui-secondary-border-color);
box-shadow: 0 5px 10px var(--red-ui-shadow);
&.pull-right {
right: 0;
@@ -41,7 +41,7 @@
height: 1px;
margin: 9px 1px;
overflow: hidden;
background-color: $menuDivider;
background-color: var(--red-ui-menuDivider);
}
& > li > a,
& > li > a:focus {
@@ -50,7 +50,7 @@
clear: both;
font-weight: normal;
line-height: 20px;
color: $menuColor;
color: var(--red-ui-menuColor);
white-space: normal !important;
outline: none;
}
@@ -63,29 +63,32 @@
padding: 4px 12px 4px 12px;
}
&.red-ui-menu-dropdown-submenus > li > a,
&.red-ui-menu-dropdown-submenus > li > a:focus {
&.red-ui-menu-dropdown-submenus.red-ui-menu-dropdown-direction-right > li > a,
&.red-ui-menu-dropdown-submenus.red-ui-menu-dropdown-direction-right > li > a:focus {
padding-right: 20px;
}
&.red-ui-menu-dropdown-submenus.red-ui-menu-dropdown-direction-left > li > a,
&.red-ui-menu-dropdown-submenus.red-ui-menu-dropdown-direction-left > li > a:focus {
padding-left: 20px;
}
& > .active > a,
& > .active > a:hover,
& > .active > a:focus {
color: $menuActiveColor;
color: var(--red-ui-menuActiveColor);
text-decoration: none;
background-color: $menuActiveBackground;
background-color: var(--red-ui-menuActiveBackground);
outline: 0;
}
& > .disabled > a,
& > .disabled > a:hover,
& > .disabled > a:focus {
color: $menuDisabledColor;
color: var(--red-ui-menuDisabledColor);
.red-ui-popover-key {
color: $menuDisabledColor;
border-color: $menuDisabledColor;
color: var(--red-ui-menuDisabledColor);
border-color: var(--red-ui-menuDisabledColor);
}
}
@@ -133,8 +136,8 @@
padding: 0;
font-size: 13px;
// float: right;
color: $menuColor;
border-color: $menuColor;
color: var(--red-ui-menuColor);
border-color: var(--red-ui-menuColor);
}
}
@@ -151,9 +154,9 @@
.red-ui-menu-dropdown > li > a:focus,
.red-ui-menu-dropdown-submenu:hover > a,
.red-ui-menu-dropdown-submenu:focus > a {
color: $menuHoverColor;
color: var(--red-ui-menuHoverColor);
text-decoration: none;
background-color: $menuHoverBackground;
background-color: var(--red-ui-menuHoverBackground);
}
.red-ui-menu-dropdown-submenu {
@@ -176,7 +179,7 @@
margin-top: 5px;
margin-right: -10px;
border-color: transparent;
border-left-color: $menuCaret;
border-left-color: var(--red-ui-menuCaret);
border-style: solid;
border-width: 5px 0 5px 5px;
content: " ";
@@ -199,10 +202,10 @@
width: 0;
height: 0;
margin-top: 5px;
margin-left: -30px;
margin-left: -15px;
/* Caret Arrow */
border-color: transparent;
border-right-color: $menuCaret;
border-right-color: var(--red-ui-menuCaret);
border-style: solid;
border-width: 5px 5px 5px 0;
content: " ";
@@ -220,20 +223,20 @@
margin-right: -15px;
/* Caret Arrow */
border-color: transparent;
border-left-color: $menuCaret;
border-left-color: var(--red-ui-menuCaret);
border-style: solid;
border-width: 5px 0 5px 5px;
content: " ";
}
}
.red-ui-menu-dropdown-submenu.disabled > a:before {
border-right-color: $menuCaret;
border-right-color: var(--red-ui-menuCaret);
}
// Menu NG
ul.red-ui-menu:not(.red-ui-menu-dropdown) {
font-family: $primary-font;
font-family: var(--red-ui-primary-font);
font-size: 12px;
list-style-type: none;
padding: 0;
@@ -244,14 +247,14 @@ ul.red-ui-menu:not(.red-ui-menu-dropdown) {
clear: both;
font-weight: normal;
line-height: 20px;
color: $menuColor;
color: var(--red-ui-menuColor);
white-space: nowrap;
text-decoration: none;
&:hover,&:focus {
color: $menuHoverColor;
color: var(--red-ui-menuHoverColor);
text-decoration: none;
background-color: $menuHoverBackground;
background-color: var(--red-ui-menuHoverBackground);
border: none;
outline: none;
}

View File

@@ -32,9 +32,9 @@
width: auto;
right: -1000px;
bottom: 0;
background: $secondary-background;
border-left: 1px solid $secondary-border-color;
border-bottom: 1px solid $primary-border-color;
background: var(--red-ui-secondary-background);
border-left: 1px solid var(--red-ui-secondary-border-color);
border-bottom: 1px solid var(--red-ui-primary-border-color);
box-sizing: content-box;
}
.red-ui-tray.open {
@@ -67,8 +67,8 @@
position: relative;
box-sizing: border-box;
font-weight: bold;
border-bottom: 1px solid $secondary-border-color;
background: $palette-header-background;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-palette-header-background);
&:after {
content: "";
display: table;
@@ -88,8 +88,8 @@
height: 26px;
line-height: 26px;
&.toggle:not(.selected) {
color: $workspace-button-color-selected !important;
background: $workspace-button-background-active;
color: var(--red-ui-workspace-button-color-selected) !important;
background: var(--red-ui-workspace-button-background-active);
}
}
@@ -116,8 +116,8 @@
}
.red-ui-tray-titlebar {
color: $header-text-color;
border-bottom: 1px solid $secondary-border-color;
color: var(--red-ui-header-text-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
padding: 8px;
}
.red-ui-editor ul.red-ui-tray-breadcrumbs {
@@ -131,7 +131,7 @@
margin:0;
&:not(:last-child) {
color: $workspace-button-color;
color: var(--red-ui-workspace-button-color);
font-weight: normal;
&:after {
@@ -149,10 +149,10 @@
bottom: 0px;
width: 7px;
left: -9px;
background-color: $primary-background;
background-color: var(--red-ui-primary-background);
cursor: col-resize;
border-left: 1px solid $primary-border-color;
box-shadow: -1px 0 6px $shadow;
border-left: 1px solid var(--red-ui-primary-border-color);
box-shadow: -1px 0 6px var(--red-ui-shadow);
&:before {
content: '';
@@ -167,11 +167,11 @@
mask-position: 50% 50%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $grip-color;
background-color: var(--red-ui-grip-color);
}
&.red-ui-tray-resize-maximised {
background: $primary-background;
background: var(--red-ui-primary-background);
cursor: default;
}
}
@@ -182,10 +182,10 @@ button.red-ui-tray-resize-button {
height: 37px;
line-height: 35px;
border: none;
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
margin: 0;
background: $primary-background;
color: $workspace-button-color;
background: var(--red-ui-primary-background);
color: var(--red-ui-workspace-button-color);
}
.red-ui-editor .red-ui-tray {
@@ -203,16 +203,16 @@ button.red-ui-tray-resize-button {
}
.input-error {
border-color: $form-input-border-error-color !important;
border-color: var(--red-ui-form-input-border-error-color) !important;
}
.input-updated {
border-color: $node-selected-color !important;
border-color: var(--red-ui-node-selected-color) !important;
}
.form-row {
clear: both;
color: $form-text-color;
color: var(--red-ui-form-text-color);
margin-bottom:12px;
}
.form-row label {
@@ -223,10 +223,10 @@ button.red-ui-tray-resize-button {
width:70%;
}
.form-tips {
background: $form-tips-background;
background: var(--red-ui-form-tips-background);
padding: 8px;
border-radius: 2px;
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
max-width: 450px;
}
.form-tips code {
@@ -238,7 +238,7 @@ button.red-ui-tray-resize-button {
}
.form-warning {
border-color: $text-color-error;
border-color: var(--red-ui-text-color-error);
}
}
@@ -255,11 +255,11 @@ button.red-ui-tray-resize-button {
}
}
.red-ui-editor-text-container {
border:1px solid $tertiary-border-color;
border:1px solid var(--red-ui-tertiary-border-color);
border-radius:5px;
overflow: hidden;
font-size: $primary-font-size !important;
font-family: $monospace-font !important;
font-size: var(--red-ui-primary-font-size !important);
font-family: var(--red-ui-monospace-font !important);
height: 100%;
&.red-ui-editor-text-container-toolbar {
@@ -302,7 +302,7 @@ button.red-ui-button-small
#red-ui-editor-config-scope-warning {
display: inline-block;
margin-right: 5px;
color: $text-color-warning;
color: var(--red-ui-text-color-warning);
vertical-align: middle;
}
#red-ui-editor-config-scope {
@@ -358,18 +358,18 @@ button.red-ui-button-small
padding: 20px 20px 10px;
&:last-child {
padding-top: 60px;
background: $primary-background;
background: var(--red-ui-primary-background);
}
}
}
.red-ui-editor-type-markdown-panel-preview {
padding: 10px;
border:1px solid $secondary-border-color;
border:1px solid var(--red-ui-secondary-border-color);
border-radius:5px;
height: calc(100% - 21px);
overflow-y: scroll;
background: $secondary-background;
background: var(--red-ui-secondary-background);
}
#red-ui-clipboard-hidden {
@@ -402,7 +402,7 @@ button.red-ui-button-small
span {
padding-left: 50px;
width: 100px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
@@ -427,14 +427,14 @@ button.red-ui-button.red-ui-editor-node-appearance-button {
.red-ui-group-layout-picker {
padding: 5px;
background: $secondary-background;
background: var(--red-ui-secondary-background);
}
.red-ui-group-layout-picker-cell-text {
position: absolute;
width: 14px;
height: 2px;
border-top: 2px solid $secondary-text-color;
border-bottom: 2px solid $secondary-text-color;
border-top: 2px solid var(--red-ui-secondary-text-color);
border-bottom: 2px solid var(--red-ui-secondary-text-color);
margin: 2px;
&.red-ui-group-layout-text-pos-nw { top: 0; left: 0; }
@@ -451,7 +451,7 @@ button.red-ui-button.red-ui-editor-node-appearance-button {
background-color: #FFF;
background-size: 100% 100%;
background-position: 0 0, 50% 50%;
background-image: linear-gradient(45deg, transparent 45%, $secondary-border-color 45%, $secondary-border-color 55%, transparent 55%, transparent),linear-gradient(-45deg, transparent 45%, $secondary-border-color 45%, $secondary-border-color 55%, transparent 55%, transparent);
background-image: linear-gradient(45deg, transparent 45%, var(--red-ui-secondary-border-color) 45%, var(--red-ui-secondary-border-color) 55%, transparent 55%, transparent),linear-gradient(-45deg, transparent 45%, var(--red-ui-secondary-border-color) 45%, var(--red-ui-secondary-border-color) 55%, transparent 55%, transparent);
border: none;
}
}
@@ -475,17 +475,17 @@ button.red-ui-group-layout-picker-none {
width: 100%;
margin-bottom: 0;
border: none;
border-bottom: 1px solid $form-input-border-color;
border-bottom: 1px solid var(--red-ui-form-input-border-color);
}
small {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
margin-left: 5px;
margin-right: 4px;
display: inline-block;
min-width: 35px;
text-align: right;
}
background: $primary-background;
background: var(--red-ui-primary-background);
}
.red-ui-editor-node-appearance-button {
.red-ui-search-result-node {
@@ -496,7 +496,7 @@ button.red-ui-group-layout-picker-none {
padding: 0;
border-style: solid;
border-width: 1px;
border-color: $secondary-border-color;
border-color: var(--red-ui-secondary-border-color);
}
.red-ui-color-picker-swatch {
position: absolute;
@@ -509,7 +509,7 @@ button.red-ui-group-layout-picker-none {
background-color: #FFF;
background-size: 100% 100%;
background-position: 0 0, 50% 50%;
background-image: linear-gradient(45deg, transparent 45%, $secondary-border-color 45%, $secondary-border-color 55%, transparent 55%, transparent),linear-gradient(-45deg, transparent 45%, $secondary-border-color 45%, $secondary-border-color 55%, transparent 55%, transparent)
background-image: linear-gradient(45deg, transparent 45%, var(--red-ui-secondary-border-color) 45%, var(--red-ui-secondary-border-color) 55%, transparent 55%, transparent),linear-gradient(-45deg, transparent 45%, var(--red-ui-secondary-border-color) 45%, var(--red-ui-secondary-border-color) 55%, transparent 55%, transparent)
}
.red-ui-search-result-node .red-ui-color-picker-cell-none {
border-radius: 4px;
@@ -536,7 +536,7 @@ button.red-ui-group-layout-picker-none {
top:0;right:0;left:0;bottom:0;
background-image:linear-gradient(90deg, transparent 0%, #f00 100%);
background-size: 100% 100%;
border: 1px solid $primary-border-color;
border: 1px solid var(--red-ui-primary-border-color);
}
div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
@@ -547,9 +547,9 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
width: 10px;
height: 22px;
padding: 0;
border: 1px solid $primary-border-color;
border: 1px solid var(--red-ui-primary-border-color);
border-radius: 1px;
background: $secondary-background;
background: var(--red-ui-secondary-background);
box-sizing: border-box;
}
.red-ui-icon-picker {
@@ -567,10 +567,10 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
position: relative;
&.red-ui-icon-list-dark {
.red-ui-palette-icon-fa {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
.red-ui-palette-icon-container {
background: $secondary-background;
background: var(--red-ui-secondary-background);
border-radius: 4px;
}
}
@@ -583,10 +583,10 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
border-radius: 4px;
&:hover {
background: $list-item-background-hover;
background: var(--red-ui-list-item-background-hover);
}
&.selected {
background: $list-item-background-selected;
background: var(--red-ui-list-item-background-selected);
.red-ui-search-result-node {
// border-color: white;
}
@@ -597,22 +597,22 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
}
}
.red-ui-icon-list-module {
background: $palette-header-background;
background: var(--red-ui-palette-header-background);
font-size: 0.9em;
padding: 3px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
clear: both;
i {
margin-right: 5px;
}
}
.red-ui-icon-meta {
border-top: 1px solid $secondary-border-color;
background: $tertiary-background;
border-top: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-tertiary-background);
height: 24px;
span {
padding: 4px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 0.9em;
line-height: 24px;
}
@@ -630,7 +630,7 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
.red-ui-editor-type-json-editor {
height: calc(100% - 10px);
.red-ui-treeList-container {
background: $secondary-background;
background: var(--red-ui-secondary-background);
}
.red-ui-treeList-label {
padding-top: 0;
@@ -647,7 +647,7 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
vertical-align: middle;
}
&:hover, &:hover .red-ui-treeList-sublabel-text {
background: $secondary-background-disabled;
background: var(--red-ui-secondary-background-disabled);
.red-ui-editor-type-json-editor-item-gutter {
> span, > button {
display: inline-block;
@@ -656,11 +656,11 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
}
&.selected {
.red-ui-editor-type-json-editor-item-gutter {
background: $secondary-background-hover;
background: var(--red-ui-secondary-background-hover);
}
&:hover {
.red-ui-editor-type-json-editor-item-gutter {
background: $secondary-background-selected;
background: var(--red-ui-secondary-background-selected);
}
}
}
@@ -698,7 +698,7 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
border: 2px solid rgba(0,0,0,0);
border-radius: 3px;
&:not(.red-ui-editor-type-json-editor-label-array-key):hover {
border-color: $list-item-background-hover;
border-color: var(--red-ui-list-item-background-hover);
border-style: dashed;
}
&.readonly {
@@ -712,8 +712,8 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
height: 100%;
line-height: 35px;
color: $tertiary-text-color;
background: $secondary-background-disabled;
color: var(--red-ui-tertiary-text-color);
background: var(--red-ui-secondary-background-disabled);
> span {
display: inline-block;
height: 35px;
@@ -755,7 +755,7 @@ button.red-ui-toggleButton.toggle {
}
>div:first-child {
font-size: 0.9em;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
margin: 3px 0 -4px;
>div {
padding-left: 3px;
@@ -767,15 +767,15 @@ button.red-ui-toggleButton.toggle {
line-height: 30px;
display: inline-block;
box-sizing: border-box;
// border-left: 2px dashed $secondary-border-color;
// border-bottom: 2px dashed $secondary-border-color;
// border: 1px dashed $secondary-border-color;
// border-left: 2px dashed var(--red-ui-secondary-border-color);
// border-bottom: 2px dashed var(--red-ui-secondary-border-color);
// border: 1px dashed var(--red-ui-secondary-border-color);
border-right: none;
&:not(:first-child) {
padding: 3px;
}
// &:last-child {
// border-right: 1px dashed $secondary-border-color;
// border-right: 1px dashed var(--red-ui-secondary-border-color);
// }
.placeholder-input {
position: relative;
@@ -800,8 +800,8 @@ button.red-ui-toggleButton.toggle {
height: 100%;
width: 20px;
text-align:center;
border-right: 1px solid $secondary-border-color;
background: $tertiary-background;
border-right: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-tertiary-background);
}
}
input[type="checkbox"] {
@@ -817,13 +817,13 @@ button.red-ui-toggleButton.toggle {
.red-ui-editableList-item-handle {
position:relative;
top: 0px;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
}
>div:nth-child(2) {
margin: 4px;
height: 32px;
border: 1px dashed $secondary-border-color;
border: 1px dashed var(--red-ui-secondary-border-color);
text-align: center;
a {
display: block;
@@ -831,7 +831,7 @@ button.red-ui-toggleButton.toggle {
height: 100%;
line-height: 32px;
&:hover {
background: $secondary-background-hover;
background: var(--red-ui-secondary-background-hover);
}
i {
height: 100%;
@@ -851,7 +851,7 @@ button.red-ui-toggleButton.toggle {
span.red-ui-editor-subflow-env-lang-icon {
position: absolute;
display: inline-block;
background: $secondary-background;
background: var(--red-ui-secondary-background);
opacity: 0.8;
width: 20px;
line-height: 32px;
@@ -864,12 +864,12 @@ span.red-ui-editor-subflow-env-lang-icon {
}
.red-ui-editor-subflow-env-input-type {
background: $secondary-background;
background: var(--red-ui-secondary-background);
height: 100%;
box-sizing: border-box;
}
.red-ui-editor-subflow-env-input-type-placeholder {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
padding-left: 4px;
}
@@ -886,7 +886,7 @@ span.red-ui-editor-subflow-env-lang-icon {
// border-top: none;
// }
// &.ui-sortable-helper {
// border: 2px dashed $secondary-border-color;
// border: 2px dashed var(--red-ui-secondary-border-color);
// .red-ui-editableList-item-content {
// >div {
// border: none;
@@ -901,15 +901,15 @@ span.red-ui-editor-subflow-env-lang-icon {
// >div>div {
// display: inline-block;
// box-sizing: border-box;
// border-left: 1px dashed $secondary-border-color;
// border-bottom: 1px dashed $secondary-border-color;
// border-left: 1px dashed var(--red-ui-secondary-border-color);
// border-bottom: 1px dashed var(--red-ui-secondary-border-color);
// }
// >div:first-child {
// font-size: 0.9em;
// display: grid;
// grid-template-columns: 25px auto 20px;
// >div {
// border-top: 1px dashed $secondary-border-color;
// border-top: 1px dashed var(--red-ui-secondary-border-color);
// padding: 1px;
// }
// >div:nth-child(3) {
@@ -929,9 +929,9 @@ span.red-ui-editor-subflow-env-lang-icon {
// // line-height: 30px;
// // box-sizing: border-box;
// //
// // border-left: 2px dashed $secondary-border-color;
// // border-left: 2px dashed var(--red-ui-secondary-border-color);
// border-top: none;
// // border-bottom: 2px dashed $secondary-border-color;
// // border-bottom: 2px dashed var(--red-ui-secondary-border-color);
// &:not(:first-child) {
// padding: 6px 3px;
// }
@@ -963,7 +963,7 @@ span.red-ui-editor-subflow-env-lang-icon {
// height: 100%;
// line-height: 45px;
// &:hover {
// background: $secondary-background-hover;
// background: var(--red-ui-secondary-background-hover);
// }
// }
// }
@@ -993,11 +993,11 @@ span.red-ui-editor-subflow-env-lang-icon {
// }
.red-ui-editor-subflow-ui-edit-panel {
padding-bottom: 3px;
background: $primary-background;
background: var(--red-ui-primary-background);
.red-ui-editableList-border {
border: none;
border-radius: 0;
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-editableList-container {
}
@@ -1005,10 +1005,10 @@ span.red-ui-editor-subflow-env-lang-icon {
margin-left: 2px;
}
.red-ui-editableList-header {
background: $primary-background;
background: var(--red-ui-primary-background);
display: grid;
grid-template-columns: 50% 50%;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
div:first-child {
padding-left: 23px;
}
@@ -1019,7 +1019,7 @@ span.red-ui-editor-subflow-env-lang-icon {
.red-ui-editableList-container {
padding: 0 1px;
li {
background: $secondary-background;
background: var(--red-ui-secondary-background);
// border-bottom: none;
padding: 0;
.red-ui-editableList-item-content {
@@ -1034,14 +1034,14 @@ span.red-ui-editor-subflow-env-lang-icon {
margin-bottom: 0;
border:none;
width: 100%;
border-right: 1px solid $secondary-border-color;
border-right: 1px solid var(--red-ui-secondary-border-color);
border-radius: 0;
&:focus {
box-shadow: 0 0 0 1px inset $form-input-focus-color;
box-shadow: 0 0 0 1px inset var(--red-ui-form-input-focus-color);
}
&:first-child {
border-left: 1px solid $secondary-border-color;
border-left: 1px solid var(--red-ui-secondary-border-color);
}
}
button.red-ui-typedInput-type-select, button.red-ui-typedInput-option-expand, button.red-ui-typedInput-option-trigger {
@@ -1131,7 +1131,7 @@ span.red-ui-editor-subflow-env-lang-icon {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
padding: 0;
>div {
display: grid;

View File

@@ -16,14 +16,14 @@
.nr-ui-view-lasso {
stroke-width: 1px;
stroke: $view-lasso-stroke;
fill: $view-lasso-fill;
stroke: var(--red-ui-view-lasso-stroke);
fill: var(--red-ui-view-lasso-fill);
stroke-dasharray: 10 5;
}
.nr-ui-view-slice {
stroke-width: 1px;
stroke: $view-lasso-stroke;
stroke: var(--red-ui-view-lasso-stroke);
fill: none;
stroke-dasharray: 10 5;
}
@@ -33,11 +33,11 @@
font-style: italic;
}
.red-ui-flow-node-label-white {
fill: $view-background !important;
fill: var(--red-ui-view-background) !important;
}
.red-ui-flow-node-label {
stroke-width: 0;
fill: $node-label-color;
fill: var(--red-ui-node-label-color);
font-size: 14px;
pointer-events: none;
-webkit-touch-callout: none;
@@ -54,7 +54,7 @@
.red-ui-flow-port-label {
stroke-width: 0;
fill: $node-port-label-color;
fill: var(--red-ui-node-port-label-color);
font-size: 16px;
dominant-baseline: middle;
text-anchor: middle;
@@ -65,7 +65,7 @@
.red-ui-flow-node {
stroke: $node-border;
stroke: var(--red-ui-node-border);
cursor: move;
stroke-width: 1;
}
@@ -80,7 +80,7 @@
opacity: 0.9;
.red-ui-flow-node {
stroke-width: 2;
stroke: $node-selected-color !important;
stroke: var(--red-ui-node-selected-color) !important;
stroke-dasharray: 10, 4;
}
}
@@ -95,53 +95,53 @@
}
&.red-ui-flow-group-active-hovered:not(.red-ui-flow-group-hovered) {
.red-ui-flow-group-outline-select {
stroke: $link-link-color;
stroke: var(--red-ui-link-link-color);
}
}
}
.red-ui-flow-group-outline {
fill: none;
stroke: $node-selected-color;
stroke: var(--red-ui-node-selected-color);
stroke-opacity: 0;
stroke-width: 12;
pointer-events: stroke;
}
.red-ui-flow-group-outline-select {
fill: none;
stroke: $node-selected-color;
stroke: var(--red-ui-node-selected-color);
pointer-events: stroke;
stroke-opacity: 0;
stroke-width: 3;
&.red-ui-flow-group-outline-select-background {
stroke: $view-background;
stroke: var(--red-ui-view-background);
stroke-width: 6;
}
}
.red-ui-flow-group-body {
pointer-events: none;
fill: $group-default-fill;
fill-opacity: $group-default-fill-opacity;
fill: var(--red-ui-group-default-fill);
fill-opacity: var(--red-ui-group-default-fill-opacity);
stroke-width: 2;
stroke: $group-default-stroke;
stroke-opacity: $group-default-stroke-opacity;
stroke: var(--red-ui-group-default-stroke);
stroke-opacity: var(--red-ui-group-default-stroke-opacity);
}
.red-ui-flow-group-label {
@include disable-selection;
fill: $group-default-label-color;
fill: var(--red-ui-group-default-label-color);
}
.red-ui-flow-node-unknown {
stroke-dasharray:10,4;
stroke: $node-border-unknown;
stroke: var(--red-ui-node-border-unknown);
}
.red-ui-flow-node-placeholder {
stroke-dasharray:10,4;
stroke: $node-border-placeholder;
fill: $node-background-placeholder;
stroke: var(--red-ui-node-border-placeholder);
fill: var(--red-ui-node-background-placeholder);
opacity: 0.5;
stroke-width: 2;
}
@@ -152,19 +152,19 @@
.fa-lg {
@include disable-selection;
stroke: none;
fill: $node-icon-color;
fill: var(--red-ui-node-icon-color);
text-anchor: middle;
font-family: FontAwesome;
}
}
.red-ui-flow-node-icon-shade {
stroke: none;
fill: $node-icon-background-color-fill;
fill-opacity: $node-icon-background-color-opacity;
fill: var(--red-ui-node-icon-background-color-fill);
fill-opacity: var(--red-ui-node-icon-background-color-opacity);
}
.red-ui-flow-node-icon-shade-border {
stroke-opacity: $node-icon-border-color-opacity;
stroke: $node-icon-border-color;
stroke-opacity: var(--red-ui-node-icon-border-color-opacity);
stroke: var(--red-ui-node-icon-border-color);
stroke-width: 1;
}
@@ -176,32 +176,39 @@
cursor: default;
}
}
&.red-ui-flow-node-button-stopped {
opacity: 0.4;
.red-ui-flow-node-button-button {
cursor: default;
pointer-events: none;
}
}
}
.red-ui-flow-node-button-button {
cursor: pointer;
}
.red-ui-flow-node-button-background {
fill: $node-background-placeholder;
fill: var(--red-ui-node-background-placeholder);
}
.red-ui-flow-port {
stroke: $node-border;
stroke: var(--red-ui-node-border);
stroke-width: 1;
fill: $node-port-background;
fill: var(--red-ui-node-port-background);
cursor: crosshair;
}
.red-ui-flow-node-error {
fill: $node-status-error-background;
stroke: $node-status-error-border;
fill: var(--red-ui-node-status-error-background);
stroke: var(--red-ui-node-status-error-border);
stroke-width:1px;
cursor: default;
stroke-linejoin: round;
stroke-linecap: round;
}
.red-ui-flow-node-changed {
fill: $node-status-changed-background;
stroke: $node-status-changed-border;
fill: var(--red-ui-node-status-changed-background);
stroke: var(--red-ui-node-status-changed-border);
cursor: default;
stroke-width:1px;
stroke-linejoin: round;
@@ -214,13 +221,13 @@ g.red-ui-flow-node-selected {
}
.red-ui-flow-node,.red-ui-flow-subflow-port {
stroke-width: 2;
stroke: $node-selected-color !important;
stroke: var(--red-ui-node-selected-color) !important;
}
}
.red-ui-flow-node-highlighted {
border-color: $node-selected-color !important;
border-color: var(--red-ui-node-selected-color) !important;
border-style: dashed !important;
stroke: $node-selected-color;
stroke: var(--red-ui-node-selected-color);
stroke-width: 3;
stroke-dasharray: 8, 4;
}
@@ -236,7 +243,7 @@ g.red-ui-flow-node-selected {
.red-ui-flow-link-line {
stroke-dasharray: 10,8 !important;
stroke-width: 2 !important;
stroke: $link-disabled-color;
stroke: var(--red-ui-link-disabled-color);
}
.red-ui-flow-port {
fill-opacity: 1;
@@ -254,7 +261,7 @@ g.red-ui-flow-node-selected {
&.red-ui-flow-link-line {
stroke-dasharray: 10,8 !important;
stroke-width: 2 !important;
stroke: $link-disabled-color;
stroke: var(--red-ui-link-disabled-color);
}
.red-ui-flow-port {
fill-opacity: 1;
@@ -263,49 +270,49 @@ g.red-ui-flow-node-selected {
}
@each $current-color in red green yellow blue grey gray {
.red-ui-flow-node-status-dot-#{""+$current-color} {
fill: map-get($node-status-colors,$current-color);
stroke: map-get($node-status-colors,$current-color);
fill: var(--red-ui-node-status-colors-#{"" + $current-color});
stroke: var(--red-ui-node-status-colors-#{"" + $current-color});
}
.red-ui-flow-node-status-ring-#{""+$current-color} {
fill: $view-background;
stroke: map-get($node-status-colors,$current-color);
fill: var(--red-ui-view-background);
stroke: var(--red-ui-node-status-colors-#{"" + $current-color});
}
}
.red-ui-flow-node-status-label {
@include disable-selection;
stroke-width: 0;
fill: $secondary-text-color;
fill: var(--red-ui-secondary-text-color);
font-size:9pt;
text-anchor:start;
}
.red-ui-flow-port-hovered {
stroke: $port-selected-color;
fill: $port-selected-color;
stroke: var(--red-ui-port-selected-color);
fill: var(--red-ui-port-selected-color);
}
.red-ui-flow-subflow-port {
fill: $node-background-placeholder;
stroke: $node-border;
fill: var(--red-ui-node-background-placeholder);
stroke: var(--red-ui-node-border);
}
.red-ui-flow-drag-line {
stroke: $node-selected-color !important;
stroke: var(--red-ui-node-selected-color) !important;
stroke-width: 3;
fill: none;
pointer-events: none;
}
.red-ui-flow-link-line {
stroke: $link-color;
stroke: var(--red-ui-link-color);
stroke-width: 3;
fill: none;
pointer-events: none;
}
.red-ui-flow-link-link {
stroke-width: 2;
stroke: $link-link-color;
stroke: var(--red-ui-link-link-color);
fill: none;
stroke-dasharray: 25,4;
}
@@ -314,19 +321,19 @@ g.red-ui-flow-node-selected {
}
.red-ui-flow-link-port {
fill: $node-link-port-background;
stroke: $link-link-color;
fill: var(--red-ui-node-link-port-background);
stroke: var(--red-ui-link-link-color);
stroke-width: 1;
}
.red-ui-flow-link-group-active .red-ui-flow-link-port {
stroke: $link-link-active-color;
stroke: var(--red-ui-link-link-active-color);
}
.red-ui-flow-link-group:hover {
cursor: pointer;
}
.red-ui-flow-link-outline {
stroke: $view-background;
stroke: var(--red-ui-view-background);
stroke-opacity: 0.4;
stroke-width: 5;
cursor: crosshair;
@@ -334,7 +341,7 @@ g.red-ui-flow-node-selected {
pointer-events: none;
}
.red-ui-flow-link-background {
stroke: $view-background;
stroke: var(--red-ui-view-background);
opacity: 0;
stroke-width: 20;
cursor: crosshair;
@@ -345,10 +352,10 @@ g.red-ui-flow-node-selected {
}
g.red-ui-flow-link-selected path.red-ui-flow-link-line {
stroke: $node-selected-color;
stroke: var(--red-ui-node-selected-color);
}
g.red-ui-flow-link-unknown path.red-ui-flow-link-line {
stroke: $link-unknown-color;
stroke: var(--red-ui-link-unknown-color);
stroke-width: 2;
stroke-dasharray: 10, 4;
}
@@ -364,15 +371,15 @@ g.red-ui-flow-link-unknown path.red-ui-flow-link-line {
pointer-events: none;
path:first-child {
fill: $popover-background;
stroke: $popover-background;
fill: var(--red-ui-popover-background);
stroke: var(--red-ui-popover-background);
stroke-width: 1;
}
}
.red-ui-flow-port-tooltip-label {
stroke-width: 0;
fill: $popover-color;
font-family: $primary-font;
fill: var(--red-ui-popover-color);
font-family: var(--red-ui-primary-font);
font-size: 12px;
pointer-events: none;
-webkit-touch-callout: none;
@@ -401,18 +408,18 @@ g.red-ui-flow-link-unknown path.red-ui-flow-link-line {
}
}
.red-ui-flow-junction-port {
stroke: $node-border;
stroke: var(--red-ui-node-border);
stroke-width: 1;
fill: $node-port-background;
fill: var(--red-ui-node-port-background);
cursor: crosshair;
transition: transform 0.1s;
opacity: 0;
pointer-events: none;
}
.red-ui-flow-junction-background {
stroke: $node-border;
stroke: var(--red-ui-node-border);
stroke-width: 1;
fill: $node-port-background;
fill: var(--red-ui-node-port-background);
cursor: crosshair;
transform: scale(1);
transition: transform 0.1s;
@@ -421,10 +428,10 @@ g.red-ui-flow-link-unknown path.red-ui-flow-link-line {
}
}
.red-ui-flow-junction-hovered {
stroke: $port-selected-color;
fill: $port-selected-color;
stroke: var(--red-ui-port-selected-color);
fill: var(--red-ui-port-selected-color);
}
.red-ui-flow-junction.selected .red-ui-flow-junction-background {
stroke: $port-selected-color;
// fill: $port-selected-color;
stroke: var(--red-ui-port-selected-color);
// fill: var(--red-ui-port-selected-color);
}

View File

@@ -99,13 +99,13 @@
margin-bottom: 20px;
font-size: 21px;
line-height: 40px;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
border: 0;
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
legend small {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
@@ -125,7 +125,7 @@
button,
select,
textarea {
font-family: $primary-font;
font-family: var(--red-ui-primary-font);
}
label {
@@ -159,7 +159,7 @@
margin-bottom: 10px;
font-size: 14px;
line-height: 20px;
color: $form-text-color;
color: var(--red-ui-form-text-color);
vertical-align: middle;
border-radius: 4px;
}
@@ -193,8 +193,8 @@
div[contenteditable="true"],
.uneditable-input,
.placeholder-input {
background-color: $form-input-background;
border: 1px solid $form-input-border-color;
background-color: var(--red-ui-form-input-background);
border: 1px solid var(--red-ui-form-input-border-color);
}
textarea:focus,
@@ -214,7 +214,7 @@
input[type="color"]:focus,
div[contenteditable="true"]:focus,
.uneditable-input:focus {
border-color: $form-input-focus-color;
border-color: var(--red-ui-form-input-focus-color);
outline: 0;
outline: thin dotted \9;
}
@@ -245,8 +245,8 @@
select {
width: 220px;
background-color: $form-input-background;
border: 1px solid $form-input-border-color;
background-color: var(--red-ui-form-input-background);
border: 1px solid var(--red-ui-form-input-border-color);
}
select[multiple],
@@ -258,16 +258,16 @@
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: 2px auto $form-input-focus-color;
outline: 2px auto var(--red-ui-form-input-focus-color);
outline-offset: -3px;
}
.uneditable-input,
.uneditable-textarea {
color: $form-text-color-disabled;
color: var(--red-ui-form-text-color-disabled);
cursor: not-allowed;
background-color: $form-input-background-disabled;
border-color: $form-input-border-color;
background-color: var(--red-ui-form-input-background-disabled);
border-color: var(--red-ui-form-input-border-color);
}
.uneditable-input {
@@ -282,19 +282,19 @@
input:-moz-placeholder,
textarea:-moz-placeholder {
color: $form-placeholder-color;
color: var(--red-ui-form-placeholder-color);
}
input:-ms-input-placeholder,
div[contenteditable="true"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
color: $form-placeholder-color;
color: var(--red-ui-form-placeholder-color);
}
input::-webkit-input-placeholder,
div[contenteditable="true"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: $form-placeholder-color;
color: var(--red-ui-form-placeholder-color);
}
.radio,
@@ -384,7 +384,7 @@
}
label.disabled {
color: $form-text-color-disabled;
color: var(--red-ui-form-text-color-disabled);
cursor: default;
}
@@ -395,8 +395,8 @@
select[readonly],
textarea[readonly] {
cursor: not-allowed;
color: $form-text-color-disabled;
background-color: $form-input-background-disabled;
color: var(--red-ui-form-text-color-disabled);
background-color: var(--red-ui-form-input-background-disabled);
}
input[type="radio"][disabled],
@@ -410,21 +410,21 @@
div[contenteditable="true"]:invalid,
textarea:invalid,
select:invalid {
border-color: $form-input-border-error-color;
border-color: var(--red-ui-form-input-border-error-color);
}
input:focus:invalid,
div[contenteditable="true"]:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
border-color: $form-input-border-error-color;
border-color: var(--red-ui-form-input-border-error-color);
}
input:focus:invalid:focus,
div[contenteditable="true"]:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
border-color: $form-input-border-error-color;
border-color: var(--red-ui-form-input-border-error-color);
}
.input-append,
@@ -488,8 +488,8 @@
font-weight: normal;
line-height: 20px;
text-align: center;
background-color: $form-button-background;
border: 1px solid $form-input-border-color;
background-color: var(--red-ui-form-button-background);
border: 1px solid var(--red-ui-form-input-border-color);
}
.input-append .add-on,

View File

@@ -24,10 +24,10 @@
left: 0;
width: 100%;
height: 40px;
background: $header-background;
background: var(--red-ui-header-background);
box-sizing: border-box;
padding: 0px 0px 0px 20px;
color: $header-menu-color;
color: var(--red-ui-header-menu-color);
font-size: 14px;
span.red-ui-header-logo {
@@ -81,17 +81,17 @@
font-size: 20px;
padding: 0px 12px;
text-decoration: none;
color: $header-menu-color;
color: var(--red-ui-header-menu-color);
margin: auto 5px;
vertical-align: middle;
border-left: 2px solid $header-background;
border-right: 2px solid $header-background;
border-left: 2px solid var(--red-ui-header-background);
border-right: 2px solid var(--red-ui-header-background);
&:hover {
border-color: $header-menu-item-hover;
border-color: var(--red-ui-header-menu-item-hover);
}
&:active, &.active {
background: $header-button-background-active;
background: var(--red-ui-header-button-background-active);
}
&:focus {
outline: none;
@@ -116,18 +116,18 @@
}
.red-ui-deploy-button {
background: $deploy-button-background;
color: $deploy-button-color;
background: var(--red-ui-deploy-button-background);
color: var(--red-ui-deploy-button-color);
&:hover {
background: $deploy-button-background-hover;
background: var(--red-ui-deploy-button-background-hover);
}
&:focus {
outline: none;
}
&:active {
background: $deploy-button-background-active;
color: $deploy-button-color-active;
background: var(--red-ui-deploy-button-background-active);
color: var(--red-ui-deploy-button-color-active);
}
}
@@ -149,21 +149,21 @@
padding: 4px 12px;
&.disabled {
cursor: default;
background: $deploy-button-background-disabled;
color: $deploy-button-color-disabled;
background: var(--red-ui-deploy-button-background-disabled);
color: var(--red-ui-deploy-button-color-disabled);
.red-ui-deploy-button-content>img {
opacity: 0.3;
}
&+ #red-ui-header-button-deploy-options {
background: $deploy-button-background-disabled;
color: $deploy-button-color-active;
background: var(--red-ui-deploy-button-background-disabled);
color: var(--red-ui-deploy-button-color-active);
}
&+ #red-ui-header-button-deploy-options:hover {
background: $deploy-button-background-disabled-hover;
background: var(--red-ui-deploy-button-background-disabled-hover);
}
&+ #red-ui-header-button-deploy-options:active {
background: $deploy-button-background-disabled;
background: var(--red-ui-deploy-button-background-disabled);
}
}
@@ -174,24 +174,24 @@
.red-ui-deploy-button-group.open {
#red-ui-header-button-deploy-options {
background: $header-button-background-active !important;
background: var(--red-ui-header-button-background-active) !important;
}
}
li.open .button {
background: $header-button-background-active;
border-color: $header-button-background-active;
background: var(--red-ui-header-button-background-active);
border-color: var(--red-ui-header-button-background-active);
}
ul.red-ui-menu-dropdown {
background: $header-menu-background;
border: 1px solid $header-menu-background;
background: var(--red-ui-header-menu-background);
border: 1px solid var(--red-ui-header-menu-background);
width: 260px !important;
margin-top: 0;
li a {
color: $header-menu-color;
padding: 3px 10px 3px 40px;
color: var(--red-ui-header-menu-color);
padding: 3px 10px 3px 30px;
img {
max-width: 100%;
margin-right: 10px;
@@ -199,11 +199,11 @@
border: 3px solid transparent;
}
.red-ui-popover-key {
color: $header-menu-color-disabled !important;
border-color: $header-menu-color-disabled !important;
color: var(--red-ui-header-menu-color-disabled) !important;
border-color: var(--red-ui-header-menu-color-disabled) !important;
}
&.active img {
border: 3px solid $header-menu-item-border-active;
border: 3px solid var(--red-ui-header-menu-item-border-active);
}
span.red-ui-menu-label-container {
@@ -217,9 +217,9 @@
text-indent: 0px;
}
span.red-ui-menu-sublabel {
color: $header-menu-sublabel-color;
color: var(--red-ui-header-menu-sublabel-color);
font-size: 13px;
display: inline-block;
display: block;
text-indent: 0px;
}
}
@@ -228,13 +228,13 @@
> li > a:focus,
> li:hover > a,
> li:focus > a {
background: $header-menu-item-hover !important;
background: var(--red-ui-header-menu-item-hover) !important;
}
li.red-ui-menu-divider {
background: $headerMenuItemDivider;
background: var(--red-ui-headerMenuItemDivider);
}
li.disabled a {
color: $header-menu-color-disabled;
color: var(--red-ui-header-menu-color-disabled);
}
> li.disabled > a:hover,
> li.disabled > a:focus {
@@ -242,7 +242,8 @@
}
}
.red-ui-menu-dropdown-submenu>a:before {
border-right-color: $headerMenuCaret;
border-right-color: var(--red-ui-headerMenuCaret);
margin-left: -25px !important;
}
/* Deploy menu customisations */
@@ -250,7 +251,7 @@
width: 300px !important;
li a {
padding: 10px 30px;
color: $header-menu-heading-color;
color: var(--red-ui-header-menu-heading-color);
span.red-ui-menu-label {
font-size: 16px;
display: inline-block;
@@ -263,7 +264,7 @@
}
/* User menu customisations */
#usermenu-item-username > .red-ui-menu-label {
color: $header-menu-heading-color;
color: var(--red-ui-header-menu-heading-color);
}
#red-ui-header-button-user .user-profile {

View File

@@ -16,25 +16,27 @@
.ui-widget {
font-size: 14px !important;
font-family: $primary-font;
font-family: var(--red-ui-primary-font);
}
.ui-widget input, .ui-widget div[contenteditable="true"], .ui-widget select, .ui-widget textarea, .ui-widget button {
font-size: 14px !important;
font-family: $primary-font;
font-family: var(--red-ui-primary-font);
}
.ui-widget input, .ui-widget div[contenteditable="true"] {
box-shadow: none;
}
.ui-widget.ui-widget-content {
border: 1px solid $tertiary-border-color;
border: 1px solid var(--red-ui-tertiary-border-color);
}
.ui-widget-content {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-secondary-background);
color: var(--red-ui-primary-text-color);
}
.ui-widget-header {
color: $header-text-color;
color: var(--red-ui-header-text-color);
}
/* jQuery Theme overrides */
@@ -50,7 +52,7 @@
.ui-dialog {
border-radius: 1px;
background: $secondary-background;
background: var(--red-ui-secondary-background);
padding: 0;
@include component-shadow;
}
@@ -62,20 +64,20 @@
}
.ui-dialog .ui-dialog-titlebar {
padding: 10px;
background: $primary-background;
background: var(--red-ui-primary-background);
border: none;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
border-radius: 0;
}
.ui-dialog .ui-dialog-buttonpane.ui-widget-content {
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
}
.ui-corner-all {
border-radius: 1px;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
background: $primary-background;
background: var(--red-ui-primary-background);
}
.ui-dialog-no-close .ui-dialog-titlebar-close {
display: none;
@@ -95,8 +97,8 @@
padding: 6px 14px;
margin-right: 8px;
border-radius: 2px;
color: $workspace-button-color;
background: $workspace-button-background;
color: var(--red-ui-workspace-button-color);
background: var(--red-ui-workspace-button-background);
&.leftButton {
float: left;
@@ -107,18 +109,18 @@
}
&.primary {
border-color: $workspace-button-background-primary;
color: $workspace-button-color-primary !important;
background: $workspace-button-background-primary;
border-color: var(--red-ui-workspace-button-background-primary);
color: var(--red-ui-workspace-button-color-primary) !important;
background: var(--red-ui-workspace-button-background-primary);
&:not(.disabled):hover {
border-color: $workspace-button-background-primary-hover;
background: $workspace-button-background-primary-hover;
color: $workspace-button-color-primary !important;
border-color: var(--red-ui-workspace-button-background-primary-hover);
background: var(--red-ui-workspace-button-background-primary-hover);
color: var(--red-ui-workspace-button-color-primary) !important;
}
&.disabled {
border-color: $form-input-border-color;
color: $workspace-button-color-disabled !important;
background: $workspace-button-background;
border-color: var(--red-ui-form-input-border-color);
color: var(--red-ui-workspace-button-color-disabled) !important;
background: var(--red-ui-workspace-button-background);
}
}
&.disabled {
@@ -142,10 +144,10 @@
.ui-spinner {
border-radius: 4px;
padding: 0;
border: 1px solid $form-input-border-color;
border: 1px solid var(--red-ui-form-input-border-color);
}
.ui-spinner input {
background: $form-input-background;
background: var(--red-ui-form-input-background);
margin: 0 17px 0 0;
padding: 6px;
border: none;
@@ -169,8 +171,18 @@
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
border: 1px solid $secondary-border-color;
background: $form-button-background;
border: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-form-button-background);
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button{
color: var(--red-ui-primary-text-color);
}
.ui-state-hover,
@@ -180,9 +192,9 @@ html .ui-button.ui-state-disabled:active {
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover, .ui-button:focus {
border: 1px solid $secondary-border-color;
background: $workspace-button-background-hover;
color: $workspace-button-color-hover;
border: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-workspace-button-background-hover);
color: var(--red-ui-workspace-button-color-hover);
}
.ui-state-active,
@@ -191,10 +203,10 @@ html .ui-button.ui-state-disabled:active {
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
border: 1px solid $secondary-border-color;
background: $workspace-button-background-active;
border: 1px solid var(--red-ui-secondary-border-color);
background: var(--red-ui-workspace-button-background-active);
font-weight: normal;
color: $workspace-button-color-active;
color: var(--red-ui-workspace-button-color-active);
}
.ui-state-active .ui-icon, .ui-button:active .ui-icon {

View File

@@ -23,9 +23,9 @@
}
.keyboard-shortcut-list-header {
padding:0 5px 0 5px;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
div {
color: $header-text-color !important;
color: var(--red-ui-header-text-color) !important;
}
.red-ui-searchBox-container {
width: calc(100% - 20px);
@@ -49,7 +49,7 @@
}
}
li:hover {
background: $list-item-background-hover;
background: var(--red-ui-list-item-background-hover);
}
}
.keyboard-shortcut-entry {
@@ -78,13 +78,13 @@
width: calc(100% - 160px - 100px - 10px);
overflow: hidden;
i {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
margin-right: 5px;
}
}
.keyboard-shortcut-entry-scope {
width:100px;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
vertical-align: middle;
text-align: right;
}
@@ -94,13 +94,13 @@
}
}
.keyboard-shortcut-entry-unassigned {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
.keyboard-shortcut-entry-key {
font-style: italic;
}
}
.keyboard-shortcut-entry-expanded {
background: $list-item-background-selected;
background: var(--red-ui-list-item-background-selected);
.keyboard-shortcut-entry-key {
width: 150px;
}
@@ -115,12 +115,12 @@
}
}
.help-key {
border: 1px solid $tertiary-border-color;
border: 1px solid var(--red-ui-tertiary-border-color);
padding: 4px;
border-radius: 3px;
background: $tertiary-background;
font-family: $monospace-font;
box-shadow: $shade-color 1px 1px 1px;
background: var(--red-ui-tertiary-background);
font-family: var(--red-ui-monospace-font);
box-shadow: var(--red-ui-shade-color 1px 1px 1px);
}
.help-key-block {
white-space: nowrap;

View File

@@ -18,13 +18,13 @@
pre {
margin: 10px 0;
border: none;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
span {
padding: 5px 0;
}
span.error {
padding: 5px;
border: 1px solid $form-input-border-error-color;
border: 1px solid var(--red-ui-form-input-border-error-color);
margin: 0 1px;
}
}
@@ -52,16 +52,16 @@
.red-ui-clipboard-dialog-tab-clipboard {
textarea {
color: $secondary-text-color-active !important;
color: var(--red-ui-secondary-text-color-active) !important;
resize: none;
width: 100%;
border-radius: 4px;
font-family: $monospace-font !important;
font-family: var(--red-ui-monospace-font !important);
font-size: 13px !important;
height: 100%;
line-height: 1.3em;
padding: 6px 10px;
background: $clipboard-textarea-background;
background: var(--red-ui-clipboard-textarea-background);
}
}
@@ -80,7 +80,7 @@
right: 0;
bottom: 0;
padding: 0;
background: $form-input-background;
background: var(--red-ui-form-input-background);
&>div {
height: 100%;
box-sizing: border-box;
@@ -89,7 +89,7 @@
.red-ui-clipboard-dialog-box {
height: 400px;
position:relative;
border:1px solid $primary-border-color;
border:1px solid var(--red-ui-primary-border-color);
}
#red-ui-clipboard-dialog-export-tab-library-filename {
@@ -111,7 +111,7 @@
.red-ui-clipboard-dialog-tabs-content>div.red-ui-clipboard-dialog-export-tab-library-browser {
height: calc(100% - 60px);
margin-bottom: 13px;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
box-sizing: border-box;
}
#red-ui-clipboard-dialog-import-tab-library-browser {
@@ -124,7 +124,7 @@
position: relative;
height: 100%;
.red-ui-treeList-container {
background: $secondary-background;
background: var(--red-ui-secondary-background);
border: none;
border-radius: 0;
li {
@@ -149,14 +149,14 @@
#red-ui-library-dialog-save-browser {
height: calc(100% - 60px);
border: 1px solid $primary-border-color;
border: 1px solid var(--red-ui-primary-border-color);
margin-bottom: 10px;
}
#red-ui-library-dialog-load-browser {
// border: 1px solid $primary-border-color;
// border: 1px solid var(--red-ui-primary-border-color);
}
#red-ui-library-dialog-load-panes {
border: 1px solid $primary-border-color;
border: 1px solid var(--red-ui-primary-border-color);
}
@@ -180,15 +180,15 @@
position: relative;
li:not(:first-child) .red-ui-clipboard-dialog-import-conflicts-item-header {
// border-top: 1px solid $secondary-border-color;
// border-top: 1px solid var(--red-ui-secondary-border-color);
}
}
.red-ui-clipboard-dialog-import-conflicts-item-header {
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
& > span:first-child {
color: $header-text-color;
color: var(--red-ui-header-text-color);
padding-left: 4px;
font-size: 12px;
}
@@ -199,7 +199,7 @@
bottom: 0;
right: 0px;
text-align: center;
color: $form-text-color;
color: var(--red-ui-form-text-color);
.form-row & label {
padding: 2px 0;
line-height: 23px;
@@ -210,7 +210,7 @@
height: 100%;
width: 80px;
text-align: center;
border-left: 1px solid $secondary-border-color;
border-left: 1px solid var(--red-ui-secondary-border-color);
}
input[type="checkbox"] {
display: inline-block;
@@ -265,7 +265,7 @@
span:nth-child(3), span:nth-child(4) {
flex-grow: 0;
padding-right: 5px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 0.9em;
}
}

View File

@@ -31,33 +31,33 @@
}
@mixin component-border {
border: 1px solid $primary-border-color;
border: 1px solid var(--red-ui-primary-border-color);
box-sizing: border-box;
}
@mixin reset-a-style {
color: $workspace-button-color !important;
background: $workspace-button-background;
color: var(--red-ui-workspace-button-color) !important;
background: var(--red-ui-workspace-button-background);
text-decoration: none;
&.disabled, &:disabled {
cursor: default;
color: $workspace-button-color-disabled !important;
color: var(--red-ui-workspace-button-color-disabled) !important;
}
&:hover, &:focus {
text-decoration: none;
}
&:not(.disabled):not(:disabled):hover, {
color: $workspace-button-color-hover !important;
background: $workspace-button-background-hover;
&:not(.disabled):not(:disabled):hover {
color: var(--red-ui-workspace-button-color-hover) !important;
background: var(--red-ui-workspace-button-background-hover);
}
&:not(.disabled):not(:disabled):focus {
color: $workspace-button-color-focus !important;
color: var(--red-ui-workspace-button-color-focus) !important;
}
&:not(.disabled):not(:disabled):active {
color: $workspace-button-color-active !important;
background: $workspace-button-background-active;
color: var(--red-ui-workspace-button-color-active) !important;
background: var(--red-ui-workspace-button-background-active);
text-decoration: none;
}
}
@@ -68,14 +68,14 @@
box-sizing: border-box;
display: inline-block;
border: 1px solid $form-input-border-color;
border: 1px solid var(--red-ui-form-input-border-color);
text-align: center;
margin:0;
cursor:pointer;
&.selected:not(.disabled):not(:disabled) {
color: $workspace-button-color-selected !important;
background: $workspace-button-background-active;
color: var(--red-ui-workspace-button-color-selected) !important;
background: var(--red-ui-workspace-button-background-active);
}
.button-group &:not(:first-child) {
border-left: none;
@@ -108,23 +108,23 @@
}
&:focus {
outline: 1px solid $workspace-button-color-focus-outline;
outline: 1px solid var(--red-ui-workspace-button-color-focus-outline);
outline-offset: 1px;
}
&.primary {
border-color: $workspace-button-background-primary;
color: $workspace-button-color-primary !important;
background: $workspace-button-background-primary;
border-color: var(--red-ui-workspace-button-background-primary);
color: var(--red-ui-workspace-button-color-primary) !important;
background: var(--red-ui-workspace-button-background-primary);
&.disabled, &.ui-state-disabled {
background: none;
color: $workspace-button-color !important;
border-color: $form-input-border-color;
color: var(--red-ui-workspace-button-color) !important;
border-color: var(--red-ui-form-input-border-color);
}
&:not(.disabled):not(.ui-button-disabled):hover {
border-color: $workspace-button-background-primary-hover;
background: $workspace-button-background-primary-hover;
color: $workspace-button-color-primary !important;
border-color: var(--red-ui-workspace-button-background-primary-hover);
background: var(--red-ui-workspace-button-background-primary-hover);
color: var(--red-ui-workspace-button-color-primary) !important;
}
}
&.secondary {
@@ -151,7 +151,7 @@
margin-bottom: 1px;
&.selected:not(.disabled):not(:disabled) {
border-bottom-width: 2px;
border-bottom-color: $form-input-border-selected-color;
border-bottom-color: var(--red-ui-form-input-border-selected-color);
margin-bottom: 0;
cursor: default;
}
@@ -166,7 +166,7 @@
padding: 6px 14px;
margin-right: 8px;
&:not(.disabled):hover {
//color: $workspace-button-color;
//color: var(--red-ui-workspace-button-color);
}
&.disabled {
background: none;
@@ -187,8 +187,8 @@
}
@mixin component-footer {
border-top: 1px solid $primary-border-color;
background: $primary-background;
border-top: 1px solid var(--red-ui-primary-border-color);
background: var(--red-ui-primary-background);
text-align: right;
position: absolute;
bottom: 0;
@@ -231,7 +231,7 @@
}
@mixin component-shadow {
box-shadow: 1px 1px 4px $shadow;
box-shadow: 1px 1px 4px var(--red-ui-shadow);
}
@@ -241,7 +241,7 @@
left: 0;
bottom: 0;
right: 0;
background: $shade-color;
background: var(--red-ui-shade-color);
z-index: 5;
}
.red-ui-shade {

View File

@@ -27,10 +27,10 @@
position: relative;
padding: 8px 18px 0px;
margin-bottom: 4px;
box-shadow: 0 1px 1px 1px $shadow;
background-color: $secondary-background;
color: $primary-text-color;
border: 1px solid $notification-border-default;
box-shadow: 0 1px 1px 1px var(--red-ui-shadow);
background-color: var(--red-ui-secondary-background);
color: var(--red-ui-primary-text-color);
border: 1px solid var(--red-ui-notification-border-default);
border-left-width: 16px;
overflow: hidden;
.ui-dialog-buttonset {
@@ -50,13 +50,13 @@
}
.red-ui-notification-success {
border-color: $notification-border-success;
border-color: var(--red-ui-notification-border-success);
}
.red-ui-notification-warning {
border-color: $notification-border-warning;
border-color: var(--red-ui-notification-border-warning);
}
.red-ui-notification-error {
border-color: $notification-border-error;
border-color: var(--red-ui-notification-border-error);
}
.red-ui-notification-compact {

View File

@@ -27,7 +27,7 @@
left:0;
padding: 0;
box-sizing:border-box;
background: $secondary-background;
background: var(--red-ui-secondary-background);
.red-ui-editableList-container {
border: none;
@@ -37,27 +37,27 @@
li {
// border: none;
// border-top: 1px solid $primary-border-color;
// border-top: 1px solid var(--red-ui-primary-border-color);
padding: 0px;
.red-ui-button {
min-width: 60px;
}
.disabled {
// background: $secondary-background-inactive;//f3f3f3;
// background: var(--red-ui-secondary-background-inactive;//f3f3f3);
.red-ui-palette-module-name {
font-style: italic;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
.red-ui-palette-module-version {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
.red-ui-palette-module-errors .fa-warning {
opacity: 0.5;
}
ul.red-ui-palette-module-error-list li {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
@@ -66,7 +66,7 @@
padding: 12px 16px;
}
&:last-child {
// border-bottom: 1px solid $primary-border-color;
// border-bottom: 1px solid var(--red-ui-primary-border-color);
}
}
@@ -79,14 +79,14 @@
bottom:0
}
.red-ui-palette-editor-toolbar {
background: $primary-background;
background: var(--red-ui-primary-background);
box-sizing: border-box;
padding: 8px 10px;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
text-align: right;
}
.red-ui-palette-module-shade-status {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
.red-ui-palette-module-updated {
margin-left: 10px;
@@ -98,7 +98,7 @@
.red-ui-palette-module-description {
margin-left: 20px;
font-size: 0.9em;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
.red-ui-palette-module-link {
}
@@ -120,7 +120,7 @@
}
}
.red-ui-palette-module-set {
border:1px solid $secondary-border-color;
border:1px solid var(--red-ui-secondary-border-color);
border-radius: 0;
padding: 5px;
position: relative;
@@ -138,7 +138,7 @@
}
.red-ui-palette-module-type {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
padding-left: 5px;
font-size: 0.9em;
@include enable-selection;
@@ -150,8 +150,8 @@
border-radius: 3px;
vertical-align: middle;
margin-right: 5px;
background: $primary-background;
border: 1px dashed $secondary-border-color;
background: var(--red-ui-primary-background);
border: 1px dashed var(--red-ui-secondary-border-color);
}
.red-ui-palette-module-set-button-group {
position: absolute;
@@ -160,35 +160,35 @@
}
.red-ui-palette-module-set-disabled {
background: $list-item-background-disabled;
background: var(--red-ui-list-item-background-disabled);
.red-ui-palette-module-type {
color: $secondary-text-color-disabled-active;
color: var(--red-ui-secondary-text-color-disabled-active);
}
}
.red-ui-palette-module-more {
padding: 0 !important;
margin-top: 10px;
margin-bottom: 10px;
background: $tab-background-inactive;
background: var(--red-ui-tab-background-inactive);
a {
display: block;
text-align: center;
padding: 12px 8px;
color: $text-color-code;
color: var(--red-ui-text-color-code);
&:hover {
text-decoration: none;
background: $tab-background-hover;
background: var(--red-ui-tab-background-hover);
}
}
}
}
.red-ui-palette-module-meta {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
position: relative;
&.disabled {
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
.fa {
@@ -198,7 +198,7 @@
}
}
.red-ui-palette-module-name {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
white-space: nowrap;
@include enable-selection;
}
@@ -216,7 +216,7 @@
}
}
.red-ui-palette-module-meta .fa-warning {
color: $text-color-warning;
color: var(--red-ui-text-color-warning);
}
ul.red-ui-palette-module-error-list {
display: inline-block;
@@ -264,9 +264,9 @@ button.red-ui-palette-editor-upload-button {
right: 0;
top: 44px;
padding: 20px;
background: $secondary-background;
border-bottom: 1px $secondary-border-color solid;
box-shadow: 1px 1px 4px $shadow;
background: var(--red-ui-secondary-background);
border-bottom: 1px var(--red-ui-secondary-border-color solid);
box-shadow: 1px 1px 4px var(--red-ui-shadow);
.placeholder-input {
width: calc(100% - 180px);

View File

@@ -20,7 +20,7 @@
top: 0px;
bottom: 0px;
left:0px;
background: $primary-background;
background: var(--red-ui-primary-background);
width: 180px;
text-align: center;
@include disable-selection;
@@ -55,26 +55,26 @@
.red-ui-palette-search {
position: relative;
overflow: hidden;
background: $secondary-background;
background: var(--red-ui-secondary-background);
text-align: center;
height: 35px;
padding: 3px;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
box-sizing:border-box;
}
.red-ui-palette-category {
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-palette-content {
background: $palette-content-background;
background: var(--red-ui-palette-content-background);
padding: 3px;
}
.red-ui-palette-header {
position: relative;
background: $palette-header-background;
color: $palette-header-color;
background: var(--red-ui-palette-header-background);
color: var(--red-ui-palette-header-color);
cursor: pointer;
text-align: left;
padding: 9px;
@@ -83,7 +83,7 @@
overflow: hidden;
user-select: none;
&:hover {
background: $palette-header-background !important;
background: var(--red-ui-palette-header-background) !important;
}
}
.red-ui-palette-header > i {
@@ -106,7 +106,7 @@
clear: both;
}
.red-ui-palette-label {
color: $node-label-color;
color: var(--red-ui-node-label-color);
font-size: 13px;
margin: 4px 0 4px 32px;
line-height: 20px;
@@ -121,11 +121,11 @@
.red-ui-palette-node {
// display: inline-block;
cursor: move;
background: $secondary-background;
background: var(--red-ui-secondary-background);
margin: 10px auto;
height: 25px;
border-radius: 5px;
border: 1px solid $node-border;
border: 1px solid var(--red-ui-node-border);
background-position: 5% 50%;
background-repeat: no-repeat;
width: 120px;
@@ -141,7 +141,7 @@
}
.red-ui-palette-node:hover {
border-color: transparent;
box-shadow: 0 0 0 2px $node-selected-color;
box-shadow: 0 0 0 2px var(--red-ui-node-selected-color);
}
.red-ui-palette-port {
position: absolute;
@@ -149,11 +149,11 @@
left: -5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
background: $node-port-background;
background: var(--red-ui-node-port-background);
border-radius: 3px;
width: 10px;
height: 10px;
border: 1px solid $node-border;
border: 1px solid var(--red-ui-node-border);
}
.red-ui-palette-port-output {
left:auto;
@@ -161,7 +161,7 @@
}
.red-ui-palette-node:hover .red-ui-palette-port {
background-color: $node-port-background-hover;
background-color: var(--red-ui-node-port-background-hover);
}
.red-ui-palette-icon-container {
position: absolute;
@@ -170,14 +170,14 @@
bottom:0;
left:0;
width: 30px;
border-right: 1px solid $node-icon-background-color;
background-color: $node-icon-background-color;
border-right: 1px solid var(--red-ui-node-icon-background-color);
background-color: var(--red-ui-node-icon-background-color);
}
.red-ui-palette-icon-container-right {
left: auto;
right: 0;
border-right: none;
border-left: 1px solid $node-icon-background-color;
border-left: 1px solid var(--red-ui-node-icon-background-color);
}
.red-ui-palette-icon {
display: inline-block;
@@ -198,7 +198,7 @@
background: none;
}
.red-ui-palette-icon-fa {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 18px;
}
}
@@ -249,12 +249,12 @@
// width: 30px;
// height: 25px;
border-radius: 3px;
border: 1px solid $node-border;
border: 1px solid var(--red-ui-node-border);
background-position: 5% 50%;
background-repeat: no-repeat;
background-size: contain;
position: relative;
background-color: $node-icon-background-color;
background-color: var(--red-ui-node-icon-background-color);
text-align: center;
.red-ui-palette-icon {
@@ -278,7 +278,7 @@
background: none;
}
.red-ui-palette-icon-fa {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 16px;
}
}
@@ -318,5 +318,5 @@
.red-ui-node-label {
white-space: nowrap;
margin-left: 4px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}

View File

@@ -35,12 +35,12 @@
.red-ui-panels-separator {
flex: 0 0 auto;
border-top: 1px solid $secondary-border-color;
border-bottom: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
height: 7px;
box-sizing: border-box;
cursor: ns-resize;
background-color: $primary-background;
background-color: var(--red-ui-primary-background);
&:before {
content: '';
@@ -55,7 +55,7 @@
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $grip-color;
background-color: var(--red-ui-grip-color);
}
}
@@ -80,14 +80,14 @@
vertical-align: top;
border-top: none;
border-bottom: none;
border-left: 1px solid $secondary-border-color;
border-right: 1px solid $secondary-border-color;
border-left: 1px solid var(--red-ui-secondary-border-color);
border-right: 1px solid var(--red-ui-secondary-border-color);
height: 100%;
width: 7px;
display: inline-block;
cursor: ew-resize;
background-color: $primary-background;
background-color: var(--red-ui-primary-background);
&:before {
content: '';
display: block;
@@ -101,7 +101,7 @@
mask-position: 50% 50%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $grip-color;
background-color: var(--red-ui-grip-color);
}
}
}

View File

@@ -25,7 +25,7 @@
color: var(--red-ui-popover-color);
border-radius: 4px;
z-index: 1000;
font-family: $primary-font;
font-family: var(--red-ui-primary-font);
font-size: 14px;
line-height: 1.4em;
@include component-shadow;
@@ -146,7 +146,7 @@
.red-ui-popover-key {
font-size: 11px;
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
margin-left: 3px;
border: 1px solid var(--red-ui-popover-color);
border-radius:3px;
@@ -163,42 +163,42 @@
color: var(--red-ui-popover-color) !important;
}
a:focus {
outline: 1px solid $form-input-focus-color;
outline: 1px solid var(--red-ui-form-input-focus-color);
}
}
.red-ui-popover a.red-ui-button,
.red-ui-popover button.red-ui-button {
&:not(.primary) {
border-color: $popover-button-border-color;
border-color: var(--red-ui-popover-button-border-color);
background: var(--red-ui-popover-background);
color: var(--red-ui-popover-color) !important;
}
&:not(.primary):not(.disabled):not(.ui-button-disabled):hover {
border-color: $popover-button-border-color-hover;
border-color: var(--red-ui-popover-button-border-color-hover);
}
&.primary {
border-color: $popover-button-border-color;
border-color: var(--red-ui-popover-button-border-color);
}
&.primary:not(.disabled):not(.ui-button-disabled):hover {
border-color: $popover-button-border-color-hover;
border-color: var(--red-ui-popover-button-border-color-hover);
}
}
.red-ui-popover code {
border: none;
background: none;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
.red-ui-popover-panel {
@include component-shadow;
font-family: $primary-font;
font-size: $primary-font-size;
font-family: var(--red-ui-primary-font);
font-size: var(--red-ui-primary-font-size);
position: absolute;
box-sizing: border-box;
border: 1px solid $primary-border-color;
background: $secondary-background;
border: 1px solid var(--red-ui-primary-border-color);
background: var(--red-ui-secondary-background);
z-index: 2000;
}

View File

@@ -29,7 +29,7 @@
overflow-y: scroll;
}
.red-ui-sidebar-vc-shade {
background: $primary-background;
background: var(--red-ui-primary-background);
}
.red-ui-projects-edit-form form {
@@ -37,7 +37,7 @@
.form-row {
margin-bottom: 15px;
label {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
width: 100%;
display: block;
&.red-ui-projects-edit-form-inline-label {
@@ -57,7 +57,7 @@
}
.red-ui-projects-edit-form-sublabel {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
text-align: right;
margin-bottom: -15px;
font-weight: normal;
@@ -76,7 +76,7 @@
font-size: 1.4em;
padding: 10px;
min-height: 40px;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
.red-ui-projects-dialog-screen-start-body {
min-height: 300px;
@@ -132,21 +132,21 @@
margin-left: -1px;
padding: 15px;
margin-top: -15px;
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 3px;
}
.red-ui-projects-dialog-credentials-box-left {
width: 220px;
> div {
padding: 7px 8px 3px 8px;
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 4px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right-color: $form-background;
border-right-color: var(--red-ui-form-background);
&.disabled {
border-color: $form-background;
border-right-color:$secondary-border-color;
border-color: var(--red-ui-form-background);
border-right-color:var(--red-ui-secondary-border-color);
}
i {
font-size: 1.4em;
@@ -173,7 +173,7 @@
}
.red-ui-projects-dialog-project-list-container {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 2px;
display: flex;
flex-direction: column;
@@ -197,43 +197,43 @@
.red-ui-projects-dialog-project-list-entry {
padding: 12px 0;
color: $list-item-color;
background: $list-item-background;
border-left: 3px solid $list-item-background;
border-right: 3px solid $list-item-background;
color: var(--red-ui-list-item-color);
background: var(--red-ui-list-item-background);
border-left: 3px solid var(--red-ui-list-item-background);
border-right: 3px solid var(--red-ui-list-item-background);
&.projects-list-entry-current {
&:not(.selectable) {
color: $form-text-color;
background: $list-item-background-selected;
border-left-color:$list-item-border-selected;
border-right-color:$list-item-border-selected;
color: var(--red-ui-form-text-color);
background: var(--red-ui-list-item-background-selected);
border-left-color:var(--red-ui-list-item-border-selected);
border-right-color:var(--red-ui-list-item-border-selected);
}
i {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
&.selectable {
cursor: pointer;
&:hover:not(.selected) {
color: $form-text-color;
background: $list-item-background-hover;
border-left-color:$list-item-background-hover;
border-right-color:$list-item-background-hover;
color: var(--red-ui-form-text-color);
background: var(--red-ui-list-item-background-hover);
border-left-color:var(--red-ui-list-item-background-hover);
border-right-color:var(--red-ui-list-item-background-hover);
}
}
.red-ui-projects-dialog-project-list-entry-icon {
i {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
font-size: 2em;
}
}
&.selected {
color: $form-text-color;
background: $list-item-background-selected;
border-left-color:$list-item-border-selected;
border-right-color:$list-item-border-selected;
color: var(--red-ui-form-text-color);
background: var(--red-ui-list-item-background-selected);
border-left-color:var(--red-ui-list-item-border-selected);
border-right-color:var(--red-ui-list-item-border-selected);
}
span {
display: inline-block;
@@ -249,7 +249,7 @@
float: right;
margin-right: 20px;
font-size: 0.9em;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
padding-top: 4px;
}
.red-ui-projects-dialog-project-list-entry-tools {
@@ -257,7 +257,7 @@
top: 16px;
right: 30px;
display: none;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
&:hover {
.red-ui-projects-dialog-project-list-entry-tools {
@@ -274,7 +274,7 @@
width: 1000px;
overflow: hidden;
padding: 5px 20px;
background: $secondary-background;
background: var(--red-ui-secondary-background);
transition: left 0.4s;
white-space: nowrap;
> span {
@@ -289,7 +289,7 @@
position: relative;
}
.red-ui-projects-dialog-screen-create-type.red-ui-button.toggle.selected:not(.disabled):not(:disabled) {
color: $secondary-text-color-active !important;
color: var(--red-ui-secondary-text-color-active) !important;
}
.red-ui-projects-dialog-screen-input-status {
text-align: right;
@@ -298,7 +298,7 @@
right: 8px;
width: 70px;
height: 30px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
.red-ui-sidebar-vc {
@@ -338,17 +338,17 @@
}
.red-ui-palette-module-unused {
& > * {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
.red-ui-palette-module-unknown {
border: 1px dashed $secondary-border-color;
background: $secondary-background-inactive;
border: 1px dashed var(--red-ui-secondary-border-color);
background: var(--red-ui-secondary-background-inactive);
}
.red-ui-palette-module-not-installed {
border: 1px dashed $text-color-warning;
border: 1px dashed var(--red-ui-text-color-warning);
i.fa-warning {
color: $text-color-warning;
color: var(--red-ui-text-color-warning);
}
}
}
@@ -365,11 +365,11 @@
}
.red-ui-sidebar-vc {
.red-ui-editableList-container {
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
padding: 0;
li {
padding:0;
background: $secondary-background;
background: var(--red-ui-secondary-background);
}
}
.red-ui-editableList-border {
@@ -384,7 +384,7 @@
box-sizing: border-box;
transition: height 0.2s ease-in-out;
&:first-child {
// border-bottom: 1px solid $primary-border-color;
// border-bottom: 1px solid var(--red-ui-primary-border-color);
}
}
.red-ui-sidebar-vc-merging {
@@ -399,7 +399,7 @@
right:0;
height:0;
transition: height 0.2s ease-in-out;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
box-sizing: border-box;
overflow: hidden;
&.red-ui-sidebar-vc-slide-box-top {
@@ -408,20 +408,20 @@
left: auto;
width: 100%;
max-width: 280px;
border-left: 1px solid $primary-border-color;
border-right: 1px solid $primary-border-color;
border-bottom: 1px solid $primary-border-color;
box-shadow: 1px 1px 4px $shadow;
border-left: 1px solid var(--red-ui-primary-border-color);
border-right: 1px solid var(--red-ui-primary-border-color);
border-bottom: 1px solid var(--red-ui-primary-border-color);
box-shadow: 1px 1px 4px var(--red-ui-shadow);
color: $primary-text-color;
background: $tertiary-background;
color: var(--red-ui-primary-text-color);
background: var(--red-ui-tertiary-background);
padding: 10px;
box-sizing: border-box;
}
&.red-ui-sidebar-vc-slide-box-bottom {
bottom: 0px;
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
}
textarea {
@@ -437,15 +437,15 @@
.red-ui-projects-branch-list {
position: relative;
.red-ui-searchBox-container {
border-top: 1px solid $secondary-border-color;
border-left: 1px solid $secondary-border-color;
border-right: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-left: 1px solid var(--red-ui-secondary-border-color);
border-right: 1px solid var(--red-ui-secondary-border-color);
border-top-left-radius: 2px;
border-top-right-radius: 2px;
overflow: hidden;
}
.red-ui-editableList {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
& > .red-ui-editableList-border {
@@ -456,7 +456,7 @@
padding: 0;
li {
padding: 0;
background: $secondary-background;
background: var(--red-ui-secondary-background);
}
}
}
@@ -483,23 +483,23 @@
.red-ui-sidebar-vc-branch-list-entry {
padding: 5px 8px;
margin: 0 1px;
color: $list-item-color;
background: $list-item-background;
border-left: 2px solid $list-item-background;
border-right: 2px solid $list-item-background;
color: var(--red-ui-list-item-color);
background: var(--red-ui-list-item-background);
border-left: 2px solid var(--red-ui-list-item-background);
border-right: 2px solid var(--red-ui-list-item-background);
cursor: pointer;
&.selected {
border-left-color:$list-item-border-selected;
border-right-color:$list-item-border-selected;
border-left-color:var(--red-ui-list-item-border-selected);
border-right-color:var(--red-ui-list-item-border-selected);
}
i { width: 16px; text-align: center}
&.input-error {
cursor: default;
}
&:not(.input-error):hover {
background: $list-item-background-hover;
border-left-color:$list-item-border-selected;
border-right-color:$list-item-border-selected;
background: var(--red-ui-list-item-background-hover);
border-left-color:var(--red-ui-list-item-border-selected);
border-right-color:var(--red-ui-list-item-border-selected);
}
span {
margin-left: 5px;
@@ -507,7 +507,7 @@
span.current {
float: right;
font-size: 0.8em;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
}
@@ -542,7 +542,7 @@
}
&.red-ui-help-info-node {
text-align: center;
background: $list-item-background;
background: var(--red-ui-list-item-background);
white-space: normal;
height: auto;
}
@@ -556,63 +556,63 @@
overflow: hidden;
cursor: pointer;
&:hover {
background: $secondary-background-hover;
background: var(--red-ui-secondary-background-hover);
}
}
.red-ui-sidebar-vc-commit-more {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
text-align: center;
padding: 10px;
font-style: italic;
}
.red-ui-sidebar-vc-commit-sha {
float: right;
font-family: $monospace-font;
color: $vcCommitShaColor;
font-family: var(--red-ui-monospace-font);
color: var(--red-ui-vcCommitShaColor);
display: inline-block;
font-size: 0.85em;
margin-left: 5px;
}
.red-ui-sidebar-vc-commit-subject {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
.red-ui-sidebar-vc-commit-refs {
min-height: 22px;
}
.red-ui-sidebar-vc-commit-ref {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
font-size: 0.7em;
border: 1px solid $tertiary-border-color;
border: 1px solid var(--red-ui-tertiary-border-color);
border-radius: 10px;
padding: 2px 5px;
margin-right: 5px;
}
.red-ui-sidebar-vc-commit-date {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 0.85em;
}
.red-ui-sidebar-vc-commit-user {
float: right;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 0.85em;
}
.red-ui-sidebar-vc-commit-head {
}
.red-ui-sidebar-vc-change-header {
color: $primary-text-color;
background: $tertiary-background;
color: var(--red-ui-primary-text-color);
background: var(--red-ui-tertiary-background);
padding: 4px 10px;
height: 30px;
box-sizing: border-box;
border-top: 1px solid $secondary-border-color;
border-bottom: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
i {
transition: all 0.2s ease-in-out;
}
}
.red-ui-sidebar-vc-repo-toolbar {
color: $primary-text-color;
background: $tertiary-background;
color: var(--red-ui-primary-text-color);
background: var(--red-ui-tertiary-background);
padding: 10px;
box-sizing: border-box;
}
@@ -637,7 +637,7 @@
.red-ui-projects-file-listing-container > .red-ui-editableList > .red-ui-editableList-border {
border-radius: 0;
border: none;
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-editableList-container .red-ui-projects-dialog-file-list {
@@ -654,39 +654,39 @@
}
.red-ui-projects-dialog-file-list-entry {
padding: 3px 0;
border-left: 2px solid $list-item-background;
border-right: 2px solid $list-item-background;
background: $list-item-background;
border-left: 2px solid var(--red-ui-list-item-background);
border-right: 2px solid var(--red-ui-list-item-background);
background: var(--red-ui-list-item-background);
&.projects-list-entry-current {
&:not(.selectable) {
background: $list-item-background-selected;
background: var(--red-ui-list-item-background-selected);
}
i {
color: $secondary-text-color-selected;
color: var(--red-ui-secondary-text-color-selected);
}
}
&.selectable {
cursor: pointer;
&:hover {
background: $list-item-background-hover;
border-left-color:$list-item-border-selected;
border-right-color:$list-item-border-selected;
background: var(--red-ui-list-item-background-hover);
border-left-color:var(--red-ui-list-item-border-selected);
border-right-color:var(--red-ui-list-item-border-selected);
}
}
&.unselectable {
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
i {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
width: 16px;
text-align: center;
}
&.selected {
background: $list-item-background-selected;
border-left-color:$list-item-border-selected;
border-right-color:$list-item-border-selected;
background: var(--red-ui-list-item-background-selected);
border-left-color:var(--red-ui-list-item-border-selected);
border-right-color:var(--red-ui-list-item-border-selected);
}
span {
display: inline-block;
@@ -696,7 +696,7 @@
margin: 0 10px 0 0px;
.fa-angle-right {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
transition: all 0.2s ease-in-out;
}
@@ -711,7 +711,9 @@
transform: rotate(90deg);
}
}
.red-ui-projects-dialog-file-list-entry-file-type-git { color: $tertiary-text-color }
.red-ui-projects-dialog-file-list-entry-file-type-git {
color: var(--red-ui-tertiary-text-color);
}
.red-ui-projects-dialog-remote-list {
.red-ui-editableList-container {
@@ -747,7 +749,7 @@ div.red-ui-projects-dialog-ssh-public-key {
padding: 10px 5px;
cursor: pointer;
&:hover {
background: $list-item-background-hover;
background: var(--red-ui-list-item-background-hover);
}
}
}
@@ -756,7 +758,7 @@ div.red-ui-projects-dialog-ssh-public-key {
position: relative;
.red-ui-editableList-container {
padding: 1px;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
li:last-child {
border-bottom: none;
}
@@ -775,7 +777,7 @@ div.red-ui-projects-dialog-ssh-public-key {
text-align: center;
min-width: 30px;
vertical-align: top;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
.entry-name {
min-width: 250px;
@@ -784,7 +786,7 @@ div.red-ui-projects-dialog-ssh-public-key {
font-weight: bold;
}
.entry-detail {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
font-size: 0.9em;
}
@@ -802,9 +804,9 @@ div.red-ui-projects-dialog-ssh-public-key {
position: relative;
margin-top: 10px;
margin-bottom: 20px;
background: $secondary-background;
background: var(--red-ui-secondary-background);
border-radius: 4px;
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
.red-ui-projects-edit-form-sublabel {
margin-top: -8px !important;
margin-right: 50px;
@@ -819,7 +821,7 @@ div.red-ui-projects-dialog-ssh-public-key {
.red-ui-projects-dialog-list-dialog-header {
font-weight: bold;
background: $primary-background;
background: var(--red-ui-primary-background);
margin-top: 0 !important;
padding: 5px 10px;
margin-bottom: 10px;
@@ -830,5 +832,5 @@ div.red-ui-projects-dialog-ssh-public-key {
padding: 8px 20px 20px;
}
.red-ui-settings-section-description {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}

View File

@@ -15,8 +15,8 @@
**/
.red-ui-editor-radial-menu {
font-size: $primary-font-size;
font-family: $primary-font;
font-size: var(--red-ui-primary-font-size);
font-family: var(--red-ui-primary-font);
position: absolute;
top: 0;
left:0;
@@ -29,8 +29,8 @@
border-radius: 80px;
width: 160px;
height: 160px;
background: $shadow;
border: 1px solid $primary-border-color;
background: var(--red-ui-shadow);
border: 1px solid var(--red-ui-primary-border-color);
}
}
@@ -39,20 +39,20 @@
border-radius: 20px;
width: 50px;
height: 50px;
background: $secondary-background;
border: 2px solid $primary-border-color;
background: var(--red-ui-secondary-background);
border: 2px solid var(--red-ui-primary-border-color);
text-align: center;
line-height:50px;
&.selected {
background: $workspace-button-background-hover;
background: var(--red-ui-workspace-button-background-hover);
}
}
.red-ui-editor-radial-menu-opt-disabled {
border-color: $tertiary-border-color;
color: $tertiary-border-color;
border-color: var(--red-ui-tertiary-border-color);
color: var(--red-ui-tertiary-border-color);
}
.red-ui-editor-radial-menu-opt-active {
background: $secondary-background-hover;
background: var(--red-ui-secondary-background-hover);
}

View File

@@ -22,9 +22,9 @@
left: 50%;
margin-left: -250px;
top: 0px;
border: 1px solid $primary-border-color;
box-shadow: 0 0 10px $shadow;
background: $secondary-background;
border: 1px solid var(--red-ui-primary-border-color);
box-shadow: 0 0 10px var(--red-ui-shadow);
background: var(--red-ui-secondary-background);
.red-ui-searchBox-container {
display: inline-block;
@@ -47,17 +47,17 @@
.red-ui-search-container {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border: 1px dashed $primary-border-color;
border: 1px dashed var(--red-ui-primary-border-color);
border-bottom: none;
padding: 0;
width: 100%;
}
.red-ui-search-results-container {
display: none;
height: 150px;
height: 195px;
.red-ui-editableList-container {
border: 1px dashed $primary-border-color;
border-top: 1px solid $secondary-border-color;
border: 1px dashed var(--red-ui-primary-border-color);
border-top: 1px solid var(--red-ui-secondary-border-color);
}
}
.red-ui-search-result {
@@ -73,7 +73,7 @@
}
}
.red-ui-search-result-separator {
border-bottom: 3px solid $secondary-border-color;
border-bottom: 3px solid var(--red-ui-secondary-border-color);
}
.red-ui-search-result-node {
position: relative;
@@ -84,12 +84,12 @@
.red-ui-search-result-node-port {
position: absolute;
border-radius: 2px;
border: 1px solid $node-border;
border: 1px solid var(--red-ui-node-border);
width: 6px;
height: 7px;
top:4px;
left:-4px;
background: $node-port-background;
background: var(--red-ui-node-port-background);
box-sizing: border-box;
}
.red-ui-search-result-node-output{
@@ -107,26 +107,26 @@
margin-left:8px;
}
.red-ui-search-result-node-label {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
.red-ui-search-container {
padding: 3px;
background: $form-input-background;
border-bottom: 1px solid $secondary-border-color;
background: var(--red-ui-form-input-background);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-search-results-container {
position:relative;
height: 300px;
padding: 5px;
background: $primary-background;
background: var(--red-ui-primary-background);
.red-ui-search-results-list {
}
.red-ui-editableList-container {
padding: 0;
background: $primary-background;
background: var(--red-ui-primary-background);
li {
padding: 0;
}
@@ -137,21 +137,21 @@
display: flex;
align-items: start;
cursor: pointer;
color: $list-item-color;
background: $list-item-background;
border-left: 3px solid $list-item-background;
border-right: 3px solid $list-item-background;
color: var(--red-ui-list-item-color);
background: var(--red-ui-list-item-background);
border-left: 3px solid var(--red-ui-list-item-background);
border-right: 3px solid var(--red-ui-list-item-background);
li.selected & {
background: $list-item-background-selected;
border-left-color: $list-item-border-selected;
border-right-color: $list-item-border-selected;
background: var(--red-ui-list-item-background-selected);
border-left-color: var(--red-ui-list-item-border-selected);
border-right-color: var(--red-ui-list-item-border-selected);
}
&:hover {
text-decoration: none;
color: $form-text-color;
background: $list-item-background-hover;
border-left-color:$list-item-background-hover;
border-right-color:$list-item-background-hover;
color: var(--red-ui-form-text-color);
background: var(--red-ui-list-item-background-hover);
border-left-color:var(--red-ui-list-item-background-hover);
border-right-color:var(--red-ui-list-item-background-hover);
}
&:after {
content: "";
@@ -165,7 +165,7 @@
float:left;
height: 25px;
border-radius: 3px;
border: 1px solid $node-border;
border: 1px solid var(--red-ui-node-border);
background-position: 5% 50%;
background-repeat: no-repeat;
background-size: contain;
@@ -182,28 +182,28 @@
flex-grow: 1;
}
.red-ui-search-result-node-label {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
.red-ui-search-result-node-type {
font-style: italic;
font-size: 0.9em;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
.red-ui-search-result-node-flow {
float:right;
font-size: 0.8em;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
.red-ui-search-result-node-id {
display:none;
font-size: 0.8em;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
.red-ui-search-empty {
padding: 10px;
text-align: center;
font-style: italic;
color: $form-placeholder-color;
color: var(--red-ui-form-placeholder-color);
}
.red-ui-search-history {
button {
@@ -229,12 +229,12 @@
}
.red-ui-search-result-action {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
}
.red-ui-search-result-action-key {
position: absolute;
top: 9px;
right: 0;
margin-right: 10px;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}

View File

@@ -20,7 +20,7 @@
right: 0px;
bottom: 0px;
width: 315px;
background: $primary-background;
background: var(--red-ui-primary-background);
box-sizing: border-box;
z-index: 10;
@include component-border;
@@ -32,7 +32,7 @@
#red-ui-sidebar-content {
position: absolute;
background: $secondary-background;
background: var(--red-ui-secondary-background);
top: 35px;
right: 0;
bottom: 25px;
@@ -47,7 +47,7 @@
bottom:10px;
width: 7px;
// z-index: 11;
background-color: $primary-background;
background-color: var(--red-ui-primary-background);
cursor: col-resize;
&:before {
@@ -63,7 +63,7 @@
mask-position: 50% 50%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $grip-color;
background-color: var(--red-ui-grip-color);
}
}
@@ -82,11 +82,11 @@
.sidebar-header, /* Deprecated -> red-ui-sidebar-header */
.red-ui-sidebar-header {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
text-align: right;
padding: 8px 10px;
background: $primary-background;
border-bottom: 1px solid $secondary-border-color;
background: var(--red-ui-primary-background);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
white-space: nowrap;
}
@@ -138,9 +138,9 @@ button.red-ui-sidebar-header-button-toggle {
top: calc(50% - 26px);
padding:15px 8px;
border:1px solid $primary-border-color;
background:$primary-background;
color: $secondary-text-color;
border:1px solid var(--red-ui-primary-border-color);
background:var(--red-ui-primary-background);
color: var(--red-ui-secondary-text-color);
text-align: center;
cursor: pointer;
}

View File

@@ -0,0 +1,18 @@
/**
* Copyright JS Foundation and other contributors, http://js.foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
@import "colors";
@import "variables";

View File

@@ -16,7 +16,7 @@
.red-ui-sidebar-node-config {
position: relative;
background: $secondary-background;
background: var(--red-ui-secondary-background);
height: 100%;
overflow-y:auto;
@include disable-selection;
@@ -37,14 +37,14 @@ ul.red-ui-sidebar-node-config-list {
}
.red-ui-palette-node {
overflow: hidden;
cursor: default;
&.selected {
border-color: transparent;
box-shadow: 0 0 0 2px $node-selected-color;
box-shadow: 0 0 0 2px var(--red-ui-node-selected-color);
}
&.highlighted {
border-color: transparent;
outline: dashed $node-selected-color 4px;
outline: dashed var(--red-ui-node-selected-color) 4px;
}
}
.red-ui-palette-label {
@@ -54,11 +54,14 @@ ul.red-ui-sidebar-node-config-list {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
&:not(:last-child) {
width: calc(100% - 38px);
}
}
.red-ui-palette-icon-container {
font-size: 12px;
line-height: 30px;
background-color: $node-icon-background-color;
background-color: var(--red-ui-node-icon-background-color);
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
a {
@@ -67,10 +70,11 @@ ul.red-ui-sidebar-node-config-list {
bottom: 0;
left: 0;
right: 0;
color: $node-port-label-color;
color: var(--red-ui-node-port-label-color);
cursor: pointer;
&:hover {
text-decoration: none;
background: $node-port-background-hover;
background: var(--red-ui-node-port-background-hover);
}
}
}
@@ -78,12 +82,12 @@ ul.red-ui-sidebar-node-config-list {
.red-ui-palette-node-config {
width: 160px;
height: 30px;
background: $node-config-background;
color: $primary-text-color;
background: var(--red-ui-node-config-background);
color: var(--red-ui-primary-text-color);
cursor: pointer;
}
ul.red-ui-sidebar-node-config-list li.red-ui-palette-node-config-type {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
text-align: right;
padding-right: 3px;
&:not(:first-child) {
@@ -91,21 +95,21 @@ ul.red-ui-sidebar-node-config-list li.red-ui-palette-node-config-type {
}
}
.red-ui-palette-node-config-none {
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
text-align:right;
padding-right: 3px;
}
.red-ui-palette-node-config-unused,.red-ui-palette-node-config-disabled {
border-color: $primary-border-color;
background: $secondary-background-inactive;
border-color: var(--red-ui-primary-border-color);
background: var(--red-ui-node-config-background);
border-style: dashed;
color: $tertiary-text-color;
color: var(--red-ui-node-config-icon-container-disabled);
}
.red-ui-palette-node-config-disabled {
opacity: 0.6;
font-style: italic;
i {
color: $secondary-text-color;
color: var(--red-ui-node-port-label-color);
margin-right: 5px;
}
}
@@ -116,8 +120,8 @@ ul.red-ui-sidebar-node-config-list li.red-ui-palette-node-config-type {
height: 38px;
line-height: 38px;
padding: 0 8px;
background: $palette-header-background;
background: var(--red-ui-palette-header-background);
font-size: 0.8em;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-weight: normal;
}

View File

@@ -63,12 +63,12 @@
.red-ui-sidebar-context-updated {
text-align: right;
font-size: 11px;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
padding: 1px 3px;
}
.red-ui-sidebar-context-property-storename {
display: block;
font-size: 0.8em;
font-style: italic;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}

View File

@@ -2,7 +2,7 @@
// height: calc(100% - 39px);
}
.red-ui-help-search {
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-sidebar-help-toc {

View File

@@ -32,7 +32,7 @@
display: inline-block;
margin-left: 5px;
}
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
table.red-ui-info-table {
font-size: 14px;
@@ -40,8 +40,8 @@ table.red-ui-info-table {
width: 100%;
}
table.red-ui-info-table tr:not(.blank) {
border-top: 1px solid $secondary-border-color;
border-bottom: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
.red-ui-help-property-expand {
font-size: 0.8em;
@@ -57,7 +57,7 @@ table.red-ui-info-table tr.blank {
th {
text-align: left;
font-weight: 500;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
padding: 6px 3px 3px;
}
>* {
@@ -69,9 +69,9 @@ table.red-ui-info-table tr.blank {
a {
display: block;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
&:hover,&:focus {
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
text-decoration: none;
}
&:not(.expanded) {
@@ -103,36 +103,36 @@ table.red-ui-info-table tr.blank {
}
.red-ui-help-info-none {
font-style: italic;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
}
table.red-ui-info-table tr:not(.blank) td:first-child{
color: $header-text-color;
color: var(--red-ui-header-text-color);
vertical-align: top;
width: 90px;
padding: 3px 3px 3px 6px;
background:$tertiary-background;
border-right: 1px solid $secondary-border-color;
background:var(--red-ui-tertiary-background);
border-right: 1px solid var(--red-ui-secondary-border-color);
}
table.red-ui-info-table tr:not(.blank) td:last-child{
padding: 3px 3px 3px 6px;
color: $primary-text-color;
color: var(--red-ui-primary-text-color);
overflow-y: hidden;
}
div.red-ui-info-table {
margin: 5px;
}
.red-ui-help {
font-size: $primary-font-size;
font-size: var(--red-ui-primary-font-size);
line-height: 1.5em;
a {
color: $text-color-link;
color: var(--red-ui-text-color-link);
text-decoration: none;
}
a:hover,
a:focus {
color: $text-color-link;
color: var(--red-ui-text-color-link);
text-decoration: underline;
}
@@ -143,7 +143,7 @@ div.red-ui-info-table {
line-height: 1.3em;
margin: 8px auto;
&.red-ui-help-title {
border-bottom: 1px solid $tertiary-border-color;
border-bottom: 1px solid var(--red-ui-tertiary-border-color);
}
}
h2 {
@@ -168,24 +168,24 @@ div.red-ui-info-table {
& > span > p:first-child {
}
dl.message-properties {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 2px;
margin: 5px auto 10px;
&>dt {
padding: 0px 3px 2px 3px;
font-family: $monospace-font;
font-family: var(--red-ui-monospace-font);
font-weight: normal;
margin: 5px 3px 1px;
color: $text-color-code;
color: var(--red-ui-text-color-code);
white-space: nowrap;
&.optional {
font-style: italic;
}
.property-type {
font-family: $primary-font;
color: $primary-text-color;
font-family: var(--red-ui-primary-font);
color: var(--red-ui-primary-text-color);
font-style: italic;
font-size: 11px;
float: right;
@@ -204,7 +204,7 @@ div.red-ui-info-table {
ol.node-ports {
margin: 0;
li {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 2px;
list-style-position: inside;
padding: 3px;
@@ -224,7 +224,7 @@ div.red-ui-info-table {
transition: transform 0.2s ease-in-out;
margin-right: 4px;
}
color: $header-text-color;
color: var(--red-ui-header-text-color);
&:hover, &:focus {
text-decoration: none;
}
@@ -242,7 +242,7 @@ div.red-ui-info-table {
overflow : hidden;
}
table thead tr {
background-color: var(--red-ui-primary-background); //$primary-text-color;
background-color: var(--red-ui-primary-background); //var(--red-ui-primary-text-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
color: var(--red-ui-header-text-color);
text-align: left;
@@ -252,7 +252,7 @@ div.red-ui-info-table {
padding: 6px 8px;
}
table tbody tr:nth-of-type(even) {
background-color: var(--red-ui-tertiary-background); //$primary-background;
background-color: var(--red-ui-tertiary-background); //var(--red-ui-primary-background);
}
}
.red-ui-sidebar-info-stack {
@@ -273,10 +273,10 @@ div.red-ui-info-table {
height: 0;
transition: height 0.2s, padding 0.2s;
box-sizing: border-box;
border-top: 1px solid $secondary-border-color;
background-color: $secondary-background;
border-top: 1px solid var(--red-ui-secondary-border-color);
background-color: var(--red-ui-secondary-background);
padding: 0;
box-shadow: 0 5px 20px 0px $shadow;
box-shadow: 0 5px 20px 0px var(--red-ui-shadow);
overflow-y: auto;
}
.red-ui-sidebar-info.show-tips {
@@ -305,7 +305,7 @@ div.red-ui-info-table {
font-size: 16px;
text-align: center;
line-height: 1.9em;
color : $tertiary-text-color;
color : var(--red-ui-tertiary-text-color);
@include disable-selection;
cursor: default;
}
@@ -314,14 +314,14 @@ div.red-ui-info-table {
top: 4px;
right: 6px;
a {
color: $secondary-text-color;
border-color: $secondary-border-color !important;
color: var(--red-ui-secondary-text-color);
border-color: var(--red-ui-secondary-border-color) !important;
margin-left: 4px;
}
}
.node-info-property-config-node {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 4px;
padding: 2px 4px 2px;
}
@@ -346,7 +346,7 @@ div.red-ui-info-table {
}
.red-ui-info-outline-project {
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
}
.red-ui-info-outline,
@@ -380,13 +380,13 @@ div.red-ui-info-table {
background: none;
}
.red-ui-palette-icon-fa {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
font-size: 18px;
}
}
&.red-ui-info-outline-item-empty {
font-style: italic;
color: $form-placeholder-color;
color: var(--red-ui-form-placeholder-color);
}
}
@@ -414,7 +414,7 @@ div.red-ui-info-table {
white-space: nowrap;
}
.red-ui-search-result-node-label {
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
@@ -439,16 +439,16 @@ div.red-ui-info-table {
right: 1px;
padding: 1px 2px 0 1px;
text-align: right;
background: $list-item-background;
background: var(--red-ui-list-item-background);
.red-ui-treeList-label:hover & {
background: $list-item-background-hover;
background: var(--red-ui-list-item-background-hover);
}
.red-ui-treeList-label.focus & {
background: $list-item-background-hover;
background: var(--red-ui-list-item-background-hover);
}
.red-ui-treeList-label.selected & {
background: $list-item-background-selected;
background: var(--red-ui-list-item-background-selected);
}
@@ -510,7 +510,7 @@ div.red-ui-info-table {
}
.red-ui-info-outline-item-label {
font-style: italic;
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
.red-ui-icons-flow {
opacity: 0.4;
@@ -538,7 +538,7 @@ div.red-ui-info-table {
-webkit-mask-size: contain;
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
background-color: $icons-flow-color;
background-color: var(--red-ui-icons-flow-color);
// filter: brightness(2.5);
}
@@ -549,8 +549,8 @@ div.red-ui-info-table {
text-align: left;
// padding-left: 9px;
// box-sizing: border-box;
// background: $palette-header-background;
// border-bottom: 1px solid $secondary-border-color;
// background: var(--red-ui-palette-header-background);
// border-bottom: 1px solid var(--red-ui-secondary-border-color);
.red-ui-searchBox-container {
position: absolute;
@@ -558,7 +558,7 @@ div.red-ui-info-table {
right: 8px;
width: calc(100% - 130px);
max-width: 250px;
background: $palette-header-background;
background: var(--red-ui-palette-header-background);
}
}

View File

@@ -16,7 +16,7 @@
.red-ui-tabs {
position: relative;
background: $tab-background;
background: var(--red-ui-tab-background);
overflow: hidden;
height: 35px;
box-sizing: border-box;
@@ -39,18 +39,18 @@
display: block;
height: 35px;
box-sizing:border-box;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
white-space: nowrap;
@include disable-selection;
li {
box-sizing: border-box;
display: inline-block;
border-left: 1px solid $primary-border-color;
border-top: 1px solid $primary-border-color;
border-right: 1px solid $primary-border-color;
border-bottom: 1px solid $primary-border-color;
background: $tab-background-inactive;
border-left: 1px solid var(--red-ui-primary-border-color);
border-top: 1px solid var(--red-ui-primary-border-color);
border-right: 1px solid var(--red-ui-primary-border-color);
border-bottom: 1px solid var(--red-ui-primary-border-color);
background: var(--red-ui-tab-background-inactive);
margin: 3px 3px 0 3px;
height: 32px;
line-height: 29px;
@@ -73,7 +73,7 @@
padding-left: 12px;
width: 100%;
height: 100%;
color: $tab-text-color-inactive;
color: var(--red-ui-tab-text-color-inactive);
}
a:hover {
text-decoration: none;
@@ -83,27 +83,27 @@
}
&:not(.active) a:hover+a.red-ui-tab-close {
background: $tab-background-hover;
background: var(--red-ui-tab-background-hover);
}
&.highlighted {
box-shadow: 0px 0px 4px 2px $node-selected-color;
border: dashed 1px $node-selected-color;
box-shadow: 0px 0px 4px 2px var(--red-ui-node-selected-color);
border: dashed 1px var(--red-ui-node-selected-color);
}
&.active {
background: $tab-background-active;
background: var(--red-ui-tab-background-active);
font-weight: bold;
border-bottom: 1px solid $tab-background-active;
border-bottom: 1px solid var(--red-ui-tab-background-active);
z-index: 2;
a {
color: $tab-text-color-active;
color: var(--red-ui-tab-text-color-active);
}
a.red-ui-tab-close {
color: $workspace-button-color;
background: $tab-background-active;
color: var(--red-ui-workspace-button-color);
background: var(--red-ui-tab-background-active);
&:hover {
background: $workspace-button-background-hover !important;
color: $workspace-button-color-hover;
background: var(--red-ui-workspace-button-background-hover) !important;
color: var(--red-ui-workspace-button-color-hover);
}
}
img.red-ui-tab-icon {
@@ -111,24 +111,24 @@
}
.red-ui-tabs-fade {
background-image: linear-gradient(to right, change-color($tab-background-active, $alpha: 0.001), $tab-background-active);
background-image: linear-gradient(to right, var(--red-ui-tab-background-active-alpha), var(--red-ui-tab-background-active));
}
}
&.selected {
&:not(.active) {
background: $tab-background-selected;
background: var(--red-ui-tab-background-selected);
.red-ui-tabs-fade {
background-image: linear-gradient(to right, change-color($tab-background-selected, $alpha: 0.001), $tab-background-selected);
background-image: linear-gradient(to right, var(--red-ui-tab-background-selected-alpha), var(--red-ui-tab-background-selected));
}
.red-ui-tabs-badge-selected {
background: $tab-background-selected;
background: var(--red-ui-tab-background-selected);
}
}
font-weight: bold;
.red-ui-tabs-badge-selected {
display: inline;
background: $tab-background;
background: var(--red-ui-tab-background);
}
.red-ui-tabs-badge-changed {
display: none;
@@ -136,10 +136,10 @@
}
&:not(.active) a:hover {
color: $workspace-button-color-hover;
background: $tab-background-hover;
color: var(--red-ui-workspace-button-color-hover);
background: var(--red-ui-tab-background-hover);
&+.red-ui-tabs-fade {
background-image: linear-gradient(to right, change-color($tab-background-hover, $alpha: 0.001), $tab-background-hover);
background-image: linear-gradient(to right, var(--red-ui-tab-background-hover-alpha), var(--red-ui-tab-background-hover));
}
}
}
@@ -182,9 +182,9 @@
&.red-ui-tabs-vertical {
box-sizing: border-box;
height: 100%;
border-right: 1px solid $primary-border-color;
border-right: 1px solid var(--red-ui-primary-border-color);
margin: 0;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
overflow: visible;
.red-ui-tabs-scroll-container {
@@ -203,13 +203,13 @@
display: block;
margin: 0;
border: none;
border-right: 1px solid $primary-border-color;
border-right: 1px solid var(--red-ui-primary-border-color);
height: auto;
&:not(:first-child) {
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
}
&:last-child {
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
}
a.red-ui-tab-label {
@@ -217,7 +217,7 @@
}
&.active {
border-right: 1px solid $tab-background-active;
border-right: 1px solid var(--red-ui-tab-background-active);
}
}
}
@@ -238,8 +238,8 @@
top: 0;
right: 0;
height: 35px;
background: $tab-background;
border-bottom: 1px solid $primary-border-color;
background: var(--red-ui-tab-background);
border-bottom: 1px solid var(--red-ui-primary-border-color);
z-index: 2;
a {
@@ -261,8 +261,8 @@
top: 0;
right: 0;
height: 35px;
background: $tab-background;
border-bottom: 1px solid $primary-border-color;
background: var(--red-ui-tab-background);
border-bottom: 1px solid var(--red-ui-primary-border-color);
z-index: 2;
a {
@include workspace-button-toggle;
@@ -272,7 +272,7 @@
margin: 4px 3px 3px;
z-index: 2;
&.red-ui-tab-link-button-menu {
border-color: $tab-background;
border-color: var(--red-ui-tab-background);
}
&:not(.single):not(.selected) {
margin-top: 4px;
@@ -286,27 +286,27 @@
height: 35px;
width: 21px;
display: block;
color: $workspace-button-color;
color: var(--red-ui-workspace-button-color);
font-size: 22px;
text-align: center;
margin:0;
border-left: none;
border-right: none;
border-top: none;
border-bottom: 1px solid $primary-border-color;
border-bottom: 1px solid var(--red-ui-primary-border-color);
line-height: 34px;
}
}
.red-ui-tab-scroll-left {
left:0;
a {
border-right: 1px solid $primary-border-color;
border-right: 1px solid var(--red-ui-primary-border-color);
}
}
.red-ui-tab-scroll-right {
right: 0px;
a {
border-left: 1px solid $primary-border-color;
border-left: 1px solid var(--red-ui-primary-border-color);
}
}
@@ -341,7 +341,7 @@
top: 0;
right: 0;
width: 15px;
background-image: linear-gradient(to right, change-color($tab-background-inactive, $alpha: 0.001), $tab-background-inactive);
background-image: linear-gradient(to right, var(--red-ui-tab-background-inactive-alpha), var(--red-ui-tab-background-inactive));
pointer-events: none;
}
@@ -365,7 +365,7 @@ i.red-ui-tab-icon {
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $tab-icon-color;
background-color: var(--red-ui-tab-icon-color);
}
}
.red-ui-tabs-badges {
@@ -379,7 +379,7 @@ i.red-ui-tab-icon {
line-height: 28px;
text-align: center;
padding:0px;
color: $tab-badge-color;
color: var(--red-ui-tab-badge-color);
}
.red-ui-tabs-badges i {
@@ -415,7 +415,7 @@ i.red-ui-tab-icon {
}
.red-ui-tab-close {
display: none;
background: $tab-background-inactive;
background: var(--red-ui-tab-background-inactive);
opacity: 0.8;
position: absolute;
right: 0px;
@@ -425,10 +425,10 @@ i.red-ui-tab-icon {
line-height: 28px;
text-align: center;
padding: 0px;
color: $workspace-button-color;
color: var(--red-ui-workspace-button-color);
&:hover {
background: $workspace-button-background-hover !important;
color: $workspace-button-color-hover;
background: var(--red-ui-workspace-button-background-hover) !important;
color: var(--red-ui-workspace-button-color-hover);
opacity: 1;
}
}

View File

@@ -97,7 +97,7 @@
color: var(--red-ui-primary-text-color) !important;
}
&:not(.primary):not(.disabled):not(.ui-button-disabled):hover {
border-color: $popover-button-border-color-hover;
border-color: var(--red-ui-popover-button-border-color-hover);
}
}

View File

@@ -16,7 +16,7 @@
.red-ui-checkboxSet {
width: 15px;
display: inline-block;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
cursor: pointer;
input {
display:none !important;
@@ -24,6 +24,6 @@
&.disabled {
pointer-events: none;
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
}

View File

@@ -14,10 +14,10 @@
* limitations under the License.
**/
.red-ui-editableList-border {
border: 1px solid $form-input-border-color;
border: 1px solid var(--red-ui-form-input-border-color);
border-radius: 4px;
.red-ui-editableList-header {
border-bottom: 1px solid $form-input-border-color;
border-bottom: 1px solid var(--red-ui-form-input-border-color);
padding: 2px 16px 2px 4px;
font-size: 0.9em;
}
@@ -32,22 +32,22 @@
margin: 0;
}
.red-ui-editabelList-item-placeholder {
border: 2px dashed $secondary-border-color !important;
border: 2px dashed var(--red-ui-secondary-border-color) !important;
}
li {
box-sizing: border-box;
position: relative;
background: $secondary-background;
background: var(--red-ui-secondary-background);
margin:0;
padding:8px 0px;
border-bottom: 1px solid $secondary-border-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
min-height: 20px;
.red-ui-editableList-item-handle {
position: absolute;
top: 50%;
left: 2px;
margin-top: -7px;
color: $tertiary-text-color;
color: var(--red-ui-tertiary-text-color);
cursor: move;
}
.red-ui-editableList-item-remove {
@@ -57,7 +57,7 @@
margin-top: -9px;
}
&.ui-sortable-helper {
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
}
//.red-ui-editableList-item-content { outline: 1px solid red}
@@ -68,7 +68,7 @@
margin-right: 28px;
}
&.red-ui-editableList-item-deleting {
background: $secondary-background-inactive;
background: var(--red-ui-secondary-background-inactive);
}
}

View File

@@ -21,9 +21,9 @@
margin: 0;
white-space: nowrap;
border: none;
background: $secondary-background;
background: var(--red-ui-secondary-background);
&:hover {
background: $secondary-background-hover;
background: var(--red-ui-secondary-background-hover);
}
i.fa-angle-right {
@@ -44,12 +44,12 @@
}
}
.red-ui-editableList-item-content.disabled {
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
&.red-ui-editableList-section-header {
background: $primary-background;
background: var(--red-ui-primary-background);
.red-ui-editableList-item-content.disabled {
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
}

View File

@@ -21,7 +21,7 @@
position: absolute;
top: 9px;
font-size: 10px;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
i.fa-search {
pointer-events: none;
@@ -41,8 +41,8 @@
margin: 0;
}
a.red-ui-searchBox-opts:hover {
color: $workspace-button-color-hover;
background: $workspace-button-background-hover;
color: var(--red-ui-workspace-button-color-hover);
background: var(--red-ui-workspace-button-background-hover);
}
input.red-ui-searchBox-input {
border-radius: 0;
@@ -76,8 +76,8 @@
position: absolute;
right: 18px;
top: 4px;
background: $primary-background;
color: $secondary-text-color;
background: var(--red-ui-primary-background);
color: var(--red-ui-secondary-text-color);
padding: 1px 8px;
font-size: 9px;
border-radius: 4px;
@@ -97,12 +97,12 @@
.red-ui-searchBox-compact {
input:focus.red-ui-searchBox-input {
outline: 1px solid $form-input-focus-color;
outline: 1px solid var(--red-ui-form-input-focus-color);
}
input.red-ui-searchBox-input,input:focus.red-ui-searchBox-input {
border: 1px solid $secondary-border-color;
border: 1px solid var(--red-ui-secondary-border-color);
border-radius: 3px;
font-size: 12px;
height: 26px;

View File

@@ -15,9 +15,9 @@
**/
.red-ui-stack {
background: $secondary-background;
background: var(--red-ui-secondary-background);
.red-ui-palette-category {
background: $secondary-background;
background: var(--red-ui-secondary-background);
&:last-child {
border-bottom: none;

View File

@@ -24,9 +24,9 @@
width: 100%;
height: 100%;
position: relative;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
border: 1px solid $form-input-border-color;
border: 1px solid var(--red-ui-form-input-border-color);
border-radius: 4px;
box-sizing: border-box;
@@ -71,7 +71,7 @@
padding: 6px 0;
display: flex;
align-items: center;
color: $list-item-color;
color: var(--red-ui-list-item-color);
text-decoration: none;
cursor: pointer;
vertical-align: middle;
@@ -79,26 +79,26 @@
position: relative;
&:hover, &:hover .red-ui-treeList-sublabel-text {
background: $list-item-background-hover;
color: $list-item-color;
background: var(--red-ui-list-item-background-hover);
color: var(--red-ui-list-item-color);
text-decoration: none;
}
&:focus, &:focus .red-ui-treeList-sublabel-text {
background: $list-item-background-hover;
background: var(--red-ui-list-item-background-hover);
outline: none;
color: $list-item-color;
color: var(--red-ui-list-item-color);
text-decoration: none;
}
&.focus, &.focus .red-ui-treeList-sublabel-text {
background: $list-item-background-hover;
outline: 1px solid $form-input-focus-color !important;
background: var(--red-ui-list-item-background-hover);
outline: 1px solid var(--red-ui-form-input-focus-color) !important;
outline-offset: -1px;
color: $list-item-color;
color: var(--red-ui-list-item-color);
}
&.selected, &.selected .red-ui-treeList-sublabel-text {
background: $list-item-background-selected;
background: var(--red-ui-list-item-background-selected);
outline: none;
color: $list-item-color;
color: var(--red-ui-list-item-color);
}
input.red-ui-treeList-checkbox,
@@ -121,9 +121,9 @@
padding: 0 10px 0 5px;
line-height: 32px;
font-size: 0.9em;
color: $list-item-secondary-color;
color: var(--red-ui-list-item-secondary-color);
position: absolute;
background: $list-item-background;
background: var(--red-ui-list-item-background);
}
@@ -143,5 +143,5 @@
mask-position: 50% 50%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $spinner-color;
background-color: var(--red-ui-spinner-color);
}

View File

@@ -15,7 +15,7 @@
**/
.red-ui-typedInput-container {
border: 1px solid $form-input-border-color;
border: 1px solid var(--red-ui-form-input-border-color);
border-radius: 5px;
height: 34px;
line-height: 14px;
@@ -28,7 +28,7 @@
position: relative;
&[disabled] {
input, button {
background: $secondary-background-inactive;
background: var(--red-ui-secondary-background-inactive);
pointer-events: none;
cursor: not-allowed;
}
@@ -50,7 +50,7 @@
}
&.red-ui-typedInput-focus:not(.input-error) {
border-color: $form-input-focus-color !important;
border-color: var(--red-ui-form-input-focus-color) !important;
}
.red-ui-typedInput-value-label {
flex-grow: 1;
@@ -61,42 +61,42 @@
overflow: hidden;
text-overflow: ellipsis;
.red-ui-typedInput-value-label-inactive {
background: $secondary-background-disabled;
color: $secondary-text-color-disabled;
background: var(--red-ui-secondary-background-disabled);
color: var(--red-ui-secondary-text-color-disabled);
}
}
}
.red-ui-typedInput-options {
@include component-shadow;
font-family: $primary-font;
font-size: $primary-font-size;
font-family: var(--red-ui-primary-font);
font-size: var(--red-ui-primary-font-size);
position: absolute;
max-height: 350px;
overflow-y: auto;
border: 1px solid $primary-border-color;
border: 1px solid var(--red-ui-primary-border-color);
box-sizing: border-box;
background: $secondary-background;
background: var(--red-ui-secondary-background);
white-space: nowrap;
z-index: 2000;
a {
padding: 6px 18px 6px 6px;
display: flex;
align-items: center;
border-bottom: 1px solid $secondary-border-color;
color: $form-text-color;
border-bottom: 1px solid var(--red-ui-secondary-border-color);
color: var(--red-ui-form-text-color);
&:hover {
text-decoration: none;
background: $workspace-button-background-hover;
background: var(--red-ui-workspace-button-background-hover);
}
&:focus {
text-decoration: none;
background: $workspace-button-background-active;
background: var(--red-ui-workspace-button-background-active);
outline: none;
}
&:active {
text-decoration: none;
background: $workspace-button-background-active;
background: var(--red-ui-workspace-button-background-active);
}
input[type="checkbox"] {
margin: 0 6px 0 0;
@@ -111,7 +111,7 @@
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $primary-text-color;
background-color: var(--red-ui-primary-text-color);
height: 14px;
width: 12px;
}
@@ -128,11 +128,11 @@ button.red-ui-typedInput-option-trigger
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
padding: 0 1px 0 5px;
background: $form-button-background;
background: var(--red-ui-form-button-background);
height: 32px;
line-height: 30px;
vertical-align: middle;
color: $form-text-color;
color: var(--red-ui-form-text-color);
white-space: nowrap;
i.red-ui-typedInput-icon {
margin-left: 1px;
@@ -142,7 +142,7 @@ button.red-ui-typedInput-option-trigger
&.disabled {
cursor: default;
> i.red-ui-typedInput-icon {
color: $secondary-text-color-disabled;
color: var(--red-ui-secondary-text-color-disabled);
}
}
.red-ui-typedInput-type-label,.red-ui-typedInput-option-label {
@@ -161,21 +161,21 @@ button.red-ui-typedInput-option-trigger
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
background-color: $primary-text-color;
background-color: var(--red-ui-primary-text-color);
}
}
&:not(.disabled):hover {
text-decoration: none;
background: $workspace-button-background-hover;
background: var(--red-ui-workspace-button-background-hover);
}
&:focus {
text-decoration: none;
outline: none;
box-shadow: inset 0 0 0 1px $form-input-focus-color;
box-shadow: inset 0 0 0 1px var(--red-ui-form-input-focus-color);
}
&:not(.disabled):active {
background: $workspace-button-background-active;
background: var(--red-ui-workspace-button-background-active);
text-decoration: none;
}
&.red-ui-typedInput-full-width {
@@ -208,8 +208,8 @@ button.red-ui-typedInput-option-trigger {
line-height: 32px;
display: inline-flex;
.red-ui-typedInput-option-label {
background:$form-button-background;
color: $form-text-color;
background:var(--red-ui-form-button-background);
color: var(--red-ui-form-text-color);
flex-grow: 1;
padding: 0 0 0 8px;
display:inline-block;
@@ -231,6 +231,6 @@ button.red-ui-typedInput-option-trigger {
box-shadow: none;
}
&:focus .red-ui-typedInput-option-caret {
box-shadow: inset 0 0 0 1px $form-input-focus-color;
box-shadow: inset 0 0 0 1px var(--red-ui-form-input-focus-color);
}
}

View File

@@ -20,7 +20,7 @@
left: 0;
bottom: 0;
width: 120px;
background: $tertiary-background;
background: var(--red-ui-tertiary-background);
}
.red-ui-settings-tabs-content {
position: absolute;
@@ -30,7 +30,7 @@
bottom: 0;
padding: 0;
h3:not(:first-child) {
border-top: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
margin-top: 15px;
margin-bottom: 10px;
padding-top: 20px;

View File

@@ -1,4 +1,5 @@
:root {
--red-ui-primary-font: #{$primary-font};
--red-ui-primary-font-size: #{$primary-font-size};
--red-ui-monospace-font: #{$monospace-font};
@@ -40,7 +41,6 @@
--red-ui-text-color-link: #{$text-color-link};
--red-ui-primary-border-color: #{$primary-border-color};
--red-ui-secondary-border-color: #{$secondary-border-color};
--red-ui-tertiary-border-color: #{$tertiary-border-color};
@@ -50,20 +50,38 @@
--red-ui-border-color-success: #{$border-color-success};
--red-ui-form-background: #{$form-background};
--red-ui-form-placeholder-color: #{$form-placeholder-color};
--red-ui-form-text-color: #{$form-text-color};
--red-ui-form-text-color-disabled: #{$form-text-color-disabled};
--red-ui-form-input-focus-color: #{$form-input-focus-color};
--red-ui-form-input-border-color: #{$form-input-border-color};
--red-ui-form-input-border-color-focus: #{$form-input-focus-color};
--red-ui-form-input-border-color-selected: #{$form-input-border-selected-color};
--red-ui-form-input-border-color-error: #{$form-input-border-error-color};
--red-ui-form-input-border-selected-color: #{$form-input-border-selected-color};
--red-ui-form-input-border-error-color: #{$form-input-border-error-color};
--red-ui-form-input-background: #{$form-input-background};
--red-ui-form-input-background-disabled: #{$form-input-background-disabled};
--red-ui-form-button-background: #{$form-button-background};
--red-ui-form-tips-background: #{$form-tips-background};
--red-ui-text-editor-color: #{$text-editor-color};
--red-ui-text-editor-background: #{$text-editor-background};
--red-ui-text-editor-color-disabled: #{$text-editor-color-disabled};
--red-ui-text-editor-background-disabled: #{$text-editor-background-disabled};
--red-ui-text-editor-gutter-background: #{$text-editor-gutter-background};
--red-ui-text-editor-gutter-color: #{$text-editor-gutter-color};
--red-ui-text-editor-gutter-active-line-background: #{$text-editor-gutter-active-line-background};
--red-ui-text-editor-active-line-background: #{$text-editor-active-line-background};
--red-ui-text-editor-selection-background: #{$text-editor-selection-background};
--red-ui-event-log-background: #{$event-log-background};
--red-ui-event-log-color: #{$event-log-color};
--red-ui-event-log-active-line-background: #{$event-log-active-line-background};
--red-ui-event-log-selection-background: #{$event-log-selection-background};
--red-ui-list-item-color: #{$list-item-color};
--red-ui-list-item-secondary-color: #{$list-item-secondary-color};
--red-ui-list-item-background: #{$list-item-background};
@@ -72,8 +90,121 @@
--red-ui-list-item-background-selected: #{$list-item-background-selected};
--red-ui-list-item-border-selected: #{$list-item-border-selected};
--red-ui-tab-text-color-active: #{$tab-text-color-active};
--red-ui-tab-text-color-inactive: #{$tab-text-color-inactive};
--red-ui-tab-text-color-disabled-active: #{$tab-text-color-disabled-active};
--red-ui-tab-text-color-disabled-inactive: #{$tab-text-color-disabled-inactive};
--red-ui-tab-badge-color: #{$tab-badge-color};
--red-ui-tab-background: #{$tab-background};
--red-ui-tab-background-active: #{$tab-background-active};
--red-ui-tab-background-active-alpha: #{$tab-background-active-alpha};
--red-ui-tab-background-selected: #{$tab-background-selected};
--red-ui-tab-background-selected-alpha: #{$tab-background-selected-alpha};
--red-ui-tab-background-inactive: #{$tab-background-inactive};
--red-ui-tab-background-inactive-alpha: #{$tab-background-inactive-alpha};
--red-ui-tab-background-hover: #{$tab-background-hover};
--red-ui-tab-background-hover-alpha: #{$tab-background-hover-alpha};
--red-ui-palette-header-background: #{$palette-header-background};
--red-ui-palette-header-color: #{$palette-header-color};
--red-ui-palette-content-background: #{$palette-content-background};
--red-ui-workspace-button-background: #{$workspace-button-background};
--red-ui-workspace-button-background-hover: #{$workspace-button-background-hover};
--red-ui-workspace-button-background-active: #{$workspace-button-background-active};
--red-ui-workspace-button-color: #{$workspace-button-color};
--red-ui-workspace-button-color-disabled: #{$workspace-button-color-disabled};
--red-ui-workspace-button-color-focus: #{$workspace-button-color-focus};
--red-ui-workspace-button-color-hover: #{$workspace-button-color-hover};
--red-ui-workspace-button-color-active: #{$workspace-button-color-active};
--red-ui-workspace-button-color-selected: #{$workspace-button-color-selected};
--red-ui-workspace-button-color-primary: #{$workspace-button-color-primary};
--red-ui-workspace-button-background-primary: #{$workspace-button-background-primary};
--red-ui-workspace-button-background-primary-hover: #{$workspace-button-background-primary-hover};
--red-ui-workspace-button-color-focus-outline: #{$workspace-button-color-focus-outline};
--red-ui-shade-color: #{$shade-color};
--red-ui-popover-background: #{$popover-background};
--red-ui-popover-border: #{$popover-border};
--red-ui-popover-color: #{$popover-color};
--red-ui-popover-button-border-color: #{$popover-button-border-color};
--red-ui-popover-button-border-color-hover: #{$popover-button-border-color-hover};
--red-ui-diff-text-header-color: #{$diff-text-header-color};
--red-ui-diff-text-header-background: #{$diff-text-header-background};
--red-ui-diff-state-color: #{$diff-state-color};
--red-ui-diff-state-prefix-color: #{$diff-state-prefix-color};
--red-ui-diff-state-added: #{$diff-state-added};
--red-ui-diff-state-deleted: #{$diff-state-deleted};
--red-ui-diff-state-changed: #{$diff-state-changed};
--red-ui-diff-state-changed-background: #{$diff-state-changed-background};
--red-ui-diff-state-unchanged: #{$diff-state-unchanged};
--red-ui-diff-state-unchanged-background: #{$diff-state-unchanged-background};
--red-ui-diff-state-conflicted: #{$diff-state-conflicted};
--red-ui-diff-state-moved: #{$diff-state-moved};
--red-ui-diff-state-conflict: #{$diff-state-conflict};
--red-ui-diff-state-conflict-background: #{$diff-state-conflict-background};
--red-ui-diff-state-added-background: #{$diff-state-added-background};
--red-ui-diff-state-added-border: #{$diff-state-added-border};
--red-ui-diff-state-added-header-background: #{$diff-state-added-header-background};
--red-ui-diff-state-added-header-border: #{$diff-state-added-header-border};
--red-ui-diff-state-deleted-background: #{$diff-state-deleted-background};
--red-ui-diff-state-deleted-border: #{$diff-state-deleted-border};
--red-ui-diff-state-deleted-header-background: #{$diff-state-deleted-header-background};
--red-ui-diff-state-deleted-header-border: #{$diff-state-deleted-header-border};
--red-ui-diff-merge-header-color: #{$diff-merge-header-color};
--red-ui-diff-merge-header-background: #{$diff-merge-header-background};
--red-ui-diff-merge-header-border-color: #{$diff-merge-header-border-color};
--red-ui-menuBackground: #{$menuBackground};
--red-ui-menuDivider: #{$menuDivider};
--red-ui-menuColor: #{$menuColor};
--red-ui-menuActiveColor: #{$menuActiveColor};
--red-ui-menuActiveBackground: #{$menuActiveBackground};
--red-ui-menuDisabledColor: #{$menuDisabledColor};
--red-ui-menuHoverColor: #{$menuHoverColor};
--red-ui-menuHoverBackground: #{$menuHoverBackground};
--red-ui-menuCaret: #{$menuCaret};
--red-ui-view-navigator-background: #{$view-navigator-background};
--red-ui-view-lasso-stroke: #{$view-lasso-stroke};
--red-ui-view-lasso-fill: #{$view-lasso-fill};
--red-ui-view-background: #{$view-background};
--red-ui-view-grid-color: #{$view-grid-color};
--red-ui-node-label-color: #{$node-label-color};
--red-ui-node-port-label-color: #{$node-port-label-color};
--red-ui-node-border: #{$node-border};
--red-ui-node-border-unknown: #{$node-border-unknown};
--red-ui-node-border-placeholder: #{$node-border-placeholder};
--red-ui-node-background-placeholder: #{$node-background-placeholder};
--red-ui-node-port-background: #{$node-port-background};
--red-ui-node-port-background-hover: #{$node-port-background-hover};
--red-ui-node-icon-color: #{$node-icon-color};
--red-ui-node-icon-background-color: #{$node-icon-background-color};
--red-ui-node-icon-background-color-fill: #{$node-icon-background-color-fill};
--red-ui-node-icon-background-color-opacity: #{$node-icon-background-color-opacity};
--red-ui-node-icon-border-color: #{$node-icon-border-color};
--red-ui-node-icon-border-color-opacity: #{$node-icon-border-color-opacity};
--red-ui-node-config-background: #{$node-config-background};
--red-ui-node-config-icon-container-disabled: #{$node-config-icon-container-disabled};
--red-ui-node-link-port-background: #{$node-link-port-background};
--red-ui-node-status-error-border: #{$node-status-error-border};
@@ -81,18 +212,87 @@
--red-ui-node-status-changed-border: #{$node-status-changed-border};
--red-ui-node-status-changed-background: #{$node-status-changed-background};
--red-ui-node-border: #{$node-border};
--red-ui-node-port-background:#{$node-port-background};
@each $current-color in red green yellow blue grey gray {
--red-ui-node-status-colors-#{"" + $current-color}: #{map-get($node-status-colors, $current-color)};
}
--red-ui-node-label-color: #{$node-label-color};
--red-ui-node-selected-color: #{$node-selected-color};
--red-ui-port-selected-color: #{$port-selected-color};
--red-ui-popover-background: #{$popover-background};
--red-ui-popover-border: #{$popover-border};
--red-ui-popover-color: #{$popover-color};
--red-ui-link-color: #{$link-color};
--red-ui-link-link-color: #{$link-link-color};
--red-ui-link-disabled-color: #{$link-disabled-color};
--red-ui-link-link-active-color: #{$link-link-active-color};
--red-ui-link-unknown-color: #{$link-unknown-color};
--red-ui-clipboard-textarea-background: #{$clipboard-textarea-background};
--red-ui-deploy-button-color: #{$deploy-button-color};
--red-ui-deploy-button-color-active: #{$deploy-button-color-active};
--red-ui-deploy-button-color-disabled: #{$deploy-button-color-disabled};
--red-ui-deploy-button-background: #{$deploy-button-background};
--red-ui-deploy-button-background-hover: #{$deploy-button-background-hover};
--red-ui-deploy-button-background-active: #{$deploy-button-background-active};
--red-ui-deploy-button-background-disabled: #{$deploy-button-background-disabled};
--red-ui-deploy-button-background-disabled-hover: #{$deploy-button-background-disabled-hover};
--red-ui-header-background: #{$header-background};
--red-ui-header-button-background-active: #{$header-button-background-active};
--red-ui-header-menu-color: #{$header-menu-color};
--red-ui-header-menu-color-disabled: #{$header-menu-color-disabled};
--red-ui-header-menu-heading-color: #{$header-menu-heading-color};
--red-ui-header-menu-sublabel-color: #{$header-menu-sublabel-color};
--red-ui-header-menu-background: #{$header-menu-background};
--red-ui-header-menu-item-hover: #{$header-menu-item-hover};
--red-ui-header-menu-item-border-active: #{$header-menu-item-border-active};
--red-ui-headerMenuItemDivider: #{$headerMenuItemDivider};
--red-ui-headerMenuCaret: #{$headerMenuCaret};
--red-ui-vcCommitShaColor: #{$vcCommitShaColor};
--red-ui-dnd-background: #{$dnd-background};
--red-ui-dnd-color: #{$dnd-color};
--red-ui-notification-border-default: #{$notification-border-default};
--red-ui-notification-border-success: #{$notification-border-success};
--red-ui-notification-border-warning: #{$notification-border-warning};
--red-ui-notification-border-error: #{$notification-border-error};
--red-ui-debug-message-background: #{$debug-message-background};
--red-ui-debug-message-background-hover: #{$debug-message-background-hover};
--red-ui-debug-message-text-color: #{$debug-message-text-color};
--red-ui-debug-message-text-color-meta: #{$debug-message-text-color-meta};
--red-ui-debug-message-text-color-object-key: #{$debug-message-text-color-object-key};
--red-ui-debug-message-text-color-msg-type-other: #{$debug-message-text-color-msg-type-other};
--red-ui-debug-message-text-color-msg-type-string: #{$debug-message-text-color-msg-type-string};
--red-ui-debug-message-text-color-msg-type-null: #{$debug-message-text-color-msg-type-null};
--red-ui-debug-message-text-color-msg-type-meta: #{$debug-message-text-color-msg-type-meta};
--red-ui-debug-message-text-color-msg-type-number: #{$debug-message-text-color-msg-type-number};
--red-ui-debug-message-border: #{$debug-message-border};
--red-ui-debug-message-border-hover: #{$debug-message-border-hover};
--red-ui-debug-message-border-warning: #{$debug-message-border-warning};
--red-ui-debug-message-border-error: #{$debug-message-border-error};
--red-ui-group-default-fill: #{$group-default-fill};
--red-ui-group-default-fill-opacity: #{$group-default-fill-opacity};
--red-ui-group-default-stroke: #{$group-default-stroke};
--red-ui-group-default-stroke-opacity: #{$group-default-stroke-opacity};
--red-ui-group-default-label-color: #{$group-default-label-color};
--red-ui-tourGuide-border: #{$tourGuide-border};
--red-ui-tourGuide-heading-color: #{$tourGuide-heading-color};
--red-ui-grip-color: #{$grip-color};
--red-ui-icons-flow-color: #{$icons-flow-color};
--red-ui-spinner-color: #{$spinner-color};
--red-ui-tab-icon-color: #{$tab-icon-color};
}

View File

@@ -47,12 +47,12 @@
}
.red-ui-workspace-chart-background {
fill: $view-background;
fill: var(--red-ui-view-background);
}
.red-ui-workspace-chart-grid line {
fill: none;
shape-rendering: crispEdges;
stroke: $view-grid-color;
stroke: var(--red-ui-view-grid-color);
stroke-width: 1px;
}
.red-ui-workspace-select-mode {
@@ -94,11 +94,11 @@
a {
font-style: italic;
color: $tab-text-color-disabled-inactive !important;
color: var(--red-ui-tab-text-color-disabled-inactive) !important;
}
&.active a {
font-weight: normal;
color: $tab-text-color-disabled-active !important;
color: var(--red-ui-tab-text-color-disabled-active) !important;
}
.red-ui-workspace-disabled-icon {
display: inline;
@@ -112,17 +112,17 @@
bottom: 0;
right:0;
z-index: 101;
border-left: 1px solid $primary-border-color;
border-top: 1px solid $primary-border-color;
background: $view-navigator-background;
box-shadow: -1px 0 3px $shadow;
border-left: 1px solid var(--red-ui-primary-border-color);
border-top: 1px solid var(--red-ui-primary-border-color);
background: var(--red-ui-view-navigator-background);
box-shadow: -1px 0 3px var(--red-ui-shadow);
}
.red-ui-navigator-border {
stroke-dasharray: 5,5;
pointer-events: none;
stroke: $secondary-border-color;
stroke: var(--red-ui-secondary-border-color);
stroke-width: 1;
fill: $view-background;
fill: var(--red-ui-view-background);
}
.red-ui-component-footer {
@@ -182,7 +182,7 @@ button.red-ui-footer-button-toggle {
#red-ui-loading-progress {
position: absolute;
background: $primary-background;
background: var(--red-ui-primary-background);
top: 0;
bottom: 0;
right: 0;
@@ -196,7 +196,7 @@ button.red-ui-footer-button-toggle {
width: 300px;
height:80px;
text-align: center;
color: $secondary-text-color;
color: var(--red-ui-secondary-text-color);
}
}
@@ -204,13 +204,13 @@ button.red-ui-footer-button-toggle {
box-sizing: border-box;
width: 300px;
height: 30px;
border: 2px solid $primary-border-color;
border: 2px solid var(--red-ui-primary-border-color);
border-radius: 4px;
> span {
display: block;
height: 100%;
background: $secondary-border-color;
background: var(--red-ui-secondary-border-color);
transition: width 0.2s;
width: 10%;
}

View File

@@ -17,7 +17,7 @@
#red-ui-workspace-toolbar {
display: none;
color: $workspace-button-color;
color: var(--red-ui-workspace-button-color);
font-size: 12px;
line-height: 18px;
position: absolute;
@@ -27,8 +27,8 @@
padding: 7px;
height: 40px;
box-sizing: border-box;
background: $secondary-background;
border-bottom: 1px solid $secondary-border-color;
background: var(--red-ui-secondary-background);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
white-space: nowrap;
transition: right 0.2s ease;
overflow: hidden;
@@ -61,23 +61,23 @@
}
}
.button.active {
background: $workspace-button-background-active;
background: var(--red-ui-workspace-button-background-active);
cursor: default;
}
}
.spinner-value {
width: 25px;
color: $workspace-button-color;
color: var(--red-ui-workspace-button-color);
padding: 0 5px;
display: inline-block;
text-align: center;
border-top: 1px solid $secondary-border-color;
border-bottom: 1px solid $secondary-border-color;
border-top: 1px solid var(--red-ui-secondary-border-color);
border-bottom: 1px solid var(--red-ui-secondary-border-color);
margin: 0;
height: 24px;
font-size: 12px;
background: $form-input-background;
background: var(--red-ui-form-input-background);
line-height: 22px;
box-sizing: border-box;
}

View File

@@ -0,0 +1,229 @@
export default {
version: "2.1.0",
steps: [
{
titleIcon: "fa fa-map-o",
title: {
"en-US": "Welcome to Node-RED 2.1!",
"ja": "Node-RED 2.1へようこそ!"
},
description: {
"en-US": "Let's take a moment to discover the new features in this release.",
"ja": "本リリースの新機能を見つけてみましょう。"
}
},
{
title: {
"en-US": "A new Tour Guide",
"ja": "新しいツアーガイド"
},
description: {
"en-US": "<p>First, as you've already found, we now have this tour of new features. We'll only show the tour the first time you open the editor for each new version of Node-RED.</p>" +
"<p>You can choose not to see this tour in the future by disabling it under the View tab of User Settings.</p>",
"ja": "<p>最初に、既に見つけている様に、新機能の本ツアーがあります。本ツアーは、新バージョンのNode-REDフローエディタを初めて開いた時のみ表示されます。</p>" +
"<p>ユーザ設定の表示タブの中で、この機能を無効化することで、本ツアーを表示しないようにすることもできます。</p>"
}
},
{
title: {
"en-US": "New Edit menu",
"ja": "新しい編集メニュー"
},
prepare() {
$("#red-ui-header-button-sidemenu").trigger("click");
$("#menu-item-edit-menu").parent().addClass("open");
},
complete() {
$("#menu-item-edit-menu").parent().removeClass("open");
},
element: "#menu-item-edit-menu-submenu",
interactive: false,
direction: "left",
description: {
"en-US": "<p>The main menu has been updated with a new 'Edit' section. This includes all of the familar options, like cut/paste and undo/redo.</p>" +
"<p>The menu now displays keyboard shortcuts for the options.</p>",
"ja": "<p>メインメニューに「編集」セクションが追加されました。本セクションには、切り取り/貼り付けや、変更操作を戻す/やり直しの様な使い慣れたオプションが含まれています。</p>" +
"<p>本メニューには、オプションのためのキーボードショートカットも表示されるようになりました。</p>"
}
},
{
title: {
"en-US": "Arranging nodes",
"ja": "ノードの配置"
},
prepare() {
$("#red-ui-header-button-sidemenu").trigger("click");
$("#menu-item-arrange-menu").parent().addClass("open");
},
complete() {
$("#menu-item-arrange-menu").parent().removeClass("open");
},
element: "#menu-item-arrange-menu-submenu",
interactive: false,
direction: "left",
description: {
"en-US": "<p>The new 'Arrange' section of the menu provides new options to help arrange your nodes. You can align them to a common edge, spread them out evenly or change their order.</p>",
"ja": "<p>メニューの新しい「配置」セクションには、ノードの配置を助ける新しいオプションが提供されています。ノードの端を揃えたり、均等に配置したり、表示順序を変更したりできます。</p>"
}
},
{
title: {
"en-US": "Hiding tabs",
"ja": "タブの非表示"
},
element: "#red-ui-workspace-tabs > li.active",
description: {
"en-US": '<p>Tabs can now be hidden by clicking their <i class="fa fa-eye-slash"></i> icon.</p><p>The Info Sidebar will still list all of your tabs, and tell you which ones are currently hidden.',
"ja": '<p><i class="fa fa-eye-slash"></i> アイコンをクリックすることで、タブを非表示にできます。</p><p>情報サイドバーには、全てのタブが一覧表示されており、現在非表示になっているタブを確認できます。'
},
interactive: false,
prepare() {
$("#red-ui-workspace-tabs > li.active .red-ui-tab-close").css("display","block");
},
complete() {
$("#red-ui-workspace-tabs > li.active .red-ui-tab-close").css("display","");
}
},
{
title: {
"en-US": "Tab menu",
"ja": "タブメニュー"
},
element: "#red-ui-workspace-tabs-menu",
description: {
"en-US": "<p>The new tab menu also provides lots of new options for your tabs.</p>",
"ja": "<p>新しいタブメニューには、タブに関する沢山の新しいオプションが提供されています。</p>"
},
interactive: false,
direction: "left",
prepare() {
$("#red-ui-workspace > .red-ui-tabs > .red-ui-tabs-menu a").trigger("click");
},
complete() {
$(document).trigger("click");
}
},
{
title: {
"en-US": "Flow and Group level environment variables",
"ja": "フローとグループの環境変数"
},
element: "#red-ui-workspace-tabs > li.active",
interactive: false,
description: {
"en-US": "<p>Flows and Groups can now have their own environment variables that can be referenced by nodes inside them.</p>",
"ja": "<p>フローとグループには、内部のノードから参照できる環境変数を設定できるようになりました。</p>"
}
},
{
prepare(done) {
RED.editor.editFlow(RED.nodes.workspace(RED.workspaces.active()),"editor-tab-envProperties");
setTimeout(done,700);
},
element: "#red-ui-tab-editor-tab-envProperties-link-button",
description: {
"en-US": "<p>Their edit dialogs have a new Environment Variables section.</p>",
"ja": "<p>編集ダイアログに環境変数セクションが追加されました。</p>"
}
},
{
element: ".node-input-env-container-row",
direction: "left",
description: {
"en-US": '<p>The environment variables are listed in this table and new ones can be added by clicking the <i class="fa fa-plus"></i> button.</p>',
"ja": '<p>この表に環境変数が一覧表示されており、<i class="fa fa-plus"></i>ボタンをクリックすることで新しい変数を追加できます。</p>'
},
complete(done) {
$("#node-dialog-cancel").trigger("click");
setTimeout(done,500);
}
},
{
title: {
"en-US": "Link Call node added",
"ja": "Link Callードを追加"
},
prepare(done) {
this.paletteWasClosed = $("#red-ui-main-container").hasClass("red-ui-palette-closed");
RED.actions.invoke("core:toggle-palette",true)
$('[data-palette-type="link call"]')[0].scrollIntoView({block:"center"})
setTimeout(done,100);
},
element: '[data-palette-type="link call"]',
direction: "right",
description: {
"en-US": "<p>The <code>Link Call</code> node lets you call another flow that begins with a <code>Link In</code> node and get the result back when the message reaches a <code>Link Out</code> node.</p>",
"ja": "<p><code>Link Call</code>ノードを用いることで、<code>Link In</code>ノードから始まるフローを呼び出し、<code>Link Out</code>ノードに到達した時に、結果を取得できます。</p>"
}
},
{
title: {
"en-US": "MQTT nodes support dynamic connections",
"ja": "MQTTードが動的接続をサポート"
},
prepare(done) {
$('[data-palette-type="mqtt out"]')[0].scrollIntoView({block:"center"})
setTimeout(done,100);
},
element: '[data-palette-type="mqtt out"]',
direction: "right",
description: {
"en-US": '<p>The <code>MQTT</code> nodes now support creating their connections and subscriptions dynamically.</p>',
"ja": '<p><code>MQTT</code>ノードは、動的な接続や購読ができるようになりました。</p>'
},
},
{
title: {
"en-US": "File nodes renamed",
"ja": "ファイルノードの名前変更"
},
prepare(done) {
$('[data-palette-type="file"]')[0].scrollIntoView({block:"center"});
setTimeout(done,100);
},
complete() {
if (this.paletteWasClosed) {
RED.actions.invoke("core:toggle-palette",false)
}
},
element: '[data-palette-type="file"]',
direction: "right",
description: {
"en-US": "<p>The file nodes have been renamed to make it clearer which node does what.</p>",
"ja": "<p>fileードの名前が変更され、どのードが何を行うかが明確になりました。</p>"
}
},
{
title: {
"en-US": "Deep copy option on Change node",
"ja": "Changeードのディープコピーオプション"
},
prepare(done) {
var def = RED.nodes.getType('change');
RED.editor.edit({id:"test",type:"change",rules:[{t:"set",p:"payload",pt:"msg", tot:"msg",to:"anotherProperty"}],_def:def, _:def._});
setTimeout(done,700);
},
complete(done) {
$("#node-dialog-cancel").trigger("click");
setTimeout(done,500);
},
element: function() {
return $(".node-input-rule-property-deepCopy").next();
},
description: {
"en-US": "<p>The Set rule has a new option to create a deep copy of the value. This ensures a complete copy is made, rather than using a reference.</p>",
"ja": "<p>値を代入に、値のディープコピーを作成するオプションが追加されました。これによって参照ではなく、完全なコピーが作成されます。</p>"
}
},
{
title: {
"en-US": "And that's not all...",
"ja": "これが全てではありません..."
},
description: {
"en-US": "<p>There are many more smaller changes, including:</p><ul><li>Auto-complete suggestions in the <code>msg</code> TypedInput.</li><li>Support for <code>msg.resetTimeout</code> in the <code>Join</code> node.</li><li>Pushing messages to the front of the queue in the <code>Delay</code> node's rate limiting mode.</li><li>An optional second output on the <code>Delay</code> node for rate limited messages.</li></ul>",
"ja": "<p>以下の様な小さな変更が沢山あります:</p><ul><li><code>msg</code> TypedInputの自動補完提案</li><li><code>Join</code>ノードで<code>msg.resetTimeout</code>のサポート</li><li><code>Delay</code>ノードの流量制御モードにおいて先頭メッセージをキューに追加</li><li><code>Delay</code>ードで流量制限されたメッセージ向けの任意の2つ目の出力</li></ul>"
}
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,156 @@
export default {
version: "2.2.0",
steps: [
{
titleIcon: "fa fa-map-o",
title: {
"en-US": "Welcome to Node-RED 2.2!",
"ja": "Node-RED 2.2へようこそ!"
},
description: {
"en-US": "Let's take a moment to discover the new features in this release.",
"ja": "本リリースの新機能を見つけてみましょう。"
}
},
{
title: {
"en-US": "Search history",
"ja": "検索履歴"
},
description: {
"en-US": "<p>The Search dialog now keeps a history of your searches, making it easier to go back to a previous search.</p>",
"ja": "<p>検索ダイアログが検索履歴を保持するようになりました。これによって、過去の検索に戻りやすくなりました。</p>"
},
element: "#red-ui-search .red-ui-searchBox-form",
prepare(done) {
RED.search.show();
setTimeout(done,400);
},
complete() {
RED.search.hide();
},
},
{
title: {
"en-US": "Remembering Zoom & Position",
"ja": "拡大/縮小のレベルや位置を記憶"
},
description: {
"en-US": "<p>The editor has new options to restore the zoom level and scroll position when reloading the editor.</p>",
"ja": "<p>エディタを再読み込みした時に、拡大/縮小のレベルやスクロール位置を復元するための新しいオプションを利用できます。</p>"
},
element: function() { return $("#user-settings-view-store-position").parent()},
prepare(done) {
RED.actions.invoke("core:show-user-settings")
setTimeout(done,400);
},
complete(done) {
$("#node-dialog-ok").trigger("click");
setTimeout(done,400);
},
},
{
title: {
"en-US": "New wiring actions",
"ja": "新しいワイヤー操作"
},
// image: "images/",
description: {
"en-US": `<p>A pair of new actions have been added to help with wiring nodes together:</p>
<ul>
<li><b><code>Wire Series Of Nodes</code></b> - adds a wire (if necessary) between each pair of nodes in the order they were selected.</li>
<li><b><code>Wire Node To Multiple</code></b> - wires the first node selected to all of the other selected nodes.</li>
</ul>
<p>Actions can be accessed from the Action List in the main menu.</p>`,
"ja": `<p>ード接続を支援する2つの新しい操作が追加されました:</p>
<ul>
<li><b><code>Wire Series Of Nodes</code></b> - ノードを選択した順序で、各ノードのペアの間にワイヤーを(必要に応じて)追加します。</li>
<li><b><code>Wire Node To Multiple</code></b> - 最初に選択したノードから、他の選択した全てのノードに対して、ワイヤーを追加します。</li>
</ul>
<p>メインメニュー内の動作一覧から、これらの操作を利用できます。</p>`
},
},
{
title: {
"en-US": "Deleting nodes and reconnecting wires",
"ja": "ノードの削除とワイヤーの再接続"
},
image: "2.2/images/delete-repair.gif",
description: {
"en-US": `<p>It is now possible to delete a selection of nodes and automatically repair the wiring behind them.</p>
<p>This is really useful if you want to remove a node from the middle of the flow.</p>
<p>Hold the Ctrl (or Cmd) key when you press Delete and the nodes will be gone and the wires repaired.</p>
`,
"ja": `<p>選択したノードを削除した後、その背後にあるワイヤーを自動的に修復できるようになりました。</p>
<p>これは、フローの中からノードを削除する時に、とても便利に使えます。</p>
<p>Ctrl (またはCmd)キーを押しながらDeleteキーを押すと、ードがなくなり、ワイヤーが修復されます。</p>
`
}
},
{
title: {
"en-US": "Detaching nodes from a flow",
"ja": "フローからノードの切り離し"
},
image: "2.2/images/detach-repair.gif",
description: {
"en-US": `<p>If you want to remove a node from a flow without deleting it,
you can use the <b><code>Detach Selected Nodes</code></b> action.</p>
<p>The nodes will be removed from their flow, the wiring repaired behind them, and then attached to the mouse
so you can drop them wherever you want in the workspace.</p>
<p>There isn't a default keyboard shortcut assigned for this new action, but
you can add your own via the Keyboard pane of the main Settings dialog.</p>`,
"ja": `<p>ノードを削除することなく、フローからノードを除きたい場合は、<b><code>Detach Selected Nodes</code></b>操作を利用できます。</p>
<p>フローからノードが除かれた後、背後のワイヤーが修復され、ノードはマウスポインタにつながります。そのため、ワークスペースの好きな所にノードを配置できます。</p>
<p>この新しい操作に対して、デフォルトのキーボードショートカットは登録されていませんが、メイン設定ダイアログのキーボード設定から追加できます。</p>`
}
},
{
title: {
"en-US": "More wiring tricks",
"ja": "その他のワイヤー操作"
},
image: "2.2/images/slice.gif",
description: {
"en-US": `<p>A couple more wiring tricks to share.</p>
<p>You can now select multiple wires by holding the Ctrl (or Cmd) key
when clicking on a wire. This makes it easier to delete multiple wires in one go.</p>
<p>If you hold the Ctrl (or Cmd) key, then click and drag with the right-hand mouse button,
you can slice through wires to remove them.</p>`,
"ja": `<p>その他のいくつかのワイヤー操作</p>
<p>Ctrl (またはCmd)キーを押しながらワイヤーをクリックすることで、複数のワイヤーを選択できるようになりました。これによって、複数のワイヤーを一度に削除することが簡単になりました。</p>
<p>Ctrl (またはCmd)キーを押しながら、マウスの右ボタンを用いてドラッグすると、ワイヤーを切って削除できます。</p>`
}
},
{
title: {
"en-US": "Subflow Output Labels",
"ja": "サブフローの出力ラベル"
},
image: "2.2/images/subflow-labels.png",
description: {
"en-US": "<p>If a subflow has labels set for its outputs, they now get shown on the ports within the subflow template view.</p>",
"ja": "<p>サブフローの出力にラベルが設定されている場合、サブフローテンプレート画面内のポートにラベルが表示されるようになりました。</p>"
},
},
{
title: {
"en-US": "Node Updates",
"ja": "ノードの更新"
},
// image: "images/",
description: {
"en-US": `<ul>
<li>The JSON node will now handle parsing Buffer payloads</li>
<li>The TCP Client nodes support TLS connections</li>
<li>The WebSocket node allows you to specify a sub-protocol when connecting</li>
</ul>`,
"ja": `<ul>
<li>JSONードが、バッファ形式のペイロードを解析できるようになりました。</li>
<li>TCPクライアントードが、TLS接続をサポートしました。</li>
<li>WebSocketードで、接続時にサブプロトコルを指定できるようになりました。</li>
</ul>`
}
}
]
}

View File

@@ -1,27 +1,30 @@
export default {
version: "3.0.0-beta.3",
version: "3.0.0-beta.4",
steps: [
{
titleIcon: "fa fa-map-o",
title: {
"en-US": "Welcome to Node-RED 3.0 Beta 3!",
"ja": "Node-RED 3.0 ベータ3へようこそ!"
"en-US": "Welcome to Node-RED 3.0 Beta 4!",
"ja": "Node-RED 3.0 ベータ4へようこそ!"
},
description: {
"en-US": "<p>This is the final beta release of Node-RED 3.0.</p><p>Let's take a moment to discover the new features in this release.</p>",
// "ja": "<p>これはNode-RED 3.0の最初のベータリリースです。これには、最終リリースで計画しているほぼ全ての機能が含まれています。</p><p>本リリースの新機能を見つけてみましょう。</p>"
"en-US": "<p>This is another final beta release of Node-RED 3.0.</p><p>Let's take a moment to discover the new features in this release.</p>",
"ja": "<p>これはNode-RED 3.0のもう一つの最後のベータリリースです。</p><p>本リリースの新機能を見つけてみましょう。</p>"
}
},
{
title: {
"en-US": "Context Menu"
"en-US": "Context Menu",
"ja": "コンテキストメニュー"
},
image: 'images/context-menu.png',
description: {
"en-US": `<p>The editor now has its own context menu when you
right-click in the workspace.</p>
<p>This makes many of the built-in actions much easier
to access.</p>`
to access.</p>`,
"ja": `<p>ワークスペースで右クリックすると、エディタに独自のコンテキストメニューが表示されるようになりました。</p>
<p>これによって多くの組み込み動作を、より簡単に利用できます。</p>`
}
},
{
@@ -34,10 +37,10 @@ export default {
"en-US": `<p>To make it easier to route wires around your flows,
it is now possible to add junction nodes that give
you more control.</p>
<p>Junctions can be added to wires by holding the Alt key
<p>Junctions can be added to wires by holding both the Alt key and the Shift key
then click and drag the mouse across the wires.</p>`,
// "ja": `<p>フローのワイヤーの経路をより制御しやすくするために、分岐点ノードを追加できるようになりました。</p>
// <p>シフトキーを押しながらマウスの右ボタンをクリックし、ワイヤーを横切るようにドラッグすることで、分岐点を追加できます。</p>`
"ja": `<p>フローのワイヤーの経路をより制御しやすくするために、分岐点ノードを追加できるようになりました。</p>
<p>Altキーとシフトキーを押しながらマウスをクリックし、ワイヤーを横切るようにドラッグすることで、分岐点を追加できます。</p>`
},
},
{

View File

@@ -118,7 +118,7 @@
.inject-time-row {
padding-left: 110px;
}
.inject-time-row select {
.inject-time-row:not(#inject-time-row-interval) select {
margin: 3px 0;
}
.inject-time-days label {

View File

@@ -252,6 +252,9 @@
if (pathParts.length === 1) {
// The source node is on a flow - so can use its id to find
sourceNode = RED.nodes.node(o.id);
if (pathParts[0] === "global") {
pathParts = [];
}
} else if (pathParts.length > 1) {
// Highlight the subflow instance node.
sourceNode = RED.nodes.node(pathParts[1]);
@@ -558,7 +561,7 @@
onadd: function() {
if (this.name === '_DEFAULT_') {
this.name = ''
RED.actions.invoke("core:generate-node-names", this)
RED.actions.invoke("core:generate-node-names", this, {generateHistory: false})
}
}
});

View File

@@ -221,7 +221,7 @@
function onAdd() {
if (this.name === '_DEFAULT_') {
this.name = ''
RED.actions.invoke("core:generate-node-names", this)
RED.actions.invoke("core:generate-node-names", this, {generateHistory: false})
}
for (var i=0;i<this.links.length;i++) {
var n = RED.nodes.node(this.links[i]);

View File

@@ -109,16 +109,13 @@ module.exports = function(RED) {
},
remove(node) {
const target = generateTarget(node);
const tn = this.getTarget(target.name, target.flowId);
if (tn) {
const targs = this.getTargets(tn.name);
const idx = getIndex(targs, tn.id);
if (idx > -1) {
targs.splice(idx, 1);
}
if (targs.length === 0) {
delete registry.name[tn.name];
}
const targs = this.getTargets(target.name);
const idx = getIndex(targs, target.id);
if (idx > -1) {
targs.splice(idx, 1);
}
if (targs.length === 0) {
delete registry.name[tn.name];
}
delete registry.id[target.id];
},

View File

@@ -459,30 +459,38 @@ RED.debug = (function() {
function showMessageMenu(button,dbgMessage,sourceId) {
activeMenuMessage = dbgMessage;
if (!menuOptionMenu) {
menuOptionMenu = RED.menu.init({id:"red-ui-debug-msg-option-menu",
options: [
{id:"red-ui-debug-msg-menu-item-collapse",label:RED._("node-red:debug.messageMenu.collapseAll"),onselect:function(){
activeMenuMessage.collapse();
}},
var opts = [
{id:"red-ui-debug-msg-menu-item-collapse",label:RED._("node-red:debug.messageMenu.collapseAll"),onselect:function(){
activeMenuMessage.collapse();
}},
];
if (activeMenuMessage.clearPinned) {
opts.push(
{id:"red-ui-debug-msg-menu-item-clear-pins",label:RED._("node-red:debug.messageMenu.clearPinned"),onselect:function(){
activeMenuMessage.clearPinned();
}},
null,
{id:"red-ui-debug-msg-menu-item-filter", label:RED._("node-red:debug.messageMenu.filterNode"),onselect:function(){
var candidateNodes = RED.nodes.filterNodes({type:'debug'});
candidateNodes.forEach(function(n) {
filteredNodes[n.id] = true;
});
delete filteredNodes[sourceId];
$("#red-ui-sidebar-debug-filterSelected").trigger("click");
RED.settings.set('debug.filteredNodes',Object.keys(filteredNodes))
refreshMessageList();
}},
{id:"red-ui-debug-msg-menu-item-clear-filter",label:RED._("node-red:debug.messageMenu.clearFilter"),onselect:function(){
$("#red-ui-sidebar-debug-filterAll").trigger("click");
refreshMessageList();
}}
]
);
}
opts.push(
null,
{id:"red-ui-debug-msg-menu-item-filter", label:RED._("node-red:debug.messageMenu.filterNode"),onselect:function(){
var candidateNodes = RED.nodes.filterNodes({type:'debug'});
candidateNodes.forEach(function(n) {
filteredNodes[n.id] = true;
});
delete filteredNodes[sourceId];
$("#red-ui-sidebar-debug-filterSelected").trigger("click");
RED.settings.set('debug.filteredNodes',Object.keys(filteredNodes))
refreshMessageList();
}},
{id:"red-ui-debug-msg-menu-item-clear-filter",label:RED._("node-red:debug.messageMenu.clearFilter"),onselect:function(){
$("#red-ui-sidebar-debug-filterAll").trigger("click");
refreshMessageList();
}}
);
menuOptionMenu = RED.menu.init({id:"red-ui-debug-msg-option-menu",
options: opts
});
menuOptionMenu.css({
position: "absolute"

View File

@@ -639,7 +639,7 @@
onadd: function() {
if (this.name === '_DEFAULT_') {
this.name = ''
RED.actions.invoke("core:generate-node-names", this)
RED.actions.invoke("core:generate-node-names", this, {generateHistory: false})
}
}
});

View File

@@ -44,6 +44,14 @@ module.exports = function(RED) {
return undefined;
}
function parseEnv(key) {
var match = /^env\.(.+)/.exec(key);
if (match) {
return match[1];
}
return undefined;
}
/**
* Custom Mustache Context capable to collect message property and node
* flow and global context
@@ -74,6 +82,11 @@ module.exports = function(RED) {
return value;
}
// try env
if (parseEnv(name)) {
return this.cachedContextTokens[name];
}
// try flow/global context:
var context = parseContext(name);
if (context) {
@@ -156,6 +169,17 @@ module.exports = function(RED) {
var tokens = extractTokens(mustache.parse(template));
var resolvedTokens = {};
tokens.forEach(function(name) {
var env_name = parseEnv(name);
if (env_name) {
var promise = new Promise((resolve, reject) => {
var val = RED.util.evaluateNodeProperty(env_name, 'env', node)
resolvedTokens[name] = val;
resolve();
});
promises.push(promise);
return;
}
var context = parseContext(name);
if (context) {
var type = context.type;

View File

@@ -275,18 +275,22 @@ module.exports = function(RED) {
if (msg.hasOwnProperty("flush")) {
var len = node.buffer.length;
if (typeof(msg.flush) == 'number') { len = Math.min(Math.floor(msg.flush),len); }
while (len > 0) {
const msgInfo = node.buffer.shift();
if (Object.keys(msgInfo.msg).length > 1) {
node.send(msgInfo.msg);
msgInfo.done();
}
len = len - 1;
}
if (node.buffer.length === 0) {
if (len === 0) {
clearInterval(node.intervalID);
node.intervalID = -1;
}
else {
while (len > 0) {
const msgInfo = node.buffer.shift();
if (Object.keys(msgInfo.msg).length > 1) {
node.send(msgInfo.msg);
msgInfo.done();
}
len = len - 1;
}
clearInterval(node.intervalID);
node.intervalID = setInterval(sendMsgFromBuffer, node.rate);
}
node.status({fill:"blue",shape:"dot",text:node.buffer.length});
done();
}

View File

@@ -215,6 +215,7 @@ module.exports = function(RED) {
delete listenerNodes[node.fullPath];
node.server.close();
node._inputNodes = [];
done();
}
else {
node.closing = true;

View File

@@ -89,6 +89,9 @@ module.exports = function(RED) {
else if (msg.payload[s][t].toString().indexOf(node.sep) !== -1) { // add quotes if any "commas"
msg.payload[s][t] = node.quo + msg.payload[s][t].toString() + node.quo;
}
else if (msg.payload[s][t].toString().indexOf("\n") !== -1) { // add quotes if any "\n"
msg.payload[s][t] = node.quo + msg.payload[s][t].toString() + node.quo;
}
}
ou += msg.payload[s].join(node.sep) + node.ret;
}
@@ -112,7 +115,7 @@ module.exports = function(RED) {
q = q.replace(/"/g, '""');
ou += node.quo + q + node.quo + node.sep;
}
else if (q.indexOf(node.sep) !== -1) { // add quotes if any "commas"
else if (q.indexOf(node.sep) !== -1 || p.indexOf("\n") !== -1) { // add quotes if any "commas" or "\n"
ou += node.quo + q + node.quo + node.sep;
}
else { ou += q + node.sep; } // otherwise just add
@@ -134,7 +137,7 @@ module.exports = function(RED) {
p = p.replace(/"/g, '""');
ou += node.quo + p + node.quo + node.sep;
}
else if (p.indexOf(node.sep) !== -1) { // add quotes if any "commas"
else if (p.indexOf(node.sep) !== -1 || p.indexOf("\n") !== -1) { // add quotes if any "commas" or "\n"
ou += node.quo + p + node.quo + node.sep;
}
else { ou += p + node.sep; } // otherwise just add

View File

@@ -314,11 +314,13 @@ module.exports = function(RED) {
if (err) {
return done(err);
}
msgInfo.send({payload: result});
msgInfo.msg.payload = result;
msgInfo.send(msgInfo.msg);
done();
});
} else {
msgInfo.send({payload: result});
msgInfo.msg.payload = result;
msgInfo.send(msgInfo.msg);
done();
}
} else {

View File

@@ -0,0 +1,149 @@
[
{
"id": "48d660b3a4109400",
"type": "inject",
"z": "9e5f48c16729e4f0",
"name": "inject",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 185,
"y": 795,
"wires": [
[
"e0f9e206681f3504"
]
]
},
{
"id": "e0f9e206681f3504",
"type": "delay",
"z": "9e5f48c16729e4f0",
"name": "",
"pauseType": "rate",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "30",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 430,
"y": 795,
"wires": [
[
"e470f1d794e1bef9",
"af7cea1dfb797a75"
]
]
},
{
"id": "943543cf7a1958e4",
"type": "change",
"z": "9e5f48c16729e4f0",
"name": "set flush to 1",
"rules": [
{
"t": "set",
"p": "flush",
"pt": "msg",
"to": "1",
"tot": "num"
},
{
"t": "delete",
"p": "payload",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 510,
"y": 915,
"wires": [
[
"e0f9e206681f3504"
]
]
},
{
"id": "e470f1d794e1bef9",
"type": "function",
"z": "9e5f48c16729e4f0",
"name": "Do something that takes a few seconds",
"func": "\n//send on the message between 3 and 6 seconds later\nsetTimeout(\n function() { \n node.send(msg) \n }, \n Math.random() * 3000 + 3000\n);\nreturn null;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 760,
"y": 795,
"wires": [
[
"943543cf7a1958e4",
"859258551b8389b7"
]
]
},
{
"id": "af7cea1dfb797a75",
"type": "debug",
"z": "9e5f48c16729e4f0",
"name": "IN",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 735,
"wires": []
},
{
"id": "859258551b8389b7",
"type": "debug",
"z": "9e5f48c16729e4f0",
"name": "OUT",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 895,
"y": 735,
"wires": []
},
{
"id": "ecaaf26326da10ee",
"type": "comment",
"z": "9e5f48c16729e4f0",
"name": "Simple Queue with release",
"info": "This example shows how to use a delay node set to rate limit mode as a simple queue to feed a\nprocess that may take some time to complete. Once that process completes the feedback is then\nset to flush out the next message - thus running the \"loop\" as fast as possible with no overlaps.\n\n**Note**: only the `msg.flush` property msut be set - otherwise the other properties that are fed \nback will be added as another new message to the queue.",
"x": 235,
"y": 915,
"wires": []
}
]

View File

@@ -28,7 +28,7 @@
<p>返却/sendの対象は次のとおりです:</p>
<ul>
<li>単一メッセージオブジェクト - 最初の出力に接続されたノードに渡されます</li>
<li>メッセージオブジェクトの配列 - 対応する出力に接続されたノードに渡されます</li>
<li>メッセージオブジェクトの配列 - 対応する出力に接続されたノードに渡されます</li>
</ul>
<p>: 初期化処理の実行はノードの初期化中に行われますそのため初期化処理タブにsendを記述した場合に後続ードでメッセージを受け取れないことがあります</p>
<p>配列要素が配列の場合には複数のメッセージを対応する出力に送出します</p>

View File

@@ -928,6 +928,7 @@
"write": "write file",
"read": "read file",
"filename": "ファイル名",
"path": "パス",
"action": "動作",
"addnewline": "メッセージの入力のたびに改行を追加",
"createdir": "ディレクトリが存在しない場合は作成",

View File

@@ -89,7 +89,7 @@
<dt class="optional">userProperties <span class="property-type">オブジェクト</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">messageExpiryInterval <span class="property-type">数値</span></dt>
<dd><b>MQTTv5</b>: </dd>
<dd><b>MQTTv5</b>: </dd>
<dt class="optional">topicAlias <span class="property-type">数値</span></dt>
<dd><b>MQTTv5</b>: 使MQTT</dd>
</dl>

View File

@@ -1,6 +1,6 @@
{
"name": "@node-red/nodes",
"version": "3.0.0-beta.3",
"version": "3.0.0-beta.4",
"license": "Apache-2.0",
"repository": {
"type": "git",
@@ -28,7 +28,7 @@
"denque": "2.0.1",
"form-data": "4.0.0",
"fs-extra": "10.1.0",
"got": "11.8.3",
"got": "11.8.5",
"hash-sum": "2.0.0",
"hpagent": "1.0.0",
"https-proxy-agent": "5.0.1",

View File

@@ -359,6 +359,7 @@ function loadNodeSet(node) {
try {
var loadPromise = null;
var r = require(node.file);
r = r.__esModule ? r.default : r
if (typeof r === "function") {
var red = registryUtil.createNodeApi(node);

View File

@@ -1,6 +1,6 @@
{
"name": "@node-red/registry",
"version": "3.0.0-beta.3",
"version": "3.0.0-beta.4",
"license": "Apache-2.0",
"main": "./lib/index.js",
"repository": {
@@ -16,7 +16,7 @@
}
],
"dependencies": {
"@node-red/util": "3.0.0-beta.3",
"@node-red/util": "3.0.0-beta.4",
"clone": "2.1.2",
"fs-extra": "10.1.0",
"semver": "7.3.7",

View File

@@ -255,5 +255,82 @@ var api = module.exports = {
}
}
return sendCredentials;
}
},
/**
* Gets running state of runtime flows
* @param {Object} opts
* @param {User} opts.user - the user calling the api
* @param {Object} opts.req - the request to log (optional)
* @return {{state:string, started:boolean}} - the current run state of the flows
* @memberof @node-red/runtime_flows
*/
getState: async function(opts) {
runtime.log.audit({event: "flows.getState"}, opts.req);
const result = {
state: runtime.flows.state()
}
return result;
},
/**
* Sets running state of runtime flows
* @param {Object} opts
* @param {Object} opts.req - the request to log (optional)
* @param {User} opts.user - the user calling the api
* @param {string} opts.state - the requested state. Valid values are "start" and "stop".
* @return {Promise<Flow>} - the active flow configuration
* @memberof @node-red/runtime_flows
*/
setState: async function(opts) {
opts = opts || {};
const makeError = (error, errcode, statusCode) => {
const message = typeof error == "object" ? error.message : error
const err = typeof error == "object" ? error : new Error(message||"Unexpected Error")
err.status = err.status || statusCode || 400;
err.code = err.code || errcode || "unexpected_error"
runtime.log.audit({
event: "flows.setState",
state: opts.state || "",
error: errcode || "unexpected_error",
message: err.code
}, opts.req);
return err
}
const getState = () => {
return {
state: runtime.flows.state()
}
}
if(!runtime.settings.runtimeState || runtime.settings.runtimeState.enabled !== true) {
throw (makeError("Method Not Allowed", "not_allowed", 405))
}
switch (opts.state) {
case "start":
try {
try {
runtime.settings.set('runtimeFlowState', opts.state);
} catch(err) {}
if (runtime.settings.safeMode) {
delete runtime.settings.safeMode
}
await runtime.flows.startFlows("full")
return getState()
} catch (err) {
throw (makeError(err, err.code, 500))
}
case "stop":
try {
try {
runtime.settings.set('runtimeFlowState', opts.state);
} catch(err) {}
await runtime.flows.stopFlows("full")
return getState()
} catch (err) {
throw (makeError(err, err.code, 500))
}
default:
throw (makeError(`Cannot change flows runtime state to '${opts.state}'}`, "invalid_run_state", 400))
}
},
}

Some files were not shown because too many files have changed in this diff Show More