[
https://issues.apache.org/jira/browse/OFBIZ-1235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689866#action_12689866
]
Jacopo Cappellato commented on OFBIZ-1235:
------------------------------------------
Guo,
thank you so much for your work; your last patch is in svn with rev. 759086
I know it is still a work in progress, but I think it will be easier for you
and me to work incrementally; of course feel free to send more patches as they
are ready.
I did a small change: instead of using lowagie HtmlEncoder I have used the
StringUtil methods.
Also, please move the MacroFormRenderer class from the screen to the form
package: I didn't do this myself to avoid to you headaches because I know that
you are still modifying the class.
Jacopo
> Create the theme for the form widget
> ------------------------------------
>
> Key: OFBIZ-1235
> URL: https://issues.apache.org/jira/browse/OFBIZ-1235
> Project: OFBiz
> Issue Type: New Feature
> Components: framework
> Affects Versions: SVN trunk
> Environment: all the platform
> Reporter: WeizhanGuo
> Assignee: Jacopo Cappellato
> Fix For: SVN trunk
>
> Attachments: ftlMacroRenderer.patch, ftlMacroRenderer.patch,
> widget.patch
>
>
> 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 or others, we need to change
> those 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("")?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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.