How to create quick start?
On Mon, Apr 29, 2019 at 9:39 AM Sven Meier <[email protected]> wrote:
>
>
> Hi,
>
>
>
> that should do it, no need to call detach() for yourself.
>
>
>
> Hard to tell what's going wrong. Can you create a quickstart?
>
>
>
> Regards
>
> Sven
>
>
>
>
>
>
>
>
>
>
> >
> > On 29.04.2019 at 09:16, <Sibgha Nazir> wrote:
> >
> >
> > Hi, I tried doing the following *public* ChartPanel(String aId,
> LoadableDetachableModel loadableDetachableModel) {
> *super*(aId*,**loadableDetachableModel*); chartModel =
> (loadableDetachableModel); chart = *new*
> WebMarkupContainer(*MID_CHART_CONTAINER*); chart.setMarkupId("canvas");
> chart.setOutputMarkupId(*true*); add(chart); chartAjaxBejavior = *new*
> ChartAjaxBejavior(); add(chartAjaxBejavior); } It still doesn't update the
> ChartPanel with the new model when onRenderAnnotations triggers. Do I have
> to explicitly call detach()? On Mon, Apr 29, 2019 at 7:49 AM Sven Meier
> wrote: > > > Hi, > > > > your chartPanel should pass the
> chartModel to the super constructor. The > panel takes care that the
> model is detached after the request. > > > > If you just hold
> chartModel as a member variable, no one will call > detach() on it >
> > > > Have fun > > Sven > > > > > > > > > >
> > > > On 28.04.2019 at 21:29, wrote: > > > >
> > > Hi, This question is related to LoadableDetachable Model. I have a
> > wicket panel, LearningCurveChartPanel. *public* >
> LearningCurveChartPanel(String aId, IModel 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*); } which is rendering a ChartPanel.
> > The ChartPanel is like this *public* ChartPanel(String aId, >
> LoadableDetachableModel loadableDetachableModel) { *super*(aId);
> chartModel > = (loadableDetachableModel); chart = *new* >
> WebMarkupContainer(*MID_CHART_CONTAINER*); chart.setMarkupId("canvas"); >
> chart.setOutputMarkupId(*true*); add(chart); chartAjaxBejavior = *new* >
> Char
> tAjaxBejavior(); add(chartAjaxBejavior); } The chartModel has > the
> right data and it renders correctly with the data that is fed to it >
> from LearningCurveChartPanel. But when the onRenderAnnotation event of the
> > LearningCurveChartPanel triggers what I am trying to do is to update
> the > (re-render) the Chart Panel inside it. It does re-render the chart
> panel > but the model stays the same. I want to implement it such that
> the model of > the ChartPanel updates and when it re-renders it as the
> latest data when > the onRenderAnnotation event was triggered. Please
> guide me in the right > direction. Best, Sibgha > > >
> >
>