Barra delle azioni (BETA)
Definizione e utilizzo
Il componente 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 una casella di riepilogo. 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 vengono visualizzate come pulsanti sono visibili nella casella di riepilogo che compare dopo aver fatto clic sull'azione Ellissi.
Di seguito è riportata un'immagine di esempio che mostra il componente Barra delle azioni:
È possibile configurare il componente 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
Configurare un pulsante di menu sulla barra delle azioni
Le azioni servono a richiamare un servizio o un popup. Il servizio o il mashup 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. È inoltre possibile configurare l'apertura di un URL dalla barra delle azioni, ad esempio configurando il pulsante Visualizza in Windchill.
Una barra delle azioni può essere inclusa nei componenti Elenco elementi e Identificativo elemento. È possibile includerla anche nel riquadro di anteprima dei task Visualizza elenco parti, Visualizza struttura parti e Visualizza struttura documento. Il riquadro di anteprima sostituisce il riquadro di doc/parte selezionato, presente nell'angolo in alto a destra dello specifico task.
Barra delle azioni, Barra delle azioni per le parti e Barra delle azioni per i documenti sono i tipi di configurazione disponibili per il componente Barra delle azioni. Nella tabella seguente sono elencate le azioni disponibili per ciascuna di queste configurazioni. La tabella elenca inoltre l'ID per ogni azione, che corrisponde al valore della proprietà id nella configurazione.
Tipo di configurazione
Azioni di default
ID azione
Barra delle azioni
Approva
Approve
Rifiuta
Reject
Analisi
Analyze
Riassegna
Reassign
Barra delle azioni per le parti
Segnala un problema
PTC.Nav.ReportAProblem
Visualizza in Windchill
PTC.Nav.ViewInWindchill
Barra delle azioni per i documenti
Apri documento
PTC.Nav.OpenDocument
Segnala un problema
PTC.Nav.ReportAProblem
Visualizza in Windchill
PTC.Nav.ViewInWindchill
Proprietà di associazione 
Input
Nome proprietà
Descrizione
Tipo di proprietà
Disabled
Disattiva il widget nel mashup.
Booleano
Input
Utilizzata per identificare i dati da recuperare dal sistema di back-end.
JSON in formato CCO
ServiceActionId
Quando si fa clic sull'azione, questa stringa viene aggiornata con l'ID azione di un'azione di servizio.
Stringa
SubComponentConfiguration
Associa la configurazione a questa proprietà in caso di modifica in fase di esecuzione.
JSON
Output
Nome proprietà
Descrizione
Tipo di proprietà
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.
Evento
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.
Evento
PopupClosed
Evento che viene attivato quando viene chiuso un popup aperto.
Evento
Proprietà di configurazione 
Le tabelle riportate di seguito descrivono le proprietà JSON utilizzate per configurare il componente.
Per ulteriori informazioni sulla struttura della configurazione, vedere Struttura di configurazione del componente.
Per ulteriori informazioni sulle sottoproprietà, vedere Sottoproprietà e chiavi contenitore.
Nome proprietà
Descrizione
Tipo di proprietà
Valore di default
Obbligatoria o facoltativa
maxItemsToShow
Numero massimo di pulsanti di azione visualizzati. Se sono presenti più pulsanti di azione rispetto al valore specificato, nella casella di riepilogo vengono inserite ulteriori azioni.
2
Obbligatoria
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 in 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.
PTC.ActionBar Model.Thing
Obbligatoria
actions
Elenco di azioni per le quali devono essere recuperati i dati dal sistema di back-end. La chiave contenitore è actionConfiguration. Vedere le sottoproprietà di seguito indicate.
N/D
Obbligatoria
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.
N/D
Facoltativa
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.
N/D
Obbligatoria
buttonStyle
Determina lo stile visivo del pulsante. Opzioni: primary, secondary, tertiary, danger e transparent.
N/D
Obbligatoria
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.
N/D
Facoltativa
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.
N/D
Facoltativa
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.
N/D
Facoltativa
iconWhenEnabled
Se questo campo è specificato, il pulsante dell'azione contiene un'icona a sinistra dell'etichetta quando il pulsante è attivato.
entityName
Nome dell'entità multimediale da utilizzare come icona.
iconWhenDisabled
Se questo campo è specificato, il pulsante dell'azione contiene un'icona a sinistra dell'etichetta quando il pulsante è disattivato.
entityName
Nome dell'entità multimediale da utilizzare come icona.
activityType
Determina se l'azione esegue un servizio o visualizza un mashup popup. Opzioni: openUrl (disponibile in Windchill Navigate 9.3.4 e versioni successive), popup, service e parent (disponibili in Windchill Navigate 9.4.0 e versioni successive). Per le sottoproprietà obbligatorie per popup, service e parent, vedere le tabelle riportate di seguito.
N/D
Obbligatoria
mashupName
Nome del mashup che appare come popup.
Questa proprietà viene utilizzata solo quando activityType è impostata su popup.
N/D
Obbligatoria
redirectAfterPopupSuccess
Reindirizza a un altro mashup quando il popup viene chiuso dopo un'operazione riuscita.
Per indicare alla Barra delle azioni se l'operazione eseguita dal popup è stata completata correttamente, impostare il parametro di sessione denominato PTC.ActionBar.popupCloseParameters per 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 } ));
Questa proprietà viene utilizzata solo quando activityType è impostata su popup.
N/D
Facoltativa
popupWidth
Specifica la larghezza del popup visualizzato.
Questa proprietà viene utilizzata solo quando activityType è impostata su popup.
1024
Facoltativa
popupHeight
Specifica la larghezza del popup visualizzato.
Questa proprietà viene utilizzata solo quando activityType è impostata su popup.
640
Facoltativa
thingWithService
Nome dell'oggetto che contiene il servizio da eseguire.
Questa proprietà viene utilizzata solo quando activityType è impostata su service.
N/D
Obbligatoria
serviceName
Nome del servizio da eseguire.
Questa proprietà viene utilizzata solo quando activityType è impostata su service.
N/D
Obbligatoria
parameters
Questo campo facoltativo consente di passare parametri hardcoded a un servizio o a un mashup popup. I parametri sono definiti in un JSONObject e 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.
Questa proprietà viene utilizzata solo quando activityType è impostata su service o popup.
N/D
Facoltativa
openUrl
Consente di impostare un URL sul pulsante di azione. Se è impostata su un valore valido, viene visualizzata una nuova finestra o scheda con l'URL impostato per la selezione del pulsante di azione.
Questa proprietà viene utilizzata solo quando activityType è impostata su openUrl.
N/D
Facoltativa
parentId
Questo campo facoltativo consente di impostare l'ID dell'azione padre. Quando è impostato su un valore valido, indica che è presente un'azione padre con tale ID e imposta l'azione come opzione nel pulsante di menu padre. Se non è presente alcuna azione con lo stesso ID impostato in parentId, l'azione viene ignorata e non viene visualizzata.
Questa proprietà viene utilizzata solo quando activityType è impostata su parentId.
ID del padre
Facoltativa
Utilizzo di parameters per configurare un'azione di servizio.
Si tratta della firma di un servizio di esempio denominato 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)
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 
Configurazione di esempio con pulsanti standard
{
"maxItemsToShow": {
"value": 3
},
"modelThingName": {
"entityName": "PTC.ActionBarModel.Thing"
},
"actions": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Approve",
"additionalData": {
"actionConfiguration": {
"actionButtonVisibility": {
"selectedKey": "HideUnavailable"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "popup"
},
"mashupName": {
"mashupName": "PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish": {
"value": false
},
"inputConstraints": {
"selectedKey": "SingleInputOnly"
}
}
},
"ordinal": 10
}, {
"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": 20
}, {
"id": "PTC.Nav.OpenDocument",
"additionalData": {
"actionConfiguration": {
"openUrl": {
"value": "https://www.ptc.com"
},
"overrideLabel": {
"selectedKey": "[[PTC.AccessApp.OpenDocument]]"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "openUrl"
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
}
},
"ordinal": 30
}
}, {
"id": "ProblemReport",
"additionalData": {
"actionConfiguration": {
"overrideLabel": {
"value": "[[PTC.Nav.CreateProblemReport.AppTitle]]"
},
"popupHeight": {
"value": 640
},
"popupWidth": {
"value": 800
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
},
"buttonStyle": {
"selectedKey": "primary"
},
"mashupName": {
"mashupName": "PTC.Nav.CreateProblemReportAppMashup"
},
"activityType": {
"selectedKey": "popup"
},
"parameters": {
"value": "{\"affectedItemsCCO\":{\"timeStamp\":\"2021-11-24 22:45:54.528\",\"data\":[{\"itemListsData\":[{\"items\":[{\"id\":{\"value\":\"OR:wt.part.WTPart:100447\"}}],\"objectType\":\"PTC.ProdMgmt.Part\"}],\"adapter\":{\"instanceName\":\"windchill\",\"thingName\":\"PTC.WCAdapter\"}}],\"version\":\"1.0.0\",\"statusMessage\":\"OK\",\"status\":\"200\"},\"isPopup\":true}"
}
}
},
"ordinal": 40
}
],
"objectType": "WT.WorkItem.Actions"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
}
}
Configurazione di esempio con il pulsante di menu
{
"maxItemsToShow": {
"value": 3
},
"modelThingName": {
"entityName": "PTC.ActionBarModel.Thing"
},
"actions": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Approve",
"additionalData": {
"actionConfiguration": {
"actionButtonVisibility": {
"selectedKey": "HideUnavailable"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "popup"
},
"mashupName": {
"mashupName": "PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish": {
"value": false
},
"inputConstraints": {
"selectedKey": "SingleInputOnly"
}
}
},
"ordinal": 10
}, {
"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": 20
}, {
"id": "PTC.Nav.OpenDocument",
"additionalData": {
"actionConfiguration": {
"openUrl": {
"value": "https://www.ptc.com"
},
"overrideLabel": {
"selectedKey": "[[PTC.AccessApp.OpenDocument]]"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "openUrl"
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
}
},
"ordinal": 30
}
}, {
"id": "ProblemReport",
"additionalData": {
"actionConfiguration": {
"overrideLabel": {
"value": "[[PTC.Nav.CreateProblemReport.AppTitle]]"
},
"popupHeight": {
"value": 640
},
"popupWidth": {
"value": 800
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
},
"buttonStyle": {
"selectedKey": "primary"
},
"mashupName": {
"mashupName": "PTC.Nav.CreateProblemReportAppMashup"
},
"activityType": {
"selectedKey": "popup"
},
"parameters": {
"value": "{\"affectedItemsCCO\":{\"timeStamp\":\"2021-11-24 22:45:54.528\",\"data\":[{\"itemListsData\":[{\"items\":[{\"id\":{\"value\":\"OR:wt.part.WTPart:100447\"}}],\"objectType\":\"PTC.ProdMgmt.Part\"}],\"adapter\":{\"instanceName\":\"windchill\",\"thingName\":\"PTC.WCAdapter\"}}],\"version\":\"1.0.0\",\"statusMessage\":\"OK\",\"status\":\"200\"},\"isPopup\":true}"
}
}
},
"ordinal": 40
}
],
"objectType": "WT.WorkItem.Actions"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
}
}
È stato utile?