小技シリーズ第6弾 ダッシュボードのデザイン

#小技6 ダッシュボードのデザイン

このシリーズでは、Yellowfin のレポートやダッシュボードをより魅力的なものに作成するための小技を紹介します。第6回はダッシュボードのデザインです。
前回はレポート上の軸に対して、固定した色を配色する技の一つを紹介しました([『小技シリーズ第5弾 効果的な配色』](https://qiita.com/LoveOceanFJ/items/cc8785f05b4cc953b6c5))。今回は、ダッシュボードの色彩をCSSで定義して、イメージファイルを差し替える方法を紹介します。

###ダッシュボードデザインの変更
規定のデザインでは、Yellowfin のダッシュボードは青を基調とした色使いです。青い海を Yellowfin Tuna (キハダマグロ) が泳いでいるイメージってところですかね。しかし、ダッシュボードの色合いを、各社のコーポレートカラーなどに合わせたい要望もありますよね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/d6538169-a4ab-11f4-0f07-8c254ee1e17a.png)

これを、以下のような緑系の色を基調としたデザインに変更してみようと思います。ついでに、ロゴも会社のロゴに張り替えてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/2c92041c-c7e8-c0f7-a800-c827bc19f7ed.png)

###Yellowfinサーバーの環境
既定のデザインは、Yellowfin インストールディレクトリの以下フォルダに保管されている CSS ファイルとイメージファイルで構成されています。
&nbsp;&nbsp;CSS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ```(Yellowfin)\appserver\webapps\ROOT\css\```
&nbsp;&nbsp;イメージ ```(Yellowfin)\appserver\webapps\ROOT\images\```

これらをカスタマイズするためには、以下のディレクトリに CSS や SVG ファイルを保管し、既定のデザインを上書きします。
&nbsp;&nbsp;CSS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ```(Yellowfin)\appserver\webapps\ROOT\customcss\```
&nbsp;&nbsp;イメージ ```(Yellowfin)\appserver\webapps\ROOT\customimages\```
ちなみに、既定のファイルを書き換えることでもデザインの変更は可能ですが、危険なのでやらないでください。

以下の内容を記述した CSS ファイルを \appserver\webapps\ROOT\customcss\ ディレクトリ直下に保管します。「.css」が末尾についていれば、ファイル名は custom.css でも override.css でも何でも大丈夫です。

```css:custom.css
:root {
	--primary-color: #008080;
	--loader-color: #556b2f;
	--leftnav-hover-color: #008b8b;
	--primary-button-color: #008b8b;
	--primary-button-hover-color: #008b8b;
	--grey :#cccccc;
	--background-grey: var(--grey);
	--border-grey: var(--grey);
	--signal-positive-color: #008080;
	--signal-negative-color: #ff7f50;
	--dark-grey: #666;
	--black: #000;
	--background-black: var(--black);
	--white: #fff;
	--background-white: var(--white);
	--primary-text-color: #333740;
	--light-grey: #f0ffe9;
	--light-grey-background: var(--light-grey);
}
.tabContainer .tab .selectedDropDown {
	background-color: #008b8b;
}
.tabContainer .activeTab .selectedDropDown {
	background: url(../images/arrow-dropdown-white.svg) no-repeat center;
	background-color: #008b8b;
}
.header-cell-container{
	background-color: ##008b8b;
}
```
CSS ファイルを保管したら、ブラウザをリフレッシュします。画面全体が緑基調のデザインに変更されましたね。もし変更されない場合は、ブラウザのキャッシュを消して再度試してみてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/dce1209d-698c-9ef3-4f1e-d832c7d43965.png)

ここで、CSS ファイルの内容を少し説明します。CSS ファイルの先頭に :ROOT{ } の定義個所があります。Yellowfin9.6 以降では、:ROOT{ } で定義した内容が環境全体に共通して反映されます。それ以降で定義する内容は、:ROOT{ } の定義内容をオーバーライドします。この処理の流れを念頭において、以下の設定を施してみましょう。

###ボタンの色を変更
画面右上の「ログアウト」ボタンの色を変えてみます。利用者が誤ってログアウトしないためにも、他の個所と色を変えて際立たせます。
[ログアウト] ボタン上で右クリックして、[検証] を選択します。なお、以下の画面は Chrome のものですが、Chrome 以外のブラウザでも、類似の操作で処理が可能です。Firefox、Opera、Safari では Chrome 同様 [右クリック] > [検証]、Edge は [右クリック] > [開発者ツールで調査する] です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/2268da4c-c458-314f-55a9-1b3931c1b3ab.png)

デベロッパーツールが表示され、その中に同ボタンに関するデザインを定義している箇所を見つけることができます。

div.dashButton{ } の background-color の個所で、ボタンの色が定義されていることが分かります。--primary-button-color は :ROOT{} で定義されているため、環境全体でボタンには共通してこの色 (濃い緑) が適用されていることが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/0c7811a9-d616-0ea4-acc8-84e7e60f6295.png)
では、custom.css の最終行に以下を追加して、[ログアウト] ボタンの色を変更しましょう。

```css:custom.css
div.dashButton {
    color: white;
    background-color: #d2691e;
}
```
ブラウザをリフレッシュすると、ボタンの色が変わっているのが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/afe4ef5a-324e-03c7-84a1-6c2a8e47bd0d.png)
また、デベロッパーツールでCSSの定義内容が変更されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/355e1cce-3fc7-4b2e-8fd5-794caad1b38c.png)

###ロゴの差し替え
続いて、画面左上のロゴを変更します。お好きなロゴをSVG 形式 (Scalable Vector Graphics) で準備し、ファイル名を logo.svg とします。SVG 以外の形式でイメージファイルをお持ちの場合は、変換ツールや変換サイトを使って、ファイルを SVG 形式に変換してください。また、ファイル名は logo.svg としてください。
ここでは、以下のイメージファイルをロゴとして使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/fcc50cd3-46b5-7bf2-11ca-26130145d9e7.png)
ファイルが準備できたら、以下のディレクトリに logo.svg を保管します。
```(Yellowfin)\appserver\webapps\ROOT\customimages\logo.svg```
ブラウザをリフレッシュすると、ロゴが差し変わっているのが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/f3d44489-22d0-9161-161a-cb8b4232c7b9.png)

###画面イメージ
画面全体としては、以下のようなデザインに生まれ変わりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/6eb7e6aa-4cf3-aa24-10d9-34510d4d1664.png)
ちょっとしたことで、見た目がすっかり変わりますね。是非、お試しください。
See you then. Cheers!