It seems that this works but not properly. I will try to explain what I am
trying to do and then someone can tell me if this is even possible.

I want to be able to create using ajaxformloop an ability to add new row to
the 'table' each row should have few fields that are either select or
textfield. When a user select something form a first select field he will
see the refreshing of the rest of the them and the values will be changed. 

So we click the add row and then select few fields and a new row and so on.
The code so far looks like this

tml

<t:form t:id="form" >
     <div t:type="ajaxformloop" t:id="filters" t:show="update"
t:source="filterSections" t:value="currentFilterSection"
t:encoder="encoderFilterSection"> 
          <select t:id="selectType" t:type="select"
t:mixins="SelectContextMixin" t:zone="zone"    
t:context="currentFilterSection" t:model="typeModel"
t:value="currentFilterSection.value.type" >
          </select>  
          <t:zone t:id="zone"> 
              <select t:id="selectProperty" t:type="select"
t:model="propertyModel" t:value="currentFilterSection.value.properity">
              </select> 
              <t:textfield t:value="currentFilterSection.value.value"
class="field"/>  
          </t:zone> 
    </div>
   <t:submit class="profileButton" value="Run" />
  </div>
 </t:form>

Mixing

@InjectContainer
    private Select component;
    @Inject
    private ComponentResources resources;
    @Inject
    private JavaScriptSupport javascriptSupport;
    @BindParameter
    private String zone;
    @Parameter
    private Object[] context;

    @AfterRender
    void linkZone() {
        Link link = resources.createEventLink("change", context);
        JSONObject spec = new JSONObject("selectId",
component.getClientId(), "zoneId", zone, "url", link.toURI());
        javascriptSupport.addInitializerCall("linkSelectToZone", spec);
    }

    Object onChange(@RequestParameter(value = "t:selectvalue", allowBlank =
true) final String selectValue) {
        CaptureResultCallback callback = new CaptureResultCallback();
        this.resources.triggerEvent(EventConstants.VALUE_CHANGED, new
Object[]{selectValue, context}, callback);
        return callback.getResult();
    }

Problem at the moment. 

If I insert some row in advance then by adding a new row it will create a
link and add it. Selecting something will trigger a zone refresh. However
the zone that will is refreshed appears to be one above all of this and not
the one called zone in my code (ie this zone is part of the page while this
component is just added to that page)

If I dont insert any row in advance click the + button will create a link
however I cant see the code to be added and selecting anything wont trigger
a zone refresh.

Any ideas what could be the problem?



--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Mixng-cant-find-zone-parameter-tp5720157p5720181.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

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

Reply via email to