Child pages
  • mobileservice

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hiddendiv:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACTAUTO CHANGES FROMUPDATE THE PAGECONTENT ANDTHROUGH MERGETHE THEM BACK INTO SERVOY SOURCE{hiddenDOC GENERATOR{div}
{sub-sectiondiv:id=description|text=}{sub-sectiondiv}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[OfflineDataDescription]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[OfflineDataDescription]{td}{td}[#createOfflineDataDescription]\()
Create a descriptive model for offline data.{td}{tr}{tbody}{tbody}{tr}{td}[OfflineDataDescription]{td}{td}[#createOfflineDataDescription]\(prefix)
Create a descriptive model for offline data.{td}{tr}{tbody}{tbody}{tr}{td}[Array]{td}{td}[#getRowDescriptions]\(fs, pks)
This method returns the description of rows as a json array object.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#performSync]\(data, version, authenticateResult)
If all the changes for a mobile client needs to come as once so that they can be in 1 transaction.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=createOfflineDataDescription|class=node}{tr:id=name}{td}h6.createOfflineDataDescription{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[OfflineDataDescription]{span}{span:id=iets|style=float: left; font-weight: bold;}createOfflineDataDescription{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:createOfflineDataDescription_des|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createOfflineDataDescription_snc|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:createOfflineDataDescription_prs|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:createOfflineDataDescription_ret|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription_ret|trigger=none|div:class=sIndent}[OfflineDataDescription]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createOfflineDataDescription_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createOfflineDataDescription_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createOfflineDataDescription_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createOfflineDataDescription_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createOfflineDataDescription_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createOfflineDataDescription_sam|trigger=none}{code:language=javascript}
//plugins.mobile.getOfflineFoundSetData(foundset,null);
var data = plugins.mobileservice.createOfflineDataDescription('data_');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createOfflineDataDescription-String|class=node}{tr:id=name}{td}h6.createOfflineDataDescription{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[OfflineDataDescription]{span}{span:id=iets|style=float: left; font-weight: bold;}createOfflineDataDescription{span}{span:id=iets|style=float: left;}\(prefix){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:createOfflineDataDescription-String_des|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createOfflineDataDescription-String_snc|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createOfflineDataDescription-String_prs|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription-String_prs|trigger=none|div:class=sIndent}\{[String]} prefix -- specified formname prefix used to retrieve row data from REST wise
{sub-sectiondiv}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createOfflineDataDescription-String_ret|trigger=button|text=}{sub-section}{sub-section:createOfflineDataDescription-String_ret|trigger=none|div:class=sIndent}[OfflineDataDescription]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createOfflineDataDescription-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createOfflineDataDescription-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createOfflineDataDescription-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createOfflineDataDescription-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createOfflineDataDescription-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createOfflineDataDescription-String_sam|trigger=none}{code:language=javascript}
//plugins.mobile.getOfflineFoundSetData(foundset,null);
var data = plugins.mobileservice.createOfflineDataDescription('data_');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRowDescriptions-JSFoundSet_ObjectArray|class=node}{tr:id=name}{td}h6.getRowDescriptions{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Array]{span}{span:id=iets|style=float: left; font-weight: bold;}getRowDescriptions{span}{span:id=iets|style=float: left;}\(fs, pks){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_des|trigger=button|text=}{sub-section}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_snc|trigger=button|text=}{sub-section}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_prs|trigger=button|text=}{sub-section}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_prs|trigger=none|div:class=sIndent}\{[JSFoundSet]} fs -- the foundset
\{[Object]\[]} pks -- the array of pks
{sub-sectiondiv}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_ret|trigger=button|text=}{sub-section}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_ret|trigger=none|div:class=sIndent}[Array]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getRowDescriptions-JSFoundSet_ObjectArray_sam|trigger=none}{code:language=javascript}
/** @type {Array<Object>} */
var idsArray = new Array(100,200,300);
foundset.loadAllRecords();
var json = plugins.mobileservice.getRowDescriptions(foundset, idsArray)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=performSync-Object_Number_Object|class=node}{tr:id=name}{td}h6.performSync{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}performSync{span}{span:id=iets|style=float: left;}\(data, version, authenticateResult){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:performSync-Object_Number_Object_des|trigger=button|text=}{sub-section}{sub-section:performSync-Object_Number_Object_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:performSync-Object_Number_Object_snc|trigger=button|text=}{sub-section}{sub-section:performSync-Object_Number_Object_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:performSync-Object_Number_Object_prs|trigger=button|text=}{sub-section}{sub-section:performSync-Object_Number_Object_prs|trigger=none|div:class=sIndent}\{[Object]} data -- The data package that is given to the offline\_data form ws\_update method.
\{[Number]} version -- The version number that is given to the offline\_data form ws\_update method.
\{[Object]} authenticateResult -- The authenticateResult object that is given to the offline\_data form ws\_update method. (generated by the  offline\_data.ws\_authenticate)
{sub-sectiondiv}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:performSync-Object_Number_Object_ret|trigger=button|text=}{sub-section}{sub-section:performSync-Object_Number_Object_ret|trigger=none|div:class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:performSync-Object_Number_Object_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:performSync-Object_Number_Object_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:performSync-Object_Number_Object_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:performSync-Object_Number_Object_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:performSync-Object_Number_Object_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:performSync-Object_Number_Object_sam|trigger=none}{code:language=javascript}
try {
   databaseManager.startTransaction();
   plugins.mobileservice.performSync(data,version,authenticateResult);
   databaseManager.commitTransaction();
} catch (e) {
   databaseManager.rollbackTransaction();
   // log the error and return false to that the mobile client will know the sync did fail.
   application.output(e,LOGGINGLEVEL.ERROR);
   return false;
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}