yonet77的な雑記帳

日々思いついたネタなどを書き留めておきます

Salesforceのタブをアイコン化して画面にまとめて表示してみる

Salesforceをいじってると

あのタブって、どのアプリケーションにあったっけ・・・?

なんてことを時々思うのですが、そんな忘れっぽいのはきっと自分だけでしょうかね。

タブを全部まとめて表示してみたら・・・??

というわけで、なんとなく勢いでこんなページを作ってみました。
   ↓
f:id:yonet77:20120407020445p:plain


アプリケーション毎にタブをアイコン化して画面に並べただけです。。
アイコンがリンクになってるので、アイコンをクリックすれば、そのタブ画面が新たに開きます。

うーん、でも全部のタブはいらないかな?

さらに、あらかじめ表示するグループを定義しておくと、独自のアイコン化メニューも・・
   ↓
f:id:yonet77:20120407020804p:plain



一体、誰得なのか!?と問い詰めるような真似はしないで頂きたいのですが、誰得でしょうかね?実際。。(苦笑)
とまぁ、勢いで作ったので大目に見るとして、こんな感じで作ってみました。

  • 予め設定した情報に基づいてタブをアイコン化して表示する

  • アプリケーション毎にタブをアイコン化して表示する

補足

Web Service APIにてタブの情報は取得できるみたいなので、それに基づいてタブをアイコン化したメニューにしてグルーピングすれば良いんじゃない?という話です。

具体的には、AjaxTookkitを使って、ココの箇所でタブの情報を取得しています。

var tabSets = sforce.connection.describeTabs();

それを一旦、SObject名か、あるいはタブの名称をキーにして配列に格納します。Visualforceページタブの場合を想定して、タブの名称をキーにすることも考えています。
ただ、同一のタブ名称があると・・・・後に読み込んだタブ名が勝ってしまうのでしょうね。そこがネックです。。

あとは、あらかじめ設定しておいた

  1. グループのタイトル
  2. カスタムオブジェクト名 or ラベル名の配列

を読み込んで、タグを生成する・・といった具合です。とてもシンプルですね。。

タグの生成は各自お好きなようにすれば良いかと思います。ココでは単に "fieldset" と "table" を使ってます。

この後は・・・?

特にないです。 (/++)/


・・というと余りにもアレなんでもう少し発展させようと考えると、

  1. コンポーネント化して「ホーム」画面で表示させる
  2. ユーザ毎に自分の好きなように設定できる仕組みを加える
  3. Twitter Bootstrap を取り入れてナイスなUIに仕立ててみる)

といった感じでしょうか。工夫する点としては。。(まー気が向いたら手を加えようかと思う程度です)


Salesforceのタブをアイコン化してみる上で、Ajax Toolkit とjQueryを使ってみた、というお話でした。
あー、今回はサラッと流しました。(笑)
ではッ!