外部コンポーネントを構成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
JavaScriptバンドルをアップロードする前に、インターフェースに次の機能が含まれていることを確認してください。
-
renderは、コンポーネントがレンダリングされ、データとインタラクションのオプションを持つパラメータとして1つのオブジェクトを受け取るときに実行されます。
-
unmountこれは、コンポーネントがアンマウントされたときに実行されます。
初期化する
createExternalRoot関数はHTMLElement(コンテナパラメータ)を受け取り、コードのマウントに使用できます。Externalコンポーネントを初期化するには、次の初期化ロジックをコンポーネントのルート内、render関数の外側に配置します。
レンダ
render関数は、Externalコンポーネントの内容をin Content Hubのdiv内にレンダリングし、外部コンポーネントのUIをドキュメント オブジェクト モデル (DOM) にマウントします。この関数は、次のデータを含むオブジェクトを受け取ります。
-
name -糸。
-
theme - マテリアル ユーザー インターフェース テーマ オブジェクト フォントや色などのスタイル設定プロパティを提供します。
-
client - 複雑なJSONをシリアル化および逆シリアル化する事前認証済みJavaScript SDKクライアントの機能に問題があるため、クエリクライアントを使用する場合は、独自のクライアントインスタンスを作成することをお勧めします。クライアントにアクセスするには、バンドルにnpm: @sitecore/sc-contenthub-webclient-sdkを含め、createExternalRootに渡される2番目の引数を使用して認証されたクライアント インスタンスを作成します。 createExternalRootの新しいシグネチャは次のとおりです。
クライアントを作成するサンプル コードについては、「クライアントの作成例」を参照してください。
手記すべてのクライアントを正しくインスタンス化できるわけではないことに注意してください。たとえば、entityFactoryクライアントです。このクライアントを使用するには、次の操作を行います。
-
config - 外部コンポーネントに渡される オプションの設定 (デフォルトは空のオブジェクト)。
-
api - 読み取り専用の値 (ExternalApi)。
-
entity - entity | null.
-
user - 読み取り専用の値 (ExternalUser) と、次のセクションで説明する構造。
-
options - 次のセクションで説明する構造のオブジェクト。
-
icon - Content HubアイコンをHTML要素に追加するメソッドを持つオブジェクト。
themeをお客様のマテリアルUIコンポーネントに直接渡さないでください。マテリアルUIのバージョンは、Content Hubで使用されているものとは異なる場合があるため、完全な互換性がない可能性があります。代わりに、スタイル設定にCSS変数を使用します。
JS SDKを外部コンポーネントバンドルに含めるときにバンドルサイズを小さくするには、clientBuilderによって返される認証済みクライアントを使用して、目的のサブクライアントをインスタンス化します。たとえば、このアプローチでは、バンドラーが到達不能なコードを特定して排除するのを防ぎます。
クライアントの特定の部分 (次の例のqueryClientなど) のみが必要であることをバンドラーに通知するには、次の手順を実行します。
引数なしでclientBuilderを呼び出すと、アプリケーションによって既に使用されている認証済みインスタンスが返されます。
userオブジェクトには、次のデータがあります。
optionsオブジェクトには、次のデータがあります。
エンティティ プロパティ
entityプロパティは、configオブジェクトとthemeオブジェクトと同じレベルで渡されます。これは、次の情報で構成されています。
使用可能なオブジェクトとメソッドには、次のものがあります。
システムプロパティ
このオブジェクトは、現在のエンティティのシステムプロパティを保持します。
プロパティ
このオブジェクトは、現在のエンティティのプロパティを保持します。
関係
このオブジェクトは、現在のエンティティのプロパティを保持します。
権限
このオブジェクトは、現在のエンティティのアクセス許可を保持します。
レンディション
このオブジェクトは、現在のエンティティのレンディションを保持します。
setPropertyValue (プロパティ値)
これは、エンティティのプロパティの値を変更または設定する方法です。プロパティの名前、値、およびオプションのカルチャを受け取ります。
アイコンコンポーネント
これは、Content Hubで使用されるSVGアイコンを読み込む方法です。アイコンは、render関数が受け取るメイン オブジェクトに渡されるオブジェクトです。このオブジェクトには、insertContentHubIconInElementというメソッドがあり、アイコンをレンダリングするにはアイコン名とHTMLElementが必要です。
setRelatedIdsの
これは、エンティティのリレーションの値を変更または設定する方法です。リレーション名、entityIdsの配列、およびオプションのリレーションロールを受け取ります。
setRelatedIdsメソッドに渡すことができるリレーションの役割は数値です。
Externalコンポーネントが詳細ページで使用されていない場合、エンティティはnullされます。カスタムコードでは、プロパティが存在し、nullされていないことを確認します。
APIオブジェクト
apiオブジェクトには、Search、Selection、およびDetailsコンポーネントと対話し、通知を表示するメソッドがあります。
次の方法では、フィルターを追加または削除できます。