2.0
概要
ここでは、Reference Framework 2.0実施された変更の概要を提供します。
要件
Reference Framework 2.0 はNexaweb Platform 4.5.33 またはそれ以上で稼働します。
セキュリティロールの更新
セキュリティロールは常に reference framework の一部でした。ロールが使用できる 2.0 では、ページ、コマンドバー、メニュー、ページ内のコンポーネントが拡張されています。
nexaweb-reference-framework.xml のボタンのロール属性またはメニュー項目を設定したロールの使用により、ボタン、メニューアイテムが表示可能または有効にすることができます。
ロール属性
- roleVisible - button/menu項目を表示するために必要なロールを指定します
- roleEnabled - button/menu 項目が有効になるために必要なロールを指定します
ロールを使用することにより、ページが開かれる、また読み込み専用としてページを開くかどうかをコントロールするために使用することが可能です。
ロール属性
- roleOpen - ページを開くために有効なロールを指定します
- roleReadOnly - ページをリードオンリーとして開くロールを指定します
コンポーネントのロール
コンポーネントのロール属性はコントロールが表示可能、有効、またはリードオンリーかどうかコントロールするために使用されます。
ロール属性
- roleEnabled - コンポーネントが有効にするために必要なロールを指定します
- roleVisibile - コンポーネントが表示可能にするために必要なロールを指定します
- roleReadOnly - コンポーネントをリードオンリーにするために必要なロールを指定します
ページイベント
ページイベントが reference framework に追加されます。これらのイベントはページのライフサイクル、ページへ/からのナビゲーションのライフサイクルに対するコントロールを可能にします。
ページがロードされた時 onPageLoaded イベントが発生します。これにより、ページに関連している全てのコードを初期化する手段が提供されます。
onPageActivated イベントはページがフォーカスを取得した際発火されます。このイベントは、他のタブからフォーカスを取得する際、ページを初期化するメカニズムを提供します。
onPageDeactivated イベントは、ページがフォーカスを失う時発火されます。これはページナビゲーション中ページの検証のための hook を提供します。onPageDeactivated イベントハンドラから false を戻す事によりページがフォーカスを失うことを防ぎます。
onBeforePageClosed イベントはページがクローズする前に発火されます。これは、ページがクローズする前に、ワンタイム検証のためのhookを提供しました。 onBeforePageClosed イベントハンドラから false を戻す事によりページがクローズすることを防ぎます。
onPageClose イベントは、ページがクローズする時に発火されます。これはページに関連した全てのコードをクリーンアップする手段を提供します。
Page ナビゲーション
Navigation メソッドは PageManager インタフェースに追加されています。ページナビゲーションメソッドは追加されており、次頁、または前頁、ホームページに戻るナビゲーションが可能です。 タブナビゲーションメソッドは追加されており、タブモードの間、次頁または前の開いたページへナビゲーションすることが可能です。
ページ属性
新しい属性である nextPage と prevPage はページで定義されます。これらの属性は一つのページから次へナビゲートする PageManager の nextPage() と prevPage() メソッドで使用される属性です。
設定例
<page name="homePage" xal="HomePage.xal" title="Home Page" nextPage="firstPage"/> <page name="firstPage" xal="FirstPage.xal" title="First Page" prevPage="homePage" nextPage="secondPage"/> <page name="secondPage" xal="SecondPage.xal" title="Second Page" prevPage="firstPage" nextPage="thirdPage"/> <page name="thirdPage" xal="ThirdPage.xal" title="Third Page" prevPage="secondPage"/>
Page Manger methods homePage() – ログイン中ユーザーのために設定されたホームページを開きます。ホームページが既に開いている場合は、アクティブページになります。
nextPage() – アクティブページのnextPageとして設定されているページが開きます。次のページがすでに開いている場合は、アクティブページになります。
prevPage() – アクティブページのprevPageとして設定されているページを開きます。次のページが既に開いている場合、アクティブページになります。
nextTab() – 次のタブにページを設定し、アクティブページにします。アクティブページが最後のタブの場合、このメソッドはオペレーションを実行しません。このメソッドは pageStyle がタブに設定される場合のみ、機能します。
prevTab() – 前のタブのページを設定し、アクティブページにします。アクティブページが最後のタブの場合、このメソッドはオペレーションを実行しません。このメソッドは pageStyle がタブに設定されている場合にのみ、機能します。
ショートカットフォーカス
shortcutFocus プロパティは、フォーカスをコンポーネントに設定するキーコードを定義します。フォーカスされているコンポーネントが表示されないタブ内に含まれている場 合、そのtabが選択されます。タブのshortcutFocusを設定すると、単純にタブを選択します。
ダイアログ管理
モーダルと通常のダイアログを管理するため、新しいクラスが reference framework に追加されました。現在は使用されているページスタイルに拘らず、モーダレス (pop-up) またはモーダルダイアログとしてページを開くことができます。
DialogManager クラスはシステムコンテナとして登録されているので、onCommand 定義内で参照が可能です。
例: onCommand=”DialogManager.showModalDialog( ‘myDialogPage’ )”.
XAL キャッシュ
ページで使用された XAL ファイルのキャッシュ機能が reference framework に追加されました。新しい項目が nexaweb-reference-framework.xml に追加され、キャッシュの設定が可能です。
<cache> <xalCache cacheSize="10"/> </cache>
現在はキャッシュのサイズのみ設定可能です。キャッシュが最大許容量に達する場合、直近開かれた (またはフォーカスされた) ページがキャッシュから削除されます。
ページコンテナの名前変更
nexaweb-reference-framework.xml ファイルからページ定義を保有するコンテナは pageDef に変更されました。これが比較的はっきりした変化である一方、ページコンテナが参照された場合、これらの参照も変更されなくてはなりません。
例えば、nexaweb-reference-framework.xml でページが参照された場合、
現在、このページは次のように参照される必要があります。