11.3 カレンダの作成
アプリケーション・ビルダーには月次、週次、日次およびリスト表示のカレンダを作成するためのサポートが含まれます。カレンダのベースとなる表を一度指定すると、特定の列に格納された情報へのドリルダウン・リンクを作成して、ドラッグ・アンド・ドロップ機能を有効化できます。
- サポートされているカレンダについて
アプリケーション・ビルダーでは、2つのカレンダ・タイプ(カレンダおよびレガシー・カレンダ)がサポートされています。 - サンプル・カレンダ
サンプル・アプリケーション(「サンプル・データベース・アプリケーション」または「サンプル・カレンダ」アプリケーション)をインストールすることでサンプル・カレンダを表示できます。 - 新しいページへのローカル・データベースを使用するカレンダの追加
ページの作成ウィザードを実行して、ローカル・データベースを使用するカレンダを含む新規ページを作成します。 - 外部データ・ソースを使用した新規ページへのカレンダの追加
ページの作成ウィザードを実行して、外部データ・ソースを使用したカレンダ付きの新しいページを追加します。 - ページ・デザイナでのカレンダの作成
SQL問合せを指定して、ページ・デザイナでカレンダを手動で作成します。 - カレンダ属性の管理
カレンダを作成すると、プロパティ・エディタで属性を編集することで表示を変更できます。各カレンダには、2セットの編集可能な属性(リージョン属性とカレンダ属性)があります。 - カレンダの動的アクションのサポートについて
動的アクションは、JavaScriptを必要としないで複雑なクライアント側の動作を宣言的に定義する方法を提供します。動的アクションの作成ウィザードを使用して、定義された条件セットが発生したときに実行されるアクションを指定します。また、アクションの影響を受ける要素や、影響を受ける時期と影響も指定できます。
関連項目:
親トピック: データベース・アプリケーション・コンポーネントの管理
11.3.1 サポートされているカレンダについて
アプリケーション・ビルダーでは、2つのカレンダ・タイプ(カレンダおよびレガシー・カレンダ)がサポートされています。
カレンダは、FullCalendar jQueryライブラリをベースにしており、CSSを介してのみカスタマイズできます。レガシー・カレンダはテンプレートベースで、今後のリリースでは非推奨になる可能性があります。
ヒント:
以前のリリースでは、レガシー・カレンダはカレンダ(テンプレート)、クラシック・カレンダ、簡易カレンダおよびSQLカレンダと呼ばれていました。
カレンダおよびレガシー・カレンダの両方で、指定した表またはSQL問合せをベースとするカレンダを作成できます。作成プロセス中、日付列と表示列を選択するプロンプトが表示されます。適切なユーザー・インタフェースと様々な追加機能が提供されるため、すべてのレガシー・カレンダを最新カレンダに変換することをお薦めします。
Calendar
カレンダ・オプションでは、次のことがサポートされます。
-
複数ビューでのカレンダ・イベントのレンダリング(「月」、「週」、「日」または「リスト」)。
-
期間ベース・イベントおよび期間ベースでないイベントのレンダリング。
-
イベントを異なる日付にドラッグ・アンド・ドロップすることによって開始日および終了日を変更する機能。ドラッグ・アンド・ドロップは、ローカル・データ・ソース(つまり、参照されるデータベース・スキーマのデータベース・オブジェクト)でのみサポートされ、Googleカレンダなどの外部データ・ソースではサポートされません。
-
イベントの長さをサイズ変更したり、終了日を変更することによって期間を変更する機能。
-
フォームを使用し、イベントまたは空のカレンダ・セルのいずれかをクリックすることによって、カレンダの新規イベントを編集または追加する機能。
-
Webサービス・コールまたはGoogleカレンダ・フィードを使用した外部ソースからのイベントのレンダリング。
-
単一または複数の行でイベント・タイトルをレンダリングする機能。
-
様々なCSSクラスを使用して、開発者は様々なイベント・タイプに様々なスタイルを選択できます。
-
PDFの印刷可能な書式でイベントをダウンロードする機能
-
イベントを共有する複数の形式(iCal、CSV、XML)のサポート。
-
各イベントの詳細を簡単に確認できるように、月次/週次/日次ビューにツールチップを追加する機能。
レガシー・カレンダ
レガシー・カレンダ・オプションでは、次のことがサポートされます。
-
1ページにつき1つのレガシー・カレンダの作成。
-
開始日のみのレンダリング。
-
テンプレートによって定義されるルック・アンド・フィール。
-
イベントのドラッグ・アンド・ドロップによる開始日の変更。
-
日次、週次、月次ビューを含むカレンダ。
-
日付列は、エントリが含まれるカレンダ上の日付を決定します。
-
表示列は、カレンダを表示する特定の行を定義します。
関連項目:
親トピック: カレンダの作成
11.3.2 サンプル・カレンダ
サンプル・アプリケーション(「サンプル・データベース・アプリケーション」または「サンプル・カレンダ」アプリケーション)をインストールすることでサンプル・カレンダを表示できます。
次に、サンプル・データベース・アプリケーションからのサンプル・カレンダを示します。
このカレンダの機能は次のとおりです。
-
前へ - 前月にナビゲートします。
-
次へ - 翌月にナビゲートします。
-
月 - すべての順序の月次ビューを表示します。
-
リスト - すべての順序のリストを表示します。
ヒント:
その他のカレンダの例を確認するには、サンプル・カレンダ・アプリケーションをインストールします。生産性およびサンプル・アプリケーションのインストールを参照してください。
親トピック: カレンダの作成
11.3.3 新しいページへのローカル・データベースを使用するカレンダの追加
ページの作成ウィザードを実行して、ローカル・データベースを使用するカレンダを含む新しいページを作成します。
ローカル・データベースを使用するカレンダを新しいページで作成するには、次のステップを実行します。
親トピック: カレンダの作成
11.3.4 外部データ・ソースを使用した新しいページへのカレンダの追加
ページの作成ウィザードを実行して、外部データ・ソースを使用したカレンダ付きの新しいページを追加します。
外部データ・ソースを使用して新しいページにカレンダを作成するには、次のステップを実行します。
親トピック: カレンダの作成
11.3.5 ページ・デザイナでのカレンダの作成
SQL問合せを指定して、ページ・デザイナでカレンダを手動で作成します。
ヒント:
ページ・デザイナでカレンダを作成するには、SQL問合せを指定する必要があります。表を選択してカレンダを作成するには、ページの作成ウィザードを使用します。新しいページへのローカル・データベースを使用するカレンダの追加を参照してください。
ページ・デザイナでカレンダを作成するには、次のステップを実行します。
親トピック: カレンダの作成
11.3.6 カレンダ属性の管理
カレンダを作成すると、プロパティ・エディタで属性を編集することで表示を変更できます。各カレンダには、2セットの編集可能な属性(リージョン属性とカレンダ属性)があります。
リージョン属性は、カレンダのコンテナとして機能するページの領域を定義します。カレンダ属性は、テンプレート、日付列および一般的なカレンダ書式設定を指定します。
- プロパティ・エディタでのカレンダ属性の編集
- 追加および編集機能を含めるように既存のカレンダを編集
- カレンダ初期化JavaScriptコードの追加
- 既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化
親トピック: カレンダの作成
11.3.6.2 追加および編集機能を含めるように既存のカレンダを編集
開発者は、追加および編集機能を含めるように既存のカレンダを編集できます。
ヒント:
デスクトップ・アプリケーションのカレンダのリンクの作成およびリンクの編集を定義する場合、2つの異なるページを定義することをお薦めします。リンクの編集を作成するには、カレンダ属性の主キー列としていずれかの表の列またはSQL問合せ列を選択します。
追加および編集機能を含めるように既存のカレンダを編集するには、次のステップを実行します。
親トピック: カレンダ属性の管理
11.3.6.3 カレンダ初期化JavaScriptコードの追加
初期化JavaScriptコード属性を編集して、JavaScriptファンクションを追加して標準のjQuery FullCalendar初期化属性を上書きできます。このファンクションでは、パラメータとしてカレンダ初期化属性を含むJavaScriptオブジェクトが返される必要があります。
初期化JavaScriptコードを追加するには、次のステップを実行します。
注意:
この機能の例を確認するには、サンプル・カレンダ・サンプル・アプリケーションを実行します。ナビゲーション・メニューから、カスタム・カレンダ初期化を選択します。生産性およびサンプル・アプリケーションのインストールを参照してください。
親トピック: カレンダ属性の管理
11.3.6.4 既存のカレンダでのデータのドラッグ・アンド・ドロップの有効化
カレンダ・リージョンでは、ドラッグ・アンド・ドロップによるカレンダ・イベントの移動または変更をサポートしています。
カレンダ・リージョンのドラッグ・アンド・ドロップのサポートを有効化するには、次のステップを実行します。
親トピック: カレンダ属性の管理
11.3.7 カレンダの動的アクションのサポートについて
動的アクションは、JavaScriptを必要としないで複雑なクライアント側の動作を宣言的に定義する方法を提供します。動的アクションの作成ウィザードを使用して、定義された条件セットが発生したときに実行されるアクションを指定します。また、アクションの影響を受ける要素や、影響を受ける時期と影響も指定できます。
動的アクションを使用するとき、ページに追加する動的アクションが多くなるほど全体のページ・サイズが大きくなることに注意する必要があります。これは、動的アクション・フレームワークでは、定義された各動的アクションについてクライアントへの追加コードを生成し、そのコードはクライアント内のフレームワークによってダウンロードおよび実行される必要があるためです。
動的アクションには、アクションを制御するために指定できる条件が含まれています。レポートやチャートなどのOracle Application Expressコンポーネントは、特定のカレンダ・イベントに対応できます。たとえば、カレンダを表示して、後続の月を表示するボタンをクリックしたときに、関連するレポートを自動的にリフレッシュする動的アクションを作成できます。
この機能を使用するには、開発者がページ・デザイナのカレンダ・ページで新しい動的アクションを作成します。ページ・デザイナの左ペインにある「動的アクション」タブで、新しい動的アクションを選択します。作成したら、新しい動的アクションが「新規」のラベルとともに赤色で表示されます。その後、開発者がプロパティ・エディタで動的アクション属性を編集します。プロパティ・エディタで、「時期」属性を見つけて展開します。「時期」属性の「イベント」で、次のいずれかのイベントを選択します。
-
日付の選択[カレンダ]
このイベントは、ユーザーがマウスまたはキーボードを使用して空の日付または日付範囲を選択したときに起動します。開発者がカレンダ属性で「リンクの作成」を指定した場合、イベントは起動しません。
現在のビューに関する情報は、データ・オブジェクトとして渡されます。
{ "newStartDate"::: "newEndDate"::: } { "newStartDate":{first day of selection} (YYYYMMDDHH24MISS), "newEndDate": {last day of selection} YYYYMMDDHH24MISS }
-
イベントの選択[カレンダ]
このイベントは、ユーザーがマウスを使用して既存のイベントをクリックしたとき、またはキーボードを使用して選択したときに起動します。開発者がカレンダ属性で「リンクの編集」を指定した場合、イベントは起動しません。データ・オブジェクトには、イベントのjQuery FullCalendarのJSON表現が含まれます。
関連項目:
FullCalendarドキュメントの「Event Data」、「Event Object」
-
ビューの変更[カレンダ]
このイベントは、ビュー・タイプが変更されたとき(日、週、月、リスト)、またはビューが前または次のビュー・ページに変更されたときに起動します。データ・オブジェクトには、次の情報が含まれます。
{ "viewType": {view type, day, week, month or list}, "startDate": {first day of view} (YYYYMMDDHH24MISS), "endDate": {last day of view} (YYYYMMDDHH24MISS) }
注意:
この機能の例を確認するには、サンプル・カレンダ・サンプル・アプリケーションを実行します。ナビゲーション・メニューから、カレンダおよび動的アクションを選択してカレンダ・イベントを選択します。生産性およびサンプル・アプリケーションのインストールを参照してください。
関連項目:
動的アクションの管理および動的アクションのデバッグ(問題をデバッグする方法の詳細)
親トピック: カレンダの作成