serviceInputDefinition.inputColumns - cytoscape/cytoscape-web GitHub Wiki
The inputColumns attribute under serviceInputDefinition denotes what node and or edge columns should be sent to service app
List of columns that need to be created. For type node
and edge
only. Each element in this list is an object like this:
{
"name": string,
"description": string,
"dataType": string,
"allowMultipleSelection": boolean,
"defaultColumnName": string,
"columnName": string
}
Fields
name
The label text of the dropdown list. It will also be used as the column name in the generated data block.
description
A short description of the column. Used as a hint in the UI.
dataType
Data type of the attribute. When defined, Cytoscape Web uses it to filter the dropdown list. If omitted, the dropdown will contain all
columns. Can be one of the following: list, number, wholenumber, list_of_number, list_of_wholenumber, string, long, integer, double, boolean, list_of_string, list_of_long, list_of_integer, list_of_double, list_of_boolean
allowMultipleSelection
Defaults to false
, meaning only one column can be picked for each parameter. When set to true
, all selected columns in the dropdown
will be used to serialize the data.
defaultColumnName
(Optional) The default selection in the column name dropdown. If the column specified in field doesn't exist in node or edge table, no selection will be make.
columnName
Name of the column that should be automatically included. No UI control will be generated for this column. Treated like a preselected value for name attribute. If this column doesn't exist in the network, when a use run the app, Cytoscape Web will give an error tell this column is missing from the network. When columnName is defined, name, description, dataType and defaultColumnName will be ignored by Cytoscape Web.
Based on the declaration in the inputColumns
attribute, the node or edge table will be serialized to a JSON object in this format and
used as the value of the data
attribute in the request:
{
"columns": [{ "id": attribute_name, "type": attribute_datatype }],
"rows": { "node_id": node_record }
}
Example columns and node_record
{
"columns": [{"id": "col1", "type": "integer" }],
"rows": {
"1": { "col1": 10}
}
}