Discussion

51
Views
Close popover
Sakthi Vickraman S R (srs01)
PEGA
Principal Front End Developer
Pegasystems Inc.
IN
srs01 Member since 2016 1 post
PEGA
Posted: November 25, 2020
Last activity: November 25, 2020

Refresh contents in Theme Cosmos

Overview

This document provides information about the refresh strategy for Theme-Cosmos. By default, the summary panel and the case processing area will be refreshed on each and every step/stage processing. For the utils and tab contents, the below refresh strategy should be used which will give better performance improvement for the application.  

What contents will be auto-refreshed while case processing in an ajax container?

FullPortal

  • In the Summary panel,the sections Caseheader, CaseActionHeader, CaseAssocication and vertical tabs are auto refreshed.
  • The CaseInformation section below the todo section is auto refreshed.
  • The stages(pxDisplayStages section) and todo section(pxAssignementView) is auto refreshed.

 

These sections are auto refreshed and how that is happening?

It is one of the features of PEGA, Refresh condition of Dynamic Layout.  

 Now, let’s see how the refresh condition has been used.

Refresh of the Summary panel:

The main section for the WO is pyCaseMainInner which uses the design template “Main case page UI template”. In the template, the refresh condition is added to the parent dynamic layout of the summary panel, so the full content which is placed in the summary panel is being refreshed. The property .pxUpdateDateTime is used for refresh. This property will be updated whenever a WO is reopened or updated. Since the summary panel consists of case associations data which can be updated in any steps/stage we use this property. Also, we do not want developers to change this behavior, so we have added this refresh condition inside the design template

MainTemplate

 

How the CaseInformation is auto refreshed?

In the case information section, the Main case information section is included which has the refresh condition.

CaseInformation:

 

CaseInfo

Refresh Condition on pyCaseInformation:

CaseInfoConfig

How the case stages and todo section is refreshed?

The refresh of stages(pxDisplayStages section) and todo section(pxAssignementView) is handled in the javascript. After processing the case in ajax containers we are handling the refresh of stages and todo section internally.

Below are the ways to refresh the contents in cosmos.

  • Refresh Condition
  • Refresh Section javascript API
  • Refresh Section
  • Refresh Harness
  • Data page refresh

Refresh Condition

       The case processing in theme cosmos uses ajax container which runs in a different thread. In order to refresh the contents in the main area or utils region use refresh conditions.  Note: Refresh condition will be triggered only after save or submit of the form.

  •             Refresh conditions can be applied to the Dynamic layout properties panel.
  •             Refresh condition can be applied to Section includes properties panel.

Refresh Condition             How to choose the property for a refresh?

  •  Always choose a property from the clipboard page which is relevant for the section and add the condition accordingly.

            For eg, A application needs to refresh the description section once it is updated in the pyWorkPage. In case processing, it uses the property .pyDescription.             So the user should use this property in the refresh condition.

  • Suppose if there are many properties in the section which are unpredicted on which step it get updates. For this kind of scenario, users can use the .pxUpdateDateTime property which will get an update on each and every save/submit in case processing. Note: Use this property only when there are no other properties available for a refresh.

        How to refresh the section from ajax container before save/submit of the form data?             Please refer to the  "Refresh Section javascript API".                   How to refresh the section which uses the property list/data page for fetching the values? or how to refesh the utility widget?             Please refer to the "Refresh Section" or "Data page refresh".

Refresh Section javascript API

            The javascript API " pega.desktop.infinity.refreshCaseSections(SectionNames)" should be used only for the below uses case.

  • When a section needs to be updated before save/submit of the Form in ajax container.
  • And the section needs to refresh is outside of processing ajax container.

    How to configure this API

  1.     In the control actions tab, choose the run script action.
  2.     Pass the section names as parameters.

Note: This API will refresh the section only when it is available/visible in DOM.

Refresh Section/Refresh Harness

        These are the usual way to refresh the section when the section needs to refresh on same context/threads. Either the refresh condition or this approach can be used to refresh the utility widgets.  Once the flow action is completed , user can use Refersh section/Refresh Other section for refreshing   

Data page refresh

    If a section displays table/rdl of data which are referenced from the data page, Then use this approach. In DataPage enable the reload per interaction. And in the included section add a refresh condition which refreshes. Then the content will appear in the list.  

 

***Edited by Moderator: Pooja Gadige to add Developer Knowledge Share tag***
Pega Platform 8.5.1 User Experience Cross-Industry User Experience Designer Developer Knowledge Share