that's a good idea, I will submit a jira issue later.

2009/3/2 Bruno Busco <bruno.bu...@gmail.com>

> Hi Guo,
> this looks interesting!
>
> I think the best would be submitting a simple patch in a jira issue
> when you have some ready.
>
> -Bruno
>
> 2009/3/1 guo weizhan <guo.weiz...@gmail.com>:
> > Hi all,
> >
> > We are creating the "theme" for the ofbiz widget form, why we create
> this?
> > We found it's very difficultty to extend the current form widget, all the
> > widget generation code is hard code in HtmlFormRenderer, we need to
> change
> > this file if we want to add some function to the form, like ajax.
> >
> > And yes, we have some ajax function in ofbiz now, but the code of
> > HtmlFormRenderer with ajax is much harder for understanding.
> > like the code: "if(ajaxEnabled)". In fact , we want to implement the dojo
> > function in ofbiz without mess.
> >
> > So we decide to extract the hard code is responsible for the html form
> > generation  to the ftl files, like the struts2 does. If you know well
> about
> > struts2, then you will also know the form theme we are creating.
> >
> > Those ftl files is responsible for the html code generation, like
> text.ftl:
> > <input type="text"<#rt/>
> >  name="${rp.name?default( <http://rp.name?default%28>"")?html}"<#rt/>
> > <#include "class.ftl" />
> > <#if rp.value?exists>
> > <#escape x as x?html> value="${rp.value}" </#escape> <#rt/>
> > </#if>
> > <#if rp.textSize?exists>
> >  size="${rp.textSize?html}"<#rt/>
> > </#if>
> > <#if rp.maxlength?exists>
> >  maxlength="${rp.maxlength?html}"<#rt/>
> > </#if>
> > <#if rp.textId?exists>
> >  id="${rp.textId?html}"<#rt/>
> > </#if>
> > <#if rp.event?exists && rp.action?exists>
> >  ${rp.event?html}="${rp.action?html}"<#rt/>
> > </#if>
> > <#if rp.clientAutocomplete?exists && !rp.clientAutocomplete>
> >   autocomplete="off"<#rt/>
> > </#if>
> > />
> > Then, in the renderTextField method, we use the ftl file to generate the
> > html text instand of the hard code.
> >
> > Finally,we can have different themes like simple/text.ftl  ajax/text.ftl
> > and dojo/text.ftl. By setting the theme with code
> "theme=simple/ajax/dojo "
> > , the corresponding theme file like text.ftl will be loaded. The
> attachment
> > is the dojo theme capture.
> >
> > If you are interested or have  any advises, we can discuss it in detail.
> >
> >
>

Reply via email to