操作バーコンポーネントは、ユーザーが使用できる一連の操作を表示するウィジェットです。これらの操作は、一列に並んだボタンと、付随のリストボックスに表示されます。コンポーネントのコンフィギュレーションとユーザーの画面のサイズによって、ボタンとして表示される操作の数が決まります。ボタンとして表示されない操作は、省略記号をクリックした後に表示されるリストボックスに表示されます。
操作バーは、アイテムリストコンポーネントとアイテム ID コンポーネントの内部に含めることができます。「部品リストを表示」、「部品構造を表示」、および「ドキュメント構造を表示」のタスクのプレビュー枠内に含めることもできます。各タスクの右上隅にある、選択したドキュメント/部品の枠が、プレビュー枠に置き換えられます。
操作バー、部品操作バー、およびドキュメント操作バーは、操作バーコンポーネントで使用可能なコンフィギュレーションタイプです。次のテーブルに、これらの各コンフィギュレーションで使用可能な操作を示します。
次のテーブルは、このコンポーネントの設定に使用される JSON プロパティを示しています。
コンフィギュレーションの構造の詳細については、
コンポーネントのコンフィギュレーション構造を参照してください。
サブプロパティの詳細については、
サブプロパティとコンテナキーを参照してください。
プロパティ名 | 説明 | プロパティタイプ | デフォルト値 | 必須またはオプション |
---|
maxItemsToShow | 表示される操作ボタンの最大数。指定した値よりも多くの操作ボタンがある場合、リストボックスにその他の操作が表示されます。 | | 2 | 必須 |
modelThingName | 次の署名を持つサービスを含む Thing の名前。 public JSONObject GetActions(@ThingworxServiceParameter(name = "ccoJson", baseType = "JSON") JSONObject ccoJson) このサービスは、1 つのアイテムを含む CCOフォーマットで入力を行います。その後、使用可能な操作の ID を、バックエンドから受信したラベルにマッピングする配列を含む JSONObject を返します。以下のサンプル JSON コンフィギュレーションの例を参照してください。 | | PTC.ActionBar Model.Thing | 必須 |
actions | バックエンドシステムからデータをフェッチする必要がある操作のリスト。コンテナキーは actionConfiguration です。以下のサブプロパティを参照してください。 | | なし | 必須 |
overrideLabel | ここで設定した値は操作ボタンのラベルとして表示され、バックエンドシステムから取得された値をオーバーライドします。ローカライズするには、値を二重括弧で囲みます。 | | なし | オプション |
actionButtonVisibility | 操作ボタンを表示する条件と状態を決定します。オプション: AlwaysShown、DisableUnavailable、HideUnavailable。AlwaysShown では、ボタンは常に表示され、有効になっています。DisableUnavailable では、ボタンは常に表示されますが、指定した選択に対して操作を使用できない場合は無効になります。HideUnavailable では、指定した選択に対して操作が使用可能な場合にのみ、ボタンが表示されます。 注記: ボタンを有効にするか無効にするかに影響するその他のコンフィギュレーションがあります。 | | なし | 必須 |
buttonStyle | ボタンの表示スタイルを指定します。オプション: primary、secondary、tertiary、danger、transparent。 | | なし | 必須 |
overrideSetDisabled | このフィールドが設定されている場合、ボタンを有効にするか無効にするかを決定する際、その値が唯一の要因になります。オプション: true、false。true に設定するとボタンが無効になり、false に設定するとボタンが有効になります。 | | なし | オプション |
fireEventOnFinish | このフィールドが true に設定されている場合、サービスの実行が完了するとイベント EventTriggered がトリガーされ、ポップアップが閉じるとイベント PopupClosed がトリガーされます。 | | なし | オプション |
inputConstraints | 操作の入力制約を決定します。オプション: InputRequired、SingleInputOnly、および NoInputRequired。 InputRequired: この操作を実行するには、入力が必要です。入力が空でアイテムが含まれていない場合、この操作のボタンは無効になります。 SingleInputOnly: この操作を実行するには、単一の入力が必要です。入力が空であるか、2 つ以上のアイテムが含まれている場合、この操作のボタンは無効になります。 NoInputRequired: 入力の有無にかかわらず、この操作を実行できます。 | | なし | オプション |
iconWhenEnabled | このフィールドが指定されている場合、操作ボタンが有効になっているときに、操作のボタンのラベルの左側にアイコンが表示されます。 | | | |
entityName | アイコンとして使用するメディアエンティティの名前。 | | | |
iconWhenDisabled | このフィールドが指定されている場合、操作ボタンが無効になっているときに、操作のボタンのラベルの左側にアイコンが表示されます。 | | | |
entityName | アイコンとして使用するメディアエンティティの名前。 | | | |
activityType | この操作によって、サービスを実行するか、ポップアップマッシュアップを表示するかを決定します。オプション: openUrl (ThingWorx Navigate 9.3.4 以降のバージョンで使用可能)、popup、service、および parent (ThingWorx Navigate 9.4.0 以降のバージョンで使用可能)。popup、service、および parent に必要なサブプロパティについては、以下のテーブルを参照してください。 | | なし | 必須 |
mashupName | ポップアップとして表示されるマッシュアップの名前。 このプロパティは、activityType が popup に設定されている場合にのみ使用されます。 | | なし | 必須 |
redirectAfterPopupSuccess | 操作が正常に終了した後、ポップアップが閉じるときに別のマッシュアップにリダイレクトします。 ポップアップによって実行された操作が正常に完了したかどうかを操作バーに通知するには、成功または失敗を示す PTC.ActionBar.popupCloseParameters という名前のセッションパラメータを設定します。たとえば、ポップアップマッシュアップには、ポップアップによって実行された操作が終了した後に実行する定義式を設定できるため、その定義式でセッションパラメータを設定します。次の例では、操作が正常に終了したため、JSON 属性 operationSuccessful が true に設定されます。 sessionStorage.setItem("PTC.ActionBar.popupCloseParameters", JSON.stringify( { operationSuccessful: true } )); このプロパティは、activityType が popup に設定されている場合にのみ使用されます。 | | なし | オプション |
popupWidth | 表示されるポップアップの幅を指定します。 このプロパティは、activityType が popup に設定されている場合にのみ使用されます。 | | 1024 | オプション |
popupHeight | 表示されるポップアップの幅を指定します。 このプロパティは、activityType が popup に設定されている場合にのみ使用されます。 | | 640 | オプション |
thingWithService | 実行するサービスが含まれている Thing の名前。 このプロパティは、activityType が service に設定されている場合にのみ使用されます。 | | なし | 必須 |
serviceName | 実行するサービスの名前。 このプロパティは、activityType が service に設定されている場合にのみ使用されます。 | | なし | 必須 |
parameters | このオプションのフィールドでは、ハードコードされたパラメータをサービスまたはポップアップマッシュアップに渡すことができます。パラメータは JSONObject で定義され、引用符でエスケープされた JSON オブジェクトの文字列としてフォーマットする必要があります。パラメータは、コンフィギュレーションファイルに "{\"myParamName\": \"hardcodedValue\"}" のフォーマットで入力する必要があります。以下の追加情報を参照してください。 このプロパティは、activityType が service または popup に設定されている場合にのみ使用されます。 | | なし | オプション |
openUrl | 操作ボタンで URL を設定できます。有効な値に設定した場合、操作ボタンを選択すると、設定した URL が新しいウィンドウまたはタブで開きます。 このプロパティは、activityType が openUrl に設定されている場合にのみ使用されます。 | | なし | オプション |
parentId | このオプションのフィールドでは、親操作の ID を設定できます。有効な値に設定されている場合、その ID を持つ親操作が存在することを表しており、その操作が親メニューボタンの下のオプションとして設定されます。parentId で設定されているものと同じ ID を持つ操作がない場合、この操作は無視され、表示されません。 このプロパティは、activityType が parentId に設定されている場合にのみ使用されます。 | | 親の ID | オプション |
parameters を使用したサービス操作の設定:
これは、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)
MyService では、次のようなパラメータ値が表示されます。
{
\"exampleInt\": 123,
\"exampleString\": \"Hello\",
\"exampleBoolean\": true
}
| serviceParam_InputCco と serviceParam_ActionId の 2 つのパラメータは、受信するようにサービス署名を定義するとサービスによって自動的に取得されます。パラメータ serviceParam_InputCco は JSONObject で、操作バーに渡された入力です。パラメータ serviceParam_ActionId は、クリックされた操作の ID を含む文字列です。サービスでこれらのパラメータが署名に記載されていない場合、これらのパラメータを使用することはできません。これらのパラメータを使用する場合は、以下を使用して、いずれかのパラメータまたは両方のパラメータに関してサービス署名を定義します。 @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) |
• 標準ボタンを使用したサンプルコンフィギュレーション
{
"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": "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"
}
}
]
}
}
}
• メニューボタンを使用したサンプルコンフィギュレーション
{
"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": "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"
}
}
]
}
}
}