Hi, Following up on my question. I cant find the solution on the internet.
Best Regards, Sibgha On Mon, Apr 29, 2019 at 1:53 PM Sibgha Nazir <sibgha...@gmail.com> wrote: > Hi, > > I have the following code: > > > *LearningCurveChartPanel* > > *public* LearningCurveChartPanel(String aId, IModel<AnnotatorState> > aModel) > > { > > *super*(aId); > > model = aModel; > > > //initially the chart is empty. passing empty model > > chartPanel = *new* ChartPanel(*MID_CHART_CONTAINER*, > > LoadableDetachableModel.*of*(*this*::renderChart)); > > > > chartPanel.setOutputMarkupId(*true*); > > add(chartPanel); > > } > > @OnEvent > > *public* *void* onRenderAnnotations(RenderAnnotationsEvent aEvent) > > { > > LOG.trace("rendered annotation event"); > > > aEvent.getRequestHandler().add(*this*); > > } > > *ChartPanel* > > > *public* ChartPanel(String aId, LoadableDetachableModel<LearningCurve> > loadableDetachableModel) > > { > > *super*(aId); > > > > chartModel = (loadableDetachableModel); > > > chart = *new* WebMarkupContainer(*MID_CHART_CONTAINER*); > > chart.setMarkupId("canvas"); > > chart.setOutputMarkupId(*true*); > > add(chart); > > > chartAjaxBejavior = *new* ChartAjaxBejavior(); > > add(chartAjaxBejavior); > > } > > > Here I am adding ChartPanel in the constructor of LearningCurveChartPanel > and as the LearningCurveChartPanel loads the chart panel is loaded with the > data that is returned by renderChart. I want to do such that the > ChartPanel only renders when I click a button. How do I change the below > line to > > chartPanel = *new* ChartPanel(*MID_CHART_CONTAINER*, > > LoadableDetachableModel.*of*(*this*::renderChart)); > > And how do I define such thing in the onClick event? >