Structure de configuration du composant
La configuration de chaque composant est écrite au format JSON et comporte de nombreuses propriétés de configuration. Il existe de nombreux types de propriétés de configuration différents : par exemple, une propriété peut définir soit un élément simple, tel qu'une chaîne, un entier ou une valeur booléenne, soit un élément plus complexe, tel qu'une liste d'éléments à renvoyer depuis le système principal. Chaque type de propriété possède une structure JSON interne différente. Comprendre les types de propriété et de leurs structures vous aidera à configurer efficacement vos composants.
Certaines propriétés possèdent plusieurs options de configuration, et lorsque vous choisissez l'une des options, la propriété possède une sous-propriété que vous pouvez utiliser pour configurer davantage le composant. Notez que ces sous-propriétés ne sont pas affichées dans les structures ou les exemples répertoriés ci-dessous, car elles varient. Pour plus d'informations, consultez la rubrique Sous-propriétés et clés de conteneur.
* 
Chacune des propriétés ci-dessous peut inclure la clé inTailoring avec une valeur booléenne. Cette clé ne peut être utilisée que dans les cas où une page de personnalisation dédiée est associée à votre tâche personnalisée.
Zone de texte 
Nom : PTC.Nav.DynamicForm.Textbox
Description : Chaîne de texte. Utilisé principalement pour les étiquettes.
Structure :
{
"value": "content of label"
}
Exemple d'une zone de texte à partir de la clé progressBarMessage dans Progression de la tâche :
{
"value":"[[PTC.Nav.TaskProgress.ProgressBarMessage]]"
}
Bascule 
Nom : PTC.Nav.DynamicForm.Toggle
Description : la valeur est l'une des deux options. Les options disponibles sont true et false.
Structure :
{
"value": true
}
Exemple d'une bascule à partir de la clé showImage dans Identité d'élément :
{
"value":false
}
Numéro 
Nom : PTC.Nav.DynamicForm.Number
Description : numéro.
Structure :
{
"value": 500
}
Exemple d'un numéro de la clé maxTileCount dans Vignettes :
{
"":{
"value":"5"
}
}
Sélecteur d'application composite 
Nom : PTC.Nav.DynamicForm.MashupSelector
Description : nom d'une application composite. Utilisé pour créer des liens vers une application composite spécifique.
Structure :
{
"mashupName": "name of mashup",
}
Exemple d'un sélecteur d'application composite à partir de la clé linkToMashup dans Tâches :
{
"mashupName":"PTC.CRDetailedReviewAppMashup"
}
Bouton d'option 
Nom : PTC.Nav.DynamicForm.RadioButton
Description : la valeur correspond à l'une de celles spécifiées dans la définition du composant.
Structure :
{
"selectedKey" : "option1",
}
Exemple d'un bouton d'option à partir de la clé selectionType dans Pièces jointes :
{
"selectedKey":"multi"
}
Dans l'exemple ci-dessus, les options de selectedKey sont none, single et multi.
Sélecteur d'entités (bêta) 
Nom : PTC.Nav.DynamicForm.EntitySelector
Description : nom d'une entité ThingWorx Navigate, telle qu'une forme d'objet, un modèle d'objet, un objet, une application composite, un utilisateur ou un groupe.
Structure :
{
"entityName": "name of entity"
}
Exemple d'un sélecteur d'entité à partir de la clé modelThingName dans Barre d'actions :
{
"entityName":"PTC.ActionBarModel.Thing"
}
Filtre de champ 
Nom : PTC.Nav.DynamicForm.FieldFilter
Description : l'objet filters d'un Paramètre de requête TWX dans lequel la clé fieldName a une valeur de chaîne vide.
Structure :
{
"filters" : 'filters' object of a TWX Query
}
Exemple d'un filtre de champ à partir de la clé defaultSelectedFilterValues dans Tâches :
{
"filters":{
"filters":[
{
"fieldName":"",
"type":"EQ",
"value":"POTENTIAL"
},
{
"fieldName":"",
"type":"EQ",
"value":"ACCEPTED"
}
],
"type":"Or"
}
}
Groupe de définition 
Nom : PTC.Nav.DynamicForm.DefinitionGroup
Description : espace réservé qui peut être utilisé pour injecter des propriétés de configuration supplémentaires dans la configuration du composant.
Structure :
{
"value": {JSON representation of additional data},
}
Exemple d'un groupe de définition à partir de la clé implementationConfiguration dans Tâches :
{
"value":{
"taskTypeFilter":{
"value":"[{\"activityName\": \"Conduct Online CRB Review\",\"workItemProcessTemplate\": \"Change Request Workflow\"}]"
}
}
}
Sélecteur d'attributs 
Nom : PTC.Nav.DynamicForm.AttributesSelector
Description : permet de sélectionner un ou plusieurs attributs à partir du système principal. Pour plus d'informations, consultez la section Structure de sélection des attributs ci-dessous.
Structure :
{
"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
}]
}]
}]
},
}
Exemple d'un sélecteur d'attributs à partir de la clé attributes dans Tâches :
{
"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"
}
]
}
]
}
}
Sélecteur de jeux d'attributs 
Nom : PTC.Nav.DynamicForm.AttributesSetsSelector
Description : permet de sélectionner des attributs dans le système principal et de les séparer en différents groupes. La valeur de name est une chaîne qui est le nom du jeu d'attributs. La clé data contient la même structure que le type de propriété du sélecteur d'attributs. Pour plus d'informations, consultez la section Structure de sélection des attributs ci-dessous.
Structure :
{
"sets": [
{
"name": "Set Name 1",
"data": {Structure for Selecting Attributes}
},
{
"name": "Set Name 2",
"data": {Structure for Selecting Attributes}
}
],
}
Exemple d'un sélecteur de jeux d'attributs à partir de la clé attributes dans Attributs :
{
"sets":[
{
"data":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":""
}
],
"objectType":""
}
],
"adapter":{
"instanceName":"PTC.WCAdapter",
"thingName":"windchill"
}
}
]
}
},
"name":""
}
]
}
Sélecteur de modèle 
Nom : PTC.Nav.DynamicForm.PatternSelector
Description : permet de créer une chaîne ou un modèle qui inclut un ou plusieurs attributs du système principal. La structure de ce type de propriété est très similaire à celle de la Structure de sélection des attributs, avec l'ajout de la clé numericIdentifier pour chaque attribut et de la clé pattern à la fin. Dans la clé pattern, le symbole % avec un numéro représente l'attribut qui porte le même numéro que sa valeur numericIdentifier. Dans l'interface utilisateur, le nom d'attribut est affiché dans la chaîne pattern.
Structure :
{
"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"
Exemple d'un sélecteur de modèle à partir de la clé primaryTitle dans Identité des tâches :
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"numericIdentifier":1,
"id":"Subject|SubjectName"
}
],
"objectType":"PTC.Workflow.WorkItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
},
"pattern":"%1"
}
Structure de sélection des attributs
Vous pouvez utiliser trois types de propriété pour spécifier le sous-ensemble d'attributs du système principal que vous souhaitez afficher dans le composant : sélecteur d'attributs, sélecteur de jeux d'attributs et sélecteur de modèle. Ils utilisent chacun une structure JSON similaire qui inclut les propriétés obligatoires et celles facultatives.
Propriétés obligatoires :
thingName : le nom de l'objet de l'adaptateur pour le système principal
instanceName : le nom d'instance de l'adaptateur de système principal
objectType : le type d'objet de l'attribut
id : l'ID de l'attribut
Propriétés facultatives :
additionalData : toutes les sous-propriétés pertinentes sont incluses dans cette propriété.
ordinal : cette propriété détermine l'ordre dans lequel les attributs s'affichent dans l'interface utilisateur, où l'attribut avec une valeur ordinale de 0 apparaît en premier, l'attribut avec une valeur ordinale de 1 apparaît en deuxième, et ainsi de suite.
Le code ci-après illustre la structure générale de sélection des attributs.
* 
ThingWorx Navigate ne prend actuellement en charge que l'utilisation d'un adaptateur et d'une instance dans toute configuration particulière d'un composant.
{
"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
}
]
}
]
}
]
}
}
Est-ce que cela a été utile ?