Erweiterte Anpassung > Wiederverwendbare Komponenten verwenden > Verfügbare wiederverwendbare Komponenten > Aktionsleiste
  
Aktionsleiste
Definition und Verwendung
Die wiederverwendbare Komponente "Aktionsleiste" ist ein Widget, welches eine Reihe von Aktionen anzeigt, die dem Benutzer zur Verfügung stehen. Die Aktionen werden als eine Reihe von Schaltflächen und in einem begleitenden Dropdown-Menü angezeigt. Die Konfiguration der Komponente sowie die Größe des vom Benutzer verwendeten Bildschirms bestimmen, wie viele Aktionen in Form von Schaltflächen zur Verfügung stehen. Alle Aktionen, die nicht als Schaltfläche angezeigt werden, stehen im Dropdown-Menü zur Verfügung. Die wiederverwendbare Komponente "Aktionsleiste" kann auf folgende Weise konfiguriert werden:
Definieren der Aktionen, die in der Aktionsleiste zur Verfügung stehen sollen
Festlegen der maximalen Anzahl der Aktionen, die als Schaltflächen angezeigt werden sollen
Festlegen der Sichtbarkeit für die Aktionen, abhängig von deren Verfügbarkeit
Definieren der Reihenfolge der Aktionen
Definieren, ob Eingaben für eine Aktion erforderlich sind
Auswahl des gewünschten Stils für die Aktionsleiste
Aktionen sind dafür konzipiert, entweder einen Dienst oder ein Popup zu aktivieren. Der Dienst oder das Popup-Mashup müssen separat in ThingWorx konfiguriert sein. Alle weiteren Funktionen, z.B. Toastnachrichten, müssen im entsprechenden Dienst oder Mashup in ThingWorx konfiguriert werden.
In den wiederverwendbaren Komponenten "Elementliste" und "Element-Identität" ist eine Aktionsleiste enthalten.
Die folgende Beispielabbildung zeigt die wiederverwendbare Komponente "Aktionsleiste":
Es stehen keine vordefinierten Konfigurationen für die wiederverwendbare Komponente "Aktionsleiste" zur Verfügung.
Bindende Eigenschaften
Es gibt acht Eigenschaften für die Komponente "Aktionsleiste", die zum Binden zur Verfügung stehen:
Disabled – Boolescher Wert, der das Widget im Mashup deaktiviert.
EventTriggered – Ereignis, das ausgelöst wird, wenn die Ausführung eines Diensts beendet oder ein Popup angezeigt wird, wenn in der Konfiguration der Aktion fireEventOnFinish auf "true" festgelegt ist.
Input – JSON, die die Eingabe-ID darstellt, für die Daten vom Backend-System abgerufen werden müssen. Diese Informationen werden in einem CCO-Format (Common Communication Object) bereitgestellt.
PopupClosed – Ereignis, das ausgelöst wird, wenn ein geöffnetes Popup geschlossen wird.
ServiceActionId – Zeichenfolge, die mit der Aktions-ID einer Dienstaktion aktualisiert wird, wenn auf die Aktion geklickt wird.
ServiceActionIdChanged – Ereignis, das ausgelöst wird, wenn der Wert in ServiceActionId geändert wird, was bedeutet, dass die Ausführung eines von der Aktionsleiste aufgerufenen Diensts beendet wurde.
SubComponentConfiguration – JSON, die an die Konfigurations-JSON gebunden werden kann, wenn sich die Konfigurations-JSON während der Laufzeit ändert. Verwenden Sie die im folgenden Abschnitt beschriebenen Konfigurationsfelder, wenn sich die Konfiguration während der Laufzeit nicht ändert.
Konfigurationsfelder
Die folgenden Tabellen zeigen die JSON-Felder, die Sie zum Konfigurieren dieser Komponente verwenden können.
Eigenschaftenname
Beschreibung
Typ
Standardwert
Erforderlich oder optional
maxItemsToShow
Die maximale Anzahl der angezeigten Aktionsschaltflächen. Sind mehr Aktionsschaltflächen vorhanden als von diesem Wert angegeben, so werden diese im Dropdown-Menü angezeigt.
Integer
2
Erforderlich
modelThingName
Der Name des Dings, das einen Dienst mit der folgenden Signatur enthält:
public JSONObject GetActions(@ThingworxServiceParameter(name = "ccoJson", baseType = "JSON") JSONObject ccoJson)
Dieser Dienst akzeptiert Eingaben im CCO-Format, das ein einzelnes Element enthält. Der Dienst gibt dann ein JSONObject zurück, das ein Array enthält, das die ID einer verfügbaren Aktion ihrer vom Backend erhaltenen Beschriftung zuordnet. Ein Beispiel für eine JSON-Konfiguration finden Sie im Anschluss.
String
"PTC.ActionBar Model.Thing"
Erforderlich
actions
Aktionen, die in der Aktionsleiste zur Verfügung stehen. Siehe Untereigenschaft:
String
-/-
Erforderlich
id
Die ID der Aktion, wie sie vom Backend-System erhalten wurde. Siehe die nachfolgende Tabelle für Untereigenschaften.
String
-/-
Erforderlich
objectType
Objekttyp, für den die Aktionen abgerufen werden sollen
String
-/-
Erforderlich
adapter
Quellkonfiguration für das Backend-System. Siehe Untereigenschaften:
String
-/-
Erforderlich
instanceName
Konnektorinstanz, d.h. welcher Konnektor für die Verbindung zum Backend-System verwendet werden soll
String
"windchill"
Erforderlich
thingName
Name des Backend-Systems oder des Adapters, von dem die Daten abgerufen werden
String
"PTC.WCAdapter"
Erforderlich
Konfigurationsfelder unter id
Eigenschaftenname
Beschreibung
Typ
Standardwert
Erforderlich oder optional
overrideLabel
Der hier festgelegte Wert wird als Beschriftung der Aktionsschaltfläche verwendet und überschreibt den Wert, der vom Backend-System bereitgestellt wird. Schließen Sie zum Lokalisieren den Wert in doppelte Klammern ein.
String
-/-
Optional
actionButtonVisibility
Bestimmt, unter welchen Bedingungen die Aktionsschaltflächen angezeigt werden und in welchem Status. Optionen: AlwaysShown, DisableUnavailable, HideUnavailable. Für AlwaysShown ist die Schaltfläche immer sichtbar und aktiviert. Für DisableUnavailable ist die Schaltfläche immer sichtbar, jedoch deaktiviert, wenn die Aktion für eine vorgegebene Auswahl nicht verfügbar ist. Für HideUnavailable ist die Schaltfläche nur dann sichtbar, wenn die Aktion für die vorgegebene Auswahl verfügbar ist.
Hinweis: Es sind andere Konfigurationen vorhanden, die Auswirkungen darauf haben, ob eine Schaltfläche aktiviert oder deaktiviert ist.
String
-/-
Erforderlich
buttonStyle
Bestimmt die visuelle Darstellung einer Schaltfläche. Optionen: primary, secondary, tertiary, danger, transparent.
String
-/-
Erforderlich
overrideSetDisabled
Wenn dieses Feld festgelegt ist, bestimmt allein sein Wert, ob eine Schaltfläche aktiviert oder deaktiviert ist. Optionen: true, false. Der Wert "true" stellt sicher, dass die Schaltfläche deaktiviert ist und "false" stellt sicher, dass die Schaltfläche aktiviert ist.
Boolean
-/-
Optional
activityType
Bestimmt, ob diese Aktion einen Dienst ausführt oder ein Popup-Mashup anzeigt. Optionen: popup, service. Siehe die nachfolgenden Tabellen für die erforderlichen Untereigenschaften für Popup und Dienst.
String
-/-
Erforderlich
fireEventOnFinish
Bei Festlegung dieses Felds auf "true" wird das Ereignis EventTriggered ausgelöst, wenn die Ausführung eines Diensts beendet wird, und das Ereignis PopupClosed, wenn ein Popup geschlossen wird.
Boolean
-/-
Optional
inputConstraints
Bestimmt die Eingabebeschränkung für diese Aktion. Optionen: InputRequired, SingleInputOnly und NoInputRequired.
InputRequired: Für diese Aktion muss eine Eingabe erfolgen, damit sie ausgeführt werden kann. Ist die Eingabe leer und enthält keine Elemente, so wird die Schaltfläche der Aktion deaktiviert.
SingleInputOnly: Für diese Aktion muss eine einzelne Eingabe erfolgen, damit sie ausgeführt werden kann. Ist die Eingabe leer oder enthält mehr als ein Element, so wird die Schaltfläche der Aktion deaktiviert.
NoInputRequired: Diese Aktion kann ohne oder mit Eingabe ausgeführt werden.
String
-/-
Optional
ordinal
Die Reihenfolge, in der die Aktionsschaltflächen angezeigt werden. Die Aktion mit dem niedrigsten Ordinalwert wird an erster Stelle ganz links angezeigt. Negative Werte sind nicht zulässig.
Integer
-/-
Erforderlich
iconWhenEnabled
Ist dieses Feld angegeben, so enthält die Schaltfläche der Aktion ein Symbol links neben der Beschriftung, wenn die Aktionsschaltfläche aktiviert ist.
String
-/-
Optional
entityName
Der Name der Medieneinheit, die als Symbol verwendet werden soll
String
-/-
Optional
iconWhenDisabled
Ist dieses Feld angegeben, so enthält die Schaltfläche der Aktion ein Symbol links neben der Beschriftung, wenn die Aktionsschaltfläche deaktiviert ist.
String
-/-
Optional
entityName
Der Name der Medieneinheit, die als Symbol verwendet werden soll
String
-/-
Optional
Untereigenschaften für activityType von popup
Eigenschaftenname
Beschreibung
Typ
Standardwert
Erforderlich oder optional
mashupName
Der Name des Mashups, das als Popup angezeigt wird.
String
-/-
Erforderlich
redirectAfterPopupSuccess
Leitet zu einem anderen Mashup um, wenn das Popup nach einer erfolgreichen Operation geschlossen wird.
Um die Aktionsleiste darüber zu informieren, ob die vom Popup ausgeführte Operation erfolgreich abgeschlossen wurde oder nicht, müssen Sie den Sitzungsparameter mit dem Namen PTC.ActionBar.popupCloseParameters so festlegen, dass er Erfolg oder Fehler anzeigt. Beispiel: Das Popup-Mashup enthält einen Ausdruck, der nach Abschließen der vom Popup durchgeführten Operation ausgeführt wird. In diesem Ausdruck wird der Sitzungsparameter festgelegt. Im nachfolgenden Beispiel ist das JSON-Attribut operationSuccessful auf "true" festgelegt, da die Operation erfolgreich war:
sessionStorage.setItem("PTC.ActionBar.popupCloseParameters", JSON.stringify( { operationSuccessful: true } ));
String
-/-
Optional
popupWidth
Gibt die Breite des angezeigten Popups an. Wenn dieses Feld leer gelassen wird, hat das Popup die Standardbreite 1024.
Integer
-/-
Optional
popupHeight
Gibt die Breite des angezeigten Popups an. Wenn dieses Feld leer gelassen wird, hat das Popup die Standardbreite 640.
Integer
-/-
Optional
Untereigenschaften für activityType von service
Eigenschaftenname
Beschreibung
Typ
Standardwert
Erforderlich oder optional
thingWithService
Der Name des Dings, das den auszuführenden Dienst enthält
String
-/-
Erforderlich
serviceName
Der Name des auszuführenden Dienstes
String
-/-
Erforderlich
parameters
Dieses optionale Feld erlaubt das Übergeben von hartcodierten Parametern an den Dienst. Die Parameter sind in einem JSONObject definiert, müssen jedoch als "String" eines JSON-Objekts mit in Escape-Zeichen gesetzten Anführungszeichen formatiert werden. Parameter sollten in folgender Form in die Konfigurationsdatei eingegeben werden: "{\"myParamName\": \"hardcodedValue\"}" . Weitere Informationen finden Sie nachfolgend.
StringRepresentationOfJSONObject
-/-
Optional
Verwendung von parameters für die Konfiguration einer Dienstaktion
Gehen Sie vom einem Dienst mit dem Namen MyService und der folgenden Signatur aus:
@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)
Die Parameterwerte für MyService sehen wie folgt aus:
{
\"exampleInt\": 123,
\"exampleString\": \"Hello\",
\"exampleBoolean\": true
}
* 
Zwei Parameter werden für den Dienst automatisch abgerufen, wenn die Dienstsignatur entsprechend definiert wird: serviceParam_InputCco und serviceParam_ActionId. Der Parameter serviceParam_InputCco ist ein JSONObject und die Eingabe, die für die Aktionsleiste bereitgestellt wurde. Der Parameter serviceParam_ActionId ist eine Zeichenfolge mit der ID der Aktion, auf die geklickt wurde. Sind diese Parameter nicht in der Signatur Ihres Dienstes enthalten, so können Sie sie nicht verwenden. Sollten Sie die Parameter verwenden wollen, definieren Sie Ihre Dienstsignatur für die Verwendung von einem oder beiden Parametern wie folgt:
@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)
Beispielkonfiguration
{
"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"
}
}
]
}
}