Ah ha - let me make it a bit clearer.
The AJAX stuff all works, if I hard code the values within my component.
It's like having a grid and each row has the ${currentRow.name}
${currentRow.value}
These property bindings don't exist after render.
If I were to use the Grid -> addCell then there is no problem. AJAX does it's
drag and drop thing.
On 13/04/2012, at 7:41 PM, Chris Mylonas wrote:
> Hi Tap List,
>
> I've got two custom components. Reception Line & Office Phone
> They are just little divs and with a draggable and a droppable zone
> respectively.
>
> In my testing, dragging and dropping between these works when everything is
> done on the same page and this is my first shot at componentizing my initial
> drag and drop fiddling. I mean, one component has the drag, and another
> component has the drop zone.
>
> Each Office Phone looks like this
> <t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
>
> <div id="extension">
> <div t:type='zone' t:id="extensionZone"
> t:mixins='jquery/zonedroppable'>
> ${currentExtension.name}
> ${currentExtension.number}
> </div>
> <div t:type='zone' t:id="voicemailZone"
> t:mixins='jquery/zonedroppable'>
> <div id="random1">
> <img
> src="${asset:context:layout/images/email.png}" />
> </div>
> </div>
> </div>
>
> </t:container>
>
> I have 3 of these in my List<Phone> "source".
>
> I think I understand that ${currentExtension} worked when rendering the page.
> But now that there is some AJAX happening - ${currentExtension} is null
> because there is no "source" anymore. Where should I start looking in
> Tapestry to pass this stuff. Can I somehow grab the "id" of something then
> traverse my "source" List<Phone> and get the corresponding name/number that
> this expansion had during the initial render?
>
> Hope that makes sense,
> Cheers
> Chris