{
    "current_parameters": {
      {% if component.description %}"component_description": "{{ component.description }}",{% endif %}
      "label": "",
{% for property in component.properties %}
    {% if property.data_type|lower == "bool" or property.data_type|lower == "boolean" %}
      "elyra_{{ property.ref }}": {{ property.value|lower }}
    {% elif property.data_type|lower == "int" or property.data_type|lower == "integer" or property.data_type|lower == "number" %}
      "elyra_{{ property.ref }}": {{ property.value }}
    {% elif property.type|lower == "dict" %}
      "elyra_{{ property.ref }}": '{'{{ property.value }}'}'
    {% else %}
      "elyra_{{ property.ref }}": "{{ property.value }}"
    {% endif %},
{% endfor %}
      "component_source": "{{ component.location }}"
    },
    "parameters": [
      {% if component.description %}{
        "id": "component_description"
      },{% endif %}
      {
        "id": "label"
      },
{% for property in component.properties %}
      {
        "id": "elyra_{{ property.ref }}"
      },
{% endfor %}
      {
        "id": "component_source"
      }
    ],
    "uihints": {
      "id": "nodeProperties",
      "parameter_info": [
        {% if component.description %}{
          "parameter_ref": "component_description",
          "control": "readonly",
          "label": {
            "default": "Component Description"
          },
          "description": {
            "default": " ",
            "placement": "on_panel"
          },
          "data": {
            "required": false
          }
        },{% endif %}
        {
          "parameter_ref": "label",
          "control": "custom",
          "custom_control_id": "StringControl",
          "label": {
            "default": "Label"
          },
          "description": {
            "default": "A custom label for the node.",
            "placement": "on_panel"
          },
          "data": {}
        },
{% for property in component.properties %}
        {
          "parameter_ref": "elyra_{{ property.ref }}",
          "control": "{{ property.control }}",
          "custom_control_id": "{{ property.control_id }}",
          "label": {
            "default": "{{ property.name }}"
          },
          "description": {
            "default": "{{ property.description }}",
            "placement": "on_panel"
          },
          "data": {
            "format": "{{ property.data_type }}",
            "required": {{ property.required|lower }}
            {% if property.control_id == "EnumControl" %}
            ,
            "items": [
              {% for item in property.items %}
              "{{ item }}"
              {% if loop.index != property.items|length %}
              ,
              {% endif %}
              {% endfor %}
              ]
            {% endif %}
          }
        },
{% endfor %}
        {
          "parameter_ref": "component_source",
          "control": "readonly",
          "label": {
            "default": "Component Source"
          },
          "description": {
            "default": "The path to the component specification file.",
            "placement": "on_panel"
          },
          "data": {}
        }
      ],
      "group_info": [
        {
          "id": "nodeGroupInfo",
          "type": "panels",
          "group_info": [
            {% if component.description %}{
              "id": "component_description",
              "type": "controls",
              "parameter_refs": ["component_description"]
            },{% endif %}
            {
              "id": "label",
              "type": "controls",
              "parameter_refs": ["label"]
            },
{% for property in component.properties %}
            {
              "id": "elyra_{{ property.ref }}",
              "type": "controls",
              "parameter_refs": ["elyra_{{ property.ref }}"]
            },
{% endfor %}
            {
              "id": "component_source",
              "type": "controls",
              "parameter_refs": ["component_source"]
            }
          ]
        }
      ]
    },
    "resources": {}
  }
