@node-red/editor-client 3.1.9 → 3.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -719,6 +719,7 @@
719
719
  "nodeHelp": "Node Help",
720
720
  "showHelp": "Show help",
721
721
  "showInOutline": "Show in outline",
722
+ "hideTopics": "Hide topics",
722
723
  "showTopics": "Show topics",
723
724
  "noHelp": "No help topic selected",
724
725
  "changeLog": "Change Log"
@@ -914,6 +915,8 @@
914
915
  }
915
916
  },
916
917
  "typedInput": {
918
+ "selected": "__count__ selected",
919
+ "selected_plural": "__count__ selected",
917
920
  "type": {
918
921
  "str": "string",
919
922
  "num": "number",
@@ -719,6 +719,7 @@
719
719
  "nodeHelp": "Aide sur les noeuds",
720
720
  "showHelp": "Afficher l'aide",
721
721
  "showInOutline": "Afficher dans les grandes lignes",
722
+ "hideTopics": "Masquer les sujets",
722
723
  "showTopics": "Afficher les sujets",
723
724
  "noHelp": "Aucune rubrique d'aide sélectionnée",
724
725
  "changeLog": "Journal des modifications"
@@ -914,6 +915,8 @@
914
915
  }
915
916
  },
916
917
  "typedInput": {
918
+ "selected": "__count__ sélectionnée",
919
+ "selected_plural": "__count__ sélectionnées",
917
920
  "type": {
918
921
  "str": "chaîne de caractères",
919
922
  "num": "nombre",
@@ -719,6 +719,7 @@
719
719
  "nodeHelp": "ノードヘルプ",
720
720
  "showHelp": "ヘルプを表示",
721
721
  "showInOutline": "アウトラインに表示",
722
+ "hideTopics": "トピックを非表示",
722
723
  "showTopics": "トピックを表示",
723
724
  "noHelp": "ヘルプのトピックが未選択",
724
725
  "changeLog": "更新履歴"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-red/editor-client",
3
- "version": "3.1.9",
3
+ "version": "3.1.10",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
package/public/red/about CHANGED
@@ -1,3 +1,26 @@
1
+ #### 3.1.10: Maintenance Release
2
+
3
+ - Include rewired nodes when calculating Modified Flows stop list (#4754) @knolleary
4
+ - Fix clone of group env var properties (#4753) @knolleary
5
+ - Fix losing links when importing a copy of links into a subflow (#4750) @GogoVega
6
+ - Ensure all CSS variables are in the output file (#3743) @bonanitech
7
+ - Fix the Sidebar Config is not refreshed after a deploy (#4734) @GogoVega
8
+ - Fix checkboxes are not updated when calling `typedInput("value", "")` (#4729) @GogoVega
9
+ - Fix panning with middle mouse button on windows 10/11 (#4716) @corentin-sodebo-voile
10
+ - Add Japanese translation for sidebar tooltip (#4727) @kazuhitoyokoi
11
+ - Translate the number of items selected in the options list (#4730) @GogoVega
12
+ - Fix a checkbox should return a Boolean value and not the string `on` (#4715) @GogoVega
13
+ - Deleting a grouped node should update the group (#4714) @GogoVega
14
+ - Change the Config Node cursor to `pointer` (#4711) @GogoVega
15
+ - Add missing tooltips to Sidebar (#4713) @GogoVega
16
+ - Allow nodes to return additional history entries in onEditSave (#4710) @knolleary
17
+ - Pass full error object in Function node and copy over cause property (#4685) @knolleary
18
+ - Replacing vm.createScript in favour of vm.Script (#4534) @patlux
19
+ - Avoid login loops when autoLogin enabled but login fails (#4684) @knolleary
20
+ - Fix undo of subflow env property edits (#4667) @knolleary
21
+ - Fix three error typos in monaco.js (#4660) @JoshuaCWebDeveloper
22
+ - docs: Add closing paragraph tag (#4664) @ZJvandeWeg
23
+
1
24
  #### 3.1.9: Maintenance Release
2
25
 
3
26
  - Prevent subflow being added to itself (#4654) @knolleary
package/public/red/red.js CHANGED
@@ -6096,6 +6096,13 @@ RED.nodes = (function() {
6096
6096
  } else {
6097
6097
  delete n.g
6098
6098
  }
6099
+ // If importing into a subflow, ensure an outbound-link doesn't get added
6100
+ if (activeSubflow && /^link /.test(n.type) && n.links) {
6101
+ n.links = n.links.filter(function(id) {
6102
+ const otherNode = node_map[id] || RED.nodes.node(id);
6103
+ return (otherNode && otherNode.z === activeWorkspace);
6104
+ });
6105
+ }
6099
6106
  for (var d3 in n._def.defaults) {
6100
6107
  if (n._def.defaults.hasOwnProperty(d3)) {
6101
6108
  if (n._def.defaults[d3].type) {
@@ -6119,14 +6126,6 @@ RED.nodes = (function() {
6119
6126
  }
6120
6127
  }
6121
6128
  }
6122
- // If importing into a subflow, ensure an outbound-link doesn't
6123
- // get added
6124
- if (activeSubflow && /^link /.test(n.type) && n.links) {
6125
- n.links = n.links.filter(function(id) {
6126
- const otherNode = node_map[id] || RED.nodes.node(id);
6127
- return (otherNode && otherNode.z === activeWorkspace)
6128
- });
6129
- }
6130
6129
  }
6131
6130
  for (i=0;i<new_subflows.length;i++) {
6132
6131
  n = new_subflows[i];
@@ -14851,12 +14850,12 @@ RED.stack = (function() {
14851
14850
  }
14852
14851
  if (menu.opts.multiple) {
14853
14852
  var selected = {};
14854
- this.value().split(",").forEach(function(f) {
14855
- selected[f] = true;
14856
- })
14853
+ this.value().split(",").forEach(function(f) {
14854
+ selected[f] = true;
14855
+ });
14857
14856
  menu.find('input[type="checkbox"]').each(function() {
14858
- $(this).prop("checked",selected[$(this).data('value')])
14859
- })
14857
+ $(this).prop("checked", selected[$(this).data('value')] || false);
14858
+ });
14860
14859
  }
14861
14860
 
14862
14861
 
@@ -14947,7 +14946,7 @@ RED.stack = (function() {
14947
14946
  this.input.trigger('change',[this.propertyType,this.value()]);
14948
14947
  }
14949
14948
  } else {
14950
- this.optionSelectLabel.text(o.length+" selected");
14949
+ this.optionSelectLabel.text(RED._("typedInput.selected", { count: o.length }));
14951
14950
  }
14952
14951
  }
14953
14952
  },
@@ -16355,7 +16354,10 @@ RED.deploy = (function() {
16355
16354
  }
16356
16355
  });
16357
16356
  RED.nodes.eachSubflow(function (subflow) {
16358
- subflow.changed = false;
16357
+ if (subflow.changed) {
16358
+ subflow.changed = false;
16359
+ RED.events.emit("subflows:change", subflow);
16360
+ }
16359
16361
  });
16360
16362
  RED.nodes.eachWorkspace(function (ws) {
16361
16363
  if (ws.changed || ws.added) {
@@ -16371,6 +16373,7 @@ RED.deploy = (function() {
16371
16373
  // Once deployed, cannot undo back to a clean state
16372
16374
  RED.history.markAllDirty();
16373
16375
  RED.view.redraw();
16376
+ RED.sidebar.config.refresh();
16374
16377
  RED.events.emit("deploy");
16375
16378
  }).fail(function (xhr, textStatus, err) {
16376
16379
  RED.nodes.dirty(true);
@@ -21756,6 +21759,7 @@ RED.view = (function() {
21756
21759
 
21757
21760
  if (d3.event.button === 1) {
21758
21761
  // Middle Click pan
21762
+ d3.event.preventDefault();
21759
21763
  mouse_mode = RED.state.PANNING;
21760
21764
  mouse_position = [d3.event.pageX,d3.event.pageY]
21761
21765
  scroll_position = [chart.scrollLeft(),chart.scrollTop()];
@@ -31105,7 +31109,13 @@ RED.sidebar.help = (function() {
31105
31109
  toolbar = $("<div>", {class:"red-ui-sidebar-header red-ui-info-toolbar"}).appendTo(content);
31106
31110
  $('<span class="button-group"><a id="red-ui-sidebar-help-show-toc" class="red-ui-button red-ui-button-small selected" href="#"><i class="fa fa-list-ul"></i></a></span>').appendTo(toolbar)
31107
31111
  var showTOCButton = toolbar.find('#red-ui-sidebar-help-show-toc')
31108
- RED.popover.tooltip(showTOCButton,RED._("sidebar.help.showTopics"));
31112
+ RED.popover.tooltip(showTOCButton, function () {
31113
+ if ($(showTOCButton).hasClass('selected')) {
31114
+ return RED._("sidebar.help.hideTopics");
31115
+ } else {
31116
+ return RED._("sidebar.help.showTopics");
31117
+ }
31118
+ });
31109
31119
  showTOCButton.on("click",function(e) {
31110
31120
  e.preventDefault();
31111
31121
  if ($(this).hasClass('selected')) {
@@ -31949,9 +31959,11 @@ RED.sidebar.config = (function() {
31949
31959
  refreshConfigNodeList();
31950
31960
  }
31951
31961
  });
31962
+
31952
31963
  RED.popover.tooltip($('#red-ui-sidebar-config-filter-all'), RED._("sidebar.config.showAllConfigNodes"));
31953
31964
  RED.popover.tooltip($('#red-ui-sidebar-config-filter-unused'), RED._("sidebar.config.showAllUnusedConfigNodes"));
31954
-
31965
+ RED.popover.tooltip($('#red-ui-sidebar-config-collapse-all'), RED._("palette.actions.collapse-all"));
31966
+ RED.popover.tooltip($('#red-ui-sidebar-config-expand-all'), RED._("palette.actions.expand-all"));
31955
31967
  }
31956
31968
 
31957
31969
  function flashConfigNode(el) {
@@ -33912,6 +33924,8 @@ RED.editor = (function() {
33912
33924
  var value = input.val();
33913
33925
  if (defaults[property].hasOwnProperty("format") && defaults[property].format !== "" && input[0].nodeName === "DIV") {
33914
33926
  value = input.text();
33927
+ } else if (input.attr("type") === "checkbox") {
33928
+ value = input.prop("checked");
33915
33929
  }
33916
33930
  var valid = validateNodeProperty(node, defaults, property,value);
33917
33931
  if (((typeof valid) === "string") || !valid) {
@@ -34405,9 +34419,16 @@ RED.editor = (function() {
34405
34419
  }
34406
34420
 
34407
34421
  try {
34408
- var rc = editing_node._def.oneditsave.call(editing_node);
34422
+ const rc = editing_node._def.oneditsave.call(editing_node);
34409
34423
  if (rc === true) {
34410
34424
  editState.changed = true;
34425
+ } else if (typeof rc === 'object' && rc !== null ) {
34426
+ if (rc.changed === true) {
34427
+ editState.changed = true
34428
+ }
34429
+ if (Array.isArray(rc.history) && rc.history.length > 0) {
34430
+ editState.history = rc.history
34431
+ }
34411
34432
  }
34412
34433
  } catch(err) {
34413
34434
  console.warn("oneditsave",editing_node.id,editing_node.type,err.toString());
@@ -34578,6 +34599,17 @@ RED.editor = (function() {
34578
34599
  dirty: startDirty
34579
34600
  }
34580
34601
 
34602
+ if (editing_node.g) {
34603
+ const group = RED.nodes.group(editing_node.g);
34604
+ // Don't use RED.group.removeFromGroup as that emits
34605
+ // a change event on the node - but we're deleting it
34606
+ const index = group?.nodes.indexOf(editing_node) ?? -1;
34607
+ if (index > -1) {
34608
+ group.nodes.splice(index, 1);
34609
+ RED.group.markDirty(group);
34610
+ }
34611
+ }
34612
+
34581
34613
  RED.nodes.dirty(true);
34582
34614
  RED.view.redraw(true);
34583
34615
  RED.history.push(historyEvent);
@@ -34679,7 +34711,7 @@ RED.editor = (function() {
34679
34711
  }
34680
34712
  });
34681
34713
  }
34682
- var historyEvent = {
34714
+ let historyEvent = {
34683
34715
  t:'edit',
34684
34716
  node:editing_node,
34685
34717
  changes:editState.changes,
@@ -34695,6 +34727,15 @@ RED.editor = (function() {
34695
34727
  instances:subflowInstances
34696
34728
  }
34697
34729
  }
34730
+
34731
+ if (editState.history) {
34732
+ historyEvent = {
34733
+ t: 'multi',
34734
+ events: [ historyEvent, ...editState.history ],
34735
+ dirty: wasDirty
34736
+ }
34737
+ }
34738
+
34698
34739
  RED.history.push(historyEvent);
34699
34740
  }
34700
34741
  editing_node.dirty = true;
@@ -35287,8 +35328,8 @@ RED.editor = (function() {
35287
35328
  }
35288
35329
 
35289
35330
  if (!isSameObj(old_env, new_env)) {
35290
- editing_node.env = new_env;
35291
35331
  editState.changes.env = editing_node.env;
35332
+ editing_node.env = new_env;
35292
35333
  editState.changed = true;
35293
35334
  }
35294
35335
 
@@ -40473,7 +40514,7 @@ RED.editor.codeEditor.monaco = (function() {
40473
40514
  _monaco.languages.json.jsonDefaults.setDiagnosticsOptions(diagnosticOptions);
40474
40515
  if(modeConfiguration) { _monaco.languages.json.jsonDefaults.setModeConfiguration(modeConfiguration); }
40475
40516
  } catch (error) {
40476
- console.warn("monaco - Error setting up json options", err)
40517
+ console.warn("monaco - Error setting up json options", error)
40477
40518
  }
40478
40519
  }
40479
40520
 
@@ -40485,7 +40526,7 @@ RED.editor.codeEditor.monaco = (function() {
40485
40526
  if(htmlDefaults) { _monaco.languages.html.htmlDefaults.setOptions(htmlDefaults); }
40486
40527
  if(handlebarDefaults) { _monaco.languages.html.handlebarDefaults.setOptions(handlebarDefaults); }
40487
40528
  } catch (error) {
40488
- console.warn("monaco - Error setting up html options", err)
40529
+ console.warn("monaco - Error setting up html options", error)
40489
40530
  }
40490
40531
  }
40491
40532
 
@@ -40505,7 +40546,7 @@ RED.editor.codeEditor.monaco = (function() {
40505
40546
  if(lessDefaults_modeConfiguration) { _monaco.languages.css.cssDefaults.setDiagnosticsOptions(lessDefaults_modeConfiguration); }
40506
40547
  if(scssDefaults_modeConfiguration) { _monaco.languages.css.cssDefaults.setDiagnosticsOptions(scssDefaults_modeConfiguration); }
40507
40548
  } catch (error) {
40508
- console.warn("monaco - Error setting up CSS/SCSS/LESS options", err)
40549
+ console.warn("monaco - Error setting up CSS/SCSS/LESS options", error)
40509
40550
  }
40510
40551
  }
40511
40552