Difference between revisions of "Variables in QPR UI"

From Mea Wiki
Jump to navigation Jump to search
Line 4: Line 4:
  
 
== Context Variable Behaviors ==
 
== Context Variable Behaviors ==
Each UI element (i.e. view, panel, presentation object) has an '''effective context''', which consist of the current values of all context variables visible at that level, i.e. it's a combination of all upper level context variable values and the values defined in the level itself. Context variables can be defined in the following levels: '''Session''', '''View''', '''Panel''' and '''Presentation Object'''.
+
Each UI element (i.e. view, panel, presentation object) has an '''effective context''', which consist of the current values of all context variables visible at that level, i.e. it's a combination of all upper level context variable values and the values defined in the level itself. Context variables can be defined in the following levels: ''Session'', ''View'', ''Panel'' and ''Presentation Object''.
  
 
The context variables in QPR UI have the following types of ''behaviors'' which determine how the context variables work:
 
The context variables in QPR UI have the following types of ''behaviors'' which determine how the context variables work:

Revision as of 10:01, 20 April 2018

Context variables in QPR UI is a mechanism for storing session time information and communicating between different user interface elements, such as views, panels and presentation objects. For example, the context can define the starting point for querying data from QPR ProcessAnalyzer or QPR Suite Web Service, or it can be used to define the chart type and colors.

Context Variable Behaviors

Each UI element (i.e. view, panel, presentation object) has an effective context, which consist of the current values of all context variables visible at that level, i.e. it's a combination of all upper level context variable values and the values defined in the level itself. Context variables can be defined in the following levels: Session, View, Panel and Presentation Object.

The context variables in QPR UI have the following types of behaviors which determine how the context variables work:

  • Local: Defines a local context variable, which scope is the one where the variable is defined. When initialized, the local context variable gets a value that is set in its definition. Note that when setting a local context variable value, the value is changed for the nearest defined local context variable.
  • Optional: Works like the local context variable, except the optional context variable gets its initial value from the upper level context. If the same name of context variable doesn't exist in the upper level during the initialization, the optional context variable will have the value that is set in its definition. After the optional context variable value is initialized, the changes in the upper level context doesn't affect the optional context variable value.
  • Inherited: The context variable gets its value from the upper level if the same name of context variable exists in the upper level. If doesn't exist in the upper level, the context variable gets a value that is set in its definition. If the upper level value will be available after the initialization, the upper level value replaces the defined value.

Context variables in the session scope are not defined. They start to exist when they are set for the first time. That's why they don't have a behavior.

Context Variable Scopes

When setting context variable values via actions (for example in a data grid) or in HTML presentation object, you need to define a scope, which determines whether to change the session context variable or a local context variable (local or optional behavior). The available scopes are:

  • Global: The context variable value will be set to the session context.
  • Local: Default. The context variable value will be set on the nearest level where there is local or optional context variable defined. If the context variable is not defined on any level, the value will be set to the session context. Note that presentation object instances inside a repeater all have their own local scopes.

Context Variables Usage Example

There is a view with one panel, in which there is one presentation object. The Session context variable values are defined as follows:
800px

In the View Properties, the following context variable values are defined:
800px

In the Panel Properties, the following context variable values are defined:
800px

In the Presentation Object Properties, the following context variable values are defined:
800px

In the Effective View Context, these result into the values shown below. Note the Source column displaying the information where the effective context comes from: 800px

In the Effective Panel Context, these result into the values shown below. Note the Source column displaying the information where the effective context comes from: 800px

In the Effective Presentation Object Context, these result into the values shown below. Note the Source column displaying the information where the effective context comes from: 800px

To put it more concisely, the context variable values (and their behaviors) are as follows:

Context Variable Session View Panel Presentation Object
AccountManager John Smith William Taylor (Local) Susan Chapman (Inherited)
Country Sweden Finland (Local) China (Optional)
ProductGroup Umbrellas (Local)
CustomerGroup Kids

The effective context values are:

Context Variable Session View Panel Presentation Object
AccountManager John Smith William Taylor William Taylor
Country Sweden Sweden Finland Finland
ProductGroup Umbrellas
CustomerGroup Kids Kids Kids

Context Variables and Web Browser History

Any time the session context is modified (like when clicking a Pushbutton or modifying ProcessAnalyzer Presentation Object settings that cause session variables to be modified), a browser history entry is created. The preceding values in the session context can be restored via the browser's Back button. Left-clicking the Back button will restore the previous session context values, whereas right-clicking the Back button will show a list of session context changes to select from. Selecting an entry on the list will restore the session context from that entry.
BrowserHistory.png

Defining View Properties and Variables

To define context variables, type in the name of the variable to the text field and click the check mark. After that, you can click the value field and type in the value for your context variable. Context variables starting with "sys:" are system variables which have special purpose in QPR UI - use them only for their intended purpose. The Behavior selection affects the context variable used explained in Context Variable Behaviors. To see what context variable values are used in the view, panel, or presentation object, select the Show effective context check box in the Context tab of the view, panel, or presentation object properties pages.

Variables Usage Example

There is a view with one panel, in which there is one presentation object. The Session variable values are defined as follows:

Variable name Value
AccountManager John Smith
Country Sweden

In the View Properties, the following variable values are defined:

Variable name Value Behavior
AccountManager William Taylor Stored variable
CustomerGroup Kids Local variable

In the Panel Properties, the following variable values are defined:

Variable name Value Behavior
AccountManager Susan Chapman Local variable
Country Finland Local variable

In the Presentation Object Properties, the following variable values are defined:

Variable name Value Behavior
ProductGroup Umbrellas Stored variable

In the Effective View Context, these result into the values shown below. Note the Source column displaying the information where the effective context comes from:

Variable name Value Source Scope
AccountManager William Taylor Scope of the view View
Country Sweden Inherited from session context Session
CustomerGroup Kids Scope of the view View

In the Effective Panel Context, these result into the values shown below. Note the Source column displaying the information where the effective context comes from:

Variable name Value Source Scope
AccountManager Susan Chapman Initialized from the panel's context Panel
Country Finland Initialized from the panel's context Panel
CustomerGroup Kids Inherited from the effective context of the view View

In the Effective Presentation Object Context, these result into the values shown below. Note the Source column displaying the information where the effective context comes from:

Variable name Value Source Scope
AccountManager Susan Chapman Inherited from the effective context of the panel Panel
Country Finland Inherited from the effective context of the panel Panel
ProductGroup Umbrellas Scope of the presentation object Presentation object
CustomerGroup Kids Inherited from the effective context of the view View

To put it more concisely, the context variable values (and their behaviors) are as follows:

Context Variable Session View Panel Presentation Object
AccountManager John Smith William Taylor (Stored variable) Susan Chapman (Local variable)
Country Sweden Finland (Local variable)
ProductGroup Umbrellas (Stored variable)
CustomerGroup Kids (Local variable)

The effective context values are:

Context Variable Session View Panel Presentation Object
AccountManager John Smith William Taylor Susan Chapman Susan Chapman
Country Sweden Sweden Finland Finland
ProductGroup Umbrellas
CustomerGroup Kids Kids Kids

See Also