sync-entities
This action can be used to sync your local database with your live database on the server. There are multiple ways to set up a sync-entities action within a jig:
Under action button
In action list
In onPress/onChange events (if the component has these options)
In onRefresh/onFocus
Dynamically sync multiple entities
sync-entities can't be used if you using Static Data.
Examples and code snippets
sync-entities in action
In this example, when tapping the Sync entities button the action.sync-entities is used to show a list of employees.
Example: The full example of sync-entities in action you can find in GitHub

actions:
- children:
- type: action.sync-entities
options:
title: Sync entities
provider: DATA_PROVIDER_DYNAMIC
entities:
- default/employees sync-entities in the action list

In this example the action.sync-entities is used to linkt to the a different jig.
Example: The full example of sync-entities in an action list you can find in GitHub.
sync-entities in onPress/onChange event
Here is the example of sync-entities in onPress/onChange event in list-item
Example:
The full example of sync-entities in onChange you can find in GitHub. The full example of sync-entities in onPress you can find in GitHub.

sync-entities in onRefresh/onFocus

Example:
See the full example of sync-entities on onRefresh action in GitHub.
Dynamically sync multiple entities
When building a solution, the number of entities to sync and the parameters for each are not always known; for example, when syncing the attachments, files, or documents for a message, there can be zero, one, or more. It is necessary to dynamically specify a list of the entities, functions, and function parameters to return from the database using an expression.
Considerations
The expression is specified in the
action.sync-entitiesaction either as a local action in the jig or as a global action.Dynamic sync-entities apply to the REST, OneDrive, and Salesforce data providers.
Any of the following can be synced dynamically: entity, functions, and function parameters.
Expression structure
The basic expression structure is
=$.map(array, function).Specify the array you will consult, i.e., a datasource
@ctx.datasources.{datasourceName}.For the function, specify
($item).Example of the basic structure
=$map(@ctx.datasources.{datasourceName}, function($item)).
After defining the basic structure, map out relevant properties from the array to the relevant
entity/function/parametersand specify the dynamic entry using the$.itemproperty, e.g.,"calenderId": $.item.id. This will run through all the records in the datasource and perform a sync-entities action for each record in the table.
Example sync-entities dynamically for calendars (full input source)
To return all records from the input source use $item.id. In this example, a jig has two lists; the first list shows all the user's calendars, and the second list uses the ids from the first list to return all the events for all the calendars. A summary component shows a count of the number of events.

Example sync-entities dynamically for a selected calendar
To return all records for a selected calendar use =$map(@ctx.action.parameters.selected, function($item) in the global action. In this example, a jig has a dropdown to select the calendar and a Show events button syncs the entries in the selected calendar. A summary component shows a count of the number of events in the selected calendar.

Last updated
Was this helpful?