ログインユーザーの背景色でスタイルシートを動的に変更する
イントラマートのログインユーザーでスタイルシートを動的に変更する方法です。
イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。
イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。
目次
ログインユーザーでスタイルシートを動的に変更
イントラマートのincludeタグを使用して各ログインユーザーでスタイルシートを動的に変更します。
1.ファンクションコンテナ(myColor.js)
ファンクションコンテナでログインユーザーのカラーパタンを取得します。
取得にはModule.client.get()を利用します。
var colorPatternId ;
function init( request )
{
//ログインユーザーのカラーパターンを取得する
//(配色関連のスタイルシートを使い分けるのに使用する。)
colorPatternId = Module.client.get( "colorPatternId" ) ;
}
2.動的に変更するプレゼンテーションページ
myColor.htmlは以下のようにログインユーザーのカラーパタンで読み込むスタイルシートを切り分けします。
<IMART type="decision" case="blue" value=colorPatternId><IMART type="include" page="myColor_blue"></IMART></IMART> <IMART type="decision" case="red" value=colorPatternId><IMART type="include" page="myColor_red"></IMART></IMART> <IMART type="decision" case="green" value=colorPatternId><IMART type="include" page="myColor_green"></IMART></IMART> <IMART type="decision" case="gray" value=colorPatternId><IMART type="include" page="myColor_gray"></IMART></IMART> <IMART type="decision" case="orange" value=colorPatternId><IMART type="include" page="myColor_orange"></IMART></IMART>
3.動的変更を行うためのスタイルシート
スタイルシート(CSS)はファンクションコンテナのmyColor_XXXX.jsにカラーパタン毎に
作成しておきます。
<style type="text/css">
<!-- 一覧表の選択行 -->
.select_on{
background-color : #CBCFED ; /*この例ではここの色をカラーパタンごとに変える*/
font-weight : normal ;
margin-top : 0px ;
margin-right : 0px ;
margin-bottom : 0px ;
margin-left : 0px ;
padding-top : 0px ;
padding-right : 0px ;
padding-bottom : 0px ;
padding-left : 0px ;
border-top-width : 0px ;
border-right-width : 0px ;
border-bottom-width : 0px ;
border-left-width : 0px ;
}
</style>
4.切り替えを行うファンクションコンテナ
カラーパターンで切り分けを行うプレゼンテーションページでmyColorをインクルードします。
<IMART type="include" page="myColor"></IMART>
これでログインユーザーのカラーパタンを変更されても、そのカラーパタンにあった
スタイルシートを読み込むことができます。






