组件配置结构
每个组件的配置均以 JSON 格式编写,且由多个配置属性构成。其中包含多个不同类型的配置属性,例如,有的属性可以定义字符串、整数或布尔值等简单内容,也可以定义从后端系统返回的项列表等更为复杂的内容。每种类型的属性都有一个不同的内部 JSON 结构。了解属性类型及其结构可帮助您有效地配置组件。
有些属性具有多个配置选项,当选取其中一个选项时,属性所具有的子属性可用于进一步配置此组件。请注意,这些子属性不会显示在下列结构或示例中,因为它们各不相同。有关详细信息,请参阅子属性和容器键
* 
下面的每个属性均可包括具有布尔值的 inTailoring 键。只有当您的自定义任务具有专用定制页面时,才能使用此键。
文本框 
名称:PTC.Nav.DynamicForm.Textbox
说明:文本字符串。主要用于标签。
结构:
{
"value": "content of label"
}
“任务进度”中 progressBarMessage 键的文本框示例:
{
"value":"[[PTC.Nav.TaskProgress.ProgressBarMessage]]"
}
切换 
名称:PTC.Nav.DynamicForm.Toggle
说明:其值是两个选项中的一个。选项为 truefalse
结构:
{
"value": true
}
“项标识”中 showImage 键的切换示例:
{
"value":false
}
数目 
名称:PTC.Nav.DynamicForm.Number
说明:数目。
结构:
{
"value": 500
}
“磁贴”中 maxTileCount 键的数目示例:
{
"":{
"value":"5"
}
}
混搭选择器 
名称:PTC.Nav.DynamicForm.MashupSelector
说明:混搭的名称。用于创建指向特定混搭的链接。
结构:
{
"mashupName": "name of mashup",
}
“任务”中 linkToMashup 键的混搭选择器示例:
{
"mashupName":"PTC.CRDetailedReviewAppMashup"
}
单选按钮 
名称:PTC.Nav.DynamicForm.RadioButton
说明:其值是此组件定义中所指定的值之一。
结构:
{
"selectedKey" : "option1",
}
“附件”中 selectionType 键的单选按钮示例:
{
"selectedKey":"multi"
}
在上述示例中,selectedKey 的选项有 nonesinglemulti
实体选择器 (测试版) 
名称:PTC.Nav.DynamicForm.EntitySelector
说明:ThingWorx Navigate 实体 (例如“事物形态”、“事物模板”、“事物”、“混搭”、“用户”或“组”) 的名称。
结构:
{
"entityName": "name of entity"
}
“操作栏”中 modelThingName 键的实体选择器示例:
{
"entityName":"PTC.ActionBarModel.Thing"
}
字段筛选器 
名称:PTC.Nav.DynamicForm.FieldFilter
说明:TWX 查询参数filters 对象,其中 fieldName 键具有空字符串值。
结构:
{
"filters" : 'filters' object of a TWX Query
}
“任务”中 defaultSelectedFilterValues 键的字段筛选器示例:
{
"filters":{
"filters":[
{
"fieldName":"",
"type":"EQ",
"value":"POTENTIAL"
},
{
"fieldName":"",
"type":"EQ",
"value":"ACCEPTED"
}
],
"type":"Or"
}
}
定义组 
名称:PTC.Nav.DynamicForm.DefinitionGroup
说明:可用于将附加配置属性插入到组件配置中的占位符。
结构:
{
"value": {JSON representation of additional data},
}
“任务”中 implementationConfiguration 键的定义组示例:
{
"value":{
"taskTypeFilter":{
"value":"[{\"activityName\": \"Conduct Online CRB Review\",\"workItemProcessTemplate\": \"Change Request Workflow\"}]"
}
}
}
属性选择器 
名称:PTC.Nav.DynamicForm.AttributesSelector
说明:用于从后端系统中选择一个或多个属性。有关详细信息,请参阅下面的用于选择属性的结构部分。
结构:
{
"selectedValues": {
"data": [{
"adapter": {
"thingName": "WindchillAdapterThing",
"instanceName": "JapanWindchill"
},
"itemListsData": [{
"objectType": "WT.PART.WTPart",
"items": [{
"id": "name of property",
"additionalData": {
"ContainerKey1":{additional properties},
"ContainerKey"2:{additional properties},
},
"ordinal": 2
},
{
"id": "name of property",
"additionalData": {
"ContainerKey1":{additional properties},
"ContainerKey2":{additional properties},
},
"ordinal": 1
}]
}
},
{
"adapter": {
"thingName": "WindchillAdapterThing",
"instanceName": "UKWindchill"
},
"itemListsData": [{
"objectType": "WT.PART.WTPart",
"items": [{
"id": "name of property",
"additionalData": {
"ContainerKey1":{additional properties},
"ContainerKey2":{additional properties},
},
"ordinal": 0
},
{
"id": "name of property",
"additionalData": {
"ContainerKey1":{additional properties},
"ContainerKey2":{additional properties},
},
"ordinal": 3
}]
}]
}]
},
}
“任务”中 attributes 键的属性选择器示例:
{
"selectedValues":{
"data":[
{
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
},
"itemListsData":[
{
"items":[
{
"additionalData":{
"implementationAttributesDefinition":{
"linkToMashup":{
"mashupName":"PTC.CRDetailedReviewAppMashup"
}
},
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Activity|Name",
"ordinal":0
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Subject|SubjectName",
"ordinal":1
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Activity|Deadline",
"ordinal":2
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Status#Display",
"ordinal":3
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Activity|Context|Name",
"ordinal":4
}
],
"objectType":"PTC.Workflow.WorkItem"
},
{
"items":[
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":"PTC.Nav.TaskList.TaskProgress"
}
}
},
"id":"TaskProgress",
"ordinal":5
}
],
"objectType":"PTC.Workflow.WorkItem.Custom.Implementation"
}
]
}
]
}
}
属性集选择器 
名称:PTC.Nav.DynamicForm.AttributesSetsSelector
说明:用于从后端系统中选择属性,并将其划分成不同的组。name 的值是一个字符串,即属性集的名称。data 键包含与“属性选择器”特性类型相同的结构。有关详细信息,请参阅下面的用于选择属性的结构部分。
结构:
{
"sets": [
{
"name": "Set Name 1",
"data": {Structure for Selecting Attributes}
},
{
"name": "Set Name 2",
"data": {Structure for Selecting Attributes}
}
],
}
“属性”中 attributes 键的属性集选择器示例:
{
"sets":[
{
"data":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":""
}
],
"objectType":""
}
],
"adapter":{
"instanceName":"PTC.WCAdapter",
"thingName":"windchill"
}
}
]
}
},
"name":""
}
]
}
模式选择器 
名称:PTC.Nav.DynamicForm.PatternSelector
说明:用于创建字符串或模式,其中会包含后端系统中的一个或多个属性。此特性类型的结构与用于选择属性的结构极其相似,其中包含各个属性的 numericIdentifier 键,并在末尾添加 pattern 键。在 pattern 键中,% 符号及其后的数字共同表示与其 numericIdentifier 值具有相同编号的属性。在用户界面中,此属性名称以 pattern 字符串形式显示。
结构:
{
"selectedValues": {
"data": [{
"adapter": {
"thingName": "WindchillAdapterThing",
"instanceName": "JapanWindchill"
},
"itemListsData": [{
"objectType": "WT.PART.WTPart",
"items": [{
"id": "sold",
"numericIdentifier": 0
},
{
"id": "totalStock",
"numericIdentifier": 2
}]
}
},
{
"adapter": {
"thingName": "WindchillAdapterThing",
"instanceName": "UKWindchill"
},
"itemListsData": [{
"objectType": "WT.PART.WTPart",
"items": [{
"id": "totalStock",
"numericIdentifier": 1
}]
}]
}]
},
"pattern": "%0 and %2 out of %1"
“任务标识”中 primaryTitle 键的模式选择器示例:
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"numericIdentifier":1,
"id":"Subject|SubjectName"
}
],
"objectType":"PTC.Workflow.WorkItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
},
"pattern":"%1"
}
用于选择属性的结构
有三种属性类型可用于指定要在组件中显示的后端系统的属性子集:“属性选择器”、“属性集选择器”和“模式选择器”。它们都使用类似的 JSON 结构,其中包含必需属性和可选属性。
必需属性:
thingName - 后端系统适配器事物的名称。
instanceName - 后端系统适配器的实例名称。
objectType - 属性的对象类型。
id - 属性的 ID。
可选属性:
additionalData - 此属性下包含所有相关的子属性。
ordinal - 此特性用于确定属性在用户界面中的显示顺序,其中,顺序值为 0 的属性将最先显示,而顺序值为 1 的属性将紧随其后,以此类推。
以下代码显示了用于选择属性的常规结构。
* 
ThingWorx Navigate 当前仅支持在某一组件的任何特定配置中使用一个适配器和一个实例。
{
"selectedValues":{
"data":[
{
"adapter":{
"thingName":"WindchillAdapterThing",
"instanceName":"JapanWindchill"
},
"itemListsData":[
{
"objectType":"WT.PART.WTPart",
"items":[
{
"id":"name of property",
"additionalData":{
"ContainerKey1":{
"additional properties"
},
"ContainerKey2":{
"additional properties"
}
},
"ordinal":2
},
{
"id":"name of property",
"additionalData":{
"ContainerKey1":{
"additional properties"
},
"ContainerKey2":{
"additional properties"
}
},
"ordinal":1
}
]
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"id":"name of property",
"additionalData":{
"ContainerKey1":{
"additional properties"
},
"ContainerKey2":{
"additional properties"
}
},
"ordinal":0
},
{
"id":"name of property",
"additionalData":{
"ContainerKey1":{
"additional properties"
},
"ContainerKey2":{
"additional properties"
}
},
"ordinal":3
}
]
}
]
}
]
}
}
这对您有帮助吗?