For each Work With List Node, and Work With Detail Node defined in the Work With pattern and Work With object instance, a window is generated to the right depending on the selector (tab) chosen:

Property TransactionWW and Panels for SD Selectors (tabs)

This article also apply to the Panel object object. 

Layout

It indicates what attributes/variables among other controls will be shown and how they will be shown. In the example above, the attributes PropertyFrontImage and PropertyName from the Property transaction (handled by a real estate agency) are listed inside a grid control. Although we can see only one layout at a time (e.g. the "Any Platform, Any Size, Any Orientation" one) for the List node, note the posibility to add a new one, or delete the current. This lets us to design different layouts depending on the platform (i.e. Android, iOS, Blackberry), the size (i.e. phone, table 7'', table 10'') and/or the orientation (i.e. Landscape, Portrait). If the node is Sectoin(General) it also offers the Mode (i.e. View or Edit) to differentiate the layout displayed to Insert, update or delete, from the layout displayed to just view the information. See more about multiple layouts per node...

Rules

As the Web Panel rules, specify some kind of behavior of the corresponding WWSD node (List, Detail or sections).  Rules provide a generic language to enforce the controls in these programs. For example, specify the parameters received and/or returned by the node. Do not confuse the rules of the node, with the rules of the transaction, which will run when you insert, delete or modify the element corresponding to detail. 

Events

The objective of Events is to provide behavior and interaction between client and services. Note in the layout shown above the "Insert" button on the List node Application Bar. An 'Insert' event is automatically associated, calling the Detail node of that WWSD, in Insert mode:

WWSD List Events Selector (tab)

As usual, another events could be created. Examples of this could be an action to show the real estate properties in a map, an action to call certain data, an action to schedule items, and so on.

The actions available on the User Interface usually have a graphic element associated with them, such as a button, an option in a global menu, a link, and so on.

In the Work With pattern and Work With object, the user can add actions in the List node and in the Detail and Sections nodes. These actions can be placed on screen -besides associating them to controls- using the Application Bar of the pattern layouts. 

In addition to the actions included by default ("Insert" Action for List, "Save", "Cancel", "Update" and "Delete" for Section(General)), new actions can be defined.

The grammar of events running on the device has its pecularities regarding the events that run on the server. This is due to the architecture. For example, to invoke two or more objects within an event sequence, we have to use the Composite command inside an event executed on client (device).

To go deeper into this topic: Native Mobile Applications Events

 

Conditions

This section allows to define orders to list the information into the layout, as well as searches ("Search") criteria and filters ("Advanced Search") offered to user in order to let him/her to fine tune its searches. It also allows to specify free conditions, in the bottom-most screen (in the same way conditons screen of a web panel does): 

WorkWithDevicesProperty Orders and Filters Default

Orders

Orders in the Smart Devices pattern are defined in the same way as in the standard Work With. 

Each List (or Detail Section) can have zero, one or more orders defined, -making sense more than zero only when displaying information for multiple items-. Having the default WorkWithDevicesProperty Conditions shown above, the List information will be displayed ordered by PropertyName. 

WorkWithDevicesProperty List - Android runtime

Search 

The attributes defined in the Search node will be displayed at runtime as a string to make text searches in the entity’s fields. The instance specifies the fields on which the search has to be performed. Having the default WorkWithDevicesProperty Conditions shown above, the search fields will be PropertyName and PropertyAddress. The implementation is an OR, that is to say, it returns any record that has that string in a field. 

WorkWithDevicesProperty List Search - Android runtime

Advanced Search

They are the Work With (Web) filters. Certain data is requested on screen (such as “advanced filters”), with a possible default value. All the filters that have an entered value take part in the query, and an AND is applied among all filters. The filters that don’t have entered values (or the value is “All” when combos are involved) are not applied.

WorkWithDevicesProperty List Advanced Search - Android runtime

To go deeper into this topic: Orders and Filters on Smart Devices

Related information

Relations among transactions are also strictly generated in the Work With. We have the following transactions:

Property and Neighborhood Related Transactions

As you can see, the Neighborhood transaction has a 1-N relation with Property transaction, that is, for one neighborhood there can be N properties.

So, when we select one neighborhood, the relations tab will be displayed on top with its properties.

WWSD Related entities in android runtime

In the image above, the Coral Gable neighborhood was selected and the Level/Detail/Section (General)/View node was opened. Note that the General tab located in the upper section is selected. To the right is the Property tab, thus closing the relation among entities. So, if we select the Property tab, we can access the list of all the properties of the selected neighborhood.

See Also

Composite examples

Videos

Start Video General Aspects and List layout
Start Video Work With for Smart Devices - Detail Layout
Start Video Work With for Smart Devices - Orders, Searches and Filters