In Oracle MAF one new option has been provided for the attribute "layout" of panelGroupLayout. It is very useful. I will give you a scenario: you want to create a contact us section where by you will want the text, followed by phone numbers(which should be clickable and should open phone dial on clicking) and email(clicking on which a write message of your default mail should open).
For such scenario you can use panel group layout with layout property set to wrap and inside it you can use output text and golinks to serve the purpose.
A sample code can be like below:
<amx:panelGroupLayout id="pgl1" layout="wrap">
<amx:outputText value="For any questions, comments, or technical issues please feel free to contact our Centre " id="ot5"/>
<amx:goLink text="(00-0000000)" url="#{'tel:(00000000)'}" id="ot6" styleClass="adfmf-goLink-noUnderline"/>
<amx:outputText value=" or " id="ot9"/>
<amx:goLink text="abc@mail.com" url="#{'mailto:abc@mail.com'}" id="gl1"
styleClass="adfmf-goLink-noUnderline"/>
<amx:outputText value=". Suggestions on how we can improve this mobile application are also welcome." id="ot7"/>
</amx:panelGroupLayout>
Now the output texts and golink inside panel group layout will be seen clubbed and there will not be any line break.
There is one more scenario. Let`s say you want to display a url along with some output text. Since url will be like a single word and will start from next line. You can use css property "word-break:break-all" for the same and it will wrap.
Hope it helps.
Regards,
Deepak
For such scenario you can use panel group layout with layout property set to wrap and inside it you can use output text and golinks to serve the purpose.
A sample code can be like below:
<amx:panelGroupLayout id="pgl1" layout="wrap">
<amx:outputText value="For any questions, comments, or technical issues please feel free to contact our Centre " id="ot5"/>
<amx:goLink text="(00-0000000)" url="#{'tel:(00000000)'}" id="ot6" styleClass="adfmf-goLink-noUnderline"/>
<amx:outputText value=" or " id="ot9"/>
<amx:goLink text="abc@mail.com" url="#{'mailto:abc@mail.com'}" id="gl1"
styleClass="adfmf-goLink-noUnderline"/>
<amx:outputText value=". Suggestions on how we can improve this mobile application are also welcome." id="ot7"/>
</amx:panelGroupLayout>
Now the output texts and golink inside panel group layout will be seen clubbed and there will not be any line break.
There is one more scenario. Let`s say you want to display a url along with some output text. Since url will be like a single word and will start from next line. You can use css property "word-break:break-all" for the same and it will wrap.
Hope it helps.
Regards,
Deepak
Thanks Deepak for the article. I have a similar usecase where I get a service response getting rendered in amx:outputText. The response string contains some text and then a URL. now the problem is I want to make just this URL clickable and display rest of the text as it is. also while clicked on URL it should pass some additional data available in view scope.
ReplyDeleteWhat should be right approach in this case ?
Appreciate your response.
Thanks,
Gaurav
Hi Deepak,
ReplyDeleteThis article is very useful. I wanted to know, How to open installed app from my MAF application. like I wanted to open facebook app from my MAF application.