Lotus Notes 動的スタイルクラスの指定方法

ディスカッション・テンプレートのサイドメニューを見ると、選択しているメニュー項目のタグに、
「動的」に、「xspPanelNavigationMenuItemSelected」のクラスが設定され深緑で表示されます。

どのように指定すれば、このように動的にクラスを割当ることができるのか。

themeId が使われており、この辺りが関係していると推測しているが、ヘルプに、このthemeIdの記載が見つけられなかった。

◆IBMさんに問い合わせ下記のドキュメントを紹介された

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Workflow#Use+themes+to+display+debug+info
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Understanding_Domino_design_elements_specifically_focusing_on_XPages_and_other_design_elements_pertinent_in_an_XPage_built_app#Themes

紹介してもらったドキュメントをながめて、themeIdについて、なんとなくわかってきた。

◆指定方法

例えば、XPageでthemeId="Panel.menu.navigation.item.byTag" と記述しておき、
テーマオブジェクトのコントロールに下記のように、Javascriptを記述すると、
セッション変数の値を参照して、クラスを動的に変更出来る。

<control>
<name>Panel.menu.navigation.item.byTag</name>
<property>
<name>styleClass</name>
<value>#{javascript:sessionScope.historyPageName == '/byTag.xsp' ?
      'xspPanelNavigationMenuItem xspPanelNavigationMenuItemSelected' :
      'xspPanelNavigationMenuItem'}
  </value>
</property>
</control>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です