カスタムコンポーネントの作成
コンポーネントアーキテクチャのトピックで説明されているように、各 ThingWorx Navigate コンポーネントは、ユーザーインタフェースサブコンポーネントおよびビジネスロジックサブコンポーネントの 2 つのサブコンポーネントで構成されています。さらに、ビジネスロジックサブコンポーネントはベースビジネスロジックおよびビジネスロジック実装の 2 つの部分で構成されており、このトピックではそれぞれをベースコンポーネントおよび実装と呼びます。
既成では、各ベースコンポーネントに 1 つ以上の実装が付属しています。各実装は、ユーザーインタフェースに特定の情報を表示するように設計されています。別の情報を表示するには、カスタム実装を作成することによってコンポーネントをカスタマイズします。たとえば、既成では、アイテム ID ベースコンポーネントには部品 ID とタスク ID の 2 つの実装が付属しています。アイテム ID ベースコンポーネントのカスタム実装 (ドキュメント ID など) を作成することもできます。
コンポーネントのカスタム実装を作成するには、既存のベースコンポーネントまたは既存の実装を拡張してから必要なサービスをオーバーライドしなければなりません。以下のセクションでは、詳細な手順と例を示します。
ベースコンポーネントの拡張によるカスタム実装の作成 
既存のベースコンポーネントからカスタム実装を作成するには、次の手順に従います。
1. カスタム実装の開始点として使用する既存のベースコンポーネントを選択します。ThingWorx Navigate のバージョンに従って、次のテーブルでベースコンポーネントを見つけ、その Thing Template とプロジェクトを確認します。この情報は後で必要になります。
ベースコンポーネント
Thing Template
プロジェクト (ThingWorx Navigate 9.0)
プロジェクト (ThingWorx Navigate 9.1 以降)
属性
PTC.Nav.AttributesBusinessLogicThingTemplate
PTC.Nav.AttributesProject
PTC.Nav.AttributesBusinessLogicProject
アイテム ID
PTC.Nav.ItemIdentityBusinessLogicThingTemplate
PTC.Nav.ItemIdentityProject
PTC.Nav.ItemIdentityBusinessLogicProject
アイテムリスト
PTC.Nav.ItemListBusinessLogicThingTemplate
PTC.Nav.ItemListProject
PTC.Nav.ItemListBusinessLogicProject
進行状況
PTC.Nav.ProgressBusinessLogicThingTemplate
PTC.Nav.ProgressProject
PTC.Nav.ProgressBusinessLogicProject
タイル
PTC.Nav.TilesBusinessLogicThingTemplate
PTC.Nav.TilesProject
PTC.Nav.TilesBusinessLogicProject
2. カスタム実装のプロジェクトを作成します。「プロジェクト依存」に、手順 1 で確認したプロジェクトを入力します。プロジェクトを保存します。
3. カスタム実装の Thing Template を作成します。「プロジェクト」に、手順 2 で作成したプロジェクトを入力します。「ベース Thing Template」に、手順 1 で確認した Thing Template を入力します。
4. カスタム実装の Thing を作成します。「プロジェクト」に、手順 2 で作成したプロジェクトを入力します。「ベース Thing Template」に、手順 3 で作成した Thing Template を入力します。
5. 作成した Thing で、「サービス」タブをクリックします。次に、 をクリックして GetImplementationConfigurationVersion サービスをオーバーライドし、実装のバージョンを設定します。このバージョンには任意の値を使用できます。Thing を保存します。
6. カスタム実装についてオーバーライドする必要のあるサービスを特定します。既成のコンポーネントのサービスの詳細については、拡張するコンポーネントに関するトピックを使用可能なコンポーネントで見つけ、「カスタマイズサービス」テーブルを確認してください。
7. 作成した Thing Template で、「サービス」タブをクリックします。次に、 をクリックして、必要なサービスをオーバーライドします。その他のサービスをオーバーライドする前に、GetConfigurations サービスをオーバーライドすることをお勧めします。
GetConfigurations サービスのコードで、implementationConfigurationVersion のバージョンを、手順 5 で GetImplementationConfigurationVersion に対して設定したバージョンと一致するように設定します。この手順をスキップすると、ThingWorx Navigate の今後のリリースで互換性の問題が発生する可能性があります。
8. 残りの必要なサービスをオーバーライドします。コンフィギュレーションをパラメータとして受け取るサービスをオーバーライドする際、まず Migrate サービスをコードで呼び出し、ベースバージョンと実装バージョンを渡します。
Migrate サービスで targetBaseVersion に使用する値を決定するには、手順 4 で作成した Thing で GetBaseConfigurationVersion サービスを実行します。GetBaseConfigurationVersion サービスコードを呼び出してその値を返すことはしないでください。
Migrate サービスで targetImplementationVersion を設定する際、手順 5 で事前に設定したバージョンを使用します。
Migrate サービスの呼び出しの詳細については、バージョン管理と移行のトピックを参照してください。
* 
サービスをオーバーライドする場合は、カテゴリ PTC.Nav.Private のサービスをオーバーライドしないでください。
9. Thing Template を保存します。これで、カスタム実装を使用できるようになりました。実装を使用するには、マッシュアップを作成します。実装のベースコンポーネントをマッシュアップに追加し、 をクリックします。「コンフィギュレーションタイプ」ドロップダウンメニューで、カスタム実装に属するコンフィギュレーションを選択します。
実装の拡張によるカスタム実装の作成 
既存の実装からカスタム実装を作成するには、次の手順に従います。
1. カスタム実装の開始点として使用する既存の実装を選択します。
既成の実装を使用する場合は、ThingWorx Navigate のバージョンに従って、それを次のテーブルで見つけ、該当する Thing Template とプロジェクトを確認します。この情報は後で必要になります。
カスタム実装を使用する場合は、その Thing Template とプロジェクトを確認します。この情報は後で必要になります。
実装
Thing Template
プロジェクト (ThingWorx Navigate 9.0)
プロジェクト (ThingWorx Navigate 9.1 以降)
アクティビティ
PTC.Nav.ActivityBusinessLogicThingTemplate
PTC.Nav.ItemListProject
PTC.Nav.ActivityBusinessLogicProject
変更適用アイテム
PTC.Nav.AffectedItemsBusinessLogicThingTemplate
PTC.Nav.ItemListProject
PTC.Nav.AttachmentsBusinessLogicProject
添付資料
PTC.Nav.AttachmentsBusinessLogicThingTemplate
PTC.Nav.ItemListProject
PTC.Nav.AffectedItemsBusinessLogicProject
属性ジェネリック
PTC.Nav.AttributesGenericBusinessLogicThingTemplate
PTC.Nav.AttributesProject
PTC.Nav.AttributesGenericBusinessLogicProject
部品 ID
PTC.Nav.PartIdentityBusinessLogicThingTemplate
PTC.Nav.ItemIdentityProject
PTC.Nav.PartIdentityBusinessLogicProject
タスク ID
PTC.Nav.TaskIdentityBusinessLogicThingTemplate
PTC.Nav.ItemIdentityProject
PTC.Nav.TaskIdentityBusinessLogicProject
タスク進行状況
PTC.Nav.TaskProgressBusinessLogicThingTemplate
PTC.Nav.ProgressProject
PTC.Nav.TaskProgressBusinessLogicProject
タスク
PTC.Nav.TaskListBusinessLogicThingTemplate
PTC.Nav.ItemListProject
PTC.Nav.TaskListBusinessLogicProject
タイルジェネリック
PTC.Nav.TilesGenericBusinessLogicThingTemplate
PTC.Nav.TilesProject
PTC.Nav.TilesGenericBusinessLogicProject
2. カスタム実装のプロジェクトを作成します。「プロジェクト依存」に、手順 1 で確認したプロジェクトを入力します。プロジェクトを保存します。
3. カスタム実装の Thing Template を作成します。「プロジェクト」に、手順 2 で作成したプロジェクトを入力します。「ベース Thing Template」に、手順 1 で確認した Thing Template を入力します。
4. カスタム実装の Thing を作成します。「プロジェクト」に、手順 2 で作成したプロジェクトを入力します。「ベース Thing Template」に、手順 3 で作成した Thing Template を入力します。
5. 作成した Thing で、「サービス」タブをクリックします。
をクリックして、使用しているバージョンの ThingWorx Navigate (たとえば 9.0.0 や 9.1.0 など) で GetBaseMigrationVersion をオーバーライドします。
をクリックして、使用しているバージョンの ThingWorx Navigate (たとえば 9.0.0 や 9.1.0 など) で GetImplementationConfigurationVersion をオーバーライドします。
6. Thing を保存します。
7. カスタム実装についてオーバーライドする必要のあるサービスを特定します。既成のコンポーネントのサービスの詳細については、拡張するコンポーネントに関するトピックを使用可能なコンポーネントで見つけ、「カスタマイズサービス」テーブルを確認してください。
8. 作成した Thing Template で、「サービス」タブをクリックします。次に、 をクリックして、必要なサービスをオーバーライドします。その他のサービスをオーバーライドする前に、GetConfigurations サービスをオーバーライドすることをお勧めします。
* 
GetConfigurations サービスをオーバーライドする際、コンフィギュレーション構造をその既成の構造から変更することはサポートされていません。個々の JSON プロパティの値のみを変更します。詳細については、コンフィギュレーションプロパティに対する変更の例のトピックを参照してください。
コンフィギュレーションでは、implementationConfigurationVersion プロパティの値を GetImplementationConfigurationVersion サービスによって返される値と同じになるように設定してください。
9. 残りの必要なサービスをオーバーライドします。コンフィギュレーションをパラメータとして受け取るサービスをオーバーライドする際、まず Migrate サービスをコードで呼び出し、ベースバージョンと実装バージョンを渡します。
Migrate サービスに渡すベースバージョンを決定するには、手順 4 で作成した Thing で GetBaseConfigurationVersion サービスを実行します。GetBaseConfigurationVersion サービスを呼び出してその値を返すことはしないでください。
Migrate サービスに渡す実装バージョンを決定するには、手順 4 で作成した Thing で GetImplementationConfigurationVersion サービスを実行します。GetImplementationConfigurationVersion サービスを呼び出してその値を返すことはしないでください。
Migrate サービスの呼び出しの詳細については、バージョン管理と移行のトピックを参照してください。
* 
サービスをオーバーライドする場合は、カテゴリ PTC.Nav.Private のサービスをオーバーライドしないでください。
10. Thing Template を保存します。これで、カスタム実装を使用できるようになりました。実装を使用するには、マッシュアップを作成します。実装のベースコンポーネントをマッシュアップに追加し、 をクリックします。「コンフィギュレーションタイプ」ドロップダウンメニューで、カスタム実装に属するコンフィギュレーションを選択します。
例: 部品リスト実装の作成 
次の例は、部品リストと呼ばれるカスタム実装を作成する方法を示しています。これは、アイテムリストベースコンポーネントの実装です。部品リストは、部品を入力として受け取り、そこに含まれている部品の最初のレベルを返します。
* 
次の例は、ThingWorx Navigate 9.0 で動作することを前提としており、コードスニペットで使用されているバージョンの値は、そのバージョンの ThingWorx Navigate に対して正しい値です。これより後のバージョンの ThingWorx Navigate でこの例に従うには、コードで正しいバージョンの値を使用してください。
1. ThingWorx Composer で、Demo.PartsListProject という名前の新規プロジェクトを作成します。
ThingWorx Navigate 9.0 で、PTC.Nav.ItemListProject「プロジェクト依存」 と入力します。
ThingWorx Navigate 9.1 以降のバージョンでは、「プロジェクト依存」PTC.Nav.ItemListBusinessLogicProject と入力します。
2. Demo.PartsListBusinessLogicThingTemplate という名前の新規 Thing Template を作成します。「プロジェクト」Demo.PartsListProject に設定し、「ベース Thing Template」PTC.Nav.ItemListBusinessLogicThingTemplate に設定します。
3. Demo.PartsListBusinessLogicThing という名前の Thing を作成します。「プロジェクト」Demo.PartsListProject に設定し、「ベース Thing Template」Demo.PartsListBusinessLogicThingTemplate に設定します。
4. 「サービス」タブをクリックして、GetImplementationConfigurationVersion サービスを検索します。 をクリックしてサービスをオーバーライドし、次のコードを使用してバージョンを 1.0.0 に設定します。
result = "1.0.0";
「完了」をクリックします。その後、「保存」をクリックして Thing を保存します。
5. アイテムリストの「カスタマイズサービス」テーブルを確認し、Thing Template でオーバーライドする必要があるサービスを特定します。このカスタム実装では、3 つのサービスをオーバーライドしなければなりません。
GetConfigurations - このサービスは、実装に使用可能なコンフィギュレーションを返します。これを編集して、部品リストのコンフィギュレーションを定義します。
GetImplementationLabel - このサービスは、Mashup Builder に表示される実装の名前を返します。これを Parts List Demo という名前が表示されるように設定します。
GetItems - このサービスは、入力およびコンフィギュレーションをパラメータとして受け取り、CCOフォーマットの JSON を、「アイテムリスト」ユーザーインタフェースに表示するデータとともに返します。ここでは、特定の部品における最初のレベルの部品と、最初のレベルの部品の属性を返すように設定します。
6. Demo.ItemListBusinessLogicThingTemplate Thing Template を開きます。「サービス」タブをクリックします。
7. をクリックして GetConfigurations サービスをオーバーライドします。次のコードをサービスに貼り付けます。このコードには、Mashup Builder と ThingWorx Navigate ユーザーインタフェースの両方で Parts List としてラベル付けされた部品リストの 1 つのコンフィギュレーションが含まれています。
result = {
"partsList": {
"label": "Parts List",
"configuration": {
"selectionType": {
"selectedKey": "single"
},
"waitForInput": {
"value": true
},
"actionBarConfiguration": {
"value": {
"actionBarConfigurationJSON": {
"value": ""
}
}
},
"baseConfigurationVersion": {
"value": "9.0.0"
},
"implementationConfigurationVersion": {
"value": "1.0.0"
},
"defaultSortFields": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"additionalData": {
"itemListDefaultSortFieldDefinition": {
"defaultSortDirection": {
"selectedKey": "asc"
}
}
},
"id": "Name"
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
},
"attributes": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Name",
"ordinal": 1
}, {
"id": "State#Display",
"ordinal": 2
}, {
"id": "Version",
"ordinal": 3
}, {
"id": "Number",
"ordinal": 0
}, {
"id": "ID",
"ordinal": 4
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
},
"inTailoring": false
},
"label": {
"value": "Parts List"
},
"showExportAction": {
"value": true
},
"enableSearch": {
"additionalData": {
"itemListSearchDefinition": {
"searchHintText": {
"value": "Find"
}
}
},
"value": true
},
"maxNumberOfRowsInGrid": {
"inTailoring": false,
"value": 50
}
}
}
};
これは、1 つではなく 2 つのコンフィギュレーションが含まれている別の GetConfigurations のサンプルコードです。1 つ目のコンフィギュレーションは、上記のコードと同じコンフィギュレーションです。2 つ目のコンフィギュレーションは、ミニバージョンの部品リストです。3 つの属性と最大 5 つの行だけが表示されます。これは、Mashup Builder では Parts List mini としてラベル付けされ、ThingWorx Navigate ユーザーインタフェースでは Parts List とラベル付けされます。
result = {
"partsList": {
"label": "Parts List",
"configuration": {
"selectionType": {
"selectedKey": "single"
},
"waitForInput": {
"value": true
},
"actionBarConfiguration": {
"value": {
"actionBarConfigurationJSON": {
"value": ""
}
}
},
"baseConfigurationVersion": {
"value": "9.0.0"
},
"implementationConfigurationVersion": {
"value": "1.0.0"
},
"defaultSortFields": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"additionalData": {
"itemListDefaultSortFieldDefinition": {
"defaultSortDirection": {
"selectedKey": "asc"
}
}
},
"id": "Name"
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
},
"attributes": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Name",
"ordinal": 1
}, {
"id": "State#Display",
"ordinal": 2
}, {
"id": "Version",
"ordinal": 3
}, {
"id": "Number",
"ordinal": 0
}, {
"id": "ID",
"ordinal": 4
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
},
"inTailoring": false
},
"label": {
"value": "Parts List"
},
"showExportAction": {
"value": true
},
"enableSearch": {
"additionalData": {
"itemListSearchDefinition": {
"searchHintText": {
"value": "Find"
}
}
},
"value": true
},
"maxNumberOfRowsInGrid": {
"inTailoring": false,
"value": 50
}
}
},
"partsListMini": {
"label": "Parts List mini",
"configuration": {
"selectionType": {
"selectedKey": "single"
},
"waitForInput": {
"value": true
},
"actionBarConfiguration": {
"value": {
"actionBarConfigurationJSON": {
"value": ""
}
}
},
"baseConfigurationVersion": {
"value": "9.0.0"
},
"implementationConfigurationVersion": {
"value": "1.0.0"
},
"defaultSortFields": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"additionalData": {
"itemListDefaultSortFieldDefinition": {
"defaultSortDirection": {
"selectedKey": "asc"
}
}
},
"id": "Name"
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
},
"attributes": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Name",
"ordinal": 1
}, {
"id": "Version",
"ordinal": 2
}, {
"id": "Number",
"ordinal": 0
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
},
"inTailoring": false
},
"label": {
"value": "Parts List"
},
"showExportAction": {
"value": true
},
"enableSearch": {
"additionalData": {
"itemListSearchDefinition": {
"searchHintText": {
"value": "Find"
}
}
},
"value": true
},
"maxNumberOfRowsInGrid": {
"inTailoring": false,
"value": 5
}
}
}
};
コードを追加した後、「完了」をクリックします。
8. GetImplementationLabel サービスをオーバーライドします。次のコードを使用して実装ラベルを設定します。
result = "Parts List Demo";
「完了」をクリックします。
9. GetItems サービスは、次のプロセスを使用して、Windchill から最初のレベルの部品を読み込みます。
a. 作成する ConvertAttributesToCCO サービスを使用して、コンフィギュレーションの属性部分をCCO構造に変換します。
b. 生成される JSON を、CCOフォーマットで PTC.WCAdapterGetRelatedItems サービスに渡します。このサービスは、データを UsageLink オブジェクトとして取得します。
c. 作成する ConvertUsageLinkToPart サービスを使用して、UsageLink オブジェクトを Part オブジェクトに変換します。
GetItems サービスをオーバーライドする前に、サービス ConvertAttributesToCCOConvertUsageLinkToPart を作成する必要があります。
10. 新規サービスを作成し、それに ConvertAttributesToCCO という名前を付けます。「入力」に、以下の入力を追加します。
configuration - 「JSON」「ベースタイプ」を持ちます。
attributesPrefix - 「STRING」「ベースタイプ」を持ちます。
replaceObjectType - 「STRING」「ベースタイプ」を持ちます。
「出力」で、ドロップダウンメニューから「JSON」を選択します。
11. 次のコードを ConvertAttributesToCCO サービスに貼り付けます。
let attributesData = configuration.attributes.selectedValues;
attributesPrefix = attributesPrefix || "";
let objectType = replaceObjectType || attributesData.data[0].itemListsData[0].objectType;
attributesData.data[0].itemListsData[0].objectType = objectType;
let items = attributesData.data[0].itemListsData[0].items;
let newItems = [];
let newObj = {};
let hasID = false;
//convert to CCO
for(var i = 0; i < items.length; i++) {
let item = items[i];
if (item.id === 'ID') {
hasID = true;
}
newObj[attributesPrefix + item.id] = {"value":""};
}
//add ID if needed
if (!hasID) {
newObj[attributesPrefix + 'ID'] = {"value":""};
}
newItems.push (newObj);
attributesData.data[0].itemListsData[0].items = newItems;
//create date
var dateValue = new Date();
var y = dateValue.getFullYear();
var mo = dateValue.getMonth()+1;
if(mo<10) {mo='0'+mo;}
var d = dateValue.getDate();
if(d<10) {d='0'+d;}
//create time
var h = dateValue.getHours();
if(h<10) {h='0'+h;}
var mi = dateValue.getMinutes();
if(mi<10) {mi='0'+mi;}
var s = dateValue.getSeconds();
if(s<10) {s='0'+s;}
var ms = dateValue.getMilliseconds();
if(ms<10) {ms='00'+ms;} else {if(ms>=10 && ms<100) {ms='0'+ms;}}
attributesData.timeStamp = y + "-" + mo + "-" + d + " " + h + ":" + mi + ":" + s + "." + ms;
attributesData.version = "";
attributesData.statusMessage = "OK";
attributesData.status = "200";
result = attributesData;
「完了」をクリックします。
12. 新規サービスを作成し、それに ConvertUsageLinkToPart という名前を付けます。「入力」に、以下の入力を追加します。
usageLinkCCO - 「JSON」「ベースタイプ」を持ちます。
「出力」で、ドロップダウンメニューから「JSON」を選択します。
13. 次のコードを ConvertUsageLinkToPart サービスに貼り付けます。
let itemListsData = usageLinkCCO.data[0].itemListsData[0];
let tempMetadata = itemListsData.metadata;
let items = itemListsData.items;
//convert metadata
delete tempMetadata.ID;
let newMetadata = {};
for (var key in tempMetadata) {
let newKey = key.replace(/^(Uses\|)/,"");
newMetadata[newKey] = tempMetadata[key];
}
newMetadata['id'] = newMetadata.ID;
itemListsData['metadata'] = newMetadata;
//convert Items
let newItems = [];
for (var i=0 ; i<items.length ; i++) {
let item = items[i];
let newItem = {};
for (key in item) {
let newKey = key.replace(/^(Uses\|)/,"");
newItem[newKey] = item[key];
}
newItem['id'] = newItem.ID;
newItems.push(newItem);
}
itemListsData['items'] = newItems;
itemListsData['objectType'] = 'PTC.ProdMgmt.Part';
//update CCO
let partsListCCO = usageLinkCCO;
partsListCCO.data[0].itemListsData = [itemListsData];
result = partsListCCO;
「完了」をクリックします。
14. をクリックして GetItems サービスをオーバーライドします。次のコードを GetItems サービスに貼り付けます。
var migratedConfig = me.Migrate({
targetImplementationVersion: "1.0.0" /* STRING */,
data: configuration /* JSON */,
migrationType: "Configuration" /* STRING */,
targetBaseVersion: "9.0.0" /* STRING */
});
var attributesConfigurationCCO = me.ConvertAttributesToCCO({
configuration:migratedConfig /* JSON */,
attributesPrefix: "Uses|" /* STRING */,
replaceObjectType: "PTC.ProdMgmt.PartUse" /* STRING */
});
// result: JSON
var tempResult = Things["PTC.WCAdapter"].GetRelatedItems({
item: input /* JSON */,
relation: {path:"Uses"} /* JSON */,
attributes: attributesConfigurationCCO /* JSON */
});

var convertedResults = me.ConvertUsageLinkToPart({
usageLinkCCO:tempResult /* JSON */
});
var result = convertedResults;
「完了」をクリックします。その後、「保存」をクリックして Thing Template を保存します。
これで、部品リストのカスタム実装とそのコンフィギュレーションが作成され、Mashup Builder で使用できるようになりました。実装を使用するには、アイテムリストベースコンポーネントをマッシュアップに追加し、 をクリックします。「コンフィギュレーションタイプ」ドロップダウンメニューで、Parts Lists Demo - Parts List としてラベル付けされている部品リストのコンフィギュレーションを選択します。
部品リストを使用して、以下のビデオに示すマッシュアップを作成する場合、次の追加コードが必要になります。
属性コンポーネントの設定に使用するコード:
{
"layout": {
"selectedKey": "horizontal",
"additionalData": {
"dimensionDefinition": {
"maxHeight": {
"value": 200,
"version": "1.0.0"
},
"maxWidth": {
"value": 200,
"version": "1.0.0"
}
}
},
"version": "1.0.0"
},
"attributes": {
"sets": [{
"data": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "ModifiedBy",
"ordinal": 0
}, {
"id": "GatheringPart",
"ordinal": 1
}, {
"id": "Latest",
"ordinal": 2
}, {
"id": "FolderName",
"ordinal": 3
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
},
"name": ""
}
],
"inTailoring": true,
"filteredValues": {
"data": [{
"itemListsData": [{
"objectType": ""
}
],
"adapter": {
"instanceName": "",
"thingName": ""
}
}
]
},
"version": "1.0.0"
}
}
マッシュアップの input パラメータに使用するコード。有効な部品 ID を追加してください。
{
"version": "1.0.0",
"data": [{
"adapter": {
"thingName": "PTC.WCAdapter",
"instanceName": "windchill"
},
"itemListsData": [{
"objectType": "PTC.ProdMgmt.Part",
"items": [{
"id": {
"value": ""
}
}
]
}
]
}
]
}
ビデオチュートリアル: 部品リスト実装の作成
次の 2 つのビデオチュートリアルは、部品リストのカスタム実装を作成し、使用する方法を示しています。1 つ目のビデオでは、上記の例の手順に従って、部品リストを作成する方法について説明しています。2 つ目のビデオでは、マッシュアップで部品リストを使用する方法について説明しています。ビデオで使用されるコードはすべて上記の例に含まれています。
ビデオを大きなウィンドウで視聴するには、プレーヤーのタイトルをクリックします。YouTube ビデオが新しいタブで開きます。
これは役に立ちましたか?