Any way to moveTo another Mobile XPage from current Mobile XPage?
-
21-06-2021 - |
Question
I understand the intention is to deliver the entire mobile application within the xe:singlePageApp tags on the same XPage ... still, it would be nice/easier/useful if I could call another mobile xpage from the current mobile xpage.
The following code fails for the second xe:djxmLineItem. Kind of interesting is the moveTo property does provide a drop-down selection of xpages in the current database so you think this word work. Any ideas on how to do this?
<xe:singlePageApp id="singlePageApp1"
selectedPageName="appPage1">
<!--Start of appPage1 -->
<xe:appPage id="appPage1" pageName="appPage1" preload="true">
<xe:djxmHeading id="djxmHeading1" label="appPage1"></xe:djxmHeading>
<xe:djxmLineItem id="djxmLineItem2" label="P1 to P2"
rightText="flip" moveTo="#appPage2" transition="flip">
</xe:djxmLineItem>
<xe:djxmLineItem
id="djxmLineItem4"
label="P1 to mobiledemo22"
rightText="none"
moveTo="/mobileDemo22.xsp"
transition="none">
</xe:djxmLineItem>
</xe:appPage>
<!--End of page1-->
<!--Start of appPage2 -->
<xe:appPage id="appPage2" pageName="appPage2">
Solution
The moveTo is designed to work only within the single page applications on the same XPage. To move out of the current XPage use the conventional openPage simple action.
OTHER TIPS
The way I did this is through a dojo attribute. Don't use the "moveTo" property in the djxmLineItem. Instead, add a "href" dojo attribute. So, using your example code:
<xe:djxmLineItem
id="djxmLineItem4"
label="P1 to mobiledemo22"
rightText="none"
transition="none">
<xe:this.dojoAttributes>
<xp:dojoAttribute name="href">
<xp:this.value>
<![CDATA[#{javascript:return "mobileDemo22.xsp";}]]></xp:this.value>
</xp:dojoAttribute>
</xe:this.dojoAttributes>
</xe:djxmLineItem>