I’m trying to build a simple component that references up to 4 components on my 
page.

I’m using the component like this:


                <t:dateRangePreset
                        t:dateRangeFrom="dateRangeFrom" 
t:dateRangeTo="dateRangeTo"
                        t:relatedRangeTense="FUTURE"
                        t:relatedRangeFrom="compareDateRangeFrom" 
t:relatedRangeTo="compareDateRangeTo"
                        t:disableDateRangePeriodTypes="DAILY" 
t:disableDateRangeTense="FUTURE" />


dateRangeFrom, dateRangeTo are both required in the component, and work fine

    @Parameter(required = true, defaultPrefix = BindingConstants.COMPONENT)
    private Field dateRangeFrom;

    @Parameter(required = true, defaultPrefix = BindingConstants.COMPONENT)
    private Field dateRangeTo;

relatedRangeFrom and relatedRangeTo are non-null, in after render, and they are 
the right type, but the clientId always returns null

    @Parameter(required = false, defaultPrefix = BindingConstants.COMPONENT)
    private Field relatedRangeFrom;

    @Parameter(required = false, defaultPrefix = BindingConstants.COMPONENT)
    private Field relatedRangeTo;


afterRender() does the normal things

    @Import(library = "DateRangePreset.js")
    void afterRender() {

        JSONObject specs = new JSONObject();
        specs.put("select", "#" + dateRangePresetSelect.getClientId());
        specs.put("dateRangeFrom", "#" + dateRangeFrom.getClientId());
        logger.info("ff: " + relatedRangeFrom);

        if (relatedRangeFrom != null) {
            logger.info("rel: " + relatedRangeFrom.getClientId());
            // specs.put("relatedRangeFrom", "#" + 
relatedRangeFrom.getClientId());
            specs.put("relatedRangeFrom", "#compareDateRangeFrom");
        }

}

In the log I see

[INFO ][DateRangePreset] ff: 
org.apache.tapestry5.corelib.components.DateField@46490fee
[INFO ][DateRangePreset] rel: null


The only thing that’s different between the required DateFields and the 
optional ones, are that the required ones are before my component, the optional 
ones are after my component, but that shouldn’t have anything to do with.

For completeness, here is more of my .tml file, what you see here are the two 
required date fields, my new component, and then the two optional date fields.

Thanks in advance for any help.
Tony




________________________________
Since 1982, Starpoint Solutions has been a trusted source of human capital and 
solutions. We are committed to our clients, employees, environment, community 
and social concerns. We foster an inclusive culture based on trust, respect, 
honesty and solid performance. Learn more about Starpoint and our social 
responsibility at http://www.starpoint.com/social_responsibility

________________________________
This email message from Starpoint Solutions LLC is for the sole use of the 
intended recipient(s) and may contain confidential and privileged information. 
Any unauthorized review, use, disclosure or distribution is prohibited. If you 
are not the intended recipient, please contact the sender by reply email and 
destroy all copies of the original message. Opinions, conclusions and other 
information in this message that do not relate to the official business of 
Starpoint Solutions shall be understood as neither given nor endorsed by it.

Reply via email to