Merge remote-tracking branch 'nodered/master' into remove_unused_code

This commit is contained in:
Gerrit Riessen 2024-01-11 12:04:02 +01:00
commit 962fc5990e
7 changed files with 47 additions and 10 deletions

View File

@ -1222,6 +1222,7 @@
"invalid-expr": "Invalid JSONata expression: __error__", "invalid-expr": "Invalid JSONata expression: __error__",
"invalid-prop": "Invalid property expression", "invalid-prop": "Invalid property expression",
"invalid-num": "Invalid number", "invalid-num": "Invalid number",
"invalid-num-prop": "__prop__: invalid number",
"invalid-regexp": "Invalid input pattern", "invalid-regexp": "Invalid input pattern",
"invalid-regex-prop": "__prop__: invalid input pattern", "invalid-regex-prop": "__prop__: invalid input pattern",
"missing-required-prop": "__prop__: property value missing", "missing-required-prop": "__prop__: property value missing",

View File

@ -1217,6 +1217,7 @@
"invalid-expr": "Expression JSONata invalide : __error__", "invalid-expr": "Expression JSONata invalide : __error__",
"invalid-prop": "Expression de propriété invalide", "invalid-prop": "Expression de propriété invalide",
"invalid-num": "Numéro invalide", "invalid-num": "Numéro invalide",
"invalid-num-prop": "__prop__: numéro invalide",
"invalid-regexp": "Modèle d'entrée non valide", "invalid-regexp": "Modèle d'entrée non valide",
"invalid-regex-prop": "__prop__: modèle d'entrée non valide", "invalid-regex-prop": "__prop__: modèle d'entrée non valide",
"missing-required-prop": "__prop__: valeur de la propriété manquante", "missing-required-prop": "__prop__: valeur de la propriété manquante",

View File

@ -129,6 +129,11 @@
"editPalette": "パレットの管理", "editPalette": "パレットの管理",
"other": "その他", "other": "その他",
"showTips": "ヒントを表示", "showTips": "ヒントを表示",
"showNodeHelp": "ノードのヘルプを表示",
"enableSelectedNodes": "選択したノードを有効化",
"disableSelectedNodes": "選択したノードを無効化",
"showSelectedNodeLabels": "選択したノードのラベル表示",
"hideSelectedNodeLabels": "選択したノードのラベル非表示",
"showWelcomeTours": "新バージョンのガイドツアーを表示", "showWelcomeTours": "新バージョンのガイドツアーを表示",
"help": "Node-REDウェブサイト", "help": "Node-REDウェブサイト",
"projects": "プロジェクト", "projects": "プロジェクト",
@ -510,7 +515,7 @@
"selectAllConnected": "接続されたノードを選択", "selectAllConnected": "接続されたノードを選択",
"addRemoveNode": "ノードの選択、選択解除", "addRemoveNode": "ノードの選択、選択解除",
"editSelected": "選択したノードを編集", "editSelected": "選択したノードを編集",
"deleteSelected": "選択したノードや接続を削除", "deleteSelected": "選択部分を削除",
"deleteReconnect": "削除と再接続", "deleteReconnect": "削除と再接続",
"importNode": "フローの読み込み", "importNode": "フローの読み込み",
"exportNode": "フローの書き出し", "exportNode": "フローの書き出し",
@ -1214,8 +1219,10 @@
"validator": { "validator": {
"errors": { "errors": {
"invalid-json": "JSONデータが不正: __error__", "invalid-json": "JSONデータが不正: __error__",
"invalid-expr": "不正なJSONata式: __error__",
"invalid-prop": "プロパティ式が不正", "invalid-prop": "プロパティ式が不正",
"invalid-num": "数値が不正", "invalid-num": "数値が不正",
"invalid-num-prop": "__prop__: 数値が不正",
"invalid-regexp": "入力パターンが不正", "invalid-regexp": "入力パターンが不正",
"invalid-regex-prop": "__prop__: 入力パターンが不正", "invalid-regex-prop": "__prop__: 入力パターンが不正",
"missing-required-prop": "__prop__: プロパティが未設定", "missing-required-prop": "__prop__: プロパティが未設定",
@ -1225,6 +1232,7 @@
} }
}, },
"contextMenu": { "contextMenu": {
"showActionList": "動作一覧を表示",
"insert": "挿入", "insert": "挿入",
"node": "ノード", "node": "ノード",
"junction": "分岐点", "junction": "分岐点",

View File

@ -1187,6 +1187,7 @@
"invalid-json": "Dados JSON inválidos: __error__", "invalid-json": "Dados JSON inválidos: __error__",
"invalid-prop": "Expressão de propriedade inválida", "invalid-prop": "Expressão de propriedade inválida",
"invalid-num": "Número inválido", "invalid-num": "Número inválido",
"invalid-num-prop": "__prop__: número inválido",
"invalid-regexp": "Padrão de entrada inválido", "invalid-regexp": "Padrão de entrada inválido",
"invalid-regex-prop": "__prop__: Padrão de entrada inválido", "invalid-regex-prop": "__prop__: Padrão de entrada inválido",
"missing-required-prop": "__prop__: valor de propriedade ausente", "missing-required-prop": "__prop__: valor de propriedade ausente",

View File

@ -1220,6 +1220,7 @@
"invalid-expr": "无效的 JSONata 表达式: __error__", "invalid-expr": "无效的 JSONata 表达式: __error__",
"invalid-prop": "无效的属性表达式", "invalid-prop": "无效的属性表达式",
"invalid-num": "无效的数字", "invalid-num": "无效的数字",
"invalid-num-prop": "__prop__: 无效的数字",
"invalid-regexp": "输入格式无效", "invalid-regexp": "输入格式无效",
"invalid-regex-prop": "__prop__: 输入格式无效", "invalid-regex-prop": "__prop__: 输入格式无效",
"missing-required-prop": "__prop__: 缺少属性值", "missing-required-prop": "__prop__: 缺少属性值",

View File

@ -30,8 +30,26 @@ RED.contextMenu = (function () {
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 canEdit = !RED.workspaces.isLocked() const canEdit = !RED.workspaces.isLocked()
const canRemoveFromGroup = hasSelection && !!selection.nodes[0].g const canRemoveFromGroup = hasSelection && !!selection.nodes[0].g
const isAllGroups = hasSelection && selection.nodes.filter(n => n.type !== 'group').length === 0 let hasGroup, isAllGroups = true, hasDisabledNode, hasEnabledNode, hasLabeledNode, hasUnlabeledNode;
const hasGroup = hasSelection && selection.nodes.filter(n => n.type === 'group' ).length > 0 if (hasSelection) {
selection.nodes.forEach(n => {
if (n.type === 'group') {
hasGroup = true;
} else {
isAllGroups = false;
}
if (n.d) {
hasDisabledNode = true;
} else {
hasEnabledNode = true;
}
if (n.l === undefined || n.l) {
hasLabeledNode = true;
} else {
hasUnlabeledNode = true;
}
});
}
const offset = $("#red-ui-workspace-chart").offset() const offset = $("#red-ui-workspace-chart").offset()
let addX = options.x - offset.left + $("#red-ui-workspace-chart").scrollLeft() let addX = options.x - offset.left + $("#red-ui-workspace-chart").scrollLeft()
@ -55,7 +73,7 @@ RED.contextMenu = (function () {
onselect: function () { onselect: function () {
RED.view.showQuickAddDialog({ RED.view.showQuickAddDialog({
position: [addX, addY], position: [addX, addY],
touchTrigger: true, touchTrigger: 'ontouchstart' in window,
splice: isSingleLink ? selection.links[0] : undefined, splice: isSingleLink ? selection.links[0] : undefined,
// spliceMultiple: isMultipleLinks // spliceMultiple: isMultipleLinks
}) })
@ -113,11 +131,11 @@ RED.contextMenu = (function () {
) )
} }
nodeOptions.push( nodeOptions.push(
{ onselect: 'core:enable-selected-nodes', label: RED._('menu.label.enableSelectedNodes') }, { onselect: 'core:enable-selected-nodes', label: RED._('menu.label.enableSelectedNodes'), disabled: !hasDisabledNode },
{ onselect: 'core:disable-selected-nodes', label: RED._('menu.label.disableSelectedNodes') }, { onselect: 'core:disable-selected-nodes', label: RED._('menu.label.disableSelectedNodes'), disabled: !hasEnabledNode },
null, null,
{ onselect: 'core:show-selected-node-labels', label: RED._('menu.label.showSelectedNodeLabels') }, { onselect: 'core:show-selected-node-labels', label: RED._('menu.label.showSelectedNodeLabels'), disabled: !hasUnlabeledNode },
{ onselect: 'core:hide-selected-node-labels', label: RED._('menu.label.hideSelectedNodeLabels') } { onselect: 'core:hide-selected-node-labels', label: RED._('menu.label.hideSelectedNodeLabels'), disabled: !hasLabeledNode }
) )
menuItems.push({ menuItems.push({
label: RED._('sidebar.info.node'), label: RED._('sidebar.info.node'),

View File

@ -186,8 +186,15 @@ RED.typeSearch = (function() {
var iconContainer = $('<div/>',{class:"red-ui-palette-icon-container"}).appendTo(nodeDiv); var iconContainer = $('<div/>',{class:"red-ui-palette-icon-container"}).appendTo(nodeDiv);
RED.utils.createIconElement(icon_url, iconContainer, false); RED.utils.createIconElement(icon_url, iconContainer, false);
if (/^subflow:/.test(object.type)) {
if (!/^_action_:/.test(object.type) && object.type !== "junction") { var sf = RED.nodes.subflow(object.type.substring(8));
if (sf.in.length > 0) {
$('<div/>',{class:"red-ui-search-result-node-port"}).appendTo(nodeDiv);
}
if (sf.out.length > 0) {
$('<div/>',{class:"red-ui-search-result-node-port red-ui-search-result-node-output"}).appendTo(nodeDiv);
}
} else if (!/^_action_:/.test(object.type) && object.type !== "junction") {
if (def.inputs > 0) { if (def.inputs > 0) {
$('<div/>',{class:"red-ui-search-result-node-port"}).appendTo(nodeDiv); $('<div/>',{class:"red-ui-search-result-node-port"}).appendTo(nodeDiv);
} }