Personalizzazione avanzata > Utilizzo dei componenti riutilizzabili > Componenti riutilizzabili disponibili > Barra delle azioni
  
Barra delle azioni
Definizione e utilizzo
Il componente riutilizzabile Barra delle azioni è un widget che visualizza un insieme di azioni disponibili per l'utente. Le azioni vengono visualizzate come una serie di pulsanti e in un menu a discesa. La configurazione del componente e le dimensioni dello schermo dell'utente determinano il numero di azioni che vengono visualizzate come pulsanti. Tutte le azioni che non sono visualizzate come pulsanti sono visibili nel menu a discesa. È possibile configurare il componente riutilizzabile Barra delle azioni nei modi descritti di seguito.
Definire le azioni da includere nella barra delle azioni
Impostare il numero massimo di azioni da visualizzare come pulsanti
Impostare le opzioni di visibilità per le azioni a seconda della disponibilità
Definire l'ordine delle azioni
Definire se sono richiesti input per un'azione
Selezionare lo stile desiderato per la barra delle azioni
Le azioni servono a richiamare un servizio o un popup. Il servizio o il mashup del popup deve essere configurato separatamente in ThingWorx. Tutte le funzionalità aggiuntive, ad esempio i messaggi toast, devono essere configurate nel servizio o nel mashup appropriato in ThingWorx.
Una barra delle azioni è inclusa nei componenti riutilizzabili Elenco elementi e Identificativo elemento.
Di seguito è riportata un'immagine di esempio che mostra il componente riutilizzabile Barra delle azioni:
Non esistono configurazioni predefinite disponibili per il componente riutilizzabile Barra delle azioni.
Proprietà di associazione
Sono presenti otto proprietà per il componente Barra delle azioni disponibili per l'associazione.
Disabled - Valore booleano che disattiva il widget nel mashup.
EventTriggered - Evento che viene attivato quando un servizio termina l'esecuzione o quando viene visualizzato un popup, se l'azione è configurata con la proprietà fireEventOnFinish impostata su true.
Input - Questa proprietà JSON è l'ID di input per cui devono essere recuperati dati dal sistema di back-end. Queste informazioni vengono fornite in formato CCO (Common Communication Object).
PopupClosed - Evento che viene attivato quando viene chiuso un popup aperto.
ServiceActionId - Stringa che viene aggiornata con l'ID azione di un'azione del servizio quando si fa clic sull'azione.
ServiceActionIdChanged - Evento che viene attivato quando il valore in ServiceActionId viene modificato. Indica quindi che un servizio richiamato dalla barra delle azioni ha terminato l'esecuzione.
SubComponentConfiguration - Oggetto JSON che può essere associato al JSON di configurazione se quest'ultimo cambia in fase di esecuzione. Se la configurazione non viene modificata in fase di esecuzione, utilizzare i campi di configurazione descritti nella sezione riportata di seguito.
Campi di configurazione
Nelle tabelle riportate di seguito vengono descritti i campi JSON che è possibile utilizzare per configurare il componente.
Nome proprietà
Descrizione
Tipo
Valore di default
Obbligatorio o facoltativo
maxItemsToShow
Numero massimo di pulsanti di azione visualizzati. Se sono presenti più pulsanti di azione rispetto al valore specificato, le azioni aggiuntive vengono visualizzate nel menu a discesa.
Integer
2
Obbligatorio
modelThingName
Nome di un oggetto che contiene un servizio con la firma riportata di seguito.
public JSONObject GetActions(@ThingworxServiceParameter(name = "ccoJson", baseType = "JSON") JSONObject ccoJson)
Questo servizio accetta input nel formato CCO contenente un singolo elemento. Restituisce quindi un JSONObject contenente una matrice che mappa l'ID di un'azione disponibile all'etichetta ricevuta dal sistema di back-end. Vedere l'esempio nella configurazione JSON di esempio riportata di seguito.
String
"PTC.ActionBar Model.Thing"
Obbligatorio
actions
Azioni disponibili nella barra delle azioni. Vedere la sottoproprietà:
String
N/D
Obbligatorio
id
ID dell'azione, così come viene ricevuto dal sistema di back-end. Vedere la tabella riportata di seguito per le sottoproprietà.
String
N/D
Obbligatorio
objectType
Tipo di oggetto per cui devono essere recuperate le azioni.
String
N/D
Obbligatorio
adapter
Configurazione di origine per il sistema di back-end. Vedere le sottoproprietà:
String
N/D
Obbligatorio
instanceName
Istanza di connettore, ovvero il connettore da utilizzare per la connessione al sistema di back-end.
String
"windchill"
Obbligatorio
thingName
Nome del sistema di back-end o adattatore da cui vengono recuperati i dati.
String
"PTC.WCAdapter"
Obbligatorio
Campi per la configurazione in id
Nome proprietà
Descrizione
Tipo
Valore di default
Obbligatorio o facoltativo
overrideLabel
Il valore impostato qui viene visualizzato come etichetta del pulsante di azione e sovrascrive quindi il valore proveniente dal sistema di back-end. Per localizzare il valore, racchiuderlo tra parentesi doppie.
String
N/D
Facoltativo
actionButtonVisibility
Determina in quali condizioni vengono visualizzati i pulsanti di azione e in quale stato del ciclo di vita. Opzioni: AlwaysShown, DisableUnavailable e HideUnavailable. Per AlwaysShown, il pulsante è sempre visibile e attivato. Per DisableUnavailable, il pulsante è sempre visibile, ma disattivato quando l'azione non è disponibile per la selezione specificata. Per HideUnavailable, il pulsante è visibile solo quando l'azione è disponibile per la selezione specificata.
Nota: esistono altre configurazioni che influiscono sulla possibilità di attivare o disattivare un pulsante.
String
N/D
Obbligatorio
buttonStyle
Determina lo stile visivo del pulsante. Opzioni: primary, secondary, tertiary, danger e transparent.
String
N/D
Obbligatorio
overrideSetDisabled
Se questo campo è impostato, il relativo valore è l'unico fattore a determinare se un pulsante deve essere attivato o disattivato. Opzioni: true e false. True assicura che il pulsante sia disattivato e false che sia attivato.
Boolean
N/D
Facoltativo
activityType
Determina se questa azione esegue un servizio o visualizza un mashup popup. Opzioni: popup e service. Per le sottoproprietà obbligatorie per il popup e per il servizio, vedere le tabelle riportate di seguito.
String
N/D
Obbligatorio
fireEventOnFinish
Se questo campo è impostato su true, quando un servizio termina l'esecuzione, viene attivato l'evento EventTriggered, e quando un popup viene chiuso, viene attivato l'evento PopupClosed.
Boolean
N/D
Facoltativo
inputConstraints
Determina il vincolo di input per l'azione. Opzioni: InputRequired, SingleInputOnly e NoInputRequired.
InputRequired: questa azione deve ricevere input per poter operare. Se l'input è vuoto e non contiene elementi, il pulsante dell'azione è disattivato.
SingleInputOnly: questa azione deve ricevere un singolo input per poter operare. Se l'input è vuoto o contiene più elementi, il pulsante dell'azione è disattivato.
NoInputRequired: questa azione può operare con o senza input.
String
N/D
Facoltativo
ordinal
Ordine in cui vengono visualizzati i pulsanti di azione. L'azione con il numero ordinale più basso viene visualizzata nella posizione iniziale più a sinistra. Sono consentiti valori negativi.
Integer
N/D
Obbligatorio
iconWhenEnabled
Se questo campo è specificato, il pulsante dell'azione contiene un'icona a sinistra dell'etichetta quando il pulsante è attivato.
String
N/D
Facoltativo
entityName
Nome dell'entità multimediale da utilizzare come icona.
String
N/D
Facoltativo
iconWhenDisabled
Se questo campo è specificato, il pulsante dell'azione contiene un'icona a sinistra dell'etichetta quando il pulsante è disattivato.
String
N/D
Facoltativo
entityName
Nome dell'entità multimediale da utilizzare come icona.
String
N/D
Facoltativo
Sottoproprietà per activityType di popup.
Nome proprietà
Descrizione
Tipo
Valore di default
Obbligatorio o facoltativo
mashupName
Nome del mashup che appare come popup.
String
N/D
Obbligatorio
redirectAfterPopupSuccess
Reindirizza a un altro mashup quando il popup viene chiuso dopo un'operazione riuscita.
Per informare la barra delle azioni se l'operazione eseguita dal popup è stata completata o meno, è necessario impostare il parametro di sessione denominato PTC.ActionBar.popupCloseParameters in modo da indicare l'esito positivo o negativo. Ad esempio, nel mashup popup può essere presente un'espressione che viene eseguita dopo che l'operazione eseguita dal popup è terminata. È in questa espressione che occorre impostare il parametro di sessione. Nell'esempio riportato di seguito, l'attributo JSON operationSuccessful è impostato su true poiché l'operazione è stata completata:
sessionStorage.setItem("PTC.ActionBar.popupCloseParameters", JSON.stringify( { operationSuccessful: true } ));
String
N/D
Facoltativo
popupWidth
Specifica la larghezza del popup visualizzato. Se questo campo viene lasciato vuoto, il popup avrà la larghezza di default di 1024.
Integer
N/D
Facoltativo
popupHeight
Specifica la larghezza del popup visualizzato. Se questo campo viene lasciato vuoto, il popup avrà la larghezza di default di 640.
Integer
N/D
Facoltativo
Sottoproprietà per activityType di service.
Nome proprietà
Descrizione
Tipo
Valore di default
Obbligatorio o facoltativo
thingWithService
Nome dell'oggetto che contiene il servizio da eseguire.
String
N/D
Obbligatorio
serviceName
Nome del servizio da eseguire.
String
N/D
Obbligatorio
parameters
Questo campo facoltativo consente di passare parametri hardcoded al servizio. I parametri sono definiti in un JSONObject, ma devono essere formattati come stringa di un oggetto JSON, con virgolette di escape. I parametri devono essere inseriti nel file di configurazione nel formato "{\"myParamName\": \"hardcodedValue\"}" . Vedere le informazioni aggiuntive riportate di seguito.
StringRepresentationOfJSONObject
N/D
Facoltativo
Utilizzo di parameters per configurare un'azione di servizio
Si supponga che sia presente un servizio denominato MyService con questa firma:
@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)
I valori dei parametri per MyService si presentano come segue:
{
\"exampleInt\": 123,
\"exampleString\": \"Hello\",
\"exampleBoolean\": true
}
* 
Il servizio ottiene automaticamente i due parametri serviceParam_InputCco e serviceParam_ActionId, se li si definisce nella firma del servizio. Il parametro serviceParam_InputCco è un JSONObject ed è l'input che è stato specificato per la barra delle azioni. Il parametro serviceParam_ActionId è una stringa che contiene l'ID dell'azione su cui è stato fatto clic. Se il servizio non menziona questi parametri nella firma, non è possibile utilizzarli. Se si desidera utilizzarli, definire la firma del servizio in modo da utilizzarne uno o entrambi, utilizzando il codice seguente:
@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)
Configurazione di esempio
{
"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"
}
}
]
}
}