Skip to content

[Back to Parameters]

Multi

A parameter that is the combination of several other parameters. Note that the "label" of a multi parameter will be ignored, so can be omitted.

Only string value type is currently supported; the 'delimiter' setting specifies the separator to use between component parameter values.

Specification

key type required default value description
parameterSets array\<dictionary> conditional n/a A list of dictionaries representing parameter sets.
loadSet object no n/a Logic to control which set is currently loaded. Default is not to load a set.
predefinedSet enum: 'readerOptions', 'writerOptions', 'xmlFlattenOptions', 'authenticationOptions' conditional n/a If this is specified, parameterSets is optional, and 'predefinedSetSettings' will be required, except in the case of 'xmlFlattenOptions'.
predefinedSetSettings dictionary conditional n/a Settings when predefinedSet is specified.
delimiter char no ; The delimiter to use when the value is accessed as a string. This value must be a single ASCII character.

parameterSets

key type required description
set string conditional A unique identifier for a set. Required only if this parameter is hooked up to another parameter in the controllers section using the SetMulti control. If this is not specified, there should only be a single element in the parameterSets list.
form object yes A form representing this parameter set.
defaultParameter string no The name of one of the elements of in the 'form'. If this multi parameter is being used within a table, for instance, the default parameter will be shown in the cell, along with a "..." button for accessing all the parameters in the set. If no default is specified only the "..." will be shown, unless the set only contains one parameter, in which case that will be shown (without a "...").

predefinedSetSettings

'readerOptions' or 'writerOptions'

key type required default value description
connectionInfoOnly boolean no
disableCoordSys boolean no
supportPublishedParams boolean no
hideGroupBox boolean no
hideSpatialSettings boolean no
multipleDatasets boolean no
supportAttributes boolean no
useSessionDefaults boolean no
supportFormats no
parametersToHide no

'authenticationOptions'

key type required description
groupTitle string no The title to use on the group box that will contain the authentication settings.

Dynamic Properties

loadSet

Type: string

  • string: if the value of this property matches the name of a parameter set for the "multi" parameter, then that parameter set will be loaded.
  • non-string or undefined: the "multi" parameter will have no set loaded.

This property only applies to "multi" parameters. For all other parameter types, this property will be ignored.

loadSet Example:

"loadSet": {
  "if": [
    {
      "$equals": {
        "parameter": "SET_PICKER",
        "value": "SET_A"
      },
      "then": "SET_A"
    },
    {
      "$equals": {
        "parameter": "SET_PICKER",
        "value": "SET_B"
      },
      "then": "SET_B"
    }
  ]
}

Example

{
  "name": "somemulti",
  "type": "multi",
  "valueType": "string",
  "prompt": "Data Series",
  "parameterSets": [
    {
      "set": "XY",
      "defaultParameter": "data",
      "form": {
        "parameters": [
          {
            "name": "xydata",
            "type": "dropdown",
            "valueType": "string",
            "required": true,
            "choiceSet": ["attributes"]
          },
          {
            "name": "xycolor",
            "type": "color",
            "valueType": "string",
            "required": true,
            "defaultValue": "0, 255, 255"
          }
        ]
      }
    },
    {
      "set": "pie",
      "form": {
        "parameters": [
          {
            "name": "piedata",
            "type": "dropdown",
            "valueType": "string",
            "required": true,
            "choiceSet": ["attributes"]
          },
          {
            "name": "piecolor",
            "type": "color",
            "valueType": "string",
            "required": true,
            "defaultValue": "0, 255, 255"
          }
        ]
      }
    }
  ],
  "loadSet": {
    "if": [
      {
        "$equals": { "parameter": "somemulti_controller", "value": "XY" },
        "then": "XY"
      },
      {
        "$equals": { "parameter": "somemulti_controller", "value": "pie" },
        "then": "pie"
      }
    ]
  }
}