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.