Мне нужно отобразить много графиков на какой-то странице статуса.Графики должны быть сгруппированы в tabView
и accordionPanel
.Эта установка прекрасно работает с PrimeFaces 2.2.1 .Из-за некоторых особенностей новой версии (и из-за того, что графики больше не Flash ), я пытаюсь перейти на PrimeFaces 3 (на данный момент 3.0.M3).
<p:tabView>
<p:tab title="One">
<p:pieChart value="#{myBean.myChartOne}" />
</p:tab>
<p:tab title="Two">
<p:pieChart value="#{myBean.myChartTwo}" />
</p:tab>
</p:tabView>
В PrimeFaces 3 диаграммы не отображаются.Существует сообщение об ошибке , описывающее эту проблему и заявляющее, что в диаграммах 3.0 M4 должна быть отложенная загрузка диаграмм.
Обновление:
Сейчас я использую снимок PrimeFaces 3.0 M4 с диаграммами ленивой загрузки.Это выглядит так:
<p:tabView>
<p:tab>
<p:accordionPanel>
<p:tab title="All time">
<p:commandButton value="load chart" type="button" onclick="onTimeChartAll.init(); buttonOnTimeChartAll.disable();"
widgetVar="buttonOnTimeChartAll"/>
<p:pieChart value="#{myBean.onTimeChartAll}" lazy="true"
widgetVar="onTimeChartAll" />
</p:tab>
<p:tab title="30 Days">
<p:commandButton value="load chart" type="button" onclick="onTimeChart30Days.init();buttonOnTimeChart30Days.disable();"
widgetVar="buttonOnTimeChart30Days"/>
<p:pieChart value="#{myBean.onTimeChart30Days}" lazy="true" widgetVar="onTimeChart30Days" />
</p:tab>
</p:accordionPanel>
</p:tab>
[...] <!-- and so on -->
</p:tabView>
Я могу открыть вкладку и нажать на кнопку, чтобы загрузить график.Теперь я хочу найти решение для автоматической загрузки графика при открытии вкладки.Есть ли решение для автоматической загрузки графика при открытии вкладки?Для p:accordionPanel
и p:tabView
есть атрибут onTabShow
, но я думаю, что он понадобится для p:tab
.Или есть возможность обратиться к widgetVar
текущей открытой вкладки через onTabShow
и var
?