2017-09-12 10 views
1

データテーブルにカスタムファセットを定義する可能性があります。私が定義しようとしているファセットにはp:menubuttonが含まれています。これらのファセットはページネーターに含まれているため、p:menubuttonはデータテーブルの上部と下部に表示されています。最初の問題は、クライアントのIDがと重複していた(と私はmenubuttonを開くことができなかった)です。プット2 p:menubutton(または別のコンポーネント)が私の修正プログラムが動作しない場合は、ので、私は子コンポーネントにファセットのid parentが含まれていない

... https://github.com/primefaces/primefaces/pull/2651/filesを参照して、特定のIDを設定することにより、この問題を修正しますが、部分的に動作します。 A UIpanelは、複数の要素が含まれている場合にはgetFacet()メソッドで作成され、idを強制的に設定してもこのidを子に設定しませんが、イベントのように見えます。私はp:menubuttonは親ID(例えばtable_form:table_form:table_paginator_top)が含まれて期待される出力HTML

<div id="table_form:table_form:table_paginator_top"> 
    <span id="table_form:table_form:j_idt246" class="ui-menubutton"> 
     <button id="table_form:table_form:j_idt246_button" /> 
    </span> 
</div> 

UIComponent elementFacet = uidata.getFacet(element); 
if(elementFacet != null) { 
    // Determines a new id 
    String facetName = element.replaceAll("[\\W+]", "_").toLowerCase(); 
    elementFacet.setId(uidata.getId() + facetName + position); 
    elementFacet.encodeAll(context); 
} 

が、それはそれをしない、その理由:Firts、の修正を見てみましょうか?

+0

あなたが最も可能性のNamingContainerされていない面に関係あると思います、これは起こらない理由を使用する必要があります。それがあったとしても、すでに「ユニーク」なので、あなたの「修正」は必要ないでしょう。しかし、2つの異なるid(xhtmlに1つのボタンを持つ)を持つ2つのボタン(または他のもの)がある場合は、個別に更新するのがより難しくなります。だから私はあなたがこれを助けるために、より複雑な修正やPFエンジニアの強化を要請するべきだと思います。申し訳ありません..(しかし、おそらくBalusCはトリックを知っています) – Kukeltje

+0

基本的に私はUINamingContainerの中でファセットの内容をカプセル化する必要がありますか? – Rapster

+0

おそらく...上と下の重複を解決するかどうかは考えていません... – Kukeltje

答えて

0

最初に、PRをPFにマージする必要があります。第二に、このようなダミーの複合体を作成します。このコンポジット、およびIDを持つ

<ui:component 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://xmlns.jcp.org/jsf/core" 
    xmlns:h="http://xmlns.jcp.org/jsf/html" 
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets" 
    xmlns:cc="http://xmlns.jcp.org/jsf/composite"> 

    <cc:interface> 
    </cc:interface> 
    <cc:implementation> 
      <cc:insertChildren /> 
    </cc:implementation> 
</ui:component> 

ラップコンテンツファセットが十分に生成されなければなりません。

重要:クロサギ科2.2.15は(ただしMyFacesのことは知らない)

関連する問題