当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2016年1月6日水曜日

XPagesで色を選択してみよう

明けましておめでとうございます。
私は昨日(2016年1月5日)が仕事始めでした。まだ今週一週間はお休みだ!なんて人もいるかもしれませんといういうのと、いつも年初めは軽い話題から入っているので、今年もそうしましょう。


ノーツには「カラーフィールド」というものがあります。
カラーパレットで色を選択すると、RGBの16進数をかたどったテキストで保存されます。
カラーフィールド

RGBでの16進数なので、6桁で十分なのですが、なぜか8桁で格納されます。
この時、先頭2桁は無視しましょう(たぶん、00で決まっているはずです)。
なお、ビューをデザインする際、列のプロパティで「色で値を表示」というのにチェックすると、選択した色でその列が表示できるようになります。面白いですよね。

ビューでプロパティを確認


ここで・・・Notesクライアントで出来たんだから、XPagesでも実現できたら良いよね!(何に使うかはさておき・・・)
ということで調べてみました。

まず、XPagesのコントロールには「カラーフィールド」のようなものは存在しません。
残念・・・
しかし、ここで諦めてはいけません。

調べてみたところ、HTML5でInput タグにtype="color"を追加するとカラーパレットが表示されて色の選択ができるようになります。



このままHTML5のタグをXPagesのソースに記述しても良いのですが、それだと芸がないので、
編集ボックスコントロールで再現してみましょう。
すべてのプロパティを見ていくと、typeという項目があります。そこにcolorと入力すればそれでOKです。
簡単ですね。ソースコードで見ると以下のような感じです。


せっかくなので、Notes DBのフォームにバインドさせてみました。
これでどのような値が保存されるのかの確認ができます。
実行した画面はこちら。
XPagesでinput type="color"を実現

さて、この状態で[save]をクリックしてNotes文書として保存してみました。
さぁ、どんな値になっているでしょうか?
XPagesでのカラーフィールドの値

結果は、#付きの16進数6桁ということでRGBを表しています。
テストではすべて数字になっていますが、青色の場合、「#0000ff」と英文字は小文字になっていました。Notes DBのカラーフィールドの場合、英文字は大文字になっていましたので、細かいところですがここも違っています。


いかがでしょう?
こうやって色を選択できれば、アプリケーション上で好きな色合いにすることなんかもできるのではないでしょうか?(見やすさは別として・・・)

ちょっと一息入れたいな。という時にこのような面白?機能を使ってみるのも一興ではないでしょうか。
ぜひ使ってみてください。

・・・しかし!IE11ではこのタグ、動きませんでした。ダメじゃん!


XPagesを使うなら、FirefoxやChromeでないとダメなんでしょう・・・(あくまでも私見です)。

ということこで、今年もXPagesの情報を中心にお届けしていこうと思いますので、よろしくお願いいたします。
では、今日はこの辺で・・・



 【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: