mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Merge pull request #4500 from kazuhitoyokoi/master-disablemenuitems
Add handling to disable items on context menu
This commit is contained in:
		| @@ -30,8 +30,26 @@ RED.contextMenu = (function () { | ||||
|             const isGroup = hasSelection && selection.nodes.length === 1 && selection.nodes[0].type === 'group' | ||||
|             const canEdit = !RED.workspaces.isLocked() | ||||
|             const canRemoveFromGroup = hasSelection && !!selection.nodes[0].g | ||||
|             const isAllGroups = hasSelection && selection.nodes.filter(n => n.type !== 'group').length === 0 | ||||
|             const hasGroup = hasSelection && selection.nodes.filter(n => n.type === 'group' ).length > 0 | ||||
|             let hasGroup, isAllGroups = true, hasDisabledNode, hasEnabledNode, hasLabeledNode, hasUnlabeledNode; | ||||
|             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() | ||||
|  | ||||
|             let addX = options.x - offset.left + $("#red-ui-workspace-chart").scrollLeft() | ||||
| @@ -113,11 +131,11 @@ RED.contextMenu = (function () { | ||||
|                     ) | ||||
|                 } | ||||
|                 nodeOptions.push( | ||||
|                     { onselect: 'core:enable-selected-nodes', label: RED._('menu.label.enableSelectedNodes') }, | ||||
|                     { onselect: 'core:disable-selected-nodes', label: RED._('menu.label.disableSelectedNodes') }, | ||||
|                     { onselect: 'core:enable-selected-nodes', label: RED._('menu.label.enableSelectedNodes'), disabled: !hasDisabledNode }, | ||||
|                     { onselect: 'core:disable-selected-nodes', label: RED._('menu.label.disableSelectedNodes'), disabled: !hasEnabledNode }, | ||||
|                     null, | ||||
|                     { onselect: 'core:show-selected-node-labels', label: RED._('menu.label.showSelectedNodeLabels') }, | ||||
|                     { onselect: 'core:hide-selected-node-labels', label: RED._('menu.label.hideSelectedNodeLabels') } | ||||
|                     { onselect: 'core:show-selected-node-labels', label: RED._('menu.label.showSelectedNodeLabels'), disabled: !hasUnlabeledNode }, | ||||
|                     { onselect: 'core:hide-selected-node-labels', label: RED._('menu.label.hideSelectedNodeLabels'), disabled: !hasLabeledNode } | ||||
|                 ) | ||||
|                 menuItems.push({ | ||||
|                     label: RED._('sidebar.info.node'), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user