> And ajax partial render also works for components that are used twice. Only
> the last markupstream position is used
How? Each component is only able to store one markup position. How can
a single component be re-rendered on two different positions?
For ajax it doesn't matter if it was rendered in 2 positions.
It only matter where the markup is gotten from.
And i think 99.9% of the time when people are using this (1 compontent renders twice) the exact same output will be given
So for ajax/partial render it really doesn't matter if the markup comes from postition 123 or 321. The output is the same.
> And if people can live with that then they can use that if they want to.
> Fine by me
> And maybe for 90% of the usecases that component wouldn't even be used in
> partial rendering.
>
IMO is bad design to tell users that in case A you can but in case B
you can not. What about application which get improved with Ajax
components. You than have to review you whole application. IMO a bad
idea. I still prefer it to be simple 1:1
As i said above they can use it just perfectly. Only when the 2 renders really have different markups they get different for a partial render
only the last result and not the first. But i don't care about that specific case. because it is 0.01% if not smaller.
But the isFullRender flag in my eyes is not only a solution for this, i had this idea already i though i mailed it
when the problem of the changing markup (locale or edit of markup) because also in that case the isFullRender does fix that problem
And i think the error reporting can impore because now you also can do:
if(fullRender)
{
markuppos = stream.getMarkupPos()
}
else if(markuppos < 0)
{
throw exception("No full render yet")
}
else
{
stream.setMarkupPos()
}
And that in conjuction with the fixes of changing markup we can handle it more gracefully.
johan
