mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Compare commits
9 Commits
310-tour
...
3.1.0-beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90d1bb0ae4 | ||
|
|
adfc5b3e98 | ||
|
|
f3d7016ab2 | ||
|
|
ae776547ce | ||
|
|
da6885be62 | ||
|
|
c0fa4a077f | ||
|
|
19139a4dce | ||
|
|
7d1c3133b3 | ||
|
|
da9c0af854 |
@@ -23,7 +23,9 @@
|
|||||||
"position": "Position",
|
"position": "Position",
|
||||||
"enable": "Enable",
|
"enable": "Enable",
|
||||||
"disable": "Disable",
|
"disable": "Disable",
|
||||||
"upload": "Upload"
|
"upload": "Upload",
|
||||||
|
"lock": "Lock",
|
||||||
|
"unlock": "Unlock"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"string": "string",
|
"string": "string",
|
||||||
|
|||||||
@@ -23,7 +23,9 @@
|
|||||||
"position": "配置",
|
"position": "配置",
|
||||||
"enable": "有効",
|
"enable": "有効",
|
||||||
"disable": "無効",
|
"disable": "無効",
|
||||||
"upload": "アップロード"
|
"upload": "アップロード",
|
||||||
|
"lock": "固定",
|
||||||
|
"unlock": "固定を解除"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"string": "文字列",
|
"string": "文字列",
|
||||||
@@ -73,6 +75,8 @@
|
|||||||
"selectNodes": "ノードをクリックして選択",
|
"selectNodes": "ノードをクリックして選択",
|
||||||
"enableFlow": "フローを有効化",
|
"enableFlow": "フローを有効化",
|
||||||
"disableFlow": "フローを無効化",
|
"disableFlow": "フローを無効化",
|
||||||
|
"lockFlow": "フローを固定",
|
||||||
|
"unlockFlow": "フローの固定を解除",
|
||||||
"moveToStart": "フローを先頭へ移動",
|
"moveToStart": "フローを先頭へ移動",
|
||||||
"moveToEnd": "フローを最後へ移動"
|
"moveToEnd": "フローを最後へ移動"
|
||||||
},
|
},
|
||||||
@@ -107,6 +111,7 @@
|
|||||||
"displayStatus": "ノードのステータスを表示",
|
"displayStatus": "ノードのステータスを表示",
|
||||||
"displayConfig": "設定ノード",
|
"displayConfig": "設定ノード",
|
||||||
"import": "読み込み",
|
"import": "読み込み",
|
||||||
|
"importExample": "フロー例を読み込み",
|
||||||
"export": "書き出し",
|
"export": "書き出し",
|
||||||
"search": "ノードを検索",
|
"search": "ノードを検索",
|
||||||
"searchInput": "ノードを検索",
|
"searchInput": "ノードを検索",
|
||||||
@@ -503,6 +508,7 @@
|
|||||||
"addRemoveNode": "ノードの選択、選択解除",
|
"addRemoveNode": "ノードの選択、選択解除",
|
||||||
"editSelected": "選択したノードを編集",
|
"editSelected": "選択したノードを編集",
|
||||||
"deleteSelected": "選択したノードや接続を削除",
|
"deleteSelected": "選択したノードや接続を削除",
|
||||||
|
"deleteReconnect": "削除と再接続",
|
||||||
"importNode": "フローの読み込み",
|
"importNode": "フローの読み込み",
|
||||||
"exportNode": "フローの書き出し",
|
"exportNode": "フローの書き出し",
|
||||||
"nudgeNode": "選択したノードを移動(移動量小)",
|
"nudgeNode": "選択したノードを移動(移動量小)",
|
||||||
@@ -1218,6 +1224,11 @@
|
|||||||
"junction": "分岐点",
|
"junction": "分岐点",
|
||||||
"linkNodes": "Linkノード"
|
"linkNodes": "Linkノード"
|
||||||
},
|
},
|
||||||
|
"env-var": {
|
||||||
|
"environment": "環境変数",
|
||||||
|
"header": "大域環境変数",
|
||||||
|
"revert": "破棄"
|
||||||
|
},
|
||||||
"action-list": {
|
"action-list": {
|
||||||
"toggle-show-tips": "ヒント表示切替",
|
"toggle-show-tips": "ヒント表示切替",
|
||||||
"show-about": "Node-REDの説明を表示",
|
"show-about": "Node-REDの説明を表示",
|
||||||
@@ -1366,10 +1377,5 @@
|
|||||||
"copy-item-edit-url": "要素の編集URLをコピー",
|
"copy-item-edit-url": "要素の編集URLをコピー",
|
||||||
"move-flow-to-start": "フローを先頭に移動",
|
"move-flow-to-start": "フローを先頭に移動",
|
||||||
"move-flow-to-end": "フローを末尾に移動"
|
"move-flow-to-end": "フローを末尾に移動"
|
||||||
},
|
|
||||||
"env-var": {
|
|
||||||
"environment": "環境変数",
|
|
||||||
"header": "大域環境変数",
|
|
||||||
"revert": "破棄"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -609,11 +609,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",
|
||||||
@@ -1385,19 +1402,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) {
|
||||||
@@ -1735,6 +1768,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) {
|
||||||
@@ -2094,11 +2128,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;
|
||||||
@@ -2144,6 +2192,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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3513,11 +3567,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;
|
||||||
@@ -3526,7 +3594,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++) {
|
||||||
@@ -3537,7 +3604,15 @@ 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();
|
||||||
|
|||||||
@@ -5,17 +5,17 @@ export default {
|
|||||||
titleIcon: "fa fa-map-o",
|
titleIcon: "fa fa-map-o",
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Welcome to Node-RED 3.1 Beta 1!",
|
"en-US": "Welcome to Node-RED 3.1 Beta 1!",
|
||||||
// "ja": "Node-RED 3.1へようこそ!"
|
"ja": "Node-RED 3.1 ベータ1へようこそ!"
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
"en-US": "<p>This is the first beta release for 3.1.0 and we have a few new features to tell you about.</p>",
|
"en-US": "<p>This is the first beta release for 3.1.0 and we have a few new features to tell you about.</p>",
|
||||||
// "ja": ""
|
"ja": "<p>これは3.1.0の最初のベータリリースです。いくつかの新機能について説明します。</p>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Improved Context Menu",
|
"en-US": "Improved Context Menu",
|
||||||
// "ja": ""
|
"ja": "コンテキストメニューの改善"
|
||||||
},
|
},
|
||||||
image: 'images/context-menu.png',
|
image: 'images/context-menu.png',
|
||||||
description: {
|
description: {
|
||||||
@@ -25,26 +25,29 @@ export default {
|
|||||||
of other useful tools are now just a click away.</p>
|
of other useful tools are now just a click away.</p>
|
||||||
<p>The flow tab bar also has its own context menu to make working
|
<p>The flow tab bar also has its own context menu to make working
|
||||||
with your flows much easier.</p>`,
|
with your flows much easier.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>より多くの組み込み動作を利用できるように、エディタのコンテキストメニューが拡張されました。</p>
|
||||||
|
<p>ノードの追加、グループの操作、その他の便利なツールをクリックするだけで実行できるようになりました。</p>
|
||||||
|
<p>フローのタブバーには、フローの操作をより簡単にする独自のコンテキストメニューもあります。</p>`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Hiding Flows",
|
"en-US": "Hiding Flows",
|
||||||
// "ja": ""
|
"ja": "フローを非表示"
|
||||||
},
|
},
|
||||||
image: 'images/hiding-flows.png',
|
image: 'images/hiding-flows.png',
|
||||||
description: {
|
description: {
|
||||||
"en-US": `<p>Hiding flows is now done through the flow context menu.</p>
|
"en-US": `<p>Hiding flows is now done through the flow context menu.</p>
|
||||||
<p>The 'hide' button in previous releases has been removed from the tabs
|
<p>The 'hide' button in previous releases has been removed from the tabs
|
||||||
as they were being clicked accidentally too often.</p>`,
|
as they were being clicked accidentally too often.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>フローを非表示にする機能は、フローのコンテキストメニューから実行するようになりました。</p>
|
||||||
|
<p>これまでのリリースでタブに存在していた「非表示」ボタンは、よく誤ってクリックされていたため、削除されました。</p>`
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Locking Flows",
|
"en-US": "Locking Flows",
|
||||||
// "ja": ""
|
"ja": "フローを固定"
|
||||||
},
|
},
|
||||||
image: 'images/locking-flows.png',
|
image: 'images/locking-flows.png',
|
||||||
description: {
|
description: {
|
||||||
@@ -52,44 +55,49 @@ export default {
|
|||||||
<p>When locked you cannot modify the nodes in any way.</p>
|
<p>When locked you cannot modify the nodes in any way.</p>
|
||||||
<p>The flow context menu provides the options to lock and unlock flows,
|
<p>The flow context menu provides the options to lock and unlock flows,
|
||||||
as well as in the Info sidebar explorer.</p>`,
|
as well as in the Info sidebar explorer.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>誤ってフローに変更が加えられてしまうのを防ぐために、フローを固定できるようになりました。</p>
|
||||||
|
<p>固定されている時は、ノードを修正することはできません。</p>
|
||||||
|
<p>フローのコンテキストメニューと、情報サイドバーのエクスプローラには、フローの固定や解除をするためのオプションが用意されています。</p>`
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Adding Images to node/flow descriptions",
|
"en-US": "Adding Images to node/flow descriptions",
|
||||||
// "ja": ""
|
"ja": "ノードやフローの説明へ画像を追加"
|
||||||
},
|
},
|
||||||
// image: 'images/debug-path-tooltip.png',
|
// image: 'images/debug-path-tooltip.png',
|
||||||
description: {
|
description: {
|
||||||
"en-US": `<p>You can now add images to a node's or flows's description.</p>
|
"en-US": `<p>You can now add images to a node's or flows's description.</p>
|
||||||
<p>Simply drag the image into the text editor and it will get added inline.</p>
|
<p>Simply drag the image into the text editor and it will get added inline.</p>
|
||||||
<p>When the description is shown in the Info sidebar, the image will be displayed.`,
|
<p>When the description is shown in the Info sidebar, the image will be displayed.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>ノードまたはフローの説明に、画像を追加できるようになりました。</p>
|
||||||
|
<p>画像をテキストエディタにドラッグするだけで、行内に埋め込まれます。</p>
|
||||||
|
<p>情報サイドバーの説明を開くと、その画像が表示されます。</p>`
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Adding Mermaid Diagrams",
|
"en-US": "Adding Mermaid Diagrams",
|
||||||
// "ja": ""
|
"ja": "Mermaidの図を追加"
|
||||||
},
|
},
|
||||||
image: 'images/mermaid.png',
|
image: 'images/mermaid.png',
|
||||||
description: {
|
description: {
|
||||||
"en-US": `<p>You can also add <a href="https://github.com/mermaid-js/mermaid">Mermaid</a> diagrams directly into your node or flow descriptions.</p>
|
"en-US": `<p>You can also add <a href="https://github.com/mermaid-js/mermaid">Mermaid</a> diagrams directly into your node or flow descriptions.</p>
|
||||||
<p>This gives you much richer options for documenting your flows.</p>`,
|
<p>This gives you much richer options for documenting your flows.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>ノードやフローの説明に、<a href="https://github.com/mermaid-js/mermaid">Mermaid</a>の図を直接追加することもできます。</p>
|
||||||
|
<p>これによって、フローを説明する文書作成の選択肢がより多くなります。</p>`
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
"en-US": "Managing Global Environment Variables",
|
"en-US": "Managing Global Environment Variables",
|
||||||
// "ja": ""
|
"ja": "グローバル環境変数の管理"
|
||||||
},
|
},
|
||||||
image: 'images/global-env-vars.png',
|
image: 'images/global-env-vars.png',
|
||||||
description: {
|
description: {
|
||||||
"en-US": `<p>You can set environment variables that apply to all nodes and flows in the new
|
"en-US": `<p>You can set environment variables that apply to all nodes and flows in the new
|
||||||
'Global Environment Variables' section of User Settings.</p>`,
|
'Global Environment Variables' section of User Settings.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>ユーザ設定に新しく追加された「大域環境変数」のセクションで、全てのノードとフローに適用される環境変数を登録できます。</p>`
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -101,7 +109,7 @@ export default {
|
|||||||
description: {
|
description: {
|
||||||
"en-US": `<p>The core nodes have received lots of minor fixes, documentation updates and
|
"en-US": `<p>The core nodes have received lots of minor fixes, documentation updates and
|
||||||
small enhancements. Check the full changelog in the Help sidebar for a full list.</p>`,
|
small enhancements. Check the full changelog in the Help sidebar for a full list.</p>`,
|
||||||
// "ja": ``
|
"ja": `<p>コアノードにマイナーな修正、ドキュメント更新、小規模な拡張が数多く追加されています。全ての一覧は、ヘルプサイドバーの全ての更新履歴を確認してください。</p>`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user