Как визуализировать диаграмму внутри tabView с PrimeFaces - PullRequest
1 голос
/ 05 октября 2011

Мне нужно отобразить много графиков на какой-то странице статуса.Графики должны быть сгруппированы в 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?

1 Ответ

1 голос
/ 18 октября 2011

Руководитель проекта primefaces только что написал сообщение в блоге о том, что это должно быть исправлено в 3.0.M4:

Мы рады поделиться с вами тем, что в предстоящем PrimeFaces 3.0.M4 есть универсальное решение для этого, поэтому на странице вам не нужно разбираться с ними, поскольку PrimeFaces обрабатывает их под капотом.

...