Advanced Customization > Using Reusable Components > Additional Configuration Information > Using the MultiValueSelector Value Type
  
Using the MultiValueSelector Value Type
In ThingWorx Navigate 8.5, you can configure reusable components using the JSON configuration file. Many components use the MultiValueSelector value type for some JSON fields in the configuration file. MultiValueSelector is used for getting a partial list of data from a list of available options. The data can be items, attributes, actions, or other types of data. Some components also use the MultiValueSetsSelector value type, which uses MultiValueSelector multiple times to get multiple sets of data.
Configuration Fields
MultiValueSelector includes four configuration fields that are used to uniquely identify a specific piece of data: thingName and instanceName to identify the backend system instance, and objectType and id to identify the data. It also includes a few more optional fields.
The following are required JSON fields in MultiValueSelector:
thingName—The name of the adapter Thing that fetches the data from the backend system.
instanceName—The name of the backend system from which the data is fetched.
objectType—The object type for which the data is fetched.
id—The ID of the data as received from the backend system.
The following are optional JSON fields in MultiValueSelector:
ordinal—Determines the order in which the data appears in the user interface. See Using the Ordinal Configuration Field for more information.
additionalData—Allows specific additional JSON fields for further configuration. The JSON fields that are allowed depend on the specific reusable component. See the sample configuration for a reusable component for to see which additional fields it allows.
inTailoring—Whether the data can be tailored in the tailoring page. Input can be either true or false.
Sample Configuration
The following is a sample configuration which shows the structure of MultiValueSelector. It also demonstrates how the ordinal field can be used to order data which comes from different backend systems.
{

(optional "inTailoring": true)
"version": "1.0.0",
"selectedValues": {
"data": [{
"adapter": {
"thingName": "WindchillAdapterThing",
"instanceName": "JapanWindchill"
},
"itemListsData": [{
"objectType": "WT.PART.WTPart",
"items": [{
"id": "id/name of property",
"additionalData": {JSON representation of additional data, according to another definition in properties},
"ordinal": 1
},
{
"id": "id/name of property",
"additionalData": {JSON representation of additional data, according to another definition in properties},
"ordinal": 2
}]
}
},
{
"adapter": {
"thingName": "WindchillAdapterThing",
"instanceName": "UKWindchill"
},
"itemListsData": [{
"objectType": "WT.PART.WTPart",
"items": [{
"id": "id/name of property",
"additionalData": {JSON representation of additional data, according to another definition in properties},
"ordinal": 0
},
{
"id": "id/name of property",
"additionalData": {JSON representation of additional data, according to another definition in properties},
"ordinal": 3
}]
}]
}]
}
}