组件配置的构建基块
每个组件的配置均以 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.CheckBoxArray
说明:值是组件定义中指定的一个或多个键。
结构:
{
"selected":[
{
"key":"option1"
},
{
"key":"option3"
}
{
"key":"option6"
}
]
}
部件结构中 exportType 键的复选框数组示例:
{
"selected":[
{
"key":"exportToCsv"
"label": "[[PTC.Nav.ItemList.ExportCSVActionLabel]]",
},
{
"key":"exportToExcel"
"label": "[[PTC.Nav.ItemList.ExportCSVAsExcelActionLabel]]"
}
]
}
下拉列表 
名称:PTC.Nav.DynamicForm.Dropdown
说明:值是组件定义中指定的一个或多个键。组件定义指定下拉列表接受一个键还是多个键。
结构:
{
"selected":[
{
"key":"key1",
"data":{"…"}
},
{
"key":"key2",
"data":{"…"}
}
]
}
部件结构中 defaultExpansionLevel 键的下拉列表示例:
{
"defaultExpansionLevel":{
"selected":[
"3"
]
}
}
列表 
名称:PTC.Nav.DynamicForm.List
说明:值是组件定义中指定的一个或多个键。还支持使用 ordinal 键对列表项进行排序。
结构:
{
"selected":[
{
"key":"key1"
},
{
"key":"key2"
}
]
}
“设计文件”中 showImplementationActions 键的列表示例:
{
"selected":[
{
"key":"downloadZip",
"ordinal":0
}
]
}
实体选择器 (测试版) 
名称:PTC.Nav.DynamicForm.EntitySelector
说明:Windchill Navigate 实体 (例如“事物形态”、“事物模板”、“事物”、“混搭”、“用户”或“组”) 的名称。
结构:
{
"entityName": "name of entity"
}
“操作栏”中 modelThingName 键的实体选择器示例:
{
"entityName":"PTC.ActionBarModel.Thing"
}
字段筛选器 
名称:PTC.Nav.DynamicForm.FieldFilter
说明:ThingWorx 查询参数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 的属性紧随其后,依此类推。有关详情,请参阅使用顺序配置特性主题。
hidden - 此特性当前仅适用于“项列表”组件。如果此特性设置为 true,则会导致给定属性在用户界面的项列表网格中隐藏,并会从导出的文件中排除。如果此特性设置为 false 或未包含在配置中,则不会隐藏属性。即使属性处于隐藏状态,属性仍会被传递至选定项的 selectedItems 绑定特性。
以下代码显示用于选择属性的常规结构。
* 
Windchill 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,
"hidden": true
},
{
"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
"hidden": false
}
]
}
]
}
]
}
}
这对您有帮助吗?