Angular 図式を使用したコンポーネントの作成
デベロッパーズ・ツールキット内で、 IBM は、アプリケーションで使用できるスターター・コードを使用してコンポーネントを素早く生成するための Angular 図式を提供します。 コンポーネントには、検索ページ、表、およびフィールドの詳細が含まれます。
Schematics を使用して、 Order Hub内の既存のコンポーネントと同じ設計および機能を持つコンポーネントを生成します。 生成されるコンポーネントには、以下のようなさまざまなサービスと通信するために必要なライブラリーも含まれます。- Sterling™ Order Managementシステムのバックエンド。
- Sterling Intelligent Promising Inventory Visibility テナント。
- その他のマイクロサービス・テナント。
- 既存のページで使用される Carbon UI ライブラリー。
始める前に
- Order Hub コードを解凍したことを確認します。 詳しくは、 Order Hub のカスタマイズの開始を参照してください。
- 以下のコマンドを実行して、
strict-sslを false に設定します。npm config set "strict-ssl" false - IBM が提供する回路図にアクセスするには、以下のいずれかのコマンドを実行して、@buc/schematics の最新バージョンを再インストールしてください。 Angularの場合、 v15、次のコマンドを実行します。
Angularの場合、 v18、次のコマンドを実行します。npm uninstall -g @buc/schematics npm install -g ./lib/buc/schematics/schematics-v3latest.tgznpm uninstall -g @buc/schematics npm install -g ./lib/buc/schematics/schematics-v4latest.tgz - 図式スクリプトのヘルプを表示するには、以下を実行します。
ng g @buc/schematics:<component> --help - コンポーネントを作成します。
「検索」ページ・コンポーネントの作成
ユーザーが検索条件を指定してデータを検索するための search page コンポーネントを作成します。
search-panel 図式は、検索ページ・コンポーネントを作成し、以下の機能をサポートするコードを含んでいます。- 階層リンク (breadcrumb trail)
- 「検索の保存」 機能
- 検索条件のカスタマイズ 機能
- グループ化による 検索

手順
- 端末を開き、コンポーネントを追加したいモジュールに移動します。 例えば、 devtoolkit_docker/orderhub-code/buc-app-orderなどです。
- 以下のコマンドを実行して、コンポーネントを作成します。
パラメーターng g @buc/schematics:search-panel --name <name> \ --json-file-path <json-file-path> \ --translation-file-path <translation-file-path> \ --shared-lib <shared-lib> \ --path <path> \ --json-file-name <json-file-name> \ --project <project-name> \ --skip-import- 名前
- (必須) コンポーネントの名前です。
- JSON ファイル・パス
- (必須) 構成ファイルを更新または作成する場所へのパス (search_fields.json)。 例えば、 packages/order-shared/assets/buc-app-orderなどです。
- 変換ファイル・パス
- (必須) 変換リテラルを更新または作成する場所へのパス (en.json))。 例えば、 packages/order-shared/assets/buc-app-order/i18nなどです。
- 共有ライブラリー
- (必須) 共有ライブラリー・フォルダーの名前。
- パス
- (オプション) コンポーネント・ファイルを作成するパス (現行モジュールに対する相対パス)。 デフォルトでは、コンポーネントと同じ名前のフォルダーがモジュールのルート・フォルダーに作成されます。
- json-ファイル名
- (オプション) デフォルトでは、図式はテスト・データで search_fields.json を更新します。 オブジェクトを更新するか、別のファイルに追加する必要がある場合は、このパラメーターを使用します。 アセット・フォルダーに存在しないファイル名を指定すると、新規ファイルが作成されます。
- プロジェクト
- 図式が作成されているパッケージ・フォルダーの名前。 例えば、パッケージ /order-search-result に検索結果コンポーネントを作成すると、プロジェクト名は order-search-result になります。
ng g @buc/schematics:search-panel --name my-sample --path packages/order-search/src-custom/app/features/search --json-file-path packages/order-shared/assets/buc-app-order --translation-file-path packages/order-shared/assets/buc-app-order/i18n --shared-lib order-shared --project order-search --skip-import - 図式により、新規コンポーネントが作成され、共有ファイルが更新されます。 端末の出力には、作成および更新されたファイルの要約が示されます。
「検索結果」ページ・コンポーネントの作成
ユーザーが検索ページ・コンポーネントから照会を実行した後に結果を表示する search results page コンポーネントを作成します。
search-result-component 図式は、以下の 2 つのコンポーネントを生成します。- 検索結果コンポーネント。
- テーブルコンポーネント BaseTableComponent 型)で、そのセレクタは検索結果コンポーネントテンプレートに含まれる。

手順
- 端末を開き、コンポーネントを追加したいモジュールに移動します。 例えば、 devtoolkit_docker/orderhub-code/buc-app-orderなどです。
- 以下のコマンドを実行して、検索結果ページ・コンポーネントを作成します。 図式によってコンポーネントが作成され、最も近いルーティング・モジュール内の検索結果コンポーネントのサンプル・ルーティング・オブジェクトが更新されます。
パラメーターng g @buc/schematics:search-result-component --name <name> \ --path <resultsPageComponentPath> \ --table-path <tableComponentPath> \ --json-file-path <json-file-path> \ --translation-file-path <translation-file-path> \ --shared-lib <shared-lib> \ --project <project-name> \ --skip-import- 名前
- (必須) コンポーネントの名前です。
- JSON ファイル・パス
- (必須) 構成ファイル (buc-table-config.json)) を更新または作成する場所へのパス。
- 変換ファイル・パス
- (必須) 変換リテラルを更新または作成する場所へのパス (en.json)。
- 共有ライブラリー
- (必須) 共有ライブラリー・フォルダーの名前。
- パス
- (オプション) 検索結果コンポーネントを作成するためのパス (現行モジュールに対する相対パス)。 デフォルトでは、コンポーネントと同じ名前のフォルダーがモジュールのルート・フォルダーに作成されます。
- 表パス
- (オプション) 現行モジュールを基準とした、テーブル・コンポーネントを作成するためのパス。 デフォルトでは、コンポーネントと同じ名前のフォルダーがモジュールのルート・フォルダーに作成されます。
- json-ファイル名
- (オプション) デフォルトでは、図式はテスト・データで buc-table-config.json を更新します。 オブジェクトを更新するか、別のファイルに追加する必要がある場合は、このパラメーターを使用します。 アセット・フォルダーに存在しないファイル名を指定すると、新規ファイルが作成されます。
- プロジェクト
- 図式が作成されているパッケージ・フォルダーの名前。 例えば、パッケージ /order-search-result に検索結果コンポーネントを作成すると、プロジェクト名は order-search-result になります。
ng g @buc/schematics:search-result-component --name my-sample --path packages/order-search/src-custom/app/features/search --table-path packages/order-search/src-custom/app/features/search --json-file-path packages/order-shared/assets/buc-app-order --translation-file-path packages/order-shared/assets/buc-app-order/i18n --shared-lib order-shared --project order-search --skip-import - 図式により、新規コンポーネントが作成され、共有ファイルが更新されます。 端末の出力には、作成および更新されたファイルの要約が示されます。
表コンポーネントの作成
表にデータを表示するための table コンポーネントを作成します。
table-component 図式は、以下の 2 つの表クラスのいずれかを拡張することにより、表コンポーネントの作成をサポートします。
- ClientSidePaginationBaseTableComponent: クライアント・サイドのページ編集の場合。すべてのテーブル行項目が 1 回の API 呼び出しで取得されます。
- BaseTableComponent: API からのサーバー・サイドのページ・ベースの結果の場合。

手順
- 端末を開き、コンポーネントを追加したいモジュールに移動します。 例えば、 devtoolkit_docker/orderhub-code/buc-app-orderなどです。
- 以下のコマンドを実行して、表コンポーネントを作成します。
パラメーターng g @buc/schematics:table-component --name <name> \ --extend <extendableClassName> \ --json-file-path <json-file-path> \ --translation-file-path <translation-file-path> \ --path <path> \ --project <project-name> \ --skip-import- 名前
- (必須) コンポーネントの名前です。
- 拡張
- (オプション) 拡張可能テーブル・クラスの名前。 有効な値は ClientSidePaginationBaseTableComponent または BaseTableComponent です。 コマンドに値を指定しないと、コンポーネントを選択するように求めるプロンプトが端末に表示されます。 Git Bash for Windowsでは、extendパラメータは必須です。
- JSON ファイル・パス
- (必須) 構成ファイル (buc-table-config.json)) を更新または作成する場所へのパス。
- 変換ファイル・パス
- (必須) 変換リテラルを更新または作成する場所へのパス (en.json)。
- パス
- (オプション) コンポーネント・ファイルを作成するパス (現行モジュールに対する相対パス)。 デフォルトでは、コンポーネントと同じ名前のフォルダーがモジュールのルート・フォルダーに作成されます。
- json-ファイル名
- (オプション) デフォルトでは、図式はテスト・データで buc-table-config.json を更新します。 オブジェクトを更新するか、別のファイルに追加する必要がある場合は、このパラメーターを使用します。 アセット・フォルダーに存在しないファイル名を指定すると、新規ファイルが作成されます。
- プロジェクト
- (必須) 図式の作成先となるパッケージ・フォルダーの名前。 例えば、パッケージ /order-search-result に検索結果コンポーネントを作成すると、プロジェクト名は order-search-result になります。
ng g @buc/schematics:table-component --name my-sample2 --extend ClientSidePaginationBaseTableComponent --json-file-path packages/order-shared/assets/buc-app-order --translation-file-path packages/order-shared/assets/buc-app-order/i18n --path packages/order-search/src-custom/app/features/search --project order-search --skip-import - 図式により、新規コンポーネントが作成され、共有ファイルが更新されます。 端末の出力には、作成および更新されたファイルの要約が示されます。
参考として、次のチュートリアルでは、Angular スケマティクスを使用してテーブルコンポーネントを作成しています。チュートリアル:在庫検索結果ページのカスタマイズ。
フィールド・コンポーネントの作成
Field コンポーネントを作成して、特定のレコードの詳細を表示します。 例えば、オーダー日付、オーダー明細、およびオーダーの出荷ノード情報などです。
summary-component 図式は、以下の 2 つのタイプのコンポーネントの作成をサポートします。
- Field component: ページのコンテンツ領域に属性を表示します。
- Summary component: 詳細ページの右側のパネルに属性を表示します。

手順
- 端末を開き、コンポーネントを追加したいモジュールに移動します。 例えば、 devtoolkit_docker/orderhub-code/buc-app-orderなどです。
- 以下のコマンドを実行して、フィールド・コンポーネントを作成します。
パラメーターng g @buc/schematics:summary-component \ --name <name> \ --json-file-path <json-file-path> \ --is-summary-panel <true|false> \ --path <path> \ --project <project-name> \ --skip-import- 名前
- (必須) コンポーネントの名前です。
- JSON ファイル・パス
- (必須) 構成ファイルを更新または作成する場所へのパス (buc-field-details.json)。
- 「is-summary-」パネル
- (オプション) 作成するコンポーネントのタイプを決定するブール値。 要約コンポーネントを作成するには、 true を指定します。 フィールド・コンポーネントを作成するには、 false を指定します。 デフォルト値は true です。
- パス
- (オプション) コンポーネント・ファイルを作成するパス (現行モジュールに対する相対パス)。 デフォルトでは、コンポーネントと同じ名前のフォルダーがモジュールのルート・フォルダーに作成されます。
- json-ファイル名
- (オプション) デフォルトでは、図式はテスト・データで buc-field-details.json を更新します。 オブジェクトを更新するか、別のファイルに追加する必要がある場合は、このパラメーターを使用します。 アセット・フォルダーに存在しないファイル名を指定すると、新規ファイルが作成されます。
- プロジェクト
- 図式が作成されているパッケージ・フォルダーの名前。 例えば、パッケージ /order-search-result に検索結果コンポーネントを作成すると、プロジェクト名は order-search-result になります。
ng g @buc/schematics:summary-component --name my-sample --path packages/order-search/src-custom/app/features/search --json-file-path packages/order-shared/assets/buc-app-order --is-summary-panel true --project order-search --skip-import - 図式により、新規コンポーネントが作成され、共有ファイルが更新されます。 端末の出力には、作成および更新されたファイルの要約が示されます。
- 「フィールド・コンポーネント」を作成した場合は、生成された HTML ファイルを編集してヘッダー・パラメーターを渡し、タブのラベルを指定します。 例えば、 画面キャプチャーを参照する場合、アクティブ・タブには「Details」というラベルが付きます。 「Details」ラベルを指定するには、 en.json ファイルに、変換リテラルへのパスを含むヘッダーを追加します。
[header]="'SHIPMENT_DETAILS.SHIPMENT_TABS.SHIPMENT_DETAILS'"