Barre d'actions (bêta)
Définition et mode d'utilisation
Le composant Barre d'actions est un widget qui affiche une série d'actions accessibles à l'utilisateur. Les actions sont disponibles sous la forme d'une rangée de boutons, ainsi que dans une zone de liste associée. La configuration du composant et la taille de l'écran de l'utilisateur déterminent le nombre d'actions disponibles sous la forme de boutons. Toutes les actions non présentées sous la forme de boutons sont visibles dans la zone de liste.
La capture d'écran suivante vous donne un aperçu du composant Barre d'actions :
Vous pouvez configurer le composant Barre d'actions de différentes manières :
Définir les actions proposées par la barre d'actions
Définir le nombre maximum d'actions à afficher sous la forme de boutons
Définir les options de visibilité des actions en fonction de leur disponibilité
Définir l'ordre des actions
Déterminer si des entrées sont requises pour une action
Sélectionner un style pour la barre d'actions
Les actions sont conçues pour activer un service ou bien une fenêtre contextuelle. Le service ou l'application composite contextuelle doivent être configurés séparément dans ThingWorx. Toutes les fonctionnalités supplémentaires, telles que les messages toast, doivent être configurées dans le service ou l'application composite appropriés, dans ThingWorx.
Barre d'actions peut être incluse dans les composants Liste des éléments et Identité d'élément.
Aucune configuration prédéfinie n'est disponible pour le composant Barre d'actions.
Propriétés de liaison 
Entrée
Nom de la propriété
Description
Type de propriété
Disabled
Désactive le widget dans l'application composite.
Booléen
Input
Utilisé pour identifier les données à récupérer à partir du système principal.
JSON au format CCO
ServiceActionId
Lorsque vous cliquez sur l'action, cette chaîne est mise à jour avec l'ID d'action d'une action de service.
Chaîne
SubComponentConfiguration
Liez la configuration à cette propriété si elle change au cours de l'exécution.
JSON
Sortie
Nom de la propriété
Description
Type de propriété
EventTriggered
Evénement déclenché lorsqu'un service termine son exécution ou qu'une fenêtre contextuelle est affichée, si l'action est configurée avec la propriété fireEventOnFinish définie sur vrai.
Evénement
ServiceActionIdChanged
Evénement déclenché lorsque la valeur ServiceActionId change, ce qui signifie qu'un service appelé par Barre d'actions a fini son exécution.
Evénement
PopupClosed
Evénement déclenché à la fermeture d'une fenêtre contextuelle précédemment ouverte.
Evénement
Propriétés de configuration 
Les tableaux ci-après présentent les propriétés JSON utilisées pour configurer ce composant.
Pour plus d'informations sur la structure de la configuration, consultez la rubrique Structure de configuration du composant.
Pour plus d'informations sur les sous-propriétés, consultez la rubrique Sous-propriétés et clés de conteneur.
Nom de la propriété
Description
Type de propriété
Valeur par défaut
Obligatoire ou facultatif ?
maxItemsToShow
Nombre maximal de boutons d'action affichés. Si le nombre de boutons d'action dépasse la valeur spécifiée, les actions supplémentaires sont renseignées dans la zone de liste.
2
Obligatoire
modelThingName
Nom d'un objet qui contient un service avec la signature suivante :
public JSONObject GetActions(@ThingworxServiceParameter(name = "ccoJson", baseType = "JSON") JSONObject ccoJson)
Ce service accepte les entrées au format CCO contenant un seul élément. Il renvoie ensuite un objet JSONObject contenant un tableau qui mappe l'ID d'une action disponible sur son étiquette, telle qu'envoyée par le système back-end. Consultez l'exemple de configuration JSON ci-dessous.
PTC.ActionBar Model.Thing
Obligatoire
actions
La liste des actions pour lesquelles des données doivent être récupérées à partir du système principal. La clé de conteneur est actionConfiguration. Consultez les sous-propriétés ci-dessous :
N/A
Obligatoire
overrideLabel
La valeur définie ici est affichée en tant qu'étiquette du bouton d'action, en remplacement de la valeur provenant du système principal. Pour la localiser, placez la valeur entre doubles crochets.
N/A
Facultatif
actionButtonVisibility
Détermine les conditions dans lesquelles les boutons d'action sont affichés, ainsi que leur état. Options : AlwaysShown, DisableUnavailable, HideUnavailable. Pour AlwaysShown, le bouton est toujours visible et activé. Pour DisableUnavailable, le bouton est toujours visible, mais désactivé lorsque l'action n'est pas disponible pour une sélection donnée. Pour HideUnavailable, le bouton n'est visible que lorsque l'action est disponible pour la sélection donnée.
Remarque : Il existe d'autres configurations déterminant si un bouton doit être activé ou désactivé.
N/A
Obligatoire
buttonStyle
Détermine le style visuel du bouton. Options : primary, secondary, tertiary, danger, transparent.
N/A
Obligatoire
overrideSetDisabled
Si ce champ est défini, sa valeur correspond au seul facteur déterminant si un bouton doit être activé ou désactivé. Options : true, false. La valeur "vrai" garantit que le bouton est désactivé et la valeur "faux" qu'il est activé.
N/A
Facultatif
activityType
Détermine si cette action exécute un service ou affiche une application composite contextuelle. Options : popup, service. Consultez les tableaux ci-dessous pour connaître les sous-propriétés requises pour la fenêtre contextuelle et pour le service.
N/A
Obligatoire
fireEventOnFinish
Si ce champ est défini sur true, lorsque l'exécution d'un service se termine, l'événement EventTriggered est déclenché et, lorsqu'une fenêtre contextuelle est fermée, l'événement PopupClosed est déclenché.
N/A
Facultatif
inputConstraints
Détermine la contrainte d'entrée de l'action. Options : InputRequired, SingleInputOnly et NoInputRequired.
InputRequired : cette action doit recevoir une entrée pour pouvoir fonctionner. Si l'entrée est vide et ne contient aucun élément, le bouton associé à l'action est désactivé.
SingleInputOnly : cette action doit recevoir une seule entrée pour pouvoir fonctionner. Si l'entrée est vide ou contient plusieurs éléments, le bouton associé à l'action est désactivé.
NoInputRequired : cette action peut fonctionner sans entrée ou avec entrée.
N/A
Facultatif
iconWhenEnabled
Si ce champ est spécifié, le bouton associé à l'action contient une icône placée à gauche de l'étiquette lorsque le bouton d'action est activé.
entityName
Nom de l'entité de média à utiliser en tant qu'icône.
iconWhenDisabled
Si ce champ est spécifié, le bouton associé à l'action contient une icône placée à gauche de l'étiquette lorsque le bouton d'action est désactivé.
entityName
Nom de l'entité de média à utiliser en tant qu'icône.
mashupName
Nom de l'application composite qui s'affiche sous forme de fenêtre contextuelle.
Cette propriété n'est utilisée que lorsque activityType est défini sur popup.
N/A
Obligatoire
redirectAfterPopupSuccess
Redirige l'utilisateur vers une autre application composite lorsque la fenêtre contextuelle est fermée après une opération réussie.
Pour informer Barre d'actions si l'opération effectuée par la fenêtre contextuelle a été effectuée avec succès, définissez le paramètre de session nommé PTC.ActionBar.popupCloseParameters pour indiquer la réussite ou l'échec. Par exemple, dans l'application composite contextuelle peut figurer une expression exécutée à la fin de l'opération effectuée par la fenêtre contextuelle ; dans cette expression, le paramètre de session est défini. Dans l'exemple suivant, l'attribut JSON operationSuccessful est défini sur "vrai", car l'opération a réussi :
sessionStorage.setItem("PTC.ActionBar.popupCloseParameters", JSON.stringify( { operationSuccessful: true } ));
Cette propriété n'est utilisée que lorsque activityType est défini sur popup.
N/A
Facultatif
popupWidth
Spécifie la largeur de la fenêtre contextuelle qui s'affiche.
Cette propriété n'est utilisée que lorsque activityType est défini sur popup.
1024
Facultatif
popupHeight
Spécifie la largeur de la fenêtre contextuelle qui s'affiche.
Cette propriété n'est utilisée que lorsque activityType est défini sur popup.
640
Facultatif
thingWithService
Nom de l'objet qui contient le service à exécuter.
Cette propriété n'est utilisée que lorsque activityType est défini sur service.
N/A
Obligatoire
serviceName
Nom du service à exécuter.
Cette propriété n'est utilisée que lorsque activityType est défini sur service.
N/A
Obligatoire
parameters
Ce champ facultatif nous permet de transmettre des paramètres codés en dur au service. Les paramètres sont définis dans un objet JSONObject, mais doivent être formatés en tant que chaîne d'objet JSON, avec des guillemets d'échappement. Les paramètres doivent être entrés dans le fichier de configuration sous la forme suivante : "{\"myParamName\": \"hardcodedValue\"}" . Consultez les informations supplémentaires ci-dessous.
Cette propriété n'est utilisée que lorsque activityType est défini sur service.
N/A
Facultatif
Utilisation du paramètre parameters pour configurer une action de service :
Il s'agit de la signature d'un exemple de service nommé MyService :
@ThingworxServiceDefinition(name = "MyService", category = "MyCategory")
public void MyService(
@ThingworxServiceParameter(name = "exampleInt", baseType = "INTEGER") Integer exampleInt,
@ThingworxServiceParameter(name = "ExampleString", baseType = "STRING") String exampleString,
@ThingworxServiceParameter(name = "ExampleBoolean", baseType = "BOOLEAN") Boolean exampleBoolean)
Voici à quoi ressemblent les valeurs de paramètre pour MyService :
{
\"exampleInt\": 123,
\"exampleString\": \"Hello\",
\"exampleBoolean\": true
}
* 
Votre service obtient automatiquement deux paramètres si vous définissez la signature du service de manière à les recevoir : serviceParam_InputCco et serviceParam_ActionId. Le paramètre serviceParam_InputCco est un objet JSONObject et correspond à l'entrée fournie à Barre d'actions. Le paramètre serviceParam_ActionId est une chaîne qui contient l'ID de l'action qui a été cliquée. Si votre service n'inclut pas ces paramètres dans sa signature, vous ne pouvez pas les utiliser. Si vous souhaitez les utiliser, définissez votre signature de service de manière à utiliser l'un ou l'autre, ou les deux, en utilisant les éléments suivants :
@ThingworxServiceDefinition(name = "MyService", category = "MyCategory")
public void MyService(
@ThingworxServiceParameter(name = "serviceParam_InputCco", baseType = "JSON")
JSONObject serviceParam_InputCco,
@ThingworxServiceParameter(name = "serviceParam_ActionId", baseType = "STRING")
String serviceParam_ActionId)
Exemple de configuration 
{
"maxItemsToShow":{
"value":3
},
"modelThingName":{
"entityName":"PTC.ActionBarModel.Thing"
},
"actions":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Approve",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":""
},
"actionButtonVisibility":{
"selectedKey":"HideUnavailable"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"SingleInputOnly"
}
}
},
"ordinal":1
},
{
"id":"Reject",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":""
},
"actionButtonVisibility":{
"selectedKey":"HideUnavailable"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"SingleInputOnly"
}
}
},
"ordinal":2
},
{
"id":"Analyze",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":""
},
"actionButtonVisibility":{
"selectedKey":"HideUnavailable"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"SingleInputOnly"
}
}
},
"ordinal":3
},
{
"id":"Reassign",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":"Reassign"
},
"actionButtonVisibility":{
"selectedKey":"AlwaysShown"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.ReassignActionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"InputRequired"
}
}
},
"ordinal":4
}
],
"objectType":"WT.WorkItem.Actions"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
}
Est-ce que cela a été utile ?