ローカル・コンポーネントの実装
コンポーネントは、JavaScriptモジュールからデフォルトのクラス・エクスポートをエクスポートします。 JavaScriptモジュールはページに動的にインポートされ、クラスの新しいインスタンスが作成されます。
export default class {
constructor(args) {...}
render(container) {...}
}
次の設定は、args
に含まれています:
-
SitesSDK
: Oracle Content Management Sites SDK。 -
id
: ページに追加されたコンポーネントの一意のID (GUID
)。 -
viewMode
: ページがレンダリングされている現在のモード。 ページが編集中の場合、それは「編集」です。 ページがプレビュー中の場合、それは「ナビゲート」です。 実行時(サイトの公開時)は、この値は定義されていません。 各モードの公開する必要がある機能に基づいて、様々な実装を提供できます。 たとえば、リンクは、ページが編集モードで実行されているときはアクティブにできません。
ノート:
コンポーネントにJQueryまたはKnockoutを使用する必要はありませんが、ネストされたコンポーネントなどのOracle Content Management機能を利用する場合は、Oracle Content Managementによって提供されるKnockoutのバージョンを使用する必要があります。 このバージョンのKnockoutでは、コンポーネント登録およびハンドラが拡張されています。それらは、それ以外では利用できません。コンポーネント自体については、コンポーネントがページ・ライフサイクルとやり取りできるようインスタンス化されるときに、SDKが渡されます。 ページ・ライフサイクル関数はコンポーネントによって実装され、Oracle Content Managementによってコールされ、コンポーネントがページにレンダリングされます。
コンポーネントを実装するために、必須およびオプションのAPIが提供されています。
必須のAPI
customComponent.render(container)
: 指定されたDOMコンテナ要素にそれ自体を挿入するようコンポーネントに指示します。
-
container
: カスタム・コンポーネントHTMLのDOMコンテナ要素。
オプションのAPI
customComponent.dispose()
: コンポーネントがページから削除されるときにコールされます。 必要なくなったリソースをコンポーネントで削除する機会を提供します。