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

  • parameterSets (optionally required) a list of dictionaries with the following keys:
  • set a unique identifier for a set. This is 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 a form representing this parameter set. See [Form]
  • defaultParameter (optional) 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 "...")
  • loadSet (optional, dynamic) logic to control which set is currently loaded. Default is not to load a set
  • predefinedSet (optionally required) one of 'readerOptions', 'writerOptions', 'xmlFlattenOptions', or 'authenticationOptions'. If this is specified, parameterSets is optional, and 'predefinedSetSettings' will be required, except in the case of 'xmlFlattenOptions'
  • predefinedSetSettings (optionally required)
  • for 'readerOptions' or 'writerOptions':
    • connectionInfoOnly (optional)
    • disableCoordSys (optional)
    • supportPublishedParams (optional)
    • hideGroupBox (optional)
    • hideSpatialSettings (optional)
    • multipleDatasets (optional)
    • supportAttributes (optional)
    • useSessionDefaults (optional)
    • supportedFormats (optional)
    • parametersToHide (optional)
  • for 'authenticationOptions':
    • groupTitle (optional) the title to use on the group box that will contain the authentication settings
  • delimiter (optional) the delimiter to use when the value is accessed as a string. This value must be a single ASCII character. The default is ;

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"
      }
    ]
  }
}

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"
    }
  ]
}