2017-02-16 4 views
1

タイトルバーノードアイテムに簡単なバッジを追加することはできますか?私のレイアウトの各タブは別々のアプリケーションを表します。私のユーザは、そのアプリケーションの中に注意が必要な文書があるかどうかを示すために、タブの名前の隣に数字を表示したいと思う。ドキュメントがない場合は、バッジはなく、アプリケーション名だけが表示されます。文書がある場合は、アプリケーション名とその番号のバッジを表示します。私は、PageLinkNodeまたはBasicLinkNodeにspanタグを含める方法を見つけることができません。xpages applayoutタイトルバーノードアイテムにバッジを追加する

+0

ありがとうございました。私はイメージのアプローチを考えました。代わりの方法を実装する方法をもう少し説明できますか?最後に、5/6アプリケーションタブアプリでこれをお勧めしますか?バッジを追加すると、各アプリで、ユーザーとしてのステータスをキーとして確認するルックアップが意味されます。私は、各ページをオープンして再びルックアップをトリガーすると仮定して、パフォーマンスについて懸念しています。 –

+0

Don、クライアント側でレンダリングされたDOMを解析し、ラベル要素を取得します。 'document.getElementsByClassName(" lotusTabInner ");'のような関数を使用してください。 'document.createElement(" span ")'と 'document.body.insertBefore(...);でこれらの要素を操作します。 –

+0

パフォーマンス面でのもう1つのアプローチは、クライアント側でRESTサービスを非同期的に呼び出して、未読文書x秒ごとにタイマーを設定することができます。 –

答えて

1

PageLinkNode(xe:pageTreeNode)のラベルは、のプレーンテキストのみです。

あなたはしかし画像プロパティを使用することができます。

<xe:this.titleBarTabs> 
     <xe:pageTreeNode 
      page="..." 
      label="Application A" 
      image="#{javascript: var nr = 5; 
         nr > 0 ? ('badge' + Math.min(nr, 10) + '.gif') : ''}"> 
     </xe:pageTreeNode> 

は、リソース/画像に画像などの数字と10枚の絵badge1.gif、badge2.gif、... badge10.gifを追加します。 badge10.gifは9+の画像になります。 代替として

enter image description here

、あなたはラベルの一部として(例えば「アプリケーション名[23]」)文書の数を提供し、HTMLにクライアント側onClientLoadイベントでそれを変換することができラベル+バッジスパン。

関連する問題