Can you see the request hitting the server after the first zone's value is 
changed?

Uli

On 24.02.2011 23:43, Bryan Lewis wrote:
> I've been trying to figure out a weird bug today, and before I lose the
> night over it I thought I'd ask the list.  I'm using the cool new "chained
> select" feature.  One Select has a zone, and triggers an onValueChanged()
> method that affects another Select.  It works fine on my machine and when
> most users try it.  When the first selection changes the server gets the
> method call and the zone updates, no problem.
> 
> We have a few users in a remote office who access the application through a
> slightly slow connection to a Citrix server.  That is, the browser is
> actually running here (in the same network as the app server) and the user
> receives only screen updates.  Occasionally these users will see that the
> chained selects don't work at all.  I've debugged it a little (kinda
> difficult since I can't make it happen locally) and the first Select's
> method call doesn't happen.  I don't think it's only a case of slowness -- I
> waited about ten seconds.
> 
> Does this ring any bells?  I can't see how the Citrix factor or the
> connection speed would have any effect.  The app server and browser are in
> the same network.  Other requests are working fine; the app has been running
> almost a year.  I have a periodic-update ajax request that successfully
> makes it to the server for the same user.
> 
> So maybe I'm using the new feature incorrectly.
> 
> .tml:
> 
>     <t:zone t:id="recipientZone" update="show">
>       <br/>
>       <t:label for="carrierSelect">Recipients</t:label>
>       <table style="margin-left:124px;">
>         <tr>
>           <td>
>             <t:select t:id="carrierSelect"
>                       model="carrierModel"
>                       value="selectedCarrier"
>                       blankLabel="literal:Select a carrier first"
>                       zone="recipientZone"
>                       style="width:180px;"/>
>           </td>
>           <td>
>               <t:select t:id="recipientSelect"
>                         model="recipientModel"
>                         value="selectedRecipient"
>                         style="width:360px;"/>
>           </td>
>         </tr>
>       </table>
>     </t:zone>
> 
> 
> .java:
> 
>     private final SelectModel carrierModel = new AbstractSelectModel()
>     {
>         // Omitting null-returning getOptionGroups() for simplicity
> 
>         public List<OptionModel> getOptions()
>         {
>             List<Company> carriers = getModel().getCarriers();  // sorted by
> name
>             List<OptionModel> options =
> CollFactory.newList(carriers.size());
>             for (Company carrier : carriers) {
>                 options.add(new
> OptionModelImpl(carrier.getCarrierShortName(), carrier));
>             }
>             return options;
>         }
>     };
>     public SelectModel getCarrierModel()
>     {
>         return carrierModel;
>     }
> 
>     public Object onValueChangedFromCarrierSelect(Company carrier)
>     {
>         debug("-- onValueChangedFromCarrierSelect " +
> carrier.getCarrierShortName());
>         selectedCarrier = carrier;
>         return recipientZone.getBody();
>     }
> 
> 
> To be clear:  In the real app, the recipientSelect also has a zone parameter
> to update a third list.  I omitted it here because the bug happens before
> that.
> 
> The only thing I can see that I'm doing different from the documented
> example is, my selects are in the same zone.  I'll try splitting them up and
> using a MultiZoneUpdate or some such.
> 
> Thanks for any ideas.
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to