Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

All Wayfast controls require some minimum properties to be set in order to tell Wayfast Render Engine how to display them. In this lesson we will review standard settings required for EVERY control be displayed in Wayfast.

Why is the Layout tab so important?

The “Layout” tab is a key part of every control as it allows us to indicate Wayfast where to place a control in the UI. We do this by selecting a “place holder” and setting the “order” field. We can also set which CSS class will be applied to each control through these two properties: “Container Style” and “Item Style”.

...

Field

Description

Place Holder

Sets the place holder where Wayfast will place the control. Placeholder name’s are defined in our Layout using a convention. We just prefix HTML tags ids with “PH_” and everything that comes after that in the ID property will be interpreted as a placeholder name and displayed as an option in placeholder field under Layout tab. You can use friendly names for your place holders so all developers in your team can reuse your Layouts.

Order

Indicates the order for each control in the page. Wayfast Render Engine will use this value while drawing your application in the screen to know which control should be displayed first. Order value can be a decimal number. This is useful to intersperse controls.

Alignment

Has two options: “Normal” to display the label at the beginning of the row and “To the right of the previous control” that positions the control next to previous control contained in the same placeholder.

Container Style

Sets the CSS Class applied to the control’s container.

Item Style

Sets the CSS Class applied to the control’s content.

Conditional tab

Wayfast allows us to manage control’s visibility using conditional clauses. This is helpful for cases when you want to tie UI behavior to some variable like a user role. For instance we could do something like, if User’s Role is Admin then display the “Save” button. Else, hide it. For these cases we use a conditional Syntax. Let’s review how it works.

...

Expression

Result

Description

'&Light'='green'

true

This clause evaluates if &Light variable is equal to “green”. As the variable was actually set to green the result is true.

‘&Light’#'green'

false

This clause evaluates if &Light variable is different than “green”. As the variable was actually set to green the result is false.

‘&Light’='green'|AND|‘&Light’#'yellow'

true

This clause evaluates if &light is green and not Yellow. As &light is green it returns true.

‘&Light’='Red'|OR|‘&Light’='Yellow'

false

This clause evaluates if &light is Red or Yellow. As &light is green it returns false.

Example

Let’s create a Dropdown control with two options (“Yes”/”No”) to apply a condition over a Button to make it visible only when the selected option is “Yes”. If the selected option is “No” the Button will remain hidden. This is a common use case in many applications: if certain field is not selected, then we can’t submit a form.

...

Code Block
'&ddlTermsAcceptance'#''

When users navigate this page and Wayfast needs to render the page when users navigate this pageit, Wayfast engine Render Engine will replace control’s name (“&ddlTermsAcceptance” term ) in the conditional sentence by the with control’s value and then run the comparison. This comparison will be triggered every time an item in the dropdown is selected.

...

Now we are ready to see if the conditional clause is working as expected. Let’s click on the “Preview” button.

...

Since the dropdown doesn’t have As we haven’t selected any option selected, the button is not available to and we can’t submit the form. Once the option is chosen,

When we choose “Yes” the “Submit” button will be is displayed automatically.

...

Info

We can set multiple conditions using the syntax to create these rules. These are other common some examples:

  • &Action=3 that means "&Action equal to 3"

  • &Action#3|AND|&Action#2 that means "&Action not equal to 3 AND &Action not equal to 2"

  • &Action=1|OR|&Action='' that means "&Action equal to 1 OR &Action equal to empty value"

Recap

On In this lesson, we reviewed two important sections to setup controls in Wayfast. In the first part, we reviewed the Layout tab and its critical role while rendering pages and dictate where to put our objects in the screen. In the second part, we deep dived on Conditional rules, a powerful Wayfast feature to control page’s behavior. Remember Layout tab and Conditional tab key settings across the board and applicable to every control in Wayfast.