元件組態結構
每個元件的組態都會以 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
實體選取器 (BETA) 
名稱: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
}
]
}
]
}
]
}
}
這是否有幫助?