私はPrimefaces 5.3を使用しており、対応する凡例項目をクリックしてシリーズのオン/オフを切り替えることを許可しています。p:chartの円グラフを切り替えます
primeface 5.3にはjqplot.txt
にEnhancedPieLegendRenderer
が含まれていないため、リソース/ jsに手動で追加してプロジェクトにインポートしました。私のエクステンダのコードは、同じディレクトリにあるcharts.js
というファイルにあります。私のようなファイルに持ち込む私.xhtmlファイルに
基礎となるPieChartModel
オブジェクトまたはバッキングBeanに関する特別なものは何もありません円グラフ自体のXHTMLは
<p:chart id="outboundLanChart"
type="pie"
model="#{foo.bar}"/>
のように見えるので、
<ui:composition template="/templates/template.xhtml">
<ui:define name="body">
<h:outputScript name="js/jqplot.pieRenderer.js"/>
<h:outputScript name="js/extendedPieRenderer.js"/>
<h:outputScript name="js/jqplot.enhancedPieLegendRenderer.js"/>
<h:outputScript name="js/charts.js"/>
すべてがうまくレンダリングされます。ユーザは、私はcharts.js内のオブジェクトの延長をbar.setExtender("extnd");
を設定するページに移動するとき、私は
function extnd() {
this.cfg.seriesDefaults = {
renderer: $.jqplot.PieRenderer
}
this.cfg.legend = {
renderer: $.jqplot.EnhancedPieLegendRenderer,
show: true,
rendererOptions: {
seriesToggle: 'normal',
seriesToggleReplot: true
}
}
}
を有する呼び出されるinitメソッドでは、私は延長であることを知っています私が期待していたように正確に動作するようなハイライト設定をしているので(私はそのコードを含まないため、問題には関係ありません)、作業しています。 console.log
の検査がthis.cfg.legend
の場合、legend.renderer
プロパティにはEnhancedPieLegendRenderer
が使用されていないことが示されています。これまでのところGoogle、StackOverflow、プライムフェイスフォーラム、あらゆる種類のドキュメントとソースコードを検索しても良い結果は得られていません。 PrimefaceにEnhancedPieLegendRendererを使用させることは可能ですか?または、ユーザーが円グラフの上または円グラフを切り替えることを可能にする、より適切なPrimefaceの方法がありますか?
UPDATE:Kukeltjeの提案で、私はpieRenderer
とextendedPieRenderer
プラグインが含まれ、それに応じて私のjsのコードを更新しました。それは問題だったかもしれませんが、それは問題ではなく、問題は依然として続きます。
回答をいただきありがとうございます。私はそれとパイのレンダラーと拡張されたパイのレンダラープラグインと私のjsコードを更新しましたが、問題は依然として続きます。 –
それからプレーンjqplot – Kukeltje
で動作するかどうかを確認してください。私の設定は、JFiddleでテストすると問題なく動作します。 http:// jsfiddle。net/19vzL5h2/79/ –