Server リボンのアーキテクチャ
最終更新日: 2015年3月9日
適用対象: SharePoint Foundation 2010
この記事の内容
Server リボンの基本オブジェクト
Server リボンの通信
Server リボンのコントロール
Microsoft SharePoint Foundation 2010 の Server リボンにより、SharePoint オブジェクトを操作するための一貫性のあるユーザー インターフェイスが作成されます。Server リボン XML と簡潔な ECMAScript (JavaScript、JScript) を使用してリボンを宣言によって拡張することも、リボン XML とページ コンポーネントをより高度なシナリオに使用することもできます。
Server リボンの基本オブジェクト
リボンの最上位の要素はタブです。タブは SharePoint サイトのページの最上部に横方向に表示されます。タブにはそれぞれ一連のグループが分類されます。グループには一連のコントロールが含まれます。グループごとに複数のコントロールを含めることができ、各グループはラベルによって識別されます。グループ内のコントロールには、ボタン、ドロップダウン メニュー、チェック ボックス、コンボ ボックス、分割ボタン、ギャラリーなどがあります。コントロールはそれぞれ一意のコマンドに関連付けられています。
Server リボンは、フィーチャー マニフェストまたはユーザー カスタム アクションの Server リボン XML を使用して定義します。リボンに使用される XML では、各タブ、グループ、およびコントロールを定義します。Tab 要素には、1 つの Groups 要素が含まれます。各 Groups 要素には、複数の Group 要素があります。Group 要素の中には 1 つの Controls 要素があり、この要素に複数の種類のコントロールが含まれます。利用できるコントロールの種類の一覧を「Server リボンのコントロール」セクションに示します。リボン XML の詳細については、「Server リボン XML」を参照してください。
Server リボンの通信
リボンは複数のオブジェクトを使用して、ページの残りの部分とやりとりします。リボンはどのコントロールが有効になっているか、コントロールの状態、およびどのタイミングで再描画するかを把握している必要があります。Server リボンは、CommandDispatcher、PageManager、PageComponent など、オブジェクトを使用して通信します。これらの各オブジェクトは、リボンとのやりとりで重要な役割を果たします。
PageManager は、すべてのコントロールを初期化し、リボンの PageComponent のオブジェクトを登録します。ページ上には PageManager の 1 つのインスタンスが存在します。
CommandDispatcher は、PageComponent のすべてのオブジェクトと、オブジェクトで処理できるコマンドを処理します。ページにコマンドが送られると、CommandDispatcher がそのコマンドを受け取って、適切な PageComponent に渡します
PageComponent は ECMAScript (JavaScript、JScript) で作成され、CommandDispatcher から渡されるコマンドを処理します。PageComponent がページに追加された後で、JavaScript を使用して PageComponent のインスタンスを作成し、それを PageManager に登録します。これにより、PageComponent はリボン XML で定義されたコマンドに対応できるようになります。
Server リボンのコントロール
Server リボンには、多くの種類のコントロールが含まれます。チェック ボックス、ボタン、コンボ ボックスなど、単純なコントロールもあれば、分割ボタン、ポップアップ アンカーなど、より高度なコントロールもあります。リボンで利用できるコントロールを以下に示します。
コントロールの種類 |
説明 |
---|---|
アクションを実行するための単純なボタン。 |
|
オプションを選択するためのチェック ボックス。 |
|
色またはスタイルを選択するためのグリッド。 |
|
クリックまたは入力によって値を選択するためのリスト。 |
|
クリックによって値を選択するためのリスト。 |
|
メニューを開く下矢印付きのボタン。 |
|
表のサイズを指定するための 10 x 10 のグリッド。 |
|
情報を示す 1 行のテキスト。 |
|
ポップアップ メニューを表示するためのコンテナー。 |
|
メニューを分割するためのセクション。メニュー セクションにはタイトルを付けて、コントロールを入れることができます。 |
|
最近使用されたメニュー アクションを実行するためのボタン。このコントロールでは、サブメニューから選択された最後のアクションをボタン アクションとして使用します。 |
|
値を入力して、または値を増減する矢印キーを使用して、その値を挿入するためのコントロール。 |
|
ボタンとメニューの両方に使用されるコントロール。 |
|
テキストを入力するためのコントロール。 |
|
オンの状態とオフの状態を切り替えるためのボタン。 |