null[][]{}{"selected_uuids": ["{1dff5bbf-0cff-4891-b4af-0b4158f0ea60}"], "conf_view": "TabBuilder", "override": true}[][]{}PortErik der Hagopian <erik.hagopian@sysess.org>(C) 2018 System Engineering Software Society0.1{"type": "group", "columns": {"description": "In the selected rows any NaN values will lead to those rows being removed.", "label": "Columns where NaN values should be removed:", "mode": "selected", "type": "list", "list": ["0", "1", "2", "3"], "value": [0], "value_names": ["0"], "editor": {"edit": true, "filter": true, "mode": true, "selection": "multi", "type": "listview"}}}Json ParametersErik der Hagopian <erik.hagopian@sysess.org>(C) 2018 System Engineering Software Society0.1{"type": "group", "code": {"description": "Python code that modifies the parameter structure.", "label": "Parameters:", "order": 0, "type": "string", "value": "parameters.set_list('columns', # Same name as the corresponding parameter in Select Rows in Table.\n label='Columns where NaN values should be removed:',\n description=(\n 'In the selected rows any NaN values will lead to those rows being removed.'),\n value_names=[],\n plist=arg.column_names(),\n editor=synode.editors.multilist_editor(edit=True))", "editor": {"language": "python", "type": "code"}}}InputReduction of rows in Table according to specified filter.Alexander Busck <alexander.busck@sysess.org>(C) 2014 System Engineering Software Society1.1{"type": "group", "columns": {"description": "Select columns for comparison relation", "label": "Columns to filter", "mode": "selected", "order": 0, "type": "list", "list": ["0", "1", "2", "3"], "value": [], "value_names": [], "editor": {"edit": true, "filter": true, "mode": true, "selection": "multi", "type": "listview"}}, "exist": {"description": "Constraint must be satisfied in: Any selected column or All selected columns.", "label": "Constraint must be satisfied in", "order": 1, "type": "string", "value": "all", "editor": {"display": null, "edit": false, "filter": false, "include_empty": false, "type": "combobox", "options": ["all", "any"]}}, "relation": {"description": "Select comparison operator for relation", "label": "Relation", "mode": "selected", "order": 2, "type": "list", "list": ["equal", "less than", "less than or equal", "greater than", "greater than or equal", "not equal"], "value": [5], "value_names": ["not equal"], "editor": {"display": null, "edit": false, "filter": false, "include_empty": false, "type": "combobox", "options": []}}, "constraint": {"description": "Specify constraint value for comparison relation", "editor": null, "label": "Filter constraint", "order": 3, "type": "string", "value": "NaN"}, "use_custom_predicate": {"description": "Select to use custom filter", "editor": null, "label": "Use custom filter", "order": 4, "type": "boolean", "value": false}, "predicate": {"description": "Write a custom filter as a Python lambda function", "editor": null, "label": "Custom filter", "order": 5, "type": "string", "value": "lambda x: x == x"}, "limit": {"description": "Rows to display", "label": "Preview rows", "order": 6, "type": "integer", "value": 100, "editor": {"max": 10000, "min": 0, "step": 1, "type": "spinbox"}}}InputConfiguration portMagnus Sandén <magnus.sanden@combine.se>(c) 2016 System Engineering Software Society1.0{"type": "group", "json_table": {"description": "Configuration window", "editor": null, "label": "GUI", "order": 0, "type": "string", "value": "[[\"0\", \"f\", [NaN, 8.0, 6.0, NaN, 3.0, 9.0, NaN, 1.0, NaN]], [\"1\", \"f\", [0.0, NaN, 1.0, NaN, 1.0, NaN, NaN, 5.0, 3.0]], [\"2\", \"f\", [5.0, 4.0, NaN, 7.0, 3.0, 0.0, 6.0, 2.0, NaN]], [\"3\", \"f\", [9.0, NaN, 5.0, NaN, NaN, NaN, 1.0, 0.0, 7.0]]]"}}This flow demonstrates how to use Manually Create JSON Parameters and Configure JSON Parameters to expose a simplified configuration gui as configuration gui for a subflow.
Configuring the subflow *Remove rows with NaNs* creates a configuration which is then passed into a *Select Rows in Table* node. The end result is that *Select Rows in Table* can be selectively configured from outside of the subflow without exposing the full configuration gui for that node.
This is useful for example when you create a library subflow and want the configuration gui to be very streamlined, but don't want to write your own nodes just to get the configuration guis that you want.
- Node example: *org.sysess.sympathy.create.createparameters*
- Node example: *org.sysess.sympathy.create.configureparameters*