mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge branch 'node-red:master' into master
This commit is contained in:
commit
a823c5abd4
3
.github/workflows/release.yml
vendored
3
.github/workflows/release.yml
vendored
@ -5,6 +5,9 @@ on:
|
|||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
generate:
|
generate:
|
||||||
name: 'Update node-red-docker image'
|
name: 'Update node-red-docker image'
|
||||||
|
10
.github/workflows/tests.yml
vendored
10
.github/workflows/tests.yml
vendored
@ -6,16 +6,22 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master, dev ]
|
branches: [ master, dev ]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
permissions:
|
||||||
|
checks: write # for coverallsapp/github-action to create new checks
|
||||||
|
contents: read # for actions/checkout to fetch code
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [14, 16]
|
node-version: [14, 16]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
|
670
CHANGELOG.md
670
CHANGELOG.md
@ -1,3 +1,151 @@
|
|||||||
|
#### 3.0.2: Maintenance Release
|
||||||
|
|
||||||
|
Editor
|
||||||
|
|
||||||
|
- Fix workspace chart bottom property (#3812) @bonanitech
|
||||||
|
- Update german translation (#3802) @Dennis14e
|
||||||
|
- Support color reset to the default in subflow and group (#3801) @kazuhitoyokoi
|
||||||
|
- Allow generateNodeNames to handle names containing regex control chars (#3817) @knolleary
|
||||||
|
- Hide scrollbars until they're needed (#3808) @bonanitech
|
||||||
|
- Include junctions/groups when exporting subflows plus related fixes (#3816) @knolleary
|
||||||
|
- remove console.log (#3820) @Steve-Mcl
|
||||||
|
|
||||||
|
Runtime
|
||||||
|
|
||||||
|
- Register subflow module instance node with parent flow (#3818) @knolleary
|
||||||
|
|
||||||
|
Nodes
|
||||||
|
|
||||||
|
- HTTP Request: Allow HTTP Headers not in spec (#3776) @hardillb
|
||||||
|
|
||||||
|
#### 3.0.1: Maintenance Release
|
||||||
|
|
||||||
|
Editor
|
||||||
|
|
||||||
|
- Allow codeEditor theme to be set even if `codeEditor` is not set in settings.js (#3794) @Steve-Mcl
|
||||||
|
- Sys info (diagnostics report) amendments (#3793) @Steve-Mcl
|
||||||
|
- Allow `mode` and `title` to be omitted in `options` argument for `createEditor` (#3791) @Steve-Mcl
|
||||||
|
- Fix focus issues (#3789) @Steve-Mcl
|
||||||
|
- Ensure all typedInput buttons have button type set (#3788) @knolleary
|
||||||
|
- Do not flag hasUsers=false nodes as unused in search (#3787) @knolleary
|
||||||
|
- Properly position quick-add dialog in all cases (#3786) @knolleary
|
||||||
|
- Ensure quick-add dialog does not obscure ghost node when shifted (#3785) @knolleary
|
||||||
|
- Remove use of Object.hasOwn (#3784) @knolleary
|
||||||
|
|
||||||
|
#### 3.0.0: Milestone Release
|
||||||
|
|
||||||
|
Editor
|
||||||
|
|
||||||
|
- Use theme page and header values if settings.js values are not present (#3767) @Steve-Mcl
|
||||||
|
- Focus editor for undo after some actions in menu (#3759) @kazuhitoyokoi
|
||||||
|
- Ensure node icon shade has properly rounded corners (#3763) @knolleary
|
||||||
|
- Fix storing subflow credential type when input has multiple types (#3762) @knolleary
|
||||||
|
- Ensure global-config and flow-config have info in the hierarchy popover (#3752) @Steve-Mcl
|
||||||
|
- Include dirty state in history event (#3748) @Steve-Mcl
|
||||||
|
- Fix display direction of context sub-menu (#3746) @knolleary
|
||||||
|
- Fix clear pinned paths of debug sidebar menu (#3745) @HiroyasuNishiyama
|
||||||
|
- prevent exception generating tooltip for deleted nodes (#3742) @Steve-Mcl
|
||||||
|
- Fix context menu issues ready for v3 beta.5 (#3741) @Steve-Mcl
|
||||||
|
- Do not generate new node-ids when pasting a cut flow (#3729) @knolleary
|
||||||
|
- Fix to prevent node from moving out of workspace (#3731) @HiroyasuNishiyama
|
||||||
|
- Don't let themes change disabled config node background color (#3736) @bonanitech
|
||||||
|
- Move colors left behind in #3692 to CSS variables (#3737) @bonanitech
|
||||||
|
- Fix handling of global debug message (#3733) @HiroyasuNishiyama
|
||||||
|
- Fix label overflow @ config-node palette (#3730) @ralphwetzel
|
||||||
|
- Fix defaulting to monaco if settings does not contain codeEditor (#3732) @knolleary
|
||||||
|
- Disable keyboard shortcut mapping when showing Edit[..]Dialog (#3700) @ralphwetzel
|
||||||
|
- Update add-junction menu to work in more cases (#3727) @knolleary
|
||||||
|
- Ensure importMap is not null when using import UI (#3723) @Steve-Mcl
|
||||||
|
- Add Japanese translations for v3.0-beta.4 (#3724) @kazuhitoyokoi
|
||||||
|
- Fix "split with" on virtual links (#3766) @Steve-Mcl
|
||||||
|
|
||||||
|
Runtime
|
||||||
|
|
||||||
|
- Do not remove unknown credentials of Subflow Modules (#3728) @knolleary
|
||||||
|
- Add missing entries from beta.4 changelog (#3721) @knolleary
|
||||||
|
|
||||||
|
Nodes
|
||||||
|
|
||||||
|
- Change: Fix change node, not handling from field properly when using context (#3754) @Fadoli
|
||||||
|
- Link Call: Fix linkcall registry bugs (#3751) @Steve-Mcl
|
||||||
|
- WebSocket: Fix close timeout of websocket node (#3734) @HiroyasuNishiyama
|
||||||
|
|
||||||
|
#### 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
|
||||||
|
|
||||||
|
- Add Right-Click content menu (#3678) @knolleary
|
||||||
|
- Fix disable junction (#3671) @HiroyasuNishiyama
|
||||||
|
- Add Japanese translations for v2.2.3 (#3672) @kazuhitoyokoi
|
||||||
|
- Reset mouse state when switching tabs (#3643) @knolleary
|
||||||
|
- Fix uncorrect fix of junction to subflow conversion (#3666) @HiroyasuNishiyama
|
||||||
|
- Fix undoing junction to subflow (#3653) @HiroyasuNishiyama
|
||||||
|
- Fix conversion of junction to subflow (#3652) @HiroyasuNishiyama
|
||||||
|
- Fix to include junction to exported nodes (#3650) @HiroyasuNishiyama
|
||||||
|
- Fix z-index value for shade to cover nodes in palette (#3649) @kazuhitoyokoi
|
||||||
|
- Fix to extend escaped subflow category characters (#3647) @HiroyasuNishiyama
|
||||||
|
- Fix to sanitize tab name (#3646) @HiroyasuNishiyama
|
||||||
|
- Fix selector placement (#3644) @bonanitech
|
||||||
|
- Add Japanese translations for v3.0-beta.2 (#3622) @kazuhitoyokoi
|
||||||
|
- Fix new folder menu of save to library dialog (#3633) @HiroyasuNishiyama
|
||||||
|
- Fix layer of palette node (#3638) @HiroyasuNishiyama
|
||||||
|
- Fix to place a node dragged from palette within the workspace (#3637) @HiroyasuNishiyama
|
||||||
|
- Fix typo in CSS (#3628) @bonanitech
|
||||||
|
- Use the correct variable for the gutter text color (#3615) @bonanitech
|
||||||
|
|
||||||
|
|
||||||
|
Runtime
|
||||||
|
|
||||||
|
- Support loading node modules from `nodesdir` (#3676) @Steve-Mcl
|
||||||
|
- fix buffer parse error message of evaluateNodeProperty (#3624) @HiroyasuNishiyama
|
||||||
|
|
||||||
|
Nodes
|
||||||
|
|
||||||
|
- File: Further simplify file node filename entry UX (v3) (#3677) @Steve-Mcl
|
||||||
|
- Function: Fix initial cursor position of init/finalize tab of function node (#3674) @HiroyasuNishiyama
|
||||||
|
- Function: Fix ESM module loading in Function node (#3645) @knolleary
|
||||||
|
- Inject: Fix JSONata evaluation of inject button (#3632) @HiroyasuNishiyama
|
||||||
|
- TCP: Dont delete TCP socket twice (#3630) @Steve-Mcl
|
||||||
|
- MQTT Node: define noproxy variable (#3626) @Steve-Mcl
|
||||||
|
- Debug: i18n debug sidebar node label (#3623) @HiroyasuNishiyama
|
||||||
|
|
||||||
#### 3.0.0-beta.2: Beta Release
|
#### 3.0.0-beta.2: Beta Release
|
||||||
|
|
||||||
**Migration from 2.x**
|
**Migration from 2.x**
|
||||||
@ -109,528 +257,6 @@ Nodes
|
|||||||
- Watch: Update Watch node to use node-watch module (#3559 #3569) @knolleary
|
- Watch: Update Watch node to use node-watch module (#3559 #3569) @knolleary
|
||||||
- WebSocket: call done after ws disconnects (#3531) @Steve-Mcl
|
- WebSocket: call done after ws disconnects (#3531) @Steve-Mcl
|
||||||
|
|
||||||
|
|
||||||
#### 2.2.2: Maintenance Release
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Fix "close timed out" error when performing full deploy or modifying broker node. (#3451) @Steve-Mcl
|
|
||||||
|
|
||||||
|
|
||||||
#### 2.2.1: Maintenance Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Handle mixed-cased filter terms in keyboard shortcut dialog (#3444) @knolleary
|
|
||||||
- Prevent duplicate links being added between nodes (#3442) @knolleary
|
|
||||||
- Fix to hide tooltip after removing subflow tab (#3391) @HiroyasuNishiyama
|
|
||||||
- Fix node validation to be applied to config node (#3397) @HiroyasuNishiyama
|
|
||||||
- Fix: Dont add wires to undo buffer twice (#3437) @Steve-Mcl
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Improve module location parsing (of stack info) when adding hook (#3447) @Steve-Mcl
|
|
||||||
- Fix substitution of NR_NODE_PATH (#3445) @HiroyasuNishiyama
|
|
||||||
- Remove console.log when ignoring disabled module (#3439) @knolleary
|
|
||||||
- Improve "Unexpected Node Error" logging (#3446) @Steve-Mcl
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Debug: Fix no-prototype-builtins bug in debug node and utils (#3394) @Alkarex
|
|
||||||
- Delay: Fix Japanese message of delay node (#3434)
|
|
||||||
- Allow nbRateUnits to be undefined when validating (#3443) @knolleary
|
|
||||||
- Coding help for recently added node-red Predefined Environment Variables (#3440) @Steve-Mcl
|
|
||||||
|
|
||||||
|
|
||||||
#### 2.2.0: Milestone Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Add editorTheme.tours property to default settings file (#3375) @knolleary
|
|
||||||
- Remember Zoom level and Sidebar tab selection between sessions (#3361) @knolleary
|
|
||||||
- Fix timing issue when merging background changes fixes #3364 (#3373) @Steve-Mcl
|
|
||||||
- Use a nodes palette label in help tree (#3372) @Steve-Mcl
|
|
||||||
- Subflow: Add labels to OUTPUT nodes (#3352) @ralphwetzel
|
|
||||||
- Fix vertical align subflow port (#3370) @knolleary
|
|
||||||
- Make actions list i18n ready and Japanese translation (#3359) @HiroyasuNishiyama
|
|
||||||
- Update tour for 2.2.0 (#3378) @knolleary
|
|
||||||
- Include paletteLabel when building search index (#3380) @Steve-Mcl
|
|
||||||
- Fix opening/closing subflow template not to make subflow changed (#3382) @HiroyasuNishiyama
|
|
||||||
- Add Japanese translations for v2.2.0 (#3353, #3381) @kazuhitoyokoi
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Add support for accessing node id & name as environment variable (#3356) @HiroyasuNishiyama
|
|
||||||
- Clear context contents when switching projects (#3243) @knolleary
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- MQTT: reject invalid topics (#3374) @Steve-Mcl
|
|
||||||
- Function: Expose node.path property (#3371) @knolleary
|
|
||||||
- Function: Update `node` declarations in func.d.ts (#3377) @Steve-Mcl
|
|
||||||
|
|
||||||
#### 2.2.0-beta.1: Beta Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Add search history to main search box (#3262) @knolleary
|
|
||||||
- Check availability of type of config node on deploy (#3304) @k-toumura
|
|
||||||
- Add wire-slice mode to delete wires with Ctrl-RHClick-Drag (#3340) @knolleary
|
|
||||||
- Wiring keyboard shortcuts (#3288) @knolleary
|
|
||||||
- Snap nodes on grid using either edge as reference (#3289) @knolleary
|
|
||||||
- Detach node action (#3338) @knolleary
|
|
||||||
- Highlight links when selecting nodes (#3323) @knolleary
|
|
||||||
- Allow multiple links to be selected by ctrl-click (#3294) @knolleary
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- JSON: Let JSON node attempt to parse buffer if it contains a valid string (#3296) @dceejay
|
|
||||||
- Remove use of verbose flag in core nodes - and use node.debug level instead (#3300) @dceejay
|
|
||||||
- TCP: Add TLS option to tcp client nodes (#3307) @dceejay
|
|
||||||
- WebSocket: Implemented support for Websocket Subprotocols in WS Client Node. (#3333) @tobiasoort
|
|
||||||
|
|
||||||
#### 2.1.6: Maintenance Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Revert copy-text change and apply alternative fix (#3363) @knolleary
|
|
||||||
- Update marked to latest (#3362) @knolleary
|
|
||||||
- fix to make start of property error tooltip messages aligned (#3358) @HiroyasuNishiyama
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Inject: fix JSON propety validation of inject node (#3349) @HiroyasuNishiyama
|
|
||||||
- Delay: fix unit value validation of delay node (#3351) @HiroyasuNishiyama
|
|
||||||
|
|
||||||
#### 2.1.5: Maintenance Release
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Handle reporting error location when stack is truncated (#3346) @knolleary
|
|
||||||
- Initialize passport when only adminAuth.tokens is set (#3343) @knolleary
|
|
||||||
- Add log logging (#3342) @knolleary
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Fix copy buttons on the debug window (another method) (#3331) @kazuhitoyokoi
|
|
||||||
- Add Japanese translations for hidden flow (#3302) @kazuhitoyokoi
|
|
||||||
- Improve jsonata legacy mode detection regex (#3345) @knolleary
|
|
||||||
- Fix generating flow name with incrementing number (#3347) @knolleary
|
|
||||||
- resume focus after import/export dialog close (#3337) @HiroyasuNishiyama
|
|
||||||
- Fix findPreviousVisibleTab action (#3321) @knolleary
|
|
||||||
- Fix storing hidden tab state when not hidden via action (#3312) @knolleary
|
|
||||||
- Avoid adding empty env properties to tabs/groups (#3311) @knolleary
|
|
||||||
- Fix hide icon in tour guide (#3301) @kazuhitoyokoi
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- File: Update file node examples according to node name change (#3335) @HiroyasuNishiyama
|
|
||||||
- Filter (RBE): Fix for filter node narrrowbandEq mode start condition failure (#3339) @dceejay
|
|
||||||
- Function: Prevent function scrollbar from obscuring expand button (#3348) @knolleary
|
|
||||||
- Function: load extralibs when expanding monaco. fixes #3319 (#3334) @Steve-Mcl
|
|
||||||
- Function: Update Function to use correct api to access env vars (#3310) @knolleary
|
|
||||||
- HTTP Request: Fix basic auth with empty username or password (#3325) @hardillb
|
|
||||||
- Inject: Fix incorrect clearing of blank payload property in Inject node (#3322) @knolleary
|
|
||||||
- Link Call: add link call example (#3336) @HiroyasuNishiyama
|
|
||||||
- WebSocket: Only setup ws client heartbeat once it is connected (#3344) @knolleary
|
|
||||||
- Update Japanese translations in node help (#3332) @kazuhitoyokoi
|
|
||||||
|
|
||||||
#### 2.1.4: Maintenance Release
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- fix env var access using $parent for groups (#3278) @HiroyasuNishiyama
|
|
||||||
- Add proper error handling for 404 errors when serving debug files (#3277) @knolleary
|
|
||||||
- Add Japanese translations for Node-RED v2.1.0-beta.1 (#3179) @kazuhitoyokoi
|
|
||||||
- Include full user object on login audit events (#3269) @knolleary
|
|
||||||
- Remove styling from de locale files (#3237) @knolleary
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Change tab hide button icon to an eye and add search option (#3282) @knolleary
|
|
||||||
- Fix i18n handling of namespaces with spaces in (#3281) @knolleary
|
|
||||||
- Trigger change event when autoComplete fills in input (#3280) @knolleary
|
|
||||||
- Apply CN i18n fix (#3279) @knolleary
|
|
||||||
- fix select menu label of config node to use paletteLabel (#3273) @HiroyasuNishiyama
|
|
||||||
- fix removed tab not to cause node conflict (#3275) @HiroyasuNishiyama
|
|
||||||
- Group diff fix (#3239) @knolleary
|
|
||||||
- Only toggle disabled workspace flag if on activeWorkspace (#3252) @knolleary
|
|
||||||
- Do not show status for disabled nodes (#3253) @knolleary
|
|
||||||
- Set dimension value for tour guide (#3265) @kazuhitoyokoi
|
|
||||||
- Avoid redundant initialisation of TypedInput type (#3263) @knolleary
|
|
||||||
- Don't let themes change flow port label color (#3270) @bonanitech
|
|
||||||
- Fix treeList gutter calculation to handle floating gutters (#3238) @knolleary
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Debug: Handle RegExp types in Debug sidebar (#3251) @knolleary
|
|
||||||
- Delay: fix 2nd output when in rate limit per topic modes (#3261) @dceejay
|
|
||||||
- Link: fix to show link target when selected (#3267) @HiroyasuNishiyama
|
|
||||||
- Inject: Do not modify inject node props in oneditprepare (#3242) @knolleary
|
|
||||||
- HTTP Request: HTTP Basic Auth should always add : between username and password even if empty (#3236) @hardillb
|
|
||||||
|
|
||||||
#### 2.1.3: Maintenance Release
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Update gen-publish script to update 'next' tag for main releases
|
|
||||||
- Add environment variable to enable/disable tours (#3221) @hardillb
|
|
||||||
- Fix loading non-default language files leaving runtime in wrong locale (#3225) @knolleary
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Refresh editor settings whenever a node is added or enabled (#3227) @knolleary
|
|
||||||
- Revert spinner css change that made it shrink in some cases (#3229) @knolleary
|
|
||||||
- Fix import notification message when importing config nodes (#3224) @knolleary
|
|
||||||
- Handle changing types of TypedInput repeatedly (#3223) @knolleary
|
|
||||||
|
|
||||||
|
|
||||||
#### 2.1.2: Maintenance Release
|
|
||||||
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- node-red-pi: Remove bash dependency (#3216) @a16bitsysop
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Improved regex for markdown renderer (#3213) @GerwinvBeek
|
|
||||||
- Fix TypedInput initialisation (#3220) @knolleary
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- MQTT: fix datatype in node config not used. fixes #3215 (#3219) @Steve-Mcl
|
|
||||||
|
|
||||||
#### 2.1.1: Maintenance Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Ensure tourGuide popover doesn't fall offscreen (#3212) @knolleary
|
|
||||||
- Fix issue with old inject nodes that migrated topic to 'string' type (#3210) @knolleary
|
|
||||||
- Add cache-busting query params to index.mst (#3211) @knolleary
|
|
||||||
- Fix TypedInput validation of type without options (#3207) @knolleary
|
|
||||||
|
|
||||||
#### 2.1.0: Milestone Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Position popover properly on a scrolled page
|
|
||||||
- Fixes from 2.1.0-beta.2 (#3202) @knolleary
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Link Out: Fix saving link out node links (#3201) @knolleary
|
|
||||||
- Switch: Refix #3170 - copy switch rule type when adding new rule
|
|
||||||
- TCP Request: Add string option to TCP request node output (#3204) @dceejay
|
|
||||||
|
|
||||||
#### 2.1.0-beta.2: Beta Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Fix switching projects (#3199) @knolleary
|
|
||||||
- Use locale setting when installing/enabling node (#3198) @knolleary
|
|
||||||
- Do not show projects-wecome dialog until welcome tour completes (#3197) @knolleary
|
|
||||||
- Fix converting selection to subflow (#3196) @knolleary
|
|
||||||
- Avoid conflicts with native browser cmd-ctrl type shortcuts (#3195) @knolleary
|
|
||||||
- Ensure message tools stay attached to top-level entry in Debug/Context (#3186) @knolleary
|
|
||||||
- Ensure tab state updates properly when toggling enable state (#3175) @knolleary
|
|
||||||
- Improve handling of long labels in TreeList (#3176) @knolleary
|
|
||||||
- Shift-click tab scroll arrows to jump to start/end (#3177) @knolleary
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Update package dependencies
|
|
||||||
- Update to latest node-red-admin
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Dynamic MQTT connections (#3189)
|
|
||||||
- Link: Filter out Link Out Return nodes in Link In edit dialog Fixes #3187
|
|
||||||
- Link: Fix link call label (#3200) @knolleary
|
|
||||||
- Debug: Redesign debug filter options and make them persistant (#3183) @knolleary
|
|
||||||
- Inject: Widen Inject interval box for >1 digit (#3184) @knolleary
|
|
||||||
- Switch: Fix rule focus when switch 'otherwise' rule is used (#3185) @knolleary
|
|
||||||
|
|
||||||
#### 2.1.0-beta.1: Beta Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Add Tour Guide component (#3136) @knolleary
|
|
||||||
- Allow tabs to be hidden (#3120) @knolleary
|
|
||||||
- Add align actions to editor (#3110) @knolleary
|
|
||||||
- Add support of environment variable for tab & group (#3112) @HiroyasuNishiyama
|
|
||||||
- Add autoComplete widget and add to TypedInput for msg. props (#3171) @knolleary
|
|
||||||
- Render node documentation to node-red style guide when written in markdown. (#3169) @Steve-Mcl
|
|
||||||
- Allow colouring of tab icon svg (#3140) @harmonic7
|
|
||||||
- Restore tab selection after merging conflicts (#3151) @GerwinvBeek
|
|
||||||
- Fix serving of theme files on Windows (#3154) @knolleary
|
|
||||||
- Ensure config-node select inherits width properly from input (#3155) @knolleary
|
|
||||||
- Do better remembering TypedInput values whilst switching types (#3159) @knolleary
|
|
||||||
- Update monaco to 0.28.1 (#3153) @knolleary
|
|
||||||
- Improve themeing of tourGuide (#3161) @knolleary
|
|
||||||
- Allow a node to specify a filter for the config nodes it can pick from (#3160) @knolleary
|
|
||||||
- Allow RED.notify.update to modify any notification setting (#3163) @knolleary
|
|
||||||
- Fix typo in ko editor.json Fixes #3119
|
|
||||||
- Improve RED.actions api to ensure actions cannot be overridden
|
|
||||||
- Ensure treeList row has suitable min-height when no content Fixes #3109
|
|
||||||
- Refactor edit dialogs to use separate edit panes
|
|
||||||
- Ensure type select button is not focussable when TypedInput only has one type
|
|
||||||
- Place close tab link in front of fade
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Improve error reporting with oauth login strategies (#3148) @knolleary
|
|
||||||
- Add allowUpdate feature to externalModules.palette (#3143) @knolleary
|
|
||||||
- Improve node install error reporting (#3158) @knolleary
|
|
||||||
- Improve unit test coverage (#3168) @knolleary
|
|
||||||
- Allow coreNodesDir to be set to false (#3149) @hardillb
|
|
||||||
- Update package dependencies
|
|
||||||
- uncaughtException debug improvements (#3146) @renatojuniorrs
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Change: Add option to deep-clone properties in Change node (#3156) @knolleary
|
|
||||||
- Delay: Add push to front of rate limit queue. (#3069) @dceejay
|
|
||||||
- File: Add paletteLabel to file nodes to make read/write more obvious (#3157) @knolleary
|
|
||||||
- HTTP Request: Extend HTTP request node to log detailed timing information (#3116) @k-toumura
|
|
||||||
- HTTP Response: Fix sizing of HTTP Response header fields (#3164) @knolleary
|
|
||||||
- Join: Support for msg.restartTimeout (#3121) @magma1447
|
|
||||||
- Link Call: Add Link Call node (#3152) @knolleary
|
|
||||||
- Switch: Copy previous rule type when adding rule to switch node (#3170) @knolleary
|
|
||||||
- Delay node: add option to send intermediate messages on separate output (#3166) @knolleary
|
|
||||||
- Typo in http request set method translation (#3173) @mailsvb
|
|
||||||
|
|
||||||
#### 2.0.6: Maintenance Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Fix typo in ko editor.json Fixes #3119
|
|
||||||
- Change fade color when hovering an inactive tab (#3106) @bonanitech
|
|
||||||
- Ensure treeList row has suitable min-height when no content Fixes #3109
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Update tar to latest (#3128) @aksswami
|
|
||||||
- Give passport verify callback the same arity as the original callback (#3117) @dschmidt
|
|
||||||
- Handle HTTPS Key and certificate as string or buffer (#3115) @bartbutenaers
|
|
||||||
|
|
||||||
#### 2.0.5: Maintenance Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Remove default ctrl-enter keybinding from monaco editor Fixes #3093
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Update tar dependency
|
|
||||||
- Add support for maintenance streams in generate-publish-script
|
|
||||||
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Fix regression in Join node when manual joining array with msg.parts present Fixes #3096
|
|
||||||
|
|
||||||
#### 2.0.4: Maintenance Release
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Fix tab fade CSS for when using themes (#3085) @bonanitech
|
|
||||||
- Handle just-copied-but-not-deployed node with credentials in editor Fixes #3090
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Filter: Fix RBE node handling of default topi property Fixes #3087
|
|
||||||
- HTTP Request: Handle partially encoded url query strings in request node
|
|
||||||
- HTTP Request: Fix support for supplied CA certs (#3089) @hardillb
|
|
||||||
- HTTP Request: Ensure TLS Cert is used (#3092) @hardillb
|
|
||||||
- Inject: Fix inject now button unable to send empty props
|
|
||||||
- Inject: Inject now button success notification should use label with updated props
|
|
||||||
|
|
||||||
#### 2.0.3: Maintenance Release
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- HTML: Fix HTML parsing when body is included in the select tag Fixes #3079
|
|
||||||
- HTTP Request: Preserve case of user-provided http headers in request node Fixes #3081
|
|
||||||
- HTTP Request: Set decompress to false for HTTP Request to keep 1.x compatibility Fixes #3083
|
|
||||||
- HTTP Request: Add unit tests for HTTP Request encodeURI and error response
|
|
||||||
- HTTP Request: Do not throw HTTP errors in request node Fixes #3082
|
|
||||||
- HTTP Request: Ensure uri is properly encoded before passing to got module Fixes #3080
|
|
||||||
|
|
||||||
#### 2.0.2: Maintenance Release
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Use file:// url with dynamic import
|
|
||||||
- Detect if agent-base has patched https.request and undo it Fixes #3072
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Fix tab fade css because Safari Fixes #3073
|
|
||||||
- Fix error closing library dialog with monaco
|
|
||||||
- Handle other error types in Manage Palette view
|
|
||||||
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- HTTP Request node - ignore invalid cookies rather than fail request Fixes #3075
|
|
||||||
- Fix msg.reset handling in Delay node Fixes #3074
|
|
||||||
|
|
||||||
#### 2.0.1: Maintenance Release
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Function: Ensure default module export is exposed in Function node
|
|
||||||
|
|
||||||
#### 2.0.0: Milestone Release
|
|
||||||
|
|
||||||
**Migration from 1.x**
|
|
||||||
|
|
||||||
- Node-RED now requires Node.js 12.x or later.
|
|
||||||
|
|
||||||
- The following nodes have had significant dependency updates. Unless stated,
|
|
||||||
they should be fully backward compatible.
|
|
||||||
|
|
||||||
- RBE: Relabelled as 'filter' to make it more discoverable and made part of
|
|
||||||
the core palette, rather than as a separate module.
|
|
||||||
- Tail: This node has been removed from the default palette. You can reinstall it
|
|
||||||
from node-red-node-tail
|
|
||||||
- HTTP Request: Reimplemented with a different underlying module. We have
|
|
||||||
tried to maintain 100% functional compatibility, but it is possible
|
|
||||||
some edge cases remain.
|
|
||||||
- JSON: The schema validation option no longer supports JSON-Schema draft-04
|
|
||||||
- HTML: Its underlying module has had a major version update. Should be fully
|
|
||||||
backward compatible.
|
|
||||||
|
|
||||||
- `functionExternalModules` is now enabled by default for new installs.
|
|
||||||
If you have an existing settings file that contains this setting, you will
|
|
||||||
need to set it to `true` yourself.
|
|
||||||
|
|
||||||
The external modules will now get installed in your Node-RED user directory,
|
|
||||||
(`~/.node-red`) rather than in a subdirectory. This means all dependencies will
|
|
||||||
be listed in your top-level `package.json`. If you have existing external modules,
|
|
||||||
they will get reinstalled to the new location when you first run Node-RED 2.0.
|
|
||||||
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Fix missing dependencies (#3052, #2057) @kazuhitoyokoi
|
|
||||||
- Ensure node.types is defined if node html file missing
|
|
||||||
- Fix reporting of type_already_registered error
|
|
||||||
- Move install location of external modules (#3064) @knolleary
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Update translations (#3063) @kazuhitoyokoi
|
|
||||||
- Add a slight fade to tab labels that overflow
|
|
||||||
- Show config node details when selected in outliner
|
|
||||||
- Fix layout of info outliner for subflow entries
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- Delay: let `msg.flush` specify how many messages to flush from node (#3059) @dceejay
|
|
||||||
- Function: external modules is now enabled by default (#3065) @knolleary
|
|
||||||
- Function: external modules now supports both ES6 and CJS modules (#3065) @knolleary
|
|
||||||
- WebSocket: add option for client node to send automatic pings (#3056) @knolleary
|
|
||||||
|
|
||||||
|
|
||||||
##### 2.0.0-beta.2: Beta Release
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- Add `node-red admin init` (via `node-red-admin@2.1.0`)
|
|
||||||
- Move to GH Actions rather than Travis for build (#3042) @knolleary
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- Include hasUser=false config nodes when exporting whole flow (#3048)
|
|
||||||
- Emit nodes:change for any updated config node when node deleted/added
|
|
||||||
- Fix padding of compact notification Closes #3045
|
|
||||||
- Ensure any html in changelog is escaped before displaying
|
|
||||||
- Add support for Map/Set property types on Debug (#3040) @knolleary
|
|
||||||
- Add 'theme' to default settings file
|
|
||||||
- Add RED.view.annotations api (#3032) @knolleary
|
|
||||||
- Update monaco editor to V0.25.2 (#3031) @Steve-Mcl
|
|
||||||
- Lower tray zIndex when overlay tray being opened Fixes #3019
|
|
||||||
- Reduce z-Index of Function expand buttons to prevent overlap Part of #3019
|
|
||||||
- Ensure RED.clipboard.import displays the right library Fixes #3021
|
|
||||||
- Batch messages sent over comms to prevent flooding (#3025) @knolleary
|
|
||||||
- Allow RED.popover.panel to specify a closeButton to ignore click events on
|
|
||||||
- Use browser default language for initial page load
|
|
||||||
- Add css var for node font color
|
|
||||||
- Fix label padding of toggleButton
|
|
||||||
- Give sidebar open tab a bit more room for its label
|
|
||||||
- Various Monaco updates (#3015) @Steve-Mcl
|
|
||||||
- Log readOnly on startup (#3024) @sammachin
|
|
||||||
- Translation updates (#3020 #3022) @HiroyasuNishiyama @kazuhitoyokoi
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- HTTP Request: Fix proxy handling (#3044) @hardillb
|
|
||||||
- HTTP Request: Handle basic auth with @ in username (#3017) @hardillb
|
|
||||||
- Add Japanese translation for file-in node (#3037 #3039) @kazuhitoyokoi
|
|
||||||
- File In: Add option for file-in node to include all properties (default off) (#3035) @dceejay
|
|
||||||
- Exec: add windowsHide option to hide windows under Windows (#3026) @natcl
|
|
||||||
- Support loading external module sub path Fixes #3023
|
|
||||||
|
|
||||||
##### 2.0.0-beta.1: Beta Release
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Runtime
|
|
||||||
|
|
||||||
- [MAJOR] Set minimum node version to 12.
|
|
||||||
- [MAJOR] Fix flowfile name to flows.json in settings (#2951) @dceejay
|
|
||||||
- [MAJOR] Update to latest i18n in editor and runtime (#2940) @knolleary
|
|
||||||
- [MAJOR] Deprecate usage of httpRoot (#2953) @knolleary
|
|
||||||
- Add pre/postInstall hooks to npm install handling (#2936) @knolleary
|
|
||||||
- Add engine-strict flag to npm install args (#2965) @nileio
|
|
||||||
- Restructure default settings.js to be more organised (#3012) @knolleary
|
|
||||||
- Ensure httpServerOptions gets applied to ALL the express apps
|
|
||||||
- Allow RED.settings.set to replace string property with object property
|
|
||||||
- Update debug tests to handle compact comms format
|
|
||||||
- Updates to encode/decode message when passed over debug comms link
|
|
||||||
- Remove all input event listeners on a node once it is closed
|
|
||||||
- Move hooks to util package
|
|
||||||
- Rework hooks structure to be a linkedlist
|
|
||||||
- Update dependencies (#2922) @knolleary
|
|
||||||
|
|
||||||
Editor
|
|
||||||
|
|
||||||
- [MAJOR] Change node id generation to give fixed length values without '.' (#2987) @knolleary
|
|
||||||
- [MAJOR] Add Monaco code editor (#2971) @Steve-Mcl
|
|
||||||
- Update to latest Monaco (#3007) @Steve-Mcl
|
|
||||||
- Update Node-RED Function typings in Monaco (#3008) @Steve-Mcl
|
|
||||||
- Add css named variables for certain key colours (#2994) @knolleary
|
|
||||||
- Improve contrast of export dialog JSON font color
|
|
||||||
- Switch editableList buttons from <a> to <button> elements
|
|
||||||
- Add option to RED.nodes.createCompleteNodeSet to include node dimensions
|
|
||||||
- Fix css of node help table of contents elements
|
|
||||||
- Improve red-ui-node-icon css and add red-ui-node-icon-small modifier class
|
|
||||||
- Add RED.hooks to editor
|
|
||||||
- Add viewAddPort viewRemovePort viewAddNode viewRemoveNode hooks to view
|
|
||||||
- Use paletteLabel if set in help sidebar
|
|
||||||
- Add missing args from JSONata $now signature
|
|
||||||
|
|
||||||
Nodes
|
|
||||||
|
|
||||||
- [MAJOR] Relabel RBE node as 'filter' and move into core. Also remove tail (#2944) @dceejay
|
|
||||||
- [MAJOR] HTTP Request: migrate to 'got' module (#2952) @knolleary
|
|
||||||
- [MAJOR] Move Inject node to CronosJS module (#2959) @knolleary
|
|
||||||
- [MAJOR] JSON: Update ajv to 8.2.0 - drop support for JSON-Schema draft-04 (#2969) @knolleary
|
|
||||||
- [MAJOR] HTML node: cheerio update to 1.x (#3011) @knolleary
|
|
||||||
- Join: change default manual mode to object (#2931) @knolleary
|
|
||||||
- File node: Add fileWorkingDirectory (#2932) @knolleary
|
|
||||||
- Delay node enhancements (#2294) @kazuhitoyokoi (#2949) @dceejay
|
|
||||||
- Add Japanese translations for delay node enhancements (#2958) @kazuhitoyokoi
|
|
||||||
- Inject node: reorder TypedInput options (#2961) @dceejay
|
|
||||||
- HTTP Request: update to work with proxies (#2983) @hardillb (#3009) @hardillb
|
|
||||||
- HTTP Request: fix msg.responseUrl (#2986) @hardillb
|
|
||||||
- TLS: Add ALPN support to TLS node (#2988) @hardillb
|
|
||||||
- Inject: add "Inject now" button to edit dialog (#2990) @Steve-Mcl
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Older Releases
|
#### Older Releases
|
||||||
|
|
||||||
Change logs for older releases are available on GitHub: https://github.com/node-red/node-red/releases
|
Change logs for older releases are available on GitHub: https://github.com/node-red/node-red/releases
|
||||||
|
@ -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/settings.js",
|
||||||
"packages/node_modules/@node-red/editor-client/src/js/user.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/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/bidi.js",
|
||||||
"packages/node_modules/@node-red/editor-client/src/js/text/format.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",
|
"packages/node_modules/@node-red/editor-client/src/js/ui/state.js",
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
http://nodered.org
|
http://nodered.org
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/node-red/node-red.svg?branch=master)](https://travis-ci.org/node-red/node-red)
|
[![Build Status](https://github.com/node-red/node-red/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/node-red/node-red/actions?query=branch%3Amaster)
|
||||||
[![Coverage Status](https://coveralls.io/repos/node-red/node-red/badge.svg?branch=master)](https://coveralls.io/r/node-red/node-red?branch=master)
|
[![Coverage Status](https://coveralls.io/repos/node-red/node-red/badge.svg?branch=master)](https://coveralls.io/r/node-red/node-red?branch=master)
|
||||||
|
|
||||||
Low-code programming for event-driven applications.
|
Low-code programming for event-driven applications.
|
||||||
|
28
package.json
28
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red",
|
"name": "node-red",
|
||||||
"version": "3.0.0-beta.2",
|
"version": "3.0.2",
|
||||||
"description": "Low-code programming for event-driven applications",
|
"description": "Low-code programming for event-driven applications",
|
||||||
"homepage": "http://nodered.org",
|
"homepage": "http://nodered.org",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
@ -40,16 +40,16 @@
|
|||||||
"cookie-parser": "1.4.6",
|
"cookie-parser": "1.4.6",
|
||||||
"cors": "2.8.5",
|
"cors": "2.8.5",
|
||||||
"cronosjs": "1.7.1",
|
"cronosjs": "1.7.1",
|
||||||
"denque": "2.0.1",
|
"denque": "2.1.0",
|
||||||
"express": "4.18.1",
|
"express": "4.18.1",
|
||||||
"express-session": "1.17.3",
|
"express-session": "1.17.3",
|
||||||
"form-data": "4.0.0",
|
"form-data": "4.0.0",
|
||||||
"fs-extra": "10.1.0",
|
"fs-extra": "10.1.0",
|
||||||
"got": "11.8.3",
|
"got": "11.8.5",
|
||||||
"hash-sum": "2.0.0",
|
"hash-sum": "2.0.0",
|
||||||
"hpagent": "1.0.0",
|
"hpagent": "1.0.0",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"i18next": "21.8.10",
|
"i18next": "21.8.16",
|
||||||
"iconv-lite": "0.6.3",
|
"iconv-lite": "0.6.3",
|
||||||
"is-utf8": "0.2.1",
|
"is-utf8": "0.2.1",
|
||||||
"js-yaml": "4.1.0",
|
"js-yaml": "4.1.0",
|
||||||
@ -59,7 +59,7 @@
|
|||||||
"media-typer": "1.1.0",
|
"media-typer": "1.1.0",
|
||||||
"memorystore": "1.6.7",
|
"memorystore": "1.6.7",
|
||||||
"mime": "3.0.0",
|
"mime": "3.0.0",
|
||||||
"moment": "2.29.3",
|
"moment": "2.29.4",
|
||||||
"moment-timezone": "0.5.34",
|
"moment-timezone": "0.5.34",
|
||||||
"mqtt": "4.3.7",
|
"mqtt": "4.3.7",
|
||||||
"multer": "1.4.5-lts.1",
|
"multer": "1.4.5-lts.1",
|
||||||
@ -69,14 +69,14 @@
|
|||||||
"nopt": "5.0.0",
|
"nopt": "5.0.0",
|
||||||
"oauth2orize": "1.11.1",
|
"oauth2orize": "1.11.1",
|
||||||
"on-headers": "1.0.2",
|
"on-headers": "1.0.2",
|
||||||
"passport": "0.5.2",
|
"passport": "0.6.0",
|
||||||
"passport-http-bearer": "1.0.1",
|
"passport-http-bearer": "1.0.1",
|
||||||
"passport-oauth2-client-password": "0.1.2",
|
"passport-oauth2-client-password": "0.1.2",
|
||||||
"raw-body": "2.5.1",
|
"raw-body": "2.5.1",
|
||||||
"semver": "7.3.7",
|
"semver": "7.3.7",
|
||||||
"tar": "6.1.11",
|
"tar": "6.1.11",
|
||||||
"tough-cookie": "4.0.0",
|
"tough-cookie": "4.0.0",
|
||||||
"uglify-js": "3.16.0",
|
"uglify-js": "3.16.3",
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
"ws": "7.5.6",
|
"ws": "7.5.6",
|
||||||
"xml2js": "0.4.23"
|
"xml2js": "0.4.23"
|
||||||
@ -85,7 +85,7 @@
|
|||||||
"bcrypt": "5.0.1"
|
"bcrypt": "5.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"dompurify": "2.3.8",
|
"dompurify": "2.3.10",
|
||||||
"grunt": "1.5.3",
|
"grunt": "1.5.3",
|
||||||
"grunt-chmod": "~1.1.1",
|
"grunt-chmod": "~1.1.1",
|
||||||
"grunt-cli": "~1.4.3",
|
"grunt-cli": "~1.4.3",
|
||||||
@ -95,7 +95,7 @@
|
|||||||
"grunt-contrib-concat": "2.1.0",
|
"grunt-contrib-concat": "2.1.0",
|
||||||
"grunt-contrib-copy": "1.0.0",
|
"grunt-contrib-copy": "1.0.0",
|
||||||
"grunt-contrib-jshint": "3.2.0",
|
"grunt-contrib-jshint": "3.2.0",
|
||||||
"grunt-contrib-uglify": "5.2.1",
|
"grunt-contrib-uglify": "5.2.2",
|
||||||
"grunt-contrib-watch": "1.1.0",
|
"grunt-contrib-watch": "1.1.0",
|
||||||
"grunt-jsdoc": "2.4.1",
|
"grunt-jsdoc": "2.4.1",
|
||||||
"grunt-jsdoc-to-markdown": "6.0.0",
|
"grunt-jsdoc-to-markdown": "6.0.0",
|
||||||
@ -108,17 +108,17 @@
|
|||||||
"i18next-http-backend": "1.4.1",
|
"i18next-http-backend": "1.4.1",
|
||||||
"jquery-i18next": "1.2.1",
|
"jquery-i18next": "1.2.1",
|
||||||
"jsdoc-nr-template": "github:node-red/jsdoc-nr-template",
|
"jsdoc-nr-template": "github:node-red/jsdoc-nr-template",
|
||||||
"marked": "4.0.17",
|
"marked": "4.0.18",
|
||||||
"minami": "1.2.3",
|
"minami": "1.2.3",
|
||||||
"mocha": "9.2.2",
|
"mocha": "9.2.2",
|
||||||
"node-red-node-test-helper": "^0.2.7",
|
"node-red-node-test-helper": "^0.3.0",
|
||||||
"nodemon": "2.0.16",
|
"nodemon": "2.0.19",
|
||||||
"proxy": "^1.0.2",
|
"proxy": "^1.0.2",
|
||||||
"sass": "1.52.3",
|
"sass": "1.54.2",
|
||||||
"should": "13.2.3",
|
"should": "13.2.3",
|
||||||
"sinon": "11.1.2",
|
"sinon": "11.1.2",
|
||||||
"stoppable": "^1.1.0",
|
"stoppable": "^1.1.0",
|
||||||
"supertest": "6.2.3"
|
"supertest": "6.2.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
|
@ -68,5 +68,28 @@ module.exports = {
|
|||||||
}).catch(function(err) {
|
}).catch(function(err) {
|
||||||
apiUtils.rejectHandler(req,res,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);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,12 @@ module.exports = {
|
|||||||
adminApp.get("/flows",needsPermission("flows.read"),flows.get,apiUtil.errorHandler);
|
adminApp.get("/flows",needsPermission("flows.read"),flows.get,apiUtil.errorHandler);
|
||||||
adminApp.post("/flows",needsPermission("flows.write"),flows.post,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
|
// Flow
|
||||||
adminApp.get("/flow/:id",needsPermission("flows.read"),flow.get,apiUtil.errorHandler);
|
adminApp.get("/flow/:id",needsPermission("flows.read"),flow.get,apiUtil.errorHandler);
|
||||||
adminApp.post("/flow",needsPermission("flows.write"),flow.post,apiUtil.errorHandler);
|
adminApp.post("/flow",needsPermission("flows.write"),flow.post,apiUtil.errorHandler);
|
||||||
|
@ -101,7 +101,10 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
themeSettings = null;
|
themeSettings = null;
|
||||||
theme = settings.editorTheme || {};
|
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;
|
activeTheme = theme.theme;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -263,9 +266,69 @@ module.exports = {
|
|||||||
theme.page = theme.page || {_:{}}
|
theme.page = theme.page || {_:{}}
|
||||||
theme.page._.scripts = scriptFiles.concat(theme.page._.scripts || [])
|
theme.page._.scripts = scriptFiles.concat(theme.page._.scripts || [])
|
||||||
}
|
}
|
||||||
if(theme.codeEditor) {
|
// check and load page settings from theme
|
||||||
theme.codeEditor.options = Object.assign({}, themePlugin.monacoOptions, theme.codeEditor.options);
|
if (themePlugin.page) {
|
||||||
|
if (themePlugin.page.favicon && !theme.page.favicon) {
|
||||||
|
const result = serveFilesFromTheme(
|
||||||
|
[themePlugin.page.favicon],
|
||||||
|
themeApp,
|
||||||
|
"/",
|
||||||
|
themePlugin.path
|
||||||
|
)
|
||||||
|
if(result && result.length > 0) {
|
||||||
|
// update themeContext page favicon
|
||||||
|
themeContext.page.favicon = result[0]
|
||||||
|
theme.page = theme.page || {_:{}}
|
||||||
|
theme.page._.favicon = result[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (themePlugin.page.tabicon && themePlugin.page.tabicon.icon && !theme.page.tabicon) {
|
||||||
|
const result = serveFilesFromTheme(
|
||||||
|
[themePlugin.page.tabicon.icon],
|
||||||
|
themeApp,
|
||||||
|
"/page/",
|
||||||
|
themePlugin.path
|
||||||
|
)
|
||||||
|
if(result && result.length > 0) {
|
||||||
|
// update themeContext page tabicon
|
||||||
|
themeContext.page.tabicon.icon = result[0]
|
||||||
|
themeContext.page.tabicon.colour = themeContext.page.tabicon.colour || themeContext.page.tabicon.colour
|
||||||
|
theme.page = theme.page || {_:{}}
|
||||||
|
theme.page._.tabicon = theme.page._.tabicon || {}
|
||||||
|
theme.page._.tabicon.icon = themeContext.page.tabicon.icon
|
||||||
|
theme.page._.tabicon.colour = themeContext.page.tabicon.colour
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if the plugin has a title AND the users settings.js does NOT
|
||||||
|
if (themePlugin.page.title && !theme.page.title) {
|
||||||
|
themeContext.page.title = themePlugin.page.title || themeContext.page.title
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// check and load header settings from theme
|
||||||
|
if (themePlugin.header) {
|
||||||
|
if (themePlugin.header.image && !theme.header.image) {
|
||||||
|
const result = serveFilesFromTheme(
|
||||||
|
[themePlugin.header.image],
|
||||||
|
themeApp,
|
||||||
|
"/header/",
|
||||||
|
themePlugin.path
|
||||||
|
)
|
||||||
|
if(result && result.length > 0) {
|
||||||
|
// update themeContext header image
|
||||||
|
themeContext.header.image = result[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if the plugin has a title AND the users settings.js does NOT have a title
|
||||||
|
if (themePlugin.header.title && !theme.header.title) {
|
||||||
|
themeContext.header.title = themePlugin.header.title || themeContext.header.title
|
||||||
|
}
|
||||||
|
// if the plugin has a header url AND the users settings.js does NOT
|
||||||
|
if (themePlugin.header.url && !theme.header.url) {
|
||||||
|
themeContext.header.url = themePlugin.header.url || themeContext.header.url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
theme.codeEditor = theme.codeEditor || {}
|
||||||
|
theme.codeEditor.options = Object.assign({}, themePlugin.monacoOptions, theme.codeEditor.options);
|
||||||
}
|
}
|
||||||
activeThemeInitialised = true;
|
activeThemeInitialised = true;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/editor-api",
|
"name": "@node-red/editor-api",
|
||||||
"version": "3.0.0-beta.2",
|
"version": "3.0.2",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -16,8 +16,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@node-red/util": "3.0.0-beta.2",
|
"@node-red/util": "3.0.2",
|
||||||
"@node-red/editor-client": "3.0.0-beta.2",
|
"@node-red/editor-client": "3.0.2",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"body-parser": "1.20.0",
|
"body-parser": "1.20.0",
|
||||||
"clone": "2.1.2",
|
"clone": "2.1.2",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"oauth2orize": "1.11.1",
|
"oauth2orize": "1.11.1",
|
||||||
"passport-http-bearer": "1.0.1",
|
"passport-http-bearer": "1.0.1",
|
||||||
"passport-oauth2-client-password": "0.1.2",
|
"passport-oauth2-client-password": "0.1.2",
|
||||||
"passport": "0.5.2",
|
"passport": "0.6.0",
|
||||||
"ws": "7.5.6"
|
"ws": "7.5.6"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
|
254
packages/node_modules/@node-red/editor-client/locales/de/editor.json
vendored
Executable file → Normal file
254
packages/node_modules/@node-red/editor-client/locales/de/editor.json
vendored
Executable file → Normal file
@ -44,7 +44,8 @@
|
|||||||
"loadNodes": "Lade Nodes __count__",
|
"loadNodes": "Lade Nodes __count__",
|
||||||
"loadFlows": "Lade Flows",
|
"loadFlows": "Lade Flows",
|
||||||
"importFlows": "Füge Flows dem Arbeitsbereich hinzu",
|
"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": {
|
"workspace": {
|
||||||
"defaultName": "Flow __number__",
|
"defaultName": "Flow __number__",
|
||||||
@ -53,7 +54,16 @@
|
|||||||
"delete": "Sind Sie sicher, dass '__label__' gelöscht werden soll?",
|
"delete": "Sind Sie sicher, dass '__label__' gelöscht werden soll?",
|
||||||
"dropFlowHere": "Hier kann der Flow eingefügt werden",
|
"dropFlowHere": "Hier kann der Flow eingefügt werden",
|
||||||
"addFlow": "Flow hinzufügen",
|
"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",
|
"listFlows": "Flows auflisten",
|
||||||
|
"listSubflows": "Subflows auflisten",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"enabled": "Aktiviert",
|
"enabled": "Aktiviert",
|
||||||
"disabled": "Deaktiviert",
|
"disabled": "Deaktiviert",
|
||||||
@ -65,6 +75,8 @@
|
|||||||
"view": {
|
"view": {
|
||||||
"view": "Ansicht",
|
"view": "Ansicht",
|
||||||
"grid": "Raster",
|
"grid": "Raster",
|
||||||
|
"storeZoom": "Zoomstufe beim Laden wiederherstellen",
|
||||||
|
"storePosition": "Scrollposition beim Laden wiederherstellen",
|
||||||
"showGrid": "Raster anzeigen",
|
"showGrid": "Raster anzeigen",
|
||||||
"snapGrid": "Am Raster ausrichten",
|
"snapGrid": "Am Raster ausrichten",
|
||||||
"gridSize": "Rastergröße",
|
"gridSize": "Rastergröße",
|
||||||
@ -82,6 +94,7 @@
|
|||||||
"palette": {
|
"palette": {
|
||||||
"show": "Palette anzeigen"
|
"show": "Palette anzeigen"
|
||||||
},
|
},
|
||||||
|
"edit": "Bearbeiten",
|
||||||
"settings": "Einstellungen",
|
"settings": "Einstellungen",
|
||||||
"userSettings": "Einstellungen",
|
"userSettings": "Einstellungen",
|
||||||
"nodes": "Nodes",
|
"nodes": "Nodes",
|
||||||
@ -92,7 +105,7 @@
|
|||||||
"search": "Flows durchsuchen",
|
"search": "Flows durchsuchen",
|
||||||
"searchInput": "Flows durchsuchen",
|
"searchInput": "Flows durchsuchen",
|
||||||
"subflows": "Subflow",
|
"subflows": "Subflow",
|
||||||
"createSubflow": "Erstellen",
|
"createSubflow": "Hinzufügen",
|
||||||
"selectionToSubflow": "Auswahl in Subflow umwandeln",
|
"selectionToSubflow": "Auswahl in Subflow umwandeln",
|
||||||
"flows": "Flow",
|
"flows": "Flow",
|
||||||
"add": "Hinzufügen",
|
"add": "Hinzufügen",
|
||||||
@ -104,24 +117,43 @@
|
|||||||
"editPalette": "Palette verwalten",
|
"editPalette": "Palette verwalten",
|
||||||
"other": "Sonstige",
|
"other": "Sonstige",
|
||||||
"showTips": "Tipps anzeigen",
|
"showTips": "Tipps anzeigen",
|
||||||
|
"showWelcomeTours": "Geführte Touren für neue Versionen anzeigen",
|
||||||
"help": "Node-RED-Website",
|
"help": "Node-RED-Website",
|
||||||
"projects": "Projekt",
|
"projects": "Projekte",
|
||||||
"projects-new": "Neu",
|
"projects-new": "Neu",
|
||||||
"projects-open": "Öffnen",
|
"projects-open": "Öffnen",
|
||||||
"projects-settings": "Einstellungen",
|
"projects-settings": "Einstellungen",
|
||||||
"showNodeLabelDefault": "Zeige Namen von neu hinzugefügten Nodes",
|
"showNodeLabelDefault": "Zeige Namen von neu hinzugefügten Nodes",
|
||||||
"groups": "Gruppe",
|
"codeEditor": "Code-Editor",
|
||||||
|
"groups": "Gruppen",
|
||||||
"groupSelection": "Auswahl gruppieren",
|
"groupSelection": "Auswahl gruppieren",
|
||||||
"ungroupSelection": "Gruppe auflösen",
|
"ungroupSelection": "Gruppe auflösen",
|
||||||
"groupMergeSelection": "Auswahl der Gruppe hinzufügen",
|
"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": {
|
"actions": {
|
||||||
"toggle-navigator": "Navigator ein-/ausblenden",
|
"toggle-navigator": "Navigator ein-/ausblenden",
|
||||||
"zoom-out": "Verkleinern",
|
"zoom-out": "Verkleinern",
|
||||||
"zoom-reset": "Vergrößerung rücksetzen",
|
"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",
|
||||||
|
"search-counter": "\"__term__\" __result__ von __count__"
|
||||||
},
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"loggedInAs": "Angemeldet als __name__",
|
"loggedInAs": "Angemeldet als __name__",
|
||||||
@ -131,48 +163,52 @@
|
|||||||
"loginFailed": "Anmeldung fehlgeschlagen",
|
"loginFailed": "Anmeldung fehlgeschlagen",
|
||||||
"notAuthorized": "Nicht berechtigt",
|
"notAuthorized": "Nicht berechtigt",
|
||||||
"errors": {
|
"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",
|
"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"
|
"notAuthorized": "Sie müssen angemeldet sein, um diese Aktion ausführen zu können"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification": {
|
"notification": {
|
||||||
"warning": "<strong>Warnung:</strong> __message__",
|
"state": {
|
||||||
|
"flowsStopped": "Flows gestoppt",
|
||||||
|
"flowsStarted": "Flows gestartet"
|
||||||
|
},
|
||||||
|
"warning": "<strong>Warnung</strong>: __message__",
|
||||||
"warnings": {
|
"warnings": {
|
||||||
"undeployedChanges": "Node hat nicht übernommene (deploy) Änderungen",
|
"undeployedChanges": "Node hat nicht übernommene (deploy) Änderungen",
|
||||||
"nodeActionDisabled": "Node-Aktionen deaktiviert",
|
"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-types": "<p>Flows gestoppt aufgrund fehlender Node-Typen</p>",
|
||||||
"missing-modules": "<p>Flows angehalten aufgrund fehlender Module</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>",
|
"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>",
|
||||||
"restartRequired": "Node-RED muss neu gestartet werden, damit die Module nach Upgrade aktiviert werden",
|
"restartRequired": "Node-RED muss neu gestartet werden, damit die Module nach Upgrade aktiviert werden",
|
||||||
"credentials_load_failed": "<p>Flows gestoppt, da die Berechtigungen nicht entschlüsselt werden konnten.</p><p>Die Datei mit dem Flow-Berechtigungen ist verschlüsselt, aber der Schlüssel des Projekts fehlt oder ist ungültig.</p>",
|
"credentials_load_failed": "<p>Flows gestoppt, da die Credentials nicht entschlüsselt werden konnten.</p><p>Die Datei mit den Flow-Credentials ist verschlüsselt, aber der Schlüssel des Projekts fehlt oder ist ungültig.</p>",
|
||||||
"credentials_load_failed_reset": "<p>Die Berechtigungen konnten nicht entschlüsselt werden.</p><p>Die Datei mit den Flow-Berechtigungen ist verschlüsselt, aber der Schlüssel des Projekts fehlt oder ist ungültig.</p><p>Die Datei mit den Flow-Berechtigungen wird bei der nächsten Übernahme (deploy) zurückgesetzt. Alle vorhandenen Flow-Berechtigungen werden gelöscht.</p>",
|
"credentials_load_failed_reset": "<p>Die Credentials konnten nicht entschlüsselt werden.</p><p>Die Datei mit den Flow-Credentials ist verschlüsselt, aber der Schlüssel des Projekts fehlt oder ist ungültig.</p><p>Die Datei mit den Flow-Credentials wird bei der nächsten Übernahme (deploy) zurückgesetzt. Alle vorhandenen Flow-Credentials werden gelöscht.</p>",
|
||||||
"missing_flow_file": "<p>Die Flow-Datei des Projekts wurde nicht gefunden.</p><p>Das Projekt ist nicht mit einer Flow-Datei konfiguriert.</p>",
|
"missing_flow_file": "<p>Die Flow-Datei des Projekts wurde nicht gefunden.</p><p>Das Projekt ist nicht mit einer Flow-Datei konfiguriert.</p>",
|
||||||
"missing_package_file": "<p>Die Paket-Datei des Projekts wurde nicht gefunden.</p><p>In dem Projekt fehlt die 'package.json'-Datei.</p>",
|
"missing_package_file": "<p>Die Paket-Datei des Projekts wurde nicht gefunden.</p><p>In dem Projekt fehlt die 'package.json'-Datei.</p>",
|
||||||
"project_empty": "<p>Das Projekt ist leer.</p><p>Soll ein Standardsatz an Projektdateien erstellen werden?<br/>Andernfalls müssen die Dateien manuell außerhalb des Editors dem Projekt hinzugefügt werden.</p>",
|
"project_empty": "<p>Das Projekt ist leer.</p><p>Soll ein Standardsatz an Projektdateien erstellen werden?<br/>Andernfalls müssen die Dateien manuell außerhalb des Editors dem Projekt hinzugefügt werden.</p>",
|
||||||
"project_not_found": "<p>Das Projekt '__project__' wurde nicht gefunden.</p>",
|
"project_not_found": "<p>Das Projekt '__project__' wurde nicht gefunden.</p>",
|
||||||
"git_merge_conflict": "<p>Der automatische Merge der Änderungen ist fehlgeschlagen.</p><p>Die Merge-Konflikte müssen behoben und die Ergebnisse ins Repository übertragen werden (commit).</p>"
|
"git_merge_conflict": "<p>Der automatische Merge der Änderungen ist fehlgeschlagen.</p><p>Die Merge-Konflikte müssen behoben und die Ergebnisse ins Repository übertragen werden (commit).</p>"
|
||||||
},
|
},
|
||||||
"error": "<strong>Fehler:</strong> __message__",
|
"error": "<strong>Fehler</strong>: __message__",
|
||||||
"errors": {
|
"errors": {
|
||||||
"lostConnection": "Verbindung zum Server verloren. Verbindung wird erneut hergestellt ...",
|
"lostConnection": "Verbindung zum Server verloren. Verbindung wird erneut hergestellt ...",
|
||||||
"lostConnectionReconnect": "Verbindung zum Server verloren. Verbindung wird in __time__ s versucht wieder herzustellen.",
|
"lostConnectionReconnect": "Verbindung zum Server verloren. Wiederherstellung der Verbindung in __time__s.",
|
||||||
"lostConnectionTry": "Jetzt testen",
|
"lostConnectionTry": "Jetzt versuchen",
|
||||||
"cannotAddSubflowToItself": "Subflow kann nicht zu sich selbst hinzugefügt werden",
|
"cannotAddSubflowToItself": "Subflow kann nicht zu sich selbst hinzugefügt werden",
|
||||||
"cannotAddCircularReference": "Subflow kann nicht hinzugefügt werden, da ein zirkulärer Bezug erkannt wurde",
|
"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>",
|
"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>"
|
"failedToAppendNode": "<p>Fehler beim Laden von '__module__'.</p><p>__error__</p>"
|
||||||
},
|
},
|
||||||
"project": {
|
"project": {
|
||||||
"change-branch": "Wechsel in den Branch '__project__'",
|
"change-branch": "Wechsel in den lokalen Branch '__project__'",
|
||||||
"merge-abort": "Merge abgebrochen",
|
"merge-abort": "Git-Merge abgebrochen",
|
||||||
"loaded": "Projekt '__project__' geladen",
|
"loaded": "Projekt '__project__' geladen",
|
||||||
"updated": "Projekt '__project__' aktualisiert",
|
"updated": "Projekt '__project__' aktualisiert",
|
||||||
"pull": "Projekt '__project__' erneut geladen",
|
"pull": "Projekt '__project__' erneut geladen",
|
||||||
"revert": "Änderungen im Projekt '__project__' rückgängig gemacht",
|
"revert": "Änderungen im Projekt '__project__' rückgängig gemacht",
|
||||||
"merge-complete": "Merge abgeschlossen",
|
"merge-complete": "Git-Merge abgeschlossen",
|
||||||
"setupCredentials": "Berechtigungen einrichten",
|
"setupCredentials": "Credentials einrichten",
|
||||||
"setupProjectFiles": "Projektdateien einrichten",
|
"setupProjectFiles": "Projektdateien einrichten",
|
||||||
"no": "Nein, Danke",
|
"no": "Nein, Danke",
|
||||||
"createDefault": "Standardprojektdateien erstellen",
|
"createDefault": "Standardprojektdateien erstellen",
|
||||||
@ -180,13 +216,13 @@
|
|||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"manage-project-dep": "Projektabhängigkeiten verwalten",
|
"manage-project-dep": "Projektabhängigkeiten verwalten",
|
||||||
"setup-cred": "Berechtigungen einrichten",
|
"setup-cred": "Credentials einrichten",
|
||||||
"setup-project": "Projektdateien einrichten",
|
"setup-project": "Projektdateien einrichten",
|
||||||
"create-default-package": "Standardpaketdatei erstellen",
|
"create-default-package": "Standardpaketdatei erstellen",
|
||||||
"no-thanks": "Nein, Danke",
|
"no-thanks": "Nein, Danke",
|
||||||
"create-default-project": "Standardprojektdateien erstellen",
|
"create-default-project": "Standardprojektdateien erstellen",
|
||||||
"show-merge-conflicts": "Merge-Konflikte anzeigen",
|
"show-merge-conflicts": "Merge-Konflikte anzeigen",
|
||||||
"unknownNodesButton": "Finden Sie unbekannte nodes"
|
"unknownNodesButton": "Nach unbekannten Nodes suchen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"clipboard": {
|
"clipboard": {
|
||||||
@ -204,17 +240,17 @@
|
|||||||
"subflow_plural": "__count__ Subflows",
|
"subflow_plural": "__count__ Subflows",
|
||||||
"replacedNodes": "__count__ Node ersetzt",
|
"replacedNodes": "__count__ Node ersetzt",
|
||||||
"replacedNodes_plural": "__count__ Nodes 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",
|
"selectFile": "Datei für Import auswählen",
|
||||||
"importNodes": "Import",
|
"importNodes": "Import",
|
||||||
"exportNodes": "Export",
|
"exportNodes": "Export",
|
||||||
"download": "Download",
|
"download": "Download",
|
||||||
"importUnrecognised": "Importierter Typ nicht erkannt:",
|
"importUnrecognised": "Nicht erkannten Typ importiert:",
|
||||||
"importUnrecognised_plural": "Importierte Typen nicht erkannt:",
|
"importUnrecognised_plural": "Nicht erkannte Typen importiert:",
|
||||||
"importDuplicate": "Importiertes doppeltes Node:",
|
"importDuplicate": "Doppelten Node importiert:",
|
||||||
"importDuplicate_plural": "Importierte doppelte Nodes:",
|
"importDuplicate_plural": "Doppelte Nodes importiert:",
|
||||||
"nodesExported": "Nodes in der Zwischenablage abgelegt",
|
"nodesExported": "Nodes in die Zwischenablage exportiert",
|
||||||
"nodesImported": "Eingefügt:",
|
"nodesImported": "Importiert:",
|
||||||
"nodeCopied": "__count__ Node kopiert",
|
"nodeCopied": "__count__ Node kopiert",
|
||||||
"nodeCopied_plural": "__count__ Nodes kopiert",
|
"nodeCopied_plural": "__count__ Nodes kopiert",
|
||||||
"groupCopied": "__count__ Gruppe kopiert",
|
"groupCopied": "__count__ Gruppe kopiert",
|
||||||
@ -230,11 +266,11 @@
|
|||||||
"all": "Alle Flows",
|
"all": "Alle Flows",
|
||||||
"compact": "Kompakt",
|
"compact": "Kompakt",
|
||||||
"formatted": "Formatiert",
|
"formatted": "Formatiert",
|
||||||
"copy": "In Zwischenablage exportieren",
|
"copy": "In Zwischenablage kopieren",
|
||||||
"export": "In Bibliothek exportieren",
|
"export": "In Bibliothek exportieren",
|
||||||
"exportAs": "Exportiere als",
|
"exportAs": "Exportiere als",
|
||||||
"overwrite": "Ersetzen",
|
"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": {
|
||||||
"import": "Importiere in",
|
"import": "Importiere in",
|
||||||
@ -264,15 +300,19 @@
|
|||||||
"modifiedFlowsDesc": "Übernimmt nur Flows, die geänderte Nodes enthalten",
|
"modifiedFlowsDesc": "Übernimmt nur Flows, die geänderte Nodes enthalten",
|
||||||
"modifiedNodes": "Geänderte Nodes",
|
"modifiedNodes": "Geänderte Nodes",
|
||||||
"modifiedNodesDesc": "Übernimmt nur Nodes, die sich geändert haben",
|
"modifiedNodesDesc": "Übernimmt nur Nodes, die sich geändert haben",
|
||||||
|
"startFlows": "Start",
|
||||||
|
"startFlowsDesc": "Flows starten",
|
||||||
|
"stopFlows": "Stop",
|
||||||
|
"stopFlowsDesc": "Flows stoppen",
|
||||||
"restartFlows": "Flows neustarten",
|
"restartFlows": "Flows neustarten",
|
||||||
"restartFlowsDesc": "Startet die aktuell übernommenen Flows (ohne vorheriges Deploy)",
|
"restartFlowsDesc": "Startet die aktuell übernommenen Flows (ohne vorheriges Deploy)",
|
||||||
"successfulDeploy": "Erfolgreich übernommen (deploy)",
|
"successfulDeploy": "Erfolgreich übernommen (deploy)",
|
||||||
"successfulRestart": "Flows erfolgreich neugestartet",
|
"successfulRestart": "Flows erfolgreich neugestartet",
|
||||||
"deployFailed": "Übernahme (deploy) fehlgeschlagen: __message__",
|
"deployFailed": "Übernahme (deploy) fehlgeschlagen: __message__",
|
||||||
"unusedConfigNodes": "Einige Konfigurations-Nodes werden nicht verwendet.",
|
"unusedConfigNodes": "Einige Konfigurations-Nodes werden nicht verwendet.",
|
||||||
"unusedConfigNodesButton":"Finden Sie ungenutzte konfig nodes",
|
"unusedConfigNodesButton": "Suche nach unbenutzten Konfigurations-Nodes",
|
||||||
"unknownNodesButton":"Finden Sie unbekannte nodes",
|
"unknownNodesButton": "Suche nach unbekannten Nodes",
|
||||||
"invalidNodesButton":"Finden Sie ungültige nodes",
|
"invalidNodesButton": "Suche nach ungültigen Nodes",
|
||||||
"errors": {
|
"errors": {
|
||||||
"noResponse": "Keine Antwort vom Server"
|
"noResponse": "Keine Antwort vom Server"
|
||||||
},
|
},
|
||||||
@ -345,7 +385,7 @@
|
|||||||
"confirmDelete": "Sind Sie sicher mit dem Löschen dieses Subflows?",
|
"confirmDelete": "Sind Sie sicher mit dem Löschen dieses Subflows?",
|
||||||
"info": "Beschreibung",
|
"info": "Beschreibung",
|
||||||
"category": "Kategorie",
|
"category": "Kategorie",
|
||||||
"module": "Module",
|
"module": "Modul",
|
||||||
"license": "Lizenz",
|
"license": "Lizenz",
|
||||||
"licenseNone": "Keine",
|
"licenseNone": "Keine",
|
||||||
"licenseOther": "Andere",
|
"licenseOther": "Andere",
|
||||||
@ -355,10 +395,10 @@
|
|||||||
"keys": "Schlüsselwörter",
|
"keys": "Schlüsselwörter",
|
||||||
"keysPlaceholder": "Komma-getrennte Schlüsselwörter",
|
"keysPlaceholder": "Komma-getrennte Schlüsselwörter",
|
||||||
"author": "Author",
|
"author": "Author",
|
||||||
"authorPlaceholder": "Dein Name <email@beispiel.de>",
|
"authorPlaceholder": "Ihr Name <email@example.com>",
|
||||||
"desc": "Beschreibung",
|
"desc": "Beschreibung",
|
||||||
"env": {
|
"env": {
|
||||||
"restore": "Stelle auf Subflow-Standard zurück",
|
"restore": "Subflow-Standard wiederherstellen",
|
||||||
"remove": "Entferne Umgebungsvariable"
|
"remove": "Entferne Umgebungsvariable"
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
@ -367,9 +407,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"group": {
|
"group": {
|
||||||
"editGroup": "Editiere Gruppe: __name__",
|
"editGroup": "Bearbeite Gruppe: __name__",
|
||||||
"errors": {
|
"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"
|
"cannotAddSubflowPorts": "Kann keine Subflow-Anschlüsse zu einer Gruppe hinzufügen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -383,7 +423,7 @@
|
|||||||
"addNewConfig": "Neuen Konfigurations-Node '__type__' hinzufügen",
|
"addNewConfig": "Neuen Konfigurations-Node '__type__' hinzufügen",
|
||||||
"editNode": "Node '__type__' bearbeiten",
|
"editNode": "Node '__type__' bearbeiten",
|
||||||
"editConfig": "Konfigurations-Node '__type__' bearbeiten",
|
"editConfig": "Konfigurations-Node '__type__' bearbeiten",
|
||||||
"addNewType": "Neuen Typ '__type__' hinzufügen",
|
"addNewType": "Neuen Typ '__type__' hinzufügen ...",
|
||||||
"nodeProperties": "Node-Eigenschaften",
|
"nodeProperties": "Node-Eigenschaften",
|
||||||
"label": "Name",
|
"label": "Name",
|
||||||
"color": "Farbe",
|
"color": "Farbe",
|
||||||
@ -403,10 +443,10 @@
|
|||||||
"icon": "Icon",
|
"icon": "Icon",
|
||||||
"inputType": "Eingangstyp",
|
"inputType": "Eingangstyp",
|
||||||
"selectType": "Wähle Typen ...",
|
"selectType": "Wähle Typen ...",
|
||||||
"loadCredentials": "Lade Node-Berechtigungen",
|
"loadCredentials": "Lade Node-Credentials",
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"input": "Eingang",
|
"input": "Eingang",
|
||||||
"select": "Wähle",
|
"select": "Auswahl",
|
||||||
"checkbox": "Checkbox",
|
"checkbox": "Checkbox",
|
||||||
"spinner": "Spinner",
|
"spinner": "Spinner",
|
||||||
"none": "Kein",
|
"none": "Kein",
|
||||||
@ -419,7 +459,7 @@
|
|||||||
"json": "JSON",
|
"json": "JSON",
|
||||||
"bin": "buffer",
|
"bin": "buffer",
|
||||||
"env": "Umgebungsvariable",
|
"env": "Umgebungsvariable",
|
||||||
"cred": "Berechtigung"
|
"cred": "Credentials"
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"input": "Eingang",
|
"input": "Eingang",
|
||||||
@ -439,7 +479,7 @@
|
|||||||
"errors": {
|
"errors": {
|
||||||
"scopeChange": "Wenn Sie den Geltungsbereich (scope) ändern, wird er für Nodes in anderen Flows nicht verfügbar sein",
|
"scopeChange": "Wenn Sie den Geltungsbereich (scope) ändern, wird er für Nodes in anderen Flows nicht verfügbar sein",
|
||||||
"invalidProperties": "Ungültige Eigenschaften:",
|
"invalidProperties": "Ungültige Eigenschaften:",
|
||||||
"credentialLoadFailed": "Laden der Node-Berechtigungen fehlgeschlagen"
|
"credentialLoadFailed": "Laden der Node-Credentials fehlgeschlagen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keyboard": {
|
"keyboard": {
|
||||||
@ -449,23 +489,27 @@
|
|||||||
"shortcut": "Tastenkürzel",
|
"shortcut": "Tastenkürzel",
|
||||||
"scope": "Geltungsbereich",
|
"scope": "Geltungsbereich",
|
||||||
"unassigned": "Nicht zugeordnet",
|
"unassigned": "Nicht zugeordnet",
|
||||||
"global": "global",
|
"global": "Global",
|
||||||
"workspace": "Arbeitsbereich",
|
"workspace": "Arbeitsbereich",
|
||||||
"selectAll": "Alle Nodes auswählen",
|
"selectAll": "Alles auswählen",
|
||||||
|
"selectNone": "Alles abwählen",
|
||||||
"selectAllConnected": "Alle verbundenen Nodes auswählen",
|
"selectAllConnected": "Alle verbundenen Nodes auswählen",
|
||||||
"addRemoveNode": "Node aus Auswahl hinzufügen/entfernen",
|
"addRemoveNode": "Node aus Auswahl hinzufügen/entfernen",
|
||||||
"editSelected": "Ausgewählten Node bearbeiten",
|
"editSelected": "Ausgewählten Node bearbeiten",
|
||||||
"deleteSelected": "Ausgewählte Nodes oder Links löschen",
|
"deleteSelected": "Ausgewählte Nodes oder Links löschen",
|
||||||
"importNode": "Node importieren",
|
"importNode": "Nodes importieren",
|
||||||
"exportNode": "Node exportieren",
|
"exportNode": "Nodes exportieren",
|
||||||
"nudgeNode": "Ausgewählte Nodes verschieben (1px)",
|
"nudgeNode": "Ausgewählte Nodes verschieben (1px)",
|
||||||
"moveNode": "Ausgewählte Nodes verschieben (20px)",
|
"moveNode": "Ausgewählte Nodes verschieben (20px)",
|
||||||
"toggleSidebar": "Seitenleiste ein-/ausblenden",
|
"toggleSidebar": "Seitenleiste ein-/ausblenden",
|
||||||
"togglePalette": "Palette ein-/ausblenden",
|
"togglePalette": "Palette ein-/ausblenden",
|
||||||
"copyNode": "Ausgewählte Nodes kopieren",
|
"copyNode": "Ausgewählte Nodes kopieren",
|
||||||
"cutNode": "Ausgewählte Nodes ausschneiden",
|
"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",
|
"undoChange": "Letzte Änderung rückgängig machen",
|
||||||
|
"redoChange": "Letzte Änderung wiederholen",
|
||||||
"searchBox": "Suchfeld öffnen",
|
"searchBox": "Suchfeld öffnen",
|
||||||
"managePalette": "Palette verwalten",
|
"managePalette": "Palette verwalten",
|
||||||
"actionList": "Aktionsliste"
|
"actionList": "Aktionsliste"
|
||||||
@ -491,7 +535,7 @@
|
|||||||
"palette": {
|
"palette": {
|
||||||
"noInfo": "Keine Informationen verfügbar",
|
"noInfo": "Keine Informationen verfügbar",
|
||||||
"filter": "Nodes filtern",
|
"filter": "Nodes filtern",
|
||||||
"search": "Modules durchsuchen",
|
"search": "Module durchsuchen",
|
||||||
"addCategory": "Neu hinzufügen ...",
|
"addCategory": "Neu hinzufügen ...",
|
||||||
"label": {
|
"label": {
|
||||||
"subflows": "Subflows",
|
"subflows": "Subflows",
|
||||||
@ -520,7 +564,8 @@
|
|||||||
"nodeEnabled_plural": "Nodes aktiviert:",
|
"nodeEnabled_plural": "Nodes aktiviert:",
|
||||||
"nodeDisabled": "Node deaktiviert:",
|
"nodeDisabled": "Node deaktiviert:",
|
||||||
"nodeDisabled_plural": "Nodes 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": {
|
"editor": {
|
||||||
"title": "Palette verwalten",
|
"title": "Palette verwalten",
|
||||||
@ -636,7 +681,7 @@
|
|||||||
"outline": "Entwurf",
|
"outline": "Entwurf",
|
||||||
"empty": "leer",
|
"empty": "leer",
|
||||||
"globalConfig": "Globale Konfigurations-Nodes",
|
"globalConfig": "Globale Konfigurations-Nodes",
|
||||||
"triggerAction": "Auslösen",
|
"triggerAction": "Aktion auslösen",
|
||||||
"find": "Suche im Arbeitsbereich"
|
"find": "Suche im Arbeitsbereich"
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
@ -647,7 +692,8 @@
|
|||||||
"showHelp": "Hilfe zeigen",
|
"showHelp": "Hilfe zeigen",
|
||||||
"showInOutline": "Zeige im Editor",
|
"showInOutline": "Zeige im Editor",
|
||||||
"showTopics": "Zeige Hilfethemen",
|
"showTopics": "Zeige Hilfethemen",
|
||||||
"noHelp": "Kein Hilfethema ausgewählt"
|
"noHelp": "Kein Hilfethema ausgewählt",
|
||||||
|
"changeLog": "Änderungsprotokoll"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"name": "Konfigurations-Node",
|
"name": "Konfigurations-Node",
|
||||||
@ -701,7 +747,7 @@
|
|||||||
"addToProject": "Zu Projekt hinzufügen",
|
"addToProject": "Zu Projekt hinzufügen",
|
||||||
"files": "Dateien",
|
"files": "Dateien",
|
||||||
"flow": "Flow",
|
"flow": "Flow",
|
||||||
"credentials": "Berechtigungen",
|
"credentials": "Credentials",
|
||||||
"package": "Paket",
|
"package": "Paket",
|
||||||
"packageCreate": "Datei wird erstellt beim Speichern der Änderungen",
|
"packageCreate": "Datei wird erstellt beim Speichern der Änderungen",
|
||||||
"fileNotExist": "Datei existiert nicht",
|
"fileNotExist": "Datei existiert nicht",
|
||||||
@ -714,7 +760,7 @@
|
|||||||
"changeTheEncryptionKey": "Schlüssel ändern",
|
"changeTheEncryptionKey": "Schlüssel ändern",
|
||||||
"currentKey": "Aktueller Schlüssel",
|
"currentKey": "Aktueller Schlüssel",
|
||||||
"newKey": "Neuer Schlüssel",
|
"newKey": "Neuer Schlüssel",
|
||||||
"credentialsAlert": "Dadurch werden alle vorhandenen Berechtigungen gelöscht",
|
"credentialsAlert": "Dadurch werden alle vorhandenen Credentials gelöscht",
|
||||||
"versionControl": "Versionsverwaltung (Git)",
|
"versionControl": "Versionsverwaltung (Git)",
|
||||||
"branches": "Branches",
|
"branches": "Branches",
|
||||||
"noBranches": "Keine Branches",
|
"noBranches": "Keine Branches",
|
||||||
@ -739,7 +785,7 @@
|
|||||||
"userName": "Benutzername",
|
"userName": "Benutzername",
|
||||||
"email": "E-Mail",
|
"email": "E-Mail",
|
||||||
"workflow": "Arbeitsablauf",
|
"workflow": "Arbeitsablauf",
|
||||||
"workfowTip": "Wähle deinen bevorzugten Git-Arbeitsablauf",
|
"workfowTip": "Wählen Sie Ihren bevorzugten Git-Arbeitsablauf (Workflow)",
|
||||||
"workflowManual": "Manuell",
|
"workflowManual": "Manuell",
|
||||||
"workflowManualTip": "Alle Änderungen müssen manuell übertragen werden (commit) über die Seitenleiste 'Projekthistorie'",
|
"workflowManualTip": "Alle Änderungen müssen manuell übertragen werden (commit) über die Seitenleiste 'Projekthistorie'",
|
||||||
"workflowAuto": "Automatisch",
|
"workflowAuto": "Automatisch",
|
||||||
@ -850,7 +896,7 @@
|
|||||||
"date": "timestamp",
|
"date": "timestamp",
|
||||||
"jsonata": "JSONata",
|
"jsonata": "JSONata",
|
||||||
"env": "Umgebungsvariable",
|
"env": "Umgebungsvariable",
|
||||||
"cred": "Berechtigung"
|
"cred": "Credentials"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"editableList": {
|
"editableList": {
|
||||||
@ -858,6 +904,8 @@
|
|||||||
"addTitle": "Element hinzufügen"
|
"addTitle": "Element hinzufügen"
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
|
"history": "Suchhistorie",
|
||||||
|
"clear": "Leeren",
|
||||||
"empty": "Keine Übereinstimmungen gefunden",
|
"empty": "Keine Übereinstimmungen gefunden",
|
||||||
"addNode": "Node hinzufügen ...",
|
"addNode": "Node hinzufügen ...",
|
||||||
"options": {
|
"options": {
|
||||||
@ -865,7 +913,10 @@
|
|||||||
"unusedConfigNodes": "Unbenutzte Konfigurations-Nodes",
|
"unusedConfigNodes": "Unbenutzte Konfigurations-Nodes",
|
||||||
"invalidNodes": "Ungültige Nodes",
|
"invalidNodes": "Ungültige Nodes",
|
||||||
"uknownNodes": "Unbekannte Nodes",
|
"uknownNodes": "Unbekannte Nodes",
|
||||||
"unusedSubflows": "Unbenutzte Subflows"
|
"unusedSubflows": "Unbenutzte Subflows",
|
||||||
|
"hiddenFlows": "Versteckte Flows",
|
||||||
|
"modifiedNodes": "Geänderte Nodes",
|
||||||
|
"thisFlow": "Aktueller Flow"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"expressionEditor": {
|
"expressionEditor": {
|
||||||
@ -887,6 +938,9 @@
|
|||||||
"eval": "Fehler beim Auswerten des Ausdrucks\n__message__"
|
"eval": "Fehler beim Auswerten des Ausdrucks\n__message__"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"monaco": {
|
||||||
|
"setTheme": "Thema auswählen"
|
||||||
|
},
|
||||||
"jsEditor": {
|
"jsEditor": {
|
||||||
"title": "JavaScript-Editor"
|
"title": "JavaScript-Editor"
|
||||||
},
|
},
|
||||||
@ -896,8 +950,10 @@
|
|||||||
"jsonEditor": {
|
"jsonEditor": {
|
||||||
"title": "JSON-Editor",
|
"title": "JSON-Editor",
|
||||||
"format": "JSON formatieren",
|
"format": "JSON formatieren",
|
||||||
"rawMode": "JSON-Editor",
|
"rawMode": "Bearbeite JSON",
|
||||||
"uiMode": "Visueller Editor",
|
"uiMode": "Visueller Editor",
|
||||||
|
"rawMode-readonly": "JSON",
|
||||||
|
"uiMode-readonly": "Visuell",
|
||||||
"insertAbove": "Oberhalb einfügen",
|
"insertAbove": "Oberhalb einfügen",
|
||||||
"insertBelow": "Unterhalb einfügen",
|
"insertBelow": "Unterhalb einfügen",
|
||||||
"addItem": "Element hinzufügen",
|
"addItem": "Element hinzufügen",
|
||||||
@ -968,7 +1024,7 @@
|
|||||||
"clone": "Projekt klonen",
|
"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.",
|
"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",
|
"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",
|
"project-name": "Projektname",
|
||||||
"no-info-in-url": "Geben Sie Benutzername & Passwort nicht innerhalb der URL vor",
|
"no-info-in-url": "Geben Sie Benutzername & Passwort nicht innerhalb der URL vor",
|
||||||
"git-url": "Git-Repository-URL",
|
"git-url": "Git-Repository-URL",
|
||||||
@ -980,7 +1036,7 @@
|
|||||||
"passphrase": "Passphrase",
|
"passphrase": "Passphrase",
|
||||||
"ssh-key-desc": "Bevor Sie ein Repository über SSH lokal klonen können, müssen Sie einen SSH-Schlüssel hinzufügen, um auf diesen zugreifen zu können",
|
"ssh-key-desc": "Bevor Sie ein Repository über SSH lokal klonen können, müssen Sie einen SSH-Schlüssel hinzufügen, um auf diesen zugreifen zu können",
|
||||||
"ssh-key-add": "SSH-Schlüssel hinzufügen",
|
"ssh-key-add": "SSH-Schlüssel hinzufügen",
|
||||||
"credential-key": "Schlüssel für Berechtigungen",
|
"credential-key": "Schlüssel für Credentials",
|
||||||
"cant-get-ssh-key": "Fehler! Der ausgewählte SSH-Schlüsselpfad kann nicht abgerufen werden",
|
"cant-get-ssh-key": "Fehler! Der ausgewählte SSH-Schlüsselpfad kann nicht abgerufen werden",
|
||||||
"already-exists2": "bereits vorhanden",
|
"already-exists2": "bereits vorhanden",
|
||||||
"git-error": "Git-Fehler",
|
"git-error": "Git-Fehler",
|
||||||
@ -992,27 +1048,27 @@
|
|||||||
"create": "Erstellen Sie Ihre Projektdateien",
|
"create": "Erstellen Sie Ihre Projektdateien",
|
||||||
"desc0": "Ein Projekt enthält Ihre Flow-Dateien, eine README-Datei und die 'package.json'-Datei.",
|
"desc0": "Ein Projekt enthält Ihre Flow-Dateien, eine README-Datei und die 'package.json'-Datei.",
|
||||||
"desc1": "Es kann alle anderen Dateien enthalten, die im Git-Repository verwaltet werden sollen.",
|
"desc1": "Es kann alle anderen Dateien enthalten, die im Git-Repository verwaltet werden sollen.",
|
||||||
"desc2": "Ihre vorhandenen Flow- und Berechtigungs-Dateien werden in das Projekt kopiert.",
|
"desc2": "Ihre vorhandenen Flow- und Credential-Dateien werden in das Projekt kopiert.",
|
||||||
"flow-file": "Flow-Datei",
|
"flow-file": "Flow-Datei",
|
||||||
"credentials-file": "Datei mit Berechtigungen"
|
"credentials-file": "Datei mit Credentials"
|
||||||
},
|
},
|
||||||
"encryption-config": {
|
"encryption-config": {
|
||||||
"setup": "Einrichtung der Verschlüsselung Ihrer Datei mit den Berechtigungen",
|
"setup": "Einrichtung der Verschlüsselung Ihrer Datei mit den Credentials",
|
||||||
"desc0": "Die Datei mit den Flow-Berechtigungen kann verschlüsselt werden, um ihren Inhalt zu schützen.",
|
"desc0": "Die Datei mit den Flow-Credentials kann verschlüsselt werden, um ihren Inhalt zu schützen.",
|
||||||
"desc1": "Wenn Sie diese Berechtigungen in einem öffentlichen Repository speichern möchten, müssen Sie sie mit einen geheimen Schlüsselausdruck verschlüsseln.",
|
"desc1": "Wenn Sie diese Credentials in einem öffentlichen Repository speichern möchten, müssen Sie sie mit einen geheimen Schlüsselausdruck verschlüsseln.",
|
||||||
"desc2": "Die Datei mit den Flow-Berechtigungen ist derzeit nicht verschlüsselt.",
|
"desc2": "Die Datei mit den Flow-Credentials ist derzeit nicht verschlüsselt.",
|
||||||
"desc3": "D.h. ihr Inhalt (z.B. Passwörter und Zugriffs-Tokens) kann von jedem mit Zugriff auf die Datei gelesen werden.",
|
"desc3": "D.h. ihr Inhalt (z.B. Passwörter und Zugriffs-Tokens) kann von jedem mit Zugriff auf die Datei gelesen werden.",
|
||||||
"desc4": "Wenn Sie diese Berechtigungen in einen öffentlichen Repository speichern möchten, müssen Sie diese verschlüsseln, indem Sie einen geheimen Schlüsselausdruck eingeben.",
|
"desc4": "Wenn Sie diese Credentials in einen öffentlichen Repository speichern möchten, müssen Sie diese verschlüsseln, indem Sie einen geheimen Schlüsselausdruck eingeben.",
|
||||||
"desc5": "Ihre Datei mit den Flow-Berechtigungen wird derzeit mit dem Eintrag 'credentialSecret' Ihrer Einstellungsdatei als Schlüssel verschlüsselt.",
|
"desc5": "Ihre Datei mit den Flow-Credentials wird derzeit mit dem Eintrag 'credentialSecret' Ihrer Einstellungsdatei als Schlüssel verschlüsselt.",
|
||||||
"desc6": "Die Datei mit den Flow-Berechtigungen wird derzeit mit einem vom System generierten Schlüssel verschlüsselt. Sie sollten einen neuen geheimen Schlüssel für dieses Projekt vorgeben.",
|
"desc6": "Die Datei mit den Flow-Credentials wird derzeit mit einem vom System generierten Schlüssel verschlüsselt. Sie sollten einen neuen geheimen Schlüssel für dieses Projekt vorgeben.",
|
||||||
"desc7": "Der Schlüssel wird separat von den Projektdateien gespeichert. Sie müssen den Schlüssel angeben, damit dieses Projekt auch in einem anderen Node-RED-System verwendet werden kann.",
|
"desc7": "Der Schlüssel wird separat von den Projektdateien gespeichert. Sie müssen den Schlüssel angeben, damit dieses Projekt auch in einem anderen Node-RED-System verwendet werden kann.",
|
||||||
"credentials": "Berechtigung",
|
"credentials": "Credentials",
|
||||||
"enable": "Verschlüsselung aktivieren",
|
"enable": "Verschlüsselung aktivieren",
|
||||||
"disable": "Verschlüsselung deaktivieren",
|
"disable": "Verschlüsselung deaktivieren",
|
||||||
"disabled": "deaktiviert",
|
"disabled": "deaktiviert",
|
||||||
"copy": "Vorhandenen Schlüssel ersetzen",
|
"copy": "Vorhandenen Schlüssel ersetzen",
|
||||||
"use-custom": "Eigenen Schlüssel verwenden",
|
"use-custom": "Eigenen Schlüssel verwenden",
|
||||||
"desc8": "Die Datei mit den Berechtigungen wird nicht verschlüsselt, und ihr Inhalt kann leicht gelesen werden",
|
"desc8": "Die Datei mit den Credentials wird nicht verschlüsselt und ihr Inhalt kann leicht gelesen werden",
|
||||||
"create-project-files": "Projektdateien erstellen",
|
"create-project-files": "Projektdateien erstellen",
|
||||||
"create-project": "Projekt erstellen",
|
"create-project": "Projekt erstellen",
|
||||||
"already-exists": "bereits vorhanden",
|
"already-exists": "bereits vorhanden",
|
||||||
@ -1026,7 +1082,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)."
|
"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": {
|
"create": {
|
||||||
"projects": "Projekt",
|
"projects": "Projekte",
|
||||||
"already-exists": "Das Projekt ist bereits vorhanden",
|
"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",
|
||||||
"no-info-in-url": "Geben Sie Benutzername & Passwort nicht innerhalb der URL vor",
|
"no-info-in-url": "Geben Sie Benutzername & Passwort nicht innerhalb der URL vor",
|
||||||
@ -1037,12 +1093,12 @@
|
|||||||
"desc": "Beschreibung",
|
"desc": "Beschreibung",
|
||||||
"opt": "Optional",
|
"opt": "Optional",
|
||||||
"flow-file": "Flow-Datei",
|
"flow-file": "Flow-Datei",
|
||||||
"credentials": "Berechtigungen",
|
"credentials": "Credentials",
|
||||||
"enable-encryption": "Verschlüsselung aktivieren",
|
"enable-encryption": "Verschlüsselung aktivieren",
|
||||||
"disable-encryption": "Verschlüsselung deaktivieren",
|
"disable-encryption": "Verschlüsselung deaktivieren",
|
||||||
"encryption-key": "Schlüssel",
|
"encryption-key": "Schlüssel",
|
||||||
"desc0": "Eine Floskel, mit der Sie Ihre Berechtigungen schützen",
|
"desc0": "Eine Ausdruck, mit der Sie Ihre Credentials schützen",
|
||||||
"desc1": "Die Datei mit den Berechtigungen wird nicht verschlüsselt, und ihr Inhalt kann leicht gelesen werden",
|
"desc1": "Die Datei mit den Credentials wird nicht verschlüsselt und ihr Inhalt kann leicht gelesen werden",
|
||||||
"git-url": "Git-Repository-URL",
|
"git-url": "Git-Repository-URL",
|
||||||
"protocols": "https://, ssh:// oder file://",
|
"protocols": "https://, ssh:// oder file://",
|
||||||
"auth-failed": "Authentifizierung fehlgeschlagen",
|
"auth-failed": "Authentifizierung fehlgeschlagen",
|
||||||
@ -1052,14 +1108,15 @@
|
|||||||
"passphrase": "Passphrase",
|
"passphrase": "Passphrase",
|
||||||
"desc2": "Bevor Sie ein Repository über SSH klonen können, müssen Sie einen SSH-Schlüssel hinzufügen, um auf diesen zu zugreifen",
|
"desc2": "Bevor Sie ein Repository über SSH klonen können, müssen Sie einen SSH-Schlüssel hinzufügen, um auf diesen zu zugreifen",
|
||||||
"add-ssh-key": "Einen SSH-Schlüssel hinzufügen",
|
"add-ssh-key": "Einen SSH-Schlüssel hinzufügen",
|
||||||
"credentials-encryption-key": "Schlüssel für Berechtigungen",
|
"credentials-encryption-key": "Schlüssel für Credentials",
|
||||||
"already-exists-2": "bereits vorhanden",
|
"already-exists-2": "bereits vorhanden",
|
||||||
"git-error": "Git-Fehler",
|
"git-error": "Git-Fehler",
|
||||||
"con-failed": "Verbindung fehlgeschlagen",
|
"con-failed": "Verbindung fehlgeschlagen",
|
||||||
"not-git": "Kein Git-Repository",
|
"not-git": "Kein Git-Repository",
|
||||||
"no-resource": "Repository nicht gefunden",
|
"no-resource": "Repository nicht gefunden",
|
||||||
"cant-get-ssh-key-path": "Fehler! Der ausgewählte SSH-Schlüsselpfad kann nicht abgerufen werden.",
|
"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": {
|
"delete": {
|
||||||
"confirm": "Sind Sie sicher, dass dieses Projekt gelöscht werden soll?"
|
"confirm": "Sind Sie sicher, dass dieses Projekt gelöscht werden soll?"
|
||||||
@ -1106,13 +1163,44 @@
|
|||||||
"preview": "Vorschau",
|
"preview": "Vorschau",
|
||||||
"defaultValue": "Standardwert"
|
"defaultValue": "Standardwert"
|
||||||
},
|
},
|
||||||
|
"tourGuide": {
|
||||||
|
"takeATour": "Tour starten",
|
||||||
|
"start": "Start",
|
||||||
|
"next": "Nächste",
|
||||||
|
"welcomeTours": "Welcome Tours"
|
||||||
|
},
|
||||||
|
"diagnostics": {
|
||||||
|
"title": "System-Informationen"
|
||||||
|
},
|
||||||
"languages": {
|
"languages": {
|
||||||
"de": "German",
|
"de": "Deutsch",
|
||||||
"en-US": "English",
|
"en-US": "Englisch",
|
||||||
"ja": "Japanese",
|
"ja": "Japanisch",
|
||||||
"ko": "Korean",
|
"ko": "Koreanisch",
|
||||||
"ru": "Russian",
|
"ru": "Russisch",
|
||||||
"zh-CN": "Chinese(Simplified)",
|
"zh-CN": "Chinesisch (Vereinfacht)",
|
||||||
"zh-TW": "Chinese(Traditional)"
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
0
packages/node_modules/@node-red/editor-client/locales/de/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/de/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/de/jsonata.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/de/jsonata.json
vendored
Executable file → Normal file
25
packages/node_modules/@node-red/editor-client/locales/en-US/editor.json
vendored
Executable file → Normal file
25
packages/node_modules/@node-red/editor-client/locales/en-US/editor.json
vendored
Executable file → Normal file
@ -169,6 +169,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification": {
|
"notification": {
|
||||||
|
"state": {
|
||||||
|
"flowsStopped": "Flows stopped",
|
||||||
|
"flowsStarted": "Flows started"
|
||||||
|
},
|
||||||
"warning": "<strong>Warning</strong>: __message__",
|
"warning": "<strong>Warning</strong>: __message__",
|
||||||
"warnings": {
|
"warnings": {
|
||||||
"undeployedChanges": "node has undeployed changes",
|
"undeployedChanges": "node has undeployed changes",
|
||||||
@ -296,6 +300,10 @@
|
|||||||
"modifiedFlowsDesc": "Only deploys flows that contain changed nodes",
|
"modifiedFlowsDesc": "Only deploys flows that contain changed nodes",
|
||||||
"modifiedNodes": "Modified Nodes",
|
"modifiedNodes": "Modified Nodes",
|
||||||
"modifiedNodesDesc": "Only deploys nodes that have changed",
|
"modifiedNodesDesc": "Only deploys nodes that have changed",
|
||||||
|
"startFlows": "Start",
|
||||||
|
"startFlowsDesc": "Start Flows",
|
||||||
|
"stopFlows": "Stop",
|
||||||
|
"stopFlowsDesc": "Stop Flows",
|
||||||
"restartFlows": "Restart Flows",
|
"restartFlows": "Restart Flows",
|
||||||
"restartFlowsDesc": "Restarts the current deployed flows",
|
"restartFlowsDesc": "Restarts the current deployed flows",
|
||||||
"successfulDeploy": "Successfully deployed",
|
"successfulDeploy": "Successfully deployed",
|
||||||
@ -675,6 +683,8 @@
|
|||||||
"empty": "empty",
|
"empty": "empty",
|
||||||
"globalConfig": "Global Configuration Nodes",
|
"globalConfig": "Global Configuration Nodes",
|
||||||
"triggerAction": "Trigger action",
|
"triggerAction": "Trigger action",
|
||||||
|
"showFlow": "Show",
|
||||||
|
"hideFlow": "Hide",
|
||||||
"find": "Find in workspace"
|
"find": "Find in workspace"
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
@ -685,7 +695,8 @@
|
|||||||
"showHelp": "Show help",
|
"showHelp": "Show help",
|
||||||
"showInOutline": "Show in outline",
|
"showInOutline": "Show in outline",
|
||||||
"showTopics": "Show topics",
|
"showTopics": "Show topics",
|
||||||
"noHelp": "No help topic selected"
|
"noHelp": "No help topic selected",
|
||||||
|
"changeLog": "Change Log"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"name": "Configuration nodes",
|
"name": "Configuration nodes",
|
||||||
@ -927,6 +938,9 @@
|
|||||||
"invalid-expr": "Invalid JSONata expression:\n __message__",
|
"invalid-expr": "Invalid JSONata expression:\n __message__",
|
||||||
"invalid-msg": "Invalid example JSON message:\n __message__",
|
"invalid-msg": "Invalid example JSON message:\n __message__",
|
||||||
"context-unsupported": "Cannot test context functions\n $flowContext or $globalContext",
|
"context-unsupported": "Cannot test context functions\n $flowContext or $globalContext",
|
||||||
|
"env-unsupported": "Cannot test $env function",
|
||||||
|
"moment-unsupported": "Cannot test $moment function",
|
||||||
|
"clone-unsupported": "Cannot test $clone function",
|
||||||
"eval": "Error evaluating expression:\n __message__"
|
"eval": "Error evaluating expression:\n __message__"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1158,7 +1172,8 @@
|
|||||||
"tourGuide": {
|
"tourGuide": {
|
||||||
"takeATour": "Take a tour",
|
"takeATour": "Take a tour",
|
||||||
"start": "Start",
|
"start": "Start",
|
||||||
"next": "Next"
|
"next": "Next",
|
||||||
|
"welcomeTours": "Welcome Tours"
|
||||||
},
|
},
|
||||||
"diagnostics": {
|
"diagnostics": {
|
||||||
"title": "System Info"
|
"title": "System Info"
|
||||||
@ -1187,5 +1202,11 @@
|
|||||||
"missing-config": "__prop__: missing configuration node",
|
"missing-config": "__prop__: missing configuration node",
|
||||||
"validation-error": "__prop__: validation error: __node__, __id__: __error__"
|
"validation-error": "__prop__: validation error: __node__, __id__: __error__"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"contextMenu": {
|
||||||
|
"insert": "Insert",
|
||||||
|
"node": "Node",
|
||||||
|
"junction": "Junction",
|
||||||
|
"linkNodes": "Link Nodes"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
0
packages/node_modules/@node-red/editor-client/locales/en-US/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/en-US/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/en-US/jsonata.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/en-US/jsonata.json
vendored
Executable file → Normal file
@ -169,6 +169,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification": {
|
"notification": {
|
||||||
|
"state": {
|
||||||
|
"flowsStopped": "フローを停止しました",
|
||||||
|
"flowsStarted": "フローを開始しました"
|
||||||
|
},
|
||||||
"warning": "<strong>警告</strong>: __message__",
|
"warning": "<strong>警告</strong>: __message__",
|
||||||
"warnings": {
|
"warnings": {
|
||||||
"undeployedChanges": "ノードの変更をデプロイしていません",
|
"undeployedChanges": "ノードの変更をデプロイしていません",
|
||||||
@ -296,6 +300,10 @@
|
|||||||
"modifiedFlowsDesc": "変更したノードを含むフローのみデプロイ",
|
"modifiedFlowsDesc": "変更したノードを含むフローのみデプロイ",
|
||||||
"modifiedNodes": "変更したノード",
|
"modifiedNodes": "変更したノード",
|
||||||
"modifiedNodesDesc": "変更したノードのみデプロイ",
|
"modifiedNodesDesc": "変更したノードのみデプロイ",
|
||||||
|
"startFlows": "開始",
|
||||||
|
"startFlowsDesc": "フローを開始",
|
||||||
|
"stopFlows": "停止",
|
||||||
|
"stopFlowsDesc": "フローを停止",
|
||||||
"restartFlows": "フローを再起動",
|
"restartFlows": "フローを再起動",
|
||||||
"restartFlowsDesc": "デプロイされた現在のフローを再起動",
|
"restartFlowsDesc": "デプロイされた現在のフローを再起動",
|
||||||
"successfulDeploy": "デプロイが成功しました",
|
"successfulDeploy": "デプロイが成功しました",
|
||||||
@ -675,6 +683,8 @@
|
|||||||
"empty": "空",
|
"empty": "空",
|
||||||
"globalConfig": "グローバル設定ノード",
|
"globalConfig": "グローバル設定ノード",
|
||||||
"triggerAction": "アクションを実行",
|
"triggerAction": "アクションを実行",
|
||||||
|
"showFlow": "表示",
|
||||||
|
"hideFlow": "非表示",
|
||||||
"find": "ワークスペース内を検索"
|
"find": "ワークスペース内を検索"
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
@ -685,7 +695,8 @@
|
|||||||
"showHelp": "ヘルプを表示",
|
"showHelp": "ヘルプを表示",
|
||||||
"showInOutline": "アウトラインに表示",
|
"showInOutline": "アウトラインに表示",
|
||||||
"showTopics": "トピックを表示",
|
"showTopics": "トピックを表示",
|
||||||
"noHelp": "ヘルプのトピックが未選択"
|
"noHelp": "ヘルプのトピックが未選択",
|
||||||
|
"changeLog": "更新履歴"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"name": "設定ノードを表示",
|
"name": "設定ノードを表示",
|
||||||
@ -845,7 +856,7 @@
|
|||||||
"pushFailed": "リモートに新しいコミットがあるため、プッシュに失敗しました。プルしてマージしてから、再度プッシュしてください。",
|
"pushFailed": "リモートに新しいコミットがあるため、プッシュに失敗しました。プルしてマージしてから、再度プッシュしてください。",
|
||||||
"push": "プッシュ",
|
"push": "プッシュ",
|
||||||
"pull": "プル",
|
"pull": "プル",
|
||||||
"unablePull": "<p>リモートの変更のプル失敗:ステージングされていないローカルの変更を上書きされてしまいます。</p><p>変更をコミットしてから再度実行してください。</p>",
|
"unablePull": "<p>リモートの変更のプル失敗:ステージングされていないローカルの変更が上書きされてしまいます。</p><p>変更をコミットしてから再度実行してください。</p>",
|
||||||
"showUnstagedChanges": "ステージングされていない変更を表示",
|
"showUnstagedChanges": "ステージングされていない変更を表示",
|
||||||
"connectionFailed": "リモートリポジトリに接続できません: ",
|
"connectionFailed": "リモートリポジトリに接続できません: ",
|
||||||
"pullUnrelatedHistory": "<p>リモートに関連のないコミット履歴があります。</p><p>本当に変更をプルしてローカルリポジトリに反映しますか?</p>",
|
"pullUnrelatedHistory": "<p>リモートに関連のないコミット履歴があります。</p><p>本当に変更をプルしてローカルリポジトリに反映しますか?</p>",
|
||||||
@ -926,8 +937,11 @@
|
|||||||
"errors": {
|
"errors": {
|
||||||
"invalid-expr": "不正なJSONata式:\n __message__",
|
"invalid-expr": "不正なJSONata式:\n __message__",
|
||||||
"invalid-msg": "不正なJSONメッセージ例:\n __message__",
|
"invalid-msg": "不正なJSONメッセージ例:\n __message__",
|
||||||
"context-unsupported": "$flowContext や $globalContextの\nコンテキスト機能をテストできません",
|
"context-unsupported": "$flowContext や $globalContextの\nコンテキスト関数をテストできません",
|
||||||
"eval": "表現評価エラー:\n __message__"
|
"env-unsupported": "$env関数はテストできません",
|
||||||
|
"moment-unsupported": "$moment関数はテストできません",
|
||||||
|
"clone-unsupported": "$clone関数はテストできません",
|
||||||
|
"eval": "式評価エラー:\n __message__"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"monaco": {
|
"monaco": {
|
||||||
@ -1158,7 +1172,8 @@
|
|||||||
"tourGuide": {
|
"tourGuide": {
|
||||||
"takeATour": "ツアーを開始",
|
"takeATour": "ツアーを開始",
|
||||||
"start": "開始",
|
"start": "開始",
|
||||||
"next": "次へ"
|
"next": "次へ",
|
||||||
|
"welcomeTours": "ウェルカムツアー"
|
||||||
},
|
},
|
||||||
"diagnostics": {
|
"diagnostics": {
|
||||||
"title": "システム情報"
|
"title": "システム情報"
|
||||||
@ -1188,6 +1203,12 @@
|
|||||||
"validation-error": "__prop__: チェックエラー: __node__, __id__: __error__"
|
"validation-error": "__prop__: チェックエラー: __node__, __id__: __error__"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"contextMenu": {
|
||||||
|
"insert": "挿入",
|
||||||
|
"node": "ノード",
|
||||||
|
"junction": "分岐点",
|
||||||
|
"linkNodes": "Linkノード"
|
||||||
|
},
|
||||||
"action-list": {
|
"action-list": {
|
||||||
"toggle-show-tips": "ヒント表示切替",
|
"toggle-show-tips": "ヒント表示切替",
|
||||||
"show-about": "Node-REDの説明を表示",
|
"show-about": "Node-REDの説明を表示",
|
||||||
@ -1302,7 +1323,7 @@
|
|||||||
"search": "検索",
|
"search": "検索",
|
||||||
"search-previous": "前を検索",
|
"search-previous": "前を検索",
|
||||||
"search-next": "次を検索",
|
"search-next": "次を検索",
|
||||||
"show-action-list": "アクション一覧を表示",
|
"show-action-list": "動作一覧を表示",
|
||||||
"confirm-edit-tray": "編集を完了",
|
"confirm-edit-tray": "編集を完了",
|
||||||
"cancel-edit-tray": "編集をキャンセル",
|
"cancel-edit-tray": "編集をキャンセル",
|
||||||
"show-remote-diff": "リモートとの変更差分を表示",
|
"show-remote-diff": "リモートとの変更差分を表示",
|
||||||
@ -1324,6 +1345,13 @@
|
|||||||
"zoom-out": "ズームアウト",
|
"zoom-out": "ズームアウト",
|
||||||
"zoom-reset": "ズームリセット",
|
"zoom-reset": "ズームリセット",
|
||||||
"toggle-navigator": "ナビゲータ表示切替",
|
"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": "フローを停止"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
0
packages/node_modules/@node-red/editor-client/locales/ko/editor.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ko/editor.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ko/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ko/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ko/jsonata.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ko/jsonata.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ru/editor.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ru/editor.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ru/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ru/infotips.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ru/jsonata.json
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/locales/ru/jsonata.json
vendored
Executable file → Normal file
@ -97,7 +97,7 @@
|
|||||||
"rename": "重命名",
|
"rename": "重命名",
|
||||||
"delete": "删除",
|
"delete": "删除",
|
||||||
"keyboardShortcuts": "键盘快捷方式",
|
"keyboardShortcuts": "键盘快捷方式",
|
||||||
"login": "登陆",
|
"login": "登录",
|
||||||
"logout": "退出",
|
"logout": "退出",
|
||||||
"editPalette": "节点管理",
|
"editPalette": "节点管理",
|
||||||
"other": "其他",
|
"other": "其他",
|
||||||
@ -122,16 +122,16 @@
|
|||||||
"zoom-in": "放大"
|
"zoom-in": "放大"
|
||||||
},
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"loggedInAs": "作为 __name__ 登陆",
|
"loggedInAs": "作为 __name__ 登录",
|
||||||
"username": "账号",
|
"username": "账号",
|
||||||
"password": "密码",
|
"password": "密码",
|
||||||
"login": "登陆",
|
"login": "登录",
|
||||||
"loginFailed": "登陆失败",
|
"loginFailed": "登录失败",
|
||||||
"notAuthorized": "未授权",
|
"notAuthorized": "未授权",
|
||||||
"errors": {
|
"errors": {
|
||||||
"settings": "设置信息需要登陆后才能访问",
|
"settings": "设置信息需要登录后才能访问",
|
||||||
"deploy": "改动需要登陆后才能部署",
|
"deploy": "改动需要登录后才能部署",
|
||||||
"notAuthorized": "此操作需要登陆后才能执行"
|
"notAuthorized": "此操作需要登录后才能执行"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification": {
|
"notification": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/editor-client",
|
"name": "@node-red/editor-client",
|
||||||
"version": "3.0.0-beta.2",
|
"version": "3.0.2",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
4
packages/node_modules/@node-red/editor-client/src/images/start.svg
vendored
Normal file
4
packages/node_modules/@node-red/editor-client/src/images/start.svg
vendored
Normal 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 |
4
packages/node_modules/@node-red/editor-client/src/images/stop.svg
vendored
Normal file
4
packages/node_modules/@node-red/editor-client/src/images/stop.svg
vendored
Normal 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 |
@ -3,16 +3,12 @@
|
|||||||
"alt-shift-p":"core:manage-palette",
|
"alt-shift-p":"core:manage-palette",
|
||||||
"ctrl-f": "core:search",
|
"ctrl-f": "core:search",
|
||||||
"ctrl-shift-f": "core:list-flows",
|
"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-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 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-g x": "core:show-context-tab",
|
||||||
"ctrl-e": "core:show-export-dialog",
|
"ctrl-e": "core:show-export-dialog",
|
||||||
"ctrl-i": "core:show-import-dialog",
|
"ctrl-i": "core:show-import-dialog",
|
||||||
@ -23,11 +19,8 @@
|
|||||||
"ctrl-alt-r": "core:show-remote-diff",
|
"ctrl-alt-r": "core:show-remote-diff",
|
||||||
"ctrl-alt-n": "core:new-project",
|
"ctrl-alt-n": "core:new-project",
|
||||||
"ctrl-alt-o": "core:open-project",
|
"ctrl-alt-o": "core:open-project",
|
||||||
"ctrl-g v": "core:show-version-control-tab",
|
|
||||||
"ctrl-shift-l": "core:show-event-log",
|
"ctrl-shift-l": "core:show-event-log",
|
||||||
"ctrl-shift-p":"core:show-action-list",
|
"ctrl-shift-p":"core:show-action-list"
|
||||||
"alt-w": "core:hide-flow",
|
|
||||||
"alt-shift-w": "core:show-last-hidden-flow"
|
|
||||||
},
|
},
|
||||||
"red-ui-sidebar-node-config": {
|
"red-ui-sidebar-node-config": {
|
||||||
"backspace": "core:delete-config-selection",
|
"backspace": "core:delete-config-selection",
|
||||||
@ -93,7 +86,16 @@
|
|||||||
"alt-a v": "core:distribute-selection-vertically",
|
"alt-a v": "core:distribute-selection-vertically",
|
||||||
"shift-f": "core:search-previous",
|
"shift-f": "core:search-previous",
|
||||||
"f": "core:search-next",
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An Interface to nodes and utility functions for creating/adding/deleting nodes and links
|
* An Interface to nodes and utility functions for creating/adding/deleting nodes and links
|
||||||
* @namespace RED.nodes
|
* @namespace RED.nodes
|
||||||
*/
|
*/
|
||||||
@ -868,14 +868,7 @@ RED.nodes = (function() {
|
|||||||
var node;
|
var node;
|
||||||
|
|
||||||
if (allNodes.hasTab(id)) {
|
if (allNodes.hasTab(id)) {
|
||||||
removedNodes = allNodes.getNodes(id).filter(n => {
|
removedNodes = allNodes.getNodes(id).slice()
|
||||||
if (n.type === 'junction') {
|
|
||||||
removedJunctions.push(n)
|
|
||||||
return false
|
|
||||||
} else {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
for (i in configNodes) {
|
for (i in configNodes) {
|
||||||
if (configNodes.hasOwnProperty(i)) {
|
if (configNodes.hasOwnProperty(i)) {
|
||||||
@ -885,6 +878,7 @@ RED.nodes = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
removedJunctions = RED.nodes.junctions(id)
|
||||||
|
|
||||||
for (i=0;i<removedNodes.length;i++) {
|
for (i=0;i<removedNodes.length;i++) {
|
||||||
var result = removeNode(removedNodes[i].id);
|
var result = removeNode(removedNodes[i].id);
|
||||||
@ -1331,7 +1325,6 @@ RED.nodes = (function() {
|
|||||||
} else {
|
} else {
|
||||||
nodeSet = [sf];
|
nodeSet = [sf];
|
||||||
}
|
}
|
||||||
console.log(nodeSet);
|
|
||||||
return createExportableNodeSet(nodeSet);
|
return createExportableNodeSet(nodeSet);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -1367,6 +1360,10 @@ RED.nodes = (function() {
|
|||||||
exportedConfigNodes[n.id] = true;
|
exportedConfigNodes[n.id] = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
subflowSet = subflowSet.concat(RED.nodes.junctions(subflowId))
|
||||||
|
subflowSet = subflowSet.concat(RED.nodes.groups(subflowId))
|
||||||
|
|
||||||
var exportableSubflow = createExportableNodeSet(subflowSet, exportedIds, exportedSubflows, exportedConfigNodes);
|
var exportableSubflow = createExportableNodeSet(subflowSet, exportedIds, exportedSubflows, exportedConfigNodes);
|
||||||
nns = exportableSubflow.concat(nns);
|
nns = exportableSubflow.concat(nns);
|
||||||
}
|
}
|
||||||
@ -1654,21 +1651,20 @@ RED.nodes = (function() {
|
|||||||
* Options:
|
* Options:
|
||||||
* - generateIds - whether to replace all node ids
|
* - generateIds - whether to replace all node ids
|
||||||
* - addFlow - whether to import nodes to a new tab
|
* - 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.
|
* - importMap - how to resolve any conflicts.
|
||||||
* - id:import - import as-is
|
* - id:import - import as-is
|
||||||
* - id:copy - import with new id
|
* - id:copy - import with new id
|
||||||
* - id:replace - import over the top of existing
|
* - id:replace - import over the top of existing
|
||||||
*/
|
*/
|
||||||
function importNodes(newNodesObj,options) { // createNewIds,createMissingWorkspace) {
|
function importNodes(newNodesObj,options) { // createNewIds,createMissingWorkspace) {
|
||||||
options = options || {
|
const defOpts = { generateIds: false, addFlow: false, reimport: false, importMap: {} }
|
||||||
generateIds: false,
|
options = Object.assign({}, defOpts, options)
|
||||||
addFlow: false,
|
options.importMap = options.importMap || {}
|
||||||
}
|
const createNewIds = options.generateIds;
|
||||||
options.importMap = options.importMap || {};
|
const reimport = (!createNewIds && !!options.reimport)
|
||||||
|
const createMissingWorkspace = options.addFlow;
|
||||||
var createNewIds = options.generateIds;
|
|
||||||
var createMissingWorkspace = options.addFlow;
|
|
||||||
var i;
|
var i;
|
||||||
var n;
|
var n;
|
||||||
var newNodes;
|
var newNodes;
|
||||||
@ -1969,7 +1965,8 @@ RED.nodes = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (n.z && !workspace_map[n.z] && !subflow_map[n.z]) {
|
const keepNodesCurrentZ = reimport && n.z && (RED.workspaces.contains(n.z) || RED.nodes.subflow(n.z))
|
||||||
|
if (!keepNodesCurrentZ && n.z && !workspace_map[n.z] && !subflow_map[n.z]) {
|
||||||
n.z = activeWorkspace;
|
n.z = activeWorkspace;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2070,7 +2067,8 @@ RED.nodes = (function() {
|
|||||||
node.id = getID();
|
node.id = getID();
|
||||||
} else {
|
} else {
|
||||||
node.id = n.id;
|
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) || RED.nodes.subflow(node.z))
|
||||||
|
if (!keepNodesCurrentZ && (node.z == null || (!workspace_map[node.z] && !subflow_map[node.z]))) {
|
||||||
if (createMissingWorkspace) {
|
if (createMissingWorkspace) {
|
||||||
if (missingWorkspace === null) {
|
if (missingWorkspace === null) {
|
||||||
missingWorkspace = RED.workspaces.add(null,true);
|
missingWorkspace = RED.workspaces.add(null,true);
|
||||||
@ -2742,6 +2740,7 @@ RED.nodes = (function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const nodeGroupMap = {}
|
||||||
var replaceNodeIds = Object.keys(replaceNodes);
|
var replaceNodeIds = Object.keys(replaceNodes);
|
||||||
if (replaceNodeIds.length > 0) {
|
if (replaceNodeIds.length > 0) {
|
||||||
var reimportList = [];
|
var reimportList = [];
|
||||||
@ -2752,6 +2751,12 @@ RED.nodes = (function() {
|
|||||||
} else {
|
} else {
|
||||||
allNodes.removeNode(n);
|
allNodes.removeNode(n);
|
||||||
}
|
}
|
||||||
|
if (n.g) {
|
||||||
|
// reimporting a node *without* including its group object
|
||||||
|
// will cause the g property to be cleared. Cache it
|
||||||
|
// here so we can restore it
|
||||||
|
nodeGroupMap[n.id] = n.g
|
||||||
|
}
|
||||||
reimportList.push(convertNode(n));
|
reimportList.push(convertNode(n));
|
||||||
RED.events.emit('nodes:remove',n);
|
RED.events.emit('nodes:remove',n);
|
||||||
});
|
});
|
||||||
@ -2769,10 +2774,22 @@ RED.nodes = (function() {
|
|||||||
// Force the redraw to be synchronous so the view updates
|
// Force the redraw to be synchronous so the view updates
|
||||||
// *now* and removes the unknown node
|
// *now* and removes the unknown node
|
||||||
RED.view.redraw(true, true);
|
RED.view.redraw(true, true);
|
||||||
var result = importNodes(reimportList,{generateIds:false});
|
var result = importNodes(reimportList,{generateIds:false, reimport: true});
|
||||||
var newNodeMap = {};
|
var newNodeMap = {};
|
||||||
result.nodes.forEach(function(n) {
|
result.nodes.forEach(function(n) {
|
||||||
newNodeMap[n.id] = n;
|
newNodeMap[n.id] = n;
|
||||||
|
if (nodeGroupMap[n.id]) {
|
||||||
|
// This node is in a group - need to substitute the
|
||||||
|
// node reference inside the group
|
||||||
|
n.g = nodeGroupMap[n.id]
|
||||||
|
const group = RED.nodes.group(n.g)
|
||||||
|
if (group) {
|
||||||
|
var index = group.nodes.findIndex(gn => gn.id === n.id)
|
||||||
|
if (index > -1) {
|
||||||
|
group.nodes[index] = n
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
RED.nodes.eachLink(function(l) {
|
RED.nodes.eachLink(function(l) {
|
||||||
if (newNodeMap.hasOwnProperty(l.source.id)) {
|
if (newNodeMap.hasOwnProperty(l.source.id)) {
|
||||||
|
@ -297,6 +297,10 @@ var RED = (function() {
|
|||||||
// handled below
|
// handled below
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (notificationId === "flows-run-state") {
|
||||||
|
// handled in editor-client/src/js/runtime.js
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (notificationId === "project-update") {
|
if (notificationId === "project-update") {
|
||||||
loader.start(RED._("event.loadingProject"), 0);
|
loader.start(RED._("event.loadingProject"), 0);
|
||||||
RED.nodes.clear();
|
RED.nodes.clear();
|
||||||
@ -317,6 +321,8 @@ var RED = (function() {
|
|||||||
loader.end()
|
loader.end()
|
||||||
RED.notify($("<p>").text(message));
|
RED.notify($("<p>").text(message));
|
||||||
RED.sidebar.info.refresh()
|
RED.sidebar.info.refresh()
|
||||||
|
RED.menu.setDisabled('menu-item-projects-open',false);
|
||||||
|
RED.menu.setDisabled('menu-item-projects-settings',false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
@ -332,7 +338,6 @@ var RED = (function() {
|
|||||||
id: notificationId
|
id: notificationId
|
||||||
}
|
}
|
||||||
if (notificationId === "runtime-state") {
|
if (notificationId === "runtime-state") {
|
||||||
RED.events.emit("runtime-state",msg);
|
|
||||||
if (msg.error === "safe-mode") {
|
if (msg.error === "safe-mode") {
|
||||||
options.buttons = [
|
options.buttons = [
|
||||||
{
|
{
|
||||||
@ -473,9 +478,9 @@ var RED = (function() {
|
|||||||
} else if (persistentNotifications.hasOwnProperty(notificationId)) {
|
} else if (persistentNotifications.hasOwnProperty(notificationId)) {
|
||||||
persistentNotifications[notificationId].close();
|
persistentNotifications[notificationId].close();
|
||||||
delete persistentNotifications[notificationId];
|
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) {
|
RED.comms.subscribe("status/#",function(topic,msg) {
|
||||||
@ -747,6 +752,7 @@ var RED = (function() {
|
|||||||
RED.keyboard.init(buildMainMenu);
|
RED.keyboard.init(buildMainMenu);
|
||||||
|
|
||||||
RED.nodes.init();
|
RED.nodes.init();
|
||||||
|
RED.runtime.init()
|
||||||
RED.comms.connect();
|
RED.comms.connect();
|
||||||
|
|
||||||
$("#red-ui-main-container").show();
|
$("#red-ui-main-container").show();
|
||||||
@ -762,7 +768,7 @@ var RED = (function() {
|
|||||||
$('<div id="red-ui-header-shade" class="hide"></div>').appendTo(header);
|
$('<div id="red-ui-header-shade" class="hide"></div>').appendTo(header);
|
||||||
$('<div id="red-ui-main-container" class="red-ui-sidebar-closed hide">'+
|
$('<div id="red-ui-main-container" class="red-ui-sidebar-closed hide">'+
|
||||||
'<div id="red-ui-workspace"></div>'+
|
'<div id="red-ui-workspace"></div>'+
|
||||||
'<div id="red-ui-editor-stack"></div>'+
|
'<div id="red-ui-editor-stack" tabindex="-1"></div>'+
|
||||||
'<div id="red-ui-palette"></div>'+
|
'<div id="red-ui-palette"></div>'+
|
||||||
'<div id="red-ui-sidebar"></div>'+
|
'<div id="red-ui-sidebar"></div>'+
|
||||||
'<div id="red-ui-sidebar-separator"></div>'+
|
'<div id="red-ui-sidebar-separator"></div>'+
|
||||||
|
36
packages/node_modules/@node-red/editor-client/src/js/runtime.js
vendored
Normal file
36
packages/node_modules/@node-red/editor-client/src/js/runtime.js
vendored
Normal 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})()
|
@ -160,7 +160,7 @@
|
|||||||
this.element.css("maxHeight",null);
|
this.element.css("maxHeight",null);
|
||||||
}
|
}
|
||||||
if (this.options.height !== 'auto') {
|
if (this.options.height !== 'auto') {
|
||||||
this.uiContainer.css("overflow-y","scroll");
|
this.uiContainer.css("overflow-y","auto");
|
||||||
if (!isNaN(this.options.height)) {
|
if (!isNaN(this.options.height)) {
|
||||||
this.uiHeight = this.options.height;
|
this.uiHeight = this.options.height;
|
||||||
}
|
}
|
||||||
|
@ -133,6 +133,8 @@ RED.menu = (function() {
|
|||||||
if (opt.options) {
|
if (opt.options) {
|
||||||
item.addClass("red-ui-menu-dropdown-submenu"+(opt.direction!=='right'?" pull-left":""));
|
item.addClass("red-ui-menu-dropdown-submenu"+(opt.direction!=='right'?" pull-left":""));
|
||||||
var submenu = $('<ul id="'+opt.id+'-submenu" class="red-ui-menu-dropdown"></ul>').appendTo(item);
|
var submenu = $('<ul id="'+opt.id+'-submenu" class="red-ui-menu-dropdown"></ul>').appendTo(item);
|
||||||
|
var hasIcons = false
|
||||||
|
var hasSubmenus = false
|
||||||
|
|
||||||
for (var i=0;i<opt.options.length;i++) {
|
for (var i=0;i<opt.options.length;i++) {
|
||||||
|
|
||||||
@ -144,6 +146,8 @@ RED.menu = (function() {
|
|||||||
opt.options[i].onpostselect = opt.onpostselect
|
opt.options[i].onpostselect = opt.onpostselect
|
||||||
}
|
}
|
||||||
opt.options[i].direction = opt.direction
|
opt.options[i].direction = opt.direction
|
||||||
|
hasIcons = hasIcons || (opt.options[i].icon);
|
||||||
|
hasSubmenus = hasSubmenus || (opt.options[i].options);
|
||||||
}
|
}
|
||||||
|
|
||||||
var li = createMenuItem(opt.options[i]);
|
var li = createMenuItem(opt.options[i]);
|
||||||
@ -151,10 +155,21 @@ RED.menu = (function() {
|
|||||||
li.appendTo(submenu);
|
li.appendTo(submenu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!hasIcons) {
|
||||||
|
submenu.addClass("red-ui-menu-dropdown-noicons")
|
||||||
|
}
|
||||||
|
if (hasSubmenus) {
|
||||||
|
submenu.addClass("red-ui-menu-dropdown-submenus")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if (opt.disabled) {
|
if (opt.disabled) {
|
||||||
item.addClass("disabled");
|
item.addClass("disabled");
|
||||||
}
|
}
|
||||||
|
if (opt.visible === false) {
|
||||||
|
item.addClass("hide");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -191,6 +206,8 @@ RED.menu = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var lastAddedSeparator = false;
|
var lastAddedSeparator = false;
|
||||||
|
var hasSubmenus = false;
|
||||||
|
var hasIcons = false;
|
||||||
for (var i=0;i<options.options.length;i++) {
|
for (var i=0;i<options.options.length;i++) {
|
||||||
var opt = options.options[i];
|
var opt = options.options[i];
|
||||||
if (opt) {
|
if (opt) {
|
||||||
@ -203,6 +220,8 @@ RED.menu = (function() {
|
|||||||
opt.direction = options.direction || 'left'
|
opt.direction = options.direction || 'left'
|
||||||
}
|
}
|
||||||
if (opt !== null || !lastAddedSeparator) {
|
if (opt !== null || !lastAddedSeparator) {
|
||||||
|
hasIcons = hasIcons || (opt && opt.icon);
|
||||||
|
hasSubmenus = hasSubmenus || (opt && opt.options);
|
||||||
var li = createMenuItem(opt);
|
var li = createMenuItem(opt);
|
||||||
if (li) {
|
if (li) {
|
||||||
li.appendTo(topMenu);
|
li.appendTo(topMenu);
|
||||||
@ -210,7 +229,12 @@ RED.menu = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!hasIcons) {
|
||||||
|
topMenu.addClass("red-ui-menu-dropdown-noicons")
|
||||||
|
}
|
||||||
|
if (hasSubmenus) {
|
||||||
|
topMenu.addClass("red-ui-menu-dropdown-submenus")
|
||||||
|
}
|
||||||
return topMenu;
|
return topMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,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) {
|
function addItem(id,opt) {
|
||||||
var item = createMenuItem(opt);
|
var item = createMenuItem(opt);
|
||||||
if (opt !== null && opt.group) {
|
if (opt !== null && opt.group) {
|
||||||
@ -338,6 +370,7 @@ RED.menu = (function() {
|
|||||||
isSelected: isSelected,
|
isSelected: isSelected,
|
||||||
toggleSelected: toggleSelected,
|
toggleSelected: toggleSelected,
|
||||||
setDisabled: setDisabled,
|
setDisabled: setDisabled,
|
||||||
|
setVisible: setVisible,
|
||||||
addItem: addItem,
|
addItem: addItem,
|
||||||
removeItem: removeItem,
|
removeItem: removeItem,
|
||||||
setAction: setAction,
|
setAction: setAction,
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
* - multi : boolean - if true, .selected will return an array of results
|
* - multi : boolean - if true, .selected will return an array of results
|
||||||
* otherwise, returns the first selected item
|
* otherwise, returns the first selected item
|
||||||
* - sortable: boolean/string - TODO: see editableList
|
* - 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
|
* - rootSortable: boolean - if 'sortable' is set, then setting this to
|
||||||
* false, prevents items being sorted to the
|
* false, prevents items being sorted to the
|
||||||
* top level of the tree
|
* top level of the tree
|
||||||
@ -118,6 +119,7 @@
|
|||||||
switch(evt.keyCode) {
|
switch(evt.keyCode) {
|
||||||
case 32: // SPACE
|
case 32: // SPACE
|
||||||
case 13: // ENTER
|
case 13: // ENTER
|
||||||
|
if (!that.options.selectable) { return }
|
||||||
if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) {
|
if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -90,10 +90,10 @@
|
|||||||
optEl.append(generateSpans(srcMatch));
|
optEl.append(generateSpans(srcMatch));
|
||||||
optEl.appendTo(element);
|
optEl.appendTo(element);
|
||||||
}
|
}
|
||||||
matches.push({
|
matches.push({
|
||||||
value: optVal,
|
value: optVal,
|
||||||
label: element,
|
label: element,
|
||||||
i: (valMatch.found ? valMatch.index : srcMatch.index)
|
i: (valMatch.found ? valMatch.index : srcMatch.index)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -146,7 +146,7 @@
|
|||||||
{ value: "reset", source: ["delay","trigger","join","rbe"] },
|
{ value: "reset", source: ["delay","trigger","join","rbe"] },
|
||||||
{ value: "responseCookies", source: ["http request"] },
|
{ value: "responseCookies", source: ["http request"] },
|
||||||
{ value: "responseTopic", source: ["mqtt"] },
|
{ value: "responseTopic", source: ["mqtt"] },
|
||||||
{ value: "responseURL", source: ["http request"] },
|
{ value: "responseUrl", source: ["http request"] },
|
||||||
{ value: "restartTimeout", source: ["join"] },
|
{ value: "restartTimeout", source: ["join"] },
|
||||||
{ value: "retain", source: ["mqtt"] },
|
{ value: "retain", source: ["mqtt"] },
|
||||||
{ value: "schema", source: ["json"] },
|
{ value: "schema", source: ["json"] },
|
||||||
@ -501,7 +501,7 @@
|
|||||||
this.options.types = this.options.types||Object.keys(allOptions);
|
this.options.types = this.options.types||Object.keys(allOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.selectTrigger = $('<button class="red-ui-typedInput-type-select" tabindex="0"></button>').prependTo(this.uiSelect);
|
this.selectTrigger = $('<button type="button" class="red-ui-typedInput-type-select" tabindex="0"></button>').prependTo(this.uiSelect);
|
||||||
$('<i class="red-ui-typedInput-icon fa fa-caret-down"></i>').toggle(this.options.types.length > 1).appendTo(this.selectTrigger);
|
$('<i class="red-ui-typedInput-icon fa fa-caret-down"></i>').toggle(this.options.types.length > 1).appendTo(this.selectTrigger);
|
||||||
|
|
||||||
this.selectLabel = $('<span class="red-ui-typedInput-type-label"></span>').appendTo(this.selectTrigger);
|
this.selectLabel = $('<span class="red-ui-typedInput-type-label"></span>').appendTo(this.selectTrigger);
|
||||||
@ -570,7 +570,7 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
// explicitly set optionSelectTrigger display to inline-block otherwise jQ sets it to 'inline'
|
// explicitly set optionSelectTrigger display to inline-block otherwise jQ sets it to 'inline'
|
||||||
this.optionSelectTrigger = $('<button tabindex="0" class="red-ui-typedInput-option-trigger" style="display:inline-block"><span class="red-ui-typedInput-option-caret"><i class="red-ui-typedInput-icon fa fa-caret-down"></i></span></button>').appendTo(this.uiSelect);
|
this.optionSelectTrigger = $('<button type="button" tabindex="0" class="red-ui-typedInput-option-trigger" style="display:inline-block"><span class="red-ui-typedInput-option-caret"><i class="red-ui-typedInput-icon fa fa-caret-down"></i></span></button>').appendTo(this.uiSelect);
|
||||||
this.optionSelectLabel = $('<span class="red-ui-typedInput-option-label"></span>').prependTo(this.optionSelectTrigger);
|
this.optionSelectLabel = $('<span class="red-ui-typedInput-option-label"></span>').prependTo(this.optionSelectTrigger);
|
||||||
// RED.popover.tooltip(this.optionSelectLabel,function() {
|
// RED.popover.tooltip(this.optionSelectLabel,function() {
|
||||||
// return that.optionValue;
|
// return that.optionValue;
|
||||||
@ -591,7 +591,7 @@
|
|||||||
that.uiSelect.addClass('red-ui-typedInput-focus');
|
that.uiSelect.addClass('red-ui-typedInput-focus');
|
||||||
});
|
});
|
||||||
|
|
||||||
this.optionExpandButton = $('<button tabindex="0" class="red-ui-typedInput-option-expand" style="display:inline-block"></button>').appendTo(this.uiSelect);
|
this.optionExpandButton = $('<button type="button" tabindex="0" class="red-ui-typedInput-option-expand" style="display:inline-block"></button>').appendTo(this.uiSelect);
|
||||||
this.optionExpandButtonIcon = $('<i class="red-ui-typedInput-icon fa fa-ellipsis-h"></i>').appendTo(this.optionExpandButton);
|
this.optionExpandButtonIcon = $('<i class="red-ui-typedInput-icon fa fa-ellipsis-h"></i>').appendTo(this.optionExpandButton);
|
||||||
|
|
||||||
this.type(this.typeField.val() || this.options.default||this.typeList[0].value);
|
this.type(this.typeField.val() || this.options.default||this.typeList[0].value);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
RED.contextMenu = (function() {
|
RED.contextMenu = (function () {
|
||||||
|
|
||||||
let menu;
|
let menu;
|
||||||
function createMenu() {
|
function createMenu() {
|
||||||
@ -15,10 +15,6 @@ RED.contextMenu = (function() {
|
|||||||
// ],
|
// ],
|
||||||
// width: 200,
|
// width: 200,
|
||||||
// })
|
// })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function disposeMenu() {
|
function disposeMenu() {
|
||||||
@ -34,42 +30,80 @@ RED.contextMenu = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const selection = RED.view.selection()
|
const selection = RED.view.selection()
|
||||||
|
const noSelection = !selection || Object.keys(selection).length === 0
|
||||||
const hasSelection = (selection.nodes && selection.nodes.length > 0);
|
const hasSelection = (selection.nodes && selection.nodes.length > 0);
|
||||||
const hasMultipleSelection = hasSelection && selection.nodes.length > 1;
|
const hasMultipleSelection = hasSelection && selection.nodes.length > 1;
|
||||||
const hasLinks = selection.links && selection.links.length > 0;
|
const virtulLinks = (selection.links && selection.links.filter(e => !!e.link)) || [];
|
||||||
const isSingleLink = !hasSelection && hasLinks && selection.links.length === 1
|
const wireLinks = (selection.links && selection.links.filter(e => !e.link)) || [];
|
||||||
const isMultipleLinks = !hasSelection && hasLinks && selection.links.length > 1
|
const hasLinks = wireLinks.length > 0;
|
||||||
|
const isSingleLink = !hasSelection && hasLinks && wireLinks.length === 1
|
||||||
|
const isMultipleLinks = !hasSelection && hasLinks && wireLinks.length > 1
|
||||||
const canDelete = hasSelection || hasLinks
|
const canDelete = hasSelection || hasLinks
|
||||||
const isGroup = hasSelection && selection.nodes.length === 1 && selection.nodes[0].type === 'group'
|
const isGroup = hasSelection && selection.nodes.length === 1 && selection.nodes[0].type === 'group'
|
||||||
|
|
||||||
const canRemoveFromGroup = hasSelection && !!selection.nodes[0].g
|
const canRemoveFromGroup = hasSelection && !!selection.nodes[0].g
|
||||||
|
const offset = $("#red-ui-workspace-chart").offset()
|
||||||
|
|
||||||
|
// addX/addY must be the position in the workspace accounting for both scroll and scale
|
||||||
|
// The +5 is because we display the contextMenu -5,-5 to actual click position
|
||||||
|
let addX = (options.x + 5 - offset.left + $("#red-ui-workspace-chart").scrollLeft()) / RED.view.scale()
|
||||||
|
let addY = (options.y + 5 - offset.top + $("#red-ui-workspace-chart").scrollTop()) / RED.view.scale()
|
||||||
|
|
||||||
const menuItems = [
|
const menuItems = [
|
||||||
{ onselect: 'core:show-action-list', onpostselect: function() {} },
|
{ onselect: 'core:show-action-list', onpostselect: function () { } },
|
||||||
{
|
{
|
||||||
label: 'Insert',
|
label: RED._("contextMenu.insert"),
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
label: 'Node',
|
label: RED._("contextMenu.node"),
|
||||||
onselect: function() {
|
onselect: function () {
|
||||||
RED.view.showQuickAddDialog({
|
RED.view.showQuickAddDialog({
|
||||||
position: [ options.x - offset.left, options.y - offset.top ],
|
position: [addX, addY],
|
||||||
touchTrigger: true,
|
touchTrigger: true,
|
||||||
splice: isSingleLink?selection.links[0]:undefined,
|
splice: isSingleLink ? selection.links[0] : undefined,
|
||||||
// spliceMultiple: isMultipleLinks
|
// spliceMultiple: isMultipleLinks
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
onpostselect: function() {
|
||||||
|
// ensure quick add dialog search input has focus
|
||||||
|
$('#red-ui-type-search-input').trigger('focus')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
(hasLinks) ? { // has least 1 wire selected
|
||||||
|
label: RED._("contextMenu.junction"),
|
||||||
|
onselect: 'core:split-wires-with-junctions',
|
||||||
|
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.select({nodes: [nn] });
|
||||||
|
RED.view.redraw(true)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Junction',
|
label: RED._("contextMenu.linkNodes"),
|
||||||
onselect: 'core:split-wires-with-junctions',
|
|
||||||
disabled: hasSelection || !hasLinks
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Link Nodes',
|
|
||||||
onselect: 'core:split-wire-with-link-nodes',
|
onselect: 'core:split-wire-with-link-nodes',
|
||||||
disabled: hasSelection || !hasLinks
|
disabled: !hasLinks
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -77,28 +111,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(
|
menuItems.push(
|
||||||
null,
|
null,
|
||||||
{ onselect: 'core:undo', disabled: RED.history.list().length === 0 },
|
{ onselect: 'core:undo', disabled: RED.history.list().length === 0 },
|
||||||
{ onselect: 'core:redo', disabled: RED.history.listRedo().length === 0 },
|
{ onselect: 'core:redo', disabled: RED.history.listRedo().length === 0 },
|
||||||
null,
|
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: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:paste-from-internal-clipboard', label: RED._("keyboard.pasteNode"), disabled: !RED.view.clipboard() },
|
||||||
{ onselect: 'core:delete-selection', disabled: !canDelete },
|
{ onselect: 'core:delete-selection', disabled: !canDelete },
|
||||||
@ -110,27 +129,34 @@ RED.contextMenu = (function() {
|
|||||||
menuItems.push(
|
menuItems.push(
|
||||||
null,
|
null,
|
||||||
isGroup ?
|
isGroup ?
|
||||||
{ onselect: 'core:ungroup-selection', disabled: !isGroup }
|
{ onselect: 'core:ungroup-selection', disabled: !isGroup }
|
||||||
: { onselect: 'core:group-selection', disabled: !hasSelection }
|
: { onselect: 'core:group-selection', disabled: !hasSelection }
|
||||||
)
|
)
|
||||||
if (canRemoveFromGroup) {
|
if (canRemoveFromGroup) {
|
||||||
menuItems.push({ onselect: 'core:remove-selection-from-group', label: RED._("menu.label.groupRemoveSelection") })
|
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({
|
menu = RED.menu.init({
|
||||||
direction: 'right',
|
direction: direction,
|
||||||
onpreselect: function() {
|
onpreselect: function() {
|
||||||
disposeMenu()
|
disposeMenu()
|
||||||
},
|
},
|
||||||
onpostselect: function() {
|
onpostselect: function () {
|
||||||
RED.view.focus()
|
RED.view.focus()
|
||||||
},
|
},
|
||||||
options: menuItems
|
options: menuItems
|
||||||
});
|
});
|
||||||
|
|
||||||
menu.attr("id","red-ui-workspace-context-menu");
|
menu.attr("id", "red-ui-workspace-context-menu");
|
||||||
menu.css({
|
menu.css({
|
||||||
position: "absolute"
|
position: "absolute"
|
||||||
})
|
})
|
||||||
@ -141,35 +167,37 @@ RED.contextMenu = (function() {
|
|||||||
var top = options.y
|
var top = options.y
|
||||||
var left = options.x
|
var left = options.x
|
||||||
|
|
||||||
if (top+menu.height()-$(document).scrollTop() > $(window).height()) {
|
if (top + menu.height() - $(document).scrollTop() > $(window).height()) {
|
||||||
top -= (top+menu.height())-$(window).height() + 22;
|
top -= (top + menu.height()) - $(window).height() + 22;
|
||||||
}
|
}
|
||||||
if (left+menu.width()-$(document).scrollLeft() > $(window).width()) {
|
if (left + menu.width() - $(document).scrollLeft() > $(window).width()) {
|
||||||
left -= (left+menu.width())-$(window).width() + 18;
|
left -= (left + menu.width()) - $(window).width() + 18;
|
||||||
}
|
}
|
||||||
menu.css({
|
menu.css({
|
||||||
top: top+"px",
|
top: top + "px",
|
||||||
left: left+"px"
|
left: left + "px"
|
||||||
})
|
})
|
||||||
$(".red-ui-menu.red-ui-menu-dropdown").hide();
|
$(".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)) {
|
if (menu && menu[0].contains(evt.target)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
disposeMenu()
|
disposeMenu()
|
||||||
});
|
});
|
||||||
menu.show();
|
menu.show();
|
||||||
|
// set focus to first item so that pressing escape key closes the menu
|
||||||
// menu.show({
|
$("#red-ui-workspace-context-menu :first(ul) > a").trigger("focus")
|
||||||
// target: $('#red-ui-main-container'),
|
|
||||||
// x: options.x,
|
|
||||||
// y: options.y
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// 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 {
|
return {
|
||||||
show: show
|
show: show,
|
||||||
|
hide: disposeMenu
|
||||||
}
|
}
|
||||||
})()
|
})()
|
||||||
|
@ -63,16 +63,18 @@ RED.deploy = (function() {
|
|||||||
'</a>'+
|
'</a>'+
|
||||||
'<a id="red-ui-header-button-deploy-options" class="red-ui-deploy-button" href="#"><i class="fa fa-caret-down"></i></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");
|
'</span></li>').prependTo(".red-ui-header-toolbar");
|
||||||
RED.menu.init({id:"red-ui-header-button-deploy-options",
|
const mainMenuItems = [
|
||||||
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-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-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")}}},
|
||||||
{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
|
||||||
null,
|
]
|
||||||
{id:"deploymenu-item-reload", icon:"red/images/deploy-reload.svg",label:RED._("deploy.restartFlows"),sublabel:RED._("deploy.restartFlowsDesc"),onselect:"core:restart-flows"},
|
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") {
|
} else if (type == "simple") {
|
||||||
var label = options.label || RED._("deploy.deploy");
|
var label = options.label || RED._("deploy.deploy");
|
||||||
var icon = 'red/images/deploy-full-o.svg';
|
var icon = 'red/images/deploy-full-o.svg';
|
||||||
@ -100,6 +102,10 @@ RED.deploy = (function() {
|
|||||||
|
|
||||||
RED.actions.add("core:deploy-flows",save);
|
RED.actions.add("core:deploy-flows",save);
|
||||||
if (type === "default") {
|
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: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-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); });
|
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) {
|
function sanitize(html) {
|
||||||
return html.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")
|
return html.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")
|
||||||
}
|
}
|
||||||
function restart() {
|
|
||||||
var startTime = Date.now();
|
function shadeShow() {
|
||||||
$(".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;
|
|
||||||
$("#red-ui-header-shade").show();
|
$("#red-ui-header-shade").show();
|
||||||
$("#red-ui-editor-shade").show();
|
$("#red-ui-editor-shade").show();
|
||||||
$("#red-ui-palette-shade").show();
|
$("#red-ui-palette-shade").show();
|
||||||
$("#red-ui-sidebar-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({
|
$.ajax({
|
||||||
url:"flows",
|
url:"flows",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
@ -307,15 +368,10 @@ RED.deploy = (function() {
|
|||||||
RED.notify(RED._("deploy.deployFailed",{message:RED._("deploy.errors.noResponse")}),"error");
|
RED.notify(RED._("deploy.deployFailed",{message:RED._("deploy.errors.noResponse")}),"error");
|
||||||
}
|
}
|
||||||
}).always(function() {
|
}).always(function() {
|
||||||
deployInflight = false;
|
|
||||||
var delta = Math.max(0,300-(Date.now()-startTime));
|
var delta = Math.max(0,300-(Date.now()-startTime));
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$(".red-ui-deploy-button-content").css('opacity',1);
|
deployButtonClearBusy();
|
||||||
$(".red-ui-deploy-button-spinner").hide();
|
deployInflight = false;
|
||||||
$("#red-ui-header-shade").hide();
|
|
||||||
$("#red-ui-editor-shade").hide();
|
|
||||||
$("#red-ui-palette-shade").hide();
|
|
||||||
$("#red-ui-sidebar-shade").hide();
|
|
||||||
},delta);
|
},delta);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -450,21 +506,14 @@ RED.deploy = (function() {
|
|||||||
const nns = RED.nodes.createCompleteNodeSet();
|
const nns = RED.nodes.createCompleteNodeSet();
|
||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
|
|
||||||
$(".red-ui-deploy-button-content").css('opacity', 0);
|
deployButtonSetBusy();
|
||||||
$(".red-ui-deploy-button-spinner").show();
|
|
||||||
$("#red-ui-header-button-deploy").addClass("disabled");
|
|
||||||
|
|
||||||
const data = { flows: nns };
|
const data = { flows: nns };
|
||||||
|
|
||||||
if (!force) {
|
if (!force) {
|
||||||
data.rev = RED.nodes.version();
|
data.rev = RED.nodes.version();
|
||||||
}
|
}
|
||||||
|
|
||||||
deployInflight = true;
|
deployInflight = true;
|
||||||
$("#red-ui-header-shade").show();
|
shadeShow();
|
||||||
$("#red-ui-editor-shade").show();
|
|
||||||
$("#red-ui-palette-shade").show();
|
|
||||||
$("#red-ui-sidebar-shade").show();
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "flows",
|
url: "flows",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
@ -550,15 +599,11 @@ RED.deploy = (function() {
|
|||||||
RED.notify(RED._("deploy.deployFailed", { message: RED._("deploy.errors.noResponse") }), "error");
|
RED.notify(RED._("deploy.deployFailed", { message: RED._("deploy.errors.noResponse") }), "error");
|
||||||
}
|
}
|
||||||
}).always(function () {
|
}).always(function () {
|
||||||
deployInflight = false;
|
|
||||||
const delta = Math.max(0, 300 - (Date.now() - startTime));
|
const delta = Math.max(0, 300 - (Date.now() - startTime));
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
$(".red-ui-deploy-button-content").css('opacity', 1);
|
deployInflight = false;
|
||||||
$(".red-ui-deploy-button-spinner").hide();
|
deployButtonClearBusy()
|
||||||
$("#red-ui-header-shade").hide();
|
shadeHide()
|
||||||
$("#red-ui-editor-shade").hide();
|
|
||||||
$("#red-ui-palette-shade").hide();
|
|
||||||
$("#red-ui-sidebar-shade").hide();
|
|
||||||
}, delta);
|
}, delta);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -238,6 +238,7 @@ RED.editor = (function() {
|
|||||||
var valid = validateNodeProperty(node, defaults, property,value);
|
var valid = validateNodeProperty(node, defaults, property,value);
|
||||||
if (((typeof valid) === "string") || !valid) {
|
if (((typeof valid) === "string") || !valid) {
|
||||||
input.addClass("input-error");
|
input.addClass("input-error");
|
||||||
|
input.next(".red-ui-typedInput-container").addClass("input-error");
|
||||||
if ((typeof valid) === "string") {
|
if ((typeof valid) === "string") {
|
||||||
var tooltip = input.data("tooltip");
|
var tooltip = input.data("tooltip");
|
||||||
if (tooltip) {
|
if (tooltip) {
|
||||||
@ -250,6 +251,7 @@ RED.editor = (function() {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
input.removeClass("input-error");
|
input.removeClass("input-error");
|
||||||
|
input.next(".red-ui-typedInput-container").removeClass("input-error");
|
||||||
var tooltip = input.data("tooltip");
|
var tooltip = input.data("tooltip");
|
||||||
if (tooltip) {
|
if (tooltip) {
|
||||||
input.data("tooltip", null);
|
input.data("tooltip", null);
|
||||||
@ -1105,6 +1107,10 @@ RED.editor = (function() {
|
|||||||
if (editing_node) {
|
if (editing_node) {
|
||||||
RED.sidebar.info.refresh(editing_node);
|
RED.sidebar.info.refresh(editing_node);
|
||||||
RED.sidebar.help.show(editing_node.type, false);
|
RED.sidebar.help.show(editing_node.type, false);
|
||||||
|
//ensure focused element is NOT body (for keyboard scope to operate correctly)
|
||||||
|
if (document.activeElement.tagName === 'BODY') {
|
||||||
|
$('#red-ui-editor-stack').trigger('focus')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
const MONACO = "monaco";
|
const MONACO = "monaco";
|
||||||
const ACE = "ace";
|
const ACE = "ace";
|
||||||
const defaultEditor = ACE;
|
const defaultEditor = MONACO;
|
||||||
const DEFAULT_SETTINGS = { lib: defaultEditor, options: {} };
|
const DEFAULT_SETTINGS = { lib: defaultEditor, options: {} };
|
||||||
var selectedCodeEditor = null;
|
var selectedCodeEditor = null;
|
||||||
var initialised = false;
|
var initialised = false;
|
||||||
@ -48,12 +48,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function create(options) {
|
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
|
// 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)
|
// 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'
|
// 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.
|
// 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)
|
// 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?
|
// 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.
|
// 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 this.editor.create(options);//fallback to ACE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
init: init,
|
init: init,
|
||||||
/**
|
/**
|
||||||
@ -91,7 +91,7 @@
|
|||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Get user selected code editor
|
* Get user selected code editor
|
||||||
* @return {string} Returns
|
* @return {string} Returns
|
||||||
* @memberof RED.editor.codeEditor
|
* @memberof RED.editor.codeEditor
|
||||||
*/
|
*/
|
||||||
get editor() {
|
get editor() {
|
||||||
@ -104,4 +104,4 @@
|
|||||||
*/
|
*/
|
||||||
create: create
|
create: create
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
@ -100,7 +100,7 @@ RED.editor.codeEditor.monaco = (function() {
|
|||||||
"node-red-util": {package: "node-red", module: "util", path: "node-red/util.d.ts" },
|
"node-red-util": {package: "node-red", module: "util", path: "node-red/util.d.ts" },
|
||||||
"node-red-func": {package: "node-red", module: "func", path: "node-red/func.d.ts" },
|
"node-red-func": {package: "node-red", module: "func", path: "node-red/func.d.ts" },
|
||||||
}
|
}
|
||||||
const defaultServerSideTypes = [ knownModules["node-red-util"], knownModules["node-red-func"], knownModules["globals"], knownModules["console"], knownModules["buffer"] ];
|
const defaultServerSideTypes = [ knownModules["node-red-util"], knownModules["node-red-func"], knownModules["globals"], knownModules["console"], knownModules["buffer"] , knownModules["util"] ];
|
||||||
|
|
||||||
const modulesCache = {};
|
const modulesCache = {};
|
||||||
|
|
||||||
@ -764,7 +764,7 @@ RED.editor.codeEditor.monaco = (function() {
|
|||||||
|
|
||||||
|
|
||||||
if(!options.stateId && options.stateId !== false) {
|
if(!options.stateId && options.stateId !== false) {
|
||||||
options.stateId = RED.editor.generateViewStateId("monaco", options, (options.mode || options.title).split("/").pop());
|
options.stateId = RED.editor.generateViewStateId("monaco", options, (options.mode || options.title || "").split("/").pop());
|
||||||
}
|
}
|
||||||
var el = options.element || $("#"+options.id)[0];
|
var el = options.element || $("#"+options.id)[0];
|
||||||
var toolbarRow = $("<div>").appendTo(el);
|
var toolbarRow = $("<div>").appendTo(el);
|
||||||
|
@ -76,6 +76,9 @@ RED.editor.colorPicker = RED.colorPicker = (function() {
|
|||||||
var focusTarget = colorInput;
|
var focusTarget = colorInput;
|
||||||
colorInput.on("change", function (e) {
|
colorInput.on("change", function (e) {
|
||||||
var color = colorInput.val();
|
var color = colorInput.val();
|
||||||
|
if (options.defaultValue && !color.match(/^([a-z]+|#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3})$/)) {
|
||||||
|
color = options.defaultValue;
|
||||||
|
}
|
||||||
colorHiddenInput.val(color).trigger('change');
|
colorHiddenInput.val(color).trigger('change');
|
||||||
refreshDisplay(color);
|
refreshDisplay(color);
|
||||||
});
|
});
|
||||||
|
@ -41,8 +41,12 @@ RED.editor.envVarList = (function() {
|
|||||||
style: "width:100%",
|
style: "width:100%",
|
||||||
class: "node-input-env-value",
|
class: "node-input-env-value",
|
||||||
type: "text",
|
type: "text",
|
||||||
}).attr("autocomplete","disable").appendTo(envRow)
|
}).attr("autocomplete","disable").appendTo(envRow);
|
||||||
valueField.typedInput({default:'str',types:isTemplateNode?DEFAULT_ENV_TYPE_LIST:DEFAULT_ENV_TYPE_LIST_INC_CRED});
|
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);
|
valueField.typedInput('type', opt.type);
|
||||||
if (opt.type === "cred") {
|
if (opt.type === "cred") {
|
||||||
if (opt.value) {
|
if (opt.value) {
|
||||||
@ -94,6 +98,11 @@ RED.editor.envVarList = (function() {
|
|||||||
}
|
}
|
||||||
opt.ui.label = opt.ui.label || {};
|
opt.ui.label = opt.ui.label || {};
|
||||||
opt.ui.type = opt.ui.type || "input";
|
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();
|
var uiRow = $('<div/>').appendTo(container).hide();
|
||||||
// save current info for reverting on cancel
|
// save current info for reverting on cancel
|
||||||
|
@ -255,6 +255,9 @@
|
|||||||
var currentExpression = expressionEditor.getValue();
|
var currentExpression = expressionEditor.getValue();
|
||||||
var expr;
|
var expr;
|
||||||
var usesContext = false;
|
var usesContext = false;
|
||||||
|
var usesEnv = false;
|
||||||
|
var usesMoment = false;
|
||||||
|
var usesClone = false;
|
||||||
var legacyMode = /(^|[^a-zA-Z0-9_'".])msg([^a-zA-Z0-9_'"]|$)/.test(currentExpression);
|
var legacyMode = /(^|[^a-zA-Z0-9_'".])msg([^a-zA-Z0-9_'"]|$)/.test(currentExpression);
|
||||||
$(".red-ui-editor-type-expression-legacy").toggle(legacyMode);
|
$(".red-ui-editor-type-expression-legacy").toggle(legacyMode);
|
||||||
try {
|
try {
|
||||||
@ -267,6 +270,18 @@
|
|||||||
usesContext = true;
|
usesContext = true;
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
expr.assign("env", function(name) {
|
||||||
|
usesEnv = true;
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
expr.assign("moment", function(name) {
|
||||||
|
usesMoment = true;
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
expr.assign("clone", function(name) {
|
||||||
|
usesClone = true;
|
||||||
|
return null;
|
||||||
|
});
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
testResultEditor.setValue(RED._("expressionEditor.errors.invalid-expr",{message:err.message}),-1);
|
testResultEditor.setValue(RED._("expressionEditor.errors.invalid-expr",{message:err.message}),-1);
|
||||||
return;
|
return;
|
||||||
@ -284,6 +299,18 @@
|
|||||||
testResultEditor.setValue(RED._("expressionEditor.errors.context-unsupported"),-1);
|
testResultEditor.setValue(RED._("expressionEditor.errors.context-unsupported"),-1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (usesEnv) {
|
||||||
|
testResultEditor.setValue(RED._("expressionEditor.errors.env-unsupported"),-1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (usesMoment) {
|
||||||
|
testResultEditor.setValue(RED._("expressionEditor.errors.moment-unsupported"),-1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (usesClone) {
|
||||||
|
testResultEditor.setValue(RED._("expressionEditor.errors.clone-unsupported"),-1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var formattedResult;
|
var formattedResult;
|
||||||
if (result !== undefined) {
|
if (result !== undefined) {
|
||||||
|
@ -534,6 +534,7 @@
|
|||||||
var container = $("#red-ui-editor-type-json-tab-ui-container").css({"height":"100%"});
|
var container = $("#red-ui-editor-type-json-tab-ui-container").css({"height":"100%"});
|
||||||
var filterDepth = Infinity;
|
var filterDepth = Infinity;
|
||||||
var list = $('<div class="red-ui-debug-msg-payload red-ui-editor-type-json-editor">').appendTo(container).treeList({
|
var list = $('<div class="red-ui-debug-msg-payload red-ui-editor-type-json-editor">').appendTo(container).treeList({
|
||||||
|
selectable: false,
|
||||||
rootSortable: false,
|
rootSortable: false,
|
||||||
sortable: ".red-ui-editor-type-json-editor-item-handle",
|
sortable: ".red-ui-editor-type-json-editor-item-handle",
|
||||||
}).on("treelistchangeparent", function(event, evt) {
|
}).on("treelistchangeparent", function(event, evt) {
|
||||||
|
@ -37,8 +37,7 @@
|
|||||||
if (!node._def.defaults || !node._def.defaults.hasOwnProperty("icon")) {
|
if (!node._def.defaults || !node._def.defaults.hasOwnProperty("icon")) {
|
||||||
var icon = $("#red-ui-editor-node-icon").val()||"";
|
var icon = $("#red-ui-editor-node-icon").val()||"";
|
||||||
if (!this.isDefaultIcon) {
|
if (!this.isDefaultIcon) {
|
||||||
if ((icon !== node.icon) &&
|
if ((node.icon && icon !== node.icon) || (!node.icon && icon !== "")) {
|
||||||
(icon !== "")) {
|
|
||||||
editState.changes.icon = node.icon;
|
editState.changes.icon = node.icon;
|
||||||
node.icon = icon;
|
node.icon = icon;
|
||||||
editState.changed = true;
|
editState.changed = true;
|
||||||
@ -236,6 +235,7 @@
|
|||||||
RED.editor.colorPicker.create({
|
RED.editor.colorPicker.create({
|
||||||
id: "red-ui-editor-node-color",
|
id: "red-ui-editor-node-color",
|
||||||
value: color,
|
value: color,
|
||||||
|
defaultValue: "#DDAA99",
|
||||||
palette: recommendedColors,
|
palette: recommendedColors,
|
||||||
sortPalette: function (a, b) {return a.l - b.l;}
|
sortPalette: function (a, b) {return a.l - b.l;}
|
||||||
}).appendTo(colorRow);
|
}).appendTo(colorRow);
|
||||||
|
@ -101,6 +101,7 @@ RED.group = (function() {
|
|||||||
RED.editor.colorPicker.create({
|
RED.editor.colorPicker.create({
|
||||||
id:"node-input-style-stroke",
|
id:"node-input-style-stroke",
|
||||||
value: style.stroke || defaultGroupStyle.stroke || "#a4a4a4",
|
value: style.stroke || defaultGroupStyle.stroke || "#a4a4a4",
|
||||||
|
defaultValue: "#a4a4a4",
|
||||||
palette: colorPalette,
|
palette: colorPalette,
|
||||||
cellPerRow: colorCount,
|
cellPerRow: colorCount,
|
||||||
cellWidth: 16,
|
cellWidth: 16,
|
||||||
@ -112,6 +113,7 @@ RED.group = (function() {
|
|||||||
RED.editor.colorPicker.create({
|
RED.editor.colorPicker.create({
|
||||||
id:"node-input-style-fill",
|
id:"node-input-style-fill",
|
||||||
value: style.fill || defaultGroupStyle.fill ||"none",
|
value: style.fill || defaultGroupStyle.fill ||"none",
|
||||||
|
defaultValue: "none",
|
||||||
palette: colorPalette,
|
palette: colorPalette,
|
||||||
cellPerRow: colorCount,
|
cellPerRow: colorCount,
|
||||||
cellWidth: 16,
|
cellWidth: 16,
|
||||||
@ -129,6 +131,7 @@ RED.group = (function() {
|
|||||||
RED.editor.colorPicker.create({
|
RED.editor.colorPicker.create({
|
||||||
id:"node-input-style-color",
|
id:"node-input-style-color",
|
||||||
value: style.color || defaultGroupStyle.color ||"#a4a4a4",
|
value: style.color || defaultGroupStyle.color ||"#a4a4a4",
|
||||||
|
defaultValue: "#a4a4a4",
|
||||||
palette: colorPalette,
|
palette: colorPalette,
|
||||||
cellPerRow: colorCount,
|
cellPerRow: colorCount,
|
||||||
cellWidth: 16,
|
cellWidth: 16,
|
||||||
@ -308,6 +311,7 @@ RED.group = (function() {
|
|||||||
RED.history.push(historyEvent);
|
RED.history.push(historyEvent);
|
||||||
RED.view.select({nodes:[group]});
|
RED.view.select({nodes:[group]});
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
|
RED.view.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -330,6 +334,7 @@ RED.group = (function() {
|
|||||||
RED.history.push(historyEvent);
|
RED.history.push(historyEvent);
|
||||||
RED.view.select({nodes:newSelection})
|
RED.view.select({nodes:newSelection})
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
|
RED.view.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -424,6 +429,7 @@ RED.group = (function() {
|
|||||||
});
|
});
|
||||||
RED.history.push(historyEvent);
|
RED.history.push(historyEvent);
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
|
RED.view.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,6 +457,7 @@ RED.group = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
RED.view.select({nodes:selection.nodes})
|
RED.view.select({nodes:selection.nodes})
|
||||||
|
RED.view.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function createGroup(nodes) {
|
function createGroup(nodes) {
|
||||||
|
@ -265,13 +265,18 @@ RED.keyboard = (function() {
|
|||||||
if (partialState) {
|
if (partialState) {
|
||||||
partialState = null;
|
partialState = null;
|
||||||
return resolveKeyEvent(evt);
|
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 {
|
} else {
|
||||||
var depth = Infinity;
|
var depth = Infinity;
|
||||||
var matchedHandler;
|
var matchedHandler;
|
||||||
|
0
packages/node_modules/@node-red/editor-client/src/js/ui/library.js
vendored
Executable file → Normal file
0
packages/node_modules/@node-red/editor-client/src/js/ui/library.js
vendored
Executable file → Normal file
16
packages/node_modules/@node-red/editor-client/src/js/ui/palette.js
vendored
Executable file → Normal file
16
packages/node_modules/@node-red/editor-client/src/js/ui/palette.js
vendored
Executable file → Normal file
@ -175,9 +175,19 @@ RED.palette = (function() {
|
|||||||
$('<button type="button" onclick="RED.workspaces.show(\''+type.substring(8).replace(/'/g,"\\'")+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-pencil"></i></button>').appendTo(popOverContent)
|
$('<button type="button" onclick="RED.workspaces.show(\''+type.substring(8).replace(/'/g,"\\'")+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-pencil"></i></button>').appendTo(popOverContent)
|
||||||
}
|
}
|
||||||
|
|
||||||
var safeType = type.replace(/'/g,"\\'");
|
const safeType = type.replace(/'/g,"\\'");
|
||||||
|
const wrapStr = function (str) {
|
||||||
|
if(str.indexOf(' ') >= 0) {
|
||||||
|
return '"' + str + '"'
|
||||||
|
}
|
||||||
|
return str
|
||||||
|
}
|
||||||
|
|
||||||
$('<button type="button" onclick="RED.search.show(\'type:'+safeType+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-search"></i></button>').appendTo(popOverContent)
|
$('<button type="button"; return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-search"></i></button>')
|
||||||
|
.appendTo(popOverContent)
|
||||||
|
.on('click', function() {
|
||||||
|
RED.search.show('type:' + wrapStr(safeType))
|
||||||
|
})
|
||||||
$('<button type="button" onclick="RED.sidebar.help.show(\''+safeType+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-book"></i></button>').appendTo(popOverContent)
|
$('<button type="button" onclick="RED.sidebar.help.show(\''+safeType+'\'); return false;" class="red-ui-button red-ui-button-small" style="float: right; margin-left: 5px;"><i class="fa fa-book"></i></button>').appendTo(popOverContent)
|
||||||
|
|
||||||
$('<p>',{style:"font-size: 0.8em"}).text(metaData).appendTo(popOverContent);
|
$('<p>',{style:"font-size: 0.8em"}).text(metaData).appendTo(popOverContent);
|
||||||
@ -422,6 +432,7 @@ RED.palette = (function() {
|
|||||||
categoryNode.find(".red-ui-palette-content").slideToggle();
|
categoryNode.find(".red-ui-palette-content").slideToggle();
|
||||||
categoryNode.find("i").toggleClass("expanded");
|
categoryNode.find("i").toggleClass("expanded");
|
||||||
}
|
}
|
||||||
|
categoryNode.hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -500,6 +511,7 @@ RED.palette = (function() {
|
|||||||
currentCategoryNode.find(".red-ui-palette-content").slideToggle();
|
currentCategoryNode.find(".red-ui-palette-content").slideToggle();
|
||||||
currentCategoryNode.find("i").toggleClass("expanded");
|
currentCategoryNode.find("i").toggleClass("expanded");
|
||||||
}
|
}
|
||||||
|
currentCategoryNode.hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
28
packages/node_modules/@node-red/editor-client/src/js/ui/projects/projects.js
vendored
Executable file → Normal file
28
packages/node_modules/@node-red/editor-client/src/js/ui/projects/projects.js
vendored
Executable file → Normal file
@ -545,7 +545,7 @@ RED.projects = (function() {
|
|||||||
var sshwarningRow = $('<div class="red-ui-projects-dialog-screen-create-row-auth-error-no-keys"></div>').hide().appendTo(subrow);
|
var sshwarningRow = $('<div class="red-ui-projects-dialog-screen-create-row-auth-error-no-keys"></div>').hide().appendTo(subrow);
|
||||||
$('<div class="form-row"><i class="fa fa-warning"></i> '+RED._("projects.clone-project.ssh-key-desc")+'</div>').appendTo(sshwarningRow);
|
$('<div class="form-row"><i class="fa fa-warning"></i> '+RED._("projects.clone-project.ssh-key-desc")+'</div>').appendTo(sshwarningRow);
|
||||||
subrow = $('<div style="text-align: center">').appendTo(sshwarningRow);
|
subrow = $('<div style="text-align: center">').appendTo(sshwarningRow);
|
||||||
$('<button class="red-ui-button red-ui-projects-dialog-button">'+RED._("projects.clone-project.ssh-key-add")+'</button>').appendTo(subrow).on("click", function(e) {
|
$('<button type="button" class="red-ui-button red-ui-projects-dialog-button">'+RED._("projects.clone-project.ssh-key-add")+'</button>').appendTo(subrow).on("click", function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
dialog.dialog( "close" );
|
dialog.dialog( "close" );
|
||||||
RED.userSettings.show('gitconfig');
|
RED.userSettings.show('gitconfig');
|
||||||
@ -747,14 +747,14 @@ RED.projects = (function() {
|
|||||||
var row = $('<div class="form-row"></div>').appendTo(body);
|
var row = $('<div class="form-row"></div>').appendTo(body);
|
||||||
$('<label for="red-ui-projects-dialog-screen-create-project-file">'+RED._("projects.default-files.flow-file")+'</label>').appendTo(row);
|
$('<label for="red-ui-projects-dialog-screen-create-project-file">'+RED._("projects.default-files.flow-file")+'</label>').appendTo(row);
|
||||||
var subrow = $('<div style="position:relative;"></div>').appendTo(row);
|
var subrow = $('<div style="position:relative;"></div>').appendTo(row);
|
||||||
var defaultFlowFile = (createProjectOptions.files &&createProjectOptions.files.flow) || (RED.settings.files && RED.settings.files.flow)||"flow.json";
|
var defaultFlowFile = (createProjectOptions.files &&createProjectOptions.files.flow) || (RED.settings.files && RED.settings.files.flow) || "flows.json";
|
||||||
projectFlowFileInput = $('<input id="red-ui-projects-dialog-screen-create-project-file" type="text">').val(defaultFlowFile)
|
projectFlowFileInput = $('<input id="red-ui-projects-dialog-screen-create-project-file" type="text">').val(defaultFlowFile)
|
||||||
.on("change keyup paste",validateForm)
|
.on("change keyup paste",validateForm)
|
||||||
.appendTo(subrow);
|
.appendTo(subrow);
|
||||||
$('<div class="red-ui-projects-dialog-screen-input-status"></div>').appendTo(subrow);
|
$('<div class="red-ui-projects-dialog-screen-input-status"></div>').appendTo(subrow);
|
||||||
$('<label class="red-ui-projects-edit-form-sublabel"><small>*.json</small></label>').appendTo(row);
|
$('<label class="red-ui-projects-edit-form-sublabel"><small>*.json</small></label>').appendTo(row);
|
||||||
|
|
||||||
var defaultCredentialsFile = (createProjectOptions.files &&createProjectOptions.files.credentials) || (RED.settings.files && RED.settings.files.credentials)||"flow_cred.json";
|
var defaultCredentialsFile = (createProjectOptions.files &&createProjectOptions.files.credentials) || (RED.settings.files && RED.settings.files.credentials) || "flows_cred.json";
|
||||||
row = $('<div class="form-row"></div>').appendTo(body);
|
row = $('<div class="form-row"></div>').appendTo(body);
|
||||||
$('<label for="red-ui-projects-dialog-screen-create-project-credfile">'+RED._("projects.default-files.credentials-file")+'</label>').appendTo(row);
|
$('<label for="red-ui-projects-dialog-screen-create-project-credfile">'+RED._("projects.default-files.credentials-file")+'</label>').appendTo(row);
|
||||||
subrow = $('<div style="position:relative;"></div>').appendTo(row);
|
subrow = $('<div style="position:relative;"></div>').appendTo(row);
|
||||||
@ -1171,11 +1171,11 @@ RED.projects = (function() {
|
|||||||
|
|
||||||
row = $('<div class="form-row button-group"></div>').appendTo(container);
|
row = $('<div class="form-row button-group"></div>').appendTo(container);
|
||||||
|
|
||||||
var openProject = $('<button data-type="open" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i style="position: absolute;" class="fa fa-folder-open"></i><br/>'+RED._("projects.create.open")+'</button>').appendTo(row);
|
var openProject = $('<button type="button" data-type="open" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i style="position: absolute;" class="fa fa-folder-open"></i><br/>'+RED._("projects.create.open")+'</button>').appendTo(row);
|
||||||
var createAsEmpty = $('<button data-type="empty" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i style="position: absolute;" class="fa fa-asterisk"></i><br/>'+RED._("projects.create.create")+'</button>').appendTo(row);
|
var createAsEmpty = $('<button type="button" data-type="empty" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i style="position: absolute;" class="fa fa-asterisk"></i><br/>'+RED._("projects.create.create")+'</button>').appendTo(row);
|
||||||
// var createAsCopy = $('<button data-type="copy" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i class="fa fa-long-arrow-right fa-2x"></i><i class="fa fa-archive fa-2x"></i><br/>Copy existing</button>').appendTo(row);
|
// var createAsCopy = $('<button type="button" data-type="copy" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i class="fa fa-long-arrow-right fa-2x"></i><i class="fa fa-archive fa-2x"></i><br/>Copy existing</button>').appendTo(row);
|
||||||
var createAsClone = $('<button data-type="clone" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i style="position: absolute;" class="fa fa-git"></i><br/>'+RED._("projects.create.clone")+'</button>').appendTo(row);
|
var createAsClone = $('<button type="button" data-type="clone" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-archive fa-2x"></i><i style="position: absolute;" class="fa fa-git"></i><br/>'+RED._("projects.create.clone")+'</button>').appendTo(row);
|
||||||
// var createAsClone = $('<button data-type="clone" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-git fa-2x"></i><i class="fa fa-arrows-h fa-2x"></i><i class="fa fa-archive fa-2x"></i><br/>Clone Repository</button>').appendTo(row);
|
// var createAsClone = $('<button type="button" data-type="clone" class="red-ui-button red-ui-projects-dialog-button red-ui-projects-dialog-screen-create-type toggle"><i class="fa fa-git fa-2x"></i><i class="fa fa-arrows-h fa-2x"></i><i class="fa fa-archive fa-2x"></i><br/>Clone Repository</button>').appendTo(row);
|
||||||
row.find(".red-ui-projects-dialog-screen-create-type").on("click", function(evt) {
|
row.find(".red-ui-projects-dialog-screen-create-type").on("click", function(evt) {
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
container.find(".red-ui-projects-dialog-screen-create-type").removeClass('selected');
|
container.find(".red-ui-projects-dialog-screen-create-type").removeClass('selected');
|
||||||
@ -1257,7 +1257,7 @@ RED.projects = (function() {
|
|||||||
row = $('<div class="form-row red-ui-projects-dialog-screen-create-row red-ui-projects-dialog-screen-create-row-empty"></div>').appendTo(container);
|
row = $('<div class="form-row red-ui-projects-dialog-screen-create-row red-ui-projects-dialog-screen-create-row-empty"></div>').appendTo(container);
|
||||||
$('<label for="red-ui-projects-dialog-screen-create-project-file">'+RED._("projects.create.flow-file")+'</label>').appendTo(row);
|
$('<label for="red-ui-projects-dialog-screen-create-project-file">'+RED._("projects.create.flow-file")+'</label>').appendTo(row);
|
||||||
subrow = $('<div style="position:relative;"></div>').appendTo(row);
|
subrow = $('<div style="position:relative;"></div>').appendTo(row);
|
||||||
projectFlowFileInput = $('<input id="red-ui-projects-dialog-screen-create-project-file" type="text">').val("flow.json")
|
projectFlowFileInput = $('<input id="red-ui-projects-dialog-screen-create-project-file" type="text">').val("flows.json")
|
||||||
.on("change keyup paste",validateForm)
|
.on("change keyup paste",validateForm)
|
||||||
.appendTo(subrow);
|
.appendTo(subrow);
|
||||||
$('<div class="red-ui-projects-dialog-screen-input-status"></div>').appendTo(subrow);
|
$('<div class="red-ui-projects-dialog-screen-input-status"></div>').appendTo(subrow);
|
||||||
@ -1271,7 +1271,7 @@ RED.projects = (function() {
|
|||||||
var credentialsLeftBox = $('<div class="red-ui-projects-dialog-credentials-box-left">').appendTo(credentialsBox);
|
var credentialsLeftBox = $('<div class="red-ui-projects-dialog-credentials-box-left">').appendTo(credentialsBox);
|
||||||
|
|
||||||
var credentialsEnabledBox = $('<div class="form-row red-ui-projects-dialog-credentials-box-enabled"></div>').appendTo(credentialsLeftBox);
|
var credentialsEnabledBox = $('<div class="form-row red-ui-projects-dialog-credentials-box-enabled"></div>').appendTo(credentialsLeftBox);
|
||||||
$('<label class="red-ui-projects-edit-form-inline-label"><input type="radio" name="projects-encryption-type" value="enabled"> <i class="fa fa-lock"></i> <span>'+RED._("projects.encryption-config.enable")+'</span></label>').appendTo(credentialsEnabledBox);
|
$('<label class="red-ui-projects-edit-form-inline-label"><input type="radio" name="projects-encryption-type" value="enabled" checked> <i class="fa fa-lock"></i> <span>'+RED._("projects.encryption-config.enable")+'</span></label>').appendTo(credentialsEnabledBox);
|
||||||
var credentialsDisabledBox = $('<div class="form-row red-ui-projects-dialog-credentials-box-disabled disabled"></div>').appendTo(credentialsLeftBox);
|
var credentialsDisabledBox = $('<div class="form-row red-ui-projects-dialog-credentials-box-disabled disabled"></div>').appendTo(credentialsLeftBox);
|
||||||
$('<label class="red-ui-projects-edit-form-inline-label"><input type="radio" name="projects-encryption-type" value="disabled"> <i class="fa fa-unlock"></i> <span>'+RED._("projects.encryption-config.disable")+'</span></label>').appendTo(credentialsDisabledBox);
|
$('<label class="red-ui-projects-edit-form-inline-label"><input type="radio" name="projects-encryption-type" value="disabled"> <i class="fa fa-unlock"></i> <span>'+RED._("projects.encryption-config.disable")+'</span></label>').appendTo(credentialsDisabledBox);
|
||||||
|
|
||||||
@ -1397,7 +1397,7 @@ RED.projects = (function() {
|
|||||||
var sshwarningRow = $('<div class="red-ui-projects-dialog-screen-create-row-auth-error-no-keys"></div>').hide().appendTo(subrow);
|
var sshwarningRow = $('<div class="red-ui-projects-dialog-screen-create-row-auth-error-no-keys"></div>').hide().appendTo(subrow);
|
||||||
$('<div class="form-row"><i class="fa fa-warning"></i> '+RED._("projects.create.desc2")+'</div>').appendTo(sshwarningRow);
|
$('<div class="form-row"><i class="fa fa-warning"></i> '+RED._("projects.create.desc2")+'</div>').appendTo(sshwarningRow);
|
||||||
subrow = $('<div style="text-align: center">').appendTo(sshwarningRow);
|
subrow = $('<div style="text-align: center">').appendTo(sshwarningRow);
|
||||||
$('<button class="red-ui-button red-ui-projects-dialog-button">'+RED._("projects.create.add-ssh-key")+'</button>').appendTo(subrow).on("click", function(e) {
|
$('<button type="button" class="red-ui-button red-ui-projects-dialog-button">'+RED._("projects.create.add-ssh-key")+'</button>').appendTo(subrow).on("click", function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#red-ui-projects-dialog-cancel').trigger("click");
|
$('#red-ui-projects-dialog-cancel').trigger("click");
|
||||||
RED.userSettings.show('gitconfig');
|
RED.userSettings.show('gitconfig');
|
||||||
@ -1631,14 +1631,14 @@ RED.projects = (function() {
|
|||||||
function deleteProject(row,name,done) {
|
function deleteProject(row,name,done) {
|
||||||
var cover = $('<div class="red-ui-projects-dialog-project-list-entry-delete-confirm"></div>').on("click", function(evt) { evt.stopPropagation(); }).appendTo(row);
|
var cover = $('<div class="red-ui-projects-dialog-project-list-entry-delete-confirm"></div>').on("click", function(evt) { evt.stopPropagation(); }).appendTo(row);
|
||||||
$('<span>').text(RED._("projects.delete.confirm")).appendTo(cover);
|
$('<span>').text(RED._("projects.delete.confirm")).appendTo(cover);
|
||||||
$('<button class="red-ui-button red-ui-projects-dialog-button">'+RED._("common.label.cancel")+'</button>')
|
$('<button type="button" class="red-ui-button red-ui-projects-dialog-button">'+RED._("common.label.cancel")+'</button>')
|
||||||
.appendTo(cover)
|
.appendTo(cover)
|
||||||
.on("click", function(e) {
|
.on("click", function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
cover.remove();
|
cover.remove();
|
||||||
done(true);
|
done(true);
|
||||||
});
|
});
|
||||||
$('<button class="red-ui-button red-ui-projects-dialog-button primary">'+RED._("common.label.delete")+'</button>')
|
$('<button type="button" class="red-ui-button red-ui-projects-dialog-button primary">'+RED._("common.label.delete")+'</button>')
|
||||||
.appendTo(cover)
|
.appendTo(cover)
|
||||||
.on("click", function(e) {
|
.on("click", function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
@ -1822,7 +1822,7 @@ RED.projects = (function() {
|
|||||||
header.addClass("selectable");
|
header.addClass("selectable");
|
||||||
|
|
||||||
var tools = $('<div class="red-ui-projects-dialog-project-list-entry-tools"></div>').appendTo(header);
|
var tools = $('<div class="red-ui-projects-dialog-project-list-entry-tools"></div>').appendTo(header);
|
||||||
$('<button class="red-ui-button red-ui-projects-dialog-button red-ui-button-small" style="float: right;"><i class="fa fa-trash"></i></button>')
|
$('<button type="button" class="red-ui-button red-ui-projects-dialog-button red-ui-button-small" style="float: right;"><i class="fa fa-trash"></i></button>')
|
||||||
.appendTo(tools)
|
.appendTo(tools)
|
||||||
.on("click", function(e) {
|
.on("click", function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
@ -106,38 +106,51 @@ RED.search = (function() {
|
|||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
function search(val) {
|
function extractType(val, flags) {
|
||||||
var results = [];
|
// extracts: type:XYZ & type:"X Y Z"
|
||||||
var typeFilter;
|
const regEx = /(?:type):\s*(?:"([^"]+)"|([^" ]+))/;
|
||||||
var m = /(?:^| )type:([^ ]+)/.exec(val);
|
let m
|
||||||
if (m) {
|
while ((m = regEx.exec(val)) !== null) {
|
||||||
val = val.replace(/(?:^| )type:[^ ]+/,"");
|
// avoid infinite loops with zero-width matches
|
||||||
typeFilter = m[1];
|
if (m.index === regEx.lastIndex) {
|
||||||
|
regEx.lastIndex++;
|
||||||
|
}
|
||||||
|
val = val.replace(m[0]," ").trim()
|
||||||
|
const flag = m[2] || m[1] // quoted entries in capture group 1, unquoted in capture group 2
|
||||||
|
flags.type = flags.type || [];
|
||||||
|
flags.type.push(flag);
|
||||||
}
|
}
|
||||||
var flags = {};
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
function search(val) {
|
||||||
|
const results = [];
|
||||||
|
const flags = {};
|
||||||
val = extractFlag(val,"invalid",flags);
|
val = extractFlag(val,"invalid",flags);
|
||||||
val = extractFlag(val,"unused",flags);
|
val = extractFlag(val,"unused",flags);
|
||||||
val = extractFlag(val,"config",flags);
|
val = extractFlag(val,"config",flags);
|
||||||
val = extractFlag(val,"subflow",flags);
|
val = extractFlag(val,"subflow",flags);
|
||||||
val = extractFlag(val,"hidden",flags);
|
val = extractFlag(val,"hidden",flags);
|
||||||
val = extractFlag(val,"modified",flags);
|
val = extractFlag(val,"modified",flags);
|
||||||
val = extractValue(val,"flow",flags);// flow:active or flow:<flow-id>
|
val = extractValue(val,"flow",flags);// flow:current or flow:<flow-id>
|
||||||
val = extractValue(val,"uses",flags);// uses:<node-id>
|
val = extractValue(val,"uses",flags);// uses:<node-id>
|
||||||
|
val = extractType(val,flags);// type:<node-type>
|
||||||
val = val.trim();
|
val = val.trim();
|
||||||
var hasFlags = Object.keys(flags).length > 0;
|
const hasFlags = Object.keys(flags).length > 0;
|
||||||
|
const hasTypeFilter = flags.type && flags.type.length > 0
|
||||||
if (flags.flow && flags.flow.indexOf("current") >= 0) {
|
if (flags.flow && flags.flow.indexOf("current") >= 0) {
|
||||||
let idx = flags.flow.indexOf("current");
|
let idx = flags.flow.indexOf("current");
|
||||||
flags.flow[idx] = RED.workspaces.active();//convert active to flow ID
|
flags.flow[idx] = RED.workspaces.active();//convert 'current' to active flow ID
|
||||||
}
|
}
|
||||||
if (flags.flow && flags.flow.length) {
|
if (flags.flow && flags.flow.length) {
|
||||||
flags.flow = [ ...new Set(flags.flow) ]; //deduplicate
|
flags.flow = [ ...new Set(flags.flow) ]; //deduplicate
|
||||||
}
|
}
|
||||||
if (val.length > 0 || typeFilter || hasFlags) {
|
if (val.length > 0 || hasFlags) {
|
||||||
val = val.toLowerCase();
|
val = val.toLowerCase();
|
||||||
var i;
|
let i;
|
||||||
var j;
|
let j;
|
||||||
var list = [];
|
let list = [];
|
||||||
var nodes = {};
|
const nodes = {};
|
||||||
let keys = [];
|
let keys = [];
|
||||||
if (flags.uses) {
|
if (flags.uses) {
|
||||||
keys = flags.uses;
|
keys = flags.uses;
|
||||||
@ -145,10 +158,10 @@ RED.search = (function() {
|
|||||||
keys = Object.keys(index);
|
keys = Object.keys(index);
|
||||||
}
|
}
|
||||||
for (i=0;i<keys.length;i++) {
|
for (i=0;i<keys.length;i++) {
|
||||||
var key = keys[i];
|
const key = keys[i];
|
||||||
var kpos = keys[i].indexOf(val);
|
const kpos = val ? keys[i].indexOf(val) : -1;
|
||||||
if (kpos > -1) {
|
if (kpos > -1 || (val === "" && hasFlags)) {
|
||||||
var ids = Object.keys(index[key]||{});
|
const ids = Object.keys(index[key]||{});
|
||||||
for (j=0;j<ids.length;j++) {
|
for (j=0;j<ids.length;j++) {
|
||||||
var node = index[key][ids[j]];
|
var node = index[key][ids[j]];
|
||||||
var isConfigNode = node.node._def.category === "config" && node.node.type !== 'group';
|
var isConfigNode = node.node._def.category === "config" && node.node.type !== 'group';
|
||||||
@ -156,7 +169,7 @@ RED.search = (function() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (flags.hasOwnProperty("invalid")) {
|
if (flags.hasOwnProperty("invalid")) {
|
||||||
var nodeIsValid = !node.node.hasOwnProperty("valid") || node.node.valid;
|
const nodeIsValid = !node.node.hasOwnProperty("valid") || node.node.valid;
|
||||||
if (flags.invalid === nodeIsValid) {
|
if (flags.invalid === nodeIsValid) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -186,8 +199,8 @@ RED.search = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (flags.hasOwnProperty("unused")) {
|
if (flags.hasOwnProperty("unused")) {
|
||||||
var isUnused = (node.node.type === 'subflow' && node.node.instances.length === 0) ||
|
const isUnused = (node.node.type === 'subflow' && node.node.instances.length === 0) ||
|
||||||
(isConfigNode && node.node.users.length === 0)
|
(isConfigNode && node.node.users.length === 0 && node.node._def.hasUsers !== false)
|
||||||
if (flags.unused !== isUnused) {
|
if (flags.unused !== isUnused) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -197,12 +210,16 @@ RED.search = (function() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!typeFilter || node.node.type === typeFilter) {
|
let typeIndex = -1
|
||||||
nodes[node.node.id] = nodes[node.node.id] = {
|
if(hasTypeFilter) {
|
||||||
|
typeIndex = flags.type.indexOf(node.node.type)
|
||||||
|
}
|
||||||
|
if (!hasTypeFilter || typeIndex > -1) {
|
||||||
|
nodes[node.node.id] = nodes[node.node.id] || {
|
||||||
node: node.node,
|
node: node.node,
|
||||||
label: node.label
|
label: node.label
|
||||||
};
|
};
|
||||||
nodes[node.node.id].index = Math.min(nodes[node.node.id].index||Infinity,kpos);
|
nodes[node.node.id].index = Math.min(nodes[node.node.id].index || Infinity, typeIndex > -1 ? typeIndex : kpos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -538,7 +555,7 @@ RED.search = (function() {
|
|||||||
$(previousActiveElement).trigger("focus");
|
$(previousActiveElement).trigger("focus");
|
||||||
}
|
}
|
||||||
previousActiveElement = null;
|
previousActiveElement = null;
|
||||||
}
|
}
|
||||||
if(!keepSearchToolbar) {
|
if(!keepSearchToolbar) {
|
||||||
clearActiveSearch();
|
clearActiveSearch();
|
||||||
}
|
}
|
||||||
@ -630,7 +647,7 @@ RED.search = (function() {
|
|||||||
$("#red-ui-sidebar-shade").on('mousedown',hide);
|
$("#red-ui-sidebar-shade").on('mousedown',hide);
|
||||||
|
|
||||||
$("#red-ui-view-searchtools-close").on("click", function close() {
|
$("#red-ui-view-searchtools-close").on("click", function close() {
|
||||||
clearActiveSearch();
|
clearActiveSearch();
|
||||||
updateSearchToolbar();
|
updateSearchToolbar();
|
||||||
});
|
});
|
||||||
$("#red-ui-view-searchtools-close").trigger("click");
|
$("#red-ui-view-searchtools-close").trigger("click");
|
||||||
|
@ -506,6 +506,13 @@ RED.subflow = (function() {
|
|||||||
RED.nodes.groups(id).forEach(function(n) {
|
RED.nodes.groups(id).forEach(function(n) {
|
||||||
removedGroups.push(n);
|
removedGroups.push(n);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
var removedJunctions = RED.nodes.junctions(id)
|
||||||
|
for (var i=0;i<removedJunctions.length;i++) {
|
||||||
|
var removedEntities = RED.nodes.removeJunction(removedJunctions[i])
|
||||||
|
removedLinks = removedLinks.concat(removedEntities.links)
|
||||||
|
}
|
||||||
|
|
||||||
var removedConfigNodes = [];
|
var removedConfigNodes = [];
|
||||||
for (var i=0;i<removedNodes.length;i++) {
|
for (var i=0;i<removedNodes.length;i++) {
|
||||||
var removedEntities = RED.nodes.remove(removedNodes[i].id);
|
var removedEntities = RED.nodes.remove(removedNodes[i].id);
|
||||||
@ -536,6 +543,7 @@ RED.subflow = (function() {
|
|||||||
nodes:removedNodes,
|
nodes:removedNodes,
|
||||||
links:removedLinks,
|
links:removedLinks,
|
||||||
groups: removedGroups,
|
groups: removedGroups,
|
||||||
|
junctions: removedJunctions,
|
||||||
subflows: [activeSubflow]
|
subflows: [activeSubflow]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -877,6 +885,7 @@ RED.subflow = (function() {
|
|||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
RED.view.updateActive();
|
RED.view.updateActive();
|
||||||
RED.view.select(null);
|
RED.view.select(null);
|
||||||
|
RED.view.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -991,6 +1000,17 @@ RED.subflow = (function() {
|
|||||||
default: inputType
|
default: inputType
|
||||||
})
|
})
|
||||||
input.typedInput('value',val.value)
|
input.typedInput('value',val.value)
|
||||||
|
if (inputType === 'cred') {
|
||||||
|
if (node.credentials) {
|
||||||
|
if (node.credentials[tenv.name]) {
|
||||||
|
input.typedInput('value', node.credentials[tenv.name]);
|
||||||
|
} else if (node.credentials['has_'+tenv.name]) {
|
||||||
|
input.typedInput('value', "__PWRD__")
|
||||||
|
} else {
|
||||||
|
input.typedInput('value', "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
input.val(val.value)
|
input.val(val.value)
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,8 @@ RED.sidebar.help = (function() {
|
|||||||
var helpSection;
|
var helpSection;
|
||||||
var panels;
|
var panels;
|
||||||
var panelRatio;
|
var panelRatio;
|
||||||
var helpTopics = [];
|
|
||||||
var treeList;
|
var treeList;
|
||||||
var tocPanel;
|
var tocPanel;
|
||||||
var helpIndex = {};
|
|
||||||
|
|
||||||
function resizeStack() {
|
function resizeStack() {
|
||||||
var h = $(content).parent().height() - toolbar.outerHeight();
|
var h = $(content).parent().height() - toolbar.outerHeight();
|
||||||
@ -52,7 +50,7 @@ RED.sidebar.help = (function() {
|
|||||||
|
|
||||||
tocPanel = $("<div>", {class: "red-ui-sidebar-help-toc"}).appendTo(stackContainer);
|
tocPanel = $("<div>", {class: "red-ui-sidebar-help-toc"}).appendTo(stackContainer);
|
||||||
var helpPanel = $("<div>").css({
|
var helpPanel = $("<div>").css({
|
||||||
"overflow-y": "scroll"
|
"overflow-y": "auto"
|
||||||
}).appendTo(stackContainer);
|
}).appendTo(stackContainer);
|
||||||
|
|
||||||
panels = RED.panels.create({
|
panels = RED.panels.create({
|
||||||
@ -97,7 +95,10 @@ RED.sidebar.help = (function() {
|
|||||||
var pendingContentLoad;
|
var pendingContentLoad;
|
||||||
treeList.on('treelistselect', function(e,item) {
|
treeList.on('treelistselect', function(e,item) {
|
||||||
pendingContentLoad = item;
|
pendingContentLoad = item;
|
||||||
if (item.nodeType) {
|
if (item.tour) {
|
||||||
|
RED.tourGuide.run(item.tour);
|
||||||
|
}
|
||||||
|
else if (item.nodeType) {
|
||||||
showNodeTypeHelp(item.nodeType);
|
showNodeTypeHelp(item.nodeType);
|
||||||
} else if (item.content) {
|
} else if (item.content) {
|
||||||
helpSection.empty();
|
helpSection.empty();
|
||||||
@ -189,7 +190,6 @@ RED.sidebar.help = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function refreshHelpIndex() {
|
function refreshHelpIndex() {
|
||||||
helpTopics = [];
|
|
||||||
var modules = RED.nodes.registry.getModuleList();
|
var modules = RED.nodes.registry.getModuleList();
|
||||||
var moduleNames = Object.keys(modules);
|
var moduleNames = Object.keys(modules);
|
||||||
moduleNames.sort();
|
moduleNames.sort();
|
||||||
@ -198,15 +198,32 @@ RED.sidebar.help = (function() {
|
|||||||
label: RED._("sidebar.help.nodeHelp"),
|
label: RED._("sidebar.help.nodeHelp"),
|
||||||
children: [],
|
children: [],
|
||||||
expanded: true
|
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 = [
|
var helpData = [
|
||||||
{
|
{
|
||||||
id: 'changelog',
|
label: "Node-RED",
|
||||||
label: "Node-RED v"+RED.settings.version,
|
children: [
|
||||||
content: getChangelog
|
{
|
||||||
|
id: 'changelog',
|
||||||
|
label: RED._("sidebar.help.changeLog"),
|
||||||
|
content: getChangelog
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: RED._("tourGuide.welcomeTours"),
|
||||||
|
children: tours
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
},
|
},
|
||||||
nodeHelp
|
nodeHelp
|
||||||
]
|
];
|
||||||
var subflows = RED.nodes.registry.getNodeTypes().filter(function(t) {return /subflow/.test(t)});
|
var subflows = RED.nodes.registry.getNodeTypes().filter(function(t) {return /subflow/.test(t)});
|
||||||
if (subflows.length > 0) {
|
if (subflows.length > 0) {
|
||||||
nodeHelp.children.push({
|
nodeHelp.children.push({
|
||||||
|
@ -135,6 +135,10 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
RED.workspaces.show(n.id, null, true);
|
RED.workspaces.show(n.id, null, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
RED.popover.tooltip(toggleVisibleButton, function () {
|
||||||
|
var isHidden = !div.hasClass("red-ui-info-outline-item-hidden");
|
||||||
|
return RED._("sidebar.info." + (isHidden ? "hideFlow" : "showFlow"));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (n.type !== 'subflow') {
|
if (n.type !== 'subflow') {
|
||||||
var toggleButton = $('<button type="button" class="red-ui-info-outline-item-control-disable red-ui-button red-ui-button-small"><i class="fa fa-circle-thin"></i><i class="fa fa-ban"></i></button>').appendTo(controls).on("click",function(evt) {
|
var toggleButton = $('<button type="button" class="red-ui-info-outline-item-control-disable red-ui-button red-ui-button-small"><i class="fa fa-circle-thin"></i><i class="fa fa-ban"></i></button>').appendTo(controls).on("click",function(evt) {
|
||||||
@ -613,6 +617,9 @@ RED.sidebar.info.outliner = (function() {
|
|||||||
objects[n.id].children = missingParents[n.id];
|
objects[n.id].children = missingParents[n.id];
|
||||||
delete missingParents[n.id]
|
delete missingParents[n.id]
|
||||||
}
|
}
|
||||||
|
if (objects[n.id].children.length === 0) {
|
||||||
|
objects[n.id].children.push(getEmptyItem(n.id));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var parent = n.g||n.z||"__global__";
|
var parent = n.g||n.z||"__global__";
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ RED.sidebar.info = (function() {
|
|||||||
|
|
||||||
propertiesPanelContent = $("<div>").css({
|
propertiesPanelContent = $("<div>").css({
|
||||||
"flex":"1 1 auto",
|
"flex":"1 1 auto",
|
||||||
"overflow-y":"scroll",
|
"overflow-y":"auto",
|
||||||
}).appendTo(propertiesPanel);
|
}).appendTo(propertiesPanel);
|
||||||
|
|
||||||
|
|
||||||
|
@ -433,9 +433,30 @@ RED.tourGuide = (function() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function listTour() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
id: "3_0",
|
||||||
|
label: "3.0",
|
||||||
|
path: "./tours/welcome.js"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "2_2",
|
||||||
|
label: "2.2",
|
||||||
|
path: "./tours/2.2/welcome.js"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "2_1",
|
||||||
|
label: "2.1",
|
||||||
|
path: "./tours/2.1/welcome.js"
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
load: loadTour,
|
load: loadTour,
|
||||||
run: run,
|
run: run,
|
||||||
|
list: listTour,
|
||||||
reset: function() {
|
reset: function() {
|
||||||
RED.settings.set("editor.tours.welcome",'');
|
RED.settings.set("editor.tours.welcome",'');
|
||||||
}
|
}
|
||||||
|
@ -269,8 +269,8 @@ RED.typeSearch = (function() {
|
|||||||
moveCallback = opts.move;
|
moveCallback = opts.move;
|
||||||
RED.events.emit("type-search:open");
|
RED.events.emit("type-search:open");
|
||||||
//shade.show();
|
//shade.show();
|
||||||
if ($("#red-ui-main-container").height() - opts.y - 150 < 0) {
|
if ($("#red-ui-main-container").height() - opts.y - 195 < 0) {
|
||||||
opts.y = opts.y - 235;
|
opts.y = opts.y - 275;
|
||||||
}
|
}
|
||||||
dialog.css({left:opts.x+"px",top:opts.y+"px"}).show();
|
dialog.css({left:opts.x+"px",top:opts.y+"px"}).show();
|
||||||
searchResultsDiv.slideDown(300);
|
searchResultsDiv.slideDown(300);
|
||||||
|
@ -105,6 +105,9 @@ RED.view.tools = (function() {
|
|||||||
$(document).one('keyup',endKeyboardMove);
|
$(document).one('keyup',endKeyboardMove);
|
||||||
endMoveSet = true;
|
endMoveSet = true;
|
||||||
}
|
}
|
||||||
|
var dim = RED.view.dimensions();
|
||||||
|
var space_width = dim.width;
|
||||||
|
var space_height = dim.height;
|
||||||
var minX = 0;
|
var minX = 0;
|
||||||
var minY = 0;
|
var minY = 0;
|
||||||
var node;
|
var node;
|
||||||
@ -120,6 +123,12 @@ RED.view.tools = (function() {
|
|||||||
node.n.dirty = true;
|
node.n.dirty = true;
|
||||||
node.n.x += dx;
|
node.n.x += dx;
|
||||||
node.n.y += dy;
|
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;
|
node.n.dirty = true;
|
||||||
if (node.n.type === "group") {
|
if (node.n.type === "group") {
|
||||||
RED.group.markDirty(node.n);
|
RED.group.markDirty(node.n);
|
||||||
@ -814,7 +823,7 @@ RED.view.tools = (function() {
|
|||||||
* @param {Object || Object[]} wires The wire(s) to split and replace with link-out, link-in nodes.
|
* @param {Object || Object[]} wires The wire(s) to split and replace with link-out, link-in nodes.
|
||||||
*/
|
*/
|
||||||
function splitWiresWithLinkNodes(wires) {
|
function splitWiresWithLinkNodes(wires) {
|
||||||
let wiresToSplit = wires || RED.view.selection().links;
|
let wiresToSplit = wires || (RED.view.selection().links && RED.view.selection().links.filter(e => !e.link));
|
||||||
if (!wiresToSplit) {
|
if (!wiresToSplit) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -979,13 +988,14 @@ RED.view.tools = (function() {
|
|||||||
* - it uses `<paletteLabel> <N>` - where N is the next available integer that
|
* - it uses `<paletteLabel> <N>` - where N is the next available integer that
|
||||||
* doesn't clash with any existing nodes of that type
|
* 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 {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) {
|
function generateNodeNames(node, options) {
|
||||||
options = options || {
|
options = Object.assign({
|
||||||
renameBlank: true,
|
renameBlank: true,
|
||||||
renameClash: true,
|
renameClash: true,
|
||||||
generateHistory: true
|
generateHistory: true
|
||||||
}
|
}, options)
|
||||||
let nodes = node;
|
let nodes = node;
|
||||||
if (node) {
|
if (node) {
|
||||||
if (!Array.isArray(node)) {
|
if (!Array.isArray(node)) {
|
||||||
@ -1005,7 +1015,7 @@ RED.view.tools = (function() {
|
|||||||
const nodeDef = n._def || RED.nodes.getType(n.type)
|
const nodeDef = n._def || RED.nodes.getType(n.type)
|
||||||
if (nodeDef && nodeDef.defaults && nodeDef.defaults.name) {
|
if (nodeDef && nodeDef.defaults && nodeDef.defaults.name) {
|
||||||
const paletteLabel = RED.utils.getPaletteLabel(n.type, nodeDef)
|
const paletteLabel = RED.utils.getPaletteLabel(n.type, nodeDef)
|
||||||
const defaultNodeNameRE = new RegExp('^'+paletteLabel+' (\\d+)$')
|
const defaultNodeNameRE = new RegExp('^'+paletteLabel.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')+' (\\d+)$')
|
||||||
if (!typeIndex.hasOwnProperty(n.type)) {
|
if (!typeIndex.hasOwnProperty(n.type)) {
|
||||||
const existingNodes = RED.nodes.filterNodes({type: n.type})
|
const existingNodes = RED.nodes.filterNodes({type: n.type})
|
||||||
let maxNameNumber = 0;
|
let maxNameNumber = 0;
|
||||||
@ -1051,7 +1061,7 @@ RED.view.tools = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function addJunctionsToWires(wires) {
|
function addJunctionsToWires(wires) {
|
||||||
let wiresToSplit = wires || RED.view.selection().links;
|
let wiresToSplit = wires || (RED.view.selection().links && RED.view.selection().links.filter(e => !e.link));
|
||||||
if (!wiresToSplit) {
|
if (!wiresToSplit) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1079,6 +1089,7 @@ RED.view.tools = (function() {
|
|||||||
linkGroups.sort(function(A,B) {
|
linkGroups.sort(function(A,B) {
|
||||||
return groupedLinks[B].length - groupedLinks[A].length
|
return groupedLinks[B].length - groupedLinks[A].length
|
||||||
})
|
})
|
||||||
|
const wasDirty = RED.nodes.dirty()
|
||||||
linkGroups.forEach(function(gid) {
|
linkGroups.forEach(function(gid) {
|
||||||
var links = groupedLinks[gid]
|
var links = groupedLinks[gid]
|
||||||
var junction = {
|
var junction = {
|
||||||
@ -1169,12 +1180,14 @@ RED.view.tools = (function() {
|
|||||||
})
|
})
|
||||||
if (addedJunctions.length > 0) {
|
if (addedJunctions.length > 0) {
|
||||||
RED.history.push({
|
RED.history.push({
|
||||||
|
dirty: wasDirty,
|
||||||
t: 'add',
|
t: 'add',
|
||||||
links: addedLinks,
|
links: addedLinks,
|
||||||
junctions: addedJunctions,
|
junctions: addedJunctions,
|
||||||
removedLinks: Array.from(removedLinks)
|
removedLinks: Array.from(removedLinks)
|
||||||
})
|
})
|
||||||
RED.nodes.dirty(true)
|
RED.nodes.dirty(true)
|
||||||
|
RED.view.select({nodes: addedJunctions });
|
||||||
}
|
}
|
||||||
RED.view.redraw(true);
|
RED.view.redraw(true);
|
||||||
}
|
}
|
||||||
|
172
packages/node_modules/@node-red/editor-client/src/js/ui/view.js
vendored
Executable file → Normal file
172
packages/node_modules/@node-red/editor-client/src/js/ui/view.js
vendored
Executable file → Normal file
@ -95,6 +95,7 @@ RED.view = (function() {
|
|||||||
let flashingNodeId;
|
let flashingNodeId;
|
||||||
|
|
||||||
var clipboard = "";
|
var clipboard = "";
|
||||||
|
let clipboardSource
|
||||||
|
|
||||||
// Note: these are the permitted status colour aliases. The actual RGB values
|
// Note: these are the permitted status colour aliases. The actual RGB values
|
||||||
// are set in the CSS - flow.scss/colors.scss
|
// are set in the CSS - flow.scss/colors.scss
|
||||||
@ -585,11 +586,28 @@ RED.view = (function() {
|
|||||||
|
|
||||||
var group = $(ui.helper).data("group");
|
var group = $(ui.helper).data("group");
|
||||||
if (group) {
|
if (group) {
|
||||||
|
var oldX = group.x;
|
||||||
|
var oldY = group.y;
|
||||||
RED.group.addToGroup(group, nn);
|
RED.group.addToGroup(group, nn);
|
||||||
|
var moveEvent = null;
|
||||||
|
if ((group.x !== oldX) ||
|
||||||
|
(group.y !== oldY)) {
|
||||||
|
moveEvent = {
|
||||||
|
t: "move",
|
||||||
|
nodes: [{n: group,
|
||||||
|
ox: oldX, oy: oldY,
|
||||||
|
dx: group.x -oldX,
|
||||||
|
dy: group.y -oldY}],
|
||||||
|
dirty: true
|
||||||
|
};
|
||||||
|
}
|
||||||
historyEvent = {
|
historyEvent = {
|
||||||
t: 'multi',
|
t: 'multi',
|
||||||
events: [historyEvent],
|
events: [historyEvent],
|
||||||
|
|
||||||
|
};
|
||||||
|
if (moveEvent) {
|
||||||
|
historyEvent.events.push(moveEvent)
|
||||||
}
|
}
|
||||||
historyEvent.events.push({
|
historyEvent.events.push({
|
||||||
t: "addToGroup",
|
t: "addToGroup",
|
||||||
@ -628,8 +646,10 @@ RED.view = (function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
RED.actions.add("core:copy-selection-to-internal-clipboard",copySelection);
|
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:cut-selection-to-internal-clipboard",function(){copySelection(true);deleteSelection();});
|
||||||
RED.actions.add("core:paste-from-internal-clipboard",function(){importNodes(clipboard,{generateIds: true, generateDefaultNames: true});});
|
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() })
|
RED.actions.add("core:detach-selected-nodes", function() { detachSelectedNodes() })
|
||||||
|
|
||||||
@ -988,6 +1008,7 @@ RED.view = (function() {
|
|||||||
if (RED.view.DEBUG) {
|
if (RED.view.DEBUG) {
|
||||||
console.warn("canvasMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event });
|
console.warn("canvasMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event });
|
||||||
}
|
}
|
||||||
|
RED.contextMenu.hide();
|
||||||
if (mouse_mode === RED.state.SELECTING_NODE) {
|
if (mouse_mode === RED.state.SELECTING_NODE) {
|
||||||
d3.event.stopPropagation();
|
d3.event.stopPropagation();
|
||||||
return;
|
return;
|
||||||
@ -1067,12 +1088,15 @@ RED.view = (function() {
|
|||||||
RED.view.redraw();
|
RED.view.redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// `point` is the place in the workspace the mouse has clicked.
|
||||||
|
// This takes into account scrolling and scaling of the workspace.
|
||||||
var ox = point[0];
|
var ox = point[0];
|
||||||
var oy = point[1];
|
var oy = point[1];
|
||||||
|
|
||||||
|
// Need to map that to browser location to position the pop-up
|
||||||
const offset = $("#red-ui-workspace-chart").offset()
|
const offset = $("#red-ui-workspace-chart").offset()
|
||||||
var clientX = ox + offset.left
|
var clientX = (ox * scaleFactor) + offset.left - $("#red-ui-workspace-chart").scrollLeft()
|
||||||
var clientY = oy + offset.top
|
var clientY = (oy * scaleFactor) + offset.top - $("#red-ui-workspace-chart").scrollTop()
|
||||||
|
|
||||||
if (RED.settings.get("editor").view['view-snap-grid']) {
|
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')
|
// eventLayer.append("circle").attr("cx",point[0]).attr("cy",point[1]).attr("r","2").attr('fill','red')
|
||||||
@ -1343,19 +1367,35 @@ RED.view = (function() {
|
|||||||
RED.editor.validateNode(nn);
|
RED.editor.validateNode(nn);
|
||||||
|
|
||||||
if (targetGroup) {
|
if (targetGroup) {
|
||||||
|
var oldX = targetGroup.x;
|
||||||
|
var oldY = targetGroup.y;
|
||||||
RED.group.addToGroup(targetGroup, nn);
|
RED.group.addToGroup(targetGroup, nn);
|
||||||
|
var moveEvent = null;
|
||||||
|
if ((targetGroup.x !== oldX) ||
|
||||||
|
(targetGroup.y !== oldY)) {
|
||||||
|
moveEvent = {
|
||||||
|
t: "move",
|
||||||
|
nodes: [{n: targetGroup,
|
||||||
|
ox: oldX, oy: oldY,
|
||||||
|
dx: targetGroup.x -oldX,
|
||||||
|
dy: targetGroup.y -oldY}],
|
||||||
|
dirty: true
|
||||||
|
};
|
||||||
|
}
|
||||||
if (historyEvent.t !== "multi") {
|
if (historyEvent.t !== "multi") {
|
||||||
historyEvent = {
|
historyEvent = {
|
||||||
t:'multi',
|
t:'multi',
|
||||||
events: [historyEvent]
|
events: [historyEvent]
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
historyEvent.events.push({
|
historyEvent.events.push({
|
||||||
t: "addToGroup",
|
t: "addToGroup",
|
||||||
group: targetGroup,
|
group: targetGroup,
|
||||||
nodes: nn
|
nodes: nn
|
||||||
})
|
});
|
||||||
|
if (moveEvent) {
|
||||||
|
historyEvent.events.push(moveEvent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (spliceLink) {
|
if (spliceLink) {
|
||||||
@ -1691,6 +1731,7 @@ RED.view = (function() {
|
|||||||
|
|
||||||
// Check link splice or group-add
|
// Check link splice or group-add
|
||||||
if (movingSet.length() === 1 && movingSet.get(0).n.type !== "group") {
|
if (movingSet.length() === 1 && movingSet.get(0).n.type !== "group") {
|
||||||
|
//}{//NIS
|
||||||
node = movingSet.get(0);
|
node = movingSet.get(0);
|
||||||
if (spliceActive) {
|
if (spliceActive) {
|
||||||
if (!spliceTimer) {
|
if (!spliceTimer) {
|
||||||
@ -1779,6 +1820,9 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
var i;
|
var i;
|
||||||
var historyEvent;
|
var historyEvent;
|
||||||
|
if (d3.event.button === 2) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if (mouse_mode === RED.state.PANNING) {
|
if (mouse_mode === RED.state.PANNING) {
|
||||||
resetMouseVars();
|
resetMouseVars();
|
||||||
return
|
return
|
||||||
@ -2047,11 +2091,25 @@ RED.view = (function() {
|
|||||||
if (mouse_mode == RED.state.MOVING_ACTIVE) {
|
if (mouse_mode == RED.state.MOVING_ACTIVE) {
|
||||||
if (movingSet.length() > 0) {
|
if (movingSet.length() > 0) {
|
||||||
var addedToGroup = null;
|
var addedToGroup = null;
|
||||||
|
var moveEvent = null;
|
||||||
if (activeHoverGroup) {
|
if (activeHoverGroup) {
|
||||||
|
var oldX = activeHoverGroup.x;
|
||||||
|
var oldY = activeHoverGroup.y;
|
||||||
for (var j=0;j<movingSet.length();j++) {
|
for (var j=0;j<movingSet.length();j++) {
|
||||||
var n = movingSet.get(j);
|
var n = movingSet.get(j);
|
||||||
RED.group.addToGroup(activeHoverGroup,n.n);
|
RED.group.addToGroup(activeHoverGroup,n.n);
|
||||||
}
|
}
|
||||||
|
if ((activeHoverGroup.x !== oldX) ||
|
||||||
|
(activeHoverGroup.y !== oldY)) {
|
||||||
|
moveEvent = {
|
||||||
|
t: "move",
|
||||||
|
nodes: [{n: activeHoverGroup,
|
||||||
|
ox: oldX, oy: oldY,
|
||||||
|
dx: activeHoverGroup.x -oldX,
|
||||||
|
dy: activeHoverGroup.y -oldY}],
|
||||||
|
dirty: true
|
||||||
|
};
|
||||||
|
}
|
||||||
addedToGroup = activeHoverGroup;
|
addedToGroup = activeHoverGroup;
|
||||||
|
|
||||||
activeHoverGroup.hovered = false;
|
activeHoverGroup.hovered = false;
|
||||||
@ -2097,6 +2155,12 @@ RED.view = (function() {
|
|||||||
historyEvent.addToGroup = addedToGroup;
|
historyEvent.addToGroup = addedToGroup;
|
||||||
}
|
}
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
|
if (moveEvent) {
|
||||||
|
historyEvent = {
|
||||||
|
t: "multi",
|
||||||
|
events: [moveEvent, historyEvent]
|
||||||
|
};
|
||||||
|
}
|
||||||
RED.history.push(historyEvent);
|
RED.history.push(historyEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2145,6 +2209,9 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mouse_mode == RED.state.IMPORT_DRAGGING) {
|
if (mouse_mode == RED.state.IMPORT_DRAGGING) {
|
||||||
|
if (clipboardSource === 'cut') {
|
||||||
|
clipboardSource = 'copy'
|
||||||
|
}
|
||||||
updateActiveNodes();
|
updateActiveNodes();
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
}
|
}
|
||||||
@ -2699,7 +2766,7 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function copySelection() {
|
function copySelection(isCut) {
|
||||||
if (mouse_mode === RED.state.SELECTING_NODE) {
|
if (mouse_mode === RED.state.SELECTING_NODE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -2763,6 +2830,7 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
clipboard = JSON.stringify(nns);
|
clipboard = JSON.stringify(nns);
|
||||||
|
clipboardSource = isCut ? 'cut' : 'copy'
|
||||||
RED.menu.setDisabled("menu-item-edit-paste", false);
|
RED.menu.setDisabled("menu-item-edit-paste", false);
|
||||||
if (nodeCount > 0) {
|
if (nodeCount > 0) {
|
||||||
RED.notify(RED._("clipboard.nodeCopied",{count:nodeCount}),{id:"clipboard"});
|
RED.notify(RED._("clipboard.nodeCopied",{count:nodeCount}),{id:"clipboard"});
|
||||||
@ -2903,6 +2971,7 @@ RED.view = (function() {
|
|||||||
|
|
||||||
function portMouseDown(d,portType,portIndex, evt) {
|
function portMouseDown(d,portType,portIndex, evt) {
|
||||||
if (RED.view.DEBUG) { console.warn("portMouseDown", mouse_mode,d,portType,portIndex); }
|
if (RED.view.DEBUG) { console.warn("portMouseDown", mouse_mode,d,portType,portIndex); }
|
||||||
|
RED.contextMenu.hide();
|
||||||
evt = evt || d3.event;
|
evt = evt || d3.event;
|
||||||
if (evt === 1) {
|
if (evt === 1) {
|
||||||
return;
|
return;
|
||||||
@ -3281,11 +3350,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)))) {
|
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() {
|
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);
|
var tooltip = getPortLabel(d,portType,portIndex);
|
||||||
if (!tooltip) {
|
if (!tooltip) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var pos = getElementPosition(port.node());
|
var pos = getElementPosition(n);
|
||||||
portLabelHoverTimeout = null;
|
portLabelHoverTimeout = null;
|
||||||
portLabelHover = showTooltip(
|
portLabelHover = showTooltip(
|
||||||
(pos[0]+(portType===PORT_TYPE_INPUT?-2:12)),
|
(pos[0]+(portType===PORT_TYPE_INPUT?-2:12)),
|
||||||
@ -3348,6 +3423,9 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
if (dblClickPrimed && mousedown_node == d && clickElapsed > 0 && clickElapsed < dblClickInterval) {
|
if (dblClickPrimed && mousedown_node == d && clickElapsed > 0 && clickElapsed < dblClickInterval) {
|
||||||
mouse_mode = RED.state.DEFAULT;
|
mouse_mode = RED.state.DEFAULT;
|
||||||
|
// Avoid dbl click causing text selection.
|
||||||
|
d3.event.preventDefault()
|
||||||
|
document.getSelection().removeAllRanges()
|
||||||
if (d.type != "subflow") {
|
if (d.type != "subflow") {
|
||||||
if (/^subflow:/.test(d.type) && (d3.event.ctrlKey || d3.event.metaKey)) {
|
if (/^subflow:/.test(d.type) && (d3.event.ctrlKey || d3.event.metaKey)) {
|
||||||
RED.workspaces.show(d.type.substring(8));
|
RED.workspaces.show(d.type.substring(8));
|
||||||
@ -3411,6 +3489,7 @@ RED.view = (function() {
|
|||||||
function nodeMouseDown(d) {
|
function nodeMouseDown(d) {
|
||||||
if (RED.view.DEBUG) { console.warn("nodeMouseDown", mouse_mode,d); }
|
if (RED.view.DEBUG) { console.warn("nodeMouseDown", mouse_mode,d); }
|
||||||
focusView();
|
focusView();
|
||||||
|
RED.contextMenu.hide();
|
||||||
if (d3.event.button === 1) {
|
if (d3.event.button === 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -3441,11 +3520,25 @@ RED.view = (function() {
|
|||||||
updateActiveNodes();
|
updateActiveNodes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var moveEvent = null;
|
||||||
if (activeHoverGroup) {
|
if (activeHoverGroup) {
|
||||||
|
var oldX = activeHoverGroup.x;
|
||||||
|
var oldY = activeHoverGroup.y;
|
||||||
for (var j=0;j<movingSet.length();j++) {
|
for (var j=0;j<movingSet.length();j++) {
|
||||||
var n = movingSet.get(j);
|
var n = movingSet.get(j);
|
||||||
RED.group.addToGroup(activeHoverGroup,n.n);
|
RED.group.addToGroup(activeHoverGroup,n.n);
|
||||||
}
|
}
|
||||||
|
if ((activeHoverGroup.x !== oldX) ||
|
||||||
|
(activeHoverGroup.y !== oldY)) {
|
||||||
|
moveEvent = {
|
||||||
|
t: "move",
|
||||||
|
nodes: [{n: activeHoverGroup,
|
||||||
|
ox: oldX, oy: oldY,
|
||||||
|
dx: activeHoverGroup.x -oldX,
|
||||||
|
dy: activeHoverGroup.y -oldY}],
|
||||||
|
dirty: true
|
||||||
|
};
|
||||||
|
}
|
||||||
historyEvent.addedToGroup = activeHoverGroup;
|
historyEvent.addedToGroup = activeHoverGroup;
|
||||||
|
|
||||||
activeHoverGroup.hovered = false;
|
activeHoverGroup.hovered = false;
|
||||||
@ -3454,7 +3547,6 @@ RED.view = (function() {
|
|||||||
activeGroup.selected = true;
|
activeGroup.selected = true;
|
||||||
activeHoverGroup = null;
|
activeHoverGroup = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mouse_mode == RED.state.DETACHED_DRAGGING) {
|
if (mouse_mode == RED.state.DETACHED_DRAGGING) {
|
||||||
var ns = [];
|
var ns = [];
|
||||||
for (var j=0;j<movingSet.length();j++) {
|
for (var j=0;j<movingSet.length();j++) {
|
||||||
@ -3465,12 +3557,23 @@ RED.view = (function() {
|
|||||||
n.n.moved = true;
|
n.n.moved = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RED.history.replace({t:"multi",events:[historyEvent,{t:"move",nodes:ns}],dirty: historyEvent.dirty})
|
var event = {t:"multi",events:[historyEvent,{t:"move",nodes:ns}],dirty: historyEvent.dirty};
|
||||||
|
if (moveEvent) {
|
||||||
|
event.events.push(moveEvent);
|
||||||
|
}
|
||||||
|
RED.history.replace(event)
|
||||||
|
}
|
||||||
|
else if(moveEvent) {
|
||||||
|
var event = {t:"multi", events:[historyEvent, moveEvent], dirty: true};
|
||||||
|
RED.history.replace(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateSelection();
|
updateSelection();
|
||||||
RED.nodes.dirty(true);
|
RED.nodes.dirty(true);
|
||||||
redraw();
|
redraw();
|
||||||
|
if (clipboardSource === 'cut') {
|
||||||
|
clipboardSource = 'copy'
|
||||||
|
}
|
||||||
resetMouseVars();
|
resetMouseVars();
|
||||||
d3.event.stopPropagation();
|
d3.event.stopPropagation();
|
||||||
return;
|
return;
|
||||||
@ -3720,6 +3823,10 @@ RED.view = (function() {
|
|||||||
if (displayLabel || d.info) {
|
if (displayLabel || d.info) {
|
||||||
var parentNode = this.parentNode;
|
var parentNode = this.parentNode;
|
||||||
portLabelHoverTimeout = setTimeout(function() {
|
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;
|
var tooltip;
|
||||||
try {
|
try {
|
||||||
var label = displayLabel ? (typeof d._def.label === "function" ? d._def.label.call(d) : d._def.label)||"" : "";
|
var label = displayLabel ? (typeof d._def.label === "function" ? d._def.label.call(d) : d._def.label)||"" : "";
|
||||||
@ -3793,6 +3900,7 @@ RED.view = (function() {
|
|||||||
if (RED.view.DEBUG) {
|
if (RED.view.DEBUG) {
|
||||||
console.warn("linkMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event });
|
console.warn("linkMouseDown", { mouse_mode, point: d3.mouse(this), event: d3.event });
|
||||||
}
|
}
|
||||||
|
RED.contextMenu.hide();
|
||||||
if (mouse_mode === RED.state.SELECTING_NODE) {
|
if (mouse_mode === RED.state.SELECTING_NODE) {
|
||||||
d3.event.stopPropagation();
|
d3.event.stopPropagation();
|
||||||
return;
|
return;
|
||||||
@ -3852,6 +3960,9 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function groupMouseUp(g) {
|
function groupMouseUp(g) {
|
||||||
|
if (RED.view.DEBUG) {
|
||||||
|
console.warn("groupMouseUp", { mouse_mode, event: d3.event });
|
||||||
|
}
|
||||||
if (dblClickPrimed && mousedown_group == g && clickElapsed > 0 && clickElapsed < dblClickInterval) {
|
if (dblClickPrimed && mousedown_group == g && clickElapsed > 0 && clickElapsed < dblClickInterval) {
|
||||||
mouse_mode = RED.state.DEFAULT;
|
mouse_mode = RED.state.DEFAULT;
|
||||||
RED.editor.editGroup(g);
|
RED.editor.editGroup(g);
|
||||||
@ -3867,6 +3978,10 @@ RED.view = (function() {
|
|||||||
// return
|
// return
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
if (RED.view.DEBUG) {
|
||||||
|
console.warn("groupMouseDown", { mouse_mode, point: mouse, event: d3.event });
|
||||||
|
}
|
||||||
|
RED.contextMenu.hide();
|
||||||
focusView();
|
focusView();
|
||||||
if (d3.event.button === 1) {
|
if (d3.event.button === 1) {
|
||||||
return;
|
return;
|
||||||
@ -4072,7 +4187,7 @@ RED.view = (function() {
|
|||||||
var mdn = mousedown_node;
|
var mdn = mousedown_node;
|
||||||
var options = [];
|
var options = [];
|
||||||
options.push({name:"delete",disabled:(movingSet.length()===0 && selectedLinks.length() === 0),onselect:function() {deleteSelection();}});
|
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:"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:"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);}});
|
options.push({name:"edit",disabled:(movingSet.length() != 1),onselect:function() { RED.editor.edit(mdn);}});
|
||||||
@ -4546,12 +4661,10 @@ RED.view = (function() {
|
|||||||
icon_groupEl.setAttribute("y",0);
|
icon_groupEl.setAttribute("y",0);
|
||||||
icon_groupEl.style["pointer-events"] = "none";
|
icon_groupEl.style["pointer-events"] = "none";
|
||||||
node[0][0].__iconGroup__ = icon_groupEl;
|
node[0][0].__iconGroup__ = icon_groupEl;
|
||||||
var icon_shade = document.createElementNS("http://www.w3.org/2000/svg","rect");
|
var icon_shade = document.createElementNS("http://www.w3.org/2000/svg","path");
|
||||||
icon_shade.setAttribute("x",0);
|
icon_shade.setAttribute("x",0);
|
||||||
icon_shade.setAttribute("y",0);
|
icon_shade.setAttribute("y",0);
|
||||||
icon_shade.setAttribute("class","red-ui-flow-node-icon-shade")
|
icon_shade.setAttribute("class","red-ui-flow-node-icon-shade")
|
||||||
icon_shade.setAttribute("width",30);
|
|
||||||
icon_shade.setAttribute("height",Math.min(50,d.h-4));
|
|
||||||
icon_groupEl.appendChild(icon_shade);
|
icon_groupEl.appendChild(icon_shade);
|
||||||
node[0][0].__iconShade__ = icon_shade;
|
node[0][0].__iconShade__ = icon_shade;
|
||||||
|
|
||||||
@ -4844,9 +4957,20 @@ RED.view = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
icon.attr("y",function(){return (d.h-d3.select(this).attr("height"))/2;});
|
icon.attr("y",function(){return (d.h-d3.select(this).attr("height"))/2;});
|
||||||
this.__iconShade__.setAttribute("height", d.h );
|
|
||||||
|
|
||||||
|
const iconShadeHeight = d.h
|
||||||
|
const iconShadeWidth = 30
|
||||||
|
this.__iconShade__.setAttribute("d", hideLabel ?
|
||||||
|
`M5 0 h${iconShadeWidth-10} a 5 5 0 0 1 5 5 v${iconShadeHeight-10} a 5 5 0 0 1 -5 5 h-${iconShadeWidth-10} a 5 5 0 0 1 -5 -5 v-${iconShadeHeight-10} a 5 5 0 0 1 5 -5` : (
|
||||||
|
"right" === d._def.align ?
|
||||||
|
`M 0 0 h${iconShadeWidth-5} a 5 5 0 0 1 5 5 v${iconShadeHeight-10} a 5 5 0 0 1 -5 5 h-${iconShadeWidth-5} v-${iconShadeHeight}` :
|
||||||
|
`M5 0 h${iconShadeWidth-5} v${iconShadeHeight} h-${iconShadeWidth-5} a 5 5 0 0 1 -5 -5 v-${iconShadeHeight-10} a 5 5 0 0 1 5 -5`
|
||||||
|
)
|
||||||
|
)
|
||||||
|
this.__iconShadeBorder__.style.display = hideLabel?'none':''
|
||||||
this.__iconShadeBorder__.setAttribute("d",
|
this.__iconShadeBorder__.setAttribute("d",
|
||||||
"M " + (((!d._def.align && d.inputs !== 0 && d.outputs === 0) || "right" === d._def.align) ? 0 : 30) + " 1 l 0 " + (d.h - 2)
|
"M " + (((!d._def.align && d.inputs !== 0 && d.outputs === 0) || "right" === d._def.align) ? 0.5 : 29.5) + " "+(d.selected?1:0.5)+" l 0 " + (d.h - (d.selected?2:1))
|
||||||
);
|
);
|
||||||
faIcon.attr("y",(d.h+13)/2);
|
faIcon.attr("y",(d.h+13)/2);
|
||||||
}
|
}
|
||||||
@ -4863,6 +4987,9 @@ RED.view = (function() {
|
|||||||
if (d._def.button) {
|
if (d._def.button) {
|
||||||
var buttonEnabled = isButtonEnabled(d);
|
var buttonEnabled = isButtonEnabled(d);
|
||||||
this.__buttonGroup__.classList.toggle("red-ui-flow-node-button-disabled", !buttonEnabled);
|
this.__buttonGroup__.classList.toggle("red-ui-flow-node-button-disabled", !buttonEnabled);
|
||||||
|
if (RED.runtime && RED.runtime.started !== undefined) {
|
||||||
|
this.__buttonGroup__.classList.toggle("red-ui-flow-node-button-stopped", !RED.runtime.started);
|
||||||
|
}
|
||||||
|
|
||||||
var x = d._def.align == "right"?d.w-6:-25;
|
var x = d._def.align == "right"?d.w-6:-25;
|
||||||
if (d._def.button.toggle && !d[d._def.button.toggle]) {
|
if (d._def.button.toggle && !d[d._def.button.toggle]) {
|
||||||
@ -5858,6 +5985,7 @@ RED.view = (function() {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
function createNode(type, x, y, z) {
|
function createNode(type, x, y, z) {
|
||||||
|
const wasDirty = RED.nodes.dirty()
|
||||||
var m = /^subflow:(.+)$/.exec(type);
|
var m = /^subflow:(.+)$/.exec(type);
|
||||||
var activeSubflow = z ? RED.nodes.subflow(z) : null;
|
var activeSubflow = z ? RED.nodes.subflow(z) : null;
|
||||||
if (activeSubflow && m) {
|
if (activeSubflow && m) {
|
||||||
@ -5916,7 +6044,7 @@ RED.view = (function() {
|
|||||||
var historyEvent = {
|
var historyEvent = {
|
||||||
t: "add",
|
t: "add",
|
||||||
nodes: [nn.id],
|
nodes: [nn.id],
|
||||||
dirty: RED.nodes.dirty()
|
dirty: wasDirty
|
||||||
}
|
}
|
||||||
if (activeSubflow) {
|
if (activeSubflow) {
|
||||||
var subflowRefresh = RED.subflow.refresh(true);
|
var subflowRefresh = RED.subflow.refresh(true);
|
||||||
@ -6218,6 +6346,12 @@ RED.view = (function() {
|
|||||||
showQuickAddDialog:showQuickAddDialog,
|
showQuickAddDialog:showQuickAddDialog,
|
||||||
calculateNodeDimensions: calculateNodeDimensions,
|
calculateNodeDimensions: calculateNodeDimensions,
|
||||||
getElementPosition:getElementPosition,
|
getElementPosition:getElementPosition,
|
||||||
showTooltip:showTooltip
|
showTooltip:showTooltip,
|
||||||
|
dimensions: function() {
|
||||||
|
return {
|
||||||
|
width: space_width,
|
||||||
|
height: space_height
|
||||||
|
};
|
||||||
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
@ -284,9 +284,22 @@ RED.workspaces = (function() {
|
|||||||
onselect: "core:show-last-hidden-flow"
|
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({
|
menuItems.unshift({
|
||||||
label: RED._("workspace.hiddenFlows",{count: hideStack.length}),
|
label: RED._("workspace.hiddenFlows",{count: flowCount}),
|
||||||
onselect: "core:list-hidden-flows"
|
onselect: "core:list-hidden-flows"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -2,48 +2,48 @@
|
|||||||
|
|
||||||
.ace_read-only {
|
.ace_read-only {
|
||||||
.ace_scroller {
|
.ace_scroller {
|
||||||
background: $text-editor-background-disabled;
|
background: var(--red-ui-text-editor-background-disabled);
|
||||||
color: $text-editor-color-disabled;
|
color: var(--red-ui-text-editor-color-disabled);
|
||||||
}
|
}
|
||||||
.ace_cursor {
|
.ace_cursor {
|
||||||
color: transparent !important;
|
color: transparent !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.ace_gutter {
|
.ace_gutter {
|
||||||
background: $text-editor-gutter-background;
|
background: var(--red-ui-text-editor-gutter-background);
|
||||||
border-top-left-radius: 4px;
|
border-top-left-radius: 4px;
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
}
|
}
|
||||||
.ace_scroller {
|
.ace_scroller {
|
||||||
background: $text-editor-background;
|
background: var(--red-ui-text-editor-background);
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
border-bottom-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 {
|
.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 {
|
.ace_marker-layer .ace_selection {
|
||||||
background: $text-editor-selection-background;
|
background: var(--red-ui-text-editor-selection-background);
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
}
|
}
|
||||||
.ace_gutter-cell {
|
.ace_gutter-cell {
|
||||||
color: $text-editor-gutter-color;
|
color: var(--red-ui-text-editor-gutter-color);
|
||||||
}
|
}
|
||||||
.ace_gutter-active-line {
|
.ace_gutter-active-line {
|
||||||
background: $text-editor-gutter-active-line-background;
|
background: var(--red-ui-text-editor-gutter-active-line-background);
|
||||||
}
|
}
|
||||||
.ace_tooltip {
|
.ace_tooltip {
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
line-height: 1.4em;
|
line-height: 1.4em;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
background: $popover-background;
|
background: var(--red-ui-popover-background);
|
||||||
color: $popover-color;
|
color: var(--red-ui-popover-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
@include component-shadow;
|
@include component-shadow;
|
||||||
border-color: $popover-background;
|
border-color: var(--red-ui-popover-background);
|
||||||
}
|
}
|
||||||
.ace_content {
|
.ace_content {
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
@ -55,14 +55,14 @@
|
|||||||
|
|
||||||
#red-ui-event-log-editor {
|
#red-ui-event-log-editor {
|
||||||
.ace_scroller {
|
.ace_scroller {
|
||||||
background: $event-log-background;
|
background: var(--red-ui-event-log-background);
|
||||||
color: $event-log-color;
|
color: var(--red-ui-event-log-color);
|
||||||
}
|
}
|
||||||
.ace_marker-layer .ace_active-line {
|
.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 {
|
.ace_marker-layer .ace_selection {
|
||||||
background: $event-log-selection-background;
|
background: var(--red-ui-event-log-selection-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,12 +20,12 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-editor {
|
.red-ui-editor {
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,15 +63,15 @@ body {
|
|||||||
.red-ui-icon-picker {
|
.red-ui-icon-picker {
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
a:hover,
|
a:hover,
|
||||||
a:focus {
|
a:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
a:focus {
|
a:focus {
|
||||||
outline: 1px solid $form-input-focus-color;
|
outline: 1px solid var(--red-ui-form-input-focus-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
@ -130,7 +130,7 @@ body {
|
|||||||
hr {
|
hr {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
border: 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%;
|
mask-position: 50% 50%;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
background-color: $spinner-color;
|
background-color: var(--red-ui-spinner-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-font-code {
|
.red-ui-font-code {
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
color: $text-color-code;
|
color: var(--red-ui-text-color-code);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
color: $text-color-code;
|
color: var(--red-ui-text-color-code);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,8 +177,8 @@ body {
|
|||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
background-color:$tertiary-background;
|
background-color:var(--red-ui-tertiary-background);
|
||||||
border: 1px solid $tertiary-border-color;
|
border: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,8 +217,8 @@ body {
|
|||||||
blockquote {
|
blockquote {
|
||||||
padding: 0 0 0 15px;
|
padding: 0 0 0 15px;
|
||||||
margin: 0 0 20px;
|
margin: 0 0 20px;
|
||||||
border-left: 4px solid $secondary-border-color;
|
border-left: 4px solid var(--red-ui-secondary-border-color);
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
|
|
||||||
p {
|
p {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -244,7 +244,7 @@ body {
|
|||||||
right: 1px;
|
right: 1px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 40px;
|
padding: 40px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
&:before {
|
&:before {
|
||||||
content: '';
|
content: '';
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -258,14 +258,14 @@ body {
|
|||||||
width: 80px;
|
width: 80px;
|
||||||
}
|
}
|
||||||
&.red-ui-component-spinner-sidebar {
|
&.red-ui-component-spinner-sidebar {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
padding:0;
|
padding:0;
|
||||||
img {
|
img {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.projects-version-control-spinner-sidebar {
|
&.projects-version-control-spinner-sidebar {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
padding:0;
|
padding:0;
|
||||||
img {
|
img {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
|
@ -112,9 +112,13 @@ $tab-text-color-disabled-inactive: $secondary-text-color-disabled-inactive;
|
|||||||
$tab-badge-color: $tertiary-text-color;
|
$tab-badge-color: $tertiary-text-color;
|
||||||
$tab-background: $secondary-background;
|
$tab-background: $secondary-background;
|
||||||
$tab-background-active: $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: $secondary-background-selected;
|
||||||
|
$tab-background-selected-alpha: rgba($tab-background-selected, 0.001);
|
||||||
$tab-background-inactive: $secondary-background-inactive;
|
$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: $secondary-background-hover;
|
||||||
|
$tab-background-hover-alpha: rgba($tab-background-hover, 0.001);
|
||||||
|
|
||||||
$palette-header-background: $primary-background;
|
$palette-header-background: $primary-background;
|
||||||
$palette-header-color: $header-text-color;
|
$palette-header-color: $header-text-color;
|
||||||
@ -213,6 +217,7 @@ $node-icon-border-color: #000;
|
|||||||
$node-icon-border-color-opacity: 0.1;
|
$node-icon-border-color-opacity: 0.1;
|
||||||
|
|
||||||
$node-config-background: #f3f3f3;
|
$node-config-background: #f3f3f3;
|
||||||
|
$node-config-icon-container-disabled: #aaa;
|
||||||
|
|
||||||
$node-link-port-background: #eee;
|
$node-link-port-background: #eee;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
.red-ui-debug-window {
|
.red-ui-debug-window {
|
||||||
padding:0;
|
padding:0;
|
||||||
margin:0;
|
margin:0;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
.red-ui-debug-msg-payload {
|
.red-ui-debug-msg-payload {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -30,7 +30,7 @@
|
|||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
left:0px;
|
left:0px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.red-ui-debug-filter-box {
|
.red-ui-debug-filter-box {
|
||||||
position:absolute;
|
position:absolute;
|
||||||
@ -38,15 +38,15 @@
|
|||||||
left: 0px;
|
left: 0px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
box-shadow: 0 2px 6px $shadow;
|
box-shadow: 0 2px 6px var(--red-ui-shadow);
|
||||||
}
|
}
|
||||||
#red-ui-sidebar-debug-filter-node-list-row {
|
#red-ui-sidebar-debug-filter-node-list-row {
|
||||||
.red-ui-treeList-label.disabled {
|
.red-ui-treeList-label.disabled {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-treeList-label {
|
.red-ui-treeList-label {
|
||||||
@ -57,22 +57,22 @@
|
|||||||
background: inherit;
|
background: inherit;
|
||||||
}
|
}
|
||||||
&.focus, &.focus .red-ui-treeList-sublabel-text {
|
&.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 {
|
.red-ui-debug-msg {
|
||||||
position: relative;
|
position: relative;
|
||||||
border-bottom: 1px solid $debug-message-border;
|
border-bottom: 1px solid var(--red-ui-debug-message-border);
|
||||||
border-left: 8px solid $debug-message-border;
|
border-left: 8px solid var(--red-ui-debug-message-border);
|
||||||
border-right: 8px solid $debug-message-border;
|
border-right: 8px solid var(--red-ui-debug-message-border);
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
&>.red-ui-debug-msg-meta .red-ui-debug-msg-tools {
|
&>.red-ui-debug-msg-meta .red-ui-debug-msg-tools {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.red-ui-debug-msg-hover {
|
&.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 {
|
&>.red-ui-debug-msg-meta .red-ui-debug-msg-tools {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $debug-message-background-hover;
|
background: var(--red-ui-debug-message-background-hover);
|
||||||
&>.red-ui-debug-msg-tools {
|
&>.red-ui-debug-msg-tools {
|
||||||
.red-ui-debug-msg-tools-copy {
|
.red-ui-debug-msg-tools-copy {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -120,9 +120,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-debug-msg-meta {
|
.red-ui-debug-msg-meta {
|
||||||
background: $debug-message-background;
|
background: var(--red-ui-debug-message-background);
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: $secondary-text-color-inactive;
|
color: var(--red-ui-secondary-text-color-inactive);
|
||||||
overflow-wrap: anywhere;
|
overflow-wrap: anywhere;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-date {
|
.red-ui-debug-msg-date {
|
||||||
@ -131,11 +131,11 @@
|
|||||||
}
|
}
|
||||||
.red-ui-debug-msg-topic {
|
.red-ui-debug-msg-topic {
|
||||||
display: block;
|
display: block;
|
||||||
color: $debug-message-text-color-meta;
|
color: var(--red-ui-debug-message-text-color-meta);
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-name {
|
.red-ui-debug-msg-name {
|
||||||
padding: 1px 0px;
|
padding: 1px 0px;
|
||||||
color: $secondary-text-color-inactive;
|
color: var(--red-ui-secondary-text-color-inactive);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-tools {
|
.red-ui-debug-msg-tools {
|
||||||
@ -152,39 +152,39 @@
|
|||||||
.red-ui-debug-msg-payload {
|
.red-ui-debug-msg-payload {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
background: $debug-message-background;
|
background: var(--red-ui-debug-message-background);
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
font-size: 13px !important;
|
font-size: 13px !important;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-level-log {
|
.red-ui-debug-msg-level-log {
|
||||||
border-left-color: $debug-message-border;
|
border-left-color: var(--red-ui-debug-message-border);
|
||||||
border-right-color: $debug-message-border;
|
border-right-color: var(--red-ui-debug-message-border);
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-level-30 {
|
.red-ui-debug-msg-level-30 {
|
||||||
border-left-color: $debug-message-border-warning;
|
border-left-color: var(--red-ui-debug-message-border-warning);
|
||||||
border-right-color: $debug-message-border-warning;
|
border-right-color: var(--red-ui-debug-message-border-warning);
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-level-20 {
|
.red-ui-debug-msg-level-20 {
|
||||||
border-left-color: $debug-message-border-error;
|
border-left-color: var(--red-ui-debug-message-border-error);
|
||||||
border-right-color: $debug-message-border-error;
|
border-right-color: var(--red-ui-debug-message-border-error);
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-object-entry {
|
.red-ui-debug-msg-object-entry {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-element {
|
.red-ui-debug-msg-element {
|
||||||
color: $debug-message-text-color;
|
color: var(--red-ui-debug-message-text-color);
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-object-key {
|
.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-value {
|
||||||
|
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-object-handle {
|
.red-ui-debug-msg-object-handle {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
width: 1em;
|
width: 1em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -219,17 +219,17 @@
|
|||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-object-entry pre {
|
.red-ui-debug-msg-object-entry pre {
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 1.2em;
|
line-height: 1.2em;
|
||||||
margin: 0 0 0 -1em;
|
margin: 0 0 0 -1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-debug-msg-type-other { color: $debug-message-text-color-msg-type-other; }
|
.red-ui-debug-msg-type-other { color: var(--red-ui-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-string { color: var(--red-ui-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-null { color: var(--red-ui-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-meta { color: var(--red-ui-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-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-number-toggle { cursor: pointer;}
|
||||||
|
|
||||||
.red-ui-debug-msg-type-string {
|
.red-ui-debug-msg-type-string {
|
||||||
@ -241,14 +241,14 @@
|
|||||||
padding: 4px 2px 2px;
|
padding: 4px 2px 2px;
|
||||||
position: relative;
|
position: relative;
|
||||||
&.red-ui-debug-msg-row-pinned {
|
&.red-ui-debug-msg-row-pinned {
|
||||||
background: $secondary-background-selected;
|
background: var(--red-ui-secondary-background-selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-expandable {
|
.red-ui-debug-msg-expandable {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.red-ui-debug-msg-expandable:hover .red-ui-debug-msg-object-handle {
|
.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 {
|
.red-ui-debug-msg-buffer-opts {
|
||||||
|
@ -23,11 +23,11 @@
|
|||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
border-radius:1px;
|
border-radius:1px;
|
||||||
padding:0;
|
padding:0;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
}
|
}
|
||||||
.red-ui-diff-list {
|
.red-ui-diff-list {
|
||||||
li {
|
li {
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
border: none;
|
border: none;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
@ -62,29 +62,29 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-color:$secondary-border-color;
|
border-color:var(--red-ui-secondary-border-color);
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
div:last-child {
|
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 {
|
.red-ui-diff-dialog-toolbar {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-flow {
|
.red-ui-diff-list-flow {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
@ -114,10 +114,10 @@
|
|||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
border-top: 1px solid $tertiary-border-color;
|
border-top: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
}
|
}
|
||||||
&:not(:last-child) {
|
&:not(:last-child) {
|
||||||
border-bottom: 1px solid $tertiary-border-color;
|
border-bottom: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
@ -150,8 +150,8 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
td, th {
|
td, th {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
&:first-child {
|
&:first-child {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@
|
|||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $secondary-background-selected;
|
background: var(--red-ui-secondary-background-selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -212,7 +212,7 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $secondary-background-selected;
|
background: var(--red-ui-secondary-background-selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-flow-title-meta {
|
.red-ui-diff-list-flow-title-meta {
|
||||||
@ -223,7 +223,7 @@
|
|||||||
.red-ui-diff-list-node-header {
|
.red-ui-diff-list-node-header {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $secondary-background-selected;
|
background: var(--red-ui-secondary-background-selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-node-icon {
|
.red-ui-diff-list-node-icon {
|
||||||
@ -232,9 +232,9 @@
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
width: 18px;
|
width: 18px;
|
||||||
height: 15px;
|
height: 15px;
|
||||||
background: $form-input-background;
|
background: var(--red-ui-form-input-background);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
border: 1px solid $node-border;
|
border: 1px solid var(--red-ui-node-border);
|
||||||
background-position: 5% 50%;
|
background-position: 5% 50%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
@ -267,7 +267,7 @@
|
|||||||
.red-ui-diff-status-deleted {
|
.red-ui-diff-status-deleted {
|
||||||
cursor: default !important;
|
cursor: default !important;
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
color: $diff-state-deleted;
|
color: var(--red-ui-diff-state-deleted);
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-node-node {
|
.red-ui-diff-list-node-node {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
@ -280,28 +280,28 @@
|
|||||||
.red-ui-diff-status-added {
|
.red-ui-diff-status-added {
|
||||||
cursor: default !important;
|
cursor: default !important;
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
color: $diff-state-added;
|
color: var(--red-ui-diff-state-added);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-status-moved {
|
.red-ui-diff-status-moved {
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
color: $diff-state-moved;
|
color: var(--red-ui-diff-state-moved);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-diff-status-changed {
|
.red-ui-diff-status-changed {
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
color: $diff-state-changed;
|
color: var(--red-ui-diff-state-changed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-status-unchanged {
|
.red-ui-diff-status-unchanged {
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
color: $diff-state-unchanged;
|
color: var(--red-ui-diff-state-unchanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-status-conflict {
|
.red-ui-diff-status-conflict {
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
color: $diff-state-conflict;
|
color: var(--red-ui-diff-state-conflict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-node-title {
|
.red-ui-diff-list-node-title {
|
||||||
@ -312,7 +312,7 @@
|
|||||||
}
|
}
|
||||||
.red-ui-diff-list-node-properties {
|
.red-ui-diff-list-node-properties {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-diff-status {
|
.red-ui-diff-status {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -329,7 +329,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-diff-list-node-description {
|
.red-ui-diff-list-node-description {
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -340,11 +340,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-diff-state-added { color: $diff-state-added; }
|
.red-ui-diff-state-added { color: var(--red-ui-diff-state-added); }
|
||||||
.red-ui-diff-state-deleted { color: $diff-state-deleted; }
|
.red-ui-diff-state-deleted { color: var(--red-ui-diff-state-deleted); }
|
||||||
.red-ui-diff-state-changed { color: $diff-state-changed; }
|
.red-ui-diff-state-changed { color: var(--red-ui-diff-state-changed); }
|
||||||
.red-ui-diff-state-unchanged { color: $diff-state-unchanged; }
|
.red-ui-diff-state-unchanged { color: var(--red-ui-diff-state-unchanged); }
|
||||||
.red-ui-diff-state-conflicted { color: $diff-state-conflicted; }
|
.red-ui-diff-state-conflicted { color: var(--red-ui-diff-state-conflicted); }
|
||||||
|
|
||||||
|
|
||||||
.red-ui-diff-list-node-cell {
|
.red-ui-diff-list-node-cell {
|
||||||
@ -353,19 +353,19 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: calc( (100% - 20px) / 2);
|
width: calc( (100% - 20px) / 2);
|
||||||
height: 32px;
|
height: 32px;
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
padding-top: 2px;
|
padding-top: 2px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.red-ui-diff-empty {
|
.red-ui-diff-empty {
|
||||||
background: $secondary-background-disabled;
|
background: var(--red-ui-secondary-background-disabled);
|
||||||
background: repeating-linear-gradient(
|
background: repeating-linear-gradient(
|
||||||
20deg,
|
20deg,
|
||||||
$secondary-background, $secondary-background 5px,
|
var(--red-ui-secondary-background), var(--red-ui-secondary-background) 5px,
|
||||||
$secondary-background-disabled 5px,
|
var(--red-ui-secondary-background-disabled) 5px,
|
||||||
$secondary-background-disabled 10px
|
var(--red-ui-secondary-background-disabled) 10px
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-node-cell:first-child {
|
.red-ui-diff-list-node-cell:first-child {
|
||||||
@ -425,10 +425,10 @@
|
|||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
&.red-ui-diff-status-changed {
|
&.red-ui-diff-status-changed {
|
||||||
background: $diff-state-changed-background;
|
background: var(--red-ui-diff-state-changed-background);
|
||||||
}
|
}
|
||||||
&.red-ui-diff-status-conflict {
|
&.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;
|
bottom:0;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
margin:0;
|
margin:0;
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&: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-conflict.red-ui-diff-select-remote {
|
||||||
.red-ui-diff-list-node-remote {
|
.red-ui-diff-list-node-remote {
|
||||||
background: $diff-state-added-background;
|
background: var(--red-ui-diff-state-added-background);
|
||||||
label {
|
label {
|
||||||
border-left-color: $diff-state-added-border;
|
border-left-color: var(--red-ui-diff-state-added-border);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-node-local {
|
.red-ui-diff-list-node-local {
|
||||||
background: $diff-state-deleted-background;
|
background: var(--red-ui-diff-state-deleted-background);
|
||||||
label {
|
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-conflict.red-ui-diff-select-local {
|
||||||
.red-ui-diff-list-node-local {
|
.red-ui-diff-list-node-local {
|
||||||
background: $diff-state-added-background;
|
background: var(--red-ui-diff-state-added-background);
|
||||||
label {
|
label {
|
||||||
border-left-color: $diff-state-added-border;
|
border-left-color: var(--red-ui-diff-state-added-border);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-diff-list-node-remote {
|
.red-ui-diff-list-node-remote {
|
||||||
background: $diff-state-deleted-background;
|
background: var(--red-ui-diff-state-deleted-background);
|
||||||
label {
|
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;
|
width: 30px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
&.fa-check {
|
&.fa-check {
|
||||||
color: $text-color-success;
|
color: var(--red-ui-text-color-success);
|
||||||
}
|
}
|
||||||
&.fa-exclamation {
|
&.fa-exclamation {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
div {
|
div {
|
||||||
@ -529,7 +529,7 @@ ul.red-ui-deploy-dialog-confirm-list {
|
|||||||
|
|
||||||
table.red-ui-diff-text-content {
|
table.red-ui-diff-text-content {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
table-layout: fixed;
|
table-layout: fixed;
|
||||||
width: calc(100% - 20px);
|
width: calc(100% - 20px);
|
||||||
@ -538,88 +538,88 @@ ul.red-ui-deploy-dialog-confirm-list {
|
|||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
td.lineno {
|
td.lineno {
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
&.added {
|
&.added {
|
||||||
background: $diff-state-added-header-background;
|
background: var(--red-ui-diff-state-added-header-background);
|
||||||
}
|
}
|
||||||
&.removed {
|
&.removed {
|
||||||
background: $diff-state-deleted-header-background;
|
background: var(--red-ui-diff-state-deleted-header-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
td.lineno:nth-child(3) {
|
td.lineno:nth-child(3) {
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
td.linetext {
|
td.linetext {
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
border-left: 1px solid $tertiary-border-color;
|
border-left: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
span.prefix {
|
span.prefix {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: $diff-state-prefix-color;
|
color: var(--red-ui-diff-state-prefix-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.added {
|
&.added {
|
||||||
border-left-color: $diff-state-added-header-border;
|
border-left-color: var(--red-ui-diff-state-added-header-border);
|
||||||
}
|
}
|
||||||
&.removed {
|
&.removed {
|
||||||
border-left-color: $diff-state-deleted-header-border;
|
border-left-color: var(--red-ui-diff-state-deleted-header-border);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
td.blank {
|
td.blank {
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
}
|
}
|
||||||
td.added {
|
td.added {
|
||||||
background: $diff-state-added-background;
|
background: var(--red-ui-diff-state-added-background);
|
||||||
color: $diff-state-color;
|
color: var(--red-ui-diff-state-color);
|
||||||
}
|
}
|
||||||
td.removed {
|
td.removed {
|
||||||
background: $diff-state-deleted-background;
|
background: var(--red-ui-diff-state-deleted-background);
|
||||||
color: $diff-state-color;
|
color: var(--red-ui-diff-state-color);
|
||||||
}
|
}
|
||||||
tr.mergeHeader td {
|
tr.mergeHeader td {
|
||||||
color: $diff-merge-header-color;
|
color: var(--red-ui-diff-merge-header-color);
|
||||||
background: $diff-merge-header-background;
|
background: var(--red-ui-diff-merge-header-background);
|
||||||
height: 26px;
|
height: 26px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
tr.mergeHeader-separator td {
|
tr.mergeHeader-separator td {
|
||||||
color: $diff-merge-header-color;
|
color: var(--red-ui-diff-merge-header-color);
|
||||||
background: $diff-merge-header-border-color;
|
background: var(--red-ui-diff-merge-header-border-color);
|
||||||
height: 0px;
|
height: 0px;
|
||||||
}
|
}
|
||||||
tr.mergeHeader-ours td {
|
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 {
|
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 {
|
td.unchanged {
|
||||||
background: $diff-state-unchanged-background;
|
background: var(--red-ui-diff-state-unchanged-background);
|
||||||
color: $diff-state-unchanged;
|
color: var(--red-ui-diff-state-unchanged);
|
||||||
}
|
}
|
||||||
tr.unchanged {
|
tr.unchanged {
|
||||||
background: $diff-state-unchanged-background;
|
background: var(--red-ui-diff-state-unchanged-background);
|
||||||
}
|
}
|
||||||
tr.start-block {
|
tr.start-block {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
tr.end-block {
|
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 {
|
tr.red-ui-diff-text-file-header td {
|
||||||
.filename {
|
.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;
|
padding: 5px 10px 5px 0;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
i.red-ui-diff-list-chevron {
|
i.red-ui-diff-list-chevron {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
@ -631,17 +631,17 @@ ul.red-ui-deploy-dialog-confirm-list {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tr.red-ui-diff-text-commit-header td {
|
tr.red-ui-diff-text-commit-header td {
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.commit-summary {
|
.commit-summary {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
.commit-body {
|
.commit-body {
|
||||||
margin-bottom:15px;
|
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) {
|
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;
|
padding: 5px 10px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
color: $diff-text-header-color;
|
color: var(--red-ui-diff-text-header-color);
|
||||||
background: $diff-text-header-background;
|
background: var(--red-ui-diff-text-header-background);
|
||||||
height: 30px;
|
height: 30px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
tr.red-ui-diff-text-expand td {
|
tr.red-ui-diff-text-expand td {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $diff-text-header-background;
|
background: var(--red-ui-diff-text-header-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0; bottom: 0;
|
top: 0; bottom: 0;
|
||||||
left: 0; right: 0;
|
left: 0; right: 0;
|
||||||
background: $dnd-background;
|
background: var(--red-ui-dnd-background);
|
||||||
display:table;
|
display:table;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -30,7 +30,7 @@
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
color: $dnd-color;
|
color: var(--red-ui-dnd-color);
|
||||||
i {
|
i {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
font-size: 80px;
|
font-size: 80px;
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
.red-ui-menu-dropdown {
|
.red-ui-menu-dropdown {
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 100%;
|
top: 100%;
|
||||||
width: 230px;
|
width: 230px;
|
||||||
@ -28,9 +28,9 @@
|
|||||||
margin-left: 0px !important;
|
margin-left: 0px !important;
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
background: $menuBackground;
|
background: var(--red-ui-menuBackground);
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
box-shadow: 0 5px 10px $shadow;
|
box-shadow: 0 5px 10px var(--red-ui-shadow);
|
||||||
|
|
||||||
&.pull-right {
|
&.pull-right {
|
||||||
right: 0;
|
right: 0;
|
||||||
@ -41,16 +41,16 @@
|
|||||||
height: 1px;
|
height: 1px;
|
||||||
margin: 9px 1px;
|
margin: 9px 1px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: $menuDivider;
|
background-color: var(--red-ui-menuDivider);
|
||||||
}
|
}
|
||||||
& > li > a,
|
& > li > a,
|
||||||
& > li > a:focus {
|
& > li > a:focus {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 4px 20px 4px 12px;
|
padding: 4px 12px 4px 32px;
|
||||||
clear: both;
|
clear: both;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
color: $menuColor;
|
color: var(--red-ui-menuColor);
|
||||||
white-space: normal !important;
|
white-space: normal !important;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
@ -58,22 +58,37 @@
|
|||||||
& > li.pull-left > a:focus {
|
& > li.pull-left > a:focus {
|
||||||
padding: 4px 12px 4px 32px;
|
padding: 4px 12px 4px 32px;
|
||||||
}
|
}
|
||||||
|
&.red-ui-menu-dropdown-noicons > li > a,
|
||||||
|
&.red-ui-menu-dropdown-noicons > li > a:focus {
|
||||||
|
padding: 4px 12px 4px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.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,
|
||||||
& > .active > a:hover,
|
& > .active > a:hover,
|
||||||
& > .active > a:focus {
|
& > .active > a:focus {
|
||||||
color: $menuActiveColor;
|
color: var(--red-ui-menuActiveColor);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: $menuActiveBackground;
|
background-color: var(--red-ui-menuActiveBackground);
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
& > .disabled > a,
|
& > .disabled > a,
|
||||||
& > .disabled > a:hover,
|
& > .disabled > a:hover,
|
||||||
& > .disabled > a:focus {
|
& > .disabled > a:focus {
|
||||||
color: $menuDisabledColor;
|
color: var(--red-ui-menuDisabledColor);
|
||||||
.red-ui-popover-key {
|
.red-ui-popover-key {
|
||||||
color: $menuDisabledColor;
|
color: var(--red-ui-menuDisabledColor);
|
||||||
border-color: $menuDisabledColor;
|
border-color: var(--red-ui-menuDisabledColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,8 +136,8 @@
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
// float: right;
|
// float: right;
|
||||||
color: $menuColor;
|
color: var(--red-ui-menuColor);
|
||||||
border-color: $menuColor;
|
border-color: var(--red-ui-menuColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,9 +154,9 @@
|
|||||||
.red-ui-menu-dropdown > li > a:focus,
|
.red-ui-menu-dropdown > li > a:focus,
|
||||||
.red-ui-menu-dropdown-submenu:hover > a,
|
.red-ui-menu-dropdown-submenu:hover > a,
|
||||||
.red-ui-menu-dropdown-submenu:focus > a {
|
.red-ui-menu-dropdown-submenu:focus > a {
|
||||||
color: $menuHoverColor;
|
color: var(--red-ui-menuHoverColor);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: $menuHoverBackground;
|
background-color: var(--red-ui-menuHoverBackground);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-menu-dropdown-submenu {
|
.red-ui-menu-dropdown-submenu {
|
||||||
@ -164,7 +179,7 @@
|
|||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
margin-right: -10px;
|
margin-right: -10px;
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
border-left-color: $menuCaret;
|
border-left-color: var(--red-ui-menuCaret);
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 5px 0 5px 5px;
|
border-width: 5px 0 5px 5px;
|
||||||
content: " ";
|
content: " ";
|
||||||
@ -187,10 +202,10 @@
|
|||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
margin-left: -30px;
|
margin-left: -15px;
|
||||||
/* Caret Arrow */
|
/* Caret Arrow */
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
border-right-color: $menuCaret;
|
border-right-color: var(--red-ui-menuCaret);
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 5px 5px 5px 0;
|
border-width: 5px 5px 5px 0;
|
||||||
content: " ";
|
content: " ";
|
||||||
@ -208,20 +223,20 @@
|
|||||||
margin-right: -15px;
|
margin-right: -15px;
|
||||||
/* Caret Arrow */
|
/* Caret Arrow */
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
border-left-color: $menuCaret;
|
border-left-color: var(--red-ui-menuCaret);
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 5px 0 5px 5px;
|
border-width: 5px 0 5px 5px;
|
||||||
content: " ";
|
content: " ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-menu-dropdown-submenu.disabled > a:before {
|
.red-ui-menu-dropdown-submenu.disabled > a:before {
|
||||||
border-right-color: $menuCaret;
|
border-right-color: var(--red-ui-menuCaret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Menu NG
|
// Menu NG
|
||||||
ul.red-ui-menu:not(.red-ui-menu-dropdown) {
|
ul.red-ui-menu:not(.red-ui-menu-dropdown) {
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -232,14 +247,14 @@ ul.red-ui-menu:not(.red-ui-menu-dropdown) {
|
|||||||
clear: both;
|
clear: both;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
color: $menuColor;
|
color: var(--red-ui-menuColor);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
&:hover,&:focus {
|
&:hover,&:focus {
|
||||||
color: $menuHoverColor;
|
color: var(--red-ui-menuHoverColor);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: $menuHoverBackground;
|
background-color: var(--red-ui-menuHoverBackground);
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,9 @@
|
|||||||
width: auto;
|
width: auto;
|
||||||
right: -1000px;
|
right: -1000px;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
.red-ui-tray.open {
|
.red-ui-tray.open {
|
||||||
@ -67,8 +67,8 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background: $palette-header-background;
|
background: var(--red-ui-palette-header-background);
|
||||||
&:after {
|
&:after {
|
||||||
content: "";
|
content: "";
|
||||||
display: table;
|
display: table;
|
||||||
@ -88,8 +88,8 @@
|
|||||||
height: 26px;
|
height: 26px;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
&.toggle:not(.selected) {
|
&.toggle:not(.selected) {
|
||||||
color: $workspace-button-color-selected !important;
|
color: var(--red-ui-workspace-button-color-selected) !important;
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,8 +116,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-tray-titlebar {
|
.red-ui-tray-titlebar {
|
||||||
color: $header-text-color;
|
color: var(--red-ui-header-text-color);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
.red-ui-editor ul.red-ui-tray-breadcrumbs {
|
.red-ui-editor ul.red-ui-tray-breadcrumbs {
|
||||||
@ -131,7 +131,7 @@
|
|||||||
margin:0;
|
margin:0;
|
||||||
|
|
||||||
&:not(:last-child) {
|
&:not(:last-child) {
|
||||||
color: $workspace-button-color;
|
color: var(--red-ui-workspace-button-color);
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
@ -149,10 +149,10 @@
|
|||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
width: 7px;
|
width: 7px;
|
||||||
left: -9px;
|
left: -9px;
|
||||||
background-color: $primary-background;
|
background-color: var(--red-ui-primary-background);
|
||||||
cursor: col-resize;
|
cursor: col-resize;
|
||||||
border-left: 1px solid $primary-border-color;
|
border-left: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-shadow: -1px 0 6px $shadow;
|
box-shadow: -1px 0 6px var(--red-ui-shadow);
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
content: '';
|
content: '';
|
||||||
@ -167,11 +167,11 @@
|
|||||||
mask-position: 50% 50%;
|
mask-position: 50% 50%;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
background-color: $grip-color;
|
background-color: var(--red-ui-grip-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.red-ui-tray-resize-maximised {
|
&.red-ui-tray-resize-maximised {
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -182,10 +182,10 @@ button.red-ui-tray-resize-button {
|
|||||||
height: 37px;
|
height: 37px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
border: none;
|
border: none;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
color: $workspace-button-color;
|
color: var(--red-ui-workspace-button-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-editor .red-ui-tray {
|
.red-ui-editor .red-ui-tray {
|
||||||
@ -203,16 +203,16 @@ button.red-ui-tray-resize-button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.input-error {
|
.input-error {
|
||||||
border-color: $form-input-border-error-color !important;
|
border-color: var(--red-ui-form-input-border-error-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-updated {
|
.input-updated {
|
||||||
border-color: $node-selected-color !important;
|
border-color: var(--red-ui-node-selected-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-row {
|
.form-row {
|
||||||
clear: both;
|
clear: both;
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
margin-bottom:12px;
|
margin-bottom:12px;
|
||||||
}
|
}
|
||||||
.form-row label {
|
.form-row label {
|
||||||
@ -223,10 +223,10 @@ button.red-ui-tray-resize-button {
|
|||||||
width:70%;
|
width:70%;
|
||||||
}
|
}
|
||||||
.form-tips {
|
.form-tips {
|
||||||
background: $form-tips-background;
|
background: var(--red-ui-form-tips-background);
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
max-width: 450px;
|
max-width: 450px;
|
||||||
}
|
}
|
||||||
.form-tips code {
|
.form-tips code {
|
||||||
@ -238,7 +238,7 @@ button.red-ui-tray-resize-button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.form-warning {
|
.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 {
|
.red-ui-editor-text-container {
|
||||||
border:1px solid $tertiary-border-color;
|
border:1px solid var(--red-ui-tertiary-border-color);
|
||||||
border-radius:5px;
|
border-radius:5px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-size: $primary-font-size !important;
|
font-size: var(--red-ui-primary-font-size !important);
|
||||||
font-family: $monospace-font !important;
|
font-family: var(--red-ui-monospace-font !important);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
&.red-ui-editor-text-container-toolbar {
|
&.red-ui-editor-text-container-toolbar {
|
||||||
@ -302,7 +302,7 @@ button.red-ui-button-small
|
|||||||
#red-ui-editor-config-scope-warning {
|
#red-ui-editor-config-scope-warning {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
color: $text-color-warning;
|
color: var(--red-ui-text-color-warning);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
#red-ui-editor-config-scope {
|
#red-ui-editor-config-scope {
|
||||||
@ -358,18 +358,18 @@ button.red-ui-button-small
|
|||||||
padding: 20px 20px 10px;
|
padding: 20px 20px 10px;
|
||||||
&:last-child {
|
&:last-child {
|
||||||
padding-top: 60px;
|
padding-top: 60px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-editor-type-markdown-panel-preview {
|
.red-ui-editor-type-markdown-panel-preview {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border:1px solid $secondary-border-color;
|
border:1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius:5px;
|
border-radius:5px;
|
||||||
height: calc(100% - 21px);
|
height: calc(100% - 21px);
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
#red-ui-clipboard-hidden {
|
#red-ui-clipboard-hidden {
|
||||||
@ -402,7 +402,7 @@ button.red-ui-button-small
|
|||||||
span {
|
span {
|
||||||
padding-left: 50px;
|
padding-left: 50px;
|
||||||
width: 100px;
|
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 {
|
.red-ui-group-layout-picker {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
}
|
}
|
||||||
.red-ui-group-layout-picker-cell-text {
|
.red-ui-group-layout-picker-cell-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
border-top: 2px solid $secondary-text-color;
|
border-top: 2px solid var(--red-ui-secondary-text-color);
|
||||||
border-bottom: 2px solid $secondary-text-color;
|
border-bottom: 2px solid var(--red-ui-secondary-text-color);
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
|
|
||||||
&.red-ui-group-layout-text-pos-nw { top: 0; left: 0; }
|
&.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-color: #FFF;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
background-position: 0 0, 50% 50%;
|
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;
|
border: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -475,17 +475,17 @@ button.red-ui-group-layout-picker-none {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
border: none;
|
border: none;
|
||||||
border-bottom: 1px solid $form-input-border-color;
|
border-bottom: 1px solid var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
small {
|
small {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
min-width: 35px;
|
min-width: 35px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
}
|
}
|
||||||
.red-ui-editor-node-appearance-button {
|
.red-ui-editor-node-appearance-button {
|
||||||
.red-ui-search-result-node {
|
.red-ui-search-result-node {
|
||||||
@ -496,7 +496,7 @@ button.red-ui-group-layout-picker-none {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
border-color: $secondary-border-color;
|
border-color: var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
.red-ui-color-picker-swatch {
|
.red-ui-color-picker-swatch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -509,7 +509,7 @@ button.red-ui-group-layout-picker-none {
|
|||||||
background-color: #FFF;
|
background-color: #FFF;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
background-position: 0 0, 50% 50%;
|
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 {
|
.red-ui-search-result-node .red-ui-color-picker-cell-none {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
@ -536,7 +536,7 @@ button.red-ui-group-layout-picker-none {
|
|||||||
top:0;right:0;left:0;bottom:0;
|
top:0;right:0;left:0;bottom:0;
|
||||||
background-image:linear-gradient(90deg, transparent 0%, #f00 100%);
|
background-image:linear-gradient(90deg, transparent 0%, #f00 100%);
|
||||||
background-size: 100% 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 {
|
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;
|
width: 10px;
|
||||||
height: 22px;
|
height: 22px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
.red-ui-icon-picker {
|
.red-ui-icon-picker {
|
||||||
@ -562,15 +562,15 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
|
|||||||
.red-ui-icon-list {
|
.red-ui-icon-list {
|
||||||
width: 308px;
|
width: 308px;
|
||||||
height: 200px;
|
height: 200px;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
line-height: 0px;
|
line-height: 0px;
|
||||||
position: relative;
|
position: relative;
|
||||||
&.red-ui-icon-list-dark {
|
&.red-ui-icon-list-dark {
|
||||||
.red-ui-palette-icon-fa {
|
.red-ui-palette-icon-fa {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon-container {
|
.red-ui-palette-icon-container {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -583,10 +583,10 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
}
|
}
|
||||||
&.selected {
|
&.selected {
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
.red-ui-search-result-node {
|
.red-ui-search-result-node {
|
||||||
// border-color: white;
|
// border-color: white;
|
||||||
}
|
}
|
||||||
@ -597,22 +597,22 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-icon-list-module {
|
.red-ui-icon-list-module {
|
||||||
background: $palette-header-background;
|
background: var(--red-ui-palette-header-background);
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
clear: both;
|
clear: both;
|
||||||
i {
|
i {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-icon-meta {
|
.red-ui-icon-meta {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
height: 24px;
|
height: 24px;
|
||||||
span {
|
span {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
line-height: 24px;
|
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 {
|
.red-ui-editor-type-json-editor {
|
||||||
height: calc(100% - 10px);
|
height: calc(100% - 10px);
|
||||||
.red-ui-treeList-container {
|
.red-ui-treeList-container {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
}
|
}
|
||||||
.red-ui-treeList-label {
|
.red-ui-treeList-label {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
@ -647,7 +647,7 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
&:hover, &:hover .red-ui-treeList-sublabel-text {
|
&: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 {
|
.red-ui-editor-type-json-editor-item-gutter {
|
||||||
> span, > button {
|
> span, > button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -656,11 +656,11 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
|
|||||||
}
|
}
|
||||||
&.selected {
|
&.selected {
|
||||||
.red-ui-editor-type-json-editor-item-gutter {
|
.red-ui-editor-type-json-editor-item-gutter {
|
||||||
background: $secondary-background-hover;
|
background: var(--red-ui-secondary-background-hover);
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
.red-ui-editor-type-json-editor-item-gutter {
|
.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: 2px solid rgba(0,0,0,0);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
&:not(.red-ui-editor-type-json-editor-label-array-key):hover {
|
&: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;
|
border-style: dashed;
|
||||||
}
|
}
|
||||||
&.readonly {
|
&.readonly {
|
||||||
@ -712,8 +712,8 @@ div.red-ui-button-small.red-ui-color-picker-opacity-slider-handle {
|
|||||||
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
background: $secondary-background-disabled;
|
background: var(--red-ui-secondary-background-disabled);
|
||||||
> span {
|
> span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
@ -755,7 +755,7 @@ button.red-ui-toggleButton.toggle {
|
|||||||
}
|
}
|
||||||
>div:first-child {
|
>div:first-child {
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
margin: 3px 0 -4px;
|
margin: 3px 0 -4px;
|
||||||
>div {
|
>div {
|
||||||
padding-left: 3px;
|
padding-left: 3px;
|
||||||
@ -767,15 +767,15 @@ button.red-ui-toggleButton.toggle {
|
|||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
// border-left: 2px dashed $secondary-border-color;
|
// border-left: 2px dashed var(--red-ui-secondary-border-color);
|
||||||
// border-bottom: 2px dashed $secondary-border-color;
|
// border-bottom: 2px dashed var(--red-ui-secondary-border-color);
|
||||||
// border: 1px dashed $secondary-border-color;
|
// border: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
border-right: none;
|
border-right: none;
|
||||||
&:not(:first-child) {
|
&:not(:first-child) {
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
}
|
}
|
||||||
// &:last-child {
|
// &:last-child {
|
||||||
// border-right: 1px dashed $secondary-border-color;
|
// border-right: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
// }
|
// }
|
||||||
.placeholder-input {
|
.placeholder-input {
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -800,8 +800,8 @@ button.red-ui-toggleButton.toggle {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
border-right: 1px solid $secondary-border-color;
|
border-right: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
input[type="checkbox"] {
|
input[type="checkbox"] {
|
||||||
@ -817,13 +817,13 @@ button.red-ui-toggleButton.toggle {
|
|||||||
.red-ui-editableList-item-handle {
|
.red-ui-editableList-item-handle {
|
||||||
position:relative;
|
position:relative;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
>div:nth-child(2) {
|
>div:nth-child(2) {
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
border: 1px dashed $secondary-border-color;
|
border: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
@ -831,7 +831,7 @@ button.red-ui-toggleButton.toggle {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $secondary-background-hover;
|
background: var(--red-ui-secondary-background-hover);
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -851,7 +851,7 @@ button.red-ui-toggleButton.toggle {
|
|||||||
span.red-ui-editor-subflow-env-lang-icon {
|
span.red-ui-editor-subflow-env-lang-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
@ -864,12 +864,12 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-editor-subflow-env-input-type {
|
.red-ui-editor-subflow-env-input-type {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
.red-ui-editor-subflow-env-input-type-placeholder {
|
.red-ui-editor-subflow-env-input-type-placeholder {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -886,7 +886,7 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
// border-top: none;
|
// border-top: none;
|
||||||
// }
|
// }
|
||||||
// &.ui-sortable-helper {
|
// &.ui-sortable-helper {
|
||||||
// border: 2px dashed $secondary-border-color;
|
// border: 2px dashed var(--red-ui-secondary-border-color);
|
||||||
// .red-ui-editableList-item-content {
|
// .red-ui-editableList-item-content {
|
||||||
// >div {
|
// >div {
|
||||||
// border: none;
|
// border: none;
|
||||||
@ -901,15 +901,15 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
// >div>div {
|
// >div>div {
|
||||||
// display: inline-block;
|
// display: inline-block;
|
||||||
// box-sizing: border-box;
|
// box-sizing: border-box;
|
||||||
// border-left: 1px dashed $secondary-border-color;
|
// border-left: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
// border-bottom: 1px dashed $secondary-border-color;
|
// border-bottom: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
// }
|
// }
|
||||||
// >div:first-child {
|
// >div:first-child {
|
||||||
// font-size: 0.9em;
|
// font-size: 0.9em;
|
||||||
// display: grid;
|
// display: grid;
|
||||||
// grid-template-columns: 25px auto 20px;
|
// grid-template-columns: 25px auto 20px;
|
||||||
// >div {
|
// >div {
|
||||||
// border-top: 1px dashed $secondary-border-color;
|
// border-top: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
// padding: 1px;
|
// padding: 1px;
|
||||||
// }
|
// }
|
||||||
// >div:nth-child(3) {
|
// >div:nth-child(3) {
|
||||||
@ -929,9 +929,9 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
// // line-height: 30px;
|
// // line-height: 30px;
|
||||||
// // box-sizing: border-box;
|
// // 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-top: none;
|
||||||
// // border-bottom: 2px dashed $secondary-border-color;
|
// // border-bottom: 2px dashed var(--red-ui-secondary-border-color);
|
||||||
// &:not(:first-child) {
|
// &:not(:first-child) {
|
||||||
// padding: 6px 3px;
|
// padding: 6px 3px;
|
||||||
// }
|
// }
|
||||||
@ -963,7 +963,7 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
// height: 100%;
|
// height: 100%;
|
||||||
// line-height: 45px;
|
// line-height: 45px;
|
||||||
// &:hover {
|
// &: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 {
|
.red-ui-editor-subflow-ui-edit-panel {
|
||||||
padding-bottom: 3px;
|
padding-bottom: 3px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
.red-ui-editableList-border {
|
.red-ui-editableList-border {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
}
|
}
|
||||||
@ -1005,10 +1005,10 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
.red-ui-editableList-header {
|
.red-ui-editableList-header {
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 50% 50%;
|
grid-template-columns: 50% 50%;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
div:first-child {
|
div:first-child {
|
||||||
padding-left: 23px;
|
padding-left: 23px;
|
||||||
}
|
}
|
||||||
@ -1019,7 +1019,7 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
padding: 0 1px;
|
padding: 0 1px;
|
||||||
li {
|
li {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
// border-bottom: none;
|
// border-bottom: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
.red-ui-editableList-item-content {
|
.red-ui-editableList-item-content {
|
||||||
@ -1034,14 +1034,14 @@ span.red-ui-editor-subflow-env-lang-icon {
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
border:none;
|
border:none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-right: 1px solid $secondary-border-color;
|
border-right: 1px solid var(--red-ui-secondary-border-color);
|
||||||
|
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
&:focus {
|
&: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 {
|
&: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 {
|
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-left-radius: 4px;
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
|
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
>div {
|
>div {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
@ -16,14 +16,14 @@
|
|||||||
|
|
||||||
.nr-ui-view-lasso {
|
.nr-ui-view-lasso {
|
||||||
stroke-width: 1px;
|
stroke-width: 1px;
|
||||||
stroke: $view-lasso-stroke;
|
stroke: var(--red-ui-view-lasso-stroke);
|
||||||
fill: $view-lasso-fill;
|
fill: var(--red-ui-view-lasso-fill);
|
||||||
stroke-dasharray: 10 5;
|
stroke-dasharray: 10 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nr-ui-view-slice {
|
.nr-ui-view-slice {
|
||||||
stroke-width: 1px;
|
stroke-width: 1px;
|
||||||
stroke: $view-lasso-stroke;
|
stroke: var(--red-ui-view-lasso-stroke);
|
||||||
fill: none;
|
fill: none;
|
||||||
stroke-dasharray: 10 5;
|
stroke-dasharray: 10 5;
|
||||||
}
|
}
|
||||||
@ -33,11 +33,11 @@
|
|||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-label-white {
|
.red-ui-flow-node-label-white {
|
||||||
fill: $view-background !important;
|
fill: var(--red-ui-view-background) !important;
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-label {
|
.red-ui-flow-node-label {
|
||||||
stroke-width: 0;
|
stroke-width: 0;
|
||||||
fill: $node-label-color;
|
fill: var(--red-ui-node-label-color);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
-webkit-touch-callout: none;
|
-webkit-touch-callout: none;
|
||||||
@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
.red-ui-flow-port-label {
|
.red-ui-flow-port-label {
|
||||||
stroke-width: 0;
|
stroke-width: 0;
|
||||||
fill: $node-port-label-color;
|
fill: var(--red-ui-node-port-label-color);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
dominant-baseline: middle;
|
dominant-baseline: middle;
|
||||||
text-anchor: middle;
|
text-anchor: middle;
|
||||||
@ -65,7 +65,7 @@
|
|||||||
|
|
||||||
|
|
||||||
.red-ui-flow-node {
|
.red-ui-flow-node {
|
||||||
stroke: $node-border;
|
stroke: var(--red-ui-node-border);
|
||||||
cursor: move;
|
cursor: move;
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
}
|
}
|
||||||
@ -80,7 +80,7 @@
|
|||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
.red-ui-flow-node {
|
.red-ui-flow-node {
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
stroke: $node-selected-color !important;
|
stroke: var(--red-ui-node-selected-color) !important;
|
||||||
stroke-dasharray: 10, 4;
|
stroke-dasharray: 10, 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -95,53 +95,53 @@
|
|||||||
}
|
}
|
||||||
&.red-ui-flow-group-active-hovered:not(.red-ui-flow-group-hovered) {
|
&.red-ui-flow-group-active-hovered:not(.red-ui-flow-group-hovered) {
|
||||||
.red-ui-flow-group-outline-select {
|
.red-ui-flow-group-outline-select {
|
||||||
stroke: $link-link-color;
|
stroke: var(--red-ui-link-link-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-group-outline {
|
.red-ui-flow-group-outline {
|
||||||
fill: none;
|
fill: none;
|
||||||
stroke: $node-selected-color;
|
stroke: var(--red-ui-node-selected-color);
|
||||||
stroke-opacity: 0;
|
stroke-opacity: 0;
|
||||||
stroke-width: 12;
|
stroke-width: 12;
|
||||||
pointer-events: stroke;
|
pointer-events: stroke;
|
||||||
}
|
}
|
||||||
.red-ui-flow-group-outline-select {
|
.red-ui-flow-group-outline-select {
|
||||||
fill: none;
|
fill: none;
|
||||||
stroke: $node-selected-color;
|
stroke: var(--red-ui-node-selected-color);
|
||||||
pointer-events: stroke;
|
pointer-events: stroke;
|
||||||
stroke-opacity: 0;
|
stroke-opacity: 0;
|
||||||
stroke-width: 3;
|
stroke-width: 3;
|
||||||
|
|
||||||
&.red-ui-flow-group-outline-select-background {
|
&.red-ui-flow-group-outline-select-background {
|
||||||
stroke: $view-background;
|
stroke: var(--red-ui-view-background);
|
||||||
stroke-width: 6;
|
stroke-width: 6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-flow-group-body {
|
.red-ui-flow-group-body {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
fill: $group-default-fill;
|
fill: var(--red-ui-group-default-fill);
|
||||||
fill-opacity: $group-default-fill-opacity;
|
fill-opacity: var(--red-ui-group-default-fill-opacity);
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
stroke: $group-default-stroke;
|
stroke: var(--red-ui-group-default-stroke);
|
||||||
stroke-opacity: $group-default-stroke-opacity;
|
stroke-opacity: var(--red-ui-group-default-stroke-opacity);
|
||||||
}
|
}
|
||||||
.red-ui-flow-group-label {
|
.red-ui-flow-group-label {
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
fill: $group-default-label-color;
|
fill: var(--red-ui-group-default-label-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.red-ui-flow-node-unknown {
|
.red-ui-flow-node-unknown {
|
||||||
stroke-dasharray:10,4;
|
stroke-dasharray:10,4;
|
||||||
stroke: $node-border-unknown;
|
stroke: var(--red-ui-node-border-unknown);
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-placeholder {
|
.red-ui-flow-node-placeholder {
|
||||||
stroke-dasharray:10,4;
|
stroke-dasharray:10,4;
|
||||||
stroke: $node-border-placeholder;
|
stroke: var(--red-ui-node-border-placeholder);
|
||||||
fill: $node-background-placeholder;
|
fill: var(--red-ui-node-background-placeholder);
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
}
|
}
|
||||||
@ -152,19 +152,19 @@
|
|||||||
.fa-lg {
|
.fa-lg {
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
stroke: none;
|
stroke: none;
|
||||||
fill: $node-icon-color;
|
fill: var(--red-ui-node-icon-color);
|
||||||
text-anchor: middle;
|
text-anchor: middle;
|
||||||
font-family: FontAwesome;
|
font-family: FontAwesome;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-icon-shade {
|
.red-ui-flow-node-icon-shade {
|
||||||
stroke: none;
|
stroke: none;
|
||||||
fill: $node-icon-background-color-fill;
|
fill: var(--red-ui-node-icon-background-color-fill);
|
||||||
fill-opacity: $node-icon-background-color-opacity;
|
fill-opacity: var(--red-ui-node-icon-background-color-opacity);
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-icon-shade-border {
|
.red-ui-flow-node-icon-shade-border {
|
||||||
stroke-opacity: $node-icon-border-color-opacity;
|
stroke-opacity: var(--red-ui-node-icon-border-color-opacity);
|
||||||
stroke: $node-icon-border-color;
|
stroke: var(--red-ui-node-icon-border-color);
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,32 +176,39 @@
|
|||||||
cursor: default;
|
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 {
|
.red-ui-flow-node-button-button {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-button-background {
|
.red-ui-flow-node-button-background {
|
||||||
fill: $node-background-placeholder;
|
fill: var(--red-ui-node-background-placeholder);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-port {
|
.red-ui-flow-port {
|
||||||
stroke: $node-border;
|
stroke: var(--red-ui-node-border);
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
fill: $node-port-background;
|
fill: var(--red-ui-node-port-background);
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-node-error {
|
.red-ui-flow-node-error {
|
||||||
fill: $node-status-error-background;
|
fill: var(--red-ui-node-status-error-background);
|
||||||
stroke: $node-status-error-border;
|
stroke: var(--red-ui-node-status-error-border);
|
||||||
stroke-width:1px;
|
stroke-width:1px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
stroke-linejoin: round;
|
stroke-linejoin: round;
|
||||||
stroke-linecap: round;
|
stroke-linecap: round;
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-changed {
|
.red-ui-flow-node-changed {
|
||||||
fill: $node-status-changed-background;
|
fill: var(--red-ui-node-status-changed-background);
|
||||||
stroke: $node-status-changed-border;
|
stroke: var(--red-ui-node-status-changed-border);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
stroke-width:1px;
|
stroke-width:1px;
|
||||||
stroke-linejoin: round;
|
stroke-linejoin: round;
|
||||||
@ -214,13 +221,13 @@ g.red-ui-flow-node-selected {
|
|||||||
}
|
}
|
||||||
.red-ui-flow-node,.red-ui-flow-subflow-port {
|
.red-ui-flow-node,.red-ui-flow-subflow-port {
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
stroke: $node-selected-color !important;
|
stroke: var(--red-ui-node-selected-color) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-highlighted {
|
.red-ui-flow-node-highlighted {
|
||||||
border-color: $node-selected-color !important;
|
border-color: var(--red-ui-node-selected-color) !important;
|
||||||
border-style: dashed !important;
|
border-style: dashed !important;
|
||||||
stroke: $node-selected-color;
|
stroke: var(--red-ui-node-selected-color);
|
||||||
stroke-width: 3;
|
stroke-width: 3;
|
||||||
stroke-dasharray: 8, 4;
|
stroke-dasharray: 8, 4;
|
||||||
}
|
}
|
||||||
@ -236,7 +243,7 @@ g.red-ui-flow-node-selected {
|
|||||||
.red-ui-flow-link-line {
|
.red-ui-flow-link-line {
|
||||||
stroke-dasharray: 10,8 !important;
|
stroke-dasharray: 10,8 !important;
|
||||||
stroke-width: 2 !important;
|
stroke-width: 2 !important;
|
||||||
stroke: $link-disabled-color;
|
stroke: var(--red-ui-link-disabled-color);
|
||||||
}
|
}
|
||||||
.red-ui-flow-port {
|
.red-ui-flow-port {
|
||||||
fill-opacity: 1;
|
fill-opacity: 1;
|
||||||
@ -254,7 +261,7 @@ g.red-ui-flow-node-selected {
|
|||||||
&.red-ui-flow-link-line {
|
&.red-ui-flow-link-line {
|
||||||
stroke-dasharray: 10,8 !important;
|
stroke-dasharray: 10,8 !important;
|
||||||
stroke-width: 2 !important;
|
stroke-width: 2 !important;
|
||||||
stroke: $link-disabled-color;
|
stroke: var(--red-ui-link-disabled-color);
|
||||||
}
|
}
|
||||||
.red-ui-flow-port {
|
.red-ui-flow-port {
|
||||||
fill-opacity: 1;
|
fill-opacity: 1;
|
||||||
@ -263,49 +270,49 @@ g.red-ui-flow-node-selected {
|
|||||||
}
|
}
|
||||||
@each $current-color in red green yellow blue grey gray {
|
@each $current-color in red green yellow blue grey gray {
|
||||||
.red-ui-flow-node-status-dot-#{""+$current-color} {
|
.red-ui-flow-node-status-dot-#{""+$current-color} {
|
||||||
fill: map-get($node-status-colors,$current-color);
|
fill: var(--red-ui-node-status-colors-#{"" + $current-color});
|
||||||
stroke: map-get($node-status-colors,$current-color);
|
stroke: var(--red-ui-node-status-colors-#{"" + $current-color});
|
||||||
}
|
}
|
||||||
.red-ui-flow-node-status-ring-#{""+$current-color} {
|
.red-ui-flow-node-status-ring-#{""+$current-color} {
|
||||||
fill: $view-background;
|
fill: var(--red-ui-view-background);
|
||||||
stroke: map-get($node-status-colors,$current-color);
|
stroke: var(--red-ui-node-status-colors-#{"" + $current-color});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-node-status-label {
|
.red-ui-flow-node-status-label {
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
stroke-width: 0;
|
stroke-width: 0;
|
||||||
fill: $secondary-text-color;
|
fill: var(--red-ui-secondary-text-color);
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
text-anchor:start;
|
text-anchor:start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-port-hovered {
|
.red-ui-flow-port-hovered {
|
||||||
stroke: $port-selected-color;
|
stroke: var(--red-ui-port-selected-color);
|
||||||
fill: $port-selected-color;
|
fill: var(--red-ui-port-selected-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-subflow-port {
|
.red-ui-flow-subflow-port {
|
||||||
fill: $node-background-placeholder;
|
fill: var(--red-ui-node-background-placeholder);
|
||||||
stroke: $node-border;
|
stroke: var(--red-ui-node-border);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-drag-line {
|
.red-ui-flow-drag-line {
|
||||||
stroke: $node-selected-color !important;
|
stroke: var(--red-ui-node-selected-color) !important;
|
||||||
stroke-width: 3;
|
stroke-width: 3;
|
||||||
fill: none;
|
fill: none;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-link-line {
|
.red-ui-flow-link-line {
|
||||||
stroke: $link-color;
|
stroke: var(--red-ui-link-color);
|
||||||
stroke-width: 3;
|
stroke-width: 3;
|
||||||
fill: none;
|
fill: none;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
.red-ui-flow-link-link {
|
.red-ui-flow-link-link {
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
stroke: $link-link-color;
|
stroke: var(--red-ui-link-link-color);
|
||||||
fill: none;
|
fill: none;
|
||||||
stroke-dasharray: 25,4;
|
stroke-dasharray: 25,4;
|
||||||
}
|
}
|
||||||
@ -314,19 +321,19 @@ g.red-ui-flow-node-selected {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-link-port {
|
.red-ui-flow-link-port {
|
||||||
fill: $node-link-port-background;
|
fill: var(--red-ui-node-link-port-background);
|
||||||
stroke: $link-link-color;
|
stroke: var(--red-ui-link-link-color);
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
}
|
}
|
||||||
.red-ui-flow-link-group-active .red-ui-flow-link-port {
|
.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 {
|
.red-ui-flow-link-group:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-flow-link-outline {
|
.red-ui-flow-link-outline {
|
||||||
stroke: $view-background;
|
stroke: var(--red-ui-view-background);
|
||||||
stroke-opacity: 0.4;
|
stroke-opacity: 0.4;
|
||||||
stroke-width: 5;
|
stroke-width: 5;
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
@ -334,7 +341,7 @@ g.red-ui-flow-node-selected {
|
|||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
.red-ui-flow-link-background {
|
.red-ui-flow-link-background {
|
||||||
stroke: $view-background;
|
stroke: var(--red-ui-view-background);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
stroke-width: 20;
|
stroke-width: 20;
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
@ -345,10 +352,10 @@ g.red-ui-flow-node-selected {
|
|||||||
}
|
}
|
||||||
|
|
||||||
g.red-ui-flow-link-selected path.red-ui-flow-link-line {
|
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 {
|
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-width: 2;
|
||||||
stroke-dasharray: 10, 4;
|
stroke-dasharray: 10, 4;
|
||||||
}
|
}
|
||||||
@ -364,15 +371,15 @@ g.red-ui-flow-link-unknown path.red-ui-flow-link-line {
|
|||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|
||||||
path:first-child {
|
path:first-child {
|
||||||
fill: $popover-background;
|
fill: var(--red-ui-popover-background);
|
||||||
stroke: $popover-background;
|
stroke: var(--red-ui-popover-background);
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-flow-port-tooltip-label {
|
.red-ui-flow-port-tooltip-label {
|
||||||
stroke-width: 0;
|
stroke-width: 0;
|
||||||
fill: $popover-color;
|
fill: var(--red-ui-popover-color);
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
-webkit-touch-callout: 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 {
|
.red-ui-flow-junction-port {
|
||||||
stroke: $node-border;
|
stroke: var(--red-ui-node-border);
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
fill: $node-port-background;
|
fill: var(--red-ui-node-port-background);
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
transition: transform 0.1s;
|
transition: transform 0.1s;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
.red-ui-flow-junction-background {
|
.red-ui-flow-junction-background {
|
||||||
stroke: $node-border;
|
stroke: var(--red-ui-node-border);
|
||||||
stroke-width: 1;
|
stroke-width: 1;
|
||||||
fill: $node-port-background;
|
fill: var(--red-ui-node-port-background);
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
transform: scale(1);
|
transform: scale(1);
|
||||||
transition: transform 0.1s;
|
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 {
|
.red-ui-flow-junction-hovered {
|
||||||
stroke: $port-selected-color;
|
stroke: var(--red-ui-port-selected-color);
|
||||||
fill: $port-selected-color;
|
fill: var(--red-ui-port-selected-color);
|
||||||
}
|
}
|
||||||
.red-ui-flow-junction.selected .red-ui-flow-junction-background {
|
.red-ui-flow-junction.selected .red-ui-flow-junction-background {
|
||||||
stroke: $port-selected-color;
|
stroke: var(--red-ui-port-selected-color);
|
||||||
// fill: $port-selected-color;
|
// fill: var(--red-ui-port-selected-color);
|
||||||
}
|
}
|
||||||
|
@ -99,13 +99,13 @@
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
font-size: 21px;
|
font-size: 21px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
border: 0;
|
border: 0;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
legend small {
|
legend small {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -125,7 +125,7 @@
|
|||||||
button,
|
button,
|
||||||
select,
|
select,
|
||||||
textarea {
|
textarea {
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
}
|
}
|
||||||
|
|
||||||
label {
|
label {
|
||||||
@ -159,7 +159,7 @@
|
|||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
@ -193,8 +193,8 @@
|
|||||||
div[contenteditable="true"],
|
div[contenteditable="true"],
|
||||||
.uneditable-input,
|
.uneditable-input,
|
||||||
.placeholder-input {
|
.placeholder-input {
|
||||||
background-color: $form-input-background;
|
background-color: var(--red-ui-form-input-background);
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea:focus,
|
textarea:focus,
|
||||||
@ -214,7 +214,7 @@
|
|||||||
input[type="color"]:focus,
|
input[type="color"]:focus,
|
||||||
div[contenteditable="true"]:focus,
|
div[contenteditable="true"]:focus,
|
||||||
.uneditable-input:focus {
|
.uneditable-input:focus {
|
||||||
border-color: $form-input-focus-color;
|
border-color: var(--red-ui-form-input-focus-color);
|
||||||
outline: 0;
|
outline: 0;
|
||||||
outline: thin dotted \9;
|
outline: thin dotted \9;
|
||||||
}
|
}
|
||||||
@ -245,8 +245,8 @@
|
|||||||
|
|
||||||
select {
|
select {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
background-color: $form-input-background;
|
background-color: var(--red-ui-form-input-background);
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
select[multiple],
|
select[multiple],
|
||||||
@ -258,16 +258,16 @@
|
|||||||
input[type="file"]:focus,
|
input[type="file"]:focus,
|
||||||
input[type="radio"]:focus,
|
input[type="radio"]:focus,
|
||||||
input[type="checkbox"]: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;
|
outline-offset: -3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uneditable-input,
|
.uneditable-input,
|
||||||
.uneditable-textarea {
|
.uneditable-textarea {
|
||||||
color: $form-text-color-disabled;
|
color: var(--red-ui-form-text-color-disabled);
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
background-color: $form-input-background-disabled;
|
background-color: var(--red-ui-form-input-background-disabled);
|
||||||
border-color: $form-input-border-color;
|
border-color: var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.uneditable-input {
|
.uneditable-input {
|
||||||
@ -282,19 +282,19 @@
|
|||||||
|
|
||||||
input:-moz-placeholder,
|
input:-moz-placeholder,
|
||||||
textarea:-moz-placeholder {
|
textarea:-moz-placeholder {
|
||||||
color: $form-placeholder-color;
|
color: var(--red-ui-form-placeholder-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
input:-ms-input-placeholder,
|
input:-ms-input-placeholder,
|
||||||
div[contenteditable="true"]:-ms-input-placeholder,
|
div[contenteditable="true"]:-ms-input-placeholder,
|
||||||
textarea:-ms-input-placeholder {
|
textarea:-ms-input-placeholder {
|
||||||
color: $form-placeholder-color;
|
color: var(--red-ui-form-placeholder-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
input::-webkit-input-placeholder,
|
input::-webkit-input-placeholder,
|
||||||
div[contenteditable="true"]::-webkit-input-placeholder,
|
div[contenteditable="true"]::-webkit-input-placeholder,
|
||||||
textarea::-webkit-input-placeholder {
|
textarea::-webkit-input-placeholder {
|
||||||
color: $form-placeholder-color;
|
color: var(--red-ui-form-placeholder-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio,
|
.radio,
|
||||||
@ -384,7 +384,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
label.disabled {
|
label.disabled {
|
||||||
color: $form-text-color-disabled;
|
color: var(--red-ui-form-text-color-disabled);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,8 +395,8 @@
|
|||||||
select[readonly],
|
select[readonly],
|
||||||
textarea[readonly] {
|
textarea[readonly] {
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
color: $form-text-color-disabled;
|
color: var(--red-ui-form-text-color-disabled);
|
||||||
background-color: $form-input-background-disabled;
|
background-color: var(--red-ui-form-input-background-disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="radio"][disabled],
|
input[type="radio"][disabled],
|
||||||
@ -410,21 +410,21 @@
|
|||||||
div[contenteditable="true"]:invalid,
|
div[contenteditable="true"]:invalid,
|
||||||
textarea:invalid,
|
textarea:invalid,
|
||||||
select:invalid {
|
select:invalid {
|
||||||
border-color: $form-input-border-error-color;
|
border-color: var(--red-ui-form-input-border-error-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
input:focus:invalid,
|
input:focus:invalid,
|
||||||
div[contenteditable="true"]:focus:invalid,
|
div[contenteditable="true"]:focus:invalid,
|
||||||
textarea:focus:invalid,
|
textarea:focus:invalid,
|
||||||
select: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,
|
input:focus:invalid:focus,
|
||||||
div[contenteditable="true"]:focus:invalid:focus,
|
div[contenteditable="true"]:focus:invalid:focus,
|
||||||
textarea:focus:invalid:focus,
|
textarea:focus:invalid:focus,
|
||||||
select: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,
|
.input-append,
|
||||||
@ -488,8 +488,8 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: $form-button-background;
|
background-color: var(--red-ui-form-button-background);
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-append .add-on,
|
.input-append .add-on,
|
||||||
|
@ -24,10 +24,10 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background: $header-background;
|
background: var(--red-ui-header-background);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0px 0px 0px 20px;
|
padding: 0px 0px 0px 20px;
|
||||||
color: $header-menu-color;
|
color: var(--red-ui-header-menu-color);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
||||||
span.red-ui-header-logo {
|
span.red-ui-header-logo {
|
||||||
@ -81,17 +81,17 @@
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
padding: 0px 12px;
|
padding: 0px 12px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: $header-menu-color;
|
color: var(--red-ui-header-menu-color);
|
||||||
margin: auto 5px;
|
margin: auto 5px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
border-left: 2px solid $header-background;
|
border-left: 2px solid var(--red-ui-header-background);
|
||||||
border-right: 2px solid $header-background;
|
border-right: 2px solid var(--red-ui-header-background);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: $header-menu-item-hover;
|
border-color: var(--red-ui-header-menu-item-hover);
|
||||||
}
|
}
|
||||||
&:active, &.active {
|
&:active, &.active {
|
||||||
background: $header-button-background-active;
|
background: var(--red-ui-header-button-background-active);
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
@ -116,18 +116,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-deploy-button {
|
.red-ui-deploy-button {
|
||||||
background: $deploy-button-background;
|
background: var(--red-ui-deploy-button-background);
|
||||||
color: $deploy-button-color;
|
color: var(--red-ui-deploy-button-color);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $deploy-button-background-hover;
|
background: var(--red-ui-deploy-button-background-hover);
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
background: $deploy-button-background-active;
|
background: var(--red-ui-deploy-button-background-active);
|
||||||
color: $deploy-button-color-active;
|
color: var(--red-ui-deploy-button-color-active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -149,21 +149,21 @@
|
|||||||
padding: 4px 12px;
|
padding: 4px 12px;
|
||||||
&.disabled {
|
&.disabled {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
background: $deploy-button-background-disabled;
|
background: var(--red-ui-deploy-button-background-disabled);
|
||||||
color: $deploy-button-color-disabled;
|
color: var(--red-ui-deploy-button-color-disabled);
|
||||||
|
|
||||||
.red-ui-deploy-button-content>img {
|
.red-ui-deploy-button-content>img {
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
&+ #red-ui-header-button-deploy-options {
|
&+ #red-ui-header-button-deploy-options {
|
||||||
background: $deploy-button-background-disabled;
|
background: var(--red-ui-deploy-button-background-disabled);
|
||||||
color: $deploy-button-color-active;
|
color: var(--red-ui-deploy-button-color-active);
|
||||||
}
|
}
|
||||||
&+ #red-ui-header-button-deploy-options:hover {
|
&+ #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 {
|
&+ #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-deploy-button-group.open {
|
||||||
#red-ui-header-button-deploy-options {
|
#red-ui-header-button-deploy-options {
|
||||||
background: $header-button-background-active !important;
|
background: var(--red-ui-header-button-background-active) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
li.open .button {
|
li.open .button {
|
||||||
background: $header-button-background-active;
|
background: var(--red-ui-header-button-background-active);
|
||||||
border-color: $header-button-background-active;
|
border-color: var(--red-ui-header-button-background-active);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ul.red-ui-menu-dropdown {
|
ul.red-ui-menu-dropdown {
|
||||||
background: $header-menu-background;
|
background: var(--red-ui-header-menu-background);
|
||||||
border: 1px solid $header-menu-background;
|
border: 1px solid var(--red-ui-header-menu-background);
|
||||||
width: 260px !important;
|
width: 260px !important;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
li a {
|
li a {
|
||||||
color: $header-menu-color;
|
color: var(--red-ui-header-menu-color);
|
||||||
padding: 3px 10px 3px 40px;
|
padding: 3px 10px 3px 30px;
|
||||||
img {
|
img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
@ -199,11 +199,11 @@
|
|||||||
border: 3px solid transparent;
|
border: 3px solid transparent;
|
||||||
}
|
}
|
||||||
.red-ui-popover-key {
|
.red-ui-popover-key {
|
||||||
color: $header-menu-color-disabled !important;
|
color: var(--red-ui-header-menu-color-disabled) !important;
|
||||||
border-color: $header-menu-color-disabled !important;
|
border-color: var(--red-ui-header-menu-color-disabled) !important;
|
||||||
}
|
}
|
||||||
&.active img {
|
&.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 {
|
span.red-ui-menu-label-container {
|
||||||
@ -217,9 +217,9 @@
|
|||||||
text-indent: 0px;
|
text-indent: 0px;
|
||||||
}
|
}
|
||||||
span.red-ui-menu-sublabel {
|
span.red-ui-menu-sublabel {
|
||||||
color: $header-menu-sublabel-color;
|
color: var(--red-ui-header-menu-sublabel-color);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
display: inline-block;
|
display: block;
|
||||||
text-indent: 0px;
|
text-indent: 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -228,13 +228,13 @@
|
|||||||
> li > a:focus,
|
> li > a:focus,
|
||||||
> li:hover > a,
|
> li:hover > a,
|
||||||
> li:focus > a {
|
> li:focus > a {
|
||||||
background: $header-menu-item-hover !important;
|
background: var(--red-ui-header-menu-item-hover) !important;
|
||||||
}
|
}
|
||||||
li.red-ui-menu-divider {
|
li.red-ui-menu-divider {
|
||||||
background: $headerMenuItemDivider;
|
background: var(--red-ui-headerMenuItemDivider);
|
||||||
}
|
}
|
||||||
li.disabled a {
|
li.disabled a {
|
||||||
color: $header-menu-color-disabled;
|
color: var(--red-ui-header-menu-color-disabled);
|
||||||
}
|
}
|
||||||
> li.disabled > a:hover,
|
> li.disabled > a:hover,
|
||||||
> li.disabled > a:focus {
|
> li.disabled > a:focus {
|
||||||
@ -242,7 +242,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-menu-dropdown-submenu>a:before {
|
.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 */
|
/* Deploy menu customisations */
|
||||||
@ -250,7 +251,7 @@
|
|||||||
width: 300px !important;
|
width: 300px !important;
|
||||||
li a {
|
li a {
|
||||||
padding: 10px 30px;
|
padding: 10px 30px;
|
||||||
color: $header-menu-heading-color;
|
color: var(--red-ui-header-menu-heading-color);
|
||||||
span.red-ui-menu-label {
|
span.red-ui-menu-label {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -263,7 +264,7 @@
|
|||||||
}
|
}
|
||||||
/* User menu customisations */
|
/* User menu customisations */
|
||||||
#usermenu-item-username > .red-ui-menu-label {
|
#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 {
|
#red-ui-header-button-user .user-profile {
|
||||||
|
@ -16,25 +16,27 @@
|
|||||||
|
|
||||||
.ui-widget {
|
.ui-widget {
|
||||||
font-size: 14px !important;
|
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 {
|
.ui-widget input, .ui-widget div[contenteditable="true"], .ui-widget select, .ui-widget textarea, .ui-widget button {
|
||||||
font-size: 14px !important;
|
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 input, .ui-widget div[contenteditable="true"] {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-widget.ui-widget-content {
|
.ui-widget.ui-widget-content {
|
||||||
border: 1px solid $tertiary-border-color;
|
border: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
}
|
}
|
||||||
.ui-widget-content {
|
.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 {
|
.ui-widget-header {
|
||||||
color: $header-text-color;
|
color: var(--red-ui-header-text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* jQuery Theme overrides */
|
/* jQuery Theme overrides */
|
||||||
@ -50,7 +52,7 @@
|
|||||||
|
|
||||||
.ui-dialog {
|
.ui-dialog {
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@include component-shadow;
|
@include component-shadow;
|
||||||
}
|
}
|
||||||
@ -62,20 +64,20 @@
|
|||||||
}
|
}
|
||||||
.ui-dialog .ui-dialog-titlebar {
|
.ui-dialog .ui-dialog-titlebar {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
border: none;
|
border: none;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
.ui-dialog .ui-dialog-buttonpane.ui-widget-content {
|
.ui-dialog .ui-dialog-buttonpane.ui-widget-content {
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
|
|
||||||
}
|
}
|
||||||
.ui-corner-all {
|
.ui-corner-all {
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
}
|
}
|
||||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
|
.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 {
|
.ui-dialog-no-close .ui-dialog-titlebar-close {
|
||||||
display: none;
|
display: none;
|
||||||
@ -95,8 +97,8 @@
|
|||||||
padding: 6px 14px;
|
padding: 6px 14px;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
color: $workspace-button-color;
|
color: var(--red-ui-workspace-button-color);
|
||||||
background: $workspace-button-background;
|
background: var(--red-ui-workspace-button-background);
|
||||||
|
|
||||||
&.leftButton {
|
&.leftButton {
|
||||||
float: left;
|
float: left;
|
||||||
@ -107,18 +109,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.primary {
|
&.primary {
|
||||||
border-color: $workspace-button-background-primary;
|
border-color: var(--red-ui-workspace-button-background-primary);
|
||||||
color: $workspace-button-color-primary !important;
|
color: var(--red-ui-workspace-button-color-primary) !important;
|
||||||
background: $workspace-button-background-primary;
|
background: var(--red-ui-workspace-button-background-primary);
|
||||||
&:not(.disabled):hover {
|
&:not(.disabled):hover {
|
||||||
border-color: $workspace-button-background-primary-hover;
|
border-color: var(--red-ui-workspace-button-background-primary-hover);
|
||||||
background: $workspace-button-background-primary-hover;
|
background: var(--red-ui-workspace-button-background-primary-hover);
|
||||||
color: $workspace-button-color-primary !important;
|
color: var(--red-ui-workspace-button-color-primary) !important;
|
||||||
}
|
}
|
||||||
&.disabled {
|
&.disabled {
|
||||||
border-color: $form-input-border-color;
|
border-color: var(--red-ui-form-input-border-color);
|
||||||
color: $workspace-button-color-disabled !important;
|
color: var(--red-ui-workspace-button-color-disabled) !important;
|
||||||
background: $workspace-button-background;
|
background: var(--red-ui-workspace-button-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.disabled {
|
&.disabled {
|
||||||
@ -142,10 +144,10 @@
|
|||||||
.ui-spinner {
|
.ui-spinner {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
.ui-spinner input {
|
.ui-spinner input {
|
||||||
background: $form-input-background;
|
background: var(--red-ui-form-input-background);
|
||||||
margin: 0 17px 0 0;
|
margin: 0 17px 0 0;
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
border: none;
|
border: none;
|
||||||
@ -169,8 +171,18 @@
|
|||||||
.ui-button,
|
.ui-button,
|
||||||
html .ui-button.ui-state-disabled:hover,
|
html .ui-button.ui-state-disabled:hover,
|
||||||
html .ui-button.ui-state-disabled:active {
|
html .ui-button.ui-state-disabled:active {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background: $form-button-background;
|
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,
|
.ui-state-hover,
|
||||||
@ -180,9 +192,9 @@ html .ui-button.ui-state-disabled:active {
|
|||||||
.ui-widget-content .ui-state-focus,
|
.ui-widget-content .ui-state-focus,
|
||||||
.ui-widget-header .ui-state-focus,
|
.ui-widget-header .ui-state-focus,
|
||||||
.ui-button:hover, .ui-button:focus {
|
.ui-button:hover, .ui-button:focus {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background: $workspace-button-background-hover;
|
background: var(--red-ui-workspace-button-background-hover);
|
||||||
color: $workspace-button-color-hover;
|
color: var(--red-ui-workspace-button-color-hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-active,
|
.ui-state-active,
|
||||||
@ -191,10 +203,10 @@ html .ui-button.ui-state-disabled:active {
|
|||||||
a.ui-button:active,
|
a.ui-button:active,
|
||||||
.ui-button:active,
|
.ui-button:active,
|
||||||
.ui-button.ui-state-active:hover {
|
.ui-button.ui-state-active:hover {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
font-weight: normal;
|
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 {
|
.ui-state-active .ui-icon, .ui-button:active .ui-icon {
|
||||||
|
@ -23,9 +23,9 @@
|
|||||||
}
|
}
|
||||||
.keyboard-shortcut-list-header {
|
.keyboard-shortcut-list-header {
|
||||||
padding:0 5px 0 5px;
|
padding:0 5px 0 5px;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
div {
|
div {
|
||||||
color: $header-text-color !important;
|
color: var(--red-ui-header-text-color) !important;
|
||||||
}
|
}
|
||||||
.red-ui-searchBox-container {
|
.red-ui-searchBox-container {
|
||||||
width: calc(100% - 20px);
|
width: calc(100% - 20px);
|
||||||
@ -49,7 +49,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
li:hover {
|
li:hover {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.keyboard-shortcut-entry {
|
.keyboard-shortcut-entry {
|
||||||
@ -78,13 +78,13 @@
|
|||||||
width: calc(100% - 160px - 100px - 10px);
|
width: calc(100% - 160px - 100px - 10px);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
i {
|
i {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.keyboard-shortcut-entry-scope {
|
.keyboard-shortcut-entry-scope {
|
||||||
width:100px;
|
width:100px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
@ -94,13 +94,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.keyboard-shortcut-entry-unassigned {
|
.keyboard-shortcut-entry-unassigned {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
.keyboard-shortcut-entry-key {
|
.keyboard-shortcut-entry-key {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.keyboard-shortcut-entry-expanded {
|
.keyboard-shortcut-entry-expanded {
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
.keyboard-shortcut-entry-key {
|
.keyboard-shortcut-entry-key {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
}
|
}
|
||||||
@ -115,12 +115,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.help-key {
|
.help-key {
|
||||||
border: 1px solid $tertiary-border-color;
|
border: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
box-shadow: $shade-color 1px 1px 1px;
|
box-shadow: var(--red-ui-shade-color 1px 1px 1px);
|
||||||
}
|
}
|
||||||
.help-key-block {
|
.help-key-block {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
pre {
|
pre {
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
border: none;
|
border: none;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
span {
|
span {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
}
|
}
|
||||||
span.error {
|
span.error {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid $form-input-border-error-color;
|
border: 1px solid var(--red-ui-form-input-border-error-color);
|
||||||
margin: 0 1px;
|
margin: 0 1px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,16 +52,16 @@
|
|||||||
|
|
||||||
.red-ui-clipboard-dialog-tab-clipboard {
|
.red-ui-clipboard-dialog-tab-clipboard {
|
||||||
textarea {
|
textarea {
|
||||||
color: $secondary-text-color-active !important;
|
color: var(--red-ui-secondary-text-color-active) !important;
|
||||||
resize: none;
|
resize: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
font-family: $monospace-font !important;
|
font-family: var(--red-ui-monospace-font !important);
|
||||||
font-size: 13px !important;
|
font-size: 13px !important;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
background: $clipboard-textarea-background;
|
background: var(--red-ui-clipboard-textarea-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,7 +80,7 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: $form-input-background;
|
background: var(--red-ui-form-input-background);
|
||||||
&>div {
|
&>div {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -89,7 +89,7 @@
|
|||||||
.red-ui-clipboard-dialog-box {
|
.red-ui-clipboard-dialog-box {
|
||||||
height: 400px;
|
height: 400px;
|
||||||
position:relative;
|
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 {
|
#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 {
|
.red-ui-clipboard-dialog-tabs-content>div.red-ui-clipboard-dialog-export-tab-library-browser {
|
||||||
height: calc(100% - 60px);
|
height: calc(100% - 60px);
|
||||||
margin-bottom: 13px;
|
margin-bottom: 13px;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
#red-ui-clipboard-dialog-import-tab-library-browser {
|
#red-ui-clipboard-dialog-import-tab-library-browser {
|
||||||
@ -124,7 +124,7 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
.red-ui-treeList-container {
|
.red-ui-treeList-container {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
li {
|
li {
|
||||||
@ -149,14 +149,14 @@
|
|||||||
|
|
||||||
#red-ui-library-dialog-save-browser {
|
#red-ui-library-dialog-save-browser {
|
||||||
height: calc(100% - 60px);
|
height: calc(100% - 60px);
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
#red-ui-library-dialog-load-browser {
|
#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 {
|
#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;
|
position: relative;
|
||||||
|
|
||||||
li:not(:first-child) .red-ui-clipboard-dialog-import-conflicts-item-header {
|
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 {
|
.red-ui-clipboard-dialog-import-conflicts-item-header {
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
& > span:first-child {
|
& > span:first-child {
|
||||||
color: $header-text-color;
|
color: var(--red-ui-header-text-color);
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
@ -199,7 +199,7 @@
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
.form-row & label {
|
.form-row & label {
|
||||||
padding: 2px 0;
|
padding: 2px 0;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
@ -210,7 +210,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
input[type="checkbox"] {
|
input[type="checkbox"] {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -265,7 +265,7 @@
|
|||||||
span:nth-child(3), span:nth-child(4) {
|
span:nth-child(3), span:nth-child(4) {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,33 +31,33 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@mixin component-border {
|
@mixin component-border {
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin reset-a-style {
|
@mixin reset-a-style {
|
||||||
color: $workspace-button-color !important;
|
color: var(--red-ui-workspace-button-color) !important;
|
||||||
background: $workspace-button-background;
|
background: var(--red-ui-workspace-button-background);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
&.disabled, &:disabled {
|
&.disabled, &:disabled {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
color: $workspace-button-color-disabled !important;
|
color: var(--red-ui-workspace-button-color-disabled) !important;
|
||||||
}
|
}
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
&:not(.disabled):not(:disabled):hover, {
|
&:not(.disabled):not(:disabled):hover {
|
||||||
color: $workspace-button-color-hover !important;
|
color: var(--red-ui-workspace-button-color-hover) !important;
|
||||||
background: $workspace-button-background-hover;
|
background: var(--red-ui-workspace-button-background-hover);
|
||||||
}
|
}
|
||||||
&:not(.disabled):not(:disabled):focus {
|
&: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 {
|
&:not(.disabled):not(:disabled):active {
|
||||||
color: $workspace-button-color-active !important;
|
color: var(--red-ui-workspace-button-color-active) !important;
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -68,14 +68,14 @@
|
|||||||
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin:0;
|
margin:0;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
|
|
||||||
&.selected:not(.disabled):not(:disabled) {
|
&.selected:not(.disabled):not(:disabled) {
|
||||||
color: $workspace-button-color-selected !important;
|
color: var(--red-ui-workspace-button-color-selected) !important;
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
}
|
}
|
||||||
.button-group &:not(:first-child) {
|
.button-group &:not(:first-child) {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
@ -108,23 +108,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
outline: 1px solid $workspace-button-color-focus-outline;
|
outline: 1px solid var(--red-ui-workspace-button-color-focus-outline);
|
||||||
outline-offset: 1px;
|
outline-offset: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.primary {
|
&.primary {
|
||||||
border-color: $workspace-button-background-primary;
|
border-color: var(--red-ui-workspace-button-background-primary);
|
||||||
color: $workspace-button-color-primary !important;
|
color: var(--red-ui-workspace-button-color-primary) !important;
|
||||||
background: $workspace-button-background-primary;
|
background: var(--red-ui-workspace-button-background-primary);
|
||||||
&.disabled, &.ui-state-disabled {
|
&.disabled, &.ui-state-disabled {
|
||||||
background: none;
|
background: none;
|
||||||
color: $workspace-button-color !important;
|
color: var(--red-ui-workspace-button-color) !important;
|
||||||
border-color: $form-input-border-color;
|
border-color: var(--red-ui-form-input-border-color);
|
||||||
}
|
}
|
||||||
&:not(.disabled):not(.ui-button-disabled):hover {
|
&:not(.disabled):not(.ui-button-disabled):hover {
|
||||||
border-color: $workspace-button-background-primary-hover;
|
border-color: var(--red-ui-workspace-button-background-primary-hover);
|
||||||
background: $workspace-button-background-primary-hover;
|
background: var(--red-ui-workspace-button-background-primary-hover);
|
||||||
color: $workspace-button-color-primary !important;
|
color: var(--red-ui-workspace-button-color-primary) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.secondary {
|
&.secondary {
|
||||||
@ -151,7 +151,7 @@
|
|||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
&.selected:not(.disabled):not(:disabled) {
|
&.selected:not(.disabled):not(:disabled) {
|
||||||
border-bottom-width: 2px;
|
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;
|
margin-bottom: 0;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@
|
|||||||
padding: 6px 14px;
|
padding: 6px 14px;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
&:not(.disabled):hover {
|
&:not(.disabled):hover {
|
||||||
//color: $workspace-button-color;
|
//color: var(--red-ui-workspace-button-color);
|
||||||
}
|
}
|
||||||
&.disabled {
|
&.disabled {
|
||||||
background: none;
|
background: none;
|
||||||
@ -187,8 +187,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@mixin component-footer {
|
@mixin component-footer {
|
||||||
border-top: 1px solid $primary-border-color;
|
border-top: 1px solid var(--red-ui-primary-border-color);
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
@ -231,7 +231,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@mixin component-shadow {
|
@mixin component-shadow {
|
||||||
box-shadow: 1px 1px 4px $shadow;
|
box-shadow: 1px 1px 4px var(--red-ui-shadow);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,7 +241,7 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
background: $shade-color;
|
background: var(--red-ui-shade-color);
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
}
|
}
|
||||||
.red-ui-shade {
|
.red-ui-shade {
|
||||||
|
@ -27,12 +27,13 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
padding: 8px 18px 0px;
|
padding: 8px 18px 0px;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
box-shadow: 0 1px 1px 1px $shadow;
|
box-shadow: 0 1px 1px 1px var(--red-ui-shadow);
|
||||||
background-color: $secondary-background;
|
background-color: var(--red-ui-secondary-background);
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
border: 1px solid $notification-border-default;
|
border: 1px solid var(--red-ui-notification-border-default);
|
||||||
border-left-width: 16px;
|
border-left-width: 16px;
|
||||||
overflow: hidden;
|
overflow: auto;
|
||||||
|
max-height: 80vh;
|
||||||
.ui-dialog-buttonset {
|
.ui-dialog-buttonset {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@ -50,13 +51,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-notification-success {
|
.red-ui-notification-success {
|
||||||
border-color: $notification-border-success;
|
border-color: var(--red-ui-notification-border-success);
|
||||||
}
|
}
|
||||||
.red-ui-notification-warning {
|
.red-ui-notification-warning {
|
||||||
border-color: $notification-border-warning;
|
border-color: var(--red-ui-notification-border-warning);
|
||||||
}
|
}
|
||||||
.red-ui-notification-error {
|
.red-ui-notification-error {
|
||||||
border-color: $notification-border-error;
|
border-color: var(--red-ui-notification-border-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-notification-compact {
|
.red-ui-notification-compact {
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
left:0;
|
left:0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
|
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
border: none;
|
border: none;
|
||||||
@ -37,27 +37,27 @@
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
// border: none;
|
// border: none;
|
||||||
// border-top: 1px solid $primary-border-color;
|
// border-top: 1px solid var(--red-ui-primary-border-color);
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
.red-ui-button {
|
.red-ui-button {
|
||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.disabled {
|
.disabled {
|
||||||
// background: $secondary-background-inactive;//f3f3f3;
|
// background: var(--red-ui-secondary-background-inactive;//f3f3f3);
|
||||||
|
|
||||||
.red-ui-palette-module-name {
|
.red-ui-palette-module-name {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-version {
|
.red-ui-palette-module-version {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-errors .fa-warning {
|
.red-ui-palette-module-errors .fa-warning {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
ul.red-ui-palette-module-error-list li {
|
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;
|
padding: 12px 16px;
|
||||||
}
|
}
|
||||||
&:last-child {
|
&: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
|
bottom:0
|
||||||
}
|
}
|
||||||
.red-ui-palette-editor-toolbar {
|
.red-ui-palette-editor-toolbar {
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-shade-status {
|
.red-ui-palette-module-shade-status {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-updated {
|
.red-ui-palette-module-updated {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
@ -98,7 +98,7 @@
|
|||||||
.red-ui-palette-module-description {
|
.red-ui-palette-module-description {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-link {
|
.red-ui-palette-module-link {
|
||||||
}
|
}
|
||||||
@ -120,7 +120,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-set {
|
.red-ui-palette-module-set {
|
||||||
border:1px solid $secondary-border-color;
|
border:1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -138,7 +138,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-palette-module-type {
|
.red-ui-palette-module-type {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
@include enable-selection;
|
@include enable-selection;
|
||||||
@ -150,8 +150,8 @@
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
border: 1px dashed $secondary-border-color;
|
border: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-set-button-group {
|
.red-ui-palette-module-set-button-group {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -160,35 +160,35 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-palette-module-set-disabled {
|
.red-ui-palette-module-set-disabled {
|
||||||
background: $list-item-background-disabled;
|
background: var(--red-ui-list-item-background-disabled);
|
||||||
.red-ui-palette-module-type {
|
.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 {
|
.red-ui-palette-module-more {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
background: $tab-background-inactive;
|
background: var(--red-ui-tab-background-inactive);
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 12px 8px;
|
padding: 12px 8px;
|
||||||
color: $text-color-code;
|
color: var(--red-ui-text-color-code);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: $tab-background-hover;
|
background: var(--red-ui-tab-background-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-meta {
|
.red-ui-palette-module-meta {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
position: relative;
|
position: relative;
|
||||||
&.disabled {
|
&.disabled {
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa {
|
.fa {
|
||||||
@ -198,7 +198,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-name {
|
.red-ui-palette-module-name {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@include enable-selection;
|
@include enable-selection;
|
||||||
}
|
}
|
||||||
@ -216,7 +216,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-meta .fa-warning {
|
.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 {
|
ul.red-ui-palette-module-error-list {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -264,9 +264,9 @@ button.red-ui-palette-editor-upload-button {
|
|||||||
right: 0;
|
right: 0;
|
||||||
top: 44px;
|
top: 44px;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border-bottom: 1px $secondary-border-color solid;
|
border-bottom: 1px var(--red-ui-secondary-border-color solid);
|
||||||
box-shadow: 1px 1px 4px $shadow;
|
box-shadow: 1px 1px 4px var(--red-ui-shadow);
|
||||||
|
|
||||||
.placeholder-input {
|
.placeholder-input {
|
||||||
width: calc(100% - 180px);
|
width: calc(100% - 180px);
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
top: 0px;
|
top: 0px;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
left:0px;
|
left:0px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
width: 180px;
|
width: 180px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
@ -55,26 +55,26 @@
|
|||||||
.red-ui-palette-search {
|
.red-ui-palette-search {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-palette-category {
|
.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 {
|
.red-ui-palette-content {
|
||||||
background: $palette-content-background;
|
background: var(--red-ui-palette-content-background);
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-palette-header {
|
.red-ui-palette-header {
|
||||||
position: relative;
|
position: relative;
|
||||||
background: $palette-header-background;
|
background: var(--red-ui-palette-header-background);
|
||||||
color: $palette-header-color;
|
color: var(--red-ui-palette-header-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 9px;
|
padding: 9px;
|
||||||
@ -83,7 +83,7 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $palette-header-background !important;
|
background: var(--red-ui-palette-header-background) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-header > i {
|
.red-ui-palette-header > i {
|
||||||
@ -106,7 +106,7 @@
|
|||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
.red-ui-palette-label {
|
.red-ui-palette-label {
|
||||||
color: $node-label-color;
|
color: var(--red-ui-node-label-color);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
margin: 4px 0 4px 32px;
|
margin: 4px 0 4px 32px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
@ -121,11 +121,11 @@
|
|||||||
.red-ui-palette-node {
|
.red-ui-palette-node {
|
||||||
// display: inline-block;
|
// display: inline-block;
|
||||||
cursor: move;
|
cursor: move;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
margin: 10px auto;
|
margin: 10px auto;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid $node-border;
|
border: 1px solid var(--red-ui-node-border);
|
||||||
background-position: 5% 50%;
|
background-position: 5% 50%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
@ -141,7 +141,7 @@
|
|||||||
}
|
}
|
||||||
.red-ui-palette-node:hover {
|
.red-ui-palette-node:hover {
|
||||||
border-color: transparent;
|
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 {
|
.red-ui-palette-port {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -149,11 +149,11 @@
|
|||||||
left: -5px;
|
left: -5px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
background: $node-port-background;
|
background: var(--red-ui-node-port-background);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
border: 1px solid $node-border;
|
border: 1px solid var(--red-ui-node-border);
|
||||||
}
|
}
|
||||||
.red-ui-palette-port-output {
|
.red-ui-palette-port-output {
|
||||||
left:auto;
|
left:auto;
|
||||||
@ -161,7 +161,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-palette-node:hover .red-ui-palette-port {
|
.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 {
|
.red-ui-palette-icon-container {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -170,14 +170,16 @@
|
|||||||
bottom:0;
|
bottom:0;
|
||||||
left:0;
|
left:0;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
border-right: 1px solid $node-icon-background-color;
|
border-right: 1px solid var(--red-ui-node-icon-background-color);
|
||||||
background-color: $node-icon-background-color;
|
border-radius: 4px 0px 0px 4px;
|
||||||
|
background-color: var(--red-ui-node-icon-background-color);
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon-container-right {
|
.red-ui-palette-icon-container-right {
|
||||||
left: auto;
|
left: auto;
|
||||||
right: 0;
|
right: 0;
|
||||||
border-right: none;
|
border-right: none;
|
||||||
border-left: 1px solid $node-icon-background-color;
|
border-left: 1px solid var(--red-ui-node-icon-background-color);
|
||||||
|
border-radius: 0px 4px 4px 0px;
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon {
|
.red-ui-palette-icon {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -198,7 +200,7 @@
|
|||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon-fa {
|
.red-ui-palette-icon-fa {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -249,12 +251,12 @@
|
|||||||
// width: 30px;
|
// width: 30px;
|
||||||
// height: 25px;
|
// height: 25px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
border: 1px solid $node-border;
|
border: 1px solid var(--red-ui-node-border);
|
||||||
background-position: 5% 50%;
|
background-position: 5% 50%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: $node-icon-background-color;
|
background-color: var(--red-ui-node-icon-background-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
.red-ui-palette-icon {
|
.red-ui-palette-icon {
|
||||||
@ -278,7 +280,7 @@
|
|||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon-fa {
|
.red-ui-palette-icon-fa {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -318,5 +320,5 @@
|
|||||||
.red-ui-node-label {
|
.red-ui-node-label {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
|
@ -35,12 +35,12 @@
|
|||||||
|
|
||||||
.red-ui-panels-separator {
|
.red-ui-panels-separator {
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
height: 7px;
|
height: 7px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
cursor: ns-resize;
|
cursor: ns-resize;
|
||||||
background-color: $primary-background;
|
background-color: var(--red-ui-primary-background);
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
content: '';
|
content: '';
|
||||||
@ -55,7 +55,7 @@
|
|||||||
mask-position: center;
|
mask-position: center;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
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;
|
vertical-align: top;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-right: 1px solid $secondary-border-color;
|
border-right: 1px solid var(--red-ui-secondary-border-color);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 7px;
|
width: 7px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
cursor: ew-resize;
|
cursor: ew-resize;
|
||||||
background-color: $primary-background;
|
background-color: var(--red-ui-primary-background);
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
content: '';
|
content: '';
|
||||||
display: block;
|
display: block;
|
||||||
@ -101,7 +101,7 @@
|
|||||||
mask-position: 50% 50%;
|
mask-position: 50% 50%;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
background-color: $grip-color;
|
background-color: var(--red-ui-grip-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
color: var(--red-ui-popover-color);
|
color: var(--red-ui-popover-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 1.4em;
|
line-height: 1.4em;
|
||||||
@include component-shadow;
|
@include component-shadow;
|
||||||
@ -146,7 +146,7 @@
|
|||||||
|
|
||||||
.red-ui-popover-key {
|
.red-ui-popover-key {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
border: 1px solid var(--red-ui-popover-color);
|
border: 1px solid var(--red-ui-popover-color);
|
||||||
border-radius:3px;
|
border-radius:3px;
|
||||||
@ -163,42 +163,42 @@
|
|||||||
color: var(--red-ui-popover-color) !important;
|
color: var(--red-ui-popover-color) !important;
|
||||||
}
|
}
|
||||||
a:focus {
|
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 a.red-ui-button,
|
||||||
.red-ui-popover button.red-ui-button {
|
.red-ui-popover button.red-ui-button {
|
||||||
&:not(.primary) {
|
&:not(.primary) {
|
||||||
border-color: $popover-button-border-color;
|
border-color: var(--red-ui-popover-button-border-color);
|
||||||
background: var(--red-ui-popover-background);
|
background: var(--red-ui-popover-background);
|
||||||
color: var(--red-ui-popover-color) !important;
|
color: var(--red-ui-popover-color) !important;
|
||||||
}
|
}
|
||||||
&:not(.primary):not(.disabled):not(.ui-button-disabled):hover {
|
&: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 {
|
&.primary {
|
||||||
border-color: $popover-button-border-color;
|
border-color: var(--red-ui-popover-button-border-color);
|
||||||
}
|
}
|
||||||
&.primary:not(.disabled):not(.ui-button-disabled):hover {
|
&.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 {
|
.red-ui-popover code {
|
||||||
border: none;
|
border: none;
|
||||||
background: none;
|
background: none;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.red-ui-popover-panel {
|
.red-ui-popover-panel {
|
||||||
@include component-shadow;
|
@include component-shadow;
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#red-ui-project-settings-tab-settings {
|
#red-ui-project-settings-tab-settings {
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-shade {
|
.red-ui-sidebar-vc-shade {
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-projects-edit-form form {
|
.red-ui-projects-edit-form form {
|
||||||
@ -37,7 +37,7 @@
|
|||||||
.form-row {
|
.form-row {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
label {
|
label {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: block;
|
display: block;
|
||||||
&.red-ui-projects-edit-form-inline-label {
|
&.red-ui-projects-edit-form-inline-label {
|
||||||
@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
.red-ui-projects-edit-form-sublabel {
|
.red-ui-projects-edit-form-sublabel {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
margin-bottom: -15px;
|
margin-bottom: -15px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
@ -76,7 +76,7 @@
|
|||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-projects-dialog-screen-start-body {
|
.red-ui-projects-dialog-screen-start-body {
|
||||||
min-height: 300px;
|
min-height: 300px;
|
||||||
@ -132,21 +132,21 @@
|
|||||||
margin-left: -1px;
|
margin-left: -1px;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin-top: -15px;
|
margin-top: -15px;
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
.red-ui-projects-dialog-credentials-box-left {
|
.red-ui-projects-dialog-credentials-box-left {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
> div {
|
> div {
|
||||||
padding: 7px 8px 3px 8px;
|
padding: 7px 8px 3px 8px;
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border-top-right-radius: 0;
|
border-top-right-radius: 0;
|
||||||
border-bottom-right-radius: 0;
|
border-bottom-right-radius: 0;
|
||||||
border-right-color: $form-background;
|
border-right-color: var(--red-ui-form-background);
|
||||||
&.disabled {
|
&.disabled {
|
||||||
border-color: $form-background;
|
border-color: var(--red-ui-form-background);
|
||||||
border-right-color:$secondary-border-color;
|
border-right-color:var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
@ -173,7 +173,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-projects-dialog-project-list-container {
|
.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;
|
border-radius: 2px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -183,7 +183,7 @@
|
|||||||
}
|
}
|
||||||
.red-ui-projects-dialog-project-list-inner-container {
|
.red-ui-projects-dialog-project-list-inner-container {
|
||||||
flex-grow: 1 ;
|
flex-grow: 1 ;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
position:relative;
|
position:relative;
|
||||||
.red-ui-editableList-border {
|
.red-ui-editableList-border {
|
||||||
border: none;
|
border: none;
|
||||||
@ -197,43 +197,43 @@
|
|||||||
.red-ui-projects-dialog-project-list-entry {
|
.red-ui-projects-dialog-project-list-entry {
|
||||||
padding: 12px 0;
|
padding: 12px 0;
|
||||||
|
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
border-left: 3px solid $list-item-background;
|
border-left: 3px solid var(--red-ui-list-item-background);
|
||||||
border-right: 3px solid $list-item-background;
|
border-right: 3px solid var(--red-ui-list-item-background);
|
||||||
|
|
||||||
&.projects-list-entry-current {
|
&.projects-list-entry-current {
|
||||||
&:not(.selectable) {
|
&:not(.selectable) {
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
border-left-color:$list-item-border-selected;
|
border-left-color:var(--red-ui-list-item-border-selected);
|
||||||
border-right-color:$list-item-border-selected;
|
border-right-color:var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.selectable {
|
&.selectable {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover:not(.selected) {
|
&:hover:not(.selected) {
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
border-left-color:$list-item-background-hover;
|
border-left-color:var(--red-ui-list-item-background-hover);
|
||||||
border-right-color:$list-item-background-hover;
|
border-right-color:var(--red-ui-list-item-background-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-projects-dialog-project-list-entry-icon {
|
.red-ui-projects-dialog-project-list-entry-icon {
|
||||||
i {
|
i {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.selected {
|
&.selected {
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
border-left-color:$list-item-border-selected;
|
border-left-color:var(--red-ui-list-item-border-selected);
|
||||||
border-right-color:$list-item-border-selected;
|
border-right-color:var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
span {
|
span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -249,7 +249,7 @@
|
|||||||
float: right;
|
float: right;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
}
|
}
|
||||||
.red-ui-projects-dialog-project-list-entry-tools {
|
.red-ui-projects-dialog-project-list-entry-tools {
|
||||||
@ -257,7 +257,7 @@
|
|||||||
top: 16px;
|
top: 16px;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
display: none;
|
display: none;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
.red-ui-projects-dialog-project-list-entry-tools {
|
.red-ui-projects-dialog-project-list-entry-tools {
|
||||||
@ -274,7 +274,7 @@
|
|||||||
width: 1000px;
|
width: 1000px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
transition: left 0.4s;
|
transition: left 0.4s;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
> span {
|
> span {
|
||||||
@ -289,7 +289,7 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.red-ui-projects-dialog-screen-create-type.red-ui-button.toggle.selected:not(.disabled):not(:disabled) {
|
.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 {
|
.red-ui-projects-dialog-screen-input-status {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
@ -298,7 +298,7 @@
|
|||||||
right: 8px;
|
right: 8px;
|
||||||
width: 70px;
|
width: 70px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-sidebar-vc {
|
.red-ui-sidebar-vc {
|
||||||
@ -338,17 +338,17 @@
|
|||||||
}
|
}
|
||||||
.red-ui-palette-module-unused {
|
.red-ui-palette-module-unused {
|
||||||
& > * {
|
& > * {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-unknown {
|
.red-ui-palette-module-unknown {
|
||||||
border: 1px dashed $secondary-border-color;
|
border: 1px dashed var(--red-ui-secondary-border-color);
|
||||||
background: $secondary-background-inactive;
|
background: var(--red-ui-secondary-background-inactive);
|
||||||
}
|
}
|
||||||
.red-ui-palette-module-not-installed {
|
.red-ui-palette-module-not-installed {
|
||||||
border: 1px dashed $text-color-warning;
|
border: 1px dashed var(--red-ui-text-color-warning);
|
||||||
i.fa-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-sidebar-vc {
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
li {
|
li {
|
||||||
padding:0;
|
padding:0;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-editableList-border {
|
.red-ui-editableList-border {
|
||||||
@ -384,7 +384,7 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
transition: height 0.2s ease-in-out;
|
transition: height 0.2s ease-in-out;
|
||||||
&:first-child {
|
&:first-child {
|
||||||
// border-bottom: 1px solid $primary-border-color;
|
// border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-merging {
|
.red-ui-sidebar-vc-merging {
|
||||||
@ -399,7 +399,7 @@
|
|||||||
right:0;
|
right:0;
|
||||||
height:0;
|
height:0;
|
||||||
transition: height 0.2s ease-in-out;
|
transition: height 0.2s ease-in-out;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
&.red-ui-sidebar-vc-slide-box-top {
|
&.red-ui-sidebar-vc-slide-box-top {
|
||||||
@ -408,20 +408,20 @@
|
|||||||
left: auto;
|
left: auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 280px;
|
max-width: 280px;
|
||||||
border-left: 1px solid $primary-border-color;
|
border-left: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-right: 1px solid $primary-border-color;
|
border-right: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-shadow: 1px 1px 4px $shadow;
|
box-shadow: 1px 1px 4px var(--red-ui-shadow);
|
||||||
|
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
}
|
}
|
||||||
&.red-ui-sidebar-vc-slide-box-bottom {
|
&.red-ui-sidebar-vc-slide-box-bottom {
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
@ -437,15 +437,15 @@
|
|||||||
.red-ui-projects-branch-list {
|
.red-ui-projects-branch-list {
|
||||||
position: relative;
|
position: relative;
|
||||||
.red-ui-searchBox-container {
|
.red-ui-searchBox-container {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-left: 1px solid $secondary-border-color;
|
border-left: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-right: 1px solid $secondary-border-color;
|
border-right: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-top-left-radius: 2px;
|
border-top-left-radius: 2px;
|
||||||
border-top-right-radius: 2px;
|
border-top-right-radius: 2px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
.red-ui-editableList {
|
.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-left-radius: 2px;
|
||||||
border-bottom-right-radius: 2px;
|
border-bottom-right-radius: 2px;
|
||||||
& > .red-ui-editableList-border {
|
& > .red-ui-editableList-border {
|
||||||
@ -456,7 +456,7 @@
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
li {
|
li {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -483,23 +483,23 @@
|
|||||||
.red-ui-sidebar-vc-branch-list-entry {
|
.red-ui-sidebar-vc-branch-list-entry {
|
||||||
padding: 5px 8px;
|
padding: 5px 8px;
|
||||||
margin: 0 1px;
|
margin: 0 1px;
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
border-left: 2px solid $list-item-background;
|
border-left: 2px solid var(--red-ui-list-item-background);
|
||||||
border-right: 2px solid $list-item-background;
|
border-right: 2px solid var(--red-ui-list-item-background);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&.selected {
|
&.selected {
|
||||||
border-left-color:$list-item-border-selected;
|
border-left-color:var(--red-ui-list-item-border-selected);
|
||||||
border-right-color:$list-item-border-selected;
|
border-right-color:var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
i { width: 16px; text-align: center}
|
i { width: 16px; text-align: center}
|
||||||
&.input-error {
|
&.input-error {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
&:not(.input-error):hover {
|
&:not(.input-error):hover {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
border-left-color:$list-item-border-selected;
|
border-left-color:var(--red-ui-list-item-border-selected);
|
||||||
border-right-color:$list-item-border-selected;
|
border-right-color:var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
span {
|
span {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
@ -507,7 +507,7 @@
|
|||||||
span.current {
|
span.current {
|
||||||
float: right;
|
float: right;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -542,7 +542,7 @@
|
|||||||
}
|
}
|
||||||
&.red-ui-help-info-node {
|
&.red-ui-help-info-node {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
@ -556,63 +556,63 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $secondary-background-hover;
|
background: var(--red-ui-secondary-background-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-more {
|
.red-ui-sidebar-vc-commit-more {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-sha {
|
.red-ui-sidebar-vc-commit-sha {
|
||||||
float: right;
|
float: right;
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
color: $vcCommitShaColor;
|
color: var(--red-ui-vcCommitShaColor);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-subject {
|
.red-ui-sidebar-vc-commit-subject {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-refs {
|
.red-ui-sidebar-vc-commit-refs {
|
||||||
min-height: 22px;
|
min-height: 22px;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-ref {
|
.red-ui-sidebar-vc-commit-ref {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
font-size: 0.7em;
|
font-size: 0.7em;
|
||||||
border: 1px solid $tertiary-border-color;
|
border: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-date {
|
.red-ui-sidebar-vc-commit-date {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-user {
|
.red-ui-sidebar-vc-commit-user {
|
||||||
float: right;
|
float: right;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-commit-head {
|
.red-ui-sidebar-vc-commit-head {
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-change-header {
|
.red-ui-sidebar-vc-change-header {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 4px 10px;
|
padding: 4px 10px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
i {
|
i {
|
||||||
transition: all 0.2s ease-in-out;
|
transition: all 0.2s ease-in-out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-vc-repo-toolbar {
|
.red-ui-sidebar-vc-repo-toolbar {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
@ -637,7 +637,7 @@
|
|||||||
.red-ui-projects-file-listing-container > .red-ui-editableList > .red-ui-editableList-border {
|
.red-ui-projects-file-listing-container > .red-ui-editableList > .red-ui-editableList-border {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border: none;
|
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 {
|
.red-ui-editableList-container .red-ui-projects-dialog-file-list {
|
||||||
@ -654,39 +654,39 @@
|
|||||||
}
|
}
|
||||||
.red-ui-projects-dialog-file-list-entry {
|
.red-ui-projects-dialog-file-list-entry {
|
||||||
padding: 3px 0;
|
padding: 3px 0;
|
||||||
border-left: 2px solid $list-item-background;
|
border-left: 2px solid var(--red-ui-list-item-background);
|
||||||
border-right: 2px solid $list-item-background;
|
border-right: 2px solid var(--red-ui-list-item-background);
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
|
|
||||||
&.projects-list-entry-current {
|
&.projects-list-entry-current {
|
||||||
&:not(.selectable) {
|
&:not(.selectable) {
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
color: $secondary-text-color-selected;
|
color: var(--red-ui-secondary-text-color-selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.selectable {
|
&.selectable {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
border-left-color:$list-item-border-selected;
|
border-left-color:var(--red-ui-list-item-border-selected);
|
||||||
border-right-color:$list-item-border-selected;
|
border-right-color:var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.unselectable {
|
&.unselectable {
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
i {
|
i {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
width: 16px;
|
width: 16px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
&.selected {
|
&.selected {
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
border-left-color:$list-item-border-selected;
|
border-left-color:var(--red-ui-list-item-border-selected);
|
||||||
border-right-color:$list-item-border-selected;
|
border-right-color:var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
span {
|
span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -696,7 +696,7 @@
|
|||||||
margin: 0 10px 0 0px;
|
margin: 0 10px 0 0px;
|
||||||
|
|
||||||
.fa-angle-right {
|
.fa-angle-right {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
transition: all 0.2s ease-in-out;
|
transition: all 0.2s ease-in-out;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -711,7 +711,9 @@
|
|||||||
transform: rotate(90deg);
|
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-projects-dialog-remote-list {
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
@ -747,7 +749,7 @@ div.red-ui-projects-dialog-ssh-public-key {
|
|||||||
padding: 10px 5px;
|
padding: 10px 5px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&: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;
|
position: relative;
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
li:last-child {
|
li:last-child {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
@ -775,7 +777,7 @@ div.red-ui-projects-dialog-ssh-public-key {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
min-width: 30px;
|
min-width: 30px;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
.entry-name {
|
.entry-name {
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
@ -784,7 +786,7 @@ div.red-ui-projects-dialog-ssh-public-key {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
.entry-detail {
|
.entry-detail {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -802,9 +804,9 @@ div.red-ui-projects-dialog-ssh-public-key {
|
|||||||
position: relative;
|
position: relative;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
.red-ui-projects-edit-form-sublabel {
|
.red-ui-projects-edit-form-sublabel {
|
||||||
margin-top: -8px !important;
|
margin-top: -8px !important;
|
||||||
margin-right: 50px;
|
margin-right: 50px;
|
||||||
@ -819,7 +821,7 @@ div.red-ui-projects-dialog-ssh-public-key {
|
|||||||
|
|
||||||
.red-ui-projects-dialog-list-dialog-header {
|
.red-ui-projects-dialog-list-dialog-header {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
margin-top: 0 !important;
|
margin-top: 0 !important;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@ -830,5 +832,5 @@ div.red-ui-projects-dialog-ssh-public-key {
|
|||||||
padding: 8px 20px 20px;
|
padding: 8px 20px 20px;
|
||||||
}
|
}
|
||||||
.red-ui-settings-section-description {
|
.red-ui-settings-section-description {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
.red-ui-editor-radial-menu {
|
.red-ui-editor-radial-menu {
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left:0;
|
left:0;
|
||||||
@ -29,8 +29,8 @@
|
|||||||
border-radius: 80px;
|
border-radius: 80px;
|
||||||
width: 160px;
|
width: 160px;
|
||||||
height: 160px;
|
height: 160px;
|
||||||
background: $shadow;
|
background: var(--red-ui-shadow);
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,20 +39,21 @@
|
|||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
border: 2px solid $primary-border-color;
|
border: 2px solid var(--red-ui-primary-border-color);
|
||||||
|
color: var(--red-ui-primary-text-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height:50px;
|
line-height:50px;
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
background: $workspace-button-background-hover;
|
background: var(--red-ui-workspace-button-background-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-editor-radial-menu-opt-disabled {
|
.red-ui-editor-radial-menu-opt-disabled {
|
||||||
border-color: $tertiary-border-color;
|
border-color: var(--red-ui-tertiary-border-color);
|
||||||
color: $tertiary-border-color;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
.red-ui-editor-radial-menu-opt-active {
|
.red-ui-editor-radial-menu-opt-active {
|
||||||
background: $secondary-background-hover;
|
background: var(--red-ui-secondary-background-hover);
|
||||||
}
|
}
|
||||||
|
@ -22,9 +22,9 @@
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
margin-left: -250px;
|
margin-left: -250px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-shadow: 0 0 10px $shadow;
|
box-shadow: 0 0 10px var(--red-ui-shadow);
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
|
|
||||||
.red-ui-searchBox-container {
|
.red-ui-searchBox-container {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -47,17 +47,17 @@
|
|||||||
.red-ui-search-container {
|
.red-ui-search-container {
|
||||||
border-top-left-radius: 5px;
|
border-top-left-radius: 5px;
|
||||||
border-top-right-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;
|
border-bottom: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.red-ui-search-results-container {
|
.red-ui-search-results-container {
|
||||||
display: none;
|
display: none;
|
||||||
height: 150px;
|
height: 195px;
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
border: 1px dashed $primary-border-color;
|
border: 1px dashed var(--red-ui-primary-border-color);
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-search-result {
|
.red-ui-search-result {
|
||||||
@ -73,7 +73,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-search-result-separator {
|
.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 {
|
.red-ui-search-result-node {
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -84,12 +84,12 @@
|
|||||||
.red-ui-search-result-node-port {
|
.red-ui-search-result-node-port {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
border: 1px solid $node-border;
|
border: 1px solid var(--red-ui-node-border);
|
||||||
width: 6px;
|
width: 6px;
|
||||||
height: 7px;
|
height: 7px;
|
||||||
top:4px;
|
top:4px;
|
||||||
left:-4px;
|
left:-4px;
|
||||||
background: $node-port-background;
|
background: var(--red-ui-node-port-background);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-output{
|
.red-ui-search-result-node-output{
|
||||||
@ -107,26 +107,26 @@
|
|||||||
margin-left:8px;
|
margin-left:8px;
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-label {
|
.red-ui-search-result-node-label {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-search-container {
|
.red-ui-search-container {
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
background: $form-input-background;
|
background: var(--red-ui-form-input-background);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-results-container {
|
.red-ui-search-results-container {
|
||||||
position:relative;
|
position:relative;
|
||||||
height: 300px;
|
height: 300px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
.red-ui-search-results-list {
|
.red-ui-search-results-list {
|
||||||
|
|
||||||
}
|
}
|
||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
li {
|
li {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
@ -137,21 +137,21 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: start;
|
align-items: start;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
border-left: 3px solid $list-item-background;
|
border-left: 3px solid var(--red-ui-list-item-background);
|
||||||
border-right: 3px solid $list-item-background;
|
border-right: 3px solid var(--red-ui-list-item-background);
|
||||||
li.selected & {
|
li.selected & {
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
border-left-color: $list-item-border-selected;
|
border-left-color: var(--red-ui-list-item-border-selected);
|
||||||
border-right-color: $list-item-border-selected;
|
border-right-color: var(--red-ui-list-item-border-selected);
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
border-left-color:$list-item-background-hover;
|
border-left-color:var(--red-ui-list-item-background-hover);
|
||||||
border-right-color:$list-item-background-hover;
|
border-right-color:var(--red-ui-list-item-background-hover);
|
||||||
}
|
}
|
||||||
&:after {
|
&:after {
|
||||||
content: "";
|
content: "";
|
||||||
@ -165,7 +165,7 @@
|
|||||||
float:left;
|
float:left;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
border: 1px solid $node-border;
|
border: 1px solid var(--red-ui-node-border);
|
||||||
background-position: 5% 50%;
|
background-position: 5% 50%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
@ -182,28 +182,28 @@
|
|||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-label {
|
.red-ui-search-result-node-label {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-type {
|
.red-ui-search-result-node-type {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-flow {
|
.red-ui-search-result-node-flow {
|
||||||
float:right;
|
float:right;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-id {
|
.red-ui-search-result-node-id {
|
||||||
display:none;
|
display:none;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-empty {
|
.red-ui-search-empty {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
color: $form-placeholder-color;
|
color: var(--red-ui-form-placeholder-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-history {
|
.red-ui-search-history {
|
||||||
button {
|
button {
|
||||||
@ -229,12 +229,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-search-result-action {
|
.red-ui-search-result-action {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
.red-ui-search-result-action-key {
|
.red-ui-search-result-action-key {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 9px;
|
top: 9px;
|
||||||
right: 0;
|
right: 0;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
right: 0px;
|
right: 0px;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
width: 315px;
|
width: 315px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
@include component-border;
|
@include component-border;
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#red-ui-sidebar-content {
|
#red-ui-sidebar-content {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
top: 35px;
|
top: 35px;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 25px;
|
bottom: 25px;
|
||||||
@ -47,7 +47,7 @@
|
|||||||
bottom:10px;
|
bottom:10px;
|
||||||
width: 7px;
|
width: 7px;
|
||||||
// z-index: 11;
|
// z-index: 11;
|
||||||
background-color: $primary-background;
|
background-color: var(--red-ui-primary-background);
|
||||||
cursor: col-resize;
|
cursor: col-resize;
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
@ -63,7 +63,7 @@
|
|||||||
mask-position: 50% 50%;
|
mask-position: 50% 50%;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
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 */
|
.sidebar-header, /* Deprecated -> red-ui-sidebar-header */
|
||||||
.red-ui-sidebar-header {
|
.red-ui-sidebar-header {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,9 +138,9 @@ button.red-ui-sidebar-header-button-toggle {
|
|||||||
top: calc(50% - 26px);
|
top: calc(50% - 26px);
|
||||||
|
|
||||||
padding:15px 8px;
|
padding:15px 8px;
|
||||||
border:1px solid $primary-border-color;
|
border:1px solid var(--red-ui-primary-border-color);
|
||||||
background:$primary-background;
|
background:var(--red-ui-primary-background);
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
18
packages/node_modules/@node-red/editor-client/src/sass/style-custom-theme.scss
vendored
Normal file
18
packages/node_modules/@node-red/editor-client/src/sass/style-custom-theme.scss
vendored
Normal 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";
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
.red-ui-sidebar-node-config {
|
.red-ui-sidebar-node-config {
|
||||||
position: relative;
|
position: relative;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow-y:auto;
|
overflow-y:auto;
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
@ -37,14 +37,14 @@ ul.red-ui-sidebar-node-config-list {
|
|||||||
}
|
}
|
||||||
.red-ui-palette-node {
|
.red-ui-palette-node {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
cursor: default;
|
||||||
&.selected {
|
&.selected {
|
||||||
border-color: transparent;
|
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 {
|
&.highlighted {
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
outline: dashed $node-selected-color 4px;
|
outline: dashed var(--red-ui-node-selected-color) 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-label {
|
.red-ui-palette-label {
|
||||||
@ -54,11 +54,14 @@ ul.red-ui-sidebar-node-config-list {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
&:not(:last-child) {
|
||||||
|
width: calc(100% - 38px);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon-container {
|
.red-ui-palette-icon-container {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
background-color: $node-icon-background-color;
|
background-color: var(--red-ui-node-icon-background-color);
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
a {
|
a {
|
||||||
@ -67,10 +70,11 @@ ul.red-ui-sidebar-node-config-list {
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
color: $node-port-label-color;
|
color: var(--red-ui-node-port-label-color);
|
||||||
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none;
|
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 {
|
.red-ui-palette-node-config {
|
||||||
width: 160px;
|
width: 160px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
background: $node-config-background;
|
background: var(--red-ui-node-config-background);
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
ul.red-ui-sidebar-node-config-list li.red-ui-palette-node-config-type {
|
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;
|
text-align: right;
|
||||||
padding-right: 3px;
|
padding-right: 3px;
|
||||||
&:not(:first-child) {
|
&: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 {
|
.red-ui-palette-node-config-none {
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
text-align:right;
|
text-align:right;
|
||||||
padding-right: 3px;
|
padding-right: 3px;
|
||||||
}
|
}
|
||||||
.red-ui-palette-node-config-unused,.red-ui-palette-node-config-disabled {
|
.red-ui-palette-node-config-unused,.red-ui-palette-node-config-disabled {
|
||||||
border-color: $primary-border-color;
|
border-color: var(--red-ui-primary-border-color);
|
||||||
background: $secondary-background-inactive;
|
background: var(--red-ui-node-config-background);
|
||||||
border-style: dashed;
|
border-style: dashed;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-node-config-icon-container-disabled);
|
||||||
}
|
}
|
||||||
.red-ui-palette-node-config-disabled {
|
.red-ui-palette-node-config-disabled {
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
i {
|
i {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-node-port-label-color);
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -116,8 +120,8 @@ ul.red-ui-sidebar-node-config-list li.red-ui-palette-node-config-type {
|
|||||||
height: 38px;
|
height: 38px;
|
||||||
line-height: 38px;
|
line-height: 38px;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
background: $palette-header-background;
|
background: var(--red-ui-palette-header-background);
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
|
|
||||||
.red-ui-palette-category {
|
.red-ui-palette-category {
|
||||||
&:not(.expanded) button {
|
&:not(.expanded) button {
|
||||||
@ -63,12 +63,12 @@
|
|||||||
.red-ui-sidebar-context-updated {
|
.red-ui-sidebar-context-updated {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
padding: 1px 3px;
|
padding: 1px 3px;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-context-property-storename {
|
.red-ui-sidebar-context-property-storename {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// height: calc(100% - 39px);
|
// height: calc(100% - 39px);
|
||||||
}
|
}
|
||||||
.red-ui-help-search {
|
.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 {
|
.red-ui-sidebar-help-toc {
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-left: 5px;
|
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 {
|
table.red-ui-info-table {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -40,8 +40,8 @@ table.red-ui-info-table {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
table.red-ui-info-table tr:not(.blank) {
|
table.red-ui-info-table tr:not(.blank) {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
.red-ui-help-property-expand {
|
.red-ui-help-property-expand {
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
@ -57,7 +57,7 @@ table.red-ui-info-table tr.blank {
|
|||||||
th {
|
th {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
padding: 6px 3px 3px;
|
padding: 6px 3px 3px;
|
||||||
}
|
}
|
||||||
>* {
|
>* {
|
||||||
@ -69,9 +69,9 @@ table.red-ui-info-table tr.blank {
|
|||||||
|
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
&:hover,&:focus {
|
&:hover,&:focus {
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
&:not(.expanded) {
|
&:not(.expanded) {
|
||||||
@ -103,36 +103,36 @@ table.red-ui-info-table tr.blank {
|
|||||||
}
|
}
|
||||||
.red-ui-help-info-none {
|
.red-ui-help-info-none {
|
||||||
font-style: italic;
|
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{
|
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;
|
vertical-align: top;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
padding: 3px 3px 3px 6px;
|
padding: 3px 3px 3px 6px;
|
||||||
background:$tertiary-background;
|
background:var(--red-ui-tertiary-background);
|
||||||
border-right: 1px solid $secondary-border-color;
|
border-right: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
table.red-ui-info-table tr:not(.blank) td:last-child{
|
table.red-ui-info-table tr:not(.blank) td:last-child{
|
||||||
padding: 3px 3px 3px 6px;
|
padding: 3px 3px 3px 6px;
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
}
|
}
|
||||||
div.red-ui-info-table {
|
div.red-ui-info-table {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
}
|
}
|
||||||
.red-ui-help {
|
.red-ui-help {
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: $text-color-link;
|
color: var(--red-ui-text-color-link);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover,
|
a:hover,
|
||||||
a:focus {
|
a:focus {
|
||||||
color: $text-color-link;
|
color: var(--red-ui-text-color-link);
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ div.red-ui-info-table {
|
|||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
margin: 8px auto;
|
margin: 8px auto;
|
||||||
&.red-ui-help-title {
|
&.red-ui-help-title {
|
||||||
border-bottom: 1px solid $tertiary-border-color;
|
border-bottom: 1px solid var(--red-ui-tertiary-border-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
h2 {
|
h2 {
|
||||||
@ -168,24 +168,24 @@ div.red-ui-info-table {
|
|||||||
& > span > p:first-child {
|
& > span > p:first-child {
|
||||||
}
|
}
|
||||||
dl.message-properties {
|
dl.message-properties {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
|
|
||||||
margin: 5px auto 10px;
|
margin: 5px auto 10px;
|
||||||
&>dt {
|
&>dt {
|
||||||
padding: 0px 3px 2px 3px;
|
padding: 0px 3px 2px 3px;
|
||||||
font-family: $monospace-font;
|
font-family: var(--red-ui-monospace-font);
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin: 5px 3px 1px;
|
margin: 5px 3px 1px;
|
||||||
color: $text-color-code;
|
color: var(--red-ui-text-color-code);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
&.optional {
|
&.optional {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
|
||||||
}
|
}
|
||||||
.property-type {
|
.property-type {
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
color: $primary-text-color;
|
color: var(--red-ui-primary-text-color);
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
float: right;
|
float: right;
|
||||||
@ -204,7 +204,7 @@ div.red-ui-info-table {
|
|||||||
ol.node-ports {
|
ol.node-ports {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
li {
|
li {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
list-style-position: inside;
|
list-style-position: inside;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
@ -224,7 +224,7 @@ div.red-ui-info-table {
|
|||||||
transition: transform 0.2s ease-in-out;
|
transition: transform 0.2s ease-in-out;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
color: $header-text-color;
|
color: var(--red-ui-header-text-color);
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
@ -242,7 +242,7 @@ div.red-ui-info-table {
|
|||||||
overflow : hidden;
|
overflow : hidden;
|
||||||
}
|
}
|
||||||
table thead tr {
|
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);
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
color: var(--red-ui-header-text-color);
|
color: var(--red-ui-header-text-color);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@ -252,7 +252,7 @@ div.red-ui-info-table {
|
|||||||
padding: 6px 8px;
|
padding: 6px 8px;
|
||||||
}
|
}
|
||||||
table tbody tr:nth-of-type(even) {
|
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 {
|
.red-ui-sidebar-info-stack {
|
||||||
@ -273,10 +273,10 @@ div.red-ui-info-table {
|
|||||||
height: 0;
|
height: 0;
|
||||||
transition: height 0.2s, padding 0.2s;
|
transition: height 0.2s, padding 0.2s;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
background-color: $secondary-background;
|
background-color: var(--red-ui-secondary-background);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
box-shadow: 0 5px 20px 0px $shadow;
|
box-shadow: 0 5px 20px 0px var(--red-ui-shadow);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.red-ui-sidebar-info.show-tips {
|
.red-ui-sidebar-info.show-tips {
|
||||||
@ -305,7 +305,7 @@ div.red-ui-info-table {
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 1.9em;
|
line-height: 1.9em;
|
||||||
color : $tertiary-text-color;
|
color : var(--red-ui-tertiary-text-color);
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
@ -314,14 +314,14 @@ div.red-ui-info-table {
|
|||||||
top: 4px;
|
top: 4px;
|
||||||
right: 6px;
|
right: 6px;
|
||||||
a {
|
a {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
border-color: $secondary-border-color !important;
|
border-color: var(--red-ui-secondary-border-color) !important;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.node-info-property-config-node {
|
.node-info-property-config-node {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid var(--red-ui-secondary-border-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 2px 4px 2px;
|
padding: 2px 4px 2px;
|
||||||
}
|
}
|
||||||
@ -346,7 +346,7 @@ div.red-ui-info-table {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-info-outline-project {
|
.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,
|
.red-ui-info-outline,
|
||||||
@ -380,13 +380,13 @@ div.red-ui-info-table {
|
|||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
.red-ui-palette-icon-fa {
|
.red-ui-palette-icon-fa {
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.red-ui-info-outline-item-empty {
|
&.red-ui-info-outline-item-empty {
|
||||||
font-style: italic;
|
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;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.red-ui-search-result-node-label {
|
.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;
|
right: 1px;
|
||||||
padding: 1px 2px 0 1px;
|
padding: 1px 2px 0 1px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
|
|
||||||
.red-ui-treeList-label:hover & {
|
.red-ui-treeList-label:hover & {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
}
|
}
|
||||||
.red-ui-treeList-label.focus & {
|
.red-ui-treeList-label.focus & {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
}
|
}
|
||||||
.red-ui-treeList-label.selected & {
|
.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 {
|
.red-ui-info-outline-item-label {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
.red-ui-icons-flow {
|
.red-ui-icons-flow {
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
@ -538,7 +538,7 @@ div.red-ui-info-table {
|
|||||||
-webkit-mask-size: contain;
|
-webkit-mask-size: contain;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
-webkit-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);
|
// filter: brightness(2.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -549,8 +549,8 @@ div.red-ui-info-table {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
// padding-left: 9px;
|
// padding-left: 9px;
|
||||||
// box-sizing: border-box;
|
// box-sizing: border-box;
|
||||||
// background: $palette-header-background;
|
// background: var(--red-ui-palette-header-background);
|
||||||
// border-bottom: 1px solid $secondary-border-color;
|
// border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
|
|
||||||
.red-ui-searchBox-container {
|
.red-ui-searchBox-container {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -558,7 +558,7 @@ div.red-ui-info-table {
|
|||||||
right: 8px;
|
right: 8px;
|
||||||
width: calc(100% - 130px);
|
width: calc(100% - 130px);
|
||||||
max-width: 250px;
|
max-width: 250px;
|
||||||
background: $palette-header-background;
|
background: var(--red-ui-palette-header-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
.red-ui-tabs {
|
.red-ui-tabs {
|
||||||
position: relative;
|
position: relative;
|
||||||
background: $tab-background;
|
background: var(--red-ui-tab-background);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -39,18 +39,18 @@
|
|||||||
display: block;
|
display: block;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@include disable-selection;
|
@include disable-selection;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-left: 1px solid $primary-border-color;
|
border-left: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-top: 1px solid $primary-border-color;
|
border-top: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-right: 1px solid $primary-border-color;
|
border-right: 1px solid var(--red-ui-primary-border-color);
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
background: $tab-background-inactive;
|
background: var(--red-ui-tab-background-inactive);
|
||||||
margin: 3px 3px 0 3px;
|
margin: 3px 3px 0 3px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
line-height: 29px;
|
line-height: 29px;
|
||||||
@ -73,7 +73,7 @@
|
|||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
color: $tab-text-color-inactive;
|
color: var(--red-ui-tab-text-color-inactive);
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@ -83,27 +83,27 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:not(.active) a:hover+a.red-ui-tab-close {
|
&:not(.active) a:hover+a.red-ui-tab-close {
|
||||||
background: $tab-background-hover;
|
background: var(--red-ui-tab-background-hover);
|
||||||
}
|
}
|
||||||
&.highlighted {
|
&.highlighted {
|
||||||
box-shadow: 0px 0px 4px 2px $node-selected-color;
|
box-shadow: 0px 0px 4px 2px var(--red-ui-node-selected-color);
|
||||||
border: dashed 1px $node-selected-color;
|
border: dashed 1px var(--red-ui-node-selected-color);
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
background: $tab-background-active;
|
background: var(--red-ui-tab-background-active);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-bottom: 1px solid $tab-background-active;
|
border-bottom: 1px solid var(--red-ui-tab-background-active);
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: $tab-text-color-active;
|
color: var(--red-ui-tab-text-color-active);
|
||||||
}
|
}
|
||||||
a.red-ui-tab-close {
|
a.red-ui-tab-close {
|
||||||
color: $workspace-button-color;
|
color: var(--red-ui-workspace-button-color);
|
||||||
background: $tab-background-active;
|
background: var(--red-ui-tab-background-active);
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $workspace-button-background-hover !important;
|
background: var(--red-ui-workspace-button-background-hover) !important;
|
||||||
color: $workspace-button-color-hover;
|
color: var(--red-ui-workspace-button-color-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
img.red-ui-tab-icon {
|
img.red-ui-tab-icon {
|
||||||
@ -111,24 +111,24 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-tabs-fade {
|
.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 {
|
&.selected {
|
||||||
&:not(.active) {
|
&:not(.active) {
|
||||||
background: $tab-background-selected;
|
background: var(--red-ui-tab-background-selected);
|
||||||
.red-ui-tabs-fade {
|
.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 {
|
.red-ui-tabs-badge-selected {
|
||||||
background: $tab-background-selected;
|
background: var(--red-ui-tab-background-selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
.red-ui-tabs-badge-selected {
|
.red-ui-tabs-badge-selected {
|
||||||
display: inline;
|
display: inline;
|
||||||
background: $tab-background;
|
background: var(--red-ui-tab-background);
|
||||||
}
|
}
|
||||||
.red-ui-tabs-badge-changed {
|
.red-ui-tabs-badge-changed {
|
||||||
display: none;
|
display: none;
|
||||||
@ -136,10 +136,10 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
&:not(.active) a:hover {
|
&:not(.active) a:hover {
|
||||||
color: $workspace-button-color-hover;
|
color: var(--red-ui-workspace-button-color-hover);
|
||||||
background: $tab-background-hover;
|
background: var(--red-ui-tab-background-hover);
|
||||||
&+.red-ui-tabs-fade {
|
&+.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 {
|
&.red-ui-tabs-vertical {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-right: 1px solid $primary-border-color;
|
border-right: 1px solid var(--red-ui-primary-border-color);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
|
|
||||||
.red-ui-tabs-scroll-container {
|
.red-ui-tabs-scroll-container {
|
||||||
@ -203,13 +203,13 @@
|
|||||||
display: block;
|
display: block;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: none;
|
border: none;
|
||||||
border-right: 1px solid $primary-border-color;
|
border-right: 1px solid var(--red-ui-primary-border-color);
|
||||||
height: auto;
|
height: auto;
|
||||||
&:not(:first-child) {
|
&:not(:first-child) {
|
||||||
border-top: 1px solid $secondary-border-color;
|
border-top: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
a.red-ui-tab-label {
|
a.red-ui-tab-label {
|
||||||
@ -217,7 +217,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
border-right: 1px solid $tab-background-active;
|
border-right: 1px solid var(--red-ui-tab-background-active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -238,8 +238,8 @@
|
|||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
background: $tab-background;
|
background: var(--red-ui-tab-background);
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
@ -261,8 +261,8 @@
|
|||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
background: $tab-background;
|
background: var(--red-ui-tab-background);
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
a {
|
a {
|
||||||
@include workspace-button-toggle;
|
@include workspace-button-toggle;
|
||||||
@ -272,7 +272,7 @@
|
|||||||
margin: 4px 3px 3px;
|
margin: 4px 3px 3px;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
&.red-ui-tab-link-button-menu {
|
&.red-ui-tab-link-button-menu {
|
||||||
border-color: $tab-background;
|
border-color: var(--red-ui-tab-background);
|
||||||
}
|
}
|
||||||
&:not(.single):not(.selected) {
|
&:not(.single):not(.selected) {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
@ -286,27 +286,27 @@
|
|||||||
height: 35px;
|
height: 35px;
|
||||||
width: 21px;
|
width: 21px;
|
||||||
display: block;
|
display: block;
|
||||||
color: $workspace-button-color;
|
color: var(--red-ui-workspace-button-color);
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin:0;
|
margin:0;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
border-right: none;
|
border-right: none;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
border-bottom: 1px solid $primary-border-color;
|
border-bottom: 1px solid var(--red-ui-primary-border-color);
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-tab-scroll-left {
|
.red-ui-tab-scroll-left {
|
||||||
left:0;
|
left:0;
|
||||||
a {
|
a {
|
||||||
border-right: 1px solid $primary-border-color;
|
border-right: 1px solid var(--red-ui-primary-border-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-tab-scroll-right {
|
.red-ui-tab-scroll-right {
|
||||||
right: 0px;
|
right: 0px;
|
||||||
a {
|
a {
|
||||||
border-left: 1px solid $primary-border-color;
|
border-left: 1px solid var(--red-ui-primary-border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -341,7 +341,7 @@
|
|||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
width: 15px;
|
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;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +365,7 @@ i.red-ui-tab-icon {
|
|||||||
mask-position: center;
|
mask-position: center;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
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 {
|
.red-ui-tabs-badges {
|
||||||
@ -379,7 +379,7 @@ i.red-ui-tab-icon {
|
|||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding:0px;
|
padding:0px;
|
||||||
color: $tab-badge-color;
|
color: var(--red-ui-tab-badge-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red-ui-tabs-badges i {
|
.red-ui-tabs-badges i {
|
||||||
@ -415,7 +415,7 @@ i.red-ui-tab-icon {
|
|||||||
}
|
}
|
||||||
.red-ui-tab-close {
|
.red-ui-tab-close {
|
||||||
display: none;
|
display: none;
|
||||||
background: $tab-background-inactive;
|
background: var(--red-ui-tab-background-inactive);
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
@ -425,10 +425,10 @@ i.red-ui-tab-icon {
|
|||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
color: $workspace-button-color;
|
color: var(--red-ui-workspace-button-color);
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $workspace-button-background-hover !important;
|
background: var(--red-ui-workspace-button-background-hover) !important;
|
||||||
color: $workspace-button-color-hover;
|
color: var(--red-ui-workspace-button-color-hover);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@
|
|||||||
color: var(--red-ui-primary-text-color) !important;
|
color: var(--red-ui-primary-text-color) !important;
|
||||||
}
|
}
|
||||||
&:not(.primary):not(.disabled):not(.ui-button-disabled):hover {
|
&: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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
.red-ui-checkboxSet {
|
.red-ui-checkboxSet {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
input {
|
input {
|
||||||
display:none !important;
|
display:none !important;
|
||||||
@ -24,6 +24,6 @@
|
|||||||
|
|
||||||
&.disabled {
|
&.disabled {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
**/
|
**/
|
||||||
.red-ui-editableList-border {
|
.red-ui-editableList-border {
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
.red-ui-editableList-header {
|
.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;
|
padding: 2px 16px 2px 4px;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
@ -32,22 +32,22 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.red-ui-editabelList-item-placeholder {
|
.red-ui-editabelList-item-placeholder {
|
||||||
border: 2px dashed $secondary-border-color !important;
|
border: 2px dashed var(--red-ui-secondary-border-color) !important;
|
||||||
}
|
}
|
||||||
li {
|
li {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
margin:0;
|
margin:0;
|
||||||
padding:8px 0px;
|
padding:8px 0px;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
min-height: 20px;
|
min-height: 20px;
|
||||||
.red-ui-editableList-item-handle {
|
.red-ui-editableList-item-handle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 2px;
|
left: 2px;
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
color: $tertiary-text-color;
|
color: var(--red-ui-tertiary-text-color);
|
||||||
cursor: move;
|
cursor: move;
|
||||||
}
|
}
|
||||||
.red-ui-editableList-item-remove {
|
.red-ui-editableList-item-remove {
|
||||||
@ -57,7 +57,7 @@
|
|||||||
margin-top: -9px;
|
margin-top: -9px;
|
||||||
}
|
}
|
||||||
&.ui-sortable-helper {
|
&.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}
|
//.red-ui-editableList-item-content { outline: 1px solid red}
|
||||||
|
|
||||||
@ -68,7 +68,7 @@
|
|||||||
margin-right: 28px;
|
margin-right: 28px;
|
||||||
}
|
}
|
||||||
&.red-ui-editableList-item-deleting {
|
&.red-ui-editableList-item-deleting {
|
||||||
background: $secondary-background-inactive;
|
background: var(--red-ui-secondary-background-inactive);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,9 +21,9 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border: none;
|
border: none;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
&:hover {
|
&:hover {
|
||||||
background: $secondary-background-hover;
|
background: var(--red-ui-secondary-background-hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
i.fa-angle-right {
|
i.fa-angle-right {
|
||||||
@ -44,12 +44,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-editableList-item-content.disabled {
|
.red-ui-editableList-item-content.disabled {
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
&.red-ui-editableList-section-header {
|
&.red-ui-editableList-section-header {
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
.red-ui-editableList-item-content.disabled {
|
.red-ui-editableList-item-content.disabled {
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 9px;
|
top: 9px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
}
|
}
|
||||||
i.fa-search {
|
i.fa-search {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
@ -41,8 +41,8 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
a.red-ui-searchBox-opts:hover {
|
a.red-ui-searchBox-opts:hover {
|
||||||
color: $workspace-button-color-hover;
|
color: var(--red-ui-workspace-button-color-hover);
|
||||||
background: $workspace-button-background-hover;
|
background: var(--red-ui-workspace-button-background-hover);
|
||||||
}
|
}
|
||||||
input.red-ui-searchBox-input {
|
input.red-ui-searchBox-input {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
@ -76,8 +76,8 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 18px;
|
right: 18px;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
background: $primary-background;
|
background: var(--red-ui-primary-background);
|
||||||
color: $secondary-text-color;
|
color: var(--red-ui-secondary-text-color);
|
||||||
padding: 1px 8px;
|
padding: 1px 8px;
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
@ -97,12 +97,12 @@
|
|||||||
.red-ui-searchBox-compact {
|
.red-ui-searchBox-compact {
|
||||||
|
|
||||||
input:focus.red-ui-searchBox-input {
|
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 {
|
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;
|
border-radius: 3px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
|
@ -15,9 +15,9 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
.red-ui-stack {
|
.red-ui-stack {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
.red-ui-palette-category {
|
.red-ui-palette-category {
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
|
@ -24,9 +24,9 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
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;
|
border-radius: 4px;
|
||||||
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -71,7 +71,7 @@
|
|||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
@ -79,26 +79,26 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&:hover, &:hover .red-ui-treeList-sublabel-text {
|
&:hover, &:hover .red-ui-treeList-sublabel-text {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
&:focus, &:focus .red-ui-treeList-sublabel-text {
|
&:focus, &:focus .red-ui-treeList-sublabel-text {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
outline: none;
|
outline: none;
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
&.focus, &.focus .red-ui-treeList-sublabel-text {
|
&.focus, &.focus .red-ui-treeList-sublabel-text {
|
||||||
background: $list-item-background-hover;
|
background: var(--red-ui-list-item-background-hover);
|
||||||
outline: 1px solid $form-input-focus-color !important;
|
outline: 1px solid var(--red-ui-form-input-focus-color) !important;
|
||||||
outline-offset: -1px;
|
outline-offset: -1px;
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
}
|
}
|
||||||
&.selected, &.selected .red-ui-treeList-sublabel-text {
|
&.selected, &.selected .red-ui-treeList-sublabel-text {
|
||||||
background: $list-item-background-selected;
|
background: var(--red-ui-list-item-background-selected);
|
||||||
outline: none;
|
outline: none;
|
||||||
color: $list-item-color;
|
color: var(--red-ui-list-item-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
input.red-ui-treeList-checkbox,
|
input.red-ui-treeList-checkbox,
|
||||||
@ -121,9 +121,9 @@
|
|||||||
padding: 0 10px 0 5px;
|
padding: 0 10px 0 5px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
color: $list-item-secondary-color;
|
color: var(--red-ui-list-item-secondary-color);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: $list-item-background;
|
background: var(--red-ui-list-item-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -143,5 +143,5 @@
|
|||||||
mask-position: 50% 50%;
|
mask-position: 50% 50%;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
background-color: $spinner-color;
|
background-color: var(--red-ui-spinner-color);
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
.red-ui-typedInput-container {
|
.red-ui-typedInput-container {
|
||||||
border: 1px solid $form-input-border-color;
|
border: 1px solid var(--red-ui-form-input-border-color);
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
line-height: 14px;
|
line-height: 14px;
|
||||||
@ -28,7 +28,7 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
&[disabled] {
|
&[disabled] {
|
||||||
input, button {
|
input, button {
|
||||||
background: $secondary-background-inactive;
|
background: var(--red-ui-secondary-background-inactive);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
@ -50,7 +50,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.red-ui-typedInput-focus:not(.input-error) {
|
&.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 {
|
.red-ui-typedInput-value-label {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
@ -61,42 +61,42 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
.red-ui-typedInput-value-label-inactive {
|
.red-ui-typedInput-value-label-inactive {
|
||||||
background: $secondary-background-disabled;
|
background: var(--red-ui-secondary-background-disabled);
|
||||||
color: $secondary-text-color-disabled;
|
color: var(--red-ui-secondary-text-color-disabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.red-ui-typedInput-options {
|
.red-ui-typedInput-options {
|
||||||
@include component-shadow;
|
@include component-shadow;
|
||||||
font-family: $primary-font;
|
font-family: var(--red-ui-primary-font);
|
||||||
font-size: $primary-font-size;
|
font-size: var(--red-ui-primary-font-size);
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
max-height: 350px;
|
max-height: 350px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
border: 1px solid $primary-border-color;
|
border: 1px solid var(--red-ui-primary-border-color);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: $secondary-background;
|
background: var(--red-ui-secondary-background);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
a {
|
a {
|
||||||
padding: 6px 18px 6px 6px;
|
padding: 6px 18px 6px 6px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: 1px solid $secondary-border-color;
|
border-bottom: 1px solid var(--red-ui-secondary-border-color);
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: $workspace-button-background-hover;
|
background: var(--red-ui-workspace-button-background-hover);
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
}
|
}
|
||||||
input[type="checkbox"] {
|
input[type="checkbox"] {
|
||||||
margin: 0 6px 0 0;
|
margin: 0 6px 0 0;
|
||||||
@ -111,7 +111,7 @@
|
|||||||
mask-position: center;
|
mask-position: center;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
background-color: $primary-text-color;
|
background-color: var(--red-ui-primary-text-color);
|
||||||
height: 14px;
|
height: 14px;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
}
|
}
|
||||||
@ -128,11 +128,11 @@ button.red-ui-typedInput-option-trigger
|
|||||||
border-top-left-radius: 4px;
|
border-top-left-radius: 4px;
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
padding: 0 1px 0 5px;
|
padding: 0 1px 0 5px;
|
||||||
background: $form-button-background;
|
background: var(--red-ui-form-button-background);
|
||||||
height: 32px;
|
height: 32px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
i.red-ui-typedInput-icon {
|
i.red-ui-typedInput-icon {
|
||||||
margin-left: 1px;
|
margin-left: 1px;
|
||||||
@ -142,7 +142,7 @@ button.red-ui-typedInput-option-trigger
|
|||||||
&.disabled {
|
&.disabled {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
> i.red-ui-typedInput-icon {
|
> 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 {
|
.red-ui-typedInput-type-label,.red-ui-typedInput-option-label {
|
||||||
@ -161,21 +161,21 @@ button.red-ui-typedInput-option-trigger
|
|||||||
mask-position: center;
|
mask-position: center;
|
||||||
-webkit-mask-repeat: no-repeat;
|
-webkit-mask-repeat: no-repeat;
|
||||||
mask-repeat: no-repeat;
|
mask-repeat: no-repeat;
|
||||||
background-color: $primary-text-color;
|
background-color: var(--red-ui-primary-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(.disabled):hover {
|
&:not(.disabled):hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: $workspace-button-background-hover;
|
background: var(--red-ui-workspace-button-background-hover);
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: 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 {
|
&:not(.disabled):active {
|
||||||
background: $workspace-button-background-active;
|
background: var(--red-ui-workspace-button-background-active);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
&.red-ui-typedInput-full-width {
|
&.red-ui-typedInput-full-width {
|
||||||
@ -208,8 +208,8 @@ button.red-ui-typedInput-option-trigger {
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
.red-ui-typedInput-option-label {
|
.red-ui-typedInput-option-label {
|
||||||
background:$form-button-background;
|
background:var(--red-ui-form-button-background);
|
||||||
color: $form-text-color;
|
color: var(--red-ui-form-text-color);
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
padding: 0 0 0 8px;
|
padding: 0 0 0 8px;
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
@ -231,6 +231,6 @@ button.red-ui-typedInput-option-trigger {
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
&:focus .red-ui-typedInput-option-caret {
|
&: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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
background: $tertiary-background;
|
background: var(--red-ui-tertiary-background);
|
||||||
}
|
}
|
||||||
.red-ui-settings-tabs-content {
|
.red-ui-settings-tabs-content {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -30,7 +30,7 @@
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
h3:not(:first-child) {
|
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-top: 15px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
@ -67,7 +67,7 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
padding: 8px 20px 20px;
|
padding: 8px 20px 20px;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.red-ui-settings-row {
|
.red-ui-settings-row {
|
||||||
padding: 5px 10px 2px;
|
padding: 5px 10px 2px;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
:root {
|
:root {
|
||||||
|
|
||||||
--red-ui-primary-font: #{$primary-font};
|
--red-ui-primary-font: #{$primary-font};
|
||||||
--red-ui-primary-font-size: #{$primary-font-size};
|
--red-ui-primary-font-size: #{$primary-font-size};
|
||||||
--red-ui-monospace-font: #{$monospace-font};
|
--red-ui-monospace-font: #{$monospace-font};
|
||||||
@ -40,7 +41,6 @@
|
|||||||
--red-ui-text-color-link: #{$text-color-link};
|
--red-ui-text-color-link: #{$text-color-link};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--red-ui-primary-border-color: #{$primary-border-color};
|
--red-ui-primary-border-color: #{$primary-border-color};
|
||||||
--red-ui-secondary-border-color: #{$secondary-border-color};
|
--red-ui-secondary-border-color: #{$secondary-border-color};
|
||||||
--red-ui-tertiary-border-color: #{$tertiary-border-color};
|
--red-ui-tertiary-border-color: #{$tertiary-border-color};
|
||||||
@ -50,20 +50,38 @@
|
|||||||
--red-ui-border-color-success: #{$border-color-success};
|
--red-ui-border-color-success: #{$border-color-success};
|
||||||
|
|
||||||
--red-ui-form-background: #{$form-background};
|
--red-ui-form-background: #{$form-background};
|
||||||
|
|
||||||
--red-ui-form-placeholder-color: #{$form-placeholder-color};
|
--red-ui-form-placeholder-color: #{$form-placeholder-color};
|
||||||
--red-ui-form-text-color: #{$form-text-color};
|
--red-ui-form-text-color: #{$form-text-color};
|
||||||
--red-ui-form-text-color-disabled: #{$form-text-color-disabled};
|
--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: #{$form-input-border-color};
|
||||||
--red-ui-form-input-border-color-focus: #{$form-input-focus-color};
|
--red-ui-form-input-border-selected-color: #{$form-input-border-selected-color};
|
||||||
--red-ui-form-input-border-color-selected: #{$form-input-border-selected-color};
|
--red-ui-form-input-border-error-color: #{$form-input-border-error-color};
|
||||||
--red-ui-form-input-border-color-error: #{$form-input-border-error-color};
|
|
||||||
--red-ui-form-input-background: #{$form-input-background};
|
--red-ui-form-input-background: #{$form-input-background};
|
||||||
--red-ui-form-input-background-disabled: #{$form-input-background-disabled};
|
--red-ui-form-input-background-disabled: #{$form-input-background-disabled};
|
||||||
--red-ui-form-button-background: #{$form-button-background};
|
--red-ui-form-button-background: #{$form-button-background};
|
||||||
|
|
||||||
--red-ui-form-tips-background: #{$form-tips-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-color: #{$list-item-color};
|
||||||
--red-ui-list-item-secondary-color: #{$list-item-secondary-color};
|
--red-ui-list-item-secondary-color: #{$list-item-secondary-color};
|
||||||
--red-ui-list-item-background: #{$list-item-background};
|
--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-background-selected: #{$list-item-background-selected};
|
||||||
--red-ui-list-item-border-selected: #{$list-item-border-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-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-link-port-background: #{$node-link-port-background};
|
||||||
|
|
||||||
--red-ui-node-status-error-border: #{$node-status-error-border};
|
--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-border: #{$node-status-changed-border};
|
||||||
--red-ui-node-status-changed-background: #{$node-status-changed-background};
|
--red-ui-node-status-changed-background: #{$node-status-changed-background};
|
||||||
|
|
||||||
--red-ui-node-border: #{$node-border};
|
@each $current-color in red green yellow blue grey gray {
|
||||||
--red-ui-node-port-background:#{$node-port-background};
|
--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-node-selected-color: #{$node-selected-color};
|
||||||
--red-ui-port-selected-color: #{$port-selected-color};
|
--red-ui-port-selected-color: #{$port-selected-color};
|
||||||
|
|
||||||
--red-ui-popover-background: #{$popover-background};
|
--red-ui-link-color: #{$link-color};
|
||||||
--red-ui-popover-border: #{$popover-border};
|
--red-ui-link-link-color: #{$link-link-color};
|
||||||
--red-ui-popover-color: #{$popover-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-border: #{$tourGuide-border};
|
||||||
--red-ui-tourGuide-heading-color: #{$tourGuide-heading-color};
|
--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};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user