diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index 1ab148217..b921774df 100755 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -674,7 +674,8 @@ "invalidNodes": "Invalid nodes", "uknownNodes": "Unknown nodes", "unusedSubflows": "Unused subflows", - "hiddenFlows": "Hidden flows" + "hiddenFlows": "Hidden flows", + "modifiedNodes": "Modified nodes and flows" } }, "help": { diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/search.js b/packages/node_modules/@node-red/editor-client/src/js/ui/search.js index 52eee6c67..82566cf69 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/search.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/search.js @@ -119,6 +119,7 @@ RED.search = (function() { val = extractFlag(val,"config",flags); val = extractFlag(val,"subflow",flags); val = extractFlag(val,"hidden",flags); + val = extractFlag(val,"modified",flags); // uses: val = extractValue(val,"uses",flags); @@ -164,6 +165,11 @@ RED.search = (function() { continue; } } + if (flags.hasOwnProperty("modified")) { + if (!node.node.changed && !node.node.moved) { + continue; + } + } if (flags.hasOwnProperty("hidden")) { // Only tabs can be hidden if (node.node.type !== 'tab') { diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/tab-info-outliner.js b/packages/node_modules/@node-red/editor-client/src/js/ui/tab-info-outliner.js index fb393156e..279a89ae4 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/tab-info-outliner.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/tab-info-outliner.js @@ -271,6 +271,7 @@ RED.sidebar.info.outliner = (function() { options: [ {label:RED._("sidebar.info.search.configNodes"), value:"is:config"}, {label:RED._("sidebar.info.search.unusedConfigNodes"), value:"is:config is:unused"}, + {label:RED._("sidebar.info.search.modifiedNodes"), value:"is:modified"}, {label:RED._("sidebar.info.search.invalidNodes"), value: "is:invalid"}, {label:RED._("sidebar.info.search.uknownNodes"), value: "type:unknown"}, {label:RED._("sidebar.info.search.unusedSubflows"), value:"is:subflow is:unused"}, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js b/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js index d3fc939a6..c899403eb 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/workspaces.js @@ -428,6 +428,9 @@ RED.workspaces = (function() { } } }) + RED.actions.add("core:list-modified-nodes",function() { + RED.actions.invoke("core:search","is:modified "); + }) RED.actions.add("core:list-hidden-flows",function() { RED.actions.invoke("core:search","is:hidden "); })